Kaynağa Gözat

修改bug二维码

Shannon_mu 3 yıl önce
ebeveyn
işleme
1c5154d977

+ 2 - 2
operationSupport/src/assets/css/main.scss

@@ -620,10 +620,10 @@ a {
             height: 10px;
             width: 10px;
             cursor: pointer;
-            background: url("/static/imgs/icon-close-off.png") no-repeat center;
+            background: url("../../assets/img/icon-close-off.png") no-repeat center;
             background-size: 10px 10px;
             &:hover {
-                background-image: url("/static/imgs/icon-close-on.png");
+                background-image: url("../../assets/img/icon-close-on.png");
             }
         }
     }

BIN
operationSupport/src/assets/img/icon-close-off.png


BIN
operationSupport/src/assets/img/icon-close-on.png


+ 115 - 105
operationSupport/src/components/common/Header.vue

@@ -7,7 +7,7 @@
  * @FilePath: \UMIS\src\components\others\Header.vue
 -->
 <template>
-    <div class="header" :class="[collapse? 'collapse':'expand']">
+    <div class="header" :class="[collapse ? 'collapse' : 'expand']">
         <div class="el-fl-left"><v-tags></v-tags></div>
         <div class="header-right">
             <div class="header-user-con">
@@ -15,23 +15,23 @@
                 <!-- 用户头像 -->
                 <div class="user-avator" @click="editUserInfo">
                     <i class="iconfont" v-show="!cruUserInfo.photo" v-bottom-txt-tip data-txt="编辑用户信息">&#xe6e8;</i>
-                    <img v-show="cruUserInfo.photo" :src="envConfig.baseImgApi + cruUserInfo.photo" style="object-fit:cover" />
+                    <img v-show="cruUserInfo.photo" :src="envConfig.baseImgApi + cruUserInfo.photo" style="object-fit: cover" />
                 </div>
                 <!-- <span style="width: 1px; height: 16px; background: #FFFFFF; opacity: 0.5"></span> -->
                 <div class="message">
                     <span class="main" @click="goMessage('unread')">
                         <!-- <i class="iconfont btn">&#xe6ea;</i> -->
-                        <img src="@assets/img/btn_news.png" alt="">
+                        <img src="@assets/img/btn_news.png" alt="" />
                         <span class="iconfont point" v-if="messageNumber"></span>
                     </span>
-                    <div class="msg-content" v-if="messageList&&messageList.length">
+                    <div class="msg-content" v-if="messageList && messageList.length">
                         <p>消息通知</p>
                         <ul>
-                            <li v-for="(items, index) in messageList" :key="index" @click="toUrl(items.typeId)"  style="cursor: pointer;">
-                                <img :src='"@/assets/img/icon_msg"+(items.typeId)+".png"' style="width: 30px; height: 30px" />
+                            <li v-for="(items, index) in messageList" :key="index" @click="toUrl(items.typeId)" style="cursor: pointer">
+                                <img :src="'@/assets/img/icon_msg' + items.typeId + '.png'" style="width: 30px; height: 30px" />
                                 <div>
-                                    <span class="cont">【{{items.shortName}}】{{items.messageContent}}</span>
-                                    <span class="time">{{items.dateCreate}}</span>
+                                    <span class="cont">【{{ items.shortName }}】{{ items.messageContent }}</span>
+                                    <span class="time">{{ items.dateCreate }}</span>
                                 </div>
                             </li>
                         </ul>
@@ -40,18 +40,16 @@
                     <div class="msg-content" v-else>
                         <p>消息通知</p>
                         <ul>
-                            <li style="text-align: center;display: block;padding: 0 20px;line-height: 60px;">
-                                暂无消息
-                            </li>
+                            <li style="text-align: center; display: block; padding: 0 20px; line-height: 60px">暂无消息</li>
                         </ul>
