Browse Source

巡检计划页面

mrzcc 6 years ago
parent
commit
8a7698a2d8

+ 121 - 0
WebService/src/main/resources/components/inspectionPlanPackage/add-inspectionPlan/addInspectionPlan.html

@@ -0,0 +1,121 @@
+<div id="addInspectionPlanModel" 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">
+                <h3 class="m-t-none m-b ">添加巡检计划</h3>
+                <div class="ibox-content">
+                    <div>
+                        <div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">计划名称</label>
+                                <div class="col-sm-10">
+                                    <input v-model="addInspectionPlanInfo.inspectionPlanName" 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">
+                                    <input v-model="addInspectionPlanInfo.inspectionRouteId" 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="addInspectionPlanInfo.inspectionPlanPeriod">
+                                        <option selected disabled value="">必填,请选择执行周期</option>
+                                        <option v-for="(item,index) in addInspectionPlanInfo.inspectionPlanPeriods" :key="index"
+                                                v-bind:value="item.statusCd">{{item.name}}
+                                        </option>
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">执行人员</label>
+                                <div class="col-sm-3">
+                                    <vc:create name="orgSelect2"
+                                               parentModal="addInspectionPlanModel"
+                                               callBackListener="addInspectionPlanInfo"
+                                               callBackFunction="notify"
+                                               namespace="addInspectionPlan"
+                                    ></vc:create>
+                                </div>
+                                <div class="col-sm-3">
+                                    <vc:create name="departmentSelect2"
+                                               parentModal="addInspectionPlanModel"
+                                               callBackListener="addInspectionPlanInfo"
+                                               callBackFunction="notify"
+                                               namespace="addInspectionPlan"
+                                    ></vc:create>
+                                </div>
+                                <div class="col-sm-3">
+                                    <vc:create name="staffSelect2"
+                                               parentModal="addInspectionPlanModel"
+                                               callBackListener="addInspectionPlanInfo"
+                                               callBackFunction="notify"
+                                               namespace="addInspectionPlan"
+                                    ></vc:create>
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">开始时间</label>
+                                <div class="col-sm-10">
+                                    <input v-model="addInspectionPlanInfo.startTime" type="text"
+                                           placeholder="必填,请填写开始时间" class="form-control addInspectionPlanStartTime">
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">结束时间</label>
+                                <div class="col-sm-10">
+                                    <input v-model="addInspectionPlanInfo.endTime" type="text" placeholder="必填,请填写结束时间"
+                                           class="form-control addInspectionPlanEndTime">
+                                </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="addInspectionPlanInfo.signType">
+                                        <option selected disabled value="">必填,请选择签到方式</option>
+                                        <option v-for="(item,index) in addInspectionPlanInfo.signTypes" :key="index"
+                                                v-bind:value="item.statusCd">{{item.name}}
+                                        </option>
+                                    </select>
+                                </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="addInspectionPlanInfo.state">
+                                        <option selected disabled value="">必填,请选择状态</option>
+                                        <option v-for="(item,index) in addInspectionPlanInfo.states" :key="index"
+                                                v-bind:value="item.statusCd">{{item.name}}
+                                        </option>
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">备注</label>
+                                <div class="col-sm-10">
+                                    <textarea v-model="addInspectionPlanInfo.remark" 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="saveInspectionPlanInfo()"><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>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 253 - 0
WebService/src/main/resources/components/inspectionPlanPackage/add-inspectionPlan/addInspectionPlan.js

