From 6ef9e5189ac1888b8c4c504d5c5d3f431807ff56 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期六, 15 三月 2025 11:57:40 +0800
Subject: [PATCH] 修改电路试验单位
---
src/components/do/a6-device/fault.vue | 687 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 685 insertions(+), 2 deletions(-)
diff --git a/src/components/do/a6-device/fault.vue b/src/components/do/a6-device/fault.vue
index 41b9377..e976690 100644
--- a/src/components/do/a6-device/fault.vue
+++ b/src/components/do/a6-device/fault.vue
@@ -1,13 +1,696 @@
+<!-- 璁惧鏁呴殰 -->
<template>
- <div>璁惧鏁呴殰</div>
+ <div>
+ <div class="search">
+ <div class="search_thing">
+ <div class="search_label">娴佺▼缂栧彿锛�</div>
+ <div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="search.processNumber" style="width: 100%;"
+ @keyup.enter.native="getTableList(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="getTableList(clickNodeVal.value)">鏌� 璇�</el-button>
+ </div>
+ <div class="btns">
+ <el-button size="small" type="primary" @click="dialogVisible = true, addRecode()">鏂板缓</el-button>
+ <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">瀵煎嚭</el-button>
+ </div>
+ </div>
+ <div>
+ <div class="tables" style="margin-top: 16px;">
+ <el-table :data="faultParam" style="width: 100%" height="calc(100vh - 20em)">
+ <!-- 琛ㄦ牸鍒� -->
+ <el-table-column header-align="center" align="center" width="70" prop="prop" label="搴忓彿"
+ type="index"></el-table-column>
+ <el-table-column prop="processNumber" label="娴佺▼缂栧彿" min-width="180"></el-table-column>
+ <el-table-column prop="deviceName" label="璁惧鍚嶇О" min-width="150"></el-table-column>
+ <el-table-column prop="managementNumber" label="缁熶竴缂栧彿" min-width="150"></el-table-column>
+ <el-table-column prop="faultSituation" label="鏁呴殰鎯呭喌" min-width="130"></el-table-column>
+ <el-table-column prop="submitPerson" label="鎻愪氦浜�" min-width="130"></el-table-column>
+ <el-table-column prop="createTime" label="鎻愪氦鏃ユ湡" min-width="150"></el-table-column>
+ <el-table-column prop="currentState" label="褰撳墠鐘舵��" min-width="130"></el-table-column>
+ <el-table-column prop="currentResponsible" label="褰撳墠璐d换浜�" width="180"></el-table-column>
+ <!-- 鎿嶄綔鎸夐挳 -->
+ <el-table-column label="鎿嶄綔" fixed="right" min-width="150">
+ <template slot-scope="scope">
+ <el-button size="small" type="text" @click="showDetailsDialog(scope.row)">鏌ョ湅璇︽儏</el-button>
+ <el-button type="text" size="small" @click="handleDeleteClick(scope.$index, scope.row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="1"
+ style="margin-right: 5%;" :page-sizes="[10, 20, 30, 50, 100]" :page-size="search.size"
+ layout="->,total, sizes, prev, pager, next, jumper" :total="search.total">
+ </el-pagination>
+ </div>
+ </div>
+ <el-dialog title="鏂板缁翠慨璁板綍" top="5vh" :visible.sync="dialogVisible" width="60%" @open="openRecordAcceptance"
+ :close-on-click-modal="false" :close-on-press-escape="false">
+ <el-steps :active="currentStep" finish-status="success" align-center>
+ <el-step v-for="(v, i) in steps" style="cursor:pointer" :title="v" :key="i"
+ @click.native="choiceStep(i)"></el-step>
+ </el-steps>
+ <el-form ref="form" :model="form" label-position="right" label-width="120px">
+ <!-- 鎻愪氦 -->
+ <div v-show="currentStepClick == 0">
+ <el-card style="margin-top: 1em;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="娴佺▼缂栧彿:">
+ <el-input v-model="form.processNumber" size="small" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁惧鍚嶇О:">
+ <el-input v-model="form.deviceName" size="small" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="瑙勬牸鍨嬪彿:">
+ <el-input v-model="form.specificationModel" size="small" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁惧缂栧彿:">
+ <el-input v-model="form.managementNumber" size="small" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍑嗙‘搴﹂噺鍊�:" prop="measureOfAccuracy"
+ :rules="[{required: currentStep === 0, message: '璇疯緭鍏ュ噯纭害閲忓��', trigger: 'blur'}]">
+ <el-input v-model="form.measureOfAccuracy" size="small" :disabled="currentStep !== 0"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏁呴殰鏃ユ湡:" prop="faultDate">
+ <el-date-picker
+ v-model="form.faultDate"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡" size="small" format="yyyy-MM-dd" style="width: 100%" value-format="yyyy-MM-dd" :disabled="currentStep !== 0">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="瑕佹眰淇鏃ユ湡:" prop="requestRepairDate">
+ <el-date-picker
+ v-model="form.requestRepairDate"
+ :picker-options="{ disabledDate: this.disabledDate }"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡" size="small" format="yyyy-MM-dd" style="width: 100%" value-format="yyyy-MM-dd" :disabled="currentStep !== 0">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鏁呴殰鎯呭喌:" prop="faultSituation"
+ :rules="[{required: currentStep === 0, message: '璇疯緭鍏ユ晠闅滄儏鍐�', trigger: 'blur'}]">
+ <el-input v-model="form.faultSituation" type="textarea" size="small" :disabled="currentStep !== 0"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鐩稿叧闄勪欢:">
+ <el-input v-model="form.fileName" :disabled="true" size="small" style="width: 80%;">
+ <el-button slot="append" icon="el-icon-delete-solid" @click="deleteFile" :disabled="currentStep !== 0"></el-button>
+ </el-input>
+ <el-upload ref="upload" style="float: right;" :action="action" :show-file-list="false"
+ :on-success="handleSuccess">
+ <el-button style="position: relative;top: -4px;" class="uploadFile" slot="trigger" size="small"
+ type="primary" :disabled="currentStep !== 0">闄勪欢涓婁紶
+ </el-button>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓嬬幆鑺傝礋璐d汉:" prop="submitNextPesponsible"
+ :rules="[{required: currentStep === 0, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change'}]">
+ <el-select v-model="form.submitNextPesponsible" placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%" :disabled="currentStep !== 0">
+ <el-option v-for="(v, i) in users" :label="v.name" :value="v.name" :key="i"></el-option>
+ </el-select>
+ </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: 45vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="缁翠慨鏂瑰紡鍙婅垂鐢�:" prop="methodCost"
+ :rules="[{required: currentStep === 1, message: '璇疯緭鍏ョ淮淇柟寮忓強璐圭敤', trigger: 'blur'}]">
+ <el-input v-model="form.methodCost" type="textarea" size="small" :disabled="currentStep !== 1"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="瀹℃牳鎰忚:" prop="adminAuditOption"
+ :rules="[{required: currentStep === 1, message: '璇疯緭鍏ュ鏍告剰瑙�', trigger: 'blur'}]">
+ <el-input v-model="form.adminAuditOption" type="textarea" size="small" :disabled="currentStep !== 1"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓嬬幆鑺傝礋璐d汉:" prop="adminNextPesponsible"
+ :rules="[{required: currentStep === 1, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change'}]">
+ <el-select v-model="form.adminNextPesponsible" placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%" :disabled="currentStep !== 1">
+ <el-option v-for="(v, i) in users" :label="v.name" :value="v.name" :key="i"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.adminOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.adminDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 鎶�鏈礋璐d汉鎰忚 -->
+ <div v-show="currentStepClick == 2">
+ <el-card style="margin-top: 1em; height: 45vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="瀹℃牳鎰忚:" prop="technicalAuditOption"
+ :rules="[{required: currentStep === 2, message: '璇疯緭鍏ュ鏍告剰瑙�', trigger: 'blur'}]">
+ <el-input v-model="form.technicalAuditOption" type="textarea" size="small" :disabled="currentStep !== 2"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓嬬幆鑺傝礋璐d汉:" prop="technicalNextPesponsible"
+ :rules="[{required: currentStep === 2, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change'}]">
+ <el-select v-model="form.technicalNextPesponsible" placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%" :disabled="currentStep !== 2">
+ <el-option v-for="(v, i) in users" :label="v.name" :value="v.name" :key="i"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.technicalOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.technicalDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 缁翠慨鎯呭喌璁板綍 -->
+ <div v-show="currentStepClick == 3">
+ <el-card style="margin-top: 1em; height: 45vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="缁翠慨鎯呭喌:" prop="maintainSituation"
+ :rules="[{required: currentStep === 3, message: '璇疯緭鍏ョ淮淇儏鍐�', trigger: 'blur'}]">
+ <el-input v-model="form.maintainSituation" type="textarea" size="small" :disabled="currentStep !== 3"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓嬬幆鑺傝礋璐d汉:" prop="maintainNextPesponsible"
+ :rules="[{required: currentStep === 3, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change'}]">
+ <el-select v-model="form.maintainNextPesponsible" placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%" :disabled="currentStep !== 3">
+ <el-option v-for="(v, i) in users" :label="v.name" :value="v.name" :key="i"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.maintainOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.maintainDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 缁翠慨鍚庣殑纭 -->
+ <div v-show="currentStepClick == 4">
+ <el-card style="margin-top: 1em; height: 45vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="楠屾敹銆佺‘璁ゃ�佹牎鍑嗘儏鍐�:" prop="checkCalSituation" label-width="200"
+ :rules="[{required: currentStep === 4, message: '璇疯緭鍏ラ獙鏀躲�佺‘璁ゃ�佹牎鍑嗘儏鍐�', trigger: 'blur'}]">
+ <el-input v-model="form.checkCalSituation" type="textarea" size="small" style="width: 100%" :disabled="currentStep !== 4"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+ <el-row style="margin-top: 1em;">
+ <el-col :span="4">
+ 鎿嶄綔浜猴細{{ form.afterMaintenanceOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.afterMaintenanceDate }}
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="submitForm('3reject')" v-if="currentStep !== 0 && currentStep !== 5"
+ :loading="sumbitLoading1">椹冲洖</el-button>
+ <el-button @click="submitForm('2save')" v-if="currentStep === 0" :loading="sumbitLoading2">淇濆瓨</el-button>
+ <el-button type="primary" v-if="currentStep !== 5" @click="submitForm('1submit')" :loading="sumbitLoading3">
+ {{ currentStep === 0 ? '鎻愪氦' : '閫氳繃' }}
+ </el-button>
+ </span>
+ </el-dialog>
+ </div>
</template>
<script>
-export default {
+import {dateFormat} from '../../../util/date'
+export default {
+ props: {
+ clickNodeVal: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ search: {
+ size: 20,
+ current: 1,
+ total: 0,
+ processNumber: ''
+ },
+ users: [],
+ currentStep: 0,
+ currentStepClick: 0,
+ steps: ['鎻愪氦', '璁惧绠$悊鍛樻剰瑙�', '鎶�鏈礋璐d汉鎰忚', '缁翠慨鎯呭喌璁板綍', '缁翠慨鍚庣殑纭'],
+ outLoading: false,
+ form: {},
+ faultParam: [],
+ dialogVisible: false,
+ sumbitLoading1: false,
+ sumbitLoading2: false,
+ sumbitLoading3: false,
+ }
+ },
+ computed: {
+ action() {
+ return this.javaApi + this.$api.personnel.saveCNASFile
+ }
+ },
+ mounted() {
+ this.getTableList(this.clickNodeVal.value)
+ },
+ methods: {
+ //瑕佹眰淇鏃ユ湡:绂佺敤鍦ㄦ晠闅滄棩鏈熷墠鐨勬棩鏈�
+ disabledDate(time){
+ let selectDate = this.form.faultDate
+ if(selectDate){
+ let selectTime = new Date(selectDate).getTime() - 28800000
+ return time < selectTime
+ }
+ return false
+ },
+ //鎻愪氦琛ㄥ崟
+ async submitForm(saveState) {
+ let currentStepAction;
+ // 璁剧疆璇ユ搷浣滃垽鏂槸鍚︿负鎻愪氦锛屼繚瀛橈紝椹冲洖锛岄�氳繃 寮�鍚痩oding
+ switch (saveState) {
+ // 鎻愪氦锛岄�氳繃
+ case '1submit':
+ currentStepAction = this.currentStep + 1
+ this.sumbitLoading1 = true
+ break
+ // 淇濆瓨
+ case '2save':
+ currentStepAction = this.currentStep
+ this.sumbitLoading2 = true
+ break
+ // 椹冲洖
+ case '3reject':
+ currentStepAction = this.currentStep - 1
+ this.sumbitLoading3 = true
+ break
+ default:
+ break
+ }
+ 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.submitUser = user.name
+ this.form.submitOperatingPersonnel = user.name
+ this.form.submitDate = dateTime
+ break
+ case 1:
+ this.form.adminOperatingPersonnel = user.name
+ this.form.adminDate = dateTime
+ break
+ case 2:
+ this.form.technicalOperatingPersonnel = user.name
+ this.form.technicalDate = dateTime
+ break
+ case 3:
+ this.form.maintainOperatingPersonnel = user.name
+ this.form.maintainDate = dateTime
+ break
+ case 4:
+ this.form.afterMaintenanceOperatingPersonnel = user.name
+ this.form.afterMaintenanceDate = dateTime
+ break
+ default:
+ break
+ }
+ // 鑾峰彇褰撳墠鐜妭璐熻矗浜�
+ switch (saveState === '3reject' ? this.currentStep - 1 : this.currentStep) {
+ case 0:
+ this.form.currentResponsible = this.form.submitOperatingPersonnel
+ break
+ case 1:
+ this.form.currentResponsible = this.form.departmentOperatingPersonnel
+ break
+ case 2:
+ this.form.currentResponsible = this.form.measuringRoomOperatingPersonnel
+ break
+ case 3:
+ this.form.currentResponsible = this.form.approvalOperatingPersonnel
+ break
+ default:
+ break
+ }
+ // 鑾峰彇褰撳墠鐘舵��
+ 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 => {
+ if (res.code == 200) {
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.getTableList(this.clickNodeVal.value)
+ this.dialogVisible = false
+ }
+ this.closeLoading()
+ })
+ } else {
+ let step = this.steps[this.currentStep]
+ this.$message.warning(step + ' 娴佺▼涓湁蹇呭~椤规湭濉紒');
+ this.closeLoading()
+ }
+ });
+ },
+ closeLoading() {
+ this.sumbitLoading1 = false
+ this.sumbitLoading2 = false
+ this.sumbitLoading3 = false
+ },
+ openRecordAcceptance() {
+ // 鑾峰彇璁惧鍩虹淇℃伅
+ this.$axios.get(this.$api.deviceScope.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.getUserList()
+ },
+ // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
+ getUserList() {
+ this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
+ if (res.code == 200) {
+ this.users = res.data
+ }
+ })
+ },
+ handleSizeChange(val) {
+ this.search.size = val
+ this.getTableList(this.clickNodeVal.value);
+ },
+ handleCurrentChange(val) {
+ this.search.current = val
+ this.getTableList(this.clickNodeVal.value);
+ },
+ deleteFile() {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + this.form.systemFileName).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+ choiceStep(index) {
+ this.currentStepClick = index
+ },
+ //鏂囨。
+ handleSuccess(response, file, fileList) {
+ if (response.code == 200) {
+ this.form.fileName = response.data
+ this.$message.success('涓婁紶鎴愬姛')
+ } else {
+ this.$message.error(response.message)
+ }
+ },
+ onError(error, file, fileList) {
+ // 鏂囦欢涓婁紶澶辫触鏃剁殑澶勭悊閫昏緫
+ this.$message.error('涓婁紶澶辫触')
+ this.$refs.upload.clearFiles()
+ },
+ beforeUpload(file) {
+ if (file.size > 1024 * 1024 * 10) {
+ this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+ this.$refs.upload.clearFiles()
+ return false;
+ } else {
+ return true;
+ }
+ },
+ resetSearch() {
+ this.search = {
+ size: 20,
+ current: 1,
+ total: 0,
+ processNumber: '',
+ }
+ this.getTableList(this.clickNodeVal.value);
+ },
+ //鑾峰彇鎵�鏈変俊鎭�
+ 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 => {
+ if (res.code == 200) {
+ this.faultParam = res.data.records
+ this.search.total = res.data.total
+ }
+ })
+ },
+ //瀵煎嚭
+ handleDown() {
+ this.outLoading = true
+ this.$axios.post(this.$api.deviceCheck.exportRewardAndPunishmentRecords, {
+ deviceId: this.clickNodeVal.value
+ }, {responseType: "blob"}).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
+ })
+ },
+ selectAllByOne(row) {
+ this.dialogVisible = true;
+ this.formData = this.HaveJson(row);
+ },
+ //娣诲姞璁板綍鎸夐挳
+ addRecode() {
+ this.currentStep = 0;
+ this.currentStepClick = 0;
+ },
+ //鏌ョ湅璇︽儏
+ showDetailsDialog(row) {
+ this.form = {...row}
+ this.currentStep = this.steps.indexOf(this.form.currentState) === -1 ? 5 : this.steps.indexOf(this.form.currentState)
+ this.currentStepClick = this.currentStep === 5 ? 0 : this.currentStep
+ this.$nextTick(() => {
+ this.$refs['form'].clearValidate()
+ })
+ this.dialogVisible = true
+ },
+ //鍒犻櫎鎿嶄綔
+ handleDeleteClick(index, row) {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$axios.delete(this.$api.deviceCheck.deleteDeviceFaultOne + '?id=' + row.id).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.getTableList(this.clickNodeVal.value)
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+ },
+ watch: {
+ // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
+ clickNodeVal(newVal) {
+ if (newVal.value) {
+ this.getTableList(newVal.value);
+ }
+ },
+ dialogVisible(newVal) {
+ if (!newVal) {
+ this.form = {}
+ this.closeLoading()
+ this.currentStep = 0 // 姝ラ鏉℃樉绀虹鍑犳
+ this.currentStepClick = 0 // 鐐瑰嚮姝ラ鏉″彉鍖�
+ this.$refs['form'].clearValidate()
+ }
+ }
+ }
}
</script>
<style scoped>
+h4 {
+ font-weight: 400;
+ font-size: 16px;
+ /* display: flex;
+ justify-content: space-between; */
+ margin: 10px 0;
+}
+/*
+淇濆瓨鎻愪氦鎸夐挳鏍峰紡
+*/
+h4 .title {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+h4 .title .line {
+ display: inline-block;
+ width: 3px;
+ height: 16px;
+ background: #3A7BFA;
+ margin-right: 4px;
+}
+
+.tables {
+ width: 100%;
+ height: calc(100vh - 230px);
+}
+
+.el-from {
+ max-width: 400px;
+ margin: 0 auto;
+}
+
+.form-row {
+ display: flex;
+ justify-content: space-between;
+}
+
+.dialogBottom {
+ margin-top: 14px;
+ display: flex;
+ justify-content: space-between;
+}
+
+.form-operation {
+ display: flex;
+ justify-content: center;
+}
+
+.form-item {
+ display: flex;
+ margin-right: 100px;
+}
+
+.label {
+ margin-right: 20px;
+ line-height: 40px;
+}
+
+.value {
+ font-weight: normal;
+ line-height: 40px;
+}
+
+.form-row .el-form-item {
+ flex: 1;
+ /* 姣忎釜琛ㄥ崟椤瑰崰鎹浉鍚屾瘮渚嬬殑绌洪棿 */
+ margin-right: 100px;
+ /* 鍙�夛細涓哄彸渚у厓绱犳坊鍔犻棿璺� */
+}
+
+.search {
+ background-color: #fff;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ position: relative;
+}
+
+.search_thing {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 40px;
+}
+
+.search_label {
+ width: 70px;
+ font-size: 14px;
+ text-align: right;
+}
+
+.search_input {
+ width: calc(100% - 120px);
+}
+
+.btns {
+ position: absolute;
+ right: 0px;
+ top: 50%;
+ transform: translate(0, -50%);
+}
+
+.form .search_label {
+ width: 120px;
+}
</style>
--
Gitblit v1.9.3