diff --git a/src/api/canteen/canteenOnlineSpu.ts b/src/api/canteen/canteenOnlineSpu.ts
index fc63d22..35d14d3 100644
--- a/src/api/canteen/canteenOnlineSpu.ts
+++ b/src/api/canteen/canteenOnlineSpu.ts
@@ -1,41 +1,48 @@
import request from "/@/utils/request"
export function fetchList(query?: Object) {
- return request({
- url: '/canteen/canteenOnlineSpu/page',
- method: 'get',
- params: query
- })
+ return request({
+ url: "/canteen/canteenOnlineSpu/page",
+ method: "get",
+ params: query,
+ })
}
export function addObj(obj?: Object) {
- return request({
- url: '/canteen/canteenOnlineSpu',
- method: 'post',
- data: obj
- })
+ return request({
+ url: "/canteen/canteenOnlineSpu",
+ method: "post",
+ data: obj,
+ })
}
export function getObj(id?: string) {
- return request({
- url: '/canteen/canteenOnlineSpu/' + id,
- method: 'get'
- })
+ return request({
+ url: "/canteen/canteenOnlineSpu/" + id,
+ method: "get",
+ })
}
export function delObjs(ids?: Object) {
- return request({
- url: '/canteen/canteenOnlineSpu',
- method: 'delete',
- data: ids
- })
+ return request({
+ url: "/canteen/canteenOnlineSpu",
+ method: "delete",
+ data: ids,
+ })
}
export function putObj(obj?: Object) {
- return request({
- url: '/canteen/canteenOnlineSpu',
- method: 'put',
- data: obj
- })
+ return request({
+ url: "/canteen/canteenOnlineSpu",
+ method: "put",
+ data: obj,
+ })
}
+export function saveCanteenSpuBatch(obj?: Object) {
+ return request({
+ url: "/canteen/canteenOnlineSpu/saveCanteenSpuBatch",
+ method: "post",
+ data: obj,
+ })
+}
diff --git a/src/views/canteen/canteenCategory/form.vue b/src/views/canteen/canteenCategory/form.vue
index fa647d3..7fc0de3 100644
--- a/src/views/canteen/canteenCategory/form.vue
+++ b/src/views/canteen/canteenCategory/form.vue
@@ -10,12 +10,7 @@
-
+
diff --git a/src/views/canteen/canteenOnlineCategory/form.vue b/src/views/canteen/canteenOnlineCategory/form.vue
index b5e0d67..150de8b 100644
--- a/src/views/canteen/canteenOnlineCategory/form.vue
+++ b/src/views/canteen/canteenOnlineCategory/form.vue
@@ -12,6 +12,13 @@
+
+
+
+
+
+
+
@@ -44,8 +51,11 @@
import { useMessage } from "/@/hooks/message"
import { getObj, addObj, putObj } from "/@/api/canteen/canteenOnlineCategory"
import { rule } from "/@/utils/validate"
+import { useDict } from "/@/hooks/dict"
const emit = defineEmits(["refresh"])
+const { daily_menu } = useDict("daily_menu")
+
// 定义变量内容
const dataFormRef = ref()
const visible = ref(false)
@@ -61,6 +71,7 @@ const form = reactive({
sort: 0,
status: "",
deptId: "",
+ categoryType: [],
})
// 定义校验规则
@@ -71,6 +82,7 @@ const dataRules = ref({
{ required: true, message: "分类排序不能为空", trigger: "blur" },
{ validator: rule.number, trigger: "blur" },
],
+ categoryType: [{ required: true, message: "餐段类型不能为空", trigger: "blur" }],
})
// 打开弹窗
@@ -95,7 +107,9 @@ const onSubmit = async () => {
try {
loading.value = true
- form.id ? await putObj(form) : await addObj(form)
+ form.id
+ ? await putObj({ ...form, categoryType: form.categoryType.join(",") })
+ : await addObj({ ...form, categoryType: form.categoryType.join(",") })
useMessage().success(form.id ? "修改成功" : "添加成功")
visible.value = false
emit("refresh")
@@ -112,7 +126,7 @@ const getcanteenOnlineCategoryData = (id: string) => {
loading.value = true
getObj(id)
.then((res: any) => {
- Object.assign(form, res.data)
+ Object.assign(form, res.data, { categoryType: res.data.categoryType.split(",") })
})
.finally(() => {
loading.value = false
diff --git a/src/views/canteen/canteenOnlineCategory/index.vue b/src/views/canteen/canteenOnlineCategory/index.vue
index 228a219..e641599 100644
--- a/src/views/canteen/canteenOnlineCategory/index.vue
+++ b/src/views/canteen/canteenOnlineCategory/index.vue
@@ -55,12 +55,18 @@
+
+
+
+
+
+
@@ -91,10 +97,13 @@
import { BasicTableProps, useTable } from "/@/hooks/table"
import { fetchList, delObjs } from "/@/api/canteen/canteenOnlineCategory"
import { useMessage, useMessageBox } from "/@/hooks/message"
+import { useDict } from "/@/hooks/dict"
// 引入组件
const FormDialog = defineAsyncComponent(() => import("./form.vue"))
+const { daily_menu } = useDict("daily_menu")
+
// 定义变量内容
const formDialogRef = ref()
// 搜索变量
diff --git a/src/views/canteen/canteenOnlineSpu/export-form.vue b/src/views/canteen/canteenOnlineSpu/export-form.vue
index e811f53..ca67642 100644
--- a/src/views/canteen/canteenOnlineSpu/export-form.vue
+++ b/src/views/canteen/canteenOnlineSpu/export-form.vue
@@ -95,8 +95,9 @@ import { displayPrice } from "/@/utils/formatMoney"
import { useDict } from "/@/hooks/dict"
import { getAllSimple as getCanteenCategory } from "/@/api/canteen/canteenCategory"
import { useMessage } from "/@/hooks/message"
+import { saveCanteenSpuBatch } from "/@/api/canteen/canteenOnlineSpu"
-const emit = defineEmits(["getSelectedRows", "refresh"])
+const emit = defineEmits(["refresh"])
const { spu_status, is_show } = useDict("spu_status", "is_show")
@@ -164,15 +165,37 @@ const resetQuery = () => {
}
// 商品选择对话框确认
-const dialogConfirm = () => {
+const dialogConfirm = async () => {
if (!merchantId.value) return useMessage().error("请选择商户")
const $table = tableRef.value
if ($table) {
const currentSelectedRows = $table.getSelectionRows()
- dialogVisible.value = false
- emit("getSelectedRows", currentSelectedRows)
- emit("refresh")
+ const items = currentSelectedRows.map((item: any) => {
+ return {
+ name: item.name,
+ linkSpuId: item.id,
+ categoryId: item.categoryId,
+ picUrl: item.picUrl,
+ sort: item.sort,
+ status: item.status,
+ price: item.price,
+ stock: item.stock,
+ }
+ })
+
+ try {
+ loading.value = true
+ const { code, msg } = await saveCanteenSpuBatch({ merchantId: merchantId.value, items })
+ if (code != 0) return useMessage().error(msg)
+ useMessage().success("保存成功")
+ dialogVisible.value = false
+ emit("refresh")
+ } catch (error) {
+ useMessage().error(error as string)
+ } finally {
+ loading.value = false
+ }
}
}
diff --git a/src/views/canteen/canteenOnlineSpu/index.vue b/src/views/canteen/canteenOnlineSpu/index.vue
index 4c50d87..c6e673b 100644
--- a/src/views/canteen/canteenOnlineSpu/index.vue
+++ b/src/views/canteen/canteenOnlineSpu/index.vue
@@ -88,11 +88,11 @@
{{ displayPrice(scope.row.price) }}
-
-
-
-
-
+
+
+
+
+
@@ -119,7 +119,7 @@
-
+
@@ -161,10 +161,6 @@ onMounted(async () => {
const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, downBlobFile, tableStyle } = useTable(state)
-const getSelectedRows = (selectRows: any) => {
- console.log(selectRows)
-}
-
// 清空搜索条件
const resetQuery = () => {
// 清空搜索条件