diff --git a/WebSite/src/api/subjectSplit.js b/WebSite/src/api/subjectSplit.js index 4443f0b1c92125fb44814f0bafbcb1ecb5b8b080..560373e3b2d76ff3bed8afb7f5a4f6e9476163e5 100644 --- a/WebSite/src/api/subjectSplit.js +++ b/WebSite/src/api/subjectSplit.js @@ -52,7 +52,10 @@ class subjectSplit { static rollBackFlow(data) { return request.post('/SplitItemPlanCtrl/pc/v1/rollBackFlow', data); } - + // + static getBudgetControls(data) { + return request.post('/projectInfo/pc/v1/getBudgetControls', data); + } } export default subjectSplit; diff --git a/WebSite/src/views/financial-adjust/components/detail.vue b/WebSite/src/views/financial-adjust/components/detail.vue index 2d3817fbe04cc4dd2fab084aa1f1492415242a59..9baa70702c29d37c7b8794c4d03c06c3aa600df5 100644 --- a/WebSite/src/views/financial-adjust/components/detail.vue +++ b/WebSite/src/views/financial-adjust/components/detail.vue @@ -69,14 +69,24 @@ <el-button type="primary" @click="uploadDialog = true">瀵煎叆</el-button> <el-table :data="specialFundInputListCopy" :span-method="merge" border> <el-table-column label="璋冨嚭椤圭洰缂栧彿"> - <template #default=""> + <!-- <template #default=""> {{ detailData.projectCode }} - </template> + </template> --> + <template #default="scoped">{{ + scoped.row.projectCode + ? scoped.row.projectCode + : detailData.projectCode + }}</template> </el-table-column> <el-table-column label="璋冨嚭椤圭洰鍚嶇О"> - <template #default=""> + <!-- <template #default=""> {{ detailData.projectName }} - </template> + </template> --> + <template #default="scoped">{{ + scoped.row.projectName + ? scoped.row.projectName + : detailData.projectName + }}</template> </el-table-column> <el-table-column label="璋冨嚭棰濆害" @@ -335,7 +345,7 @@ export default { selectUserLoading: false, pageIndex: 1, pageSize: 10, - total: 2000, + total: 2000 }); onMounted(() => { if (props.data.id) { @@ -360,21 +370,21 @@ export default { }; try { const res = await quotaAdjust.queryTargetAllFundList({ - deptNo: '', - filterProjectCode: '', - leaderPersonNo: '', - projectCode: name ? name : '', - ...parms, - time: new Date(), - type: 0 - }) - data.outDeptList = res.data; - data.incomeDeptList = res.data; - data.selectUserLoading = false; + deptNo: '', + filterProjectCode: '', + leaderPersonNo: '', + projectCode: name ? name : '', + ...parms, + time: new Date(), + type: 0 + }); + data.outDeptList = res.data; + data.incomeDeptList = res.data; + data.selectUserLoading = false; } catch (_) { - data.outDeptList = []; - data.incomeDeptList = []; - data.selectUserLoading = false; + data.outDeptList = []; + data.incomeDeptList = []; + data.selectUserLoading = false; } }; // const getDeptList = () => { @@ -473,18 +483,23 @@ export default { let wb = XLSX.read(binary, { type: 'binary' }); + let outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); var repeatFlag = false; - for (let index = 1; index < outdata.length - 1; index++) { + for (let index = 1; index < outdata.length; index++) { if (outdata[0].璋冨嚭椤圭洰缂栧彿 != outdata[index].璋冨嚭椤圭洰缂栧彿) { ElMessage.error('璋冨嚭椤圭洰缂栧彿蹇呴』涓€鑷�'); repeatFlag = true; break; } + if (outdata[0].璋冨嚭椤圭洰鍚嶇О != outdata[index].璋冨嚭椤圭洰鍚嶇О) { + ElMessage.error('璋冨嚭椤圭洰鍚嶇О蹇呴』涓€鑷�'); + repeatFlag = true; + break; + } } if (repeatFlag) { return; } - let outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); for (let index = 0; index < outdata.length; index++) { if (outdata[index].璋冨嚭椤圭洰鍚嶇О == outdata[index].璋冨叆椤圭洰鍚嶇О) { ElMessage.error('涓嶈兘鍚岄」鐩棿璋冩暣'); @@ -533,6 +548,8 @@ export default { const form = {}; data.detailData.projectCode = item.璋冨嚭椤圭洰缂栧彿; data.detailData.projectName = item.璋冨嚭椤圭洰鍚嶇О; + form.projectCode = item.璋冨嚭椤圭洰缂栧彿; + form.projectName = item.璋冨嚭椤圭洰鍚嶇О; form.adjustMoney = item.璋冨叆閲戦; form.targetProjectName = item.璋冨叆椤圭洰鍚嶇О; form.targetSubjectName = item.璋冨叆棰濆害鍚嶇О; @@ -939,7 +956,7 @@ export default { if (data.pageIndex >= totalPage) { //鏈€鍚庝竴椤� console.log('鏈€鍚庝竴椤�'); - return; + return; } data.pageIndex++; //涓嬩竴椤� SELECTWRAP_DOM.scrollTop = 1; @@ -979,7 +996,7 @@ export default { if (data.pageIndex >= totalPage) { //鏈€鍚庝竴椤� console.log('鏈€鍚庝竴椤�'); - return; + return; } data.pageIndex++; //涓嬩竴椤� SELECTWRAP_DOM.scrollTop = 1; diff --git a/WebSite/src/views/project-adjust/components/detail.vue b/WebSite/src/views/project-adjust/components/detail.vue index 5b46892bd27b463147ded59d37c1b680341da7c2..2d9ce154bb34130765d526ace5e4c9342eef4e0c 100644 --- a/WebSite/src/views/project-adjust/components/detail.vue +++ b/WebSite/src/views/project-adjust/components/detail.vue @@ -69,10 +69,10 @@ <el-button type="primary" @click="uploadDialog = true">瀵煎叆</el-button> <el-table :data="specialFundInputListCopy" :span-method="merge" border> <el-table-column label="璋冨嚭椤圭洰缂栧彿"> - <template #default="">{{ detailData.projectCode }}</template> + <template #default="scoped">{{ scoped.row.projectCode ? scoped.row.projectCode : detailData.projectCode }}</template> </el-table-column> <el-table-column label="璋冨嚭椤圭洰鍚嶇О"> - <template #default="">{{ detailData.projectName }}</template> + <template #default="scoped">{{ scoped.row.projectName ? scoped.row.projectName : detailData.projectName }} </template> </el-table-column> <el-table-column label="璋冨嚭棰濆害" prop="sourceSubjectName"> </el-table-column> @@ -124,11 +124,6 @@ v-model="detailData.projectCode" @change="getManger(detailData.projectCode, 'out')" :disabled="detailData.adjustFundList.length > 0" - :loading="selectUserLoading" - @visible-change="selectVisibleChange" - popper-class="select-user3" - :remote-method="getLeaderByValue" - remote > <el-option v-for="item in outDeptList" @@ -196,11 +191,6 @@ filterable v-model="detailform.targetProjectCode" @change="getManger(detailform.targetProjectCode, 'income')" - :loading="selectUserLoading" - @visible-change="selectVisibleChange1" - popper-class="select-user4" - :remote-method="getLeaderByValue" - remote > <el-option v-for="item in incomeDeptList" @@ -328,10 +318,10 @@ export default { totalMoney: 0, mergeData: [], startData: [], - selectUserLoading: false, - pageIndex: 1, - pageSize: 10, - total: 2000, + // selectUserLoading: false, + // pageIndex: 1, + // pageSize: 10, + // total: 2000, }); onMounted(() => { if (props.data.id) { @@ -347,41 +337,41 @@ export default { data.flowInfo = res.data[0].flowCanShowOut; }); }; - const getDeptList = async name => { - data.selectUserLoading = true; - let parms = { - pageIndex: data.pageIndex, - pageSize: data.pageSize - }; - try { - const res = await quotaAdjust.queryTargetDeptFundList({ - deptNo: '', - filterProjectCode: '', - leaderPersonNo: '', - projectCode: name ? name : '', - ...parms, - time: new Date(), - type: 0 - }) - data.outDeptList = res.data; - data.selectUserLoading = false; - } catch (_) { - data.deptList = []; - data.selectUserLoading = false; - } - }; - // const getDeptList = () => { - // quotaAdjust - // .queryTargetDeptFundList({ - // deptNo: '', - // filterProjectCode: '', - // leaderPersonNo: '', - // projectCode: '', - // type: 0 - // }) - // .then(res => { + // const getDeptList = async name => { + // data.selectUserLoading = true; + // let parms = { + // pageIndex: data.pageIndex, + // pageSize: data.pageSize + // }; + // try { + // const res = await quotaAdjust.queryTargetDeptFundList({ + // deptNo: '', + // filterProjectCode: '', + // leaderPersonNo: '', + // projectCode: name ? name : '', + // ...parms, + // time: new Date(), + // type: 0 + // }) // data.outDeptList = res.data; - // }); + // data.selectUserLoading = false; + // } catch (_) { + // data.deptList = []; + // data.selectUserLoading = false; + // } + // }; + const getDeptList = () => { + quotaAdjust + .queryTargetDeptFundList({ + deptNo: '', + filterProjectCode: '', + leaderPersonNo: '', + projectCode: '', + type: 0 + }) + .then(res => { + data.outDeptList = res.data; + }); // quotaAdjust // .queryTargetDeptFundList({ // deptNo: '', @@ -393,7 +383,7 @@ export default { // .then(res => { // data.incomeDeptList = res.data; // }); - // }; + }; const getList = () => { let pages = { pageIndex: 1, @@ -485,12 +475,17 @@ export default { }); let outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); var repeatFlag = false; - for (let index = 1; index < outdata.length - 1; index++) { + for (let index = 1; index < outdata.length; index++) { if (outdata[0].璋冨嚭椤圭洰缂栧彿 != outdata[index].璋冨嚭椤圭洰缂栧彿) { ElMessage.error('璋冨嚭椤圭洰缂栧彿蹇呴』涓€鑷�'); repeatFlag = true; break; } + if (outdata[0].璋冨嚭椤圭洰鍚嶇О != outdata[index].璋冨嚭椤圭洰鍚嶇О) { + ElMessage.error('璋冨嚭椤圭洰鍚嶇О蹇呴』涓€鑷�'); + repeatFlag = true; + break; + } } if (repeatFlag) { return; @@ -540,6 +535,8 @@ export default { const form = {}; data.detailData.projectCode = item.璋冨嚭椤圭洰缂栧彿; data.detailData.projectName = item.璋冨嚭椤圭洰鍚嶇О; + form.projectCode = item.璋冨嚭椤圭洰缂栧彿; + form.projectName = item.璋冨嚭椤圭洰鍚嶇О; form.adjustMoney = item.璋冨叆閲戦; form.targetProjectName = item.璋冨叆椤圭洰鍚嶇О; form.targetSubjectName = item.璋冨叆棰濆害鍚嶇О; @@ -944,7 +941,7 @@ export default { if (data.pageIndex >= totalPage) { //鏈€鍚庝竴椤� console.log('鏈€鍚庝竴椤�'); - return; + return; } data.pageIndex++; //涓嬩竴椤� SELECTWRAP_DOM.scrollTop = 1; @@ -984,7 +981,7 @@ export default { if (data.pageIndex >= totalPage) { //鏈€鍚庝竴椤� console.log('鏈€鍚庝竴椤�'); - return; + return; } data.pageIndex++; //涓嬩竴椤� SELECTWRAP_DOM.scrollTop = 1; diff --git a/WebSite/src/views/project-review/components/detail.vue b/WebSite/src/views/project-review/components/detail.vue index 9aaeb08e167c8f1a6cfd6c545873b6fa92de33a4..82849eca90a41585145c36fbe51a62b589ee0c5d 100644 --- a/WebSite/src/views/project-review/components/detail.vue +++ b/WebSite/src/views/project-review/components/detail.vue @@ -159,7 +159,7 @@ </el-col> <el-col :span="12"> <el-form-item label="涓荤璐熻矗浜�"> - {{ formData.ownerCode }} + {{ formData.ownerName }} </el-form-item> </el-col> <el-col :span="12"> @@ -202,8 +202,8 @@ </el-table-column> <el-table-column label="璋冨叆棰濆害缂栧彿" prop="targetSubjectCode"> </el-table-column> - <el-table-column label="鍙敤閲戦" prop="canUsedAmount"> - </el-table-column> + <!-- <el-table-column label="鍙敤閲戦" prop="canUsedAmount"> + </el-table-column> --> <el-table-column label="鍒嗛厤閲戦" prop="adjustMoney"> </el-table-column> </el-table> <template #footer> diff --git a/WebSite/src/views/project-split-monitor/components/detail.vue b/WebSite/src/views/project-split-monitor/components/detail.vue index 04dac618e2d6058dc79d4296d1826e0c595f0354..b39ec59383b6862a617672590ffd7afbed9f8307 100644 --- a/WebSite/src/views/project-split-monitor/components/detail.vue +++ b/WebSite/src/views/project-split-monitor/components/detail.vue @@ -202,8 +202,8 @@ </el-table-column> <el-table-column label="璋冨叆棰濆害缂栧彿" prop="targetSubjectCode"> </el-table-column> - <el-table-column label="鍙敤閲戦" prop="canUsedAmount"> - </el-table-column> + <!-- <el-table-column label="鍙敤閲戦" prop="canUsedAmount"> + </el-table-column> --> <el-table-column label="鍒嗛厤閲戦" prop="adjustMoney"> </el-table-column> </el-table> <template #footer> diff --git a/WebSite/src/views/quota-adjust/components/detail.vue b/WebSite/src/views/quota-adjust/components/detail.vue index 2c88896f0b04f9e2611100ee8f48c3005a2b5751..c0bc15ab182664cf6083c7472700c61dc127b431 100644 --- a/WebSite/src/views/quota-adjust/components/detail.vue +++ b/WebSite/src/views/quota-adjust/components/detail.vue @@ -78,7 +78,7 @@ <!-- <el-table-column label="璋冨嚭閲戦" prop="adjustMoney"> </el-table-column> --> <el-table-column label="璋冨叆棰濆害" prop="targetSubjectName"> <template #default="scope"> - {{ scope.row.sourceSubjectName }} + {{ scope.row.targetSubjectName }} </template> </el-table-column> <el-table-column label="閲戦" prop="adjustMoney" align="right"> @@ -86,10 +86,8 @@ {{ moneyFormat(scope.row.adjustMoney, 2, ',') }} </template> </el-table-column> - <el-table-column label="姹囨€�" prop="summary" align="right"> - <template> - <div>{{ moneyFormat(totalMoney, 2, ',') }}</div> - </template> + <el-table-column label="姹囨€�" prop="" align="right"> + <div>{{ moneyFormat(totalMoney, 2, ',') }}</div> </el-table-column> <el-table-column label="鎿嶄綔"> <template #default="scope"> @@ -123,11 +121,6 @@ v-model="detailform.targetProjectCode" @change="getManger(detailform.targetProjectCode)" :disabled="detailData.adjustFundList.length > 0" - :loading="selectUserLoading" - @visible-change="selectVisibleChange" - popper-class="select-user3" - :remote-method="getLeaderByValue" - remote > <el-option v-for="item in deptList" @@ -296,11 +289,11 @@ export default { }, specialFundInputListCopy: [], dataForm: null, - totalMoney: 0, - selectUserLoading: false, - pageIndex: 1, - pageSize: 10, - total: 2000 + totalMoney: 0 + // selectUserLoading: false, + // pageIndex: 1, + // pageSize: 10, + // total: 2000 }); onMounted(() => { if (props.data.id) { @@ -405,6 +398,28 @@ export default { }); let outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); + for (let ins = 1; ins < outdata.length; ins++) { + if (outdata[0].璋冨嚭椤圭洰缂栧彿 != outdata[ins].璋冨嚭椤圭洰缂栧彿) { + ElMessage.error('璋冨嚭椤圭洰缂栧彿蹇呴』涓€鑷�'); + data.flag = 0; + break; + } + if (outdata[0].璋冨嚭椤圭洰鍚嶇О != outdata[ins].璋冨嚭椤圭洰鍚嶇О) { + ElMessage.error('璋冨嚭椤圭洰鍚嶇О蹇呴』涓€鑷�'); + data.flag = 0; + break; + } + if (outdata[0].璋冨叆椤圭洰缂栧彿 != outdata[ins].璋冨叆椤圭洰缂栧彿) { + ElMessage.error('璋冨叆椤圭洰缂栧彿蹇呴』涓€鑷�'); + data.flag = 0; + break; + } + if (outdata[0].璋冨叆椤圭洰鍚嶇О != outdata[ins].璋冨叆椤圭洰鍚嶇О) { + ElMessage.error('璋冨叆椤圭洰鍚嶇О蹇呴』涓€鑷�'); + data.flag = 0; + break; + } + } for (let index = 0; index < outdata.length; index++) { if (outdata[index].璋冨嚭椤圭洰鍚嶇О != outdata[index].璋冨叆椤圭洰鍚嶇О) { ElMessage.error('璋冨叆椤圭洰鍚嶇О鍜岃皟鍑洪」鐩悕绉板繀椤荤浉鍚�'); @@ -450,27 +465,38 @@ export default { data.uploadDialog = false; }; }; - const getDeptList = async name => { - data.selectUserLoading = true; - let parms = { - pageIndex: data.pageIndex, - pageSize: data.pageSize - }; - try { - const res = await quotaAdjust.queryTargetDeptFundList({ - deptNo: '', - filterProjectCode: '', - leaderPersonNo: '', - projectCode: name ? name : '', - ...parms, - time: new Date() - }) + const getDeptList = async () => { + await quotaAdjust + .queryTargetDeptFundList({ + deptNo: '', + filterProjectCode: '', + leaderPersonNo: '', + projectCode: '', + time: new Date() + }) + .then(res => { data.deptList = res.data; - data.selectUserLoading = false; - } catch (_) { - data.deptList = []; - data.selectUserLoading = false; - } + }); + // data.selectUserLoading = true; + // let parms = { + // pageIndex: data.pageIndex, + // pageSize: data.pageSize + // }; + // try { + // const res = await quotaAdjust.queryTargetDeptFundList({ + // deptNo: '', + // filterProjectCode: '', + // leaderPersonNo: '', + // projectCode: name ? name : '', + // ...parms, + // time: new Date() + // }) + // data.deptList = res.data; + // data.selectUserLoading = false; + // } catch (_) { + // data.deptList = []; + // data.selectUserLoading = false; + // } }; const addAdjustFund = () => { if (!data.detailform.targetProjectCode) { @@ -792,7 +818,7 @@ export default { if (data.pageIndex >= totalPage) { //鏈€鍚庝竴椤� console.log('鏈€鍚庝竴椤�'); - return; + return; } data.pageIndex++; //涓嬩竴椤� SELECTWRAP_DOM.scrollTop = 1; diff --git a/WebSite/src/views/subject-split/components/detail.vue b/WebSite/src/views/subject-split/components/detail.vue index 077e36ab13b8613e15506e398015d638ebd1be49..047d10903986aaf679b543caacd1540f5fa68c6d 100644 --- a/WebSite/src/views/subject-split/components/detail.vue +++ b/WebSite/src/views/subject-split/components/detail.vue @@ -248,7 +248,7 @@ <el-option v-for="item in userList" :key="item.code" - :label="item.name" + :label="`${item.name}[${item.code}]`" :value="item.code" ></el-option> </el-select> @@ -275,7 +275,7 @@ <el-option v-for="item in userList" :key="item.code" - :label="item.name" + :label="`${item.name}[${item.code}]`" :value="item.code" ></el-option> </el-select> @@ -297,7 +297,9 @@ v-for="item in deptList" :disabled="item.disabled" :key="item.code" - :label="item.name" + :label=" + item.name ? `${item.name}[${item.code}]` : item.name + " :value="item.code" ></el-option> </el-select> @@ -318,7 +320,7 @@ <el-option v-for="item in userList" :key="item.code" - :label="item.name" + :label="`${item.name}[${item.code}]`" :value="item.code" ></el-option> </el-select> @@ -333,10 +335,14 @@ <el-table-column label="棰濆害缂栧彿" prop="controlsCode"></el-table-column> <el-table-column label="棰濆害鍚嶇О" prop="controlsName"></el-table-column> <el-table-column label="鎺у埗鏁�" prop="usedAmount"></el-table-column> - <el-table-column - label="鍙敤浣欓" - prop="canUsedAmount" - ></el-table-column> + <el-table-column label="鍙敤浣欓" prop=""> + <template #default="scope"> + <!-- {{ scope.row }} --> + {{ + scope.row.newVals ? scope.row.newVals : scope.row.canUsedAmount + }} + </template> + </el-table-column> </el-table> <el-button type="primary" @click="addInfoCmdList()">鏂板</el-button> <el-table border :data="formData.projectFundList"> @@ -369,7 +375,7 @@ " > <el-option - v-for="item in formData.controlDataList" + v-for="item in formData.controlDataListNew" :key="item.controlsCode" :label="item.controlsName" :value="item.controlsCode" @@ -385,11 +391,11 @@ ></el-input> </template> </el-table-column> - <el-table-column label="鍙敤閲戦" prop="canUsedAmount"> + <!-- <el-table-column label="鍙敤閲戦" prop="canUsedAmount"> <template #default="scoped"> <el-input v-model="scoped.row.canUsedAmount" disabled></el-input> </template> - </el-table-column> + </el-table-column> --> <el-table-column label="鍒嗛厤閲戦" prop="adjustMoney"> <template #default="scoped"> <!-- <el-input @@ -450,7 +456,8 @@ export default { userList: [], formData: { projectFundList: [], - controlDataList: [] + controlDataList: [], + controlDataListNew: [] }, selectUserLoading: false, selectUserLoading2: false, @@ -504,6 +511,9 @@ export default { pageSize: 10, total: 2000 }, + datamount: [], + newVals: null, + adjustMoney: null }); onMounted(() => { if (props.data.id) { @@ -512,6 +522,7 @@ export default { data.flowInfo = res.data[0].showFlowInfo; data.detaTopForm.summaryCert = res.data[0].summaryCert; data.detaTopForm.attachVoList = res.data[0].attachVoList; + data.datamount = res.data[0].splitTargetItemPlanOutList; getProjectData(); }); } else { @@ -603,18 +614,18 @@ export default { }; try { const res = await subjectSplit.queryTargetDeptFundList({ - deptNo: '', - filterProjectCode: '', - leaderPersonNo: '', - projectCode: name ? name : '', - ...parms, - time: new Date() - }) - data.subjectList = res.data; - data.selectUserLoading8 = false; + deptNo: '', + filterProjectCode: '', + leaderPersonNo: '', + projectCode: name ? name : '', + ...parms, + time: new Date() + }); + data.subjectList = res.data; + data.selectUserLoading8 = false; } catch (_) { data.subjectList = []; - data.selectUserLoading8 = false; + data.selectUserLoading8 = false; } }; const deleteDatas = () => { @@ -749,78 +760,100 @@ export default { filterUsedAmountZeroMoney: true }) .then(res => { + data.detailData.usedAmount = res.data[0].usedAmount; + data.detailData.templateName = res.data[0].templateName; + data.detailData.templateCode = res.data[0].templateCode; + data.detailData.fundName = res.data[0].fundName; + data.detailData.fundCode = res.data[0].fundCode; data.formData.controlDataList = res.data[0].controlDataList; data.formData.projectFundList.forEach(item => { data.formData.controlDataList.forEach(i => { if (item.sourceSubjectCode == i.controlsCode) { item.canUsedAmount = i.canUsedAmount; + i.adjustMoney = item.adjustMoney; + OnesList(); } }); }); data.title = '缂栬緫'; + data.formData.controlDataListNew = + data.detailData.splitTargetItemPlanOutList[0].projectFundList[0].controlDataList; data.addialog = true; + OnesList(); }); }; const cacelDetail = () => { data.detailDialog = false; }; - const saveData = () => { - if (!data.formData.ownerCode) { - ElMessage.error('涓荤璐熻矗浜轰笉鑳戒负绌�'); - return; - } - if (!data.formData.targetProjectName) { - ElMessage.error('椤圭洰鍚嶇О涓嶈兘涓虹┖'); - return; - } - if (!data.formData.targetDepartmentCode) { - ElMessage.error('鎵€灞為儴闂ㄤ笉鑳戒负绌�'); - return; - } - if ( - !data.formData.projectFundList || - data.formData.projectFundList.length === 0 - ) { - ElMessage.error('鎷嗗垎棰濆害淇℃伅涓嶈兘涓虹┖'); - return; - } - if ( - data.formData.projectFundList && - data.formData.projectFundList.length > 0 - ) { - for (let i = 0; i < data.formData.projectFundList.length; i++) { - if (!data.formData.projectFundList[i].sourceSubjectCode) { - ElMessage.error('璋冨嚭棰濆害鍚嶇О涓嶈兘涓虹┖'); - return; - } - if (!data.formData.projectFundList[i].targetSubjectCode) { - ElMessage.error('璋冨叆棰濆害鍚嶇О涓嶈兘涓虹┖'); - return; - } - if ( - !data.formData.projectFundList[i].adjustMoney || - data.formData.projectFundList[i].adjustMoney <= 0 - ) { - ElMessage.error('鍒嗛厤閲戦蹇呴』澶т簬0'); - return; + const saveData = type => { + if (type != 1 || !type) { + if (!data.formData.ownerCode) { + ElMessage.error('涓荤璐熻矗浜轰笉鑳戒负绌�'); + return; + } + if (!data.formData.targetProjectName) { + ElMessage.error('椤圭洰鍚嶇О涓嶈兘涓虹┖'); + return; + } + if (!data.formData.targetDepartmentCode) { + ElMessage.error('鎵€灞為儴闂ㄤ笉鑳戒负绌�'); + return; + } + if ( + !data.formData.projectFundList || + data.formData.projectFundList.length === 0 + ) { + ElMessage.error('鎷嗗垎棰濆害淇℃伅涓嶈兘涓虹┖'); + return; + } + if ( + data.formData.projectFundList && + data.formData.projectFundList.length > 0 + ) { + for (let i = 0; i < data.formData.projectFundList.length; i++) { + if (!data.formData.projectFundList[i].sourceSubjectCode) { + ElMessage.error('璋冨嚭棰濆害鍚嶇О涓嶈兘涓虹┖'); + return; + } + if (!data.formData.projectFundList[i].targetSubjectCode) { + ElMessage.error('璋冨叆棰濆害鍚嶇О涓嶈兘涓虹┖'); + return; + } + if ( + !data.formData.projectFundList[i].adjustMoney || + data.formData.projectFundList[i].adjustMoney <= 0 + ) { + ElMessage.error('鍒嗛厤閲戦蹇呴』澶т簬0'); + return; + } } } } + data.formData.sumAdjustMoney = 0; data.formData.projectFundList.forEach(item => { data.formData.sumAdjustMoney = data.formData.sumAdjustMoney + (Number(item.adjustMoney) ? Number(item.adjustMoney) : 0); }); - if (data.title == '鏂板') { + if (data.title == '鏂板' && type == 1) { data.detailData.splitTargetItemPlanOutList.push(data.formData); + let array = []; + for (let i = 0; i < data.detailData.splitTargetItemPlanOutList.length; i++) { + if (!array.includes(data.detailData.splitTargetItemPlanOutList[i])) { + array.push(data.detailData.splitTargetItemPlanOutList[i]) + } + } + data.detailData.splitTargetItemPlanOutList = array; + console.log('arr', array); } else { console.log('data', data.formData); data.detailData.splitTargetItemPlanOutList[data.detailData.index] = data.formData; } - - data.addialog = false; + if (type != 1 || !type) { + data.addialog = false; + } }; const handleSelectionChange = val => { data.selectionData = val; @@ -830,6 +863,8 @@ export default { }; const deleteInfoCmdList = scoped => { data.formData.projectFundList.splice(scoped.$index, 1); + saveData(1) + OnesList(); }; const addProject = () => { if ( @@ -851,9 +886,25 @@ export default { projectFundList: [] }; data.formData.controlDataList = res.data[0].controlDataList; + data.detailData.usedAmount = res.data[0].usedAmount; + data.detailData.templateName = res.data[0].templateName; + data.detailData.templateCode = res.data[0].templateCode; + data.detailData.fundName = res.data[0].fundName; + data.detailData.fundCode = res.data[0].fundCode; data.title = '鏂板'; data.addialog = true; + for (let m = 0; m < data.detailData.splitTargetItemPlanOutList.length; m++) { + data.detailData.splitTargetItemPlanOutList[m].projectFundList.forEach(item => { + data.formData.controlDataList.find(is => { + if (is.controlsCode === item.sourceSubjectCode) { + is.adjustMoney = item.adjustMoney; + OnesList(); + } + }); + }); + } }); + OnesList(); } }; const handleExport = () => { @@ -922,17 +973,16 @@ export default { const onValid = (val, sourceSubjectCode) => { data.totalSum = 0; console.log('val', moneyToNumValue(val)); - // console.log('sourceSubjectCode', sourceSubjectCode); - // console.log('totalSum', data.totalSum); - // console.log('sourceSubjectCode', sourceSubjectCode); - // debugger; + data.formData.projectFundList.forEach(v => { if (v.sourceSubjectCode == sourceSubjectCode) { data.canUsedAmount = v.canUsedAmount; data.totalSum += v.adjustMoney; } }); - console.log('totalSum', data.totalSum); + console.log('totalSum', data.totalSum, data.formData.projectFundList); + saveData(1); + OnesList(); if (data.totalSum - data.canUsedAmount > 0) { ElMessage.error('鍒嗛厤閲戦涓嶈兘澶т簬鍙敤閲戦'); return false; @@ -1014,11 +1064,19 @@ export default { item.controlsName; data.formData.projectFundList[index].canUsedAmount = item.canUsedAmount; + let obj = { + sourceSubjectCode: id, + sourceSubjectName: item.controlsName, + templateCode: data.detailData.templateCode + }; + subjectSplit.getBudgetControls(obj).then(res => { + data.formData.controlDataListNew = res.data; + }); } }); }; const getTargetSubjectName = (index, id) => { - data.formData.controlDataList.forEach(item => { + data.formData.controlDataListNew.forEach(item => { if (item.controlsCode == id) { data.formData.projectFundList[index].targetSubjectName = item.controlsName; @@ -1060,6 +1118,28 @@ export default { data.checkInfo.total = res.total; }); }; + + const OnesList = () => { + console.log(data.datamount); + console.log(data.formData); + data.formData.controlDataList.forEach( + item => { + item.newVals = 0; + item.val = 0; + data.detailData.splitTargetItemPlanOutList.forEach(ite => { + ite.projectFundList.forEach(ins => { + if (ins.sourceSubjectCode == item.controlsCode) { + // item.newVals = item.canUsedAmount - ins.adjustMoney; + item.val += ins.adjustMoney; + console.log(item.val, ins.adjustMoney, '1130'); + } + }); + }); + item.newVals = (item.canUsedAmount - item.val).toFixed(2); + } + ); + }; + //涓嬫媺妗嗚Е搴曡Е椤跺姞杞� const selectVisibleChange = visible => { if (visible) { @@ -1352,7 +1432,9 @@ export default { const SELECTWRAP_DOM = document.querySelector( '.select-user8 .el-select-dropdown__wrap.el-scrollbar__wrap' ); - const totalPage = Math.ceil(absNum(data.checkInfo8.total, data.checkInfo8.pageSize, '/')); + const totalPage = Math.ceil( + absNum(data.checkInfo8.total, data.checkInfo8.pageSize, '/') + ); SELECTWRAP_DOM && SELECTWRAP_DOM.addEventListener('scroll', () => { // console.log(totalPage, SELECTWRAP_DOM.scrollHeight, SELECTWRAP_DOM.scrollTop, SELECTWRAP_DOM.clientHeight); @@ -1365,7 +1447,7 @@ export default { if (data.checkInfo8.pageIndex >= totalPage) { //鏈€鍚庝竴椤� console.log('鏈€鍚庝竴椤�'); - return; + return; } data.checkInfo8.pageIndex++; //涓嬩竴椤� SELECTWRAP_DOM.scrollTop = 1; @@ -1426,7 +1508,8 @@ export default { downloadFile, closeTag, getLeaderByValue8, - selectVisibleChange8 + selectVisibleChange8, + OnesList }; } };