Browse Source

fix(bugs): 修改企业数据和子账号

tangning 3 years ago
parent
commit
a6ec405066

+ 11 - 1
src/api/staff/list.ts

@@ -1,11 +1,12 @@
 import { defHttp } from '/@/utils/http/axios';
-import { PageParams, ListGetResultModel, DelParams } from './model';
+import { PageParams, ListGetResultModel, DelParams, roleParams } from './model';
 import { Result } from '/#/axios';
 
 enum Api {
   pageList = '/zfb-api/zfb/shop/sys/user/staffList',
   preDel = '/zfb-api/zfb/shop/sys/user/preDeleteStaff',
   roleList = '/zfb-api/zfb/shop/sys/user/roleList',
+  getRoleListByParam = '/zfb-api/zfb/shop/sys/user/getRoleListByParam',
   staffSave = '/zfb-api/zfb/shop/sys/user/staffSave',
   update = '/zfb-api/zfb/shop/sys/user/update',
   checkUser = '/zfb-api/zfb/user/checkUserExists',
@@ -56,6 +57,15 @@ export const preDelApi = (params: number) =>
       ignoreCancelToken: true,
     },
   });
+export const getRoleListByParam = (params: roleParams) =>
+  defHttp.post<Result>({
+    url: Api.getRoleListByParam,
+    params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
 export const roleLIstApi = (params) =>
   defHttp.post<Result>({
     url: Api.roleList,

+ 5 - 0
src/api/staff/model.ts

@@ -9,6 +9,11 @@ export interface DelParams {
   toUserId: number;
   toUserPhone: string;
 }
+
+export interface roleParams {
+  type: number;
+  roleId: number;
+}
 export interface StaffListItem {
   id: number;
 

+ 12 - 5
src/views/corporation/SubaccountModal.vue

@@ -34,7 +34,7 @@
             v-model:value="model[field]"
             style="width: 260px; text-align: center"
             class="justify-center suNum"
-            :min="0"
+            :min="minNumber[field]"
             @blur="
               () => {
                 numOnChange(true, field);
@@ -46,7 +46,7 @@
               <a-button
                 size="small"
                 type="link"
-                :disabled="model[field] == 0"
+                :disabled="model[field] == minNumber[field]"
                 @click="
                   () => {
                     numsOnChange(false, field);
@@ -135,7 +135,10 @@
       const { createConfirm, createMessage } = useMessage();
 
       const [registerModal, { openModal: addopenModal }] = useModal();
-
+      const minNumber = reactive({
+        shotNum: 0,
+        lookNum: 0,
+      });
       const modelRef = reactive({
         id: 0,
         subNum: 0,
@@ -312,7 +315,8 @@
         });
         modelRef.id = id;
         modelRef.subNum = lookNum + shotNum;
-
+        minNumber.lookNum = lookNum;
+        minNumber.shotNum = shotNum;
         searchInfo.id = id;
         await reloadSubtable();
 
@@ -430,6 +434,8 @@
         } else if ((newUser.roleId == 8 || newUser.roleId == 82) && !(shoot < shotNum)) {
           return createMessage.error('可拍摄员工数不足');
         }
+        minNumber.lookNum = lookNum;
+        minNumber.shotNum = shotNum;
         let obj = {
           8: '带看&拍摄员工',
           81: '带看员工',
@@ -442,6 +448,7 @@
           roleName: obj[newUser.roleId],
           roleId: newUser.roleId,
         });
+
         setFieldsValue({
           addeduser: total || 0,
         });
@@ -457,7 +464,7 @@
         schemas,
         columns,
         registerForm,
-
+        minNumber,
         handleVisibleChange,
         beforeEditSubmit,
         registerModal,

+ 13 - 21
src/views/staff/detailsModal.vue

@@ -13,7 +13,7 @@
 </template>
 <script lang="ts">
   import { defineComponent, ref } from 'vue';
-  import { checkUserApi, saveApi, updateApi, roleLIstApi } from '/@/api/staff/list';
+  import { checkUserApi, saveApi, updateApi, getRoleListByParam } from '/@/api/staff/list'; //roleLIstApi
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
   import { ListAllCompanyApi } from '/@/api/corporation/list';
@@ -130,7 +130,7 @@
         },
         {
           field: 'roleId',
-          component: 'RadioGroup',
+          component: 'ApiSelect',
           label: '角色',
           required: true,
           itemProps: {
@@ -197,25 +197,17 @@
         let setSchema = [
           {
             field: 'roleId',
-            component: data.id && data.roleId != 2 ? 'Select' : 'ApiSelect',
-            componentProps:
-              data.id && data.roleId != 2
-                ? {
-                    disabled: true,
-                    options: [
-                      {
-                        label: data.roleName,
-                        value: data.roleId,
-                        key: data.roleId,
-                      },
-                    ],
-                  }
-                : {
-                    disabled: false,
-                    api: roleLIstApi,
-                    labelField: 'roleName',
-                    valueField: 'roleId',
-                  },
+            component: 'ApiSelect',
+            componentProps: {
+              disabled: false,
+              api: getRoleListByParam,
+              labelField: 'roleName',
+              valueField: 'roleId',
+              params: {
+                type: data.roleId ? 1 : 0,
+                roleId: data.roleId,
+              },
+            },
           },
           {
             field: 'phone',