大理访客登记改
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index efb17aa..af555b9 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -39,4 +39,5 @@
visitor.appid=wx063b94046a147a77
visitor.secret=702d663e7685d0adc0a83673701c8878
+visitor.redirect=https%3a%2f%2fyy.dlsmk.cn%2fdoor
diff --git a/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java b/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java
index e02521b..8cd346f 100644
--- a/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java
+++ b/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java
@@ -73,6 +73,9 @@
session.setAttribute("openmsg",resp);
session.setAttribute("inoutflag",inoutflag);
model.addAttribute("issuccess", issuccess);
+ if(issuccess==1){
+ return "apph5/attention";
+ }
return "apph5/appvisitor";
}
@RequestMapping("/qrcodemanage")
@@ -87,29 +90,22 @@
public String getcode(@RequestParam(value = "inoutflag")String inoutflag,Model model){
String qrcode="";
String appid = visitorConfig.getAppid();
- qrcode="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appid+"&redirect_uri=192.168.1.117%2Fdoor%2Fapp%2Fqrcodevisitor%3finoutflag%3d"+inoutflag+"&response_type=code&scope=snsapi_userinfo&state=&connect_redirect=1#wechat_redirect";
+ String redirect = visitorConfig.getRedirect();
+ qrcode="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appid+"&redirect_uri="+redirect+"%2fapp%2fqrcodevisitor%3finoutflag%3d"+inoutflag+"&response_type=code&scope=snsapi_userinfo&state=&connect_redirect=1#wechat_redirect";
model.addAttribute("qrcode", qrcode);
return "apph5/visitorcode";
}
- @ResponseBody
- @RequestMapping("/getvistor")
- public Map getvistorin(HttpServletRequest request, Model model){
+
+ @RequestMapping("/getvisitor")
+ public String getvistorin(HttpServletRequest request, Model model){
HttpSession session = request.getSession();
WechatResp openmsg = (WechatResp) session.getAttribute("openmsg");
int inoutflag = (int) session.getAttribute("inoutflag");
//WechatResp openmsg = new WechatResp();
//openmsg.setCity("上海");
boolean b = appService.saveOpenmsg(openmsg, inoutflag);
- Map map=new HashMap();
-
- if(b){
- map.put("retcode",0);
- map.put("retmsg","成功");
- }else {
- map.put("retcode",99);
- map.put("retmsg","失败");
- }
- return map;
+ model.addAttribute("issuccess",b );
+ return "apph5/visitorresult";
}
@@ -117,6 +113,7 @@
//Map<String, String> map = payMethodService.getPaymethodConfigMap("wechat_ykt");
appid = visitorConfig.getAppid();
appsecret = visitorConfig.getSecret();
+ redirect=visitorConfig.getRedirect();
}
@RequestMapping("/appMintUIindex")
public String appMintUIindex(@RequestParam(value = "userid")String userId,Model model){
diff --git a/src/main/java/com/supwisdom/dlpay/app/domain/VisitorConfig.java b/src/main/java/com/supwisdom/dlpay/app/domain/VisitorConfig.java
index 46ea6f1..3cc191c 100644
--- a/src/main/java/com/supwisdom/dlpay/app/domain/VisitorConfig.java
+++ b/src/main/java/com/supwisdom/dlpay/app/domain/VisitorConfig.java
@@ -9,6 +9,8 @@
private String appid;
@Value("${visitor.secret}")
private String secret;
+ @Value("${visitor.redirect}")
+ private String redirect;
public String getAppid() {
return appid;
@@ -17,4 +19,8 @@
public String getSecret() {
return secret;
}
+
+ public String getRedirect() {
+ return redirect;
+ }
}
diff --git a/src/main/resources/templates/apph5/appvisitor.html b/src/main/resources/templates/apph5/appvisitor.html
index 94bc82e..3b6d0cb 100644
--- a/src/main/resources/templates/apph5/appvisitor.html
+++ b/src/main/resources/templates/apph5/appvisitor.html
@@ -87,16 +87,7 @@
function app_openDoor(devId) {
layer.confirm('你确定要登记吗?',{icon: 3,title: '请确认',offset: '30%'},function (index) {
- $.ajax({
- type: "get",
- dataType: "json",
- url:encodeURI("[[@{/app/getvistor}]]"),
- success:function (ret) {
- if(ret.retcode==1){
- alert(ret.retmsg);
- }
- }
- })
+ window.location.href="[[@{/app/getvisitor}]]"
});
}
diff --git a/src/main/resources/templates/apph5/attention.html b/src/main/resources/templates/apph5/attention.html
new file mode 100644
index 0000000..d77d369
--- /dev/null
+++ b/src/main/resources/templates/apph5/attention.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
+
+<head>
+ <title>首页</title>
+ <!--<meta name="_csrf_header" th:content="${_csrf.headerName}" />
+ <meta name="_csrf_token" th:content="${_csrf.parameterName}" th:value="${_csrf.token}" />-->
+ <meta charset="utf-8"/>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="/static/libs/layui/css/layui.css" th:href="@{/static/libs/layui/css/layui.css}"/>
+
+ <link rel="stylesheet" href="/static/res/assets/plugins/element-ui/theme-default/index.css"
+ th:href="@{/static/res/assets/plugins/element-ui/theme-default/index.css}"/>
+ <link rel="stylesheet" href="/static/res/assets/css/wxpage.css"
+ th:href="@{/static/res/assets/css/wxpage.css}"/>
+
+ <!--<script type="text/javascript" th:src="@{/static/libs/jquery/jquery-3.2.1.min.js}"></script>-->
+ <script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.min.js}"></script>
+ <!--<script type="text/javascript" th:src="@{/static/libs/layui/layui.js}"></script>-->
+ <script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.form.js}"></script>
+ <script type="text/javascript" th:src="@{/static/res/assets/plugins/layer/layer.js}"></script>
+ <script type="text/javascript" th:src="@{/static/res/assets/js/vue.min.js}"></script>
+ <script type="text/javascript" th:src="@{/static/res/assets/js/qrcode.min.js}"></script>
+ <script type="text/javascript" th:src="@{/static/res/assets/plugins/element-ui/index.js}"></script>
+
+
+</head>
+
+<script type="text/javascript">
+ setInterval(function () {
+ window.location.href="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA5ODEyNTk3Ng==&scene=124#wechat_redirect"
+ }, 60000);
+
+ $(function () {
+ var inoutflag = $("#issuccess").val();
+ if (inoutflag == 1) {
+ $("#title").text("获取信息失败")
+ }
+
+ });
+</script>
+<style>
+ body {
+ background-color: #ffffff;
+ }
+
+</style>
+</html>
+<body class="page" style="text-align: center">
+<div class="topbar">
+ <p id="title" class="el-message-box__title" style="text-align: center"></p>
+ <a href="javascript:window.location.reload();"><span class="refresh"></span></a>
+</div>
+
+<div style="text-align: center;padding: 30px;">
+ <input type="hidden" id="issuccess" th:value="${issuccess}"/>
+</div>
+<p style="text-align: center;margin-top:40px;color:#999;font-size: 14px">请关注公众号后再进行登记,稍后将自动跳转至公众号</p>
+<a href="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA5ODEyNTk3Ng==&scene=124#wechat_redirect" class="weui-btn weui-btn_primary btn-bg"
+ style="align-content: center;margin: 20px">手动跳转至公众号</a>
+
+</body>
+</style>
\ No newline at end of file
diff --git a/src/main/resources/templates/apph5/visitorresult.html b/src/main/resources/templates/apph5/visitorresult.html
index 14447fc..221e492 100644
--- a/src/main/resources/templates/apph5/visitorresult.html
+++ b/src/main/resources/templates/apph5/visitorresult.html
@@ -31,8 +31,8 @@
<script>
$(function () {
-
- if(inoutflag==1){
+ var flag=$("#issuccess").val();
+ if(flag){
$("#msg").html("<p class='mintui-success'>登记成功</p>")
}else {
$("#msg").html("<p class='mintui-success'>登记失败</p>")
@@ -49,10 +49,10 @@
},
methods: {
openDoor:function (devId) {
- mint_openDoor(devId);
+ //mint_openDoor(devId);
},
loadListData:function (devName) {
- mint_searchByDevName(devName);
+ //mint_searchByDevName(devName);
},
},
@@ -60,103 +60,24 @@
devName:function(newvs,oldvs){
if(!newvs){
- mint_searchByDevName('');
+ //mint_searchByDevName('');
}
}
},
- created:function(){
+ created:function() {
var _self = this;
- var userId='[[${userId}]]';
+ var userId = '[[${userId}]]';
_self.userId = userId;
- $.ajax({
- type: "get",
- dataType: "json",
- url: "[[@{/app/loadAppDevList?userId=}]]"+userId,
- success: function (ret) {
- var ut = ret.devList;
- if (ut == null){
- confirm("不具有开门权限");
- return;
- }
- var devs = [];
- var names = [];
- var ids = [];
- for (var i = 0; i < ut.length; i++) {
- devs.push({
- label:ut[i].devname,
- value:ut[i].deviceid,
- building:ut[i].buildingname
- });
- names.push(ut[i].devname);
- ids.push(ut[i].deviceid);
- }
- _self.devList = devs;
-
-
- }
- })
}
-
-
})
- function mint_openDoor(devId) {
- var userId = mint_vue.userId;
- console.log(userId);
- layer.confirm('你确定要开启此门吗?',{icon: 3,title: '请确认',offset: '30%'},function (index) {
- $.ajax({
- type: "get",
- dataType: "json",
- url:encodeURI("[[@{/app/openDoorById?devId=}]]" +devId+"&userId="+userId),
- success:function (ret) {
- if (ret.message == undefined){
- layer.msg('用户认证已过期,请重新登录',{icon: 2,time:1000});
- window.location = "[[@{/login}]]";
- return;
- }
- if (ret.message != "") {
- layer.msg(ret.message, {icon: 2, time: 2000});
- } else {
- layer.msg('开门成功', {icon: 1, time: 2000});
- }
- }
- })
- });
- }
- function mint_searchByDevName(devName) {
- var userId = mint_vue.userId;
- $.ajax({
- type: "get",
- dataType: "json",
- url: "[[@{/app/searchByDevName?userId=}]]"+userId+"&devName="+devName,
- success: function (ret) {
- var ut = ret.devNameList;
- if (ut == null) {
- confirm("没有对应设备!");
- return;
- }
- var devs = [];
- var names = [];
- var ids = [];
- for (var i = 0; i < ut.length; i++) {
- devs.push({
- label: ut[i].devname,
- value: ut[i].deviceid,
- building: ut[i].buildingname
- });
- names.push(ut[i].devname);
- ids.push(ut[i].deviceid);
- }
- mint_vue.devList = devs;
- }
- })
- }
+
</script>
<style>
.mint-search{
diff --git a/src/main/resources/templates/system/operator.html b/src/main/resources/templates/system/operator.html
index 157dca1..9e70c0d 100644
--- a/src/main/resources/templates/system/operator.html
+++ b/src/main/resources/templates/system/operator.html
@@ -8,7 +8,8 @@
</div>
<div class="layui-card-body">
<div id="operatorapp">
- <el-form :inline="true" ref="operatorform" :model="operatorform" data-parsley-validate class="form-horizontal form-label-left">
+ <el-form :inline="true" ref="operatorform" :model="operatorform" data-parsley-validate
+ class="form-horizontal form-label-left">
<div class="col-md-4">
<div class="form-group">
@@ -130,11 +131,20 @@
label="操作"
width="179">
<template scope="scope">
- <button type="button" class="btn btn-info btn-xs" title="编辑操作员" @click="editOperator(scope.row.operid)" v-if="scope.row.opertype!='系统管理员'">编辑</button>
- <button type="button" class="btn btn-success btn-xs" title="重置密码" @click="resetPwd(scope.row.operid)" v-if="scope.row.opertype!='系统管理员'" >重置</button>
- <button type="button" class="btn btn-danger btn-xs" title="删除操作员" @click="delOperator(scope.row.operid)" v-if="scope.row.opertype!='系统管理员' && scope.row.opertype!='超级管理员' && scope.row.status=='有效'">删除</button>
+ <button type="button" class="btn btn-info btn-xs" title="编辑操作员"
+ @click="editOperator(scope.row.operid)" v-if="scope.row.opertype!='系统管理员'">编辑
+ </button>
+ <button type="button" class="btn btn-success btn-xs" title="重置密码"
+ @click="resetPwd(scope.row.operid)" v-if="scope.row.opertype!='系统管理员'">重置
+ </button>
+ <button type="button" class="btn btn-danger btn-xs" title="删除操作员"
+ @click="delOperator(scope.row.operid)"
+ v-if="scope.row.opertype!='系统管理员' && scope.row.opertype!='超级管理员' && scope.row.status=='有效'">
+ 删除
+ </button>
<button type="button" class="btn btn-info btn-xs" title="分配楼栋"
- @click="allotBuilding(scope.row.operid,scope.row.opername)" v-if="scope.row.opertype=='楼栋管理员'">分配楼栋
+ @click="allotBuilding(scope.row.operid,scope.row.opername)"
+ v-if="scope.row.opertype=='楼栋管理员'">分配楼栋
</button>
</template>
</el-table-column>
@@ -151,13 +161,14 @@
</el-pagination>
</template>
- <el-dialog :title="operatortitile" :visible.sync="dialogFormVisible" :modal-append-to-body='false' @close="closeDialog('operatorDiaForm')">
- <el-form ref="operatorDiaForm" :model="operatorDiaForm" :rules="rules" label-width="36%" >
+ <el-dialog :title="operatortitile" :visible.sync="dialogFormVisible" :modal-append-to-body='false'
+ @close="closeDialog('operatorDiaForm')">
+ <el-form ref="operatorDiaForm" :model="operatorDiaForm" :rules="rules" label-width="36%">
<el-form-item label="操作员编号:" prop="operid">
<div class="el-col el-col-15">
<div class="el-input" style="width: 187px;">
<el-input v-model="operatorDiaForm.operid">
- <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
</div>
</div>
@@ -167,7 +178,7 @@
<div class="el-col el-col-18">
<div class="el-input" style="width: 187px;">
<el-input v-model="operatorDiaForm.opercode">
- <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
</div>
</div>
@@ -177,7 +188,7 @@
<div class="el-col el-col-18">
<div class="el-input" style="width: 187px;">
<el-input v-model="operatorDiaForm.opername">
- <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
</div>
</div>
@@ -228,30 +239,31 @@
:label="regionid.label"
:value="regionid.value">
</el-option>
- </el-select> (注:区域管理员类别必选)
+ </el-select>
+  (注:区域管理员类别必选)
</el-col>
</el-form-item>
<el-form-item label="联系方式:" prop="mobile">
<el-col :span="18">
- <el-input v-model.number="operatorDiaForm.mobile" style="width: 187px;" maxlength="11">
- <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ <el-input v-model.number="operatorDiaForm.mobile" style="width: 187px;" maxlength="11">
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
</el-col>
</el-form-item>
<el-form-item label="邮箱:" prop="email">
<el-col :span="18">
- <el-input v-model="operatorDiaForm.email" style="width: 187px;" maxlength="60">
- <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ <el-input v-model="operatorDiaForm.email" style="width: 187px;" maxlength="60">
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
</el-col>
</el-form-item>
<el-form-item label="姓名:" prop="realname">
<el-col :span="18">
- <el-input v-model.number="operatorDiaForm.realname" style="width: 187px;" maxlength="16">
- <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ <el-input v-model.number="operatorDiaForm.realname" style="width: 187px;" maxlength="16">
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
</el-col>
</el-form-item>
@@ -295,10 +307,11 @@
<!--分配楼栋-->
- <el-dialog :title="buildingTitle" :visible.sync="dlgAllotBuildingVisible" size="mini"top="80px" :modal-append-to-body='false' @close="closeOperBuildingDialog('operBuildingDiaform')">
- <el-form ref="operBuildingDiaform" :model="operBuildingDiaform" :rules="rules" label-width="100px" >
+ <el-dialog :title="buildingTitle" :visible.sync="dlgAllotBuildingVisible" size="mini" top="80px"
+ :modal-append-to-body='false' @close="closeOperBuildingDialog('operBuildingDiaform')">
+ <el-form ref="operBuildingDiaform" :model="operBuildingDiaform" :rules="rules" label-width="100px">
<el-form-item label="操作员:" prop="operid">
- <el-col :span="24">
+ <el-col :span="24">
<el-select v-model="operBuildingDiaform.operid">
<el-option
v-for="operid in operlist"
@@ -338,13 +351,13 @@
<script>
var oper_validateOpercode = function (rule, value, callback) {
//console.log(value)
- if (!value) {
- return callback(new Error('请输入登录名'));
- }
- if (!(/^[0-9a-zA-Z]*$/.test(value))) {
- callback(new Error('账号非法,请填入字母、数字或它们的组合'));
- }
- callback();
+ if (!value) {
+ return callback(new Error('请输入登录名'));
+ }
+ if (!(/^[0-9a-zA-Z]*$/.test(value))) {
+ callback(new Error('账号非法,请填入字母、数字或它们的组合'));
+ }
+ callback();
};
var oper_validateMobile = function (rule, value, callback) {
if (null != value && value.length > 0 && !(/^1\d{10}$/.test(value))) {
@@ -360,65 +373,65 @@
};
var oper_vue = new Vue({
- el:'#operatorapp',
- data:{
- tableData:[],
+ el: '#operatorapp',
+ data: {
+ tableData: [],
currPage: 1,
- pageSize:10,
- totSize:0,
+ pageSize: 10,
+ totSize: 0,
currentRow: null,
- regionDis:true,
- operatorform:{
- operid:'',
- realname:''
+ regionDis: true,
+ operatorform: {
+ operid: '',
+ realname: ''
},
- roles:[],
+ roles: [],
dialogFormVisible: false,
- regions:[],
- opertypes:[],
- companys:[],
- depts:[],
- operatorDiaForm:{
- operid:'',
- opercode:'',
- opername:'',
- opertype:'',
- roleid:'',
- regionid:'',
- mobile:'',
- email:'',
- realname:'',
- companyId:'',
- deptcode:''
+ regions: [],
+ opertypes: [],
+ companys: [],
+ depts: [],
+ operatorDiaForm: {
+ operid: '',
+ opercode: '',
+ opername: '',
+ opertype: '',
+ roleid: '',
+ regionid: '',
+ mobile: '',
+ email: '',
+ realname: '',
+ companyId: '',
+ deptcode: ''
},
- buildingTitle:'',
- dlgAllotBuildingVisible:false,
- allotbuilding:[],
- buildingList:[],
- selectBuildingList:[],
+ buildingTitle: '',
+ dlgAllotBuildingVisible: false,
+ allotbuilding: [],
+ buildingList: [],
+ selectBuildingList: [],
listStyle: {
width: '318px',
height: '400px'
},
- operBuildingDiaform:{
- operid:'',
- buildingids:[]
+ operBuildingDiaform: {
+ operid: '',
+ buildingids: []
},
- operlist:[],
+ operlist: [],
- rules:{
- operid:[
- {required:true,message:'请输入操作员编号',trigger:'blur'},
- { min: 1, max: 20, message: '长度在 1 到 32 个字符', trigger: 'blur' }
+ rules: {
+ operid: [
+ {required: true, message: '请输入操作员编号', trigger: 'blur'},
+ {min: 1, max: 20, message: '长度在 1 到 32 个字符', trigger: 'blur'}
],
- opercode:[
- {required:true,message:'请输入登陆名',trigger:'blur'},
- { min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' },
+ opercode: [
+ {required: true, message: '请输入登陆名', trigger: 'blur'},
+ {min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur'},
{validator: oper_validateOpercode, trigger: 'blur'}
],
- opername:[
- {required:true,message:'请输入操作员名称',trigger:'blur'},
- { min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
+ opername: [
+ {required: true, message: '请输入操作员名称', trigger: 'blur'},
+ {min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur'}
],
opertype: [
{required: true, message: '请选择操作员类别', trigger: 'blur'}
@@ -426,10 +439,10 @@
roleid: [
{required: true, message: '请选择角色', trigger: 'blur'}
],
- mobile:[
+ mobile: [
{validator: oper_validateMobile, trigger: 'blur'}
],
- email:[
+ email: [
{validator: oper_validateEmail, trigger: 'blur'}
],
companyId: [
@@ -437,42 +450,42 @@
],
deptcode: [
{required: true, message: '请选择所属部门', trigger: 'blur'}
- ]
+ ]
},
- operatortitile:'添加操作员(默认密码为123456)',
+ operatortitile: '添加操作员(默认密码为123456)',
},
- methods:{
- handleSizeChange:function(val) {
- this.pageSize=val;
- oper_commonQuery(this,this.operatorform.operid,this.operatorform.realname,this.currPage,val);
+ methods: {
+ handleSizeChange: function (val) {
+ this.pageSize = val;
+ oper_commonQuery(this, this.operatorform.operid, this.operatorform.realname, this.currPage, val);
//console.log('每页条'+val);
},
- currPageChange:function(val) {
- this.currPage=val;
- oper_commonQuery(this,this.operatorform.operid,this.operatorform.realname,this.currPage,this.pageSize);
+ currPageChange: function (val) {
+ this.currPage = val;
+ oper_commonQuery(this, this.operatorform.operid, this.operatorform.realname, this.currPage, this.pageSize);
//console.log('当前页:'+val);
},
- currRowChange:function(val) {
+ currRowChange: function (val) {
this.currentRow = val;
},
- query:function(){
- this.pagesize=10;
- this.currPage=1;
- oper_commonQuery(this,this.operatorform.operid,this.operatorform.realname,this.currPage,this.pageSize);
+ query: function () {
+ this.pagesize = 10;
+ this.currPage = 1;
+ oper_commonQuery(this, this.operatorform.operid, this.operatorform.realname, this.currPage, this.pageSize);
},
- addOperator:function () {
- oper_getFillData(this,"-1");
+ addOperator: function () {
+ oper_getFillData(this, "-1");
this.dialogFormVisible = true;
- this.operatortitile="添加操作员(默认密码为123456)"
+ this.operatortitile = "添加操作员(默认密码为123456)"
},
- delOperator:function(operid){
+ delOperator: function (operid) {
oper_deletedata(operid);
},
- editOperator:function(operid){
- oper_getFillData(this,operid);
+ editOperator: function (operid) {
+ oper_getFillData(this, operid);
this.dialogFormVisible = true;
- this.operatortitile="修改操作员(默认密码为123456)"
+ this.operatortitile = "修改操作员(默认密码为123456)"
},
resetForm: function (formName) {
this.$refs[formName].resetFields();
@@ -482,60 +495,60 @@
this.$refs[formName].resetFields();
this.dialogFormVisible = false;
},
- saveOperator:function (formName) {
- var _that=this;
+ saveOperator: function (formName) {
+ var _that = this;
var vali = false;
this.$refs[formName].validate(
- function(valid){
- if (valid){
+ function (valid) {
+ if (valid) {
vali = true;
- }else{
- vali=false;
+ } else {
+ vali = false;
}
});
- if (vali==true){
- oper_saveData(_that,_that.operatorDiaForm,formName);
+ if (vali == true) {
+ oper_saveData(_that, _that.operatorDiaForm, formName);
}
},
opertypeChange: function (value) {
if (value == 'H') {
this.regionDis = false;
- } else {
+ } else {
this.regionDis = true;
}
},
- resetPwd:function (operid) {
+ resetPwd: function (operid) {
oper_resetpwd(operid);
},
- allotBuilding:function (operid,opername) {
- this.buildingTitle="正在为["+opername+"]分配设备"
+ allotBuilding: function (operid, opername) {
+ this.buildingTitle = "正在为[" + opername + "]分配设备"
this.operlist.push({
value: operid,
label: opername
})
this.operBuildingDiaform.operid = operid
- oper_getBuildingData(this,operid);
- this.dlgAllotBuildingVisible=true;
+ oper_getBuildingData(this, operid);
+ this.dlgAllotBuildingVisible = true;
},
- buildingChange:function (newTargetKeys) {
- this.selectBuildingList=newTargetKeys;
+ buildingChange: function (newTargetKeys) {
+ this.selectBuildingList = newTargetKeys;
},
- cancelBuildingOper:function () {
- this.allotbuilding=[];
- this.buildingList=[];
- this.operlist=[];
- this.dlgAllotBuildingVisible=false;
+ cancelBuildingOper: function () {
+ this.allotbuilding = [];
+ this.buildingList = [];
+ this.operlist = [];
+ this.dlgAllotBuildingVisible = false;
},
- closeOperBuildingDialog:function () {
- this.allotbuilding=[];
- this.buildingList=[];
- this.operlist=[];
- this.dlgAllotBuildingVisible=false;
+ closeOperBuildingDialog: function () {
+ this.allotbuilding = [];
+ this.buildingList = [];
+ this.operlist = [];
+ this.dlgAllotBuildingVisible = false;
},
- saveBuildingOper:function () {
+ saveBuildingOper: function () {
var _that = this;
- var token=$("meta[name='_csrf_token']").attr("value");
+ var token = $("meta[name='_csrf_token']").attr("value");
var operid = this.operBuildingDiaform.operid;
$.ajax({
type: "POST",
@@ -545,45 +558,45 @@
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
- 'X-CSRF-TOKEN':token,
+ 'X-CSRF-TOKEN': token,
},
data: JSON.stringify(_that.allotbuilding),
success: function (data) {
- if (data.okFlag==1){
- _that.dlgAllotBuildingVisible=false;
- layer.msg(data.result, {icon: 1,time:2000});
- _that.selectBuildingList=[];
- }else{
- layer.msg(data.result, {icon: 2,time:2000});
+ if (data.okFlag == 1) {
+ _that.dlgAllotBuildingVisible = false;
+ layer.msg(data.result, {icon: 1, time: 2000});
+ _that.selectBuildingList = [];
+ } else {
+ layer.msg(data.result, {icon: 2, time: 2000});
}
}
});
}
},
- created:function(){
- var _self=this;
+ created: function () {
+ var _self = this;
$.ajax({
- type:"get",
- dataType:"json",
- url:encodeURI("[[@{/operator/loadOperatorList}]]"),
- success:function(ret){
+ type: "get",
+ dataType: "json",
+ url: encodeURI("[[@{/operator/loadOperatorList}]]"),
+ success: function (ret) {
//console.log(ret);
- _self.totSize=ret.PageResult.totalCount;
- _self.tableData=ret.PageResult.list;
+ _self.totSize = ret.PageResult.totalCount;
+ _self.tableData = ret.PageResult.list;
}
})
}
})
- function oper_refreshThisTable(){
- oper_commonQuery(oper_vue,oper_vue.operatorform.operid,oper_vue.operatorform.realname,oper_vue.currPage,oper_vue.pageSize);
+ function oper_refreshThisTable() {
+ oper_commonQuery(oper_vue, oper_vue.operatorform.operid, oper_vue.operatorform.realname, oper_vue.currPage, oper_vue.pageSize);
};
- function oper_commonQuery(_self,operid,realname,pageno,pagesize){
+ function oper_commonQuery(_self, operid, realname, pageno, pagesize) {
$.ajax({
type: "get",
dataType: "json",
- url: encodeURI("[[@{/operator/loadOperatorList?operid=}]]"+operid+"&realname=" + realname + "&pageNo=" + pageno + "&pageSize=" + pagesize),
+ url: encodeURI("[[@{/operator/loadOperatorList?operid=}]]" + operid + "&realname=" + realname + "&pageNo=" + pageno + "&pageSize=" + pagesize),
success: function (ret) {
_self.totSize = ret.PageResult.totalCount;
_self.tableData = ret.PageResult.list;
@@ -594,16 +607,16 @@
})
}
- function oper_deletedata(operid){
- layer.confirm('是否删除该操作员', {icon: 3, title:'请确认',offset:'30%'},function(index){
+ function oper_deletedata(operid) {
+ layer.confirm('是否删除该操作员', {icon: 3, title: '请确认', offset: '30%'}, function (index) {
$.ajax({
- type:"get",
- dataType:"json",
- url:"[[@{/operator/deleteOperator?operid=}]]"+operid,
- success:function(ret){
- if(ret.message == undefined){
- layer.msg('用户认证已过期,请重新登录', {icon:2,time:1000});
- window.location="login";
+ type: "get",
+ dataType: "json",
+ url: "[[@{/operator/deleteOperator?operid=}]]" + operid,
+ success: function (ret) {
+ if (ret.message == undefined) {
+ layer.msg('用户认证已过期,请重新登录', {icon: 2, time: 1000});
+ window.location = "login";
return;
}
if (ret.message != "") {
@@ -653,20 +666,20 @@
var rolelist = [];
var roles = ret.roles;
- for (var j=0;j<roles.length;j++){
+ for (var j = 0; j < roles.length; j++) {
rolelist.push({
- value:roles[j]["roleId"],
- label:roles[j]["roleName"]
+ value: roles[j]["roleId"],
+ label: roles[j]["roleName"]
});
}
_self.roles = rolelist;
var regionlist = [];
var regions = ret.regions;
- for (var z=0;z<regions.length;z++){
+ for (var z = 0; z < regions.length; z++) {
regionlist.push({
- value:regions[z]["regionid"],
- label:regions[z]["regionname"]
+ value: regions[z]["regionid"],
+ label: regions[z]["regionname"]
});
}
_self.regions = regionlist;
@@ -674,24 +687,24 @@
var companylist = [];
var companys = ret.companys;
- for (var k=0;k<companys.length;k++){
+ for (var k = 0; k < companys.length; k++) {
companylist.push({
- value:companys[k]["companyId"],
- label:companys[k]["companyName"]
+ value: companys[k]["companyId"],
+ label: companys[k]["companyName"]
});
}
_self.companys = companylist;
- var deptlist=[];
+ var deptlist = [];
var depts = ret.depts;
deptlist.push({
- value:"0",
- label:"全部"
+ value: "0",
+ label: "全部"
});
- for (var k=0;k<depts.length;k++){
+ for (var k = 0; k < depts.length; k++) {
deptlist.push({
- value:depts[k]["deptcode"],
- label:depts[k]["deptname"]
+ value: depts[k]["deptcode"],
+ label: depts[k]["deptname"]
});
}
@@ -702,20 +715,19 @@
}
-
- function oper_saveData(_that,formdata,formName){
- if (formdata.opertype=='H' && formdata.regionid==''){
+ function oper_saveData(_that, formdata, formName) {
+ if (formdata.opertype == 'H' && formdata.regionid == '') {
layer.msg('区域管理员请选择管辖区域!', {icon: 2, time: 1000});
return;
}
var url = null;
- if(oper_vue.operatortitile == "添加操作员(默认密码为123456)"){
+ if (oper_vue.operatortitile == "添加操作员(默认密码为123456)") {
url = encodeURI("[[@{/operator/addOperator}]]");
}
- if(oper_vue.operatortitile == "修改操作员(默认密码为123456)"){
+ if (oper_vue.operatortitile == "修改操作员(默认密码为123456)") {
url = encodeURI("[[@{/operator/updateOperator}]]")
}
- var token=$("meta[name='_csrf_token']").attr("value");
+ var token = $("meta[name='_csrf_token']").attr("value");
$.ajax({
type: "POST",
url: url,
@@ -724,14 +736,14 @@
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
- 'X-CSRF-TOKEN':token,
+ 'X-CSRF-TOKEN': token,
},
data: JSON.stringify(formdata),
success: function (data) {
if (data.errStr != "") {
- layer.msg(data.errStr, {icon: 2,time:1000});
+ layer.msg(data.errStr, {icon: 2, time: 1000});
} else {
- layer.msg('保存信息成功!', {icon: 1,time:1000});
+ layer.msg('保存信息成功!', {icon: 1, time: 1000});
oper_refreshThisTable();
_that.$refs[formName].resetFields();
_that.dialogFormVisible = false;
@@ -741,23 +753,23 @@
}
- function oper_resetpwd(operid){
- layer.confirm('是否重置该操作员密码?', {icon: 3, title:'请确认'}, function(index){
+ function oper_resetpwd(operid) {
+ layer.confirm('是否重置该操作员密码?', {icon: 3, title: '请确认'}, function (index) {
$.ajax({
- type:"get",
- dataType:"json",
- url:"[[@{/operator/resetpwd?operid=}]]"+operid,
- success:function(ret){
+ type: "get",
+ dataType: "json",
+ url: "[[@{/operator/resetpwd?operid=}]]" + operid,
+ success: function (ret) {
//console.log(ret);
- if(ret.code == undefined){
- layer.msg('用户认证已过期,请重新登录', {icon:2,time:1000});
- window.location="login";
+ if (ret.code == undefined) {
+ layer.msg('用户认证已过期,请重新登录', {icon: 2, time: 1000});
+ window.location = "login";
return;
}
if (ret.code != 200) {
- layer.msg(ret.message, {icon:2,time:1000});
- }else{
- layer.msg("操作成功,密码重置为123456", {icon: 1,time:1000});
+ layer.msg(ret.message, {icon: 2, time: 1000});
+ } else {
+ layer.msg("操作成功,密码重置为123456", {icon: 1, time: 1000});
}
}
@@ -765,34 +777,34 @@
});
};
- function oper_getBuildingData(_that,operid) {
+ function oper_getBuildingData(_that, operid) {
$.ajax({
- type:"get",
- dataType:"json",
- url:encodeURI("[[@{/system/getBuildingList?operid=}]]"+operid),
- success:function(ret){
- if (ret.flag==1){
- layer.msg(ret.result, {icon: 2,time:1000});
+ type: "get",
+ dataType: "json",
+ url: encodeURI("[[@{/system/getBuildingList?operid=}]]" + operid),
+ success: function (ret) {
+ if (ret.flag == 1) {
+ layer.msg(ret.result, {icon: 2, time: 1000});
return;
- }else{
+ } else {
var srcdata = [];
- var trgdata=[];
+ var trgdata = [];
var buildinglist = ret.buildinglist;
for (var i = 0; i < buildinglist.length; i++) {
srcdata.push({
- key: buildinglist[i].regionid+'#'+buildinglist[i].buildingid,
- label: buildinglist[i].regionname+'->'+buildinglist[i].buildingname,
+ key: buildinglist[i].regionid + '#' + buildinglist[i].buildingid,
+ label: buildinglist[i].regionname + '->' + buildinglist[i].buildingname,
});
}
var buildinglisted = ret.buildinglisted;
for (var i = 0; i < buildinglisted.length; i++) {
- trgdata.push(buildinglisted[i].regionid+'#'+buildinglisted[i].buildingid);
+ trgdata.push(buildinglisted[i].regionid + '#' + buildinglisted[i].buildingid);
}
- _that.buildingList=srcdata;
- _that.allotbuilding=trgdata;
+ _that.buildingList = srcdata;
+ _that.allotbuilding = trgdata;
}
}
})
@@ -800,22 +812,23 @@
}
-
</script>
<style lang="scss">
- .el-checkbox-group.el-transfer-panel__list{
- height:277px;
+ .el-checkbox-group.el-transfer-panel__list {
+ height: 277px;
}
.el-dialog {
width: 900px;
}
- .el-transfer-panel{
- width:347px;
+
+ .el-transfer-panel {
+ width: 347px;
}
- .el-transfer-panel__body{
- height:360px;
- width:345px;
+
+ .el-transfer-panel__body {
+ height: 360px;
+ width: 345px;
}
</style>
\ No newline at end of file
diff --git a/src/main/resources/templates/visitormanage/addVisitorCheck.html b/src/main/resources/templates/visitormanage/addVisitorCheck.html
index bd0d532..6155f25 100644
--- a/src/main/resources/templates/visitormanage/addVisitorCheck.html
+++ b/src/main/resources/templates/visitormanage/addVisitorCheck.html
@@ -8,23 +8,23 @@
</div>
<div class="layui-card-body">
<div id="searchDoorlist">
- <el-form :inline="true" ref="searchDoorForm" :model="searchDoorForm" label-width="110px"
+ <el-form :inline="true" ref="searchDoorForm" :model="searchDoorForm" :rules="rules" label-width="110px"
data-parsley-validate class="form-horizontal form-label-left el-form-item el-form-item--mini">
<el-row :span="18">
- <el-col :span="18">
- <el-form-item label="姓名">
+ <el-col :span="18">
+ <el-form-item label="姓名">
<el-input v-model="searchDoorForm.visitorname" id="visitorname" placeholder="访客姓名">
<i class="el-icon-edit el-input__icon" slot="icon"></i>
- </el-input>
- </el-form-item>
- </el-col>
+ </el-input>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :span="18">
<el-col :span="18">
<el-form-item label="性别">
- <el-select v-model="searchDoorForm.sex" id="sex" placeholder="请选择" >
+ <el-select v-model="searchDoorForm.sex" id="sex" placeholder="请选择">
<el-option
v-for="status in sexlist"
:key="status.value"
@@ -37,38 +37,38 @@
</el-row>
<el-row :span="18">
- <el-col :span="18">
- <el-form-item label="身份证号">
+ <el-col :span="18">
+ <el-form-item label="身份证号">
<el-input v-model="searchDoorForm.idno" id="idno" placeholder="访客身份证号">
<i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
- </el-form-item>
- </el-col>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :span="18">
- <el-col :span="18">
- <el-form-item label="联系方式">
+ <el-col :span="18">
+ <el-form-item label="联系方式">
<el-input v-model="searchDoorForm.phone" id="phone" placeholder="访客联系方式">
<i class="el-icon-edit el-input__icon" slot="icon"></i>
</el-input>
- </el-form-item>
- </el-col>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :span="18">
<el-col :span="18">
<el-form-item label="时间">
<el-date-picker type="date" v-model="searchDoorForm.time" id="time"
- :picker-options="pickerOptions0" :editable="false" placeholder="访问时间" value-format="yyyyMMdd"
+ :picker-options="pickerOptions0" :editable="false" placeholder="访问时间"
+ value-format="yyyyMMdd"
style="width:100%;"></el-date-picker>
</el-form-item>
</el-col>
-
</el-row>
<el-row :span="18">
<el-col :span="18">
@@ -84,7 +84,8 @@
<el-row :span="18">
<el-col :span="18">
<el-form-item label="受访者部门">
- <el-select v-model="searchDoorForm.deptcode" id="deptcode" placeholder="请选择" @change="deptchange(searchDoorForm.deptcode)">
+ <el-select v-model="searchDoorForm.deptcode" id="deptcode" placeholder="请选择"
+ @change="deptchange(searchDoorForm.deptcode)">
<el-option
v-for="status in deptlist"
:key="status.value"
@@ -121,7 +122,8 @@
<el-row>
<el-col :span="8" :offset="16">
- <button type="button" style="margin-left: 48px" class="btn btn-info" @click="savevisitor(searchDoorForm)"
+ <button type="button" style="margin-left: 48px" class="btn btn-info"
+ @click="savevisitor(searchDoorForm)"
id="searchDoorlist_qrybtn">
保存
</button>
@@ -197,11 +199,40 @@
}
}
}
+ ,
+ rules: {
+ visitorname: [
+ {required: true, message: '请输入访客姓名', trigger: 'blur'},
+ {min: 1, max: 20, message: '长度在 1 到 32 个字符', trigger: 'blur'}
+ ],
+ idno: [
+ {required: true, message: '请输入身份证号', trigger: 'blur'},
+ {min: 15, max: 18, message: '长度在 15 到 18 个字符', trigger: 'blur'},
+ ],
+ time: [
+ {required: true, message: '请输入时间', trigger: 'blur'},
+ ],
+ sex: [
+ {required: true, message: '请选择性别', trigger: 'blur'}
+ ],
+
+ phone: [
+ {validator: oper_validateMobile, trigger: 'blur'}
+ ],
+
+ company: [
+ {required: true, message: '请填写访客单位', trigger: 'blur'}
+ ],
+ deptcode: [
+ {required: true, message: '请选择所属部门', trigger: 'blur'}
+ ]
+
+ },
},
methods: {
savevisitor: function (formName) {
- searchDoorlist_commonQuery(this, this.searchDoorForm,formName);
+ searchDoorlist_commonQuery(this, this.searchDoorForm, formName);
},
deptchange: function (deptcode) {
@@ -283,6 +314,12 @@
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
+ var oper_validateMobile = function (rule, value, callback) {
+ if (null != value && value.length > 0 && !(/^1\d{10}$/.test(value))) {
+ callback(new Error('请输出正确的手机号'));
+ }
+ callback();
+ };
function searchDoorlist_getTreeData(regionlst) {
var f = [];
@@ -372,9 +409,34 @@
}
- function searchDoorlist_commonQuery(_self, searchDoor,formName) {
+ function searchDoorlist_commonQuery(_self, searchDoor, formName) {
var url = "[[@{/visitor/addvisitorcheck?}]]";
var token = $("meta[name='_csrf_token']").attr("value");
+ if(searchDoor.visitorname==null||searchDoor.visitorname.length==0){
+ alert("请输入访客姓名");
+ return;
+ }if(searchDoor.idno==null||searchDoor.idno.length<=18){
+ alert("请输入访客身份证号");
+ return;
+ }if(searchDoor.phone==null||searchDoor.phone<=11){
+ alert("请输入访客联系方式");
+ return;
+ }if(searchDoor.sex==null||searchDoor.sex==0){
+ alert("请选择性别");
+ return;
+ }if(searchDoor.time==null||searchDoor.time==0){
+ alert("请输入时间");
+ return;
+ }if(searchDoor.company==null||searchDoor.company==0){
+ alert("请输入访客单位");
+ return;
+ }if(searchDoor.deptcode==null||searchDoor.deptcode==0){
+ alert("请选择受访者部门");
+ return;
+ }if(searchDoor.custid==null||searchDoor.custid==0){
+ alert("请选择受访者姓名");
+ return;
+ }
$.ajax({
type: "POST",
url: url,
@@ -383,14 +445,14 @@
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
- 'X-CSRF-TOKEN':token,
+ 'X-CSRF-TOKEN': token,
},
data: JSON.stringify(searchDoor),
success: function (data) {
if (data.errStr != "") {
- layer.msg(data.errStr, {icon: 2,time:1000});
+ layer.msg(data.errStr, {icon: 2, time: 1000});
} else {
- layer.msg('保存信息成功!', {icon: 1,time:1000});
+ layer.msg('保存信息成功!', {icon: 1, time: 1000});
_self.$refs[formName].resetFields();
_self.dialogFormVisible = false;
_self.regionidDis = false;