From 8b8e088d012550a662aca3aad96afaf6958efedf Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 26 十二月 2024 14:33:06 +0800
Subject: [PATCH] 完成投诉迁移
---
src/components/do/b1-inspect-order-plan/Inspection.vue | 239 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 153 insertions(+), 86 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 4f19ac9..39e590b 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -259,7 +259,7 @@
<el-row class="title">
<el-col :span="12" style="padding-left: 20px;text-align: left;" :class="{noShow:noBack}">妫�楠屽崟璇︽儏
</el-col>
- <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end">
+ <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end;height: 60px;">
<el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')">鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</el-button>
<el-select v-model="template" size="medium" placeholder="鐢佃矾棰勮妯℃澘" style="margin-right: 10px;margin-left: 10px;" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')"
@change="selectInsProductTemplateById">
@@ -272,15 +272,16 @@
<el-button size="medium" @click="templateDia=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&addInsProductTemplatePower">
<span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
</el-button>
- <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button>
+ <!-- <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> -->
<el-button size="small" type="primary" @click="taskVisible=true" v-show="!isLook">浠诲姟鍒囨崲</el-button>
<el-button size="small" type="primary" @click="handleSubmit" v-if="state==1"
:loading="submitLoading">鎻愪氦</el-button>
<!-- 澶嶆牳 -->
- <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading"
- v-if="state>1&&!isLook">缁х画璇曢獙</el-button>
+ <!-- <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading"
+ v-if="state>1&&!isLook">缁х画娴嬭瘯涓嬩竴涓牱鍝�</el-button>
<el-button size="small" @click="upInsReview(0,'鍐嶆璇曢獙')" v-if="state>1&&!isLook" type="danger">鍐嶆璇曢獙</el-button>
- <el-button size="small" @click="upInsReview(2,'缁撴潫璇曢獙')" v-if="state>1&&!isLook">缁撴潫璇曢獙</el-button>
+ <el-button size="small" @click="upInsReview(2,'缁撴潫璇曢獙')" v-if="state>1&&!isLook">姝ゅ鎵樺崟缁撴潫</el-button> -->
+ <el-button size="small" type="primary" @click="upInsReviewDia=true" v-if="state>1&&!isLook">澶嶆牳</el-button>
<el-button size="small" @click="handleBack" v-if="!noBack">杩斿洖</el-button>
</el-col>
</el-row>
@@ -429,10 +430,10 @@
</template>
<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧缂栧彿'">
<div style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" :title="currentSample.sampleCode">
- <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
+ <!-- <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i> -->
<div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div>
- <i class="el-icon-caret-right table_caret" style="width: 16px;"
- v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i>
+ <!-- <i class="el-icon-caret-right table_caret" style="width: 16px;"
+ v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i> -->
</div>
</template>
<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'">
@@ -750,15 +751,17 @@
</div>
<el-upload :action="action"
:data="{
- orderId:id,
+ orderId:this.orderId0,
+ sampleId:id,
sonLaboratory:sonLaboratory
}"
v-if="state==1&&fileAdd"
:on-success="handleSuccessUp" :show-file-list="false"
- accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :on-change="beforeUpload"
+ accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :before-upload="beforeUpload"
style="width: 80px !important;"
:on-error="onError" ref='upload'>
<el-button size="small" type="primary" v-if="state==1">闄勪欢涓婁紶</el-button></el-upload>
+ <!-- <span v-if="sonLaboratory === '杩滃満'||sonLaboratory === '杩戝満'" style="color: red;font-size: 12px;">杈愬皠璇曢獙灏介噺涓婁紶璁惧瀵煎嚭鐨刢sv鏂囦欢锛屼笉鐒惰Е鍙戜笉浜嗘姤鍛婄敓鎴�</span> -->
<ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList"
:componentData="componentData0"
:delUrl="$api.insOrderPlan.delfile"
@@ -799,7 +802,7 @@
</el-drawer>
<el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="500px">
<div class="body" style="display: flex;padding: 10px;" v-if="reviewDia">
- <div class="search_label" style="width: 150px;"><span class="required-span">* </span>涓嶉�氳繃鐨勭悊鐢憋細</div>
+ <div class="search_label" style="width: 150px;"><span class="required-span">* </span>鍐嶆璇曢獙鐨勭悊鐢憋細</div>
<div class="search_input" style="width: 100%;">
<el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 4}"></el-input>
</div>
@@ -889,28 +892,31 @@
:rows="2"></el-input>
</div>
</div>
- <table border="1" cellpadding="10" class="thermal-table">
- <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;">
- <td>鏍峰搧</td>
- <td>鏍峰搧缂栧彿</td>
- <td>鍨嬪彿</td>
- <td>妫�楠岄」</td>
- <td>妫�楠屽瓙椤�</td>
- <td>宸ユ椂</td>
- </tr>
- <template v-for="(item,index) in sampleProduct">
- <tr>
- <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td>
- <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td>
- <td :rowspan="item.insProduct.length+1">{{ item.model }}</td>
+ <template v-for="(x,y) in newUserInfo">
+ <p style="margin: 10px 0;"><el-tag size="small">{{x.name}}</el-tag> 宸ユ椂濉啓</p>
+ <table border="1" cellpadding="10" class="thermal-table">
+ <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;">
+ <td>鏍峰搧</td>
+ <td>鏍峰搧缂栧彿</td>
+ <td>鍨嬪彿</td>
+ <td>妫�楠岄」</td>
+ <td>妫�楠屽瓙椤�</td>
+ <td>宸ユ椂</td>
</tr>
- <tr v-for="(m,i) in item.insProduct" :key="item.id+i">
- <td>{{ m.inspectionItem }}</td>
- <td>{{ m.inspectionItemSubclass }}</td>
- <td><el-input-number v-model="m.outputWorkTime" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td>
- </tr>
- </template>
- </table>
+ <template v-for="(item,index) in sampleProduct">
+ <tr>
+ <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td>
+ <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td>
+ <td :rowspan="item.insProduct.length+1">{{ item.model }}</td>
+ </tr>
+ <tr v-for="(m,i) in item.insProduct" :key="item.id+i">
+ <td>{{ m.inspectionItem }}</td>
+ <td>{{ m.inspectionItemSubclass }}</td>
+ <td><el-input-number v-model="x.timeArr[i]" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td>
+ </tr>
+ </template>
+ </table>
+ </template>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="experimentDia = false">鍙� 娑�</el-button>
@@ -936,6 +942,18 @@
<el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button>
</span>
</el-dialog>
+ <el-dialog title="澶嶆牳" :visible.sync="upInsReviewDia" width="400px">
+ <el-radio-group v-model="upInsReviewType" style="display: flex;flex-direction: column">
+ <el-radio :label="1" style="margin: 10px 0; ">缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio>
+ <el-radio :label="0" style="margin: 10px 0; ">鍐嶆妫�楠岃鏍峰搧</el-radio>
+ <el-radio :label="2" style="margin: 10px 0; ">姝ゅ鎵樺崟缁撴潫</el-radio>
+ <p style="font-size: 12px;color:red">鎱庨噸锛氬鏋滆繕鏈夊叾浠栨牱鍝佸湪妫�锛岀偣鍑荤粨鏉熷彲鑳戒細涓柇锛岃纭繚鎵�鏈夋牱鍝侀兘妫�楠屼笖澶嶆牳瀹屾垚鍐嶇偣鍑�</p>
+ </el-radio-group>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="upInsReviewDia = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="upInsReview" :loading="reviewLoading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -949,7 +967,7 @@
import PowerCapacity from './power-capacity.vue'
import filePreview from '../../tool/file-preview.vue'
export default {
- props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack'],
+ props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack','orderId0','userInfo'],
components: {
ValueTable,
CircuitParameters1,
@@ -963,6 +981,8 @@
lookFileVisible:false,//棰勮鏂囦欢
experimentDia:false,
experimentDia0:false,
+ upInsReviewDia:false,
+ upInsReviewType:1,
experimentInfo:{
note:'',
term:''
@@ -1010,8 +1030,9 @@
},
componentData0: {
entity: {
- insOrderId:'',
- sonLaboratory:this.sonLaboratory
+ insSampleId:'',
+ sonLaboratory:this.sonLaboratory,
+ insOrderId:''
},
isIndex: true,
showSelect: false,
@@ -1156,6 +1177,7 @@
templateLoading:false,
templateName:'',
addInsProductTemplatePower:false,//閰嶇疆妯℃澘鏉冮檺
+ newUserInfo:[]
}
},
// 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
@@ -1191,11 +1213,12 @@
id(val) {
this.loading = true
this.$axios.post(this.$api.insOrderPlan.doInsOrder, {
- id: val,
+ sampleId: val,
laboratory: this.sonLaboratory
}).then(async res => {
this.insOrder = res.data.insOrder;
- this.componentData0.entity.insOrderId = val;
+ this.componentData0.entity.insSampleId = val;
+ this.componentData0.entity.insOrderId = this.orderId0;
this.$refs.fileList.selectList()
this.urgentList.forEach(m => {
if (m.value == this.insOrder.type) {
@@ -2232,6 +2255,7 @@
this.param = {}
// 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁
this.fiberOpticTape = []
+ this.template = ''
this.currentFiberOpticTape = null;
this.fiberOptic = []
this.currentFiberOptic = null;
@@ -3216,23 +3240,19 @@
})
},
// 澶嶆牳
- upInsReview(e,type) {
- this.$confirm(`鏄惁${type}?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(() => {
- if (e == 1||e==2) {
+ upInsReview() {
+ if (this.upInsReviewType == 1||this.upInsReviewType==2) {
// 缁х画璇曢獙
this.reviewLoading = true;
this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
- orderId: this.orderId,
- type: e,
+ sampleId: this.orderId,
+ type: this.upInsReviewType,
laboratory: this.sonLaboratory,
tell: null
}).then(res => {
if (res.code === 200) {
this.$message.success("鎿嶄綔鎴愬姛")
+ this.upInsReviewDia = false;
this.$emit('goback')
}
this.reviewLoading = false;
@@ -3244,13 +3264,12 @@
// 鍐嶆璇曢獙
this.reviewDia = true;
}
- })
},
handleReviewDia() {
if (this.noReason) {
this.reviewLoading = true;
this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
- orderId: this.orderId,
+ sampleId: this.orderId,
type: 0,
laboratory: this.sonLaboratory,
tell: this.noReason
@@ -3279,18 +3298,18 @@
return
}
}
- let num =0
- this.sampleProduct.forEach(item=>{
- item.insProduct.forEach(a=>{
- if(!a.outputWorkTime){
- num++
- }
- })
- })
- if(num>0){
- this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�')
- return
- }
+ // let num =0
+ // this.newUserInfo.forEach(item=>{
+ // item.timeArr.forEach(a=>{
+ // if(!a){
+ // num++
+ // }
+ // })
+ // })
+ // if(num>0){
+ // this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�')
+ // return
+ // }
this.experimentDia = false
this.experimentDia0 = false
if(this.insOrder.orderType=='C'){
@@ -3300,7 +3319,7 @@
this.addVerifyDia = true
}
},
- handleSubmit(){
+ async handleSubmit(){
if(!this.otherForm.temperature){
this.$message.error('璇疯緭鍏ユ俯搴�')
return
@@ -3309,7 +3328,29 @@
this.$message.error('璇疯緭鍏ユ箍搴�')
return
}
+ this.loading = true
+ if(this.sonLaboratory === '鐢佃矾璇曢獙'&&!(await this.$refs.CircuitParameters.saveAll())){
+ this.loading = false
+ return
+ }else{
+ this.loading = false
+ }
this.experimentDia = true
+ this.newUserInfo = []
+ this.userInfo.name.forEach((item,index)=>{
+ let timeArr = []
+ this.sampleProduct.forEach(m=>{
+ m.insProduct.forEach(a=>{
+ timeArr.push(0)
+ })
+ })
+ let obj = {
+ name:item,
+ id:this.userInfo.ids[index],
+ timeArr:timeArr
+ }
+ this.newUserInfo.push(obj)
+ })
if (this.sonLaboratory === '鐢佃矾璇曢獙') {
this.experimentDia0 = true
}
@@ -3322,27 +3363,30 @@
this.addVerifyDia = false
this.submitLoading = true;
this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, {
- orderId: this.orderId,
+ sampleId: this.orderId,
laboratory: this.sonLaboratory,
}).then(res => {
if (res.code === 200) {
let auxiliaryOutputWorkingHoursList = []
this.sampleProduct.forEach(item=>{
- item.insProduct.forEach(a=>{
- let obj = {
- inspectionItem:a.inspectionItem,
- outputWorkTime:a.outputWorkTime,
- inspectionItemSubclass:a.inspectionItemSubclass,
- sample:item.sampleCode,
- insProductId:a.id,
- num:item.num1
- }
- auxiliaryOutputWorkingHoursList.push(obj)
+ item.insProduct.forEach((a,i)=>{
+ this.newUserInfo.forEach(b=>{
+ let obj = {
+ inspectionItem:a.inspectionItem,
+ outputWorkTime:b.timeArr[i],
+ inspectionItemSubclass:a.inspectionItemSubclass,
+ sample:item.sampleCode,
+ insProductId:a.id,
+ num:item.num1,
+ check:b.id
+ }
+ auxiliaryOutputWorkingHoursList.push(obj)
+ })
})
})
if(!res.data||res.data.length==0){
this.$axios.post(this.$api.insOrderPlan.submitPlan, {
- orderId: this.orderId,
+ sampleId: this.orderId,
laboratory: this.sonLaboratory,
verifyUser: this.verifyUser,
entrustCode: this.insOrder.entrustCode,
@@ -3381,7 +3425,7 @@
type: ""
}).then(() => {
this.$axios.post(this.$api.insOrderPlan.submitPlan, {
- orderId: this.orderId,
+ sampleId: this.orderId,
laboratory: this.sonLaboratory,
verifyUser: this.verifyUser,
auxiliaryOutputWorkingHoursList:auxiliaryOutputWorkingHoursList,
@@ -3412,7 +3456,7 @@
async handleCType(){
if(this.insOrder.departmentLims=='璐ㄩ噺閮�'){
await this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
- orderId: this.orderId,
+ sampleId: this.orderId,
type: 1,
laboratory: this.sonLaboratory,
tell: null
@@ -3680,22 +3724,39 @@
let list = await this.getCurrentProduct(this.currentFiberOptic.id,2)
this.getTableLists0(list)
},
- handleSuccessUp(response, ) {
+ async handleSuccessUp(response, ) {
this.upLoading = false;
if (response.code == 200) {
this.$message.success('涓婁紶鎴愬姛');
this.$refs.fileList.selectList()
+ if(this.sonLaboratory === '鐢佃矾璇曢獙'){
+ // // 鐢佃矾璇曢獙鏁伴噰
+ // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
+ let list = await this.getCurrentProduct(this.currentSample.id,0)
+ this.currentSample.insProduct = this.HaveJson(list)
+ this.currentNum++
+ }
+ }else {
+ this.$message.error(response.message);
}
},
beforeUpload(file) {
- if (file.size > 1024 * 1024 * 10) {
- this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
- this.$refs.upload.clearFiles()
- return false;
- } else {
- this.upLoading = true;
- return true;
- }
+ if(this.sonLaboratory === '鐢佃矾璇曢獙'&&(file.name.includes('浜よ皟')||file.name.includes('浜掕皟'))&&!this.$refs.CircuitParameters.allBandList.find(m=>m.band)){
+ this.$message.error('涓婁紶闄勪欢鍓嶈鍏堝~鍐欏苟淇濆瓨棰戞');
+ return false
+ }else{
+ // if(file.name.includes('浜よ皟')||file.name.includes('浜掕皟')){
+ // this.$refs.CircuitParameters.saveAll()
+ // }
+ if (file.size > 1024 * 1024 * 10) {
+ this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+ this.$refs.upload.clearFiles()
+ return false;
+ } else {
+ this.upLoading = true;
+ return true;
+ }
+ }
},
onError(err, file, fileList) {
this.$message.error('涓婁紶澶辫触')
@@ -3793,8 +3854,14 @@
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
- }).then(() => {
- this.$emit('goback')
+ }).then(async () => {
+ this.loading = true
+ if(await this.$refs.CircuitParameters.saveAll()){
+ this.$emit('goback')
+ this.loading = false
+ }else{
+ this.loading = false
+ }
})
}else{
this.$emit('goback')
--
Gitblit v1.9.3