From 7c4bfc9776a56752324d2fbdbddd7f7f22236e8d Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 06 八月 2024 19:01:31 +0800
Subject: [PATCH] 修改
---
src/components/view/b1-inspect-order-plan.vue | 175 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 148 insertions(+), 27 deletions(-)
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 9fd9060..ea64308 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -102,11 +102,16 @@
.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">
<div v-show="activeFace == 0&&state==0" style="height: 100%;">
- <p style="font-size: 16px;padding:19.5px 0px">妫�楠屼换鍔�</p>
+ <p style="font-size: 16px;padding-left: 20px;text-align: left;height: 60px;line-height: 60px;">妫�楠屼换鍔�</p>
<div class="search">
<div class="search_thing">
<div class="search_label">濮旀墭缂栧彿锛�</div>
@@ -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>
@@ -150,6 +155,7 @@
</el-row>
</div>
<ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan"
+ :isColumnWidth="true"
:url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" @handleInspection="handleInspection"
:key="upIndex"/>
</div>
@@ -163,11 +169,24 @@
</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_label" style="width:90px"><span class="required-span">* </span>浜ゆ帴浜哄憳锛�</div>
<div class="search_input">
- <el-select v-model="connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;">
+ <el-select v-model="connect.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>
+ <div class="search_thing">
+ <div class="search_label" style="width:90px"><span class="required-span">* </span>璇曢獙瀹わ細</div>
+ <div class="search_input">
+ <el-select v-model="connect.sonLaboratory" placeholder="璇烽�夋嫨" style="width: 100%;" filterable>
+ <el-option
+ v-for="item in sonLaboratoryList"
:key="item.value"
:label="item.label"
:value="item.value">
@@ -184,16 +203,23 @@
<Add :active="activeFace" :currentId="currentId"/>
</div>
<Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/>
- </div>
+ <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="80%">
+ <div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible">
+ <ValueTable ref="ValueTableDataLook" :url="$api.insOrder.selectSampleAndProductByOrderId"
+ :componentData="componentDataDataLook"/>
+ </div>
+ </el-dialog>
+ </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 { CellGroup } from 'iview'
export default {
components: {
ValueTable,
@@ -212,6 +238,55 @@
tabList: [],
active: 1,
tabIndex: 0,
+ componentDataDataLook: {
+ entity: {
+ id: 0,
+ orderBy: {
+ field: 'sampleCode',
+ order: 'asc'
+ }
+ },
+ isIndex: false,
+ showSelect: false,
+ select: false,
+ do: [],
+ tagField: {
+ insState: {
+ select: []
+ },
+ insResult: {
+ select: [{
+ value: 1,
+ label: '鍚堟牸',
+ type: 'success'
+ },{
+ value: 0,
+ label: '涓嶅悎鏍�',
+ type: 'danger'
+ }]
+ }
+ },
+ selectField: {},
+ spanConfig:{
+ rows:[
+ {
+ name:'sampleCode',
+ index:0
+ },
+ {
+ name:'sample',
+ index:1
+ },
+ {
+ name:'model',
+ index:5
+ }
+ ]
+ },
+ requiredAdd: [],
+ requiredUp: []
+ },
+ dataDialogVisible: false,
componentData: {
entity: {
sonLaboratory: null,
@@ -221,23 +296,39 @@
isIndex: true,
showSelect: false,
select: false,
- sort: false,
init: false,
+ needSort: ['createTime', 'sendTime', 'type', 'appointed', 'insState'],
do: [{
+ id: '',
+ font: '鏁版嵁鏌ョ湅',
+ type: 'text',
+ method: 'handleDataLook',
+ disabFun: (row, index) => {
+ const user = JSON.parse(localStorage.getItem('user'))
+ let currentUserName = ''
+ if(user){
+ currentUserName = user.name
+ }
+ return row.userName!=currentUserName || row.checkName!=currentUserName
+ }
+ },{
id: '',
font: '妫�楠�',
type: 'text',
method: 'handleInspection',
disabFun: (row, index) => {
- return row.userId == null
+ return row.userName == null || row.insState == 3 || row.insState == 5||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
}
+ // disabFun: (row, index) => {
+ // return row.userId == null || row.insState == 3 || row.insState == 5
+ // }
}, {
id: '',
font: '浜ゆ帴',
type: 'text',
method: 'handleConnect',
disabFun: (row, index) => {
- return row.userId == null
+ return row.userName == null || row.insState == 5 || row.insState == 3||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
}
},
{
@@ -245,16 +336,16 @@
font: '澶嶆牳',
type: 'text',
method: 'handleReview',
- // disabFun: (row, index) => {
- // return row.userId == null || row.insState != 4
- // }
+ disabFun: (row, userName) => {
+ return row.userName == null || row.insState != 3 ||(row.checkName&&!row.checkName.includes(JSON.parse(localStorage.getItem("user")).name))
+ }
}, {
id: '',
font: '璁ら',
type: 'text',
method: 'claimFun',
disabFun: (row, index) => {
- return row.userId != null
+ return row.userName != null||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
}
}
],
@@ -300,9 +391,13 @@
orderId: 0,
personList:[],
connectVisible:false,
- connectPerson:'',
+ connect:{
+ connectPerson:'',
+ sonLaboratory:''
+ },
loading:false,
- currentTime: null
+ currentTime: null,
+ sonLaboratoryList:[]
}
},
created() {
@@ -317,6 +412,11 @@
this.getPower()
},
methods: {
+ // 鏁版嵁鏌ョ湅
+ handleDataLook(row) {
+ this.componentDataDataLook.entity.id = row.id
+ this.dataDialogVisible = true;
+ },
// 鏉冮檺鍒嗛厤
getPower(radio) {
let power = JSON.parse(sessionStorage.getItem('power'))
@@ -367,7 +467,8 @@
if (row) {
this.sampleUserForm = {
entrustCode: row.entrustCode,
- insSampleId: row.id
+ insSampleId: row.id,
+ sonLaboratory: row.sonLaboratory,
}
this.claimVisible = true
}
@@ -383,15 +484,15 @@
this.loading = false;
this.$message.success("璁ら鎴愬姛")
this.claimVisible = false
- this.refreshTable()
+ this.refreshTable('page')
}
}).catch(error => {
console.error(error)
this.loading = false;
})
},
- refreshTable() {
- this.$refs.insOrderPlan.selectList()
+ refreshTable(e) {
+ this.$refs.insOrderPlan.selectList(e)
},
changeRowClass({
row,
@@ -486,7 +587,7 @@
},
goback() {
this.state = 0
- this.refreshTable()
+ this.refreshTable('page')
},
handleInspection(row){
this.state = 1;
@@ -494,28 +595,48 @@
},
handleConnect(row){
this.orderId = row.id
+ this.connect = {}
this.connectVisible=true;
+ this.$axios.post(this.$api.insOrderPlan.upPlanUser2, {
+ orderId:this.orderId,
+ }).then(res => {
+ if (res.code === 200&&res.data.length>0) {
+ this.sonLaboratoryList = [];
+ res.data.forEach(m=>{
+ this.sonLaboratoryList.push({
+ value:m,
+ label:m
+ })
+ })
+ this.connect.sonLaboratory = this.sonLaboratoryList[0].value
+ }
+ })
},
confirmConnect(){
- if(this.connectPerson){
- this.loading = true;
+ if(this.connect.connectPerson==null||this.connect.connectPerson==''||this.connect.connectPerson==undefined){
+ this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳')
+ return
+ }
+ if(this.connect.sonLaboratory==null||this.connect.sonLaboratory==''||this.connect.sonLaboratory==undefined){
+ this.$message.error('鏈�夋嫨璇曢獙瀹�')
+ return
+ }
+ this.loading = true;
this.$axios.post(this.$api.insOrderPlan.upPlanUser, {
orderId:this.orderId,
- userId:this.connectPerson
+ userId:this.connect.connectPerson,
+ sonLaboratory:this.connect.sonLaboratory,
}).then(res => {
if (res.code === 200) {
this.loading = false;
this.$message.success("鎿嶄綔鎴愬姛")
- this.refreshTable()
+ this.refreshTable('page')
}
this.connectVisible = false
}).catch(error => {
console.error(error)
this.loading = false;
})
- }else{
- this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳')
- }
},
handleReview(row){
this.state = 2;
--
Gitblit v1.9.3