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/add.vue | 21 ++-
src/components/do/b1-ins-order/fiberoptic-config.vue | 240 +++++++++++++++++++++++++++++++++++++++--------
src/components/view/b1-inspection-order.vue | 15 +-
src/assets/api/controller.js | 1
4 files changed, 221 insertions(+), 56 deletions(-)
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 39f4fb4..4b91f5d 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -193,6 +193,7 @@
getStandardTree2: "/standardTree/getStandardTree2", //鑾峰彇浜у搧鏋舵瀯
upStandardProducts: "/standardTree/upStandardProducts", //鑾峰彇浜у搧鏋舵瀯
selectStandardProductEnumByMethodId: "/standardTree/selectStandardProductEnumByMethodId", //鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�
+ getStandTreeBySampleType: "/standardTree/getStandTreeBySampleType", //浠呰幏鍙栧厜绾ょ殑鍨嬪彿
}
const standardMethod = {
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 3157392..440208c 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -92,7 +92,7 @@
<template>
<div class="ins_order_add">
- <div>
+ <div v-show="!configShow">
<el-row class="title">
<el-col :span="6" style="padding-left: 20px;">濮旀墭鍗曚俊鎭�</el-col>
<el-col :span="18" style="text-align: right;">
@@ -120,7 +120,7 @@
</el-col>
</el-row>
</div>
- <div class="search">
+ <div class="search" v-show="!configShow">
<el-row>
<el-col class="search_thing" :span="6">
<div class="search_label">濮旀墭缂栧彿锛�</div>
@@ -278,7 +278,7 @@
</el-col>
</el-row>
</div>
- <div>
+ <div v-show="!configShow">
<el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark"
border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;">
<el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column>
@@ -540,14 +540,17 @@
</el-row>
</span>
</el-dialog>
+ <fiberOpticConfig :currentId="currentId" v-if="configShow"/>
</div>
</template>
<script>
import ValueTable from '../../tool/value-table.vue'
+ import fiberOpticConfig from './fiberoptic-config.vue'
export default {
components: {
- ValueTable
+ ValueTable,
+ fiberOpticConfig
},
props: {
active: {
@@ -666,7 +669,8 @@
noLoading: false,
orderType: [],
filters: [],
- formType: []
+ formType: [],
+ configShow: false
}
},
watch: {
@@ -1320,8 +1324,11 @@
return row[property] === value;
},
openConfig(){
- this.$parent.playOrder(4)
- console.log(this.sampleIds);
+ if(this.sampleIds.length===0){
+ this.$message.error("鏈�夋嫨鏍峰搧")
+ return
+ }
+ this.configShow = true
}
}
}
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>
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 8d285c2..b81c76c 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -77,7 +77,6 @@
<el-row class="title">
<el-col :span="12" style="padding-left: 20px;">妫�楠屼笅鍗�</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button size="medium" type="primary" @click="playOrder(4)">鍏夌氦閰嶇疆</el-button>
<el-button size="medium" type="primary" @click="playOrder(1)" v-if="addPower">涓嬪崟</el-button>
</el-col>
</el-row>
@@ -228,8 +227,7 @@
</el-dialog>
</div>
<div style="width: 100%;height: 100%;" v-if="active >0">
- <Add :active="active" :currentId="currentId" v-show="active<4" />
- <fiberOpticConfig :currentId="currentId" v-if="active==4" />
+ <Add :active="active" :currentId="currentId" v-if="active<4" />
</div>
</div>
</template>
@@ -237,12 +235,10 @@
<script>
import ValueTable from '../tool/value-table.vue'
import Add from '../do/b1-ins-order/add.vue'
- import fiberOpticConfig from '../do/b1-ins-order/fiberoptic-config.vue'
export default {
components: {
ValueTable,
- Add,
- fiberOpticConfig
+ Add
},
data() {
return {
@@ -496,6 +492,7 @@
let up = false
let del = false
let add = false
+ let revoke = false
for (var i = 0; i < power.length; i++) {
if (power[i].menuMethod == 'upInsOrder') {
up = true
@@ -503,10 +500,16 @@
if (power[i].menuMethod == 'addInsOrder') {
add = true
}
+ if (power[i].menuMethod == 'updateStatus') {
+ revoke = true
+ }
}
if (!up) {
this.componentData.do.splice(4, 1)
}
+ if (!revoke) {
+ this.componentData.do.splice(3, 1)
+ }
this.addPower = add
},
handleClose() {
--
Gitblit v1.9.3