@@ -0,0 +1,253 @@
+(function (vc) {
+
+    vc.extends({
+        propTypes: {
+            callBackListener: vc.propTypes.string, //父组件名称
+            callBackFunction: vc.propTypes.string //父组件监听方法
+        },
+        data: {
+            addInspectionPlanInfo: {
+                inspectionPlanId: '',
+                inspectionPlanName: '',
+                inspectionRouteId: '',
+                inspectionPlanPeriod:'',
+                inspectionPlanPeriods:[],
+                staffId: '',
+                staffName:'',
+                startTime: '',
+                endTime: '',
+                signType:'',
+                signTypes:[],
+                state:'',
+                states:[],
+                remark: '',
+
+            }
+        },
+        _initMethod: function () {
+            vc.component._initAddInspectionPlanDateInfo();
+            vc.getDict('pay_fee_config',"fee_type_cd",function(_data){
+                console.log("收到字典参数:"+_data);
+                vc.component.addInspectionPlanInfo.inspectionPlanPeriods = _data;
+            });
+            vc.getDict('pay_fee_config',"fee_type_cd",function(_data){
+                vc.component.addInspectionPlanInfo.states = _data;
+            });
+            vc.getDict('pay_fee_config',"fee_type_cd",function(_data){
+                vc.component.addInspectionPlanInfo.signTypes = _data;
+            });
+
+        },
+        _initEvent: function () {
+            vc.on('addInspectionPlan', 'openAddInspectionPlanModal', function () {
+                $('#addInspectionPlanModel').modal('show');
+            });
+            vc.on("addInspectionPlanInfo", "notify", function (_param) {
+                if (_param.hasOwnProperty("staffId")) {
+                    vc.component.addInspectionPlanInfo.staffId = _param.staffId;
+                    vc.component.addInspectionPlanInfo.staffName = _param.staffName;
+                }
+            });
+        },
+        methods: {
+            addInspectionPlanValidate() {
+                return vc.validate.validate({
+                    addInspectionPlanInfo: vc.component.addInspectionPlanInfo
+                }, {
+                    'addInspectionPlanInfo.inspectionPlanName': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "计划名称不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,100",
+                            errInfo: "巡检计划名称不能超过100位"
+                        },
+                    ],
+                    'addInspectionPlanInfo.inspectionRouteId': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "巡检路线不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,30",
+                            errInfo: "巡检路线不能超过30位"
+                        },
+                    ],
+                    'addInspectionPlanInfo.inspectionPlanPeriod': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "执行周期不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,12",
+                            errInfo: "执行周期格式错误"
+                        },
+                    ],
+                    'addInspectionPlanInfo.staffId': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "执行人员不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,30",
+                            errInfo: "执行人员不能超过30位"
+                        },
+                    ],
+                    'addInspectionPlanInfo.startTime': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "开始时间不能为空"
+                        },
+                        {
+                            limit: "dateTime",
+                            param: "",
+                            errInfo: "计计划开始时间不是有效的时间格式"
+                        },
+                    ],
+                    'addInspectionPlanInfo.endTime': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "结束时间不能为空"
+                        },
+                        {
+                            limit: "dateTime",
+                            param: "",
+                            errInfo: "计划结束时间不是有效的时间格式"
+                        },
+                    ],
+                    'addInspectionPlanInfo.signType': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "签到方式不能为空"
+                        },
+                        {
+                            limit: "num",
+                            param: "",
+                            errInfo: "签到方式格式错误"
+                        },
+                    ],
+                    'addInspectionPlanInfo.state': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "状态不能为空"
+                        },
+                        {
+                            limit: "num",
+                            param: "",
+                            errInfo: "签到方式格式错误"
+                        },
+                    ],
+                    'addInspectionPlanInfo.remark': [
+                        {
+                            limit: "maxLength",
+                            param: "200",
+                            errInfo: "备注信息不能超过200位"
+                        },
+                    ],
+
+
+                });
+            },
+            _initAddInspectionPlanDateInfo: function () {
+                vc.component.addInspectionPlanInfo.startTime = vc.dateFormat(new Date().getTime());
+                $('.addInspectionPlanStartTime').datetimepicker({
+                    language: 'zh-CN',
+                    format: 'yyyy-mm-dd hh:ii:ss',
+                    initTime: true,
+                    initialDate: new Date(),
+                    autoClose: 1,
+                    todayBtn: true
+
+                });
+                $('.addInspectionPlanStartTime').datetimepicker()
+                    .on('changeDate', function (ev) {
+                        var value = $(".addFeeConfigStartTime").val();
+                        vc.component.addInspectionPlanInfo.startTime = value;
+                    });
+                $('.addInspectionPlanEndTime').datetimepicker({
+                    language: 'zh-CN',
+                    format: 'yyyy-mm-dd hh:ii:ss',
+                    initTime: true,
+                    initialDate: new Date(),
+                    autoClose: 1,
+                    todayBtn: true
+                });
+                $('.addInspectionPlanEndTime').datetimepicker()
+                    .on('changeDate', function (ev) {
+                        var value = $(".addInspectionPlanEndTime").val();
+                        vc.component.addInspectionPlanInfo.endTime = value;
+                    });
+            },
+            saveInspectionPlanInfo: function () {
+                if (!vc.component.addInspectionPlanValidate()) {
+                    vc.toast(vc.validate.errInfo);
+
+                    return;
+                }
+
+                vc.component.addInspectionPlanInfo.communityId = vc.getCurrentCommunity().communityId;
+                //不提交数据将数据 回调给侦听处理
+                if (vc.notNull($props.callBackListener)) {
+                    vc.emit($props.callBackListener, $props.callBackFunction, vc.component.addInspectionPlanInfo);
+                    $('#addInspectionPlanModel').modal('hide');
+                    return;
+                }
+
+                vc.http.post(
+                    'addInspectionPlan',
+                    'save',
+                    JSON.stringify(vc.component.addInspectionPlanInfo),
+                    {
+                        emulateJSON: true
+                    },
+                    function (json, res) {
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if (res.status == 200) {
+                            //关闭model
+                            $('#addInspectionPlanModel').modal('hide');
+                            vc.component.clearAddInspectionPlanInfo();
+                            vc.emit('inspectionPlanManage', 'listInspectionPlan', {});
+
+                            return;
+                        }
+                        vc.message(json);
+
+                    },
+                    function (errInfo, error) {
+                        console.log('请求失败处理');
+
+                        vc.message(errInfo);
+
+                    });
+            },
+            clearAddInspectionPlanInfo: function () {
+                vc.component.addInspectionPlanInfo = {
+                    inspectionPlanName: '',
+                    inspectionRouteId: '',
+                    inspectionPlanPeriod:'',
+                    staffId: '',
+                    startTime: '',
+                    endTime: '',
+                    signType:'',
+                    state:'',
+                    remark: '',
+
+                };
+            }
+        }
+    });
+
+})(window.vc);

