大理访客登记微信扫码及管理端界面以及身份证扫码登记界面
diff --git a/build.gradle b/build.gradle
index 71be02a..50b7563 100644
--- a/build.gradle
+++ b/build.gradle
@@ -65,6 +65,7 @@
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
+ compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.12'
implementation 'org.postgresql:postgresql:42.2.5'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/controller/VisitorManageController.java b/src/main/java/com/supwisdom/dlpay/visitormanage/controller/VisitorManageController.java
index 0d243a5..2ed3328 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/controller/VisitorManageController.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/controller/VisitorManageController.java
@@ -11,15 +11,18 @@
import com.supwisdom.dlpay.framework.domain.TOperator;
import com.supwisdom.dlpay.framework.util.DateUtil;
import com.supwisdom.dlpay.framework.util.PageResult;
+import com.supwisdom.dlpay.framework.util.StringUtil;
import com.supwisdom.dlpay.framework.util.WebConstant;
import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
+import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
import com.supwisdom.dlpay.paysdk.proxy.UserProxy;
+import com.supwisdom.dlpay.system.bean.RegionBean;
import com.supwisdom.dlpay.system.domain.TCustType;
import com.supwisdom.dlpay.system.domain.TDept;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.service.SystemService;
-import com.supwisdom.dlpay.visitormanage.domain.EVisitorDtl;
-import com.supwisdom.dlpay.visitormanage.domain.VisitorSearchBean;
-import com.supwisdom.dlpay.visitormanage.domain.VisitorShowBean;
+import com.supwisdom.dlpay.util.RedisUtil;
+import com.supwisdom.dlpay.visitormanage.domain.*;
import com.supwisdom.dlpay.visitormanage.service.VisitormanageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@@ -28,7 +31,9 @@
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
@Controller
@RequestMapping("/visitor")
@@ -41,6 +46,8 @@
private SystemService systemService;
@Autowired
private VisitormanageService visitormanageService;
+ @Autowired
+ private WebInterfaceService webInterfaceService;
@RequestMapping("/index")
public String indexView(ModelMap model) {
@@ -54,6 +61,18 @@
return "visitormanage/customer/index";
}
+ @RequestMapping("/checkin")
+ public String visitorcheck(ModelMap model) {
+ List<TCustType> lst = systemService.findAllCusttype();
+ List<TDept> dept=systemService.findAllDept();
+ Gson gson = new Gson();
+ String deptString = gson.toJson(dept);
+ model.put("deptlist", dept);
+ String typeString = gson.toJson(lst);
+ model.put("custtypelist", lst);
+
+ return "visitormanage/addVisitorCheck";
+ }
@RequestMapping("/list")
@ResponseBody
@@ -89,17 +108,69 @@
}
- @GetMapping("/loadadd")
- public String loadadd(Model model) {
- List<TCustType> list=systemService.findAllCusttype();
- model.addAttribute("typelist",list);
- List<TDept> deptlist=systemService.findAllDept();
- model.addAttribute("deptlist",deptlist);
- return "doorlist/customer/form";
+ @ResponseBody
+ @RequestMapping("/getcustlist")
+ public Map loadAppDevList(@RequestParam(value = "deptcode",required = true,defaultValue = "")String deptcode){
+ Map map = new HashMap();
+ try{
+ CustomerSearchBean searchBean = new CustomerSearchBean();
+ searchBean.setDeptcode(deptcode);
+ PageResult<TCustomerInfo> bean= webInterfaceService.getCustomerInfoPage(searchBean);
+ List<TCustomerInfo> custlist = bean.getData();
+ map.put("custlist",custlist);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+
+
+ }@ResponseBody
+ @RequestMapping("/getdeptlist")
+ public Map loadDeptList(){
+ Map map = new HashMap();
+ try{
+ List<TDept> deptlist=systemService.findAllDept();
+ map.put("deptlist",deptlist);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+
+
}
+ /**
+ * 访客登记
+ * @param postData
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping(value = "/addvisitorcheck", method = {RequestMethod.POST})
+ public Map saveVisitorCheck (@RequestBody VisitorCheckBean postData){
+ Map map = new HashMap();
+ try{
+ EVisitorCheckDtl eVisitorCheckDtl=new EVisitorCheckDtl();
+ eVisitorCheckDtl.setCompany(postData.getCompany());
+ eVisitorCheckDtl.setCustid(postData.getCustid());
+ eVisitorCheckDtl.setDeptcode(postData.getDeptcode());
+ eVisitorCheckDtl.setPhone(postData.getPhone());
+ eVisitorCheckDtl.setRemarks(postData.getRemarks());
+ eVisitorCheckDtl.setVisitorname(postData.getVisitorname());
+ eVisitorCheckDtl.setTime(DateUtil.getNow("yyyyMMddhhmmss"));
+ boolean b = visitormanageService.saveVisitorCheck(eVisitorCheckDtl);
+ if(b){
+ map.put("errStr", "");
+ }else {
+ map.put("errStr", "保存失败");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ map.put("errStr", "保存失败!");
+ }
+ return map;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java
index c9fbce8..920b9f5 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java
@@ -4,6 +4,8 @@
import com.supwisdom.dlpay.doorlist.bean.TCustomerInfo;
import com.supwisdom.dlpay.framework.util.PageResult;
import com.supwisdom.dlpay.mainservice.domain.TCustomer;
+import com.supwisdom.dlpay.system.domain.TRegion;
+import com.supwisdom.dlpay.visitormanage.domain.EVisitorCheckDtl;
import com.supwisdom.dlpay.visitormanage.domain.EVisitorDtl;
import com.supwisdom.dlpay.visitormanage.domain.VisitorSearchBean;
@@ -17,5 +19,5 @@
public PageResult<EVisitorDtl> getVisitorInfoPage(VisitorSearchBean param);
-
+ public boolean saveVisitorCheck(EVisitorCheckDtl bean);
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java
index d89f3ce..a877d1d 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java
@@ -6,7 +6,9 @@
import com.supwisdom.dlpay.framework.util.StringUtil;
import com.supwisdom.dlpay.mainservice.dao.CustomerDao;
import com.supwisdom.dlpay.mainservice.domain.TCustomer;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.visitormanage.dao.VisitorDao;
+import com.supwisdom.dlpay.visitormanage.domain.EVisitorCheckDtl;
import com.supwisdom.dlpay.visitormanage.domain.EVisitorDtl;
import com.supwisdom.dlpay.visitormanage.domain.VisitorSearchBean;
import org.hibernate.query.internal.NativeQueryImpl;
@@ -81,6 +83,17 @@
BigInteger count = (BigInteger) countQuery.getSingleResult();
return new PageResult<>(count.longValue(), list);
}
-
+ @Transactional
+ @Override
+ public boolean saveVisitorCheck(EVisitorCheckDtl bean) {
+ boolean flag=false;
+ try {
+ entityManager.persist(bean);
+ flag=true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return flag;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/domain/EVisitorCheckDtl.java b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/EVisitorCheckDtl.java
new file mode 100644
index 0000000..b02a952
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/EVisitorCheckDtl.java
@@ -0,0 +1,113 @@
+package com.supwisdom.dlpay.visitormanage.domain;
+
+import javax.persistence.*;
+
+/**
+ * Created by shuwei on 17/6/12.
+ */
+@Entity
+@Table(name = "E_VISITOR_CHECK_DTL")
+public class EVisitorCheckDtl {
+
+ private int id;
+ private String visitorname;
+
+ private Integer status;
+ private String phone;
+ private String time;
+ private String sex;
+ private String deptcode;
+ private String custid;
+ private String company;
+ private String remarks;
+
+
+
+
+ @Id
+ @Column(name = "ID", unique = true, nullable = false, length = 32)
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+ @Column(name = "VISITORNAME",length = 40)
+ public String getVisitorname() {
+ return visitorname;
+ }
+
+ public void setVisitorname(String visitorname) {
+ this.visitorname = visitorname;
+ }
+
+
+
+ @Column(name = "STATUS", length = 1)
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+ @Column(name = "PHONE", length = 20)
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+ @Column(name = "time", length = 14)
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+ @Column(name = "SEX", length = 1)
+ public String getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+ @Column(name = "DEPTCODE", length = 32)
+ public String getDeptcode() {
+ return deptcode;
+ }
+
+ public void setDeptcode(String deptcode) {
+ this.deptcode = deptcode;
+ }
+ @Column(name = "CUSTID", length = 32)
+ public String getCustid() {
+ return custid;
+ }
+
+ public void setCustid(String custid) {
+ this.custid = custid;
+ }
+ @Column(name = "COMPANY", length = 255)
+ public String getCompany() {
+ return company;
+ }
+
+ public void setCompany(String company) {
+ this.company = company;
+ }
+ @Column(name = "REMARKS", length = 255)
+
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java
new file mode 100644
index 0000000..0160852
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java
@@ -0,0 +1,89 @@
+package com.supwisdom.dlpay.visitormanage.domain;
+
+import javax.persistence.*;
+
+/**
+ * Created by shuwei on 17/6/12.
+ */
+
+public class VisitorCheckBean {
+
+ private String visitorname;
+
+ private String phone;
+ private String time;
+ private String sex;
+ private String deptcode;
+ private String custid;
+ private String company;
+ private String remarks;
+
+
+
+
+
+
+ public String getVisitorname() {
+ return visitorname;
+ }
+
+ public void setVisitorname(String visitorname) {
+ this.visitorname = visitorname;
+ }
+
+
+
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+ public String getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+ public String getDeptcode() {
+ return deptcode;
+ }
+
+ public void setDeptcode(String deptcode) {
+ this.deptcode = deptcode;
+ }
+ public String getCustid() {
+ return custid;
+ }
+
+ public void setCustid(String custid) {
+ this.custid = custid;
+ }
+ public String getCompany() {
+ return company;
+ }
+
+ public void setCompany(String company) {
+ this.company = company;
+ }
+
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java b/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java
index 1b4ac25..ff85647 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java
@@ -10,7 +10,9 @@
import com.supwisdom.dlpay.mainservice.domain.TCard;
import com.supwisdom.dlpay.mainservice.domain.TCustomer;
import com.supwisdom.dlpay.mainservice.domain.TKey;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
+import com.supwisdom.dlpay.visitormanage.domain.EVisitorCheckDtl;
import com.supwisdom.dlpay.visitormanage.domain.EVisitorDtl;
import com.supwisdom.dlpay.visitormanage.domain.VisitorSearchBean;
import org.springframework.transaction.annotation.Propagation;
@@ -23,5 +25,6 @@
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
PageResult<EVisitorDtl> getVisitorInfoPage(VisitorSearchBean bean);
-
+ @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
+ public boolean saveVisitorCheck(EVisitorCheckDtl bean);
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java b/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java
index 9261017..ebeaec7 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java
@@ -13,9 +13,11 @@
import com.supwisdom.dlpay.mainservice.domain.TKey;
import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
import com.supwisdom.dlpay.system.domain.TDept;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import com.supwisdom.dlpay.system.service.SystemService;
import com.supwisdom.dlpay.visitormanage.dao.VisitorDao;
+import com.supwisdom.dlpay.visitormanage.domain.EVisitorCheckDtl;
import com.supwisdom.dlpay.visitormanage.domain.EVisitorDtl;
import com.supwisdom.dlpay.visitormanage.domain.VisitorSearchBean;
import com.supwisdom.dlpay.visitormanage.service.VisitormanageService;
@@ -45,4 +47,8 @@
public PageResult<EVisitorDtl> getVisitorInfoPage(VisitorSearchBean bean){
return visitorDao.getVisitorInfoPage(bean);
}
+ @Override
+ public boolean saveVisitorCheck(EVisitorCheckDtl bean) {
+ return visitorDao.saveVisitorCheck(bean);
+ }
}
diff --git a/src/main/resources/templates/visitormanage/addVisitorCheck.html b/src/main/resources/templates/visitormanage/addVisitorCheck.html
new file mode 100644
index 0000000..d166ce0
--- /dev/null
+++ b/src/main/resources/templates/visitormanage/addVisitorCheck.html
@@ -0,0 +1,463 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">访客登记</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">访客管理</a>
+ <a><cite>访客登记</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div id="searchDoorlist">
+ <el-form :inline="true" ref="searchDoorForm" :model="searchDoorForm" 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-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-row>
+ <el-row :span="18">
+
+ <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-row>
+ <el-row :span="18">
+
+ <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-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"
+ style="width:100%;"></el-date-picker>
+ </el-form-item>
+ </el-col>
+
+
+
+ </el-row>
+ <el-row :span="18">
+ <el-col :span="18">
+ <el-form-item label="单位">
+ <el-input v-model="searchDoorForm.company" id="company" placeholder="访客所在单位">
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
+ </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.deptcode" id="deptcode" placeholder="请选择" @change="deptchange(searchDoorForm.deptcode)">
+ <el-option
+ v-for="status in deptlist"
+ :key="status.value"
+ :label="status.label"
+ :value="status.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :span="18">
+ <el-col :span="18">
+ <el-form-item label="受访者姓名">
+ <el-select v-model="searchDoorForm.custid" id="custid" placeholder="请选择">
+ <el-option
+ v-for="flag in custlist"
+ :key="flag.value"
+ :label="flag.label"
+ :value="flag.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :span="18">
+ <el-col :span="18">
+ <el-form-item label="备注">
+ <el-input v-model="searchDoorForm.remarks" id="remarks" placeholder="备注信息">
+ <i class="el-icon-edit el-input__icon" slot="icon"></i>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row>
+ <el-col :span="8" :offset="16">
+ <button type="button" style="margin-left: 48px" class="btn btn-info" @click="savevisitor(searchDoorForm)"
+ id="searchDoorlist_qrybtn">
+ 保存
+ </button>
+
+ </el-col>
+ </el-row>
+
+ </el-form>
+
+
+ <el-dialog title="时间段名称" :visible.sync="dialogFormVisible" center="true" top="3%" size="tiny"
+ :modal-append-to-body='false'>
+ <p>正在查看<span style="color:#f96" id="searchDoorlist_custNameId"></span>学生的时间段名称:</p>
+ <div style="width: 100%;">
+ <span style="font-size: 16px!important;">时间段名称:
+ {{alloTimeName}}
+ </span>
+ </div>
+
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
+ </span>
+ </el-dialog>
+
+ </div>
+ </div>
+</div>
+
+<script>
+ var searchDoorlist_vue = new Vue({
+ el: "#searchDoorlist",
+ data: {
+ tableData: [],
+ currPage: 1,
+ pageSize: 10,
+ totSize: 0,
+ currentRow: null,
+ searchDoorForm: {
+ visitorname: '',
+ idno: '',
+ time: '',
+ phone: '',
+ custid: '',
+ deptcode: '',
+ company: '',
+ remarks: '',
+ },
+ regions: [],
+ regionoptions: [],
+ deptlist: [],
+ custlist: [],
+ operFlag: [],
+ selectList: [],
+ dialogFormVisible: false,
+ dlgAllotDevVisible: false,
+ startTime: '',
+ endTime: '',
+ alloTimeName: '',
+ pickerOptions0: {
+ disabledDate: function (time) {
+ return time.getTime() > Date.now();
+ }
+ },
+ pickerOptions1: {
+ disabledDate: function (time) {
+ if (searchDoorlist_vue.searchDoorForm.allocatStartDate != '') {
+
+ return time.getTime() < searchDoorlist_vue.searchDoorForm.allocatStartDate.getTime();
+ } else {
+ return time.getTime() > Date.now();
+ }
+ }
+ }
+ },
+ methods: {
+
+ savevisitor: function (formName) {
+ searchDoorlist_commonQuery(this, this.searchDoorForm,formName);
+ },
+
+ deptchange: function (deptcode) {
+ var _self = this;
+ alert(deptcode);
+ getcustlist(_self, deptcode);
+ },
+ formatDate: function (row, column, cellValue) {
+ return cellValue.substr(0, 4) + "-" + cellValue.substr(4, 2) + "-" + cellValue.substr(6, 2);
+ },
+
+ handleSelect: function (val) {
+ this.selectList = val;
+ }
+
+ },
+ created: function () {
+ var _self = this;
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("[[@{/visitor/getdeptlist}]]"),
+ success: function (ret) {
+ var dlist = [];
+ dlist.push({
+ value: '',
+ label: '请选择'
+ });
+ var rB = ret.deptlist;
+ if (rB != null) {
+ for (var j = 0; j < rB.length; j++) {
+ dlist.push({
+ value: rB[j]["deptcode"],
+ label: rB[j]["deptname"]
+ });
+ }
+ }
+
+ searchDoorlist_vue.deptlist = dlist;
+ }
+ })
+ this.searchDoorForm.allocatStartDate = '';
+ this.searchDoorForm.allocatEndDate = '';
+ }
+ });
+ // 对Date的扩展,将 Date 转化为指定格式的String
+ // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
+ // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
+ // 例子:
+ // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
+ // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
+ Date.prototype.Format = function (fmt) { //author: meizz
+ var o = {
+ "M+": this.getMonth() + 1, //月份
+ "d+": this.getDate(), //日
+ "h+": this.getHours(), //小时
+ "m+": this.getMinutes(), //分
+ "s+": this.getSeconds(), //秒
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
+ "S": this.getMilliseconds() //毫秒
+ };
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+ for (var k in o)
+ 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;
+ }
+
+ function searchDoorlist_getTreeData(regionlst) {
+ var f = [];
+
+ //获取第一级
+ for (var i = 0; i < regionlst.length; i++) {
+ if (regionlst[i].parentid == '0') {
+ f.push({
+ value: regionlst[i].regionid,
+ label: regionlst[i].regionname,
+ })
+ }
+ }
+ if (f.length > 0) {
+ //获取第二级
+ searchDoorlist_pushRegion(regionlst, f);
+ } else {
+ f.push({
+ value: regionlst[0].regionid,
+ label: regionlst[0].regionname,
+ })
+ //获取第二级
+ searchDoorlist_pushRegion(regionlst, f);
+ }
+ searchDoorlist_cyclePushRegion(f, regionlst)
+ return f;
+ }
+
+ function searchDoorlist_pushRegion(regionlst, pRe) {
+ for (var i in regionlst) {
+ for (var j in pRe) {
+ if (regionlst[i].parentid == pRe[j].value) {
+ if (pRe[j].children == undefined) {
+ pRe[j].children = []
+ }
+ pRe[j].children.push({
+ value: regionlst[i].regionid,
+ label: regionlst[i].regionname,
+ })
+ }
+ }
+ }
+ }
+
+ function searchDoorlist_cyclePushRegion(fList, regionlst) {
+ for (var i in fList) {
+ var s = fList[i].children;
+ if (s != undefined && s.length > 0) {
+ searchDoorlist_pushRegion(regionlst, s);
+ }
+ for (j in s) {
+ var l = s[j].children;
+ if (l != undefined && l.length > 0) {
+ searchDoorlist_cyclePushRegion(s, regionlst)
+ }
+ }
+ }
+ }
+
+ function getcustlist(_self, deptcode) {
+
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("[[@{/visitor/getcustlist?deptcode=}]]" + deptcode),
+ success: function (ret) {
+ var bList = [];
+ bList.push({
+ value: '',
+ label: '请选择'
+ });
+ var rB = ret.custlist;
+ if (rB != null) {
+ for (var j = 0; j < rB.length; j++) {
+ bList.push({
+ value: rB[j]["custid"],
+ label: rB[j]["custname"]
+ });
+ }
+ }
+
+ _self.custlist = bList;
+ }
+ })
+
+
+ }
+
+
+ function searchDoorlist_commonQuery(_self, searchDoor,formName) {
+ var url = "[[@{/visitor/addvisitorcheck?}]]";
+ var token = $("meta[name='_csrf_token']").attr("value");
+ $.ajax({
+ type: "POST",
+ url: url,
+ dataType: "json",
+ contentType: "application/json",
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'X-CSRF-TOKEN':token,
+ },
+ data: JSON.stringify(searchDoor),
+ success: function (data) {
+ if (data.errStr != "") {
+ layer.msg(data.errStr, {icon: 2,time:1000});
+ } else {
+ layer.msg('保存信息成功!', {icon: 1,time:1000});
+ _self.$refs[formName].resetFields();
+ _self.dialogFormVisible = false;
+ _self.regionidDis = false;
+ }
+ }
+ });
+ }
+
+ function searchDoorlist_timeformatter(time) {
+
+ return time.substr(0, 4) + '-' + time.substr(4, 2) + '-' + time.substr(6, 2) + ' '
+ + time.substr(8, 2) + ':' + time.substr(10, 2) + ':' + time.substr(12, 2);
+// console.log([year,month,date].join('-')+' '+[hour,moment,second].join(':'));
+// return [year,month,date].join('-')+' '+[hour,moment,second].join(':');
+
+ }
+
+ function searchDoorlist_exportExcel(_self, searchDoor) {
+ var startStr = '';
+ var endStr = '';
+ if (_self.totSize > 1000) {
+ layer.msg('数量过大请输入条件', {icon: 2, time: 1000});
+ return;
+ }
+ if (searchDoor.allocatStartDate != '') {
+ if (searchDoor.allocatEndDate == '') {
+ layer.msg('请选择结束时间', {icon: 2, time: 1000});
+ return;
+ } else {
+ startStr = searchDoor.allocatStartDate.Format('yyyyMMdd');
+ endStr = searchDoor.allocatEndDate.Format('yyyyMMdd');
+ }
+ }
+ var url = "[[@{/doorlistMgr/exportExcel?}]]" + "allocatStartDate=" + startStr + "&allocatEndDate=" + endStr +
+ "&devname=" + searchDoor.devname + "&custname=" + searchDoor.custname
+ + "&cardno=" + searchDoor.cardno
+ + "&syncflag=" + searchDoor.syncflag + "&operflag=" + searchDoor.operflag
+ + "&buildingid=" + searchDoor.buildingid + "®ionid=" + searchDoor.regionid;
+// window.location.href
+ var uri = encodeURI(url);
+ window.open(uri);
+ }
+
+ function searchDoorlist_reIssuedList() {
+ var listIds = searchDoorlist_vue.selectList;
+ if (listIds == '') {
+ layer.msg('请选择要重新下发的名单!', {icon: 2, time: 1000});
+ } else {
+ layer.confirm('确定要重新下发这些名单吗?', {icon: 3, title: '请确认', offset: '30%'}, function (index) {
+ var url = "[[@{/doorlistMgr/reSaveDoorCardList}]]";
+ var token = $("meta[name='_csrf_token']").attr("value");
+ $.ajax({
+ type: "POST",
+ url: url,
+ dataType: "json",
+ contentType: "application/json",
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'X-CSRF-TOKEN': token,
+ },
+ data: JSON.stringify(listIds),
+ success: function (data) {
+ layer.msg(data.result, {time: 2000})
+ searchDoorlist_refreshThisTable();
+ }
+ });
+ })
+ }
+ }
+
+ function searchDoorlist_getRegionBuilding(_self, value) {
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("[[@{/ncmgr/getRegionBuilding?regionid=}]]" + value),
+ success: function (ret) {
+ var custlist = [];
+ custlist.push({
+ value: '',
+ label: '全部'
+ });
+ var rB = ret.custlist;
+ if (rB != null) {
+ for (var j = 0; j < rB.length; j++) {
+ bList.push({
+ value: rB[j]["custid"],
+ label: rB[j]["custname"]
+ });
+ }
+ }
+
+ _self.building = custlist;
+ }
+ })
+ }
+
+ function refreshThisTable() {
+ $("#searchDoorlist_qrybtn").click();
+ }
+</script>
\ No newline at end of file