Browse Source

bugfix:折扣设备-新增问题;

bing 5 days ago
parent
commit
06d66ca460

+ 2 - 2
src/api/consumption/xfDiscount/types.ts

@@ -16,7 +16,7 @@ export interface XfDiscountVO {
16 16
    */
17 17
   mealType: number;
18 18
 
19
-  mealTypeName: string;
19
+  /* mealTypeName: string; */
20 20
 
21 21
   /**
22 22
    * 折扣类型,默认为0
@@ -68,7 +68,7 @@ export interface XfDiscountForm extends BaseEntity {
68 68
   /**
69 69
    * 餐类Id
70 70
    */
71
-  mealType?: number;
71
+  mealType?: string;
72 72
 
73 73
   /**
74 74
    * 折扣类型,默认为0

+ 31 - 15
src/views/basics/basicParameter/ptMealtype/DetailForm.vue

@@ -5,20 +5,36 @@
5 5
         <el-form-item label="餐类名称" prop="mealName">
6 6
           <el-select v-model="formData.mealName" placeholder="请选择餐类名称" @change="selectMealType($event)">
7 7
             <el-option
8
-                v-for="dict in meal_type"
9
-                :key="dict.label"
10
-                :label="dict.label"
11
-                :value="{mealName: dict.label, typeId:dict.value}"
8
+              v-for="dict in meal_type"
9
+              :key="dict.label"
10
+              :label="dict.label"
11
+              :value="{ mealName: dict.label, typeId: dict.value }"
12 12
             ></el-option>
13 13
           </el-select>
14 14
         </el-form-item>
15 15
         <el-form-item label="开始时间" prop="beginTime">
16
-          <el-time-select v-model="formData.beginTime" :max-time="formData.endTime" style="width: 240px" start="05:00"
17
-          step="00:15" end="23:59" format="HH:mm:ss" placeholder="请选择时间"/>
16
+          <el-time-select
17
+            v-model="formData.beginTime"
18
+            :max-time="formData.endTime"
19
+            style="width: 240px"
20
+            start="05:00"
21
+            step="00:15"
22
+            end="23:59"
23
+            format="HH:mm:ss"
24
+            placeholder="请选择时间"
25
+          />
18 26
         </el-form-item>
19 27
         <el-form-item label="结束时间" prop="endTime">
20
-          <el-time-select v-model="formData.endTime" :min-time="formData.beginTime" style="width: 240px" start="05:00"
21
-          step="00:15" end="23:59" format="HH:mm:ss" placeholder="请选择结束时间"/>
28
+          <el-time-select
29
+            v-model="formData.endTime"
30
+            :min-time="formData.beginTime"
31
+            style="width: 240px"
32
+            start="05:00"
33
+            step="00:15"
34
+            end="23:59"
35
+            format="HH:mm:ss"
36
+            placeholder="请选择结束时间"
37
+          />
22 38
         </el-form-item>
23 39
         <el-form-item label="类别说明" prop="mealNotes">
24 40
           <el-input v-model="formData.mealNotes" placeholder="请输入类别说明" />
@@ -70,14 +86,14 @@ const formData = ref<PtMealTypeForm>({
70 86
   mealName: '',
71 87
   beginTime: '',
72 88
   endTime: '',
73
-  mealNotes: '',
89
+  mealNotes: ''
74 90
 });
75 91
 // 表单校验规则
76 92
 const formRules = reactive({
77 93
   mealId: [{ required: true, message: '营业时段id不能为空', trigger: 'blur' }],
78 94
   mealName: [{ required: true, message: '餐类名称不能为空', trigger: 'blur' }],
79 95
   beginTime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
80
-  endTime: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
96
+  endTime: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }]
81 97
 });
82 98
 /** 当前组件方法 */
83 99
 /** 窗体打开事件 */
@@ -104,15 +120,15 @@ const resetForm = () => {
104 120
     mealName: '',
105 121
     beginTime: '',
106 122
     endTime: '',
107
-    mealNotes: '',
123
+    mealNotes: ''
108 124
   };
109 125
   formRef.value?.resetFields();
110 126
 };
111 127
 
112 128
 const selectMealType = (event) => {
113
-  formData.value.typeId = event.typeId
114
-  formData.value.mealName = event.mealName
115
-}
129
+  formData.value.typeId = event.typeId;
130
+  formData.value.mealName = event.mealName;
131
+};
116 132
 // 传回给父组件的属性与方法