+ 72 - 0
WebService/src/main/resources/components/inspectionPlanPackage/choose-inspectionPlan/chooseInspectionPlan.html

@@ -0,0 +1,72 @@
+<div id = "chooseInspectionPlanModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="chooseInspectionPlanModelLabel" aria-hidden="true" >
+    <div class="modal-dialog modal-lg">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h3 class="modal-title" id="chooseInspectionPlanModelLabel">选择巡检计划</h3>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <div class=" row">
+                    <div class="col-lg-12">
+                        <div class="ibox ">
+                            <div class="row">
+
+                                <div class="col-sm-7 m-b-xs">
+                                </div>
+                                <div class="col-sm-5">
+                                    <div class="input-group">
+                                        <input placeholder="输入巡检计划名称" type="text" v-model="chooseInspectionPlanInfo._currentInspectionPlanName" class="form-control form-control-sm">
+                                        <span class="input-group-append">
+                                                <button type="button" class="btn btn-sm btn-primary" v-on:click="queryInspectionPlans()">查询</button>
+                                            </span>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="table-responsive" style="margin-top:15px">
+                                <table class="table table-striped">
+                                    <thead>
+                                        <tr>
+                                                                        <th class="text-center">巡检计划名称</th>
+                            <th class="text-center">计划名称</th>
+                            <th class="text-center">巡检路线</th>
+                            <th class="text-center">执行周期</th>
+                            <th class="text-center">执行人员</th>
+                            <th class="text-center">开始时间</th>
+                            <th class="text-center">结束时间</th>
+                            <th class="text-center">签到方式</th>
+                            <th class="text-center">状态</th>
+                            <th class="text-center">备注</th>
+                            <th class="text-center">操作</th>
+
+                                        </tr>
+                                    </thead>
+                                    <tbody>
+                                        <tr v-for="inspectionPlan in chooseInspectionPlanInfo.inspectionPlans">
+                                                                        <td class="text-center">{{inspectionPlan.inspectionPlanId}}</td>
+                            <td class="text-center">{{inspectionPlan.inspectionPlanName}}</td>
+                            <td class="text-center">{{inspectionPlan.inspectionRouteId}}</td>
+                            <td class="text-center">{{inspectionPlan.inspectionPlanPeriod}}</td>
+                            <td class="text-center">{{inspectionPlan.staffId}}</td>
+                            <td class="text-center">{{inspectionPlan.startTime}}</td>
+                            <td class="text-center">{{inspectionPlan.endTime}}</td>
+                            <td class="text-center">{{inspectionPlan.signType}}</td>
+                            <td class="text-center">{{inspectionPlan.state}}</td>
+                            <td class="text-center">{{inspectionPlan.remark}}</td>
+
+                                            <td>
+                                                <button class="btn btn-primary btn-xs" v-on:click="chooseInspectionPlan(inspectionPlan)">选择</button>
+                                            </td>
+                                        </tr>
+                                    </tbody>
+                                </table>
+                            </div>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 64 - 0
WebService/src/main/resources/components/inspectionPlanPackage/choose-inspectionPlan/chooseInspectionPlan.js

@@ -0,0 +1,64 @@
+(function(vc){
+    vc.extends({
+        propTypes: {
+           emitChooseInspectionPlan:vc.propTypes.string,
+           emitLoadData:vc.propTypes.string
+        },
+        data:{
+            chooseInspectionPlanInfo:{
+                inspectionPlans:[],
+                _currentInspectionPlanName:'',
+            }
+        },
+        _initMethod:function(){
+        },
+        _initEvent:function(){
+            vc.on('chooseInspectionPlan','openChooseInspectionPlanModel',function(_param){
+                $('#chooseInspectionPlanModel').modal('show');
+                vc.component._refreshChooseInspectionPlanInfo();
+                vc.component._loadAllInspectionPlanInfo(1,10,'');
+            });
+        },
+        methods:{
+            _loadAllInspectionPlanInfo:function(_page,_row,_name){
+                var param = {
+                    params:{
+                        page:_page,
+                        row:_row,
+                        communityId:vc.getCurrentCommunity().communityId,
+                        name:_name
+                    }
+                };
+
+                //发送get请求
+               vc.http.get('chooseInspectionPlan',
+                            'list',
+                             param,
+                             function(json){
+                                var _inspectionPlanInfo = JSON.parse(json);
+                                vc.component.chooseInspectionPlanInfo.inspectionPlans = _inspectionPlanInfo.inspectionPlans;
+                             },function(){
+                                console.log('请求失败处理');
+                             }
+                           );
+            },
+            chooseInspectionPlan:function(_inspectionPlan){
+                if(_inspectionPlan.hasOwnProperty('name')){
+                     _inspectionPlan.inspectionPlanName = _inspectionPlan.name;
+                }
+                vc.emit($props.emitChooseInspectionPlan,'chooseInspectionPlan',_inspectionPlan);
+                vc.emit($props.emitLoadData,'listInspectionPlanData',{
+                    inspectionPlanId:_inspectionPlan.inspectionPlanId
+                });
+                $('#chooseInspectionPlanModel').modal('hide');
+            },
+            queryInspectionPlans:function(){
+                vc.component._loadAllInspectionPlanInfo(1,10,vc.component.chooseInspectionPlanInfo._currentInspectionPlanName);
+            },
+            _refreshChooseInspectionPlanInfo:function(){
+                vc.component.chooseInspectionPlanInfo._currentInspectionPlanName = "";
+            }
+        }
+
+    });
+})(window.vc);

