From cb1e36684315857ad3ac22dc4397c823c7f00737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A6=8F=E8=B4=A2?= <1471584931@qq.com> Date: Thu, 18 Dec 2025 14:40:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?--=E4=BF=AE=E5=A4=8D=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=AF=BC=E5=85=A5=E8=B7=AF=E5=BE=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Form/src/components/Upload.vue | 5 +++-- src/views/sales/Customer/components/CustomerModal.vue | 1 + src/views/sales/Customer/index.vue | 1 + src/views/secondDev/approveFlowPage.vue | 2 +- src/views/secondDev/createFlow.vue | 2 +- src/views/workflow/task/components/flow/FormInformation.vue | 2 +- 6 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/components/Form/src/components/Upload.vue b/src/components/Form/src/components/Upload.vue index 527ff66..08e2102 100644 --- a/src/components/Form/src/components/Upload.vue +++ b/src/components/Form/src/components/Upload.vue @@ -119,7 +119,8 @@ import WebOfficeSDK from '/@/assets/libs/open-jssdk-v0.1.3.es.js'; import { getToken } from '/@/utils/auth'; import { useRoute } from 'vue-router'; -import { methodOf } from 'lodash-es'; + import { methodOf } from 'lodash-es'; + import { buildSnowFlakeId } from '/@/utils/uuid'; const route = useRoute(); const { VITE_GLOB_UPLOAD_ALERT_TIP } = getAppEnvConfig(); @@ -188,7 +189,7 @@ import { methodOf } from 'lodash-es'; tableName.value = data.tableName; columnName.value = data.columnName; }else{ - tableId.value = props.value || ''; + tableId.value = props.value || buildSnowFlakeId(); tableName.value = props.tableName || ''; columnName.value = props.columnName || ''; } diff --git a/src/views/sales/Customer/components/CustomerModal.vue b/src/views/sales/Customer/components/CustomerModal.vue index 168dd47..81251d9 100644 --- a/src/views/sales/Customer/components/CustomerModal.vue +++ b/src/views/sales/Customer/components/CustomerModal.vue @@ -12,6 +12,7 @@ import { useI18n } from '/@/hooks/web/useI18n'; import { formProps } from './config'; import ModalForm from './Form.vue'; + import { FromPageType } from '/@/enums/workflowEnum'; const emit = defineEmits(['success', 'register']); diff --git a/src/views/sales/Customer/index.vue b/src/views/sales/Customer/index.vue index 0773d7c..cb9dc33 100644 --- a/src/views/sales/Customer/index.vue +++ b/src/views/sales/Customer/index.vue @@ -56,6 +56,7 @@ import { isValidJSON } from '/@/utils/event/design'; import CustomerModal from './components/CustomerModal.vue'; + import CustomerCeateForm from './components/createForm.vue'; import {formConfig, searchFormSchema, columns } from './components/config'; import Icon from '/@/components/Icon/index'; import FlowRecord from '/@/views/workflow/task/components/flow/FlowRecord.vue'; diff --git a/src/views/secondDev/approveFlowPage.vue b/src/views/secondDev/approveFlowPage.vue index c3efa6f..3dacf37 100644 --- a/src/views/secondDev/approveFlowPage.vue +++ b/src/views/secondDev/approveFlowPage.vue @@ -185,7 +185,7 @@ }); } return defineAsyncComponent({ - loader: () => import(`/@/views/${data.formInfos[0]?.functionalModule}/${data.formInfos[0]?.functionName}/components/createForm.vue`) + loader: () => import(`../../views/${data.formInfos[0]?.functionalModule}/${data.formInfos[0]?.functionName}/components/createForm.vue`) }); }); function showButton(btn) { diff --git a/src/views/secondDev/createFlow.vue b/src/views/secondDev/createFlow.vue index 7c9f4e0..b48ba8f 100644 --- a/src/views/secondDev/createFlow.vue +++ b/src/views/secondDev/createFlow.vue @@ -151,7 +151,7 @@ }); } return defineAsyncComponent({ - loader: () => import(`/@/views/${data.formInfos[0]?.functionalModule}/${data.formInfos[0]?.functionName}/components/createForm.vue`) + loader: () => import(`../../views/${data.formInfos[0]?.functionalModule}/${data.formInfos[0]?.functionName}/components/createForm.vue`) }); }); diff --git a/src/views/workflow/task/components/flow/FormInformation.vue b/src/views/workflow/task/components/flow/FormInformation.vue index 946eee6..a39775c 100644 --- a/src/views/workflow/task/components/flow/FormInformation.vue +++ b/src/views/workflow/task/components/flow/FormInformation.vue @@ -161,7 +161,7 @@ }); } return defineAsyncComponent({ - loader: () => import(`/@/views/${props.formInfos[0]?.functionalModule}/${props.formInfos[0]?.functionName}/components/createForm.vue`) + loader: () => import(`../../../../../views/${props.formInfos[0]?.functionalModule}/${props.formInfos[0]?.functionName}/components/createForm.vue`) }); }); onMounted(async () => { From e9e901da24bfd861d4a00db104a086f1bdd96c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A6=8F=E8=B4=A2?= <1471584931@qq.com> Date: Thu, 18 Dec 2025 18:36:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?--=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BF=AE=E6=94=B9=E6=97=B6=E6=97=A7=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.production | 7 ++++- .vscode/settings.json | 2 +- .../Form/src/components/ErpUpload.vue | 18 ++++++++----- src/components/Form/src/components/Image.vue | 16 +++++++----- .../Form/src/components/InputUpload.vue | 19 +++++++++----- src/components/Form/src/components/Upload.vue | 26 +++++++++---------- .../Form/src/components/UploadList.vue | 1 + 7 files changed, 53 insertions(+), 36 deletions(-) diff --git a/.env.production b/.env.production index de84268..8edeeff 100644 --- a/.env.production +++ b/.env.production @@ -1,11 +1,16 @@ # 是否开启mock -VITE_USE_MOCK = true +VITE_USE_MOCK = false #VITE_PROXY=[["/api","http://10.4.126.112:23000"]] # 资源公共路径,需要以 / 开头和结尾 VITE_PUBLIC_PATH = / + + +# 是否开启history模式 +VITE_ROUTE_MODE = hash + # 是否删除Console.log VITE_DROP_CONSOLE = true diff --git a/.vscode/settings.json b/.vscode/settings.json index 83027dc..ec1a0e8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -69,7 +69,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[html]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "vscode.html-language-features" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" diff --git a/src/components/Form/src/components/ErpUpload.vue b/src/components/Form/src/components/ErpUpload.vue index 698cbd1..a2de953 100644 --- a/src/components/Form/src/components/ErpUpload.vue +++ b/src/components/Form/src/components/ErpUpload.vue @@ -35,6 +35,8 @@ import { downloadByUrl } from '/@/utils/file/download'; import { uploadMultiApi } from '/@/api/sys/upload'; import Icon from '/@/components/Icon/index'; + import { buildSnowFlakeId } from '/@/utils/uuid'; + const uuid = buildSnowFlakeId(); const props = defineProps({ value: String, @@ -79,9 +81,9 @@ tableName.value = data.tableName; columnName.value = data.columnName; }else{ - tableId.value = ''; - tableName.value = ''; - columnName.value = ''; + tableId.value = props.value || uuid; + tableName.value = props.tableName || ''; + columnName.value = props.columnName || ''; } } @@ -96,7 +98,7 @@ const refreshList = async (val:any) => { if (val) { - fileList.value = await getFileList({ tableName: props.tableName, columnName: props.columnName,tableId: props.value }); + fileList.value = await getFileList({ tableName: props.tableName, columnName: props.columnName,tableId: props.value||uuid }); if (fileList.value.length) { fileList.value.forEach((x) => { x.name = x.fileOrg; @@ -143,14 +145,16 @@ fileList.value.forEach((x) => { x.status = 'done'; //没有则不会展示下载按钮 x.thumbUrl = x.fileUrl; + x.name = x.fileOrg; }); emit('update:value', tableId.value); emit('update:tableName', tableName.value); emit('update:columnName', columnName.value); emit('change'); - if(tableIdValue==tableId.value){ - await refreshList(tableId.value); - } + + // if(tableIdValue==tableId.value){ + // await refreshList(tableId.value); + // } loading.value = false; } catch (error) { loading.value = false; diff --git a/src/components/Form/src/components/Image.vue b/src/components/Form/src/components/Image.vue index c1b6acb..e5ccbd7 100644 --- a/src/components/Form/src/components/Image.vue +++ b/src/components/Form/src/components/Image.vue @@ -34,6 +34,9 @@ import { uploadMultiApi } from '/@/api/sys/upload'; import { Icon } from '/@/components/Icon'; + import { buildSnowFlakeId } from '/@/utils/uuid'; + const uuid = buildSnowFlakeId(); + const props = defineProps({ value: String, tableName: { @@ -62,9 +65,9 @@ tableName.value = data.tableName; columnName.value = data.columnName; }else{ - tableId.value = ''; - tableName.value = ''; - columnName.value = ''; + tableId.value = props.value || uuid; + tableName.value = props.tableName || ''; + columnName.value = props.columnName || ''; } } const deleteFlag = ref(false); @@ -77,7 +80,7 @@ const refreshList = async (val:any) => { if (val) { - let result = await getFileList({tableName: props.tableName, columnName: props.columnName,tableId: props.value}); + let result = await getFileList({tableName: props.tableName, columnName: props.columnName,tableId: props.value||uuid}); if (result.length) { for (let i = 0; i < result.length; i++) { let x = result[i]; @@ -128,16 +131,15 @@ fileList.value = parseDownloadUrl(x.fileUrl,false,true); } bindValues(res[0]); - console.log(fileList.value, 'fileList.value1111111'); } emit('update:value', tableId.value); emit('update:tableName', tableName.value); emit('update:columnName', columnName.value); emit('change'); - if(tableIdValue==tableId.value){ + if(tableIdValue==tableId.value){ await refreshList(tableId.value); - } + } loading.value = false; } catch (error) { console.error(error); diff --git a/src/components/Form/src/components/InputUpload.vue b/src/components/Form/src/components/InputUpload.vue index aa5b1e4..f8f5d13 100644 --- a/src/components/Form/src/components/InputUpload.vue +++ b/src/components/Form/src/components/InputUpload.vue @@ -48,6 +48,10 @@ import { Icon } from '/@/components/Icon'; import { Base64 } from 'js-base64'; import { getAppEnvConfig } from '/@/utils/env'; + + import { buildSnowFlakeId } from '/@/utils/uuid'; + const uuid = buildSnowFlakeId(); + const { VITE_GLOB_UPLOAD_ALERT_TIP } = getAppEnvConfig(); const props = defineProps({ value: String, @@ -79,9 +83,9 @@ tableName.value = data.tableName; columnName.value = data.columnName; }else{ - tableId.value = ''; - tableName.value = ''; - columnName.value = ''; + tableId.value = props.value || uuid; + tableName.value = props.tableName || ''; + columnName.value = props.columnName || ''; } } @@ -95,7 +99,7 @@ const refreshList = async (val:any) => { if (val) { - fileList.value = await getFileList({ tableName: props.tableName, columnName: props.columnName,tableId: props.value}); + fileList.value = await getFileList({ tableName: props.tableName, columnName: props.columnName,tableId: props.value||uuid}); if (fileList.value.length) { fileList.value.forEach((x) => { x.name = x.fileOrg; @@ -139,18 +143,21 @@ tableId.value, tableName.value, columnName.value ); const tableIdValue = tableId.value; + if(res==undefined) res = []; bindValues(res[0]); + fileList.value = [...fileList.value, ...res]; fileList.value.forEach((x) => { x.status = 'done'; //没有则不会展示下载按钮 x.url = x.fileUrl; x.thumbUrl = x.thUrl; + x.name = x.fileOrg; }); name.value = res[0].fileOrg; emit('update:value', tableId.value); emit('update:tableName', tableName.value); emit('update:columnName', columnName.value); emit('change'); - if(tableIdValue==tableId.value) await refreshList(tableId.value); + //if(tableIdValue==tableId.value) await refreshList(tableId.value); loading.value = false; } catch (error) { console.error(error); @@ -181,9 +188,7 @@ } const handleRemove = async (info) => { const id = info.response ? info.response.data.id : info.id; - const status = await deleteSingleFile(id); - if (status) { deleteFlag.value = true; const index = fileList.value.findIndex((x) => x.id === id); diff --git a/src/components/Form/src/components/Upload.vue b/src/components/Form/src/components/Upload.vue index 08e2102..40d1578 100644 --- a/src/components/Form/src/components/Upload.vue +++ b/src/components/Form/src/components/Upload.vue @@ -121,6 +121,7 @@ import { useRoute } from 'vue-router'; import { methodOf } from 'lodash-es'; import { buildSnowFlakeId } from '/@/utils/uuid'; + const uuid = buildSnowFlakeId(); const route = useRoute(); const { VITE_GLOB_UPLOAD_ALERT_TIP } = getAppEnvConfig(); @@ -189,7 +190,7 @@ tableName.value = data.tableName; columnName.value = data.columnName; }else{ - tableId.value = props.value || buildSnowFlakeId(); + tableId.value = props.value || uuid; tableName.value = props.tableName || ''; columnName.value = props.columnName || ''; } @@ -219,7 +220,7 @@ } bindValues(fileList.value[0]); } else { - bindValues(undefined); + bindValues(undefined); } if (!val) { fileList.value = []; @@ -234,7 +235,7 @@ const refreshList = async (val:any) => { if (val) { if (props.dataDelete) return - let _list = await getFileList({ tableName: props.tableName, columnName: props.columnName,tableId: props.value }); + let _list = await getFileList({ tableName: props.tableName, columnName: props.columnName,tableId: props.value||uuid }); fileList.value = _list.filter((o) => !removeIds.value.includes(o.id)); if (fileList.value.length) { fileList.value.forEach((x) => { @@ -274,20 +275,19 @@ if (arr.length <= 0) return; try { let res = await uploadMultiApi( - { - name: 'file', - file: arr - }, + { name: 'file',file: arr}, tableId.value, tableName.value, columnName.value ); fileList.value.forEach((x) => { x.status = 'done'; //没有则不会展示下载按钮 + x.fileSize = x.fileSize + x.name = x.fileOrg; x.url = x.fileUrl; x.thumbUrl = x.thUrl; - x.fileSize = x.fileSize }); - let tableIdValue = tableId.value; + + // let tableIdValue = tableId.value; bindValues(res[0]); if (props.dataDelete) { let fileArr = res||[] @@ -303,9 +303,9 @@ emit('update:tableName', tableName.value); emit('update:columnName', columnName.value); emit('change', fileList.value); - if(tableIdValue==tableId.value){ - await refreshList(tableId.value); - } + // if(tableIdValue==tableId.value){ + // await refreshList(tableId.value); + // } loading.value = false; } catch (error) { console.error(error); @@ -365,7 +365,7 @@ emit('update:tableName', tableName.value); emit('update:columnName', columnName.value); emit('change', fileList.value); - await refreshList(tableId.value); + //await refreshList(tableId.value); notification.success({ message: 'Tip', description: '删除成功!' diff --git a/src/components/Form/src/components/UploadList.vue b/src/components/Form/src/components/UploadList.vue index d66ceb8..986d76b 100644 --- a/src/components/Form/src/components/UploadList.vue +++ b/src/components/Form/src/components/UploadList.vue @@ -28,6 +28,7 @@ import { parseDownloadUrl} from '/@/api/system/file'; import { downloadByUrl } from '/@/utils/file/download'; import { nextTick, ref, watch, computed } from 'vue'; + const dataFile = ref([]); const { t } = useI18n(); const columns = ref([