From 0f63c9e381eeefa2f7aceb7ed8d043ddd165afd5 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 10 六月 2025 15:33:05 +0800 Subject: [PATCH] feat(maint): 添加工单图片上传功能 --- eims-ui-mobile/src/pages/repair/repair-add.vue | 3 + eims-ui-mobile/src/pages/maint/order-detail.vue | 2 eims-ui-mobile/src/pages/maint/maint-order.vue | 52 +++++++++++++++++++++---- eims-ui-mobile/src/pages/maint/maint-st.vue | 18 +++++---- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java | 2 + eims-ui-mobile/src/pages/inspect/insp-add.vue | 1 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java | 2 + eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java | 2 + 8 files changed, 62 insertions(+), 20 deletions(-) diff --git a/eims-ui-mobile/src/pages/inspect/insp-add.vue b/eims-ui-mobile/src/pages/inspect/insp-add.vue index 7d513b3..f3ac7f8 100644 --- a/eims-ui-mobile/src/pages/inspect/insp-add.vue +++ b/eims-ui-mobile/src/pages/inspect/insp-add.vue @@ -70,7 +70,6 @@ /> <wd-cell title="鐐规鍥剧墖" title-width="200rpx" prop="fileList"> <wd-upload - :auto-upload="false" :file-list="model.fileList" :action="VITE_UPLOAD_BASEURL" @change="handleFileChange" diff --git a/eims-ui-mobile/src/pages/maint/maint-order.vue b/eims-ui-mobile/src/pages/maint/maint-order.vue index fe14b49..b67e041 100644 --- a/eims-ui-mobile/src/pages/maint/maint-order.vue +++ b/eims-ui-mobile/src/pages/maint/maint-order.vue @@ -54,15 +54,17 @@ <view class="text-color-gray text-sm mt-1 flex"> <text class="mr-3">宸ュ崟鎬绘暟: {{ maintSt.orderCount }}</text> | - <text class="mx-3">宸插畬鎴�: {{ maintSt.wcCount }}</text> - </view> - <view class="text-color-gray text-sm mt-2 flex"> - <text class="mr-3">寰呬繚鍏�: {{ maintSt.dbyCount }}</text> + <text class="mx-3">宸插畬鎴�: {{ maintSt.dyzCount }}</text> | - <text class="mx-3">淇濆吇涓�: {{ maintSt.byCount }}</text> -<!-- |--> -<!-- <text class="ml-3">寰呴獙璇�: {{ maintSt.dyzCount }}</text>--> + <text class="mx-3">寰呬繚鍏�: {{ maintSt.dbyCount }}</text> </view> +<!-- <view class="text-color-gray text-sm mt-2 flex">--> +<!-- <text class="mr-3">寰呬繚鍏�: {{ maintSt.dbyCount }}</text>--> +<!-- |--> +<!-- <text class="mx-3">淇濆吇涓�: {{ maintSt.byCount }}</text>--> +<!--<!– |–>--> +<!--<!– <text class="ml-3">寰呴獙璇�: {{ maintSt.dyzCount }}</text>–>--> +<!-- </view>--> <view class="text-color-gray text-sm mt-2 flex"> <text>鐘舵�侊細</text> <template v-if="maintSt.status === '1'"> @@ -140,6 +142,9 @@ <!-- 姝f枃鍖哄煙 --> <view v-else class="mt-2"> + <wd-upload v-model:file-list="item.fileList" :action="VITE_UPLOAD_BASEURL" @success="handleUploadSuccess" > + <wd-button>涓婁紶鍥剧墖</wd-button> + </wd-upload> <!-- 淇濆吇璇存槑鍖哄煙 --> <view v-if="item.maintFun === '1'" class="mt-2"> <wd-input @@ -259,7 +264,8 @@ import { formatDate } from '@/utils/DateUtils' import { useUserStore } from "@/store"; import { getSpareList } from '@/service/spare' - +import { getEnvBaseUploadUrl } from "@/utils"; +const VITE_UPLOAD_BASEURL = `${getEnvBaseUploadUrl()}` const message = useMessage() const toast = useToast() const userStore = useUserStore() @@ -300,10 +306,19 @@ } getMaintStOrderList(params) .then((res: any) => { + // 灏嗘瘡涓�椤圭殑picture杞崲涓篺ileList鏁扮粍 + res.rows.forEach((item: any) => { + item.fileList = item.picture?.split(',').map((url: string) => { + return { + url: url, + } + }) + }) // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡 paging.value.completeByTotal(res.rows, res.total) }) .catch((res) => { + console.error(res) // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰 // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊 // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲 @@ -381,6 +396,7 @@ function confirmSpareSelection() { closeSparePopup() } + function addOtherSparePart() { dataList.value[selectedPartIndex.value].spareParts.push({ @@ -482,6 +498,15 @@ toast.info('璇峰~鍐欑淮淇鏄庯紒') return false } + + // 灏唖ubmitList涓瘡涓�椤圭殑fileList杞崲涓轰互閫楀彿鍒嗗壊鐨勫瓧绗︿覆 + submitList.forEach((item) => { + + console.log('item.fileList', item.fileList) + const map = item.fileList?.map((file) => file.url) + console.log('map', map) + item.picture = map?.join(',') + }) const data: any = Object.assign( @@ -643,7 +668,16 @@ .catch((res) => { console.error(res) }) - +} +function handleUploadSuccess({ file, fileList }) { + console.log('handleUploadSuccess', file) + // 鍒ゆ柇 file.response鏄笉鏄� 瀵硅薄锛屼笉鏄璞″皢json瀛楃涓茶浆鎹负瀵硅薄 + if (typeof file.response === 'string') { + file.response = JSON.parse(file.response) + console.log('file.response', file.response) + file.ossId = file.response.data.ossId + file.url = file.response.data.url + } } // 鏂板鏂规硶锛氳幏鍙栫姸鎬佹枃鏈� diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue index 4db3bdf..c58daa8 100644 --- a/eims-ui-mobile/src/pages/maint/maint-st.vue +++ b/eims-ui-mobile/src/pages/maint/maint-st.vue @@ -45,17 +45,19 @@ <image class="slot-img text-center" src="/static/images/camera.png" /> <view class="flex-1"> <view class="text-color-gray text-sm mt-1 flex"> - <text class="mr-3">宸ュ崟鎬绘暟: {{ item.orderCount }}</text> + <text class="mr-3">鎬绘暟: {{ item.orderCount }}</text> | - <text class="mx-3">宸插畬鎴�: {{ item.wcCount }}</text> + <text class="mx-3">宸插畬鎴�: {{ item.dyzCount }}</text> + | + <text class="mx-3">寰呬繚鍏�: {{ item.dbyCount }}</text> </view> - <view class="text-color-gray text-sm mt-2 flex"> - <text class="mr-3">寰呬繚鍏�: {{ item.dbyCount }}</text> - | - <text class="mx-3">淇濆吇涓�: {{ item.byCount }}</text> +<!-- <view class="text-color-gray text-sm mt-2 flex">--> +<!-- <text class="mr-3">寰呬繚鍏�: {{ item.dbyCount }}</text>--> <!-- |--> -<!-- <text class="ml-3">寰呴獙璇�: {{ item.dyzCount }}</text>--> - </view> +<!--<!– <text class="mx-3">淇濆吇涓�: {{ item.byCount }}</text>–>--> +<!--<!– |–>--> +<!--<!– <text class="ml-3">寰呴獙璇�: {{ item.dyzCount }}</text>–>--> +<!-- </view>--> <view class="text-color-gray text-sm mt-2 flex"> <text>鐘舵�侊細</text> <template v-if="item.status === '1'"> diff --git a/eims-ui-mobile/src/pages/maint/order-detail.vue b/eims-ui-mobile/src/pages/maint/order-detail.vue index beed4f1..d4755ba 100644 --- a/eims-ui-mobile/src/pages/maint/order-detail.vue +++ b/eims-ui-mobile/src/pages/maint/order-detail.vue @@ -61,7 +61,6 @@ /> <wd-cell title="淇濆吇鍥剧墖" title-width="200rpx" prop="fileList"> <wd-upload - :auto-upload="false" :file-list="fileList" @change="handleFileChange" ></wd-upload> @@ -133,6 +132,7 @@ endTime?: string maintDesc: string remark: string + picture: string } const order = reactive<MaintOrder>({ diff --git a/eims-ui-mobile/src/pages/repair/repair-add.vue b/eims-ui-mobile/src/pages/repair/repair-add.vue index 2a2778c..a498a80 100644 --- a/eims-ui-mobile/src/pages/repair/repair-add.vue +++ b/eims-ui-mobile/src/pages/repair/repair-add.vue @@ -115,7 +115,6 @@ /> <wd-cell title="鎶ヤ慨鍥剧墖" title-width="200rpx" prop="fileList"> <wd-upload - :auto-upload="false" :file-list="model.fileList" :action="VITE_UPLOAD_BASEURL" @change="handleFileChange" @@ -315,6 +314,7 @@ model.reqTime = formatDate(new Date()) model.reqDept = userStore?.userInfo?.deptId model.reqUser = userStore?.userInfo?.userId + model.faultPicture = model.fileList.join(',') addRepairReq(model) .then((res: any) => { if (res?.code === 200) { @@ -335,6 +335,7 @@ * @param fileList */ function handleFileChange({ fileList }) { + console.log('fileList:', fileList) model.fileList = fileList } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java index 8aae23b..d170fa4 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java @@ -123,4 +123,6 @@ */ private String repairDesc; + private String picture; + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java index 625c6ee..af48846 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java @@ -134,4 +134,6 @@ private List<EimsSpareBo> spareParts; + private String picture; + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java index 1a43656..ad29c5a 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java @@ -168,5 +168,7 @@ private List<EimsSpareVo> spareParts; + private String picture; + } -- Gitblit v1.9.3