123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416 |
- import { snConfig, updateConfig } from '../../../utils/api/api'
- import { getWaterDrop, throttle } from '../../../utils/index/index'
- const app = getApp()
- Page({
- data: {
- radioList: [{
- name: '是否打印访客单',
- val: 'printVisitorList',
- chooseItem: [],
- },
- {
- name: '是否启用签离',
- val: 'signOut',
- chooseItem: [],
- },
- {
- name: '启用风险人员核查',
- val: 'riskCheck',
- chooseItem: [],
- },
- {
- name: '首页隐藏 通讯录、访客记录 等按钮',
- val: 'hiddenButton',
- chooseItem: [],
- },
- // {
- // name: '隐藏底部导航栏',
- // val: 'hideNavigationBar',
- // chooseItem: [],
- // },
- {
- name: '启用注意事项提示语',
- val: 'reminderAuth',
- chooseItem: [],
- },
- ],
- checkBoxList: [{
- name: '访客记录不脱敏',
- val: 'notDesensitizedColumn',
- chooseItem: [{
- value: 1,
- name: '姓名',
- checked: false
- },
- {
- value: 2,
- name: '身份证',
- checked: false
- },
- {
- value: 3,
- name: '手机',
- checked: false
- }],
- },
- {
- name: '登记页不脱敏',
- val: 'registerNotDesensitizedColumn',
- chooseItem: [{
- value: 1,
- name: '姓名',
- checked: false
- },
- {
- value: 2,
- name: '身份证',
- checked: false
- },],
- },
- ],
- form: {
- printVisitorList: false, // 是否打印访客单
- signOut: true, // 是否启用签离
- riskCheck: false, // 启用风险人员核查
- hiddenButton: false, // 首页隐藏设置、通讯录等按钮
- // hideNavigationBar: false, // 隐藏底部导航栏
- reminderAuth: false, // 启用注意事项提示语
- generalQrcode: true, // 启用通用二维码
- generalQrcodeTitle: "", // 通用二维码标题
- ethQrcode: true, // 启用梯控二维码
- ethQrcodeTitle: "梯控二维码", // 梯控二维码标题
- ethQrcodeUrl: "https://tx.hz-hanghui.com:8088/yx-fyzd/api/v1/fkj/visitor/eth/qrCode", // 梯控二维码接口
- notDesensitizedColumn: [], // 访客记录不脱敏
- registerNotDesensitizedColumn: [], // 登记页不脱敏
- confirmCountdownSwitch: true, // 是否启用确定倒计时
- confirmCountdownTime: 15,
- },
- // 梯控
- isShowTK: false,
- TKList: ['https://tx.hz-hanghui.com:8088/yx-fyzd/api/v1/fkj/visitor/eth/qrCode'],
- isPortraitScreen: false,// 是否为竖屏:true竖屏 false横屏
- screenIntervalId: null, //定时器
- },
- async onLoad() {
- my.hideBackHome();
- const _this = this
- this.initScreenType().then(isPortraitScreenRes => {
- console.log('isPortraitScreenRes', isPortraitScreenRes)
- _this.setData({
- isPortraitScreen: isPortraitScreenRes
- })
- })
- await this.initRadioDefaultData()
- await this.initData()
- // my.showLoading()
- },
- 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 () {
- console.log('asdasdsaddasdad', app.globalData)
- if (app.globalData.isPortraitScreen != null) {
- resolve(app.globalData.isPortraitScreen)
- clearInterval(that.data.screenIntervalId);
- }
- }, 1000);
- }
- })
- },
- // 赋值
- async initData(e) {
- my.showLoading()
- try {
- let dto = {
- sn: app.globalData.sn,
- token: app.globalData.FKJConfiguration,
- }
- let res = await snConfig(dto);
- let resultData = res.data || {}
- console.log(resultData)
- let {
- radioList,
- checkBoxList
- } = this.data
- radioList.forEach((radioItem) => {
- if (typeof (resultData[radioItem.val]) !== 'undefined') {
- let checkValue = !!resultData[radioItem.val]
- radioItem.chooseItem[0].checked = checkValue
- radioItem.chooseItem[1].checked = !checkValue
- }
- });
- checkBoxList.forEach((checkBoxItem) => {
- if (typeof (resultData[checkBoxItem.val]) !== 'undefined') {
- let checkValue = resultData[checkBoxItem.val]
- checkBoxItem.chooseItem.forEach((cItem, cIndex) => {
- cItem.checked = checkValue.includes(cItem.value);
- })
- }
- });
- this.setData({
- radioList,
- checkBoxList,
- form: resultData
- })
- } catch (error) { } finally {
- my.hideLoading()
- }
- },
- // 处理单选默认数据
- initRadioDefaultData() {
- let options = [{
- value: true,
- name: '是',
- checked: false
- },
- {
- value: false,
- name: '否',
- checked: false
- },
- ]
- let {
- radioList,
- checkBoxList
- } = this.data
- radioList.forEach(radioItem => {
- radioItem.chooseItem = JSON.parse(JSON.stringify(options))
- let isTrue = ['signOut', 'generalQrcode', 'ethQrcode'].includes(radioItem.val)
- radioItem.chooseItem[0].checked = isTrue
- radioItem.chooseItem[1].checked = !isTrue
- });
- checkBoxList.forEach((checkBoxItem) => {
- checkBoxItem.chooseItem.forEach((cItem, cIndex) => {
- cItem.checked = false;
- })
- });
- this.setData({
- checkBoxList,
- radioList
- })
- },
- // 单选选中
- onRadioChange(e) {
- console.log('onRadioChange', e)
- let currentItem = e.currentTarget.dataset.item;
- let currentIndex = e.currentTarget.dataset.index;
- let checkIndex = e.currentTarget.dataset.checkIndex;
- let checkValue = false;
- currentItem.chooseItem.forEach((cItem, cIndex) => {
- if (cIndex == currentIndex) {
- cItem.checked = true
- checkValue = cItem.value
- } else {
- cItem.checked = false
- }
- })
- console.log(currentItem.chooseItem, currentFormItem)
- let currentRadioItem = `[radioList[${checkIndex}]]`;
- let currentFormItem = `form[${currentItem.val}]`;
- this.setData({
- [currentRadioItem]: currentItem,
- [currentFormItem]: checkValue
- })
- },
- // 多选选中
- onCheckBoxChange(e) {
- console.log(e)
- let currentItem = e.currentTarget.dataset.item;
- let currentIndex = e.currentTarget.dataset.index;
- let checkIndex = e.currentTarget.dataset.checkIndex;
- currentItem.chooseItem.forEach((cItem, cIndex) => {
- if (cIndex == currentIndex) {
- cItem.checked = !cItem.checked
- }
- })
- let checkValue = (currentItem.chooseItem || []).filter(v => v.checked).map(mI => mI.value);
- let currentCheckBoxItem = `[checkBoxList[${checkIndex}]]`;
- let currentFormItem = `form[${currentItem.val}]`;
- this.setData({
- [currentCheckBoxItem]: currentItem,
- [currentFormItem]: checkValue
- })
- },
- onSwitchChange(e) {
- let key = e.currentTarget.dataset.fieldKey
- let value = e.currentTarget.dataset.checked
- console.log(key, value)
- let checkValue = !value
- let forKey = `form[${key}]`
- switch (key) {
- case 'generalQrcode': // 启用通用二维码
- if (!checkValue) {
- this.setData({
- 'form.generalQrcodeTitle': '', // 通用二维码标题
- })
- }
- this.setData({
- [forKey]: checkValue
- })
- break;
- case 'ethQrcode': // 启用梯控二维码
- if (checkValue) {
- this.setData({
- 'form.ethQrcodeTitle': '梯控二维码', // 梯控二维码标题
- 'form.ethQrcodeUrl': 'https://tx.hz-hanghui.com:8088/yx-fyzd/api/v1/fkj/visitor/eth/qrCode', // 梯控二维码接口
- })
- }
- this.setData({
- [forKey]: checkValue
- })
- break;
- case 'confirmCountdownSwitch': // 标语页确定倒计时
- if (!checkValue) {
- this.setData({
- 'form.confirmCountdownTime': 15
- })
- }
- this.setData({
- [forKey]: checkValue
- })
- break;
- }
- },
- // 减
- minus(e) {
- let key = 'confirmCountdownTime'
- let value = this.data.form[key]
- let NameVal = `form[${key}]`
- if (value <= 0 || !value) {
- return
- }
- this.setData({
- [NameVal]: value - 1
- })
- },
- // 加
- add(e) {
- let key = 'confirmCountdownTime'
- let value = this.data.form[key]
- if (!value) {
- value = 0
- }
- let NameVal = `form[${key}]`
- this.setData({
- [NameVal]: value + 1
- })
- },
- // 二维码相关字段选中操作
- getVal(e) {
- let key = e.currentTarget.dataset.key
- let val = e.currentTarget.dataset.val
- console.log(key, val)
- let checkValue = e.detail.value
- let forKey = `form[${key}]`
- switch (key) {
- case 'TK':
- this.setData({
- 'form.ethQrcodeUrl': val
- })
- break;
- case 'generalQrcode': // 启用通用二维码
- if (!checkValue) {
- this.setData({
- 'form.generalQrcodeTitle': '', // 通用二维码标题
- })
- }
- this.setData({
- [forKey]: checkValue
- })
- break;
- case 'ethQrcode': // 启用梯控二维码
- if (checkValue) {
- this.setData({
- 'form.ethQrcodeTitle': '梯控二维码', // 梯控二维码标题
- 'form.ethQrcodeUrl': 'https://tx.hz-hanghui.com:8088/yx-fyzd/api/v1/fkj/visitor/eth/qrCode', // 梯控二维码接口
- })
- }
- this.setData({
- [forKey]: checkValue
- })
- break;
- case 'generalQrcodeTitle': // 通用二维码标题
- case 'ethQrcodeTitle': // 梯控二维码标题
- case 'ethQrcodeUrl': // 梯控二维码接口
- case 'confirmCountdownTime': // 倒计时时长(s)
- this.setData({
- [forKey]: checkValue
- })
- break;
- }
- },
- // 遮罩层
- closeMask() {
- this.setData({
- isShowTK: false,
- })
- },
- // 打开选择框
- openMask(e) {
- let key = e.currentTarget.dataset.key
- switch (key) {
- case 'TK':
- let {
- isShowTK
- } = this.data
- this.setData({
- isShowTK: !isShowTK
- })
- break;
- default:
- break;
- }
- },
- clickAudio() {
- this.setData({
- isShowTK: false,
- })
- getWaterDrop()
- },
- sure: throttle(async function (e) {
- let {
- form
- } = this.data
- console.log(form)
- form.modifyType = app.globalData.modifyType[0];
- form.token = app.globalData.FKJConfiguration;
- form.sn = app.globalData.sn;
- my.showLoading()
- try {
- let res = await updateConfig(form)
- app.globalData.snDisposition.printVisitorList = form.printVisitorList;
- app.globalData.snDisposition.signOut = form.signOut;
- app.globalData.snDisposition.riskCheck = form.riskCheck;
- app.globalData.snDisposition.hiddenButton = form.hiddenButton;
- app.globalData.snDisposition.reminderAuth = form.reminderAuth;
- app.globalData.snDisposition.generalQrcode = form.generalQrcode;
- app.globalData.snDisposition.generalQrcodeTitle = form.generalQrcodeTitle;
- app.globalData.snDisposition.ethQrcode = form.ethQrcode;
- app.globalData.snDisposition.ethQrcodeTitle = form.ethQrcodeTitle;
- app.globalData.snDisposition.ethQrcodeUrl = form.ethQrcodeUrl;
- app.globalData.snDisposition.notDesensitizedColumn = form.notDesensitizedColumn;
- app.globalData.snDisposition.registerNotDesensitizedColumn = form.registerNotDesensitizedColumn;
- app.globalData.snDisposition.confirmCountdownSwitch = form.confirmCountdownSwitch;
- app.globalData.snDisposition.confirmCountdownTime = form.confirmCountdownTime;
- // console.log(app.globalData.snDisposition);
- my.setStorageSync({
- data: app.globalData.snDisposition,
- key: 'snDisposition'
- });
- my.reLaunch({
- url: "/pages/settings/index/index"
- })
- } catch (error) {
- console.log(error);
- } finally {
- my.hideLoading()
- }
- }, 5000),
- });
|