From 652ec7d6dfdee121704961847fae3a3a5be3f5b6 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期一, 01 四月 2024 15:26:15 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/basicInfo/ParamData.vue | 81 ++++++++++++++++++++++++++++++---------- 1 files changed, 60 insertions(+), 21 deletions(-) diff --git a/web/src/views/modules/basicInfo/ParamData.vue b/web/src/views/modules/basicInfo/ParamData.vue index 84ef0a7..6155b6e 100644 --- a/web/src/views/modules/basicInfo/ParamData.vue +++ b/web/src/views/modules/basicInfo/ParamData.vue @@ -1,21 +1,30 @@ <template> <div> - <el-row :gutter="20"> + <el-row :gutter="5"> <el-col :span="5"> - <div class="fa-card-a"> + <div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)"> <product-model-tree @on-selected="onProductSelected"/> </div> </el-col> <el-col :span="19"> - <div class="mod-basicInfo-paramData}"> - <zt-table-wraper ref="tableObj" :query-url=queryUrl - :delete-url=deleteUrl + <div class="mod-basicInfo-paramData fa-card-a" style="margin-left: 5px;"> + <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/basicInfo/ParamData/page" + delete-url="/basicInfo/ParamData/" @dataLoaded="dataLoaded" v-slot="{ table }" :paging='false'> <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> <el-form-item> - <el-input v-model="dataForm.name" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input> + <zt-dict v-model="dataForm.basicJoinCompute" dict="is_or_not" placeholder="鏄惁鍙備笌璁$畻" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.repairable" dict="is_or_not" placeholder="鏄惁鍙淮淇�" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.reliabDistribType" dict="ReliabDistribType" placeholder="璇烽�夋嫨鍙潬鎬у垎甯冪被鍨�" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.repairDistribType" dict="RepairDistribType" placeholder="璇烽�夋嫨缁翠慨鍒嗗竷绫诲瀷" clearable></zt-dict> </el-form-item> <el-form-item> <zt-button type="warning" @click="handleSaveRows">淇濆瓨</zt-button> @@ -24,10 +33,9 @@ <zt-button type="delete" @click="table.deleteHandle()"/> </el-form-item> </el-form> - <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}" class="paramsDataTable" - - border @selection-change="table.selectionChangeHandle"> + @selection-change="table.selectionChangeHandle"> <el-table-column type="selection" :key="1" width="40" align="center"/> <el-table-column prop="name" :key="2" label="鍚嶇О" fixed="left"/> <el-table-column v-if="dataForm.nodeType==='4'" :key="3" prop="baseOperatRatio" label="鍩烘湰鍙潬鎬ц繍琛屾瘮"> @@ -160,7 +168,7 @@ <el-table-column prop="repairable" label="鍙淮淇�" :key="23"> <template v-slot="{ row }"> <el-select v-if="row.isEdit" v-model="row.repairable" - placeholder="褰撳墠鐘舵��"> + placeholder="璇烽�夋嫨"> <el-option v-for="item in isOrNot" :key="item.value" :label="item.label" @@ -176,7 +184,7 @@ <el-table-column prop="repairDistribType" label="缁翠慨鍒嗗竷绫诲瀷" :key="24" width="140"> <template v-slot="{ row }"> <el-select v-if="row.isEdit" v-model="row.repairDistribType" - placeholder="褰撳墠鐘舵��"> + placeholder="璇烽�夋嫨"> <el-option v-for="item in repairDistribType" :key="item.value" :label="item.label" @@ -208,14 +216,14 @@ width="160"> <template v-slot="{ row }"> <el-select v-if="row.isEdit" v-model="row.reliabDistribType" - placeholder="褰撳墠鐘舵��"> + placeholder="璇烽�夋嫨"> <el-option v-for="item in reliabDistribType" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> - <zt-dict-tag v-else dict="ReliabDistribType" :value="row.repairDistribType" :typeS="typeS" + <zt-dict-tag v-else dict="ReliabDistribType" :value="row.reliabDistribType" :typeS="typeS" :typeI="typeI" :typeD="typeD" :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/> </template> @@ -252,8 +260,6 @@ export default { data() { return { - queryUrl: '/basicInfo/ParamData/page', - deleteUrl: '/basicInfo/ParamData', pageCode: '', key: '', typeS: '', @@ -271,7 +277,11 @@ srcId: '', name: '', dataThreeList: null, - nodeType: '5' + nodeType: '5', + basicJoinCompute:'', + repairable:'', + repairDistribType:'', + reliabDistribType:'' }, isOrNot: [{ value: 1, @@ -289,19 +299,38 @@ reliabDistribType: [ { value: 1, - label: '浜岄」鍒嗗竷' + label: '鎸囨暟鍒嗗竷' }, { value: 2, - label: '濞佸竷灏斿垎甯�' + label: '浜岄」鍒嗗竷' }, { value: 3, - label: '鎸囨暟鍒嗗竷' + label: '濞佸竷灏斿垎甯�' }, ], // editingCell:null, dataList: [], + originalTableData:[], originalData: null, // 璁板綍淇敼鍓嶇殑鏁版嵁 + } + }, + // 鍦ㄧ粍浠朵腑瀹氫箟 beforeRouteLeave 瀵艰埅瀹堝崼 + beforeRouteLeave(to, from, next) { + console.log(this.$store.state.contentTabs,'this.$store.state.contentTabsActiveName') + if (this.hasUnsavedChanges()) { // 妫�鏌ユ槸鍚︽湁鏈繚瀛樼殑鍙樻洿 + this.$confirm('鎮ㄦ湁鏈繚瀛樼殑鏇存敼锛岃鍏堜繚瀛樸�傛槸鍚︾户缁寮�锛�', '鎻愮ず', { + confirmButtonText: '淇濆瓨', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.handleSaveRows(); // 淇濆瓨鏁版嵁 + next(); + }).catch(() => { + next(false); // 鍙栨秷璺敱绂诲紑 + }); + } else { + next(); } }, components: { @@ -333,6 +362,8 @@ this.originalData = null this.dataForm.dataThreeList = null this.$refs.tableObj.query() + this.originalTableData = JSON.parse(JSON.stringify(this.dataList)); // 鏇存柊鍒濆鏁版嵁涓哄綋鍓嶆暟鎹� + console.log(this.originalTableData,'this.originalTableData 褰撳墠琛ㄦ牸json鏁版嵁') } }, edit(row) { @@ -365,7 +396,9 @@ // }, onProductSelected(data) { this.dataForm.srcId = data.id - this.dataForm.nodeType = data.productType + if (data.productType === '3') { + this.dataForm.nodeType = '2' + } console.log(data, 'onProductSelected(data)') this.$refs.tableObj.query() }, @@ -377,7 +410,13 @@ this.$set(dataList, 'isRemove', false) console.log(dataList, 'dataList') } - } + this.originalTableData = JSON.parse(JSON.stringify(this.dataList)) + console.log(this.originalTableData,'this.originalTableData 鍒濆琛ㄦ牸json鏁版嵁') + }, + hasUnsavedChanges() { + // 妫�鏌ュ綋鍓嶈〃鏍兼暟鎹笌鍒濆鏁版嵁鏄惁鐩稿悓 + return JSON.stringify(this.dataList) !== JSON.stringify(this.originalTableData); + }, } } </script> -- Gitblit v1.9.1