From ea5a4c14e926b03c65f0cee20a11eab408c3bb83 Mon Sep 17 00:00:00 2001 From: gyq <875626088@qq.com> Date: Thu, 7 May 2026 14:34:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=80=BB=E7=BB=93=E5=90=8E?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E8=AF=A6=E8=A7=81=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=BE=AE=E4=BF=A1=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/account/shop.ts | 16 + src/api/account/sysUser.ts | 5 +- src/api/common/index.ts | 13 + src/api/product/index.ts | 8 + src/components/CURD/PageContent.vue | 2 + src/components/GoodsSelect/index.vue | 30 +- src/components/resetPassword/CaptchaBtn.vue | 123 +++ src/components/resetPassword/index.vue | 180 +++++ .../NavBar/components/UserProfile.vue | 113 +-- src/utils/index.ts | 38 + .../components/addClassificationModal.vue | 81 ++ src/views/inventory/classification/index.vue | 59 +- .../consumables/components/add-haocai.vue | 15 +- .../inventory/consumables/config/content.ts | 26 +- src/views/inventory/consumables/index.vue | 30 + .../online-shop/components/addGoodsGroup.vue | 163 ++++ src/views/online-shop/goods-group.vue | 165 ++-- src/views/online-shop/index.vue | 439 ++++++++--- src/views/product/category.vue | 35 +- src/views/product/components/addCategory.vue | 100 +++ src/views/product/components/addSkuModal.vue | 417 ++++++++++ src/views/product/components/addUnit.vue | 80 ++ src/views/product/index.vue | 195 ++++- src/views/product/indexconfig/addgoods.vue | 713 ++++++++++-------- src/views/product/indexconfig/content.ts | 10 +- src/views/product/indexconfig/search.ts | 2 +- src/views/product/specifications.vue | 58 +- .../product/specificationsconfig/content.ts | 3 +- src/views/product/unit.vue | 49 +- src/views/shop/branchStore/index.vue | 22 +- .../shop/config/components/notifications.vue | 23 +- src/views/shop/config/components/safe.vue | 20 +- src/views/shop/config/components/shopInfo.vue | 122 +-- .../shop/list/components/activateCode.vue | 17 +- src/views/shop/list/components/activeDate.vue | 32 + .../shop/list/components/activeteRecord.vue | 61 ++ src/views/shop/list/components/addShop.vue | 195 ++--- src/views/shop/list/index.vue | 102 ++- src/views/shop/list/pay_setting.vue | 12 +- src/views/shop/staff/config/content.ts | 6 + .../Instead/components/popup-linshiCai.vue | 18 +- 41 files changed, 2678 insertions(+), 1120 deletions(-) create mode 100644 src/components/resetPassword/CaptchaBtn.vue create mode 100644 src/components/resetPassword/index.vue create mode 100644 src/views/inventory/classification/components/addClassificationModal.vue create mode 100644 src/views/online-shop/components/addGoodsGroup.vue create mode 100644 src/views/product/components/addCategory.vue create mode 100644 src/views/product/components/addSkuModal.vue create mode 100644 src/views/product/components/addUnit.vue create mode 100644 src/views/shop/list/components/activeDate.vue create mode 100644 src/views/shop/list/components/activeteRecord.vue diff --git a/src/api/account/shop.ts b/src/api/account/shop.ts index 387b3fc..959dfd5 100644 --- a/src/api/account/shop.ts +++ b/src/api/account/shop.ts @@ -59,6 +59,22 @@ const ShopApi = { params, }); }, + // 重置密码 + putPassword(data: any) { + return request({ + url: `/account/admin/sysUser/pwd`, + method: "put", + data, + }); + }, + // 续期记录 + registerRecord(params: any) { + return request({ + url: `${baseURL}/registerRecord`, + method: "get", + params, + }); + }, }; export default ShopApi; diff --git a/src/api/account/sysUser.ts b/src/api/account/sysUser.ts index 649a14d..9a1d95d 100644 --- a/src/api/account/sysUser.ts +++ b/src/api/account/sysUser.ts @@ -45,14 +45,13 @@ const API = { responseType: "blob", }); }, + // 重置密码 pwd(data: any) { return request({ url: `${baseURL}/pwd`, method: "put", data }); - } - , - + }, } export default API; diff --git a/src/api/common/index.ts b/src/api/common/index.ts index eeac0be..af6ba69 100644 --- a/src/api/common/index.ts +++ b/src/api/common/index.ts @@ -12,6 +12,19 @@ export const getRegion = () => { }); } +/** + * 获取所有短信签名 + * @param params + * @returns + */ +export const getSms = ({ type }: { type: string }) => { + return request({ + url: `/account/admin/common/sms`, + method: "get", + params: { type } + }); +} + /** * 获取所有银行 * @param params diff --git a/src/api/product/index.ts b/src/api/product/index.ts index 1a54202..83bddcf 100644 --- a/src/api/product/index.ts +++ b/src/api/product/index.ts @@ -213,6 +213,14 @@ const AuthAPI = { params, responseType: 'blob' }); + }, + // 商品-批量操作 + batchOperate(params: any) { + return request({ + url: `${baseURL}/batchOperate`, + method: "get", + params + }); } }; diff --git a/src/components/CURD/PageContent.vue b/src/components/CURD/PageContent.vue index 6b202d3..a39b1ef 100644 --- a/src/components/CURD/PageContent.vue +++ b/src/components/CURD/PageContent.vue @@ -386,6 +386,7 @@ const emit = defineEmits<{ editClick: [row: IObject]; operatClick: [data: IOperatData]; filterChange: [data: IObject]; + selectChange: [] }>(); // 主键 @@ -490,6 +491,7 @@ function handleSelectionChange(selection: any[]) { console.log("defaultSelData.value", defaultSelData.value); selectionData.value = selection; removeIds.value = selection.map((item) => item[pk]); + emit('selectChange', getselectTable()) } // 获取选中的表格数据 function getselectTable() { diff --git a/src/components/GoodsSelect/index.vue b/src/components/GoodsSelect/index.vue index 4f90e9e..e229561 100644 --- a/src/components/GoodsSelect/index.vue +++ b/src/components/GoodsSelect/index.vue @@ -5,18 +5,8 @@ - - + + @@ -25,7 +15,7 @@
- + @@ -72,6 +50,9 @@ import editModalConfig from "./config/edit"; import searchConfig from "./config/search"; import { returnOptionsLabel } from "./config/config"; import { isSyncStatus } from "@/utils/index"; +import addClassificationModal from "./components/addClassificationModal.vue"; + +const addClassificationModalRef = ref(null) const { searchRef, @@ -98,16 +79,18 @@ if (isSyncStatus()) { // 新增 async function handleAddClick() { - addModalRef.value?.setModalVisible(); + addClassificationModalRef.value.open() + // addModalRef.value?.setModalVisible(); // addModalConfig.formItems[2]!.attrs!.data = } // 编辑 async function handleEditClick(row: IObject) { - editModalRef.value?.handleDisabled(false); - editModalRef.value?.setModalVisible(); - // 根据id获取数据进行填充 - console.log(row); - editModalRef.value?.setFormData({ ...row }); + addClassificationModalRef.value.open(row) + // editModalRef.value?.handleDisabled(false); + // editModalRef.value?.setModalVisible(); + // // 根据id获取数据进行填充 + // console.log(row); + // editModalRef.value?.setFormData({ ...row }); } 1; // 其他工具栏 diff --git a/src/views/inventory/consumables/components/add-haocai.vue b/src/views/inventory/consumables/components/add-haocai.vue index 2135ff1..1f73992 100644 --- a/src/views/inventory/consumables/components/add-haocai.vue +++ b/src/views/inventory/consumables/components/add-haocai.vue @@ -6,10 +6,13 @@ - - - +
+ + + + 添加耗材类型 +
@@ -54,6 +57,7 @@ + @@ -62,6 +66,9 @@ import { ref, reactive, computed } from "vue"; import consApi from "@/api/product/cons"; import consGroupApi from "@/api/product/cons-group"; import { ElMessage } from "element-plus"; +import addClassificationModal from "../../classification/components/addClassificationModal.vue"; + +const addClassificationModalRef = ref(null) const consGroups = ref([]); const rules = { diff --git a/src/views/inventory/consumables/config/content.ts b/src/views/inventory/consumables/config/content.ts index 6c96bb2..95dfcf2 100644 --- a/src/views/inventory/consumables/config/content.ts +++ b/src/views/inventory/consumables/config/content.ts @@ -97,13 +97,13 @@ const contentConfig: IContentConfig = { align: "center", prop: "conName", }, - { - label: "单位", - align: "center", - prop: "conUnit", - templet: "custom", - slotName: "conUnit", - }, + // { + // label: "单位", + // align: "center", + // prop: "conUnit", + // templet: "custom", + // slotName: "conUnit", + // }, { label: "所属商品", align: "center", @@ -112,14 +112,24 @@ const contentConfig: IContentConfig = { }, { label: "库存数量", - align: "center", + align: "left", prop: "stockNumber", + templet: "custom", + slotName: "stockNumber", }, { label: "预警值", align: "center", prop: "conWarning", }, + { + width: '120', + label: "是否检测耗材", + align: "center", + prop: "isStock", + templet: "custom", + slotName: "isStock", + }, { label: "是否启用", align: "center", diff --git a/src/views/inventory/consumables/index.vue b/src/views/inventory/consumables/index.vue index 15c9917..b7024d7 100644 --- a/src/views/inventory/consumables/index.vue +++ b/src/views/inventory/consumables/index.vue @@ -10,6 +10,25 @@ + +