Browse Source

fix(bugs): 修改菜单和角色

tangning 3 years ago
parent
commit
57580f37a1

+ 1 - 1
src/views/corporation/SubaccountModal.vue

@@ -40,10 +40,10 @@
                 //   label: '编辑',
                 //   icon: 'mdi:account-edit-outline',
                 //   onClick: handleDelete.bind(null, record, 'edit'),
-                //   label: t('common.unbind'), -->
                 // },
                 {
                   icon: 'mdi:account-multiple-remove-outline',
+                  label: t('common.unbind'),
                   onClick: handleDelete.bind(null, record, 'unbond'),
                 },
               ]"

+ 29 - 22
src/views/staff/detailsModal.vue

@@ -121,9 +121,6 @@
             labelField: 'name',
             valueField: 'id',
             immediate: true,
-            onChange: function () {
-              // Reflect.set(modalRecord, 'shippingName', opt.label);
-            },
             params: {
               page: 1,
               limit: 1000,
@@ -192,11 +189,29 @@
         setFieldsValue({
           ...data,
         });
+        let setSchema = {
+          field: 'roleId',
+          componentProps: {
+            disabled: true,
+            options: [
+              {
+                label: '公司员工',
+                value: 8,
+                key: 8,
+              },
+              {
+                label: '公司管理员',
+                value: 6,
+                key: 6,
+              },
+            ],
+          },
+        };
         if (data.id) {
           title.value = '编辑';
           if (data.roleId === 2) {
             updateSchema({
-              field: 'roleId',
+              ...setSchema,
               componentProps: {
                 disabled: false,
                 options: [
@@ -209,24 +224,16 @@
               },
             });
           } else {
-            updateSchema({
-              field: 'roleId',
-              componentProps: {
-                disabled: true,
-                options: [
-                  {
-                    label: '公司员工',
-                    value: 8,
-                    key: 8,
-                  },
-                  {
-                    label: '公司管理员',
-                    value: 6,
-                    key: 6,
-                  },
-                ],
-              },
-            });
+            let company = [setSchema];
+            if (data.roleId === 6) {
+              company.push({
+                field: 'companyId',
+                componentProps: {
+                  disabled: true,
+                },
+              });
+            }
+            updateSchema(company);
           }
         }
       }

+ 22 - 1
src/views/system/menu/menu.data.ts

@@ -152,7 +152,28 @@ export const formSchema: FormSchema[] = [
     field: 'name',
     label: '菜单名称',
     component: 'Input',
-    required: true,
+    componentProps: {
+      maxLength: 15,
+    },
+    rules: [
+      {
+        required: true,
+        // @ts-ignore
+        validator: async (rule, value) => {
+          const reg_tel = /^[a-zA-Z0-9\u4e00-\u9fa5()]+$/;
+          // var reg = /\S+@\S+\.\S+/;
+          if (!value) {
+            return Promise.reject('请输入菜单名称');
+          }
+          if (!reg_tel.test(value)) {
+            /* eslint-disable-next-line */
+            return Promise.reject('请输入正确的菜单名称');
+          }
+          return Promise.resolve();
+        },
+        trigger: 'change',
+      },
+    ],
   },
 
   {