From 23ab0bb08f4a21b9220f584968c62fb01245d158 Mon Sep 17 00:00:00 2001
From: 李旭东 <woaiguo66@sina.com>
Date: 星期四, 23 十一月 2023 14:12:25 +0800
Subject: [PATCH] 设备信息修改
---
web/src/views/EquipmentManage/EquipInfo/components/GeneralEquipment.vue | 75 +++++++++++++++++++------
web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue | 104 +++++++++++++++++++++++-----------
2 files changed, 128 insertions(+), 51 deletions(-)
diff --git a/web/src/views/EquipmentManage/EquipInfo/components/GeneralEquipment.vue b/web/src/views/EquipmentManage/EquipInfo/components/GeneralEquipment.vue
index f49b7d3..70e9610 100644
--- a/web/src/views/EquipmentManage/EquipInfo/components/GeneralEquipment.vue
+++ b/web/src/views/EquipmentManage/EquipInfo/components/GeneralEquipment.vue
@@ -58,10 +58,10 @@
<el-table-column prop="fixedPerson" label="定机人" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="400">
<template #default="{ row }">
- <el-button class="table_btn" size="mini" @click="propUpdate(row)">查看</el-button>
+ <el-button class="table_btn" size="mini" @click="propDetail(row)">查看</el-button>
<el-button class="table_btn" size="mini" @click="propUpdate(row)">修改</el-button>
<el-button class="table_btn" size="mini" @click="propPlate(row)">设备标识牌</el-button>
- <el-button class="table_btn" size="mini" @click="propPlate(row)">打印</el-button>
+ <el-button class="table_btn" size="mini" @click="printDevice(row)">打印</el-button>
<el-button class="delete_btn" size="mini" @click="deleteInfo(row)">删除</el-button>
</template>
</el-table-column>
@@ -82,25 +82,26 @@
<!-- 新增 修改 -->
<el-dialog
class="prop_dialog"
- :title="asyncTitle ? '新增特种设备' : '修改特种设备信息'"
+ :title="asyncTitle === true ? '新增一般设备' : asyncTitle === false ? '修改一般设备信息' : '查看一般设备信息'"
:visible.sync="asyncDevice"
width="35%">
- <el-form ref="form" :model="formDevice" :rules="rulesDevice" label-width="auto" class="rule_form">
+ <el-form ref="form" :model="formDevice" :rules="rulesDevice" :disabled="disabled" label-width="auto" class="rule_form">
<el-form-item label="设备名称:" prop="bigDeviceName">
- <el-input v-model="formDevice.bigDeviceName" clearable placeholder="请输入设备名称"></el-input>
+ <el-input v-model="formDevice.bigDeviceName" :disabled="disabled" clearable placeholder="请输入设备名称"></el-input>
</el-form-item>
<el-form-item label="规格型号:" prop="bigDeviceModel">
- <el-input v-model="formDevice.bigDeviceModel" clearable placeholder="请输入规格型号"></el-input>
+ <el-input v-model="formDevice.bigDeviceModel" :disabled="disabled" clearable placeholder="请输入规格型号"></el-input>
</el-form-item>
<el-form-item label="设备编号:" prop="bigNumber">
- <el-input v-model="formDevice.bigNumber" clearable placeholder="请输入设备编号"></el-input>
+ <el-input v-model="formDevice.bigNumber" :disabled="disabled" clearable placeholder="请输入设备编号"></el-input>
</el-form-item>
<el-form-item label="生产厂家:" prop="manufacturer">
- <el-input v-model="formDevice.manufacturer" clearable placeholder="请输入生产厂家"></el-input>
+ <el-input v-model="formDevice.manufacturer" :disabled="disabled" clearable placeholder="请输入生产厂家"></el-input>
</el-form-item>
<el-form-item label="出厂年月:" prop="dateOfProduction">
<el-date-picker
v-model="formDevice.dateOfProduction"
+ :disabled="disabled"
type="month"
placeholder="请选择出厂年月"
value-format="yyyy-MM">
@@ -109,6 +110,7 @@
<el-form-item label="使用年月:" prop="useYearMonth">
<el-date-picker
v-model="formDevice.useYearMonth"
+ :disabled="disabled"
type="month"
placeholder="请选择使用年月"
value-format="yyyy-MM">
@@ -117,6 +119,7 @@
<el-form-item label="使用年限:" prop="useLife">
<el-input-number
v-model="formDevice.useLife"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入使用年限">
@@ -126,6 +129,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.shapeSize"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入外形尺寸">
@@ -137,6 +141,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.totalPower"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入总功率">
@@ -148,6 +153,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.totalWeight"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入总重量">
@@ -159,6 +165,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.originalValue"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入原值">
@@ -169,18 +176,20 @@
<el-form-item label="年折旧率:" prop="yearDepreciationRate">
<el-input-number
v-model="formDevice.yearDepreciationRate"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入年折旧率">
</el-input-number>
</el-form-item>
<el-form-item label="已提折旧:" prop="accumulatedDepreciation">
- <el-input v-model="formDevice.accumulatedDepreciation" clearable placeholder="请输入已提折旧"></el-input>
+ <el-input v-model="formDevice.accumulatedDepreciation" :disabled="disabled" clearable placeholder="请输入已提折旧"></el-input>
</el-form-item>
<el-form-item label="净值:" prop="netWorth">
<div class="form_flex">
<el-input-number
v-model="formDevice.netWorth"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入净值">
@@ -189,25 +198,25 @@
</div>
</el-form-item>
<el-form-item label="使用状况:" prop="useStatus">
- <el-radio-group v-model="formDevice.useStatus">
+ <el-radio-group v-model="formDevice.useStatus" :disabled="disabled">
<el-radio :label="1">良好</el-radio>
<el-radio :label="2">老化</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否满足需要:" prop="isNeed">
- <el-radio-group v-model="formDevice.isNeed">
+ <el-radio-group v-model="formDevice.isNeed" :disabled="disabled">
<el-radio :label="1">是</el-radio>
<el-radio :label="2">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="设备来源:" prop="deviceSource">
- <el-input v-model="formDevice.deviceSource" clearable placeholder="请输入设备来源"></el-input>
+ <el-input v-model="formDevice.deviceSource" :disabled="disabled" clearable placeholder="请输入设备来源"></el-input>
</el-form-item>
<el-form-item label="设备配属关系:" prop="deviceNexus">
- <el-input v-model="formDevice.deviceNexus" clearable placeholder="请输入设备配属关系"></el-input>
+ <el-input v-model="formDevice.deviceNexus" :disabled="disabled" clearable placeholder="请输入设备配属关系"></el-input>
</el-form-item>
<el-form-item label="定机人:" prop="fixedPerson">
- <el-select v-model="formDevice.fixedPerson" clearable placeholder="请选择定机人">
+ <el-select v-model="formDevice.fixedPerson" :disabled="disabled" clearable placeholder="请选择定机人">
<el-option
v-for="item in plateUserData"
:key="item.userId"
@@ -217,7 +226,7 @@
</el-select>
</el-form-item>
<el-form-item label="责任人:" prop="userId">
- <el-select v-model="formDevice.userId" clearable placeholder="请选择责任人" @change="changePerson">
+ <el-select v-model="formDevice.userId" :disabled="disabled" clearable placeholder="请选择责任人" @change="changePerson">
<el-option
v-for="item in plateUserData"
:key="item.userId"
@@ -230,18 +239,19 @@
<el-input v-model="formDevice.zrrPhone" disabled placeholder="请输入责任人联系电话"></el-input>
</el-form-item>
<el-form-item label="管理员联系电话:" prop="adminPhone">
- <el-input v-model="formDevice.adminPhone" clearable placeholder="请输入管理员联系电话:"></el-input>
+ <el-input v-model="formDevice.adminPhone" :disabled="disabled" clearable placeholder="请输入管理员联系电话:"></el-input>
</el-form-item>
<el-form-item label="备注:">
<el-input
v-model="formDevice.bigNotes"
+ :disabled="disabled"
clearable
placeholder="请输入备注"
type="textarea">
</el-input>
</el-form-item>
</el-form>
- <div slot="footer">
+ <div slot="footer" v-if="asyncTitle != 3">
<el-button @click="asyncDevice = false">取 消</el-button>
<el-button class="submit_btn" @click="asyncTitle ? submitInsertForm() : submitUpdateForm()">提 交</el-button>
</div>
@@ -273,7 +283,7 @@
</div>
<div slot="footer">
<el-button @click="asyncPlate = false">取 消</el-button>
- <el-button class="submit_btn" @click="asyncPlate = false">打 印</el-button>
+ <el-button class="submit_btn" @click="printDeviceDialog()">打 印</el-button>
</div>
</el-dialog>
</div>
@@ -293,6 +303,7 @@
total: 0,
loading: false,
generalList: [],
+ disabled: false,
asyncTitle: true, // true 新增 false 修改
asyncDevice: false,
formDevice: {},
@@ -493,11 +504,13 @@
// 打开添加信息
propInsert() {
this.asyncTitle = true;
+ this.disabled = false;
this.asyncDevice = true;
},
// 打开修改信息
propUpdate(row) {
this.asyncTitle = false;
+ this.disabled = false;
this.asyncDevice = true;
this.$api.Device.getDeviceDetails({
bigDeviceId : row.bigDeviceId
@@ -528,6 +541,17 @@
this.$set(this.formDevice, 'bigNotes', res.data.bigNotes);
})
},
+ // 打开查看
+ propDetail(row) {
+ this.asyncTitle = 3;
+ this.disabled = true;
+ this.asyncDevice = true;
+ this.$api.Device.getDeviceDetails({
+ bigDeviceId : row.bigDeviceId
+ }).then((res) => {
+ this.formDevice = res.data;
+ })
+ },
// 查看设备标识牌
propPlate(row) {
this.bigDeviceId = row.bigDeviceId;
@@ -538,6 +562,21 @@
this.plateData = res.data;
})
},
+ // 打印
+ printDevice(item) {
+ const link = document.createElement('a');
+ link.id = `link`;
+ link.href = `printpipe://4,${item.bigDeviceId}`
+ link.click()
+ },
+ // 弹框打印
+ printDeviceDialog() {
+ const link = document.createElement('a');
+ link.id = `link`;
+ link.href = `printpipe://4,${this.bigDeviceId}`
+ link.click();
+ this.asyncPlate = false;
+ },
// 删除设备信息
deleteInfo(row) {
this.$confirm("该操作将删除该设备信息,是否继续删除?", "提示", {
diff --git a/web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue b/web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue
index 9d29a66..3f70645 100644
--- a/web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue
+++ b/web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue
@@ -18,7 +18,7 @@
<div class="main_content">
<el-table
v-loading="loading"
- :data="specialList"
+ :data="generalList"
height="100%">
<el-table-column label="序号" width="55" align="center">
<template #default="scope">
@@ -58,10 +58,10 @@
<el-table-column prop="fixedPerson" label="定机人" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="400">
<template #default="{ row }">
- <el-button class="table_btn" size="mini" @click="propUpdate(row)">查看</el-button>
+ <el-button class="table_btn" size="mini" @click="propDetail(row)">查看</el-button>
<el-button class="table_btn" size="mini" @click="propUpdate(row)">修改</el-button>
<el-button class="table_btn" size="mini" @click="propPlate(row)">设备标识牌</el-button>
- <el-button class="table_btn" size="mini" @click="propPlate(row)">打印</el-button>
+ <el-button class="table_btn" size="mini" @click="printDevice(row)">打印</el-button>
<el-button class="delete_btn" size="mini" @click="deleteInfo(row)">删除</el-button>
</template>
</el-table-column>
@@ -82,25 +82,26 @@
<!-- 新增 修改 -->
<el-dialog
class="prop_dialog"
- :title="asyncTitle ? '新增特种设备' : '修改特种设备信息'"
+ :title="asyncTitle === true ? '新增特种设备' : asyncTitle === false ? '修改特种设备信息' : '查看特种设备信息'"
:visible.sync="asyncDevice"
width="35%">
- <el-form ref="form" :model="formDevice" :rules="rulesDevice" label-width="auto" class="rule_form">
+ <el-form ref="form" :model="formDevice" :rules="rulesDevice" :disabled="disabled" label-width="auto" class="rule_form">
<el-form-item label="设备名称:" prop="bigDeviceName">
- <el-input v-model="formDevice.bigDeviceName" clearable placeholder="请输入设备名称"></el-input>
+ <el-input v-model="formDevice.bigDeviceName" :disabled="disabled" clearable placeholder="请输入设备名称"></el-input>
</el-form-item>
<el-form-item label="规格型号:" prop="bigDeviceModel">
- <el-input v-model="formDevice.bigDeviceModel" clearable placeholder="请输入规格型号"></el-input>
+ <el-input v-model="formDevice.bigDeviceModel" :disabled="disabled" clearable placeholder="请输入规格型号"></el-input>
</el-form-item>
<el-form-item label="设备编号:" prop="bigNumber">
- <el-input v-model="formDevice.bigNumber" clearable placeholder="请输入设备编号"></el-input>
+ <el-input v-model="formDevice.bigNumber" :disabled="disabled" clearable placeholder="请输入设备编号"></el-input>
</el-form-item>
<el-form-item label="生产厂家:" prop="manufacturer">
- <el-input v-model="formDevice.manufacturer" clearable placeholder="请输入生产厂家"></el-input>
+ <el-input v-model="formDevice.manufacturer" :disabled="disabled" clearable placeholder="请输入生产厂家"></el-input>
</el-form-item>
<el-form-item label="出厂年月:" prop="dateOfProduction">
<el-date-picker
v-model="formDevice.dateOfProduction"
+ :disabled="disabled"
type="month"
placeholder="请选择出厂年月"
value-format="yyyy-MM">
@@ -109,6 +110,7 @@
<el-form-item label="使用年月:" prop="useYearMonth">
<el-date-picker
v-model="formDevice.useYearMonth"
+ :disabled="disabled"
type="month"
placeholder="请选择使用年月"
value-format="yyyy-MM">
@@ -117,6 +119,7 @@
<el-form-item label="使用年限:" prop="useLife">
<el-input-number
v-model="formDevice.useLife"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入使用年限">
@@ -126,6 +129,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.shapeSize"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入外形尺寸">
@@ -137,6 +141,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.totalPower"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入总功率">
@@ -148,6 +153,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.totalWeight"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入总重量">
@@ -159,6 +165,7 @@
<div class="form_flex">
<el-input-number
v-model="formDevice.originalValue"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入原值">
@@ -169,18 +176,20 @@
<el-form-item label="年折旧率:" prop="yearDepreciationRate">
<el-input-number
v-model="formDevice.yearDepreciationRate"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入年折旧率">
</el-input-number>
</el-form-item>
<el-form-item label="已提折旧:" prop="accumulatedDepreciation">
- <el-input v-model="formDevice.accumulatedDepreciation" clearable placeholder="请输入已提折旧"></el-input>
+ <el-input v-model="formDevice.accumulatedDepreciation" :disabled="disabled" clearable placeholder="请输入已提折旧"></el-input>
</el-form-item>
<el-form-item label="净值:" prop="netWorth">
<div class="form_flex">
<el-input-number
v-model="formDevice.netWorth"
+ :disabled="disabled"
:controls="false"
:min="0"
placeholder="请输入净值">
@@ -189,25 +198,25 @@
</div>
</el-form-item>
<el-form-item label="使用状况:" prop="useStatus">
- <el-radio-group v-model="formDevice.useStatus">
+ <el-radio-group v-model="formDevice.useStatus" :disabled="disabled">
<el-radio :label="1">良好</el-radio>
<el-radio :label="2">老化</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否满足需要:" prop="isNeed">
- <el-radio-group v-model="formDevice.isNeed">
+ <el-radio-group v-model="formDevice.isNeed" :disabled="disabled">
<el-radio :label="1">是</el-radio>
<el-radio :label="2">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="设备来源:" prop="deviceSource">
- <el-input v-model="formDevice.deviceSource" clearable placeholder="请输入设备来源"></el-input>
+ <el-input v-model="formDevice.deviceSource" :disabled="disabled" clearable placeholder="请输入设备来源"></el-input>
</el-form-item>
<el-form-item label="设备配属关系:" prop="deviceNexus">
- <el-input v-model="formDevice.deviceNexus" clearable placeholder="请输入设备配属关系"></el-input>
+ <el-input v-model="formDevice.deviceNexus" :disabled="disabled" clearable placeholder="请输入设备配属关系"></el-input>
</el-form-item>
<el-form-item label="定机人:" prop="fixedPerson">
- <el-select v-model="formDevice.fixedPerson" clearable placeholder="请选择定机人">
+ <el-select v-model="formDevice.fixedPerson" :disabled="disabled" clearable placeholder="请选择定机人">
<el-option
v-for="item in plateUserData"
:key="item.userId"
@@ -217,7 +226,7 @@
</el-select>
</el-form-item>
<el-form-item label="责任人:" prop="userId">
- <el-select v-model="formDevice.userId" clearable placeholder="请选择责任人" @change="changePerson">
+ <el-select v-model="formDevice.userId" :disabled="disabled" clearable placeholder="请选择责任人" @change="changePerson">
<el-option
v-for="item in plateUserData"
:key="item.userId"
@@ -230,18 +239,19 @@
<el-input v-model="formDevice.zrrPhone" disabled placeholder="请输入责任人联系电话"></el-input>
</el-form-item>
<el-form-item label="管理员联系电话:" prop="adminPhone">
- <el-input v-model="formDevice.adminPhone" clearable placeholder="请输入管理员联系电话:"></el-input>
+ <el-input v-model="formDevice.adminPhone" :disabled="disabled" clearable placeholder="请输入管理员联系电话:"></el-input>
</el-form-item>
<el-form-item label="备注:">
<el-input
v-model="formDevice.bigNotes"
+ :disabled="disabled"
clearable
placeholder="请输入备注"
type="textarea">
</el-input>
</el-form-item>
</el-form>
- <div slot="footer">
+ <div slot="footer" v-if="asyncTitle != 3">
<el-button @click="asyncDevice = false">取 消</el-button>
<el-button class="submit_btn" @click="asyncTitle ? submitInsertForm() : submitUpdateForm()">提 交</el-button>
</div>
@@ -273,7 +283,7 @@
</div>
<div slot="footer">
<el-button @click="asyncPlate = false">取 消</el-button>
- <el-button class="submit_btn" @click="asyncPlate = false">打 印</el-button>
+ <el-button class="submit_btn" @click="printDeviceDialog()">打 印</el-button>
</div>
</el-dialog>
</div>
@@ -281,8 +291,7 @@
<script>
import { buttonPinia } from '../../../../pinia/index';
-import { throttle } from '../../../../plugins/public';
-import { downFiles } from '@/plugins/public';
+import { downFiles, throttle } from '../../../../plugins/public';
export default {
name: 'SpecialEquipment',
data() {
@@ -293,7 +302,8 @@
pageSize: 10,
total: 0,
loading: false,
- specialList: [],
+ generalList: [],
+ disabled: false,
asyncTitle: true, // true 新增 false 修改
asyncDevice: false,
formDevice: {},
@@ -474,7 +484,7 @@
this.pageNum = 1;
}
this.loading = true;
- this.specialList = [];
+ this.generalList = [];
this.$api.Device.searchDeviceInfoList({
pageNum: this.pageNum,
pageSize: this.pageSize,
@@ -484,7 +494,7 @@
}).then((result) => {
if(result.success) {
this.total = result.data.total;
- this.specialList = result.data.list;
+ this.generalList = result.data.list;
}
this.loading = false;
}).catch(() => {
@@ -494,11 +504,13 @@
// 打开添加信息
propInsert() {
this.asyncTitle = true;
+ this.disabled = false;
this.asyncDevice = true;
},
// 打开修改信息
propUpdate(row) {
this.asyncTitle = false;
+ this.disabled = false;
this.asyncDevice = true;
this.$api.Device.getDeviceDetails({
bigDeviceId : row.bigDeviceId
@@ -529,6 +541,17 @@
this.$set(this.formDevice, 'bigNotes', res.data.bigNotes);
})
},
+ // 打开查看
+ propDetail(row) {
+ this.asyncTitle = 3;
+ this.disabled = true;
+ this.asyncDevice = true;
+ this.$api.Device.getDeviceDetails({
+ bigDeviceId : row.bigDeviceId
+ }).then((res) => {
+ this.formDevice = res.data;
+ })
+ },
// 查看设备标识牌
propPlate(row) {
this.bigDeviceId = row.bigDeviceId;
@@ -539,15 +562,20 @@
this.plateData = res.data;
})
},
- // 导出
- exportExcel() {
- this.$api.Device.exportDeviceExcel({
- bigType: 1,
- bigDeviceName: this.bigDeviceName,
- bigNumber: this.bigNumber
- }).then(res => {
- downFiles(res, '特种设备信息', 'xls')
- })
+ // 打印
+ printDevice(item) {
+ const link = document.createElement('a');
+ link.id = `link`;
+ link.href = `printpipe://4,${item.bigDeviceId}`
+ link.click()
+ },
+ // 弹框打印
+ printDeviceDialog() {
+ const link = document.createElement('a');
+ link.id = `link`;
+ link.href = `printpipe://4,${this.bigDeviceId}`
+ link.click();
+ this.asyncPlate = false;
},
// 删除设备信息
deleteInfo(row) {
@@ -573,6 +601,16 @@
this.$message.warning("您已取消");
})
},
+ // 导出
+ exportExcel() {
+ this.$api.Device.exportDeviceExcel({
+ bigType: 1,
+ bigDeviceName: this.bigDeviceName,
+ bigNumber: this.bigNumber
+ }).then(res => {
+ downFiles(res, '特种设备信息', 'xls')
+ })
+ },
// 提交添加信息
submitInsertForm: throttle(function() {
this.$refs.form.validate((valid) => {
--
Gitblit v1.9.3