From ed537a5c6553973997f5c4849c262cef30635b38 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 11 三月 2025 11:35:26 +0800
Subject: [PATCH] 设备搬迁-设备总览、设备工具明细、资源预定、作业指导书联调
---
src/views/CNAS/resourceDemand/device/component/operationInstruction.vue | 19 +-----
src/api/cnas/resourceDemand/device.js | 31 +++++-----
src/views/CNAS/resourceDemand/device/component/management.vue | 22 +++++--
src/views/CNAS/resourceDemand/device/component/device-overview.vue | 27 +-------
src/views/CNAS/resourceDemand/device/component/resource-reservation.vue | 48 +++++++---------
5 files changed, 60 insertions(+), 87 deletions(-)
diff --git a/src/api/cnas/resourceDemand/device.js b/src/api/cnas/resourceDemand/device.js
index 8f66b90..635890a 100644
--- a/src/api/cnas/resourceDemand/device.js
+++ b/src/api/cnas/resourceDemand/device.js
@@ -1198,11 +1198,18 @@
data: data,
});
}
-
+//浣滀笟鎸囧涔︽煡璇�
+export function pageByPageQueryOfHomeworkInstructions(query) {
+ return request({
+ url: "/instruction/pageByPageQueryOfHomeworkInstructions",
+ method: "get",
+ params: query,
+ });
+}
//浣滀笟鎸囧涔� 瀹℃壒
export function approvalOfHomeworkInstructionManual(data) {
return request({
- url: "/deviceInstruction/approvalOfHomeworkInstructionManual",
+ url: "/instruction/approvalOfHomeworkInstructionManual",
method: "post",
data: data,
});
@@ -1211,7 +1218,7 @@
//浣滀笟鎸囧涔� 鍒犻櫎
export function homeworkGuidebook(query) {
return request({
- url: "/deviceInstruction/homeworkGuidebook",
+ url: "/instruction/homeworkGuidebook",
method: "delete",
params: query,
});
@@ -1220,7 +1227,7 @@
//浣滀笟鎸囧涔� 缂栬緫鏌ヨ
export function homeworkGuidebookEditor(query) {
return request({
- url: "/deviceInstruction/homeworkGuidebookEditor",
+ url: "/instruction/homeworkGuidebookEditor",
method: "get",
params: query,
});
@@ -1229,7 +1236,7 @@
//浣滀笟鎸囧涔︽柊澧�
export function newHomeworkGuidebookAdded(data) {
return request({
- url: "/deviceInstruction/newHomeworkGuidebookAdded",
+ url: "/instruction/newHomeworkGuidebookAdded",
method: "post",
data: data,
});
@@ -1238,20 +1245,12 @@
//浣滀笟鎸囧涔﹀彈鎺ф枃浠跺垹闄�
export function deleteHomeworkGuidebook(query) {
return request({
- url: "/deviceInstruction/deleteHomeworkGuidebook",
+ url: "/instruction/deleteHomeworkGuidebook",
method: "delete",
params: query,
});
}
-//浣滀笟鎸囧涔� 鏌ヨ
-export function pageByPageQueryOfHomeworkInstructions(query) {
- return request({
- url: "/deviceInstruction/pageByPageQueryOfHomeworkInstructions",
- method: "get",
- params: query,
- });
-}
//璁惧棰勭害鎺ュ彛
export function reservationSelectDevice(query) {
return request({
@@ -1260,7 +1259,7 @@
params: query,
});
}
-//璁惧棰勭害鎺ュ彛
+//璁惧棰勭害鎺ュ彛 鍒犻櫎
export function reservationDelete(query) {
return request({
url: "/reservation/delete",
@@ -1268,7 +1267,7 @@
params: query,
});
}
-//璁惧棰勭害鎺ュ彛
+//璁惧棰勭害鎺ュ彛 淇濆瓨
export function reservationSave(query) {
return request({
url: "/reservation/save",
diff --git a/src/views/CNAS/resourceDemand/device/component/device-overview.vue b/src/views/CNAS/resourceDemand/device/component/device-overview.vue
index ae3e069..2efabd0 100644
--- a/src/views/CNAS/resourceDemand/device/component/device-overview.vue
+++ b/src/views/CNAS/resourceDemand/device/component/device-overview.vue
@@ -145,8 +145,8 @@
<template>
<div class="role_manage">
- <div>
- <el-form :model="entity" inline label-position="right" label-width="80px">
+ <div style="margin-top: 10px">
+ <el-form :model="entity" inline label-position="right">
<el-form-item label="鐘舵��:">
<el-select v-model="entity.deviceStatus" placeholder="鍏ㄩ儴" size="small" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
@@ -164,24 +164,6 @@
@click="currentPage = 1, keyMap = {}, list = [], finishLoding = false, refreshTable()">鏌� 璇�</el-button>
</el-form-item>
</el-form>
- <!-- <div class="search_thing">
- <div class="search_label">鐘舵�侊細</div>
- <el-select v-model="entity.deviceStatus" placeholder="鍏ㄩ儴" size="small" clearable>
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- <div class="search_thing">
- <div class="search_label">璁惧鍚嶇О锛�</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="entity.deviceName"></el-input>
- </div>
- </div> -->
-
-
- <!-- <div class="search_thing" style="padding-left: 30px;">
- </div> -->
</div>
<div class="table" v-loading="loading">
<scroll-pagination @load="refreshTable()" :finishLoding="finishLoding" :list="list"
@@ -255,7 +237,6 @@
entity: {
deviceStatus: null,
deviceName: null,
- orderBy: { field: "id", order: "asc" }
},
options: [],
list: [],
@@ -298,8 +279,8 @@
...this.entity
}).then(res => {
if (res.code == 200) {
- this.total = res.data.body.total
- let list = res.data.body.records.map(m => {
+ this.total = res.data.total
+ let list = res.data.records.map(m => {
switch (m.deviceStatus) {
case 0:
// 姝e父
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index e2e7602..6e95077 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -268,7 +268,7 @@
<el-col :span="7">
<el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
<!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:">
+ <el-form-item label="鎵�灞為儴闂�:" required>
<el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small"
style="width:100%">
<el-option v-for="item in subordinateDepartmentsList" :key="item.value"
@@ -421,11 +421,9 @@
labelPosition: 'right',
dialogVisible: false,
dialogVisible2: false,
- addPower: false,
showData: false, // 鏁伴噰閰嶇疆椤甸潰
tableList: [],
addDia: true,
- addPower: true,
//璁惧绫诲瀷鍒楄〃
equipmentList: [],
// 璐熻矗浜哄垪琛�
@@ -445,7 +443,7 @@
queryParams: {},
tableData: [],
column: [
- { label: "璁惧鍚嶇О", prop: "deviceName", dataType: 'link', linkMethod: 'selectAllByOne' },
+ { label: "璁惧鍚嶇О", prop: "deviceName", dataType: 'link', linkMethod: 'selectAllByOne', width: 120 },
{ label: "璁惧鍚嶇ОEN", prop: "enDeviceName" },
{
label: "瑙勬牸鍨嬪彿",
@@ -469,10 +467,18 @@
{
label: "璁惧鍒嗙被", prop: "largeCategory", dataType: "tag",
formatData: (params) => {
- return this.equipmentList.find(m => m.value == params).label
+ if (this.equipmentList.find(m => m.value == params)) {
+ return this.equipmentList.find(m => m.value == params).label
+ } else {
+ return null
+ }
},
formatType: (params) => {
- return this.equipmentList.find(m => m.value == params).type
+ if (this.equipmentList.find(m => m.value == params)) {
+ return this.equipmentList.find(m => m.value == params).type
+ } else {
+ return null
+ }
}
},
{ label: "鍗曚环", prop: "unitPrice" },
@@ -821,6 +827,10 @@
this.$message.error('杈撳叆鏍″噯鍛ㄦ湡锛堟湀锛�')
return
}
+ if (!this.formData2.subordinateDepartmentsId) {
+ this.$message.error('璇烽�夋嫨鎵�灞為儴闂�')
+ return
+ }
const formData = this.HaveJson(this.formData2)
formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : ''
if (formData.authorizedPerson.length === 0) {
diff --git a/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue b/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
index 436b01f..ab82ea4 100644
--- a/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
+++ b/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
@@ -31,9 +31,9 @@
<template v-slot="scope">
<el-button type="text" size="small" @click="downloadFile(scope.row.fileSystemName)">涓嬭浇</el-button>
<el-button type="text" size="small" style="color: red;"
- @click="deleteHomeworkGuidebook(scope.row)">鍒犻櫎</el-button>
- <el-button type="text" size="small" @click="instructionEditFun(scope.row)">缂栬緫</el-button>
- <el-button type="text" size="small" @click="approval(scope.row)">瀹℃壒</el-button>
+ @click="deleteHomeworkGuidebook(scope.row)" :disabled="scope.row.status === true">鍒犻櫎</el-button>
+ <el-button type="text" size="small" @click="instructionEditFun(scope.row)" :disabled="scope.row.status === true">缂栬緫</el-button>
+ <el-button type="text" size="small" @click="approval(scope.row)" :disabled="scope.row.status === true">瀹℃壒</el-button>
</template>
</el-table-column>
</el-table>
@@ -309,18 +309,7 @@
});
},
downloadFile(fileName) {
- let state = /\.(jpg|jpeg|png|gif)$/i.test(fileName)
- if (state) {
- let url = this.javaApi + '/img/' + fileName;
- fileDownload.downloadIamge(url, fileName)
- } else {
- const url = this.javaApi + '/word/' + fileName
- const link = document.createElement('a');
- link.href = url;
- link.download = fileName;
- link.click();
- this.$message.success('涓嬭浇鎴愬姛')
- }
+ this.$download.saveAs(fileName, fileName)
},
instructionEditFun(row) {
this.dialogVisible = true
diff --git a/src/views/CNAS/resourceDemand/device/component/resource-reservation.vue b/src/views/CNAS/resourceDemand/device/component/resource-reservation.vue
index b23611b..7f3806b 100644
--- a/src/views/CNAS/resourceDemand/device/component/resource-reservation.vue
+++ b/src/views/CNAS/resourceDemand/device/component/resource-reservation.vue
@@ -2,8 +2,7 @@
<template>
<div class="role_manage">
<el-row class="title">
- <el-col :span="8" style="text-align: left;">棰勫畾鎬昏</el-col>
- <el-col :span="16" style="text-align: right;padding-bottom:10px">
+ <el-col :span="24" style="text-align: right;padding:10px 0">
<el-date-picker
v-model="startTime"
format="yyyy-MM-dd"
@@ -19,7 +18,7 @@
size="mini"
type="date"
value-format="yyyy-MM-dd"/>
- <el-button size="mini" type="primary" @click="ValidateAndQuery">鏌� 璇�</el-button>
+ <el-button size="mini" type="primary" @click="ValidateAndQuery" style="margin-left: 10px">鏌� 璇�</el-button>
</el-col>
</el-row>
<div class="table-container">
@@ -134,7 +133,6 @@
}
},
data() {
-
return {
timeSlots: ['09:00-12:00', '13:00-18:00', '18:00-22:00'],
dates: [],
@@ -154,7 +152,6 @@
startTime: '',
endTime: '',
entity: {
- deviceName: null,
laboratoryName: '',
storagePoint: '',
},
@@ -169,15 +166,6 @@
reservationSpecification: ''
},
total: '',
- componentData: {
- entity: {
- largeCategory: null,
- orderBy: {
- field: 'id',
- order: 'asc'
- }
- },
- },
yuyue: null,
yuyuetime: '',
rules: {
@@ -202,14 +190,12 @@
this.clickSidebar(newVal)
}
},
-
created() {
this.clickSidebar(this.clickNodeVal)
this.initDate();
},
mounted() {
- this.getStartTimeAndEndTime();
-
+ // this.getStartTimeAndEndTime();
},
methods: {
isBeforeDate() {
@@ -218,7 +204,7 @@
const appointment = this.appointment && this.appointment.split('-')
let appointment0 = ''
let appointment1 = ''
- if (appointment !== '') {
+ if (appointment) {
appointment0 = appointment[0].slice(0, 2)
appointment1 = appointment[1].slice(0, 2)
}
@@ -238,7 +224,7 @@
if (!row || row.dateList === null || row.dateList === undefined || row.dateList === "") {
return '棰勭害';
}
- var dateLst = row.dateList
+ const dateLst = row.dateList
for (const dateLstElement of dateLst) {
if (dateLstElement.date === date) {
if (dateLstElement.value === 0) {
@@ -312,12 +298,16 @@
getStartTimeAndEndTime() {
//鏌ヨ閫昏緫
this.tableLoading = true;
- reservationSelectDevice({
- current: this.currentPage,
- size: this.pageSize,
- ...this.entity,
- laboratoryNameIsNull: this.laboratoryNameIsNull
- }).then(res => {
+ const params = {
+ current: this.currentPage,
+ size: this.pageSize,
+ starttime: this.startTime,
+ endtime: this.endTime,
+ laboratoryNameIsNull: this.laboratoryNameIsNull,
+ laboratoryName: this.entity.laboratoryName,
+ storagePoint: this.entity.storagePoint,
+ }
+ reservationSelectDevice(params).then(res => {
this.tableLoading = false;
if (res.code === 200) {
this.tableData = res.data;
@@ -326,17 +316,20 @@
this.tableLoading = false;
})
},
+ // 鎵撳紑棰勭害寮规
openModal(date, row) {
+ console.log('date', date);
+ console.log('row', row);
this.yuyue = row;
this.yuyuetime = date;
this.appointment = row.time
this.showModal = true;
this.getList();
},
+ // 鎵撳紑鏂板缓棰勫畾寮规
openAdd() {
this.addVisiable = true;
this.addReservation.deviceId = this.yuyue.id;
- // this.addReservation.deviceNumber = this.yuyue.deviceNumber;
this.addReservation.deviceName = this.yuyue.deviceName;
this.addReservation.reservationTime = this.yuyuetime + " " + this.yuyue.time;
this.addReservation.specificTime = this.yuyue.time;
@@ -393,9 +386,10 @@
}
});
},
+ // 棰勫畾淇℃伅鏌ヨ
getList() {
const params = {
- selectReservationParameterPage: this.yuyue.id,
+ deviceId: this.yuyue.id,
reservationTime: this.yuyuetime,
specificTime: this.yuyue.time,
}
--
Gitblit v1.9.3