From 48c35ace73ed0f83559c451b66a24f390484aa49 Mon Sep 17 00:00:00 2001
From: gaoluyang <gaoluyang@rengu.cc>
Date: 星期二, 02 七月 2024 15:39:51 +0800
Subject: [PATCH] 下单页面—温度循环要求填写弹框开发联调
---
src/components/do/b1-ins-order/add.vue | 225 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 217 insertions(+), 8 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 43b5833..81458d7 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -70,6 +70,23 @@
line-height: 24px;
margin-top: 5px;
}
+ .circulateTable {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ .opticalProject {
+ width: 38%;
+ }
+ .temperatureList {
+ width: 60%;
+ .temperatureListTitle {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ line-height: 30px;
+ }
+ }
+ }
</style>
<style>
.ins_order_add .el-input-group__append,
@@ -734,27 +751,85 @@
</el-row>
</span>
</el-dialog>
- <el-dialog title="娓╁害寰幆瑕佹眰濉啓" :visible.sync="circulateShow" width="800px" :show-close="false">
+ <el-dialog title="娓╁害寰幆瑕佹眰濉啓" :visible.sync="circulateShow" width="900px" :before-close="beforeCirculateShowClose" :show-close="false">
<div class="search" style="display: flex;background: transparent;">
<div class="search_thing">
<div class="search_label">淇濇俯鏃堕棿锛�</div>
<div class="search_input">
- <el-input v-model="circulateForm.entrustCode" size="small" placeholder=""></el-input>
+ <el-input v-model="circulateForm.entrustTime" size="small" placeholder="" type="number"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">寰幆娆℃暟锛�</div>
<div class="search_input">
- <el-input v-model="circulateForm.entrustCode" size="small" placeholder=""></el-input>
+ <el-input v-model="circulateForm.entrustNum" size="small" placeholder="" type="number"></el-input>
</div>
</div>
<div class="search_thing">
<div class="search_label">娓╁害鐐癸細</div>
<div class="search_input">
- <el-input v-model="circulateForm.entrustCode" size="small" placeholder=""></el-input>
+ <el-input @blur="changeTemperatureData" v-model="circulateForm.entrustPoint" size="small" placeholder="" type="number"></el-input>
</div>
</div>
</div>
+ <div class="circulateTable">
+ <div class="opticalProject">
+ <div style="line-height: 30px;">鍏夌氦椤圭洰</div>
+ <el-divider></el-divider>
+ <div>
+ <el-table
+ ref="multipleTable"
+ border
+ :header-cell-style="{'text-align':'center'}"
+ :cell-style="{'text-align':'center'}"
+ :data="opticalProject"
+ tooltip-effect="dark"
+ style="width: 100%"
+ @selection-change="handleSelectionChange">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column prop="value" label="鍏夌氦椤圭洰" show-overflow-tooltip></el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <div class="temperatureList">
+ <div class="temperatureListTitle">
+ <span>娓╁害鐐归泦鍚�(璇锋寜鐓ч『搴忓~鍐欙紝20鈩冨繀椤讳负棣栦綅)</span>
+ <span>
+ <el-button type="primary" size="mini" @click="addTemperatureData">鏂板</el-button>
+ <el-button size="mini" @click="deleteTemperatureData">鍒犻櫎</el-button>
+ </span>
+ </div>
+ <el-divider></el-divider>
+ <el-table
+ :data="temperatureData"
+ border
+ :header-cell-style="{'text-align':'center'}"
+ :cell-style="{'text-align':'center'}"
+ style="width: 100%">
+ <el-table-column prop="date" label="娓╁害鐐�(鈩�)" width="120px">
+ <template slot-scope="scope">
+ <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" label="瑕佹眰(dB/Km)">
+ <template slot-scope="scope">
+ <span>x</span>
+ <el-select v-model="scope.row.askSymbol" placeholder="璇烽�夋嫨" size="small" style="width: 120px">
+ <el-option v-for="item in temperatureDataList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ <el-input size="small" v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" style="width: 120px"></el-input>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="spliceData">淇濆瓨</el-button>
+ </span>
</el-dialog>
</div>
</template>
@@ -765,6 +840,7 @@
import equipConfig from './equip-config.vue'
import cableConfig from './cable-config.vue'
import Vue from 'vue'
+import {iuCharts} from "../../../util/echarts";
export default {
components: {
@@ -874,6 +950,7 @@
productList0: [],
bsm1DiaList: [],
productIds: [],
+ productListSelected: [],
getProductLoad: false,
saveLoad: false,
templateDia: false,
@@ -926,8 +1003,22 @@
inspectionItemSubclass:null,
methodS:null,
circulateShow:false,
- circulateForm:{},
- isBsm2Val2:false
+ circulateForm:{
+ entrustTime: '',
+ entrustNum: '',
+ entrustPoint: ''
+ },
+ isBsm2Val2:false,
+ opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃
+ opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁�
+ temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛�
+ temperatureDataList: [
+ {label: '<', value: '<'},
+ {label: '鈮�', value: '鈮�'},
+ {label: '锛�', value: '锛�'},
+ {label: '鈮�', value: '鈮�'},
+ {label: '锛�', value: '锛�'},
+ ]
}
},
watch: {
@@ -1002,6 +1093,100 @@
}
},
methods: {
+ spliceData () {
+ if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) {
+ this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+ return
+ }
+ const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList))
+ let entrustTime = this.circulateForm.entrustTime
+ let entrustNum = this.circulateForm.entrustNum
+ let temperaturePoint1 = JSON.parse(JSON.stringify(this.temperatureData))
+
+ let temperaturePoint = JSON.parse(JSON.stringify(this.temperatureData))
+ temperaturePoint.unshift({temperaturePoint: 20, askSymbol: null, askNum: null})
+ let askArr = []
+ let opticalProjectArr = []
+ // 鎷兼帴瑕佹眰鍊糰sk
+ opticalProjectList.forEach(o => {
+ opticalProjectArr.push(o.value)
+ temperaturePoint.forEach(t => {
+ t.temperaturePoint = t.temperaturePoint + '鈩�'
+ const askObj = t.temperaturePoint + ',' + o.value + ',' + t.askSymbol + t.askNum
+ askArr.push(askObj)
+ })
+ })
+ askArr.push(this.circulateForm.entrustNum)
+ const ask = askArr.join(';')
+ // 鎷兼帴瑕佹眰鎻忚堪tell
+ let askNum = []
+ let temperaturePointList = []
+ let temperaturePointList2 = []
+ entrustTime = entrustTime + 'h'
+ entrustNum = entrustNum + '娆�'
+ temperaturePoint.forEach(t => {
+ t.temperaturePoint = t.temperaturePoint + '鈩�'
+ temperaturePointList.push(t.temperaturePoint)
+ })
+ temperaturePoint1.forEach(t => {
+ if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+ throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+ }
+ t.temperaturePoint = t.temperaturePoint + '鈩�'
+ askNum.push(t.askSymbol + t.askNum + 'dB/Km')
+ temperaturePointList2.push(t.temperaturePoint)
+ })
+ let additionArr = []
+ askNum.forEach(a => {
+ additionArr.push(temperaturePointList2.join(',') + a)
+ })
+ const tell = '娓╁害鑼冨洿:' + temperaturePointList2.join(',') + ';' + '淇濇俯鏃堕棿:' + entrustTime + ';' + '寰幆娆℃暟:'
+ + entrustNum + ';' + '鍏夌氦(' + opticalProjectArr.join(',') + ')' + '闄勫姞琛板噺缁濆鍊�:' + additionArr.join(';')
+ this.productList.forEach(item => {
+ if (item.inspectionItem === '娓╁害寰幆') {
+ item.ask = ask
+ item.tell = tell
+ }
+ })
+ this.circulateShow = false
+ },
+ beforeCirculateShowClose () {
+ if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) {
+ this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+ return
+ }
+ let temperaturePoint1 = JSON.parse(JSON.stringify(this.temperatureData))
+ temperaturePoint1.forEach(t => {
+ if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+ throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+ }
+ })
+ },
+ handleSelectionChange(val) {
+ this.opticalProjectList = val;
+ },
+ addTemperatureData () {
+ const obj = {}
+ this.temperatureData.push(obj)
+ },
+ deleteTemperatureData () {
+ if (this.temperatureData.length > 0) {
+ this.temperatureData = this.temperatureData.slice(0,-1)
+ }
+ },
+ changeTemperatureData () {
+ const length = this.temperatureData.length
+ const entrustPoint = Number(this.circulateForm.entrustPoint)
+ if (entrustPoint > length) {
+ for (let i = 0; i < (entrustPoint - length); i++) {
+ const obj = {}
+ this.temperatureData.push(obj)
+ }
+ } else if (entrustPoint < length) {
+ const deleteNum = length - entrustPoint
+ this.temperatureData = this.temperatureData.slice(0,-deleteNum)
+ }
+ },
searchFilterList () {
const vtw = {
inspectionItem: this.inspectionItem, // 妫�楠岄」
@@ -1130,6 +1315,19 @@
} else if (!this.sampleList.every(m => m.standardMethodListId)) {
this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
} else {
+ const select = this.selectTree.split(' - ')
+ const productListSelected = this.productListSelected.some(item => item.inspectionItem === '娓╁害寰幆')
+ let isHaveBushing = ''
+ this.sampleList.forEach(item => {
+ if (!item.bushing || item.bushing.length === 0) {
+ isHaveBushing = false
+ }
+ })
+ console.log('isHaveBushing===', isHaveBushing)
+ if (productListSelected && select[2] === '鍏夌紗' && !isHaveBushing) {
+ this.$message.error('鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆')
+ return
+ }
let sampleList = this.HaveJson(this.sampleList)
let projectNum = this.totalArr.filter(a => a.state == 1).length
if(projectNum==0){
@@ -1610,6 +1808,7 @@
this.$refs.sampleTable.doLayout()
},
selectProduct(val) {
+ this.productListSelected = val
this.productIds = []
val.forEach(a => {
this.productIds.push(a.id)
@@ -1687,11 +1886,21 @@
}
return item
})
- if (row.inspectionItem === '娓╁害寰幆') {
+ const select = this.selectTree.split(' - ')
+ if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 1) {
this.circulateShow = true;
return
+ } else if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 0) {
+ this.circulateShow = false;
}
this.getProNum()
+ },
+ searchProject () {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "鍏夌氦椤圭洰"
+ }).then(res => {
+ this.opticalProject = res.data
+ })
},
permute(nums) {
const result = [];
@@ -1854,6 +2063,7 @@
})
}, 200)
})
+ this.searchProject()
},
changeModel() {
this.sampleList.forEach(a => {
@@ -1913,7 +2123,6 @@
}
},
handleAll(e) {
- console.log('鍏ㄩ��')
if (e.length > 0) {
this.productList.map(m => {
m.state = 1
--
Gitblit v1.9.3