Procházet zdrojové kódy

优化访客登记功能

wuxw před 6 roky
rodič
revize
7103c0610e

+ 1 - 0
WebService/src/main/java/com/java110/web/smo/visit/impl/AddVisitSMOImpl.java

@@ -35,6 +35,7 @@ public class AddVisitSMOImpl extends AbstractComponentSMO implements IAddVisitSM
         Assert.hasKeyAndValue(paramIn, "ownerId", "必填,请填写目标业主ID");
         Assert.hasKeyAndValue(paramIn, "phoneNumber", "必填,请填写访客联系方式");
         Assert.hasKeyAndValue(paramIn, "visitTime", "必填,请填写访客拜访时间");
+        Assert.hasKeyAndValue(paramIn, "departureTime", "必填,请填写访客离开时间");
 
 
         super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_VISIT);

+ 30 - 23
WebService/src/main/resources/components/noticePackage/add-notice/addNotice.html

@@ -1,4 +1,5 @@
-<div id = "addNoticeModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" >
+<div id="addNoticeModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
+     aria-hidden="true">
     <div class="modal-dialog modal-lg">
         <div class="modal-content">
             <div class="modal-body">
@@ -9,38 +10,44 @@
 
 
                             <div class="form-group row">
-         <label class="col-sm-2 col-form-label">标题</label>
-         <div class="col-sm-10">
-           <input v-model="addNoticeInfo.title"                   type="text" placeholder="必填,请填写标题" class="form-control">
-         </div>
-</div>
-<div class="form-group row">
-         <label class="col-sm-2 col-form-label">公告类型</label>
-         <div class="col-sm-10">
-<select class="custom-select" v-model="addNoticeInfo.noticeTypeCd">
-         <option selected  disabled value="">必填,请选择公告类型</option>
-         <option  value="1000">业主通知</option>
-<option  value="1001">员工通知</option>
-<option  value="1002">小区通知</option>
-  </select>         </div>
-</div>
+                                <label class="col-sm-2 col-form-label">标题</label>
+                                <div class="col-sm-10">
+                                    <input v-model="addNoticeInfo.title" type="text" placeholder="必填,请填写标题"
+                                           class="form-control">
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">公告类型</label>
+                                <div class="col-sm-10">
+                                    <select class="custom-select" v-model="addNoticeInfo.noticeTypeCd">
+                                        <option selected disabled value="">必填,请选择公告类型</option>
+                                        <option value="1000">业主通知</option>
+                                        <option value="1001">员工通知</option>
+                                        <option value="1002">小区通知</option>
+                                    </select></div>
+                            </div>
                             <div class="form-group row">
                                 <label class="col-sm-2 col-form-label">开始时间</label>
                                 <div class="col-sm-10">
-                                    <input v-model="addNoticeInfo.startTime"                   type="text" placeholder="必填,请填写开始时间" class="form-control">
+                                    <input v-model="addNoticeInfo.startTime" type="text" placeholder="必填,请填写开始时间"
+                                           class="form-control">
                                 </div>
                             </div>
                             <div class="form-group row">
-                                     <label class="col-sm-2 col-form-label">公告内容</label>
-                                     <div class="col-sm-10 summernote">
-                                         <!--<textarea v-model="addNoticeInfo.context" cols="3"  type="text" placeholder="必填,请填写公告内容" class="form-control"></textarea>-->
-                                     </div>
+                                <label class="col-sm-2 col-form-label">公告内容</label>
+                                <div class="col-sm-10 summernote">
+                                    <!--<textarea v-model="addNoticeInfo.context" cols="3"  type="text" placeholder="必填,请填写公告内容" class="form-control"></textarea>-->
+                                </div>
                             </div>
 
 
                             <div class="ibox-content">
-                                <button class="btn btn-primary float-right" type="button" v-on:click="saveNoticeInfo()" ><i class="fa fa-check"></i>&nbsp;保存</button>
-                                <button type="button" class="btn btn-warning float-right" style="margin-right:20px;" data-dismiss="modal">取消</button>
+                                <button class="btn btn-primary float-right" type="button" v-on:click="saveNoticeInfo()">
+                                    <i class="fa fa-check"></i>&nbsp;保存
+                                </button>
+                                <button type="button" class="btn btn-warning float-right" style="margin-right:20px;"
+                                        data-dismiss="modal">取消
+                                </button>
                             </div>
                         </div>
                     </div>

