From f03d9a291e496b5099e386bfa991ab322b611aa3 Mon Sep 17 00:00:00 2001 From: wangchao01 <wangchao@seaskysh.com> Date: Wed, 21 Jul 2021 16:38:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=AE=A2=E6=88=B7=E9=9C=80?= =?UTF-8?q?=E6=B1=82=EF=BC=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebSite/src/components/PageQuery/index.vue | 78 ++++++++++++++--- .../components/Sidebar/components/Logo.vue | 2 +- WebSite/src/settings/index.js | 2 +- .../src/views/login/components/SelectUser.vue | 2 +- .../main/basicSetting/equipmentType/index.vue | 4 + .../src/views/yo-common/IncomeApply/index.vue | 4 +- .../yo-common/ProjectFundApply/index.vue | 83 ++++++++++++++----- .../ProjectFundApply/components/List.vue | 27 +++--- 8 files changed, 155 insertions(+), 47 deletions(-) diff --git a/WebSite/src/components/PageQuery/index.vue b/WebSite/src/components/PageQuery/index.vue index 9ee7288a..5326a1f0 100644 --- a/WebSite/src/components/PageQuery/index.vue +++ b/WebSite/src/components/PageQuery/index.vue @@ -3,18 +3,35 @@ <el-table ref="pageQueryTable" :data="tableData" + :summary-method="getSummaries" + show-summary stripe border @select="selectHandler" @select-all="selectAllHandler" > <el-table-column type="selection" v-if="showSelection"></el-table-column> + <el-table-column prop="year" label="骞翠唤"></el-table-column> + <el-table-column prop="projectType" label="椤圭洰绫诲瀷"></el-table-column> + <el-table-column prop="projectName" label="椤圭洰鍚嶇О"></el-table-column> + <el-table-column prop="departmentName" label="閮ㄩ棬鍚嶇О"></el-table-column> + <el-table-column prop="departmentCode" label="閮ㄩ棬缂栧彿"></el-table-column> <el-table-column - v-for="(item, index) in tableConfig" - :key="index" - :prop="item.prop" - :label="item.label" + prop="projectLeaderName" + label="璐熻矗浜哄悕绉�" ></el-table-column> + <el-table-column + prop="projectLeaderCode" + label="璐熻矗浜虹紪鍙�" + ></el-table-column> + <el-table-column prop="totalMoney" label="鐢虫姤閲戦"> + <template #default="scope"> + <span style="margin-left: 10px">{{ + moneyFormat(scope.row.totalMoney, 2, ',') + }}</span> + </template> + </el-table-column> + <el-table-column prop="state" label="瀹℃牳鐘舵€�"></el-table-column> <el-table-column v-if="showOperate" label="鎿嶄綔" width="100"> <template #default="scope"> <slot name="tableColumn" :scope="scope" /> @@ -33,9 +50,9 @@ </div> </div> </template> - <script> import { computed, nextTick, reactive, toRefs, watch } from 'vue'; +import { moneyFormat } from '@/utils'; export default { name: 'DaoList', props: { @@ -45,10 +62,10 @@ export default { type: Array }, //琛ㄥごlabel鍜屾瘡涓€鍒楃殑瀛楁鍚� - tableConfig: { - required: true, - type: Array - }, + // tableConfig: { + // required: true, + // type: Array + // }, //鍒嗛〉淇℃伅 pageNO: { required: true, @@ -179,15 +196,56 @@ export default { }; const pageInfoChange = val => { // Promise.resolve().then(() => { - context.emit('pageinfo-change', val); + context.emit('pageinfo-change', val); // }); }; + const getSummaries = param => { + const { columns, data } = param; + console.log('data111', data); + const sums = []; + columns.forEach((column, index) => { + if (index === 7) { + sums[index] = '鍚堣'; + return; + } + if (index === 8) { + console.log('data222', data); + console.log('column', column.property); + const values = data.map(item => Number(item[column.property])); + console.log('abc', values); + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr, index) => { + const value = Number(curr); + if (!isNaN(value)) { + // moneyFormat + let sum = 0; + sum = prev + curr; + console.log('111', moneyFormat(sum, 2, ',')); + if (index === values.length - 1) { + sum = moneyFormat(sum, 2, ','); + } + return sum; + } else { + return prev; + } + }, 0); + // sums[index] += ' 鍏�'; + } else { + sums[index] = '0.00'; + } + } + }); + + return sums; + }; return { ...toRefs(data), page, limit, selectHandler, selectAllHandler, + getSummaries, + moneyFormat, pageInfoChange }; } diff --git a/WebSite/src/layout/components/Sidebar/components/Logo.vue b/WebSite/src/layout/components/Sidebar/components/Logo.vue index cda43972..9368772e 100644 --- a/WebSite/src/layout/components/Sidebar/components/Logo.vue +++ b/WebSite/src/layout/components/Sidebar/components/Logo.vue @@ -36,7 +36,7 @@ export default { }, data() { return { - title: '涓婃捣澶у棰勭畻鐢虫姤', + title: '棰勭畻鐢虫姤', logo: '' // 'https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png' }; diff --git a/WebSite/src/settings/index.js b/WebSite/src/settings/index.js index 897966d4..da8563e9 100644 --- a/WebSite/src/settings/index.js +++ b/WebSite/src/settings/index.js @@ -15,7 +15,7 @@ module.exports = { /** * 搴旂敤璇嗗埆id */ - recognizeId: '涓婃捣澶у棰勭畻鐢虫姤', + recognizeId: '棰勭畻鐢虫姤', /** * 鐗堟湰 */ diff --git a/WebSite/src/views/login/components/SelectUser.vue b/WebSite/src/views/login/components/SelectUser.vue index 035e156d..e0411245 100644 --- a/WebSite/src/views/login/components/SelectUser.vue +++ b/WebSite/src/views/login/components/SelectUser.vue @@ -15,7 +15,7 @@ ? 'Please select a user:' : 'No user can be selected.' }}</span> --> - <span class="big">涓婃捣澶у</span> + <span class="big">涓婃捣鍋ュ悍鍖诲闄�</span> </div> <div v-for="item in transitionList" :key="item.id"> <transition name="fade-transform-bottom"> diff --git a/WebSite/src/views/main/basicSetting/equipmentType/index.vue b/WebSite/src/views/main/basicSetting/equipmentType/index.vue index 570ba8fe..2d02d1f7 100644 --- a/WebSite/src/views/main/basicSetting/equipmentType/index.vue +++ b/WebSite/src/views/main/basicSetting/equipmentType/index.vue @@ -78,6 +78,7 @@ import { reactive, toRefs, onMounted, ref } from 'vue'; import { ElMessage, ElMessageBox } from 'element-plus'; import ProjectLibrary from '@/api/projectLibrary'; +import { moneyFormat } from '@/utils'; export default { setup() { onMounted(() => { @@ -169,6 +170,9 @@ export default { ProjectLibrary.queryDevicePage(state.checkInfo).then(res => { state.departInfo.total = res.total; state.departInfo.tableData = res.data; + state.departInfo.tableData.forEach( + v => (v.price = moneyFormat(v.price, 2, ',')) + ); }); }; // 鎻愪氦 diff --git a/WebSite/src/views/yo-common/IncomeApply/index.vue b/WebSite/src/views/yo-common/IncomeApply/index.vue index 94115f6f..10fc343c 100644 --- a/WebSite/src/views/yo-common/IncomeApply/index.vue +++ b/WebSite/src/views/yo-common/IncomeApply/index.vue @@ -398,7 +398,7 @@ <script> import AmountInputBox from '@/components/AmountInputBox'; import { computed, onMounted, reactive, toRefs, watch } from 'vue'; -import { isNotEmpty } from '@/utils'; +import { isNotEmpty, moneyFormat } from '@/utils'; import ProjectLibrary from '@/api/projectLibrary'; import Api from '@/api'; import Message from 'element-plus/lib/el-message'; @@ -571,7 +571,7 @@ export default { Money.forEach((item, index) => { params = floatAdd(params, Money[index]); }); - return params; + return moneyFormat(params, 2, ','); }); const getTypeList = () => { Api.getInCometype().then(res => { diff --git a/WebSite/src/views/yo-common/ProjectFundApply/index.vue b/WebSite/src/views/yo-common/ProjectFundApply/index.vue index 3dd90293..576b14f8 100644 --- a/WebSite/src/views/yo-common/ProjectFundApply/index.vue +++ b/WebSite/src/views/yo-common/ProjectFundApply/index.vue @@ -134,7 +134,7 @@ :rules="rules" ref="formRef" > - <el-form-item + <!-- <el-form-item label="1銆侀」鐩珛椤逛緷鎹強鍐呭锛堣缁撳悎瀛︽牎鈥滃崄鍥涗簲鈥濊鍒掞紝鍐欐槑椤圭洰渚濇嵁鏀跨瓥鏂囦欢绛夛級:" prop="basis" > @@ -142,6 +142,12 @@ v-model="applyInfo.summaryJson.basis" type="textarea" ></el-input> + </el-form-item> --> + <el-form-item label="1銆侀」鐩唴瀹规杩板強鍏蜂綋瀹炴柦鍐呭:" prop="basis"> + <el-input + v-model="applyInfo.summaryJson.basis" + type="textarea" + ></el-input> </el-form-item> <!-- <el-form-item label="2銆侀」鐩熀鏈儏鍐�(瑕佸啓鏄庡叿浣撳疄鏂界殑宸ヤ綔鍐呭锛屽苟涓庡叾棰勭畻鐩稿搴�):" @@ -151,13 +157,29 @@ type="textarea" ></el-input> </el-form-item> --> - <el-form-item label="2銆侀」鐩熀纭€鏉′欢鍙婂墠鏈熷伐浣�:"> + <!-- <el-form-item label="2銆侀」鐩熀纭€鏉′欢鍙婂墠鏈熷伐浣�:"> + <el-input + v-model="applyInfo.summaryJson.terminfo" + type="textarea" + ></el-input> + </el-form-item> --> + <el-form-item + label="2銆侀」鐩珛椤逛緷鎹紙瑙勫垝璁″垝銆侀儴闂ㄨ亴璐c€佹斂绛栨硶瑙勭瓑锛�:" + > <el-input v-model="applyInfo.summaryJson.terminfo" type="textarea" ></el-input> </el-form-item> - <el-form-item label="3銆侀」鐩墽琛岃鍒�(鍚伐浣滆繘搴﹀強璧勯噾鎵ц杩涘害):"> + <!-- <el-form-item label="3銆侀」鐩墽琛岃鍒�(鍚伐浣滆繘搴﹀強璧勯噾鎵ц杩涘害):"> + <el-input + v-model="applyInfo.summaryJson.plan" + type="textarea" + ></el-input> + </el-form-item> --> + <el-form-item + label="3銆侀」鐩珛椤圭殑蹇呰鎬у強鍙鎬э紙椤圭洰鍩虹鏉′欢鍙婂墠鏈熷伐浣溿€佺鐞嗗埗搴︿笌淇濋殰鎺柦绛夛級:" + > <el-input v-model="applyInfo.summaryJson.plan" type="textarea" @@ -183,7 +205,16 @@ type="textarea" ></el-input> </el-form-item> --> - <el-form-item label="4銆侀」鐩叿浣撳疄鏂藉唴瀹瑰強棰勭畻:" prop="budget"> + <!-- <el-form-item label="4銆侀」鐩叿浣撳疄鏂藉唴瀹瑰強棰勭畻:" prop="budget"> + <el-input + v-model="applyInfo.summaryJson.budget" + type="textarea" + ></el-input> + </el-form-item> --> + <el-form-item + label="4銆侀」鐩墽琛屽強璧勯噾浣跨敤璁″垝锛堢粏鍖栧埌鏈堜唤锛�:" + prop="budget" + > <el-input v-model="applyInfo.summaryJson.budget" type="textarea" @@ -193,7 +224,7 @@ </el-card> <el-card class="mt-20" id="proMerits"> <template #header> - 椤圭洰缁╂晥 + 椤圭洰缁╂晥锛堥」鐩绠楄皟鏁存椂闇€鍚屾璋冩暣缁╂晥鐩爣鍙婃寚鏍囷級 </template> <el-form-item label="椤圭洰绫诲埆锛�" @@ -235,7 +266,12 @@ type="textarea" ></el-input> </el-form-item> - + <el-form-item label="椤圭洰鎬荤洰鏍囷紙璺ㄥ勾椤圭洰锛夛細"> + <el-input + v-model="applyInfo.projectTargetCmd.summaryJson.projectGoal" + type="textarea" + ></el-input> + </el-form-item> <el-table border stripe @@ -454,6 +490,11 @@ <template #header> 涓婁紶闄勪欢 </template> + <div style="line-height:1.5;margin-bottom:20px"> + 绾冲叆銆婁笂娴峰仴搴峰尰瀛﹂櫌椤圭洰搴撶鐞嗗姙娉曪紙璇曡锛夈€嬶紙涓婂仴鍖昏鍒掋€�2021銆�2鍙凤級绠$悊鑼冨洿鐨勯」鐩』涓婁紶椤圭洰鐢虫姤涔﹀強璇勫鎶ュ憡锛� + 浜ら€氬伐鍏枫€佸ぇ鍨嬪叕鐢ㄨ鏂借喘缃洿鏂般€佸崼鏍¤澶囪喘缃瓑涓€娆℃€ч」鐩拰瀛︾敓甯洶鍔╁銆佸嫟宸ヤ凯瀛︾瓑闈炴爣鍑嗗寲缁忓父鎬ч」鐩』鎻愪氦璇勫鎶ュ憡锛� + 鍏朵腑缁忓父鎬ч」鐩勾鍙樺姩骞呭害鍦�10%鍐呯殑鍙瘡涓夊勾璇勪竴娆� + </div> <el-button type="primary" plain @click="uploadDialog = true" >涓婁紶闄勪欢</el-button > @@ -595,20 +636,20 @@ export default { activeStep: 1, formRef: null, rules: { - basis: [ - { - required: true, - message: '璇疯緭鍏ラ」鐩珛椤逛緷鎹強鍐呭', - trigger: 'blur' - } - ], - budget: [ - { - required: true, - message: '璇疯緭鍏ラ」鐩叿浣撳疄鏂藉唴瀹瑰強棰勭畻', - trigger: 'blur' - } - ] + // basis: [ + // { + // required: true, + // message: '璇疯緭鍏ラ」鐩珛椤逛緷鎹強鍐呭', + // trigger: 'blur' + // } + // ], + // budget: [ + // { + // required: true, + // message: '璇疯緭鍏ラ」鐩叿浣撳疄鏂藉唴瀹瑰強棰勭畻', + // trigger: 'blur' + // } + // ] } }); const handleCancel = () => { @@ -620,7 +661,7 @@ export default { const sums = []; columns.forEach((column, index) => { - if (index === 0) { + if (index === 6) { sums[index] = '鍚堣'; return; } diff --git a/WebSite/src/views/yo-dept-bz/first/ProjectFundApply/components/List.vue b/WebSite/src/views/yo-dept-bz/first/ProjectFundApply/components/List.vue index 62913f3c..26e4d43c 100644 --- a/WebSite/src/views/yo-dept-bz/first/ProjectFundApply/components/List.vue +++ b/WebSite/src/views/yo-dept-bz/first/ProjectFundApply/components/List.vue @@ -63,6 +63,7 @@ import PageQuery from '@/components/PageQuery'; import { onMounted, reactive, toRefs } from 'vue'; // import {useRouter} from 'vue-router' +// import { moneyFormat } from '@/utils'; import { ElMessage } from 'element-plus'; import Api from '@/api'; export default { @@ -82,17 +83,17 @@ export default { total: 0, tableData: [], selectedList: [], - tableConfig: [ - { prop: 'year', label: '骞翠唤' }, - { prop: 'projectType', label: '椤圭洰绫诲瀷' }, - { prop: 'projectName', label: '椤圭洰鍚嶇О' }, - { prop: 'departmentName', label: '閮ㄩ棬鍚嶇О' }, - { prop: 'departmentCode', label: '閮ㄩ棬缂栧彿' }, - { prop: 'projectLeaderName', label: '璐熻矗浜哄悕绉�' }, - { prop: 'projectLeaderCode', label: '璐熻矗浜虹紪鍙�' }, - { prop: 'totalMoney', label: '鐢虫姤閲戦' }, - { prop: 'state', label: '瀹℃牳鐘舵€�' } - ], + // tableConfig: [ + // { prop: 'year', label: '骞翠唤' }, + // { prop: 'projectType', label: '椤圭洰绫诲瀷' }, + // { prop: 'projectName', label: '椤圭洰鍚嶇О' }, + // { prop: 'departmentName', label: '閮ㄩ棬鍚嶇О' }, + // { prop: 'departmentCode', label: '閮ㄩ棬缂栧彿' }, + // { prop: 'projectLeaderName', label: '璐熻矗浜哄悕绉�' }, + // { prop: 'projectLeaderCode', label: '璐熻矗浜虹紪鍙�' }, + // { prop: 'totalMoney', label: '鐢虫姤閲戦' }, + // { prop: 'state', label: '瀹℃牳鐘舵€�' } + // ], primaryKey: 'id' }); const getPageList = () => { @@ -104,6 +105,10 @@ export default { planType: 'YISHANG' }).then(res => { data.tableData = res.data; + // data.tableData.forEach( + // v => (v.totalMoney = moneyFormat(v.totalMoney, 2, ',')) + // ); + console.log('ABC', data.tableData); data.total = res.total; }); }; -- GitLab