From ef9eb48046f8dfbb3c18b0f45befcbeddbdf6899 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期三, 29 五月 2024 03:56:23 +0800
Subject: [PATCH] 光纤配置数据回显和保存
---
src/components/view/b1-inspect-order-plan.vue | 146 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 130 insertions(+), 16 deletions(-)
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 2b397b2..14cd472 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -1,5 +1,5 @@
<style scoped>
- ins-order-plan-main .title {
+ .ins-order-plan-main .title {
font-size: 20px;
color: #3A7BFA
}
@@ -72,7 +72,7 @@
border-radius: 8px 0 0 8px;
}
- .tab li:nth-child(3) {
+ .tab li:nth-last-child(1) {
border-radius: 0 8px 8px 0;
}
@@ -102,6 +102,11 @@
.ins-order-plan-main .el-form-item__label{
color: #000;
}
+
+ .ins-order-plan-main .el-table th.el-table__cell>.cell{
+ height: 46px;
+ line-height: 30px;
+ }
</style>
<template>
<div class="ins-order-plan-main">
@@ -132,7 +137,7 @@
<el-col :span="21">
<div style="display: flex;align-items: center;margin-bottom: 10px;">
<ul class="tab">
- <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}
+ <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label.replace('璇曢獙瀹�','')}}
</li>
</ul>
<div>
@@ -158,24 +163,42 @@
鏄惁璁ら濮旀墭缂栧彿<span style="color:#33C130">{{sampleUserForm.entrustCode}}</span>鐨勪换鍔�
<span slot="footer" class="dialog-footer">
<el-button @click="claimVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmClaim">纭� 瀹�</el-button>
+ <el-button type="primary" @click="confirmClaim" :loading="loading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="妫�楠屼氦鎺�" :visible.sync="connectVisible" width="400px">
+ <div class="search_thing">
+ <div class="search_label" style="width:90px">浜ゆ帴浜哄憳锛�</div>
+ <div class="search_input">
+ <el-select v-model="connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;" filterable>
+ <el-option
+ v-for="item in personList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="connectVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmConnect" :loading="loading">纭� 瀹�</el-button>
</span>
</el-dialog>
<div style="width: 100%;height: 100%;" v-if="activeFace >0">
<Add :active="activeFace" :currentId="currentId"/>
</div>
- <Inspection v-if="state==1" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory"/>
+ <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/>
</div>
</template>
<script>
import ValueTable from '../tool/value-table.vue'
- import Inspection from '../do/b1-inspect-order-plan/Inspection.vue'
+ import Inspection from '../do/b1-inspect-order-plan/Inspection.vue'
import {
getYearAndMonthAndDays
} from '../../util/date'
import Add from '../do/b1-ins-order/add.vue'
-import { number } from 'echarts'
export default {
components: {
ValueTable,
@@ -211,19 +234,25 @@
type: 'text',
method: 'handleInspection',
disabFun: (row, index) => {
- return row.userId == null
+ return row.userId == null || row.insState == 3 || row.insState == 5
}
}, {
id: '',
font: '浜ゆ帴',
type: 'text',
- method: ''
+ method: 'handleConnect',
+ disabFun: (row, index) => {
+ return row.userId == null || row.orderUserId == null || row.insState == 5 || row.insState == 3
+ }
},
{
id: '',
font: '澶嶆牳',
type: 'text',
- method: ''
+ method: 'handleReview',
+ disabFun: (row, index) => {
+ return row.userId == null || row.insState != 3 || row.verifyUser != 1
+ }
}, {
id: '',
font: '璁ら',
@@ -269,22 +298,64 @@
upIndex: 0,
planTotal: 0,
insStateList: [],
- state:0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈紝榛樿涓�0
- activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍�
+ state:0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0
+ activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝榛樿涓�0
currentId: null,
entityCopy: {},
orderId: 0,
+ personList:[],
+ connectVisible:false,
+ connectPerson:'',
+ loading:false,
+ currentTime: null
}
},
created() {
this.getLaboratoryDicts()
this.getTypeDicts()
this.getInsStateDicts()
+ this.getAuthorizedPerson()
+ this.currentTime = getYearAndMonthAndDays()
},
mounted() {
this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getPower()
},
methods: {
+ // 鏉冮檺鍒嗛厤
+ getPower(radio) {
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ let inspection = false
+ let connect = false
+ let review = false
+ let claim = false
+ for (var i = 0; i < power.length; i++) {
+ if (power[i].menuMethod == 'doInsOrder') {
+ inspection = true
+ }
+ if (power[i].menuMethod == 'upPlanUser') {
+ connect = true
+ }
+ if (power[i].menuMethod == 'verifyPlan') {
+ review = true
+ }
+ if (power[i].menuMethod == 'claimInsOrderPlan') {
+ claim = true
+ }
+ }
+ if (!claim) {
+ this.componentData.do.splice(3, 1)
+ }
+ if (!review) {
+ this.componentData.do.splice(2, 1)
+ }
+ if (!connect) {
+ this.componentData.do.splice(1, 1)
+ }
+ if (!inspection) {
+ this.componentData.do.splice(0, 1)
+ }
+ },
changeCheckBox(val) {
this.componentData.entity.userId = val?0:null
this.refreshTable()
@@ -307,18 +378,21 @@
}
},
confirmClaim() {
+ this.loading = true;
this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, {
headers: {
'Content-Type': 'application/json'
}
}).then(res => {
if (res.code === 200 && res.data) {
+ this.loading = false;
this.$message.success("璁ら鎴愬姛")
this.claimVisible = false
this.refreshTable()
}
}).catch(error => {
console.error(error)
+ this.loading = false;
})
},
refreshTable() {
@@ -328,10 +402,9 @@
row,
rowIndex
}) {
- let currentTime = getYearAndMonthAndDays()
- if (currentTime === row.appointed) {
+ if (this.currentTime == row.appointed) {
return 'highlight-warning-row-border'
- } else if (currentTime > row.appointed) {
+ } else if (this.currentTime > row.appointed) {
return 'highlight-danger-row-border'
}
return ''
@@ -423,7 +496,48 @@
handleInspection(row){
this.state = 1;
this.orderId = row.id
- }
+ },
+ handleConnect(row){
+ this.orderId = row.id
+ this.connectVisible=true;
+ },
+ confirmConnect(){
+ if(this.connectPerson){
+ this.loading = true;
+ this.$axios.post(this.$api.insOrderPlan.upPlanUser, {
+ orderId:this.orderId,
+ userId:this.connectPerson
+ }).then(res => {
+ if (res.code === 200) {
+ this.loading = false;
+ this.$message.success("鎿嶄綔鎴愬姛")
+ this.refreshTable()
+ }
+ this.connectVisible = false
+ }).catch(error => {
+ console.error(error)
+ this.loading = false;
+ })
+ }else{
+ this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳')
+ }
+ },
+ handleReview(row){
+ this.state = 2;
+ this.orderId = row.id
+ },
+ getAuthorizedPerson() {
+ this.$axios.get(this.$api.user.getUserMenu).then(res => {
+ let data = []
+ res.data.forEach(a => {
+ data.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ this.personList = data
+ })
+ },
}
}
</script>
--
Gitblit v1.9.3