From d3793edc9e3479f162c0cab6930d17c919ecacae Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 10 三月 2025 17:12:37 +0800
Subject: [PATCH] 设备搬迁
---
src/api/cnas/resourceDemand/device.js | 92 ++
src/views/CNAS/resourceDemand/device/index.vue | 18
src/views/CNAS/resourceDemand/device/component/files.vue | 119 +-
src/views/CNAS/resourceDemand/device/component/management.vue | 616 +++++++--------
src/views/CNAS/resourceDemand/device/component/check-and-accept.vue | 929 +++++++++++++++++++++++
src/views/CNAS/resourceDemand/device/component/check.vue | 88 +
src/views/CNAS/resourceDemand/device/component/calibration.vue | 165 +++-
src/views/CNAS/resourceDemand/device/component/borrow.vue | 2
src/views/CNAS/resourceDemand/device/component/operationInstruction.vue | 2
src/views/CNAS/resourceDemand/device/component/record.vue | 131 +-
src/views/CNAS/resourceDemand/device/component/fault.vue | 52
src/views/CNAS/resourceDemand/device/component/operationOverview.vue | 19
src/views/CNAS/resourceDemand/device/component/maintenance.vue | 61
13 files changed, 1,704 insertions(+), 590 deletions(-)
diff --git a/src/api/cnas/resourceDemand/device.js b/src/api/cnas/resourceDemand/device.js
index 0071864..84b37ea 100644
--- a/src/api/cnas/resourceDemand/device.js
+++ b/src/api/cnas/resourceDemand/device.js
@@ -868,6 +868,15 @@
params: query,
});
}
+//璁惧缁存姢鍒犻櫎
+export function deviceMaintenanceExport(query) {
+ return request({
+ url: "/deviceMaintain/deviceMaintenanceExport",
+ method: "get",
+ responseType: "blob",
+ params: query,
+ });
+}
// 鏂板璁惧缁存姢淇濆吇
export function addDeviceMaintenance(data) {
@@ -1275,3 +1284,86 @@
params: query,
});
}
+//璁惧棰勭害鎺ュ彛
+export function device(query) {
+ return request({
+ url: "/api/device-faults/device",
+ method: "get",
+ params: query,
+ });
+}
+//璁惧楠屾敹涓洓涓猼able琛ㄦ牸鐨勫垹闄ゅ姛鑳�
+export function deleteIncidentReportAll(query) {
+ return request({
+ url: "/incident-report/deleteIncidentReportAll",
+ method: "delete",
+ params: query,
+ });
+}
+
+//璁惧楠屾敹 淇濆瓨锛屾彁浜わ紝椹冲洖锛岄�氳繃鎺ュ彛
+export function saveIncidentReportData(query) {
+ return request({
+ url: "/incident-report/saveIncidentReportData",
+ method: "post",
+ data: query,
+ });
+}
+//璁惧楠屾敹 淇濆瓨锛屾彁浜わ紝椹冲洖锛岄�氳繃鎺ュ彛
+export function incidentReportPage(query) {
+ return request({
+ url: "/incident-report/incidentReportPage",
+ method: "get",
+ params: query,
+ });
+}
+//璁惧楠屾敹 淇濆瓨锛屾彁浜わ紝椹冲洖锛岄�氳繃鎺ュ彛
+export function getShowIncidentReport(query) {
+ return request({
+ url: "/incident-report/getShowIncidentReport",
+ method: "get",
+ params: query,
+ });
+}
+//璁惧楠屾敹瀵煎嚭
+export function incidentReportExport(query) {
+ return request({
+ url: "/incident-report/incidentReportExport",
+ method: "get",
+ params: query,
+ responseType: "blob"
+ });
+}
+//娣诲姞璁惧鏁呴殰
+export function addOrUpdateDeviceFaultOne(query) {
+ return request({
+ url: "/deviceFaultOne/addOrUpdateDeviceFaultOne",
+ method: "post",
+ data: query,
+ });
+}
+//璁惧鏁呴殰琛� 鍒嗛〉鏌ヨ
+export function deviceFaultOnePage(query) {
+ return request({
+ url: "/deviceFaultOne/deviceFaultOnePage",
+ method: "get",
+ params: query,
+ });
+}
+//璁惧鏁呴殰瀵煎嚭
+export function exportRewardAndPunishmentRecords(query) {
+ return request({
+ url: "/deviceFaultOne/exportRewardAndPunishmentRecords",
+ method: "get",
+ params: query,
+ responseType: "blob"
+ });
+}
+//鍒犻櫎 璁惧鏁呴殰
+export function deleteDeviceFaultOne(query) {
+ return request({
+ url: "/deviceFaultOne/deleteDeviceFaultOne",
+ method: "delete",
+ params: query,
+ });
+}
diff --git a/src/views/CNAS/resourceDemand/device/component/borrow.vue b/src/views/CNAS/resourceDemand/device/component/borrow.vue
index fafa7b9..fd18aba 100644
--- a/src/views/CNAS/resourceDemand/device/component/borrow.vue
+++ b/src/views/CNAS/resourceDemand/device/component/borrow.vue
@@ -13,7 +13,7 @@
</div>
<div class="btns">
<el-button size="small" type="primary" @click="add">鏂板</el-button>
- <!-- <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">瀵煎嚭</el-button>-->
+ <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">瀵煎嚭</el-button>
</div>
</div>
<div class="tables" style="margin-top: 10px;">
diff --git a/src/views/CNAS/resourceDemand/device/component/calibration.vue b/src/views/CNAS/resourceDemand/device/component/calibration.vue
index f11b502..a64e14a 100644
--- a/src/views/CNAS/resourceDemand/device/component/calibration.vue
+++ b/src/views/CNAS/resourceDemand/device/component/calibration.vue
@@ -4,9 +4,9 @@
<div class="btnS">
<el-button size="small" type="primary" @click="calibrationMaintenance()">鏍″噯椤圭洰缁存姢</el-button>
<el-button size="small" type="primary" @click="add('add')">娣诲姞鏍″噯璁板綍</el-button>
- <!-- <el-button size="small" type="primary" @click="handleDown">瀵煎嚭Excel</el-button> -->
+ <el-button size="small" type="primary" @click="handleDown">瀵煎嚭Excel</el-button>
</div>
- <div class="tables" style="margin-top: 10px;">
+ <div class="tables" style="margin-top: 16px;">
<el-table :data="tableData" height="calc(100vh - 20em)">
<el-table-column label="搴忓彿" type="index" width="120">
<template v-slot="scope">
@@ -14,7 +14,8 @@
</template>
</el-table-column>
<el-table-column label="璁板綍缂栧彿" min-width="150" prop="processNumber"></el-table-column>
- <el-table-column label="鏍″噯鏈烘瀯" min-width="150" prop="unitOfMeasure" show-overflow-tooltip></el-table-column>
+ <el-table-column label="鏍″噯鏈烘瀯" min-width="150" prop="unitOfMeasure"
+ show-overflow-tooltip></el-table-column>
<el-table-column label="鏍″噯缁撹" min-width="150" prop="status">
<template v-slot="scope">
{{ scope.row.status === '0yes' ? '鍚堟牸' : scope.row.status === '1no' ? '涓嶅悎鏍�' : '鍏朵粬' }}
@@ -27,28 +28,79 @@
<el-table-column label="纭鏃ユ湡" min-width="150" prop="confirmDate"></el-table-column>
<el-table-column label="鐧昏浜�" min-width="150" prop="createUser"></el-table-column>
<el-table-column label="鐧昏鏃ユ湡" min-width="150" prop="createTime"></el-table-column>
- <el-table-column fixed="right" label="鎿嶄綔" min-width="180" align="center">
+ <el-table-column fixed="right" label="鎿嶄綔" min-width="150">
<template #default="{ row }">
- <el-button size="small" type="text" @click="handleAttachmentClick(row)">涓嬭浇闄勪欢</el-button>
- <el-button size="small" type="text" @click="handleViewClick('view', row)">鏌ョ湅</el-button>
+ <el-button size="small" type="text" @click="handleAttachmentClick(row)">闄勪欢</el-button>
+ <!-- <el-button size="small" type="text" @click="handleViewClick('view', row)">鏌ョ湅</el-button> -->
+ <el-button size="small" type="text" @click="handleViewClick('add', row)">缂栬緫</el-button>
<el-button size="small" type="text" @click="handleDeleteClick(row)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]"
- :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" style="margin-right: 5%;"
- @size-change="handleSizeChange" @current-change="handleCurrentChange">
+ :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" style="margin-right: 5%;"
+ @size-change="handleSizeChange" @current-change="handleCurrentChange">
</el-pagination>
</div>
+ <!-- 鏂囦欢棰勮 -->
+ <el-dialog
+ :visible.sync="lookDialogVisible"
+ fullscreen
+ title="鏌ョ湅闄勪欢" width="800px">
+ <filePreview v-if="lookDialogVisible" :currentFile="{}"
+ :fileUrl="previewFile" style="height: 90vh;overflow-y: auto;top: 0"/>
+ </el-dialog>
+ <!-- 闄勪欢寮规 -->
+ <el-dialog
+ title="闄勪欢"
+ :visible.sync="dialogVisibleFile"
+ width="60%"
+ >
+ <el-upload
+ ref="upload"
+ style="margin-top: 5px;margin-bottom: 10px;"
+ :action="action"
+ :data="uploadData"
+ :headers="headers"
+ :before-upload="beforeUpload"
+ :on-success="onSuccess"
+ >
+ <el-button type="primary" size="small" :loading="upLoading">涓婁紶闄勪欢</el-button>
+ </el-upload>
+ <el-table
+ :data="fileData"
+ border
+ height="400px"
+ style="width: 100%">
+ <el-table-column label="搴忓彿" type="index" width="240px">
+ </el-table-column>
+ <el-table-column label="鏂囦欢鍚嶇О" prop="fileName">
+ </el-table-column>
+ <el-table-column label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" @click="preview(scope.row)">棰勮</el-button>
+ <el-button type="text" @click="download(scope.row)">涓嬭浇</el-button>
+ <el-button type="text" @click="delFile(scope.row)" style="color: red;">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="dialogVisibleFile = false">鍏� 闂�</el-button>
+ </span>
+ </el-dialog>
+
+
+
<!-- 鏍″噯椤圭洰缁存姢 -->
- <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible0"
- title="鏍″噯椤圭洰缁存姢" top="5vh" width="70%">
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible0" title="鏍″噯椤圭洰缁存姢"
+ top="5vh" width="70%">
<h4>
<span style="display: flex;align-items: center;"><span class="line"></span><span>璁惧鏍″噯鍙傛暟缁存姢</span></span>
<el-button :loading="addCalibrateLoading" size="small" type="primary" @click="addCalibrate">娣� 鍔�</el-button>
</h4>
<div>
- <el-form ref="form0" :model="form0" :rules="form0Rules" label-position="right" label-width="120px">
+ <el-form ref="form0" :model="form0" :rules="form0Rules"
+ label-position="right" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="璁¢噺鍙傛暟:" prop="measurementParameter">
@@ -77,8 +129,9 @@
<span style="display: flex;align-items: center;"><span class="line"></span><span>璁惧鏍″噯鍙傛暟</span></span>
</h4>
<!-- 璁惧鏍″噯鍙傛暟琛ㄦ牸 -->
- <el-table ref="calibrateTable" v-loading="calibrateParamsLoading" :data="calibrateParams" max-height="450" stripe
- style="width: 100%">
+ <el-table ref="calibrateTable" v-loading="calibrateParamsLoading" :data="calibrateParams"
+ max-height="450"
+ stripe style="width: 100%">
<el-table-column label="缂栧彿" type="index" width="80"></el-table-column>
<el-table-column label="璁¢噺鍙傛暟" prop="measurementParameter"></el-table-column>
<el-table-column label="閲忕▼鑼冨洿" prop="rangeOfMeasurement"></el-table-column>
@@ -95,8 +148,9 @@
</el-dialog>
<!-- 娣诲姞鏍″噯璁板綍 -->
- <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible1"
- title="娣诲姞鏍″噯璁板綍" top="5vh" width="80%" @close="resetCalibrationRecord">
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible1" title="鏍″噯璁板綍"
+ top="5vh"
+ width="80%" @close="resetCalibrationRecord">
<div style="height: 70vh;overflow-y: auto;overflow-x: hidden;">
<h4>
<div style="display: flex;align-items: center;">
@@ -104,58 +158,62 @@
<span>娣诲姞璁惧鏍″噯璁板綍</span>
</div>
</h4>
- <el-form ref="calibrationRecord" :model="calibrationRecord" :rules="formRules" label-position="right"
- label-width="120px">
+ <el-form ref="calibrationRecord" :model="calibrationRecord"
+ :rules="formRules" label-position="right" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:" prop="unitOfMeasure">
<el-input v-model="calibrationRecord.unitOfMeasure" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="鏍″噯鏃ユ湡:" prop="calibrationDate">
<el-date-picker v-model="calibrationRecord.calibrationDate" :disabled="operationType === 'view'"
- format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 90%" type="date"
- value-format="yyyy-MM-dd" @change="getNextCalibrationDate">
+ format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ style="width: 90%" type="date"
+ value-format="yyyy-MM-dd" @change="getNextCalibrationDate">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="涓嬫鏍″噯鏃ユ湡:" label-width="140px">
- <el-date-picker v-model="calibrationRecord.nextCalibrationDate" disabled format="yyyy-MM-dd"
- placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 90%" type="date" value-format="yyyy-MM-dd">
+ <el-date-picker v-model="calibrationRecord.nextCalibrationDate" disabled
+ format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 90%"
+ type="date" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="璁$畻鍣ㄥ叿:" prop="calculatingApparatus">
<el-input v-model="calibrationRecord.calculatingApparatus" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="璁$畻鏍囧噯閲忕▼:" prop="standardRange">
<el-input v-model="calibrationRecord.standardRange" :disabled="operationType === 'view'" size="small"
- style="width: 90%"></el-input>
+ style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="璁¢噺鏍囧噯涓嶇‘瀹氬害:" label-width="140px" prop="calibrationStandardUncertainty">
- <el-input v-model="calibrationRecord.calibrationStandardUncertainty"
- :disabled="operationType === 'view'" size="small" style="width: 90%"></el-input>
+ <el-input v-model="calibrationRecord.calibrationStandardUncertainty" :disabled="operationType === 'view'" size="small"
+ style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鎵�渚濇嵁鏂囦欢:" prop="byDocument">
<el-input v-model="calibrationRecord.byDocument" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="璇佷功缂栧彿:" prop="certificateSerialNumber">
- <el-input v-model="calibrationRecord.certificateSerialNumber" :disabled="operationType === 'view'"
- size="small" style="width: 90%"></el-input>
+ <el-input v-model="calibrationRecord.certificateSerialNumber" :disabled="operationType === 'view'" size="small"
+ style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
@@ -170,31 +228,32 @@
<el-col :span="6">
<el-form-item label="纭鏃ユ湡:">
<el-date-picker v-model="calibrationRecord.confirmDate" :disabled="operationType === 'view'"
- format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 100%" type="datetime"
- value-format="yyyy-MM-dd HH:mm:ss">
+ format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 100%"
+ type="datetime" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
- <el-col :span="17">
+ <!-- <el-col :span="17">
<el-form-item label="闄勪欢锛�" prop="fileName">
- <el-input v-model="calibrationRecord.fileName"
- :style="`width: ${operationType === 'add' ? '85%' : '100%'};}`" disabled size="small">
+ <el-input v-model="calibrationRecord.fileName" :style="`width: ${operationType === 'add' ? '85%' : '100%'};}`" disabled
+ size="small">
<el-button v-if="operationType === 'add'" slot="append" icon="el-icon-delete-solid"
- @click="deleteFile"></el-button>
+ @click="deleteFile"></el-button>
</el-input>
- <el-upload v-if="operationType === 'add'" ref="upload" :action="action" :before-upload="beforeUpload"
- :headers="uploadHeader" :limit="1" :on-error="onError" :on-success="handleSuccessUp"
- :show-file-list="false" style="float: right;">
+ <el-upload v-if="operationType === 'add'" ref="upload" :action="action" :before-upload="beforeUpload" :headers="headers"
+ :limit="1" :on-error="onError" :on-success="handleSuccessUp"
+ :show-file-list="false"
+ style="float: right;">
<el-button :loading="upLoading" size="small" style="position: relative; top: -4px;"
- type="primary">闄勪欢涓婁紶
+ type="primary">闄勪欢涓婁紶
</el-button>
</el-upload>
</el-form-item>
- </el-col>
+ </el-col> -->
<el-col :span="24">
<el-form-item label="澶囨敞:">
- <el-input v-model="calibrationRecord.remark" :disabled="operationType === 'view'" :rows="3" size="small"
- style="width: 96%" type="textarea"></el-input>
+ <el-input v-model="calibrationRecord.remark" :disabled="operationType === 'view'" :rows="3" size="small" style="width: 96%"
+ type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -236,15 +295,29 @@
<el-table-column label="鍗曢」缁撴灉璇存槑" prop="singleResultStatement">
<template slot-scope="scope">
<el-input v-model="scope.row.singleResultStatement" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</template>
</el-table-column>
</el-table>
+ <!-- 鎿嶄綔鏃ュ織 -->
+ <!-- <h4>-->
+ <!-- <div style="display: flex;-->
+ <!-- align-items: center;">-->
+ <!-- <span class="line"></span><span>鏈褰曠姸鎬佸拰鎿嶄綔鏃ュ織</span>-->
+ <!-- </div>-->
+ <!-- </h4>-->
+ <!-- <el-table :data="tableDataOperate" style="width: 100%">-->
+ <!-- <el-table-column type="index" label="搴忓彿" width="100"></el-table-column>-->
+ <!-- <el-table-column prop="operator" label="鎿嶄綔浜�" width="120"></el-table-column>-->
+ <!-- <el-table-column prop="operationTime" label="鎿嶄綔鏃堕棿" width="180"></el-table-column>-->
+ <!-- <el-table-column prop="operationType" label="鎿嶄綔绫诲瀷" width="120"></el-table-column>-->
+ <!-- <el-table-column prop="operationContent" label="鎿嶄綔鍐呭"></el-table-column>-->
+ <!-- </el-table>-->
</div>
<span slot="footer" class="dialog-footer">
<el-button v-if="operationType === 'add'" @click="dialogVisible1 = false">鍙� 娑�</el-button>
- <el-button v-if="operationType === 'add'" :loading="addRecordLoading" type="primary" @click="addRecord">纭�
- 瀹�</el-button>
+ <el-button v-if="operationType === 'add'" :loading="addRecordLoading" type="primary"
+ @click="addRecord">纭� 瀹�</el-button>
</span>
</el-dialog>
</div>
@@ -263,7 +336,9 @@
saveOrUpdateDeviceMetric
} from '@/api/cnas/resourceDemand/device.js'
import { mapGetters } from "vuex";
+import filePreview from "@/components/Preview/filePreview.vue";
export default {
+ components: {filePreview},
props: {
clickNodeVal: {
type: Object,
diff --git a/src/views/CNAS/resourceDemand/device/component/check-and-accept.vue b/src/views/CNAS/resourceDemand/device/component/check-and-accept.vue
new file mode 100644
index 0000000..e940152
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/device/component/check-and-accept.vue
@@ -0,0 +1,929 @@
+<!-- 璁惧楠屾敹 -->
+<template>
+ <div>
+ <div class="search">
+ <div class="search_thing">
+ <div class="search_label">娴佺▼缂栧彿锛�</div>
+ <div class="search_input"><el-input v-model="search.processNumber" clearable placeholder="璇疯緭鍏�" size="small"
+ @keyup.enter.native="getDeviceAList(clickNodeVal.value)"></el-input></div>
+ </div>
+ <div class="search_thing" style="padding-left: 30px;">
+ <el-button size="small" @click="resetSearch">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="getDeviceAList(clickNodeVal.value)">鏌� 璇�</el-button>
+ </div>
+ <div class="btns">
+ <el-button size="small" type="primary" @click="dialogVisible = true">娣诲姞楠屾敹</el-button>
+ <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵煎嚭</el-button>
+ </div>
+ </div>
+ <div class="tables" style="margin-top: 10px;">
+ <el-table ref="table" :data="tableDataAlist" height="100%">
+ <el-table-column label="搴忓彿" type="index" width="60">
+ <template v-slot="scope">
+ <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="娴佺▼缂栧彿" min-width="150" prop="processNumber" show-overflow-tooltip/>
+ <el-table-column label="璁惧鍚嶇О" min-width="140" prop="deviceName" show-overflow-tooltip/>
+ <el-table-column label="绠$悊缂栧彿" min-width="140" prop="managementNumber" show-overflow-tooltip/>
+ <el-table-column label="搴忓垪鍙�" min-width="80" prop="serialNumber" />
+ <el-table-column label="鎻愪氦鑰�" min-width="100" prop="submitUser" />
+ <el-table-column label="鎻愪氦鏃ユ湡" min-width="150" prop="createTime" />
+ <el-table-column label="褰撳墠鐘舵��" min-width="140" prop="currentState" />
+ <el-table-column label="褰撳墠璐熻矗浜�" min-width="120" prop="currentResponsible" />
+ <el-table-column fixed="right" label="鎿嶄綔" min-width="140">
+ <template #default="{ row }">
+ <el-button size="small" type="text" @click="handleAttachmentClick(row)">闄勪欢</el-button>
+ <el-button size="small" type="text" @click="handleViewClick(row)">鏌ョ湅</el-button>
+ <el-button size="small" type="text" @click="handleDeleteClick(row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]"
+ :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange">
+ </el-pagination>
+ </div>
+ <!-- 娣诲姞璁惧鏁呴殰璁板綍 -->
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible" title="浠櫒璁惧楠屾敹璁板綍"
+ width="60%" @open="openRecordAcceptance">
+ <el-steps :active="currentStep" finish-status="success">
+ <el-step v-for="(v, i) in steps" :key="i" :title="v" style="cursor:pointer"
+ @click.native="choiceStep(i)"></el-step>
+ </el-steps>
+ <el-form ref="form" :model="form" :rules="rules" label-width="130px">
+ <div v-show="currentStepClick === 0">
+ <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+ <!-- 鏂板璁惧浜嬭褰曞崱鐗� -->
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="娴佺▼缂栧彿锛�" prop="processNumber">
+ <el-input v-model="form.processNumber" disabled size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁惧鍚嶇О锛�">
+ <el-input v-model="form.deviceName" disabled size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐢熶骇鍘傚锛�">
+ <el-input v-model="form.manufacturer" disabled size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁惧鍨嬪彿锛�">
+ <el-input v-model="form.specificationModel" disabled size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绠$悊缂栧彿锛�">
+ <el-input v-model="form.managementNumber" disabled size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ュ簭鍒楀彿', trigger: 'blur' }]" label="搴忓垪鍙凤細"
+ prop="serialNumber">
+ <el-input v-model="form.serialNumber" :disabled="currentStep !== 0" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ヨ澶囩被鍒�', trigger: 'change' }]" label="璁惧绫诲埆锛�"
+ prop="deviceClass">
+ <el-radio-group v-model="form.deviceClass" :disabled="currentStep !== 0">
+ <el-radio label="0precision">绮惧瘑鍨嬭澶�</el-radio>
+ <el-radio label="1conventional">甯歌璁惧</el-radio><br />
+ <el-radio label="2auxiliary_class">杈呭姪绫昏澶�</el-radio>
+ <el-radio label="4environmental">鐜绫昏澶�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ュ紑绠卞墠妫�鏌ュ鍖呰鏈夋棤鐮存崯', trigger: 'blur' }]" label="寮�绠卞墠妫�鏌ュ鍖呰鏈夋棤鐮存崯锛�" label-width="220px"
+ prop="checkOuterPackaging">
+ <el-input v-model="form.checkOuterPackaging" :disabled="currentStep !== 0" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鐩稿叧闄勪欢锛�" prop="fileName">
+ <el-input v-model="form.fileName" :style="`width: ${currentStep == 0 ? '88%' : '100%'};`" disabled
+ size="small">
+ <el-button v-if="currentStep === 0" slot="append" icon="el-icon-delete-solid"
+ @click="deleteFile"></el-button>
+ </el-input>
+ <el-upload ref="upload" :action="action" :on-success="onSuccess" :show-file-list="false"
+ style="float: right;">
+ <el-button v-if="currentStep === 0" slot="trigger" class="uploadFile" size="small"
+ style="position: relative;top: -4px" type="primary">闄勪欢涓婁紶</el-button>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 0, message: '璇烽�夋嫨涓嬬幆鑺傝矗浠讳汉', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="submitNextPesponsible">
+ <el-select v-model="form.submitNextPesponsible" :disabled="currentStep !== 0" clearable filterable
+ placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+ <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ヨ澶囧紑绠遍獙鏀剁粨璁�', trigger: 'change' }]" label="璁惧寮�绠遍獙鏀剁粨璁猴細" label-width="150px"
+ prop="unpackingAcceptanceConclusion">
+ <el-radio-group v-model="form.unpackingAcceptanceConclusion" :disabled="currentStep !== 0">
+ <el-radio :label="'0qualified'">鍚堟牸</el-radio>
+ <el-radio :label="'1unqualified'">涓嶅悎鏍硷紝缂哄皯澶囦欢渚涘簲鍟嗚ˉ鍙�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <div style="margin-bottom: 20px; width: 100%;">
+ <label>澶囦欢纭锛�</label>
+ <el-button v-if="currentStep === 0" size="small" style="float: right;"
+ type="primary" @click="addTableRow('sparePartsConfirmationList')">澧炲姞琛�</el-button>
+ </div>
+ <el-table :data="form.sparePartsConfirmationList" border stripe style="width: 100%; min-height: 30vh">
+ <el-table-column label="搴忓彿" prop="搴忓彿" type="index" width="80" />
+ <el-table-column label="鍚嶇О" min-width="120" prop="name">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 0" v-model="scope.row.name" size="small"></el-input>
+ <label v-else>{{ scope.row.name }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏁伴噺" min-width="120" prop="number">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 0" v-model="scope.row.number" size="small"></el-input>
+ <label v-else>{{ scope.row.number }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="澶囨敞" min-width="120" prop="note">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 0" v-model="scope.row.note" size="small"></el-input>
+ <label v-else>{{ scope.row.note }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="currentStep === 0" fixed="right" label="鎿嶄綔" width="90">
+ <template slot-scope="scope">
+ <el-button icon="el-icon-delete" type="text"
+ @click="deleteRow(scope.$index, scope.row, 'sparePartsConfirmationList')">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ <el-col :span="24">
+ <div style="margin: 20px 0; width: 100%;">
+ <label>鏂囦欢绫荤‘璁わ細</label>
+ <el-button v-if="currentStep === 0" size="small" style="float: right;"
+ type="primary" @click="addTableRow('fileClassConfirmationList')">澧炲姞琛�</el-button>
+ </div>
+ <el-table :data="form.fileClassConfirmationList" border stripe style="width: 100%; min-height: 30vh">
+ <el-table-column label="搴忓彿" prop="搴忓彿" type="index" width="80" />
+ <el-table-column label="搴旀湁鍐屾暟" min-width="120" prop="expectedCopies">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 0" v-model="scope.row.expectedCopies" size="small"></el-input>
+ <label v-else>{{ scope.row.expectedCopies }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀹為檯鏀跺埌鍐屾暟" min-width="120" prop="actualCopies">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 0" v-model="scope.row.actualCopies" size="small"></el-input>
+ <label v-else>{{ scope.row.actualCopies }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="currentStep === 0" fixed="right" label="鎿嶄綔" width="90">
+ <template v-slot="scope">
+ <el-button icon="el-icon-delete" type="text"
+ @click="deleteRow(scope.$index, scope.row, 'fileClassConfirmationList')">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ <el-col :span="24" style="margin-top: 10px;">
+ <el-form-item label="澶囨敞锛�" label-width="90px">
+ <el-input v-model="form.submitRemarks" :disabled="currentStep !== 0" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.submitOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.submitDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 1">
+ <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="澶嶆牳鎰忚锛�" prop="accidentDescription">
+ <el-input v-model="form.unpackingReviewOpinion" :disabled="currentStep !== 1" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 1, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="unpackingNextPesponsible">
+ <el-select v-model="form.unpackingNextPesponsible" :disabled="currentStep !== 1" clearable filterable
+ placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+ <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.unpackingOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.unpackingDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 2">
+ <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 2, message: '璇疯緭鍏ュ畨瑁呬綅缃�', trigger: 'blur' }]" label="瀹夎浣嶇疆锛�"
+ prop="installLocation">
+ <el-input v-model="form.installLocation" :disabled="currentStep !== 2" clearable placeholder="璇疯緭鍏ュ畨瑁呬綅缃�"
+ size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="澶囨敞锛�">
+ <el-input v-model="form.installRemarks" :disabled="currentStep !== 2" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 2, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'blur' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="installNextPesponsible">
+ <el-select v-model="form.installNextPesponsible" :disabled="currentStep !== 2" clearable filterable
+ placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+ <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <div style="margin-bottom: 20px; width: 100%;">
+ <label>瀹夎楠屾敹璁板綍</label>
+ <el-button v-if="currentStep === 2" size="small" style="float: right;"
+ type="primary" @click="addTableRow('installationAcceptanceRecordList')">澧炲姞琛�</el-button>
+ </div>
+ <el-table :data="form.installationAcceptanceRecordList" border stripe
+ style="width: 100%; min-height: 30vh">
+ <el-table-column label="搴忓彿" prop="搴忓彿" type="index" width="80" />
+ <el-table-column label="椤圭洰" min-width="120" prop="installationProject">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 2" v-model="scope.row.installationProject"
+ size="small"></el-input>
+ <label v-else>{{ scope.row.installationProject }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀹夎鎯呭喌" min-width="120" prop="installationSituation">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 2" v-model="scope.row.installationSituation"
+ size="small"></el-input>
+ <label v-else>{{ scope.row.installationSituation }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀹夎瀹屾垚" min-width="120" prop="installationCompleted">
+ <template v-slot="scope">
+ <el-select v-if="currentStep === 2" v-model="scope.row.installationCompleted" placeholder="璇烽�夋嫨">
+ <el-option label="鏄�" value="0yes"></el-option>
+ <el-option label="鍚�" value="1no"></el-option>
+ </el-select>
+ <label v-else>{{ scope.row.installationCompleted === '0yes' ? '鏄�' :
+ scope.row.installationCompleted === '1no' ? '鍚�' : '' }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="currentStep === 2" fixed="right" label="鎿嶄綔" width="90">
+ <template slot-scope="scope">
+ <el-button icon="el-icon-delete" type="text"
+ @click="deleteRow(scope.$index, scope.row, 'installationAcceptanceRecordList')">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.installOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.installDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 3">
+ <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 3, message: '璇疯緭鍏ュ鍚堟剰瑙�', trigger: 'blur' }]" label="澶嶅悎鎰忚锛�"
+ prop="installationAcceptanceCompoundOpinion">
+ <el-input v-model="form.installationAcceptanceCompoundOpinion" :disabled="currentStep !== 3"
+ size="small" type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 3, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="installationAcceptanceNextPesponsible">
+ <el-select v-model="form.installationAcceptanceNextPesponsible" :disabled="currentStep !== 3" clearable
+ filterable placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+ <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.installationAcceptanceOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.installationAcceptanceDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 4">
+ <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+ <div style="margin-bottom: 20px; width: 100%;">
+ <label>楠屾敹鏍告煡璁板綍锛�</label>
+ <el-button v-if="currentStep === 4" size="small" style="float: right;"
+ type="primary" @click="addTableRow('acceptanceCheckRecordList')">澧炲姞琛�</el-button>
+ </div>
+ <el-table :data="form.acceptanceCheckRecordList" border style="width: 100%; min-height: 30vh">
+ <el-table-column label="搴忓彿" prop="sequence" width="80">
+ </el-table-column>
+ <el-table-column label="浠櫒妯″潡" min-width="120" prop="instrumentModule">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 4" v-model="scope.row.instrumentModule" size="small"></el-input>
+ <label v-else>{{ scope.row.instrumentModule }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏍告煡鍙傛暟" min-width="120" prop="verificationParameter">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 4" v-model="scope.row.verificationParameter" size="small"></el-input>
+ <label v-else>{{ scope.row.verificationParameter }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍙帴鏀堕檺" min-width="120" prop="acceptableLimit">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 4" v-model="scope.row.acceptableLimit" size="small"></el-input>
+ <label v-else>{{ scope.row.acceptableLimit }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏍告煡缁撴灉" min-width="120" prop="verificationResult">
+ <template v-slot="scope">
+ <el-input v-if="currentStep === 4" v-model="scope.row.verificationResult" size="small"></el-input>
+ <label v-else>{{ scope.row.verificationResult }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏍告煡缁撹" min-width="120" prop="verificationConclusion">
+ <template v-slot="scope">
+ <el-select v-if="currentStep === 4" v-model="scope.row.verificationConclusion" placeholder="璇烽�夋嫨">
+ <el-option label="绗﹀悎" value="0accordWith"></el-option>
+ <el-option label="涓嶇鍚�" value="1inconformity"></el-option>
+ </el-select>
+ <label v-else>{{ scope.row.verificationConclusion }}</label>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="currentStep === 4" fixed="right" label="鎿嶄綔" width="90">
+ <template slot-scope="scope">
+ <el-button size="small" type="text"
+ @click="deleteRow(scope.$index, scope.row, 'acceptanceCheckRecordList')">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-form-item :rules="[{ required: currentStep === 4, message: '璇疯緭鍏ヨ澶囧紑绠遍獙鏀剁粨璁�', trigger: 'change' }]" label="璁惧寮�绠遍獙鏀剁粨璁猴細"
+ label-width="150px" prop="acceptanceCheckUnpackingConclusion">
+ <el-radio-group v-model="form.acceptanceCheckUnpackingConclusion" :disabled="currentStep !== 4">
+ <el-radio :label="'0qualified'">鍚堟牸</el-radio>
+ <el-radio :label="'1unqualified'">涓嶅悎鏍硷紝缂哄皯澶囦欢渚涘簲鍟嗚ˉ鍙�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item :rules="[{ required: currentStep === 4, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="acceptanceCheckNextPesponsible">
+ <el-select v-model="form.acceptanceCheckNextPesponsible" :disabled="currentStep !== 4" clearable
+ filterable placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+ <el-option v-for="item in responsibleOptions" :key="item.value" :label="item.label" :value="item.name">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.acceptanceCheckOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.acceptanceCheckDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 5">
+ <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 5, message: '璇疯緭鍏ュ鏍告剰瑙�', trigger: 'blur' }]" label="瀹℃牳鎰忚锛�"
+ prop="acceptanceAuditAuditOpinion">
+ <el-input v-model="form.acceptanceAuditAuditOpinion" :disabled="currentStep !== 5" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.acceptanceAuditOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.acceptanceAuditDate }}
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button v-if="currentStep !== 0 && currentStep !== 6" @click="submitForm('3reject')">椹冲洖</el-button>
+ <el-button v-if="currentStep === 0" @click="submitForm('2save')">淇濆瓨</el-button>
+ <el-button v-if="currentStep !== 6" type="primary" @click="submitForm('1submit')">{{ currentStep === 0 ? '鎻愪氦' :
+ '閫氳繃'
+ }}</el-button>
+ </span>
+ </el-dialog>
+ </div>
+ <!-- 鏌ュ崟缂栬緫妗� -->
+</template>
+
+<script>
+import { dateFormat } from '@/utils/date'
+import file from "@/utils/file";
+import {
+ deleteCNASFile,
+ deleteIncidentReportAll, getShowIncidentReport, incidentReportExport, incidentReportPage,
+ saveIncidentReportData,
+ selectDeviceByCode
+} from "@/api/cnas/resourceDemand/device";
+import {selectUserCondition} from "@/api/system/user";
+
+export default {
+ props: {
+ clickNodeVal: {
+ type: Object,
+ default: () => {
+ return {};
+ }
+ }
+ },
+ data() {
+ return {
+ //浜嬫晠璁惧淇℃伅
+ tableDataAlist: [], // 鏇存敼鍙橀噺鍚嶇О
+ dialogVisible: false,
+ rules: {
+ quantity: [{ required: true, message: '璇疯緭鍏ユ暟閲�', trigger: 'blur' }],
+ },
+ currentStep: 0, // 姝ラ鏉℃樉绀虹鍑犳
+ currentStepClick: 0, // 鐐瑰嚮姝ラ鏉″彉鍖�
+ steps: ['鎻愪氦', '寮�绠遍獙鏀跺鏍�', '瀹夎楠屾敹妫�鏌�', '瀹夎楠屾敹澶嶆牳', '楠屾敹鏍告煡', '楠屾敹鏍告煡瀹℃牳'],
+ form: {
+ sparePartsConfirmationList: [], // 澶囦欢纭List
+ fileClassConfirmationList: [], // 鏂囦欢纭List
+ installationAcceptanceRecordList: [], // 瀹夎楠屾敹璁板綍
+ acceptanceCheckRecordList: [], // 楠屾敹鏍告煡璁板綍
+ fileName: '', // 鏂囦欢鍚嶇О
+ systemFileName: '', // 绯荤粺鏂囦欢鍚嶇О
+ },
+ outLoading: false,
+ responsibleOptions: [], // 涓嬬幆鑺傝礋璐d汉list
+ isUpdate: false,
+ search: {
+ size: 20,
+ current: 1,
+ total: 0,
+ processNumber: '',
+ },
+ }
+ },
+ computed: {
+ action() {
+ return this.javaApi + '/personBasicInfo/saveCNASFile'
+ }
+ },
+ mounted() {
+ // 鑾峰彇璁惧浜嬫晠淇℃伅
+ this.getDeviceAList(this.clickNodeVal.value);
+ window.excelClosed = this.closed
+ },
+ methods: {
+ handleSizeChange(val) {
+ this.search.size = val
+ this.getDeviceAList(this.clickNodeVal.value);
+ },
+ handleCurrentChange(val) {
+ this.search.current = val
+ this.getDeviceAList(this.clickNodeVal.value);
+ },
+ deleteFile() {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deleteCNASFile({fileName: this.form.systemFileName}).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+ onSuccess(response, file, fileList) {
+ if (response.code == 200) {
+ // 鍦ㄤ繚瀛樿祴鍊兼柊鏂囦欢
+ this.form.fileName = file.name
+ this.form.systemFileName = response.data
+ } else {
+ this.$message.error(response.message)
+ }
+ },
+ addTableRow(value) {
+ switch (value) {
+ // 澶囦欢纭
+ case 'sparePartsConfirmationList':
+ const obj = Object.assign({
+ name: '',
+ number: null,
+ note: ''
+ })
+ this.form.sparePartsConfirmationList.push(obj)
+ break
+ // 鏂囦欢纭List
+ case 'fileClassConfirmationList':
+ const obj1 = Object.assign({
+ expectedCopies: '',
+ actualCopies: '',
+ })
+ this.form.fileClassConfirmationList.push(obj1)
+ break
+ // 瀹夎楠屾敹璁板綍
+ case 'installationAcceptanceRecordList':
+ const obj2 = Object.assign({
+ installationProject: '',
+ installationSituation: '',
+ installationCompleted: ''
+ })
+ this.form.installationAcceptanceRecordList.push(obj2)
+ break
+ // 楠屾敹鏍告煡璁板綍
+ case 'acceptanceCheckRecordList':
+ const obj3 = Object.assign({
+ instrumentModule: '',
+ verificationParameter: '',
+ acceptableLimit: '',
+ verificationResult: '',
+ verificationConclusion: ''
+ })
+ this.form.acceptanceCheckRecordList.push(obj3)
+ default:
+ break
+ }
+ },
+ deleteRow(index, row, type) {
+ switch (type) {
+ // 澶囦欢纭
+ case 'sparePartsConfirmationList':
+ if (row.sparePartsId) {
+ deleteIncidentReportAll({sparePartsId: row.sparePartsId}).then(res => { });
+ }
+ this.form.sparePartsConfirmationList.splice(index, 1)
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ break
+ // 鏂囦欢纭List
+ case 'fileClassConfirmationList':
+ if (row.fileId) {
+ deleteIncidentReportAll({fileId: row.fileId}).then(res => { });
+ }
+ this.form.fileClassConfirmationList.splice(index, 1)
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ break
+ // 瀹夎楠屾敹璁板綍
+ case 'installationAcceptanceRecordList':
+ if (row.installId) {
+ deleteIncidentReportAll({installId: row.installId}).then(res => { });
+ }
+ this.form.installationAcceptanceRecordList.splice(index, 1)
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ break
+ // 楠屾敹鏍告煡璁板綍
+ case 'acceptanceCheckRecordList':
+ if (row.acceptanceCheckId) {
+ deleteIncidentReportAll({acceptanceCheckId: row.acceptanceCheckId}).then(res => { });
+ }
+ this.form.acceptanceCheckRecordList.splice(index, 1)
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ default:
+ break
+ }
+ },
+ choiceStep(index) {
+ this.currentStepClick = index
+ },
+ openRecordAcceptance() {
+ // 鑾峰彇璁惧鍩虹淇℃伅
+ selectDeviceByCode({id: this.clickNodeVal.value}).then(res => {
+ this.form.deviceName = res.data.deviceName
+ this.form.manufacturer = res.data.manufacturer
+ this.form.specificationModel = res.data.specificationModel
+ this.form.managementNumber = res.data.managementNumber
+ this.$nextTick(() => {
+ this.$refs['form'].clearValidate()
+ })
+ });
+ // 鑾峰彇璐熻矗浜轰俊鎭�
+ this.getUserList()
+ },
+ //鎻愪氦琛ㄥ崟
+ async submitForm(saveState) {
+ this.$refs.form.validate((valid) => {
+ if (valid === true || saveState !== '1submit') {
+ // 缁欏綋鍓嶇幆鑺傝缃垱寤轰汉涓庢椂闂�
+ let user = JSON.parse(localStorage.getItem('user'))
+ const dateTime = dateFormat(new Date())
+ // 鑾峰彇褰撳墠鐜妭鎿嶄綔浜轰笌鏃ユ湡
+ switch (this.currentStep) {
+ case 0:
+ this.form.submitOperatingPersonnel = user.name
+ this.form.submitDate = dateTime
+ break
+ case 1:
+ this.form.unpackingOperatingPersonnel = user.name
+ this.form.unpackingDate = dateTime
+ break
+ case 2:
+ this.form.installOperatingPersonnel = user.name
+ this.form.installDate = dateTime
+ break
+ case 3:
+ this.form.installationAcceptanceOperatingPersonnel = user.name
+ this.form.installationAcceptanceDate = dateTime
+ break
+ case 4:
+ this.form.acceptanceCheckOperatingPersonnel = user.name
+ this.form.acceptanceCheckDate = dateTime
+ break
+ case 5:
+ this.form.acceptanceAuditOperatingPersonnel = user.name
+ this.form.acceptanceAuditDate = dateTime
+ break
+ default:
+ break
+ }
+ // 鑾峰彇褰撳墠鐜妭璐熻矗浜�
+ switch (saveState === '3reject' ? this.currentStep - 1 : this.currentStep) {
+ case 0:
+ this.form.currentResponsible = this.form.submitNextPesponsible
+ break
+ case 1:
+ this.form.currentResponsible = this.form.unpackingNextPesponsible
+ break
+ case 2:
+ this.form.currentResponsible = this.form.installNextPesponsible
+ break
+ case 3:
+ this.form.currentResponsible = this.form.installationAcceptanceNextPesponsible
+ break
+ case 4:
+ this.form.currentResponsible = this.form.acceptanceCheckNextPesponsible
+ break
+ default:
+ break
+ }
+ let currentStepAction;
+ // 璁剧疆璇ユ搷浣滃垽鏂槸鍚︿负鎻愪氦锛屼繚瀛橈紝椹冲洖锛岄�氳繃
+ switch (saveState) {
+ // 鎻愪氦锛岄�氳繃
+ case '1submit':
+ currentStepAction = this.currentStep + 1
+ break
+ // 淇濆瓨
+ case '2save':
+ currentStepAction = this.currentStep
+ break
+ // 椹冲洖
+ case '3reject':
+ currentStepAction = this.currentStep - 1
+ break
+ default:
+ break
+ }
+ // 鑾峰彇褰撳墠鐘舵��
+ this.form.currentState = currentStepAction === 6 ? '鍏抽棴' : this.steps[currentStepAction]
+ this.form.deviceId = this.clickNodeVal.value
+ saveIncidentReportData(this.form).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.getDeviceAList(this.clickNodeVal.value);
+ this.dialogVisible = false
+ }
+ })
+ } else {
+ let step = this.steps[this.currentStep]
+ this.$message.warning(step + ' 娴佺▼涓湁蹇呭~椤规湭濉紒');
+ }
+ });
+ },
+ // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
+ getUserList() {
+ selectUserCondition().then(res => {
+ if (res.code == 200) {
+ this.responsibleOptions = res.data
+ }
+ })
+ },
+ resetSearch() {
+ this.search = {
+ size: 20,
+ current: 1,
+ total: 0,
+ processNumber: '',
+ }
+ this.getDeviceAList(this.clickNodeVal.value);
+ },
+ // 鑾峰彇璁惧浜嬫晠淇℃伅(鏍规嵁浠巚uex涓幏鍙栧埌鐨勮澶囧悕绉癷d杩涜鏁版嵁鏌ヨ)
+ getDeviceAList(deviceId) {
+ incidentReportPage({deviceId: deviceId, size:this.search.size, current:this.search.current, processNumber: this.search.processNumber}).then(res => {
+ if (res.code == 200) {
+ this.tableDataAlist = res.data.records
+ this.search.total = res.data.total
+ }
+ })
+ },
+ //table 浜嬩欢澶勭悊寮�濮嬪
+ handleAttachmentClick(row) {
+ // 妯℃嫙涓嬭浇闄勪欢
+ const imageUrl = this.javaApi+'/img/'+row.systemFileName; // 鍥剧墖 URL
+ // downloadImage(imageUrl);
+ file.downloadIamge(imageUrl,row.fileName)
+ },
+ handleViewClick(row) {
+ getShowIncidentReport({id: row.id}).then(res => {
+ this.form = { ...res.data }
+ // 濡傛灉绱㈠紩涓�6琛ㄧず鍏ㄩ儴閫氳繃
+ this.currentStep = this.steps.indexOf(this.form.currentState) === -1 ? 6 : this.steps.indexOf(this.form.currentState)
+ this.currentStepClick = this.currentStep === 6 ? 0 : this.currentStep
+ this.$nextTick(() => {
+ this.$refs['form'].clearValidate()
+ })
+ })
+ this.dialogVisible = true
+ },
+ handleDeleteClick(row) {
+ this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deleteIncidentReportAll({id: row.id}).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.getDeviceAList(this.clickNodeVal.value);
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+
+ },
+ //瀵煎嚭
+ handleDown() {
+ this.outLoading = true
+ incidentReportExport({deviceId: this.clickNodeVal.value}).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res], { type: 'application/octet-stream' });
+ this.$download.saveAs(blob, '璁惧楠屾敹.xlsx')
+ })
+ },
+ },
+ watch: {
+ // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
+ clickNodeVal(newVal) {
+ if (newVal.value) {
+ this.getDeviceAList(newVal.value);
+ }
+ },
+ dialogVisible(newVal) {
+ if (!newVal) {
+ this.form = {
+ sparePartsConfirmationList: [], // 澶囦欢纭List
+ fileClassConfirmationList: [], // 鏂囦欢纭List
+ installationAcceptanceRecordList: [], // 瀹夎楠屾敹璁板綍
+ acceptanceCheckRecordList: [], // 楠屾敹鏍告煡璁板綍
+ fileName: '', // 鏂囦欢鍚嶇О
+ systemFileName: '', // 绯荤粺鏂囦欢鍚嶇О
+ }
+ this.currentStep = 0 // 姝ラ鏉℃樉绀虹鍑犳
+ this.currentStepClick = 0 // 鐐瑰嚮姝ラ鏉″彉鍖�
+ this.$refs['form'].clearValidate()
+ }
+ }
+ }
+}
+function downloadImage(url) {
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = 'attachment.jpg'; // 鏂囦欢鍚�
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+}
+</script>
+
+<style scoped>
+>>>.el-radio {
+ color: #606266;
+ font-weight: 500;
+ cursor: pointer;
+ margin-right: 0px;
+ width: 10em;
+}
+
+.tables {
+ width: 100%;
+ height: calc(100vh - 17em);
+}
+
+.search {
+ background-color: #fff;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ position: relative;
+}
+
+.search_thing {
+ display: flex;
+ align-items: center;
+ height: 40px;
+}
+
+.search_label {
+ font-size: 14px;
+ text-align: right;
+}
+
+.search_input {
+ width: calc(100% - 120px);
+}
+
+.btns {
+ position: absolute;
+ right: 0px;
+ top: 40%;
+ transform: translate(0, -50%);
+ /* text-align: right; */
+}
+
+.search_thing {
+ display: flex;
+ margin-bottom: 10px;
+}
+
+.search_label {
+ /* width: 150px; */
+ text-align: right;
+ padding-right: 10px;
+}
+
+.search_input {
+ flex-grow: 1;
+}
+
+.line {
+ width: 20px;
+ height: 1px;
+ background-color: #ccc;
+ display: inline-block;
+ margin-right: 10px;
+}
+
+.form .search_label {
+ width: 120px;
+}
+</style>
diff --git a/src/views/CNAS/resourceDemand/device/component/check.vue b/src/views/CNAS/resourceDemand/device/component/check.vue
index 5dfe6b9..40e0de3 100644
--- a/src/views/CNAS/resourceDemand/device/component/check.vue
+++ b/src/views/CNAS/resourceDemand/device/component/check.vue
@@ -4,7 +4,7 @@
<div class="btns">
<el-button size="small" type="primary" @click="calibrationMaintenance()">鏍告煡椤圭洰缁存姢</el-button>
<el-button size="small" type="primary" @click="add('add')">娣诲姞鏍告煡璁板綍</el-button>
- <el-button size="small" type="primary">瀵煎嚭Excel</el-button>
+ <el-button size="small" type="primary" @click="downLoadPost">瀵煎嚭Excel</el-button>
</div>
<div class="tables" style="margin-top: 16px;">
<el-table :data="tableData" height="calc(100vh - 20em)">
@@ -42,14 +42,15 @@
</div>
<!-- 鏍″噯椤圭洰缁存姢 -->
- <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible0"
- title="鏍告煡椤圭洰缁存姢" top="5vh" width="70%">
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible0" title="鏍告煡椤圭洰缁存姢"
+ top="5vh" width="70%">
<h4>
<span style="display: flex;align-items: center;"><span class="line"></span><span>璁惧鏍告煡鍙傛暟缁存姢</span></span>
<el-button :loading="addCalibrateLoading" size="small" type="primary" @click="addCalibrate">娣� 鍔�</el-button>
</h4>
<div>
- <el-form ref="form0" :model="form0" :rules="form0Rules" label-position="right" label-width="120px">
+ <el-form ref="form0" :model="form0" :rules="form0Rules"
+ label-position="right" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="鏍告煡鍙傛暟:" prop="measurementParameter">
@@ -78,8 +79,9 @@
<span style="display: flex;align-items: center;"><span class="line"></span><span>璁惧鏍告煡鍙傛暟</span></span>
</h4>
<!-- 璁惧鏍″噯鍙傛暟琛ㄦ牸 -->
- <el-table ref="calibrateTable" v-loading="calibrateParamsLoading" :data="calibrateParams" max-height="450" stripe
- style="width: 100%">
+ <el-table ref="calibrateTable" v-loading="calibrateParamsLoading" :data="calibrateParams"
+ max-height="450"
+ stripe style="width: 100%">
<el-table-column label="缂栧彿" type="index" width="80"></el-table-column>
<el-table-column label="鏍告煡鍙傛暟" prop="measurementParameter"></el-table-column>
<el-table-column label="鏍告煡鑼冨洿" prop="rangeOfMeasurement"></el-table-column>
@@ -96,68 +98,71 @@
</el-dialog>
<!-- 娣诲姞鏍告煡璁板綍 -->
- <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible1"
- title="娣诲姞鏍告煡璁板綍" top="5vh" width="80%" @close="resetcalibrationRecord">
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible1" title="鏍告煡璁板綍" :before-close="handleClose"
+ top="5vh"
+ width="80%" @close="resetcalibrationRecord">
<div class="dialog-content">
<h4>
<span style="display: flex;align-items: center;">
- <span class="line"></span>
+ <span class="line"></span>
<span>娣诲姞璁惧鏍告煡璁板綍</span>
</span>
</h4>
- <el-form ref="calibrationRecord" :model="calibrationRecord" :rules="formRules" label-position="right"
- label-width="120px">
+ <el-form ref="calibrationRecord" :model="calibrationRecord" :rules="formRules"
+ label-position="right" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="鏍告煡浜�:" prop="unitOfMeasure">
<el-input v-model="calibrationRecord.unitOfMeasure" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="鏍告煡鏃ユ湡:" prop="calibrationDate">
- <el-date-picker v-model="calibrationRecord.calibrationDate" :disabled="operationType === 'view'"
- format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 90%" type="date"
- value-format="yyyy-MM-dd">
+ <el-date-picker v-model="calibrationRecord.calibrationDate" :disabled="operationType === 'view'" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ style="width: 90%" type="date" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="涓嬫鏍告煡鏃ユ湡:" label-width="140px" prop="nextCalibrationDate">
- <el-date-picker v-model="calibrationRecord.nextCalibrationDate" :disabled="operationType === 'view'"
- :picker-options="{ disabledDate: this.disabledDate }" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
- size="small" style="width: 90%" type="date" value-format="yyyy-MM-dd">
+ <el-date-picker v-model="calibrationRecord.nextCalibrationDate" :disabled="operationType === 'view'" :picker-options="{ disabledDate: this.disabledDate }"
+ format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small" style="width: 90%" type="date"
+ value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鏍告煡鍣ㄥ叿:" prop="calculatingApparatus">
<el-input v-model="calibrationRecord.calculatingApparatus" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="鏍告煡鏍囧噯閲忕▼:" prop="standardRange">
<el-input v-model="calibrationRecord.standardRange" :disabled="operationType === 'view'" size="small"
- style="width: 90%"></el-input>
+ style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="鏍告煡鏍囧噯涓嶇‘瀹氬害:" label-width="140px" prop="calibrationStandardUncertainty">
- <el-input v-model="calibrationRecord.calibrationStandardUncertainty"
- :disabled="operationType === 'view'" size="small" style="width: 90%"></el-input>
+ <el-input v-model="calibrationRecord.calibrationStandardUncertainty" :disabled="operationType === 'view'" size="small"
+ style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鏍告煡鎸囧涔�:" prop="byDocument">
<el-input v-model="calibrationRecord.byDocument" :disabled="operationType === 'view'"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="妫�鏌ユ姤鍛婄紪鍙�:" prop="certificateSerialNumber">
- <el-input v-model="calibrationRecord.certificateSerialNumber" :disabled="operationType === 'view'"
- size="small" style="width: 90%"></el-input>
+ <el-input v-model="calibrationRecord.certificateSerialNumber" :disabled="operationType === 'view'" size="small"
+ style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -171,16 +176,17 @@
</el-col>
<el-col :span="23">
<el-form-item label="闄勪欢锛�" prop="fileName">
- <el-input v-model="calibrationRecord.fileName"
- :style="`width: ${operationType === 'add' ? '90%' : '100%'};}`" disabled size="small">
+ <el-input v-model="calibrationRecord.fileName" :style="`width: ${operationType === 'add' ? '90%' : '100%'};}`" disabled
+ size="small">
<el-button v-if="operationType === 'add'" slot="append" icon="el-icon-delete-solid"
- @click="deleteFile"></el-button>
+ @click="deleteFile"></el-button>
</el-input>
- <el-upload v-if="operationType === 'add'" ref="upload" :action="action" :before-upload="beforeUpload"
- :headers="uploadHeader" :limit="1" :on-error="onError" :on-success="handleSuccessUp"
- :show-file-list="false" style="float: right;">
+ <el-upload v-if="operationType === 'add'" ref="upload" :action="action" :before-upload="beforeUpload" :headers="headers"
+ :limit="1" :on-error="onError" :on-success="handleSuccessUp"
+ :show-file-list="false"
+ style="float: right;">
<el-button :loading="upLoading" size="small" style="position: relative; top: -4px;"
- type="primary">闄勪欢涓婁紶
+ type="primary">闄勪欢涓婁紶
</el-button>
</el-upload>
</el-form-item>
@@ -188,7 +194,7 @@
<el-col :span="24">
<el-form-item label="澶囨敞:">
<el-input v-model="calibrationRecord.remark" :disabled="operationType === 'view'" :rows="3" size="small"
- style="width: 96%" type="textarea"></el-input>
+ style="width: 96%" type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -229,13 +235,12 @@
</el-table-column>
<el-table-column label="鍗曢」缁撴灉璇存槑" prop="singleResultStatement">
<template slot-scope="scope">
- <el-input v-model="scope.row.singleResultStatement" :disabled="operationType === 'view'"
- size="small"></el-input>
+ <el-input v-model="scope.row.singleResultStatement" :disabled="operationType === 'view'" size="small"></el-input>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer" style="float: right;margin-top: 10px">
- <el-button v-if="operationType === 'add'" @click="dialogVisible1 = false">鍙� 娑�</el-button>
+ <el-button v-if="operationType === 'add'" @click="handleClose">鍙� 娑�</el-button>
<el-button v-if="operationType === 'add'" type="primary" @click="addRecord">纭� 瀹�</el-button>
</span>
</div>
@@ -247,6 +252,7 @@
<script>
import file from '@/utils/file';
import { mapGetters } from "vuex";
+import {deviceMetricRecordExport} from "@/api/cnas/resourceDemand/device";
export default {
components: {},
props: {
@@ -561,7 +567,15 @@
message: '宸插彇娑堝垹闄�'
});
})
- }
+ },
+ downLoadPost() {
+ this.outLoading = true
+ deviceMetricRecordExport({deviceId: this.clickNodeVal.value}).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res],{ type: 'application/msword' });
+ this.$download.saveAs(blob, '璁惧鏍告煡.xlsx')
+ })
+ },
},
watch: {
// 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
diff --git a/src/views/CNAS/resourceDemand/device/component/fault.vue b/src/views/CNAS/resourceDemand/device/component/fault.vue
index a229fa7..c509165 100644
--- a/src/views/CNAS/resourceDemand/device/component/fault.vue
+++ b/src/views/CNAS/resourceDemand/device/component/fault.vue
@@ -278,6 +278,13 @@
<script>
import { dateFormat } from '@/utils/date'
import { mapGetters } from "vuex";
+import {
+ addOrUpdateDeviceFaultOne,
+ deleteCNASFile, deleteDeviceFaultOne,
+ deviceFaultOnePage, exportRewardAndPunishmentRecords,
+ selectDeviceByCode
+} from "@/api/cnas/resourceDemand/device";
+import {selectUserCondition} from "@/api/system/user";
export default {
props: {
clickNodeVal: {
@@ -310,7 +317,7 @@
computed: {
...mapGetters(["nickName"]),
action() {
- return this.javaApi + this.$api.personnel.saveCNASFile
+ return this.javaApi + '/personBasicInfo/saveCNASFile'
}
},
mounted() {
@@ -399,11 +406,7 @@
// 鑾峰彇褰撳墠鐘舵��
this.form.currentState = currentStepAction === 5 ? '鍏抽棴' : this.steps[currentStepAction]
this.form.deviceId = this.clickNodeVal.value
- this.$axios.post(this.$api.deviceCheck.addOrUpdateDeviceFaultOne, this.form, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
+ addOrUpdateDeviceFaultOne(this.form).then(res => {
if (res.code == 200) {
this.$message.success('鎻愪氦鎴愬姛')
this.getTableList(this.clickNodeVal.value)
@@ -425,7 +428,7 @@
},
openRecordAcceptance() {
// 鑾峰彇璁惧鍩虹淇℃伅
- this.$axios.get(this.$api.deviceScope.selectDeviceByCode + '?id=' + this.clickNodeVal.value).then(res => {
+ selectDeviceByCode({id: this.clickNodeVal.value}).then(res => {
this.form.deviceName = res.data.deviceName
this.form.manufacturer = res.data.manufacturer
this.form.specificationModel = res.data.specificationModel
@@ -436,11 +439,9 @@
},
// 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
getUserList() {
- this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
- if (res.code == 200) {
- this.users = res.data
- }
- })
+ selectUserCondition().then((res) => {
+ this.users = res.data;
+ });
},
handleSizeChange(val) {
this.search.size = val
@@ -456,7 +457,7 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + this.form.systemFileName).then(res => {
+ deleteCNASFile({fileName: this.form.systemFileName}).then(res => {
if (res.code == 200) {
this.$message.success('鍒犻櫎鎴愬姛锛�')
}
@@ -477,7 +478,7 @@
this.form.fileName = response.data
this.$message.success('涓婁紶鎴愬姛')
} else {
- this.$message.error(response.message)
+ this.$message.error(response.msg)
}
},
onError(error, file, fileList) {
@@ -505,7 +506,13 @@
},
//鑾峰彇鎵�鏈変俊鎭�
getTableList(deviceId) {
- this.$axios.get(this.$api.deviceCheck.deviceFaultOnePage + '?deviceId=' + deviceId + "&size=" + this.search.size + "¤t=" + this.search.current + "&processNumber=" + this.search.processNumber).then(res => {
+ const params = {
+ deviceId: deviceId,
+ size: this.search.size,
+ current: this.search.current,
+ processNumber: this.search.processNumber,
+ }
+ deviceFaultOnePage(params).then(res => {
if (res.code == 200) {
this.faultParam = res.data.records
this.search.total = res.data.total
@@ -515,19 +522,10 @@
//瀵煎嚭
handleDown() {
this.outLoading = true
- this.$axios.post(this.$api.deviceCheck.exportRewardAndPunishmentRecords, {
- deviceId: this.clickNodeVal.value
- }, { responseType: "blob" }).then(res => {
+ exportRewardAndPunishmentRecords({deviceId: this.clickNodeVal.value}).then(res => {
this.outLoading = false
- this.$message.success('瀵煎嚭鎴愬姛')
const blob = new Blob([res], { type: 'application/octet-stream' });
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.href = url;
- link.download = '璁惧鏁呴殰琛�.xlsx';
- link.click();
- }).finally(() => {
- this.outLoading = false
+ this.$dowmload.saveAs(blob, '璁惧鏁呴殰琛�.xlsx')
})
},
selectAllByOne(row) {
@@ -556,7 +554,7 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- this.$axios.delete(this.$api.deviceCheck.deleteDeviceFaultOne + '?id=' + row.id).then(res => {
+ deleteDeviceFaultOne({id: row.id}).then(res => {
if (res.code == 200) {
this.$message.success('鍒犻櫎鎴愬姛')
this.getTableList(this.clickNodeVal.value)
diff --git a/src/views/CNAS/resourceDemand/device/component/files.vue b/src/views/CNAS/resourceDemand/device/component/files.vue
index 40ac949..b6381d6 100644
--- a/src/views/CNAS/resourceDemand/device/component/files.vue
+++ b/src/views/CNAS/resourceDemand/device/component/files.vue
@@ -7,7 +7,7 @@
<el-button type="primary" size="small" @click="openEditForm" style="">淇妗f</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true" style="">娣诲姞闄勪欢</el-button>
<el-button type="primary" size="small" @click="deviceDialog = true" style="">鏌ョ湅璁惧浜岀淮鐮�</el-button>
- <el-button type="primary" size="small" @click="handleDownOne" style="">瀵煎嚭</el-button>
+<!-- <el-button type="primary" size="small" @click="handleDownOne" style="">瀵煎嚭</el-button>-->
</div>
</div>
<el-divider></el-divider>
@@ -16,7 +16,7 @@
<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;">
+ 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>
@@ -26,8 +26,11 @@
<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">
@@ -46,8 +49,11 @@
<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">
@@ -60,7 +66,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">
@@ -74,7 +80,10 @@
</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> -->
@@ -105,10 +114,10 @@
<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 :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">
@@ -121,8 +130,13 @@
</div>
<div class="form-item">
<label>妫�楠岄」</label>
- <el-tooltip class="item" effect="dark" :content="Mdata.insProductItem" placement="top">
- <span class="text-ellipsis">{{ Mdata.insProductItem }}</span>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="Mdata.insProductItem"
+ placement="top"
+ >
+ <span class="text-ellipsis" >{{ Mdata.insProductItem }}</span>
</el-tooltip>
</div>
<div class="form-item">
@@ -131,16 +145,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>
@@ -170,27 +184,27 @@
<el-table-column prop="quantity" label="浠芥暟" min-width="80" />
<el-table-column prop="pageCount" label="椤电爜" min-width="80" />
<el-table-column prop="provider" label="鎻愪緵鑰�" min-width="150" />
- <el-table-column prop="provideDate" label="褰掓。鏃ユ湡" min-width="150" />
+ <el-table-column prop="provideDate" label="鎻愪緵鏃ユ湡" min-width="150" />
<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="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;max-height: 75vh;overflow-y: auto;">
+ <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-col :span="7">
<el-col>
<!-- 鍥剧墖 -->
<el-image class="img" style="width:100%;height: 320px;margin-bottom:16px"
- :src="javaApi + '/img/' + editData.imageUpload">
+ :src="javaApi + '/img/' + editData.imageUpload">
<div slot="error" class="image-error" style="width: calc(100% - 2px);
height: 318px;
border-radius: 16px;
@@ -222,7 +236,7 @@
<el-col :span="7">
<el-form :model="editData" label-width="116px" ref="rules2" :rules="rules1">
<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
- <el-input v-model="editData.calibrationServices" size="small"></el-input>
+ <el-input v-model="editData.calibrationServices" disabled size="small"></el-input>
</el-form-item>
<el-form-item label="璧勪骇缂栫爜:">
<el-input v-model="editData.assetCode" size="small"></el-input>
@@ -238,12 +252,12 @@
</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="閫夋嫨鏃ユ湡">
+ value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item label="鏍″噯鏈夋晥鏈�:" prop="activationDate">
+ <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="閫夋嫨鏃ユ湡">
+ value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
<el-form-item label="璐熻矗浜�:">
@@ -264,28 +278,28 @@
<el-col :span="7">
<el-form :model="editData" label-width="140px" ref="ruleForm" :rules="rules1">
<!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:" prop="subordinateDepartmentsId">
+ <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">
+ :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>
+ 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="editData.lastCalibrationDate" format="yyyy-MM-dd"
+ <!-- <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-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-date-picker>
- </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">
@@ -305,7 +319,7 @@
<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-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>
@@ -324,8 +338,9 @@
<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="uploadHeader" :on-change="beforeUpload"
- :on-error="onError" ref='upload' class="avatar-uploader">
+ 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>
@@ -341,7 +356,7 @@
</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">
@@ -370,13 +385,13 @@
<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>
+ :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>
+ :min="0" :max="10"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -386,8 +401,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="褰掓。鏃ユ湡锛�">
- <el-date-picker type="date" style="width:100%" placeholder="璇烽�夋嫨鏃ユ湡" size="small"
- v-model="addFile.provideDate" 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">
@@ -397,9 +412,9 @@
</el-col>
<el-col :span="24">
<el-form-item label="闄勪欢锛�" style="float: left;">
- <el-upload class="upload-demo" :action="action" :headers="uploadHeader" 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>
diff --git a/src/views/CNAS/resourceDemand/device/component/maintenance.vue b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
index 9ea4f5a..c875750 100644
--- a/src/views/CNAS/resourceDemand/device/component/maintenance.vue
+++ b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
@@ -5,18 +5,18 @@
<div class="search_thing">
<div class="search_label">娴佺▼缂栧彿锛�</div>
<div class="search_input"><el-input v-model="search.deviceNumber" clearable placeholder="璇疯緭鍏�" size="small"
- @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input></div>
+ @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input></div>
</div>
- <div class="search_thing" style="padding-left: 30px;">
+ <div class="search_thing" style="padding-left: 20px;">
<el-button size="small" @click="resetSearch">閲� 缃�</el-button>
<el-button size="small" type="primary" @click="getAllMessage(clickNodeVal.value)">鏌� 璇�</el-button>
</div>
<div class="btns">
<el-button size="small" type="primary" @click="dialogVisible = true; add()">娣诲姞缁存姢璁板綍</el-button>
- <el-button :loading="outLoading" size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button>
+ <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵煎嚭</el-button>
</div>
</div>
- <div class="tables" style="margin-top: 10px;">
+ <div class="tables" style="margin-top: 16px;">
<el-table ref="table" :data="MaintainParam" height="calc(100vh - 20em)">
<el-table-column label="搴忓彿" type="index" width="120">
<template v-slot="scope">
@@ -31,7 +31,7 @@
<el-table-column label="鎻愪氦浜�" min-width="150" prop="name" />
<el-table-column label="鎻愪氦鏃ユ湡" min-width="150" prop="date">
</el-table-column>
- <el-table-column fixed="right" label="鎿嶄綔" width="110">
+ <el-table-column fixed="right" label="鎿嶄綔" width="150">
<template slot-scope="scope">
<el-button size="small" type="text" @click="handleViewClick(scope.row)">鏌ョ湅</el-button>
<el-button size="small" type="text" @click="handleDeleteClick(scope.$index, scope.row)">鍒犻櫎</el-button>
@@ -39,13 +39,14 @@
</el-table-column>
</el-table>
<el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]"
- :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
- @current-change="handleCurrentChange">
+ :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange">
</el-pagination>
</div>
<!-- 鏂板缓缁存姢 -->
- <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible" title="娣诲姞缁存姢璁板綍"
- top="5vh" width="60%">
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible"
+ title="娣诲姞缁存姢璁板綍"
+ top="5vh" width="60%">
<el-form ref="form" :model="formData" label-width="130px">
<el-row>
<el-col :span="24">
@@ -61,25 +62,25 @@
<el-col :span="12">
<el-form-item label="绠$悊缂栧彿:" prop="managementNumber">
<el-input v-model="formData.managementNumber" clearable disabled placeholder="璇疯緭鍏�"
- size="small"></el-input>
+ size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゅ唴瀹�', trigger: 'blur' }]" label="缁存姢鍐呭:"
- prop="content">
+ prop="content">
<el-input v-model="formData.content" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゆ椂闂�', trigger: 'blur' }]" label="缁存姢鏃堕棿:" prop="date">
+ <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨缁存姢鏃堕棿', trigger: 'blur' }]" label="缁存姢鏃堕棿:" prop="date">
<el-date-picker v-model="formData.date" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small"
- style="width:100%" type="date" value-format="yyyy-MM-dd">
+ style="width:100%" type="date" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゆ椂闂�', trigger: 'blur' }]" label="缁存姢绫诲瀷:"
- prop="maintenanceType">
+ <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨缁存姢绫诲瀷', trigger: 'blur' }]" label="缁存姢绫诲瀷:"
+ prop="maintenanceType">
<el-radio-group v-model="formData.maintenanceType" :disabled="!this.editMode">
<el-radio :label="0">浣跨敤鍓嶅悗缁存姢</el-radio>
<el-radio :label="1">璁″垝涓淮鎶�</el-radio>
@@ -88,10 +89,15 @@
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇烽�夋嫨涓嬫缁存姢鏃堕棿', trigger: 'blur' }]" label="涓嬫缁存姢鏃堕棿:"
- prop="nextDate">
- <el-date-picker v-model="formData.nextDate" :picker-options="{ disabledDate: this.disabledDate }"
- format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width:100%" type="date"
- value-format="yyyy-MM-dd">
+ prop="nextDate">
+ <el-date-picker
+ v-model="formData.nextDate"
+ :picker-options="{ disabledDate: this.disabledDate }"
+ format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡" size="small"
+ style="width:90%"
+ type="date"
+ value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
@@ -121,7 +127,7 @@
deleteDeviceMaintenance,
selectDeviceByCode,
addDeviceMaintenance,
- getDeviceMaintenancePage,
+ getDeviceMaintenancePage, deviceMaintenanceExport,
} from '@/api/cnas/resourceDemand/device.js'
export default {
props: {
@@ -179,10 +185,10 @@
// 瀵煎嚭
handleDownOne() {
this.outLoading = true
- exportMaintenanceRecord({ deviceId: this.clickNodeVal.value }).then(res => {
+ deviceMaintenanceExport({ deviceId: this.clickNodeVal.value }).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$download.saveAs(blob, '璁惧缁存姢淇濆吇璁板綍.doc')
+ this.$download.saveAs(blob, '璁惧缁存姢.xlsx')
})
},
//鎿嶄綔璇︽儏鍒犻櫎
@@ -193,13 +199,12 @@
type: 'warning'
}).then(() => {
deleteDeviceMaintenance({ id: row.id }).then(res => {
+ this.getAllMessage(this.clickNodeVal.value)
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛!'
+ });
})
- // this.MaintainParam.splice(index, 1);
- this.getAllMessage(this.clickNodeVal.value)
- this.$message({
- type: 'success',
- message: '鍒犻櫎鎴愬姛!'
- });
}).catch(() => {
this.$message({
type: 'info',
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index fa8ecd6..739ac7f 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -34,354 +34,332 @@
<lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 320px)'"
:page="page" @pagination="pagination"></lims-table>
</div>
- <el-dialog :title="isUp ? '璁惧璇︽儏' : '妗f淇'" :visible.sync="dialogVisible" width="70%" top="5vh"
- :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;marginBottom:16px"
- :src="javaApi + '/img/' + formData.imageUpload">
- <div slot="error" class="image-error" style="width: calc(100% -2px);
+ <el-dialog :title="isUp ? '璁惧璇︽儏' : '妗f淇'" :visible.sync="dialogVisible" width="70%"
+ top="5vh"
+ :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="120px">
- <el-form-item label="浠櫒鍚嶇О:" required prop="deviceName">
- <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
- </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 v-model="formData.assetCode" :disabled="isUp" size="small"></el-input>
- </el-form-item>
- <el-form-item label="浜у湴:">
- <el-input v-model="formData.origin" :disabled="isUp" 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="绠$悊缂栧彿:" 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" :disabled="isUp"
- 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-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="140px" ref="ruleForm">
- <!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:" required>
- <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="鏈�杩戞牎鍑嗘棩鏈�:">
- <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.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 :disabled="isUp" style="width:100%" v-model="formData.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 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="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
- <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input>
- </el-form-item>
- <el-form-item label="琚巿鏉冧汉:">
- <el-select v-model="formData.authorizedPerson" multiple :disabled="isUp" 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="鍥剧墖:">
- <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 :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
- accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload"
- :on-error="onError" ref='upload'>
- <el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
- </el-upload>
- </div>
- </el-form-item>
- </el-form>
- </el-col>
- </el-row>
- <span slot="footer" class="dialog-footer">
+ <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="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="浠櫒鍚嶇О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 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="绠$悊缂栧彿:" 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="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="涓嬫鏍″噯鏃ユ湡:" 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="鏍″噯鍛ㄦ湡锛堟湀锛�:" 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 :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;padding-top: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-dialog title="鏂板璁惧" top="5vh" :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;margin-bottom:16px"
- :src="javaApi + '/img/' + formData2.imageUpload">
- <div slot="error" class="image-error" style="width: calc(100% -2px);
+ </el-dialog>
+ <!-- 鏂板-->
+ <el-dialog title="鏂板璁惧" top="5vh" :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;margin-bottom: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="120px">
- <el-form-item label="浠櫒鍚嶇О:" required>
- <el-input v-model="formData2.deviceName" size="small"></el-input>
- </el-form-item>
- <el-form-item label="浠櫒鍚嶇ОEN:" required>
- <el-input v-model="formData2.enDeviceName" size="small"></el-input>
- </el-form-item>
- <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.manufacturer" size="small"></el-input>
- </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:">
+ <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="120px">
+ <el-form-item label="浠櫒鍚嶇О:" required>
+ <el-input v-model="formData2.deviceName" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="浠櫒鍚嶇ОEN:" required>
+ <el-input v-model="formData2.enDeviceName" size="small"></el-input>
+ </el-form-item>
+ <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.manufacturer" size="small"></el-input>
+ </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.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.assetCode" size="small"></el-input>
- </el-form-item>
- <el-form-item label="浜у湴:">
- <el-input v-model="formData2.origin" 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="绠$悊缂栧彿:" 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.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 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="璐熻矗浜�:">
- <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-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>
- <!-- 鍙宠竟甯冨眬 -->
- <el-col :span="7">
- <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
- <!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:" required>
- <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="formData2.insProductIds" :options="options" :show-all-levels="false" :props="props"
- placeholder="璇烽�夋嫨" size="small" style="width:100%" collapse-tags separator="," filterable
- clearable></el-cascader>
- </el-form-item>
- <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
- <el-date-picker style="width:100%" v-model="formData2.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="formData2.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 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-input v-model="formData2.unitPrice" size="small"></el-input>
- </el-form-item>
- <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>
- </el-select>
- </el-form-item>
- <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
- <el-input v-model="formData2.calibrationDate" size="small"></el-input>
- </el-form-item>
- <el-form-item label="琚巿鏉冧汉:">
- <el-select v-model="formData2.authorizedPerson" multiple 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="鍥剧墖:">
- <div
- style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;line-height: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="handleSuccessUpImg2" :show-file-list="false"
- accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload"
- :on-error="onError" ref='upload'>
- <el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
- </el-upload>
- </div>
- </el-form-item>
- </el-form>
- </el-col>
- </el-row>
- <span slot="footer" class="dialog-footer">
+ <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.factoryNo" size="small"></el-input>
+ </el-form-item>
+ <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.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 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="绠$悊浜�:">
+ <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-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>
+ <!-- 鍙宠竟甯冨眬 -->
+ <el-col :span="7">
+ <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
+ <!-- 瀹為獙瀹ゅ垪琛� -->
+ <el-form-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="formData2.insProductIds" :options="options" :show-all-levels="false"
+ :props="props" placeholder="璇烽�夋嫨" size="small" style="width:100%" collapse-tags
+ separator="," filterable clearable></el-cascader>
+ </el-form-item>
+ <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-input v-model="formData2.unitPrice" size="small"></el-input>
+ </el-form-item>
+ <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.id" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+ <el-input v-model="formData2.calibrationDate" size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鍥剧墖:">
+ <div
+ style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;line-height: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="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;padding-top: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="submitForm2" :loading="upLoad2">纭� 瀹�</el-button>
</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-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>
+ </el-dialog>
<dataAcquisitionConfig v-if="showData" :deviceId="deviceId" />
</div>
</template>
diff --git a/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue b/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
index 8ab8536..436b01f 100644
--- a/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
+++ b/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
@@ -2,7 +2,7 @@
<template>
<div>
<div style="margin: 10px 0;text-align: right">
- <el-button size="small" type="primary" @click="getList">鍒锋柊</el-button>
+<!-- <el-button size="small" type="primary" @click="getList">鍒锋柊</el-button>-->
<el-button size="small" type="primary" @click="dialogVisible = true">鍙楁帶鐢宠</el-button>
</div>
<el-table :data="tableData" border height="calc(100vh - 18em)">
diff --git a/src/views/CNAS/resourceDemand/device/component/operationOverview.vue b/src/views/CNAS/resourceDemand/device/component/operationOverview.vue
index b420b3e..7f87754 100644
--- a/src/views/CNAS/resourceDemand/device/component/operationOverview.vue
+++ b/src/views/CNAS/resourceDemand/device/component/operationOverview.vue
@@ -6,11 +6,11 @@
<div class="page-right">
<div class="form-item">
<label>鍚敤鏃堕暱(骞�)</label>
- <span>{{ deviceData.usedYears }}</span>
+ <span>{{deviceData.usedYears}}</span>
</div>
<div class="form-item">
<label>鏁呴殰娆℃暟</label>
- <span>{{ deviceData.faultCount }}</span>
+ <span>{{deviceData.faultCount}}</span>
</div>
<div class="form-item">
<label>鏈�杩戞晠闅滄棩鏈�</label>
@@ -18,11 +18,11 @@
</div>
<div class="form-item">
<label>鏈�杩戞牎鍑嗘棩鏈�</label>
- <span>{{ deviceData.lastCalibrationDate }}</span>
+ <span>{{deviceData.lastCalibrationDate }}</span>
</div>
<div class="form-item">
<label>涓嬫鏍″噯鏃ユ湡</label>
- <span>{{ deviceData.nextCalibrationDate }}</span>
+ <span>{{deviceData.nextCalibrationDate}}</span>
</div>
<div class="form-item">
<label>鏍″噯鎬荤粨璁�</label>
@@ -30,19 +30,19 @@
</div>
<div class="form-item">
<label>鏈�杩戞牳鏌ユ棩鏈�</label>
- <span>{{ deviceData.lastExamineDate }}</span>
+ <span>{{deviceData.lastExamineDate}}</span>
</div>
<div class="form-item">
<label>涓嬫鏍告煡鏃ユ湡</label>
- <span>{{ deviceData.nextExamineDate }}</span>
+ <span>{{deviceData.nextExamineDate}}</span>
</div>
<div class="form-item">
<label>鏍告煡鎬荤粨璁�</label>
- <span :class="formatColorStyle(deviceData.examineStatus)">{{ deviceData.examineStatus }}</span>
+ <span :class="formatColorStyle(deviceData.examineStatus)">{{deviceData.examineStatus}}</span>
</div>
<div class="form-item">
<label>璁惧杩愯鐘舵��</label>
- <span :class="formatColorStyle(deviceData.deviceStatus)">{{ deviceData.deviceStatus }}</span>
+ <span :class="formatColorStyle(deviceData.deviceStatus)">{{deviceData.deviceStatus}}</span>
</div>
<div class="form-item">
<label>鏈�杩戠淮鎶ゆ棩鏈�</label>
@@ -67,6 +67,7 @@
<script>
import EchartModule from '@/components/Echart/echart.vue'
+import {device} from "@/api/cnas/resourceDemand/device";
export default {
components: { EchartModule },
@@ -143,7 +144,7 @@
},
//鑾峰彇璁惧杩愯鎬昏淇℃伅
getDeviceInfo(deviceId) {
- this.$axios.get(this.$api.deviceFault.getDevice + "/" + deviceId).then(res => {
+ device({deviceId: deviceId}).then(res => {
if (res.code == 200) {
this.deviceData = res.data
this.chartData.value = res.data.progress
diff --git a/src/views/CNAS/resourceDemand/device/component/record.vue b/src/views/CNAS/resourceDemand/device/component/record.vue
index 27c094f..d4eec0c 100644
--- a/src/views/CNAS/resourceDemand/device/component/record.vue
+++ b/src/views/CNAS/resourceDemand/device/component/record.vue
@@ -3,23 +3,20 @@
<div>
<div class="search">
<div class="search_thing">
- <div class="search_label">鏍峰搧缂栧彿锛�</div>
- <el-input v-model="search.sampleCode" clearable placeholder="璇疯緭鍏�" size="small" style="width: 60%;"
- @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
- <div class="search_label">绠$悊缂栧彿锛�</div>
- <el-input v-model="search.managementNumber" clearable placeholder="璇疯緭鍏�" size="small" style="width: 60%;"
- @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
+ <div class="search_label">娴佺▼缂栧彿锛�</div>
+ <el-input v-model="search.deviceNumber" clearable placeholder="璇疯緭鍏�" size="small" style="width: 70%;"
+ @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
</div>
<div class="search_thing" style="padding-left: 30px;">
<el-button size="small" @click="resetSearch">閲� 缃�</el-button>
<el-button size="small" type="primary" @click="getTableList(clickNodeVal.value)">鏌� 璇�</el-button>
</div>
- <div class="btns" v-if="isMenuList != 1">
+ <div class="btns">
<el-button size="small" type="primary" @click="dialogVisible = true, openAdd()">鏂� 寤�</el-button>
- <el-button :loading="outLoading" size="small" type="primary" @click="openHandleOut">瀵� 鍑�</el-button>
+ <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵� 鍑�</el-button>
</div>
</div>
- <div class="tables" style="margin-top: 10px;">
+ <div class="tables" style="margin-top: 16px;">
<el-table ref="Recordtable" :data="formParamList" height="calc(100vh - 20em)">
<!-- 琛ㄦ牸鍒� -->
<el-table-column label="搴忓彿" type="index" width="120">
@@ -27,117 +24,137 @@
<span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
</template>
</el-table-column>
- <el-table-column label="鏍峰搧缂栧彿" min-width="180" prop="sampleCode" />
+ <el-table-column label="鏍峰搧缂栧彿" min-width="180" prop="deviceNumber" />
<el-table-column label="璁惧鍚嶇О" min-width="150" prop="deviceName" />
<el-table-column label="绠$悊缂栧彿" min-width="150" prop="managementNumber" />
+ <el-table-column label="娓╁害(掳C)" min-width="120" prop="temperature" />
+ <el-table-column label="婀垮害(%RH)" min-width="120" prop="humidity" />
<el-table-column label="浣跨敤鍓�" min-width="120" prop="useBefore">
<template v-slot="scope">
- {{ scope.row.useBefore === 1 ? '鑹ソ' : '寮傚父' }}
+ {{ scope.row.useBefore === 1 ? '姝e父' : '涓嶆甯�' }}
</template>
</el-table-column>
<el-table-column label="浣跨敤鍚�" min-width="120" prop="useAfter">
<template v-slot="scope">
- {{ scope.row.useAfter === 1 ? '鑹ソ' : '寮傚父' }}
+ {{ scope.row.useAfter === 1 ? '姝e父' : '涓嶆甯�' }}
</template>
</el-table-column>
- <!-- <el-table-column label="寮傚父鎯呭喌" min-width="120" prop="abnormal" />-->
+ <el-table-column label="寮傚父鎯呭喌" min-width="120" prop="abnormal" />
<el-table-column label="浣跨敤寮�濮嬫棩鏈�" min-width="150" prop="useStartDate" />
<el-table-column label="浣跨敤缁撴潫鏃ユ湡" min-width="150" prop="useEndDate" />
<el-table-column label="浣跨敤浜�" min-width="120" prop="usePerson" />
<el-table-column label="澶囨敞" min-width="120" prop="remark" />
<!-- 鎿嶄綔鎸夐挳 -->
- <el-table-column fixed="right" label="鎿嶄綔" width="150" align="center">
+ <el-table-column fixed="right" label="鎿嶄綔" width="130">
<template slot-scope="scope">
- <el-button size="small" type="text" @click="showDetailsDialog('edit', scope.row)">缂栬緫</el-button>
- <el-button size="small" type="text" @click="showDetailsDialog('view', scope.row)">鏌ョ湅</el-button>
+ <el-button size="small" type="text" @click="showDetailsDialog(scope.row)">鏌ョ湅璇︽儏</el-button>
<el-button size="small" type="text" @click="handleDeleteClick(scope.$index, scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]"
- :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
- @current-change="handleCurrentChange">
+ :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange">
</el-pagination>
</div>
<el-dialog :visible.sync="dialogVisible" title="浠櫒璁惧浣跨敤璁板綍琛�" top="5vh" width="55%">
<el-form ref="form" :model="form" label-width="130px">
<el-row>
<el-col :span="24">
- <el-form-item :rules="[{ required: true, message: '鏍峰搧缂栧彿', trigger: 'blur' }]" label="鏍峰搧缂栧彿:"
- prop="sampleCode">
- <el-input v-model="form.sampleCode" :disabled="operationType === 'view'" size="small"
- style="width: 100%;"></el-input>
+ <el-form-item label="鏍峰搧缂栧彿:">
+ <el-input v-model="form.deviceNumber" disabled size="small" style="width: 100%;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="璁惧鍚嶇О:" required>
- <el-input v-model="form.deviceName" :disabled="operationType === 'view'" size="small"
- style="width: 100%;"></el-input>
+ <el-input v-model="form.deviceName" :disabled="true" size="small" style="width: 100%;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="绠$悊缂栧彿:" required>
- <el-input v-model="form.managementNumber" :disabled="operationType === 'view'" size="small"
- style="width: 100%;"></el-input>
+ <el-input v-model="form.managementNumber" :disabled="true" size="small" style="width: 100%;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ユ俯搴�(掳C)', trigger: 'blur' }]" label="娓╁害(掳C):"
+ prop="temperature">
+ <el-input v-model="form.temperature" :disabled="isShow" size="small" style="width: 100%;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ユ箍搴�(%RH)', trigger: 'blur' }]" label="婀垮害(%RH):"
+ prop="humidity">
+ <el-input v-model="form.humidity" :disabled="isShow" size="small" style="width: 100%;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇烽�夋嫨浣跨敤鍓�', trigger: 'change' }]" label="浣跨敤鍓�:"
- prop="useBefore">
- <el-radio-group v-model="form.useBefore" :disabled="operationType === 'view'">
- <el-radio :label="1">鑹ソ</el-radio>
- <el-radio :label="0">寮傚父</el-radio>
+ prop="useBefore">
+ <el-radio-group v-model="form.useBefore" :disabled="isShow">
+ <el-radio :label="1">姝e父</el-radio>
+ <el-radio :label="0">涓嶆甯�</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇烽�夋嫨浣跨敤鍚�', trigger: 'change' }]" label="浣跨敤鍚�:"
- prop="useAfter">
- <el-radio-group v-model="form.useAfter" :disabled="operationType === 'view'">
- <el-radio :label="1">鑹ソ</el-radio>
- <el-radio :label="0">寮傚父</el-radio>
+ prop="useAfter">
+ <el-radio-group v-model="form.useAfter" :disabled="isShow">
+ <el-radio :label="1">姝e父</el-radio>
+ <el-radio :label="0">涓嶆甯�</el-radio>
</el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col v-if="form.useAfter === 0" :span="24">
+ <el-form-item :rules="[{ required: form.useAfter === 0, message: '璇疯緭鍏ュ紓甯告儏鍐�', trigger: 'blur' }]" label="寮傚父鎯呭喌:"
+ prop="abnormal">
+ <el-input v-model="form.abnormal" :disabled="isShow" size="small" style="width: 100%;"
+ type="textarea"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄦ棩鏈�', trigger: 'blur' }]" label="浣跨敤鏃ユ湡:"
- prop="useDateList">
- <el-date-picker v-model="form.useDateList" :disabled="operationType === 'view'" end-placeholder="缁撴潫鏃ユ湡"
- format="yyyy-MM-dd HH:mm:ss" size="small" start-placeholder="寮�濮嬫棩鏈�" style="width:100%"
- type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss">
+ prop="useDateList">
+
+ <el-date-picker
+ v-model="form.useDateList"
+ :disabled="isShow"
+ value-format="yyyy-MM-dd"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
</el-date-picker>
+ <!-- <el-date-picker
+ v-model="form.useDateList" :disabled="isShow" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd HH:mm:ss"
+ size="small"
+ start-placeholder="寮�濮嬫棩鏈�"
+ style="width:100%"
+ type="datetimerange"
+ value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄤ汉', trigger: 'change' }]" label="浣跨敤浜�:"
- prop="usePersonId">
- <el-select @change="usePersonName" v-model="form.usePersonId" :disabled="operationType === 'view'"
- placeholder="璇烽�夋嫨" size="small" style="width: 100%">
- <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
+ prop="usePerson">
+ <el-input v-model="form.usePerson" :disabled="isShow" size="small" style="width:100%"></el-input>
+ <!-- <el-select v-model="form.usePerson" placeholder="璇烽�夋嫨" :disabled="isShow" 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>
</el-col>
<el-col :span="24">
<el-form-item label="澶囨敞:">
- <el-input v-model="form.remark" :disabled="operationType === 'view'" type="textarea"></el-input>
+ <el-input v-model="form.remark" :disabled="isShow" type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
- <el-button v-if="operationType !== 'view'" type="primary" @click="saveRecord">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog :visible.sync="ratifyDialog" title="瀵煎嚭" width="30%" @close="ratifyDialog = false, exportDate = ''">
- <span>鏃堕棿锛�
- <el-date-picker v-model="exportDate" format="yyyy-MM" placeholder="閫夋嫨鏈堜唤" size="small" style="width:100%"
- type="month" value-format="yyyy-MM">
- </el-date-picker>
- </span>
- <span slot="footer" class="dialog-footer">
- <el-button @click="ratifyDialog = false, exportDate = ''">鍙� 娑�</el-button>
- <el-button :loading="outLoading" type="primary" @click="handleDown">瀵� 鍑�</el-button>
+ <el-button v-if="!isShow" @click="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button v-if="!isShow" type="primary" @click="saveRecord">纭� 瀹�</el-button>
</span>
</el-dialog>
</div>
diff --git a/src/views/CNAS/resourceDemand/device/index.vue b/src/views/CNAS/resourceDemand/device/index.vue
index 0c79ff6..929ed5e 100644
--- a/src/views/CNAS/resourceDemand/device/index.vue
+++ b/src/views/CNAS/resourceDemand/device/index.vue
@@ -34,18 +34,16 @@
<div v-if="isShowAll" style="height: 100%;">
<el-tabs v-model="menuListActiveName" class="main_right" type="border-card">
<el-tab-pane label="璁惧鎬昏" name="璁惧鎬昏">
- <!-- 瀹屾垚鎺ュ彛 -->
<overview v-if="menuListActiveName == '璁惧鎬昏'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
<el-tab-pane label="璁惧宸ュ叿鏄庣粏" name="璁惧宸ュ叿鏄庣粏">
- <!-- 瀹屾垚鎺ュ彛 -->
<management v-if="menuListActiveName == '璁惧宸ュ叿鏄庣粏'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
<el-tab-pane label="璧勬簮棰勫畾" name="璧勬簮棰勫畾">
<resourceReservation v-if="menuListActiveName == '璧勬簮棰勫畾'" :clickNodeVal="clickNodeVal"/>
</el-tab-pane>
<el-tab-pane label="浣滀笟鎸囧涔�" name="浣滀笟鎸囧涔�">
- <operationInstruction v-if="tabListActiveName == '浣滀笟鎸囧涔�'" :clickNodeVal="clickNodeVal" />
+ <operationInstruction v-if="menuListActiveName == '浣滀笟鎸囧涔�'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
</el-tabs>
</div>
@@ -55,37 +53,29 @@
<operationOverview v-if="tabListActiveName == '璁惧杩愯鎬昏'" :clickNodeVal="clickNodeVal"/>
</el-tab-pane>
<el-tab-pane label="璁惧妗f" name="璁惧妗f">
- <!-- 瀹屾垚鎺ュ彛 -->
<files v-if="tabListActiveName == '璁惧妗f'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
<el-tab-pane label="璁惧楠屾敹" name="璁惧楠屾敹">
- <!-- 瀹屾垚鎺ュ彛 -->
- <equipment-acceptance v-if="tabListActiveName == '璁惧楠屾敹'"
- :clickNodeVal="clickNodeVal"></equipment-acceptance>
+ <checkAndAccept v-if="tabListActiveName == '璁惧楠屾敹'" :clickNodeVal="clickNodeVal"/>
</el-tab-pane>
<el-tab-pane label="璁惧鏍″噯" name="璁惧鏍″噯">
- <!-- 瀹屾垚鎺ュ彛 -->
<calibration v-if="tabListActiveName == '璁惧鏍″噯'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
<el-tab-pane label="璁惧鏍告煡" name="璁惧鏍告煡">
<check v-if="tabListActiveName == '璁惧鏍告煡'" :clickNodeVal="clickNodeVal"/>
</el-tab-pane>
<el-tab-pane label="璁惧缁存姢" name="璁惧缁存姢">
- <!-- 瀹屾垚鎺ュ彛 -->
<maintenance v-if="tabListActiveName == '璁惧缁存姢'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
<el-tab-pane label="璁惧鍊熺敤" name="璁惧鍊熺敤">
- <!-- 瀹屾垚鎺ュ彛 -->
<borrow v-if="tabListActiveName == '璁惧鍊熺敤'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
<el-tab-pane label="璁惧鏁呴殰" name="璁惧鏁呴殰">
<fault v-if="tabListActiveName == '璁惧鏁呴殰'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
- <!-- 瀹屾垚鎺ュ彛 -->
<el-tab-pane label="浣跨敤璁板綍" name="浣跨敤璁板綍">
<record v-if="tabListActiveName == '浣跨敤璁板綍'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
- <!-- 瀹屾垚鎺ュ彛 -->
<el-tab-pane label="璁惧鍋滅敤/鍚敤" name="璁惧鍋滅敤/鍚敤">
<state v-if="tabListActiveName == '璁惧鍋滅敤/鍚敤'" :clickNodeVal="clickNodeVal" />
</el-tab-pane>
@@ -102,7 +92,7 @@
import operationInstruction from "./component/operationInstruction.vue";
import operationOverview from "./component/operationOverview.vue";
import files from "./component/files.vue";
-import EquipmentAcceptance from "./component/equipmentAcceptance.vue";
+import checkAndAccept from "./component/check-and-accept.vue";
import calibration from "./component/calibration.vue";
import check from "./component/check.vue";
import maintenance from "./component/maintenance.vue";
@@ -116,7 +106,7 @@
} from '@/api/cnas/resourceDemand/device.js'
export default {
components: {
- EquipmentAcceptance,
+ checkAndAccept,
operationOverview,
files,
calibration,
--
Gitblit v1.9.3