From c91ea4d8cda53c0f319c9f4306ff03e7c774bca0 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 15 三月 2024 16:03:56 +0800
Subject: [PATCH] 业务管理:检验任务(update)
---
src/components/view/a6-device-management.vue | 726 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 619 insertions(+), 107 deletions(-)
diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index 8c9e4a2..150759a 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -19,7 +19,7 @@
.search_label {
width: 110px;
-
+
font-size: 14px;
text-align: right;
}
@@ -35,6 +35,17 @@
height: calc(100% - 60px - 80px - 10px - 40px);
padding: 20px;
}
+
+ .el-form-item{
+ margin-bottom: 16px;
+ }
+ .picName{
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ word-break: break-all;
+ width: 120px;
+ }
</style>
<template>
@@ -49,30 +60,30 @@
<div class="search">
<div class="search_thing">
<div class="search_label">鐘舵�侊細</div>
- <el-select v-model="value" placeholder="鍏ㄩ儴">
+ <el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴">
<el-option
- v-for="item in options"
+ v-for="item in deviceStatusList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
- </el-select>
+ </el-select>
</div>
<div class="search_thing">
<div class="search_label">璁惧鍚嶇О锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.laboratoryNumber" @keyup.enter.native="refreshTable()"></el-input></div>
+ v-model="componentData.entity.deviceName" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
- <div class="search_thing">
+ <div class="search_thing">
<div class="search_label">瑙勬牸鍨嬪彿锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.head" @keyup.enter.native="refreshTable()"></el-input></div>
+ v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
<div class="search_thing">
<div class="search_label">璁惧澶х被锛�</div>
- <el-select v-model="value" placeholder="璇烽�夋嫨">
+ <el-select v-model="componentData.entity.largeCategory" placeholder="璇烽�夋嫨">
<el-option
- v-for="item in options"
+ v-for="item in equipmentList"
:key="item.value"
:label="item.label"
:value="item.value">
@@ -82,92 +93,443 @@
<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>
+ <el-col :span="12" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button>
+ </el-col>
</div>
</div>
<div class="table">
<!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪 this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏� @selectAllByOne="selectAllByOne"-->
<ValueTable @selectAllByOne="selectAllByOne" @isUpdate="isUpdate" ref="ValueTable" :url="$api.deviceScope.selectDeviceParameter" :upUrl="$api.deviceScope.upDeviceParameter" :delUrl="$api.deviceScope.delDeviceParameter" :componentData="componentData" :key="upIndex"/>
</div>
- <div>
- <el-dialog
- title="璁惧璇︽儏"
- :visible.sync="dialogVisible"
- width="70%"
- :before-close="handleClose">
- <el-row style="display:flex;justify-content: space-around;">
- <!-- 宸﹁竟甯冨眬 -->
- <el-col :span="7" >
- <el-col>
- <!-- 鍥剧墖 -->
- <img src="https://www.baidu.com/img/bd_logo1.png" alt="" style="width:100%;height: 30vh;">
- <!-- 琛ㄥ崟 -->
- <el-form :label-position="labelPosition" :model="formData">
- <el-form-item label="澶х被锛�" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input>
- </el-form-item>
- <el-form-item label="鍑哄巶鏃ユ湡">
+ <el-dialog
+ :title="isUp?'璁惧璇︽儏':'妗f淇'"
+ :visible.sync="dialogVisible"
+ width="70%"
+ :before-close="handleClose">
+ <el-row style="display:flex;justify-content: space-around;">
+ <!-- 宸﹁竟甯冨眬 -->
+ <el-col :span="7" >
+ <el-col>
+ <!-- 鍥剧墖 -->
+ <el-image class="img" style="width:100%;height: 320px;marginBottom:16px" :src="javaApi+'/img/'+formData.imageUpload">
+ <div slot="error" class="image-error" style="width: calc(100% -2px);
+ height: 318px;
+ border-radius: 16px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid #EEEEEE;">
+ <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i>
+ </div>
+ </el-image>
+ <!-- 琛ㄥ崟 -->
+ <el-form :label-position="labelPosition" :model="formData" label-width="90px">
+ <el-form-item label="璁惧鍒嗙被:" >
+ <el-select :disabled="isUp" v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option
+ v-for="item in equipmentList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍑哄巶鏃ユ湡:">
+ <el-date-picker
+ style="width:100%"
+ :disabled="isUp"
+ v-model="formData.dateProduction"
+ type="datetime"
+ size="small"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="璁惧璐熻矗浜�:" >
+ <el-select :disabled="isUp" v-model="formData.getDeviceManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option
+ v-for="item in responsiblePersonList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="琚巿鏉冧汉:" >
+ <el-select :disabled="isUp" v-model="formData.getDeviceManager" size="small" multiple placeholder="璇烽�夋嫨" style="width:100%">
+ <el-option
+ v-for="item in authorizerList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ </el-col>
+ <!-- 涓棿甯冨眬 -->
+ <el-col :span="7">
+ <el-form :label-position="labelPosition" :model="formData" label-width="116px">
+ <el-form-item label="璁惧鍚嶇О:" >
+ <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鍐呴儴缂栫爜:">
+ <el-input :disabled="isUp" v-model="formData.internalCode" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璧勪骇缂栫爜:" >
+ <el-input :disabled="isUp" v-model="formData.assetCode" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:" >
+ <el-date-picker
+ :disabled="isUp"
+ v-model="formData.calibrationDate"
+ type="month"
+ size="small"
+ format="yyyy-MM"
+ value-format="yyyy-MM"
+ style="width:100%"
+ placeholder="閫夋嫨鏈�">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鎶ュ簾鏃堕棿:" >
+ <el-date-picker
+ style="width:100%"
+ :disabled="isUp"
+ v-model="formData.scrapTime"
+ type="datetime"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ size="small"
+ placeholder="閫夋嫨鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="楠屾敹璁板綍:" >
+ <el-input :disabled="isUp" v-model="formData.acceptanceRecords" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鍑哄巶缂栧彿:" >
+ <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璐疆鏃ユ湡:" >
+ <el-date-picker
+ style="width:100%"
+ :disabled="isUp"
+ v-model="formData.acquisitionDate"
+ type="datetime"
+ size="small"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鍑嗙‘搴﹂噺鍊�:" >
+ <el-input :disabled="isUp" v-model="formData.accurateMeasurement" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞:" >
+ <el-input :disabled="isUp" v-model="formData.notes" size="small"></el-input>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <!-- 鍙宠竟甯冨眬 -->
+ <el-col :span="7">
+ <el-form :label-position="labelPosition" :model="formData" label-width="110px" ref="ruleForm">
+ <el-form-item label="瑙勬牸鍨嬪彿:" >
+ <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��:">
+ <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option
+ v-for="item in deviceStatusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="瀛樻斁鐐�:" >
+ <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏈�杩戣拷婧棩鏈�:" >
+ <el-date-picker
+ style="width:100%"
+ :disabled="isUp"
+ v-model="formData.latestTraceability"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ size="small"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鍋滅敤鏃堕棿:" >
+ <el-date-picker
+ style="width:100%"
+ :disabled="isUp"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ v-model="formData.downTime"
+ type="datetime"
+ size="small"
+ placeholder="閫夋嫨鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="缁翠慨璁板綍:" >
+ <el-input :disabled="isUp" v-model="formData.maintenanceRecords" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鐢熶骇鍘傚:" >
+ <el-input :disabled="isUp" v-model="formData.manufacturer" size="small" ></el-input>
+ </el-form-item>
+ <el-form-item label="閲囪喘璐圭敤:" >
+ <el-input :disabled="isUp" v-model="formData.procurementCosts" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍″噯璇佷功:" >
+ <el-input :disabled="isUp" v-model="formData.calibrationCerticate" size="small"></el-input>
+ </el-form-item>
+ <el-form-item v-if="!isUp" label="鍥剧墖:" >
+ <div style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
+ <div v-show="formData.imageName" class="picName">{{formData.imageName}}</div>
+ <el-upload
+ :action="action"
+ :on-success="handleSuccessUpImg"
+ :show-file-list="false"
+ accept='image/jpg,image/jpeg,image/png'
+ :headers="headers"
+ :on-change="beforeUpload"
+ :on-error="onError"
+ ref='upload'
+ >
+ <el-button type="text" style="height:30px;paddingTop:8px">涓婁紶</el-button>
+ </el-upload>
+ </div>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ </el-row>
+ <span slot="footer" class="dialog-footer">
+ <el-row v-if="!isUp">
+ <el-button @click="handleClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
- <el-input style="width:75%" :disabled="isUp" v-model="formData.dateProduction"></el-input>
- </el-form-item>
- <el-form-item label="璁惧璐熻矗浜�" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.equipmentManager"></el-input>
- </el-form-item>
- <el-form-item label="琚巿鏉冧汉" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.authorizedPerson"></el-input>
- </el-form-item>
- <el-form-item v-if="!isUp" label="鍥剧墖" >
- <div style="width:75%;border: 1px solid #DCDFE6;border-radius:4px;margin-left: 22%;display:flex;justify-content: space-around;">
- <div>{{formData.largeCategory}}</div>
- <div style="width: 40%;"></div>
- <div><el-button type="text">棰勮</el-button></div>
- </div>
- </el-form-item>
- </el-form>
- </el-col>
- </el-col>
- <!-- 涓棿甯冨眬 -->
- <el-col :span="7">
- <el-form :label-position="labelPosition" :model="formData">
- <el-form-item label="璁惧鍚嶇О" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.deviceName"></el-input>
- </el-form-item>
- <el-form-item label="鍐呴儴缂栫爜">
- <el-input style="width:75%" :disabled="isUp" v-model="formData.internalCode"></el-input>
- </el-form-item>
- <el-form-item label="璧勪骇缂栫爜" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.assetCode"></el-input>
- </el-form-item>
- <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.calibrationDate"></el-input>
- </el-form-item>
- </el-form>
- </el-col>
- <!-- 鍙宠竟甯冨眬 -->
- <el-col :span="7">
- <el-form :label-position="labelPosition" :model="formData">
- <el-form-item label="娲诲姩鍖哄煙" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input>
- </el-form-item>
- <el-form-item label="娲诲姩鍖哄煙">
- <el-input style="width:75%" :disabled="isUp" v-model="formData.latestTraceability"></el-input>
- </el-form-item>
- <el-form-item label="娲诲姩褰㈠紡" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input>
- </el-form-item>
- <el-form-item label="娲诲姩褰㈠紡" >
- <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input>
- </el-form-item>
- </el-form>
- </el-col>
- </el-row>
- <span slot="footer" class="dialog-footer">
- <el-row v-if="!isUp">
- <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button>
- </el-row>
- </span>
- </el-dialog>
- </div>
+
+
+<!-- 鏂板-->
+ <el-dialog
+ title="鏂板璁惧"
+ :visible.sync="dialogVisible2"
+ width="70%"
+ :before-close="handleClose2">
+ <el-row style="display:flex;justify-content: space-around;">
+ <!-- 宸﹁竟甯冨眬 -->
+ <el-col :span="7" >
+ <el-col>
+ <!-- 鍥剧墖 -->
+ <el-image class="img" style="width:100%;height: 320px;marginBottom:16px" :src="javaApi+'/img/'+formData2.imageUpload">
+ <div slot="error" class="image-error" style="width: calc(100% -2px);
+ height: 318px;
+ border-radius: 16px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid #EEEEEE;">
+ <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i>
+ </div>
+ </el-image>
+ <!-- 琛ㄥ崟 -->
+ <el-form :label-position="labelPosition" :model="formData2" label-width="90px">
+ <el-form-item label="璁惧鍒嗙被:" >
+ <el-select v-model="formData2.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option
+ v-for="item in equipmentList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍑哄巶鏃ユ湡:">
+ <el-date-picker
+ style="width:100%"
+ v-model="formData2.dateProduction"
+ type="datetime"
+ size="small"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="璁惧璐熻矗浜�:" >
+ <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option
+ v-for="item in responsiblePersonList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="琚巿鏉冧汉:" >
+ <el-select v-model="formData2.authorizedPerson" size="small" multiple placeholder="璇烽�夋嫨" style="width:100%">
+ <el-option
+ v-for="item in authorizerList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ </el-col>
+ <!-- 涓棿甯冨眬 -->
+ <el-col :span="7">
+ <el-form :label-position="labelPosition" :model="formData2" label-width="116px">
+ <el-form-item label="璁惧鍚嶇О:" >
+ <el-input v-model="formData2.deviceName" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鍐呴儴缂栫爜:">
+ <el-input v-model="formData2.internalCode" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璧勪骇缂栫爜:" >
+ <el-input v-model="formData2.assetCode" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:" >
+ <el-date-picker
+ v-model="formData2.calibrationDate"
+ type="month"
+ size="small"
+ format="yyyy-MM"
+ value-format="yyyy-MM"
+ style="width:100%"
+ placeholder="閫夋嫨鏈�">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鎶ュ簾鏃堕棿:" >
+ <el-date-picker
+ style="width:100%"
+ v-model="formData2.scrapTime"
+ type="datetime"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ size="small"
+ placeholder="閫夋嫨鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="楠屾敹璁板綍:" >
+ <el-input v-model="formData2.acceptanceRecords" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鍑哄巶缂栧彿:" >
+ <el-input v-model="formData2.factoryNo" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璐疆鏃ユ湡:" >
+ <el-date-picker
+ style="width:100%"
+ v-model="formData2.acquisitionDate"
+ type="datetime"
+ size="small"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鍑嗙‘搴﹂噺鍊�:" >
+ <el-input v-model="formData2.accurateMeasurement" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞:" >
+ <el-input v-model="formData2.notes" size="small"></el-input>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <!-- 鍙宠竟甯冨眬 -->
+ <el-col :span="7">
+ <el-form :label-position="labelPosition" :model="formData2" label-width="110px" ref="ruleForm">
+ <el-form-item label="瑙勬牸鍨嬪彿:" >
+ <el-input v-model="formData2.specificationModel" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��:">
+ <el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option
+ v-for="item in deviceStatusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="瀛樻斁鐐�:" >
+ <el-input v-model="formData2.storagePoint" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏈�杩戣拷婧棩鏈�:" >
+ <el-date-picker
+ style="width:100%"
+ v-model="formData2.latestTraceability"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ size="small"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鍋滅敤鏃堕棿:" >
+ <el-date-picker
+ style="width:100%"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ v-model="formData2.downTime"
+ type="datetime"
+ size="small"
+ placeholder="閫夋嫨鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="缁翠慨璁板綍:" >
+ <el-input v-model="formData2.maintenanceRecords" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鐢熶骇鍘傚:" >
+ <el-input v-model="formData2.manufacturer" size="small" ></el-input>
+ </el-form-item>
+ <el-form-item label="閲囪喘璐圭敤:" >
+ <el-input v-model="formData2.procurementCosts" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍″噯璇佷功:" >
+ <el-input v-model="formData2.calibrationCerticate" size="small"></el-input>
+ </el-form-item>
+ <el-form-item v-if="!isUp" label="鍥剧墖:" >
+ <div style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
+ <div v-show="formData2.imageName" class="picName">{{formData2.imageName}}</div>
+ <el-upload
+ :action="action"
+ :on-success="handleSuccessUpImg"
+ :show-file-list="false"
+ accept='image/jpg,image/jpeg,image/png'
+ :headers="headers"
+ :on-change="beforeUpload"
+ :on-error="onError"
+ ref='upload'
+ >
+ <el-button type="text" style="height:30px;paddingTop:8px">涓婁紶</el-button>
+ </el-upload>
+ </div>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ </el-row>
+ <span slot="footer" class="dialog-footer">
+ <el-row >
+ <el-button @click="handleClose2">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -182,18 +544,19 @@
//鏄惁鏄。妗堜慨璁� true涓嶆槸 false鏄�
isUp: true,
formData: {},
+ formData2: {},
value: '',
options: [],
labelPosition: 'right',
dialogVisible: false,
+ dialogVisible2: false,
+ addPower: false,
componentData: {
entity: {
- largeCategory: null,
- subclass: null,
+ deviceStatus: null,
deviceName: null,
- internalCode: null,
specificationModel: null,
- manufacturer: null,
+ largeCategory: null,
orderBy: {
field: 'id',
order: 'asc'
@@ -203,11 +566,6 @@
showSelect: false,
select: false,
do: [{
- id: 'details',
- font: '璇︽儏',
- type: 'text',
- method: 'selectAllByOne'
- }, {
id: 'delete',
font: '鍒犻櫎',
type: 'text',
@@ -218,7 +576,28 @@
type: 'text',
method: 'isUpdate'
}],
- tagField: {},
+ tagField: {
+ deviceStatus: {
+ select: [{
+ value: 0,
+ type: 'success',
+ label: '姝e父'
+ },{
+ value: 1,
+ type: 'warning',
+ label: '鎶ュ簾'
+ },{
+ value: 2,
+ type: 'danger',
+ label: '淇濅慨'
+ }]
+ }
+ },
+ linkEvent:{
+ deviceName:{
+ method:'selectAllByOne'
+ }
+ },
selectField: {},
requiredAdd:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'],
requiredUp:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer']
@@ -226,12 +605,32 @@
entityCopy: {},
upIndex: 0,
addDia: true,
- addPower: true
+ addPower: true,
+ //璁惧绫诲瀷鍒楄〃
+ equipmentList:[],
+ // 璐熻矗浜哄垪琛�
+ responsiblePersonList:[],
+ // 鎺堟潈浜哄垪琛�
+ authorizerList:[],
+ // 璁惧鐘舵�佸垪琛�
+ deviceStatusList:[],
+ upLoad:false,
}
},
+ computed: {
+ headers() {
+ return { 'token': sessionStorage.getItem('token') }
+ },
+ action(){
+ return this.javaApi+this.$api.deviceScope.uploadFile
+ }
+ },
mounted() {
this.entityCopy = this.HaveJson(this.componentData.entity)
this.getPower()
+ this.getAuthorizedPerson()
+ this.selectEnumByCategory()
+ this.selectDevicePrincipal()
},
methods: {
refreshTable() {
@@ -241,7 +640,6 @@
this.componentData.entity = this.HaveJson(this.entityCopy)
this.upIndex++
},
-
// 鏉冮檺鍒嗛厤
getPower(radio) {
let power = JSON.parse(sessionStorage.getItem('power'))
@@ -259,16 +657,60 @@
add = true
}
}
- if(!del){
+ if(!up){
this.componentData.do.splice(1, 1)
}
- if(!up){
+ if(!del){
this.componentData.do.splice(0, 1)
}
this.addPower = add
},
+ // 鑾峰彇鎺堟潈浜�
+ getAuthorizedPerson(){
+ this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => {
+ let data = []
+ res.data.forEach(a=>{
+ data.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ this.authorizerList = data
+ })
+ },
+ // 鑾峰彇瀛楀吀
+ selectEnumByCategory() {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "璁惧鐘舵��"
+ }).then(res => {
+ this.deviceStatusList = res.data
+ })
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "璁惧鍒嗙被"
+ }).then(res => {
+ this.equipmentList = res.data
+ })
+ },
+ // 鑾峰彇璐熻矗浜哄垪琛�
+ selectDevicePrincipal(){
+ this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => {
+ let data = []
+ res.data.forEach(a=>{
+ data.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ this.responsiblePersonList = data
+ })
+ },
handleClose(){
this.dialogVisible = false;
+ this.upLoad = false;
+ },
+ handleClose2(){
+ this.dialogVisible2 = false;
+ this.upLoad = false;
},
selectAllByOne(row){
this.isUp = true
@@ -276,7 +718,8 @@
this.dialogVisible = true;
//row = 鐐瑰嚮瀵瑰簲琛屽��
//澶嶅埗缁檉ormData
- this.formData=row;
+ this.formData=this.HaveJson(row);
+ this.formData.authorizedPerson=row.authorizedPerson?row.authorizedPerson.split(','):[];
},
isUpdate(row){
//淇敼 isUp 涓烘。妗堜慨鏀�
@@ -285,8 +728,77 @@
this.dialogVisible = true;
//row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽��
//澶嶅埗缁檉ormData
- this.formData=row;
- }
- }
+ this.formData=this.HaveJson(row);
+ this.formData.authorizedPerson=row.authorizedPerson?row.authorizedPerson.split(','):[];
+ },
+ beforeUpload(file){
+ if (file.size > 1024*1024*10) {
+ this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+ this.$refs.upload.clearFiles()
+ return false;
+ }else{
+ return true;
+ }
+ },
+ onError(err, file, fileList) {
+ this.$message.error('涓婁紶澶辫触')
+ this.$refs.upload.clearFiles()
+ },
+ // 涓婁紶鍥剧墖鎴愬姛
+ handleSuccessUpImg(response,){
+ if(response.code==200){
+ this.formData.imageUpload = response.data.url;
+ this.formData.imageName = response.data.name;
+ }
+ },
+ 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'
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ this.upLoad = false
+ return
+ }
+ this.$message.success('淇敼鎴愬姛')
+ this.upLoad = false
+ this.refreshTable()
+ this.dialogVisible = false
+ }).catch(e => {
+ this.$message.error('淇敼澶辫触')
+ this.dialogVisible = false
+ this.upLoad = false
+ })
+ },
+ submitForm2(){
+ this.upLoad2 = true;
+ this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ this.upLoad2 = false
+ return
+ }
+ this.$message.success('淇敼鎴愬姛')
+ this.upLoad = false
+ this.refreshTable()
+ this.dialogVisible2 = false
+ }).catch(e => {
+ this.$message.error('淇敼澶辫触')
+ this.dialogVisible2 = false
+ this.upLoad2 = false
+ })
+ }
}
-</script>
\ No newline at end of file
+ }
+</script>
--
Gitblit v1.9.3