+ 19 - 0
WebService/src/main/resources/components/inspectionPlanPackage/delete-inspectionPlan/deleteInspectionPlan.html

@@ -0,0 +1,19 @@
+<div class="modal fade" id="deleteInspectionPlanModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="exampleModalLabel">请确认您的操作!</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <tr align="center"><th>确定删除巡检计划</th></tr>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal" v-on:click="closeDeleteInspectionPlanModel()">点错了</button>
+                <button type="button" class="btn btn-primary" v-on:click="deleteInspectionPlan()">确认删除</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 52 - 0
WebService/src/main/resources/components/inspectionPlanPackage/delete-inspectionPlan/deleteInspectionPlan.js

@@ -0,0 +1,52 @@
+(function(vc,vm){
+
+    vc.extends({
+        data:{
+            deleteInspectionPlanInfo:{
+
+            }
+        },
+         _initMethod:function(){
+
+         },
+         _initEvent:function(){
+             vc.on('deleteInspectionPlan','openDeleteInspectionPlanModal',function(_params){
+
+                vc.component.deleteInspectionPlanInfo = _params;
+                $('#deleteInspectionPlanModel').modal('show');
+
+            });
+        },
+        methods:{
+            deleteInspectionPlan:function(){
+                vc.component.deleteInspectionPlanInfo.communityId=vc.getCurrentCommunity().communityId;
+                vc.http.post(
+                    'deleteInspectionPlan',
+                    'delete',
+                    JSON.stringify(vc.component.deleteInspectionPlanInfo),
+                    {
+                        emulateJSON:true
+                     },
+                     function(json,res){
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if(res.status == 200){
+                            //关闭model
+                            $('#deleteInspectionPlanModel').modal('hide');
+                            vc.emit('inspectionPlanManage','listInspectionPlan',{});
+                            return ;
+                        }
+                        vc.message(json);
+                     },
+                     function(errInfo,error){
+                        console.log('请求失败处理');
+                        vc.message(json);
+
+                     });
+            },
+            closeDeleteInspectionPlanModel:function(){
+                $('#deleteInspectionPlanModel').modal('hide');
+            }
+        }
+    });
+
+})(window.vc,window.vc.component);

+ 127 - 0
WebService/src/main/resources/components/inspectionPlanPackage/edit-inspectionPlan/editInspectionPlan.html

@@ -0,0 +1,127 @@
+<div id="editInspectionPlanModel" 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">
+                <h3 class="m-t-none m-b ">修改巡检计划</h3>
+                <div class="ibox-content">
+                    <div>
+                        <div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">计划名称</label>
+                                <div class="col-sm-10">
+                                    <input v-model="editInspectionPlanInfo.inspectionPlanName" 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">
+                                    <input v-model="editInspectionPlanInfo.inspectionRouteId" 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-bind:disabled = "editInspectionPlanInfo.isDefault=='T'" v-model="editInspectionPlanInfo.inspectionPlanPeriod">
+                                        <option selected disabled value="">必填,请选择执行周期</option>
+                                        <option v-for="(item,index) in editInspectionPlanInfo.inspectionPlanPeriods" :key="index"
+                                                v-bind:value="item.statusCd">{{item.name}}
+                                        </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="editInspectionPlanInfo.staffId" 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-3">
+                                    <vc:create name="orgSelect2"
+                                               parentModal="editInspectionPlanModel"
+                                               callBackListener="editInspectionPlanInfo"
+                                               callBackFunction="notify"
+                                               namespace="editInspectionPlan"
+                                    ></vc:create>
+                                </div>
+                                <div class="col-sm-3">
+                                    <vc:create name="departmentSelect2"
+                                               parentModal="editInspectionPlanModel"
+                                               callBackListener="editInspectionPlanInfo"
+                                               callBackFunction="notify"
+                                               namespace="editInspectionPlan"
+                                    ></vc:create>
+                                </div>
+                                <div class="col-sm-3">
+                                    <vc:create name="staffSelect2"
+                                               parentModal="editInspectionPlanModel"
+                                               callBackListener="editInspectionPlanInfo"
+                                               callBackFunction="notify"
+                                               namespace="editInspectionPlan"
+                                    ></vc:create>
+                                </div>
+                            </div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">开始时间</label>
+                                <div class="col-sm-10">
+                                    <input v-model="editInspectionPlanInfo.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">
+                                    <input v-model="editInspectionPlanInfo.endTime" 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-bind:disabled = "editInspectionPlanInfo.isDefault=='T'" v-model="editInspectionPlanInfo.signType">
+                                        <option selected disabled value="">必填,请选择签到方式</option>
+                                        <option v-for="(item,index) in editInspectionPlanInfo.signTypes" :key="index"
+                                                v-bind:value="item.statusCd">{{item.name}}
+                                        </option>
+                                    </select>
+                                </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-bind:disabled = "editInspectionPlanInfo.isDefault=='T'" v-model="editInspectionPlanInfo.state">
+                                        <option selected disabled value="">必填,请选择状态</option>
+                                        <option v-for="(item,index) in editInspectionPlanInfo.states" :key="index"
+                                                v-bind:value="item.statusCd">{{item.name}}
+                                        </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="editInspectionPlanInfo.remark" type="text" placeholder="选填,请填写备注"
+                                           class="form-control">
+                                </div>
+                            </div>
+
+                            <div class="ibox-content">
+                                <button class="btn btn-primary float-right" type="button"
+                                        v-on:click="editInspectionPlan()"><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>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 245 - 0
WebService/src/main/resources/components/inspectionPlanPackage/edit-inspectionPlan/editInspectionPlan.js