+ 4 - 3
WebService/src/main/resources/components/visitInfoPackage/add-visit-space/addVisitSpace.js

@@ -82,9 +82,10 @@
                     visitGender:vc.component.newVisitInfo.infos[0]['visitGender'],
                     phoneNumber:vc.component.newVisitInfo.infos[0]['phoneNumber'],
                     communityId:vc.component.newVisitInfo.infos[0]['communityId'],
-                    ownerId:vc.component.newVisitInfo.infos[0]['ownerId'],
-                    visitCase:vc.component.newVisitInfo.infos[0]['visitCase'],
-                    visitTime:new Date()
+                    ownerId:vc.component.newVisitInfo.infos[1]['ownerId'],
+                    visitCase:vc.component.newVisitInfo.infos[2]['visitCase'],
+                    visitTime:vc.component.newVisitInfo.infos[0]['visitTime'],
+                    departureTime:vc.component.newVisitInfo.infos[0]['departureTime']
                 }
                 console.log(param);
                vc.http.post(

+ 15 - 0
WebService/src/main/resources/components/visitInfoPackage/add-visit/addVisit.html

@@ -34,6 +34,21 @@
                                 </div>
                             </div>
 
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">开始时间</label>
+                                <div class="col-sm-10">
+                                    <input v-model="addVisitInfo.visitTime" readonly type="text" placeholder="必填,请填写开始时间"
+                                           class="form-control addVisitTime">
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">结束时间</label>
+                                <div class="col-sm-10">
+                                    <input v-model="addVisitInfo.departureTime" readonly type="text" placeholder="必填,请填写结束时间"
+                                           class="form-control addDepartureTime">
+                                </div>
+                            </div>
+
                             <div class="ibox-content">
                                 <button class="btn btn-primary float-right" type="button" v-on:click="_addNewVisitInfo()"><i
                                         class="fa fa-check"></i>&nbsp;保存

+ 58 - 5
WebService/src/main/resources/components/visitInfoPackage/add-visit/addVisit.js

@@ -12,11 +12,13 @@
             addVisitInfo:{
                 vName:'',
                 visitGender:'',
-                phoneNumber:''
+                phoneNumber:'',
+                visitTime:'',
+                departureTime:''
             }
         },
         _initMethod:function(){
-
+                vc.component._initAddVisitInfo();
         },
         _initEvent:function(){
             vc.on('addVisit','openAddVisitAppModal',function(_app){
@@ -60,10 +62,31 @@
                             param: "",
                             errInfo: "访客手机号不正确"
                         },
+                    ],
+                    'addVisitInfo.visitTime': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "访客时间不能为空"
+                        },
+                        {
+                            limit: "dateTime",
+                            param: "",
+                            errInfo: "访客时间格式错误"
+                        },
+                    ],
+                    'addVisitInfo.departureTime': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "访客时间不能为空"
+                        },
+                        {
+                            limit: "dateTime",
+                            param: "",
+                            errInfo: "访客时间格式错误"
+                        },
                     ]
-
-
-
                 });
             },
 
@@ -83,6 +106,36 @@
             _loadAppInfoData:function(){
 
             }
+        },
+        _initAddVisitInfo:function(){
+            vc.component.addVisitInfo.startTime = vc.dateFormat(new Date().getTime());
+             $('.addVisitTime').datetimepicker({
+                language: 'zh-CN',
+                format: 'yyyy-mm-dd HH:ii:ss',
+                initTime: true,
+                initialDate: new Date(),
+                autoClose: 1,
+                todayBtn: true
+
+            });
+            $('.addVisitTime').datetimepicker()
+                .on('changeDate', function (ev) {
+                    var value = $(".addVisitTime").val();
+                    vc.component.addVisitInfo.visitTime = value;
+                });
+            $('.addDepartureTime').datetimepicker({
+                language: 'zh-CN',
+                format: 'yyyy-mm-dd HH:ii:ss',
+                initTime: true,
+                initialDate: new Date(),
+                autoClose: 1,
+                todayBtn: true
+            });
+            $('.addDepartureTime').datetimepicker()
+                .on('changeDate', function (ev) {
+                    var value = $(".addDepartureTime").val();
+                    vc.component.addVisitInfo.departureTime = value;
+                });
         }
     });
 

+ 14 - 3
WebService/src/main/resources/components/visitInfoPackage/view-visit-info/viewVisitInfo.html

