From 6f781fce323fe4c94e89f5a851a977865d3b38ec Mon Sep 17 00:00:00 2001 From: 叶松 <2217086471@qq.com> Date: 星期四, 23 十一月 2023 16:12:29 +0800 Subject: [PATCH] Merge branch 'master' of http://111.30.93.211:10101/r/supipe --- web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue | 104 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 71 insertions(+), 33 deletions(-) diff --git a/web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue b/web/src/views/EquipmentManage/EquipInfo/components/SpecialEquipment.vue index 7ad7a0a..7d84ff7 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