From 9b0a82931d2d4ef6fa877ebba59737a65ba37103 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 07 八月 2024 11:18:53 +0800
Subject: [PATCH] 检验下单-检验项要求值校验修改
---
src/components/view/a6-device-management.vue | 661 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 422 insertions(+), 239 deletions(-)
diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index bec5b90..f28e1bc 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -51,17 +51,18 @@
<template>
<div class="role_manage">
- <div>
+ <div v-if="!showData">
<el-row class="title">
- <el-col :span="12" style="padding-left: 20px;">璁惧宸ュ叿鏄庣粏</el-col>
+ <el-col :span="12" style="padding-left: 20px;text-align: left;">璁惧宸ュ叿鏄庣粏</el-col>
<el-col :span="12" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button>
</el-col>
</el-row>
</div>
- <div class="search">
+ <div class="search" v-if="!showData">
<div class="search_thing">
<div class="search_label">鐘舵�侊細</div>
- <el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴">
+ <el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴" size="small">
<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -76,22 +77,12 @@
<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">
- <div class="search_label">璁惧鍒嗙被锛�</div>
- <el-select v-model="componentData.entity.largeCategory" placeholder="璇烽�夋嫨">
- <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </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>
- <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">
+ <div class="table" v-if="!showData">
<!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪 this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏� @selectAllByOne="selectAllByOne"-->
<ValueTable @selectAllByOne="selectAllByOne" @isUpdate="isUpdate" ref="ValueTable"
:url="$api.deviceScope.selectDeviceParameter" :upUrl="$api.deviceScope.upDeviceParameter"
@@ -116,131 +107,121 @@
</div>
</el-image>
<!-- 琛ㄥ崟 -->
- <el-form :label-position="labelPosition" :model="formData" label-width="90px">
- <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.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 :disabled="isUp" v-model="formData.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-item label="妫�楠岄」鐩�:">
- <el-cascader
- v-model="formData.insProductIds"
- :options="options"
- :show-all-levels="false"
- :props="props"
- placeholder="璇烽�夋嫨" size="small"
- style="width:100%"
- collapse-tags
- separator=","
- clearable></el-cascader>
- </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-form :label-position="labelPosition" :model="formData" label-width="120px">
+ <el-form-item label="浠櫒鍚嶇О:" required>
<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-form-item>
+ <el-form-item label="浠櫒鍚嶇ОEN:" required>
+ <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="瑙勬牸鍨嬪彿:" required>
+ <el-input :disabled="isUp" v-model="formData.specificationModel" 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>
+ </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.calibrationServices" 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-item>
+ <el-form-item label="绠$悊缂栧彿:" required>
+ <el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="璐疆鏃ユ湡:">
+ <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date"
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鍚敤鏃ユ湡:" required>
+ <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date"
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" 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 :disabled="isUp" 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-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鎶�鏈寚鏍�:">
+ <el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea" 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 :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm">
+ <!-- 瀹為獙瀹ゅ垪琛� -->
+ <el-form-item label="鎵�灞為儴闂�:">
+ <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="妫�娴嬮」鐩�:">
+ <el-cascader
+ :disabled="isUp"
+ v-model="formData.insProductIds"
+ :options="options"
+ :show-all-levels="false"
+ :props="props"
+ placeholder="璇烽�夋嫨" size="small"
+ style="width:100%;"
+ :collapse-tags="!isUp"
+ separator=","
+ filterable
+ clearable></el-cascader>
+ </el-form-item>
+ <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:" v-if="isUp">
+ <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
</el-form-item>
- <el-form-item label="褰撳墠鐘舵��:">
- <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small"
- style="width:100%">
+ <el-form-item label="涓嬫鏍″噯鏃ユ湡:" v-if="isUp">
+ <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <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-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="褰撳墠鐘舵��:" required>
+ <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="鍥剧墖:">
+ <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+ <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input>
+ </el-form-item>
+ <el-form-item 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"
+ <el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :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-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
</el-upload>
</div>
</el-form-item>
@@ -277,72 +258,45 @@
</div>
</el-image>
<!-- 琛ㄥ崟 -->
- <el-form :label-position="labelPosition" :model="formData2" label-width="100px">
- <el-form-item label="浠櫒鍚嶇О:">
+ <el-form :label-position="labelPosition" :model="formData2" label-width="120px">
+ <el-form-item label="浠櫒鍚嶇О:" required>
<el-input v-model="formData2.deviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="浠櫒鍚嶇ОEN:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-form-item label="浠櫒鍚嶇ОEN:" required>
+ <el-input v-model="formData2.enDeviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-form-item label="瑙勬牸鍨嬪彿:" required>
+ <el-input v-model="formData2.specificationModel" size="small"></el-input>
</el-form-item>
<el-form-item label="鐢熶骇鍘傚:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-input v-model="formData2.manufacturer" size="small"></el-input>
</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-item label="妫�楠岄」鐩�:">
- <el-cascader
- v-model="formData.insProductIds"
- :options="options"
- :show-all-levels="false"
- :props="props"
- placeholder="璇烽�夋嫨" size="small"
- style="width:100%"
- collapse-tags
- separator=","
- clearable></el-cascader>
- </el-form-item>
- -->
</el-form>
</el-col>
</el-col>
<!-- 涓棿甯冨眬 -->
<el-col :span="7">
<el-form :label-position="labelPosition" :model="formData2" label-width="110px">
- <el-form-item label="鐢熶骇鍘傚EN:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <!-- <el-form-item label="鐢熶骇鍘傚EN:">
+ <el-input v-model="formData2.factoryNo" size="small"></el-input>
+ </el-form-item> -->
+ <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
+ <el-input v-model="formData2.calibrationServices" size="small"></el-input>
</el-form-item>
<el-form-item label="鍑哄巶缂栧彿:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-input v-model="formData2.factoryNo" size="small"></el-input>
</el-form-item>
- <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.deviceName" :rows="7" type="textarea" size="small"></el-input>
+ <el-form-item label="绠$悊缂栧彿:" required>
+ <el-input v-model="formData2.managementNumber" size="small"></el-input>
</el-form-item>
<el-form-item label="璐疆鏃ユ湡:">
- <el-date-picker style="width:100%" v-model="formData2.scrapTime" type="date"
- format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡">
+ <el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date"
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item label="鍚敤鏃ユ湡:">
- <el-date-picker style="width:100%" v-model="formData2.scrapTime" type="date"
- format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="鍚敤鏃ユ湡:" required>
+ <el-date-picker style="width:100%" v-model="formData2.activationDate" type="date"
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
<el-form-item label="绠$悊浜�:">
@@ -352,8 +306,11 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍦板潃:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-form-item label="瀛樻斁鐐�:">
+ <el-input v-model="formData2.storagePoint" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鎶�鏈寚鏍�:">
+ <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
</el-form-item>
</el-form>
</el-col>
@@ -362,15 +319,15 @@
<el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
<!-- 瀹為獙瀹ゅ垪琛� -->
<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"
+ <el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="妫�娴嬮」鐩�:">
<el-cascader
- v-model="formData.insProductIds"
+ v-model="formData2.insProductIds"
:options="options"
:show-all-levels="false"
:props="props"
@@ -378,39 +335,27 @@
style="width:100%"
collapse-tags
separator=","
+ filterable
clearable></el-cascader>
</el-form-item>
- <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
- <el-input v-model="formData2.deviceName" 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"
- value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
- <el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
<el-form-item label="璁惧绫诲瀷:">
- <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+ <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-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-input v-model="formData2.unitPrice" size="small"></el-input>
</el-form-item>
- <el-form-item label="褰撳墠鐘舵��:">
+ <el-form-item label="褰撳墠鐘舵��:" required>
<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 v-for="item in deviceStatusList" :key="item.id" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:">
- <el-input v-model="formData2.deviceName" size="small"></el-input>
+ <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+ <el-input v-model="formData2.calibrationDate" size="small"></el-input>
</el-form-item>
<el-form-item label="鍥剧墖:">
<div
@@ -433,31 +378,90 @@
</el-row>
</span>
</el-dialog>
+ <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="400px">
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.ip"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>閲囬泦鍦板潃锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.collectUrl"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍌ㄥ瓨鍦板潃锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.storageUrl"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍙傜収锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.refer"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>X锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.x"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>Y锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.y"></el-input>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鍏紡锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.formula"></el-input>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="dialogVisible3=false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm3" :loading="upLoad3">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <dataAcquisitionConfig v-if="showData" :deviceId="deviceId"/>
</div>
</template>
<script>
import ValueTable from '../tool/value-table.vue'
+ import dataAcquisitionConfig from '../do/b6-device-management/b6-data-acquisition-config.vue'
export default {
components: {
- ValueTable
+ ValueTable,
+ dataAcquisitionConfig
},
data() {
return {
+ deviceId: '',
+ fileTypeOptions: [
+ {label: 'csv', value: '.csv'},
+ {label: 'db', value: '.db'},
+ {label: 'mdb', value: '.mdb'},
+ {label: 'word', value: '.docx'},
+ {label: 'excel', value: '.xlsx'},
+ {label: 'txt', value: '.txt'},
+ {label: 'png', value: '.png'},
+ ],
//鏄惁鏄。妗堜慨璁� true涓嶆槸 false鏄�
isUp: true,
- formData: {},
+ formData: {
+ },
formData2: {
imageUpload: '',
imageName: ''
},
value: '',
- props: { multiple: true,emitPath:false,value:'id',label:'name' },
+ props: { multiple: true,emitPath:false,value:'id',label:'name' },
options: [],
labelPosition: 'right',
dialogVisible: false,
- dialogVisible2: true,
+ dialogVisible2: false,
addPower: false,
+ showData: false, // 鏁伴噰閰嶇疆椤甸潰
+ tableList: [],
componentData: {
entity: {
deviceStatus: null,
@@ -482,22 +486,19 @@
font: '妗f淇',
type: 'text',
method: 'isUpdate'
+ }, {
+ id: 'handleConfig',
+ font: '鏁伴噰閰嶇疆',
+ type: 'text',
+ method: 'handleConfig',
+ disabFun: (row, index) => {
+ return row.insProductItem === ''
+ }
}],
+ headNoShow:['enDeviceName'],
tagField: {
deviceStatus: {
- select: [{
- value: 0,
- type: 'success',
- label: '姝e父'
- }, {
- value: 1,
- type: 'warning',
- label: '鎶ュ簾'
- }, {
- value: 2,
- type: 'danger',
- label: '淇濅慨'
- }]
+ select: []
},
equipmentManager: {
select: []
@@ -528,7 +529,8 @@
}
},
requiredAdd: [],
- requiredUp: []
+ requiredUp: [],
+ needSort: ['deviceName', 'acquisitionDate', 'activationDate', 'lastCalibrationDate', 'nextCalibrationDate', 'deviceStatus'],
},
entityCopy: {},
upIndex: 0,
@@ -542,8 +544,13 @@
authorizerList: [],
// 褰撳墠鐘舵�佸垪琛�
deviceStatusList: [],
+ // 鎵�灞為儴闂�
+ subordinateDepartmentsList: [],
upLoad: false,
upLoad2: false,
+ dialogVisible3:false,
+ upLoad3:false,
+ configForm:{}
}
},
computed: {
@@ -562,11 +569,24 @@
// this.getAuthorizedPerson()
this.selectEnumByCategory()
this.selectDevicePrincipal()
- this.getInsProductIds()
+ this.obtainItemParameterList()
+ this.getInsProductIds()
},
methods: {
- refreshTable() {
- this.$refs['ValueTable'].selectList()
+ obtainItemParameterList() {
+ this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
+ let data = []
+ res.data.forEach(a=>{
+ data.push({
+ label: a.laboratoryName,
+ value: a.id
+ })
+ })
+ this.subordinateDepartmentsList = data
+ })
+ },
+ refreshTable(e) {
+ this.$refs['ValueTable'].selectList(e)
},
refresh() {
this.componentData.entity = this.HaveJson(this.entityCopy)
@@ -578,6 +598,7 @@
let up = false
let del = false
let add = false
+ let config = false
for (var i = 0; i < power.length; i++) {
if (power[i].menuMethod == 'upDeviceParameter') {
up = true
@@ -588,21 +609,33 @@
if (power[i].menuMethod == 'addDeviceParameter') {
add = true
}
+ if (power[i].menuMethod == 'saveDataAcquisitionConfiguration') {
+ config = true
+ }
}
- if (!up) {
- this.componentData.do.splice(1, 1)
- }
- if (!del) {
- this.componentData.do.splice(0, 1)
- }
- this.addPower = add
- },
+ if (!config) {
+ this.componentData.do.splice(2, 1)
+ }
+ if (!up) {
+ this.componentData.do.splice(1, 1)
+ }
+ if (!del) {
+ this.componentData.do.splice(0, 1)
+ }
+ this.addPower = add
+ },
// 鑾峰彇瀛楀吀
selectEnumByCategory() {
this.$axios.post(this.$api.enums.selectEnumByCategory, {
category: "璁惧鐘舵��"
}).then(res => {
this.deviceStatusList = res.data
+ this.deviceStatusList.forEach(a=>{
+ if(!isNaN(a.value)){
+ a.value = parseInt(a.value)
+ }
+ })
+ this.componentData.tagField.deviceStatus.select = res.data
})
this.$axios.post(this.$api.enums.selectEnumByCategory, {
category: "璁惧鍒嗙被"
@@ -631,7 +664,7 @@
this.componentData.tagField.insProductIds.select = []
this.componentData.selectField.insProductIds.select = []
this.options = res.data.map((m,i)=>{
- m.id = i;
+ m.id = m.name;
let children = m.children.map(n=>{
n.label = n.name;
n.value = n.id;
@@ -641,13 +674,40 @@
this.componentData.selectField.insProductIds.select = [...this.componentData.selectField.insProductIds.select,...children]
return m
})
+ this.options.forEach(item=>{
+ if(item.children.length==0){
+ item.children = null;
+ }else{
+ item.children.forEach(m=>{
+ if(m.children.length==0){
+ m.children = null;
+ }else{
+ m.children.forEach(n=>{
+ if(n.children&&n.children.length==0){
+ n.children = null;
+ }
+ })
+ }
+ })
+ }
+ })
})
},
handleClose() {
+ this.formData = {}
+ this.formData2 = {
+ imageUpload: '',
+ imageName: ''
+ }
this.dialogVisible = false;
this.upLoad = false;
},
handleClose2() {
+ this.formData = {}
+ this.formData2 = {
+ imageUpload: '',
+ imageName: ''
+ }
this.dialogVisible2 = false;
this.upLoad = false;
},
@@ -658,7 +718,7 @@
//row = 鐐瑰嚮瀵瑰簲琛屽��
//澶嶅埗缁檉ormData
this.formData = this.HaveJson(row);
- this.formData.authorizedPerson = row.authorizedPerson ? row.authorizedPerson.split(',') : [];
+ this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : [];
},
isUpdate(row) {
//淇敼 isUp 涓烘。妗堜慨鏀�
@@ -668,7 +728,10 @@
//row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽��
//澶嶅埗缁檉ormData
this.formData = this.HaveJson(row);
- this.formData.authorizedPerson = row.authorizedPerson ? row.authorizedPerson.split(',') : [];
+ if(typeof(row.insProductIds)==='number'){
+ row.insProductIds = row.insProductIds+''
+ }
+ this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : [];
},
beforeUpload(file) {
if (file.size > 1024 * 1024 * 10) {
@@ -690,23 +753,51 @@
this.formData.imageName = response.data.name;
}
},
- handleSuccessUpImg2(response, ) {
+ handleSuccessUpImg2(response) {
if (response.code == 200) {
this.$nextTick(() => {
+ this.formData.imageUpload = response.data.url;
+ this.formData.imageName = response.data.name;
this.formData2.imageUpload = response.data.url;
this.formData2.imageName = response.data.name;
})
}
},
submitForm() {
- this.upLoad = true;
- let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
+ if(!this.formData.deviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+ return
+ }
+ if(!this.formData.enDeviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+ return
+ }
+ if(!this.formData.specificationModel){
+ this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+ return
+ }
+ if(!this.formData.managementNumber){
+ this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+ return
+ }
+ if(!this.formData.activationDate){
+ this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+ return
+ }
+ if(this.formData.deviceStatus==='' || this.formData.deviceStatus===null){
+ this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+ return
+ }
+ if(!this.formData.calibrationDate){
+ this.$message.error('鏈緭鍏ユ牎鍑嗗懆鏈燂紙鏈堬級')
+ return
+ }
delete this.formData.createTime
delete this.formData.updateTime
delete this.formData.createUser
delete this.formData.updateUser
- this.formData.authorizedPerson = authorizedPerson
- this.formData.insProductIds = JSON.stringify(this.formData.insProductIds)
+ this.formData.insProductIds = this.formData.insProductIds?this.formData.insProductIds.join():''
+ this.upLoad = true;
this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
headers: {
'Content-Type': 'application/json'
@@ -718,7 +809,7 @@
}
this.$message.success('淇敼鎴愬姛')
this.upLoad = false
- this.refreshTable()
+ this.refreshTable('page')
this.dialogVisible = false
}).catch(e => {
this.$message.error('淇敼澶辫触')
@@ -727,11 +818,36 @@
})
},
submitForm2() {
+ if(!this.formData2.deviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+ return
+ }
+ if(!this.formData2.enDeviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+ return
+ }
+ if(!this.formData2.specificationModel){
+ this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+ return
+ }
+ if(!this.formData2.managementNumber){
+ this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+ return
+ }
+ if(!this.formData2.activationDate){
+ this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+ return
+ }
+ if(!this.formData2.deviceStatus){
+ this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+ return
+ }
+ if(!this.formData2.calibrationDate){
+ this.$message.error('杈撳叆鏍″噯鍛ㄦ湡锛堟湀锛�')
+ return
+ }
this.upLoad2 = true;
- let authorizedPerson = this.formData2.authorizedPerson.length > 0 ? this.formData2.authorizedPerson.join(',') :
- ''
- this.formData2.authorizedPerson = authorizedPerson
- this.formData.insProductIds = JSON.stringify(this.formData.insProductIds)
+ this.formData2.insProductIds = this.formData2.insProductIds.join()
this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, {
headers: {
'Content-Type': 'application/json'
@@ -743,7 +859,7 @@
}
this.$message.success('鎻愪氦鎴愬姛')
this.upLoad2 = false
- this.refreshTable()
+ this.refreshTable('page')
this.dialogVisible2 = false
this.formData2 = {
imageUpload: '',
@@ -754,7 +870,74 @@
this.dialogVisible2 = false
this.upLoad2 = false
})
- }
+ },
+ handleConfig(row){
+ // this.configForm = {}
+ // this.dialogVisible3 = true
+ // this.$axios.post(this.$api.deviceScope.getNumberCollect+'?id='+row.id).then(res => {
+ // this.configForm = res.data
+ // })
+ this.showData = true
+ const list = row.insProductItem.split(';')
+ let list2 = []
+ list.map((item) => {
+ const obj = Object.assign({
+ deviceId: row.id,
+ insProductItem: item,
+ })
+ list2.push(obj)
+ })
+ this.tableList = list2
+ this.deviceId = row.id
+ },
+ closeDataVue () {
+ this.showData = false
+ },
+ submitForm3(){
+ if(!this.configForm.ip){
+ this.$message.error('璇峰~鍐橧P');
+ return
+ }
+ if(!this.configForm.collectUrl){
+ this.$message.error('璇峰~鍐欓噰闆嗗湴鍧�');
+ return
+ }
+ if(!this.configForm.storageUrl){
+ this.$message.error('璇峰~鍐欏偍瀛樺湴鍧�');
+ return
+ }
+ if(!this.configForm.refer){
+ this.$message.error('璇峰~鍐欏弬鐓�');
+ return
+ }
+ if(!this.configForm.x){
+ this.$message.error('璇峰~鍐橷');
+ return
+ }
+ if(!this.configForm.y){
+ this.$message.error('璇峰~鍐橸');
+ return
+ }
+
+ this.upLoad3 = true
+ this.$axios.post(this.$api.deviceScope.numberCollect, this.configForm, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.upLoad3 = false
+ if (res.code === 201) {
+ return
+ }
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.refreshTable('page')
+ this.dialogVisible3 = false
+ }).catch(e => {
+ this.$message.error('鎿嶄綔澶辫触')
+ this.dialogVisible3 = false
+ this.upLoad3 = false
+ })
+ }
}
}
</script>
--
Gitblit v1.9.3