From b507d6e22f6134299c0c1c43c8233a27fad16088 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 29 Apr 2025 14:50:22 +0800 Subject: [PATCH 1/9] 11 --- src/views/wallet/wallet-cz/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/wallet/wallet-cz/index.vue b/src/views/wallet/wallet-cz/index.vue index 15c072e..5ff332a 100644 --- a/src/views/wallet/wallet-cz/index.vue +++ b/src/views/wallet/wallet-cz/index.vue @@ -20,7 +20,7 @@ - + From 877ca829dfa1c51395f7d15ae85bae6739c82e12 Mon Sep 17 00:00:00 2001 From: weiwei Date: Tue, 29 Apr 2025 15:33:22 +0800 Subject: [PATCH 2/9] env --- .env.development | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.env.development b/.env.development index ec26b07..4748a4b 100644 --- a/.env.development +++ b/.env.development @@ -8,17 +8,17 @@ VITE_OPEN = true ENV = 'development' # ADMIN 服务地址 -# VITE_ADMIN_PROXY_PATH = http://47.96.250.9:8089/api/ # 测试线上 +VITE_ADMIN_PROXY_PATH = http://123.156.230.15:8089/api/ # 测试线上 # VITE_ADMIN_PROXY_PATH = http://pjcloud.center.takin.cc/ # VITE_ADMIN_PROXY_PATH = http://localhost:9999/ -VITE_ADMIN_PROXY_PATH = http://192.168.101.123:9999/ # 邓-本地 +# VITE_ADMIN_PROXY_PATH = http://192.168.101.123:9999/ # 邓-本地 # VITE_ADMIN_PROXY_PATH = http://59.202.170.152:81/api # 正式环境线上 # 图片访问基础地址 -# VITE_IMAGE_BASE_PATH = http://47.96.250.9:8089/api # 测试线上 +VITE_IMAGE_BASE_PATH = http://123.156.230.15:8089/api/ # 测试线上 # VITE_IMAGE_BASE_PATH = http://pjcloud.center.takin.cc # VITE_IMAGE_BASE_PATH = http://localhost:9999 -VITE_IMAGE_BASE_PATH = http://192.168.101.123:9999 # 邓-本地 +# VITE_IMAGE_BASE_PATH = http://192.168.101.123:9999 # 邓-本地 # VITE_IMAGE_BASE_PATH = http://59.202.170.152:81/api/ # 正式环境线上 # 代码生成服务地址 From af0cf2bbb3a339f2777e6a5a452f369bab2693c1 Mon Sep 17 00:00:00 2001 From: weiwei Date: Tue, 29 Apr 2025 17:04:36 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/supermarketerp/stockTaking.ts | 11 +- src/hooks/smProcessFormAction.ts | 59 +++++++++ .../purchaseManagement/smErpCgBack/form.vue | 85 ++----------- .../purchaseManagement/smErpCgDd/form.vue | 85 ++----------- .../smErpCgInventory/form.vue | 85 ++----------- .../purchaseManagement/smErpCgPlan/form.vue | 114 ++---------------- .../retailManagement/smErpRetailBack/form.vue | 86 ++----------- .../smErpRetailDelivery/form.vue | 86 ++----------- src/views/supermarketerp/stockTaking/form.vue | 85 ++----------- 9 files changed, 135 insertions(+), 561 deletions(-) create mode 100644 src/hooks/smProcessFormAction.ts diff --git a/src/api/supermarketerp/stockTaking.ts b/src/api/supermarketerp/stockTaking.ts index 28901f0..b208261 100644 --- a/src/api/supermarketerp/stockTaking.ts +++ b/src/api/supermarketerp/stockTaking.ts @@ -1,7 +1,16 @@ import request from "/@/utils/request" // 库存盘点新增 -export function stockTakingAdd(data?: object) { +export function addObj(data?: object) { + return request({ + url: "/supermarket/smErpInventoryRecords/savePD", + method: "post", + data, + }) +} + +// 库存盘点修改 +export function putObj(data?: object) { return request({ url: "/supermarket/smErpInventoryRecords/savePD", method: "post", diff --git a/src/hooks/smProcessFormAction.ts b/src/hooks/smProcessFormAction.ts new file mode 100644 index 0000000..009621d --- /dev/null +++ b/src/hooks/smProcessFormAction.ts @@ -0,0 +1,59 @@ +import { Ref } from "vue" +import { useMessage } from "./message" + +export function useSmProcessFormAction() { + // 校验 成功返回true 失败返回false + const formValidate = async (baseDataFormRef: any, editableTableRef: any, editableTableData: any) => { + const valid = await baseDataFormRef.value.validate().catch(() => {}) + if (!valid) return false + + if (editableTableData.length <= 0) { + useMessage().warning("请选择商品") + return false + } + + const $table = editableTableRef.value + if ($table) { + const errMap = await $table.validate(true) + if (errMap) { + console.log("全量校验失败!") + return false + } + } + + return true + } + + // 提交数据 成功返回 true 失败返回 false + const submitData = async (baseDataForm: any, cgPlanSpuItems: Ref, loading: Ref, putObj: any, addObj: any) => { + try { + loading.value = true + + const _pa = { + ...baseDataForm, + items: cgPlanSpuItems.value, + } + + console.log("提交的数据:", _pa) + + const res = baseDataForm.id ? await putObj(_pa) : await addObj(_pa) + if (res.code == 0) { + useMessage().success(baseDataForm.id ? "修改成功" : "添加成功") + return true + } else { + useMessage().error(res.msg) + return false + } + } catch (err: any) { + useMessage().error(err.msg) + loading.value = false + return false + } finally { + loading.value = false + } + } + return { + formValidate, + submitData, + } +} diff --git a/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue b/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue index 4bdbb5c..25b3425 100644 --- a/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue +++ b/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue @@ -1,5 +1,5 @@ - + @@ -148,10 +154,10 @@ @@ -248,7 +254,6 @@ const state = reactive<{ editableTableData: any[] erpSpuItemsMemo: any[] selectedRowsErpSpuIds: string[] - insertedRowNumber: number erpSpuSimpleAll: any linkCodeVisible: boolean erpSpuSelectDialogVisible: boolean @@ -257,7 +262,6 @@ const state = reactive<{ editableTableData: [], // 可编辑表格数据 erpSpuItemsMemo: [], // 请求到的可编辑表格商品数据的缓存 selectedRowsErpSpuIds: [], // 可编辑表格已选行的ErpSpuId - insertedRowNumber: 0, // 可编辑表格插入行的行号 erpSpuSimpleAll: [], // 简要商品列表 linkCodeVisible: false, // 关联采购申请单对话框开关 @@ -442,7 +446,6 @@ const clearData = () => { if (key === "id" || key === "inventoryCode" || key === "inventoryDate" || key === "inventoryType" || key === "orderType") continue baseDataForm[key] = "" } - state.insertedRowNumber = 0 state.editableTableData = [] state.erpSpuItemsMemo = [] state.selectedRowsErpSpuIds = [] diff --git a/src/views/supermarketerp/purchaseManagement/smErpCgPlan/form.vue b/src/views/supermarketerp/purchaseManagement/smErpCgPlan/form.vue index 8f42ead..cb10af2 100644 --- a/src/views/supermarketerp/purchaseManagement/smErpCgPlan/form.vue +++ b/src/views/supermarketerp/purchaseManagement/smErpCgPlan/form.vue @@ -58,22 +58,6 @@ 商品选择 删除选中 清空数据 - ({ editableTableData: [], // 可编辑表格数据 erpSpuItemsMemo: [], // 请求到的可编辑表格商品数据的缓存 selectedRowsErpSpuIds: [], // 可编辑表格已选行的ErpSpuId - insertedRowNumber: 0, // 可编辑表格插入行的行号 erpSpuSimpleAll: [], // 简要商品列表 erpSpuSelectDialogVisible: false, // 商品选择对话框开关 }) @@ -262,66 +244,6 @@ const getInitData = async () => { planCode && planCode.code === 0 && (baseDataForm.planCode = planCode.data) } -// 顶部表格行新增 -const addEvent = () => { - const newRow: any = { - id: "", - erpSpuId: "", - quantity: null, - unitPrice: null, - totalAmount: null, - remark: "", - unitId: "", - } - state.editableTableData.unshift(newRow) - nextTick(() => { - const $table = editableTableRef.value - if ($table) { - $table.setEditRow(newRow) - } - }) -} - -// 底部表格行新增 -const pushEvent = () => { - const newRow: any = { - id: "", - erpSpuId: "", - quantity: null, - unitPrice: null, - totalAmount: null, - remark: "", - unitId: "", - } - state.editableTableData.push(newRow) - nextTick(() => { - const $table = editableTableRef.value - if ($table) { - $table.setEditRow(newRow) - } - }) -} - -// 在指定行插入 -const insertEvent = () => { - const newRow: any = { - id: "", - erpSpuId: "", - quantity: null, - unitPrice: null, - totalAmount: null, - remark: "", - unitId: "", - } - state.editableTableData.splice(state.insertedRowNumber, 0, newRow) - nextTick(() => { - const $table = editableTableRef.value - if ($table) { - $table.setEditRow(newRow) - } - }) -} - // 删除选中的行 const removeSelectRowEvent = () => { const $table = editableTableRef.value @@ -423,7 +345,6 @@ const clearData = () => { if (key === "planCode" || key === "id" || key === "planDate") continue baseDataForm[key] = "" } - state.insertedRowNumber = 0 state.editableTableData = [] state.erpSpuItemsMemo = [] state.selectedRowsErpSpuIds = [] diff --git a/src/views/supermarketerp/retailManagement/smErpRetailBack/form.vue b/src/views/supermarketerp/retailManagement/smErpRetailBack/form.vue index f80f22a..4b0b3a5 100644 --- a/src/views/supermarketerp/retailManagement/smErpRetailBack/form.vue +++ b/src/views/supermarketerp/retailManagement/smErpRetailBack/form.vue @@ -275,7 +275,6 @@ const state = reactive<{ editableTableData: any[] erpSpuItemsMemo: any[] selectedRowsErpSpuIds: string[] - insertedRowNumber: number erpSpuSimpleAll: any linkCodeVisible: boolean erpSpuSelectDialogVisible: boolean @@ -284,7 +283,6 @@ const state = reactive<{ editableTableData: [], // 可编辑表格数据 erpSpuItemsMemo: [], // 请求到的可编辑表格商品数据的缓存 selectedRowsErpSpuIds: [], // 可编辑表格已选行的ErpSpuId - insertedRowNumber: 0, // 可编辑表格插入行的行号 erpSpuSimpleAll: [], // 简要商品列表 linkCodeVisible: false, // 关联采购申请单对话框开关 @@ -482,7 +480,6 @@ const clearData = () => { if (key === "id" || key === "inventoryCode" || key === "inventoryDate" || key === "inventoryType" || key === "orderType") continue baseDataForm[key] = "" } - state.insertedRowNumber = 0 state.editableTableData = [] state.erpSpuItemsMemo = [] state.selectedRowsErpSpuIds = [] diff --git a/src/views/supermarketerp/retailManagement/smErpRetailDelivery/form.vue b/src/views/supermarketerp/retailManagement/smErpRetailDelivery/form.vue index 1da81b5..7f008f1 100644 --- a/src/views/supermarketerp/retailManagement/smErpRetailDelivery/form.vue +++ b/src/views/supermarketerp/retailManagement/smErpRetailDelivery/form.vue @@ -267,7 +267,6 @@ const state = reactive<{ editableTableData: any[] erpSpuItemsMemo: any[] selectedRowsErpSpuIds: string[] - insertedRowNumber: number erpSpuSimpleAll: any linkCodeVisible: boolean erpSpuSelectDialogVisible: boolean @@ -276,7 +275,6 @@ const state = reactive<{ editableTableData: [], // 可编辑表格数据 erpSpuItemsMemo: [], // 请求到的可编辑表格商品数据的缓存 selectedRowsErpSpuIds: [], // 可编辑表格已选行的ErpSpuId - insertedRowNumber: 0, // 可编辑表格插入行的行号 erpSpuSimpleAll: [], // 简要商品列表 linkCodeVisible: false, // 关联采购申请单对话框开关 @@ -474,7 +472,6 @@ const clearData = () => { if (key === "id" || key === "inventoryCode" || key === "inventoryDate" || key === "inventoryType" || key === "orderType") continue baseDataForm[key] = "" } - state.insertedRowNumber = 0 state.editableTableData = [] state.erpSpuItemsMemo = [] state.selectedRowsErpSpuIds = [] diff --git a/src/views/supermarketerp/stockTaking/form.vue b/src/views/supermarketerp/stockTaking/form.vue index 10d1e95..696cfb0 100644 --- a/src/views/supermarketerp/stockTaking/form.vue +++ b/src/views/supermarketerp/stockTaking/form.vue @@ -247,7 +247,6 @@ const state = reactive<{ editableTableData: any[] erpSpuItemsMemo: any[] selectedRowsErpSpuIds: string[] - insertedRowNumber: number erpSpuSimpleAll: any linkCodeVisible: boolean erpSpuSelectDialogVisible: boolean @@ -256,7 +255,6 @@ const state = reactive<{ editableTableData: [], // 可编辑表格数据 erpSpuItemsMemo: [], // 请求到的可编辑表格商品数据的缓存 selectedRowsErpSpuIds: [], // 可编辑表格已选行的ErpSpuId - insertedRowNumber: 0, // 可编辑表格插入行的行号 erpSpuSimpleAll: [], // 简要商品列表 linkCodeVisible: false, // 关联采购申请单对话框开关 @@ -491,7 +489,6 @@ const clearData = () => { if (key === "id" || key === "inventoryCode" || key === "inventoryDate" || key === "inventoryType" || key === "orderType") continue baseDataForm[key] = "" } - state.insertedRowNumber = 0 state.editableTableData = [] state.erpSpuItemsMemo = [] state.selectedRowsErpSpuIds = [] From 7343ae22d9324de7686373b630001bb5a6f78590 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 30 Apr 2025 17:32:22 +0800 Subject: [PATCH 7/9] =?UTF-8?q?feat:=E7=AC=AC=E4=B8=89=E6=96=B9=E5=AF=86?= =?UTF-8?q?=E9=92=A5=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/thirdparty/third-key-manage.ts | 40 +++++ .../thirdparty/third-key-manage/form.vue | 143 ++++++++++++++++ .../thirdparty/third-key-manage/index.vue | 154 ++++++++++++++++++ 3 files changed, 337 insertions(+) create mode 100644 src/api/thirdparty/third-key-manage.ts create mode 100644 src/views/thirdparty/third-key-manage/form.vue create mode 100644 src/views/thirdparty/third-key-manage/index.vue diff --git a/src/api/thirdparty/third-key-manage.ts b/src/api/thirdparty/third-key-manage.ts new file mode 100644 index 0000000..2d9f3bf --- /dev/null +++ b/src/api/thirdparty/third-key-manage.ts @@ -0,0 +1,40 @@ +import request from "/@/utils/request" + +export function fetchList(query?: Object) { + return request({ + url: "/third/third-key-manage/page", + method: "get", + params: query, + }) +} + +export function addObj(obj?: Object) { + return request({ + url: "/third/third-key-manage", + method: "post", + data: obj, + }) +} + +export function getObj(id?: string) { + return request({ + url: "/third/third-key-manage/" + id, + method: "get", + }) +} + +export function delObjs(ids?: Object) { + return request({ + url: "/third/third-key-manage", + method: "delete", + data: ids, + }) +} + +export function putObj(obj?: Object) { + return request({ + url: "/third/third-key-manage", + method: "put", + data: obj, + }) +} diff --git a/src/views/thirdparty/third-key-manage/form.vue b/src/views/thirdparty/third-key-manage/form.vue new file mode 100644 index 0000000..3bed6e7 --- /dev/null +++ b/src/views/thirdparty/third-key-manage/form.vue @@ -0,0 +1,143 @@ + + + diff --git a/src/views/thirdparty/third-key-manage/index.vue b/src/views/thirdparty/third-key-manage/index.vue new file mode 100644 index 0000000..7754fd2 --- /dev/null +++ b/src/views/thirdparty/third-key-manage/index.vue @@ -0,0 +1,154 @@ + + + From 7f59a600c0de3ebfe1a8029693375ae72af1dd86 Mon Sep 17 00:00:00 2001 From: weiwei Date: Wed, 30 Apr 2025 18:08:35 +0800 Subject: [PATCH 8/9] --- .../smErpCgInventory/form.vue | 63 +++++++++---------- 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue b/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue index 72f05f2..942dc21 100644 --- a/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue +++ b/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue @@ -109,20 +109,16 @@ @@ -132,32 +128,25 @@ @@ -273,7 +262,7 @@ const state = reactive<{ const dataRules = ref({ inventoryCode: [{ required: true, message: "出入库记录表编号不能为空", trigger: "blur" }], inventoryDate: [{ required: true, message: "出入库记录表单据日期不能为空", trigger: "blur" }], - // handlerUserId: [{ required: true, message: "经办人不能为空", trigger: "blur" }], + handlerUserId: [{ required: true, message: "经办人不能为空", trigger: "blur" }], supplierId: [{ required: true, message: "货商不能为空", trigger: "blur" }], }) @@ -298,8 +287,8 @@ const getInitData = async () => { if (cgPlanData && cgPlanData.code === 0) { Object.assign(baseDataForm, cgPlanData.data) - state.editableTableData = cgPlanData.data.items.map((item: any) => ({ ...item, realPrice: displayPrice(item.realPrice, "") })) - state.erpSpuItemsMemo = cgPlanData.data.items.map((item: any) => ({ ...item, realPrice: displayPrice(item.realPrice, "") })) + state.editableTableData = cgPlanData.data.items + state.erpSpuItemsMemo = cgPlanData.data.items } } else { loading.value = true @@ -365,7 +354,11 @@ const getSelectedSpuRows = (selectionRows: any) => { .map((addItem: any) => { const index = state.erpSpuItemsMemo.findIndex((item: any) => item.erpSpuId === addItem.erpSpuId) if (index !== -1) return state.erpSpuItemsMemo[index] - return { ...addItem, isNew: true } + return { + ...addItem, + erpUnitVos: addItem.erpUnitVos.map((item: any) => ({ ...item, realPrice: displayPrice(item.purchasePrice, "") })), + isNew: true, + } }) // 仅添加新勾选的项 state.editableTableData = [...state.editableTableData, ...addedItems] @@ -393,16 +386,16 @@ const getSelectedSpuRows = (selectionRows: any) => { const cgPlanSpuItems = computed(() => { return state.editableTableData.map((item: any) => { if (item.erpUnitVos) { - const unit = item.erpUnitVos.find((unitItem: any) => unitItem.id === item.unitId) + const unitObj = item.unitId return { id: item.isNew ? undefined : item.id, erpSpuId: item.erpSpuId, quantity: item.quantity, - unitPrice: unit.purchasePrice ? Number(unit?.purchasePrice) : 0, - realPrice: unit.realPrice ? storePrice(unit?.realPrice) : 0, - totalAmount: storePrice(Number(unit?.realPrice || 0) * item.quantity), + unitPrice: unitObj.purchasePrice ? Number(unitObj?.purchasePrice) : 0, + realPrice: unitObj.realPrice ? storePrice(unitObj?.realPrice) : 0, + totalAmount: storePrice(Number(unitObj?.realPrice || 0) * item.quantity), remark: item.remark, - unitId: item.unitId, + unitId: unitObj.unitId, } } else { return { From dab83cd4cac694f7979d748b078b074d2db5597b Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 6 May 2025 10:36:15 +0800 Subject: [PATCH 9/9] =?UTF-8?q?feat:=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/hard/hard-payType-total/index.vue | 4 ++-- src/views/hard/hard-sb/index.vue | 4 ++-- src/views/hard/hard-sh/index.vue | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/views/hard/hard-payType-total/index.vue b/src/views/hard/hard-payType-total/index.vue index c63f03a..ea8c778 100644 --- a/src/views/hard/hard-payType-total/index.vue +++ b/src/views/hard/hard-payType-total/index.vue @@ -131,11 +131,11 @@ const state: BasicTableProps = reactive({ }) // table hook -const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, downBlobFile, tableStyle } = useTable(state) +const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, postDownBlobFile, tableStyle } = useTable(state) // 导出excel const exportExcel = () => { - downBlobFile("/hard/hard-total/export-payType", Object.assign(state.queryForm), "支付方式交易记录.xlsx") + postDownBlobFile("/hard/hard-total/export-payType", Object.assign(state.queryForm), "支付方式交易记录.xlsx") } const getSummaries = (param: any) => { diff --git a/src/views/hard/hard-sb/index.vue b/src/views/hard/hard-sb/index.vue index 826e03d..2cfdbeb 100644 --- a/src/views/hard/hard-sb/index.vue +++ b/src/views/hard/hard-sb/index.vue @@ -132,11 +132,11 @@ const state: BasicTableProps = reactive({ }) // table hook -const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, downBlobFile, tableStyle } = useTable(state) +const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, postDownBlobFile, tableStyle } = useTable(state) // 导出excel const exportExcel = () => { - downBlobFile("/hard/hard-total/export-sb", Object.assign(state.queryForm), "设备交易记录.xlsx") + postDownBlobFile("/hard/hard-total/export-sb", Object.assign(state.queryForm), "设备交易记录.xlsx") } const getSummaries = (param: any) => { diff --git a/src/views/hard/hard-sh/index.vue b/src/views/hard/hard-sh/index.vue index 50241a8..0093d84 100644 --- a/src/views/hard/hard-sh/index.vue +++ b/src/views/hard/hard-sh/index.vue @@ -129,11 +129,11 @@ const state: BasicTableProps = reactive({ }) // table hook -const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, downBlobFile, tableStyle } = useTable(state) +const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, postDownBlobFile, tableStyle } = useTable(state) // 导出excel const exportExcel = () => { - downBlobFile("/hard/hard-total/export-cs", Object.assign(state.queryForm), "商户交易记录.xlsx") + postDownBlobFile("/hard/hard-total/export-cs", Object.assign(state.queryForm), "商户交易记录.xlsx") } const getSummaries = (param: any) => {