From ff017259dac281ca30195b4d2d337f14c24f9332 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 19 十二月 2024 14:16:25 +0800
Subject: [PATCH] 完成cnas8.7搬迁
---
src/components/do/b1-ins-order/add.vue | 625 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 421 insertions(+), 204 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 4e6f9cb..975e112 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -134,9 +134,9 @@
<div class="ins_order_add" style=" display: block; ">
<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-col :span="8" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<span
+ style="color: #3A7BFA">锟{total.toFixed(2)}}</span></el-col>
+ <el-col :span="16" 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">
@@ -148,10 +148,7 @@
<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&&addObj.companyId"
@@ -219,7 +216,7 @@
</div>
</el-col>
<el-col class="search_thing" :span="6">
- <div class="search_label"><span class="required-span">* </span>鏍峰搧鍚嶇О锛�</div>
+ <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"
@@ -237,7 +234,7 @@
<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>
+ style="width: 100%;" @change="addStandardTree" :disabled="active>1"></el-input-number>
</div>
</el-col>
<!-- <el-col class="search_thing" :span="6">
@@ -264,7 +261,7 @@
</div>
</el-col>
<el-col class="search_thing" :span="6" v-if="addObj.formType!='鍏朵粬鎴愬搧'&&addObj.formType">
- <div class="search_label"><span class="required-span">* </span>涓嬪彂鑷冲璞★細</div>
+ <div class="search_label"><span class="required-span">* </span>閫氱煡鑷虫牱鏈哄憳锛�</div>
<div class="search_input">
<el-select v-model="addObj.issueUser" size="small" :disabled="active>1" style="width: 100%;">
<el-option v-for="(a,ai) in personList" :key="ai" :label="a.label" :value="a.value"></el-option>
@@ -333,7 +330,7 @@
<el-col class="search_thing" :span="6">
<div class="search_label" style="width: 175px;">鏄惁娑夊強閰嶅鏍峰搧锛�</div>
<div class="search_input" style="width: calc(100% - 175px);">
- <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()">
+ <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active>1">
<el-radio :label="1">鏄�</el-radio>
<el-radio :label="0">鍚�</el-radio>
</el-radio-group>
@@ -349,6 +346,49 @@
<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">
+ <div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
+ <div class="search_input">
+ <el-date-picker
+ v-model="addObj.appointed"
+ :disabled="active>1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;">
+ </el-date-picker>
+ </div>
+ </el-col>
+ <el-col class="search_thing" :span="6" v-if="addObj.formType!='鍏朵粬鎴愬搧'&&addObj.formType">
+ <div class="search_label"><span class="required-span">* </span>鏍锋満瀹屾垚鏃堕棿锛�</div>
+ <div class="search_input">
+ <el-date-picker
+ v-model="addObj.issueTime"
+ :disabled="active>1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;">
+ </el-date-picker>
+ </div>
+ </el-col>
+ <el-col class="search_thing upload" :span="4" style="align-items: flex-start;height: auto" v-if="active==1">
+ <el-upload
+ style="margin: 8px 0 0px 50px;"
+ action="#"
+ :auto-upload="false"
+ accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload">
+ <el-button size="small" type="primary">涓婁紶闄勪欢</el-button>
+ </el-upload>
+ </el-col>
+ <el-col class="search_thing" :span="8">
+ <div class="search_input" style="width: 100%;margin-left: 40px;">
+ <el-radio-group v-model="ruleInfo.rule" @change="$refs.sampleTable.doLayout()" :disabled="active>1">
+ <el-radio :label="1">涓嶈�冭檻涓嶇‘瀹氬害</el-radio>
+ <el-radio :label="2">鑰冭檻涓嶇‘瀹氬害<el-input placeholder="" v-model="ruleInfo.num" style="width: 100px;margin-left: 10px;" size="mini" :disabled="active>1">
+ <template slot="append">%</template>
+ </el-input></el-radio>
+ </el-radio-group>
</div>
</el-col>
<el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;">
@@ -369,11 +409,33 @@
<div style="height: auto;">
<div class="search" v-if="active==1" style="display: flex;background: transparent;">
<div class="search_thing">
- <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
+ <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-input size="small" v-model="allInfo.sample" @change="changeModel('sample')"></el-input>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鏍峰搧绫诲埆锛�</div>
+ <div class="search_input">
+ <el-select v-model="allInfo.model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
+ @change="changeModel('model')">
<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-input size="small" v-model="allInfo.modelNum" @change="changeModel('modelNum')"></el-input>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">璇曢獙鏍囧噯锛�</div>
+ <div class="search_input">
+ <el-select v-model="allInfo.testRequirements" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
+ @change="changeModel('testRequirements')">
+ <el-option v-for="item in standard" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -389,13 +451,17 @@
</div>
</div>
</div>
+ <el-radio-group v-model="currentPage" v-if="active>1" size="small" style="margin-top: 20px;">
+ <el-radio-button :label="0">鏍峰搧</el-radio-button>
+ <el-radio-button :label="1">闄勪欢</el-radio-button>
+ </el-radio-group>
<el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" max-height="400px" tooltip-effect="dark"
- border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;">
+ border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;" v-show="currentPage==0">
<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>
+ <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1" placeholder="蹇呭~"></el-input>
</template>
</el-table-column>
<el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100" align="center">
@@ -404,20 +470,29 @@
:readonly="active>1"></el-input>
</template>
</el-table-column>
- <el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" min-width="100">
+ <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="鏍峰搧鍨嬪彿"
+ <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="鍨嬪彿鍙傛暟" min-width="100" align="center" v-if="!(active>1)">
+ <el-table-column prop="modelNum" label="浜у搧鍨嬪彿" min-width="100" align="center" v-if="!(active>1)">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�"
+ <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="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1"
+ placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable @change="changeModel0(scope.row)">
+ <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
</template>
</el-table-column>
<el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
@@ -426,15 +501,6 @@
placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
@focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []" multiple>
<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="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100">
- <template slot-scope="scope">
- <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1"
- placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable>
- <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
</el-option>
</el-select>
</template>
@@ -461,7 +527,7 @@
</el-table>
<el-table class="el-table" ref="productTable" :data="productList" max-height="400px" tooltip-effect="dark" border
@selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
- :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll">
+ :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll" v-show="currentPage==0">
<el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></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>
@@ -543,6 +609,9 @@
<el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters"
:filter-method="filterHandler"></el-table-column>
</el-table>
+ <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList"
+ :componentData="componentData0"
+ :delUrl="$api.insOrderPlan.delfile" style="height: 100%;margin-top: 16px;" v-show="currentPage==1"/>
</div>
</div>
<el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%">
@@ -941,6 +1010,56 @@
<el-button type="primary" @click="spliceTemperatureTest">淇濆瓨</el-button>
</span>
</el-dialog>
+ <!-- 鍔熺巼瀹归噺--濉啓绔彛 -->
+ <el-dialog title="濉啓绔彛" :visible.sync="powerShow"
+ :close-on-click-modal="false" :close-on-press-escape="false"
+ width="50%">
+ <el-table
+ :data="powerTable"
+ border
+ style="width: 100%">
+ <el-table-column
+ fixed
+ prop="sample"
+ label="鏍峰搧"
+ min-width="150">
+ </el-table-column>
+ <el-table-column
+ prop="model"
+ label="鍨嬪彿"
+ min-width="120">
+ </el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ min-width="120">
+ </el-table-column>
+ <el-table-column
+ prop="ask"
+ label="绔彛"
+ min-width="120">
+ <template slot-scope="scope">
+ <el-input-number v-model="scope.row.ask" :min="1" :max="100" label="绔彛" size="small"></el-input-number>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="powerShow=false">鍙栨秷</el-button>
+ <el-button type="primary" @click="savePowerTest">淇濆瓨</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog
+ title="鏂囦欢棰勮"
+ :visible.sync="lookFileVisible"
+ width="60%" fullscreen>
+ <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url"
+ :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/>
+ </el-dialog>
+ <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">鍙屾柟鎵胯:<br/>
+ 1銆佸鎵樻柟鎵胯鎻愪緵鐨勪俊鎭笌鏍峰搧鐨勭湡瀹炴��;<br/>
+ 2銆佸鎵橀�佹牱妫�楠岀粨鏋滀粎閫傜敤浜庢敹鍒扮殑鏍峰搧;<br/>
+ 3銆佽瘯楠岃繃绋嬪鑷寸殑鏍峰搧鎹熷潖銆侀厤浠舵崯鍧忋�佹崯鑰楋紝鏈祴璇曞満涓嶆壙鎷呰禂鍋胯矗浠�;<br/>
+ 4銆佸疄楠屽鎵胯鍏寮�灞曟娴嬫椿鍔紝骞舵壙璇轰繚瀹堝湪妫�娴嬫椿鍔ㄨ繃绋嬩腑鎵�鑾风煡鐨勪繚瀵嗕俊鎭��</p>
</div>
</template>
@@ -951,6 +1070,7 @@
import equipConfig from './equip-config.vue'
import cableConfig from './cable-config.vue'
import Vue from 'vue'
+import filePreview from '../../tool/file-preview.vue'
export default {
components: {
@@ -958,7 +1078,8 @@
fiberOpticConfig,
fiberOpticConfigTwo,
equipConfig,
- cableConfig
+ cableConfig,
+ filePreview
},
props: {
examine: {
@@ -976,6 +1097,8 @@
},
data() {
return {
+ currentFile:{},
+ lookFileVisible:false,
inspectionItemST: null,
sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
editTable:[],
@@ -989,6 +1112,7 @@
type: '0',
code: null,
appointed: null,
+ issueTime:null,
remark: null,
otcCode: null,
mating: 0,
@@ -1154,6 +1278,64 @@
deaprtEnum:[],
standard:[],
createState:1,//1:閫夋嫨濮旀墭鍗曚綅锛�2锛氶�夋嫨鐢熶骇鍗曚綅
+ fileList:[],
+ currentPage:0,//0:鏍峰搧淇℃伅锛�1锛氶檮浠�
+ componentData0: {
+ entity: {
+ insOrderId:''
+ },
+ isIndex: true,
+ showSelect: false,
+ select: false,
+ sort: false,
+ init:false,
+ do: [
+ {
+ id: 'handleDown',
+ font: '涓嬭浇',
+ type: 'text',
+ method: 'handleDown'
+ },
+ {
+ id: '1',
+ font: '棰勮',
+ type: 'text',
+ method: 'lookFile',
+ }
+ ],
+ isPage: false,
+ linkEvent: {},
+ tagField: {
+ type:{
+ select:[
+ {
+ value: 1,
+ label: '鍥剧墖'
+ },
+ {
+ value: 2,
+ label: '鏂囦欢'
+ }
+ ]
+ }
+ },
+ currentId: '',
+ selectField: {},
+ requiredAdd: [],
+ requiredUp: []
+ },
+ ruleInfo:{
+ rule:1,
+ num:null,
+ },
+ powerShow:false,
+ powerTable:[],
+ allInfo:{
+ model:null,
+ sample:null,
+ modelNum:null,
+ testRequirements:null,
+ }
}
},
watch: {
@@ -1204,12 +1386,21 @@
}
},
'addObj.sample'(val) {
- this.model = null
+ this.allInfo.model = null
+ this.allInfo.sample = null
+ this.allInfo.modelNum = null
+ this.allInfo.testRequirements = null
this.standardMethodListId = []
},
'addObj.sampleNum'(val) {
- this.model = null
+ this.allInfo.model = null
+ this.allInfo.sample = null
+ this.allInfo.modelNum = null
+ this.allInfo.testRequirements = null
this.standardMethodListId = []
+ },
+ active(val){
+ this.saveLoad = false
}
},
mounted() {
@@ -1234,6 +1425,14 @@
this.addObj = {
...res.data.insOrder
};
+ if(this.addObj.rule){
+ if(this.addObj.rule=='涓嶈�冭檻涓嶇‘瀹氬害'){
+ this.ruleInfo.rule = 1
+ }else{
+ this.ruleInfo.rule = 2
+ this.ruleInfo.num = this.addObj.rule.split('-')[1]
+ }
+ }
this.addObj.type = String(this.addObj.type)
this.sampleList = this.HaveJson(res.data.sampleProduct)
this.sampleList.forEach(m=>{
@@ -1249,10 +1448,45 @@
}
})
})
+ // 鏂囦欢淇℃伅
+ this.componentData0.entity.insOrderId = this.currentId;
+ this.$refs.fileList.selectList()
}
},
methods: {
+ lookFile(row){
+ this.currentFile = row;
+ if(row.type==1){
+ this.currentFile.url = this.javaApi+'/img/'+row.fileUrl
+ }else{
+ this.currentFile.url = this.javaApi+'/word/'+row.fileUrl
+ }
+ this.lookFileVisible = true
+ },
+ handleDown(row){
+ this.$axios.post(this.$api.insOrderPlan.downFile, {
+ id: row.id,
+ }).then(res => {
+ if (res.code === 200) {
+ let url = '';
+ if(res.data.type==1){
+ url = this.javaApi+'/img/'+res.data.fileUrl
+ file.downloadIamge(url,row.fileName)
+ }else{
+ url = this.javaApi+'/word/'+res.data.fileUrl
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = row.fileName;
+ link.click();
+ }
+ }
+ }).catch(error => {
+ })
+ },
+ handleChangeUpload(file, fileLists){
+ this.fileList = fileLists
+ },
//鐗规畩鍊煎~鍐欏鐞�
inputValueHandler(row,index){
if(row){
@@ -1336,7 +1570,13 @@
})
this.circulateShow = false
this.changeProductList0()
- this.currentMethod.insProduct = this.productList0
+ if(this.sampleSelectionList.length>0){
+ this.sampleSelectionList.forEach(item=>{
+ item.insProduct = this.productList0
+ })
+ }else{
+ this.currentMethod.insProduct = this.productList0
+ }
this.getProNum()
},
spliceTemperatureTest () {
@@ -1387,6 +1627,24 @@
return
}
this.spliceTemperatureTest()
+ },
+ savePowerTest(){
+ if(!this.powerTable.every(m=>m.ask))
+ {
+ this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+ }
+ let num = 0;
+ let sampleList = this.HaveJson(this.sampleList)
+ sampleList.forEach(item=>{
+ item.insProduct.forEach(m=>{
+ if(m.inspectionItem.includes('鍔熺巼璇曢獙')&&m.state==1){
+ m.ask = '绔彛鏁�:'+this.powerTable[num].ask
+ num++
+ }
+ })
+ })
+ this.saveMethod(sampleList)
+ this.powerShow = false;
},
cleanTemperatureTest () {
this.temperatureTest = []
@@ -1670,10 +1928,14 @@
this.$message.error('璇疯緭鍏ユ牱鍝佸悕绉�')
} else if (!this.sampleList.every(m => m.model)) {
this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�')
- } else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) {
+ }else if (!this.addObj.appointed) {
+ this.$message.error('璇烽�夋嫨绾﹀畾鏃堕棿')
+ }else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) {
this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
} else if(this.addObj.formType&&this.addObj.formType!='鍏朵粬鎴愬搧'&&!this.addObj.issueUser){
- this.$message.error('璇烽�夋嫨涓嬪彂瀵硅薄')
+ this.$message.error('璇烽�夋嫨閫氱煡鑷虫牱鏈哄憳')
+ }else if(this.addObj.formType&&this.addObj.formType!='鍏朵粬鎴愬搧'&&!this.addObj.issueTime){
+ this.$message.error('璇烽�夋嫨鏍锋満瀹屾垚鏃堕棿')
}else{
//鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
// if(this.active==1&&this.isAskOnlyRead){
@@ -1684,6 +1946,29 @@
// }
// }
let sampleList = this.HaveJson(this.sampleList)
+ for (let i = 0; i < sampleList.length; i++) {
+ if (sampleList[i].insProduct.length > 0) {
+ let set = new Set()
+ for (let j = 0; j < sampleList[i].insProduct.length; j++) {
+ if(sampleList[i].insProduct[j].state == 1){
+ let num0 = set.size
+ set.add(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass)
+ let num1 = set.size
+ if(num0==num1){
+ this.$message.error(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass+'閲嶅')
+ return
+ }
+ }
+ }
+ }
+ }
+
+ let index0 = sampleList.findIndex(m=>!m.sample)
+ if(index0>-1) return this.$message.error('璇峰~鍐欐牱鍝佸悕绉�')
+ let index1 = sampleList.findIndex(m=>!m.modelNum)
+ if(index1>-1) return this.$message.error('璇峰~鍐欎骇鍝佸瀷鍙�')
+
+
let projectNum = this.totalArr.filter(a => a.state == 1).length
if(projectNum==0){
this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
@@ -1694,13 +1979,22 @@
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)
+ let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask&&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
+ }
+ let isPower = this.totalArr.find(a => a.inspectionItem.includes('鍔熺巼璇曢獙')&&a.state==1)
+ if (isPower) {
+ this.powerTable = this.totalArr.filter(a => a.inspectionItem.includes('鍔熺巼璇曢獙')&&a.state==1)
+ this.powerTable.forEach(a => {
+ a.ask = null
+ })
+ this.powerShow = true;
return
}
this.saveMethod(sampleList)
@@ -1747,7 +2041,6 @@
let min = Math.min(...splits)
let max = Math.max(...splits)
if(min==max){
- console.log(2222);
isTrue = false
}
//瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
@@ -1844,7 +2137,7 @@
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)){
+ if(a.ask&&a.ask.includes(arr[i].symbolItem)){
let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value)
if (ask) {
a.ask = ask
@@ -2043,9 +2336,25 @@
})
return false;
}
+ if(this.ruleInfo.rule==1){
+ this.addObj.rule = '涓嶈�冭檻涓嶇‘瀹氬害'
+ }else if(this.ruleInfo.rule==2){
+ if(this.ruleInfo.rule==2&&(!this.ruleInfo.num||this.ruleInfo.num<0||this.ruleInfo.num==0)){
+ this.$message({
+ type: 'error',
+ message: '璇疯緭鍏ヤ笉纭畾搴�'
+ })
+ return;
+ }
+ this.addObj.rule = '鑰冭檻涓嶇‘瀹氬害'+'-'+this.ruleInfo.num
+ }
this.saveLoad = true
- this.$axios.post(this.$api.insOrder.addInsOrder, {
- str: JSON.stringify({
+ let fd = new FormData();
+ this.fileList.forEach((item,index)=>{
+ //鏂囦欢淇℃伅涓璻aw鎵嶆槸鐪熺殑鏂囦欢
+ fd.append("files",item.raw);
+ })
+ fd.append("str",JSON.stringify({
insOrder: this.addObj,
list: JSON.stringify(sampleList.map(a => {
if (this.PROJECT === '瑁呭鐢电紗') {
@@ -2068,7 +2377,12 @@
return a
})),
pairing: JSON.stringify(this.bsm2Val2)
- })
+ }));
+ this.$axios.post(this.$api.insOrder.addInsOrder, fd,{
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ },
+ noQs:true
}).then(res => {
this.saveLoad = false
if (res.code == 201) return
@@ -2205,22 +2519,6 @@
this.models = val.children
this.getNodeParent(node)
- let flag = false
- if (node.level == 3) {
- if(node.data.children.length>0){
- node.data.children.forEach(a => {
- let key = Object.keys(a)
- if(!key.includes('level')) {
- flag = true
- }
- })
-
- }
- }
- this.selectTree = this.selectTree.replace(' - ', '')
- if(flag) {
- this.selectTree = '- - ' + this.selectTree
- }
let data = this.selectTree.split(' - ')
let data2 = ''
for (let index = data.length - 1; index >= 0; index--) {
@@ -2251,27 +2549,24 @@
return data.label.indexOf(value) !== -1;
},
activeStandardTree() {
- let trees = this.selectTree.split(" - ")
+ if(this.selectTree == null || this.selectTree == '') return this.$message.error('鏈�夋嫨鏍峰搧绫诲瀷')
+ let trees = this.selectTree.split(" - ").filter(m=>m)
if (trees.length < 3) {
- this.$message.error('鏈�夋嫨瀵硅薄')
+ 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] === '' || trees[3] === '- ') {
- this.addObj.sample = trees[2]
- } else {
- this.addObj.sample = trees[3]
- }
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
+ this.addObj.factory = '涓ぉ绉戞妧妫�娴嬩腑蹇�'
+ this.addObj.laboratory = '閫氫俊浜у搧瀹為獙瀹�'
+ this.addObj.sampleType = trees[0]
+ this.addObj.sample = trees[1]
+ this.addObj.model = trees[2]
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.sample = this.addObj.sample
this.sample.model = this.addObj.model
this.sample.unit = this.addObj.unit
this.sample.standardMethodListId = []
@@ -2289,23 +2584,10 @@
selectsStandardMethodByFLSSM() {
this.methodLoad = true
this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.selectTree
+ 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) {}
+ this.methods = res.data.standardMethodList
})
},
addStandardTree() {
@@ -2316,7 +2598,7 @@
this.sample.joinName = null
this.sample.joinModel = null
this.sample.joinNum = 1
- this.sample.sample = this.addObj.sample
+ // this.sample.sample = this.addObj.sample
this.sample.model = this.addObj.model
this.sample.unit = this.addObj.unit
this.sample.standardMethodListId = []
@@ -2389,7 +2671,8 @@
if(row.section === null) {
row.section = ""
}
- let arr = this.productList.filter(m=>m.state==1&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1)
+ // console.log(row,this.productList)
+ let arr = this.productList.filter(m=>m.state==1&&m.bsmRow&&m.bsmRow.section==row.section&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1)
if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1&&arr.length==0) {
if (row.section.indexOf('[') > -1) {
row.bsmRow = this.HaveJson(row)
@@ -2452,32 +2735,15 @@
}
return item
})
- const select = this.selectTree.split(' - ')
- if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 1&&this.isAskOnlyRead) {
- 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;
- }
- // if (row.inspectionItem === '鍗曟牴鍨傜洿鐕冪儳' && select[2] === '鍏夌紗' && row.state === 1) {
- // this.singleVerticalCombustionShow = true;
- // return
- // } else if (row.inspectionItem === '鍗曟牴鍨傜洿鐕冪儳' && select[2] === '鍏夌紗' && row.state === 0) {
- // this.singleVerticalCombustionShow = false;
- // }
this.changeProductList0()
- this.currentMethod.insProduct = this.productList0
+ if(this.sampleSelectionList.length>0){
+ this.sampleSelectionList.forEach(item=>{
+ item.insProduct = this.productList0
+ })
+ }else{
+ this.currentMethod.insProduct = this.productList0
+ }
this.getProNum()
},
searchProject () {
@@ -2552,7 +2818,23 @@
// 淇濆瓨妯℃澘
addTemplateDia() {
if (this.templateName) {
- this.templateLoading = true;
+ if(this.templates.find(m=>m.name==this.templateName)){
+ this.$confirm('宸插瓨鍦ㄥ悓鍚嶆ā鏉匡紝鏄惁杩涜鏇挎崲?', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ this.saveTemplateDia()
+ }).catch(() => {})
+ }else{
+ this.saveTemplateDia()
+ }
+ } else {
+ this.$message.error('璇峰~鍐欐ā鏉垮悕绉�')
+ }
+ },
+ saveTemplateDia(){
+ this.templateLoading = true;
this.$axios.post(this.$api.insOrder.addInsOrderTemplate, {
name: this.templateName,
thing: JSON.stringify({
@@ -2572,9 +2854,6 @@
this.selectInsOrderTemplate()
this.templateName = ''
})
- } else {
- this.$message.error('璇峰~鍐欐ā鏉垮悕绉�')
- }
},
// 鏌ヨ妯℃澘
selectInsOrderTemplateById(e) {
@@ -2615,7 +2894,7 @@
}).then(res => {
this.orderType = res.data
if (res.data.length > 0) {
- this.addObj.orderType = res.data[0].value
+ this.addObj.orderType = 'C'
}
})
},
@@ -2636,9 +2915,9 @@
let selectTreeList = this.selectTree.split(" - ")
this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum,
+ model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum+';'+row.testRequirements,
standardMethodListId: val.join(','),
- factory: selectTreeList.join(" - "),
+ factory: '涓ぉ绉戞妧妫�娴嬩腑蹇�'+' - '+'閫氫俊浜у搧瀹為獙瀹�'+' - '+selectTreeList.join(" - "),
}, {
headers: {
'Content-Type': 'application/json'
@@ -2676,13 +2955,22 @@
}
})
},
- changeModel() {
+ changeModel(type) {
this.sampleList.forEach(a => {
let obj = this.sampleIds.find(b => b == a.id)
if (obj) {
- a.model = this.model
+ this.$set(a,type, this.allInfo[type])
+ if(type=='testRequirements'&&a.standardMethodListId&&a.standardMethodListId.length>0){
+ this.methodChange(a.standardMethodListId, a)
+ }
+ // a[type] = this.allInfo[type]
}
})
+ },
+ changeModel0(row){
+ if(row.standardMethodListId&&row.standardMethodListId.length>0){
+ this.methodChange(row.standardMethodListId, row)
+ }
},
changeStandardMethodListId() {
this.sampleList.forEach(a => {
@@ -2788,30 +3076,6 @@
this.$refs.productTable.clearSelection()
return
}
- const select = this.selectTree.split(' - ')
- if (p.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && p.state === 1&&this.isAskOnlyRead) {
- 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 (p.ask.includes('RTS')&&p.state === 1) {
- p.rts = ''
- this.bsm3Val = ''
- this.bsm3 = true
- this.bsm3Dia = true
- this.bsmRow3.push(p)
- } */
})
if (e.length > 0) {
this.sampleList.map(item => {
@@ -2835,7 +3099,13 @@
})
}
this.changeProductList0()
- this.currentMethod.insProduct = this.productList0
+ if(this.sampleSelectionList.length>0){
+ this.sampleSelectionList.forEach(item=>{
+ item.insProduct = this.productList0
+ })
+ }else{
+ this.currentMethod.insProduct = this.productList0
+ }
this.getProNum()
this.$nextTick(() => {
this.$refs.productTable.doLayout()
@@ -2881,36 +3151,6 @@
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.sampleIds = [this.sampleId]
- 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) {
@@ -2918,35 +3158,6 @@
return
}
this.equipConfigShow = 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
- // })
- }
- },
- 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('鏈�変腑鏍峰搧')
@@ -3015,7 +3226,13 @@
}
}
this.changeProductList0()
- this.currentMethod.insProduct = this.productList0
+ if(this.sampleSelectionList.length>0){
+ this.sampleSelectionList.forEach(item=>{
+ item.insProduct = this.productList0
+ })
+ }else{
+ this.currentMethod.insProduct = this.productList0
+ }
},
save1 () {
if (this.bsm1DiaList.length > 0) {
--
Gitblit v1.9.3