From fcbba75febaa36d23c6c49473ab5bcee0e1a2c04 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 08 四月 2025 09:37:11 +0800
Subject: [PATCH] 检验项目新增是否委托要求字段
---
src/views/CNAS/resourceDemand/device/component/maintenance.vue | 139 +++++++++++-----------------------------------
1 files changed, 33 insertions(+), 106 deletions(-)
diff --git a/src/views/CNAS/resourceDemand/device/component/maintenance.vue b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
index 8510263..8bc91aa 100644
--- a/src/views/CNAS/resourceDemand/device/component/maintenance.vue
+++ b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
@@ -2,22 +2,24 @@
<template>
<div>
<div class="search">
- <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>
- </div>
- <div class="search_thing" style="padding-left: 30px;">
- <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-form :model="search" ref="search" size="small" :inline="true">
+ <el-form-item label="娴佺▼缂栧彿">
+ <el-input v-model="search.deviceNumber" clearable placeholder="璇疯緭鍏�" size="small"
+ @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="mini" type="primary" @click="getAllMessage(clickNodeVal.value)">鏌ヨ</el-button>
+ <el-button size="mini" @click="resetSearch">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ <div>
<el-button size="small" type="primary" @click="dialogVisible = true; add()">娣诲姞缁存姢璁板綍</el-button>
<el-button :loading="outLoading" size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button>
</div>
</div>
- <div class="tables" style="margin-top: 10px;">
- <el-table ref="table" :data="MaintainParam" height="calc(100vh - 20em)">
+ <div>
+ <el-table ref="table" :data="MaintainParam" height="calc(100vh - 20em)"
+ :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
<el-table-column label="搴忓彿" type="index" width="120">
<template v-slot="scope">
<span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
@@ -40,7 +42,7 @@
</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">
+ @current-change="handleCurrentChange" background>
</el-pagination>
</div>
<!-- 鏂板缓缁存姢 -->
@@ -118,8 +120,10 @@
<script>
import {
exportMaintenanceRecord,
- deviceMaintainDelete,
+ deleteDeviceMaintenance,
selectDeviceByCode,
+ addDeviceMaintenance,
+ getDeviceMaintenancePage,
} from '@/api/cnas/resourceDemand/device.js'
export default {
props: {
@@ -180,33 +184,7 @@
exportMaintenanceRecord({ deviceId: this.clickNodeVal.value }).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$message.success('瀵煎嚭鎴愬姛')
- //灏咮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('瀵煎嚭鎴愬姛')
- }
- }
+ this.$download.saveAs(blob, '璁惧缁存姢淇濆吇璁板綍.doc')
})
},
//鎿嶄綔璇︽儏鍒犻櫎
@@ -216,9 +194,10 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- deviceMaintainDelete(row.id).then(res => {
+ deleteDeviceMaintenance({ id: row.id }).then(res => {
})
- this.MaintainParam.splice(index, 1);
+ // this.MaintainParam.splice(index, 1);
+ this.getAllMessage(this.clickNodeVal.value)
this.$message({
type: 'success',
message: '鍒犻櫎鎴愬姛!'
@@ -246,15 +225,15 @@
this.$refs['form'].validate((valid) => {
if (valid) {
this.formData.deviceId = this.clickNodeVal.value;
- this.$axios.post(this.$api.deviceCheck.deviceMaintainAdd, this.formData).then(res => {
+ addDeviceMaintenance(this.formData).then(res => {
if (res.code == 200) {
this.$message.success('娣诲姞鎴愬姛');
this.getAllMessage(this.clickNodeVal.value)
+ this.dialogVisible = false;
+ this.formData = {}; //娓呯┖琛ㄥ崟
}
})
- this.MaintainParam.push(this.formData)
- this.dialogVisible = false;
- this.formData = {}; //娓呯┖琛ㄥ崟
+ // this.MaintainParam.push(this.formData)
}
})
},
@@ -269,7 +248,10 @@
},
//鑾峰彇琛ㄥ崟璁惧缁存姢淇℃伅
getAllMessage(deviceId) {
- this.$axios.get(this.$api.deviceCheck.getDeviceMaintenancePage + "?deviceId=" + deviceId + "&size=" + this.search.size + "¤t=" + this.search.current + "&deviceNumber=" + this.search.deviceNumber).then(res => {
+ getDeviceMaintenancePage({
+ deviceId,
+ ...this.search
+ }).then(res => {
if (res.code == 200) {
this.MaintainParam = res.data.records
this.search.total = res.data.total
@@ -295,66 +277,11 @@
</script>
<style scoped>
-h4 {
- font-weight: 400;
- font-size: 16px;
+.search {
+ height: 46px;
display: flex;
justify-content: space-between;
- margin: 10px 0;
-}
-
-h4 .line {
- display: inline-block;
- width: 3px;
- height: 16px;
- background: #3A7BFA;
- margin-right: 4px;
-}
-
-.tables {
- width: 100%;
- height: calc(100vh - 17em);
-}
-
-.search {
- background-color: #fff;
- display: flex;
- align-items: center;
- position: relative;
margin-top: 10px;
-}
-
-.search_thing {
- display: flex;
- align-items: center;
- height: 40px;
-}
-
-.search_label {
- width: 80px;
- font-size: 14px;
- text-align: right;
-}
-
-.search_input {
- width: 73%;
-}
-
-.btns {
- position: absolute;
- right: 0px;
- top: 50%;
- transform: translate(0, -50%);
-}
-
-.btns_thing {
- position: absolute;
- right: 230px;
- top: 50%;
- transform: translate(0, -50%);
-}
-
-.form .search_label {
- width: 120px;
+ align-items: flex-start;
}
</style>
--
Gitblit v1.9.3