-                       <el-button type="text" class="more" disabled>查看更多</el-button>
+                        <el-button type="text" class="more" disabled>查看更多</el-button>
                     </div>
                 </div>
                 <!-- <span style="width: 1px; height: 16px; background: #FFFFFF; opacity: 0.5"></span> -->
                 <span class="border"></span>
-                <div class="logout" @click="logOut">      
-                    <el-tooltip placement="bottom" content="退出">      
-                      <img src="@/assets/img/btn_quit.png" class="tab_head-right" @click="logOut" />
+                <div class="logout" @click="logOut">
+                    <el-tooltip placement="bottom" content="退出">
+                        <img src="@/assets/img/btn_quit.png" class="tab_head-right" @click="logOut" />
                     </el-tooltip>
                     <!-- <i class="iconfont" v-bottom-txt-tip data-txt="退出">&#xe6e9;</i> -->
                 </div>
@@ -68,16 +66,16 @@ export default {
         return {
             name: '',
             envConfig: envConfig,
-            imgList:[
-                require("@/assets/img/icon_msg1.png"),
-                require("@/assets/img/icon_msg2.png"),
-                require("@/assets/img/icon_msg3.png"),
-                require("@/assets/img/icon_msg4.png"),
-                require("@/assets/img/icon_msg5.png"),
-                require("@/assets/img/icon_msg6.png"),
-                require("@/assets/img/icon_msg7.png"),
-                require("@/assets/img/icon_msg8.png"),
-                require("@/assets/img/icon_msg9.png")
+            imgList: [
+                require('@/assets/img/icon_msg1.png'),
+                require('@/assets/img/icon_msg2.png'),
+                require('@/assets/img/icon_msg3.png'),
+                require('@/assets/img/icon_msg4.png'),
+                require('@/assets/img/icon_msg5.png'),
+                require('@/assets/img/icon_msg6.png'),
+                require('@/assets/img/icon_msg7.png'),
+                require('@/assets/img/icon_msg8.png'),
+                require('@/assets/img/icon_msg9.png')
             ]
         };
     },
@@ -95,35 +93,39 @@ export default {
         ...mapState(['messageList'])
     },
     methods: {
-        toUrl(type){
-            let url,appId;
-            if(type==1||type==2){
-                url=this.envConfig.warnDetailUrl;
-                appId="1002";
-            }else if(type==4){
-                url=this.envConfig.taskManagementUrl;
-                appId="1003";
-            }else if(type==3||type==7){
-                url=this.envConfig.eventHiddenDangerUrl;
-                appId="1003";
-            }else if(type==9){
+        toUrl(type) {
+            let url, appId;
+            if (type == 1 || type == 2) {
+                url = this.envConfig.warnDetailUrl;
+                appId = '1002';
+            } else if (type == 4) {
+                url = this.envConfig.taskManagementUrl;
+                appId = '1003';
+            } else if (type == 3 || type == 7) {
+                url = this.envConfig.eventHiddenDangerUrl;
+                appId = '1003';
+            } else if (type == 9) {
                 // url=this.envConfig.eventHiddenDangerUrl;
-                appId="1012";
+                appId = '1012';
                 this.$router.push({
-                path: '/msg',
-             });
-             return;
+                    path: '/msg'
+                });
+                return;
             }
-            this.$http.postForm('/sc-message/message/judgingTheMessageJumpPermission',{
-                url:url.split('/')[url.split('/').length - 1],
-                appId:appId
-            }).then(({ status, data, msg })=>{
-                if(status==0&&data==0){
+            this.$http
+                .postForm('/sc-message/message/judgingTheMessageJumpPermission', {
+                    url: url.split('/')[url.split('/').length - 1],
+                    appId: appId
+                })
+                .then(({ status, data, msg }) => {
+                    url = url + '&access_token=' + localStorage.getItem('SC_token');
                     window.open(url);
-                }else{
-                    this.$message.error("您没有该系统权限")
-                }
-            })
+                    // if(status==0&&data==0){
+                    //     window.open(url);
+                    // }else{
+                    //     this.$message.error("您没有该系统权限")
+                    // }
+                });
         },
         // 退出登录
         logOut() {
@@ -136,8 +138,8 @@ export default {
                     });
                     localStorage.removeItem('SC_token');
                     this.$store.commit('setloginInfo', '');
-                    this.$store.dispatch("tags", []);
-                    sessionStorage.removeItem("tabs");
+                    this.$store.dispatch('tags', []);
+                    sessionStorage.removeItem('tabs');
                     location.href = this.envConfig.loginUrl;
                 } else {
                     this.$message.error(msg);
@@ -171,32 +173,32 @@ export default {
             });
         },
         goMessage(msg) {
-            let messageStatus = 2;//全部
+            let messageStatus = 2; //全部
             if (msg == 'unread') {
-                messageStatus = 0;//未读
+                messageStatus = 0; //未读
             }
-            this.$store.commit('setmessageStatus',messageStatus);
+            this.$store.commit('setmessageStatus', messageStatus);
             this.$router.push({
-                path: '/msg',
+                path: '/msg'
             });
         },
         //获取最新消息列表
