From f56fc3c44f12024265abb7260143d25de3f49bb5 Mon Sep 17 00:00:00 2001
From: 晏有为 <13214124+yan-youwei@user.noreply.gitee.com>
Date: 星期一, 27 五月 2024 16:23:18 +0800
Subject: [PATCH] 客户管理添加,字段优化
---
src/components/view/b1-inspection-order.vue | 199 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 166 insertions(+), 33 deletions(-)
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index f513eef..a697366 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 {
@@ -86,9 +87,32 @@
v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
<div class="search_thing">
- <div class="search_label">鏍峰搧绫诲瀷锛�</div>
+ <div class="search_label">鏍峰搧鍚嶇О锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
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">
@@ -125,7 +149,7 @@
<!-- 鎾ら攢 -->
<el-dialog title="涓嬪崟鎾ら攢" :visible.sync="quashDialogVisible" width="30%" :before-close="handleClose">
<p style="font-size:16px;color:#333333" v-if="!isQuash">濮旀墭缂栧彿<span
- style="color:#34BD66">ZTMS2023071001</span>鐨勪俊鎭槸鍚︽挙閿�</p>
+ style="color:#34BD66">{{this.insOrderRow.entrustCode}}</span>鐨勪俊鎭槸鍚︽挙閿�</p>
<el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else>
<el-form-item label="璇疯緭鍏ユ挙閿�鍘熷洜锛�">
<el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
@@ -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 filterable>
+ <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>
@@ -218,6 +242,9 @@
entity: {
entrustCode: null,
sampleType: null,
+ sampleName: null,
+ sampleModel: null,
+ sampleCode: null,
state: 0,
orderBy: {
field: 'id',
@@ -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 || row.reportId == null
+ return row.state != 4 || row.reportId == null
}
}, {
id: 'verify',
@@ -257,7 +284,7 @@
type: 'text',
method: 'handlEquash',
disabFun: (row, index) => {
- return row.state == 2 || row.state == 3
+ return row.state != 1 && row.state != 0
}
}, {
font: '鍒嗛厤',
@@ -290,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: [],
@@ -298,8 +355,9 @@
},
componentDataDataLook: {
entity: {
+ id: 0,
orderBy: {
- field: 'id',
+ field: 'sampleCode',
order: 'asc'
}
},
@@ -308,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: []
},
@@ -354,7 +427,8 @@
],
tabIndex: 0,
active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍�
- currentId: null
+ currentId: null,
+ insOrderRow:{}
}
},
mounted() {
@@ -362,6 +436,8 @@
this.getPower()
this.getUserMenu()
this.getAuthorizedPerson()
+ this.getInsStateDicts()
+ this.selectEnumByCategoryForOrderType()
},
methods: {
getAuthorizedPerson() {
@@ -429,10 +505,21 @@
},
// 鏁版嵁鏌ョ湅
handleDataLook(row) {
+ this.componentDataDataLook.entity.id = row.id
this.dataDialogVisible = true;
},
// 涓嬭浇鎶ュ憡
- download(row) {},
+ 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;
@@ -442,6 +529,7 @@
// 鎾ら攢
handlEquash(row) {
this.quashDialogVisible = true;
+ this.insOrderRow=row
},
// 涓嬪彂
handleIssued(row) {
@@ -486,6 +574,25 @@
},
submitForm() {
this.upLoad = true;
+ if (this.tabIndex==1){
+ this.axios.put(this.$api.insOrder.updateInspected+"?id="+this.insOrderRow.id).then(res=>{
+ if (res.code===200){
+ this.upLoad=false
+ this.quashDialogVisible=false
+ this.refreshTable()
+ this.$message.success("鏇存柊鎴愬姛")
+ }
+ })
+ }else{
+ this.axios.put(this.$api.insOrder.updateStatus+"?id="+this.insOrderRow.id).then(res=>{
+ if (res.code===200){
+ this.upLoad = false
+ this.quashDialogVisible = false
+ this.refreshTable()
+ this.$message.success("鏇存柊鎴愬姛")
+ }
+ })
+ }
let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
delete this.formData.createTime
delete this.formData.updateTime
@@ -513,7 +620,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