From db01bceab158251b846c5d6d43c1185172eb958d Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期二, 18 三月 2025 11:24:32 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev
---
src/views/CNAS/resourceDemand/device/component/maintenance.vue | 126 ++++++++++++++++++++++-------------------
1 files changed, 67 insertions(+), 59 deletions(-)
diff --git a/src/views/CNAS/resourceDemand/device/component/maintenance.vue b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
index 9ea4f5a..243614f 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,27 @@
<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">
- <el-input v-model="formData.content" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
+ prop="content">
+ <el-input v-model="formData.content" :disabled="!this.editMode" 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-date-picker v-model="formData.date" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small"
- style="width:100%" type="date" value-format="yyyy-MM-dd">
+ <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"
+ :disabled="!this.editMode"
+ 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,21 +91,27 @@
</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"
+ :disabled="!this.editMode"
+ :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="12">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶や汉', trigger: 'blur' }]" label="缁存姢浜�:" prop="name">
- <el-input v-model="formData.name" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
+ <el-input v-model="formData.name" clearable placeholder="璇疯緭鍏�" :disabled="!this.editMode" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="澶囨敞:">
- <el-input v-model="formData.comments" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
+ <el-input v-model="formData.comments" placeholder="璇疯緭鍏�" :disabled="!this.editMode" size="small" type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -117,12 +126,12 @@
<script>
import {
- exportMaintenanceRecord,
- deleteDeviceMaintenance,
- selectDeviceByCode,
- addDeviceMaintenance,
- getDeviceMaintenancePage,
-} from '@/api/cnas/resourceDemand/device.js'
+ addMaintain,
+ deleteMaintain,
+ deviceMaintenanceExport, getDeviceMaintenancePage,
+ selectDeviceByCode
+} from "@/api/cnas/resourceDemand/device";
+
export default {
props: {
clickNodeVal: {
@@ -154,13 +163,22 @@
},
methods: {
//涓嬫缁存姢鏃ユ湡:绂佺敤鍦ㄧ淮鎶ゆ棩鏈熷墠鐨勬棩鏈�
- disabledDate(time) {
+ disabledDate(time){
let selectDate = this.formData.date
- if (selectDate) {
+ if(selectDate){
let oldDate = new Date(selectDate)
return time <= oldDate.getTime()
}
return false
+ },
+ //瀵煎嚭
+ handleDown() {
+ this.outLoading = true
+ deviceMaintenanceExport({deviceId: this.clickNodeVal.value}).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res], { type: 'application/octet-stream' });
+ this.$download.saveAs(blob, '璁惧缁存姢.xlsx')
+ })
},
handleSizeChange(val) {
this.search.size = val
@@ -176,15 +194,6 @@
this.dialogVisible = true;
this.formData = row;
},
- // 瀵煎嚭
- handleDownOne() {
- this.outLoading = true
- exportMaintenanceRecord({ deviceId: this.clickNodeVal.value }).then(res => {
- this.outLoading = false
- const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$download.saveAs(blob, '璁惧缁存姢淇濆吇璁板綍.doc')
- })
- },
//鎿嶄綔璇︽儏鍒犻櫎
handleDeleteClick(index, row) {
this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
@@ -192,14 +201,13 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- deleteDeviceMaintenance({ id: row.id }).then(res => {
+ deleteMaintain({id: row.id}).then(res => {
+ this.MaintainParam.splice(index, 1);
+ 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',
@@ -209,7 +217,7 @@
},
//鐐瑰嚮鍚庡彲缂栬緫
add() {
- selectDeviceByCode({ id: this.clickNodeVal.value }).then(res => {
+ selectDeviceByCode({id: this.clickNodeVal.value}).then(res => {
this.formData.deviceName = res.data.deviceName
this.formData.managementNumber = res.data.managementNumber
this.$nextTick(() => {
@@ -223,15 +231,15 @@
this.$refs['form'].validate((valid) => {
if (valid) {
this.formData.deviceId = this.clickNodeVal.value;
- addDeviceMaintenance(this.formData).then(res => {
+ addMaintain(this.formData).then(res => {
if (res.code == 200) {
this.$message.success('娣诲姞鎴愬姛');
- this.getAllMessage(this.clickNodeVal.value)
+ // this.MaintainParam.push(this.formData)
this.dialogVisible = false;
this.formData = {}; //娓呯┖琛ㄥ崟
+ this.getAllMessage(this.clickNodeVal.value)
}
})
- // this.MaintainParam.push(this.formData)
}
})
},
@@ -246,10 +254,13 @@
},
//鑾峰彇琛ㄥ崟璁惧缁存姢淇℃伅
getAllMessage(deviceId) {
- getDeviceMaintenancePage({
- deviceId,
- ...this.search
- }).then(res => {
+ const params = {
+ deviceId: deviceId,
+ size: this.search.size,
+ current: this.search.current,
+ deviceNumber: this.search.deviceNumber,
+ }
+ getDeviceMaintenancePage(params).then(res => {
if (res.code == 200) {
this.MaintainParam = res.data.records
this.search.total = res.data.total
@@ -298,10 +309,10 @@
.search {
background-color: #fff;
+ height: 40px;
display: flex;
align-items: center;
position: relative;
- margin-top: 10px;
}
.search_thing {
@@ -334,7 +345,4 @@
transform: translate(0, -50%);
}
-.form .search_label {
- width: 120px;
-}
</style>
--
Gitblit v1.9.3