Sfoglia il codice sorgente

积分规则配置更新

Xiao_123 7 mesi fa
parent
commit
8e2ab4e5f7

+ 1 - 0
src/utils/dict.ts

@@ -242,4 +242,5 @@ export enum DICT_TYPE {
   MENDUNER_JOB_STATUS = 'menduner_job_status', // 求职状态
   MENDUNER_MARITAL_STATUS = 'menduner_marital_status', // 婚姻状况
   MENDUNER_PAY_UNIT= 'menduner_pay_unit', // 薪资单位
+  MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE= 'menduner_point_rule_config_trigger_type', // 积分规则触发类型
 }

+ 49 - 1
src/views/menduner/reward/integral/index.vue

@@ -16,6 +16,45 @@
           @keyup.enter="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="触发类型" prop="triggerType" v-hasPermi="['menduner:reward:point-rule-config:query']">
+        <el-select
+          v-model="queryParams.triggerType"
+          class="!w-240px"
+          clearable
+          placeholder="请选择触发类型"
+        >
+          <el-option
+            v-for="dict in getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE)"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="事件类型" prop="type" v-hasPermi="['menduner:reward:point-rule-config:query']">
+        <el-select
+          v-model="queryParams.type"
+          class="!w-240px"
+          clearable
+          placeholder="请选择事件类型"
+        >
+          <el-option
+            v-for="dict in getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TYPE)"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="标记代码" prop="mark" v-hasPermi="['menduner:reward:point-rule-config:query']">
+        <el-input
+          v-model="queryParams.mark"
+          class="!w-240px"
+          clearable
+          placeholder="请输入标记代码"
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
       <el-form-item label="状态" prop="status" v-hasPermi="['menduner:reward:point-rule-config:query']">
         <el-select
           v-model="queryParams.status"
@@ -70,7 +109,12 @@
     >
       <el-table-column :show-overflow-tooltip="true" label="规则名称" prop="title"/>
       <el-table-column :show-overflow-tooltip="true" label="事件地址" prop="url"/>
-      <el-table-column label="规则类型" prop="type">
+      <el-table-column label="触发类型" prop="triggerType">
+        <template #default="scope">
+          <dict-tag :type="DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE" :value="scope.row.triggerType" />
+        </template>
+      </el-table-column>
+      <el-table-column label="事件类型" prop="type">
         <template #default="scope">
           <dict-tag :type="DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TYPE" :value="scope.row.type" />
         </template>
@@ -80,6 +124,7 @@
           <span>{{ scope.row.operation === '+' ? '递增' : '递减' }}</span>
         </template>
       </el-table-column>
+      <el-table-column :show-overflow-tooltip="true" label="标记代码" prop="mark"/>
       <el-table-column label="积分数量" prop="point"/>
       <el-table-column label="排序" prop="sort"/>
       <el-table-column :show-overflow-tooltip="true" label="创建时间" prop="createTime" :formatter="dateFormatter"/>
@@ -123,6 +168,9 @@ const queryFormRef = ref()
 const queryParams = reactive({
   title: null,
   status: null,
+  type: null,
+  triggerType: null,
+  mark: null,
   pageNo: 1,
   pageSize: 10
 })

+ 23 - 5
src/views/menduner/reward/integral/save.vue

@@ -12,7 +12,7 @@
           <template #description>
             <div class="desc-text">请填写基本信息</div>
             <el-form-item label="规则名称" prop="title">
-              <el-input v-model="formData.title" clearable placeholder="请输入规则名称" />
+              <el-input v-model="formData.title" clearable placeholder="请输入规则名称" style="width: 300px;"/>
             </el-form-item>
             <el-form-item label="选择事件地址" prop="url">
               <el-cascader 
@@ -24,14 +24,25 @@
                 :props="{ label: 'operation', value: 'url' }"
               />
             </el-form-item>
-            <el-form-item label="规则类型" prop="type">
+            <el-form-item label="触发类型" prop="triggerType">
+              <el-radio-group v-model="formData.triggerType">
+                <el-radio v-for="dict in getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE)" :key="dict.value" :value="dict.value">
+                  {{ dict.label }}
+                  <Tooltip :message="dict.remark"/>
+                </el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="事件类型" prop="type">
               <el-radio-group v-model="formData.type">
                 <el-radio v-for="dict in getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TYPE)" :key="dict.value" :value="dict.value">
                   {{ dict.label }}
