From 137bf2c0666b60cfc0d98b1a9ca7ead860ee4e7c Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期三, 28 十月 2026 17:57:29 +0800
Subject: [PATCH] feat(device,supply,satisfaction): 设备计划改造、耗材采购调整与满意度照片上传
---
src/views/CNAS/systemManagement/customerSatisfaction/components/formDialog.vue | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/src/views/CNAS/systemManagement/customerSatisfaction/components/formDialog.vue b/src/views/CNAS/systemManagement/customerSatisfaction/components/formDialog.vue
index 8ad497f..b128c19 100644
--- a/src/views/CNAS/systemManagement/customerSatisfaction/components/formDialog.vue
+++ b/src/views/CNAS/systemManagement/customerSatisfaction/components/formDialog.vue
@@ -136,6 +136,17 @@
</el-input>
</td>
</tr>
+ <tr>
+ <td class="td-title">
+ <p>鐓х墖锛�</p>
+ </td>
+ <td class="td-info" colspan="5">
+ <lims-attachment ref="photoAttachment" inline defer-upload accept=".jpg,.jpeg,.png,.gif"
+ :main-id="form.clientSatisfactionId || ''" upload-url="/clientSatisfaction/uploadAttachment"
+ select-url="/clientSatisfaction/selectAttachments" delete-url="/clientSatisfaction/deleteAttachment"
+ id-param="clientSatisfactionId" tip="鏀寔 jpg / png / gif 鐓х墖锛屽彲棰勮锛屾彁浜ゆ椂涓�骞朵笂浼�"></lims-attachment>
+ </td>
+ </tr>
</table>
<template #footer><span class="dialog-footer">
<el-button @click="closeFormDia">鍙� 娑�</el-button>
@@ -151,10 +162,11 @@
updateClientSatisfaction
} from '@/api/cnas/systemManagement/customerSatisfaction.js'
import { selectCompletedOrders } from '@/api/business/productOrder'
+import limsAttachment from '@/components/Attachment/lims-attachment.vue'
export default {
name: 'formDialog',
// import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
- components: {},
+ components: { limsAttachment },
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
@@ -287,24 +299,45 @@
}
if (this.operationType === 'add') {
addClientSatisfaction(payload).then(res => {
- this.editLoad = false
- this.$message.success('鎻愪氦鎴愬姛')
- this.closeFormDia()
+ // 鍚庣杩斿洖淇濆瓨鍚庣殑璁板綍锛堝惈鑷id锛夛紝鐢ㄤ簬鎶婃柊澧炴椂鏆傚瓨鐨勭収鐗囦紶涓婂幓
+ const savedId = res.data && res.data.clientSatisfactionId
+ this.finishSave(savedId)
}).catch(err => {
console.log('err---', err);
this.editLoad = false
})
} else {
- updateClientSatisfaction(payload).then(res => {
- this.editLoad = false
- this.$message.success('鎻愪氦鎴愬姛')
- this.closeFormDia()
+ updateClientSatisfaction(payload).then(() => {
+ this.finishSave(this.form.clientSatisfactionId)
}).catch(err => {
console.log('err---', err);
this.editLoad = false
})
}
},
+ // 璁板綍淇濆瓨鎴愬姛鍚庝笂浼犳殏瀛樼収鐗囷紱鐓х墖涓婁紶澶辫触涓嶅奖鍝嶈褰曟湰韬�
+ finishSave(clientSatisfactionId) {
+ this.uploadPendingPhotos(clientSatisfactionId).then(() => {
+ this.editLoad = false
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.closeFormDia()
+ }).catch(err => {
+ console.log('鐓х墖涓婁紶澶辫触', err)
+ this.editLoad = false
+ this.$message.warning('璁板綍宸蹭繚瀛橈紝浣嗙収鐗囦笂浼犲け璐ワ紝璇峰洖鍒板垪琛ㄧ敤鈥滈檮浠垛�濊ˉ鍏呬笂浼�')
+ this.closeFormDia()
+ })
+ },
+ uploadPendingPhotos(clientSatisfactionId) {
+ const attachment = this.$refs.photoAttachment
+ if (!attachment || !attachment.pendingFiles.length) {
+ return Promise.resolve()
+ }
+ if (!clientSatisfactionId) {
+ return Promise.reject(new Error('鏈幏鍙栧埌璁板綍id锛屾棤娉曚笂浼犵収鐗�'))
+ }
+ return attachment.flushPending(clientSatisfactionId)
+ },
closeFormDia() {
this.formDia = false;
this.$emit('closeFormDia')
--
Gitblit v1.9.3