From e703b41ee825c66016f5f0fb80b5564d901ae666 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 28 十月 2024 15:06:19 +0800
Subject: [PATCH] 优化出入库
---
/dev/null | 273 ---------------------------------------
src/main.js | 8
src/components/do/b1-inspect-order-plan/Inspection.vue | 2
src/components/view/b1-inspect-order-plan.vue | 31 ----
src/components/view/b1-sample.vue | 68 ++++----
5 files changed, 40 insertions(+), 342 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 1c8dcce..c2bf51b 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -918,7 +918,6 @@
<script>
import ValueTable from '../../tool/value-table.vue'
- import Circuit from './circuit.vue'
import file from '../../../util/file'
import excelFunction from '../../../util/excelFountion'
import CircuitParameters1 from './circuit-parameters1.vue'
@@ -930,7 +929,6 @@
props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack'],
components: {
ValueTable,
- Circuit,
CircuitParameters1,
CircuitParameters2,
filePreview,
diff --git a/src/components/do/b1-inspect-order-plan/circuit.vue b/src/components/do/b1-inspect-order-plan/circuit.vue
deleted file mode 100644
index 239c7f3..0000000
--- a/src/components/do/b1-inspect-order-plan/circuit.vue
+++ /dev/null
@@ -1,278 +0,0 @@
-<template>
- <div class="circuit">
- <table border="1" cellpadding="10" class="thermal-table">
- <tr>
- <th :colspan="typeList0.length+4" style="font-size: 18px;">瀹ゅ鍒嗗竷100-D瀹介灏勭伅澶╃嚎</th>
- </tr>
- <tr>
- <td class="title">鏍峰搧缂栧彿</td>
- <td>1111</td>
- <td class="title">鏍峰搧鍨嬪彿</td>
- <td>22222</td>
- <td class="title">璇曢獙鏍囧噯</td>
- <td :colspan="typeList0.length">鐢典俊</td>
- </tr>
- <tr>
- <td class="title">妫�楠岄」鐩�</td>
- <td class="title">鍗曚綅</td>
- <td class="title">鏍囧噯瑕佹眰</td>
- <td :colspan="typeList0.length+1" class="title">妫�楠岀粨鏋�</td>
- </tr>
- <!-- 椹绘尝姣� -->
- <template>
- <tr>
- <td :rowspan="roadList0.length+2">鐢靛帇椹绘尝姣�</td>
- <td :rowspan="roadList0.length+2">/</td>
- <td :rowspan="roadList0.length+2">鈮�1.5</td>
- <td class="title">鏈�宸��</td>
- <td v-for="(item,index) in typeList0" :key="index+'ooo'"><span style="display: inline-block;width: 40%;">{{ item.label }}</span><el-button icon="el-icon-minus" circle size="mini" type="danger" style="margin-left: 4px;" @click="deleteList(index,'绔彛')"></el-button><el-button icon="el-icon-plus" circle size="mini" type="primary" v-if="index==typeList0.length-1" @click="addInfo('绔彛')"></el-button></td>
- </tr>
- <tr v-for="(item,index) in roadList0" :key="index+'iiii'">
- <td><span style="display: inline-block;width: 70%;">{{ item.label }}</span><el-button icon="el-icon-minus" circle size="mini" type="danger" @click="deleteList(index,'娉㈡')"></el-button></td>
- <td v-for="(m,i) in typeList0" :key="i+'aaa'">
- <el-input clearable size="small" placeholder="" v-model="value" :disabled="state>1"></el-input>
- </td>
- </tr>
- <tr>
- <td><span style="display: inline-block;width: 70%;" class="title">椹绘尝姣旀渶宸��</span><el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addInfo('娉㈡')"></el-button></td>
- <td v-for="(m,i) in typeList0" :key="i+'bbb'">
- <span>0</span>
- </td>
- </tr>
- </template>
- <!-- 闅旂 -->
- <template>
- <tr>
- <td :rowspan="roadList0.length+2">闅旂</td>
- <td :rowspan="roadList0.length+2">dB</td>
- <td :rowspan="roadList0.length+2">鈮�-25</td>
- </tr>
- <tr v-for="(item,index) in roadList0" :key="index+'eee'">
- <td>{{ item.label }}</td>
- <td :colspan="index<isolationList.length-1?2:(typeList0.length/2>0?3:2)" v-for="(item,index) in isolationList" :key="index+'sss'"><el-input clearable size="small" placeholder="" v-model="item.value" :disabled="state>1"></el-input></td>
- </tr>
- <tr>
- <td class="title">闅旂鏈�宸��</td>
- <td :colspan="index<isolationList.length-1?2:(typeList0.length/2>0?3:2)" v-for="(item,index) in isolationList" :key="index+'ggg'">{{ item.compValue }}</td>
- </tr>
- </template>
- <!-- 浜掕皟 -->
- <template>
- <tr>
- <td :rowspan="bandList0.length+2">浜掕皟37dBm</td>
- <td :rowspan="bandList0.length+2">dBm</td>
- <td :rowspan="bandList0.length+2">鈮�-107</td>
- </tr>
- <tr v-for="(item,index) in bandList0" :key="index+'yyy'">
- <td><span style="display: inline-block;width: 70%;">{{ item.label }}</span><el-button icon="el-icon-minus" circle size="mini" type="danger" @click="deleteList(index,'棰戞')"></el-button></td>
- <td v-for="(m,i) in typeList0" :key="i+'ccc'"><el-input clearable size="small" placeholder="" v-model="value" :disabled="state>1"></el-input></td>
- </tr>
- <tr>
- <td class="title"><span style="display: inline-block;width: 70%;">浜掕皟鏈�宸��</span><el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addInfo('棰戞')"></el-button></td>
- <td v-for="(m,i) in typeList0" :key="i+'hhh'">0</td>
- </tr>
- </template>
- </table>
- <el-dialog
- :title="'閫夋嫨娣诲姞'+currentType"
- :visible.sync="dialogVisible"
- width="20%">
- <el-checkbox-group v-model="checkList" v-if="currentType=='娉㈡'">
- <el-checkbox :label="item.label" v-for="(item,index) in roadList1" :key="index+'lll'">{{ item.label }}</el-checkbox>
- </el-checkbox-group>
- <el-checkbox-group v-model="checkList" v-if="currentType=='棰戞'">
- <el-checkbox :label="item.label" v-for="(item,index) in bandList1" :key="index+'tttt'">{{ item.label }}</el-checkbox>
- </el-checkbox-group>
- <el-checkbox-group v-model="checkList" v-if="currentType=='绔彛'">
- <el-checkbox :label="item.label" v-for="(item,index) in typeList1" :key="index+'uuuu'">{{ item.label }}</el-checkbox>
- </el-checkbox-group>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="handleSure">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- </div>
-</template>
-
-<script>
-export default {
- data() {
- return {
- roadList:[],
- typeList:[],
- bandList:[],
- typeList0:[],
- roadList0:[],
- bandList0:[],
- typeList1:[],
- roadList1:[],
- bandList1:[],
- isolationList:[
- {
- compValue:'',
- value:''
- }
- ],
- state: 1,
- value:'',
- dialogVisible:false,
- currentType:'',//娉㈡,棰戞,绔彛
- checkList:[],
- }
- },
- watch:{
- roadList0(val){
- this.roadList1 = this.roadList.filter(item=>{
- return !val.find(m=>m.id==item.id)
- })
- },
- typeList0(val){
- this.typeList1 = this.typeList.filter(item=>{
- return !val.find(m=>m.id==item.id)
- })
- this.isolationList = []
- if(val.length<2){
- this.isolationList = [{compValue:'',value:''}]
- }else{
- let num = Math.floor(val.length/2)
- for(let i=0;i<num;i++){
- this.isolationList.push({compValue:'',value:''})
- }
- }
- console.log(this.isolationList)
- },
- bandList0(val){
- this.bandList1 = this.bandList.filter(item=>{
- return !val.find(m=>m.id==item.id)
- })
- },
- dialogVisible(val){
- if(!val){
- this.checkList = []
- }
- }
- },
- mounted() {
- this.getTypeDicts()
- },
- methods: {
- getTypeDicts() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鐢佃矾璇曢獙娉㈡"
- }).then(res => {
- this.roadList = res.data
- this.roadList0 = this.HaveJson(this.roadList)
- })
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鐢佃矾璇曢獙绔彛"
- }).then(res => {
- this.typeList = res.data
- this.typeList0 = this.HaveJson(this.typeList)
- })
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鐢佃矾璇曢獙棰戞"
- }).then(res => {
- this.bandList = res.data
- this.bandList0 = this.HaveJson(this.bandList)
- })
- },
- deleteList(index,type) {
- switch(type){
- case '娉㈡':
- if(this.roadList0.length>1){
- this.roadList0.splice(index, 1)
- }else{
- this.$message.error('鑷冲皯淇濈暀涓�鏉℃暟鎹�')
- }
- break;
- case '棰戞':
- if(this.bandList0.length>1){
- this.bandList0.splice(index, 1)
- }else{
- this.$message.error('鑷冲皯淇濈暀涓�鏉℃暟鎹�')
- }
- break;
- case '绔彛':
- if(this.typeList0.length>1){
- this.typeList0.splice(index, 1)
- }else{
- this.$message.error('鑷冲皯淇濈暀涓�鏉℃暟鎹�')
- }
- break;
- }
- },
- handleSure(){
- switch(this.currentType){
- case '娉㈡':
- this.roadList.forEach((item,index)=>{
- let obj = this.checkList.find(m=>m==item.label)
- if(obj){
- this.roadList0.push(item)
- }
- })
- this.roadList0 = this.handleSortById(this.roadList0)
- break;
- case '棰戞':
- this.bandList.forEach((item,index)=>{
- let obj = this.checkList.find(m=>m==item.label)
- if(obj){
- this.bandList0.push(item)
- }
- })
- this.bandList0 = this.handleSortById(this.bandList0)
- break;
- case '绔彛':
- this.typeList.forEach((item,index)=>{
- let obj = this.checkList.find(m=>m==item.label)
- if(obj){
- this.typeList0.push(item)
- }
- })
- this.typeList0 = this.handleSortById(this.typeList0)
- break;
- }
- this.dialogVisible = false
- },
- // 鏍规嵁Id鎺掑簭
- handleSortById(arr){
- return arr.sort((a,b)=>{
- if(a.id>b.id){
- return 1;
- }else if(a.id<b.id){
- return -1;
- }else {
- return 0;
- }
- })
- },
- addInfo(type){
- this.currentType = type
- this.dialogVisible = true
- },
- }
-}
-</script>
-
-<style scoped>
-.thermal-table{
- min-width: calc(100% - 10px);
- margin: 5px 5px 20px;
- table-layout: fixed;
-}
-.thermal-table td,.thermal-table th {
- min-width: 150px;
- text-align: center;
- font-size: 14px;
- word-wrap: break-word;
- white-space: normal;
- padding: 5px;
-}
-.thermal-table .el-input{
- display: flex;
- align-items: center;
-}
-.title{
- color: #000 !important;
- font-weight: 700 !important;
-}
-</style>
diff --git a/src/components/do/b1-material-ins-order/customs-inspection.vue b/src/components/do/b1-material-ins-order/customs-inspection.vue
deleted file mode 100644
index 67d0a5d..0000000
--- a/src/components/do/b1-material-ins-order/customs-inspection.vue
+++ /dev/null
@@ -1,2577 +0,0 @@
-<template>
- <div class="ins_order_add">
- <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
- <el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">閲囪喘璁㈠崟淇℃伅 鎬讳环锛�<span
- style="color: #3A7BFA">锟{total}}</span></el-col>
- <el-col :span="18" style="text-align: right;">
- <el-select v-model="template" size="medium" placeholder="涓嬪崟妯℃澘" style="margin-right: 10px;" v-show="active==1"
- @change="selectInsOrderTemplateById">
- <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name">
- <span style="float: left">{{ a.name }}</span>
- <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px"
- @click.stop="handleDelete(a)"></i>
- </el-option>
- </el-select>
- <el-button size="medium" @click="templateDia=true" v-show="active==1">
- <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
- </el-button>
- <el-button size="medium" type="primary" @click="openCableConfig"
- v-if="active==1&&PROJECT=='瑁呭鐢电紗'&&addObj.sampleType!=undefined&&addObj.sampleType.indexOf('鐢电紗')>-1">鐢电紗閰嶇疆</el-button>
- <el-button size="medium" type="primary" @click="openEquipConfig" v-if="active==1">瀛愭牱鍝侀厤缃�</el-button>
- <el-button size="medium" type="primary" @click="openConfig" v-if="addObj.sampleType==='鍏夌紗'">鍏夌氦閰嶇疆</el-button>
- <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">鎻愪氦</el-button>
- <!-- 瀹℃牳 -->
- <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3"
- :disabled="saveLoad">涓嶉�氳繃</el-button>
- <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad"
- v-show="active==3">閫氳繃</el-button>
- <el-button size="medium" @click="$parent.playOrder(0)">
- <span style="color: #3A7BFA;">杩斿洖</span>
- </el-button>
- </el-col>
- </el-row>
- </div>
- <div class="search" v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
- <el-row>
- <el-col class="search_thing" :span="6">
- <div class="search_label">閲囪喘璁㈠崟鍙凤細</div>
- <div class="search_input">
- <el-input v-model="addObj.entrustCode" size="small" placeholder="绯荤粺鐢熸垚" disabled></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>渚涘簲鍟嗙紪鍙凤細</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇峰~鍐�" clearable :readonly="active>1" v-model="addObj.phone"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>渚涘簲鍟嗗悕绉帮細</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇峰~鍐�" clearable :readonly="active>1" v-model="addObj.phone"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>鏍峰搧缂栧彿锛�</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇峰~鍐�" clearable :readonly="active>1" v-model="addObj.phone"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>鏍峰搧鍚嶇О锛�</div>
- <div class="search_input">
- <el-input readonly size="small" v-model="addObj.sample">
- <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectStandardTree = true"
- :disabled="active>1"></el-button></template>
- </el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>鏍峰搧鏁伴噺锛�</div>
- <div class="search_input">
- <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0"
- style="width: 65%;" @change="addStandardTree" :disabled="active>1"></el-input-number>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>鎺ユ敹鏃堕棿锛�</div>
- <div class="search_input">
- <el-date-picker
- v-model="addObj.sampleNum"
- :disabled="active>1"
- type="date"
- style="width: 100%;"
- size="small"
- placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6" >
- <div class="search_label"><span class="required-span">* </span>鎶ユ浜猴細</div>
- <div class="search_input">
- <el-input size="small" clearable disabled v-model="addObj.custom"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6" >
- <div class="search_label"><span class="required-span">* </span>鍒跺崟浜猴細</div>
- <div class="search_input">
- <el-input size="small" clearable disabled v-model="addObj.custom"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>鍒跺崟鏃堕棿锛�</div>
- <div class="search_input">
- <el-date-picker
- v-model="addObj.sampleNum"
- :disabled="active>1"
- type="date"
- style="width: 100%;"
- size="small"
- placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label">濮旀墭淇℃伅锛�</div>
- <div class="search_input">
- <el-input size="small" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.prepareUser" :readonly="active>1"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;">
- <div class="search_label">澶囨敞锛�</div>
- <div class="search_input">
- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" size="small" clearable :placeholder="active>1 ? '' : '璇疯緭鍏�'"
- v-model="addObj.remark" :readonly="active>1"></el-input>
- </div>
- </el-col>
- <el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>妫�楠岀被鍒細</div>
- <div class="search_input">
- <el-select size="small" style="width: 100%;" clearable v-model="addObj.orderType" :disabled="active>1">
- <el-option v-for="(a, ai) in orderType" :key="ai" :value="a.value" :label="a.label"></el-option>
- </el-select>
- </div>
- </el-col>
- </el-row>
- </div>
- <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
- <div class="search" v-if="active==1" style="display: flex;background: transparent;">
- <div class="search_thing">
- <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
- <div class="search_input">
- <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
- @change="changeModel">
- <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- </div>
- <div class="search_thing">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <div class="search_input">
- <el-select v-model="standardMethodListId" :placeholder="active>1 ? '' : '璇疯緭鍏�'" size="small" @focus="methodFocus"
- :loading="methodLoad" @change="changeStandardMethodListId">
- <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div>
- </div>
- </div>
- <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-bottom: 10px;">
- <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column>
- <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
- <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100">
- <template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="140" align="center">
- <template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
- :readonly="active>1"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" min-width="100">
- <template slot-scope="scope">
- <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧鍨嬪彿"
- size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;">
- <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="modelNum" label="鍨嬪彿鍙傛暟" width="130" align="center" v-if="!(active>1)">
- <template slot-scope="scope">
- <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�"
- @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)"
- @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
- <template slot-scope="scope">
- <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
- placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
- @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []">
- <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="joinName" label="閰嶅鏍峰搧鍚嶇О" width="140" align="center" v-if="addObj.mating==1">
- <template slot-scope="scope">
- <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
- v-model="scope.row.joinName"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="joinModel" label="閰嶅鏍峰搧鍨嬪彿" width="140" align="center" v-if="addObj.mating==1">
- <template slot-scope="scope">
- <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
- v-model="scope.row.joinModel"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" width="140" align="center" v-if="addObj.mating==1">
- <template slot-scope="scope">
- <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0"
- :controls="false" style="width: 80%;"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column prop="proNum" label="寰呮椤规暟閲�" width="105" align="center"></el-table-column>
- </el-table>
- <el-table class="el-table" ref="productTable" :data="productList"
- height="380px" tooltip-effect="dark" border
- style="margin-bottom: 10px;"
- @selection-change="selectProduct"
- @select="upProductSelect"
- :row-class-name="tableRowClassName"
- @select-all="handleAll"
- v-loading="getProductLoad">
- <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip>
- <template slot="header" slot-scope="scope">
- <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"
- placeholder="璇疯緭鍏�"/>
- </div>
- </template>
- </el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
- show-overflow-tooltip>
- <template slot="header" slot-scope="scope">
- <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"
- placeholder="璇疯緭鍏�"/>
- </div>
- </template>
- </el-table-column>
- <el-table-column prop="inspectionItemClass" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被" min-width="140" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被(EN)" min-width="140" show-overflow-tooltip></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters"
- :filter-method="filterHandler"></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
- <template slot="header" slot-scope="scope">
- <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"
- placeholder="璇疯緭鍏�"/>
- </div>
- </template>
- </el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
- <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
- <template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
- v-if="active==1&&isAskOnlyRead"></el-input>
- <span v-else>
- <template >{{ scope.row.ask }}</template>
- </span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%">
- <div class="body" style="height: 60vh;" v-if="selectUserDia">
- <ValueTable ref="ValueTable2" :url="$api.user.selectCustomPageList" :componentData="componentData2" />
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="selectUserDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="selectUser">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog title="閫夋嫨鏍峰搧" :visible.sync="selectStandardTree" width="400px">
- <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
- <el-row>
- <el-col :span="24">
- <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
- style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
- @keyup.enter.native="searchFilter"></el-input>
- </el-col>
- </el-row>
- <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
- :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
- @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
- <div class="custom-tree-node" slot-scope="{ node, data }">
- <el-row>
- <el-col :span="24">
- <span><i
- :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
- {{ data.code }} {{ data.label }}</span>
- </el-col>
- </el-row>
- </div>
- </el-tree>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="selectStandardTree = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog title="淇濆瓨妯℃澘" :visible.sync="templateDia" width="400px">
- <div class="body" style="display: flex;align-items: center;" v-if="templateDia">
- <div class="search_label" style="width: 90px;"><span class="required-span">* </span>妯℃澘鍚嶇О锛�</div>
- <div class="search_input">
- <el-input size="small" clearable v-model="templateName"></el-input>
- </div>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="templateDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="400px">
- <div class="body" style="max-height: 60vh;">
- <el-row>
- <el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
- <div class="search_input">
- <el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd" style="width: 100%;" format="yyyy-MM-dd">
- </el-date-picker>
- </div>
- </el-col>
- <el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span" v-if="addObj.type == 2">* </span>鎸囨淳浜哄憳锛�</div>
- <div class="search_input">
- <el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" filterable style="width: 100%;">
- <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- </el-col>
- </el-row>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-row>
- <el-button @click="issuedDialogVisible=false">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitForm2" :loading="upLoad">纭� 瀹�</el-button>
- </el-row>
- </span>
- </el-dialog>
- <el-dialog title="涓嶉�氳繃鍘熷洜" :visible.sync="noDialogVisible" width="400px">
- <div class="body" style="max-height: 60vh;">
- <el-row>
- <el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div>
- <div class="search_input">
- <el-input v-model="tell" size="small" placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"></el-input>
- </div>
- </el-col>
- </el-row>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-row>
- <el-button @click="noDialogVisible=false,tell=''">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitTell" :loading="noLoading">纭� 瀹�</el-button>
- </el-row>
- </span>
- </el-dialog>
- <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :active="active" />
- <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" />
- <cableConfig v-if="cableConfigShow" :active="active" />
- <!-- 鍗曢�夌壒娈婂�煎鐞嗘-->
-<!-- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false"-->
-<!-- :before-close="beforeClose">-->
-<!-- <div class="body" style="max-height: 60vh;">-->
-<!-- <el-row v-if="bsm1">-->
-<!-- <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">-->
-<!-- <div class="search_label"><span class="required-span">* </span>閫夐」锛�</div>-->
-<!-- <div class="search_input">-->
-<!-- <el-radio-group v-model="bsm1Val" @input="upBsm1">-->
-<!-- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio>-->
-<!-- </el-radio-group>-->
-<!-- </div>-->
-<!-- </el-col>-->
-<!-- <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">-->
-<!-- <div class="search_label">瑕佹眰鍊硷細</div>-->
-<!-- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">-->
-<!-- <el-radio-group v-model="bsm1Val" @input="upBsm1">-->
-<!-- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"-->
-<!-- :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>-->
-<!-- </el-radio-group>-->
-<!-- </div>-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-<!-- <el-row v-if="bsm2">-->
-<!-- <el-col class="search_thing" :span="22">-->
-<!-- <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div>-->
-<!-- <div class="search_input">-->
-<!-- <el-input-number size="medium" v-model="bsm2Val" :min="1" :max="bsm2Val3.length" :precision="0"-->
-<!-- style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number>-->
-<!-- <span>MAX锛歿{bsm2Val3.length}}</span>-->
-<!-- </div>-->
-<!-- </el-col>-->
-<!-- <el-col style="margin-top: 6px;">-->
-<!-- <el-col v-for="(a,ai) in bsm2Val2" :key="ai">-->
-<!-- <el-col :span="10">-->
-<!-- <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">-->
-<!-- <el-option v-for="(item,index) in sampleList" :key="index" :label="index+1" :value="index+1">-->
-<!-- </el-option>-->
-<!-- </el-select>-->
-<!-- </el-col>-->
-<!-- <!– <el-col :span="10" class="pairing">{{a[0]}}</el-col> –>-->
-<!-- <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>-->
-<!-- <el-col :span="10">-->
-<!-- <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">-->
-<!-- <el-option v-for="(item,index) in sampleList" :key="index" :label="index+1" :value="index+1">-->
-<!-- </el-option>-->
-<!-- </el-select>-->
-<!-- </el-col>-->
-<!-- </el-col>-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-<!-- </div>-->
-<!-- </el-dialog>-->
- <!-- 鍏ㄩ�夌壒娈婂�煎鐞嗘-->
-<!-- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1DiaAll" width="500px" :show-close="false"-->
-<!-- :before-close="beforeClose">-->
-<!-- <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index">-->
-<!-- <el-row v-if="item.bsm1">-->
-<!-- <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">-->
-<!-- <div class="search_label"><span class="required-span">* </span>閫夐」锛�</div>-->
-<!-- <div class="search_input">-->
-<!-- <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">-->
-<!-- <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio>-->
-<!-- </el-radio-group>-->
-<!-- </div>-->
-<!-- </el-col>-->
-<!-- <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">-->
-<!-- <div class="search_label">瑕佹眰鍊硷細</div>-->
-<!-- <div class="search_input" v-show="item.bsm1Val!==null&&item.bsm1Val!==''">-->
-<!-- <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">-->
-<!-- <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai"-->
-<!-- :label="a">{{JSON.parse(item.bsmRow.ask)[ai]}}</el-radio>-->
-<!-- </el-radio-group>-->
-<!-- </div>-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-<!-- <el-row v-if="item.bsm2">-->
-<!-- <el-col class="search_thing" :span="22">-->
-<!-- <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div>-->
-<!-- <div class="search_input">-->
-<!-- <el-input-number size="medium" v-model="item.bsm2Val" :min="1" :max="item.bsm2Val3.length" :precision="0"-->
-<!-- style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number>-->
-<!-- <span>MAX锛歿{item.bsm2Val3.length}}</span>-->
-<!-- </div>-->
-<!-- </el-col>-->
-<!-- <el-col style="margin-top: 6px;">-->
-<!-- <el-col v-for="(a,ai) in item.bsm2Val2" :key="ai">-->
-<!-- <el-col :span="10">-->
-<!-- <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">-->
-<!-- <el-option v-for="(item,index) in item.sampleList" :key="index" :label="index+1" :value="index+1">-->
-<!-- </el-option>-->
-<!-- </el-select>-->
-<!-- </el-col>-->
-<!-- <!– <el-col :span="10" class="pairing">{{a[0]}}</el-col> –>-->
-<!-- <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>-->
-<!-- <el-col :span="10">-->
-<!-- <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">-->
-<!-- <el-option v-for="(item,index) in item.sampleList" :key="index" :label="index+1" :value="index+1">-->
-<!-- </el-option>-->
-<!-- </el-select>-->
-<!-- </el-col>-->
-<!-- <!– <el-col :span="10" class="pairing">{{a[1]}}</el-col> –>-->
-<!-- </el-col>-->
-<!-- </el-col>-->
-<!-- </el-row>-->
-<!-- </div>-->
-<!-- </el-dialog>-->
-<!-- <el-dialog title="鐗规畩鍊煎~鍐�" :visible.sync="bsm3Dia" width="800px" :show-close="false">-->
-<!-- <el-table-->
-<!-- :data="editTable"-->
-<!-- style="width: 100%">-->
-<!-- <!– inspectionItemList –>-->
-<!-- <el-table-column-->
-<!-- prop="inspectionItemList"-->
-<!-- label="妫�楠岄」"-->
-<!-- width="180">-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="sampleCode"-->
-<!-- label="鏍峰搧缂栧彿"-->
-<!-- width="180">-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="model"-->
-<!-- label="鏍峰搧鍨嬪彿"-->
-<!-- width="180">-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="symbolItem"-->
-<!-- label="璇嗗埆绗﹀彿">-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="value"-->
-<!-- label="璇嗗埆绗﹀��">-->
-<!-- <template slot-scope="scope">-->
-<!-- <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small"></el-input>-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- </el-table>-->
-<!-- <span slot="footer" class="dialog-footer">-->
-<!-- <el-row>-->
-<!-- <el-button @click="bsm3Dia=false">鍙� 娑�</el-button>-->
-<!-- <el-button type="primary" @click="save0" :loading="saveLoad">纭� 瀹�</el-button>-->
-<!-- </el-row>-->
-<!-- </span>-->
-<!-- </el-dialog>-->
-<!-- <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.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.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 @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%"-->
-<!-- @row-click="rowClickOptical"-->
-<!-- @select="selectOpticalProject"-->
-<!-- @select-all="selectAllOptical"-->
-<!-- @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>娓╁害鐐归泦鍚�</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="璇疯緭鍏�" @change="changeTemperature"></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" @change="changeTemperature">-->
-<!-- <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" @change="changeTemperature"></el-input>-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- </el-table>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- <span slot="footer" class="dialog-footer">-->
-<!-- <el-button @click="cleanSpliceData">鍙栨秷</el-button>-->
-<!-- <el-button type="primary" @click="spliceData">淇濆瓨</el-button>-->
-<!-- </span>-->
-<!-- </el-dialog>-->
-<!-- <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow" width="260px" :before-close="temperatureShowClose" :show-close="false">-->
-<!-- <div>-->
-<!-- <div v-if="isShowInput" style="margin-bottom: 6px">-->
-<!-- <span>寰幆娆℃暟:</span>-->
-<!-- <!– <el-input size="small" type="number" v-model="temperatureTestNum" style="width: 120px"></el-input> –>-->
-<!-- <el-input-number v-model="temperatureTestNum" :min="2" :max="1000000" size="small" label=""></el-input-number>-->
-<!-- </div>-->
-<!-- <el-checkbox-group v-model="temperatureTest" @change="handleTemperatureTestChange" style="display: flex;flex-direction: column;">-->
-<!-- <el-checkbox v-for="item in temperatureList" :label="item" :key="item" style="margin-bottom: 6px">{{item}}</el-checkbox>-->
-<!-- </el-checkbox-group>-->
-<!-- </div>-->
-<!-- <span slot="footer" class="dialog-footer">-->
-<!-- <el-button @click="cleanTemperatureTest">鍙栨秷</el-button>-->
-<!-- <el-button type="primary" @click="spliceTemperatureTest">淇濆瓨</el-button>-->
-<!-- </span>-->
-<!-- </el-dialog>-->
- </div>
-</template>
-
-<script>
-import ValueTable from '../../tool/value-table.vue'
-import fiberOpticConfig from './material-fiberoptic-config.vue'
-import equipConfig from './material-equip-config.vue'
-import cableConfig from './material-cable-config.vue'
-import Vue from 'vue'
-
-export default {
- components: {
- ValueTable,
- fiberOpticConfig,
- equipConfig,
- cableConfig
- },
- props: {
- active: {
- type: Number,
- default: () => 0
- },
- currentId: {
- type: Number,
- default: () => 0
- }
- },
- data() {
- return {
- editTable:[],
- template: null,
- templates: [],
- addObj: {
- entrustCode: null,
- custom: null,
- userId: null,
- type: '0',
- code: null,
- appointed: null,
- remark: null,
- otcCode: null,
- mating: 0,
- sample: null,
- factory: null,
- laboratory: null,
- sampleType: null,
- sampleNum: 1,
- unit: null,
- model: null,
- method: null,
- phone: null,
- processing: 1,
- isLeave: 0,
- orderType: null,
- send: 1,
- formType: '閫佹',
- engineering: null,
- engineeringEn: null,
- production: null,
- productionEn: null,
- companyId: null,
- prepareUser:null
- },
- sample: {
- sampleCode: null,
- laboratory: null,
- factory: null,
- sampleType: null,
- sample: null,
- model: null,
- modelNum: null,
- sampleNum: 1,
- isLeave: 0,
- unit: null
- },
- type: [],
- selectUserDia: false,
- componentData2: {
- entity: {
- orderBy: {
- field: 'id',
- order: 'asc'
- }
- },
- isIndex: true,
- showSelect: true,
- select: false,
- do: [],
- tagField: {
- state: {
- select: [{
- value: 1,
- type: 'success',
- label: '鍚敤'
- }, {
- value: 0,
- type: 'danger',
- label: '鍋滅敤'
- }]
- }
- },
- selectField: {},
- },
- selectStandardTree: false,
- search: null,
- list: [],
- selectTree: null,
- expandedKeys: [],
- sampleList: [],
- sampleIds: [],
- methodList: [],
- addSampleDia: false,
- count: 1,
- productList: [],
- productList0: [],
- bsm1DiaList: [],
- productIds: [],
- productListSelected: [],
- getProductLoad: false,
- saveLoad: false,
- templateDia: false,
- templateLoading: false,
- templateName: '',
- issuedDialogVisible: false,
- distributeData: {
- appointed: '',
- userId: ''
- },
- personList: [],
- upLoad: false,
- units: [],
- models: [],
- methods: [],
- methodLoad: false,
- noDialogVisible: false,
- tell: '',
- noLoading: false,
- orderType: [],
- filters: [],
- formType: [],
- configShow: false,
- currentMethod: null,
- isAskOnlyRead: false,
- sampleId: null,
- // bsmRow: null,
- // bsm1: false,
- // bsm1Val: null,
- // bsm1Dia: false,
- // bsm1DiaAll: false,
- equipConfigShow: false,
- cableConfigShow: false,
- // bsm2: false,
- // bsm2Val: null,
- // bsm2Dia: false,
- // bsm2Val2: [],
- // bsm2Val3: [],
- // bsmRow3: null,
- // bsm3Val: null,
- // bsm3Dia: false,
- total: 0,
- RTS: '',
- totalArr: [],
- model: null,
- standardMethodListId: null,
- symbolList:[
- 'RTS','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'],
- inspectionItem:null,
- inspectionItemSubclass:null,
- methodS:null,
- // circulateShow:false,
- // circulateForm:{
- // entrustTime: '',
- // entrustNum: '',
- // entrustPoint: ''
- // },
- // isBsm2Val2:false,
- // opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃
- // opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁�
- // temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛�
- // temperatureDataList: [
- // {label: '<', value: '<'},
- // {label: '鈮�', value: '鈮�'},
- // {label: '=', value: '='},
- // {label: '鈮�', value: '鈮�'},
- // {label: '>', value: '>'},
- // ],
- // temperatureShow: false, // 娓╁崌璇曢獙妫�楠岄」寮规
- // temperatureTest: [],
- // temperatureList: [],
- // temperatureEngList: [],
- // temperatureTitle: '',
- // temperatureTestNum: '',
- // isShowInput: false,
- temId: ''
- }
- },
- watch: {
- sampleList() {
- this.addObj.method = null
- this.productList = []
- },
- productList: {
- deep: true,
- handler(val) {
- if (val && val.length > 0) {
- let arr = [];
- val.forEach(item => {
- if (item.sonLaboratory && !arr.find(a => a.value == item.sonLaboratory)) {
- arr.push({
- text: item.sonLaboratory,
- value: item.sonLaboratory
- })
- }
- })
- this.filters = arr
- }
- }
- },
- sampleList: {
- deep: true,
- handler(val) {
- this.getTotal()
- }
- },
- 'addObj.sample'(val) {
- this.model = null
- this.standardMethodListId = null
- },
- 'addObj.sampleNum'(val) {
- this.model = null
- this.standardMethodListId = null
- }
- },
- mounted() {
- this.selectEnumByCategoryForType()
- this.getUserNow()
- this.selectStandardTreeList()
- this.selectInsOrderTemplate()
- this.getAuthorizedPerson();
- this.selectEnumByCategoryForUnit()
- this.selectStandardMethods()
- this.selectEnumByCategoryForOrderType()
- // this.selectEnumByCategoryForSonLaboratory()
- this.selectEnumByCategoryForSampleForm()
- if (this.active != 1) {
- // 鏌ョ湅/瀹℃牳娴佺▼
- // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹�
- this.$axios.post(this.$api.insOrder.getInsOrder, {
- orderId: this.currentId
- }).then(res => {
- this.addObj = {
- ...res.data.insOrder
- };
- this.addObj.type = String(this.addObj.type)
- this.sampleList = this.HaveJson(res.data.sampleProduct);
- this.getProNum()
- this.addObj.sampleNum = this.sampleList.length
- this.$nextTick(() => {
- this.$refs.sampleTable.doLayout()
- if (this.addObj.sampleNum > 0) {
- this.$refs.sampleTable.setCurrentRow(this.sampleList[0], true)
- this.rowClick(this.sampleList[0])
- }
- })
- })
- }
- },
- methods: {
- spliceData () {
- if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) {
- this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
- return
- }
- // 鎷兼帴瑕佹眰鍊糰sk
- const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList))
- opticalProjectList.forEach(o => {
- o.temperatureData.forEach(t => {
- if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
- throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
- }
- })
- if (!o.temperatureData.some(item => item.temperaturePoint == '20')) {
- throw this.$message.error(`${o.value + '娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣'}`)
- }
- })
- let entrustTime = this.circulateForm.entrustTime
- let entrustNum = this.circulateForm.entrustNum
- let opticalProjectList2 = JSON.parse(JSON.stringify(this.opticalProjectList))
- let askArr = []
- let opticalProjectArr = []
- opticalProjectList.forEach(o => {
- opticalProjectArr.push(o.value)
- o.temperatureData.unshift({temperaturePoint: 20})
- o.temperatureData.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 + '娆�'
- opticalProjectList2.forEach(o => {
- o.temperatureData.forEach(t => {
- t.temperaturePoint = t.temperaturePoint + '鈩�'
- temperaturePointList2.push(t.temperaturePoint)
- temperaturePointList.push(t.temperaturePoint)
- askNum.push(t.askSymbol + t.askNum + 'dB/Km')
- })
- })
- temperaturePointList = Array.from(new Set(temperaturePointList))
- temperaturePointList2 = Array.from(new Set(temperaturePointList2))
- temperaturePointList2.unshift(20 + '鈩�(甯告俯)')
- let additionArr = []
- askNum.forEach(a => {
- additionArr.push(temperaturePointList.join(',') + a)
- })
- additionArr = Array.from(new Set(additionArr))
- 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
- },
- spliceTemperatureTest () {
- if (this.temperatureTest.length === 0) {
- this.$message.error('璇烽�夋嫨')
- return
- }
- let askStr = ''
- let askArr1 = []
- let askArr2 = ''
- let ask = ''
- let index = ''
- this.temperatureTest.map(val => {
- index = this.temperatureEngList.findIndex(item => item.label === val)
- if (index > -1) {
- askStr = val + ',' + this.temperatureEngList[index].value
- }
- askArr1.push(askStr)
- })
-
- if (this.temperatureTitle === '娓╁崌璇曢獙瑕佹眰濉啓') {
- askArr2 = askArr1.join(';')
- ask = askArr2 + ';1'
- } else {
- if (!this.temperatureTestNum) {
- this.$message.error('璇峰~鍐欏惊鐜鏁�')
- return
- }
- askArr2 = askArr1.join(';')
- ask = askArr2 + ';' + this.temperatureTestNum
- }
- this.productList.forEach(item => {
- if (item.id === this.temId) {
- item.ask = ask
- item.tell = ask
- }
- })
- console.log('ask---', ask)
- this.temperatureShow = false
- },
- temperatureShowClose () {
- if (this.temperatureTitle === '鐑惊鐜姹傚~鍐�' && !this.temperatureTestNum) {
- this.$message.error('璇峰~鍐欏惊鐜鏁�')
- return
- }
- if (this.temperatureTest.length === 0) {
- this.$message.error('璇烽�夋嫨')
- return
- }
- // this.spliceTemperatureTest()
- },
- cleanTemperatureTest () {
- this.temperatureTest = []
- this.temperatureTestNum = ''
- this.temperatureShow = false
- },
- cleanSpliceData () {
- this.circulateForm.entrustNum = null
- this.circulateForm.entrustTime = null
- this.circulateForm.entrustPoint = null
- this.opticalProjectList = []
- this.$refs.multipleTable.clearSelection()
- this.temperatureData = []
- 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
- }
- // 鎷兼帴瑕佹眰鍊糰sk
- const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList))
- opticalProjectList.forEach(o => {
- o.temperatureData.forEach(t => {
- if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
- throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
- }
- })
- if (!o.temperatureData.some(item => item.temperaturePoint == '20')) {
- throw this.$message.error(`${o.value + '娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣'}`)
- }
- })
- // this.spliceData()
- },
-
- handleTemperatureTestChange (value) {
- console.log('value---', value)
- },
- handleSelectionChange(val) {
- this.opticalProjectList = val;
- },
- selectAllOptical (val) {
- if (val.length > 0) {
- if (val[val.length-1].temperatureData) {
- this.temperatureData = this.HaveJson(val.temperatureData)
- } else {
- this.temperatureData = []
- }
- } else {
- this.temperatureData = []
- }
- this.circulateForm.entrustPoint = this.temperatureData.length
- },
- selectOpticalProject (val) {
- if (val.temperatureData) {
- this.temperatureData = this.HaveJson(val.temperatureData)
- } else {
- this.temperatureData = []
- }
- this.circulateForm.entrustPoint = this.temperatureData.length
- },
- rowClickOptical (val) {
- const index = this.opticalProjectList.findIndex(item => item.value === val.value)
- if (index > -1 && val.temperatureData) {
- this.temperatureData = this.HaveJson(val.temperatureData)
- }
- this.circulateForm.entrustPoint = this.temperatureData.length
- },
- changeTemperature () {
- this.opticalProjectList.forEach(item => {
- item.temperatureData = this.HaveJson(this.temperatureData)
- })
- },
- addTemperatureData () {
- const obj = {}
- this.temperatureData.push(obj)
- this.circulateForm.entrustPoint = this.temperatureData.length
- },
- deleteTemperatureData () {
- if (this.temperatureData.length > 0) {
- this.temperatureData = this.temperatureData.slice(0,-1)
- }
- this.circulateForm.entrustPoint = this.temperatureData.length
- },
- 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, // 妫�楠岄」
- inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」
- methodS: this.methodS, // 璇曢獙鏂规硶
- }
- const isHaveValue = Object.values(vtw).some(item => {
- return item
- })
- if (isHaveValue) {
- for(let i in vtw) {
- if (vtw[i]) {
- this.productList = this.productList0.filter((item) => {
- return item[i] && item[i].includes(vtw[i])
- })
- }
- }
- } else {
- // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹�
- this.productList = this.productList0
- }
- },
- getAuthorizedPerson() {
- this.$axios.get(this.$api.user.getUserMenu).then(res => {
- let data = []
- res.data.forEach(a => {
- data.push({
- label: a.name,
- value: a.id
- })
- })
- this.personList = data
- })
- },
- selectEnumByCategoryForType() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "绱ф�ョ▼搴�"
- }).then(res => {
- this.type = res.data
- })
- },
- selectUser() {
- let selects = this.$refs.ValueTable2.multipleSelection
- if (selects.length == 0) {
- this.$message.error('鏈�夋嫨鏁版嵁')
- return
- }
- this.addObj.code = selects.code
- this.addObj.companyId = selects.id
- this.selectUserDia = false
- },
- containsValue(str) {
- if(str){
- let symbolItem = ''
- this.symbolList.some(value =>{
- if(str.includes(value)){
- symbolItem = value
- return true
- }
- })
- return symbolItem
- }
- },
- handleAsk(ask,symbolItem, value) {
- try{
- let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"];
- if (ask.includes('&')) {
- // 澶氫釜鏉′欢
- let arr0 = ask.split('&')
- let arr1 = []
- arr0.forEach(m => {
- let index = code.findIndex(b => m.includes(b))
- if (index > -1) {
- let arr = m.split(code[index]).filter(b => !!b)
- let num = eval(this.replaceAll(arr[0], symbolItem, value))
- m = code[index] + '' + num
- arr1.push(m)
- }
- })
- return arr1.join('&')
- } else {
- // 鍗曚釜鏉′欢
- let index = code.findIndex(b => ask.includes(b))
- if (index > -1) {
- let arr = ask.split(code[index]).filter(b => !!b)
- let num = eval(this.replaceAll(arr[0], symbolItem, value))
- return code[index] + '' + num
- }
- }
- }catch(e){}
- },
- handleTell(tell,symbolItem, value){
- try{
- let num = this.replaceAll(tell, symbolItem, value)
- return num
- }catch(e){}
- },
- replaceAll(str,find,value) {
- if (str === undefined) {
- return str
- }
- return str.replace(find, value);
- },
- save() {
- if (!this.addObj.companyId) {
- this.$message.error('鏈�夋嫨瀹㈡埛鍗曚綅')
- return
- }
- if (!this.addObj.type) {
- this.$message.error('鏈�夋嫨绱ф�ョ▼搴�')
- } else if (!this.addObj.formType) {
- this.$message.error('璇疯緭鍏ヨ鍗曠被鍨�')
- } else if (!this.addObj.orderType) {
- this.$message.error('璇烽�夋嫨妫�楠岀被鍒�')
- } else if (!this.addObj.production) {
- this.$message.error('璇疯緭鍏ョ敓浜у崟浣�')
- } else if (!this.addObj.productionEn) {
- this.$message.error('璇疯緭鍏ョ敓浜у崟浣岴N')
- } else if (this.sampleList.length < 1) {
- this.$message.error('璇锋坊鍔犱竴涓牱鍝�')
- } else if (!this.sampleList.every(m => m.sample)) {
- this.$message.error('璇疯緭鍏ユ牱鍝佸悕绉�')
- } else if (!this.sampleList.every(m => m.model)) {
- this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�')
- } 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('鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆')
- //
- // this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
- // this.rowClick(this.currentMethod)
- // this.sampleIds = [this.currentMethod.id]
- // this.openConfig()
- // return
- // }
- let sampleList = this.HaveJson(this.sampleList)
- let projectNum = this.totalArr.filter(a => a.state == 1).length
- if(projectNum==0){
- this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(() => {
- this.saveMethod(sampleList)
- }).catch(() => {})
- }else{
- let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1)
- if (isRTS&&this.PROJECT=='妫�娴嬩腑蹇�') {
- this.editTable = this.handleData(sampleList,this.containsValue, 0)
- this.editTable.forEach(item => {
- item.value = item.modelNum
- })
- this.bsm3Dia = true;
- return
- }
- this.saveMethod(sampleList)
- }
- }
- },
- save0(){
- if(this.editTable.every(m=>m.value)){
- let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1)
- this.saveMethod(sampleList)
- }else{
- this.$message.error('璇峰~鍐欒瘑鍒鍊�')
- }
- },
- handleData(sampleList,calBack,type){
- let editTable = []
- sampleList.forEach(item => {
- let obj = {
- sampleCode:item.sampleCode,
- model:item.model,
- symbolList:[],
- sampleId:item.id,
- modelNum:item.modelNum,
- }
- if (item.insProduct && item.insProduct.length > 0) {
- item.insProduct.forEach(a => {
- if (a.state == 1) {
- if(type==0){
- let str = calBack(a.ask)
- str&&obj.symbolList.push({
- symbolItem:str,
- inspectionItem:a.inspectionItem,
- })
- }else if(type==1){
- let arr = this.editTable.filter(b => b.sampleId == item.id)
- for (var i=0;i<arr.length;i++){
- if(a.ask){
- if(a.ask.includes(arr[i].symbolItem)){
- let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value)
- if (ask) {
- a.ask = ask
- }
- let tell = this.handleTell(a.tell, arr[i].symbolItem,arr[i].value)
- if (tell) {
- a.tell = tell
- }
- }
- }else{
- this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒')
- }
- }
- // arr.forEach(f => {
- // if(a.ask){
- // if(a.ask.includes(f.symbolItem)){
- // let ask = calBack(a.ask, f.symbolItem,f.value)
- // if (ask) {
- // a.ask = ask
- // }
- // let tell = this.handleTell(a.tell, f.symbolItem,f.value)
- // if (tell) {
- // a.tell = tell
- // }
- // }
- // }else{}
- // })
- }
- }
- })
- }
- // 鍏夌氦甯﹂」鐩�
- if (item.bushing && item.bushing.length > 0) {
- item.bushing.forEach(a => {
- if (a.fiber && a.fiber.length > 0) {
- a.fiber.forEach(b => {
- if (b.productList && b.productList.length > 0) {
- b.productList.forEach(c => {
- if (c.state == 1) {
- if(type==0){
- let str = calBack(c.ask)
- str&&obj.symbolList.push({
- symbolItem:str,
- inspectionItem:c.inspectionItem,
- })
- }else if(type==1){
- let arr = this.editTable.filter(b => b.sampleId == item.id)
- arr.forEach(f => {
- if(c.ask.includes(f.symbolItem)){
- let ask = calBack(c.ask, f.symbolItem,f.value)
- if (ask) {
- c.ask = ask
- }
- let tell = this.handleTell(c.tell, f.symbolItem,f.value)
- if (tell) {
- c.tell = tell
- }
- }
- })
- }
- }
- })
- }
- })
- }
- if (a.fibers && a.fibers.length > 0) {
- a.fibers.forEach(b => {
- if (b.productList && b.productList.length > 0) {
- b.productList.forEach(c => {
- if (c.state == 1) {
- if(type==0){
- let str = calBack(c.ask)
- str&&obj.symbolList.push({
- symbolItem:str,
- inspectionItem:c.inspectionItem,
- })
- }else if(type==1){
- // let ask = calBack(c.ask, c.rts)
- // if (ask && c.state == 1) {
- // c.ask = csk
- // }
- let arr = this.editTable.filter(b => b.sampleId == item.id)
- arr.forEach(f => {
- if(c.ask.includes(f.symbolItem)){
- let ask = calBack(c.ask, f.symbolItem,f.value)
- if (ask) {
- c.ask = ask
- }
- let tell = this.handleTell(c.tell, f.symbolItem,f.value)
- if (tell) {
- c.tell = tell
- }
- }
- })
- }
- }
- })
- }
- if (b.fiber && b.fiber.length > 0) {
- b.fiber.forEach(c => {
- if (c.productList && c.productList.length > 0) {
- c.productList.forEach(d => {
- if (d.state == 1) {
- if(type==0){
- let str = calBack(d.ask)
- str&&obj.symbolList.push({
- symbolItem:str,
- inspectionItem:d.inspectionItem,
- })
- }else if(type==1){
- // let ask = calBack(d.ask, d.rts)
- // if (ask && d.state == 1) {
- // d.ask = ask
- // }
- let arr = this.editTable.filter(b => b.sampleId == item.id)
- arr.forEach(f => {
- if(d.ask.includes(f.symbolItem)){
- let ask = calBack(d.ask, f.symbolItem,f.value)
- if (ask) {
- d.ask = ask
- }
- let tell = this.handleTell(d.tell, f.symbolItem,f.value)
- if (tell) {
- d.tell = tell
- }
- }
- })
- }
- }
- })
- }
- })
- }
- })
- }
- })
- }
- if(type==0){
- editTable.push(obj)
- }
- })
- if(type==0){
- editTable.forEach(a => {
- a.symbolList.forEach(b => {
- let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem);
- b.inspectionItemList = arr.map(c => c.inspectionItem).join(',')
- })
- })
- editTable.forEach(a => {
- let mySet = new Set();
- a.symbolList = a.symbolList.filter(b =>{
- let num0 = mySet.size;
- mySet.add(b.symbolItem);
- let num1 = mySet.size;
- if(num0!=num1){
- return true;
- }else{
- return false
- }
- })
- })
- let editTableNew = []
- editTable.forEach(a => {
- a.symbolList.forEach(b => {
- let obj = {
- sampleCode:a.sampleCode,
- model:a.model,
- symbolItem:b.symbolItem,
- sampleId:a.sampleId,
- value:null,
- inspectionItemList:b.inspectionItemList,
- modelNum:a.modelNum,
- }
- editTableNew.push(obj)
- })
- })
- return editTableNew
- }else{
- return sampleList
- }
- },
- saveMethod(sampleList){
- this.saveLoad = true
- this.$axios.post(this.$api.insOrder.addInsOrder, {
- str: JSON.stringify({
- insOrder: this.addObj,
- list: JSON.stringify(sampleList.map(a => {
- a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ?
- '' : (
- '-' + a.modelNum))
- a.insProduct = a.insProduct.filter(b=>b.state === 1)
- return a
- })),
- pairing: JSON.stringify(this.bsm2Val2)
- })
- }).then(res => {
- this.saveLoad = false
- if (res.code == 201) return
- this.$message.success('宸叉彁浜�')
- this.bsm3Dia = false;
- this.$parent.playOrder(0)
- }).catch(e=>{
- this.saveLoad = false
- })
- },
- upInsOrderOfState(state) {
- if (state == 1) {
- this.saveLoad = true
- this.$axios.post(this.$api.insOrder.upInsOrderOfState, {
- state,
- id: this.currentId,
- companyId:this.addObj.companyId,
- laboratory:this.addObj.laboratory
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- this.saveLoad = false
- if (res.code == 201) return
- this.$message.success('鎻愪氦鎴愬姛')
- // this.$parent.multipleSelection = [{id: this.currentId}]
- // this.$parent.print()
- // 濡傛灉绱ф�ョ▼搴︿负绱ф�ワ紝闇�瑕佺洿鎺ヤ笅鍙戜汉鍛�
- // if (this.addObj.type == 2) {
- // this.issuedDialogVisible = true;
- // this.$axios.post(this.$api.insOrder.selectOrderManDay, {
- // id: this.currentId
- // }).then(ress => {
- // this.distributeData.orderId = this.currentId
- // this.distributeData.appointed = ress.data
- // })
- // } else {
- // this.$parent.playOrder(0)
- // }
- this.$axios.post(this.$api.insOrder.selectOrderManDay, {
- id: this.currentId
- }).then(ress => {
- this.distributeData.orderId = this.currentId
- this.distributeData.appointed = ress.data
- })
- setTimeout(() => {
- this.issuedDialogVisible = true;
- }, 1000)
- })
- } else {
- // 涓嶉�氳繃
- this.noDialogVisible = true
- }
- },
- // 涓嬪彂
- submitForm2() {
- if (this.distributeData.appointed == null || this.distributeData.appointed == '') {
- this.$message.error('绾﹀畾鏃堕棿鏈~鍐�')
- return
- }
- if (this.addObj.type == 2 && (this.distributeData.userId == null || this.distributeData.userId == '')) {
- this.$message.error('鎸囨淳浜哄憳鏈~鍐�')
- return
- }
- this.upLoad = true;
- this.$axios.post(this.$api.insOrder.upInsOrder, {
- orderId: this.distributeData.orderId,
- appointed: this.distributeData.appointed,
- userId: this.distributeData.userId
- }).then(res => {
- if (res.code === 201) {
- this.upLoad = false
- return
- }
- this.$message.success('鎻愪氦鎴愬姛')
- this.upLoad = false
- this.issuedDialogVisible = false
- this.$parent.playOrder(0)
- }).catch(e => {
- this.$message.error('鎻愪氦澶辫触')
- this.upLoad = false
- })
- },
- getUserNow() {
- this.$axios.get(this.$api.user.getUserNow).then(res => {
- let selects = res.data
- if (selects == null) return
- this.addObj.userId = selects.id
- this.addObj.custom = selects.name
- this.addObj.code = selects.code
- this.addObj.phone = selects.phone
- this.addObj.companyId = selects.departId
- this.addObj.production = '/'
- this.addObj.productionEn = '/'
- })
- },
- getProNum() {
- this.sampleList.forEach((m, i) => {
- Vue.set(this.sampleList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length)
- })
- this.$refs.sampleTable.doLayout()
- },
- searchFilter() {
- this.$refs.tree.filter(this.search)
- },
- nodeOpen(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
- },
- nodeClose(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
- },
- handleNodeClick(val, node, el) {
- this.selectTree = ''
- this.models = val.children
- this.getNodeParent(node)
- this.selectTree = this.selectTree.replace(' - ', '')
- let data = this.selectTree.split(' - ')
- let data2 = ''
- for (let index = data.length - 1; index >= 0; index--) {
- data2 += " - " + data[index]
- }
- this.selectTree = data2.replace(' - ', '')
- },
- getNodeParent(val) {
- if (val.parent != null) {
- if (val.data.children === null) {
- this.selectTree += ' - ' + val.label + ' - ' + ''
- } else {
- this.selectTree += ' - ' + val.label
- }
- this.getNodeParent(val.parent)
- }
- },
- selectStandardTreeList() {
- this.$axios.get(this.$api.standardTree.selectStandardTreeList2).then(res => {
- this.list = res.data
- this.list.forEach(a => {
- this.expandedKeys.push(a.label)
- })
- })
- },
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
- },
- activeStandardTree() {
- let trees = this.selectTree.split(" - ")
- if (trees.length < 3) {
- this.$message.error('鏈�夋嫨瀵硅薄')
- return
- }
- this.addObj.factory = trees[0]
- this.addObj.laboratory = trees[1]
- this.addObj.sampleType = trees[2]
- if (trees[3] === undefined || trees[3] === '') {
- this.addObj.sample = trees[2]
- } else {
- this.addObj.sample = trees[3]
- }
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
- this.selectStandardTree = false
- this.sampleList = []
- for (var i = 0; i < this.addObj.sampleNum; i++) {
- this.sample.joinName = null
- this.sample.joinModel = null
- this.sample.joinNum = 1
- this.sample.sample = this.addObj.sample
- this.sample.model = this.addObj.model
- this.sample.unit = this.addObj.unit
- this.sample.standardMethodListId = null
- this.sample.insProduct = []
- this.sample.id = this.count
- this.sample.childSampleList = []
- this.sample.insulating = null
- this.sample.sheath = null
- this.sampleList.push(this.HaveJson(this.sample))
- this.count++
- }
- this.$refs.sampleTable.doLayout()
- // this.selectsStandardMethodByFLSSM()
- },
- selectsStandardMethodByFLSSM() {
- this.methodLoad = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.selectTree
- }).then(res => {
- this.methodLoad = false
- try {
- if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: selectTree
- }).then(ress => {
- this.methods = ress.data.standardMethodList
- })
- } else {
- this.methods = res.data.standardMethodList
- }
- } catch (e) {}
- })
- },
- addStandardTree() {
- if (this.selectTree == null) return
- this.sampleList = []
- this.productList = []
- for (var i = 0; i < this.addObj.sampleNum; i++) {
- this.sample.joinName = null
- this.sample.joinModel = null
- this.sample.joinNum = 1
- this.sample.sample = this.addObj.sample
- this.sample.model = this.addObj.model
- this.sample.unit = this.addObj.unit
- this.sample.standardMethodListId = null
- this.sample.insProduct = []
- this.sample.id = this.count
- this.sample.childSampleList = []
- this.sample.insulating = null
- this.sample.sheath = null
- this.sampleList.push(this.HaveJson(this.sample))
- this.count++
- }
- this.computationalPairing(this.sampleList.length)
- this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- },
- selectSample(val) {
- this.sampleIds = []
- val.forEach(a => {
- this.sampleIds.push(a.id)
- })
- },
- delSample() {
- this.sampleIds.forEach(a => {
- for (var i = 0; i < this.sampleList.length; i++) {
- if (this.sampleList[i].id == a) {
- this.sampleList.splice(i, 1)
- i -= 1
- break
- }
- }
- })
- this.$refs.sampleTable.doLayout()
- },
- selectProduct(val) {
- this.productListSelected = val
- this.productIds = []
- val.forEach(a => {
- this.productIds.push(a.id)
- })
- },
- rowClick(row, column, event) {
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.sampleId = row.id
- if (this.active !== 1) {
- this.sampleIds = []
- this.sampleIds.push(row.id)
- }
- this.productList = row.insProduct
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- upProductSelect(selection, row) {
- // this.bsm1DiaList = []
- // row.state = row.state == 1 ? 0 : 1
- // if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
- // if (row.section.indexOf('[') > -1) {
- // row.bsmRow = this.HaveJson(row)
- // }
- // row.bsm1 = true
- // this.bsm1DiaList.push(row)
- // this.bsm1DiaAll = true
- // } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
- // row.bsm1 = false
- // }
- // if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && row.state === 1&&!this.isBsm2Val2) {
- // this.bsm2 = true
- // this.bsm1Dia = true
- // if (this.bsm2Val2.length === 0) {
- // this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
- // this.computationalPairing(this.sampleList.length)
- // this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- // }
- // } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && row.state === 1 && this.sampleList.length > 1) {
- // this.bsm2 = false
- // } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length < 2) {
- // this.$message.error('鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�')
- // row.state = row.state == 1 ? 0 : 1
- // this.$refs.productTable.toggleRowSelection(row, false)
- // return
- // }
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.state = row.state;
- }
- return m;
- })
- }
- return item
- })
- // 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;
- // }
- // if ((row.inspectionItem === '娓╁崌璇曢獙' || row.inspectionItem === '鐑惊鐜�') && row.state === 1) {
- // console.log('row---', row)
- // this.temperatureTitle = `${row.inspectionItem}瑕佹眰濉啓`
- // this.isShowInput = row.inspectionItem === '鐑惊鐜�'
- // this.temId = row.id
- // this.temperatureShow = true;
- // return
- // } else if ((row.inspectionItem === '娓╁崌璇曢獙' || row.inspectionItem === '鐑惊鐜�') && row.state === 0) {
- // this.temperatureShow = false;
- // }
- this.getProNum()
- },
- searchProject () {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鍏夌氦椤圭洰"
- }).then(res => {
- this.opticalProject = res.data
- })
- },
- permute(nums) {
- const result = [];
-
- function backtrack(temp, nums) {
- if (temp.length === 2) {
- result.push([...temp]);
- return;
- }
- for (let i = 0; i < nums.length; i++) {
- if (temp.includes(nums[i])) continue;
- // 閬垮厤閲嶅鏁板瓧
- if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚�
- temp.push(nums[i]);
- backtrack(temp, nums);
- temp.pop();
- }
- }
- backtrack([], nums);
- return result;
- },
- computationalPairing(n) {
- const nums = [];
- for (let i = 1; i <= n; i++) {
- nums.push(i);
- }
- this.bsm2Val3 = this.HaveJson(this.permute(nums))
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- selectInsOrderTemplate() {
- this.$axios.get(this.$api.insOrder.selectInsOrderTemplate).then(res => {
- if (res.code == 201) return
- this.templates = res.data
- })
- },
- // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛
- handleDelete(row) {
- this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(() => {
- this.$axios.post(this.$api.insOrder.delInsOrderTemplate, {
- id: row.id
- }).then(res => {
- if (res.code === 201) {
- return
- }
- this.$message.success('鍒犻櫎鎴愬姛')
- this.selectInsOrderTemplate()
- }).catch(e => {
- this.$message.error('鍒犻櫎澶辫触')
- })
- }).catch(() => {})
- },
- // 淇濆瓨妯℃澘
- addTemplateDia() {
- if (this.templateName) {
- this.templateLoading = true;
- this.$axios.post(this.$api.insOrder.addInsOrderTemplate, {
- name: this.templateName,
- thing: JSON.stringify({
- addObj: this.addObj,
- sampleList: this.sampleList
- })
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- if (res.code == 201) return
- this.templateLoading = false;
- this.templateDia = false;
- this.$message.success('淇濆瓨鎴愬姛')
- this.selectInsOrderTemplate()
- this.templateName = ''
- })
- } else {
- this.$message.error('璇峰~鍐欐ā鏉垮悕绉�')
- }
- },
- // 鏌ヨ妯℃澘
- selectInsOrderTemplateById(e) {
- this.$axios.post(this.$api.insOrder.selectInsOrderTemplateById + '?id=' + e).then(res => {
- if (res.code == 201) return
- let obj = JSON.parse(res.data)
- this.addObj = obj.addObj;
- this.sampleList = obj.sampleList;
- })
- },
- delSampleAndProduct() {
- this.sampleList.splice(scope.$index, 1)
- this.productList = []
- },
- selectEnumByCategoryForUnit() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鍗曚綅"
- }).then(res => {
- this.units = res.data
- })
- },
- selectEnumByCategoryForOrderType() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "妫�楠岀被鍒�"
- }).then(res => {
- this.orderType = res.data
- if (res.data.length > 0) {
- this.addObj.orderType = res.data[0].value
- }
- })
- },
- selectEnumByCategoryForSampleForm() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "璁㈠崟绫诲瀷"
- }).then(res => {
- this.formType = res.data
- if (this.formType.length > 0) {
- this.addObj.formType = this.formType[0].value
- }
- })
- },
- methodChange(val, row) {
- if (val === null || val === '') return
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.getProductLoad = true
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: row.model + '-' + row.modelNum,
- standardMethodListId: val,
- factory: this.selectTree,
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- row.insProduct = this.HaveJson(res.data)
- this.getProductLoad = false
- this.productList = row.insProduct
- this.productList0 = JSON.parse(JSON.stringify(this.productList))
- this.$refs.sampleTable.setCurrentRow(row)
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- })
- this.searchProject()
- this.searchTemList()
- },
- searchTemList () {
- this.temperatureList = []
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鐢靛姏娓╁害寰幆妫�楠�"
- }).then(res => {
- if (res.data.length > 0) {
- this.temperatureEngList = res.data
- res.data.forEach(item => {
- this.temperatureList.push(item.label)
- })
- }
- })
- },
- changeModel() {
- this.sampleList.forEach(a => {
- let obj = this.sampleIds.find(b => b == a.id)
- if (obj) {
- a.model = this.model
- }
- })
- },
- changeStandardMethodListId() {
- this.sampleList.forEach(a => {
- let obj = this.sampleIds.find(b => b == a.id)
- if (obj) {
- a.standardMethodListId = this.standardMethodListId
- this.methodChange(this.standardMethodListId, a)
- }
- })
- },
- methodFocus() {
- this.selectsStandardMethodByFLSSM()
- },
- handleChangeModel(e) {
- this.productList = []
- let num = this.selectTree.split('-').length;
- if (num != 5) {
- this.selectTree = this.selectTree + ' - ' + e
- } else {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- this.selectTree = arr0.join('-') + '- ' + e
- }
- },
- // 瑕佹眰鍊煎彉鍖栨椂
- requestChange(e, row) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.ask = e;
- }
- return m;
- })
- }
- return item
- })
- },
- selectStandardMethods() {
- this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
- this.methods = res.data
- })
- },
- selectable() {
- if (this.active > 1) {
- return false
- } else {
- return true
- }
- },
- handleAll(e) {
- console.log('e---', e)
- if (e.length > 0) {
- this.productList.map(m => {
- if(e.find(a=>a.id == m.id)){
- m.state = 1
- }
- return m
- })
- } else {
- this.productList.map(m => {
- m.state = 0
- return m
- })
- }
- // this.bsmRow3 = [];
- // this.bsm1DiaList = []
- // this.productList.forEach(p => {
- // if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
- // if (p.section.indexOf('[') > -1) {
- // p.bsmRow = this.HaveJson(p)
- // }
- // p.bsm1 = true
- // this.bsm1DiaList.push(p)
- // this.bsm1DiaAll = true
- // } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
- // p.bsm1 = false
- // }
- // if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && p.state === 1&&!this.isBsm2Val2) {
- // this.bsm2 = true
- // this.bsm1Dia = true
- // if (this.bsm2Val2.length === 0) {
- // this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
- // this.computationalPairing(this.sampleList.length)
- // this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- // }
- // } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && p.state === 1 && this.sampleList.length > 1) {
- // this.bsm2 = false
- // } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length < 2) {
- // this.$message.error('鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�')
- // this.$refs.productTable.clearSelection()
- // return
- // }
- // const select = this.selectTree.split(' - ')
- // if (p.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && p.state === 1) {
- // this.circulateShow = true;
- // return
- // } else if (p.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && p.state === 0) {
- // this.circulateShow = false;
- // }
- // if ((p.inspectionItem === '娓╁崌璇曢獙' || p.inspectionItem === '鐑惊鐜�') && p.state === 1) {
- // console.log('p---', p)
- // this.temperatureTitle = `${p.inspectionItem}瑕佹眰濉啓`
- // this.isShowInput = p.inspectionItem === '鐑惊鐜�'
- // this.temId = p.id
- // this.temperatureShow = true;
- // return
- // } else if ((p.inspectionItem === '娓╁崌璇曢獙' || p.inspectionItem === '鐑惊鐜�') && p.state === 0) {
- // this.temperatureShow = false;
- // }
- // })
- if (e.length > 0) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 1
- return m;
- })
- }
- return item
- })
- } else {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 0
- return m;
- })
- }
- return item
- })
- }
- this.getProNum()
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- submitTell() {
- if (!this.tell) {
- this.$message.error('璇疯緭鍏ヤ笉閫氳繃鍘熷洜')
- return
- }
- this.noLoading = true;
- this.$axios.post(this.$api.insOrder.upInsOrderOfState, {
- state: 2,
- id: this.currentId,
- tell: this.tell
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- this.noLoading = false;
- this.tell = '';
- if (res.code == 201) return
- this.$message.success('鎻愪氦鎴愬姛')
- this.issuedDialogVisible = false;
- this.$parent.playOrder(0)
- })
- },
- selectEnumByCategoryForSonLaboratory() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "瀛愬疄楠屽"
- }).then(res => {
- this.factory = []
- res.data.forEach(a => {
- this.filters.push({
- text: a.label,
- value: a.value
- })
- })
- })
- },
- filterHandler(value, row, column) {
- const property = column['property'];
- return row[property] === value;
- },
- openConfig() {
- if (this.active === 1) {
- if (this.sampleIds.length === 0) {
- this.$message.error("鏈�夋嫨鏍峰搧")
- return
- }
- this.configShow = true
- } else {
- if (this.sampleId === null) {
- this.$message.error('鏈�変腑鏍峰搧')
- return
- }
- this.$axios.post(this.$api.insBushing.selectBushingBySampleId, {
- sampleId: this.sampleId
- }).then(res => {
- if (res.data.length === 0) {
- this.$message.error('璇ユ牱鍝佹病鏈夐厤缃厜绾�')
- return
- }
- for (var i in this.sampleList) {
- if (this.sampleList[i].id = this.sampleId) {
- this.sampleList[i].bushing = res.data
- break
- }
- }
- this.configShow = true
- })
- }
- },
- openEquipConfig() {
- if (this.active === 1) {
- if (this.sampleIds.length === 0) {
- this.$message.error("鏈�夋嫨鏍峰搧")
- return
- }
- this.equipConfigShow = true
- } else {
- if (this.sampleId === null) {
- this.$message.error('鏈�変腑鏍峰搧')
- return
- }
- }
- },
- openCableConfig() {
- if (this.active === 1) {
- if (this.sampleIds.length === 0) {
- this.$message.error("鏈�夋嫨鏍峰搧")
- return
- }
- this.cableConfigShow = true
- } else {
- if (this.sampleId === null) {
- this.$message.error('鏈�変腑鏍峰搧')
- return
- }
- }
- },
- upBsm1(val) {
- let sections = JSON.parse(this.bsmRow.section);
- let asks = JSON.parse(this.bsmRow.ask);
- let tells = JSON.parse(this.bsmRow.tell);
- let manHours = JSON.parse(this.bsmRow.manHour);
- let prices = JSON.parse(this.bsmRow.price);
- for (var a in sections) {
- if (val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === this.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- upBsmAll (item) {
- let sections = JSON.parse(item.bsmRow.section);
- let asks = JSON.parse(item.bsmRow.ask);
- let tells = JSON.parse(item.bsmRow.tell);
- let manHours = JSON.parse(item.bsmRow.manHour);
- let prices = JSON.parse(item.bsmRow.price);
- for (var a in sections) {
- if (item.bsm1Val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === item.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- beforeClose(done) {
- if (this.bsm1DiaList.length > 0) {
- this.bsm1DiaList.forEach(item => {
- if (!item.bsm1Val) {
- throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- }
- })
- }
- if (this.bsm2) {
- if (this.bsm2Val2.length === 0) {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- let set = new Set()
- for (let i = 0; i < this.bsm2Val2.length; i++) {
- let num0 = set.size
- set.add(JSON.stringify(this.bsm2Val2[i]))
- let num1 = set.size
- if (num1 == num0) {
- this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- return
- }
- set.add(JSON.stringify(this.bsm2Val2[i].reverse()))
- let num2 = set.size
- if (num1 == num2) {
- this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- return
- }
- }
- this.isBsm2Val2 = true;
- }
- done()
- },
- beforeClose0(done) {
- if (!this.bsm3Val) {
- this.$message.error('RST蹇呴』濉啓')
- return
- } else {
- if (Array.isArray(this.bsmRow3)) {
- this.bsmRow3.forEach(item => {
- item.rts = this.bsm3Val
- })
- } else {
- this.bsmRow3.rts = this.bsm3Val
- }
- }
- done()
- },
- getTotal() {
- this.totalArr = []
- this.total = 0;
- console.log(this.sampleList)
- this.sampleList.forEach(item => {
- if (item.insProduct && item.insProduct.length > 0) {
- item.insProduct.forEach(a => {
- this.totalArr.push(a)
- })
- }
- if (item.bushing && item.bushing.length > 0) {
- item.bushing.forEach(a => {
- if (a.fiber && a.fiber.length > 0) {
- a.fiber.forEach(b => {
- if (b.productList && b.productList.length > 0) {
- b.productList.forEach(c => {
- this.totalArr.push(c)
- })
- }
- })
- }
- if (a.fibers && a.fibers.length > 0) {
- a.fibers.forEach(b => {
- if (b.productList && b.productList.length > 0) {
- b.productList.forEach(c => {
- this.totalArr.push(c)
- })
- }
- if (b.fiber && b.fiber.length > 0) {
- b.fiber.forEach(c => {
- if (c.productList && c.productList.length > 0) {
- c.productList.forEach(d => {
- this.totalArr.push(d)
- })
- }
- })
- }
- })
- }
- })
- }
- })
- let mySet = new Set();
- let arr0 = this.totalArr.filter(item => {
- if (item.state == 1) {
- let num1 = mySet.size
- if (item.manHourGroup === '' || !item.manHourGroup) {
- return true
- } else {
- console.log(item)
- mySet.add(item.manHourGroup)
- let num2 = mySet.size
- if (num2 > num1) {
- return true
- } else {
- return false
- }
- }
- }
- })
- arr0.forEach(item => {
- this.total += Number(item.price)
- })
- },
- bsm2Up(val) {
- let list = []
- for (let a = 1; a < this.bsm2Val3.length + 1; a++) {
- list.push(a)
- }
- let set = new Set()
- let size1 = set.length
- while (set.size < val) {
- set.add(Math.ceil(Math.random() * this.bsm2Val3.length))
- }
- this.bsm2Val2 = []
- for (let a of set) {
- this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a - 1]))
- }
- }
- }
-}
-</script>
-
-<style scoped>
-.ins_order_add {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-.ins_order_add::-webkit-scrollbar {
- width: 0;
-}
-
-.title {
- height: 60px;
- line-height: 60px;
-}
-
-.search {
- width: calc(100% - 40px);
- background-color: #fff;
- padding: 5px 40px 5px 0;
-}
-
-.search_thing {
- display: flex;
- align-items: center;
- height: 50px;
-}
-
-.search_label {
- width: 120px;
- font-size: 14px;
- text-align: right;
-}
-
-.search_input {
- width: calc(100% - 120px);
-}
-
-.node_i {
- color: orange;
- font-size: 18px;
-}
-
-.el-select-dropdown__item {
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.pairing {
- text-align: center;
- line-height: 36px;
- margin: 3px 0;
- border: 1px solid rgba(0, 0, 0, 0.1);
- border-radius: 4px;
-}
-
-.askRts {
- width: 100px;
- font-size: 12px;
- border-top: 0;
- border-left: 0;
- border-right: 0;
- border-bottom: 2px solid rgba(0, 0, 0, 0.3);
- text-align: center;
- background-color: rgba(0, 0, 0, 0.1);
- outline: none;
- border-radius: 2px;
- 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,
-.el-input-group__prepend {
- padding: 0 10px;
-}
-
-.ins_order_add .el-tree-node__content {
- height: 32px;
- font-size: 14px;
- border-radius: 2px;
-}
-
-.ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
- color: #3A7BFA;
-}
-
-.ins_order_add .has-gutter .el-table__cell .cell {
- line-height: 30px;
- background-color: #fafafa;
-}
-
-.ins_order_add .has-gutter .el-table__cell {
- background-color: #fafafa !important;
-}
-
-.ins_order_add .el-table__row .cell {
- font-size: 12px;
-}
-
-.ins_order_add .el-table .warning-row .cell {
- color: #bababa;
-}
-
-.ins_order_add .el-select .is-disabled {
- background: transparent !important;
-}
-
-.ins_order_add .el-select .is-disabled .el-input__inner {
- background: transparent !important;
-}
-</style>
diff --git a/src/components/do/b1-material-ins-order/material-cable-config.vue b/src/components/do/b1-material-ins-order/material-cable-config.vue
deleted file mode 100644
index 575fc95..0000000
--- a/src/components/do/b1-material-ins-order/material-cable-config.vue
+++ /dev/null
@@ -1,311 +0,0 @@
-<template>
- <div class="ins_order_config">
- <div>
- <el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">鐢电紗閰嶇疆</el-col>
- <el-col :span="18" style="text-align: right;">
- <el-button size="medium" @click="outConfig">
- <span style="color: #3A7BFA;">杩� 鍥�</span>
- </el-button>
- <el-button size="medium" type="primary" @click="save">淇� 瀛�</el-button>
- </el-col>
- </el-row>
- </div>
- <div class="search">
- <el-radio-group v-model="currentTab" size="small" style="margin-left: 20px;" @input="changeTab">
- <el-radio-button label="缁濈紭">缁� 缂�</el-radio-button>
- <el-radio-button label="鎶ゅ">鎶� 濂�</el-radio-button>
- </el-radio-group>
- <div class="search_thing" v-if="currentTab=='缁濈紭'">
- <div class="search_label">鑺暟锛�</div>
- <el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="insulating.num"></el-input>
- </div>
- <div class="search_thing" v-if="currentTab=='缁濈紭'">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <el-select v-model="insulating.standardMethodListId" placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"
- @change="(value)=>methodChange(value)">
- <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div>
- <div class="search_thing" v-if="currentTab=='鎶ゅ'">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <el-select v-model="sheath.standardMethodListId" placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"
- @change="(value)=>methodChange(value)">
- <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div>
- </div>
- <div class="table">
- <el-table class="el-table" ref="productTable" :data="productList" height="100%" tooltip-effect="dark" border
- @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
- :row-class-name="tableRowClassName" @select-all="handleAll">
- <el-table-column type="selection" width="65" :selectable="selectable"></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
- show-overflow-tooltip></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
- </el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
- <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
- <template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
- v-if="active==1&&isAskOnlyRead"></el-input>
- <span v-else>{{ scope.row.ask }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
-</template>
-
-<script>
-import { Tree } from 'element-ui'
-export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
- },
- data(vm) {
- return {
- standardList:[],
- vaule0:'',
- currentTab:'缁濈紭',
- upIndex:0,
- productList: [],
- productIds: [],
- sample: [],
- tree: '',
- standards: [],
- insulating: {
- standardMethodListId: null,
- insProduct: [],
- num: 1
- },
- sheath: {
- standardMethodListId: null,
- insProduct: []
- },
- isAskOnlyRead: false
- }
- },
- 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])
- if(this.$parent.sampleList[i].insulating !== undefined && this.$parent.sampleList[i].insulating !== null){
- this.insulating = this.$parent.sampleList[i].insulating
- }
- if(this.$parent.sampleList[i].sheath !== undefined && this.$parent.sampleList[i].sheath !== null){
- this.sheath = this.$parent.sampleList[i].sheath
- }
- break
- }
- }
- })
- let obj = this.$parent.addObj
- this.tree = obj.factory + ' - ' + obj.laboratory + ' - ' + obj.sampleType + ' - ' + obj.sample
- this.selectsStandardMethodByFLSSM2()
- this.productList = this.insulating.insProduct
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- methods: {
- outConfig() {
- this.$parent.cableConfigShow = false
- },
- selectProduct(val) {
- this.productIds = []
- val.forEach(a => {
- this.productIds.push(a.id)
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- },
- handleAll(e) {
- if (e.length > 0) {
- this.productList.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.productList.map(m => {
- m.state = 0
- return m
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- selectable() {
- if (this.active > 1) {
- return false
- } else {
- return true
- }
- },
- selectsStandardMethodByFLSSM2() {
- this.standards = []
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.tree
- }).then(res => {
- this.standards = res.data.standardMethodList
- })
- },
- methodChange(val) {
- if (val === null || val === '') return
- let standard = this.standards.find(a => a.id === val)
- if(standard!=null && standard.code==='濮旀墭瑕佹眰'){
- this.isAskOnlyRead = true
- }else{
- this.isAskOnlyRead = false
- }
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: this.$parent.addObj.model,
- standardMethodListId: val,
- factory: this.tree + ' - '
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- if(this.currentTab==='缁濈紭'){
- this.insulating.insProduct = res.data
- }else if(this.currentTab==='鎶ゅ'){
- this.sheath.insProduct = res.data
- }
- this.productList = res.data
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- })
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- save(){
- if(this.insulating.insProduct.length === 0 && this.sheath.insProduct.length === 0){
- this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- return
- }
- if(this.insulating.insProduct.length !== 0){
- if(this.insulating.num === null || this.insulating.num === '' || this.insulating.num <= 0){
- this.$message.error('缂哄皯鑺暟鏃犳硶淇濆瓨')
- return
- }
- }
- this.sample.forEach(a=>{
- a.insulating = this.insulating
- a.sheath = this.sheath
- })
- this.$message.success('宸蹭繚瀛�')
- },
- changeTab(val){
- if(val==='缁濈紭'){
- this.productList = this.insulating.insProduct
- }else if(val==='鎶ゅ'){
- this.productList = this.sheath.insProduct
- }
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- }
- }
-}
-</script>
-
-<style scoped>
-.ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
-
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
-
- .title {
- height: 60px;
- line-height: 60px;
- }
-
- .search {
- background-color: #fff;
- height: 80px;
- display: flex;
- align-items: center;
- }
-
- .search_thing {
- width: 300px;
- display: flex;
- align-items: center;
- }
-
- .search_label {
- width: 100px;
- font-size: 14px;
- text-align: right;
- }
-
- .search_input {
- width: calc(100% - 70px);
- }
- .table {
- margin-top: 10px;
- background-color: #fff;
- width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 26px - 24px);
- padding: 20px;
- }
-</style>
-<style>
- .ins_order_config .has-gutter .el-table__cell .cell {
- line-height: 30px;
- background-color: #fafafa;
- }
-
- .ins_order_config .has-gutter .el-table__cell {
- background-color: #fafafa !important;
- }
-
- .ins_order_config .el-table__row .cell {
- font-size: 12px;
- }
-
- .ins_order_config .el-table .warning-row .cell {
- color: #bababa;
- }
-</style>
diff --git a/src/components/do/b1-material-ins-order/material-equip-config.vue b/src/components/do/b1-material-ins-order/material-equip-config.vue
deleted file mode 100644
index ddf3fbd..0000000
--- a/src/components/do/b1-material-ins-order/material-equip-config.vue
+++ /dev/null
@@ -1,591 +0,0 @@
-<template>
- <div class="ins_order_config">
- <div>
- <el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">瀛愭牱鍝侀厤缃�</el-col>
- <el-col :span="18" style="text-align: right;">
- <el-button size="medium" type="primary" @click="addChild" v-if="active==1">娣诲姞瀛愭牱鍝�</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>
- </el-col>
- </el-row>
- </div>
- <div class="center">
- <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="50%" tooltip-effect="dark"
- border highlight-current-row @row-click="rowClick" @current-change="selectSample">
- <!-- <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> -->
- <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
- <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100">
- <template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="140" align="center">
- <template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
- :readonly="active>1"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" min-width="100">
- <template slot-scope="scope">
- <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧鍨嬪彿"
- size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;">
- <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="modelNum" label="鍨嬪彿鍙傛暟" width="130" align="center" v-if="!(active>1)">
- <template slot-scope="scope">
- <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�"
- @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)"
- @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
- <template slot-scope="scope">
- <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
- placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
- @focus="methodFocus" :readonly="active>1" style="width: 100%;">
- <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="num" label="鏍峰搧鏁伴噺" align="center" width="90">
- </el-table-column>
- <el-table-column label="鎿嶄綔" width="120">
- <template slot-scope="scope">
- <el-button @click.native.prevent="deleteRow(scope.$index, sampleList)" type="text"
- size="small">鍒犻櫎</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-table class="el-table" ref="productTable" :data="productList" height="50%" tooltip-effect="dark" border
- @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
- :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll">
- <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
- show-overflow-tooltip></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters"
- :filter-method="filterHandler"></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
- </el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
- <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
- <template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
- v-if="active==1&&isAskOnlyRead"></el-input>
- <span v-else>{{ scope.row.ask }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <el-dialog title="閫夋嫨瀛愭牱鍝�" :visible.sync="selectStandardTree" width="400px" @closed="addObj.sampleNum = 1">
- <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
- <el-row style="margin-bottom: 10px;">
- <el-col :span="24">
- <label>鏍峰搧鏁伴噺锛�</label>
- <el-input-number v-model="addObj.sampleNum" :min="1" label="璇疯緭鍏ユ暟閲�" size="small"></el-input-number>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
- style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
- @keyup.enter.native="searchFilter"></el-input>
- </el-col>
- </el-row>
- <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
- :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
- @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
- <div class="custom-tree-node" slot-scope="{ node, data }">
- <el-row>
- <el-col :span="24">
- <span><i
- :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
- {{ data.code }} {{ data.label }}</span>
- </el-col>
- </el-row>
- </div>
- </el-tree>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="selectStandardTree = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false"
- :before-close="beforeClose">
- <div class="body" style="max-height: 60vh;">
- <el-row v-if="bsm1">
- <el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>鎶ゅ瀵嗗害锛�</div>
- <div class="search_input">
- <el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
- </el-radio-group>
- </div>
- </el-col>
- <el-col class="search_thing" :span="22">
- <div class="search_label">瑕佹眰鍊硷細</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
- <el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
- </el-radio-group>
- </div>
- </el-col>
- </el-row>
- </div>
- </el-dialog>
- </div>
-</template>
-
-<script>
- export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
- },
- data() {
- return {
- saveLoad: false,
- sampleList: [],
- productList: [],
- getProductLoad: false,
- filters: [],
- sampleIds: [],
- isAskOnlyRead: false,
- selectStandardTree: false,
- search: '',
- expandedKeys: [],
- addObj: {
- sampleNum: 1,
- },
- selectTree: null,
- models: [],
- sample: {
- sampleCode: null,
- laboratory: null,
- factory: null,
- sampleType: null,
- sample: null,
- model: null,
- modelNum: null,
- sampleNum: 1,
- isLeave: 0,
- unit: null
- },
- currentMethod: null,
- methods: [],
- methodLoad: false,
- sampleId: null,
- bsmRow: null,
- bsm1: false,
- bsm1Val: null,
- bsm1Dia: false,
- list: [],
- parentSample: []
- }
- },
- mounted() {
- this.selectStandardTreeList()
- this.selectStandardMethods()
- this.$parent.sampleIds.forEach(a => {
- for (var i = 0; i < this.$parent.sampleList.length; i++) {
- if (this.$parent.sampleList[i].id == a) {
- this.sampleList = this.$parent.sampleList[i].childSampleList
- this.parentSample.push(this.$parent.sampleList[i])
- break
- }
- }
- })
- },
- methods: {
- selectStandardTreeList() {
- this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
- this.list = res.data
- this.list.forEach(a => {
- this.expandedKeys.push(a.label)
- })
- })
- },
- save() {
- if (this.sampleList.length === 0) {
- this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- return
- }
- this.parentSample.forEach(a => {
- a.childSampleList = this.sampleList
- })
- this.$message.success('宸蹭繚瀛�')
- },
- deleteRow(index, rows) {
- this.productList = []
- rows.splice(index, 1);
- },
- outConfig() {
- this.$parent.equipConfigShow = false
- },
- addChild() {
- this.selectStandardTree = true
- },
- selectSample(val) {
- if (val === null) return
- this.sampleIds = [val.id]
- },
- rowClick(row, column, event) {
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.sampleId = row.id
- if (this.active !== 1) {
- this.sampleIds = []
- this.sampleIds.push(row.id)
- }
- this.productList = row.insProduct
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- selectable() {
- if (this.active > 1) {
- return false
- } else {
- return true
- }
- },
- handleChangeModel(e) {
- let num = this.selectTree.split('-').length;
- if (num != 5) {
- this.selectTree = this.selectTree + ' - ' + e
- } else {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- this.selectTree = arr0.join('-') + '- ' + e
- }
- },
- methodChange(val, row) {
- if (val === null || val === '') return
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.getProductLoad = true
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: row.model + '-' + row.modelNum,
- standardMethodListId: val,
- factory: this.selectTree,
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- row.insProduct = this.HaveJson(res.data)
- this.getProductLoad = false
- this.productList = row.insProduct
- this.$refs.sampleTable.setCurrentRow(row)
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- })
- },
- methodFocus() {
- this.selectsStandardMethodByFLSSM()
- },
- selectStandardMethods() {
- this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
- this.methods = res.data
- })
- },
- selectsStandardMethodByFLSSM() {
- this.methodLoad = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.selectTree
- }).then(res => {
- this.methodLoad = false
- try {
- if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: selectTree
- }).then(ress => {
- this.methods = ress.data.standardMethodList
- })
- } else {
- this.methods = res.data.standardMethodList
- }
- } catch (e) {}
- })
- },
- selectProduct(val) {
- this.productIds = []
- val.forEach(a => {
- this.productIds.push(a.id)
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
- if (row.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(row)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
- this.bsm1 = false
- }
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.state = row.state;
- }
- return m;
- })
- }
- return item
- })
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- handleAll(e) {
- if (e.length > 0) {
- this.productList.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.productList.map(m => {
- m.state = 0
- return m
- })
- }
- this.productList.forEach(p => {
- if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
- if (p.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(p)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
- this.bsm1 = false
- }
- })
- if (e.length > 0) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 1
- return m;
- })
- }
- return item
- })
- } else {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 0
- return m;
- })
- }
- return item
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- filterHandler(value, row, column) {
- const property = column['property'];
- return row[property] === value;
- },
- requestChange(e, row) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.ask = e;
- }
- return m;
- })
- }
- return item
- })
- },
- activeStandardTree() {
- let trees = this.selectTree.split(" - ")
- if (trees.length < 4) {
- this.$message.error('鏈�夋嫨瀛愪骇鍝�')
- return
- }
- this.addObj.factory = trees[0]
- this.addObj.laboratory = trees[1]
- this.addObj.sampleType = trees[2]
- if(trees[3]===''){
- this.addObj.sample = (trees[4] == undefined ? null : trees[4])
- }else if(trees[3]===undefined){
- this.addObj.sample = trees[2]
- }else{
- this.addObj.sample = trees[3]
- }
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
- this.selectStandardTree = false
- this.sample.joinName = null
- this.sample.joinModel = null
- this.sample.joinNum = 1
- this.sample.sample = this.addObj.sample
- this.sample.model = this.addObj.model
- this.sample.unit = this.addObj.unit
- this.sample.standardMethodListId = null
- this.sample.insProduct = []
- this.sample.id = this.count
- this.sample.num = this.addObj.sampleNum
- this.sampleList.push(this.HaveJson(this.sample))
- this.count++
- this.$refs.sampleTable.doLayout()
- },
- searchFilter() {
- this.$refs.tree.filter(this.search)
- },
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
- },
- handleNodeClick(val, node, el) {
- this.selectTree = ''
- this.models = val.children
- this.getNodeParent(node)
- this.selectTree = this.selectTree.replace(' - ', '')
- let data = this.selectTree.split(' - ')
- let data2 = ''
- for (let index = data.length - 1; index >= 0; index--) {
- data2 += " - " + data[index]
- }
- this.selectTree = data2.replace(' - ', '')
- },
- getNodeParent(val) {
- if (val.parent != null) {
- if (val.data.children === null) {
- this.selectTree += ' - ' + val.label + ' - ' + ''
- } else {
- this.selectTree += ' - ' + val.label
- }
- this.getNodeParent(val.parent)
- }
- },
- nodeOpen(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
- },
- nodeClose(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
- },
- beforeClose(done) {
- if (this.bsm1) {
- if (this.bsm1Val === null || this.bsm1Val === '') {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- }
- done()
- },
- upBsm1(val) {
- let sections = JSON.parse(this.bsmRow.section);
- let asks = JSON.parse(this.bsmRow.ask);
- let tells = JSON.parse(this.bsmRow.tell);
- let manHours = JSON.parse(this.bsmRow.manHour);
- let prices = JSON.parse(this.bsmRow.price);
- for (var a in sections) {
- if (val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === this.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- }
- }
-</script>
-<style scoped>
- .ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
-
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
-
- .title {
- height: 60px;
- line-height: 60px;
- }
-
- .center {
- width: 100%;
- height: calc(100% - 60px);
- }
-
-
- >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
- background-color: #edf2fc;
- border-color: #dcdfe6;
- cursor: not-allowed;
- }
-
- .node_i {
- color: orange;
- font-size: 18px;
- }
-
- .el-select-dropdown__item {
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
-</style>
diff --git a/src/components/do/b1-material-ins-order/material-fiberoptic-config.vue b/src/components/do/b1-material-ins-order/material-fiberoptic-config.vue
deleted file mode 100644
index 94f73f9..0000000
--- a/src/components/do/b1-material-ins-order/material-fiberoptic-config.vue
+++ /dev/null
@@ -1,1049 +0,0 @@
-<template>
- <div class="ins_order_config">
- <div>
- <el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">鍏夌氦閰嶇疆</el-col>
- <el-col :span="18" style="text-align: right;">
- <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>
- </el-col>
- </el-row>
- </div>
- <div class="center">
- <el-row :gutter="10" style="margin-bottom: 10px;">
- <el-col :span="9">
- <div class="grid-content">
- <h5>濂楃</h5>
- <div
- 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;">{{models}}</span>
- </div>
- <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>
- </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.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.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.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"
- :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" :disabled="active!=1" allow-create filterable >
- <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="standNum" label="鏍囬噺" show-overflow-tooltip align="center">
- </el-table-column>
- <el-table-column prop="testNum" label="娴嬭瘯閲�" show-overflow-tooltip align="center">
- </el-table-column>
- </el-table>
- </div>
- </el-col>
- <el-col :span="15">
- <div class="grid-content">
- <h5>妫�娴嬮」淇℃伅</h5>
- <el-table ref="productTable" :data="detectionItems" tooltip-effect="dark" style="width: 100%"
- :row-class-name="tableRowClassName"
- :header-cell-class-name="setClassName"
- height="283px"
- size="small" @selection-change="handleSelectionChange2"
- @select-all="handleAll"
- @select="upProductSelect"
- >
- <el-table-column type="selection" width="55"
- :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>
- </el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" show-overflow-tooltip width="100px">
- </el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="90" show-overflow-tooltip>
- </el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="70" show-overflow-tooltip>
- </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="ask" label="妫�娴嬭姹�" show-overflow-tooltip width="200px">
- <template slot-scope="scope">
- <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>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="10">
- <el-col :span="12" v-if="packageInfo.ismiers">
- <div class="grid-content">
- <h5>鍏夌氦甯�
- <!-- <el-button size="mini" type="primary" class="btns" @click="addFibers"
- :disabled="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||active!=1">
- <el-option v-for="(item,a) in miresModels" :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="miresStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :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>
- </el-select>
- </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="(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>
- <el-table-column prop="model" label="鍏夌氦甯﹁鏍�" show-overflow-tooltip align="center">
- </el-table-column>
- <el-table-column prop="standard" label="鍙傝�冩爣鍑�" show-overflow-tooltip align="center">
- </el-table-column>
- <el-table-column prop="num" label="鍏夌氦妫�娴嬮噺" show-overflow-tooltip align="center">
- </el-table-column>
- </el-table>
- </div>
- </el-col>
- <el-col :span="!packageInfo.ismiers?24:12">
- <div class="grid-content">
- <h5>鍏夌氦
- <!-- <el-button size="mini" type="primary" class="btns" @click="addFiber"
- :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||active!=1">
- <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="mireStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :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>
- </el-select>
- </div>
- </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="(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" :disabled="active!=1" allow-create filterable >
- <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="model" label="鍏夌氦瑙勬牸" show-overflow-tooltip align="center">
- </el-table-column>
- <el-table-column prop="standard" label="鍙傝�冩爣鍑�" show-overflow-tooltip align="center">
- </el-table-column>
- </el-table>
- </div>
- </el-col>
- </el-row>
- </div>
- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose">
- <div class="body" style="max-height: 60vh;">
- <el-row v-if="bsm1">
- <el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>鎶ゅ瀵嗗害锛�</div>
- <div class="search_input">
- <el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
- </el-radio-group>
- </div>
- </el-col>
- <el-col class="search_thing" :span="22">
- <div class="search_label">瑕佹眰鍊硷細</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
- <el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
- </el-radio-group>
- </div>
- </el-col>
- <el-col class="search_thing" :span="22">
- <div class="search_label">鍗曚环锛�</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
- <el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.price)[ai]}}</el-radio>
- </el-radio-group>
- </div>
- </el-col>
- </el-row>
- <el-row v-if="bsm2">
- <el-col class="search_thing" :span="22">
- <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div>
- <div class="search_input">
- <el-input-number size="medium" v-model="bsm2Val" :min="1" :max="bsm2Val3.length" :precision="0" style="width: 70%;"
- :controls="false" @change="bsm2Up"></el-input-number>
- <span>MAX锛歿{bsm2Val3.length}}</span>
- </div>
- </el-col>
- <el-col style="margin-top: 6px;">
- <el-col v-for="(a,ai) in bsm2Val2" :key="ai">
- <el-col :span="10">
- <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
- <el-option
- v-for="(item,index) in sampleList"
- :key="index"
- :label="index+1"
- :value="index+1">
- </el-option>
- </el-select>
- </el-col>
- <!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> -->
- <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>
- <el-col :span="10">
- <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
- <el-option
- v-for="(item,index) in sampleList"
- :key="index"
- :label="index+1"
- :value="index+1">
- </el-option>
- </el-select>
- </el-col>
- <!-- <el-col :span="10" class="pairing">{{a[1]}}</el-col> -->
- </el-col>
- </el-col>
- </el-row>
- <!-- <el-row v-if="bsm3">
- <el-col class="search_thing" :span="22" style="display: flex;align-items: center;">
- <div class="search_label"><span class="required-span">* </span>RTS锛�</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="bsm3Val"></el-input>
- </div>
- </el-col>
- </el-row> -->
- </div>
- </el-dialog>
- <el-dialog title="RTS濉啓" :visible.sync="bsm3Dia" width="500px" :show-close="false" :before-close="beforeClose0">
- <el-row>
- <el-col class="search_thing" :span="22" style="display: flex;align-items: center;">
- <div class="search_label"><span class="required-span">* </span>RTS锛�</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="bsm3Val"></el-input>
- </div>
- </el-col>
- </el-row>
- </el-dialog>
- </div>
-</template>
-
-<script>
- export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
- },
- data() {
- return {
- type:1,
- saveLoad: false,
- packageInfo: {
- radio: 1,
- num1: null,
- standNum: null,
- testNum: null,
- ismiers: false
- },
- tableData: [],
- tape: {
- value: ''
- },
- options: [],
- sample: [],
- models: '',
- colors: [],
- wires: [],
- bushing: [],
- mireModels: [],
- mireModel: null,
- mireStandard: [],
- mireStandards: null,
- miresModels: [],
- miresModel: null,
- miresStandard: [],
- miresStandards: null,
- selectBushing: [],
- productList: [],
- productList2: [],
- fiberList: [],
- fibersList: [],
- selectFibers: [],
- detectionItems:[],
- currentDetectionItems:null,
- mireStandardLoading:false,
- multiFiberList:[],
- isAskOnlyRead:true,
- bsm1Dia: false,
- bsmRow: null,
- bsm1: false,
- bsm1Val: null,
- bsm2: false,
- bsm2Val: null,
- bsm2Dia: false,
- bsm2Val2: [],
- bsm2Val3: [],
- sampleIds:[],
- bsm3Val: null,
- bsmRow3: null,
- bsm3Dia: false,
- }
- },
- computed: {
- isAllDisabled() {
- return this.multiFiberList.length > 0||this.currentDetectionItems||this.active!=1
- },
- },
- watch: {
- mireModel(val1,val0) {
- if(val1!=val0){
- this.mireStandards = []
- this.fiberList = []
- this.multiFiberList = []
- this.detectionItems = []
- this.currentDetectionItems = null;
- }
- },
- mireStandard(val1,val0) {
- if(val1!=val0){
- this.fiberList = []
- this.multiFiberList = []
- this.detectionItems = []
- this.currentDetectionItems = null;
- }
- }
- },
- 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.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.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)
- b.fiber.forEach(c=>{
- this.fiberList.push(c)
- })
- })
- }else{
- a.fiber.forEach(b=>{
- this.fiberList.push(b)
- })
- }
- })
- }
- this.getTypeDicts1()
- this.getStandTreeBySampleType()
- this.getStandTreeBySampleType2()
- },
- methods: {
- handleSelectionChange(val) {
- this.selectFibers = val
- this.multiFiberList = val
- },
- handleSelectionChange1(val) {
- this.selectBushing = val
- },
- handleSelectionChange2(val){},
- handleSelectionChange4(val){
- this.multiFiberList = val
- },
- outConfig() {
- this.$parent.configShow = false
- },
- getTypeDicts1() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鑹叉爣"
- }).then(res => {
- this.colors = res.data
- })
- },
- upNum() {
- this.fiberList = []
- this.fibersList = []
- this.detectionItems = []
- if (this.packageInfo.radio === 0) {
- this.packageInfo.testNum = this.packageInfo.standNum
- }
- 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.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
- 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,
- standNum: this.packageInfo.standNum,
- testNum: this.packageInfo.testNum,
- fibers: [],
- fiber: []
- }
- this.bushing.push(bushing)
- }
- } else {
- this.bushing = []
- }
- },
- getStandTreeBySampleType() {
- this.$axios.post(this.$api.standardTree.getStandTreeBySampleType, {
- laboratory: '閫氫俊浜у搧瀹為獙瀹�',
- sampleType: '鍏夌氦'
- }).then(res => {
- this.mireModels = []
- res.data.forEach(a => {
- this.mireModels.push({
- label: a.model,
- value: a.sample + ' - ' + a.model
- })
- })
- })
- },
- getStandTreeBySampleType2() {
- this.$axios.post(this.$api.standardTree.getStandTreeBySampleType, {
- laboratory: '閫氫俊浜у搧瀹為獙瀹�',
- sampleType: '鍏夌氦甯�'
- }).then(res => {
- this.miresModels = []
- res.data.forEach(a => {
- this.miresModels.push({
- label: a.model,
- value: a.model
- })
- })
- })
- },
- selectsStandardMethodByFLSSM() {
- this.mireStandards = []
- this.mireStandardLoading = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - ' + this.mireModel
- }).then(res => {
- this.mireStandardLoading = false
- this.mireStandards = res.data.standardMethodList
- })
- },
- selectsStandardMethodByFLSSM2() {
- this.miresStandards = []
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel
- }).then(res => {
- this.miresStandards = 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)
- })
- this.addFiber()
- }, 200)
- })
- },
- methodChange2(val) {
- if (val === null || val === '') return
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: '',
- standardMethodListId: val,
- factory: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel + ' - ',
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- this.productList2 = res.data
- setTimeout(() => {
- this.productList2.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- this.addFibers()
- }, 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
- if (this.packageInfo.ismiers) {
- if(this.selectFibers.length === 0){
- this.$message.error('鏈�夋嫨鍏夌氦甯�')
- return
- }
- this.selectFibers.forEach((a,index) => {
- a.fiber = []
- for (var i = 0; i < parseInt(a.num); i++) {
- let fiber = {
- bushColor: a.color,
- color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
- model: model,
- standard: standard,
- productList: this.HaveJson(this.productList)
- }
- a.fiber.push(fiber)
- this.fiberList.push(fiber)
- }
- })
- } else {
- this.selectBushing.forEach((a,index) => {
- a.fiber = []
- for (var i = 0; i < parseInt(a.testNum); i++) {
- let fiber = {
- bushColor: a.color,
- color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label,
- model: model,
- standard: standard,
- productList: this.HaveJson(this.productList)
- }
- a.fiber.push(fiber)
- this.fiberList.push(fiber)
- }
- })
- }
- },
- addFibers() {
- if(this.selectBushing.length===0){
- this.$message.error('鏈�夋嫨濂楃')
- return
- }
- this.fibersList = []
- let standard = this.miresStandards.find(a => a.id == this.miresStandard).code
- this.packageInfo.ismiers = true
- this.fiberList = []
- this.selectBushing.forEach(a => {
- a.fiber = []
- a.fibers = []
- for (var i = 0; i < parseInt(a.testNum); i++) {
- let fibers = {
- code: null,
- color: a.color,
- model: this.miresModel,
- standard: standard,
- num: a.testNum,
- productList: this.HaveJson(this.productList2),
- fiber: []
- }
- a.fibers.push(fibers)
- this.fibersList.push(fibers)
- }
- })
- },
- rowClickFiber(row, column, event,type){
- this.type = 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;
- }
- }
- }
- if(this.type==1){
- if (this.active !== 1) {
- this.sampleIds = []
- this.sampleIds.push(row.id)
- }
- }
- this.currentDetectionItems = row
- this.detectionItems = row.productList
- if(this.detectionItems === null) return
- setTimeout(() => {
- this.detectionItems.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- handleAll(e) {
- if (e.length > 0) {
- this.detectionItems.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.detectionItems.map(m => {
- m.state = 0
- return m
- })
- }
- if (e.length > 0) {
- if(this.multiFiberList.length > 0){
- this.multiFiberList.map(item => {
- item.productList.map(m=>{
- m.state = 1;
- return m;
- })
- return item
- })
- }else{
- this.currentDetectionItems.productList.map(m=>{
- m.state = 1;
- return m;
- })
- }
- } else {
- if(this.multiFiberList.length > 0){
- this.multiFiberList.map(item => {
- item.productList.map(m=>{
- m.state = 0;
- return m;
- })
- return item
- })
- }else{
- this.currentDetectionItems.productList.map(m=>{
- m.state = 0;
- return m;
- });
- }
- }
- this.bsmRow3 = []
- this.detectionItems.forEach(p => {
- if(this.type==1){
- if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
- if (p.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(p)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
- this.bsm1 = false
- }
- if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && p.state === 1) {
- this.bsm2 = true
- this.bsm1Dia = true
- if(this.bsm2Val2.length === 0){
- this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
- this.computationalPairing(this.sampleList.length)
- this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- }
- } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && p.state === 1) {
- this.bsm2 = false
- }
- }
- // if (p.ask.includes('RTS')&&p.state === 1) {
- // p.rts = ''
- // this.bsm3Val = ''
- // this.bsm3Dia = true
- // this.bsmRow3.push(p)
- // }
- })
-
- if (e.length > 0) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 1
- return m;
- })
- }
- return item
- })
- } else {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 0
- return m;
- })
- }
- return item
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- if(this.multiFiberList.length > 0){
- this.multiFiberList.map(item => {
- item.productList.map(m=>{
- if(m.id == row.id){
- m.state = row.state;
- }
- return m
- })
- return item
- })
- }else{
- this.currentDetectionItems.productList.map(m=>{
- if(m.id == row.id){
- m.state = row.state;
- }
- return m;
- });
- }
- if(this.type==1){
- if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
- if (row.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(row)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
- this.bsm1 = false
- }
- if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && row.state === 1) {
- this.bsm2 = true
- this.bsm1Dia = true
- if(this.bsm2Val2.length === 0){
- this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
- this.computationalPairing(this.sampleList.length)
- this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- }
- } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && row.state === 1) {
- this.bsm2 = false
- }
- }else{
- this.bsm1Dia = false
- }
- // if (row.ask.includes('RTS')&&row.state === 1) {
- // this.bsmRow3 = null;
- // row.rts = ''
- // this.bsm3Val = ''
- // this.bsm3Dia = true
- // this.bsmRow3 = row
- // }else{
- // this.bsm3Dia = false
- // }
- },
- computationalPairing(n){
- const nums = [];
- for (let i = 1; i <= n; i++) {
- nums.push(i);
- }
- this.bsm2Val3 = this.HaveJson(this.permute(nums))
- },
- setClassName({ column }) {
- if (column.type == 'selection' && !this.isAllDisabled) {
- return 'all-disabled'
- }
- },
- setClassName0({ column }){
- if (column.type == 'selection' && this.active!=1) {
- return 'all-disabled'
- }
- },
- clearFibers(){
- this.packageInfo.ismiers = false
- this.fibersList = []
- this.bushing.forEach(a=>{
- a.fibers = []
- })
- },
- 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+'绠¤壊鏍囧绠$己灏戦厤缃棤娉曚繚瀛�')
- return
- }
- }
- this.sample.forEach(a=>{
- a.bushing = this.bushing
- })
- this.$message.success('宸蹭繚瀛�')
- this.$emit('saveFiberopticConfig')
- },
- beforeClose(done){
- if (this.bsm1) {
- if (this.bsm1Val === null || this.bsm1Val === '') {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- }
- if (this.bsm2) {
- if (this.bsm2Val2.length === 0) {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- let set = new Set()
- for (let i=0;i<this.bsm2Val2.length;i++){
- let num0 = set.size
- set.add(JSON.stringify(this.bsm2Val2[i]))
- let num1 = set.size
- if(num1==num0){
- this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- return
- }
- set.add(JSON.stringify(this.bsm2Val2[i].reverse()))
- let num2 = set.size
- if(num1==num2){
- this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- return
- }
- }
- }
- done()
- },
- beforeClose0(done){
- if(!this.bsm3Val){
- this.$message.error('RST蹇呴』濉啓')
- return
- }else{
- if(Array.isArray(this.bsmRow3)){
- this.bsmRow3.forEach(item=>{
- item.rts = this.bsm3Val
- })
- }else{
- this.bsmRow3.rts = this.bsm3Val
- }
- }
- done()
- },
- upBsm1(val) {
- let sections = JSON.parse(this.bsmRow.section);
- let asks = JSON.parse(this.bsmRow.ask);
- let tells = JSON.parse(this.bsmRow.tell);
- let manHours = JSON.parse(this.bsmRow.manHour);
- let prices = JSON.parse(this.bsmRow.price);
- for (var a in sections) {
- if (val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === this.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- bsm2Up(val){
- let list = []
- for(let a=1;a < this.bsm2Val3.length + 1;a++){
- list.push(a)
- }
- let set = new Set()
- let size1 = set.length
- while(set.size < val){
- set.add(Math.ceil(Math.random() * this.bsm2Val3.length))
- }
- this.bsm2Val2 = []
- for(let a of set){
- this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a-1]))
- }
- }
- }
- }
-</script>
-
-<style scoped>
- .ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
-
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
-
- .title {
- height: 60px;
- line-height: 60px;
- }
-
- .center {
- width: 100%;
- height: calc(100% - 60px);
- }
-
- .grid-content {
- background: #fff;
- border-radius: 4px;
- box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.05);
- }
-
- .grid-content h5 {
- color: #3A7BFA;
- font-weight: 400;
- line-height: 32px;
- padding-left: 16px;
- box-sizing: border-box;
- border-bottom: 1px solid #eee;
- }
-
- .search-item {
- display: flex;
- align-items: center;
- line-height: 36px;
- }
-
- .search-item label {
- width: 90px;
- font-size: 12px;
- color: #606266;
- /* text-align: right; */
- }
-
- .btns {
- margin: 8px 0 8px 10px;
- }
-
- >>>.el-table th.el-table__cell>.cell {
- padding-top: 2px !important;
- padding-bottom: 2px !important;
- }
- >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
- background-color: #edf2fc;
- border-color: #dcdfe6;
- cursor: not-allowed;
- }
-</style>
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 511bc20..d544a33 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -367,7 +367,6 @@
</el-table-column>
</el-table>
</el-dialog>
- <input type="text" id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;" autocomplete="off"></input>
<el-dialog title="鎵爜妫�楠�" :visible.sync="qrCodeVisible" width="350px">
<el-row>
<el-col class="search_thing" :span="24">
@@ -677,36 +676,6 @@
this.initializeSortable();
}
},
- watch:{
- qrCodeVisible(newVal){
- if(newVal){
- // this.$message.success('鎵爜锛氭墦寮�')
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }else{
- // this.$message.warning('鎵爜锛氬叧闂�')
- clearInterval(this.startTime)
- this.sampleCode = ''
- }
- },
- exportVisible(newVal){
- if(newVal){
- // this.$message.success('鎵爜锛氭墦寮�')
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }else{
- // this.$message.warning('鎵爜锛氬叧闂�')
- clearInterval(this.startTime)
- this.sampleCode = ''
- }
- },
- },
methods: {
selectList () {
this.$axios.get(this.$api.warehouse.selectWarehouse).then(res => {
diff --git a/src/components/view/b1-material-inspection-order.vue b/src/components/view/b1-material-inspection-order.vue
deleted file mode 100644
index ce7051b..0000000
--- a/src/components/view/b1-material-inspection-order.vue
+++ /dev/null
@@ -1,273 +0,0 @@
-<template>
- <div>
- <div style="width: 100%;height: 100%;" v-show="active === 0">
- <div>
- <el-row class="title">
- <el-col :span="12" style="padding-left: 20px;text-align: left;">鍘熸潗鏂欐楠屼笅鍗�</el-col>
- <el-col :span="12" style="text-align: right;">
- <el-button size="medium" type="primary" v-if="tabIndex === 0" @click="openIFS">鑾峰彇IFS璁㈠崟</el-button>
- <el-button size="medium" type="primary" v-if="tabIndex === 0" @click="playOrder(1)">鎶ユ</el-button>
- </el-col>
- </el-row>
- </div>
- <div class="search">
- <div class="search_thing">
- <div class="search_label">閲囪喘璁㈠崟鍙凤細</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
- </div>
- <div class="search_thing">
- <div class="search_label">鏍峰搧缂栧彿锛�</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.sample" @keyup.enter.native="refreshTable()"></el-input></div>
- </div>
- <div class="search_thing">
- <div class="search_label">鏍峰搧鍚嶇О锛�</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div>
- </div>
- <div class="search_thing" style="padding-left: 30px;">
- <el-button size="small" @click="refresh()">閲� 缃�</el-button>
- <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
- </div>
- </div>
- <div class="table">
- <ul class="tab">
- <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
- </ul>
- <ValueTable :style="getStyle()" ref="ValueTable"
- :url="$api.insOrder.selectSampleAndProductByOrderId"
- :componentData="componentData"
- :key="'b'+ upIndex" />
- </div>
- </div>
- <div style="width: 100%;height: 100%;" v-if="active >0">
- <CustomsInspection :active="active" :currentId="currentId" v-if="active<4" />
- </div>
- <el-dialog title="鑾峰彇IFS璁㈠崟琛�" :visible.sync="IFSDialog" width="70%">
- <div class="search">
- <div class="search_thing">
- <div class="search_label">閲囪喘璁㈠崟鍙凤細</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div>
- </div>
- <div class="search_thing" style="padding-left: 30px;">
- <el-button size="small" @click="refreshIFS()">閲� 缃�</el-button>
- <el-button size="small" type="primary" @click="refreshTableIFS()">鏌� 璇�</el-button>
- </div>
- </div>
- <div style="height: 70vh;overflow-y: auto;">
- <ValueTable ref="ValueTableIFS"
- :url="$api.insOrder.selectSampleAndProductByOrderId"
- :componentData="componentDataIFS"/>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-row>
- <el-button @click="IFSDialog=false">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitPrint" :loading="IFSGetLoading">鑾峰彇</el-button>
- </el-row>
- </span>
- </el-dialog>
- </div>
-</template>
-
-<script>
-import ValueTable from "../tool/value-table.vue";
-import CustomsInspection from "../do/b1-material-ins-order/customs-inspection.vue";
-
-export default {
- name: "b1-material-inspection-order",
- // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
- components: {CustomsInspection, ValueTable},
- data() {
- // 杩欓噷瀛樻斁鏁版嵁
- return {
- componentData: { // 琛ㄦ牸鏁版嵁
- entity: {
- entrustCode: null,
- sample: null,
- sampleModel: null,
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod:'selectMethod',
- do: [
- {
- id: 'update',
- font: '缂栬緫',
- type: 'text',
- method: 'doDiy',
- },
- {
- id: 'verify',
- font: '鏌ョ湅',
- type: 'text',
- method: 'doDiy',
- },
- {
- id: 'dataLook',
- font: '鎾ら攢鎶ユ',
- type: 'text',
- method: 'handleDataLook',
- }
- ],
- tagField: {},
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- componentDataIFS: {
- entity: {
- entrustCode: null,
- sample: null,
- sampleModel: null,
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod:'selectMethod',
- do: [],
- tagField: {},
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- tabList: [{
- label: '寰呮姤妫�',
- value: 0
- }, {
- label: '寰呭埗鍗�',
- value: 1
- }],
- upIndex: 0,
- tabIndex: 0,
- multipleSelection:[],
- entityCopy: {},
- entityCopyIFS: {},
- IFSDialog: false,
- IFSGetLoading: false,
- active: 0, //1锛氭姤妫�锛�2锛氭煡鐪嬶紝3锛氬鏍革紝4锛氬厜绾ら厤缃�,榛樿涓�0
- currentId: null,
- }
- },
- mounted () {
- this.entityCopy = this.HaveJson(this.componentData.entity)
- this.entityCopyIFS = this.HaveJson(this.componentDataIFS.entity)
- },
- // 鏂规硶闆嗗悎
- methods: {
- refreshTable(e) {
- this.$refs.ValueTable.selectList(e)
- },
- refresh() {
- this.componentData.entity = this.HaveJson(this.entityCopy)
- this.refreshTable()
- },
- refreshIFS() {
- this.componentDataIFS.entity = this.HaveJson(this.entityCopyIFS)
- this.refreshTableIFS()
- },
- refreshTableIFS(e) {
- this.$refs.ValueTableIFS.selectList(e)
- },
- // 鑾峰彇IFS璁㈠崟
- submitPrint () {
-
- },
- // 鎶ユ
- playOrder(num) {
- // if (this.multipleSelection.length < 1) {
- // this.$message.error('璇烽�夋嫨闇�瑕佹姤妫�鐨勬暟鎹�')
- // return
- // }
- this.active = num
- if (num === 0) {
- this.refreshTable('page')
- }
- },
- // 鍒囨崲tab琛ㄦ牸
- handleTab(m, i) {
- this.tabIndex = i;
- this.componentData.entity.state = m.value
- this.refreshTable()
- },
- // 琛ㄦ牸閫夋嫨鏂规硶
- selectMethod(val){
- this.multipleSelection = val
- },
- openIFS () {
- this.IFSDialog = true
- },
- getStyle(){
- return 'height: calc(100% - '+(this.more?'94':'44')+'px)'
- }
- },
-}
-</script>
-
-<style scoped>
-.title {
- height: 60px;
- line-height: 60px;
-}
-
-.search {
- background-color: #fff;
- height: 80px;
- display: flex;
- align-items: center;
- overflow: hidden;
-}
-
-.search_thing {
- display: flex;
- align-items: center;
- height: 50px;
- width: 250px;
-}
-
-.search_label {
- width: 110px;
- font-size: 14px;
- text-align: right;
-}
-
-.search_input {
- width: calc(100% - 90px);
-}
-.table {
- margin-top: 10px;
- background-color: #fff;
- width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 10px - 40px);
- padding: 20px;
-}
-.tab {
- list-style-type: none;
- display: flex;
- margin-bottom: 12px;
-}
-
-.tab li {
- line-height: 24px;
- padding: 6px 14px;
- font-size: 14px;
- color: #333333;
- border: 1px solid #EEEEEE;
- cursor: pointer;
-}
-
-.tab li:nth-child(1) {
- border-radius: 8px 0 0 8px;
-}
-
-.tab li:nth-child(2) {
- border-radius: 0 8px 8px 0;
-}
-
-.tab li.active {
- border-color: #3A7BFA;
- color: #3A7BFA;
-}
-</style>
diff --git a/src/components/view/b1-sample.vue b/src/components/view/b1-sample.vue
index c7a18b0..1db786b 100644
--- a/src/components/view/b1-sample.vue
+++ b/src/components/view/b1-sample.vue
@@ -366,7 +366,7 @@
<el-button type="primary" @click="confirmShelves" :loading="upLoadShelves">纭� 瀹�</el-button>
</span>
</el-dialog>
- <input type="password" id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input>
+ <!-- <input type="password" id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input> -->
</div>
</template>
@@ -412,39 +412,39 @@
codeInfo:null,
}
},
- watch:{
- storageVisible(newVal){
- if(newVal){
- // this.$message.success('鎵爜锛氭墦寮�')
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }else{
- // this.$message.warning('鎵爜锛氬叧闂�')
- clearInterval(this.startTime)
- }
- },
- exportVisible(newVal){
- if(newVal){
- // this.$message.success('鎵爜锛氭墦寮�')
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }else{
- // this.$message.warning('鎵爜锛氬叧闂�')
- clearInterval(this.startTime)
- }
- },
- isEdit(newVal){
- if(!newVal){
- this.shelves = {}
- }
- }
- },
+ // watch:{
+ // storageVisible(newVal){
+ // if(newVal){
+ // // this.$message.success('鎵爜锛氭墦寮�')
+ // let input = document.getElementById('ScanCodeInfo');
+ // input.focus();
+ // this.startTime = setInterval(()=>{
+ // input.focus()
+ // },1000)
+ // }else{
+ // // this.$message.warning('鎵爜锛氬叧闂�')
+ // clearInterval(this.startTime)
+ // }
+ // },
+ // exportVisible(newVal){
+ // if(newVal){
+ // // this.$message.success('鎵爜锛氭墦寮�')
+ // let input = document.getElementById('ScanCodeInfo');
+ // input.focus();
+ // this.startTime = setInterval(()=>{
+ // input.focus()
+ // },1000)
+ // }else{
+ // // this.$message.warning('鎵爜锛氬叧闂�')
+ // clearInterval(this.startTime)
+ // }
+ // },
+ // isEdit(newVal){
+ // if(!newVal){
+ // this.shelves = {}
+ // }
+ // }
+ // },
mounted() {
this.selectList()
},
diff --git a/src/main.js b/src/main.js
index ab48d7d..9be5ec0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -21,11 +21,15 @@
//鏈湴
// Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
// const javaApi = 'http://127.0.0.1:8001';
-const javaApi = 'http://172.20.10.5:8001';
+// const javaApi = 'http://172.20.10.5:8001';
// //閫氫俊娴嬭瘯搴�
// Vue.prototype.LOCATIONVUE = "http://10.1.13.77:8080";
-// const javaApi = 'http://10.1.13.77:8001';
+const javaApi = 'http://10.1.13.77:8001';
+
+// //閫氫俊姝e紡搴�
+// Vue.prototype.LOCATIONVUE = "https://ztwxlims.ztt.cn:7443";
+// const javaApi = 'https://ztwxlims.ztt.cn:7443/lims/';
//浜�
// Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080";
--
Gitblit v1.9.3