From b373b324b677d377abbcbefd7434e4af4d8f64cc Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 10 三月 2025 17:52:09 +0800
Subject: [PATCH] 设备搬迁
---
src/api/cnas/resourceDemand/device.js | 25 ++++++++
src/views/CNAS/resourceDemand/device/component/files.vue | 4
src/views/CNAS/resourceDemand/device/component/management.vue | 4
src/views/CNAS/resourceDemand/device/component/calibration.vue | 90 ++++++++++++++++++++++++++++-
4 files changed, 114 insertions(+), 9 deletions(-)
diff --git a/src/api/cnas/resourceDemand/device.js b/src/api/cnas/resourceDemand/device.js
index 84b37ea..8f66b90 100644
--- a/src/api/cnas/resourceDemand/device.js
+++ b/src/api/cnas/resourceDemand/device.js
@@ -1359,6 +1359,15 @@
responseType: "blob"
});
}
+//璁惧鏍″噯瀵煎嚭
+export function downLoadDeviceCalibrationFile(query) {
+ return request({
+ url: "/personBasicInfo/downLoadDeviceCalibrationFile",
+ method: "get",
+ params: query,
+ responseType: "blob"
+ });
+}
//鍒犻櫎 璁惧鏁呴殰
export function deleteDeviceFaultOne(query) {
return request({
@@ -1367,3 +1376,19 @@
params: query,
});
}
+//鍒犻櫎 璁惧鏍″噯
+export function delDeviceCalibrationFile(query) {
+ return request({
+ url: "/personBasicInfo/delDeviceCalibrationFile",
+ method: "delete",
+ params: query,
+ });
+}
+//璁惧鏍″噯鏌ヨ
+export function getDeviceCalibrationFile(query) {
+ return request({
+ url: "/personBasicInfo/getDeviceCalibrationFile",
+ method: "get",
+ params: query,
+ });
+}
diff --git a/src/views/CNAS/resourceDemand/device/component/calibration.vue b/src/views/CNAS/resourceDemand/device/component/calibration.vue
index a64e14a..c522343 100644
--- a/src/views/CNAS/resourceDemand/device/component/calibration.vue
+++ b/src/views/CNAS/resourceDemand/device/component/calibration.vue
@@ -61,7 +61,7 @@
style="margin-top: 5px;margin-bottom: 10px;"
:action="action"
:data="uploadData"
- :headers="headers"
+ :headers="uploadHeader"
:before-upload="beforeUpload"
:on-success="onSuccess"
>
@@ -333,7 +333,7 @@
selectDeviceMetric,
deleteDeviceMetrics,
addOrUpdateDeviceMetricRecord,
- saveOrUpdateDeviceMetric
+ saveOrUpdateDeviceMetric, downLoadDeviceCalibrationFile, getDeviceCalibrationFile, delDeviceCalibrationFile
} from '@/api/cnas/resourceDemand/device.js'
import { mapGetters } from "vuex";
import filePreview from "@/components/Preview/filePreview.vue";
@@ -353,6 +353,12 @@
calibrateParams: [],
calibrateParamsLoading: false,
addCalibrateLoading: false,
+ previewFile: '',
+ lookDialogVisible: false,
+ recordId: null,
+ uploadData: {},
+ fileData: [],
+ dialogVisibleFile: false,
calibrationRecord: {
unitOfMeasure: '', // 璁¢噺鍗曚綅
calibrationDate: null, // 鏍″噯鏃ユ湡
@@ -425,6 +431,67 @@
this.getTableList(this.clickNodeVal.value) // 鑾峰彇璁惧鏍″噯鍒楄〃鏁版嵁
},
methods: {
+ preview(row) {
+ let list = row.fileUrl.split('.')
+ let suffix = list[list.length - 1]
+ if(suffix.toLowerCase().includes("pdf")) {
+ let link = document.createElement('a')
+ let url = this.javaApi + 'word' + row.fileUrl
+ console.log(url);
+ link.href = url
+ link.target= '_blank'
+ document.body.appendChild(link)
+ link.click()
+ document.body.removeChild(link)
+ }else{
+ let url = ''
+ if(suffix.toLowerCase().includes('docx')) {
+ url = this.javaApi + 'word' + row.fileUrl
+ }else if(suffix.toLowerCase().includes('xls')) {
+ url = this.javaApi + 'excel' + row.fileUrl
+ }else{
+ url = this.javaApi + 'img' + row.fileUrl
+ }
+ this.previewFile = url
+ this.$nextTick(() => {
+ this.lookDialogVisible = true
+ })
+ }
+ },
+ download(row) {
+ downLoadDeviceCalibrationFile({id: row.id}).then(res => {
+ const blob = new Blob([res],{type: row.mime})
+ this.$download.saveAs(blob, row.fileName)
+ })
+ },
+ delFile(row) {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ delDeviceCalibrationFile({id: row.id}).then(res => {
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛!'
+ });
+ this.getFileData(this.recordId);
+ })
+ })
+ },
+ handleAttachmentClick(row) {
+ // 妯℃嫙涓嬭浇闄勪欢
+ // const imageUrl = this.javaApi + '/img/' + row.systemFileName; // 鍥剧墖 URL
+ // file.downloadIamge(imageUrl,row.fileName)
+ this.recordId = row.id
+ this.dialogVisibleFile = true
+ this.getFileData(row.id)
+ },
+ getFileData(id) {
+ getDeviceCalibrationFile({id: id}).then(res =>{
+ this.fileData = res.data
+ })
+ },
//鐘舵�佸垽瀹�
checkRadio() {
let resultList = this.calibrateParams.map(ele => ele.result)
@@ -489,9 +556,6 @@
message: '宸插彇娑堝垹闄�'
});
})
- },
- handleAttachmentClick(row) {
- this.$download.saveAs(row.systemFileName, row.systemFileName)
},
//瀵煎嚭
handleDown() {
@@ -637,15 +701,31 @@
}
},
beforeUpload(file) {
+ let list = file.name.split('.')
+ let suffix = list[list.length - 1]
+
+ console.log(suffix);
if (file.size > 1024 * 1024 * 10) {
this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
this.$refs.upload.clearFiles()
return false;
} else {
this.upLoading = true;
+ this.$set(this.uploadData,'id',this.recordId)
+ this.$set(this.uploadData,'suffix',suffix)
return true;
}
},
+ onSuccess(response,file,fileList) {
+ if(response.code == 200) {
+ this.$message.success("涓婁紶鎴愬姛")
+ this.upLoading = false
+ this.$refs.upload.clearFiles()
+ this.getFileData(this.recordId)
+ } else {
+ this.$message.error(response.msg)
+ }
+ },
onError(err, file, fileList) {
this.$message.error('涓婁紶澶辫触')
this.$refs.upload.clearFiles()
diff --git a/src/views/CNAS/resourceDemand/device/component/files.vue b/src/views/CNAS/resourceDemand/device/component/files.vue
index b6381d6..feabc51 100644
--- a/src/views/CNAS/resourceDemand/device/component/files.vue
+++ b/src/views/CNAS/resourceDemand/device/component/files.vue
@@ -338,7 +338,7 @@
<div>
<div v-show="editData.imageName" class="picName">{{ editData.imageName }}</div>
<el-upload :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
- accept='image/jpg,image/jpeg,image/png' :headers="headers" :on-change="beforeUpload"
+ accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload"
:on-error="onError" ref='upload' class="avatar-uploader"
>
<img v-if="editData.imageUpload" :src="javaApi + '/img/' + editData.imageUpload" class="avatar">
@@ -412,7 +412,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="闄勪欢锛�" style="float: left;">
- <el-upload class="upload-demo" :action="action" :headers="headers" ref="uploadFile" :on-error="onError"
+ <el-upload class="upload-demo" :action="action" :headers="uploadHeader" ref="uploadFile" :on-error="onError"
:on-remove="handleRemove" :on-success="onSuccess" :before-remove="beforeRemove" multiple :limit="1"
:on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index 739ac7f..e2e7602 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -170,7 +170,7 @@
style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
<div v-show="formData.imageName" class="picName">{{ formData.imageName }}</div>
<el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2"
- :show-file-list="false" accept='image/jpg,image/jpeg,image/png' :headers="headers"
+ :show-file-list="false" accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader"
:on-change="beforeUpload" :on-error="onError" ref='upload'>
<el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
</el-upload>
@@ -308,7 +308,7 @@
style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;line-height:32px;display:flex;justify-content: space-around;font-size: 13px;">
<div v-show="formData2.imageName" class="picName">{{ formData2.imageName }}</div>
<el-upload :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
- accept='image/jpg,image/jpeg,image/png' :headers="headers" :on-change="beforeUpload"
+ accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload"
:on-error="onError" ref='upload'>
<el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
</el-upload>
--
Gitblit v1.9.3