From 8d1f60e54adb75d9c252b514174f287a2cbd7864 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 04 六月 2024 16:28:28 +0800
Subject: [PATCH] 完成检验下单、检验任务优化
---
src/components/do/b1-ins-order/add.vue | 96 ++++++++++++++++++++++++++++++-
src/main.js | 4
src/components/do/b1-inspect-order-plan/Inspection.vue | 34 +++++++----
src/components/do/b1-ins-order/fiberoptic-config.vue | 1
src/components/view/person-manage.vue | 22 ++++++-
src/assets/api/controller.js | 1
6 files changed, 136 insertions(+), 22 deletions(-)
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 607bb11..46df052 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -177,6 +177,7 @@
verifyPlan: "/insOrderPlan/verifyPlan", //澶嶆牳妫�楠屼换鍔�
submitPlan: "/insOrderPlan/submitPlan", //妫�楠屼换鍔℃彁浜�
inspectionOrderDetailsTaskSwitching: "/insOrderPlan/inspectionOrderDetailsTaskSwitching", // 妫�楠屽崟璇︽儏-浠诲姟鍒囨崲
+ getInsProduct: "/insOrderPlan/getInsProduct", // 鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭
}
const systemLog = {
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 1d19dd8..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">
@@ -467,7 +467,9 @@
</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">
@@ -627,13 +629,37 @@
bsmRow: null,
bsm1: false,
bsm1Val: null,
- bsm1Dia: false
+ 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() {
@@ -645,7 +671,7 @@
this.selectEnumByCategoryForUnit()
this.selectStandardMethods()
this.selectEnumByCategoryForOrderType()
- this.selectEnumByCategoryForSonLaboratory()
+ // this.selectEnumByCategoryForSonLaboratory()
this.selectEnumByCategoryForSampleForm()
if (this.active != 1) {
// 鏌ョ湅/瀹℃牳娴佺▼
@@ -1324,6 +1350,68 @@
}
}
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)
+ })
}
}
}
diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue
index 859813e..4066118 100644
--- a/src/components/do/b1-ins-order/fiberoptic-config.vue
+++ b/src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -690,6 +690,7 @@
a.bushing = this.bushing
})
this.$message.success('宸蹭繚瀛�')
+ this.$emit('saveFiberopticConfig')
}
}
}
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index b3ed844..936331e 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -224,7 +224,7 @@
size="small">{{ item.templateName }}</el-radio-button>
</el-radio-group>
</div>
- <div class="center-box" id="nav">
+ <div class="center-box" id="nav" v-loading="tableLoading">
<table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index">
<tbody>
<tr v-for="(m,i) in item.arr" :key="i">
@@ -470,6 +470,7 @@
currentFiberOpticTape:null,//褰撳墠鍏夌氦甯�
currentFiberOptic:null,//褰撳墠鍏夌氦
currentBushing:null,//褰撳墠濂楃
+ tableLoading:false,
}
},
created() {
@@ -542,6 +543,12 @@
}
},
methods: {
+ async getCurrentProduct(id,type){
+ this.tableLoading = true;
+ let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory)
+ this.tableLoading = false;
+ return res.data
+ },
handleChangeBushing(row, column, event){
this.currentBushing = row;
this.fiberOpticTape = []
@@ -557,7 +564,7 @@
}
this.bushingVisible = false;
},
- handleChangeOptic(row, column, event){
+ async handleChangeOptic(row, column, event){
this.currentFiberOptic = row;
this.currentFiberOptic.productList.forEach(a => {
this.param[a.id] = {
@@ -569,11 +576,12 @@
insResult: null
}
})
- this.getTableLists0(row)
this.fiberOpticVisible = false;
+ let list = await this.getCurrentProduct(row.id,2)
+ this.getTableLists0(list)
this.currentKey = row.index
},
- handleChangeTape(row, column, event){
+ async handleChangeTape(row, column, event){
this.currentFiberOpticTape = row;
this.param = {}
this.fiberOptic = []
@@ -588,15 +596,16 @@
insResult: null
}
})
- this.getTableLists0(row)
+ this.fiberOpticTapeVisible = false;
+ let list = await this.getCurrentProduct(row.id,1)
+ this.getTableLists0(list)
if(row.fiber&&row.fiber.length>0){
// 閰嶇疆鍏夌氦
this.fiberOptic = row.fiber;
}
- this.fiberOpticTapeVisible = false;
this.currentKey = row.index
},
- handleChangeSample(row, column, event) {
+ async handleChangeSample(row, column, event) {
this.param = {}
// 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁
this.fiberOpticTape = []
@@ -605,7 +614,9 @@
this.currentFiberOptic = null;
this.bushing = []
this.currentBushing = null;
- this.currentSample.insProduct = this.HaveJson(row.insProduct)
+ this.sampleVisible = false;
+ let list = await this.getCurrentProduct(row.id,0)
+ this.currentSample.insProduct = this.HaveJson(list)
this.currentSample.insProduct.forEach(a => {
this.param[a.id] = {
insValue: [],
@@ -622,7 +633,6 @@
}
// this.handleTableData()
this.getTableLists();
- this.sampleVisible = false;
this.currentKey = row.index
},
handleChangeTask(row) {
@@ -714,9 +724,9 @@
}
},
// 鍏夌氦閰嶇疆鐩稿叧妯℃澘table鍒楄〃
- getTableLists0(obj){
+ getTableLists0(list){
const mySet1 = new Set();
- this.tableLists = obj.productList.filter(m => {
+ this.tableLists = list.filter(m => {
let num0 = mySet1.size;
if (m.templateId != null&&m.template != null) {
mySet1.add(JSON.stringify({
@@ -733,7 +743,7 @@
this.tableList = null;
this.tableList = [this.tableLists[0]]
this.currentTable = this.tableLists[0].templateId;
- this.currentSample.insProduct = this.HaveJson(obj.productList)
+ this.currentSample.insProduct = this.HaveJson(list)
this.handleTableData()
}
},
diff --git a/src/components/view/person-manage.vue b/src/components/view/person-manage.vue
index e74603e..57075db 100644
--- a/src/components/view/person-manage.vue
+++ b/src/components/view/person-manage.vue
@@ -199,9 +199,9 @@
</span>
</el-dialog>
<el-dialog title="鑾峰彇浜轰簨绯荤粺浜哄憳淇℃伅" :visible.sync="addthirdParty" width="70%">
- <div class="body">
+ <div class="body" v-loading="thirdPartyLoading">
<el-row>
- <el-col :span="8" style="height: 70vh;overflow: hidden;">
+ <el-col :span="8" style="height: 70vh;overflow: hidden;" v-if="companiesList.length!=1">
<el-input placeholder="杈撳叆鍏抽敭瀛楁悳绱�" v-model="search2" size="small" style="width: 90%;padding: 0 5% 10px 5%;"
clearable @clear="searchFilter2" @keyup.enter.native="searchFilter2()">
</el-input>
@@ -210,7 +210,7 @@
highlight-current>
</el-tree>
</el-col>
- <el-col :span="16" style="height: 70vh;padding-left: 8px;">
+ <el-col :span="companiesList.length==1?24:16" style="height: 70vh;padding-left: 8px;">
<div class="search_thing" style="width: 100%;margin-bottom: 10px;justify-content: right;">
<div class="search_label" style="width: 200px;">鍛樺伐鍙�/鍛樺伐濮撳悕锛�</div>
<div class="search_input" style="width: 250px;">
@@ -354,7 +354,8 @@
companiesList: [],
currentCompaniesList: [],
userSearch2: '',
- searchEmployeeID: null
+ searchEmployeeID: null,
+ thirdPartyLoading:false
}
},
// watch: {
@@ -370,8 +371,21 @@
methods: {
openthirdParty() {
this.addthirdParty = true;
+ this.thirdPartyLoading = true;
this.$axios.get(this.$api.companies.selectCompaniesList).then(res => {
this.companiesList = this.HaveJson(res.data);
+ if(this.companiesList.length ==1){
+ this.$axios.post(this.$api.companies.selectSimpleList, {
+ companyId: this.companiesList[0].companyId
+ }).then(res => {
+ this.thirdPartyLoading = false;
+ this.personListCopy = JSON.parse(JSON.stringify(res.data))
+ this.personList = res.data
+ this.$refs.personTable.doLayout()
+ })
+ }else{
+ this.thirdPartyLoading = false;
+ }
this.datathirdParty = this.tranListToTreeData(res.data, "ROOT");
})
if(this.componentData.entity.roleId > 10000)this.$message.warning('鐢变簬鏈�変腑鍏蜂綋瑙掕壊锛屾柊澧炵敤鎴峰皢鎴愪负榛樿瑙掕壊')
diff --git a/src/main.js b/src/main.js
index 314efeb..72b15e5 100644
--- a/src/main.js
+++ b/src/main.js
@@ -13,8 +13,8 @@
//鏈湴
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
-// const javaApi = 'http://192.168.11.200:8001';//鏉�
-const javaApi = 'http://192.168.144.249:8001';//寮�
+const javaApi = 'http://192.168.11.200:8001';//鏉�
+// const javaApi = 'http://192.168.11.249:8001';//寮�
// const javaApi = 'http://172.20.10.3:8001';//濮�
// const javaApi = 'http://192.168.11.2:8001';//鏌�
// const javaApi = 'http://127.0.0.1:8001';//鏅�
--
Gitblit v1.9.3