From 2d9d60cd0a6e17881d39543ffaa87bf69e5151aa Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Wed, 3 Sep 2025 19:21:55 +0800
Subject: [PATCH 01/16] =?UTF-8?q?=E5=85=B1=E5=AF=8C=E5=95=86=E5=9F=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/supermarket/mallMerchant.ts | 11 +
src/views/supermarket/mallMerchant/form.vue | 22 +-
src/views/supermarket/mallMerchant/index.vue | 11 +-
src/views/supermarket/mallProduct/form.vue | 812 +++++++++++++++---
src/views/supermarket/mallProduct/index.vue | 291 ++++++-
src/views/supermarket/mallProductSku/form.vue | 167 ----
.../supermarket/mallProductSku/index.vue | 123 ---
7 files changed, 962 insertions(+), 475 deletions(-)
delete mode 100644 src/views/supermarket/mallProductSku/form.vue
delete mode 100644 src/views/supermarket/mallProductSku/index.vue
diff --git a/src/api/supermarket/mallMerchant.ts b/src/api/supermarket/mallMerchant.ts
index bdc615d..54f5cbb 100644
--- a/src/api/supermarket/mallMerchant.ts
+++ b/src/api/supermarket/mallMerchant.ts
@@ -39,3 +39,14 @@ export function putObj(obj?: Object) {
})
}
+
+/**
+ * 商户下拉
+ */
+export function selectOption(query?: Object) {
+ return request({
+ url: '/supermarket/selectOption/merchant',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/views/supermarket/mallMerchant/form.vue b/src/views/supermarket/mallMerchant/form.vue
index a863f61..d23cd53 100644
--- a/src/views/supermarket/mallMerchant/form.vue
+++ b/src/views/supermarket/mallMerchant/form.vue
@@ -27,14 +27,14 @@
-
-
-
-
-
+
+
+
+
+
-
+
{{ item.label }}
@@ -55,7 +55,7 @@
-
+
@@ -64,12 +64,6 @@
-
-
-
-
-
-
@@ -171,4 +165,4 @@ const getmallMerchantData = (id: string) => {
defineExpose({
openDialog
});
-
\ No newline at end of file
+
diff --git a/src/views/supermarket/mallMerchant/index.vue b/src/views/supermarket/mallMerchant/index.vue
index 6952b88..fe5e35a 100644
--- a/src/views/supermarket/mallMerchant/index.vue
+++ b/src/views/supermarket/mallMerchant/index.vue
@@ -35,7 +35,7 @@
@queryTable="getDataList">
-
@@ -45,17 +45,16 @@
-
-
+
+
-
+
-
{
useMessage().error(err.msg);
}
};
-
\ No newline at end of file
+
diff --git a/src/views/supermarket/mallProduct/form.vue b/src/views/supermarket/mallProduct/form.vue
index 8dff3bd..9468724 100644
--- a/src/views/supermarket/mallProduct/form.vue
+++ b/src/views/supermarket/mallProduct/form.vue
@@ -1,115 +1,250 @@
-
-
-
-
-
-
- 0
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 0
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+ 多SKU模式
+ 单价SPU模式
+
+
+
-
-
-
-
-
+
+
+
+ 上架
+ 下架
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+ * SKU编码
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+ * SKU名称
+
+
+
+
+
+
+
-
+
+
+ * 售价
+
+
+
+
+
+
+
+
+
+
+ * 库存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 启用
+ 停用
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
diff --git a/src/views/supermarket/mallProduct/form.vue b/src/views/supermarket/mallProduct/form.vue
index 9468724..86b5808 100644
--- a/src/views/supermarket/mallProduct/form.vue
+++ b/src/views/supermarket/mallProduct/form.vue
@@ -465,6 +465,16 @@ const onSubmit = async () => {
submitData.categoryId = form.categoryId.slice(-1)[0];
}
+ // 处理时间格式:转换为 LocalDateTime 格式 (yyyy-MM-dd HH:mm:ss)
+ if (form.saleStartTime) {
+ const date = new Date(form.saleStartTime);
+ submitData.saleStartTime = date.toISOString().slice(0, 19).replace('T', ' ');
+ }
+ if (form.saleEndTime) {
+ const date = new Date(form.saleEndTime);
+ submitData.saleEndTime = date.toISOString().slice(0, 19).replace('T', ' ');
+ }
+
// 如果是单价SPU模式,清空SKU列表
if (form.priceType === 2) {
submitData.skuList = [];
From cf514a5b1cfd2db1c01c4f4216da3f4b67100b07 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Fri, 5 Sep 2025 19:32:23 +0800
Subject: [PATCH 03/16] =?UTF-8?q?=E5=85=B1=E5=AF=8C=E5=95=86=E5=9F=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/supermarket/mallMerchantUser.ts | 91 +++++++++++++
.../supermarket/mallMerchant/bindUser.vue | 127 +++++++-----------
2 files changed, 142 insertions(+), 76 deletions(-)
create mode 100644 src/api/supermarket/mallMerchantUser.ts
diff --git a/src/api/supermarket/mallMerchantUser.ts b/src/api/supermarket/mallMerchantUser.ts
new file mode 100644
index 0000000..ac58c76
--- /dev/null
+++ b/src/api/supermarket/mallMerchantUser.ts
@@ -0,0 +1,91 @@
+import request from "/@/utils/request"
+
+// 分页查询绑定关系
+export function fetchList(query?: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 获取商户用户列表
+export function getMerchantUsers(merchantId: string, query?: Object) {
+ return request({
+ url: `/supermarket/mallMerchantUser/merchant/${merchantId}/users`,
+ method: 'get',
+ params: query
+ })
+}
+
+// 获取用户商户信息
+export function getUserMerchant(userId: string) {
+ return request({
+ url: `/supermarket/mallMerchantUser/user/${userId}/merchant`,
+ method: 'get'
+ })
+}
+
+// 单个用户绑定
+export function bindUser(data: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/bind',
+ method: 'post',
+ data: data
+ })
+}
+
+// 批量绑定用户
+export function batchBindUsers(data: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/batchBind',
+ method: 'post',
+ data: data
+ })
+}
+
+// 解绑单个用户
+export function unbindUser(userId: string) {
+ return request({
+ url: `/supermarket/mallMerchantUser/unbind/${userId}`,
+ method: 'delete'
+ })
+}
+
+// 批量解绑用户
+export function batchUnbindUsers(data: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/batchUnbind',
+ method: 'delete',
+ data: data
+ })
+}
+
+// 更新用户角色
+export function updateUserRole(data: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/updateRole',
+ method: 'put',
+ data: data
+ })
+}
+
+// 更新绑定状态
+export function updateBindStatus(data: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/updateStatus',
+ method: 'put',
+ data: data
+ })
+}
+
+// 获取用户下拉列表
+export function getUserSelectList(query?: Object) {
+ return request({
+ url: '/supermarket/mallMerchantUser/merchant/users',
+ method: 'get',
+ params: query
+ })
+}
+
+
diff --git a/src/views/supermarket/mallMerchant/bindUser.vue b/src/views/supermarket/mallMerchant/bindUser.vue
index 7eb0775..410949b 100644
--- a/src/views/supermarket/mallMerchant/bindUser.vue
+++ b/src/views/supermarket/mallMerchant/bindUser.vue
@@ -37,7 +37,7 @@
@selection-change="handleUserSelectionChange"
:row-key="row => row.userId">
-
+
@@ -54,34 +54,11 @@
:data="boundUsers"
v-loading="boundLoading"
height="400"
- @selection-change="handleBoundUserSelectionChange">
+ @selection-change="handleBoundUserSelectionChange"
+ :row-key="row => row.userId">
-
+
-
-
-
- {{ scope.row.roleType === 1 ? '管理员' : '普通用户' }}
-
-
-
-
-
-
- {{ scope.row.status === 1 ? '启用' : '禁用' }}
-
-
-
-
-
-
- 改角色
-
-
- 解绑
-
-
-
@@ -101,13 +78,12 @@
From d5a333f32c2fac9df7aec1fbd25ec5aa83ebc410 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Thu, 11 Sep 2025 17:07:11 +0800
Subject: [PATCH 09/16] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E6=A1=8C=E5=AD=90?=
=?UTF-8?q?=E6=91=86=E6=94=BE=E5=BD=A2=E5=BC=8F=EF=BC=8C=E4=BC=9A=E5=8A=A1?=
=?UTF-8?q?=E4=BA=BA=E5=91=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/integrated/meetingDeskLayout.ts | 41 +++++
.../integrated/meeting/cleanUser/form.vue | 11 +-
.../integrated/meeting/cleanUser/index.vue | 6 +-
.../meeting/meetingDeskLayout/form.vue | 165 ++++++++++++++++++
.../meeting/meetingDeskLayout/index.vue | 127 ++++++++++++++
.../integrated/meeting/meetingRoom/form.vue | 106 ++++++++++-
.../integrated/meeting/meetingRoom/index.vue | 2 +
.../integrated/meeting/serviceUser/form.vue | 116 ++++++++++++
.../integrated/meeting/serviceUser/index.vue | 132 ++++++++++++++
9 files changed, 687 insertions(+), 19 deletions(-)
create mode 100644 src/api/integrated/meetingDeskLayout.ts
create mode 100644 src/views/integrated/meeting/meetingDeskLayout/form.vue
create mode 100644 src/views/integrated/meeting/meetingDeskLayout/index.vue
create mode 100644 src/views/integrated/meeting/serviceUser/form.vue
create mode 100644 src/views/integrated/meeting/serviceUser/index.vue
diff --git a/src/api/integrated/meetingDeskLayout.ts b/src/api/integrated/meetingDeskLayout.ts
new file mode 100644
index 0000000..a9e82ba
--- /dev/null
+++ b/src/api/integrated/meetingDeskLayout.ts
@@ -0,0 +1,41 @@
+import request from "/@/utils/request"
+
+export function fetchList(query?: Object) {
+ return request({
+ url: '/integrated/meetingDeskLayout/page',
+ method: 'get',
+ params: query
+ })
+}
+
+export function addObj(obj?: Object) {
+ return request({
+ url: '/integrated/meetingDeskLayout',
+ method: 'post',
+ data: obj
+ })
+}
+
+export function getObj(id?: string) {
+ return request({
+ url: '/integrated/meetingDeskLayout/' + id,
+ method: 'get'
+ })
+}
+
+export function delObjs(ids?: Object) {
+ return request({
+ url: '/integrated/meetingDeskLayout',
+ method: 'delete',
+ data: ids
+ })
+}
+
+export function putObj(obj?: Object) {
+ return request({
+ url: '/integrated/meetingDeskLayout',
+ method: 'put',
+ data: obj
+ })
+}
+
diff --git a/src/views/integrated/meeting/cleanUser/form.vue b/src/views/integrated/meeting/cleanUser/form.vue
index 4f8ecee..fd75723 100644
--- a/src/views/integrated/meeting/cleanUser/form.vue
+++ b/src/views/integrated/meeting/cleanUser/form.vue
@@ -1,7 +1,7 @@
-
+
@@ -15,11 +15,7 @@
-
-
-
-
-
+
@@ -39,6 +35,7 @@
\ No newline at end of file
diff --git a/src/views/integrated/meeting/meetingDeskLayout/index.vue b/src/views/integrated/meeting/meetingDeskLayout/index.vue
new file mode 100644
index 0000000..e5f1a46
--- /dev/null
+++ b/src/views/integrated/meeting/meetingDeskLayout/index.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+ 新 增
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/integrated/meeting/meetingRoom/form.vue b/src/views/integrated/meeting/meetingRoom/form.vue
index d8c1b5f..3383e78 100644
--- a/src/views/integrated/meeting/meetingRoom/form.vue
+++ b/src/views/integrated/meeting/meetingRoom/form.vue
@@ -34,8 +34,22 @@
-
- 0
+
+
@@ -59,6 +73,19 @@
+
+
+
+
+
+
+
+
@@ -159,6 +186,7 @@ import { useMessage } from "/src/hooks/message";
import { getObj, addObj, putObj } from '/src/api/integrated/meetingRoom'
import { fetchList } from '/src/api/integrated/meetingEquipment'
import { dropdown } from '/src/api/integrated/cleanUser'
+import { getSimpleUserAll } from '/src/api/admin/user'
import { rule } from '/src/utils/validate';
const emit = defineEmits(['refresh']);
@@ -168,6 +196,10 @@ const visible = ref(false)
const loading = ref(false)
const activeTab = ref('basic')
const cleanUserOptions = ref([])
+const serviceUserOptions = ref([])
+const adminUserOptions = ref([])
+const adminUserLoading = ref(false)
+const adminUserSearchKeyword = ref('')
interface Equipment {
equipId: string;
@@ -213,6 +245,7 @@ const form = reactive({
capacity: 0,
availableTime: '',
cleanUserId: '',
+ serviceUserId: '',
});
// 定义校验规则
@@ -298,14 +331,18 @@ const openDialog = (id: string) => {
form.id = ''
equipmentList.value = []
form.cleanUserId = ''
+ form.serviceUserId = ''
// 重置表单数据
nextTick(() => {
dataFormRef.value?.resetFields();
});
- // 获取保洁用户下拉数据
- getCleanUserOptions()
+ // 获取用户下拉数据(保洁和会务人员)
+ getUserOptions()
+
+ // 获取管理员用户数据
+ getAdminUserOptions()
// 获取meetingRoom信息
if (id) {
@@ -314,13 +351,61 @@ const openDialog = (id: string) => {
}
};
-// 获取保洁用户下拉选项
-const getCleanUserOptions = async () => {
+// 获取用户下拉选项(保洁和会务人员)
+const getUserOptions = async () => {
try {
const res = await dropdown()
- cleanUserOptions.value = Array.isArray(res.data) ? res.data : []
+ const allUsers = Array.isArray(res.data) ? res.data : []
+
+ // 根据type字段分别赋值(type为字符串类型)
+ cleanUserOptions.value = allUsers.filter(user => user.type === '1') // type: '1' 为保洁
+ serviceUserOptions.value = allUsers.filter(user => user.type === '2') // type: '2' 为会务人员
} catch (err: any) {
- console.error('获取保洁用户列表失败:', err)
+ console.error('获取用户列表失败:', err)
+ }
+}
+
+// 获取管理员用户选项
+const getAdminUserOptions = async (searchKeyword?: string) => {
+ try {
+ adminUserLoading.value = true
+ const params: any = {}
+
+ // 如果有搜索关键词,添加到参数中
+ if (searchKeyword) {
+ params.name = searchKeyword
+ params.mobile = searchKeyword
+ }
+
+ const res = await getSimpleUserAll(params)
+ let allUsers = Array.isArray(res.data) ? res.data : []
+
+ // 如果接口不支持搜索参数,在前端进行过滤
+ if (searchKeyword && allUsers.length > 0) {
+ allUsers = allUsers.filter(user =>
+ user.nameWithMobile.toLowerCase().includes(searchKeyword.toLowerCase())
+ )
+ }
+
+ adminUserOptions.value = allUsers
+ } catch (err: any) {
+ console.error('获取管理员用户列表失败:', err)
+ adminUserOptions.value = []
+ } finally {
+ adminUserLoading.value = false
+ }
+}
+
+// 管理员用户搜索处理
+const handleAdminUserSearch = (keyword: string) => {
+ adminUserSearchKeyword.value = keyword
+ getAdminUserOptions(keyword)
+}
+
+// 管理员用户下拉框显示状态变化
+const handleAdminUserVisibleChange = (visible: boolean) => {
+ if (visible && adminUserOptions.value.length === 0) {
+ getAdminUserOptions()
}
}
@@ -361,10 +446,13 @@ const getmeetingRoomData = (id: string) => {
if (res.data.equipmentList) {
equipmentList.value = res.data.equipmentList
}
- // 确保保洁信息正确回显
+ // 确保保洁和会务信息正确回显
if (res.data.cleanUserId) {
form.cleanUserId = res.data.cleanUserId
}
+ if (res.data.serviceUserId) {
+ form.serviceUserId = res.data.serviceUserId
+ }
}).finally(() => {
loading.value = false
})
diff --git a/src/views/integrated/meeting/meetingRoom/index.vue b/src/views/integrated/meeting/meetingRoom/index.vue
index be1f094..9552cfd 100644
--- a/src/views/integrated/meeting/meetingRoom/index.vue
+++ b/src/views/integrated/meeting/meetingRoom/index.vue
@@ -35,6 +35,8 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/integrated/meeting/serviceUser/index.vue b/src/views/integrated/meeting/serviceUser/index.vue
new file mode 100644
index 0000000..0fbd39d
--- /dev/null
+++ b/src/views/integrated/meeting/serviceUser/index.vue
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+ 重置
+
+
+
+
+
+
+ 新 增
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
From 624344a0bd0f644b969c72779ce40a55eb95bd2d Mon Sep 17 00:00:00 2001
From: weiwei
Date: Mon, 15 Sep 2025 19:40:45 +0800
Subject: [PATCH 10/16] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=85=B1=E5=AF=8C?=
=?UTF-8?q?=E5=95=86=E5=93=81=E5=88=86=E7=B1=BB=E5=9B=BE=E7=89=87=E4=B8=8A?=
=?UTF-8?q?=E4=BC=A0=E6=88=90=E5=8A=9F=E4=B8=8D=E5=9B=9E=E6=98=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/supermarket/mallCategory/form.vue | 260 ++++++++++----------
1 file changed, 124 insertions(+), 136 deletions(-)
diff --git a/src/views/supermarket/mallCategory/form.vue b/src/views/supermarket/mallCategory/form.vue
index bc37ff7..cd73e38 100644
--- a/src/views/supermarket/mallCategory/form.vue
+++ b/src/views/supermarket/mallCategory/form.vue
@@ -1,189 +1,177 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
-
-
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
From 875aac67714aab64062b9f202e2dcf6111be4b1b Mon Sep 17 00:00:00 2001
From: weiwei
Date: Wed, 17 Sep 2025 10:47:12 +0800
Subject: [PATCH 11/16] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=BA=BF?=
=?UTF-8?q?=E5=95=86=E5=9F=8E=E5=88=86=E7=B1=BB=E5=9B=BE=E7=89=87=E5=95=86?=
=?UTF-8?q?=E5=93=81=E5=9B=BE=E7=89=87=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/supermarket/shopCategory/form.vue | 221 +++--
src/views/supermarket/shopCategory/index.vue | 278 +++---
src/views/supermarket/shopSpu/form.vue | 852 +++++++++----------
src/views/supermarket/shopSpu/index.vue | 255 +++---
4 files changed, 815 insertions(+), 791 deletions(-)
diff --git a/src/views/supermarket/shopCategory/form.vue b/src/views/supermarket/shopCategory/form.vue
index bde8925..3d170ae 100644
--- a/src/views/supermarket/shopCategory/form.vue
+++ b/src/views/supermarket/shopCategory/form.vue
@@ -1,160 +1,153 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
-
-
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
+ openDialog,
+})
+
diff --git a/src/views/supermarket/shopCategory/index.vue b/src/views/supermarket/shopCategory/index.vue
index fb29d66..8afe759 100644
--- a/src/views/supermarket/shopCategory/index.vue
+++ b/src/views/supermarket/shopCategory/index.vue
@@ -1,84 +1,110 @@
-
-
-
-
-
-
-
-
-
- 查询
-
- 重置
-
-
-
-
-
-
- 新 增
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑
- 删除
-
-
-
-
-
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ 新 增
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
-
-
-
-
+
+
+
\ No newline at end of file
+ treeData,
+})
+
diff --git a/src/views/supermarket/shopSpu/form.vue b/src/views/supermarket/shopSpu/form.vue
index 587f848..c1acb6f 100644
--- a/src/views/supermarket/shopSpu/form.vue
+++ b/src/views/supermarket/shopSpu/form.vue
@@ -1,505 +1,499 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SKU 列表
-
-
-
- * 条码
-
-
-
-
-
-
-
-
- 规格
-
-
-
-
-
-
- * 单位
-
-
-
-
-
-
-
-
- 状态
-
-
-
-
-
-
-
-
-
- * 零售价
-
-
-
-
- 元
-
-
-
-
- 促销价
-
-
- 元
-
-
-
-
- * 库存
-
-
-
-
-
-
-
-
- 口味
-
-
-
-
-
- 操作
-
- 删除
-
-
-
- 新增SKU
-
-
- 选择在销商户
-
-
-
-
-
- 移除
-
-
-
-
-
-
-
-
-
-
-
- 取消
- 确定
-
-
-
-
-
- 上一步
- 上一步
- 下一步
- 下一步
- 完成
- 取消
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SKU 列表
+
+
+ * 条码
+
+
+
+
+
+
+
+ 规格
+
+
+
+
+
+ * 单位
+
+
+
+
+
+
+
+ 状态
+
+
+
+
+
+
+
+
+ * 零售价
+
+
+
+ 元
+
+
+
+
+ 促销价
+
+
+ 元
+
+
+
+ * 库存
+
+
+
+
+
+
+
+ 口味
+
+
+
+
+
+ 操作
+
+ 删除
+
+
+
+ 新增SKU
+
+
+ 选择在销商户
+
+
+
+
+
+ 移除
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ 上一步
+ 上一步
+ 下一步
+ 下一步
+ 完成
+ 取消
+
+
diff --git a/src/views/supermarket/shopSpu/index.vue b/src/views/supermarket/shopSpu/index.vue
index e3ee754..648e87f 100644
--- a/src/views/supermarket/shopSpu/index.vue
+++ b/src/views/supermarket/shopSpu/index.vue
@@ -1,87 +1,111 @@
-
-
-
-
-
-
-
-
-
- 查询
-
- 重置
-
-
-
-
-
-
- 新 增
-
-
- 删除
-
-
-
-
-
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ 新 增
+
+
+ 删除
+
+
+
+
+
-
-
-
-
-
-
- {{ findCategoryPath(categoryOptions, scope.row.categoryId).join(' / ') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑
- 删除
-
-
-
-
-
+ @sort-change="sortChangeHandle"
+ >
+
+
+
+
+
+
+ {{ findCategoryPath(categoryOptions, scope.row.categoryId).join(" / ") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
-
-
-
-
+
+
+
From 6ae3b1e35bd6f57961effaac96fe428e1db44a14 Mon Sep 17 00:00:00 2001
From: weiwei
Date: Wed, 17 Sep 2025 16:35:17 +0800
Subject: [PATCH 12/16] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/supermarket/mallCategory/form.vue | 2 +-
src/views/supermarket/mallCategory/index.vue | 275 +++----
src/views/supermarket/mallMerchant/form.vue | 2 +-
src/views/supermarket/mallMerchant/index.vue | 254 ++++---
src/views/supermarket/mallProduct/form.vue | 730 +++++++++----------
src/views/supermarket/mallProduct/index.vue | 597 +++++++--------
src/views/supermarket/shopCategory/form.vue | 6 +-
src/views/supermarket/shopSku/index.vue | 201 ++---
src/views/supermarket/shopSpu/index.vue | 2 +-
9 files changed, 1067 insertions(+), 1002 deletions(-)
diff --git a/src/views/supermarket/mallCategory/form.vue b/src/views/supermarket/mallCategory/form.vue
index cd73e38..6c5bb39 100644
--- a/src/views/supermarket/mallCategory/form.vue
+++ b/src/views/supermarket/mallCategory/form.vue
@@ -31,7 +31,7 @@
-
+
{{ item.label }}
diff --git a/src/views/supermarket/mallCategory/index.vue b/src/views/supermarket/mallCategory/index.vue
index 04eb2b2..5ac9729 100644
--- a/src/views/supermarket/mallCategory/index.vue
+++ b/src/views/supermarket/mallCategory/index.vue
@@ -1,84 +1,109 @@
-
-
-
-
-
-
-
-
-
- 查询
-
- 重置
-
-
-
-
-
-
- 新 增
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑
- 删除
-
-
-
-
-
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ 新 增
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
-
-
-
-
+
+
+
diff --git a/src/views/supermarket/mallMerchant/form.vue b/src/views/supermarket/mallMerchant/form.vue
index 306e4cb..dadb6d3 100644
--- a/src/views/supermarket/mallMerchant/form.vue
+++ b/src/views/supermarket/mallMerchant/form.vue
@@ -75,7 +75,7 @@
-
+
diff --git a/src/views/supermarket/mallMerchant/index.vue b/src/views/supermarket/mallMerchant/index.vue
index cfe3c1d..ed29444 100644
--- a/src/views/supermarket/mallMerchant/index.vue
+++ b/src/views/supermarket/mallMerchant/index.vue
@@ -1,96 +1,125 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
-
- 重置
-
-
-
-
-
-
- 新 增
-
-
- 删除
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ 新 增
+
+
+ 删 除
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑
- 绑定用户
- 删除
-
-
-
-
-
+ @sort-change="sortChangeHandle"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 绑定用户
+ 删除
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
diff --git a/src/views/supermarket/mallProduct/form.vue b/src/views/supermarket/mallProduct/form.vue
index 9d5d902..6a1c99a 100644
--- a/src/views/supermarket/mallProduct/form.vue
+++ b/src/views/supermarket/mallProduct/form.vue
@@ -1,590 +1,562 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
- 多SKU模式
- 单价SPU模式
-
-
-
+
+
+
+ 多SKU模式
+ 单价SPU模式
+
+
+
-
-
-
- 上架
- 下架
-
-
-
+
+
+
+ 上架
+ 下架
+
+
+
-
-
-
-
-
- 单位:元
-
-
+
+
+
+
+
+ 单位:元
+
+
-
-
-
- 单位:元
-
-
-
+
+
+
+ 单位:元
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
- * SKU编码
-
-
-
-
-
-
-
+
+ * SKU编码
+
+
+
+
+
+
-
-
- * SKU名称
-
-
-
-
-
-
-
+
+ * SKU名称
+
+
+
+
+
+
-
-
- * 售价(元)
-
-
-
-
-
-
-
+
+ * 售价(元)
+
+
+
+
+
+
-
-
- * 库存
-
-
-
-
-
-
-
+
+ * 库存
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
- 启用
- 停用
-
-
-
-
+
+
+
+
+ 启用
+ 停用
+
+
+
+
-
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/views/supermarket/shopCategory/form.vue b/src/views/supermarket/shopCategory/form.vue
index 3d170ae..fb9e8d2 100644
--- a/src/views/supermarket/shopCategory/form.vue
+++ b/src/views/supermarket/shopCategory/form.vue
@@ -23,9 +23,9 @@
-
+
- {{ item.label }}
+ {{ item.label }}
@@ -137,7 +137,7 @@ const getshopCategoryData = (id: string) => {
loading.value = true
getObj(id)
.then((res: any) => {
- Object.assign(form, res.data)
+ Object.assign(form, res.data, { status: res.data.status.toString() })
// 编辑时加载分类并排除自己
loadCategories()
})
diff --git a/src/views/supermarket/shopSku/index.vue b/src/views/supermarket/shopSku/index.vue
index a97505b..5d7112f 100644
--- a/src/views/supermarket/shopSku/index.vue
+++ b/src/views/supermarket/shopSku/index.vue
@@ -1,65 +1,99 @@
-
-
-
-
-
- 新 增
-
-
- 删除
-
-
-
-
-
+
+
+
+
+
+ 删 除
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑
- 删除
-
-
-
-
-
+ @sort-change="sortChangeHandle"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ displayPrice(row.retailPrice, "") }}
+
+
+
+
+ {{ displayPrice(row.promotionPrice, "") }}
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
-
-
-
-
+
+
+
\ No newline at end of file
+ try {
+ await delObjs(ids)
+ getDataList()
+ useMessage().success("删除成功")
+ } catch (err: any) {
+ useMessage().error(err.msg)
+ }
+}
+
diff --git a/src/views/supermarket/shopSpu/index.vue b/src/views/supermarket/shopSpu/index.vue
index 648e87f..436a844 100644
--- a/src/views/supermarket/shopSpu/index.vue
+++ b/src/views/supermarket/shopSpu/index.vue
@@ -60,7 +60,7 @@
-
+
From 72f1a5992462c90fd67b3ff62135df58b07978a5 Mon Sep 17 00:00:00 2001
From: weiwei
Date: Wed, 17 Sep 2025 18:32:27 +0800
Subject: [PATCH 13/16] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=87=91=E9=A2=9D?=
=?UTF-8?q?=E8=BD=AC=E6=8D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/supermarket/shopSpu/form.vue | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/views/supermarket/shopSpu/form.vue b/src/views/supermarket/shopSpu/form.vue
index c1acb6f..c111228 100644
--- a/src/views/supermarket/shopSpu/form.vue
+++ b/src/views/supermarket/shopSpu/form.vue
@@ -183,7 +183,7 @@ import { getObj, addObj, putObj } from "/@/api/supermarket/shopSpu"
import { rule } from "/@/utils/validate"
import { tree as fetchCategoryTree } from "/@/api/supermarket/shopCategory"
import { select as fetchMerchantSelect } from "/@/api/wallet/mch-manage"
-import { displayPrice } from "/@/utils/formatMoney"
+import { displayPrice, storePrice } from "/@/utils/formatMoney"
const emit = defineEmits(["refresh"])
@@ -300,6 +300,14 @@ const onSubmit = async () => {
...form,
categoryId: Array.isArray(form.categoryId) ? form.categoryId.slice(-1)[0] : form.categoryId,
merchantIds,
+ skuList:
+ form.skuList?.map((sku) => {
+ return {
+ ...sku,
+ promotionPrice: storePrice(sku.promotionPrice),
+ retailPrice: storePrice(sku.retailPrice),
+ }
+ }) || [],
}
form.id ? await putObj(submitForm) : await addObj(submitForm)
useMessage().success(form.id ? "修改成功" : "添加成功")
From 217b5047cd531186cfc6adbb80b8690788e34f4c Mon Sep 17 00:00:00 2001
From: weiwei
Date: Thu, 18 Sep 2025 15:08:50 +0800
Subject: [PATCH 14/16] =?UTF-8?q?feat:=E5=9C=A8=E7=BA=BF=E5=95=86=E5=9F=8E?=
=?UTF-8?q?=E5=95=86=E5=93=81=E5=8F=AF=E4=B8=8B=E6=9E=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/supermarket/shopSpu/form.vue | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/views/supermarket/shopSpu/form.vue b/src/views/supermarket/shopSpu/form.vue
index c111228..1b09dbb 100644
--- a/src/views/supermarket/shopSpu/form.vue
+++ b/src/views/supermarket/shopSpu/form.vue
@@ -33,11 +33,18 @@
-
+
+
+
+
+ {{ item.label }}
+
+
+
@@ -192,7 +199,7 @@ const dataFormRef = ref()
const visible = ref(false)
const loading = ref(false)
// 定义字典
-const { supermarket_nature, spu_status } = useDict("supermarket_nature", "spu_status")
+const { supermarket_nature, status } = useDict("supermarket_nature", "status")
// 提交表单数据
const form = reactive({
id: "",
@@ -204,7 +211,7 @@ const form = reactive({
picUrl: "",
sliderPicUrls: "",
sort: 0,
- status: "",
+ status: "0",
stock: 0,
giveIntegral: "",
merchantRelationId: "",
From bf1bfcbfd01ff4f50e0184ddc7a845ee5b029302 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Thu, 18 Sep 2025 18:05:24 +0800
Subject: [PATCH 15/16] =?UTF-8?q?=E9=9B=B6=E5=94=AE=E9=80=80=E8=B4=A7?=
=?UTF-8?q?=E7=AD=9B=E9=80=89=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../supermarketerp/retailManagement/smErpRetailBack/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/supermarketerp/retailManagement/smErpRetailBack/index.vue b/src/views/supermarketerp/retailManagement/smErpRetailBack/index.vue
index 443823b..7bf8c2a 100644
--- a/src/views/supermarketerp/retailManagement/smErpRetailBack/index.vue
+++ b/src/views/supermarketerp/retailManagement/smErpRetailBack/index.vue
@@ -121,7 +121,7 @@ const selectObjs = ref([]) as any
const multiple = ref(true)
const state: BasicTableProps = reactive({
queryForm: {
- inventoryType: "3",
+ inventoryType: "6",
},
pageList: fetchList,
})
From ca3c0b2a130babfa594d74300b048a71476a8891 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Fri, 19 Sep 2025 20:20:36 +0800
Subject: [PATCH 16/16] =?UTF-8?q?=E9=9B=B6=E5=94=AE=E4=BB=B7=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../supermarketerp/purchaseManagement/smErpCgBack/form.vue | 5 +++++
.../purchaseManagement/smErpCgInventory/form.vue | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue b/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue
index 8c13c3f..d22e7d0 100644
--- a/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue
+++ b/src/views/supermarketerp/purchaseManagement/smErpCgBack/form.vue
@@ -129,6 +129,11 @@
+
+
+ {{ displayPrice(row.selectedUnitObj?.retailPrice || 0) }}
+
+
{{ displayPrice(row.selectedUnitObj?.purchasePrice || 0) }}
diff --git a/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue b/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue
index 2d5357d..fd3306a 100644
--- a/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue
+++ b/src/views/supermarketerp/purchaseManagement/smErpCgInventory/form.vue
@@ -157,6 +157,11 @@
+
+
+ {{ displayPrice(row.selectedUnitObj?.retailPrice || 0) }}
+
+
{{ displayPrice(row.selectedUnitObj?.purchasePrice || 0) }}