helper.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. import * as config from '../config'
  2. const rolesList = []
  3. const gjList=[]
  4. const ossUploadUrl = 'https://taohaoliang.oss-cn-beijing.aliyuncs.com/';
  5. const chooseImage = {
  6. count: '1',
  7. sizeType: ['original', 'compressed'],
  8. sourceType: ['album'],
  9. }
  10. const imgType = '请选择图片来源'
  11. const imgTypeList = [{
  12. name: '相册',
  13. },
  14. {
  15. name: '拍照',
  16. }
  17. ]
  18. // 当前日期是否超过今天(校验有效期)
  19. const periodOfValidity=function(year1,month1,day1){
  20. let nowDate = new Date();
  21. let year = nowDate.getFullYear()
  22. let month = nowDate.getMonth() + 1
  23. let day = nowDate.getDate()
  24. if(year1<year){
  25. return false
  26. }
  27. if(year1==year&&month1<month){
  28. return false
  29. }
  30. if(year1==year&&month1==month&&day1<=day){
  31. return false
  32. }
  33. return true
  34. }
  35. const makeValidityPeriod = function(type,yearnum) {
  36. console.log(yearnum)
  37. //获取当前年
  38. let nowDate = new Date();
  39. let year = nowDate.getFullYear()
  40. let _list = []
  41. let _list1 = []
  42. // let _list2 = ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]
  43. let _list2 = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]
  44. let _list3 = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14",
  45. "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
  46. "31"
  47. ]
  48. let _ValidityPeriod = []
  49. if(yearnum){
  50. var len=year-Number(yearnum)
  51. var len2=30+len
  52. for (let i = 0; i < len2; i++) {
  53. _list1.push(yearnum + i)
  54. }
  55. }else{
  56. for (let i = 0; i < 30; i++) {
  57. _list1.push(year + i)
  58. }
  59. }
  60. if (type == 0) {
  61. _list1.unshift('长期')
  62. _list2.unshift('')
  63. _list3.unshift('')
  64. }
  65. _list.push(_list1, _list2, _list3)
  66. return _list
  67. }
  68. const fUN_AmapLocation = uni.requireNativePlugin('FUN-AmapLocation');
  69. const getListByUserId = function() {
  70. let baseUrlNew = config.def().baseUrlNew
  71. var userInfo = uni.getStorageSync("userInfo")
  72. console.log("------", userInfo)
  73. if (userInfo) {
  74. uni.request({
  75. url: baseUrlNew + '/roleMenu/query/getListByUserId',
  76. data: {
  77. userId: userInfo.id ? userInfo.id : userInfo.data.id
  78. },
  79. method: 'GET',
  80. success: (res) => {
  81. if (res.statusCode === 200) {
  82. uni.setStorageSync("jurisdiction", res.data.data)
  83. let list = getUserAllRoles(res.data.data);
  84. uni.setStorageSync("rolesList", list)
  85. }
  86. }
  87. })
  88. }
  89. }
  90. const getUserAllRoles = (item) => {
  91. console.log(item)
  92. for (let i = 0; i < item.length; i++) {
  93. rolesList.push(item[i].name)
  94. // console.log('用户权限',rolesList)
  95. if (item[i].children && item[i].children.length > 0) {
  96. getUserAllRoles(item[i].children)
  97. }
  98. }
  99. return rolesList;
  100. }
  101. const setAudit = (item) => {
  102. let _list = uni.getStorageSync("copyTaskInfo")
  103. let _isShowbtn = true
  104. if (_list.length == 0) {
  105. _isShowbtn = false
  106. }
  107. for (let i = 0; i < _list.length; i++) {
  108. if (_list[i].businessId == item.id) {
  109. _list.splice(i, 1)
  110. uni.setStorageSync("copyTaskInfo", _list)
  111. }
  112. }
  113. if (_list.length > 0) {
  114. uni.navigateTo({
  115. url: _list[0].itemUrl + '&isShowbtn=' + _isShowbtn,
  116. })
  117. }
  118. console.log(item)
  119. }
  120. const contactCustomerService = (phone) => {
  121. console.log(phone)
  122. //客服
  123. if (!phone) {
  124. phone = '4006688647'
  125. }
  126. const res = uni.getSystemInfoSync();
  127. // ios系统默认有个模态框
  128. if(res.platform=='ios'){
  129. uni.makePhoneCall({
  130. phoneNumber:phone,
  131. success(){
  132. console.log('拨打成功了');
  133. },
  134. fail() {
  135. console.log('拨打失败了');
  136. }
  137. })
  138. }else{
  139. //安卓手机手动设置一个showActionSheet
  140. uni.showActionSheet({
  141. itemList: [phone,'呼叫'],
  142. success:function(res){
  143. console.log(res);
  144. if(res.tapIndex==1){
  145. uni.makePhoneCall({
  146. phoneNumber: phone,
  147. success: (res) => {
  148. console.log('调用成功!')
  149. },
  150. // 失败回调
  151. fail: (res) => {
  152. console.log('调用失败!')
  153. // contactCustomerService(item)
  154. }
  155. })
  156. }
  157. }
  158. })
  159. }
  160. // console.log("联系客服")
  161. // uni.makePhoneCall({
  162. // phoneNumber: item,
  163. // success: (res) => {
  164. // console.log('调用成功!')
  165. // },
  166. // // 失败回调
  167. // fail: (res) => {
  168. // console.log('调用失败!')
  169. // contactCustomerService(item)
  170. // }
  171. // });
  172. }
  173. // 获取市、区简称
  174. const filterUrban = (s) => {
  175. if (s.lastIndexOf('市') != -1) {
  176. return s.substring(0, s.length - 1)
  177. }
  178. return s
  179. }
  180. const filterArea = (q) => {
  181. if (q.lastIndexOf('区') != -1) {
  182. return q.substring(0, q.length - 1)
  183. }
  184. return q
  185. }
  186. // 根据当前时间获取本周一到本周日日期
  187. function getDates() {
  188. // var new_Date = new Date(t2)
  189. var new_Date = new Date()
  190. var timesStamp = new_Date.getTime()
  191. var currenDay = new_Date.getDay()
  192. var dates = []
  193. for (var i = 0; i < 7; i++) {
  194. dates.push(new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString().replace(
  195. /[年月]/g, '-').replace(/[日上下午]/g, ''));
  196. }
  197. var weekStar = new Date(dates[0] + ' 00:00:00').getTime()
  198. var weekEnd = new Date(dates[dates.length - 1] + ' 23:59:59').getTime()
  199. var week = [weekStar, weekEnd]
  200. return week
  201. }
  202. //判断是否是今天,昨天,明天
  203. function isToday(str,type) {
  204. //type == 0 判断是否是今天,type == 1 判断是否是昨天,type == 2 判断是否是明天
  205. if (type == 0){
  206. if (new Date(str).toDateString() === new Date().toDateString()) {
  207. // console.log('今天');
  208. return true
  209. } else{
  210. // console.log('不是今天');
  211. return false
  212. }
  213. }if (type == 1) {
  214. if (new Date(str).toDateString() === new Date(new Date().getTime() -1000 * 60 * 60 * 24).toDateString()) {
  215. // console.log('昨天');
  216. return true
  217. } else{
  218. // console.log('不是昨天');
  219. return false
  220. }
  221. }
  222. if (type == 2) {
  223. if (new Date(str).toDateString() === new Date(new Date().getTime() +1000 * 60 * 60 * 24).toDateString()) {
  224. // console.log('明天');
  225. return true
  226. } else{
  227. // console.log('不是明天');
  228. return false
  229. }
  230. }
  231. }
  232. const changeTime = (t1) => {
  233. // console.log(t1)
  234. // t1截止时间 t2当前时间
  235. // 调用getDtes函数把当前时间传过去,获取本周一和本周日时间戳
  236. // var weeks = getDates(t2)
  237. var weeks = getDates()
  238. // console.log(weeks)
  239. var dateBegin = new Date(t1.replace(/-/g,'/'))//解决ios时new Date(2021-04-17 09:50:20)报错
  240. // var dateEnd = new Date(t2)
  241. var dateEnd = new Date()
  242. // 时间戳
  243. var end = dateBegin.getTime()
  244. // console.log(end)
  245. var nows = dateEnd.getTime()
  246. // console.log(nows)
  247. // 获取当天0点时间戳todayStar
  248. const start = new Date(new Date(dateEnd).toLocaleDateString())
  249. start.setTime(start.getTime())
  250. var todayStar = new Date(start).getTime()
  251. // console.log(todayStar)
  252. // 获取当天23点59分59秒时间戳todayEnd
  253. var ends = new Date(new Date(new Date(dateEnd).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1)
  254. var todayEnd = new Date(ends).getTime()
  255. // console.log(todayEnd)
  256. // 时间差的毫秒数
  257. var dateDiff = Math.abs(dateBegin.getTime() - dateEnd.getTime())
  258. // 计算出相差天数
  259. var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000))
  260. // console.log(dayDiff);
  261. // 计算天数后剩余的毫秒数
  262. var leave1 = dateDiff % (24 * 3600 * 1000)
  263. // 计算出小时数
  264. var hours = Math.floor(leave1 / (3600 * 1000))
  265. // console.log(hours);
  266. // 计算相差分钟数
  267. var leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数
  268. // 计算相差分钟数
  269. var minutes = Math.floor(leave2 / (60 * 1000))
  270. // console.log(minutes);
  271. // t1截止时间 t2当前时间
  272. if (dateEnd < dateBegin) {
  273. if ((dayDiff === 0)) {
  274. if (hours === 0) {
  275. if (minutes < 30 || minutes == 30) {
  276. return minutes + '分钟后'
  277. }else{
  278. return '今天' + t1.substring(10, 16)
  279. }
  280. } else {
  281. if (isToday(end,0)) {
  282. return '今天' + t1.substring(10, 16)
  283. }else{
  284. return '明天' + t1.substring(10, 16)
  285. }
  286. }
  287. } else if (dayDiff === 1) {
  288. if (isToday(end,2)){
  289. return '明天' + t1.substring(10, 16)
  290. }else{
  291. if ((weeks[0] < end || weeks[0] == end) && (weeks[1] > end || weeks[1] == end)) {
  292. var weekArray = new Array('日', '一', '二', '三', '四', '五', '六')
  293. var week = weekArray[new Date(t1.replace(/-/g,'/')).getDay()] // 注意此处必须是先new一个Date
  294. return '周' + week + t1.substring(10, 16)
  295. } else {
  296. return t1.substring(0, 16).replace(/-/g, '/')
  297. }
  298. }
  299. } else {
  300. if ((weeks[0] < end || weeks[0] == end) && (weeks[1] > end || weeks[1] == end)) {
  301. var weekArray = new Array('日', '一', '二', '三', '四', '五', '六')
  302. var week = weekArray[new Date(t1.replace(/-/g,'/')).getDay()] // 注意此处必须是先new一个Date
  303. return '周' + week + t1.substring(10, 16)
  304. } else {
  305. return t1.substring(0, 16).replace(/-/g, '/')
  306. }
  307. }
  308. }
  309. if (dateEnd === dateBegin) {
  310. return '刚刚'
  311. }
  312. if (dateEnd > dateBegin) {
  313. if (dayDiff === 0) {
  314. if (hours === 0) {
  315. if (minutes < 60 || minutes == 60) {
  316. if (minutes < 5 || minutes == 5) {
  317. return '刚刚'
  318. } else {
  319. return minutes + '分钟前'
  320. }
  321. } else {
  322. return '今天' + t1.substring(10, 16)
  323. }
  324. } else {
  325. if (isToday(end,0)) {
  326. return hours+'小时前'
  327. }else{
  328. return '昨天' + t1.substring(10, 16)
  329. }
  330. }
  331. } else if (dayDiff === 1) {
  332. if (isToday(end,1)){
  333. // return '昨天' + t1.substring(10, 16)
  334. return dayDiff + '天前'
  335. }else{
  336. if ((weeks[0] < end || weeks[0] == end) && (weeks[1] > end || weeks[1] == end)) {
  337. var weekArray = new Array('日', '一', '二', '三', '四', '五', '六')
  338. var week = weekArray[new Date(t1.replace(/-/g,'/')).getDay()] // 注意此处必须是先new一个Date
  339. return '周' + week + t1.substring(10, 16)
  340. } else {
  341. return t1.substring(0, 16).replace(/-/g, '/')
  342. }
  343. }
  344. }else if (dayDiff < 30){
  345. // return dayDiff +'天前'+ t1.substring(10, 16)
  346. return dayDiff +'天前'
  347. }else if (dayDiff > 30 && dayDiff < 365){
  348. return t1.substring(5, 10)
  349. }else if (dayDiff > 365){
  350. return t1.substring(0, 4)
  351. }else {
  352. if ((weeks[0] < end || weeks[0] == end) && (weeks[1] > end || weeks[1] == end)) {
  353. var weekArray = new Array('日', '一', '二', '三', '四', '五', '六')
  354. var week = weekArray[new Date(t1.replace(/-/g,'/')).getDay()] // 注意此处必须是先new一个Date
  355. return '周' + week + t1.substring(10, 16)
  356. } else {
  357. return t1.substring(0, 16).replace(/-/g, '/')
  358. }
  359. }
  360. }
  361. }
  362. //获取省份简称
  363. const getProvinceAbbreviation = (province) => {
  364. if (province == "北京市" || province == "北京")
  365. return "京";
  366. else if (province == "天津市" || province == "天津")
  367. return "津";
  368. else if (province == "重庆市" || province == "重庆")
  369. return "渝";
  370. else if (province == "上海市" || province == "上海")
  371. return "沪";
  372. else if (province == "河北省" || province == "河北")
  373. return "冀";
  374. else if (province == "山西省" || province == "山西")
  375. return "晋";
  376. else if (province == "辽宁省" || province == "辽宁")
  377. return "辽";
  378. else if (province == "吉林省" || province == "吉林")
  379. return "吉";
  380. else if (province == "黑龙江省" || province == "黑龙江")
  381. return "黑";
  382. else if (province == "江苏省" || province == "江苏")
  383. return "苏";
  384. else if (province == "浙江省" || province == "浙江")
  385. return "浙";
  386. else if (province == "安徽省" || province == "安徽")
  387. return "皖";
  388. else if (province == "福建省" || province == "福建")
  389. return "闽";
  390. else if (province == "江西省" || province == "江西")
  391. return "赣";
  392. else if (province == "山东省" || province == "山东")
  393. return "鲁";
  394. else if (province == "河南省" || province == "河南")
  395. return "豫";
  396. else if (province == "湖北省" || province == "湖北")
  397. return "鄂";
  398. else if (province == "湖南省" || province == "湖南")
  399. return "湘";
  400. else if (province == "广东省" || province == "广东")
  401. return "粤";
  402. else if (province == "海南省" || province == "海南")
  403. return "琼";
  404. else if (province == "四川省" || province == "四川")
  405. return "川";
  406. else if (province == "贵州省" || province == "贵州")
  407. return "贵";
  408. else if (province == "云南省" || province == "云南")
  409. return "云";
  410. else if (province == "陕西省" || province == "陕西")
  411. return "陕";
  412. else if (province == "甘肃省" || province == "甘肃")
  413. return "甘";
  414. else if (province == "青海省" || province == "青海")
  415. return "青";
  416. else if (province == "台湾省" || province == "台湾")
  417. return "台";
  418. else if (province == "内蒙古自治区" || province == "内蒙古")
  419. return "蒙";
  420. else if (province == "广西壮族自治区" || province == "广西")
  421. return "桂";
  422. else if (province == "宁夏回族自治区" || province == "宁夏")
  423. return "宁";
  424. else if (province == "新疆维吾尔自治区" || province == "新疆")
  425. return "新";
  426. else if (province == "西藏自治区" || province == "西藏")
  427. return "藏";
  428. else if (province == "香港特别行政区" || province == "香港")
  429. return "港";
  430. else if (province == "澳门特别行政区" || province == "澳门")
  431. return "澳";
  432. }
  433. export default {
  434. getListByUserId,
  435. setAudit,
  436. ossUploadUrl,
  437. contactCustomerService,
  438. chooseImage,
  439. imgType,
  440. imgTypeList,
  441. makeValidityPeriod,
  442. periodOfValidity,
  443. getProvinceAbbreviation,
  444. filterUrban,
  445. filterArea,
  446. fUN_AmapLocation,
  447. changeTime,
  448. gjList
  449. }