From bd5c073e28f11235fe0ed7754ead4c0b52bc2ef0 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 28 五月 2024 18:01:06 +0800 Subject: [PATCH] 完善光纤配置功能 --- src/components/do/b1-ins-order/fiberoptic-config.vue | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 152 insertions(+), 13 deletions(-) diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue index 26a9f8a..e0f9d2f 100644 --- a/src/components/do/b1-ins-order/fiberoptic-config.vue +++ b/src/components/do/b1-ins-order/fiberoptic-config.vue @@ -63,14 +63,21 @@ <el-col :span="15"> <div class="grid-content"> <h5>妫�娴嬮」淇℃伅</h5> - <el-table ref="table1" :data="detectionItems" tooltip-effect="dark" style="width: 100%" height="282px" - size="small" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55"> + <el-table ref="table1" :data="detectionItems" tooltip-effect="dark" style="width: 100%" + :row-class-name="tableRowClassName" + :header-cell-class-name="setClassName" + height="283px" + size="small" @selection-change="handleSelectionChange2" + @select-all="handleAll" + @select="upProductSelect" + > + <el-table-column type="selection" width="55" + :selectable="()=>(currentDetectionItems||this.multiFiberList.length > 0)"> </el-table-column> - <el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory"></el-table-column> + <el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory" ></el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" show-overflow-tooltip> </el-table-column> - <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" show-overflow-tooltip> + <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" show-overflow-tooltip width="100px"> </el-table-column> <el-table-column prop="methodS" label="璇曢獙鏂规硶" show-overflow-tooltip> </el-table-column> @@ -80,7 +87,7 @@ </el-table-column> <el-table-column prop="manDay" label="棰勮鏃堕棿" show-overflow-tooltip> </el-table-column> - <el-table-column prop="ask" label="妫�娴嬭姹�" show-overflow-tooltip> + <el-table-column prop="ask" label="妫�娴嬭姹�" show-overflow-tooltip width="200px"> <template slot-scope="scope"> <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small"></el-input> </template> @@ -111,7 +118,7 @@ </div> </div> <el-table ref="table2" :data="tableData" tooltip-effect="dark" style="width: 100%" height="270px" - size="small" @selection-change="handleSelectionChange"> + size="small" @selection-change="handleSelectionChange3"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="鍏夌氦甯︾紪鍙�" show-overflow-tooltip> @@ -141,6 +148,7 @@ <div class="search-item" style="width: 50%;"> <label style="width: 80px;">鍙傝�冩爣鍑�</label> <el-select v-model="mireStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" :disabled="mireModel===null" + :loading="mireStandardLoading" @focus="selectsStandardMethodByFLSSM()" @change="(value)=>methodChange(value)"> <el-option v-for="item in mireStandards" :key="item.id" :label="item.code" :value="item.id"> </el-option> @@ -148,7 +156,7 @@ </div> </div> <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" - size="small" @selection-change="handleSelectionChange" + size="small" @selection-change="handleSelectionChange4" @row-click="rowClickFiber"> <el-table-column type="selection" width="55"> </el-table-column> @@ -202,7 +210,35 @@ selectBushing: [], productList: [], fiberList: [], - detectionItems:[] + detectionItems:[], + currentDetectionItems:null, + mireStandardLoading:false, + multiFiberList:[] + } + }, + computed: { + isAllDisabled() { + return this.multiFiberList.length > 0||this.currentDetectionItems + }, + }, + watch: { + mireModel(val1,val0) { + if(val1!=val0){ + this.mireStandards = [] + this.fiberList = [] + this.multiFiberList = [] + this.detectionItems = [] + this.currentDetectionItems = null; + this.mireStandard = null; + } + }, + mireStandard(val1,val0) { + if(val1!=val0){ + this.fiberList = [] + this.multiFiberList = [] + this.detectionItems = [] + this.currentDetectionItems = null; + } } }, mounted() { @@ -225,6 +261,15 @@ handleSelectionChange(val) {}, handleSelectionChange1(val){ this.selectBushing = val + this.mireModel = null + }, + handleSelectionChange2(val){}, + handleSelectionChange3(val){ + this.detectionItems = this.HaveJson(this.productList) + }, + handleSelectionChange4(val){ + this.multiFiberList = val + this.detectionItems = this.HaveJson(this.productList) }, outConfig(){ this.$parent.configShow = false @@ -295,9 +340,11 @@ }, selectsStandardMethodByFLSSM() { this.mireStandards = [] + this.mireStandardLoading = true this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { tree: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - ' + this.mireModel }).then(res => { + this.mireStandardLoading = false this.mireStandards = res.data.standardMethodList }) }, @@ -312,10 +359,11 @@ 'Content-Type': 'application/json' } }).then(res => { - res.data.forEach(a => { + let arr = res.data.map(a => { a.state = 0 + return a }) - this.productList = res.data + this.productList = arr setTimeout(() => { this.productList.forEach(a => { if (a.state == 1) this.toggleSelection(a) @@ -354,10 +402,96 @@ } } }) + console.log(this.productList) }, rowClickFiber(row, column, event){ - this.detectionItems = row.productList - } + this.currentDetectionItems = row + this.detectionItems = this.HaveJson(this.productList) + }, + tableRowClassName({ + row, + rowIndex + }) { + if (row.state === 0) { + return 'warning-row'; + } + return ''; + }, + handleAll(e) { + if (e.length > 0) { + this.detectionItems.map(m => { + m.state = 1 + return m + }) + } else { + this.detectionItems.map(m => { + m.state = 0 + return m + }) + } + if (e.length > 0) { + if(this.multiFiberList.length > 0){ + this.multiFiberList.map(item => { + item.productList.map(m=>{ + m.state = 1; + return m; + }) + return item + }) + }else{ + this.currentDetectionItems.productList.map(m=>{ + m.state = 1; + return m; + }) + } + } else { + if(this.multiFiberList.length > 0){ + this.multiFiberList.map(item => { + item.productList.map(m=>{ + m.state = 0; + return m; + }) + return item + }) + }else{ + this.currentDetectionItems.productList.map(m=>{ + m.state = 0; + return m; + }); + } + } + this.$nextTick(() => { + this.$refs.table1.doLayout() + }) + console.log(222,this.currentDetectionItems,this.multiFiberList) + }, + upProductSelect(selection, row) { + row.state = row.state == 1 ? 0 : 1 + if(this.multiFiberList.length > 0){ + this.multiFiberList.map(item => { + item.productList.map(m=>{ + if(m.id == row.id){ + m.state = row.state; + } + return m + }) + return item + }) + }else{ + this.currentDetectionItems.productList.map(m=>{ + if(m.id == row.id){ + m.state = row.state; + } + return m; + }); + } + console.log(1111,this.currentDetectionItems,this.multiFiberList) + }, + setClassName({ column }) { + if (column.type == 'selection' && !this.isAllDisabled) { + return 'all-disabled' + } + }, } } </script> @@ -420,4 +554,9 @@ padding-top: 2px !important; padding-bottom: 2px !important; } + >>>.all-disabled .el-checkbox__input .el-checkbox__inner { + background-color: #edf2fc; + border-color: #dcdfe6; + cursor: not-allowed; + } </style> -- Gitblit v1.9.3