| | |
| | | <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"> |
| | |
| | | <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" |
| | |
| | | </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" |
| | |
| | | </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> |
| | | |
| | |
| | | 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() { |
| | |
| | | this.selectEnumByCategoryForUnit() |
| | | this.selectStandardMethods() |
| | | this.selectEnumByCategoryForOrderType() |
| | | this.selectEnumByCategoryForSonLaboratory() |
| | | // this.selectEnumByCategoryForSonLaboratory() |
| | | this.selectEnumByCategoryForSampleForm() |
| | | if (this.active != 1) { |
| | | // 查看/审核流程 |
| | |
| | | }, |
| | | 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 => { |
| | |
| | | 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) { |
| | |
| | | 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) |
| | | }) |
| | | } |
| | | } |
| | | } |