@@ -0,0 +1,245 @@
+(function (vc, vm) {
+
+    vc.extends({
+        data: {
+            editInspectionPlanInfo: {
+                inspectionPlanId: '',
+                inspectionPlanName: '',
+                inspectionRouteId: '',
+                inspectionPlanPeriod: '',
+                staffId: '',
+                staffName: '',
+                startTime: '',
+                endTime: '',
+                signType: '',
+                signTypes:[],
+                inspectionPlanPeriods: [],
+                states: [],
+                isDefault:'',
+                state: '',
+                remark: '',
+                companyId:'',
+                companyName:'',
+                departmentId:'',
+                departmentName:'',
+                createUserId:'',
+                createUserName:''
+            }
+        },
+        _initMethod: function () {
+            vc.getDict('pay_fee_config',"fee_type_cd",function(_data){
+                vc.component.editInspectionPlanInfo.signTypes = _data;
+            });
+            vc.getDict('pay_fee_config',"fee_type_cd",function(_data){
+                vc.component.editInspectionPlanInfo.inspectionPlanPeriods = _data;
+            });
+            vc.getDict('pay_fee_config',"fee_type_cd",function(_data){
+                vc.component.editInspectionPlanInfo.states = _data;
+            });
+
+        },
+        _initEvent: function () {
+            vc.on('editInspectionPlan', 'openEditInspectionPlanModal', function (_params) {
+                vc.component.refreshEditInspectionPlanInfo();
+                $('#editInspectionPlanModel').modal('show');
+                vc.copyObject(_params, vc.component.editInspectionPlanInfo);
+                vc.component.editInspectionPlanInfo.communityId = vc.getCurrentCommunity().communityId;
+                //公司select2
+                vc.emit('editInspectionPlan', 'orgSelect2', 'setOrg', {
+                    orgId: vc.component.editInspectionPlanInfo.companyId,
+                    orgName: vc.component.editInspectionPlanInfo.companyName,
+                });
+
+                //部门select2
+                vc.emit('editInspectionPlan', 'departmentSelect2', 'setDepartment', {
+                    orgId: vc.component.editInspectionPlanInfo.departmentId,
+                    orgName: vc.component.editInspectionPlanInfo.departmentName,
+                });
+
+                //员工select2
+                vc.emit('editInspectionPlan', 'staffSelect2', 'setStaff', {
+                    staffId: vc.component.editInspectionPlanInfo.staffId,
+                    staffName: vc.component.editInspectionPlanInfo.staffName,
+                });
+
+
+
+            });
+        },
+        methods: {
+            editInspectionPlanValidate: function () {
+                return vc.validate.validate({
+                    editInspectionPlanInfo: vc.component.editInspectionPlanInfo
+                }, {
+                    'editInspectionPlanInfo.inspectionPlanName': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "计划名称不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,100",
+                            errInfo: "巡检计划名称不能超过100位"
+                        },
+                    ],
+                    'editInspectionPlanInfo.inspectionRouteId': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "巡检路线不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,30",
+                            errInfo: "巡检路线不能超过30位"
+                        },
+                    ],
+                    'editInspectionPlanInfo.inspectionPlanPeriod': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "执行周期不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,12",
+                            errInfo: "执行周期格式错误"
+                        },
+                    ],
+                    'editInspectionPlanInfo.staffId': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "执行人员不能为空"
+                        },
+                        {
+                            limit: "maxin",
+                            param: "1,30",
+                            errInfo: "执行人员不能超过30位"
+                        },
+                    ],
+                    'editInspectionPlanInfo.startTime': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "开始时间不能为空"
+                        },
+                        {
+                            limit: "dateTime",
+                            param: "",
+                            errInfo: "计计划开始时间不是有效的时间格式"
+                        },
+                    ],
+                    'editInspectionPlanInfo.endTime': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "结束时间不能为空"
+                        },
+                        {
+                            limit: "dateTime",
+                            param: "",
+                            errInfo: "计划结束时间不是有效的时间格式"
+                        },
+                    ],
+                    'editInspectionPlanInfo.signType': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "签到方式不能为空"
+                        },
+                        {
+                            limit: "num",
+                            param: "",
+                            errInfo: "签到方式格式错误"
+                        },
+                    ],
+                    'editInspectionPlanInfo.state': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "状态不能为空"
+                        },
+                        {
+                            limit: "num",
+                            param: "",
+                            errInfo: "签到方式格式错误"
+                        },
+                    ],
+                    'editInspectionPlanInfo.remark': [
+                        {
+                            limit: "maxLength",
+                            param: "200",
+                            errInfo: "备注信息不能超过200位"
+                        },
+                    ],
+                    'editInspectionPlanInfo.inspectionPlanId': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "巡检计划名称不能为空"
+                        }]
+
+                });
+            },
+            editInspectionPlan: function () {
+                if (!vc.component.editInspectionPlanValidate()) {
+                    vc.toast(vc.validate.errInfo);
+                    return;
+                }
+
+                vc.http.post(
+                    'editInspectionPlan',
+                    'update',
+                    JSON.stringify(vc.component.editInspectionPlanInfo),
+                    {
+                        emulateJSON: true
+                    },
+                    function (json, res) {
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if (res.status == 200) {
+                            //关闭model
+                            $('#editInspectionPlanModel').modal('hide');
+                            vc.emit('inspectionPlanManage', 'listInspectionPlan', {});
+                            return;
+                        }
+                        vc.message(json);
+                    },
+                    function (errInfo, error) {
+                        console.log('请求失败处理');
+
+                        vc.message(errInfo);
+                    });
+            },
+            refreshEditInspectionPlanInfo: function () {
+                var signTypes = vc.component.editInspectionPlanInfo.signTypes;
+                var states = vc.component.editInspectionPlanInfo.states;
+                var inspectionPlanPeriods = vc.component.editInspectionPlanInfo.inspectionPlanPeriods;
+                vc.component.editInspectionPlanInfo = {
+                    inspectionPlanId: '',
+                    inspectionPlanName: '',
+                    inspectionRouteId: '',
+                    inspectionPlanPeriod: '',
+                    staffId: '',
+                    staffName: '',
+                    startTime: '',
+                    endTime: '',
+                    signType: '',
+                    state: '',
+                    remark: '',
+                    companyId:'',
+                    companyName:'',
+                    departmentId:'',
+                    departmentName:'',
+                    createUserId:'',
+                    createUserName:''
+                };
+                vc.component.editInspectionPlanInfo.signTypes = signTypes;
+                vc.component.editInspectionPlanInfo.states = states;
+                vc.component.editInspectionPlanInfo.inspectionPlanPeriods = inspectionPlanPeriods;
+            }
+        }
+    });
+
+})(window.vc, window.vc.component);

