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-inspection-order.vue | 270 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 220 insertions(+), 50 deletions(-)
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 2fefd41..b81c76c 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -9,22 +9,24 @@
height: 80px;
display: flex;
align-items: center;
+ overflow: hidden;
}
.search_thing {
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 {
@@ -79,28 +81,73 @@
</el-col>
</el-row>
</div>
- <div class="search">
- <div class="search_thing">
- <div class="search_label">濮旀墭缂栧彿锛�</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- 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_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.sampleType" @keyup.enter.native="refreshTable()"></el-input></div>
- </div>
- <div class="search_thing" style="padding-left: 30px;">
- <el-button size="small" @click="refresh()">閲� 缃�</el-button>
- <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
- </div>
+ <div class="search" :style="`height: ${more?130:80}px;`">
+ <el-row :gutter="10" style="width: 100%;">
+ <el-col :span="20" style="display: flex;flex-wrap: wrap;">
+ <div class="search_thing" style="width: 20%;">
+ <div class="search_label">濮旀墭缂栧彿锛�</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing" style="width: 20%;">
+ <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" style="width: 20%;">
+ <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" style="width: 20%;">
+ <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" style="width: 20%;">
+ <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="width: 20%;" v-if="more">
+ <div class="search_label">涓嬪崟浜猴細</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.name" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing" style="width: 20%;" v-if="more">
+ <div class="search_label">宸ョ▼鍚嶇О锛�</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.engineering" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing" style="width: 20%;" v-if="more">
+ <div class="search_label">鐢熶骇鍗曚綅锛�</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.production" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ </el-col>
+ <el-col :span="4">
+ <div class="search_thing">
+ <el-button type="text" :icon="!more?'el-icon-arrow-down':'el-icon-arrow-up'" style="color: #3A7BFA;" @click="more=!more">{{!more?'鏇村':'鏀惰捣'}}</el-button>
+ <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ </div>
+ </el-col>
+ </el-row>
</div>
<div class="table">
<ul class="tab">
<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)" />
+ <ValueTable :style="getStyle()" ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
+ :key="'b'+upIndex" />
</div>
<!-- 瀹℃牳 -->
<el-dialog title="涓嬪崟瀹℃牳" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
@@ -125,7 +172,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 +190,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 +201,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%;" clearable>
- <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,15 +219,15 @@
</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>
<div style="width: 100%;height: 100%;" v-if="active >0">
- <Add :active="active" :currentId="currentId" />
+ <Add :active="active" :currentId="currentId" v-if="active<4" />
</div>
</div>
</template>
@@ -218,7 +265,13 @@
entity: {
entrustCode: null,
sampleType: null,
+ sampleName: null,
+ sampleModel: null,
+ sampleCode: null,
state: 0,
+ name:null,
+ engineering:null,
+ production:null,
orderBy: {
field: 'id',
order: 'asc'
@@ -233,7 +286,7 @@
type: 'text',
method: 'handleDataLook',
disabFun: (row, index) => {
- return row.state != 1
+ return row.state != 1 && row.state != 4
}
}, {
id: 'download',
@@ -241,7 +294,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 +310,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 +343,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 +381,9 @@
},
componentDataDataLook: {
entity: {
+ id: 0,
orderBy: {
- field: 'id',
+ field: 'sampleCode',
order: 'asc'
}
},
@@ -308,23 +392,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: []
},
@@ -353,8 +452,10 @@
},
],
tabIndex: 0,
- active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍�
- currentId: null
+ active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝4锛氬厜绾ら厤缃�,榛樿涓�0
+ currentId: null,
+ more:false,
+ insOrderRow:{}
}
},
mounted() {
@@ -362,6 +463,8 @@
this.getPower()
this.getUserMenu()
this.getAuthorizedPerson()
+ this.getInsStateDicts()
+ this.selectEnumByCategoryForOrderType()
},
methods: {
getAuthorizedPerson() {
@@ -389,6 +492,7 @@
let up = false
let del = false
let add = false
+ let revoke = false
for (var i = 0; i < power.length; i++) {
if (power[i].menuMethod == 'upInsOrder') {
up = true
@@ -396,10 +500,16 @@
if (power[i].menuMethod == 'addInsOrder') {
add = true
}
+ if (power[i].menuMethod == 'updateStatus') {
+ revoke = true
+ }
}
if (!up) {
this.componentData.do.splice(4, 1)
}
+ if (!revoke) {
+ this.componentData.do.splice(3, 1)
+ }
this.addPower = add
},
handleClose() {
@@ -429,10 +539,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 +563,7 @@
// 鎾ら攢
handlEquash(row) {
this.quashDialogVisible = true;
+ this.insOrderRow=row
},
// 涓嬪彂
handleIssued(row) {
@@ -486,6 +608,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 +654,36 @@
})
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
+ })
+ },
+ getStyle(){
+ return 'height: calc(100% - '+(this.more?'94':'44')+'px)'
+ }
}
}
</script>
--
Gitblit v1.9.3