Przeglądaj źródła

perf(事件管理): 新增默认值选项、修复了事件详情页添加选项表格不刷新的BUG

fxs 2 dni temu
rodzic
commit
285938a446

+ 9 - 5
src/views/AppManage/EventDetailsView.vue

@@ -28,6 +28,8 @@ import FileUpload from '@/components/form/FileUpload.vue'
 import axiosInstance from '@/utils/axios/axiosInstance'
 import router from '@/router'
 
+type CustomTableType = InstanceType<typeof Table>
+
 const { selectInfo } = useCommonStore()
 const { AllApi, analysisResCode } = useRequest()
 
@@ -37,7 +39,7 @@ defineEmits(['tableDataLoaded', 'upload'])
 const eventFormRef = ref()
 
 // 参数表格ref对象
-const optionTableRef = ref()
+const optionTableRef = ref<CustomTableType>()
 
 // 是否是新增触发
 const isAdd = ref(true)
@@ -72,7 +74,7 @@ const ruleForm = reactive({
 const rules = reactive<FormRules<typeof ruleForm>>({
   actionName: [
     { required: true, message: '事件名称是必填项', trigger: 'blur' },
-    { min: 5, max: 20, message: '事件名称长度必须在5到20之间', trigger: 'blur' }
+    { min: 1, max: 20, message: '事件名称长度必须在1到20之间', trigger: 'blur' }
   ],
   remark: [
     { required: false, message: '备注是可选项', trigger: 'blur' },
@@ -295,7 +297,7 @@ const dialogFormFields: Array<FormField> = [
     name: 'optionType',
     cnName: '选项类型',
     type: FormFieldType.SELECT,
-    defaultValue: 'string',
+    defaultValue: 'int',
     otherOptions: {
       placeholder: '请选择类型',
       options: [
@@ -398,7 +400,8 @@ const startEdit = () => {
  * 接受到表单提交事件后,需要去重新请求一下表格的数据
  */
 const formSub = () => {
-  optionTableRef.value.getData()
+  optionTableRef.value?.updateTableData()
+  // optionTableRef.value.getData()
 }
 
 /**
@@ -418,7 +421,8 @@ const delOption = (row: any) => {
     type: 'warning'
   })
     .then(() => {
-      optionTableRef.value.deleteRow(AllApi.deleteGameActionOption, { id: row.id })
+      // optionTableRef.value?.deleteRow
+      optionTableRef.value?.deleteRow(AllApi.deleteGameActionOption, { id: row.id })
     })
     .catch(() => {})
 }

+ 41 - 19
src/views/AppManage/EventMangeTable.vue

@@ -7,9 +7,16 @@
  * 
 -->
 <script setup lang="ts">
+import Dialog from '@/components/common/CustomDialog.vue'
+
+import Table from '@/components/table/CustomTable.vue'
+
+import { useRequest } from '@/hooks/useRequest'
+import router from '@/router'
+import { useCommonStore } from '@/stores/useCommon'
 import type { ReqConfig } from '@/types/dataAnalysis'
-import type { FormRules } from 'element-plus'
 import type { DialogConfig } from '@/types/dialog'
+import { type FormField, FormFieldType } from '@/types/form'
 import type {
   QueryInfo,
   SelectInfo,
@@ -18,18 +25,10 @@ import type {
   TableToolsConfig
 } from '@/types/table'
 import { FilterType } from '@/types/table'
-import type { FormField } from '@/types/form'
-import { FormFieldType } from '@/types/form'
-
-import { useRequest } from '@/hooks/useRequest'
-import { useCommonStore } from '@/stores/useCommon'
 import { FieldSpecialEffectType, TextType } from '@/types/tableText'
+import type { FormRules } from 'element-plus'
 import { reactive, ref, watch } from 'vue'
 
-import Table from '@/components/table/CustomTable.vue'
-import Dialog from '@/components/common/CustomDialog.vue'
-import router from '@/router'
-
 const { selectInfo } = useCommonStore()
 
 const { AllApi } = useRequest()
@@ -180,7 +179,7 @@ const dialogRules = reactive<FormRules<typeof dialogRuleForm>>({
   ],
   actionName: [
     { required: true, message: '事件名称是必填项', trigger: 'blur' },
-    { min: 5, max: 20, message: '事件名称长度必须在5到20之间', trigger: 'blur' }
+    { min: 1, max: 20, message: '事件名称长度必须在1到20之间', trigger: 'blur' }
   ],
   remark: [
     { required: false, message: '备注是可选项', trigger: 'blur' },
@@ -214,11 +213,7 @@ const FormFields: Array<FormField> = [
     cnName: '事件名称',
     type: FormFieldType.INPUT
   },
-  {
-    name: 'remark',
-    cnName: '备注',
-    type: FormFieldType.RICHTEXT
-  },
+
   {
     name: 'status',
     cnName: '是否启用',
@@ -239,7 +234,28 @@ const FormFields: Array<FormField> = [
         }
       ]
     }
+  },
+  {
+    name: 'remark',
+    cnName: '备注',
+    type: FormFieldType.RICHTEXT
   }
+  // {
+  //   name: 'defaultTemplate',
+  //   cnName: '默认模板',
+  //   type: FormFieldType.SWITCH,
+  //   otherOptions: {
+  //     tip: () => {
+  //       return `        {
+  //           选项ID:default_id
+  //           选项名称:default_name
+  //           选项状态:启用
+  //           选项类型:整数
+  //         }`
+  //     },
+  //     placeholder: '启用后,将会在创建事件时,自动使用下方模板创建一个选项'
+  //   }
+  // }
 ]
 
 // 对话框需要的props
@@ -281,6 +297,12 @@ const addNewEvent = () => {
  * 表单提交
  */
 const subForm = () => {
+  // console.log(formData)
+  //
+  // const needTemplate = formData.defaultTemplate
+  // if (needTemplate) {
+  //   const templateData = {}
+  // }
   if (eventTable.value) {
     eventTable.value.updateTableData()
   }
@@ -324,14 +346,14 @@ defineExpose({
         <el-table-column label="操作" align="center">
           <template #default="scope">
             <el-text class="operationBtn" type="primary" @click="viewDetails(scope.row)"
-              >详情</el-text
-            >
+              >详情
+            </el-text>
           </template>
         </el-table-column>
       </template>
     </Table>
     <div class="eventDialog">
-      <Dialog ref="eventDialog" @form-submit="subForm" :config="dialogInfo"></Dialog>
+      <Dialog ref="eventDialog" @formSubmit="subForm" :config="dialogInfo"></Dialog>
     </div>
   </div>
 </template>