From f6c6a4067d68eb1d78a46bf44c279c0faff1d39b Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 14 三月 2024 16:15:10 +0800
Subject: [PATCH] 业务管理:检验任务2
---
src/components/view/b1-inspection-order.vue | 454 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 271 insertions(+), 183 deletions(-)
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 9f1829b..5034b53 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -34,128 +34,177 @@
height: calc(100% - 60px - 80px - 10px - 40px);
padding: 20px;
}
- .tab{
- list-style-type: none;
- display: flex;
- margin-bottom: 12px;
- }
- .tab li{
- line-height: 24px;
- padding: 6px 14px;
- font-size: 14px;
- color: #333333;
- border: 1px solid #EEEEEE;
- cursor: pointer;
- }
- .tab li:nth-child(1){
- border-radius: 8px 0 0 8px;
- }
- .tab li:nth-child(4){
- border-radius: 0 8px 8px 0;
- }
- .tab li.active{
- border-color: #3A7BFA;
- color: #3A7BFA;
- }
- .el-form-item{
- margin-bottom: 16px;
- }
- .picName{
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- word-break: break-all;
- width: 120px;
- }
+ .tab {
+ list-style-type: none;
+ display: flex;
+ margin-bottom: 12px;
+ }
+
+ .tab li {
+ line-height: 24px;
+ padding: 6px 14px;
+ font-size: 14px;
+ color: #333333;
+ border: 1px solid #EEEEEE;
+ cursor: pointer;
+ }
+
+ .tab li:nth-child(1) {
+ border-radius: 8px 0 0 8px;
+ }
+
+ .tab li:nth-child(4) {
+ border-radius: 0 8px 8px 0;
+ }
+
+ .tab li.active {
+ border-color: #3A7BFA;
+ color: #3A7BFA;
+ }
+
+ .el-form-item {
+ margin-bottom: 16px;
+ }
</style>
<template>
- <div class="role_manage">
- <div>
- <el-row class="title">
- <el-col :span="12" style="padding-left: 20px;">妫�楠屼笅鍗�</el-col>
- <el-col :span="12" style="text-align: right;">
- <el-button size="medium" type="primary" @click="playOrder">涓嬪崟</el-button>
- </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.deviceName" @keyup.enter.native="refreshTable()"></el-input></div>
+ <div class="inspection_order">
+ <div style="width: 100%;height: 100%;" v-if="active == 0">
+ <div>
+ <el-row class="title">
+ <el-col :span="12" style="padding-left: 20px;">妫�楠屼笅鍗�</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
+ </el-col>
+ </el-row>
</div>
- <div class="search_thing">
- <div class="search_label">鏍峰搧鍚嶇О锛�</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></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.deviceName" @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.specificationModel" @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>
- <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 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>
+ <!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪 this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏� @selectAllByOne="selectAllByOne"-->
+ <ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
+ :key="upIndex" style="height: calc(100% - 44px)" @selectAllByOne="selectAllByOne"
+ @handleDataLook="handleDataLook" @download="download" @handleVerify="handleVerify" @handlEquash="handlEquash"
+ @handleIssued="handleIssued" />
</div>
+ <!-- 瀹℃牳 -->
+ <el-dialog title="涓嬪崟瀹℃牳" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
+ <p style="font-size:16px;color:#333333" v-if="!isPass">濮旀墭缂栧彿<span
+ style="color:#34BD66">ZTMS2023071001</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>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-row v-if="!isPass">
+ <el-button @click="handleClose">閫� 鍥�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">閫� 杩�</el-button>
+ </el-row>
+ <el-row v-else>
+ <el-button @click="handleClose">杩� 鍥�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <!-- 鎾ら攢 -->
+ <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>
+ <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>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-row v-if="!isQuash">
+ <el-button @click="handleClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+ </el-row>
+ <el-row v-else>
+ <el-button @click="handleClose">杩� 鍥�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <!-- 涓嬪彂 -->
+ <el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="30%" :before-close="handleClose">
+ <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm">
+ <el-form-item label="绾﹀畾鏃堕棿锛�">
+ <el-date-picker style="width:100%" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="formData.downTime"
+ type="date" size="small" placeholder="閫夋嫨鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鎸囨淳浜哄憳锛�">
+ <el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="handleClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="70%" :before-close="handleClose">
+ <div style="height: 70vh;overflow-y: auto;">
+ <ValueTable ref="ValueTableDataLook" :url="$api.deviceScope.selectDeviceParameter"
+ :componentData="componentDataDataLook" :key="upIndex" />
+ </div>
+ </el-dialog>
</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>
- <!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪 this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏� @selectAllByOne="selectAllByOne"-->
- <ValueTable
- ref="ValueTable"
- :url="$api.deviceScope.selectDeviceParameter"
- :componentData="componentData"
- :key="upIndex"
- style="height: calc(100% - 44px)"
- @selectAllByOne="selectAllByOne"
- @handleDataLook="handleDataLook"
- @download="download"
- @handleVerify="handleVerify"
- @handlEquash="handlEquash"
- @handleIssued="handleIssued" />
+ <div style="width: 100%;height: 100%;" v-if="active == 1">
+ <Add/>
</div>
- <!-- 瀹℃牳 -->
- <el-dialog
- title="涓嬪崟瀹℃牳"
- :visible.sync="dialogVisible0"
- width="30%"
- :before-close="handleClose">
- <p style="font-size:16px;color:#333333">濮旀墭缂栧彿<span style="color:#34BD66">ZTMS2023071001</span>鐨勪俊鎭槸鍚﹂�氳繃</p>
- <span slot="footer" class="dialog-footer">
- <el-row v-if="!isPass">
- <el-button @click="handleClose">閫� 鍥�</el-button>
- <el-button type="primary" @click="submitForm" :loading="upLoad">閫� 杩�</el-button>
- </el-row>
- <el-row v-else>
- <el-button @click="handleClose">杩� 鍥�</el-button>
- <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
- </el-row>
- </span>
- </el-dialog>
</div>
</template>
<script>
import ValueTable from '../tool/value-table.vue'
+ import Add from '../do/b1-ins-order/add.vue'
export default {
components: {
- ValueTable
+ ValueTable,
+ Add
},
data() {
return {
- //鏄惁閫氳繃 true鏄� false涓嶆槸
- isPass: true,
+ //鏄惁瀹℃牳閫氳繃 true鏄� false涓嶆槸
+ isPass: false,
+ //鏄惁瀹℃牳鎾ら攢 true鏄� false涓嶆槸
+ isQuash: false,
+ verifyDialogVisible: false,
+ quashDialogVisible: false,
+ issuedDialogVisible: false,
+ dataDialogVisible: false,
formData: {},
- value: '',
- options: [],
+ // 浜哄憳鍒楄〃
+ personList: [],
labelPosition: 'right',
- dialogVisible0: false,
componentData: {
entity: {
- deviceStatus: null,
- deviceName: null,
- specificationModel: null,
- largeCategory: null,
+ state: 1,
orderBy: {
field: 'id',
order: 'asc'
@@ -165,89 +214,113 @@
showSelect: false,
select: false,
do: [{
- id: 'details',
- font: '璇︽儏',
- type: 'text',
- method: 'selectAllByOne'
- }, {
id: 'dataLook',
font: '鏁版嵁鏌ョ湅',
type: 'text',
method: 'handleDataLook'
- },{
+ }, {
id: 'download',
font: '鎶ュ憡涓嬭浇',
type: 'text',
method: 'download'
- },{
+ }, {
id: 'verify',
font: '瀹℃牳',
type: 'text',
method: 'handleVerify'
- },{
+ }, {
id: 'quash',
font: '鎾ら攢',
type: 'text',
method: 'handlEquash'
- },{
+ }, {
id: 'issued',
font: '涓嬪彂',
type: 'text',
method: 'handleIssued'
}],
tagField: {
- deviceStatus: {
+ deviceStatus: {
select: [{
value: 0,
type: 'success',
label: '姝e父'
- },{
+ }, {
value: 1,
type: 'warning',
label: '鎶ュ簾'
- },{
+ }, {
value: 2,
type: 'danger',
label: '淇濅慨'
}]
}
- },
+ },
+ linkEvent:{
+ deviceName:{
+ id: 'details',
+ method:'selectAllByOne',
+ }
+ },
selectField: {},
- requiredAdd:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'],
- requiredUp:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer']
+ requiredAdd: ['largeCategory', 'subclass', 'deviceName', 'internalCode', 'specificationModel', 'manufacturer'],
+ requiredUp: ['largeCategory', 'subclass', 'deviceName', 'internalCode', 'specificationModel', 'manufacturer']
+ },
+ componentDataDataLook: {
+ entity: {
+ orderBy: {
+ field: 'id',
+ order: 'asc'
+ }
+ },
+ isIndex: false,
+ showSelect: false,
+ select: false,
+ do: [],
+ tagField: {
+ deviceStatus: {
+ select: [{
+ value: 0,
+ type: 'success',
+ label: '姝e父'
+ }, {
+ value: 1,
+ type: 'warning',
+ label: '鎶ュ簾'
+ }, {
+ value: 2,
+ type: 'danger',
+ label: '淇濅慨'
+ }]
+ }
+ },
+ selectField: {},
+ requiredAdd: [],
+ requiredUp: []
},
entityCopy: {},
upIndex: 0,
- addDia: true,
addPower: true,
- //璁惧绫诲瀷鍒楄〃
- equipmentList:[],
- // 璐熻矗浜哄垪琛�
- responsiblePersonList:[],
- // 鎺堟潈浜哄垪琛�
- authorizerList:[],
- // 璁惧鐘舵�佸垪琛�
- deviceStatusList:[],
- upLoad:false,
- tabList:[
- {
- label:'妫�楠屽鐞�',
- value:0
- },
- {
- label:'寰呭鏍�',
- value:1
- },
- {
- label:'閫�鍥�',
- value:2
- },
- {
- label:'鎾ら攢',
- value:3
- },
- ],
- tabIndex:0,
+ upLoad: false,
+ tabList: [{
+ label: '妫�楠屽鐞�',
+ value: 1
+ },
+ {
+ label: '寰呭鏍�',
+ value: 0
+ },
+ {
+ label: '閫�鍥�',
+ value: 2
+ },
+ {
+ label: '鎾ら攢',
+ value: 3
+ },
+ ],
+ tabIndex: 0,
+ active: 1
}
},
mounted() {
@@ -269,57 +342,68 @@
let del = false
let add = false
for (var i = 0; i < power.length; i++) {
- if(power[i].menuMethod=='upDeviceParameter'){
+ if (power[i].menuMethod == 'upDeviceParameter') {
up = true
}
- if(power[i].menuMethod=='delDeviceParameter'){
+ if (power[i].menuMethod == 'delDeviceParameter') {
del = true
}
- if(power[i].menuMethod=='addDeviceParameter'){
+ if (power[i].menuMethod == 'addDeviceParameter') {
add = true
}
}
- if(!del){
+ if (!del) {
this.componentData.do.splice(1, 1)
}
- if(!up){
+ if (!up) {
this.componentData.do.splice(0, 1)
}
this.addPower = add
},
- handleClose(){
- this.dialogVisible0 = false;
- this.upLoad = false;
+ handleClose() {
+ this.verifyDialogVisible = false;
+ this.quashDialogVisible = false;
+ this.issuedDialogVisible = false;
+ this.dataDialogVisible = false;
+ this.upLoad = false;
},
- // 璇︽儏
- selectAllByOne(row){
+ // 璇︽儏
+ selectAllByOne(row) {
//鎵撳紑寮规
this.dialogVisible = true;
//row = 鐐瑰嚮瀵瑰簲琛屽��
//澶嶅埗缁檉ormData
- this.formData=this.HaveJson(row);
+ this.formData = this.HaveJson(row);
},
- // 鏁版嵁鏌ョ湅
- handleDataLook(row){},
- // 涓嬭浇鎶ュ憡
- download(row){},
- // 瀹℃牳
- handleVerify(row){
- this.dialogVisible0 = true;
- },
- // 鎾ら攢
- handlEquash(row){},
- // 涓嬪彂
- handleIssued(row){},
- submitForm(){
- this.upLoad = true;
- let authorizedPerson = this.formData.authorizedPerson.length>0?this.formData.authorizedPerson.join(','):''
- delete this.formData.createTime
- delete this.formData.updateTime
- delete this.formData.createUser
- delete this.formData.updateUser
- this.formData.authorizedPerson = authorizedPerson
- this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
+ // 鏁版嵁鏌ョ湅
+ handleDataLook(row) {
+ this.dataDialogVisible = true;
+ },
+ // 涓嬭浇鎶ュ憡
+ download(row) {
+
+ },
+ // 瀹℃牳
+ handleVerify(row) {
+ this.verifyDialogVisible = true;
+ },
+ // 鎾ら攢
+ handlEquash(row) {
+ this.quashDialogVisible = true;
+ },
+ // 涓嬪彂
+ handleIssued(row) {
+ this.issuedDialogVisible = true;
+ },
+ submitForm() {
+ this.upLoad = true;
+ let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
+ delete this.formData.createTime
+ delete this.formData.updateTime
+ delete this.formData.createUser
+ delete this.formData.updateUser
+ this.formData.authorizedPerson = authorizedPerson
+ this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
headers: {
'Content-Type': 'application/json'
}
@@ -329,20 +413,24 @@
return
}
this.$message.success('淇敼鎴愬姛')
- this.upLoad = false
+ this.upLoad = false
this.refreshTable()
- this.dialogVisible = false
+ this.dialogVisible = false
}).catch(e => {
this.$message.error('淇敼澶辫触')
this.dialogVisible = false
this.upLoad = false
})
- },
- // 涓嬪崟
- playOrder(){},
- handleTab(m,i){
- this.tabIndex = i;
- }
+ },
+ // 涓嬪崟
+ playOrder(num) {
+ this.active = num
+ },
+ handleTab(m, i) {
+ this.tabIndex = i;
+ this.componentData.entity.state = m.value
+ this.refreshTable()
+ }
}
}
</script>
--
Gitblit v1.9.3