From e09a106e6a0cad070f2c846b450b111e21bafb03 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期二, 28 五月 2024 14:07:21 +0800 Subject: [PATCH] 修改了光纤配置 --- src/components/do/b1-ins-order/fiberoptic-config.vue | 240 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 197 insertions(+), 43 deletions(-) diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue index de1bd5f..dc83943 100644 --- a/src/components/do/b1-ins-order/fiberoptic-config.vue +++ b/src/components/do/b1-ins-order/fiberoptic-config.vue @@ -5,7 +5,7 @@ <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" @click="$parent.playOrder(1)"> + <el-button size="medium" @click="outConfig"> <span style="color: #3A7BFA;">鍙� 娑�</span> </el-button> </el-col> @@ -20,42 +20,42 @@ style="display: flex;align-items: center;justify-content: space-between;padding: 0 12px;box-sizing: border-box;"> <div class="search-item"> <label style="width: 70px;">鏍峰搧鍨嬪彿</label> - <span style="font-size: 14px;">GYTA53</span> + <span style="font-size: 14px;">{{models}}</span> </div> - <el-radio-group v-model="packageInfo.radio" size="small"> + <el-radio-group v-model="packageInfo.radio" size="small" @change="upNum()"> <el-radio :label="0">鍏ㄦ</el-radio> <el-radio :label="1">鎶芥</el-radio> </el-radio-group> - </div> - <div class="search-item" style="margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;"> - <label style="width: 70px;">鏍峰搧缂栧彿</label> - <el-input v-model="packageInfo.input" placeholder="璇疯緭鍏�" size="small"></el-input> </div> <div 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.input" placeholder="璇疯緭鍏�" size="small"></el-input> + <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @change="upNum"></el-input> </div> <div class="search-item" style="margin-right: 10px;"> <label style="width: 70px;">鏍囧噯閲�</label> - <el-input v-model="packageInfo.input" placeholder="璇疯緭鍏�" size="small"></el-input> + <el-input v-model="packageInfo.num2" placeholder="璇疯緭鍏�" size="small" @change="upNum"></el-input> </div> <div class="search-item"> <label style="width: 70px;">妫�娴嬮噺</label> - <el-input v-model="packageInfo.input" placeholder="璇疯緭鍏�" size="small"></el-input> + <el-input v-model="packageInfo.num3" placeholder="璇疯緭鍏�" size="small" @change="upNum" :disabled="packageInfo.radio===0"></el-input> </div> </div> - <el-table ref="table0" :data="tableData" tooltip-effect="dark" style="width: 100%" height="150px" - size="small" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55"> + <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"> </el-table-column> <el-table-column label="绠¤壊鏍�" show-overflow-tooltip> - <template slot-scope="scope">{{ scope.row.date }}</template> + <template slot-scope="scope"> + <el-select v-model="scope.row.color" size="mini"> + <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="name" label="鏍囬噺" show-overflow-tooltip> + <el-table-column prop="num2" label="鏍囬噺" show-overflow-tooltip> </el-table-column> - <el-table-column prop="address" label="娴嬭瘯閲�" show-overflow-tooltip> + <el-table-column prop="num3" label="娴嬭瘯閲�" show-overflow-tooltip> </el-table-column> </el-table> </div> @@ -63,7 +63,7 @@ <el-col :span="15"> <div class="grid-content"> <h5>妫�娴嬮」淇℃伅</h5> - <el-table ref="table1" :data="tableData" tooltip-effect="dark" style="width: 100%" height="274px" + <el-table ref="table1" :data="tableData" tooltip-effect="dark" style="width: 100%" height="282px" size="small" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> @@ -91,16 +91,12 @@ <el-row :gutter="10"> <el-col :span="12"> <div class="grid-content"> - <h5>鍏夌氦甯�</h5> - <div class="btns"> - <el-button size="small" type="primary">鐢熸垚鍏夌氦甯�</el-button> - <el-button size="small" type="primary">淇濆瓨鍏夌氦甯﹂」鐩�</el-button> - </div> + <h5>鍏夌氦甯�<el-button size="mini" type="primary" class="btns">鐢熸垚鍏夌氦甯�</el-button></h5> <div - style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;"> + 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="tape.value" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> + <el-select v-model="tape.value" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" :disabled="selectBushing.length===0"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -131,40 +127,41 @@ </el-col> <el-col :span="12"> <div class="grid-content"> - <h5>鍏夌氦</h5> - <div class="btns"> - <el-button size="small" type="primary">鍏夌氦閰嶈壊</el-button> - <el-button size="small" type="primary">淇濆瓨鍏夌氦椤圭洰</el-button> - </div> + <h5>鍏夌氦<el-button size="mini" type="primary" class="btns" @click="addFiber" :disabled="mireModel===null||mireStandard===null">鍏夌氦閰嶈壊</el-button></h5> <div - style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;"> + 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="tape.value" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> - <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> + <el-select v-model="mireModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" :disabled="selectBushing.length===0"> + <el-option v-for="(item,a) in mireModels" :key="a" :label="item.label" :value="item.value"> </el-option> </el-select> </div> <div class="search-item" style="width: 50%;"> <label style="width: 80px;">鍙傝�冩爣鍑�</label> - <el-select v-model="tape.value" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> - <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> + <el-select v-model="mireStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" :disabled="mireModel===null" + @focus="selectsStandardMethodByFLSSM()" @change="(value)=>methodChange(value)"> + <el-option v-for="item in mireStandards" :key="item.id" :label="item.code" :value="item.id"> </el-option> </el-select> </div> </div> - <el-table ref="table3" :data="tableData" tooltip-effect="dark" style="width: 100%" height="270px" + <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" size="small" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column label="绠″鑹叉爣" show-overflow-tooltip> - <template slot-scope="scope">{{ scope.row.date }}</template> + <el-table-column prop="bushColor" label="绠″鑹叉爣" width="90" align="center"> </el-table-column> - <el-table-column prop="name" label="鍏夌氦鑹叉爣" show-overflow-tooltip> + <el-table-column prop="color" label="鍏夌氦鑹叉爣" width="120"> + <template slot-scope="scope"> + <el-select v-model="scope.row.color" size="mini"> + <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="address" label="鍏夌氦瑙勬牸" show-overflow-tooltip> + <el-table-column prop="model" label="鍏夌氦瑙勬牸" show-overflow-tooltip align="center"> </el-table-column> - <el-table-column prop="address" label="鍙傝�冩爣鍑�" show-overflow-tooltip> + <el-table-column prop="standard" label="鍙傝�冩爣鍑�" show-overflow-tooltip align="center"> </el-table-column> </el-table> </div> @@ -181,18 +178,175 @@ saveLoad: false, packageInfo: { radio: 1, - input: '' + num1: null, + num2: null, + num3: null, + ismiers: false }, tableData: [], tape: { value: '' }, - options: [] + options: [], + sample: [], + models: '', + colors: [], + wires: [], + bushing: [], + mireModels: [], + mireModel: null, + mireStandard: [], + mireStandards: null, + selectBushing: [], + productList: [], + fiberList: [] } + }, + mounted() { + this.$parent.sampleIds.forEach(a=>{ + for (var i = 0; i < this.$parent.sampleList.length; i++) { + if (this.$parent.sampleList[i].id == a) { + this.sample.push(this.$parent.sampleList[i]) + this.models+=(','+this.$parent.sampleList[i].model) + break + } + } + }) + this.models = this.models.replace(',','') + this.getTypeDicts1() + this.getTypeDicts2() + this.getStandTreeBySampleType() }, methods: { save() {}, - handleSelectionChange(val) {} + handleSelectionChange(val) {}, + handleSelectionChange1(val){ + this.selectBushing = val + }, + outConfig(){ + this.$parent.configShow = false + }, + getTypeDicts1() { + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "鑹叉爣" + }).then(res => { + this.colors = res.data + }) + }, + getTypeDicts2() { + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "绾胯姱" + }).then(res => { + this.wires = res.data + }) + }, + upNum(){ + if(this.packageInfo.radio === 0){ + this.packageInfo.num3 = this.packageInfo.num2 + } + if(parseInt(this.packageInfo.num2) < parseInt(this.packageInfo.num3)){ + this.packageInfo.num3 = this.packageInfo.num2 + } + if(this.packageInfo.num1!==null&&this.packageInfo.num1!=='' + &&this.packageInfo.num2!==null&&this.packageInfo.num2!=='' + &&this.packageInfo.num3!=null&&this.packageInfo.num3!==''){ + let colors2 = [] + if(this.packageInfo.num1 / this.colors.length > 1){ + let num = this.packageInfo.num1 / this.colors.length + if(this.packageInfo.num1 % this.colors.length > 0) num+=1 + for (var i = 0; i < num; i++) { + colors2 = colors2.concat(this.colors) + } + }else{ + colors2 = colors2.concat(this.colors) + } + this.bushing = [] + for (var i = 0; i < this.packageInfo.num1; i++) { + let bushing = { + color: colors2[i].label, + num2: this.packageInfo.num2, + num3: this.packageInfo.num3, + ismiers: this.packageInfo.ismiers, + fibers: [], + fiber: [] + } + this.bushing.push(bushing) + } + }else{ + this.bushing = [] + } + }, + getStandTreeBySampleType(){ + this.$axios.get(this.$api.standardTree.getStandTreeBySampleType).then(res=>{ + this.mireModels = [] + res.data.forEach(a=>{ + this.mireModels.push({ + label: a.model, + value: a.sample + ' - ' + a.model + }) + }) + }) + }, + selectsStandardMethodByFLSSM() { + this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { + tree: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - ' + this.mireModel + }).then(res => { + this.mireStandards = res.data.standardMethodList + }) + }, + methodChange(val) { + if(val===null||val==='')return + this.$axios.post(this.$api.standardTree.selectStandardProductList, { + model: this.mireModel.split(' - ')[1], + standardMethodListId: val, + factory: '' + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + res.data.forEach(a => { + a.state = 0 + }) + this.productList = res.data + setTimeout(() => { + this.productList.forEach(a => { + if (a.state == 1) this.toggleSelection(a) + }) + }, 200) + }) + }, + addFiber(){ + let colors2 = [] + if(this.packageInfo.num1 / this.colors.length > 1){ + let num = this.packageInfo.num1 / this.colors.length + if(this.packageInfo.num1 % this.colors.length > 0) num+=1 + for (var i = 0; i < num; i++) { + colors2 = colors2.concat(this.colors) + } + }else{ + colors2 = colors2.concat(this.colors) + } + this.fiberList = [] + let model = this.mireModel.split(' - ')[1] + let standard = this.mireStandards.find(a=>a.id == this.mireStandard).code + this.selectBushing.forEach(a=>{ + for (var i = 0; i < a.num3; i++) { + if(this.packageInfo.ismiers){ + + }else{ + let fiber = { + bushColor: a.color, + color: colors2[i].label, + model: model, + standard: standard + } + a.fiber.push(fiber) + this.fiberList.push(fiber) + } + } + }) + } } } </script> -- Gitblit v1.9.3