Browse Source

会员页面禁止修改用户名,身份

wangwei 4 years ago
parent
commit
69ebfb55a0

+ 13 - 6
src/views/member/member/customCom/CustomInput.vue

@@ -3,7 +3,12 @@
   <div class="wrap">
     <div class="content">
       <Input :placeholder="placeholder" disabled v-model:value="value" />
-      <a-button class="mr-2 add-btn" color="success" @click="openAddPop(placeholder)">
+      <a-button
+        class="mr-2 add-btn"
+        color="success"
+        :disabled="disabled"
+        @click="openAddPop(placeholder)"
+      >
         添加
       </a-button>
     </div>
@@ -19,11 +24,11 @@
   const props = {
     value: { type: Object, default: '' },
     placeholder: { type: String, default: '' },
-    disabled: { type: Boolean, default: false },
   };
   interface State {
     value: object | string;
     placeholder: string;
+    disabled: boolean;
   }
 
   export default defineComponent({
@@ -35,21 +40,23 @@
       const state = reactive<State>({
         value: '',
         placeholder: props.placeholder,
+        disabled: false,
       });
       const [register, { openModal: openPopup }] = useModal();
       // 初始化
       function init() {
         nextTick(() => {
-          console.log('----------------------cussssstommmm-----')
-          console.log(`props`, props)
-          console.log(`props.value`, props.value)
-          console.log(`props.disabled`, props.disabled)
           if (props.value.name) {
             console.log(`props.value.name`, props.value.name);
             state.value = props.value.name;
           } else {
             state.value = props.value;
           }
+          if (state.value !== '' && typeof props.value === 'string') {
+            state.disabled = true;
+          } else {
+            state.disabled = false;
+          }
         });
       }
       onUpdated(() => {

+ 4 - 3
src/views/member/member/customCom/unit/data.ts

@@ -22,7 +22,7 @@ export const columns: BasicColumn[] = [
   },
   {
     title: '法人代表',
-    dataIndex: 'legalMan',
+    dataIndex: 'legalman',
     width: 130,
     sorter: true,
   },
@@ -271,7 +271,7 @@ export const schemas: FormSchema[] = [
     required: true,
   },
   {
-    field: 'legalMan',
+    field: 'legalman',
     component: 'Input',
     label: '法人代表',
     labelWidth: adaptWidth.labelWidth,
@@ -368,7 +368,7 @@ export const schemas: FormSchema[] = [
     required: true,
   },
   {
-    field: 'foundingTime',
+    field: 'foundingtime',
     component: 'DatePicker',
     label: '成立时间',
     labelWidth: adaptWidth.labelWidth,
@@ -401,6 +401,7 @@ export const schemas: FormSchema[] = [
     colProps: {
       span: adaptWidth.elContainer,
     },
+    defaultValue: '',
     componentProps: {
       placeholder: '职工人数',
     },

+ 22 - 11
src/views/member/member/data.ts

@@ -22,12 +22,20 @@ export const columns: BasicColumn[] = [
     dataIndex: 'status',
     width: 130,
     sorter: true,
+    customRender({ record }) {
+      const options = ['个人', '单位'];
+      return options[record.status];
+    },
   },
   {
     title: '职务',
     dataIndex: 'duty',
     width: 130,
     sorter: true,
+    customRender({ record }) {
+      const options = ['会长', '副会长', '秘书长', '副秘书长', '理事', '会员'];
+      return options[record.duty];
+    },
   },
   {
     title: '入会时间',
@@ -249,11 +257,15 @@ export const schemas: FormSchema[] = [
     colProps: {
       span: adaptWidth.elContainer,
     },
-    componentProps: {
-      options: [
-        { label: '个人', value: 0 },
-        { label: '单位', value: 1 },
-      ],
+    componentProps: (value) => {
+      console.log(`value ---- status`, value);
+      return {
+        // disabled: true,
+        options: [
+          { label: '个人', value: 0 },
+          { label: '单位', value: 1 },
+        ],
+      };
     },
     defaultValue: 0,
   },
@@ -267,8 +279,7 @@ export const schemas: FormSchema[] = [
     },
     render: ({ model, field }) => {
       return h(CustomInput, {
-        value: model[field],
-        disabled: true,
+        value: model.name,
         placeholder: '添加个人',
         onChange(value) {
           model[field] = value;
@@ -276,7 +287,6 @@ export const schemas: FormSchema[] = [
       });
     },
     show: ({ values }) => {
-      console.log(`values`, values);
       if (!values.status) {
         return true;
       }
@@ -290,7 +300,7 @@ export const schemas: FormSchema[] = [
     },
   },
   {
-    field: 'name',
+    field: 'unitName',
     component: 'Input',
     label: '名称',
     labelWidth: adaptWidth.labelWidth,
@@ -299,9 +309,10 @@ export const schemas: FormSchema[] = [
     },
     render: ({ model, field }) => {
       return h(CustomInput, {
-        value: model[field],
+        value: model.name,
         placeholder: '添加单位',
         onChange(value) {
+          model.name = value;
           model[field] = value;
         },
       });
@@ -320,7 +331,7 @@ export const schemas: FormSchema[] = [
     },
   },
   {
-    field: 'relation',
+    field: 'relationUnit',
     component: 'Input',
     label: '相关单位',
     labelWidth: adaptWidth.labelWidth,

+ 27 - 9
src/views/member/member/popup.vue

@@ -43,14 +43,8 @@
           span: 24,
         },
       });
-      //   const [register, { closeModal }] = useModalInner((data) => {
-      //     modelRef.value = data;
-
-      //
-      //   });
       const [register, { closeModal }] = useModalInner((data) => {
         resetFields();
-        console.log(`data ----id?`, data.id);
         if (data.id) {
           role.id = data.id;
           updateSchema([
@@ -65,16 +59,34 @@
               },
             },
             {
-              field: 'name',
+              field: 'username',
               componentProps: {
                 disabled: true,
               },
             },
-            // { field: 'filed1', componentProps: { disabled: false } },
           ]);
         } else {
           role.id = 0;
+          updateSchema([
+            {
+              field: 'status',
+              componentProps: {
+                disabled: false,
+                options: [
+                  { label: '个人', value: 0 },
+                  { label: '单位', value: 1 },
+                ],
+              },
+            },
+            {
+              field: 'username',
+              componentProps: {
+                disabled: false,
+              },
+            },
+          ]);
         }
+        data.username = data.admin.username;
         setFieldsValue(data);
       });
 
@@ -82,9 +94,15 @@
         const data = await validate();
         console.log(`确定`, data);
         data.id = role.id;
-        data.fromId = data.name.id;
+        if (data.name) {
+          data.fromId = data.name.id;
+        } else {
+          data.fromId = data.unitName.id;
+        }
         data.jointime = moment(data.jointime).format('YYYY-MM-DD');
         delete data.relation;
+        delete data.relationUnit;
+        delete data.unitName;
         delete data.name;
         const popupData = { closeModal, data };
         emit('saveData', popupData);

+ 1 - 0
src/views/member/person/index.vue

@@ -125,6 +125,7 @@
         popupData.title = '编辑';
         getPerson({ id: record.id }).then((res) => {
           const data = res.row;
+          console.log(`data`, data);
           openPopup(true, data);
         });
       }

+ 2 - 2
src/views/member/unit/data.ts

@@ -22,7 +22,7 @@ export const columns: BasicColumn[] = [
   },
   {
     title: '法人代表',
-    dataIndex: 'legalMan',
+    dataIndex: 'legalman',
     width: 130,
     sorter: true,
   },
@@ -271,7 +271,7 @@ export const schemas: FormSchema[] = [
     required: true,
   },
   {
-    field: 'legalMan',
+    field: 'legalman',
     component: 'Input',
     label: '法人代表',
     labelWidth: adaptWidth.labelWidth,