helper.js 12 KB

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