123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403 |
- import {
- getDate,
- getWaterDrop,
- formatTime
- } from '../../../utils/index/index'
- import {
- visitorReportPageList,
- visitorSignOut
- } from '../../../utils/api/api'
- const app = getApp()
- Page({
- data: {
- formPath: null, //从哪个页面来
- searchList: [{
- name: '姓名',
- val: 'name',
- placeholder: '请输入姓名',
- },
- {
- name: '身份证',
- val: 'idNumber',
- placeholder: '请输入身份证',
- },
- {
- name: '手机号',
- val: 'phone',
- placeholder: '请输入手机号',
- },
- {
- name: '来访单位',
- val: 'company',
- placeholder: '请输入来访单位',
- },
- {
- name: '受访人',
- val: 'visiteeXm',
- placeholder: '请输入受访人',
- },
- {
- name: '受访部门',
- val: 'visiteeBm',
- placeholder: '请输入受访部门',
- },
- ],
- isShowSearch: false, // 搜索项
- dateRangePickerVisible: false,
- searchForm: {
- name: '',
- phone: '',
- idNumber: '',
- defaultDateRange: null,
- startTime: '',
- endTime: '',
- sn: '',
- company: '',
- visiteeXm: '',
- visiteeBm: '',
- carno: '',
- signOutStartTime: '',
- signOutEndTime: '',
- reason: '',
- },
- notDesensitizedColumn: [],
- signOutList: [{
- id: true,
- name: '已签离'
- },
- {
- id: false,
- name: '未签离'
- },
- ],
- tableList: [], // 表格展示数据
- pagination: {
- // 分页
- current: 1, // 当前页码
- pageSize: 8, // 每页条数
- pageNum: 0, //总页数
- total: 0, // 总数
- },
- causeMatterList: [],
- provinceArr: ["粤", "京", "津", "渝", "沪", "冀", "晋", "辽", "吉", "黑", "苏", "浙", "皖", "闽", "赣", "鲁", "豫", "鄂", "湘", "琼", "川", "贵", "云", "陕", "甘", "青", "蒙", "桂", "宁", "新", "藏", "使", "领", "警", "学", "港", "澳"],
- strArr: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"],
- hiddenPro: true, // 隐藏省份键盘
- hiddenStr: true, // 隐藏数字字母键盘
- carnum: '', //车牌号码
- // 键盘结束
- downBtn: '关闭',
- isPortraitScreen: false,// 是否为竖屏:true竖屏 false横屏
- screenIntervalId: null, //定时器
- },
- onLoad(e) {
- my.hideBackHome();
- const _this = this
- this.initScreenType().then(isPortraitScreenRes => {
- _this.setData({
- isPortraitScreen: isPortraitScreenRes
- })
- })
- let visitReasonList = (app.globalData.snDisposition.visitReason || '业务拜访/会议邀请/施工单位/其他事项').split('/');
- this.setData({
- causeMatterList: visitReasonList,
- formPath: e.formPath || null,
- notDesensitizedColumn: app.globalData.snDisposition.notDesensitizedColumn
- })
- this.data.searchFormCopy = JSON.parse(JSON.stringify(this.data.searchForm));
- this.getTable()
- },
- initScreenType() {
- let that = this
- return new Promise((resolve, reject) => {
- if (app.globalData.isPortraitScreen) {
- if (app.globalData.isPortraitScreen != null) {
- resolve(app.globalData.isPortraitScreen)
- }
- } else {
- that.data.screenIntervalId = setInterval(function () {
- if (app.globalData.isPortraitScreen != null) {
- resolve(app.globalData.isPortraitScreen)
- clearInterval(that.data.screenIntervalId);
- }
- }, 1000);
- }
- })
- },
- async getTable(newCurrent = 1) {
- let {
- searchForm,
- pagination: { pageSize },
- carnum
- } = this.data;
- searchForm.sn = app.globalData.sn
- let params = {
- data: {
- ...searchForm,
- carno: carnum
- },
- pageNum: newCurrent,
- pageSize,
- }
- my.showLoading()
- try {
- let res = await visitorReportPageList(params)
- const resData = res.data || {}
- this.setData({
- 'pagination.current': newCurrent,
- 'pagination.pageNum': resData.pages,
- 'pagination.total': resData.total,
- tableList: resData.list,
- })
- } catch (error) {
- my.hideLoading();
- } finally {
- my.hideLoading()
- }
- },
- // 是否显示搜索项
- getIsShow() {
- let {
- isShowSearch
- } = this.data
- this.setData({
- isShowSearch: !isShowSearch,
- })
- },
- clickAudio() {
- getWaterDrop()
- },
- //签离
- async signOff(e) {
- let item = e.currentTarget.dataset.item
- let data = {
- sn: app.globalData.sn,
- userVisitorListDetailId: item.userVisitorListDetailId,
- }
- let res = await visitorSignOut(data)
- my.showToast({
- content: '签离成功',
- duration: 2000
- });
- let {
- pagination: { current },
- } = this.data
- this.getTable(current)
- },
- getVal(e) {
- let key = e.currentTarget.dataset.key
- let searchFormKey = `searchForm[${key}]`
- let causeMatterList = this.data.causeMatterList
- let signOutList = this.data.signOutList
- switch (key) {
- case 'reason':
- this.setData({
- 'searchForm.reason': causeMatterList[e.detail.value],
- })
- break;
- case 'isSignOut':
- this.setData({
- 'searchForm.isSignOut': signOutList[e.detail.value].id,
- 'searchForm.isSignOutName': signOutList[e.detail.value].name,
- })
- break;
- default:
- this.setData({
- [searchFormKey]: e.detail.value
- })
- break;
- }
- },
- // 获取日期
- datePicker(e) {
- my.datePicker({
- format: 'yyyy-MM-dd HH:mm:ss', //返回的日期格式
- currentDate: getDate(), //初始选择的日期时间,默认当前时间
- startDate: '2012-01-01 11:11:11', //最小日期时间
- endDate: getDate(), //最大日期时间
- success: res => {
- let key = e.currentTarget.dataset.key
- this.setData({
- [`searchForm.${key}`]: res.date
- });
- },
- });
- },
- // 查询
- inquireFun() {
- my.showLoading()
- try {
- this.setData({
- 'pagination.current': 1,
- })
- this.getTable()
- } catch (error) {
- console.log(error);
- } finally {
- my.hideLoading()
- }
- },
- //清空
- clearFun() {
- let searchForm = JSON.parse(JSON.stringify(this.data.searchFormCopy));
- console.log(searchForm)
- this.setData({
- searchForm,
- carnum: '',
- hiddenPro: true, // 隐藏省份键盘
- hiddenStr: true, // 隐藏数字字母键盘
- downBtn: '关闭',
- })
- this.getTable()
- },
- // 上一页
- previousFun() {
- let {
- pagination: { current },
- } = this.data
- if (current <= 1) {
- return
- }
- let newCurrent = current - 1;
- this.getTable(newCurrent)
- },
- // 下一页
- nextFun() {
- let {
- pagination: { pageNum, current },
- } = this.data
- if (current >= pageNum) {
- return
- }
- let newCurrent = current + 1;
- this.getTable(newCurrent)
- },
- handleTriggerControlledDateRangePicker(visible, e) {
- console.log('handleTriggerControlledDateRangePicker', visible, e);
- this.setData({
- dateRangePickerVisible: visible,
- });
- },
- handleRangeOk(date, format, e) {
- console.log('onRangeOk', date, format, e);
- this.setData({
- 'searchForm.startTime': formatTime(date[0], 'YYYY-MM-DD HH:NN:SS'),
- 'searchForm.endTime': formatTime(date[1], 'YYYY-MM-DD HH:NN:SS'),
- 'searchForm.defaultDateRange': date,
- })
- },
- // 关闭
- closeFun() {
- my.reLaunch({
- url: this.data.formPath ? '/pages/home/index' : '/pages/settings/index/index',
- })
- },
- // 键盘函数开始
- proTap(e) { //点击省份
- let that = this;
- let province = e.currentTarget.dataset.province;
- let carnum = this.data.carnum;
- if (carnum.length < 1) { //避免连续点击
- carnum += province;
- }
- this.setData({
- carnum: carnum,
- hiddenPro: true,
- hiddenStr: false,
- })
- },
- strTap(e) { //点击字母数字
- let that = this;
- this.setData({
- waiting: true
- })
- let province = e.currentTarget.dataset.str;
- let carnum = this.data.carnum;
- // console.log(carnum.length)
- if (carnum.length <= 8) { //避免连续点击
- carnum += province;
- console.log(carnum);
- }
- this.setData({
- notNum: false,
- carnum: carnum,
- })
- this.setData({
- notNum: false,
- carnum: carnum,
- })
- setTimeout(() => {
- that.setData({
- waiting: false
- })
- }, 100);
- if (carnum.length > 6) {
- this.setData({
- downBtn: '完成',
- strDisabled: true,
- })
- // this.searchCardInfo()
- return; // 车牌长度最多为7个
- }
- },
- backSpace() { //退格
- let carnum = this.data.carnum;
- if (carnum.length <= 7) {
- this.setData({
- downBtn: '关闭',
- strDisabled: false,
- })
- }
- var arr = carnum.split('');
- arr.splice(-1, 1)
- var str = arr.join('')
- if (arr.length < 2) {
- this.setData({
- notNum: true
- })
- }
- if (str == '') {
- this.setData({
- hiddenPro: false,
- hiddenStr: true
- })
- }
- this.setData({
- carnum: str
- })
- },
- backKeyboard() { //返回省份键盘
- if (this.data.carnum.length > 6) {
- this.setData({
- downBtn: '完成',
- hiddenPro: true,
- hiddenStr: false
- })
- } else if (this.data.carnum.length > 0) {
- this.setData({
- hiddenPro: true,
- hiddenStr: false
- })
- } else {
- this.setData({
- hiddenPro: false,
- hiddenStr: true
- })
- }
- },
- applyNum() {
- this.setData({
- hiddenPro: true,
- hiddenStr: true,
- })
- },
- // 点击其他地方关闭弹窗
- hidePopup() {
- if (!this.data.hiddenPro || !this.data.hiddenStr) {
- this.applyNum();
- }
- },
- });
|