Ver código fonte

feat(points): add business blacklist management

Sheep 1 dia atrás
pai
commit
ba78fc5b8b

+ 4 - 0
src/components/zt/dict-select/index.ts

@@ -2,6 +2,10 @@ export interface disctSelectProps {
   dictCode: string;
   immediate?: boolean;
   multiple?: boolean;
+  /**
+   * 仅展示指定字典值
+   */
+  allowedValues?: string[];
   /**
    * 禁用的标签
    */

+ 9 - 7
src/components/zt/dict-select/index.vue

@@ -16,13 +16,15 @@ const value = defineModel<string | string[] | null>('value', { required: false }
 const attrs: SelectProps = useAttrs();
 const { options } = useDict(props.dictCode, props.immediate);
 const newOptions = computed(() => {
-  return options.value.map(item => {
-    return {
-      label: item.label,
-      value: item.value,
-      disabled: Boolean(props.disabledLables?.includes(item.label))
-    };
-  });
+  return options.value
+    .filter(item => !props.allowedValues || props.allowedValues.includes(item.value))
+    .map(item => {
+      return {
+        label: item.label,
+        value: item.value,
+        disabled: Boolean(props.disabledLables?.includes(item.label))
+      };
+    });
 });
 </script>
 

+ 8 - 0
src/typings/api.d.ts

@@ -238,6 +238,14 @@ declare namespace Api {
        * 企业编号
        */
       channelNo?: string;
+      /**
+       * 禁止使用积分的业务编码
+       */
+      disabledPointsBusinessTypes?: string[];
+      /**
+       * 禁止使用积分的业务名称
+       */
+      disabledPointsBusinessTypeNames?: string[];
       /**
        * 创建日期
        */

+ 25 - 1
src/views/government/government-list/index.vue

@@ -34,6 +34,16 @@ const columns: NaiveUI.TableColumn<Api.government.ChannelVO>[] = [
     title: '正常员工数',
     align: 'center'
   },
+  {
+    key: 'disabledPointsBusinessTypeNames',
+    title: '积分禁用业务',
+    align: 'center',
+    width: 220,
+    ellipsis: {
+      tooltip: true
+    },
+    render: row => row.disabledPointsBusinessTypeNames?.join('、') || '无'
+  },
   {
     key: 'status',
     title: '状态',
@@ -129,7 +139,7 @@ const [registerModalForm, { openModal, closeModal, getFieldsValue, setFieldsValu
     title: '标签 ',
     width: 500,
     isShowHeaderText: true,
-    height: 200
+    height: 280
   },
   formConfig: {
     schemas: [
@@ -170,6 +180,20 @@ const [registerModalForm, { openModal, closeModal, getFieldsValue, setFieldsValu
           uncheckedValue: 0
         },
         defaultValue: 1
+      },
+      {
+        field: 'disabledPointsBusinessTypes',
+        label: '积分禁用业务',
+        component: 'dictSelect',
+        componentProps: {
+          dictCode: 'sys_business_type',
+          immediate: true,
+          multiple: true,
+          allowedValues: ['XSB', 'CD', 'DYY', 'XNSP', 'DJK', 'JY', 'JDMP'],
+          clearable: true,
+          placeholder: '不选择表示无禁用业务'
+        },
+        defaultValue: []
       }
     ],
     gridProps: {