-        getMessageList(){
-            this.$http.postForm('/sc-message/message/queryLastMessage',{num:'5'}).then(({ status, data, msg }) => {
+        getMessageList() {
+            this.$http.postForm('/sc-message/message/queryLastMessage', { num: '5' }).then(({ status, data, msg }) => {
                 if (status === 0) {
                     this.$store.commit('setmessageList', data);
                 }
             });
         },
         //查询未读消息数量
-        getUnreadNumber(){
+        getUnreadNumber() {
             this.$http.postForm('/sc-message/message/queryUnreadMessageStatic').then(({ status, data, msg }) => {
                 if (status === 0) {
-                    data.map((item,index)=>{
-                       if(item.cn){
-                           this.$store.commit('setmessageNumber', true);
+                    data.map((item, index) => {
+                        if (item.cn) {
+                            this.$store.commit('setmessageNumber', true);
                         }
-                    })
+                    });
                 }
             });
         },
@@ -205,7 +207,7 @@ export default {
             if ('WebSocket' in window) {
                 var serviceIp = this.envConfig.websoketUrl;
                 this.websocket = new WebSocket('ws://' + serviceIp + '/sc-message/webSocket/' + id);
-            }else {
+            } else {
                 console.log('当前浏览器 Not support websocket');
             }
             let that = this;
@@ -229,16 +231,24 @@ export default {
 
             //接收到消息的回调方法
             this.websocket.onmessage = function (event) {
-                let msg=JSON.parse(event.data);
-                let i=msg.typeId-1;
-                if(msg.userId){
+                let msg = JSON.parse(event.data);
+                let i = msg.typeId - 1;
+                if (msg.userId) {
                     that.$notify({
                         dangerouslyUseHTMLString: true,
                         showClose: true,
-                        customClass:'notice_icon',
+                        customClass: 'notice_icon',
                         offset: 60,
-                        duration:3000,
-                        message: "<div class='notice'><img src="+that.imgList[i]+" class='img'/><div class='notice-content'><span class='title'>新消息通知</span><span class='nowrap'>"+"【"+msg.type+"】"+msg.content+"</span></div></div>"
+                        duration: 3000,
+                        message:
+                            "<div class='notice'><img src=" +
+                            that.imgList[i] +
+                            " class='img'/><div class='notice-content'><span class='title'>新消息通知</span><span class='nowrap'>" +
+                            '【' +
+                            msg.type +
+                            '】' +
+                            msg.content +
+                            '</span></div></div>'
                     });
                     that.getMessageList();
                     that.getUnreadNumber();
@@ -289,11 +299,11 @@ export default {
 };
 </script>
 <style lang='scss' scoped>
-.border{
-     width:1px;
-     height: 10px;
-     background: #FFFFFF;
-     opacity: 0.3
+.border {
+    width: 1px;
+    height: 10px;
+    background: #ffffff;
+    opacity: 0.3;
 }
 .header {
     height: 46px;
@@ -303,33 +313,33 @@ export default {
     display: flex;
     align-items: center;
     justify-content: space-between;
-    &.expand::before{
-        content: "";
+    &.expand::before {
+        content: '';
         display: inline-block;
-        width:230px;
-        height:46px;
+        width: 230px;
+        height: 46px;
         background: #2c354a;
         position: absolute;
-        left:0;
+        left: 0;
     }
-    &.collapse::before{
-        content: "";
+    &.collapse::before {
+        content: '';
         display: inline-block;
-        width:95px;
-        height:46px;
+        width: 95px;
+        height: 46px;
         background: #2c354a;
         position: absolute;
-        left:0;
+        left: 0;
     }
 }
-.header-right {   
+.header-right {
     padding-right: 20px;
-    color:rgba(255, 255, 255, 0.6);
-    .name-txt{
+    color: rgba(255, 255, 255, 0.6);
+    .name-txt {
         font-size: 12px;
         font-family: PingFangSC-Regular, PingFang SC;
         font-weight: 400;
-        color: #FFFFFF;
+        color: #ffffff;
     }
 }
 .header-user-con {
@@ -339,16 +349,16 @@ export default {
 }
 .logout {
     margin-left: 20px;
-    img{
-        width:20px;
+    img {
+        width: 20px;
         height: 20px;
     }
 }
-.iconfont{
+.iconfont {
     font-size: 20px;
-    color:rgba(255, 255, 255, 0.6);
-    &:hover{
-        color:rgba(255, 255, 255, 1);;
+    color: rgba(255, 255, 255, 0.6);
+    &:hover {
+        color: rgba(255, 255, 255, 1);
     }
 }
 .user-avator {
@@ -368,18 +378,18 @@ export default {
     &:hover {
         .msg-content {
             display: block;
-            background: #FFFFFF;
+            background: #ffffff;
             box-shadow: 0px 5px 20px 0px rgba(144, 144, 144, 0.4);
             border-radius: 6px;
-            z-index:200;
+            z-index: 200;
         }
     }
     .main {
         height: 60px;
         line-height: 60px;
         position: relative;
-        img{
-            width:20px;
+        img {
+            width: 20px;
             height: 20px;
         }
         .point {
@@ -388,7 +398,7 @@ export default {
             right: -1px;
             width: 4px;
             height: 4px;
-            background: #FE7271;
+            background: #fe7271;
             border-radius: 50%;
             display: block;
         }
@@ -396,7 +406,7 @@ export default {
 
     .msg-content {
         position: absolute;
-        width: 380px;     
+        width: 380px;
         background: #ffffff;
         z-index: 20;
         right: 20px;
@@ -414,7 +424,7 @@ export default {
             align-items: center;
             height: 60px;
             padding-left: 20px;
-            border-top: 1px solid #F6F6F6;
+            border-top: 1px solid #f6f6f6;
             font-size: 12px;
             cursor: auto;
             span {
@@ -428,14 +438,14 @@ export default {
             }
             .cont {
                 color: #424656;
-                text-indent: -0.4em
+                text-indent: -0.4em;
             }
             .time {
-                color: #7D7F87;
+                color: #7d7f87;
             }
         }
         .more {
-            width:100%;
+            width: 100%;
         }
     }
 }

+ 16 - 0
operationSupport/src/store/store.js

@@ -37,6 +37,10 @@ const store = new Vuex.Store({
     searchPointInfo: {},
     //所有小区下拉
     areaSelect: [],
+    //所有民族
+    nationArray: [],
+    //所有籍贯
+    nativeArray: [],
   },
   getters: {
     getTheme(state) {
@@ -78,6 +82,12 @@ const store = new Vuex.Store({
     },
     getAreaSelect(state) {
       return state.areaSelect;
+    },
+    getNationArray(state) {
+      return state.nationArray
+    },
+    getNativeArray(state) {
+      return state.nativeArray
     }
   },
   mutations: {
@@ -122,6 +132,12 @@ const store = new Vuex.Store({
     },
     setAreaSelect(state, data) {
       state.areaSelect = data
+    },
+    setNationArray(state, data) {
+      state.nationArray = data
+    },
+    setNativeArray(state, data) {
+      state.nativeArray = data
     }
   },
   actions: {

+ 2 - 0
operationSupport/src/views/deviceManagement/index.vue

@@ -210,6 +210,8 @@ export default {
                     ids.push(v.id);
                 });
             }
+
+            const h = this.$createElement;
             this.$msgBox(`删除`, '删除后将无法恢复,请问是否继续?')
                 .then(() => {
                     this.$http.post('/device/delete', ids).then(({ status, data, msg }) => {

+ 17 - 18
operationSupport/src/views/deviceManagement/indexFacilities.vue

@@ -217,6 +217,23 @@ export default {
                 })
                 .catch(() => {});
         },
+        lookImg(row) {
+            let _this = this;
+            this.facilityNo = row.facilityNo;
+            this.getBinary('/sc-community/device/generateQRCodeImage', { id: row.id, type: 'DEVICE' }, function (data) {
+                _this.QRImg = window.URL.createObjectURL(data);
+                _this.centerDialogVisible = !_this.centerDialogVisible;
+            });
+        },
+        downImg() {
+            let a = document.createElement('a');
+            a.download = `设施编号${this.facilityNo}.png`;
+            a.href = this.QRImg;
+            document.body.appendChild(a);
+            a.click();
+            document.body.removeChild(a);
+            this.centerDialogVisible = !this.centerDialogVisible;
+        },
         addOrEdit(todo, data = {}) {
             new Promise((resolve) => {
                 let title = '添加设施';
@@ -249,26 +266,8 @@ export default {
                 this.TypeOptions = data.data;
             });
         },
-        lookImg(row) {
-            let _this = this;
-            this.facilityNo = row.facilityNo;
-            this.getBinary('/sc-community/device/generateQRCodeImage', { id: row.id, type: 'FACILTY' }, function (data) {
-                _this.QRImg = window.URL.createObjectURL(data);
-                _this.centerDialogVisible = !_this.centerDialogVisible;
-            });
-        },
-        downImg() {
-            let a = document.createElement('a');
-            a.download = `设施编号${this.facilityNo}.png`;
-            a.href = this.QRImg;
-            document.body.appendChild(a);
-            a.click();
-            document.body.removeChild(a);
-            this.centerDialogVisible = !this.centerDialogVisible;
-        },
         getBinary(url, args, success) {
             var xmlhttp = new XMLHttpRequest();
-
             var data = eval(args);
             var i = 0;
             for (var key in data) {

+ 1 - 1
operationSupport/src/views/deviceManagement/indexType.vue

@@ -120,7 +120,7 @@ export default {
                 this.$store.dispatch('addPopup', {
                     url: '/deviceManagement/popups/addType.vue',
                     width: '500px',
-                    height: '300px',
+                    height: '400px',
                     props: {
                         data,
                         todo,

+ 20 - 10
operationSupport/src/views/ownerManagement/details.vue

@@ -59,6 +59,7 @@ import householdTable from './stepPage/householdTable.vue';
 export default {
     components: { householdTable },
     data() {
+        let _this = this;
         return {
             tabsIndex: 0,
             id: null,
@@ -106,11 +107,11 @@ export default {
                     {
                         lable: '民族',
                         prop: 'nation'
-                    },
-                    {
-                        lable: '入住时间',
-                        prop: 'checkInDate'
                     }
+                    // {
+                    //     lable: '入住时间',
+                    //     prop: 'checkInDate'
+                    // }
                 ],
                 right: [
                     {
@@ -123,20 +124,29 @@ export default {
                     },
                     {
                         lable: '性别',
-                        prop: 'sex'
+                        prop: 'sex',
+                        typeArray: [
+                            { type: 0, lable: '未知' },
+                            { type: 1, lable: '男' },
+                            { type: 2, lable: '女' }
+                        ]
                     },
                     {
                         lable: '国籍',
-                        prop: 'nationality'
+                        prop: 'nationality',
+                        typeArray: [
+                            { type: 1, lable: '中国' },
+                            { type: 2, lable: '其他' }
+                        ]
                     },
                     {
                         lable: '户籍地址',
                         prop: 'permanentAddress'
-                    },
-                    {
-                        lable: '现住地址',
-                        prop: ''
                     }
+                    // {
+                    //     lable: '现住地址',
+                    //     prop: ''
+                    // }
                 ]
             },
             houseTable: {

+ 25 - 21
operationSupport/src/views/ownerManagement/index.vue

@@ -61,14 +61,12 @@
                 :data="mixins_list"
                 :pageset="mixins_pageset"
                 @page-change="pageChange"
-                @selection-change="selectionChange"
-            >
-                <template slot-scope="scope" slot="transactionsNumber">
-                    <span v-if="scope.row.transactionsNumber" class="el-link" @click="toTransactionDetails(scope.row)">{{
-                        scope.row.transactionsNumber
-                    }}</span>
-                    <span v-else>{{ scope.row.transactionsNumber }}</span>
+                @selection-change="selectionChange">
+
+                <template slot-scope="scope" slot="roomNumber">
+                    <span>{{ scope.row.buildingName }}-{{ scope.row.unitName }}-{{ scope.row.roomNumber }}</span>
                 </template>
+
                 <template slot-scope="scope" slot="opt">
                     <div class="opt">
                         <el-tooltip class="item" effect="light" placement="bottom" content="编辑">
@@ -136,7 +134,8 @@ export default {
                 },
                 {
                     label: '房屋地址',
-                    prop: 'roomNumber'
+                    prop: 'roomNumber',
+                    slot:'roomNumber'
                 },
                 {
                     label: '手机号',
@@ -198,18 +197,6 @@ export default {
         };
     },
     methods: {
-        toTransactionDetails(row) {
-            const { id, type } = row;
-            this.$router.push({
-                name: 'main',
-                query: {
-                    url: '/BillingManage/FinancialManage/ReconciliationManage/TransactionDetails',
-                    agentbranchId: id,
-                    payType: type,
-                    prevName: '支付管理'
-                }
-            });
-        },
         clerOwnerStatus() {
             this.ownerStatus = '';
             this.activeData = {};
@@ -292,7 +279,7 @@ export default {
             this.selectRow.forEach((v) => {
                 ids.push(v.id);
             });
-             this.$msgBox(`删除`, '删除后将无法恢复,请问是否继续?')
+            this.$msgBox(`删除`, '删除后将无法恢复,请问是否继续?')
                 .then(() => {
                     this.$http.post('/scResident/batchDelete', ids).then(({ status, data, msg }) => {
                         if (0 === status) {
@@ -318,6 +305,17 @@ export default {
         },
         exportExcel() {
             this.__exportExcel('/scResident/getDataExcel', this.mixins_query);
+        },
+        getNationArray(type) {
+            this.$http.postForm('/scResident/option', { type: type }).then(({ status, data, msg }) => {
+                if (status === 0 && data) {
+                    if (type == 'nation') {
+                        this.$store.commit('setNationArray', data);
+                    } else if (type == 'native') {
+                        this.$store.commit('setNativeArray', data);
+                    }
+                }
+            });
         }
     },
     watch: {
@@ -343,6 +341,12 @@ export default {
         }
     },
     created() {
+        if (this.$store.getters['getNationArray'].length === 0) {
+            this.getNationArray('nation');
+        }
+        if (this.$store.getters['getNativeArray'].length === 0) {
+            this.getNationArray('native');
+        }
         this.mix_path = ''; // 权限
         this.mixins_dataUrl = '/scResident/page'; // 分页查询接口
         this.mixins_query = {

+ 39 - 41
operationSupport/src/views/ownerManagement/stepPage/add.vue

@@ -124,7 +124,6 @@
                                 range-separator="至"
                                 start-placeholder="选择开始日期"
                                 end-placeholder="选择结束日期"
-                                :picker-options="pickerOptions"
                                 @change="effectiveDateToggle"
                                 :editable="false"
                             ></el-date-picker>
@@ -134,7 +133,7 @@
             </div>
 
             <div class="formContent-item">
-                <div class="formContent-item_title">绑定房产</div>
+                <div class="formContent-item_title"><span class="show-required-icon-star"></span> 绑定房产</div>
                 <div class="formContent-formList" v-for="(item, index) in formData.houseList" :key="index">
                     <div class="block-title">
                         <div class="floor list-title" v-if="!isAdd && !!item.id">
@@ -146,7 +145,7 @@
                         <img class="bg-imgIoc" src="@/assets/img/ownerManagement/icon_building@2x.png" alt="" />
                     </div>
 
-                    <zz-form :cols="formCols3" :data="item" :rules="formRules" :errors="formErrors" labelWidth="70" ref="form2">
+                    <zz-form :cols="formCols3" :data="item" :rules="formRules" :errors="formErrors" labelWidth="70">
                         <!-- 查看审核 -->
                         <template v-if="islooks">
                             <template slot="householdType">{{ item.householdType | matchingVal(householdTypeArray) }}</template>
@@ -170,7 +169,6 @@
                                     v-model="item.checkInDate"
                                     value-format="yyyy-MM-dd HH:mm:ss"
                                     type="date"
-                                    :picker-options="pickerOptions"
                                     placeholder="选择日期"
                                 >
                                 </el-date-picker> </template
@@ -257,6 +255,7 @@ export default {
             },
             pickerOptions: {
                 disabledDate(val) {
+                    // return val.getTime() < Date.now() - 8.64e7;
                     return +new Date(val) > +new Date();
                 }
             },
@@ -371,7 +370,8 @@ export default {
                     {
                         label: '类型',
                         prop: 'householdType',
-                        slot: 'householdType'
+                        slot: 'householdType',
+                        showRequired: true
                     },
                     {
                         label: '入住时间',
@@ -390,8 +390,6 @@ export default {
                     label: '其他'
                 }
             ],
-            nativePlaceArray: [],
-            nationArray: [],
             idTypeArray: [
                 {
                     status: 1,
@@ -437,10 +435,16 @@ export default {
         if (!!this.params.id) {
             this.getDetails(this.params.id);
         }
-        this.getNationArray('nation');
-        this.getNationArray('native');
         this.getTenantsTree();
     },
+    computed: {
+        nationArray() {
+            return this.$store.getters['getNationArray'];
+        },
+        nativePlaceArray() {
+            return this.$store.getters['getNativeArray'];
+        }
+    },
     methods: {
         getDetails(id) {
             let url = '/scResident/find/' + id;
@@ -461,17 +465,6 @@ export default {
                 })
                 .catch(() => {});
         },
-        getNationArray(type) {
-            this.$http.postForm('/scResident/option', { type: type }).then(({ status, data, msg }) => {
-                if (status === 0 && data) {
-                    if (type == 'nation') {
-                        this.nativePlaceArray = data;
-                    } else if (type == 'native') {
-                        this.nationArray = data;
-                    }
-                }
-            });
-        },
         lookFormCols(cols) {
             this[cols][0].forEach((item, index) => {
                 if (!!item.input) {
@@ -498,8 +491,12 @@ export default {
             return isJPG && isLt2M;
         },
         effectiveDateToggle(va) {
-            this.formData.effectiveDateStart = va[0];
-            this.formData.effectiveDateEnd = va[1];
+            let arr = va;
+            if (!arr) {
+                arr = ['', ''];
+            }
+            this.formData.effectiveDateStart = arr[0];
+            this.formData.effectiveDateEnd = arr[1];
         },
         addHouse(num, arr, todo) {
             new Promise((resolve) => {
@@ -575,25 +572,26 @@ export default {
                 return;
             }
             new Promise((resolve) => {
-                this.$refs.form.validate();
-                let vali = false;
-                if (
-                    this.$refs.form.$children[0].$children[0].validateState == 'success' &&
-                    this.$refs.form.$children[0].$children[1].validateState == 'success'
-                ) {
-                    vali = true;
-                }
-                this.formData.houseList.forEach((item, index) => {
-                    this.$refs.form2[index].validate();
-                    if (this.$refs.form2[index].$children[0].$children[0].validateState == 'success') {
-                        vali = true;
-                    } else {
-                        vali = false;
-                    }
-                });
-                if (vali) {
-                    resolve();
-                }
+                this.$refs.form.validate(resolve);
+                // let vali = false;
+                // if (
+                //     this.$refs.form.$children[0].$children[0].validateState == 'success' &&
+                //     this.$refs.form.$children[0].$children[1].validateState == 'success'
+                // ) {
+                //     vali = true;
+                // }
+                // this.formData.houseList.forEach((item, index) => {
+                //     this.$refs.form2[index].validate();
+                //     if (this.$refs.form2[index].$children[0].$children[0].validateState == 'success') {
+                //         vali = true;
+                //     } else {
+                //         vali = false;
+                //     }
+                // });
+                // resolve();
+                // if (vali) {
+                //     resolve();
+                // }
             })
                 .then(() => {
                     let url = '/scResident/add';

+ 17 - 6
operationSupport/src/views/ownerManagement/stepPage/householdTable.vue

@@ -2,14 +2,20 @@
     <div class="item-table">
         <div class="table-list" v-for="item in tableNames" :key="item">
             <div class="lable">{{ item.lable }}</div>
-            <div class="text" v-if="!!item.typeArray">{{ tabDatas[item.prop] | matchingVal(item.typeArray) }}</div>
+            <div class="text" v-if="item.prop === 'nation'">{{ tabDatas['nation'] | matchingVal(nationArray) }}</div>
+            <div class="text" v-else-if="!!item.typeArray">{{ tabDatas[item.prop] | matchingVal(item.typeArray) }}</div>
             <div class="text" v-else>{{ tabDatas[item.prop] || ' --' }}</div>
         </div>
     </div>
 </template>
 <script>
+import Vue from 'vue';
+let _this = this;
 export default {
     name: 'householdTable',
+    data() {
+        return {};
+    },
     props: {
         tableName: {
             type: Array
@@ -20,10 +26,12 @@ export default {
     },
     filters: {
         matchingVal(val, arr) {
-            let v = '暂无';
+            let v = '--';
             if (!!val) {
                 arr.forEach((item) => {
-                    if (item.type === val) {
+                    if (!!item.code && item.code === val) {
+                        v = item.name;
+                    } else if (item.type === val) {
                         v = item.lable;
                     }
                 });
@@ -37,11 +45,14 @@ export default {
         },
         tabDatas() {
             return this.tabData;
+        },
+        nationArray() {
+            return this.$store.getters['getNationArray'];
+        },
+        nativePlaceArray() {
+            return this.$store.getters['getNativeArray'];
         }
     },
-    data() {
-        return {};
-    },
     created() {}
 };
 </script>

+ 6 - 0
operationSupport/src/views/ownerManagement/style.scss

@@ -219,3 +219,9 @@
     object-fit: cover;
   }
 }
+.show-required-icon-star {
+  &:before {
+    content: "*";
+    color: #f56c6c;
+  }
+}

+ 1 - 1
operationSupport/vue.config.js

@@ -84,7 +84,7 @@ module.exports = {
                 }
             },
             '/sc-user-center': {
-                target: envConfig.baseCeAPI,
+                target: envConfig.baseApi,
                 ws: true, // 代理的WebSockets
                 changeOrigin: true, // 允许websockets跨域
                 logLevel: 'debug',