From 3d3fa72ebf55f841c8ede01c59347af5e44b773b Mon Sep 17 00:00:00 2001 From: wujianwei <wjw@11.com> Date: 星期一, 18 八月 2025 09:26:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master --- ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue | 47 ++++++++--- ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue | 76 +++++++++++++++---- ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue | 66 ++++++++++++---- 3 files changed, 143 insertions(+), 46 deletions(-) diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue index e2b46db..02cc9eb 100644 --- a/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue +++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue @@ -19,10 +19,10 @@ <template #menu-left> - <el-button type="success" icon="Edit" :disabled="pageF.single" v-hasPermi="['cwgl:estimatedReceivable:edit']" + <el-button type="success" icon="Edit" :disabled="editIshow" v-hasPermi="['cwgl:estimatedReceivable:edit']" @click="handleUpdate">淇敼 </el-button> - <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete" + <el-button type="danger" icon="Delete" :disabled="removeIshow" @click="handleDelete" v-hasPermi="['cwgl:estimatedReceivable:remove']">鍒犻櫎 </el-button> <el-button type="warning" plain icon="Download" @click="handleExport" @@ -34,16 +34,15 @@ <template #menu="{ size, row, index }"> - <el-link class="link-btn" type="primary" :underline="false" plain :size="size" + <el-link class="link-btn" type="primary" :underline="false" plain :size="size" @click="handleEditBtn(row, index)" v-if="[0, 1].includes(row.relatedBillStatus) && row.isConfirmed != 2" v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 缂栬緫 </el-link> - <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 1" - :underline="false" plain :size="size" @click="handleCancel(row)" - v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 鍙栨秷纭 + <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 1" :underline="false" plain :size="size" + @click="handleCancel(row)" v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 鍙栨秷纭 </el-link> - <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 0" :underline="false" plain - @click="handleAffirm(row)" v-hasPermi="['cwgl:estimatedReceivable:confirm']"> 纭 + <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 0 && ![2, 3].includes(row.relatedBillStatus)" + :underline="false" plain @click="handleAffirm(row)" v-hasPermi="['cwgl:estimatedReceivable:confirm']"> 纭 </el-link> <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 1" :underline="false" plain @click="handleInvalid(row)" v-hasPermi="['cwgl:estimatedReceivable:invalid']"> 浣滃簾 @@ -125,6 +124,9 @@ import { listEstimatedReceivableLog } from "@/api/cwgl/estimatedReceivableLog"; import { listEstimatedReceivableBillLog } from "@/api/cwgl/estimatedReceivableBillLog"; import { + getSelectCustomNam, +} from "@/api/cwgl/pendingSettlementBusiness"; +import { listPendingSettlementBusiness, } from "@/api/cwgl/pendingSettlementBusiness"; import useCurrentInstance from "@/utils/useCurrentInstance"; @@ -149,6 +151,8 @@ const data = reactive({ form: <EstimatedReceivableI>{}, newTableData: [], + removeIshow: true, + editIshow: true, newForm: <EstimatedReceivableI>{ pageNum: 1, pageSize: 10 @@ -166,7 +170,7 @@ itemTableLoading1: false, itemTableLoading2: false, }) -const { queryParams, form, page, selectionList, newForm, newTableData, newSelectionList, itemTableLoading1, itemTableLoading2 } = toRefs(data); +const { queryParams, form, page, selectionList, newForm, newTableData, newSelectionList, itemTableLoading1, itemTableLoading2, removeIshow, editIshow } = toRefs(data); const option = ref({ pageKey: 'EstimatedReceivable', rowKey: 'id', @@ -208,16 +212,25 @@ ], search: true, }, + // customerName: { + // label: '瀹㈡埛鍚嶇О', + // rules: [ + // { + // required: true, + // message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" + // } + // ], + // search: true, + // disabled: true, + // }, customerName: { label: '瀹㈡埛鍚嶇О', - rules: [ - { - required: true, - message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" - } - ], search: true, - disabled: true, + minWidth: 220, + + type: 'select', // 璁剧疆涓轰笅鎷夋绫诲瀷 + dicData: [], // 浣跨敤 selectCustomName 浣滀负鏁版嵁婧� + disabled: false // 鏍规嵁闇�瑕佽缃槸鍚︾鐢� }, projectName: { label: '椤圭洰鍚嶇О', @@ -369,6 +382,21 @@ }, handleSelectionChangeFunc: (selection: any) => { selectionList.value = selection; + console.log(selection); + + // 鏍规嵁閫変腑椤规暟閲忓拰鐘舵�佽缃紪杈戞寜閽槸鍚﹀彲鐢� + if (selection.length === 1 && [0, 1].includes(selection[0].relatedBillStatus)) { + editIshow.value = false; + } else { + editIshow.value = true; + } + + if (selection.length === 1 && [0].includes(selection[0].isConfirmed)) { + removeIshow.value = false; + } else { + removeIshow.value = true; + } + }, getBeginListFunc: (params = {}) => { params.feeType = 0; @@ -573,4 +601,20 @@ crudRef.value.rowEdit(row, index) // option.value.editBtn = true; } + +/* */ +const selectCustomName = ref([]); +const getSelectCustomName = () => { + getSelectCustomNam().then((res) => { + if (res.code === 200) { + // selectCustomName.value = res.data; + selectCustomName.value = res.data.map(item => ({ + dictLabel: item, + dictValue: item + })); + option.value.column.customerName.dicData = selectCustomName.value || []; + } + }) +} +getSelectCustomName() </script> diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue index 4bd13f5..4cb5738 100644 --- a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue +++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue @@ -148,6 +148,9 @@ } from "@/api/cwgl/estimatedReceivableBill"; import useCurrentInstance from "@/utils/useCurrentInstance"; import { computed, reactive, ref, toRefs } from "vue"; +import { + getSelectCustomNam, +} from "@/api/cwgl/pendingSettlementBusiness"; import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface"; import { usePagePlus } from "@/hooks/usePagePlus"; import { hasPermission } from "@/utils/permissionUtils"; @@ -232,15 +235,15 @@ } ], }, + customerName: { label: '瀹㈡埛鍚嶇О', - rules: [ - { - required: true, - message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" - } - ], search: true, + minWidth: 220, + search: true, + type: 'select', // 璁剧疆涓轰笅鎷夋绫诲瀷 + dicData: [], // 浣跨敤 selectCustomName 浣滀负鏁版嵁婧� + disabled: false // 鏍规嵁闇�瑕佽缃槸鍚︾鐢� }, dispatchCount: { @@ -350,9 +353,9 @@ }, handleSelectionChangeFunc: (selection: any) => { selectionList.value = selection; - }, - - + }, + + }) const dialog = reactive({ visible: false, @@ -424,11 +427,27 @@ } const newFormRef = ref(); const submitForm = () => { - if(newTableData.value.length == 0) { + if (newTableData.value.length == 0) { proxy.$message.error('鏃犲叧鑱旀槑缁嗭紝鏃犳硶缁撶畻'); - }else { + return; // 娣诲姞 return 涓柇鎵ц + } else { newFormRef.value!.validate(valid => { if (valid) { + // 娣诲姞鏍¢獙閫昏緫锛氭湰娆$粨绠楅噾棰濅笉鑳藉ぇ浜庡簲缁撶畻閲戦 + const settlementAmount = parseFloat(newForm.value.settlementAmount); + const totalAmount = parseFloat(importForm.value.totalAmount); + + // 妫�鏌ヨ緭鍏ユ槸鍚︿负鏈夋晥鏁板瓧 + if (isNaN(settlementAmount) || isNaN(totalAmount)) { + proxy.$message.error('閲戦鏍煎紡涓嶆纭�'); + return; + } + + if (settlementAmount > totalAmount) { + proxy.$message.error('鏈缁撶畻閲戦涓嶈兘澶т簬搴旂粨绠楅噾棰�'); + return; // 鍏抽敭锛氬湪杩欓噷娣诲姞 return 涓柇鍚庣画鎵ц + } + let data = { billId: newForm.value.id, fileName: newForm.value.attachment @@ -441,24 +460,22 @@ proxy.$message.success('鎿嶄綔鎴愬姛'); dialog.visible = false; newForm.value = {}; - } }) } }) + } else { + // 琛ㄥ崟楠岃瘉澶辫触 + return false; } }); } - - - } - const submitFormTow = () => { proxy.$modal.confirm(`鏄惁纭淇敼璐﹀崟鍚嶇О?`).then(function () { return updateEstimatedReceivableBillNmae(importForm.value); }).then((res) => { - onLoad(page.value); + onLoad(page.value); proxy.$modal.msgSuccess(res.msg); }) @@ -540,6 +557,21 @@ }) } + +const selectCustomName = ref([]); +const getSelectCustomName = () => { + getSelectCustomNam().then((res) => { + if (res.code === 200) { + // selectCustomName.value = res.data; + selectCustomName.value = res.data.map(item => ({ + dictLabel: item, + dictValue: item + })); + option.value.column.customerName.dicData = selectCustomName.value || []; + } + }) +} +getSelectCustomName() </script> <style scoped> ::v-deep .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell { diff --git a/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue b/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue index af35f3f..782a52a 100644 --- a/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue +++ b/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue @@ -257,12 +257,7 @@ minWidth: 200, }, - isCreate: { - label: '鏄惁宸插叆璐�', dataType: 'string', - type: 'select', - minWidth: 120, - dicUrl: '/system/dict/data/type/sys_whether_type', - }, + // vehicleId: { // label: '杩愯緭宸ュ叿ID',hide: true, // }, @@ -285,47 +280,73 @@ }, businessContact: { label: '涓氬姟鑱旂郴浜�', - minWidth: 120, + minWidth: 120, }, estimatedTotalIncome: { label: '棰勪及鎬绘敹鍏�', - minWidth: 120, + minWidth: 120, }, estimatedTotalCost: { label: '棰勪及鎬绘垚鏈�', - minWidth: 120, + minWidth: 120, }, estimatedProfit: { label: '棰勪及鍒╂鼎', - minWidth: 120, + minWidth: 120, }, confirmedTotalIncome: { label: '纭鎬绘敹鍏�', - minWidth: 120, + minWidth: 120, }, confirmedTotalCost: { label: '纭鎬绘垚鏈�', - minWidth: 120, + minWidth: 120, + + }, + relatedBillName: { + label: '鍏宠仈鑱旇处鍗曞悕绉�', + fixed: 'right', + minWidth: 120, }, isIncomeMatched: { label: '鏄惁鍖归厤鏀跺叆', - type: 'select', + dataType: 'string', minWidth: 120, dicUrl: '/system/dict/data/type/sys_matching_status', }, isCostMatched: { label: '鏄惁鍖归厤鎴愭湰', type: 'select', + dataType: 'string', minWidth: 120, dicUrl: '/system/dict/data/type/sys_matching_status', }, + + isCreate: { + label: '鏄惁宸插叆璐�', dataType: 'string', + type: 'select', + fixed: 'right', + minWidth: 120, + dicUrl: '/system/dict/data/type/sys_whether_type', + }, + relatedBillStatus: { + minWidth: 120, + label: '鍏宠仈璐﹀崟鐘舵��', + dataType: 'string', + type: 'select', + dicUrl: '/system/dict/data/type/sys_related_status', + // formatter: (row, value) => { + // // 鑷畾涔夋牸寮忓寲閫昏緫锛堝鏋滈渶瑕侊級 + // return value; + // } + }, // electronicLock: { // label: '鐢靛瓙閿�', // }, -- Gitblit v1.8.0