+ 123 - 0
WebService/src/main/resources/components/inspectionPlanPackage/inspectionPlan-manage/inspectionPlanManage.html

@@ -0,0 +1,123 @@
+<div id="component" class="wrapper wrapper-content animated fadeInRight ecommerce">
+    <div class="row">
+        <div class="col-lg-12">
+            <div class="ibox ">
+                <div class="ibox-title">
+                    <h5>查询条件</h5>
+                    <div class="ibox-tools" style="top:10px;">
+
+                    </div>
+                </div>
+                <div class="ibox-content">
+                    <div class="row">
+                        <div class="col-sm-4">
+                            <div class="form-group">
+                                <input type="text" placeholder="请输入计划,路线名称,执行人员姓名"
+                                       v-model="inspectionPlanManageInfo.conditions.keyWord" class=" form-control">
+                            </div>
+                        </div>
+                        <div class="col-sm-4">
+                            <select class="custom-select" v-model="inspectionPlanManageInfo.conditions.state">
+                                <option selected value="">请选择当前状态</option>
+                                <option value="888800010001">处理中</option>
+                                <option value="888800010002">已完成</option>
+                            </select>
+                        </div>
+                        <div class="col-sm-1">
+                            <button type="button" class="btn btn-primary btn-sm"
+                                    v-on:click="_queryInspectionPlanMethod()">
+                                <i class="glyphicon glyphicon-search"></i> 查询
+                            </button>
+                        </div>
+                    </div>
+
+
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-lg-12">
+            <div class="ibox">
+                <div class="ibox-title">
+                    <h5>巡检计划信息</h5>
+                    <div class="ibox-tools" style="top:10px;">
+                        <button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddInspectionPlanModal()">
+                            <i class="glyphicon glyphicon-plus"></i>
+                            添加巡检计划
+                        </button>
+                    </div>
+                </div>
+                <div class="ibox-content">
+
+                    <table class="footable table table-stripped toggle-arrow-tiny"
+                           data-page-size="15"
+                    >
+                        <thead>
+                        <tr>
+                            <th class="text-center">计划</th>
+                            <th class="text-center">路线</th>
+                            <th class="text-center">周期</th>
+                            <th class="text-center">执行人</th>
+                            <th class="text-center">开始时间</th>
+                            <th class="text-center">结束时间</th>
+                            <th class="text-center">制定人</th>
+                            <th class="text-center">制定时间</th>
+                            <th class="text-center">状态</th>
+                            <th class="text-center">备注</th>
+                            <th class="text-center">操作</th>
+
+
+                        </tr>
+                        </thead>
+                        <tbody>
+                        <tr v-for="inspectionPlan in inspectionPlanManageInfo.inspectionPlans">
+                            <td class="text-center">{{inspectionPlan.inspectionPlanName}}</td>
+                            <td class="text-center">{{inspectionPlan.inspectionRouteName}}</td>
+                            <td class="text-center">{{inspectionPlan.inspectionPlanPeriod}}</td>
+                            <td class="text-center">{{inspectionPlan.staffName}}</td>
+                            <td class="text-center">{{inspectionPlan.startTime}}</td>
+                            <td class="text-center">{{inspectionPlan.endTime}}</td>
+                            <td class="text-center">{{inspectionPlan.createUserName}}</td>
+                            <td class="text-center">{{inspectionPlan.createTime}}</td>
+                            <td class="text-center">{{inspectionPlan.state}}</td>
+                            <td class="text-center">{{inspectionPlan.remark}}</td>
+                            <td class="text-center">
+                                <div class="btn-group">
+                                    <button class="btn-white btn btn-xs"
+                                            v-on:click="_openEditInspectionPlanModel(inspectionPlan)">修改
+                                    </button>
+                                </div>
+                                <div class="btn-group">
+                                    <button class="btn-white btn btn-xs"
+                                            v-on:click="_openDeleteInspectionPlanModel(inspectionPlan)">删除
+                                    </button>
+                                </div>
+                            </td>
+
+                        </tr>
+                        </tbody>
+                        <tfoot>
+                        <tr>
+                            <td colspan="7">
+                                <ul class="pagination float-right"></ul>
+                            </td>
+                        </tr>
+                        </tfoot>
+                    </table>
+                    <!-- 分页 -->
+                    <vc:create name="pagination"></vc:create>
+                </div>
+            </div>
+        </div>
+    </div>
+
+
+    <vc:create name="addInspectionPlan"
+               callBackListener=""
+               callBackFunction=""
+    ></vc:create>
+    <vc:create name="editInspectionPlan"></vc:create>
+    <vc:create name="deleteInspectionPlan"></vc:create>
+
+</div>

