From cc27667b09ca45de771c679bc72613351f69a1a6 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 01 四月 2024 15:57:58 +0800
Subject: [PATCH] 修改交接接口
---
src/components/do/b1-inspect-order-plan/Inspection.vue | 170 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 141 insertions(+), 29 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index ec425c4..08cde83 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -18,24 +18,21 @@
.center {
width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 40px);
+ max-height: 580px;
background-color: #fff;
border-radius: 3px;
padding: 20px;
- position: relative;
+ overflow-y: auto;
}
.center-box {
- height: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
- overflow-y: auto;
}
.tables {
- /* width: 800px; */
margin-bottom: 16px;
}
@@ -127,6 +124,10 @@
<el-col :span="12" style="text-align: right;">
<el-button size="small" type="primary" @click="sampleVisible=true">鏍峰搧鍒囨崲</el-button>
<el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button>
+ <!-- 澶嶆牳 -->
+ <el-button size="medium" type="primary" @click="upInsReview(1)" :loading="reviewLoading"
+ v-show="state>1">閫氳繃</el-button>
+ <el-button size="medium" @click="upInsReview(0)" v-show="state>1">涓嶉�氳繃</el-button>
<el-button size="small" @click="$emit('goback')">杩斿洖</el-button>
</el-col>
</el-row>
@@ -169,11 +170,11 @@
<div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`">
<template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��'">
<el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
- :disabled="getInspectionItemType(n.i) == 1"
+ :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')||state>1"
@change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
<el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea"
- :autosize="{ minRows: 1}" v-model="n.v.v" />
- <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v">
+ :autosize="{ minRows: 1}" v-model="n.v.v" :disabled="state>1" />
+ <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" :disabled="state>1">
<el-option label="鏄�" value="鏄�"></el-option>
<el-option label="鍚�" value="鍚�"></el-option>
</el-select>
@@ -181,7 +182,7 @@
v-else-if="getInspectionValueType(n.i) == 4">/</span>
<el-button type="primary" icon="el-icon-edit" size="mini" circle
v-if="getInspectionItemType(n.i) == 1" style="border: 0;margin-left: 2px;"
- @click="getSystemValue(n)">
+ @click="getSystemValue(n)" :disabled="(n.u != userId && n.u != undefined && n.u != '')||state>1">
</el-button>
</template>
<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'">
@@ -190,12 +191,12 @@
<span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span>
</template>
<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧'">
- <el-select v-model="n.v.v" placeholder="璇烽�夋嫨" @visible-change="e=>getEquipOptions(e,n.i)">
+ <el-select v-model="n.v.v" placeholder="璇烽�夋嫨" @visible-change="e=>getEquipOptions(e,n.i)" :disabled="state>1">
<el-option
v-for="item in equipOptions"
:key="item.value"
:label="item.label"
- :value="item.value">
+ :value="item.label">
</el-option>
</el-select>
</template>
@@ -239,13 +240,25 @@
<ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList"
:componentData="componentData" :key="upIndex" />
</el-drawer>
+ <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="400px">
+ <div class="body" style="display: flex;" v-if="reviewDia">
+ <div class="search_label" style="width: 120px;"><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div>
+ <div class="search_input">
+ <el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 3, maxRows: 5}"></el-input>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="reviewDia = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleReviewDia" :loading="reviewLoading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
<script>
import ValueTable from '../../tool/value-table.vue'
export default {
- props: ['sonLaboratory', 'orderId'],
+ props: ['sonLaboratory', 'orderId','state'],
components: {
ValueTable,
},
@@ -297,12 +310,17 @@
currentKey: 1,
comparisonList: [],
excelMethodList: [],
- equipOptions:[]
+ equipOptions:[],
+ userId: 0,
+ reviewLoading:false,
+ reviewDia:false,
+ noReason:''
}
},
created() {
this.componentData.entity.sonLaboratory = this.sonLaboratory;
this.id = this.orderId;
+ this.getUserInfo()
},
mounted() {
this.getTypeDicts()
@@ -313,7 +331,8 @@
id(val) {
this.loading = true
this.$axios.post(this.$api.insOrderPlan.doInsOrder, {
- id: val
+ id: val,
+ laboratory: this.sonLaboratory
}).then(res => {
this.insOrder = res.data.insOrder;
this.urgentList.forEach(m => {
@@ -327,9 +346,9 @@
this.param[a.id] = {
insValue: [],
comValue: [],
- resValue: [],
+ resValue: null,
equipValue:null,
- intResult: null
+ insResult: null
}
})
if (this.currentSample.index == undefined) this.currentSample['index'] = 1
@@ -347,9 +366,9 @@
this.param[a.id] = {
insValue: [],
comValue: [],
- resValue: [],
+ resValue: null,
equipValue:null,
- intResult: null
+ insResult: null
}
})
this.handleTableData()
@@ -495,6 +514,7 @@
}
if (b.v.ps != undefined && b.v.ps.value === '妫�楠屽��') {
b.v.v = ''
+ b.u = ''
this.param[b.i].insValue.push(b)
}
if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') {
@@ -509,10 +529,10 @@
b.v.v = ''
if (b.i === undefined) {
for (var c in this.param) {
- this.param[c].resValue.push(b)
+ this.param[c].resValue = b
}
} else {
- this.param[b.i].resValue.push(b)
+ this.param[b.i].resValue = b
}
}
if (b.v.ps!=undefined&&b.v.ps.value==='缁撹'){
@@ -555,11 +575,26 @@
})
a.arr = arrs
})
- /* this.currentSample.insProduct.forEach(a=>{
- for(var i=0;i<a.param.comValue.length;i++){
- this.param[a.id].comValue[i].v.v = a.param.comValue[i].v.v
- }
- }) */
+ this.currentSample.insProduct.forEach(a=>{
+ try{
+ let comValue = JSON.parse(a.insProductResult.comValue)
+ for(var i=0;i<comValue.length;i++){
+ this.param[a.id].comValue[i].v.v = comValue[i].v
+ }
+ }catch(e){}
+ try{
+ let insValue = JSON.parse(a.insProductResult.insValue)
+ for(var i=0;i<insValue.length;i++){
+ this.param[a.id].insValue[i].v.v = insValue[i].v
+ this.param[a.id].insValue[i].u = insValue[i].u
+ }
+ }catch(e){}
+ try{
+ this.param[a.id].equipValue.v.v = a.insProductResult.equipValue
+ }catch(e){}
+ this.param[a.id].resValue.v.v = a.lastValue
+ this.param[a.id].insResult.v.v = a.insResult
+ })
this.handleExcelMethod()
},
changeInput(m, code) {
@@ -625,17 +660,34 @@
} else {
item.v.v = 0
}
- console.log(33333333333, this.param)
+ this.$axios.post(this.$api.insOrderPlan.saveInsContext, this.param, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res=>{
+ if(res.code==201){
+ this.$message.error('淇濆瓨澶辫触')
+ return
+ }
+ this.$message.success('宸蹭繚瀛�')
+ })
}
} else {
let comResult = 0;
switch (item.methodName) {
case 'AVERAGE':
+ let num = 0
+ for (var a in comValue) {
+ num += comValue[a]
+ }
+ comResult = num / Object.keys(comValue).length
+ break;
+ case 'SUM':
let sum = 0
for (var a in comValue) {
sum += comValue[a]
}
- comResult = sum / Object.keys(comValue).length
+ comResult = sum
break;
default:
break;
@@ -723,6 +775,14 @@
}
},
getSystemValue(n) {
+ try{
+ if(this.param[n.i].equipValue.v.v == null||this.param[n.i].equipValue.v.v == ''){
+ this.$message.error('璇峰厛閫夋嫨閲囬泦鐨勮澶�')
+ return
+ }
+ }catch(e){
+ this.$message.error('鎵句笉鍒拌澶囧唴瀹�')
+ }
this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��')
for (var a in this.currentSample.insProduct) {
if (this.currentSample.insProduct[a].id == n.i) {
@@ -732,7 +792,7 @@
},
getEquipOptions(e,id){
if(e){
- let category = this.tableList.find(m=>m.id==id).deviceGroup
+ let category = this.currentSample.insProduct.find(m=>m.id==id).deviceGroup
this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, {category}).then(res => {
if (res.code === 200 && res.data) {
this.equipOptions = res.data.map(m=>{
@@ -745,7 +805,59 @@
console.error(error)
})
}
- }
+ },
+ getUserInfo() {
+ this.$axios.get(this.$api.user.getUserInfo).then(res => {
+ this.userId = res.data.id
+ })
+ },
+ // 澶嶆牳
+ upInsReview(e){
+ if(e==1){
+ // 閫氳繃
+ this.reviewLoading = true;
+ this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
+ orderId:this.orderId,
+ type:1,
+ laboratory:this.sonLaboratory,
+ tell:null
+ }).then(res => {
+ if (res.code === 200 && res.data) {
+ this.$message.success("鎿嶄綔鎴愬姛")
+ this.$emit('goback')
+ }
+ this.reviewLoading = false;
+ }).catch(error => {
+ console.error(error)
+ this.reviewLoading = false;
+ })
+ }else{
+ // 涓嶉�氳繃
+ this.reviewDia = true;
+ }
+ },
+ handleReviewDia(){
+ if(this.noReason){
+ this.reviewLoading = true;
+ this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
+ orderId:this.orderId,
+ type:0,
+ laboratory:this.sonLaboratory,
+ tell:this.noReason
+ }).then(res => {
+ if (res.code === 200 && res.data) {
+ this.$message.success("鎿嶄綔鎴愬姛")
+ this.$emit('goback')
+ }
+ this.reviewLoading = false;
+ }).catch(error => {
+ console.error(error)
+ this.reviewLoading = false;
+ })
+ }else{
+ this.$message.error('鏈緭鍏ヤ笉閫氳繃鍘熷洜')
+ }
+ },
}
}
</script>
--
Gitblit v1.9.3