瀏覽代碼

feat(组件): 修改bvug

tangning 2 年之前
父節點
當前提交
851de6a87b
共有 2 個文件被更改,包括 66 次插入34 次删除
  1. 12 0
      src/api/account/index.ts
  2. 54 34
      src/views/account/overview/AddModal.vue

+ 12 - 0
src/api/account/index.ts

@@ -13,6 +13,7 @@ enum Api {
   addDownNum = '/service/manage/user/addDownNum',
   getCameraDetail = '/service/manage/user/getCameraDetail',
   unbindCamera = '/service/manage/user/unbindCamera',
+  allList = '/service/manage/incrementType/allList',
 }
 
 /**
@@ -53,6 +54,17 @@ defHttp.post<userList>({
   },
 });
 
+//权益延期
+export const dincrementList = (params: PageParams) =>
+defHttp.get<userList>({
+  url: Api.allList,
+  params: params,
+  headers: {
+    // @ts-ignore
+    ignoreCancelToken: true,
+  },
+});
+
 //添加用户权益
 export const AddUserIncrementApi = (params: PageParams) =>
 defHttp.post<userList>({

+ 54 - 34
src/views/account/overview/AddModal.vue

@@ -25,7 +25,7 @@
   import { useI18n } from '/@/hooks/web/useI18n';
   import { uploadApi } from '/@/api/product/index';
   import { ResultEnum } from '/@/enums/httpEnum';
-  import { DetailsApi, IncrementDelayApi, AddUserIncrementApi, AddDownNumApi } from '/@/api/account';
+  import { DetailsApi, dincrementList, AddUserIncrementApi, AddDownNumApi } from '/@/api/account';
   import dayjs from 'dayjs';
   import { otherInfoStore } from '/@/store/modules/other'
 
@@ -55,33 +55,57 @@
             required: true,
           },
           {
-            field: 'memberLevels',
-            component: 'Select',
+            field: 'incrementTypeId',
+            component: 'ApiSelect',
             label: '权益类型',
             required: true,
-            defaultValue:'PR',
             componentProps: {
-              options: [
-                {
-                  label: '专业会员',
-                  value: 'PR',
-                  key: '0',
-                },
-                {
-                  label: '高级会员',
-                  value: 'SE',
-                  key: '1',
-                },
-              ],
-              onChange: (memberLevels) => {
-                updateSchema([{field: 'monthQy',ifShow:memberLevels=='SE',},
-                              {field: 'incrementEndTime',componentProps: { disabled:memberLevels=='SE',}}])
-                setFieldsValue({
-                  monthQy:1,
-                  incrementEndTime: dayjs().add(1,memberLevels=='SE'?'month':'year').format('YYYY-MM-DD'),
-                });
-              },
+            api: async function () {
+              const res = await dincrementList();
+              console.log('incrementTypeId',res)
+              return res.map(ele => {
+                return {name:ele.name,value:ele.id}
+              });
             },
+            numberToString: true,
+            labelField: 'name',
+            valueField: 'value',
+            immediate: true,
+            params: {
+              agentName: '',
+            },
+            onChange:(value)=>{
+              console.log('onChange',value)
+              updateSchema([{field: 'monthQy',ifShow:value=='3',},
+                            {field: 'incrementEndTime',componentProps: { disabled:value=='3',}}])
+              setFieldsValue({
+                monthQy:1,
+                incrementEndTime: dayjs().add(1,value!='3'?'month':'year').format('YYYY-MM-DD'),
+              });
+            }
+          },
+            // componentProps: {
+            //   options: [
+            //     {
+            //       label: '专业会员',
+            //       value: 'PR',
+            //       key: '0',
+            //     },
+            //     {
+            //       label: '高级会员',
+            //       value: 'SE',
+            //       key: '1',
+            //     },
+            //   ],
+            //   onChange: (incrementTypeId) => {
+            //     updateSchema([{field: 'monthQy',ifShow:incrementTypeId=='SE',},
+            //                   {field: 'incrementEndTime',componentProps: { disabled:incrementTypeId=='SE',}}])
+            //     setFieldsValue({
+            //       monthQy:1,
+            //       incrementEndTime: dayjs().add(1,incrementTypeId=='SE'?'month':'year').format('YYYY-MM-DD'),
+            //     });
+            //   },
+            // },
             colProps: {
               span: 20,
             },
@@ -94,12 +118,6 @@
             defaultValue:1,
             componentProps: {
               min:1,
-              // onChange: (data) => {
-              //   const { memberLevels } = getFieldsValue()
-              //   setFieldsValue({
-              //     incrementEndTime: dayjs().add(data,memberLevels=='SE'?'month':'year').format('YYYY-MM-DD'),
-              //   });
-              // },
             },
             colProps: {
               span: 20,
@@ -178,7 +196,7 @@
           }
       ];
 
-      const [registerForm, { getFieldsValue, validate, resetFields, setFieldsValue, updateSchema }] = useForm({
+      const [registerForm, { validate, resetFields, setFieldsValue, updateSchema }] = useForm({
         labelWidth: 120,
         schemas:schemas,
         showActionButtonGroup: false,
@@ -191,8 +209,9 @@
       const [register, { closeModal }] = useModalInner((data) => {
         data && onDataReceive(data);
       });
-      function onDataReceive(data) {
-        console.log('onDataReceive',data)
+      async function onDataReceive(data) {
+        const res = await dincrementList();
+        console.log('onDataReceive',data,res)
         resetFields();
         fileFlow.type = data.type
         fileFlow.id = data.id
@@ -202,7 +221,7 @@
           {field: 'incrementEndTime',ifShow:fileFlow.type == 'equity',},
           {field: 'counts',ifShow:fileFlow.type == 'equity',},
           {field: 'monthQy',ifShow:false,},
-          {field: 'memberLevels',ifShow:fileFlow.type == 'equity',},
+          {field: 'incrementTypeId',ifShow:fileFlow.type == 'equity',},
         ])
       }
       const handleSubmit = async () => {
@@ -211,6 +230,7 @@
           const params = await validate();
           console.log('validate',params)
           const apiData = fileFlow.type == 'equity'?{
+              ...params,
               userId:params.id,
               incrementEndTime:params.incrementEndTime,
               count:params.counts,