+ 85 - 0
WebService/src/main/resources/components/inspectionPlanPackage/inspectionPlan-manage/inspectionPlanManage.js

@@ -0,0 +1,85 @@
+/**
+ 入驻小区
+ **/
+(function (vc) {
+    var DEFAULT_PAGE = 1;
+    var DEFAULT_ROWS = 10;
+    vc.extends({
+        data: {
+            inspectionPlanManageInfo: {
+                inspectionPlans: [],
+                total: 0,
+                records: 1,
+                moreCondition: false,
+                inspectionPlanName: '',
+                conditions: {
+                    keyWord: '',
+                    state: '',
+
+                }
+            }
+        },
+        _initMethod: function () {
+            vc.component._listInspectionPlans(DEFAULT_PAGE, DEFAULT_ROWS);
+        },
+        _initEvent: function () {
+
+            vc.on('inspectionPlanManage', 'listInspectionPlan', function (_param) {
+                vc.component._listInspectionPlans(DEFAULT_PAGE, DEFAULT_ROWS);
+            });
+            vc.on('pagination', 'page_event', function (_currentPage) {
+                vc.component._listInspectionPlans(_currentPage, DEFAULT_ROWS);
+            });
+        },
+        methods: {
+            _listInspectionPlans: function (_page, _rows) {
+
+                vc.component.inspectionPlanManageInfo.conditions.page = _page;
+                vc.component.inspectionPlanManageInfo.conditions.row = _rows;
+                var param = {
+                    params: vc.component.inspectionPlanManageInfo.conditions
+                };
+
+                //发送get请求
+                vc.http.get('inspectionPlanManage',
+                    'list',
+                    param,
+                    function (json, res) {
+                        var _inspectionPlanManageInfo = JSON.parse(json);
+                        vc.component.inspectionPlanManageInfo.total = _inspectionPlanManageInfo.total;
+                        vc.component.inspectionPlanManageInfo.records = _inspectionPlanManageInfo.records;
+                        vc.component.inspectionPlanManageInfo.inspectionPlans = _inspectionPlanManageInfo.inspectionPlans;
+                        vc.emit('pagination', 'init', {
+                            total: vc.component.inspectionPlanManageInfo.records,
+                            currentPage: _page
+                        });
+                    }, function (errInfo, error) {
+                        console.log('请求失败处理');
+                    }
+                );
+            },
+            _openAddInspectionPlanModal: function () {
+                vc.emit('addInspectionPlan', 'openAddInspectionPlanModal', {});
+            },
+            _openEditInspectionPlanModel: function (_inspectionPlan) {
+                vc.emit('editInspectionPlan', 'openEditInspectionPlanModal', _inspectionPlan);
+            },
+            _openDeleteInspectionPlanModel: function (_inspectionPlan) {
+                vc.emit('deleteInspectionPlan', 'openDeleteInspectionPlanModal', _inspectionPlan);
+            },
+            _queryInspectionPlanMethod: function () {
+                vc.component._listInspectionPlans(DEFAULT_PAGE, DEFAULT_ROWS);
+
+            },
+            _moreCondition: function () {
+                if (vc.component.inspectionPlanManageInfo.moreCondition) {
+                    vc.component.inspectionPlanManageInfo.moreCondition = false;
+                } else {
+                    vc.component.inspectionPlanManageInfo.moreCondition = true;
+                }
+            }
+
+
+        }
+    });
+})(window.vc);

