From 3eadfb9665b40d2ec77bf70aebfbd7e54199efa6 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 16 五月 2024 17:49:43 +0800
Subject: [PATCH] 增加人事系统对接
---
src/components/view/b1-inspection-order.vue | 221 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 169 insertions(+), 52 deletions(-)
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 563273b..a5f0a23 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -15,16 +15,17 @@
display: flex;
align-items: center;
height: 50px;
+ width: 230px;
}
.search_label {
- width: 120px;
+ width: 90px;
font-size: 14px;
text-align: right;
}
.search_input {
- width: calc(100% - 120px);
+ width: calc(100% - 90px);
}
.table {
@@ -54,7 +55,7 @@
border-radius: 8px 0 0 8px;
}
- .tab li:nth-child(4) {
+ .tab li:nth-child(5) {
border-radius: 0 8px 8px 0;
}
@@ -88,7 +89,30 @@
<div class="search_thing">
<div class="search_label">鏍峰搧鍚嶇О锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.sample" @keyup.enter.native="refreshTable()"></el-input></div>
+ v-model="componentData.entity.sampleType" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.sampleModel" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鏍峰搧缂栧彿锛�</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.sampleCode" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">涓嬪崟鏃堕棿锛�</div>
+ <div class="search_input">
+ <el-date-picker style="width:100%" v-model="componentData.entity.createTime"
+ type="date"
+ size="small"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ clearable
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </div>
</div>
<div class="search_thing" style="padding-left: 30px;">
<el-button size="small" @click="refresh()">閲� 缃�</el-button>
@@ -100,7 +124,7 @@
<li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
</ul>
<ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
- :key="upIndex" style="height: calc(100% - 44px)" />
+ :key="'b'+upIndex" style="height: calc(100% - 44px)" />
</div>
<!-- 瀹℃牳 -->
<el-dialog title="涓嬪崟瀹℃牳" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
@@ -143,10 +167,10 @@
</span>
</el-dialog>
<!-- 涓嬪彂 -->
- <el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="400px" :before-close="handleClose">
+ <el-dialog title="妫�楠屽垎閰�" :visible.sync="issuedDialogVisible" width="400px" :before-close="handleClose">
<div class="body" style="max-height: 60vh;">
<el-row>
- <el-col class="search_thing" :span="22">
+ <el-col class="search_thing" style="width: 95%;">
<div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
<div class="search_input">
<el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="閫夋嫨鏃ユ湡"
@@ -154,11 +178,11 @@
</el-date-picker>
</div>
</el-col>
- <el-col class="search_thing" :span="22">
+ <el-col class="search_thing" style="width: 95%;">
<div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>鎸囨淳浜哄憳锛�</div>
<div class="search_input">
- <el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
- <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
+ <el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" clearable>
+ <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -172,10 +196,10 @@
</el-row>
</span>
</el-dialog>
- <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="70%" :before-close="handleClose2">
- <div style="height: 70vh;overflow-y: auto;">
- <ValueTable ref="ValueTableDataLook" :url="$api.deviceScope.selectDeviceParameter"
- :componentData="componentDataDataLook" :key="upIndex" />
+ <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>
@@ -217,8 +241,11 @@
componentData: {
entity: {
entrustCode: null,
- sample: null,
- state: 1,
+ sampleType: null,
+ sampleName: null,
+ sampleModel: null,
+ sampleCode: null,
+ state: 0,
orderBy: {
field: 'id',
order: 'asc'
@@ -233,7 +260,7 @@
type: 'text',
method: 'handleDataLook',
disabFun: (row, index) => {
- return row.state != 1
+ return row.state != 1 && row.state != 4
}
}, {
id: 'download',
@@ -241,7 +268,7 @@
type: 'text',
method: 'download',
disabFun: (row, index) => {
- return row.state != 1
+ return row.state != 4 || row.reportId == null
}
}, {
id: 'verify',
@@ -255,19 +282,22 @@
id: 'quash',
font: '鎾ら攢',
type: 'text',
- method: 'handlEquash'
+ method: 'handlEquash',
+ disabFun: (row, index) => {
+ return row.state != 1 && row.state != 0
+ }
}, {
- font: '涓嬪彂',
+ font: '鍒嗛厤',
type: 'text',
method: 'handleIssued',
disabFun: (row, index) => {
return row.state != 1 || row.sendTime != null
}
}],
- linkEvent:{
- entrustCode:{
- method:'selectAllByOne'
- }
+ linkEvent: {
+ entrustCode: {
+ method: 'selectAllByOne'
+ }
},
tagField: {
type: {
@@ -287,7 +317,37 @@
},
createUser: {
select: []
- }
+ },
+ orderType: {
+ select: []
+ },
+ processing: {
+ select: [{
+ value: 1,
+ label: '瀹為獙瀹ゅ鐞�'
+ },{
+ value: 0,
+ label: '濮旀墭鍗曚綅鍙栧洖'
+ }]
+ },
+ isLeave: {
+ select: [{
+ value: 1,
+ label: '鐣欐牱'
+ },{
+ value: 0,
+ label: '涓嶇暀鏍�'
+ }]
+ },
+ send: {
+ select: [{
+ value: 1,
+ label: '鑷彇'
+ },{
+ value: 0,
+ label: '鍏朵粬'
+ }]
+ }
},
selectField: {},
requiredAdd: [],
@@ -295,8 +355,9 @@
},
componentDataDataLook: {
entity: {
+ id: 0,
orderBy: {
- field: 'id',
+ field: 'sampleCode',
order: 'asc'
}
},
@@ -305,23 +366,38 @@
select: false,
do: [],
tagField: {
- deviceStatus: {
+ insState: {
+ select: []
+ },
+ insResult: {
select: [{
- value: 0,
- type: 'success',
- label: '姝e父'
- }, {
value: 1,
- type: 'warning',
- label: '鎶ュ簾'
- }, {
- value: 2,
- type: 'danger',
- label: '淇濅慨'
+ label: '鍚堟牸',
+ type: 'success'
+ },{
+ value: 0,
+ label: '涓嶅悎鏍�',
+ type: 'danger'
}]
}
},
selectField: {},
+ spanConfig:{
+ rows:[
+ {
+ name:'sampleCode',
+ index:0
+ },
+ {
+ name:'sample',
+ index:1
+ },
+ {
+ name:'model',
+ index:2
+ }
+ ]
+ },
requiredAdd: [],
requiredUp: []
},
@@ -330,12 +406,15 @@
addPower: true,
upLoad: false,
tabList: [{
- label: '妫�楠屽鐞�',
+ label: '寰呭鏍�',
+ value: 0
+ }, {
+ label: '寰呮楠�',
value: 1
},
{
- label: '寰呭鏍�',
- value: 0
+ label: '宸叉楠�',
+ value: 4
},
{
label: '閫�鍥�',
@@ -347,8 +426,8 @@
},
],
tabIndex: 0,
- active: 0,//1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍�
- currentId:null
+ active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍�
+ currentId: null
}
},
mounted() {
@@ -356,6 +435,8 @@
this.getPower()
this.getUserMenu()
this.getAuthorizedPerson()
+ this.getInsStateDicts()
+ this.selectEnumByCategoryForOrderType()
},
methods: {
getAuthorizedPerson() {
@@ -412,27 +493,37 @@
},
// 璇︽儏
selectAllByOne(row) {
- this.active = 2;
+ this.active = 2;
// console.log(row);
// //鎵撳紑寮规
// this.dialogVisible = true;
// //row = 鐐瑰嚮瀵瑰簲琛屽��
// //澶嶅埗缁檉ormData
// this.formData = this.HaveJson(row);
- this.currentId = row.id
+ this.currentId = row.id
},
// 鏁版嵁鏌ョ湅
handleDataLook(row) {
+ this.componentDataDataLook.entity.id = row.id
this.dataDialogVisible = true;
},
// 涓嬭浇鎶ュ憡
download(row) {
- },
+ let url = row.urlS?row.urlS:row.url;
+ if(url){
+ url = url.split('.')[0]+'.pdf'
+ const link = document.createElement('a');
+ link.href = this.javaApi + url;
+ link.target = '_blank';
+ document.body.appendChild(link);
+ link.click();
+ }
+ },
// 瀹℃牳
handleVerify(row) {
// this.verifyDialogVisible = true;
- this.active = 3;
- this.currentId = row.id
+ this.active = 3;
+ this.currentId = row.id
},
// 鎾ら攢
handlEquash(row) {
@@ -441,9 +532,9 @@
// 涓嬪彂
handleIssued(row) {
this.issuedDialogVisible = true;
- this.$axios.post(this.$api.insOrder.selectOrderManDay,{
- id: row.sampleId
- }).then(res=>{
+ this.$axios.post(this.$api.insOrder.selectOrderManDay, {
+ id: row.id
+ }).then(res => {
this.distributeData.orderId = row.id
this.distributeData.sampleId = row.sampleId
this.distributeData.appointed = res.data
@@ -451,7 +542,7 @@
})
},
submitForm2() {
- if(this.distributeData.appointed==null||this.distributeData.appointed==''){
+ if (this.distributeData.appointed == null || this.distributeData.appointed == '') {
this.$message.error('绾﹀畾鏃堕棿鏈~鍐�')
return
}
@@ -508,7 +599,33 @@
})
this.componentData.tagField.createUser.select = data
})
- }
+ },
+ getInsStateDicts() {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "妫�楠屼换鍔$姸鎬�"
+ }).then(res => {
+ let data = res.data
+ this.insStateList = data
+ data.forEach(ele => {
+ //0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃
+ if (['2', '5'].includes(ele.value)) {
+ ele.type = 'success'
+ } else if (['1', '3'].includes(ele.value)) {
+ ele.type = 'warning'
+ } else if (['0', '4'].includes(ele.value)) {
+ ele.type = 'danger'
+ }
+ })
+ this.componentDataDataLook.tagField.insState.select = data
+ })
+ },
+ selectEnumByCategoryForOrderType() {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "妫�楠岀被鍒�"
+ }).then(res => {
+ this.componentData.tagField.orderType.select = res.data
+ })
+ },
}
}
</script>
--
Gitblit v1.9.3