From adfe1ca87e734e564b56a42c6fc5d015b4858eb3 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 04 六月 2024 20:37:49 +0800
Subject: [PATCH] 修改任务检验
---
src/components/do/b1-ins-order/add.vue | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 170 insertions(+), 5 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 954151d..f712e9b 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -94,7 +94,7 @@
<div class="ins_order_add">
<div v-show="!configShow">
<el-row class="title">
- <el-col :span="6" style="padding-left: 20px;">濮旀墭鍗曚俊鎭�</el-col>
+ <el-col :span="6" style="padding-left: 20px;">濮旀墭鍗曚俊鎭� 鎬讳环锛�<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">
@@ -107,7 +107,8 @@
<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="openConfig" v-if="this.addObj.sampleType==='鍏夌紗'">鍏夌氦閰嶇疆</el-button>
+ <el-button size="medium" type="primary" @click="openConfig"
+ v-if="this.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"
@@ -380,7 +381,7 @@
</span>
</el-dialog>
<el-dialog title="閫夋嫨鏍峰搧" :visible.sync="selectStandardTree" width="400px">
- <div class="body" style="height: 60vh;overflow-y: auto;" v-if="selectStandardTree">
+ <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"
@@ -466,7 +467,31 @@
</el-row>
</span>
</el-dialog>
- <fiberOpticConfig :currentId="currentId" v-if="configShow" :active="active" />
+ <fiberOpticConfig :currentId="currentId"
+ @saveFiberopticConfig="getTotal()"
+ v-if="configShow" :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">
+ <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>
@@ -601,12 +626,40 @@
currentMethod: null,
isAskOnlyRead: false,
sampleId: null,
+ bsmRow: null,
+ bsm1: false,
+ bsm1Val: null,
+ bsm1Dia: false,
+ total:0,
}
},
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()
+ }
}
},
mounted() {
@@ -618,7 +671,7 @@
this.selectEnumByCategoryForUnit()
this.selectStandardMethods()
this.selectEnumByCategoryForOrderType()
- this.selectEnumByCategoryForSonLaboratory()
+ // this.selectEnumByCategoryForSonLaboratory()
this.selectEnumByCategoryForSampleForm()
if (this.active != 1) {
// 鏌ョ湅/瀹℃牳娴佺▼
@@ -957,6 +1010,15 @@
},
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 => {
@@ -1154,6 +1216,17 @@
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) {
@@ -1247,6 +1320,98 @@
this.configShow = true
})
}
+ },
+ 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
+ }
+ }
+ },
+ beforeClose(done){
+ if(this.bsm1){
+ if(this.bsm1Val===null || this.bsm1Val === ''){
+ this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
+ return
+ }
+ }
+ done()
+ },
+ getTotal(){
+ let arr = []
+ this.total = 0;
+ this.sampleList.forEach(item=>{
+ if(item.insProduct&&item.insProduct.length>0){
+ item.insProduct.forEach(a=>{
+ arr.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=>{
+ arr.push(c)
+ })
+ }
+ })
+ }
+ if(a.fibers&&a.fibers.length>0){
+ a.fibers.forEach(b=>{
+ if(b.productList&&b.productList.length>0){
+ b.productList.forEach(c=>{
+ arr.push(c)
+ })
+ }
+ if(b.fiber&&b.fiber.length>0){
+ b.fiber.forEach(c=>{
+ if(c.productList&&c.productList.length>0){
+ c.productList.forEach(d=>{
+ arr.push(d)
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ let mySet = new Set();
+ let arr0 = arr.filter(item=>{
+ if(item.state == 1){
+ let num1= mySet.size
+ if(item.manHourGroup===''||!item.manHourGroup){
+ return true
+ }else{
+ mySet.add(item.manHourGroup)
+ let num2= mySet.size
+ if(num2 > num1){
+ return true
+ }else{
+ return false
+ }
+ }
+ }
+ })
+ arr0.forEach(item=>{
+ this.total += Number(item.price)
+ })
}
}
}
--
Gitblit v1.9.3