From 6ef9e5189ac1888b8c4c504d5c5d3f431807ff56 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期六, 15 三月 2025 11:57:40 +0800
Subject: [PATCH] 修改电路试验单位
---
src/components/do/a6-device/files.vue | 1238 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 781 insertions(+), 457 deletions(-)
diff --git a/src/components/do/a6-device/files.vue b/src/components/do/a6-device/files.vue
index bd95c1b..ab9e2c4 100644
--- a/src/components/do/a6-device/files.vue
+++ b/src/components/do/a6-device/files.vue
@@ -5,13 +5,21 @@
<h4><span class="line"></span><span>璁惧妗f</span></h4>
<div class="btns">
<el-button type="primary" size="small" @click="openEditForm"
- style="">淇妗f</el-button>
+ >淇妗f</el-button
+ >
<el-button type="primary" size="small" @click="dialogVisible1 = true"
- style="">娣诲姞闄勪欢</el-button>
- <el-button type="primary" v-if="isPermission('showDeviceQrCodeButton')" size="small" @click="deviceDialog = true"
- style="">鏌ョ湅璁惧浜岀淮鐮�</el-button>
+ >娣诲姞闄勪欢</el-button
+ >
+ <el-button
+ type="primary"
+ v-if="isPermission('showDeviceQrCodeButton')"
+ size="small"
+ @click="deviceDialog = true"
+ >鏌ョ湅璁惧浜岀淮鐮�</el-button
+ >
<el-button type="primary" size="small" @click="handleDownOne"
- style="">瀵煎嚭</el-button>
+ >瀵煎嚭</el-button
+ >
</div>
</div>
<el-divider></el-divider>
@@ -19,8 +27,12 @@
<el-row :gutter="20">
<el-col :span="6">
<!-- 鍔犳椂闂存埑閬垮厤娴忚鍣ㄧ紦瀛橀棶棰� -->
- <el-image :src="`${javaApi}/img/${Mdata.imageUpload}`" fit="fill" :key="'personalPicture' + timeStamp"
- style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;">
+ <el-image
+ :src="`${javaApi}/img/${Mdata.imageUpload}`"
+ fit="fill"
+ :key="'personalPicture' + timeStamp"
+ style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;"
+ >
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline" style="font-size: 40px;"></i>
</div>
@@ -30,11 +42,8 @@
<div class="form-item">
<label>璁惧鍚嶇О</label>
<!-- <p>{{ Mdata.deviceName }}</p> -->
- <el-tooltip
- class="item"
- :content="Mdata.deviceName"
- >
- <span class="text-ellipsis" >{{ Mdata.deviceName }}</span>
+ <el-tooltip class="item" :content="Mdata.deviceName">
+ <span class="text-ellipsis">{{ Mdata.deviceName }}</span>
</el-tooltip>
</div>
<div class="form-item">
@@ -53,16 +62,13 @@
<div class="form-item">
<label>鐢熶骇鍘傚</label>
<!-- <p>{{ Mdata.manufacturer }}</p> -->
- <el-tooltip
- class="item"
- :content="Mdata.manufacturer"
- >
- <span class="text-ellipsis" >{{ Mdata.manufacturer }}</span>
+ <el-tooltip class="item" :content="Mdata.manufacturer">
+ <span class="text-ellipsis">{{ Mdata.manufacturer }}</span>
</el-tooltip>
</div>
<div class="form-item">
<label>璧勪骇缂栫爜</label>
- <p class="text-ellipsis">{{ Mdata.assetCode }}</p>
+ <p class="text-ellipsis">{{ Mdata.assetCode }}</p>
</div>
<div class="form-item">
@@ -70,7 +76,7 @@
<p>{{ Mdata.acquisitionDate | formaterDateTime }}</p>
</div>
<div class="form-item">
- <label>鍚敤鏃ユ湡</label>
+ <label>鏍″噯鏈夋晥鏈�</label>
<p>{{ Mdata.activationDate | formaterDateTime }}</p>
</div>
<div class="form-item">
@@ -84,10 +90,7 @@
</div>
<div class="form-item">
<label>鍑嗙‘搴﹂噺鍊�</label>
- <el-tooltip
- class="item"
- :content="Mdata.technicalIndicators"
- >
+ <el-tooltip class="item" :content="Mdata.technicalIndicators">
<span class="text-ellipsis">{{ Mdata.technicalIndicators }}</span>
</el-tooltip>
<!-- <p>{{ Mdata.technicalIndicators }}</p> -->
@@ -100,7 +103,6 @@
<label>琚巿鏉冧汉</label>
<p>{{ Mdata.authorizedPersonName }}</p>
</div>
-
</el-col>
<el-col :span="10">
<div class="form-item">
@@ -116,13 +118,24 @@
<p>{{ Mdata.factoryNo }}</p>
</div>
<div class="form-items">
- <label>璁惧鐘舵��</label>
- <el-radio-group v-model="Mdata.deviceStatus" style="margin-left: 10px;">
- <el-radio :label="0" :disabled="Mdata.deviceStatus != 0">姝e父</el-radio>
- <el-radio :label="1" :disabled="Mdata.deviceStatus != 1">缁翠慨</el-radio>
- <el-radio :label="2" :disabled="Mdata.deviceStatus != 2">鍋滅敤</el-radio>
- <el-radio :label="3" :disabled="Mdata.deviceStatus != 3">鎶ュ簾</el-radio>
- </el-radio-group>
+ <label>璁惧鐘舵��</label>
+ <el-radio-group
+ v-model="Mdata.deviceStatus"
+ style="margin-left: 10px;"
+ >
+ <el-radio :label="0" :disabled="Mdata.deviceStatus != 0"
+ >姝e父</el-radio
+ >
+ <el-radio :label="1" :disabled="Mdata.deviceStatus != 1"
+ >缁翠慨</el-radio
+ >
+ <el-radio :label="2" :disabled="Mdata.deviceStatus != 2"
+ >鍋滅敤</el-radio
+ >
+ <el-radio :label="3" :disabled="Mdata.deviceStatus != 3"
+ >鎶ュ簾</el-radio
+ >
+ </el-radio-group>
</div>
<div class="form-item">
<label>瀛樻斁鐐�</label>
@@ -140,7 +153,7 @@
:content="Mdata.insProductItem"
placement="top"
>
- <span class="text-ellipsis" >{{ Mdata.insProductItem }}</span>
+ <span class="text-ellipsis">{{ Mdata.insProductItem }}</span>
</el-tooltip>
</div>
<div class="form-item">
@@ -149,16 +162,16 @@
</div>
<div class="form-item">
- <label>鏈�杩戞函婧愭棩鏈�</label>
+ <label>鏈�杩戞牎鍑嗘棩鏈�</label>
<p>{{ Mdata.lastCalibrationDate | formaterDateTime }}</p>
+ </div>
+ <div class="form-item">
+ <label>涓嬫鏍″噯鏃ユ湡</label>
+ <p>{{ Mdata.nextCalibrationDate | formaterDateTime }}</p>
</div>
<div class="form-item">
<label>閲囪喘璐圭敤(鍏�)</label>
<p>{{ Mdata.unitPrice }}</p>
- </div>
- <div class="form-item">
- <label>鍋滅敤鏃堕棿</label>
- <p>{{ Mdata.nextCalibrationDate | formaterDateTime }}</p>
</div>
<div class="form-item">
<label>璁惧璐熻矗浜�</label>
@@ -174,12 +187,27 @@
</div>
</el-col>
</el-row>
- <h4 style="margin-bottom: 10px;margin-top: 10px;"><span class="line"></span><span>闄勪欢鍜岀浉鍏虫枃妗�</span></h4>
+ <h4 style="margin-bottom: 10px;margin-top: 10px;">
+ <span class="line"></span><span>闄勪欢鍜岀浉鍏虫枃妗�</span>
+ </h4>
<el-table height="200px" :data="tableDataA">
- <el-table-column header-align="center" align="center" prop="prop" label="搴忓彿" type="index" width="60" />
+ <el-table-column
+ header-align="center"
+ align="center"
+ prop="prop"
+ label="搴忓彿"
+ type="index"
+ width="60"
+ />
<el-table-column prop="documentType" label="绫诲瀷" min-width="100">
<template v-slot="scope">
- {{ scope.row.documentType === '0' ? '闄勪欢' : scope.row.documentType === '1' ? '鏂囨。' : '' }}
+ {{
+ scope.row.documentType === "0"
+ ? "闄勪欢"
+ : scope.row.documentType === "1"
+ ? "鏂囨。"
+ : ""
+ }}
</template>
</el-table-column>
<el-table-column prop="name" label="鍚嶇О" min-width="150" />
@@ -192,55 +220,110 @@
<el-table-column prop="comments" label="澶囨敞" min-width="150" />
<el-table-column fixed="right" label="鎿嶄綔" min-width="180">
<template slot-scope="scope">
- <el-button type="text" size="small" @click="handleAttachmentClick(scope.row)">涓嬭浇闄勪欢</el-button>
- <el-button type="text" size="small" @click="handleViewClick(scope.row)">鏌ョ湅</el-button>
- <el-button type="text" size="small" @click="handleDeleteClick(scope.row)">鍒犻櫎</el-button>
+ <el-button
+ type="text"
+ size="small"
+ @click="handleAttachmentClick(scope.row)"
+ >涓嬭浇闄勪欢</el-button
+ >
+ <el-button
+ type="text"
+ size="small"
+ @click="handleViewClick(scope.row)"
+ >鏌ョ湅</el-button
+ >
+ <el-button
+ type="text"
+ size="small"
+ @click="handleDeleteClick(scope.row)"
+ >鍒犻櫎</el-button
+ >
</template>
</el-table-column>
</el-table>
</div>
<!-- 淇 -->
- <el-dialog title="淇妗f" top="5vh" :visible.sync="dialogVisible" width="70%" @open="openFileRevisionDialog"
- :before-close="handleClose">
- <el-row style="display:flex;justify-content: space-around;">
+ <el-dialog
+ title="妗f淇"
+ top="5vh"
+ :visible.sync="dialogVisible"
+ width="70%"
+ @open="openFileRevisionDialog"
+ :before-close="handleClose"
+ >
+ <el-row
+ style="display:flex;justify-content: space-around;max-height: 75vh;overflow-y: auto;"
+ >
<!-- 宸﹁竟甯冨眬 -->
<el-col :span="7">
<el-col>
<!-- 鍥剧墖 -->
- <el-image class="img" style="width:100%;height: 320px;margin-bottom:16px"
- :src="javaApi + '/img/' + editData.imageUpload">
- <div slot="error" class="image-error" style="width: calc(100% -2px);
+ <el-image
+ class="img"
+ style="width:100%;height: 320px;margin-bottom:16px"
+ :src="javaApi + '/img/' + editData.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>
+ border: 1px solid #EEEEEE;"
+ >
+ <i
+ class="el-icon-picture-outline"
+ style="font-size:60px;color:#666666;"
+ ></i>
</div>
</el-image>
<!-- 琛ㄥ崟 -->
- <el-form :model="editData" label-width="120px" ref="rules1" :rules="rules1">
+ <el-form
+ :model="editData"
+ label-width="120px"
+ ref="rules1"
+ :rules="rules1"
+ >
<el-form-item label="浠櫒鍚嶇О:" prop="deviceName">
<el-input v-model="editData.deviceName" size="small"></el-input>
</el-form-item>
<el-form-item label="浠櫒鍚嶇ОEN:" prop="enDeviceName">
- <el-input v-model="editData.enDeviceName" size="small"></el-input>
+ <el-input
+ v-model="editData.enDeviceName"
+ size="small"
+ ></el-input>
</el-form-item>
<el-form-item label="瑙勬牸鍨嬪彿:" prop="specificationModel">
- <el-input v-model="editData.specificationModel" size="small"></el-input>
+ <el-input
+ v-model="editData.specificationModel"
+ size="small"
+ ></el-input>
</el-form-item>
<el-form-item label="鐢熶骇鍘傚:">
- <el-input v-model="editData.manufacturer" size="small"></el-input>
+ <el-input
+ v-model="editData.manufacturer"
+ size="small"
+ ></el-input>
</el-form-item>
</el-form>
</el-col>
</el-col>
<!-- 涓棿甯冨眬 -->
<el-col :span="7">
- <el-form :model="editData" label-width="116px" ref="rules2" :rules="rules1">
+ <el-form
+ :model="editData"
+ label-width="116px"
+ ref="rules2"
+ :rules="rules1"
+ >
<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
- <el-input v-model="editData.calibrationServices" disabled size="small"></el-input>
+ <el-input
+ v-model="editData.calibrationServices"
+ size="small"
+ ></el-input>
</el-form-item>
<el-form-item label="璧勪骇缂栫爜:">
<el-input v-model="editData.assetCode" size="small"></el-input>
@@ -252,21 +335,48 @@
<el-input v-model="editData.factoryNo" size="small"></el-input>
</el-form-item>
<el-form-item label="绠$悊缂栧彿:" prop="managementNumber">
- <el-input v-model="editData.managementNumber" size="small"></el-input>
+ <el-input
+ v-model="editData.managementNumber"
+ size="small"
+ ></el-input>
</el-form-item>
<el-form-item label="璐疆鏃ユ湡:">
- <el-date-picker style="width:100%" v-model="editData.acquisitionDate" type="date" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+ <el-date-picker
+ style="width:100%"
+ v-model="editData.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="鍚敤鏃ユ湡:" prop="activationDate">
- <el-date-picker style="width:100%" v-model="editData.activationDate" type="date" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="鏍″噯鏈夋晥鏈�:" prop="activationDate">
+ <el-date-picker
+ style="width:100%"
+ v-model="editData.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="editData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
- <el-option v-for="item in responsiblePersonList" :key="item.name" :label="item.name" :value="item.id">
+ <el-select
+ v-model="editData.equipmentManager"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width:100%"
+ >
+ <el-option
+ v-for="item in responsiblePersonList"
+ :key="item.name"
+ :label="item.name"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -274,39 +384,92 @@
<el-input v-model="editData.storagePoint" size="small"></el-input>
</el-form-item>
<el-form-item label="鎶�鏈寚鏍�:">
- <el-input v-model="editData.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
+ <el-input
+ v-model="editData.technicalIndicators"
+ :rows="7"
+ type="textarea"
+ size="small"
+ ></el-input>
</el-form-item>
</el-form>
</el-col>
<!-- 鍙宠竟甯冨眬 -->
<el-col :span="7">
- <el-form :model="editData" label-width="140px" ref="ruleForm" :rules="rules1">
+ <el-form
+ :model="editData"
+ label-width="140px"
+ ref="ruleForm"
+ :rules="rules1"
+ >
<!-- 瀹為獙瀹ゅ垪琛� -->
<el-form-item label="鎵�灞為儴闂�:">
- <el-select v-model="editData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
- <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
- :value="item.value">
+ <el-select
+ v-model="editData.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="editData.insProductIds" :options="options" :show-all-levels="false" :props="props"
- placeholder="璇烽�夋嫨" size="small" style="width:100%;" :collapse-tags="true" separator="," filterable
- clearable></el-cascader>
+ <el-cascader
+ v-model="editData.insProductIds"
+ :options="options"
+ :show-all-levels="false"
+ :props="props"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width:100%;"
+ :collapse-tags="true"
+ separator=","
+ filterable
+ clearable
+ ></el-cascader>
</el-form-item>
- <!-- <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
- <el-date-picker style="width:100%" v-model="Mdata.latestTraceability" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
+ <el-date-picker
+ style="width:100%"
+ v-model="editData.lastCalibrationDate"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="date"
+ size="small"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
</el-date-picker>
- </el-form-item> -->
- <!-- <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
- <el-date-picker style="width:100%" v-model="Mdata.nextCalibrationDate" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd HH:mm:ss" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+ </el-form-item>
+ <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
+ <el-date-picker
+ style="width:100%"
+ v-model="editData.nextCalibrationDate"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="date"
+ size="small"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
</el-date-picker>
- </el-form-item> -->
+ </el-form-item>
<el-form-item label="璁惧绫诲瀷:">
- <el-select v-model="editData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
- <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value">
+ <el-select
+ v-model="editData.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>
@@ -314,17 +477,41 @@
<el-input v-model="editData.unitPrice" size="small"></el-input>
</el-form-item>
<el-form-item label="褰撳墠鐘舵��:" prop="deviceStatus">
- <el-select v-model="editData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
- <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
+ <el-select
+ v-model="editData.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="鏍″噯鍛ㄦ湡锛堟湀锛�:" prop="calibrationDate">
- <el-input v-model="editData.calibrationDate" size="small"></el-input>
+ <el-input
+ v-model="editData.calibrationDate"
+ size="small"
+ ></el-input>
</el-form-item>
<el-form-item label="琚巿鏉冧汉:">
- <el-select v-model="editData.authorizedPerson" multiple placeholder="璇烽�夋嫨" size="small" style="width:100%">
- <el-option v-for="item in responsiblePersonList" :key="item.name" :label="item.name" :value="item.id">
+ <el-select
+ v-model="editData.authorizedPerson"
+ multiple
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width:100%"
+ >
+ <el-option
+ v-for="item in responsiblePersonList"
+ :key="item.name"
+ :label="item.name"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -340,12 +527,25 @@
</div> -->
<div>
- <div v-show="editData.imageName" class="picName">{{ editData.imageName }}</div>
- <el-upload :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' class="avatar-uploader"
- >
- <img v-if="editData.imageUpload" :src="javaApi + '/img/' + editData.imageUpload" class="avatar">
+ <div v-show="editData.imageName" class="picName">
+ {{ editData.imageName }}
+ </div>
+ <el-upload
+ :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"
+ class="avatar-uploader"
+ >
+ <img
+ v-if="editData.imageUpload"
+ :src="javaApi + '/img/' + editData.imageUpload"
+ class="avatar"
+ />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
@@ -356,11 +556,19 @@
<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-button type="primary" @click="submitForm" :loading="upLoad"
+ >纭� 瀹�</el-button
+ >
</el-row>
</span>
</el-dialog>
- <el-dialog title="娣诲姞璁惧闄勪欢" top="5vh" v-if="dialogVisible1" :visible.sync="dialogVisible1" width="40%">
+ <el-dialog
+ title="娣诲姞璁惧闄勪欢"
+ top="5vh"
+ v-if="dialogVisible1"
+ :visible.sync="dialogVisible1"
+ width="40%"
+ >
<el-form ref="form" :model="addFile" label-width="120px">
<el-row :gutter="20">
<el-col :span="12">
@@ -373,52 +581,107 @@
</el-col>
<el-col :span="12">
<el-form-item label="妗f鍚嶇О锛�">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.name"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="addFile.name"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="搴撳彿/璧勪骇缂栧彿:">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.number"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="addFile.number"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鐗堟湰锛�">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.version"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="addFile.version"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="浠芥暟锛�">
- <el-input-number v-model="addFile.quantity" controls-position="right" style="width: 100%;" size="small"
- :min="0" :max="10"></el-input-number>
+ <el-input-number
+ v-model="addFile.quantity"
+ controls-position="right"
+ style="width: 100%;"
+ size="small"
+ :min="0"
+ :max="10"
+ ></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="椤电爜锛�">
- <el-input-number v-model="addFile.pageCount" controls-position="right" style="width: 100%;" size="small"
- :min="0" :max="10"></el-input-number>
+ <el-input-number
+ v-model="addFile.pageCount"
+ controls-position="right"
+ style="width: 100%;"
+ size="small"
+ :min="0"
+ :max="10"
+ ></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鎻愪緵鑰咃細">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.provider"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="addFile.provider"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="褰掓。鏃ユ湡锛�">
- <el-date-picker type="date" style="width:100%" placeholder="璇烽�夋嫨鏃ユ湡" size="small" v-model="addFile.archiveDate"
- format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ <el-date-picker
+ type="date"
+ style="width:100%"
+ placeholder="璇烽�夋嫨鏃ユ湡"
+ size="small"
+ v-model="addFile.archiveDate"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ ></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="澶囨敞锛�">
- <el-input type="textarea" :rows="2" size="small" v-model="addFile.comments"></el-input>
+ <el-input
+ type="textarea"
+ :rows="2"
+ size="small"
+ v-model="addFile.comments"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="闄勪欢锛�" style="float: left;">
- <el-upload class="upload-demo" :action="action" :headers="headers" ref="uploadFile" :on-error="onError"
- :on-remove="handleRemove" :on-success="onSuccess" :before-remove="beforeRemove" multiple :limit="1"
- :on-exceed="handleExceed" :file-list="fileList">
+ <el-upload
+ class="upload-demo"
+ :action="action"
+ :headers="headers"
+ ref="uploadFile"
+ :on-error="onError"
+ :on-remove="handleRemove"
+ :on-success="onSuccess"
+ :before-remove="beforeRemove"
+ multiple
+ :limit="1"
+ :on-exceed="handleExceed"
+ :file-list="fileList"
+ >
<el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
</el-upload>
</el-form-item>
@@ -427,36 +690,56 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-row>
- <el-button @click="dialogVisible1 = false" size="small">鍙� 娑�</el-button>
- <el-button type="primary" @click="saveRecord" size="small" :loading="isLoading">{{ isAddFileUpdate == true ?
- '鏇存柊' :
- '纭� 瀹�' }}</el-button>
+ <el-button @click="dialogVisible1 = false" size="small"
+ >鍙� 娑�</el-button
+ >
+ <el-button
+ type="primary"
+ @click="saveRecord"
+ size="small"
+ :loading="isLoading"
+ >{{ isAddFileUpdate == true ? "鏇存柊" : "纭� 瀹�" }}</el-button
+ >
</el-row>
</span>
</el-dialog>
<el-dialog
title="璁惧浜岀淮鐮�"
:visible.sync="deviceDialog"
- top="5vh"
- width="30%">
+ top="5vh"
+ width="30%"
+ >
<div style="width:90%;text-align: right;">
- <el-button type="primary" size="mini" @click="clickGeneratePicture">涓嬭浇鍥剧墖</el-button>
- <el-button type="primary" size="mini" @click="labelPrint">鏍囩鎵撳嵃</el-button>
+ <el-button type="primary" size="mini" @click="clickGeneratePicture"
+ >涓嬭浇鍥剧墖</el-button
+ >
+ <el-button type="primary" size="mini" @click="labelPrint"
+ >鏍囩鎵撳嵃</el-button
+ >
</div>
<div class="device-main" ref="deviceQrCode" id="deviceCode">
- <div class="device-center" >
- <p class="device-title">{{Mdata.deviceName}}</p>
+ <div class="device-center">
+ <p class="device-title">{{ Mdata.deviceName }}</p>
<div class="device-footer">
<div>
- <vueQr class="qr-code" :text="'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code='+Mdata.managementNumber+'&type=device'" :size="200" :margin="10"></vueQr>
+ <vueQr
+ class="qr-code"
+ :text="
+ 'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=' +
+ Mdata.managementNumber +
+ '&type=device'
+ "
+ :size="200"
+ :margin="10"
+ ></vueQr>
</div>
<div class="device-number">
<span class="device-text">璁惧缂栫爜:</span>
- <span class="device-text">{{Mdata.managementNumber}}</span>
+ <span class="device-text">{{ Mdata.managementNumber }}</span>
</div>
<div class="device-name">
<span class="device-text">璁惧鍨嬪彿:</span>
- <span class="device-text">{{Mdata.specificationModel}}</span>
+ <span class="device-text">{{ Mdata.specificationModel }}</span>
</div>
</div>
</div>
@@ -466,20 +749,20 @@
</template>
<script>
-import { MessageBox } from 'element-ui'
-import ValueTable from '../../tool/value-table.vue'
-import fileDownload from '../../../util/file'
-import vueQr from 'vue-qr'
-import PrintJS from 'print-js'
-import domtoimage from 'dom-to-image';
-import {isPermission} from '../../../util/auth'
+import { MessageBox } from "element-ui";
+import ValueTable from "../../tool/value-table.vue";
+import fileDownload from "../../../util/file";
+import vueQr from "vue-qr";
+import PrintJS from "print-js";
+import domtoimage from "dom-to-image";
+import { isPermission } from "../../../util/auth";
export default {
- filters:{
- formaterDateTime(dateTime){
- if(dateTime === undefined || dateTime === null || dateTime === ''){
- return dateTime
+ filters: {
+ formaterDateTime(dateTime) {
+ if (dateTime === undefined || dateTime === null || dateTime === "") {
+ return dateTime;
}
- return dateTime.split(" ")[0]
+ return dateTime.split(" ")[0];
}
},
props: {
@@ -496,40 +779,40 @@
},
data() {
return {
- isPermission:isPermission,
- deviceDialog: false,//鏌ョ湅璁惧浜岀淮鐮佸脊妗�
+ isPermission: isPermission,
+ deviceDialog: false, //鏌ョ湅璁惧浜岀淮鐮佸脊妗�
rules1: {
deviceName: [
- { required: true, message: '璇疯緭鍏ヤ华鍣ㄥ悕绉�', trigger: 'blur' },
- ],
- enDeviceName: [
- { required: true, message: '璇疯緭鍏ヤ华鍣ㄥ悕绉癊N', trigger: 'blur' },
- ],
- specificationModel: [
- { required: true, message: '璇疯緭鍏ヨ鏍煎瀷鍙�', trigger: 'blur' },
- ],
- managementNumber: [
- { required: true, message: '璇疯緭鍏ョ鐞嗙紪鍙�', trigger: 'blur' },
- ],
- activationDate: [
- { required: true, message: '璇疯緭鍏ュ惎鐢ㄦ棩鏈�', trigger: 'blur' },
- ],
- deviceStatus: [
- { required: true, message: '璇疯緭鍏ュ綋鍓嶇姸鎬�', trigger: 'blur' },
- ],
- calibrationDate: [
- { required: true, message: '璇疯緭鍏ユ牎鍑嗗懆鏈�(鏈�)', trigger: 'blur' },
- ],
+ { required: true, message: "璇疯緭鍏ヤ华鍣ㄥ悕绉�", trigger: "blur" }
+ ],
+ enDeviceName: [
+ { required: true, message: "璇疯緭鍏ヤ华鍣ㄥ悕绉癊N", trigger: "blur" }
+ ],
+ specificationModel: [
+ { required: true, message: "璇疯緭鍏ヨ鏍煎瀷鍙�", trigger: "blur" }
+ ],
+ managementNumber: [
+ { required: true, message: "璇疯緭鍏ョ鐞嗙紪鍙�", trigger: "blur" }
+ ],
+ activationDate: [
+ { required: true, message: "璇疯緭鍏ユ牎鍑嗘湁鏁堟湡", trigger: "blur" }
+ ],
+ deviceStatus: [
+ { required: true, message: "璇疯緭鍏ュ綋鍓嶇姸鎬�", trigger: "blur" }
+ ],
+ calibrationDate: [
+ { required: true, message: "璇疯緭鍏ユ牎鍑嗗懆鏈�(鏈�)", trigger: "blur" }
+ ]
},
// dateForm: {
// },
fileList: [], // 娣诲姞闄勪欢涓婁紶鏂囦欢鍒楄〃
- timeStamp: '', // 缁欏浘鐗囨坊鍔爇ey锛屽湪姣忔鍔犺浇椤甸潰鐨勬椂鍊欐柊寤烘椂闂存埑
+ timeStamp: "", // 缁欏浘鐗囨坊鍔爇ey锛屽湪姣忔鍔犺浇椤甸潰鐨勬椂鍊欐柊寤烘椂闂存埑
equipmentManager: [],
- formLabelWidth: '100px',
+ formLabelWidth: "100px",
dialogVisible1: false,
- recordNumber: '',
+ recordNumber: "",
inLoading: false, // 鎺у埗涓婁紶鎸夐挳鍔犺浇鐘舵��
isLoading: false, // 鎺у埗纭畾鎸夐挳鍔犺浇鐘舵��
formData: {},
@@ -537,17 +820,17 @@
num: 1,
//娣诲姞闄勪欢鏁版嵁鏀堕泦
addFile: {
- documentType: '', // 缁存姢绫诲瀷
+ documentType: "", // 缁存姢绫诲瀷
archiveDate: null, // 褰掓。鏃ユ湡
- name: '', // 妗f鍚嶇О
- number: '', // 搴撳彿/璧勪骇缂栧彿
- version: '', // 鐗堟湰
+ name: "", // 妗f鍚嶇О
+ number: "", // 搴撳彿/璧勪骇缂栧彿
+ version: "", // 鐗堟湰
quantity: 1, // 浠芥暟
pageCount: 1, // 椤电爜
- provider: '', // 鎻愪緵鑰�
+ provider: "", // 鎻愪緵鑰�
comments: "", // 澶囨敞
fileName: "", // 鏂囦欢鍘熷悕绉�
- systemFileName: "", // 绯荤粺鐢熸垚鍚嶇О
+ systemFileName: "" // 绯荤粺鐢熸垚鍚嶇О
},
componentData: {
entity: { name: "", orderBy: { field: "id", order: "asc" } },
@@ -555,361 +838,399 @@
},
upIndex: 0,
dialogVisible: false,
- dialogVisible1: false,
- inLoading: false,
upLoad: false,
responsiblePersonList: [],
subordinateDepartmentsList: [],
options: [],
equipmentList: [],
deviceStatusList: [],
- props: { multiple: true, emitPath: false, value: 'id', label: 'name' },
+ props: { multiple: true, emitPath: false, value: "id", label: "name" },
// 鏀堕泦璁惧妗f鏁版嵁
Mdata: {
deviceName: null
},
isAddFileUpdate: false,
editData: {
- authorizedPerson: [],
- },
- }
+ authorizedPerson: []
+ }
+ };
},
computed: {
headers() {
return {
- 'token': sessionStorage.getItem('token')
- }
+ token: sessionStorage.getItem("token")
+ };
},
action() {
- return this.javaApi + this.$api.deviceScope.uploadFile
+ return this.javaApi + this.$api.deviceScope.uploadFile;
}
},
mounted() {
// 鏀堕泦鏁版嵁
- this.getList(this.clickNodeVal.value)
+ this.getList(this.clickNodeVal.value);
// 鑾峰彇鐩稿叧鏂囨。鐨勬暟鎹�
- this.getPage()
- this.timeStamp = Date.now()
+ this.getPage();
+ this.timeStamp = Date.now();
},
methods: {
- /**
+ /**
* 灏嗛〉闈㈡寚瀹氳妭鐐瑰唴瀹硅浆涓哄浘鐗�
* 1.鎷垮埌鎯宠杞崲涓哄浘鐗囩殑鍐呭鑺傜偣DOM锛�
* 2.杞崲锛屾嬁鍒拌浆鎹㈠悗鐨刢anvas
* 3.杞崲涓哄浘鐗�
*/
- clickGeneratePicture() {
- const _than = this
- domtoimage.toPng(_than.$refs.deviceQrCode,{ quality: 1,width:440,}).then(function (dataUrl) {
- // 灏嗚浆鎹㈠悗鐨勫浘鍍忔暟鎹瓨鍌ㄤ负 data URL
- fileDownload.downloadIamge(dataUrl,_than.Mdata.deviceName)
- });
+ clickGeneratePicture() {
+ const _than = this;
+ domtoimage
+ .toPng(_than.$refs.deviceQrCode, { quality: 1, width: 440 })
+ .then(function(dataUrl) {
+ // 灏嗚浆鎹㈠悗鐨勫浘鍍忔暟鎹瓨鍌ㄤ负 data URL
+ fileDownload.downloadIamge(dataUrl, _than.Mdata.deviceName);
+ });
},
//鎵撳嵃璁惧浜岀淮鐮�
- labelPrint(){
+ labelPrint() {
PrintJS({
- printable: 'deviceCode',//椤甸潰
- type: "html",//鏂囨。绫诲瀷
- maxWidth:360,
- css: ['/static/css/device-print.css'],
- style: '@page { size: auto; margin: 0mm;}',
- targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
- });
+ printable: "deviceCode", //椤甸潰
+ type: "html", //鏂囨。绫诲瀷
+ maxWidth: 360,
+ css: ["/static/css/device-print.css"],
+ style: "@page { size: auto; margin: 0mm;}",
+ targetStyles: ["*"] // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
+ });
},
openFileRevisionDialog() {
// 鑾峰彇妗f淇璐熻矗浜轰笅鎷夋鏁版嵁
- this.selectDevicePrincipal()
+ this.selectDevicePrincipal();
// 鑾峰彇妗f淇鎵�灞為儴闂ㄤ笅鎷夋鏁版嵁
- this.obtainItemParameterList()
+ this.obtainItemParameterList();
// 鑾峰彇妗f淇璁惧鐘舵�佷笅鎷夋鏁版嵁
- this.selectEnumByCategory()
+ this.selectEnumByCategory();
// 鑾峰彇妗f淇妫�楠岄」鐩骇鑱斿脊妗嗘暟鎹�
- this.getInsProductIds()
+ this.getInsProductIds();
},
//闄勪欢鍜岀浉鍏虫枃妗d簨浠�
handleAttachmentClick(row) {
- console.log(row)
- if (row.fileName && row.documentType == 0) {
- const fileUrl = this.javaApi + '/img/' + row.fileName;
- fileDownload.downloadIamge(fileUrl, row.systemFileName)
- } else if (row.fileName && row.documentType == 1) {
- const url = this.javaApi+'/word/'+ row.fileName
- const link = document.createElement('a');
- link.href = url;
- link.download = row.fileName;
- link.click();
- this.$message.success('涓嬭浇鎴愬姛')
+ console.log(row);
+ if (row.fileName) {
+ let state = /\.(jpg|jpeg|png|gif)$/i.test(row.fileName);
+ if (state) {
+ let url = this.javaApi + "/img/" + row.fileName;
+ fileDownload.downloadIamge(url, row.fileName);
+ } else {
+ const url = this.javaApi + "/word/" + row.fileName;
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = row.fileName;
+ link.click();
+ this.$message.success("涓嬭浇鎴愬姛");
+ }
} else {
- this.$message.warning('鏈笂浼犳枃浠讹紒')
+ this.$message.warning("鏈笂浼犳枃浠讹紒");
}
},
handleViewClick(row) {
- this.isAddFileUpdate = true
- this.addFile = { ...row }
- this.dialogVisible1 = true
+ this.isAddFileUpdate = true;
+ this.addFile = { ...row };
+ this.dialogVisible1 = true;
if (row.fileName) {
const obj = Object.assign({
name: row.fileName,
url: row.fileName,
- status: 'success',
- uid: Date.now(),
- })
- this.fileList.push(obj)
+ status: "success",
+ uid: Date.now()
+ });
+ this.fileList.push(obj);
}
},
handleDeleteClick(row) {
// 鍒犻櫎閫昏緫
- MessageBox.confirm('纭畾瑕佸垹闄よ璁板綍鍚楋紵', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning',
- }).then(() => {
- this.$axios.delete(this.$api.getDocuments.list + "/" + row.id).then(res => {
- if (res.code == 200) {
- this.$message.success('鍒犻櫎鎴愬姛')
- this.getPage()
- }
- })
- }).catch(() => {
- this.$message.info('宸插彇娑堝垹闄�')
+ MessageBox.confirm("纭畾瑕佸垹闄よ璁板綍鍚楋紵", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
})
+ .then(() => {
+ this.$axios
+ .delete(this.$api.getDocuments.list + "/" + row.id)
+ .then(res => {
+ if (res.code == 200) {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.getPage();
+ }
+ });
+ })
+ .catch(() => {
+ this.$message.info("宸插彇娑堝垹闄�");
+ });
},
saveRecord() {
//杞崲鏁版嵁
- this.addFile.deviceId = this.clickNodeVal.value
- let obj= this.addFile.systemFileName
- this.addFile.systemFileName = obj.name
- this.addFile.fileName = obj.url
+ this.addFile.deviceId = this.clickNodeVal.value;
+ let obj = this.addFile.systemFileName;
+ if (obj) {
+ this.addFile.systemFileName = obj.name;
+ this.addFile.fileName = obj.url;
+ }
// 鏇存柊
if (this.isAddFileUpdate) {
- this.$axios.put(this.$api.getDocuments.updateDocument, this.addFile, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- if (res.code == 200) {
- this.$message.success('鏇存柊鎴愬姛')
- this.dialogVisible1 = false;
- this.getPage()
- }
- })
+ this.$axios
+ .put(this.$api.getDocuments.updateDocument, this.addFile, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ .then(res => {
+ if (res.code == 200) {
+ this.$message.success("鏇存柊鎴愬姛");
+ this.dialogVisible1 = false;
+ this.getPage();
+ }
+ });
} else {
// 鏂板
- this.$axios.post(this.$api.getDocuments.list, this.addFile).then(res => {
- if (res.code == 200) {
- this.$message.success('淇濆瓨鎴愬姛')
- this.dialogVisible1 = false;
- this.getPage()
- }
- })
+ this.$axios
+ .post(this.$api.getDocuments.list, this.addFile)
+ .then(res => {
+ if (res.code == 200) {
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.dialogVisible1 = false;
+ this.getPage();
+ }
+ });
}
},
onSuccess(response, file, fileList) {
if (response.code == 200) {
- this.addFile.systemFileName = response.data
- this.addFile.fileName = file.name
+ this.addFile.systemFileName = response.data;
+ this.addFile.fileName = file.name;
} else {
- this.$refs.uploadFile.clearFiles()
- this.$message.error('涓婁紶澶辫触锛�' + response.message)
+ this.$refs.uploadFile.clearFiles();
+ this.$message.error("涓婁紶澶辫触锛�" + response.message);
}
},
handleRemove(file, fileList) {
- this.deleteFile(this.addFile.systemFileName)
+ this.deleteFile(this.addFile.systemFileName);
},
deleteFile(fileName) {
- this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + fileName).then(res => {
- this.$message.success('鍒犻櫎鎴愬姛锛�')
- })
+ this.$axios
+ .delete(this.$api.personnel.deleteCNASFile + "?fileName=" + fileName)
+ .then(res => {
+ this.$message.success("鍒犻櫎鎴愬姛锛�");
+ });
},
handleExceed(files, fileList) {
- this.$message.warning(`褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
+ this.$message.warning(
+ `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${
+ files.length
+ } 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶
+ );
},
beforeRemove(file, fileList) {
return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋);
},
// 鑾峰彇鐩稿叧鏂囨。鏁版嵁鐨刟pi
getPage() {
- this.$axios.get(this.$api.getDocuments.get + "/" + this.clickNodeVal.value).then(res => {
- if (res.code == 200)
- this.tableDataA = res.data
- })
+ this.$axios
+ .get(this.$api.getDocuments.get + "/" + this.clickNodeVal.value)
+ .then(res => {
+ if (res.code == 200) this.tableDataA = res.data;
+ });
},
// 鏀堕泦鏁版嵁
getList(id) {
this.$axios
- .get(
- this.$api.deviceScope.selectDeviceByCode + "?id=" + id)
+ .get(this.$api.deviceScope.selectDeviceByCode + "?id=" + id)
.then(res => {
// 灏嗗垎绫诲垪琛ㄧ殑淇℃伅瀛樿捣鏉�
if (res.code == 200) {
this.Mdata = res.data;
- this.Mdata.insProductIds = this.Mdata.insProductIds.split(',')
- this.Mdata.authorizedPerson = JSON.parse(this.Mdata.authorizedPerson)
+ this.Mdata.insProductIds = this.Mdata.insProductIds.split(",");
+ if (this.Mdata.authorizedPerson) {
+ this.Mdata.authorizedPerson = JSON.parse(
+ this.Mdata.authorizedPerson
+ );
+ }
}
});
},
handleData(m) {
if (m) {
- return m
+ return m;
} else {
- return '-'
+ return "-";
}
},
handleClose() {
- this.dialogVisible = false
+ this.dialogVisible = false;
},
//鎵撳紑淇妗f寮规
- openEditForm(){
- this.editData = JSON.parse(JSON.stringify(this.Mdata))
- this.$nextTick(()=>{
- this.dialogVisible = true
- })
+ openEditForm() {
+ this.editData = JSON.parse(JSON.stringify(this.Mdata));
+ this.$nextTick(() => {
+ this.dialogVisible = true;
+ });
},
//淇妗f
submitForm() {
- let flag = true
- this.$refs['rules1'].validate((valid) => {
+ let flag = true;
+ this.$refs["rules1"].validate(valid => {
if (!valid) {
flag = false;
return false;
}
});
- this.$refs['rules2'].validate((valid) => {
+ this.$refs["rules2"].validate(valid => {
if (!valid) {
flag = false;
return false;
}
});
- this.$refs['ruleForm'].validate((valid) => {
+ this.$refs["ruleForm"].validate(valid => {
if (!valid) {
flag = false;
return false;
}
});
- if(!flag) {
+ if (!flag) {
return;
}
- delete this.editData.nextCalibrationDate
- delete this.editData.createTime
- delete this.editData.updateTime
- delete this.editData.createUser
- delete this.editData.updateUser
- delete this.editData.orderBy
- // this.Mdata.equipmentManager = 1;
-
- this.editData.userAllow = this.equipmentManager.toString();
- this.editData.insProductIds = Array.isArray(this.editData.insProductIds)
- ? this.editData.insProductIds.join(',')
- : '';
+ delete this.editData.createTime;
+ delete this.editData.updateTime;
+ delete this.editData.createUser;
+ delete this.editData.updateUser;
+ delete this.editData.orderBy;
+ const formData = this.HaveJson(this.editData);
+ formData.userAllow = this.equipmentManager.toString();
+ formData.insProductIds = Array.isArray(formData.insProductIds)
+ ? formData.insProductIds.join(",")
+ : "";
+ if (formData.authorizedPerson.length === 0) {
+ formData.authorizedPerson = "";
+ } else {
+ formData.authorizedPerson = JSON.stringify(formData.authorizedPerson);
+ }
this.upLoad = true;
- this.editData.authorizedPerson = JSON.stringify(this.editData.authorizedPerson)
- this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.editData, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- if (res.code === 201) {
- this.upLoad = false
- return
- }
- this.$message.success('淇敼鎴愬姛')
- this.upLoad = false
- this.getList(this.clickNodeVal.value)
- this.dialogVisible = false
- }).catch(e => {
- this.$message.error('淇敼澶辫触')
- this.dialogVisible = false
- this.upLoad = false
- })
+ this.$axios
+ .post(this.$api.deviceScope.upDeviceParameter, formData, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ .then(res => {
+ if (res.code === 201) {
+ this.upLoad = false;
+ return;
+ }
+ this.$message.success("淇敼鎴愬姛");
+ this.upLoad = false;
+ this.getList(this.clickNodeVal.value);
+ this.dialogVisible = false;
+ })
+ .catch(e => {
+ this.$message.error("淇敼澶辫触");
+ this.dialogVisible = false;
+ this.upLoad = false;
+ });
},
// 瀵煎嚭
handleDownOne(row) {
- this.outLoading = true
- this.$axios.get(this.$api.deviceCheck.exportDeviceFile + '?deviceId=' + this.clickNodeVal.value, {
- responseType: "blob"
- }).then(res => {
- this.outLoading = false
- const blob = new Blob([res], { type: 'application/octet-stream' });
- //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
- let reader = new FileReader();
- reader.readAsText(blob, 'utf-8');
- reader.onload = () => {
- try {
- let result = JSON.parse(reader.result);
- if (result.message) {
- this.$message.error(result.message);
- } else {
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.href = url;
- link.download = '璁惧妗f鍗�.doc';
- link.click();
- this.$message.success('瀵煎嚭鎴愬姛')
- }
- } catch (err) {
- console.log(err);
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.href = url;
- link.download = '璁惧妗f鍗�.doc';
- link.click();
- this.$message.success('瀵煎嚭鎴愬姛')
+ this.outLoading = true;
+ this.$axios
+ .get(
+ this.$api.deviceCheck.exportDeviceFile +
+ "?deviceId=" +
+ this.clickNodeVal.value,
+ {
+ responseType: "blob"
}
- }
- })
+ )
+ .then(res => {
+ this.outLoading = false;
+ const blob = new Blob([res], { type: "application/octet-stream" });
+ //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+ let reader = new FileReader();
+ reader.readAsText(blob, "utf-8");
+ reader.onload = () => {
+ try {
+ let result = JSON.parse(reader.result);
+ if (result.message) {
+ this.$message.error(result.message);
+ } else {
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = "璁惧妗f鍗�.doc";
+ link.click();
+ this.$message.success("瀵煎嚭鎴愬姛");
+ }
+ } catch (err) {
+ console.log(err);
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = "璁惧妗f鍗�.doc";
+ link.click();
+ this.$message.success("瀵煎嚭鎴愬姛");
+ }
+ };
+ });
},
handleSuccessUpImg2(response) {
if (response.code == 200) {
this.$nextTick(() => {
this.editData.imageUpload = response.data.url;
this.editData.imageName = response.data.name;
- console.log(this.javaApi + 'img/' + this.editData.imageUpload);
-
- })
+ console.log(this.javaApi + "img/" + this.editData.imageUpload);
+ });
}
},
beforeUpload(file) {
if (file.size > 1024 * 1024 * 10) {
- this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
- this.$refs.upload.clearFiles()
+ this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M");
+ this.$refs.upload.clearFiles();
return false;
} else {
return true;
}
},
onError(err, file, fileList) {
- this.$message.error('涓婁紶澶辫触')
- this.$refs.upload.clearFiles()
+ this.$message.error("涓婁紶澶辫触");
+ this.$refs.upload.clearFiles();
},
// 鑾峰彇璐熻矗浜哄垪琛�
selectDevicePrincipal() {
- this.$axios.post(this.$api.user.selectUserList, this.componentData, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- this.responsiblePersonList = res.data.body.records;
- })
+ this.$axios
+ .post(this.$api.user.selectUserList, this.componentData, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ .then(res => {
+ this.responsiblePersonList = res.data.body.records;
+ });
},
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
- })
+ 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;
+ });
},
getInsProductIds() {
this.$axios.post(this.$api.capacityScope.getInsProduction).then(res => {
this.options = res.data.map((m, i) => {
m.id = m.name;
- return m
- })
+ return m;
+ });
this.options.forEach(item => {
if (item.children.length == 0) {
item.children = null;
@@ -922,49 +1243,53 @@
if (n.children && n.children.length == 0) {
n.children = null;
}
- })
+ });
}
- })
+ });
}
- })
- })
+ });
+ });
},
// 鑾峰彇瀛楀吀
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.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "璁惧鐘舵��"
})
- })
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "璁惧鍒嗙被"
- }).then(res => {
- this.equipmentList = res.data
- })
- },
+ .then(res => {
+ this.deviceStatusList = res.data;
+ this.deviceStatusList.forEach(a => {
+ if (!isNaN(a.value)) {
+ a.value = parseInt(a.value);
+ }
+ });
+ });
+ this.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "璁惧鍒嗙被"
+ })
+ .then(res => {
+ this.equipmentList = res.data;
+ });
+ }
},
watch: {
// 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
clickNodeVal(newVal) {
if (newVal.value) {
- this.getList(newVal.value)
- this.getPage()
+ this.getList(newVal.value);
+ this.getPage();
}
},
dialogVisible1(newVal) {
if (newVal == false) {
- this.isAddFileUpdate = false
- this.addFile = {}
- this.fileList = []
+ this.isAddFileUpdate = false;
+ this.addFile = {};
+ this.fileList = [];
}
}
}
-}
+};
</script>
<style scoped>
@@ -994,7 +1319,7 @@
display: inline-block;
width: 3px;
height: 16px;
- background: #3A7BFA;
+ background: #3a7bfa;
margin-right: 4px;
}
@@ -1022,21 +1347,20 @@
.text-ellipsis {
display: inline-block;
- width: 200px; /* 鎴栬�呮偍鍙互璁剧疆涓�涓叿浣撶殑瀹藉害鍊� */
- box-sizing: border-box; /* 纭繚padding鍜宐order涓嶅奖鍝嶅厓绱犵殑鎬诲搴� */
- white-space: nowrap; /* 绂佹鏂囨湰鎹㈣ */
- text-overflow: ellipsis; /* 浣跨敤鐪佺暐鍙疯〃绀鸿鎴柇鐨勬枃鏈� */
- overflow: hidden; /* 闅愯棌瓒呭嚭瀹瑰櫒鐨勫唴瀹� */
+ width: 200px; /* 鎴栬�呮偍鍙互璁剧疆涓�涓叿浣撶殑瀹藉害鍊� */
+ box-sizing: border-box; /* 纭繚padding鍜宐order涓嶅奖鍝嶅厓绱犵殑鎬诲搴� */
+ white-space: nowrap; /* 绂佹鏂囨湰鎹㈣ */
+ text-overflow: ellipsis; /* 浣跨敤鐪佺暐鍙疯〃绀鸿鎴柇鐨勬枃鏈� */
+ overflow: hidden; /* 闅愯棌瓒呭嚭瀹瑰櫒鐨勫唴瀹� */
}
.form-items {
line-height: 34px;
- /* display: flex; */
+ /* display: flex; */
/* align-items: center; */
margin-left: 15%;
font-size: 14px;
}
-
.form-item label {
min-width: 130px;
@@ -1080,98 +1404,98 @@
}
.avatar-uploader .el-upload {
- border: 1px dashed #190505;
- border-radius: 6px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- }
- .avatar-uploader .el-upload:hover {
- border-color: #409EFF;
- }
- .avatar-uploader-icon {
- font-size: 28px;
- color: #8c939d;
- width: 178px;
- height: 178px;
- line-height: 178px;
- text-align: center;
- }
- .avatar {
- width: 178px;
- height: 178px;
- display: block;
- }
+ border: 1px dashed #190505;
+ border-radius: 6px;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+ border-color: #409eff;
+}
+.avatar-uploader-icon {
+ font-size: 28px;
+ color: #8c939d;
+ width: 178px;
+ height: 178px;
+ line-height: 178px;
+ text-align: center;
+}
+.avatar {
+ width: 178px;
+ height: 178px;
+ display: block;
+}
-.device-main{
- width:90%;
- margin:0px 5%;
- height:460px;
- padding:25px 0px;
+.device-main {
+ width: 90%;
+ margin: 0px 5%;
+ height: 460px;
+ padding: 25px 0px;
background-color: #fff;
}
-.device-center{
- width:90%;
- height:460px;
- margin:0px 5%;
+.device-center {
+ width: 90%;
+ height: 460px;
+ margin: 0px 5%;
border-radius: 15px;
background-color: #fff;
overflow: hidden;
/* box-shadow: 3px 3px 8px 0 rgba(0, 0, 0, 0.3); */
- filter: drop-shadow(0px 5px 5px rgba(0,0,0,0.3))
+ filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3));
}
-.device-title{
+.device-title {
position: relative;
- top:20px;
+ top: 20px;
z-index: 2;
font-size: clamp(1rem, 0.582rem + 1.59vw, 1.475rem);
font-weight: bold;
color: #4f6ab2;
width: 100%;
- height:90px;
+ height: 90px;
line-height: 100px;
text-align: center;
}
-.device-footer{
- width:100%;
- height:420px;
+.device-footer {
+ width: 100%;
+ height: 420px;
background-color: #3361d0;
- position: relative
+ position: relative;
}
-.device-footer::after{
+.device-footer::after {
content: "";
width: 100%;
- height: 70px;
- position: absolute;
- top:-30px;
+ height: 70px;
+ position: absolute;
+ top: -30px;
border-radius: 0 0 50% 50%;
background-color: #fff;
}
-.device-footer .qr-code{
+.device-footer .qr-code {
width: 55%;
height: 200px;
position: relative;
top: 60px;
- left:22.5%;
+ left: 22.5%;
background-color: #fff;
border-radius: 15px;
overflow: hidden;
}
-.device-number{
- width:80%;
+.device-number {
+ width: 80%;
height: 20px;
- margin-left:20%;
+ margin-left: 20%;
position: relative;
top: 80px;
}
-.device-text{
- color:#fff;
+.device-text {
+ color: #fff;
font-weight: bold;
- font-size:100%;
+ font-size: 100%;
}
-.device-name{
- width:80%;
- margin-left:20%;
+.device-name {
+ width: 80%;
+ margin-left: 20%;
height: 20px;
position: relative;
top: 90px;
--
Gitblit v1.9.3