From a2ad875701f2eb05250d78af4abf15e08a57798d Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期五, 07 六月 2024 04:22:48 +0800
Subject: [PATCH] 实现电缆配置
---
src/components/do/b1-ins-order/fiberoptic-config.vue | 146 +++++++++++++++++++++++++++++++++---------------
1 files changed, 101 insertions(+), 45 deletions(-)
diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue
index 0b51c0e..c20a16e 100644
--- a/src/components/do/b1-ins-order/fiberoptic-config.vue
+++ b/src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -4,7 +4,7 @@
<el-row class="title">
<el-col :span="6" style="padding-left: 20px;">鍏夌氦閰嶇疆</el-col>
<el-col :span="18" style="text-align: right;">
- <el-button size="medium" type="primary" @click="save" :loading="saveLoad">淇� 瀛�</el-button>
+ <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">淇� 瀛�</el-button>
<el-button size="medium" @click="outConfig">
<span style="color: #3A7BFA;">杩� 鍥�</span>
</el-button>
@@ -22,7 +22,7 @@
<label style="width: 70px;">鏍峰搧鍨嬪彿</label>
<span style="font-size: 14px;">{{models}}</span>
</div>
- <el-radio-group v-model="packageInfo.radio" size="small" @change="upNum()">
+ <el-radio-group v-model="packageInfo.radio" size="small" @change="upNum()" :disabled="active!=1">
<el-radio :label="0">鍏ㄦ</el-radio>
<el-radio :label="1">鎶芥</el-radio>
</el-radio-group>
@@ -31,33 +31,37 @@
style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;">
<div class="search-item" style="margin-right: 10px;">
<label>濂楃鏁扮洰</label>
- <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @change="upNum"></el-input>
+ <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @change="upNum" :disabled="active!=1"></el-input>
</div>
<div class="search-item" style="margin-right: 10px;">
<label style="width: 70px;">鏍囧噯閲�</label>
- <el-input v-model="packageInfo.num2" placeholder="璇疯緭鍏�" size="small" @change="upNum"></el-input>
+ <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @change="upNum" :disabled="active!=1"></el-input>
</div>
<div class="search-item">
<label style="width: 70px;">妫�娴嬮噺</label>
- <el-input v-model="packageInfo.num3" placeholder="璇疯緭鍏�" size="small" @change="upNum"
- :disabled="packageInfo.radio===0"></el-input>
+ <el-input v-model="packageInfo.testNum" placeholder="璇疯緭鍏�" size="small" @change="upNum"
+ :disabled="packageInfo.radio===0||active!=1"></el-input>
</div>
</div>
<el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small"
- @selection-change="handleSelectionChange1">
- <el-table-column type="selection" width="45">
+ @selection-change="handleSelectionChange1"
+ :header-cell-class-name="setClassName0">
+ <el-table-column
+ type="selection"
+ width="45"
+ :selectable="()=>(active==1)">
</el-table-column>
<el-table-column label="绠¤壊鏍�" show-overflow-tooltip>
<template slot-scope="scope">
- <el-select v-model="scope.row.color" size="mini">
+ <el-select v-model="scope.row.color" size="mini" :disabled="active!=1">
<el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
:value="color.value"></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="num2" label="鏍囬噺" show-overflow-tooltip align="center">
+ <el-table-column prop="standNum" label="鏍囬噺" show-overflow-tooltip align="center">
</el-table-column>
- <el-table-column prop="num3" label="娴嬭瘯閲�" show-overflow-tooltip align="center">
+ <el-table-column prop="testNum" label="娴嬭瘯閲�" show-overflow-tooltip align="center">
</el-table-column>
</el-table>
</div>
@@ -74,7 +78,7 @@
@select="upProductSelect"
>
<el-table-column type="selection" width="55"
- :selectable="()=>(currentDetectionItems||this.multiFiberList.length > 0)">
+ :selectable="()=>((currentDetectionItems||this.multiFiberList.length > 0)&&active==1)">
</el-table-column>
<el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory" ></el-table-column>
<el-table-column prop="inspectionItem" label="妫�楠岄」" show-overflow-tooltip>
@@ -87,11 +91,12 @@
</el-table-column>
<el-table-column prop="unit" label="鍗曚綅" width="70" show-overflow-tooltip>
</el-table-column>
- <el-table-column prop="manDay" label="棰勮鏃堕棿" width="90" show-overflow-tooltip>
- </el-table-column>
+ <!-- <el-table-column prop="manDay" label="棰勮鏃堕棿" width="90" show-overflow-tooltip>
+ </el-table-column> -->
<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>
+ <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input>
+ <span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
</el-table>
@@ -103,15 +108,15 @@
<div class="grid-content">
<h5>鍏夌氦甯�
<el-button size="mini" type="primary" class="btns" @click="addFibers"
- :disabled="packageInfo.ismiers===false||miresModel===null||miresStandard===null">鐢熸垚鍏夌氦甯�</el-button>
- <el-button size="mini" class="btns" @click="clearFibers" :disabled="selectBushing.length === 0">娓呴櫎</el-button>
+ :disabled="packageInfo.ismiers===false||miresModel===null||miresStandard===null" v-if="active==1">鐢熸垚鍏夌氦甯�</el-button>
+ <el-button size="mini" class="btns" @click="clearFibers" :disabled="selectBushing.length === 0" v-if="active==1">娓呴櫎</el-button>
</h5>
<div
style="display: flex;align-items: center;justify-content: space-between;margin:4px 0 6px 0;padding: 0 12px;box-sizing: border-box;">
<div class="search-item" style="width: 50%;margin-right: 16px;">
<label style="width: 80px;">绾ゅ甫绫诲瀷</label>
<el-select v-model="miresModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="selectBushing.length===0">
+ :disabled="selectBushing.length===0||active!=1">
<el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -119,7 +124,7 @@
<div class="search-item" style="width: 50%;">
<label style="width: 80px;">鍙傝�冩爣鍑�</label>
<el-select v-model="miresStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="miresModel===null" @focus="selectsStandardMethodByFLSSM2()"
+ :disabled="miresModel===null||active!=1" @focus="selectsStandardMethodByFLSSM2()"
@change="(value)=>methodChange2(value)">
<el-option v-for="item in miresStandards" :key="item.id" :label="item.code" :value="item.id">
</el-option>
@@ -127,8 +132,12 @@
</div>
</div>
<el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
- size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="rowClickFiber">
- <el-table-column type="selection" width="55">
+ size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)"
+ :header-cell-class-name="setClassName0">
+ <el-table-column
+ type="selection"
+ width="55"
+ :selectable="()=>(active==1)">
</el-table-column>
<el-table-column prop="code" label="鍏夌氦甯︾紪鍙�" show-overflow-tooltip align="center">
</el-table-column>
@@ -144,13 +153,13 @@
<el-col :span="12">
<div class="grid-content">
<h5>鍏夌氦<el-button size="mini" type="primary" class="btns" @click="addFiber"
- :disabled="mireModel===null||mireStandard===null">鍏夌氦閰嶈壊</el-button></h5>
+ :disabled="mireModel===null||mireStandard===null" v-if="active==1">鍏夌氦閰嶈壊</el-button></h5>
<div
style="display: flex;align-items: center;justify-content: space-between;margin: 4px 0 6px 0;padding: 0 12px;box-sizing: border-box;">
<div class="search-item" style="width: 50%;margin-right: 16px;">
<label style="width: 80px;">鍏夌氦绫诲瀷</label>
<el-select v-model="mireModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="selectBushing.length===0">
+ :disabled="selectBushing.length===0||active!=1">
<el-option v-for="(item,a) in mireModels" :key="a" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -158,7 +167,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" @focus="selectsStandardMethodByFLSSM()"
+ :disabled="mireModel===null||active!=1" @focus="selectsStandardMethodByFLSSM()"
@change="(value)=>methodChange(value)" :loading="mireStandardLoading">
<el-option v-for="item in mireStandards" :key="item.id" :label="item.code" :value="item.id">
</el-option>
@@ -167,14 +176,18 @@
</div>
<el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
size="small" highlight-current-row @selection-change="handleSelectionChange4"
- @row-click="rowClickFiber">
- <el-table-column type="selection" width="55">
+ @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)"
+ :header-cell-class-name="setClassName0">
+ <el-table-column
+ type="selection"
+ width="55"
+ :selectable="()=>(active==1)">
</el-table-column>
<el-table-column prop="bushColor" label="绠″鑹叉爣" width="90" align="center">
</el-table-column>
<el-table-column prop="color" label="鍏夌氦鑹叉爣" width="120">
<template slot-scope="scope">
- <el-select v-model="scope.row.color" size="mini">
+ <el-select v-model="scope.row.color" size="mini" :disabled="active!=1">
<el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
:value="color.value"></el-option>
</el-select>
@@ -194,14 +207,20 @@
<script>
export default {
+ props: {
+ active: {
+ type: Number,
+ default: () => 0
+ },
+ },
data() {
return {
saveLoad: false,
packageInfo: {
radio: 1,
num1: null,
- num2: null,
- num3: null,
+ standNum: null,
+ testNum: null,
ismiers: false
},
tableData: [],
@@ -231,12 +250,13 @@
detectionItems:[],
currentDetectionItems:null,
mireStandardLoading:false,
- multiFiberList:[]
+ multiFiberList:[],
+ isAskOnlyRead:true
}
},
computed: {
isAllDisabled() {
- return this.multiFiberList.length > 0||this.currentDetectionItems
+ return this.multiFiberList.length > 0||this.currentDetectionItems||this.active!=1
},
},
watch: {
@@ -269,15 +289,17 @@
}
})
this.models = this.models.replace(',', '')
- this.packageInfo.ismiers = this.models.split(',').every(e=>e.indexOf('d')>-1)
+ this.packageInfo.ismiers = this.models.split(',').every(e=>(e.indexOf('d')>-1||e.indexOf('D')>-1))
if(this.sample[0].bushing === undefined || this.sample[0].bushing === null){
this.bushing = []
}else{
this.bushing = this.HaveJson(this.sample[0].bushing)
this.packageInfo.num1 = this.sample[0].bushing.length
- this.packageInfo.num2 = this.sample[0].bushing[0].num2
- this.packageInfo.num3 = this.sample[0].bushing[0].num3
+ this.packageInfo.standNum = this.sample[0].bushing[0].standNum
+ this.packageInfo.testNum = this.sample[0].bushing[0].testNum
this.bushing.forEach(a=>{
+ if(a.fibers===null)a.fibers=[]
+ if(a.fiber===null)a.fiber=[]
if(this.packageInfo.ismiers){
a.fibers.forEach(b=>{
this.fibersList.push(b)
@@ -323,14 +345,14 @@
this.fibersList = []
this.detectionItems = []
if (this.packageInfo.radio === 0) {
- this.packageInfo.num3 = this.packageInfo.num2
+ this.packageInfo.testNum = this.packageInfo.standNum
}
- if (parseInt(this.packageInfo.num2) < parseInt(this.packageInfo.num3)) {
- this.packageInfo.num3 = this.packageInfo.num2
+ if (parseInt(this.packageInfo.standNum) < parseInt(this.packageInfo.testNum)) {
+ this.packageInfo.testNum = this.packageInfo.standNum
}
if (this.packageInfo.num1 !== null && this.packageInfo.num1 !== '' &&
- this.packageInfo.num2 !== null && this.packageInfo.num2 !== '' &&
- this.packageInfo.num3 != null && this.packageInfo.num3 !== '') {
+ this.packageInfo.standNum !== null && this.packageInfo.standNum !== '' &&
+ this.packageInfo.testNum != null && this.packageInfo.testNum !== '') {
let colors2 = []
if (this.packageInfo.num1 / this.colors.length > 1) {
let num = this.packageInfo.num1 / this.colors.length
@@ -345,8 +367,8 @@
for (var i = 0; i < this.packageInfo.num1; i++) {
let bushing = {
color: colors2[i].label,
- num2: this.packageInfo.num2,
- num3: this.packageInfo.num3,
+ standNum: this.packageInfo.standNum,
+ testNum: this.packageInfo.testNum,
fibers: [],
fiber: []
}
@@ -482,7 +504,7 @@
} else {
this.selectBushing.forEach(a => {
a.fiber = []
- for (var i = 0; i < parseInt(a.num3); i++) {
+ for (var i = 0; i < parseInt(a.testNum); i++) {
let fiber = {
bushColor: a.color,
color: colors2[i].label,
@@ -508,13 +530,13 @@
this.selectBushing.forEach(a => {
a.fiber = []
a.fibers = []
- for (var i = 0; i < parseInt(a.num3); i++) {
+ for (var i = 0; i < parseInt(a.testNum); i++) {
let fibers = {
code: null,
color: a.color,
model: this.miresModel,
standard: standard,
- num: a.num3,
+ num: a.testNum,
productList: this.HaveJson(this.productList2),
fiber: []
}
@@ -523,9 +545,33 @@
}
})
},
- rowClickFiber(row, column, event){
+ rowClickFiber(row, column, event,type){
+ if(this.active===1){
+ if(type==0){
+ let standard = null;
+ try{
+ standard = this.miresStandards.find(a => a.id == this.miresStandards)
+ }catch(e){}
+ if(standard&&standard.code=='濮旀墭瑕佹眰'){
+ this.isAskOnlyRead = false;
+ }else{
+ this.isAskOnlyRead = true;
+ }
+ }else{
+ let standard = null;
+ try{
+ standard = this.mireStandards.find(a => a.id == this.mireStandard)
+ }catch(e){}
+ if(standard&&standard.code=='濮旀墭瑕佹眰'){
+ this.isAskOnlyRead = false;
+ }else{
+ this.isAskOnlyRead = true;
+ }
+ }
+ }
this.currentDetectionItems = row
this.detectionItems = row.productList
+ if(this.detectionItems === null) return
setTimeout(() => {
this.detectionItems.forEach(a => {
if (a.state == 1) this.toggleSelection(a)
@@ -617,6 +663,11 @@
return 'all-disabled'
}
},
+ setClassName0({ column }){
+ if (column.type == 'selection' && this.active!=1) {
+ return 'all-disabled'
+ }
+ },
clearFibers(){
this.packageInfo.ismiers = false
this.fibersList = []
@@ -625,6 +676,10 @@
})
},
save(){
+ if(this.bushing.length === 0){
+ this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
+ return
+ }
for(let a in this.bushing){
if(this.bushing[a].fibers.length===0&&this.bushing[a].fiber.length===0){
this.$message.error(this.bushing[a].color+'绠¤壊鏍囧绠$己灏戦厤缃棤娉曚繚瀛�')
@@ -635,6 +690,7 @@
a.bushing = this.bushing
})
this.$message.success('宸蹭繚瀛�')
+ this.$emit('saveFiberopticConfig')
}
}
}
--
Gitblit v1.9.3