diff --git a/common/globalJs/globalJs.js b/common/globalJs/globalJs.js index 26edc87..b18fb79 100644 --- a/common/globalJs/globalJs.js +++ b/common/globalJs/globalJs.js @@ -1,772 +1,815 @@ -// 请求时接口的公用部分 -// #ifdef APP-PLUS || MP -// const baseUrl = "http://116.62.210.143:9002"; -const baseUrl = "http://118.89.79.160:8800/HiatmpPro"; -// #endif -// #ifdef H5 -const baseUrl = "/HiatmpPro"; -// #endif - -// 图片路径的公用部分 -const imgSrc = "/static"; -// 图片上传地址 -const imgUrl = "/hyjg-admin/mapi/upload/upload"; -const imgUserIdUrl = "/hyjg-admin/mapi/upload/uploadAndIdentify"; -// 上传图片的name值 -const fileImgKey = "file"; - -// 上传视频的name值 -const fileVideoKey = "img"; -// 上传视频的大小限制(单位:千字节) -const videoSize = 10240000; // 10M - -module.exports = { - // --------------------变量-------------------- - // 图片路径的公用部分 - imgSrc, - // 图片上传地址 - imgUrl, - imgUserIdUrl, - // 上传图片的name值 - fileImgKey, - // 视频大小 - videoSize, - // 视频name值 - fileVideoKey, - baseUrl, - - // ----------------------校验---------------------- - // 处理时间两位数 - timeDealTwo(value){ - let val = Number(value) - return val < 10 ? '0' + val : val - }, - // 判断两个对象是否相同 - isObjEqual (o1, o2) { - var props1 = Object.getOwnPropertyNames(o1) - var props2 = Object.getOwnPropertyNames(o2) - if (props1.indexOf('__ob__') !== -1) { - props1.splice(props1.indexOf('__ob__'), 1) - } - if (props2.indexOf('__ob__') !== -1) { - props2.splice(props2.indexOf('__ob__'), 1) - } - var a = true - var b = true - if (props1.length !== props2.length) { - a = false - } else { - for (var i = 0, max = props1.length; i < max; i++) { - var propName = props1[i] - if (o1[propName] !== o2[propName]) { - b = false - break - } - } - } - return a && b - }, - checkHasKey(key,str){ - if(str.indexOf(key) != -1){ - return true - } - return false - }, - // 非空验证(包含数字) - isEmpty(value,isnumber = false){ - if(isnumber){ - if(value <= 0){ - return false - } - } - if(value == '' || value == null || typeof(value) == 'undefined'){ - return false - } - return true - }, - // 手机号验证 - isPhone(phone) { - // 是否正确(默认不正确) - let br = false; - if (/^0?(13[0-9]|14[5-9]|15[012356789]|166|17[0-9]|18[0-9]|19[8-9])[0-9]{8}$/.test(phone)) { - br = true; - } - return br; - }, - // 邮箱验证 - isEmail(email) { - // 是否正确(默认不正确) - let br = false; - if (/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/.test(email)) { - br = true; - } - return br; - }, - // 身份证验证 - isPersonID(code) { - //身份证号合法性验证 - //支持15位和18位身份证号 - //支持地址编码、出生日期、校验位验证 - var city = { - 11: "北京", - 12: "天津", - 13: "河北", - 14: "山西", - 15: "内蒙古", - 21: "辽宁", - 22: "吉林", - 23: "黑龙江 ", - 31: "上海", - 32: "江苏", - 33: "浙江", - 34: "安徽", - 35: "福建", - 36: "江西", - 37: "山东", - 41: "河南", - 42: "湖北 ", - 43: "湖南", - 44: "广东", - 45: "广西", - 46: "海南", - 50: "重庆", - 51: "四川", - 52: "贵州", - 53: "云南", - 54: "西藏 ", - 61: "陕西", - 62: "甘肃", - 63: "青海", - 64: "宁夏", - 65: "新疆", - 71: "台湾", - 81: "香港", - 82: "澳门", - 91: "国外 " - }; - var br = true; - var msg = "验证成功"; - - if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(code)) { - br = false; - msg = "被保人身份证号格式错误"; - } else if (!city[code.substr(0, 2)]) { - br = false; - msg = "被保人身份证号地址编码错误"; - } else { - //18位身份证需要验证最后一位校验位 - if (code.length == 18) { - code = code.split(''); - //∑(ai×Wi)(mod 11) - //加权因子 - var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; - //校验位 - var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; - var sum = 0; - var ai = 0; - var wi = 0; - for (var i = 0; i < 17; i++) { - ai = code[i]; - wi = factor[i]; - sum += ai * wi; - } - if (parity[sum % 11] != code[17].toUpperCase()) { - br = false; - msg = "被保人身份证号校验位错误"; - } - } - } - return { - br, - msg - }; - }, - // 处理时间 - dealTimeLength(value){ - let num = Number(value) - let str = num < 10 ? '0' + num : num - // let str = value.toString() - return str - }, - // 是否是正整数 - isNum(num){ - if (!(/(^[1-9]\d*$)/.test(num))) { - return false; - } - return true - }, - // 是否有小数点 - isDot(num) { - var result = (num.toString()).indexOf("."); - if(result != -1) { - return false - alert("含有小数点"); - } - return true - }, - - // ----------------------原生---------------------- - setNavName(value){ - uni.setNavigationBarTitle({ - title:value - }) - }, - // 查看文件 - checkFile(url){ - uni.showLoading({ - mask: true, - }); - uni.downloadFile({ - url: url, //仅为示例,并非真实的资源 - success: function(res){ - if (res.statusCode === 200) { - uni.hideLoading(); - var filePath = res.tempFilePath; - uni.openDocument({ - filePath: filePath, - success: function (res) { - console.log("打开文档成功"); - }, - }); - } - }, - }); - }, - // 扫一扫 - scanCode(callback){ - uni.scanCode({ - scanType: ['barCode','qrCode'], - success (res) { - callback(res) - } - }); - }, - // 图片预览 - previewImg(current, urls) { - uni.previewImage({ - current: current, // 当前显示图片的https链接 - urls: urls // 需要预览的图片https链接列表 - }) - }, - // 显示加载动画 - showLoading(title = "加载中...", mask = true) { - uni.showLoading({ - title: title, - mask: mask, - }) - }, - // 关闭加载动画 - hideLoading() { - uni.hideLoading(); - }, - // 提示框 - toast(title, time = 1500, mask = true, icon = "none") { - uni.showToast({ - // 提示的内容 - title: title, - // 提示的时间 - duration: time, - // 是否显示透明蒙层,防止触摸穿透(false) - mask: mask, - // 图标(success) - icon: icon, - }) - }, - // 对话框 - dialogBox(obj) { - let showCancel = true; - if (obj.l_show == false) { - showCancel = false; - } - uni.showModal({ - // 对话框的标题(选填) - title: obj.title || "", - // 对话框的内容(选填) - content: obj.content || "", - // 是否显示左边的按钮(选填,默认显示) - showCancel: showCancel, - // 左边按钮的文字内容(选填,默认取消) - cancelText: obj.l_text || "取消", - // 左边按钮的文字颜色(选填,默认#000000) - cancelColor: obj.l_color || "#000000", - // 右边按钮的文字内容(选填,默认确定) - confirmText: obj.r_text || "确定", - // 右边按钮的文字颜色(选填,默认#3cc51f) - confirmColor: obj.r_color || "#3cc51f", - success: (res) => { - if (res.confirm) { // 点击了确定按钮 - if (obj.r_fun) { - obj.r_fun(); - } - } else { // 点击了取消按钮 - if (obj.l_fun) { - obj.l_fun(); - } - } - } - }) - }, - // 打开一个新页面 - open(url) { - uni.navigateTo({ - url: url - }) - }, - // 关闭所有页面,然后打开一个新页面 - openNew(url) { - uni.reLaunch({ - url: url - }); - }, - // 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 - openTab(url) { - uni.switchTab({ - url: url - }); - }, - // 当前页打开新页面 - href(url) { - uni.redirectTo({ - url: url - }) - }, - // 页面返回 - back(delta = 1) { - // #ifdef H5 - const pages = getCurrentPages() - if (pages.length > 1) { - uni.navigateBack(1) - return; - } - //使用vue-router返回上一级 - if (typeof(this.$router) == 'undefined') { - //重新定向跳转页面 - uni.switchTab({ - url: '/pages/index/index' - }) - }else{ - this.$router.go(-1) - } - return; - // #endif - if (getCurrentPages().length > 1) { - uni.navigateBack({ - delta: delta - }) - } else { - // #ifdef APP-PLUS - uni.switchTab({ - url: '/pages/index/index' - }) - // #endif - // #ifdef MP-WEIXIN - uni.switchTab({ - url: '/pages/index/index' - }) - // #endif - } - }, - // 获取之前页面的数据 - backGetData(index = 1) { - // 往上一级页面传参 - const pages = getCurrentPages(); - const prevPage = pages[pages.length - index - 1]; // 上index级页面 - return prevPage; - }, - // 将数据存到本地 - setData(key, data) { - uni.setStorageSync(key, data); - }, - // 从本地获取数据 - getData(key) { - return uni.getStorageSync(key); - }, - // 同步删除本地数据 - removeData(key) { - uni.removeStorageSync(key); - }, - // 同步清除本地数据 - clearData() { - uni.clearStorage(); - }, - // 设置底部导航 - setBar(index,text){ - uni.setTabBarItem({ - index:index, - text:text - }) - }, - // 打开地图选择地址 - chooseAddress(success) { - uni.chooseLocation({ - success: function(res) { - success({ - // 地点名称 - name: res.name, - // 详细地址 - address: res.address, - // 经纬度 - lng: res.longitude, - lat: res.latitude - }); - }, - }); - }, - // 打开地图 - openMap(lng, lat, name) { - uni.openLocation({ - longitude: lng - 0, - latitude: lat - 0, - name: name, - }) - }, - // 复制 - copy(text,toasttext = '复制成功') { - // #ifdef APP-PLUS - uni.setClipboardData({ - data: text, - success: () => { - toast(toasttext); - } - }); - // #endif - // #ifdef H5 - // 如果是H5,获取设备信息 - uni.getSystemInfo({ - success: function(res) { - let input = document.createElement('input'); - input.type = 'text'; - input.value = text; - input.style.position = 'fixed'; - input.style.top = "-100vh"; - input.style.left = "-100vw"; - input.style.opacity = 0; - window.document.body.appendChild(input); - input.select(); - if (res.platform == "ios") { - input.setSelectionRange(0, input.value.length), document.execCommand('Copy'); - } else { - document.execCommand("Copy"); - } - document.body.removeChild(input); - toast(toasttext); - } - }); - // #endif - }, - // 拨打电话 - callNumber(phone) { - uni.makePhoneCall({ - phoneNumber: phone, - }) - }, - - // ----------------------自封方法---------------------- - // 获取分发类型 - getTypeFenFa(){ - return [ - {type:1,label:'代表发文'}, - {type:2,label:'收文'}, - {type:3,label:'呈报事项'}, - {type:4,label:'纪检发文'}, - {type:5,label:'会议通知'}, - {type:6,label:'重大事项通知'}, - {type:7,label:'议案分发提议人'}, - {type:8,label:'公文流转'}, - ] - }, - // 获取员工类型 - getPersonType(){ - return [ - {type:1,label:'集团领导'}, - {type:2,label:'中层领导'}, - {type:3,label:'普通员工'}, - ] - }, - // 获取书记类型 - getTypeSJ(){ - return [ - {type:1,label:'党委书记'}, - {type:2,label:'党委副书记'} - ] - }, - // 获取当前时间-年月日 - getNowTimeYMD(){ - let date = new Date(), - year = date.getFullYear(), - month = (date.getMonth()+1) < 10 ? '0' + (date.getMonth()+1) : date.getMonth()+1, - day = (date.getDate()) < 10 ? '0' + (date.getDate()) : date.getDate(), - days = year + '-' + month + '-' + day - return days - }, - // 获取当前时间-年月日时分 - getNowTimeYMDHM(){ - let date = new Date(), - year = date.getFullYear(), - month = (date.getMonth()+1) < 10 ? '0' + (date.getMonth()+1) : date.getMonth()+1, - day = (date.getDate()) < 10 ? '0' + (date.getDate()) : date.getDate(), - hour = (date.getHours()) < 10 ? '0' + (date.getHours()) : date.getHours(), - min = (date.getMinutes()) < 10 ? '0' + (date.getMinutes()) : date.getMinutes(), - days = year + '-' + month + '-' + day + ' ' + hour + ':' + min - return days - }, - // 两个数组合并并且去重 - mergeArr(arr1,arr2,key){ - let arr = arr1.concat(arr2); //两个数组对象合并 - let newArr = []; //盛放去重后数据的新数组 - for(let a = 0; a < arr.length; a++){ //循环json数组对象的内容 - let flag = true; //建立标记,判断数据是否重复,true为不重复 - for(let b = 0; b < newArr.length; b++){ //循环新数组的内容 - if(arr[a][key] == newArr[b][key]){ //让json数组对象的内容与新数组的内容作比较,相同的话,改变标记为false - flag = false; - } - } - if(flag){ //判断是否重复 - newArr.push(arr[a]); //不重复的放入新数组。 新数组的内容会继续进行上边的循环。 - } - } - return newArr - }, - // 去掉数组重复数据 - delArrRepeat(arr,key){ - var result = []; - var obj = {}; - for(var i =0; i 0) { - flag = false; - break; - } - } - return flag; - }, - // 获取语言列表 - getLanguage(){ - return [ - {id:'cn',name:'CN',type:1}, - // {id:'en',name:'English',type:2} - ] - }, - // 检测url是否有某key,并获取值 - urlIsHaveKey(key){ - let urlAll = window.location.href - let urls = urlAll.replace('?','&') - let urlArr = urls.split('&') - // console.log(urlArr) - for(let a = 0; a < urlArr.length;a++){ - let urlA = urlArr[a].split('=') - if(urlA[0] == key){ - return urlA[1] - } - } - return '' - }, - // 计算精度 - getPoint(num){ - let number = 1 - for(let a = 0; a < num;a++){ - number = number + '0' - } - return Number(number) - }, - // 获取合约地址 - getContract(){ - return { - 'key':'地址', - } - }, - // 获取请求域名 - getBaseUrl(){ - return baseUrl - }, - // 获取图片域名 - getBasePageUrl(){ - return 'https://pool.xinhuoshuju.com' - }, - // 判断对象中是否有某key值,如果有该值,直接返回该对象 - checkObjKeyIsValue(arrs,key,value){ - let items = '' - arrs.forEach((item,k) => { - if(item[key] == value){ - items = item - } - }) - if(items){ - return items - } - return false - }, - // 数字转换小数点任意位 - changeNumberPoint(number,length = 2){ - let nums = '1' - for(let a = 0; a < length; a++){ - nums = nums + '0' - } - let num = Number(number) / nums // 金额转换小数点后六位 - let result = num.toFixed(length) // 截取6位 - return result - }, - // 检测密码只能是英文大小写加数字 - checkPswEN(psw){ - let check_big = /[A-Z]/g - // console.log(check_big.test(psw)) - let check_small = /[a-z]/g - // console.log(check_small.test(psw)) - let check_num = /[0-9]/g - // console.log(check_num.test(psw)) - if(check_big.test(psw) && check_small.test(psw) && check_num.test(psw)){ - return true - } - return false - }, - // 生成uuid - createUUID() { - var s = []; - var hexDigits = "0123456789abcdef"; - for (var i = 0; i < 36; i++) { - s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); - } - s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 - s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 - s[8] = s[13] = s[18] = s[23] = "-"; - - var uuid = s.join(""); - return uuid; - }, - - - // ----------------------时间转换---------------------- - // 获取当前时间-精确到时分秒 - time_StampToHMS(){ - var now = new Date(); - var hour = now.getHours();//得到小时 - var minu = now.getMinutes();//得到分钟 - var sec = now.getSeconds();//得到秒 - if(hour < 10){ - hour = '0' + hour - } - if(minu < 10){ - minu = '0' + minu - } - if(sec < 10){ - sec = '0' + sec - } - return hour + ':' + minu + ':' + sec - }, - // 时分秒转换成秒数 - time_HMSToS(time){ - var s = ''; - var hour = time.split(':')[0]; - var min = time.split(':')[1]; - var sec = time.split(':')[2]; - - s = Number(hour*3600) + Number(min*60) + Number(sec); - - return s; - }, - // 根据时间戳获取年月日时分秒 - time_StampToYMDHMS(sjc) { - let datetime = new Date(sjc); - // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 - var year = datetime.getFullYear(), - month = ("0" + (datetime.getMonth() + 1)).slice(-2), - date = ("0" + datetime.getDate()).slice(-2), - hour = ("0" + datetime.getHours()).slice(-2), - minute = ("0" + datetime.getMinutes()).slice(-2), - second = ("0" + datetime.getSeconds()).slice(-2); - // 拼接 - var result = year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; - // 返回 - return result; - }, - // 毫秒转换时分秒 - time_MsecToHMS(value) { - var theTime = parseInt(value);// 秒 - var middle= 0;// 分 - var hour= 0;// 小时 - - if(theTime > 60) { - middle= parseInt(theTime/60); - theTime = parseInt(theTime%60); - if(middle> 60) { - hour= parseInt(middle/60); - middle= parseInt(middle%60); - } - } - var result = parseInt(theTime); - if(theTime < 10){ - result = "0"+theTime; - } - if(middle > 0) { - if(middle < 10){ - result = "0"+parseInt(middle)+":"+result; - }else{ - result = parseInt(middle)+":"+result; - } - } - if(hour> 0) { - if(hour < 10){ - result = "0"+parseInt(hour)+":"+result; - }else{ - result = parseInt(hour)+":"+result; - } - } - return result; - }, - clearEmpty(value){ - return value.replaceAll(' ','') - }, - // 秒转换成天时分秒 - time_MsecToDHMS(time){ - time = (time / 1000).toFixed(0) - var days = parseInt(time / (1000 * 60 * 60 * 24)); - var hours = parseInt((time % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); - var minutes = parseInt((time % (1000 * 60 * 60)) / (1000 * 60)); - var seconds = (time % (1000 * 60)) / 1000; - return (days).toFixed(0) + " 天 " + (hours).toFixed(0) + " 小时 " + (minutes).toFixed(0) + " 分钟 " + (seconds).toFixed(0) + " 秒 "; - }, - // 秒数转换成时分秒 - time_SToHMS(s){ - var t - if(s > -1){ - var hour = Math.floor(s/3600) - var min = Math.floor(s/60) % 60 - var sec = s % 60 - if(hour < 10) { - t = '0'+ hour + ":" - } else { - t = hour + ":" - } - if(min < 10){ - t += "0" - } - t += min + ":" - if(sec < 10){ - t += "0" - } - t += sec.toFixed(2) - } - return t - }, - -} +// 请求时接口的公用部分 +// #ifdef APP-PLUS || MP +// const baseUrl = "http://116.62.210.143:9002"; +const baseUrl = "http://118.89.79.160:8800/HiatmpPro"; +const chatUrl = "http://118.89.79.160:8800/HiatmpPro"; +// #endif +// #ifdef H5 +const baseUrl = "/HiatmpPro"; +const chatUrl = "/hitapChat"; +// #endif + +// 图片路径的公用部分 +const imgSrc = "/static"; +// 图片上传地址 +const imgUrl = "/hyjg-admin/mapi/upload/upload"; +const imgUserIdUrl = "/hyjg-admin/mapi/upload/uploadAndIdentify"; +// 上传图片的name值 +const fileImgKey = "file"; + +// 上传视频的name值 +const fileVideoKey = "img"; +// 上传视频的大小限制(单位:千字节) +const videoSize = 10240000; // 10M + +module.exports = { + // --------------------变量-------------------- + // 图片路径的公用部分 + imgSrc, + // 图片上传地址 + imgUrl, + imgUserIdUrl, + // 上传图片的name值 + fileImgKey, + // 视频大小 + videoSize, + // 视频name值 + fileVideoKey, + baseUrl, + chatUrl, + // ----------------------校验---------------------- + // 处理时间两位数 + timeDealTwo(value) { + let val = Number(value) + return val < 10 ? '0' + val : val + }, + // 判断两个对象是否相同 + isObjEqual(o1, o2) { + var props1 = Object.getOwnPropertyNames(o1) + var props2 = Object.getOwnPropertyNames(o2) + if (props1.indexOf('__ob__') !== -1) { + props1.splice(props1.indexOf('__ob__'), 1) + } + if (props2.indexOf('__ob__') !== -1) { + props2.splice(props2.indexOf('__ob__'), 1) + } + var a = true + var b = true + if (props1.length !== props2.length) { + a = false + } else { + for (var i = 0, max = props1.length; i < max; i++) { + var propName = props1[i] + if (o1[propName] !== o2[propName]) { + b = false + break + } + } + } + return a && b + }, + checkHasKey(key, str) { + if (str.indexOf(key) != -1) { + return true + } + return false + }, + // 非空验证(包含数字) + isEmpty(value, isnumber = false) { + if (isnumber) { + if (value <= 0) { + return false + } + } + if (value == '' || value == null || typeof(value) == 'undefined') { + return false + } + return true + }, + // 手机号验证 + isPhone(phone) { + // 是否正确(默认不正确) + let br = false; + if (/^0?(13[0-9]|14[5-9]|15[012356789]|166|17[0-9]|18[0-9]|19[8-9])[0-9]{8}$/.test(phone)) { + br = true; + } + return br; + }, + // 邮箱验证 + isEmail(email) { + // 是否正确(默认不正确) + let br = false; + if (/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/.test(email)) { + br = true; + } + return br; + }, + // 身份证验证 + isPersonID(code) { + //身份证号合法性验证 + //支持15位和18位身份证号 + //支持地址编码、出生日期、校验位验证 + var city = { + 11: "北京", + 12: "天津", + 13: "河北", + 14: "山西", + 15: "内蒙古", + 21: "辽宁", + 22: "吉林", + 23: "黑龙江 ", + 31: "上海", + 32: "江苏", + 33: "浙江", + 34: "安徽", + 35: "福建", + 36: "江西", + 37: "山东", + 41: "河南", + 42: "湖北 ", + 43: "湖南", + 44: "广东", + 45: "广西", + 46: "海南", + 50: "重庆", + 51: "四川", + 52: "贵州", + 53: "云南", + 54: "西藏 ", + 61: "陕西", + 62: "甘肃", + 63: "青海", + 64: "宁夏", + 65: "新疆", + 71: "台湾", + 81: "香港", + 82: "澳门", + 91: "国外 " + }; + var br = true; + var msg = "验证成功"; + + if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(code)) { + br = false; + msg = "被保人身份证号格式错误"; + } else if (!city[code.substr(0, 2)]) { + br = false; + msg = "被保人身份证号地址编码错误"; + } else { + //18位身份证需要验证最后一位校验位 + if (code.length == 18) { + code = code.split(''); + //∑(ai×Wi)(mod 11) + //加权因子 + var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; + //校验位 + var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; + var sum = 0; + var ai = 0; + var wi = 0; + for (var i = 0; i < 17; i++) { + ai = code[i]; + wi = factor[i]; + sum += ai * wi; + } + if (parity[sum % 11] != code[17].toUpperCase()) { + br = false; + msg = "被保人身份证号校验位错误"; + } + } + } + return { + br, + msg + }; + }, + // 处理时间 + dealTimeLength(value) { + let num = Number(value) + let str = num < 10 ? '0' + num : num + // let str = value.toString() + return str + }, + // 是否是正整数 + isNum(num) { + if (!(/(^[1-9]\d*$)/.test(num))) { + return false; + } + return true + }, + // 是否有小数点 + isDot(num) { + var result = (num.toString()).indexOf("."); + if (result != -1) { + return false + alert("含有小数点"); + } + return true + }, + + // ----------------------原生---------------------- + setNavName(value) { + uni.setNavigationBarTitle({ + title: value + }) + }, + // 查看文件 + checkFile(url) { + uni.showLoading({ + mask: true, + }); + uni.downloadFile({ + url: url, //仅为示例,并非真实的资源 + success: function(res) { + if (res.statusCode === 200) { + uni.hideLoading(); + var filePath = res.tempFilePath; + uni.openDocument({ + filePath: filePath, + success: function(res) { + console.log("打开文档成功"); + }, + }); + } + }, + }); + }, + // 扫一扫 + scanCode(callback) { + uni.scanCode({ + scanType: ['barCode', 'qrCode'], + success(res) { + callback(res) + } + }); + }, + // 图片预览 + previewImg(current, urls) { + uni.previewImage({ + current: current, // 当前显示图片的https链接 + urls: urls // 需要预览的图片https链接列表 + }) + }, + // 显示加载动画 + showLoading(title = "加载中...", mask = true) { + uni.showLoading({ + title: title, + mask: mask, + }) + }, + // 关闭加载动画 + hideLoading() { + uni.hideLoading(); + }, + // 提示框 + toast(title, time = 1500, mask = true, icon = "none") { + uni.showToast({ + // 提示的内容 + title: title, + // 提示的时间 + duration: time, + // 是否显示透明蒙层,防止触摸穿透(false) + mask: mask, + // 图标(success) + icon: icon, + }) + }, + // 对话框 + dialogBox(obj) { + let showCancel = true; + if (obj.l_show == false) { + showCancel = false; + } + uni.showModal({ + // 对话框的标题(选填) + title: obj.title || "", + // 对话框的内容(选填) + content: obj.content || "", + // 是否显示左边的按钮(选填,默认显示) + showCancel: showCancel, + // 左边按钮的文字内容(选填,默认取消) + cancelText: obj.l_text || "取消", + // 左边按钮的文字颜色(选填,默认#000000) + cancelColor: obj.l_color || "#000000", + // 右边按钮的文字内容(选填,默认确定) + confirmText: obj.r_text || "确定", + // 右边按钮的文字颜色(选填,默认#3cc51f) + confirmColor: obj.r_color || "#3cc51f", + success: (res) => { + if (res.confirm) { // 点击了确定按钮 + if (obj.r_fun) { + obj.r_fun(); + } + } else { // 点击了取消按钮 + if (obj.l_fun) { + obj.l_fun(); + } + } + } + }) + }, + // 打开一个新页面 + open(url) { + uni.navigateTo({ + url: url + }) + }, + // 关闭所有页面,然后打开一个新页面 + openNew(url) { + uni.reLaunch({ + url: url + }); + }, + // 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 + openTab(url) { + uni.switchTab({ + url: url + }); + }, + // 当前页打开新页面 + href(url) { + uni.redirectTo({ + url: url + }) + }, + // 页面返回 + back(delta = 1) { + // #ifdef H5 + const pages = getCurrentPages() + if (pages.length > 1) { + uni.navigateBack(1) + return; + } + //使用vue-router返回上一级 + if (typeof(this.$router) == 'undefined') { + //重新定向跳转页面 + uni.switchTab({ + url: '/pages/index/index' + }) + } else { + this.$router.go(-1) + } + return; + // #endif + if (getCurrentPages().length > 1) { + uni.navigateBack({ + delta: delta + }) + } else { + // #ifdef APP-PLUS + uni.switchTab({ + url: '/pages/index/index' + }) + // #endif + // #ifdef MP-WEIXIN + uni.switchTab({ + url: '/pages/index/index' + }) + // #endif + } + }, + // 获取之前页面的数据 + backGetData(index = 1) { + // 往上一级页面传参 + const pages = getCurrentPages(); + const prevPage = pages[pages.length - index - 1]; // 上index级页面 + return prevPage; + }, + // 将数据存到本地 + setData(key, data) { + uni.setStorageSync(key, data); + }, + // 从本地获取数据 + getData(key) { + return uni.getStorageSync(key); + }, + // 同步删除本地数据 + removeData(key) { + uni.removeStorageSync(key); + }, + // 同步清除本地数据 + clearData() { + uni.clearStorage(); + }, + // 设置底部导航 + setBar(index, text) { + uni.setTabBarItem({ + index: index, + text: text + }) + }, + // 打开地图选择地址 + chooseAddress(success) { + uni.chooseLocation({ + success: function(res) { + success({ + // 地点名称 + name: res.name, + // 详细地址 + address: res.address, + // 经纬度 + lng: res.longitude, + lat: res.latitude + }); + }, + }); + }, + // 打开地图 + openMap(lng, lat, name) { + uni.openLocation({ + longitude: lng - 0, + latitude: lat - 0, + name: name, + }) + }, + // 复制 + copy(text, toasttext = '复制成功') { + // #ifdef APP-PLUS + uni.setClipboardData({ + data: text, + success: () => { + toast(toasttext); + } + }); + // #endif + // #ifdef H5 + // 如果是H5,获取设备信息 + uni.getSystemInfo({ + success: function(res) { + let input = document.createElement('input'); + input.type = 'text'; + input.value = text; + input.style.position = 'fixed'; + input.style.top = "-100vh"; + input.style.left = "-100vw"; + input.style.opacity = 0; + window.document.body.appendChild(input); + input.select(); + if (res.platform == "ios") { + input.setSelectionRange(0, input.value.length), document.execCommand('Copy'); + } else { + document.execCommand("Copy"); + } + document.body.removeChild(input); + toast(toasttext); + } + }); + // #endif + }, + // 拨打电话 + callNumber(phone) { + uni.makePhoneCall({ + phoneNumber: phone, + }) + }, + + // ----------------------自封方法---------------------- + // 获取分发类型 + getTypeFenFa() { + return [{ + type: 1, + label: '代表发文' + }, + { + type: 2, + label: '收文' + }, + { + type: 3, + label: '呈报事项' + }, + { + type: 4, + label: '纪检发文' + }, + { + type: 5, + label: '会议通知' + }, + { + type: 6, + label: '重大事项通知' + }, + { + type: 7, + label: '议案分发提议人' + }, + { + type: 8, + label: '公文流转' + }, + ] + }, + // 获取员工类型 + getPersonType() { + return [{ + type: 1, + label: '集团领导' + }, + { + type: 2, + label: '中层领导' + }, + { + type: 3, + label: '普通员工' + }, + ] + }, + // 获取书记类型 + getTypeSJ() { + return [{ + type: 1, + label: '党委书记' + }, + { + type: 2, + label: '党委副书记' + } + ] + }, + // 获取当前时间-年月日 + getNowTimeYMD() { + let date = new Date(), + year = date.getFullYear(), + month = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1, + day = (date.getDate()) < 10 ? '0' + (date.getDate()) : date.getDate(), + days = year + '-' + month + '-' + day + return days + }, + // 获取当前时间-年月日时分 + getNowTimeYMDHM() { + let date = new Date(), + year = date.getFullYear(), + month = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1, + day = (date.getDate()) < 10 ? '0' + (date.getDate()) : date.getDate(), + hour = (date.getHours()) < 10 ? '0' + (date.getHours()) : date.getHours(), + min = (date.getMinutes()) < 10 ? '0' + (date.getMinutes()) : date.getMinutes(), + days = year + '-' + month + '-' + day + ' ' + hour + ':' + min + return days + }, + // 两个数组合并并且去重 + mergeArr(arr1, arr2, key) { + let arr = arr1.concat(arr2); //两个数组对象合并 + let newArr = []; //盛放去重后数据的新数组 + for (let a = 0; a < arr.length; a++) { //循环json数组对象的内容 + let flag = true; //建立标记,判断数据是否重复,true为不重复 + for (let b = 0; b < newArr.length; b++) { //循环新数组的内容 + if (arr[a][key] == newArr[b][key]) { //让json数组对象的内容与新数组的内容作比较,相同的话,改变标记为false + flag = false; + } + } + if (flag) { //判断是否重复 + newArr.push(arr[a]); //不重复的放入新数组。 新数组的内容会继续进行上边的循环。 + } + } + return newArr + }, + // 去掉数组重复数据 + delArrRepeat(arr, key) { + var result = []; + var obj = {}; + for (var i = 0; i < arr.length; i++) { + if (!obj[arr[i][key]]) { + result.push(arr[i]); + obj[arr[i][key]] = true; + } + } + return result + }, + // 检查对象是否有某key + checkObjHasKey(key, obj) { + if (key in obj) { + return true + } + return false + }, + IsPC() { + var userAgentInfo = navigator.userAgent; + var Agents = ["Android", "iPhone", + "SymbianOS", "Windows Phone", + "iPad", "iPod" + ]; + var flag = true; + for (var v = 0; v < Agents.length; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; + }, + // 获取语言列表 + getLanguage() { + return [{ + id: 'cn', + name: 'CN', + type: 1 + }, + // {id:'en',name:'English',type:2} + ] + }, + // 检测url是否有某key,并获取值 + urlIsHaveKey(key) { + let urlAll = window.location.href + let urls = urlAll.replace('?', '&') + let urlArr = urls.split('&') + // console.log(urlArr) + for (let a = 0; a < urlArr.length; a++) { + let urlA = urlArr[a].split('=') + if (urlA[0] == key) { + return urlA[1] + } + } + return '' + }, + // 计算精度 + getPoint(num) { + let number = 1 + for (let a = 0; a < num; a++) { + number = number + '0' + } + return Number(number) + }, + // 获取合约地址 + getContract() { + return { + 'key': '地址', + } + }, + // 获取请求域名 + getBaseUrl() { + return baseUrl + }, + // 获取图片域名 + getBasePageUrl() { + return 'https://pool.xinhuoshuju.com' + }, + // 判断对象中是否有某key值,如果有该值,直接返回该对象 + checkObjKeyIsValue(arrs, key, value) { + let items = '' + arrs.forEach((item, k) => { + if (item[key] == value) { + items = item + } + }) + if (items) { + return items + } + return false + }, + // 数字转换小数点任意位 + changeNumberPoint(number, length = 2) { + let nums = '1' + for (let a = 0; a < length; a++) { + nums = nums + '0' + } + let num = Number(number) / nums // 金额转换小数点后六位 + let result = num.toFixed(length) // 截取6位 + return result + }, + // 检测密码只能是英文大小写加数字 + checkPswEN(psw) { + let check_big = /[A-Z]/g + // console.log(check_big.test(psw)) + let check_small = /[a-z]/g + // console.log(check_small.test(psw)) + let check_num = /[0-9]/g + // console.log(check_num.test(psw)) + if (check_big.test(psw) && check_small.test(psw) && check_num.test(psw)) { + return true + } + return false + }, + // 生成uuid + createUUID() { + var s = []; + var hexDigits = "0123456789abcdef"; + for (var i = 0; i < 36; i++) { + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); + } + s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 + s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 + s[8] = s[13] = s[18] = s[23] = "-"; + + var uuid = s.join(""); + return uuid; + }, + + + // ----------------------时间转换---------------------- + // 获取当前时间-精确到时分秒 + time_StampToHMS() { + var now = new Date(); + var hour = now.getHours(); //得到小时 + var minu = now.getMinutes(); //得到分钟 + var sec = now.getSeconds(); //得到秒 + if (hour < 10) { + hour = '0' + hour + } + if (minu < 10) { + minu = '0' + minu + } + if (sec < 10) { + sec = '0' + sec + } + return hour + ':' + minu + ':' + sec + }, + // 时分秒转换成秒数 + time_HMSToS(time) { + var s = ''; + var hour = time.split(':')[0]; + var min = time.split(':')[1]; + var sec = time.split(':')[2]; + + s = Number(hour * 3600) + Number(min * 60) + Number(sec); + + return s; + }, + // 根据时间戳获取年月日时分秒 + time_StampToYMDHMS(sjc) { + let datetime = new Date(sjc); + // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 + var year = datetime.getFullYear(), + month = ("0" + (datetime.getMonth() + 1)).slice(-2), + date = ("0" + datetime.getDate()).slice(-2), + hour = ("0" + datetime.getHours()).slice(-2), + minute = ("0" + datetime.getMinutes()).slice(-2), + second = ("0" + datetime.getSeconds()).slice(-2); + // 拼接 + var result = year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; + // 返回 + return result; + }, + // 毫秒转换时分秒 + time_MsecToHMS(value) { + var theTime = parseInt(value); // 秒 + var middle = 0; // 分 + var hour = 0; // 小时 + + if (theTime > 60) { + middle = parseInt(theTime / 60); + theTime = parseInt(theTime % 60); + if (middle > 60) { + hour = parseInt(middle / 60); + middle = parseInt(middle % 60); + } + } + var result = parseInt(theTime); + if (theTime < 10) { + result = "0" + theTime; + } + if (middle > 0) { + if (middle < 10) { + result = "0" + parseInt(middle) + ":" + result; + } else { + result = parseInt(middle) + ":" + result; + } + } + if (hour > 0) { + if (hour < 10) { + result = "0" + parseInt(hour) + ":" + result; + } else { + result = parseInt(hour) + ":" + result; + } + } + return result; + }, + clearEmpty(value) { + return value.replaceAll(' ', '') + }, + // 秒转换成天时分秒 + time_MsecToDHMS(time) { + time = (time / 1000).toFixed(0) + var days = parseInt(time / (1000 * 60 * 60 * 24)); + var hours = parseInt((time % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + var minutes = parseInt((time % (1000 * 60 * 60)) / (1000 * 60)); + var seconds = (time % (1000 * 60)) / 1000; + return (days).toFixed(0) + " 天 " + (hours).toFixed(0) + " 小时 " + (minutes).toFixed(0) + " 分钟 " + (seconds) + .toFixed(0) + " 秒 "; + }, + // 秒数转换成时分秒 + time_SToHMS(s) { + var t + if (s > -1) { + var hour = Math.floor(s / 3600) + var min = Math.floor(s / 60) % 60 + var sec = s % 60 + if (hour < 10) { + t = '0' + hour + ":" + } else { + t = hour + ":" + } + if (min < 10) { + t += "0" + } + t += min + ":" + if (sec < 10) { + t += "0" + } + t += sec.toFixed(2) + } + return t + }, + +} \ No newline at end of file diff --git a/manifest.json b/manifest.json index 4e5b676..c562777 100644 --- a/manifest.json +++ b/manifest.json @@ -141,7 +141,15 @@ "pathRewrite" : { "^/HiatmpPro" : "/HiatmpPro" } - } + }, + "/hitapChat" : { + "target" : "http://219.147.31.25:30001/hitap", + "changeOrigin" : true, + "secure" : false, + "pathRewrite" : { + "^/hitapChat" : "" + } + } } }, "title" : "排查隐患" diff --git a/pages/index/detail.vue b/pages/index/detail.vue index 1840985..303b650 100644 --- a/pages/index/detail.vue +++ b/pages/index/detail.vue @@ -1,678 +1,695 @@ - - - - - + + + + + \ No newline at end of file diff --git a/pages/investigation/components/investigation-item.vue b/pages/investigation/components/investigation-item.vue index 070d2e2..2339d45 100644 --- a/pages/investigation/components/investigation-item.vue +++ b/pages/investigation/components/investigation-item.vue @@ -251,7 +251,9 @@ } /deep/ .uni-forms-item__label { - font-size: 16px; + font-size: 32rpx; + height:auto; + margin-bottom: 20rpx; } } diff --git a/pages/investigation/components/investigation-item2.vue b/pages/investigation/components/investigation-item2.vue index bf166c2..78622af 100644 --- a/pages/investigation/components/investigation-item2.vue +++ b/pages/investigation/components/investigation-item2.vue @@ -271,7 +271,8 @@ } /deep/ .uni-forms-item__label { - font-size: 16px; + font-size: 32rpx; + // height:82rpx } } @@ -297,4 +298,5 @@ color: #2663BF; } } + \ No newline at end of file diff --git a/pages/investigation/task.vue b/pages/investigation/task.vue index 4de9cab..12cbd5b 100644 --- a/pages/investigation/task.vue +++ b/pages/investigation/task.vue @@ -1,1361 +1,1241 @@ - - - + + + } + + .breadcrumb { + padding: 0 20rpx; + overflow-x: auto; + } + \ No newline at end of file