+ 90 - 0
WebService/src/main/resources/components/inspectionPlanPackage/view-inspectionPlan-info/viewInspectionPlanInfo.html

@@ -0,0 +1,90 @@
+<div class="row">
+    <div class="col-lg-12">
+        <div class="ibox ">
+            <div class="ibox-title">
+                <h5>巡检计划信息</h5>
+                <div class="ibox-tools" style="top:10px;">
+                    <button type="button" v-if="viewInspectionPlanInfo.index != 2" class="btn btn-primary btn-sm" style="margin-right:10px;"  v-on:click="_openSelectInspectionPlanInfoModel()">
+                        <i class="glyphicon glyphicon-search"></i> 选择巡检计划</button>
+
+                    <button type="button" v-if="viewInspectionPlanInfo.index != 2" class="btn btn-primary btn-sm" v-on:click="_openAddInspectionPlanInfoModel()">
+                        <i class="glyphicon glyphicon-plus"></i> 添加巡检计划</button>
+                </div>
+            </div>
+            <div class="ibox-content">
+                <div class="row">
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >计划名称:</label>
+                            <label class="">{{viewInspectionPlanInfo.inspectionPlanName}}</label>
+                        </div>
+</div>
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >巡检路线:</label>
+                            <label class="">{{viewInspectionPlanInfo.inspectionRouteId}}</label>
+                        </div>
+</div>
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >执行周期:</label>
+                            <label class="">{{viewInspectionPlanInfo.inspectionPlanPeriod}}</label>
+                        </div>
+</div>
+</div>
+<div class="row">
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >执行人员:</label>
+                            <label class="">{{viewInspectionPlanInfo.staffId}}</label>
+                        </div>
+</div>
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >开始时间:</label>
+                            <label class="">{{viewInspectionPlanInfo.startTime}}</label>
+                        </div>
+</div>
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >结束时间:</label>
+                            <label class="">{{viewInspectionPlanInfo.endTime}}</label>
+                        </div>
+</div>
+</div>
+<div class="row">
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >签到方式:</label>
+                            <label class="">{{viewInspectionPlanInfo.signType}}</label>
+                        </div>
+</div>
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >状态:</label>
+                            <label class="">{{viewInspectionPlanInfo.state}}</label>
+                        </div>
+</div>
+<div class="col-sm-4">
+                        <div class="form-group">
+                            <label class="col-form-label" >备注:</label>
+                            <label class="">{{viewInspectionPlanInfo.remark}}</label>
+                        </div>
+</div>
+</div>
+
+            </div>
+        </div>
+    </div>
+
+    <vc:create name="addInspectionPlan"
+               callBackListener="viewInspectionPlanInfo"
+               callBackFunction="chooseInspectionPlan"
+    ></vc:create>
+
+
+    <vc:create name="chooseInspectionPlan"
+               emitChooseInspectionPlan="viewInspectionPlanInfo"
+               emitLoadData="viewInspectionPlanInfo"
+    ></vc:create>
+</div>

+ 56 - 0
WebService/src/main/resources/components/inspectionPlanPackage/view-inspectionPlan-info/viewInspectionPlanInfo.js

@@ -0,0 +1,56 @@
+/**
+    巡检计划 组件
+**/
+(function(vc){
+
+    vc.extends({
+        propTypes: {
+           callBackListener:vc.propTypes.string, //父组件名称
+           callBackFunction:vc.propTypes.string //父组件监听方法
+        },
+        data:{
+            viewInspectionPlanInfo:{
+                index:0,
+                flowComponent:'viewInspectionPlanInfo',
+                inspectionPlanName:'',
+inspectionRouteId:'',
+inspectionPlanPeriod:'',
+staffId:'',
+startTime:'',
+endTime:'',
+signType:'',
+state:'',
+remark:'',
+
+            }
+        },
+        _initMethod:function(){
+            //根据请求参数查询 查询 业主信息
+            vc.component._loadInspectionPlanInfoData();
+        },
+        _initEvent:function(){
+            vc.on('viewInspectionPlanInfo','chooseInspectionPlan',function(_app){
+                vc.copyObject(_app, vc.component.viewInspectionPlanInfo);
+                vc.emit($props.callBackListener,$props.callBackFunction,vc.component.viewInspectionPlanInfo);
+            });
+
+            vc.on('viewInspectionPlanInfo', 'onIndex', function(_index){
+                vc.component.viewInspectionPlanInfo.index = _index;
+            });
+
+        },
+        methods:{
+
+            _openSelectInspectionPlanInfoModel(){
+                vc.emit('chooseInspectionPlan','openChooseInspectionPlanModel',{});
+            },
+            _openAddInspectionPlanInfoModel(){
+                vc.emit('addInspectionPlan','openAddInspectionPlanModal',{});
+            },
+            _loadInspectionPlanInfoData:function(){
+
+            }
+        }
+    });
+
+})(window.vc);