From 1b0a3d7e887e31ae37dcfa9ba8e0ae77a9bfa5a6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 12 三月 2025 17:07:59 +0800
Subject: [PATCH] 设备搬迁-设备使用记录联调
---
src/views/CNAS/resourceDemand/device/component/record.vue | 177 ++++++++++++++++++++++++++--------------------------------
1 files changed, 79 insertions(+), 98 deletions(-)
diff --git a/src/views/CNAS/resourceDemand/device/component/record.vue b/src/views/CNAS/resourceDemand/device/component/record.vue
index 27c094f..6e05311 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,126 @@
<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 :span="12">
+ <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="24">
<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-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>
+ <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄤ汉', trigger: 'blur' }]"
+ label="浣跨敤浜�:"
+ prop="usePerson">
+ <el-input v-model="form.usePerson" :disabled="isShow" size="small" style="width:100%"></el-input>
</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>
@@ -145,11 +151,9 @@
<script>
import {
deviceRecordPage,
- exportUseRecord,
selectDeviceByCode,
saveDeviceRecord,
- updateDeviceRecord,
- deleteDeviceRecord,
+ deleteDeviceRecord, deviceRecordExport,
} from '@/api/cnas/resourceDemand/device.js'
import { selectUserCondition } from "@/api/system/user";
export default {
@@ -207,7 +211,6 @@
remark: '',
},
dialogVisible: false,
- operationType: '',
formParamList: [],
}
},
@@ -247,25 +250,20 @@
}
})
},
- // 鎵撳紑瀵煎嚭寮规閫夋嫨缂栧埗浜恒�佹壒鍑嗕汉
- openHandleOut() {
- this.ratifyDialog = true
- },
//瀵煎嚭
handleDown() {
this.outLoading = true
- exportUseRecord({
+ deviceRecordExport({
deviceId: this.clickNodeVal.value,
exportDate: this.exportDate
}).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$download.saveAs(blob, '璁惧浣跨敤璁板綍.doc')
+ this.$download.saveAs(blob, '璁惧浣跨敤璁板綍.xlsx')
})
},
//鏂板缓
openAdd() {
- this.operationType = 'add'
this.getUserList()
selectDeviceByCode({ id: this.clickNodeVal.value }).then(res => {
this.form.deviceName = res.data.deviceName
@@ -275,12 +273,6 @@
})
});
},
- usePersonName(value) {
- const index = this.userList.findIndex(item => item.id === value)
- if (index > -1) {
- this.form.usePerson = this.userList[index].name
- }
- },
//纭娣诲姞璁板綍
saveRecord() {
this.$refs.form.validate((valid) => {
@@ -288,33 +280,22 @@
this.form.useStartDate = this.form.useDateList[0]
this.form.useEndDate = this.form.useDateList[1]
this.form.deviceId = this.clickNodeVal.value
- if (this.operationType === 'add') {
- saveDeviceRecord(this.form).then(res => {
- if (res.code == 200) {
- this.$message.success('鏂板鎴愬姛')
- this.getTableList(this.clickNodeVal.value)
- this.dialogVisible = false
- }
- })
- this.dialogVisible = false;
- } else {
- updateDeviceRecord(this.form).then(res => {
- if (res.code == 200) {
- this.$message.success('淇敼鎴愬姛')
- this.getTableList(this.clickNodeVal.value)
- this.dialogVisible = false
- }
- })
- this.dialogVisible = false;
- }
+ saveDeviceRecord(this.form).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鏂板鎴愬姛')
+ this.getTableList(this.clickNodeVal.value)
+ this.dialogVisible = false
+ }
+ })
+ this.dialogVisible = false;
}
});
},
//鏌ョ湅璇︽儏
- showDetailsDialog(type, row) {
- this.operationType = type;
+ showDetailsDialog(row) {
console.log(row)
this.dialogVisible = true;
+ this.isShow = true;
this.getUserList()
this.form = row;
let list = []
@@ -442,7 +423,7 @@
}
.search_label {
- width: 140px;
+ width: 74px;
font-size: 14px;
text-align: right;
margin-right: 10px;
--
Gitblit v1.9.3