-                  <Tooltip :message="dict.remark"/>
+                  <Tooltip :message="dict.remark" />
                 </el-radio>
               </el-radio-group>
             </el-form-item>
+            <el-form-item label="标记代码" prop="mark">
+              <el-input v-model="formData.mark" clearable placeholder="请输入标记代码" style="width: 300px;"/>
+            </el-form-item>
             <el-form-item label="排序" prop="sort">
               <el-input-number v-model="formData.sort" :min="0" :precision="0" />
             </el-form-item>
@@ -77,6 +88,7 @@ import ConditionPage from './condition.vue'
 import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
 import { getEventTrackUrlList, savePointRuleConfig, getPointRuleConfigDetails, updatePointRuleConfig } from '@/api/menduner/system/integral'
 
+console.log(getIntDictOptions(DICT_TYPE.MENDUNER_POINT_RULE_CONFIG_TRIGGER_TYPE), 'dict')
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
 const dialogVisible = ref(false)
@@ -86,10 +98,12 @@ const formType = ref('')
 const formData = ref({
   title: '',
   url: '',
+  mark: '',
   status: 0,
+  triggerType: 0,
   type: 0,
   operation: '+',
-  point: 100,
+  point: 1,
   sort: 0
 })
 
@@ -98,6 +112,7 @@ const formRules = reactive({
   url: [{ required: true, message: '事件地址不能为空', trigger: 'blur' }],
   status: [{ required: true, message: '事件状态不能为空', trigger: 'blur' }],
   type: [{ required: true, message: '规则类型不能为空', trigger: 'blur' }],
+  triggerType: [{ required: true, message: '触发类型不能为空', trigger: 'blur' }],
   operation: [{ required: true, message: '积分处理不能为空', trigger: 'blur' }],
   point: [{ required: true, message: '积分数量不能为空', trigger: 'blur' }],
   sort: [{ required: true, message: '排序不能为空', trigger: 'blur' }]
@@ -131,6 +146,7 @@ const open = async (type, id) => {
     try {
       formData.value = await getPointRuleConfigDetails(id)
       formData.value.status = Number(formData.value.status)
+      formData.value.triggerType = Number(formData.value.triggerType)
       formData.value.type = Number(formData.value.type)
     } finally {
       formLoading.value = false
@@ -146,10 +162,12 @@ const resetForm = () => {
   formData.value = {
     title: '',
     url: '',
+    mark: '',
     status: 0,
+    triggerType: 0,
     type: 0,
     operation: '+',
-    point: 100,
+    point: 1,
     sort: 0
   }
   formRef.value?.resetFields()

+ 11 - 0
src/views/menduner/system/invoice/index.vue

@@ -99,10 +99,17 @@
           {{ categoryType.find(e => e.value === scope.row.category)?.label }}
         </template>
       </el-table-column>
+      <el-table-column label="发票类型" align="center" prop="type">
+        <template #default="scope">
+          {{ typeList.find(e => e.value === scope.row.type)?.label }}
+        </template>
+      </el-table-column>
       <el-table-column label="发票抬头" align="center" prop="title" />
       <el-table-column label="税号" align="center" prop="code" />
       <el-table-column label="联系邮箱" align="center" prop="email" />
       <el-table-column label="联系电话" align="center" prop="phone" />
+      <el-table-column label="开户银行" align="center" prop="enterpriseBankTitle" />
+      <el-table-column label="开户账号" align="center" prop="enterpriseBankNo" />
       <el-table-column label="已开发票地址" align="center" prop="fileUrl" :show-overflow-tooltip="true"/>
       <el-table-column label="操作" align="center">
         <template #default="scope">
@@ -149,6 +156,10 @@ const categoryType = ref([
   { label: '个人', value: 0 },
   { label: '企业', value: 1 }
 ])
+const typeList = ref([
+  { label: '增值税普通发票', value: 0 },
+  { label: '增值税专用发票', value: 1 }
+])
 const queryFormRef = ref() // 搜索的表单
 
 /** 查询列表 */