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/state.vue | 641 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 639 insertions(+), 2 deletions(-)
diff --git a/src/components/do/a6-device/state.vue b/src/components/do/a6-device/state.vue
index fa4c76c..ceb8aa1 100644
--- a/src/components/do/a6-device/state.vue
+++ b/src/components/do/a6-device/state.vue
@@ -1,13 +1,650 @@
+<!-- 璁惧鍋滅敤鍚敤 -->
<template>
- <div>璁惧鍋滅敤/鍚敤</div>
+ <div>
+ <div class="search">
+ <el-row :gutter="10" style="width: 100%;">
+ <el-col :span="20" style="display: flex;flex-wrap: wrap;">
+ <div class="search_thing">
+ <div class="search_label">娴佺▼缂栧彿锛�</div>
+ <div class="search_input">
+ <el-input v-model="search.processNumber" clearable placeholder="璇疯緭鍏�" size="small" style="width: 100%"
+ @keyup.enter.native="getDeviceStatePage(clickNodeVal.value)"></el-input>
+ </div>
+ </div>
+ <div class="search_thing" style="padding-left: 20px;">
+ <el-button size="small" @click="resetSearch">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="getDeviceStatePage(clickNodeVal.value)">鏌� 璇�</el-button>
+ </div>
+ </el-col>
+ <el-col :span="4">
+ <div class="btns">
+ <el-button size="small" type="primary" @click="dialogVisible = true">鏂板缓</el-button>
+ <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵煎嚭Excel</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <div>
+ <el-table :data="tableDatalist" height="calc(100vh - 20em)" style="width: 100% ;">
+ <!-- 琛ㄦ牸鍒� -->
+ <el-table-column align="center" header-align="center" label="搴忓彿" prop="prop" type="index"
+ width="70"></el-table-column>
+ <el-table-column label="娴佺▼缂栧彿" min-width="180" prop="processNumber"></el-table-column>
+ <el-table-column label="璁惧鍚嶇О" min-width="180" prop="deviceName"></el-table-column>
+ <el-table-column label="绠$悊缂栧彿" min-width="150" prop="managementNumber"></el-table-column>
+ <el-table-column label="璁惧鐘舵��" min-width="130" prop="deviceStatus">
+ <template #default="{ row }">
+ {{ row.deviceStatus === '0scrap' ? '鎶ュ簾' : row.deviceStatus === '1startUsing' ? '鍚敤' : '鍋滅敤' }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鍋滅敤/鍚敤鐞嗙敱" min-width="180" prop="reason"></el-table-column>
+ <el-table-column label="鎻愪氦浜�" min-width="130" prop="createUser"></el-table-column>
+ <el-table-column label="鎻愪氦鏃ユ湡" min-width="150" prop="createTime"></el-table-column>
+ <el-table-column label="褰撳墠鐘舵��" min-width="130" prop="currentState"></el-table-column>
+ <el-table-column label="褰撳墠璐d换浜�" min-width="180" prop="currentResponsible"></el-table-column>
+ <!-- 鎿嶄綔鎸夐挳 -->
+ <el-table-column fixed="right" label="鎿嶄綔" min-width="150">
+ <template #default="{ row }">
+ <el-button size="small" type="text" @click="handleViewClick(row)">鏌ョ湅</el-button>
+ <el-button size="small" type="text" @click="handleDownOne(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="璁惧鎯呭喌" top="5vh"
+ width="60%" @open="openRecordAcceptance">
+ <el-steps :active="currentStep" align-center 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: 42vh; overflow-y: scroll;">
+ <!-- 鍗$墖 -->
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="娴佺▼缂栧彿锛�">
+ <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.managementNumber" 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.specificationModel" 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="accessoryPart">
+ <el-input v-model="form.accessoryPart" :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="deviceStatus">
+ <el-select v-model="form.deviceStatus" :disabled="currentStep !== 0" placeholder="璇烽�夋嫨" size="small"
+ style="width:100%">
+ <el-option label="鎶ュ簾" value="0scrap"></el-option>
+ <el-option label="鍚敤" value="1startUsing"></el-option>
+ <el-option label="鍋滅敤" value="2stopUsing"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ュ仠鐢ㄥ惎鐢ㄧ悊鐢�', trigger: 'blur' }]" label="鍋滅敤鍚敤鐞嗙敱锛�"
+ prop="reason">
+ <el-input v-model="form.reason" :disabled="currentStep !== 0" :rows="3" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <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: 100%">
+ <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.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: 42vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="閮ㄩ棬璐熻矗浜烘剰瑙侊細" prop="departmentReviewOpinion">
+ <el-input v-model="form.departmentReviewOpinion" :disabled="currentStep !== 1" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 1, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="departmentNextPesponsible">
+ <el-select v-model="form.departmentNextPesponsible" :disabled="currentStep !== 1" clearable filterable
+ placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%;">
+ <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.departmentOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.departmentDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 2">
+ <el-card style="margin-top: 1em; height: 42vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 2, message: '璇疯緭鍏ヨ閲忓鎰忚', trigger: 'blur' }]" label="璁¢噺瀹ゆ剰瑙侊細"
+ prop="measuringRoomReviewOpinion">
+ <el-input v-model="form.measuringRoomReviewOpinion" :disabled="currentStep !== 2" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 2, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'blur' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="measuringRoomNextPesponsible">
+ <el-select v-model="form.measuringRoomNextPesponsible" :disabled="currentStep !== 2" clearable filterable
+ placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%;">
+ <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.measuringRoomOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.measuringRoomDate }}
+ </el-col>
+ </el-row>
+ </div>
+ <div v-show="currentStepClick === 3">
+ <el-card style="margin-top: 1em; height: 42vh; overflow-y: scroll;">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item :rules="[{ required: currentStep === 3, message: '璇疯緭鍏ユ壒鍑嗘剰瑙�', trigger: 'blur' }]" label="鎵瑰噯鎰忚锛�"
+ prop="approvalOpinion">
+ <el-input v-model="form.approvalOpinion" :disabled="currentStep !== 3" size="small"
+ type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :rules="[{ required: currentStep === 3, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+ prop="approvalNextPesponsible">
+ <el-select v-model="form.approvalNextPesponsible" :disabled="currentStep !== 3" clearable
+ filterable placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 100%;">
+ <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.approvalOperatingPersonnel }}
+ </el-col>
+ <el-col :span="6">
+ 鏃ユ湡锛歿{ form.approvalDate }}
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button v-if="currentStep !== 0 && currentStep !== 4" :loading="sumbitLoading1"
+ @click="submitForm('3reject')">椹冲洖</el-button>
+ <el-button v-if="currentStep === 0" :loading="sumbitLoading2" @click="submitForm('2save')">淇濆瓨</el-button>
+ <el-button v-if="currentStep !== 4" :loading="sumbitLoading3" type="primary" @click="submitForm('1submit')">
+ {{ currentStep === 0 ? '鎻愪氦' : '閫氳繃' }}
+ </el-button>
+ </span>
+ </el-dialog>
+ </div>
</template>
-
<script>
+import { dateFormat } from '../../../util/date'
export default {
+ props: {
+ clickNodeVal: {
+ type: Object,
+ default: () => {
+ return {};
+ }
+ }
+ },
+ data() {
+ return {
+ outLoading: false, // 瀵煎嚭loading
+ dialogVisible: false,
+ form: {},
+ currentStep: 0, // 姝ラ鏉℃樉绀虹鍑犳
+ currentStepClick: 0, // 鐐瑰嚮姝ラ鏉″彉鍖�
+ steps: ['鎻愪氦', '閮ㄩ棬璐熻矗浜�', '璁¢噺瀹�', '鎵瑰噯浜�'],
+ responsibleOptions: [], // 涓嬬幆鑺傝礋璐d汉
+ tableDatalist: [], // table琛ㄦ牸
+ rules: {
+ quantity: [{ required: true, message: '璇疯緭鍏ユ暟閲�', trigger: 'blur' }],
+ },
+ search: {
+ size: 20,
+ current: 1,
+ total: 0,
+ processNumber: ''
+ },
+ sumbitLoading1: false,
+ sumbitLoading2: false,
+ sumbitLoading3: false,
+ }
+ },
+ mounted() {
+ this.getDeviceStatePage(this.clickNodeVal.value)
+ },
+ methods: {
+ // 鍒嗛〉
+ handleSizeChange(val) {
+ this.search.size = val
+ this.getDeviceStatePage(this.clickNodeVal.value)
+ },
+ // 鍒嗛〉
+ handleCurrentChange(val) {
+ this.search.current = val
+ this.getDeviceStatePage(this.clickNodeVal.value)
+ },
+ //鎻愪氦琛ㄥ崟
+ 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.createUser = user.name
+ this.form.submitOperatingPersonnel = user.name
+ this.form.submitDate = dateTime
+ break
+ case 1:
+ this.form.departmentOperatingPersonnel = user.name
+ this.form.departmentDate = dateTime
+ break
+ case 2:
+ this.form.measuringRoomOperatingPersonnel = user.name
+ this.form.measuringRoomDate = dateTime
+ break
+ case 3:
+ this.form.approvalOperatingPersonnel = user.name
+ this.form.approvalDate = 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 === 4 ? '鍏抽棴' : this.steps[currentStepAction]
+ this.form.deviceId = this.clickNodeVal.value
+ this.$axios.post(this.$api.deviceCheck.saveDeviceState, this.form, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.getDeviceStatePage(this.clickNodeVal.value)
+ this.dialogVisible = false
+ this.closeLoading()
+ }
+ 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
+ },
+ choiceStep(index) {
+ this.currentStepClick = index
+ },
+ openRecordAcceptance() {
+ // 鑾峰彇璁惧鍩虹淇℃伅
+ this.$axios.get(this.$api.deviceScope.selectDeviceByCode + '?id=' + this.clickNodeVal.value).then(res => {
+ this.form.deviceName = res.data.deviceName
+ this.form.specificationModel = res.data.specificationModel
+ this.form.managementNumber = res.data.managementNumber
+ this.$nextTick(() => {
+ this.$refs['form'].clearValidate()
+ })
+ });
+ // 鑾峰彇璐熻矗浜轰俊鎭�
+ this.getUserList()
+ },
+ // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
+ getUserList() {
+ this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
+ if (res.code == 200) {
+ this.responsibleOptions = res.data
+ }
+ })
+ },
+ // 鏌ョ湅
+ handleViewClick(row) {
+ this.form = { ...row }
+ // 濡傛灉绱㈠紩涓�6琛ㄧず鍏ㄩ儴閫氳繃
+ this.currentStep = this.steps.indexOf(this.form.currentState) === -1 ? 4 : this.steps.indexOf(this.form.currentState)
+ this.currentStepClick = this.currentStep === 4 ? 0 : this.currentStep
+ this.$nextTick(() => {
+ this.$refs['form'].clearValidate()
+ })
+ this.dialogVisible = true
+ },
+ // 瀵煎嚭
+ handleDownOne(row) {
+ this.outLoading = true
+ this.$axios.get(this.$api.deviceCheck.exportDeviceStatus + '?deviceId=' + row.deviceId + '&processNumber=' + row.processNumber, {
+ responseType: "blob"
+ }).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res], { type: 'application/octet-stream' });
+ //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+ let reader = new FileReader();
+ reader.readAsText(blob, 'utf-8');
+ reader.onload = () => {
+ try {
+ let result = JSON.parse(reader.result);
+ if (result.message) {
+ this.$message.error(result.message);
+ } else {
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = '璁惧鍋�/鍚敤.doc';
+ link.click();
+ this.$message.success('瀵煎嚭鎴愬姛')
+ }
+ } catch (err) {
+ console.log(err);
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = '璁惧鍋�/鍚敤.doc';
+ link.click();
+ this.$message.success('瀵煎嚭鎴愬姛')
+ }
+ }
+ })
+ },
+ // 鍒犻櫎
+ handleDeleteClick(row) {
+ this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$axios.delete(this.$api.deviceCheck.deleteDeviceState + '?stateId=' + row.stateId).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.getDeviceStatePage(this.clickNodeVal.value)
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+ //瀵煎嚭
+ handleDown() {
+ this.outLoading = true
+ this.$axios.post(this.$api.deviceCheck.deviceStateExport, {
+ deviceId: this.clickNodeVal.value,
+ processNumber: this.search.processNumber
+ }, {responseType: "blob"}).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res], {type: 'application/octet-stream'});
+ //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+ let reader = new FileReader();
+ reader.readAsText(blob, 'utf-8');
+ reader.onload = () => {
+ try {
+ let result = JSON.parse(reader.result);
+ if (result.message) {
+ this.$message.error(result.message);
+ } else {
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = '璁惧鍋滅敤/鍚敤.xlsx';
+ link.click();
+ this.$message.success('瀵煎嚭鎴愬姛')
+ }
+ } catch (err) {
+ console.log(err);
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = '璁惧鍋滅敤/鍚敤.xlsx';
+ link.click();
+ this.$message.success('瀵煎嚭鎴愬姛')
+ }
+ }
+ }).finally(() => {
+ this.outLoading = false
+ })
+ },
+ resetSearch() {
+ this.search = {
+ size: 20,
+ current: 1,
+ total: 0,
+ processNumber: '',
+ }
+ this.getDeviceStatePage(this.clickNodeVal.value);
+ },
+ getDeviceStatePage(deviceId) {
+ this.$axios.get(this.$api.deviceCheck.getDeviceStatePage + '?deviceId=' + deviceId + "&size=" + this.search.size + "¤t=" + this.search.current + "&processNumber=" + this.search.processNumber).then(res => {
+ if (res.code == 200) {
+ this.tableDatalist = res.data.records
+ this.search.total = res.data.total
+ }
+ })
+ }
+ },
+ watch: {
+ // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
+ clickNodeVal(newVal) {
+ if (newVal.value) {
+ this.componentData.entity.deviceId = this.clickNodeVal.value
+ this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getDeviceStatePage(newVal.value)
+ }
+ },
+ dialogVisible(newVal) {
+ if (!newVal) {
+ this.form = {
+ }
+ this.closeLoading()
+ this.currentStep = 0 // 姝ラ鏉℃樉绀虹鍑犳
+ this.currentStepClick = 0 // 鐐瑰嚮姝ラ鏉″彉鍖�
+ this.$refs['form'].clearValidate()
+ }
+ }
+ },
}
</script>
<style scoped>
+.dialog-content {
+ max-height: 70vh;
+ /* 璁剧疆鏈�澶ч珮搴� */
+ overflow-y: auto;
+ /* 鍚敤鍨傜洿婊氬姩 */
+}
+h4 {
+ font-weight: 400;
+ font-size: 16px;
+ 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 - 15em);
+}
+
+.el-from {
+ max-width: 400px;
+ margin: 0 auto;
+}
+
+.form-row {
+ display: flex;
+ justify-content: space-between;
+}
+
+
+.form-row .el-form-item {
+ flex: 1;
+ /* 姣忎釜琛ㄥ崟椤瑰崰鎹浉鍚屾瘮渚嬬殑绌洪棿 */
+ margin-right: 100px;
+ /* 鍙�夛細涓哄彸渚у厓绱犳坊鍔犻棿璺� */
+}
+
+/* 绉婚櫎鏈�鍚庝竴涓厓绱犵殑鍙宠竟璺� */
+.form-row .el-form-item:last-child {
+ margin-right: 0;
+
+}
+
+.search {
+ background-color: #fff;
+ margin: 10px 0;
+ display: flex;
+ align-items: center;
+ position: relative;
+}
+
+.search_thing {
+ display: flex;
+ align-items: center;
+ height: 40px;
+}
+
+.search_label {
+ width: 70px;
+ font-size: 14px;
+ text-align: right;
+}
+
+.search_input {
+ width: 70%;
+}
+
+.btns {
+ position: absolute;
+ right: 0;
+ top: 50%;
+ transform: translate(0, -50%);
+}
+
+.form .search_label {
+ width: 120px;
+}
</style>
--
Gitblit v1.9.3