From f8d09e0506fdacc4510d3e72d636e8ee51760a28 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Fri, 24 Mar 2023 14:45:19 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9sap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/List/index.vue | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/WebSite/src/views/main/editor/administrationShu/components/List/index.vue b/WebSite/src/views/main/editor/administrationShu/components/List/index.vue index aa09d6848..9ec518d0e 100644 --- a/WebSite/src/views/main/editor/administrationShu/components/List/index.vue +++ b/WebSite/src/views/main/editor/administrationShu/components/List/index.vue @@ -338,7 +338,7 @@ <el-table :data="form.sonProjectOutList" border style="width: 90%" class="mtop20" @row-click="tableRowClick"> <el-table-column prop="projectCode" label="椤圭洰缂栧彿" /> <el-table-column prop="projectName" label="椤圭洰鍚嶇О" /> - <el-table-column prop="modelCode" label="闄勫姞棰勭畻缁撴瀯妯℃澘" /> + <el-table-column prop="modelCode" label="闄勫姞棰勭畻妯℃澘" /> <el-table-column prop="departmentCode" label="閮ㄩ棬"> <template #default="scope"> {{ scope.row.departmentName }} @@ -617,10 +617,10 @@ </el-table-column> <el-table-column prop="departmentCode" label="閮ㄩ棬" > <template #default="scope"> - <el-select v-model="scope.row.departmentCode" class="m-2" filterable clearable> + <el-select v-model="scope.row.departmentCode" class="m-2" filterable clearable @change="onDepartt(scope.row.departmentCode, scope.$index)"> <el-option - v-for="item in deptInfo" - :key="item.code" + v-for="(item, index) in deptInfo" + :key="index" :label="item.name" :value="item.code" /> @@ -1839,7 +1839,7 @@ export default { project: state.form.project, //椤圭洰绫诲瀷 departmentName: state.form.departmentName, //閮ㄩ棬鍚嶇О departmentCode: state.form.departmentCode //閮ㄩ棬缂栧彿 - }) + }) } state.dialogVisibleThree = true; } @@ -1854,6 +1854,7 @@ export default { return; } } + state.form.sonProjectOutList = state.dialogTable; state.dialogVisibleThree = false; } @@ -1883,18 +1884,13 @@ export default { } // 缂栬緫 const onbianji = () => { - state.dialogTable = []; - // for (let i = 0; i < state.form.sonProjectOutList.length; i++) { - // if (state.form.sonProjectOutList[i].projectCode.indexOf('-') == -1) { - // state.form.sonProjectOutList[i].projectCode = state.form.sonProjectOutList[i].projectCode + "-" + (i+1).toString().padStart(3, '0') - // } - // } - state.dialogTable = state.form.sonProjectOutList; + let newSonlist = JSON.parse(JSON.stringify(state.form.sonProjectOutList)); + state.dialogTable = newSonlist; state.dialogVisibleThree = true; }; // 澧炲姞 - const onZenjia = () => { - state.dialogTable.push({}) + const onZenjia = (scope) => { + state.dialogTable.splice(scope.$index + 1, 0, {}) } // 鍒犻櫎 const onDele = (scope) => { @@ -1935,7 +1931,7 @@ export default { } LeftMethod(); let xxx = []; - if (arr1[0].xxxs != false) { + if (arr1[0] && arr1[0].xxxs != false) { for (let k = 0; k < arr1.length; k++) { let obj = arr1[k]; for (let j = 0; j < arr1.length; j++) { @@ -2021,6 +2017,14 @@ export default { colspan: 1, } } + }; + const onDepartt = (row, index) => { + let name = state.deptInfo.find(item => { + if (item.code == row) { + return item; + } + }) + state.dialogTable[index].departmentName = name.name; } return { ...toRefs(state), @@ -2079,7 +2083,8 @@ export default { onBlurtop1, bottomTableLeftMethod, LeftMethod, - bottomTableRightMethod + bottomTableRightMethod, + onDepartt }; } }; -- GitLab From 90ce11d5196c250c1d1015a67373b3635553e5de Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Fri, 24 Mar 2023 17:29:38 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=BC=96sap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../editor/administrationShu/components/List/index.vue | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/WebSite/src/views/main/editor/administrationShu/components/List/index.vue b/WebSite/src/views/main/editor/administrationShu/components/List/index.vue index 9ec518d0e..276f1d6b9 100644 --- a/WebSite/src/views/main/editor/administrationShu/components/List/index.vue +++ b/WebSite/src/views/main/editor/administrationShu/components/List/index.vue @@ -535,6 +535,8 @@ <el-table :data="bottomTableLeft" border style="width: 100%" :span-method="bottomTableLeftMethod" :default-sort="{ prop: 'controlCode', order: 'ascending' }"> <el-table-column prop="controlCode" label="SAP棰濆害缂栧彿" /> <el-table-column prop="controlName" label="SAP棰濆害鍚嶇О" width="180" /> + <el-table-column prop="sapCode" label="鎵胯椤圭洰缂栧彿"/> + <el-table-column prop="sapName" label="鎵胯椤圭洰鍚嶇О"/> <el-table-column prop="totalMoney" label="閲戦" header-align="left" align="right"> <template #default="scope"> {{ moneyFormat(scope.row.totalMoney, 2, ',') }} @@ -544,8 +546,10 @@ </el-col> <el-col :span="12"> <el-table :data="bottomTableRight" border style="width: 100%" :span-method="bottomTableRightMethod" :default-sort="{ prop: 'controlCode', order: 'ascending' }"> - <el-table-column prop="controlCode" label="SAP棰濆害缂栧彿" width="180" /> + <el-table-column prop="controlCode" label="SAP棰濆害缂栧彿" /> <el-table-column prop="controlName" label="SAP棰濆害鍚嶇О" width="180" /> + <el-table-column prop="sapCode" label="鎵胯椤圭洰缂栧彿"/> + <el-table-column prop="sapName" label="鎵胯椤圭洰鍚嶇О"/> <el-table-column prop="totalMoney" label="閲戦" header-align="left" align="right"> <template #default="scope"> {{ moneyFormat(scope.row.totalMoney, 2, ',') }} @@ -2002,7 +2006,7 @@ export default { }; // 鍚堝苟鍗曞厓琛� const bottomTableLeftMethod = ({rowIndex, columnIndex}) => { - if (columnIndex == 0 || columnIndex == 1 || columnIndex == 2) { + if (columnIndex == 0 || columnIndex == 1 || columnIndex == 2 || columnIndex == 3 || columnIndex == 4) { return { rowspan: state.LeftMethodList[rowIndex], colspan: 1, @@ -2011,7 +2015,7 @@ export default { }; // 鍚堝苟鍗曞厓琛� const bottomTableRightMethod = ({rowIndex, columnIndex}) => { - if (columnIndex == 0 || columnIndex == 1 || columnIndex == 2) { + if (columnIndex == 0 || columnIndex == 1 || columnIndex == 2 || columnIndex == 3 || columnIndex == 4) { return { rowspan: state.RightMethodList[rowIndex], colspan: 1, -- GitLab From 2ffe7d76f25fbbd9128db4d237933ad1b63b17c7 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Wed, 29 Mar 2023 09:18:02 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=8F=E8=B4=B9?= =?UTF-8?q?=E5=88=B0=E8=B4=A6=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebSite/src/api/projectLibrary.js | 23 + WebSite/src/main.js | 2 +- WebSite/src/router/modules/base.js | 5 + WebSite/src/store/path.js | 21 + .../main/basicSetting/fundsArrive/index.vue | 416 ++++++++++++++++++ 5 files changed, 466 insertions(+), 1 deletion(-) create mode 100644 WebSite/src/views/main/basicSetting/fundsArrive/index.vue diff --git a/WebSite/src/api/projectLibrary.js b/WebSite/src/api/projectLibrary.js index 41a68113a..57811e82c 100644 --- a/WebSite/src/api/projectLibrary.js +++ b/WebSite/src/api/projectLibrary.js @@ -958,5 +958,28 @@ class ProjectLibrary extends Base { static saveProjectTypeModel(data) { return request.post(`/budgetInfo/saveProjectTypeModel`, data); } + /** + * 缁忚垂鍒拌处 + */ + // 鏍规嵁id鑾峰彇 + static selectById(data) { + return request.post(`/bmbudget/fundArrived/selectById`, data); + } + // 鍒嗛〉 + static page(data) { + return request.post(`/bmbudget/fundArrived/page`, data); + } + // 淇濆瓨 + static saveFundArrived(data) { + return request.post(`/bmbudget/fundArrived/saveFundArrived`, data); + } + // 鍒犻櫎 + static delete(data) { + return request.post(`/bmbudget/fundArrived/delete`, data); + } + // 淇濆瓨瀛愯〃 + static saveFundArrivedHistory(data) { + return request.post(`/bmbudget/fundArrived/saveFundArrivedHistory`, data); + } } export default ProjectLibrary; diff --git a/WebSite/src/main.js b/WebSite/src/main.js index 1077078a8..027d3de7c 100644 --- a/WebSite/src/main.js +++ b/WebSite/src/main.js @@ -42,7 +42,7 @@ app.component('TableFlow', TableFlow); //娉ㄥ唽鍏ㄥ眬鎸囦护 app.directive('loadmore', directives.loadmore); -app.config.globalProperties.$env = 'sd'; +app.config.globalProperties.$env = 'lg'; // development // mount instance app.mount('#app'); diff --git a/WebSite/src/router/modules/base.js b/WebSite/src/router/modules/base.js index 06bfff750..0ba0201af 100644 --- a/WebSite/src/router/modules/base.js +++ b/WebSite/src/router/modules/base.js @@ -44,6 +44,11 @@ const routes = [ path: 'basicSetting/match', component: () => import('@/views/main/basicSetting/match'), name: 'Match' + }, + { + path: 'basicSetting/fundsArrive', + component: () => import('@/views/main/basicSetting/fundsArrive'), + name: 'fundsArrive' } ]; diff --git a/WebSite/src/store/path.js b/WebSite/src/store/path.js index 0f5c42d99..7e94f3393 100644 --- a/WebSite/src/store/path.js +++ b/WebSite/src/store/path.js @@ -267,6 +267,27 @@ const base = [ enabled: 'YES', authUser: ['1'], children: [] + }, + { + id: '13', + available: 'YES', + versionDate: '2023-03-27 13:33:00.000', + updator: '1', + creator: '1', + applicationId: '1', + menuNo: 'SBD_008', + name: '缁忚垂鍒拌处', + icon: 'fas fa-feather-alt', + parentId: '1', + routingUrl: 'basicSetting/fundsArrive', + redirectUrl: '', + urlParameter: '', + isNewWindow: 'NO', + isSystem: 'NO', + withUserId: 'NO', + enabled: 'YES', + authUser: ['1'], + children: [] } ] } diff --git a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue new file mode 100644 index 000000000..e597dd4a2 --- /dev/null +++ b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue @@ -0,0 +1,416 @@ +<template> + <div> + <el-card class="mtop20"> + <el-row :gutter="20"> + <el-col :span="6"> + <el-date-picker + v-model="checkInfo.year" + type="year" + placeholder="閫夋嫨骞�" + > + </el-date-picker> + </el-col> + + <el-col :span="6"> + <el-button type="primary" plain @click="queryList">鏌ヨ</el-button> + <el-button type="primary" plain @click="onAdd">鏂板</el-button> + </el-col> + </el-row> + </el-card> + <el-card class="mtop20"> + <el-table + stripe + :data="tableData" + style="width: 100%" + ref="multipleTable" + class="mtop20" + fit + > + <el-table-column label="骞翠唤" prop="year"></el-table-column> + <el-table-column label="缁忚垂缂栧彿" prop="fundCode"></el-table-column> + <el-table-column label="缁忚垂鍚嶇О" prop="fundName"></el-table-column> + <el-table-column label="璧勯噾鏉ユ簮" prop="fundSource"></el-table-column> + <el-table-column label="棰勭畻鎬婚噾棰�" prop="budgetTotalMoney"> + <template #default="scope"> + {{ moneyFormat(scope.row.budgetTotalMoney, 2, ',') }} + </template> + </el-table-column> + <el-table-column label="棰勭畻鍖归厤閲戦" prop="budgetMatchingMoney"> + <template #default="scope"> + {{ moneyFormat(scope.row.budgetMatchingMoney, 2, ',') }} + </template> + </el-table-column> + <el-table-column label="缁忚垂鍒拌处" prop="arriveTotalMoney"> + <template #default="scope"> + {{ moneyFormat(scope.row.arriveTotalMoney, 2, ',') }} + </template> + </el-table-column> + <el-table-column label="宸叉嫧閲戦" prop="currentAmountApproved"> + <template #default="scope"> + <el-button + type="text" + @click="onDialed(scope.row)" + >{{ moneyFormat(scope.row.currentAmountApproved, 2, ',') }}</el-button + > + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="250"> + <template #default="scope"> + <el-button type="text" @click="onEdit(scope.row)"> + 缂栬緫 + </el-button> + <el-button type="text" @click="onEnter(scope.row)"> + 鍒拌处褰曞叆 + </el-button> + <el-button type="text" @click="onCheck(scope.row)"> + 褰曞叆鍑瘉鏌ョ湅 + </el-button> + <el-button type="text" @click="onDelete(scope.row)"> + 鍒犻櫎 + </el-button> + </template> + </el-table-column> + </el-table> + <Pagination + v-show="total > 0" + :total="total" + v-model:page="checkInfo.pageIndex" + v-model:limit="checkInfo.pageSize" + @pagination="queryList" + /> + <!-- 褰曞叆 --> + <el-dialog v-model="dialogOne" width="50%" title="鍒拌处褰曞叆"> + <el-row :gutter="20"> + <el-col :span="6">缁忚垂缂栧彿锛歿{ fundCode }}</el-col> + <el-col :span="6">缁忚垂鍚嶇О锛歿{ fundName }}</el-col> + </el-row> + <el-form :model="formData" label-width="100px" label-position="left" class="mtop20"> + <el-form-item label="鍒拌处鏃ユ湡锛�"> + <el-date-picker + v-model="formData.arriveAmountDate" + type="datetime" + format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" + placeholder="閫夋嫨骞�/鏈�/鏃�/鍒�/绉�" + ></el-date-picker> + </el-form-item> + <el-form-item label="鍒拌处閲戦锛�"> + <AmountInputBox + v-model="formData.arriveMoney" + placeholder="璇疯緭鍏ラ噾棰�" + @change="setpercentage" + :onValid="onValid" + :isNegativeAllow="true" + ></AmountInputBox> + </el-form-item> + <el-form-item label="鎽樿锛�"> + <el-input v-model="formData.summary" type="textarea" /> + </el-form-item> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogOne = false">杩斿洖</el-button> + <el-button @click="onSave">淇濆瓨</el-button> + </span> + </template> + </el-dialog> + <!-- 鏌ョ湅 --> + <el-dialog + v-model="dialogTwo" + width="50%" + :before-close="handleClose" + title="褰曞叆鍑瘉鏌ョ湅" + > + <el-table :data="diaTable" :summary-method="getSummaries" show-summary> + <el-table-column label="涓氬姟鍗曞彿" prop="businessOrderNumber"></el-table-column> + <el-table-column label="鍑瘉鏃ユ湡" prop="arriveAmountDate"></el-table-column> + <el-table-column label="鍒拌处閲戦" prop="arriveMoney"> + <template #default="scope"> + {{ moneyFormat(scope.row.arriveMoney, 2, ',') }} + </template> + </el-table-column> + <el-table-column label="鎽樿" prop="summary"></el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogTwo = false">杩斿洖</el-button> + </span> + </template> + </el-dialog> + <!-- 宸叉嫧閲戦 --> + <el-dialog + v-model="dialogThree" + width="50%" + :before-close="handleClose" + show-summary + :summary-method="getSummariesTwo" + title="鏌ョ湅宸叉嫧閲戦" + > + <el-row :gutter="20"> + <el-col :span="6">缁忚垂缂栧彿锛歿{ fundCode }}</el-col> + <el-col :span="6">缁忚垂鍚嶇О锛歿{ fundName }}</el-col> + </el-row> + <el-table + stripe + :data="linkTable" + style="width: 100%" + ref="multipleTable" + class="mtop20" + fit + > + <el-table-column prop="" label="閮ㄩ棬鍚嶇О" /> + <el-table-column prop="" label="椤圭洰绫诲瀷" /> + <el-table-column prop="" label="椤圭洰鍚嶇О" /> + <el-table-column prop="" label="棰勭畻閲戦" /> + <el-table-column prop="" label="宸叉嫧閲戦" /> + </el-table> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogThree = false">杩斿洖</el-button> + </span> + </template> + </el-dialog> + <!-- 鏂板 --> + <el-dialog + v-model="dialogFour" + width="50%" + :title="title" + :before-close="handleClose" + > + <el-form :model="formDtable" label-width="100px" label-position="left" ref="formRef"> + <el-form-item label="骞翠唤"> + <el-date-picker + v-model="formDtable.year" + type="year" + placeholder="閫夋嫨骞�" + > + </el-date-picker> + </el-form-item> + <el-form-item label="缁忚垂缂栧彿"> + <el-input v-model="formDtable.fundCode" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item label="缁忚垂鍚嶇О"> + <el-input v-model="formDtable.fundName" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item label="璧勯噾鏉ユ簮"> + <el-input v-model="formDtable.fundSource" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item label="棰勭畻鎬婚噾棰�"> + <el-input v-model="formDtable.budgetTotalMoney" placeholder="璇疯緭鍏�" /> + </el-form-item> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogFour = false">杩斿洖</el-button> + <el-button @click="onFourSave">淇濆瓨</el-button> + </span> + </template> + </el-dialog> + </el-card> + </div> +</template> + +<script> +import { reactive, toRefs, onMounted } from 'vue'; +import ProjectLibrary from '@/api/projectLibrary'; +import { ElMessage } from 'element-plus'; +import { formatTime, moneyFormat } from '@/utils'; +import Moment from 'moment'; +export default { + setup() { + onMounted(() => { + queryList(); + }); + const state = reactive({ + checkInfo: { + pageIndex: 1, + pageSize: 10, + year: Moment(new Date()).format('YYYY'), + instanceId: 1 + }, + total: 0, + tableData: [], + dialogOne: false, + dialogTwo: false, + dialogThree: false, + dialogFour: false, + diaTable: [], + formData: { + arriveAmountDate: formatTime(new Date(), 'yyyy-MM-dd HH:mm:ss') + }, + fundCode: '', + fundName: '', + linkTable: [], + luList: {}, + formDtable: { + year: Moment(new Date()).format('YYYY'), + instanceId: 1, + fundArrivedHistoryCmdList: [], + fundCode: '', + fundName: '', + fundSource: '', + budgetTotalMoney: '' + }, + title: '' + }); + // 鏌ヨ + const queryList = () => { + state.checkInfo.year = Moment(state.checkInfo.year).format('YYYY') + ProjectLibrary.page(state.checkInfo).then(res => { + if (res && res.data) { + res.data.forEach(item => { + if (item) { + item.year = item.year.toString(); + } + }) + state.tableData = res.data; + } + }) + }; + // 鏂板 + const onAdd = () => { + state.title = '鏂板'; + state.formDtable = {}; + state.dialogFour = true; + }; + // 鏂板/缂栬緫淇濆瓨 + const onFourSave = () => { + state.formDtable.year = Moment(state.formDtable.year).format('YYYY'); + state.formDtable.instanceId = 1; + ProjectLibrary.saveFundArrived(state.formDtable).then(() => { + if (state.title == '鏂板') { + ElMessage.success('鏂板鎴愬姛锛�'); + } else { + ElMessage.success('缂栬緫鎴愬姛锛�'); + } + state.dialogFour = false; + queryList(); + }) + } + // 缂栬緫 + const onEdit = (row) => { + state.title = '缂栬緫'; + state.formDtable = {}; + state.dialogFour = true; + ProjectLibrary.selectById({id: row.fundId}).then((res) => { + res.data[0].year = res.data[0].year.toString(); + state.formDtable = res.data[0]; + }) + }; + // 鍒拌处褰曞叆 + const onEnter = (row) => { + state.dialogOne = true; + state.fundCode = row.fundCode; + state.fundName = row.fundName; + state.luList = row; + }; + // 褰曞叆鍑瘉鏌ョ湅 + const onCheck = (row) => { + state.dialogTwo = true; + ProjectLibrary.selectById({id: row.fundId}).then((res) => { + console.log(res); + state.diaTable = res.data[0].fundArrivedHistoryOutList; + }) + }; + // 鍒犻櫎 + const onDelete = (row) => { + ProjectLibrary.delete({idList: [row.fundId]}).then(() => { + ElMessage.success('鍒犻櫎鎴愬姛锛�'); + queryList(); + }) + }; + // 鍒拌处褰曞叆淇濆瓨 + const onSave = () => { + state.formData.arriveAmountDate = formatTime(state.formData.arriveAmountDate, 'yyyy-MM-dd HH:mm:ss'); + state.formData.parentId = state.luList.fundId; + state.formData.instanceId = state.luList.instanceId; + let data = { + ...state.formData + } + ProjectLibrary.saveFundArrivedHistory(data).then((res) => { + ElMessage.success('淇濆瓨鎴愬姛锛�'); + state.dialogOne = false; + console.log(res); + }) + console.log(state.formData, state.luList); + 0}; + // 宸叉嫧閲戦鏌ョ湅 + const onDialed = (row) => { + state.fundCode = row.fundCode; + state.fundName = row.fundName; + state.dialogThree = true; + } + // 鍚堣 + const getSummaries = (param) => { + const { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '鍚堣'; + return; + } + if (index === 2) { + const values = data.map((item) => Number(item[column.property])); + if (!values.every((value) => Number.isNaN(value))) { + sums[index] = 0; + values.forEach(e => { + sums[index] += Math.floor(e * 100); + }); + sums[index] = sums[index] / 100; + sums[index] = moneyFormat(sums[index], 2, ','); + } + } else { + sums[index] = ''; + } + }) + return sums; + }; + // 宸叉嫧閲戦鐨勫悎璁� + const getSummariesTwo = (param) => { + const { columns, data } = param; + const sumss = []; + columns.forEach((column, index) => { + if (index === 0) { + sumss[index] = '鍚堣'; + return; + } + if (index === 3) { + const values = data.map((item) => Number(item[column.property])); + if (!values.every((value) => Number.isNaN(value))) { + sumss[index] = 0; + values.forEach(e => { + sumss[index] += Math.floor(e * 100); + }); + sumss[index] = sumss[index] / 100; + sumss[index] = moneyFormat(sumss[index], 2, ','); + } + } else { + sumss[index] = ''; + } + }) + return sumss; + }; + + return { + ...toRefs(state), + moneyFormat, + queryList, + onAdd, + onEdit, + onEnter, + onCheck, + onDelete, + onSave, + onDialed, + getSummaries, + getSummariesTwo, + onFourSave + }; + } +}; +</script> + +<style scoped> +.newRow { +} +</style> -- GitLab From 0a586f5289939647dac01d069129a15160910b64 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Thu, 30 Mar 2023 09:43:33 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E7=BB=8F=E8=B4=B9=E5=88=B0=E8=B4=A6?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebSite/src/main.js | 2 +- .../main/basicSetting/fundsArrive/index.vue | 75 +++++++++++++------ 2 files changed, 53 insertions(+), 24 deletions(-) diff --git a/WebSite/src/main.js b/WebSite/src/main.js index 027d3de7c..1077078a8 100644 --- a/WebSite/src/main.js +++ b/WebSite/src/main.js @@ -42,7 +42,7 @@ app.component('TableFlow', TableFlow); //娉ㄥ唽鍏ㄥ眬鎸囦护 app.directive('loadmore', directives.loadmore); -app.config.globalProperties.$env = 'lg'; +app.config.globalProperties.$env = 'sd'; // development // mount instance app.mount('#app'); diff --git a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue index e597dd4a2..53673a91a 100644 --- a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue +++ b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue @@ -37,7 +37,11 @@ </el-table-column> <el-table-column label="棰勭畻鍖归厤閲戦" prop="budgetMatchingMoney"> <template #default="scope"> - {{ moneyFormat(scope.row.budgetMatchingMoney, 2, ',') }} + <el-button + type="text" + @click="onDialed(scope.row, 1)" + >{{ moneyFormat(scope.row.budgetMatchingMoney, 2, ',') }}</el-button + > </template> </el-table-column> <el-table-column label="缁忚垂鍒拌处" prop="arriveTotalMoney"> @@ -45,11 +49,11 @@ {{ moneyFormat(scope.row.arriveTotalMoney, 2, ',') }} </template> </el-table-column> - <el-table-column label="宸叉嫧閲戦" prop="currentAmountApproved"> + <el-table-column label="宸叉嫧缁忚垂" prop="currentAmountApproved"> <template #default="scope"> <el-button type="text" - @click="onDialed(scope.row)" + @click="onDialed(scope.row, 2)" >{{ moneyFormat(scope.row.currentAmountApproved, 2, ',') }}</el-button > </template> @@ -121,7 +125,7 @@ :before-close="handleClose" title="褰曞叆鍑瘉鏌ョ湅" > - <el-table :data="diaTable" :summary-method="getSummaries" show-summary> + <el-table :data="diaTable" :summary-method="getSummaries" show-summary border> <el-table-column label="涓氬姟鍗曞彿" prop="businessOrderNumber"></el-table-column> <el-table-column label="鍑瘉鏃ユ湡" prop="arriveAmountDate"></el-table-column> <el-table-column label="鍒拌处閲戦" prop="arriveMoney"> @@ -137,14 +141,12 @@ </span> </template> </el-dialog> - <!-- 宸叉嫧閲戦 --> + <!-- 宸叉嫧缁忚垂/棰勭畻鍖归厤閲戦 --> <el-dialog v-model="dialogThree" width="50%" :before-close="handleClose" - show-summary - :summary-method="getSummariesTwo" - title="鏌ョ湅宸叉嫧閲戦" + :title="newTitle" > <el-row :gutter="20"> <el-col :span="6">缁忚垂缂栧彿锛歿{ fundCode }}</el-col> @@ -157,12 +159,23 @@ ref="multipleTable" class="mtop20" fit + border + show-summary + :summary-method="getSummariesTwo" > - <el-table-column prop="" label="閮ㄩ棬鍚嶇О" /> - <el-table-column prop="" label="椤圭洰绫诲瀷" /> - <el-table-column prop="" label="椤圭洰鍚嶇О" /> - <el-table-column prop="" label="棰勭畻閲戦" /> - <el-table-column prop="" label="宸叉嫧閲戦" /> + <el-table-column prop="departmentName" label="閮ㄩ棬鍚嶇О" /> + <el-table-column prop="projectType" label="椤圭洰绫诲瀷" /> + <el-table-column prop="projectName" label="椤圭洰鍚嶇О" /> + <el-table-column prop="totalMoney" label="棰勭畻閲戦" > + <template #default="scope"> + {{ moneyFormat(scope.row.totalMoney, 2, ',') }} + </template> + </el-table-column> + <el-table-column prop="secondquotamoney" label="宸叉嫧缁忚垂" > + <template #default="scope"> + {{ moneyFormat(scope.row.secondquotamoney, 2, ',') }} + </template> + </el-table-column> </el-table> <template #footer> <span class="dialog-footer"> @@ -251,7 +264,8 @@ export default { fundSource: '', budgetTotalMoney: '' }, - title: '' + title: '', + newTitle: '' }); // 鏌ヨ const queryList = () => { @@ -299,6 +313,9 @@ export default { }; // 鍒拌处褰曞叆 const onEnter = (row) => { + state.formData = { + arriveAmountDate: formatTime(new Date(), 'yyyy-MM-dd HH:mm:ss'), + }; state.dialogOne = true; state.fundCode = row.fundCode; state.fundName = row.fundName; @@ -314,30 +331,42 @@ export default { }; // 鍒犻櫎 const onDelete = (row) => { - ProjectLibrary.delete({idList: [row.fundId]}).then(() => { - ElMessage.success('鍒犻櫎鎴愬姛锛�'); - queryList(); - }) + if (!row.currentAmountApproved && !row.arriveTotalMoney) { + ProjectLibrary.delete({idList: [row.fundId]}).then(() => { + ElMessage.success('鍒犻櫎鎴愬姛锛�'); + queryList(); + }) + } else { + ElMessage.warning('涓嶅彲鍒犻櫎锛�'); + } }; // 鍒拌处褰曞叆淇濆瓨 const onSave = () => { - state.formData.arriveAmountDate = formatTime(state.formData.arriveAmountDate, 'yyyy-MM-dd HH:mm:ss'); + state.formData.arriveAmountDate = formatTime(state.formData.arriveAmountDate, 'yyyy-MM-dd HH:mm:ss') + '.000'; state.formData.parentId = state.luList.fundId; state.formData.instanceId = state.luList.instanceId; let data = { ...state.formData } - ProjectLibrary.saveFundArrivedHistory(data).then((res) => { + ProjectLibrary.saveFundArrivedHistory(data).then(() => { ElMessage.success('淇濆瓨鎴愬姛锛�'); state.dialogOne = false; - console.log(res); + queryList(); }) console.log(state.formData, state.luList); 0}; // 宸叉嫧閲戦鏌ョ湅 - const onDialed = (row) => { + const onDialed = (row, type) => { + if (type == 1) { + state.newTitle = '鏌ョ湅棰勭畻鍖归厤閲戦' + } else { + state.newTitle = '鏌ョ湅宸叉嫧閲戦' + } state.fundCode = row.fundCode; state.fundName = row.fundName; + ProjectLibrary.selectById({id: row.fundId}).then((res) => { + state.linkTable = res.data[0].yuBoOutList; + }) state.dialogThree = true; } // 鍚堣 @@ -374,7 +403,7 @@ export default { sumss[index] = '鍚堣'; return; } - if (index === 3) { + if (index === 3 || index === 4) { const values = data.map((item) => Number(item[column.property])); if (!values.every((value) => Number.isNaN(value))) { sumss[index] = 0; -- GitLab From a9c8f40cee1104551dd25172d511aa7f5e2579b2 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Thu, 30 Mar 2023 12:59:45 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebSite/src/api/projectLibrary.js | 22 +++++++++++++++++++ WebSite/src/main.js | 2 +- .../yo-common/ProjectApplyPageList/index.vue | 4 ++++ .../yo-common/PublicApplyPageList/index.vue | 9 ++++---- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/WebSite/src/api/projectLibrary.js b/WebSite/src/api/projectLibrary.js index 57811e82c..e011bb381 100644 --- a/WebSite/src/api/projectLibrary.js +++ b/WebSite/src/api/projectLibrary.js @@ -405,6 +405,28 @@ class ProjectLibrary extends Base { super.downloadFile(res); }); } + // 閮ㄩ棬棰勭畻瀹℃壒-椤圭洰瀹℃壒鈥斺€斿綊鍙i儴闂細瀵煎嚭 + static exportProjectInfoPlanPageByOwnCurrentUserDept(data) { + request({ + url: `/projectPlan/exportProjectInfoPlanPageByOwnCurrentUserDept`, + method: 'post', + data, + responseType: 'blob' + }).then(res => { + super.downloadFile(res); + }); + } + // 閮ㄩ棬棰勭畻瀹℃壒-椤圭洰瀹℃壒鈥斺€旈儴闂ㄩ瀵煎鍑� + static exportInfoProjectPlanByCurrentUserDept(data) { + request({ + url: `/projectPlan/exportInfoProjectPlanByCurrentUserDept`, + method: 'post', + data, + responseType: 'blob' + }).then(res => { + super.downloadFile(res); + }); + } // 鎵归噺瀵煎嚭椤圭洰缁忚垂鐢虫姤涔� static exportProjectDailyPlan(data) { request({ diff --git a/WebSite/src/main.js b/WebSite/src/main.js index 1077078a8..06f52e47c 100644 --- a/WebSite/src/main.js +++ b/WebSite/src/main.js @@ -42,7 +42,7 @@ app.component('TableFlow', TableFlow); //娉ㄥ唽鍏ㄥ眬鎸囦护 app.directive('loadmore', directives.loadmore); -app.config.globalProperties.$env = 'sd'; +app.config.globalProperties.$env = 'jr'; // development // mount instance app.mount('#app'); diff --git a/WebSite/src/views/yo-common/ProjectApplyPageList/index.vue b/WebSite/src/views/yo-common/ProjectApplyPageList/index.vue index d1a921757..5b712439f 100644 --- a/WebSite/src/views/yo-common/ProjectApplyPageList/index.vue +++ b/WebSite/src/views/yo-common/ProjectApplyPageList/index.vue @@ -311,6 +311,10 @@ export default { route.path == '/i/financial-monitoring/maintenance' ) { ProjectLibrary.exportProjectInfoPlanPage(params); + } else if (route.path == '/i/approval/project/BackDeptApproval') { + ProjectLibrary.exportProjectInfoPlanPageByOwnCurrentUserDept(params); + } else if (route.path == '/i/approval/project/LeaderApproval') { + ProjectLibrary.exportInfoProjectPlanByCurrentUserDept(params); } else { ProjectLibrary.exportInfoProjectPlan(params); } diff --git a/WebSite/src/views/yo-common/PublicApplyPageList/index.vue b/WebSite/src/views/yo-common/PublicApplyPageList/index.vue index 83cd06c86..9f55e0c33 100644 --- a/WebSite/src/views/yo-common/PublicApplyPageList/index.vue +++ b/WebSite/src/views/yo-common/PublicApplyPageList/index.vue @@ -94,7 +94,7 @@ <!-- <el-button plain type="primary" @click="openDialog" >鎵归噺淇敼澶勭悊浜�</el-button > --> - <el-button plain type="danger" @click="batchExportHandler" + <el-button plain type="danger" @click="batchExportHandler" v-if="route == '/i/approval/public/LeaderApproval' ? false : true" >瀵煎嚭</el-button > </div> @@ -224,7 +224,8 @@ export default { { prop: 'state', label: '瀹℃牳鐘舵€�' } ], primaryKey: 'id', - deptListNew: [] + deptListNew: [], + route: route.path }); const yearChange = val => { const year = new Date(val).getFullYear().toString(); @@ -298,8 +299,8 @@ export default { }; // ElMessage.success('瀵煎嚭鎴愬姛'); if ( - route.path == '/i/approval/public/FinanceApproval' || - route.path == '/i/financial-monitoring/daily-public' + route == '/i/approval/public/FinanceApproval' || + route == '/i/financial-monitoring/daily-public' ) { ProjectLibrary.exportProjectDailyPlan(params); } else { -- GitLab From 4779d465f359bd1933f0abd3e8c5bb50b8802618 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Fri, 31 Mar 2023 13:06:48 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=A6=E6=A0=A1?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebSite/.env.sd | 2 +- WebSite/.env.shnu | 2 + WebSite/package.json | 1 + WebSite/src/main.js | 2 +- .../src/views/login/components/SelectUser.vue | 1 + .../src/views/main/allocation/setUp/index.vue | 4 +- .../department/components/List.vue | 37 +++++++++- .../main/project-library/fundCardNo/index.vue | 71 ++++++++++++------- 8 files changed, 88 insertions(+), 32 deletions(-) create mode 100644 WebSite/.env.shnu diff --git a/WebSite/.env.sd b/WebSite/.env.sd index c517e5671..81dcba04b 100644 --- a/WebSite/.env.sd +++ b/WebSite/.env.sd @@ -1,2 +1,2 @@ NODE_ENV = sd -VUE_APP_BASE_API = '/projectplan' \ No newline at end of file +VUE_APP_BASE_API = '/projectplanshu' \ No newline at end of file diff --git a/WebSite/.env.shnu b/WebSite/.env.shnu new file mode 100644 index 000000000..6710feed9 --- /dev/null +++ b/WebSite/.env.shnu @@ -0,0 +1,2 @@ +NODE_ENV = shnu +VUE_APP_BASE_API = '/projectplan' \ No newline at end of file diff --git a/WebSite/package.json b/WebSite/package.json index 704a98f1b..158611b51 100644 --- a/WebSite/package.json +++ b/WebSite/package.json @@ -16,6 +16,7 @@ "build:xnzf": "vue-cli-service build --mode xnzf", "build:jsxy": "vue-cli-service build --mode jsxy", "build:sues": "vue-cli-service build --mode sues", + "build:shnu": "vue-cli-service build --mode shnu", "lint": "vue-cli-service lint", "config:dev": "vue-cli-service inspect --mode development >> webpack.config.development.js", "config:prod": "vue-cli-service inspect --mode production >> webpack.config.production.js" diff --git a/WebSite/src/main.js b/WebSite/src/main.js index 06f52e47c..027d3de7c 100644 --- a/WebSite/src/main.js +++ b/WebSite/src/main.js @@ -42,7 +42,7 @@ app.component('TableFlow', TableFlow); //娉ㄥ唽鍏ㄥ眬鎸囦护 app.directive('loadmore', directives.loadmore); -app.config.globalProperties.$env = 'jr'; +app.config.globalProperties.$env = 'lg'; // development // mount instance app.mount('#app'); diff --git a/WebSite/src/views/login/components/SelectUser.vue b/WebSite/src/views/login/components/SelectUser.vue index 7defc4abf..0a77bbb12 100644 --- a/WebSite/src/views/login/components/SelectUser.vue +++ b/WebSite/src/views/login/components/SelectUser.vue @@ -30,6 +30,7 @@ <span class="big" v-if="env == 'ys'">涓婃捣鍑虹増鍗板埛楂樼瓑涓撶鎶€鏈鏍�</span> <span class="big" v-if="env == 'jsxy'">涓婃捣甯傛暀甯堟暀鑲插闄�</span> <span class="big" v-if="env == 'sues'">涓婃捣宸ョ▼鎶€鏈ぇ瀛�</span> + <span class="big" v-if="env == 'shnu'">涓婃捣甯堣寖澶у</span> </div> <div v-for="item in transitionList" :key="item.id"> <transition name="fade-transform-bottom"> diff --git a/WebSite/src/views/main/allocation/setUp/index.vue b/WebSite/src/views/main/allocation/setUp/index.vue index 8cbe72eff..02d21428d 100644 --- a/WebSite/src/views/main/allocation/setUp/index.vue +++ b/WebSite/src/views/main/allocation/setUp/index.vue @@ -483,7 +483,7 @@ <el-table-column prop="projectName" label="椤圭洰鍚嶇О" /> <el-table-column prop="projectCode" label="椤圭洰缂栧彿" /> <el-table-column prop="departmentName" label="閮ㄩ棬鍚嶇О" /> - <el-table-column prop="model" label="瀵瑰簲妯℃澘" /> + <el-table-column prop="budgetModel" label="瀵瑰簲妯℃澘" /> <el-table-column prop="state" label="瀹℃牳鐘舵€�" /> <el-table-column prop="totalMoney" @@ -514,7 +514,7 @@ <el-table-column prop="projectName" label="椤圭洰鍚嶇О" /> <el-table-column prop="projectCode" label="椤圭洰缂栧彿" /> <el-table-column prop="departmentName" label="閮ㄩ棬鍚嶇О" /> - <el-table-column prop="model" label="瀵瑰簲妯℃澘" /> + <el-table-column prop="budgetModel" label="瀵瑰簲妯℃澘" /> <el-table-column prop="state" label="瀹℃牳鐘舵€�" /> <el-table-column prop="totalMoney" diff --git a/WebSite/src/views/main/project-library/department/components/List.vue b/WebSite/src/views/main/project-library/department/components/List.vue index b58640c21..3cc7e0159 100644 --- a/WebSite/src/views/main/project-library/department/components/List.vue +++ b/WebSite/src/views/main/project-library/department/components/List.vue @@ -157,6 +157,12 @@ :type="scope.row.twoUPState == 2 ? 'text' : 'primary'" >{{ scope.row.twoUPName }}</el-button > + <el-button + v-if="$env == 'sd'" + @click="toTwoCf(scope.row)" + type="primary" + >鎷嗗垎</el-button + > </template> </el-table-column> <el-table-column label="鎵瑰" prop="replyName"> @@ -241,6 +247,27 @@ </span> </template> </el-dialog> + <el-dialog + v-model="dialogVisibleTwo" + width="30%" + :before-close="handleClose" + > + <el-row :gutter="20"> + <el-col :span="10">璇烽€夋嫨鎷嗗垎椤圭洰鐨勪釜鏁帮細</el-col> + <el-col :span="8" + ><el-input-number + v-model="numberNum" + :min="1" + size="small" + /></el-col> + </el-row> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisibleTwo = false">鍙栨秷</el-button> + <el-button @click="onSure">纭畾</el-button> + </span> + </template> + </el-dialog> <UploadFile v-model="uploadDialog" @upload-handler="uploadHandler"> <el-button @click.stop="downloadImportTemplate" @@ -319,7 +346,9 @@ export default { tableData: [] }, multipleSelection: [], - multipleSelectionProject: [] + multipleSelectionProject: [], + dialogVisibleTwo: false, + numberNum: 1, }); // 鍒犻櫎 const handleDel = () => { @@ -500,6 +529,9 @@ export default { } } }; + const toTwoCf = () => { + + } // const setTime = () => { // state.checkInfo.year = Moment(state.checkInfo.year).format('YYYY'); // }; @@ -568,7 +600,8 @@ export default { getmoneyInfo, handleAddWork, onHzdy, - ctx + ctx, + toTwoCf }; } }; diff --git a/WebSite/src/views/main/project-library/fundCardNo/index.vue b/WebSite/src/views/main/project-library/fundCardNo/index.vue index bfe2b8da8..bb0f97fad 100644 --- a/WebSite/src/views/main/project-library/fundCardNo/index.vue +++ b/WebSite/src/views/main/project-library/fundCardNo/index.vue @@ -281,6 +281,29 @@ prop="projectPlanTypeName" v-if="env == 'yy'" /> + <el-table-column + label="缁忚垂鍗″彿" + prop="funCode" + width="200" + v-if="env == 'sd'" + > + <template #default="scope"> + <el-select + filterable + clearable + v-model="scope.row.funCode" + placeholder="璇烽€夋嫨缁忚垂鍗″彿" + @change="onSave(scope.row)" + > + <el-option + v-for="item in jfkhList" + :key="item.fundCode" + :label="`${item.fundCode}[${item.fundName}]`" + :value="item.fundCode" + ></el-option> + </el-select> + </template> + </el-table-column> <!-- <el-table-column label="鎿嶄綔"> <template #default="scope"> <el-button type="primary" plain @click="onsave(scope)" @@ -377,7 +400,8 @@ export default { } ], jfbhList: [], - codeList: [] + codeList: [], + jfkhList: [] }); const queryList = () => { if (state.checkInfo.year) { @@ -398,6 +422,16 @@ export default { state.deptList = res.data; } ); + if (state.env == 'sd') { + ProjectLibrary.page({ + pageIndex: 1, + pageSize: 10, + year: Moment(new Date()).format('YYYY'), + instanceId: 1 + }).then((res) => { + state.jfkhList = res.data; + }) + } if (state.env != 'sd') { ProjectLibrary.getFundCodeList().then(res => { state.jfbhList = res.data; @@ -412,6 +446,7 @@ export default { projectPlanID: row.id, number: row.number, funCode: row.funCode, + fundCode: row.fundCode, budgetCode: row.budgetCode, budgetStructureCode: row.budgetStructureCode, project: row.project, @@ -480,32 +515,16 @@ export default { }; const onSaveModel = row => { console.log(row); - let objdata = {}; - if (row.projectTypeId) { - objdata = { - year: row.year, - projectTypeId: row.projectTypeId, - projectPlanBookId: row.id, - model: row.model - }; - } else { - objdata = { - // year: row.year, - // projectTypeId: row.projectTypeId, - projectPlanBookId: row.id, - model: row.model - }; - } - - ProjectLibrary.saveProjectTypeModel(objdata).then(res => { + let objdata = { + projectPlanID: row.id, + number: row.number, + funCode: row.funCode, + model: row.model + }; + ProjectPlan.saveExpenseCardNumber(objdata).then(res => { console.log(res); - if (row.projectTypeId) { - ElMessage.success('淇濆瓨鎴愬姛'); - queryList(); - } else { - ElMessage.success('淇敼鎴愬姛'); - queryList(); - } + ElMessage.success('淇濆瓨鎴愬姛'); + queryList(); }); }; return { -- GitLab From 95a66e2abea78a795e12083b0a0347290ac2e728 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Fri, 31 Mar 2023 17:12:54 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/SelectSubject/index.vue | 27 +++++++---- WebSite/src/main.js | 2 +- .../allocation/apply/components/Detail.vue | 2 +- .../main/allocation/apply/components/List.vue | 5 +- .../main/basicSetting/fundsArrive/index.vue | 47 +++++++++++++++++-- .../projectLibrary/components/List.vue | 3 +- .../basicSetting/projectLibrary/index.vue | 2 +- WebSite/vue.config.js | 4 +- 8 files changed, 70 insertions(+), 22 deletions(-) diff --git a/WebSite/src/components/SelectSubject/index.vue b/WebSite/src/components/SelectSubject/index.vue index 43aaf631a..f4091c4f3 100644 --- a/WebSite/src/components/SelectSubject/index.vue +++ b/WebSite/src/components/SelectSubject/index.vue @@ -79,7 +79,8 @@ export default { const tree = ref(null); const state = reactive({ checkInfo: { - year: sessionStorage.getItem('year') + year: sessionStorage.getItem('year'), + time: new Date() }, treeData: [], filterText: '', @@ -116,15 +117,21 @@ export default { } }); const getListDept = async () => { + const res = await ProjectLibrary.queryFundTree(state.checkInfo); + state.treeData = res.data; + sessionStorage.setItem('list', JSON.stringify(res.data)); let list = sessionStorage.getItem('list'); - if (list) { - state.treeData = JSON.parse(list); - state.nodeIds = deptSelectChild.value.map(v => v.id); - } else { - const res = await ProjectLibrary.queryFundTree(state.checkInfo); - state.treeData = res.data; - sessionStorage.setItem('list', JSON.stringify(res.data)); - } + state.treeData = JSON.parse(list); + state.nodeIds = deptSelectChild.value.map(v => v.id); + // let list = sessionStorage.getItem('list'); + // if (list) { + // state.treeData = JSON.parse(list); + // state.nodeIds = deptSelectChild.value.map(v => v.id); + // } else { + // const res = ProjectLibrary.queryFundTree(state.checkInfo); + // state.treeData = res.data; + // sessionStorage.setItem('list', JSON.stringify(res.data)); + // } }; const getData = () => { state.nodeInfos = tree.value.getCheckedNodes(); @@ -134,7 +141,7 @@ export default { }; const handleClose = () => { dialogSelectDept.value = false; - clearSelcetUser(); + // clearSelcetUser(); }; const clearSelcetUser = () => { deptSelectChild.value = []; diff --git a/WebSite/src/main.js b/WebSite/src/main.js index 027d3de7c..1077078a8 100644 --- a/WebSite/src/main.js +++ b/WebSite/src/main.js @@ -42,7 +42,7 @@ app.component('TableFlow', TableFlow); //娉ㄥ唽鍏ㄥ眬鎸囦护 app.directive('loadmore', directives.loadmore); -app.config.globalProperties.$env = 'lg'; +app.config.globalProperties.$env = 'sd'; // development // mount instance app.mount('#app'); diff --git a/WebSite/src/views/main/allocation/apply/components/Detail.vue b/WebSite/src/views/main/allocation/apply/components/Detail.vue index 0edc52ab4..5ecec829a 100644 --- a/WebSite/src/views/main/allocation/apply/components/Detail.vue +++ b/WebSite/src/views/main/allocation/apply/components/Detail.vue @@ -114,7 +114,7 @@ export default { if (props.detailData) { console.log('23', props.detailData); state.form = props.detailData; - state.form.projectDetiaOut = props.detailData.projectDetiaOut; + state.form.projectDetiaOut = props.detailData.planBookSubjectCommonOutList ? props.detailData.planBookSubjectCommonOutList : props.detailData.projectDetiaOut; jisuan(); // state.form.balance = 1; console.log('form', state.form); diff --git a/WebSite/src/views/main/allocation/apply/components/List.vue b/WebSite/src/views/main/allocation/apply/components/List.vue index 134e50d91..00a1e4f3a 100644 --- a/WebSite/src/views/main/allocation/apply/components/List.vue +++ b/WebSite/src/views/main/allocation/apply/components/List.vue @@ -181,7 +181,7 @@ export default { state.checkInfo.year = Moment(state.checkInfo.year).format('YYYY'); }; const seeHis = row => { - state.projectCheckInfo.projectPlanBookId = row.projectPlanBookId; + state.projectCheckInfo.projectPlanBookId = row.id; // state.projectCheckInfo.projectCode = row.projectCode; queryYBHisInfoById(); }; @@ -194,9 +194,10 @@ export default { }; // 鍙戣捣鐢宠 const apply = row => { + row.projectPlanBookId = row.id; sessionStorage.setItem('checkInfo6', JSON.stringify(state.checkInfo)); Allocation.queryBYByIdNew(row.projectPlanBookId).then(res => { - res.data[0].projectPlanBookId = row.projectPlanBookId; + res.data[0].projectPlanBookId = row.id; cxt.emit('switch-page', 'Detail', false, res.data[0]); }); }; diff --git a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue index 53673a91a..2c2c45a4e 100644 --- a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue +++ b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue @@ -152,6 +152,20 @@ <el-col :span="6">缁忚垂缂栧彿锛歿{ fundCode }}</el-col> <el-col :span="6">缁忚垂鍚嶇О锛歿{ fundName }}</el-col> </el-row> + <el-row :gutter="20" class="mtop20"> + <el-col :span="6"> + <el-input v-model="checkInfoNew.departmentName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" /> + </el-col> + <el-col :span="6"> + <el-input v-model="checkInfoNew.projectType" placeholder="璇疯緭鍏ラ」鐩被鍨�" /> + </el-col> + <el-col :span="6"> + <el-input v-model="checkInfoNew.projectName" placeholder="璇疯緭鍏ラ」鐩悕绉�" /> + </el-col> + <el-col :span="6"> + <el-button type="primary" plain @click="queryListNew">鏌ヨ</el-button> + </el-col> + </el-row> <el-table stripe :data="linkTable" @@ -173,10 +187,22 @@ </el-table-column> <el-table-column prop="secondquotamoney" label="宸叉嫧缁忚垂" > <template #default="scope"> - {{ moneyFormat(scope.row.secondquotamoney, 2, ',') }} - </template> + {{ moneyFormat(scope.row.secondquotamoney, 2, ',') }} + </template> + </el-table-column> + <el-table-column prop="residueMoney" label="鍓╀綑閲戦" > + <template #default="scope"> + {{ moneyFormat(scope.row.residueMoney, 2, ',') }} + </template> </el-table-column> </el-table> + <Pagination + v-show="totalNew > 0" + :total="totalNew" + v-model:page="checkInfoNew.pageIndex" + v-model:limit="checkInfoNew.pageSize" + @pagination="queryListNew" + /> <template #footer> <span class="dialog-footer"> <el-button @click="dialogThree = false">杩斿洖</el-button> @@ -265,7 +291,15 @@ export default { budgetTotalMoney: '' }, title: '', - newTitle: '' + newTitle: '', + totalNew: 0, + checkInfoNew: { + departmentName: '', + projectType: '', + projectName: '', + pageIndex: 1, + pageSize: 10, + } }); // 鏌ヨ const queryList = () => { @@ -281,6 +315,10 @@ export default { } }) }; + // 棰勭畻鍖归厤閲戦鏌ヨ + const queryListNew = () => { + + } // 鏂板 const onAdd = () => { state.title = '鏂板'; @@ -433,7 +471,8 @@ export default { onDialed, getSummaries, getSummariesTwo, - onFourSave + onFourSave, + queryListNew }; } }; diff --git a/WebSite/src/views/main/basicSetting/projectLibrary/components/List.vue b/WebSite/src/views/main/basicSetting/projectLibrary/components/List.vue index 919ca9856..72a84df86 100644 --- a/WebSite/src/views/main/basicSetting/projectLibrary/components/List.vue +++ b/WebSite/src/views/main/basicSetting/projectLibrary/components/List.vue @@ -85,7 +85,8 @@ export default { pageIndex: 1, pageSize: 10, year: sessionStorage.getItem('year'), - parentBudgetId: '' + parentBudgetId: '', + time: new Date() }, multipleSelection: [] }); diff --git a/WebSite/src/views/main/basicSetting/projectLibrary/index.vue b/WebSite/src/views/main/basicSetting/projectLibrary/index.vue index 372979cd4..002cdce1a 100644 --- a/WebSite/src/views/main/basicSetting/projectLibrary/index.vue +++ b/WebSite/src/views/main/basicSetting/projectLibrary/index.vue @@ -112,7 +112,7 @@ export default { }; // 椤圭洰搴撴爲 const queryBudgetInfoTree = async () => { - const res = await ProjectLibrary.queryBudgetInfoTree({}); + const res = await ProjectLibrary.queryBudgetInfoTree({time: new Date()}); state.treeData = res.data; // state.treeData[0].disabled = true; if (state.treeData && state.treeData.length > 0) { diff --git a/WebSite/vue.config.js b/WebSite/vue.config.js index 588940a8d..72dd5d403 100644 --- a/WebSite/vue.config.js +++ b/WebSite/vue.config.js @@ -32,8 +32,8 @@ if (process.env.NODE_ENV === 'mock') { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { // target: 'http://192.168.2.10/projectplan', - target: 'http://192.168.1.80/projectplan', //闄や笂澶у鎵€鏈夊叾浠栧鏍¢兘浣跨敤杩欎釜锛屼笂澶х敤涓嬫柟甯hu鐨� - // target: 'http://192.168.1.80/projectplanshu', //涓婂ぇ(濡傛灉鎵撳寘涓婂ぇ鍒版祴璇曠幆澧冪殑璇濓紝璇锋妸.env.sd鏂囦欢閲岀殑VUE_APP_BASE_API = '/projectplan'鏀规垚VUE_APP_BASE_API = '/projectplanshu') + // target: 'http://192.168.1.80/projectplan', //闄や笂澶у鎵€鏈夊叾浠栧鏍¢兘浣跨敤杩欎釜锛屼笂澶х敤涓嬫柟甯hu鐨� + target: 'http://192.168.1.80/projectplanshu', //涓婂ぇ(濡傛灉鎵撳寘涓婂ぇ鍒版祴璇曠幆澧冪殑璇濓紝璇锋妸.env.sd鏂囦欢閲岀殑VUE_APP_BASE_API = '/projectplan'鏀规垚VUE_APP_BASE_API = '/projectplanshu') // target: 'http://172.28.12.50/', changeOrigin: true, pathRewrite: { -- GitLab From f0482f3879221f9575d21904a7b8c847790fc473 Mon Sep 17 00:00:00 2001 From: lshwy817 <lshwy817@163.com> Date: Fri, 31 Mar 2023 17:35:33 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebSite/src/api/projectLibrary.js | 4 +++ .../main/basicSetting/fundsArrive/index.vue | 28 +++++++++++++++---- WebSite/vue.config.js | 2 +- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/WebSite/src/api/projectLibrary.js b/WebSite/src/api/projectLibrary.js index e011bb381..d674c624f 100644 --- a/WebSite/src/api/projectLibrary.js +++ b/WebSite/src/api/projectLibrary.js @@ -1003,5 +1003,9 @@ class ProjectLibrary extends Base { static saveFundArrivedHistory(data) { return request.post(`/bmbudget/fundArrived/saveFundArrivedHistory`, data); } + // 鏌ヨ + static pageFundMatch(data) { + return request.post(`/bmbudget/fundArrived/pageFundMatch`, data); + } } export default ProjectLibrary; diff --git a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue index 2c2c45a4e..a14782742 100644 --- a/WebSite/src/views/main/basicSetting/fundsArrive/index.vue +++ b/WebSite/src/views/main/basicSetting/fundsArrive/index.vue @@ -299,6 +299,8 @@ export default { projectName: '', pageIndex: 1, pageSize: 10, + year: Moment(new Date()).format('YYYY'), + fundCode: '' } }); // 鏌ヨ @@ -316,8 +318,26 @@ export default { }) }; // 棰勭畻鍖归厤閲戦鏌ヨ - const queryListNew = () => { - + const queryListNew = (row) => { + let data = {}; + if (row.departmentName) { + data = { + departmentName: row.departmentName, + projectType: row.projectType, + projectName: row.projectName, + pageIndex: 1, + pageSize: 10, + year: row.year, + fundCode: row.fundCode + } + } else { + data = state.checkInfoNew + } + ProjectLibrary.pageFundMatch(data).then((res) => { + console.log(res); + state.linkTable = res.data; + state.totalNew = res.total; + }) } // 鏂板 const onAdd = () => { @@ -402,9 +422,7 @@ export default { } state.fundCode = row.fundCode; state.fundName = row.fundName; - ProjectLibrary.selectById({id: row.fundId}).then((res) => { - state.linkTable = res.data[0].yuBoOutList; - }) + queryListNew(row) state.dialogThree = true; } // 鍚堣 diff --git a/WebSite/vue.config.js b/WebSite/vue.config.js index 72dd5d403..8ef724f7a 100644 --- a/WebSite/vue.config.js +++ b/WebSite/vue.config.js @@ -32,7 +32,7 @@ if (process.env.NODE_ENV === 'mock') { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { // target: 'http://192.168.2.10/projectplan', - // target: 'http://192.168.1.80/projectplan', //闄や笂澶у鎵€鏈夊叾浠栧鏍¢兘浣跨敤杩欎釜锛屼笂澶х敤涓嬫柟甯hu鐨� + // target: 'http://192.168.1.80/projectplan', //闄や笂澶у鎵€鏈夊叾浠栧鏍¢兘浣跨敤杩欎釜锛屼笂澶х敤涓嬫柟甯hu鐨�(涓婂ぇ鎵撳寘姝e紡鐜璇风敤杩欎釜锛屽苟涓旀鏌�.env.sd鏂囦欢閲岀殑VUE_APP_BASE_API = '/projectplan'鏄惁甯︿笉甯hu) target: 'http://192.168.1.80/projectplanshu', //涓婂ぇ(濡傛灉鎵撳寘涓婂ぇ鍒版祴璇曠幆澧冪殑璇濓紝璇锋妸.env.sd鏂囦欢閲岀殑VUE_APP_BASE_API = '/projectplan'鏀规垚VUE_APP_BASE_API = '/projectplanshu') // target: 'http://172.28.12.50/', changeOrigin: true, -- GitLab