From a0b1fdec2bc5ddad11e981936b80d0fdf1e4bc69 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期三, 03 七月 2024 09:25:06 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/do/b1-ins-order/add.vue | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 229 insertions(+), 8 deletions(-) diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index 43ad37a..d6e3822 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, @@ -419,6 +436,7 @@ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」</span> <el-input + v-if="active==1" v-model="inspectionItem" @input="searchFilterList" size="mini" @@ -432,6 +450,7 @@ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」瀛愰」</span> <el-input + v-if="active==1" v-model="inspectionItemSubclass" @input="searchFilterList" size="mini" @@ -446,6 +465,7 @@ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>璇曢獙鏂规硶</span> <el-input + v-if="active==1" v-model="methodS" @input="searchFilterList" size="mini" @@ -734,27 +754,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 +843,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 +953,7 @@ productList0: [], bsm1DiaList: [], productIds: [], + productListSelected: [], getProductLoad: false, saveLoad: false, templateDia: false, @@ -926,8 +1006,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 +1096,109 @@ } }, 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)) + temperaturePoint1.forEach(t => { + if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { + throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') + } + }) + let temperaturePoint = JSON.parse(JSON.stringify(this.temperatureData)) + temperaturePoint.unshift({temperaturePoint: 20}) + let askArr = [] + let opticalProjectArr = [] + // 鎷兼帴瑕佹眰鍊糰sk + opticalProjectList.forEach(o => { + opticalProjectArr.push(o.value) + temperaturePoint.forEach(t => { + if (!t.askSymbol) { + const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + null + askArr.push(askObj) + } else { + 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 => { + 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) + }) + temperaturePointList2.unshift(20 + '鈩�') + const tell = '娓╁害鑼冨洿:' + temperaturePointList2.join(',') + ';' + '淇濇俯鏃堕棿:' + entrustTime + ';' + '寰幆娆℃暟:' + + entrustNum + ';' + '鍏夌氦(' + opticalProjectArr.join(',') + ')' + '闄勫姞琛板噺缁濆鍊�:' + additionArr.join(';') + this.productList.forEach(item => { + if (item.inspectionItem === '娓╁害寰幆') { + item.ask = ask + item.tell = tell + } + }) + console.log('ask---', ask) + console.log('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 +1327,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 === false) { + this.$message.error('鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆') + return + } let sampleList = this.HaveJson(this.sampleList) let projectNum = this.totalArr.filter(a => a.state == 1).length if(projectNum==0){ @@ -1628,6 +1838,7 @@ this.$refs.sampleTable.doLayout() }, selectProduct(val) { + this.productListSelected = val this.productIds = [] val.forEach(a => { this.productIds.push(a.id) @@ -1705,11 +1916,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 = []; @@ -1872,6 +2093,7 @@ }) }, 200) }) + this.searchProject() }, changeModel() { this.sampleList.forEach(a => { @@ -1931,7 +2153,6 @@ } }, handleAll(e) { - console.log('鍏ㄩ��') if (e.length > 0) { this.productList.map(m => { m.state = 1 -- Gitblit v1.9.3