Procházet zdrojové kódy

Merge branch 'master' of http://192.168.1.218:3000/lianghanqiang/saber-community into master

slowslo před 4 roky
rodič
revize
0ec4fe3626

+ 1 - 1
src/views/enterprise/dept.vue

@@ -72,7 +72,7 @@
               label: "部门全称",
               prop: "fullName",
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入部门全称",
                 trigger: "blur"
               }]

+ 4 - 1
src/views/enterprise/enterprise.vue

@@ -48,7 +48,7 @@
   import CyExcelImport from "../../components/excel/cy-excel-import"
   import editPolygonMap from "../../components/residential/editPolygonMap.vue";
   import {mapGetters} from "vuex";
-  import {validatePhone} from "../../util/validator";
+  import {validateTelphone} from "../../util/validator";
 
   export default {
     components: {
@@ -240,6 +240,9 @@
                 required: false,
                 message: "请输入办公电话",
                 trigger: "blur"
+              },{
+                validator: validateTelphone,
+                trigger: "blur"
               }]
             },
             {

+ 31 - 14
src/views/enterprise/staff.vue

@@ -39,6 +39,7 @@
 <script>
   import {getList, getDetail, add, update, remove} from "@/api/enterprise/staff";
   import {mapGetters} from "vuex";
+  import {validatedEmail, validatePhone} from "../../util/validator";
 
   export default {
     data() {
@@ -64,6 +65,12 @@
           selection: true,
           dialogClickModal: false,
           column: [
+            {
+              label: "所属企业",
+              prop: "enterpriseName",
+              editDisplay: false,
+              addDisplay: false,
+            },
             {
               label: "所属企业",
               prop: "enterpriseId",
@@ -74,7 +81,8 @@
               overHidden: true,
               searchFilterable: true,
               filterable: true,
-              dicUrl: '/api/cyzh-enterprise/enterprise/list?size=500',
+              remote: true,
+              dicUrl: '/api/cyzh-enterprise/enterprise/list?size=100',
               dicFormatter: (res)=>{
                 return res.data.records;
               },
@@ -86,19 +94,21 @@
                 required: true,
                 message: "请输入所属企业",
                 trigger: "blur"
-              }]
-            },
-            {
-              label: "企业名称",
-              prop: "enterpriseName",
+              }],
               hide: true,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请输入企业名称",
-                trigger: "blur"
-              }]
+              viewDisplay: false
             },
+            // {
+            //   label: "企业名称",
+            //   prop: "enterpriseName",
+            //   hide: true,
+            //   display: false,
+            //   rules: [{
+            //     required: true,
+            //     message: "请输入企业名称",
+            //     trigger: "blur"
+            //   }]
+            // },
             {
               label: "昵称",
               prop: "name",
@@ -156,6 +166,9 @@
                 required: false,
                 message: "请输入邮箱",
                 trigger: "blur"
+              },{
+                validator: validatedEmail,
+                trigger: "blur"
               }]
             },
             {
@@ -180,10 +193,14 @@
             {
               label: "手机",
               prop: "phone",
+              hide: true,
               rules: [{
                 required: false,
                 message: "请输入手机",
                 trigger: "blur"
+              },{
+                validator: validatePhone,
+                trigger: "blur"
               }]
             },
             {
@@ -200,9 +217,9 @@
             {
               label: "身份证号码",
               prop: "idcard",
-              display: false,
+              hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入身份证号码",
                 trigger: "blur"
               }]

+ 29 - 23
src/views/estate/parkingspace.vue

@@ -27,6 +27,10 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="residentialId" slot-scope="scope">{{scope.row.residentialName}}</template>
+      <template slot="residentialIdForm" slot-scope="scope">
+        <select-dialog-residential :disabled="residentialDisabled" :id="form.residentialId" :name="form.residentialName" :callback="selectCallback"></select-dialog-residential>
+      </template>
     </avue-crud>
   </basic-container>
 </template>
@@ -35,8 +39,10 @@
   import {getList, getDetail, add, update, remove} from "@/api/estate/parkingspace";
   import {getList as getResidentialList} from "@/api/community/residential";
   import {mapGetters} from "vuex";
+  import SelectDialogResidential from "../../components/select-dialog/select-dialog-residential";
 
   export default {
+    components: {SelectDialogResidential},
     data() {
       return {
         form: {},
@@ -48,6 +54,7 @@
           total: 0
         },
         selectionList: [],
+        residentialDisabled: false,
         option: {
           height:'auto',
           calcHeight: 30,
@@ -134,38 +141,28 @@
                 trigger: "blur"
               }],
             },
-            {
-              label: "所属小区",
-              prop: "residentialName",
-              editDisplay: false,
-              addDisplay: false,
-              viewDisplay: false,
-            },
             {
               label: "所属小区",
               prop: "residentialId",
               type: "select",
-              search: true,
-              searchFilterable: true,
-              remote: true,
-              cascaderItem: ['parkingLotId'],
-              // dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
-              dicUrl: "/api/cyzh-community/residential/select?size=500&name={{key}}",
-              // dicFormatter:(res)=>{
-              //   return res.data.records;//返回字典的层级结构
-              // },
+              slot:true,
+              formslot:true,
+              // dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}&&size=9999",
+              dicUrl: "/api/cyzh-community/residential/list?size=500",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
               filterable: true,
               props: {
                 label: "name",
                 value: "id"
               },
               rules: [{
-                required: true,
+                required: false,
                 message: "请选择所属小区",
                 trigger: "blur"
-              }],
-              hide: true,
-              // viewDisplay: false
+              }]
             },
             // {
             //   label: "机构路径",
@@ -183,7 +180,7 @@
               search: true,
               // dicFlag: false,
               // remote: true,
-              dicUrl: "/api/cyzh-estate/parkinglot/list?size=100&residentialId={{key}}",
+              dicUrl: "/api/cyzh-estate/parkinglot/list",
               props: {
                 label: 'parkName',
                 value: 'id'
@@ -249,14 +246,21 @@
       }
     },
     watch: {
-      "form.residentialId"() {
+      /*"form.residentialId"() {
         getResidentialList(1, 10, {id: this.form.residentialId}).then(res => {
           this.form.residentialName = res.data.data.records[0].name;
           JSON.stringify()
         })
-      }
+      }*/
     },
     methods: {
+      selectCallback(row){
+        this.form.residentialId = row.id;
+        this.form.residentialName = row.name;
+        if (this.option.column[5].prop == 'parkingLotId' && this.option.column[5].dicUrl.indexOf('residentialId') == -1){
+          this.option.column[5].dicUrl += '?residentialId=' + this.form.residentialId + '&size=100';
+        }
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);
@@ -323,7 +327,9 @@
           });
       },
       beforeOpen(done, type) {
+        this.residentialDisabled = false;
         if (["edit", "view"].includes(type)) {
+          this.residentialDisabled = type == "view";
           getDetail(this.form.id).then(res => {
             this.form = res.data.data;
           });