117 133
 // 提供 open 方法,用于打开弹窗
118 134
 defineExpose({ open });
@@ -122,7 +138,7 @@ const emit = defineEmits(['success']);
122 138
 /** 提交按钮 */
123 139
 const submitForm = async () => {
124 140
   // 校验表单
125
-  if (!formRef) return;
141
+  if (!formRef.value) return;
126 142
   const valid = await formRef.value?.validate();
127 143
   if (!valid) return;
128 144
   // 提交请求

+ 7 - 5
src/views/consumption/xfDiscount/DetailForm.vue

@@ -9,7 +9,7 @@
9 9
         </el-form-item>
10 10
         <el-form-item label="餐类" prop="mealType">
11 11
           <el-select v-model="formData.mealType" placeholder="请选择餐类" clearable style="width: 100%">
12
-            <el-option v-for="item in mealTypeOptions" :key="item.mealId" :label="item.mealName" :value="item.mealId" />
12
+            <el-option v-for="item in meal_type" :key="item.value" :label="item.label" :value="item.value" />
13 13
           </el-select>
14 14
         </el-form-item>
15 15
         <el-form-item label="状态" prop="status">
@@ -82,6 +82,8 @@ const { proxy } = getCurrentInstance() as ComponentInternalInstance;
82 82
 // 国际化
83 83
 const { t } = useI18n();
84 84
 
85
+const { meal_type } = toRefs<any>(proxy?.useDict('meal_type'));
86
+
85 87
 // 对话框
86 88
 const dialog = reactive<DialogOption>({
87 89
   visible: false,
@@ -99,7 +101,7 @@ const formRef = ref<ElFormInstance>();
99 101
 const formData = ref<XfDiscountForm>({
100 102
   discountId: undefined,
101 103
   cardType: undefined,
102
-  mealType: undefined,
104
+  mealType: '',
103 105
   rateType: '0',
104 106
   oneRate: undefined,
105 107
   twoRate: undefined,
@@ -185,14 +187,14 @@ const submitForm = async () => {
185 187
 // const mealTypeOptions = await getAllPtMealtype();
186 188
 
187 189
 const cardTypeOptions = ref<PtCardTypeVO[]>([]);
188
-const mealTypeOptions = ref<PtMealTypeVO[]>([]);
190
+// const mealTypeOptions = ref<PtMealTypeVO[]>([]);
189 191
 /** 初始化 */
190 192
 onMounted(() => {
191 193
   listUsePtCardType().then((res) => {
192 194
     cardTypeOptions.value = res.data;
193 195
   });
194
-  getAllPtMealType().then((res) => {
196
+  /* getAllPtMealType().then((res) => {
195 197
     mealTypeOptions.value = res.data;
196
-  });
198
+  }); */
197 199
 });
198 200
 </script>

+ 6 - 1
src/views/consumption/xfDiscount/index.vue

@@ -43,7 +43,11 @@
43 43
         <el-table-column type="selection" width="55" align="center" />
44 44
         <el-table-column v-if="false" label="折扣Id,主键" align="center" prop="discountId" />
45 45
         <el-table-column v-if="columns[0].visible" label="卡类" align="center" prop="cardTypeName" />
46
-        <el-table-column v-if="columns[1].visible" label="餐类" align="center" prop="mealTypeName" />
46
+        <el-table-column v-if="columns[1].visible" label="餐类" align="center" prop="mealType">
47
+          <template #default="scope">
48
+            <dict-tag :options="meal_type" :value="scope.row.mealType" />
49
+          </template>
50
+        </el-table-column>
47 51
         <el-table-column v-if="columns[8].visible" label="启用状态" align="center" prop="status">
48 52
           <template #default="scope">
49 53
             <dict-tag :options="useableStatus" :value="scope.row.status" />
@@ -100,6 +104,7 @@ import router from '@/router';
100 104
 defineOptions({ name: 'XfDiscount' });
101 105
 
102 106
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
107
+const { meal_type } = toRefs<any>(proxy?.useDict('meal_type'));
103 108
 // 是否加载遮罩层
104 109
 const loading = ref(true);
105 110
 // 是否显示查询项