@@ -25,16 +25,27 @@
                             <label class="">{{viewVisitInfo.phoneNumber}}</label>
                         </div>
                     </div>
-                </div>
-                <div class="row">
                     <div class="col-sm-4">
                         <div class="form-group">
                             <label class="col-form-label" >访客性别:</label>
                             <label class="">{{viewVisitInfo.visitGender=="0"?"男":"女"}}</label>
                         </div>
                     </div>
+                </div>
+                <div class="row">
 
-<!--                   viewVisitInfo-->
+                    <div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >开始时间:</label>
+                            <label class="">{{viewVisitInfo.visitGender}}</label>
+                        </div>
+                    </div>
+                    <div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >结束时间:</label>
+                            <label class="">{{viewVisitInfo.visitGender=="0"?"男":"女"}}</label>
+                        </div>
+                    </div>
                 </div>
             </div>
         </div>

+ 12 - 2
WebService/src/main/resources/components/visitInfoPackage/view-visit-info/viewVisitInfo.js

@@ -10,7 +10,9 @@
                 needShowAddAppButton:'true',
                 vName:'',
                 visitGender:'',
-                phoneNumber:''
+                phoneNumber:'',
+                visitTime:'',
+                departureTime:''
             }
         },
         _initMethod:function(){
@@ -20,7 +22,7 @@
         _initEvent:function(){
             vc.on('viewVisitInfo','addNewVisit',function(_app){
                 console.log(_app);
-
+                vc.component._clearVisitInfo();
                 vc.copyObject(_app, vc.component.viewVisitInfo);
                 vc.emit('addVisitSpace','notify',vc.component.viewVisitInfo);
             });
@@ -43,6 +45,14 @@
             },
             _loadAppInfoData:function(){
 
+            },
+            _clearVisitInfo:function(){
+                vc.component.viewVisitInfo.vName='';
+                vc.component.viewVisitInfo.visitGender='';
+                vc.component.viewVisitInfo.phoneNumber='';
+                vc.component.viewVisitInfo.visitTime='';
+                vc.component.viewVisitInfo.departureTime='';
+
             }
         }
     });

+ 2 - 25
WebService/src/main/resources/components/visitInfoPackage/visit-manage/visitManage.js

@@ -41,15 +41,11 @@
                     function (json, res) {
                         var _visitManageInfo = JSON.parse(json);
                         console.log(_visitManageInfo);
-                        for (var k in _visitManageInfo.visits){
-                            _visitManageInfo.visits[k].visitTime=new Date(_visitManageInfo.visits[k].visitTime).format('yyyy-MM-dd');
-                            _visitManageInfo.visits[k].departureTime=new Date(_visitManageInfo.visits[k].departureTime).format('yyyy-MM-dd');
-                        }
                         vc.component.appManageInfo.total = _visitManageInfo.total;
                         vc.component.appManageInfo.records = _visitManageInfo.records;
                         vc.component.appManageInfo.visits = _visitManageInfo.visits;
                         vc.emit('pagination', 'init', {
-                            total: vc.component.appManageInfo.records,
+                            total: visitManageInfo.total,
                             currentPage: _page
                         });
                     }, function (errInfo, error) {
@@ -71,23 +67,4 @@
             }
         }
     });
-})(window.vc);
-
-Date.prototype.format =function(format){
-    var o = {
-        "M+" : this.getMonth()+1, //month
-        "d+" : this.getDate(), //day
-        "h+" : this.getHours(), //hour
-        "m+" : this.getMinutes(), //minute
-        "s+" : this.getSeconds(), //second
-        "q+" : Math.floor((this.getMonth()+3)/3), //quarter
-        "S" : this.getMilliseconds() //millisecond
-    }
-    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
-        (this.getFullYear()+"").substr(4- RegExp.$1.length));
-    for(var k in o)if(new RegExp("("+ k +")").test(format))
-        format = format.replace(RegExp.$1,
-            RegExp.$1.length==1? o[k] :
-                ("00"+ o[k]).substr((""+ o[k]).length));
-    return format;
-}
+})(window.vc);

+ 2 - 0
java110-bean/src/main/java/com/java110/dto/visit/VisitDto.java

@@ -107,4 +107,6 @@ public class VisitDto extends PageDto implements Serializable {
     public void setVisitTime(String visitTime) {
         this.visitTime = visitTime;
     }
+
+
 }