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/add.vue | 2
src/main.js | 4
src/components/do/b1-ins-order/fiberoptic-config.vue | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++----
3 files changed, 155 insertions(+), 16 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 440208c..e6dfa2a 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -670,7 +670,7 @@
orderType: [],
filters: [],
formType: [],
- configShow: false
+ configShow: false,
}
},
watch: {
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>
diff --git a/src/main.js b/src/main.js
index 580b072..3e9e227 100644
--- a/src/main.js
+++ b/src/main.js
@@ -13,11 +13,11 @@
//鏈湴
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
-// const javaApi = 'http://192.168.11.200:8001';//鏉�
+const javaApi = 'http://192.168.11.200:8001';//鏉�
// const javaApi = 'http://10.20.102.168:8001';//寮�
// const javaApi = 'http://172.20.10.3:8001';//濮�
// const javaApi = 'http://192.168.11.2:8001';//鏌�
- const javaApi = 'http://127.0.0.1:8001';//鏅�
+// const javaApi = 'http://127.0.0.1:8001';//鏅�
// const javaApi = 'http://114.132.189.42:1234';//娴嬭瘯鏈�
//鑳滀簯鏈嶅姟鍣�
// Vue.prototype.LOCATIONVUE = "http://syxt.shxiao2.cn";
--
Gitblit v1.9.3