helper.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  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, name) {
  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(name)
  35. _list2.unshift('')
  36. _list3.unshift('')
  37. }
  38. _list.push(_list1, _list2, _list3)
  39. return _list
  40. }
  41. const getListByUserId = function() {
  42. let baseUrlNew = config.def().baseUrlNew
  43. var userInfo = uni.getStorageSync("userInfo")
  44. console.log("------", userInfo)
  45. if (userInfo) {
  46. uni.request({
  47. url: baseUrlNew + '/roleMenu/query/getListByUserId',
  48. data: {
  49. userId: userInfo.id ? userInfo.id : userInfo.data.id
  50. },
  51. method: 'GET',
  52. success: (res) => {
  53. if (res.statusCode === 200) {
  54. uni.setStorageSync("jurisdiction", res.data.data)
  55. let list = getUserAllRoles(res.data.data);
  56. uni.setStorageSync("rolesList", list)
  57. }
  58. }
  59. })
  60. }
  61. }
  62. const getUserAllRoles = (item) => {
  63. console.log(item)
  64. for (let i = 0; i < item.length; i++) {
  65. rolesList.push(item[i].name)
  66. // console.log('用户权限',rolesList)
  67. if (item[i].children && item[i].children.length > 0) {
  68. getUserAllRoles(item[i].children)
  69. }
  70. }
  71. return rolesList;
  72. }
  73. const setAudit = (item) => {
  74. let _list = uni.getStorageSync("copyTaskInfo")
  75. let _isShowbtn = true
  76. if (_list.length == 0) {
  77. _isShowbtn = false
  78. }
  79. for (let i = 0; i < _list.length; i++) {
  80. if (_list[i].businessId == item.id) {
  81. _list.splice(i, 1)
  82. uni.setStorageSync("copyTaskInfo", _list)
  83. }
  84. }
  85. if (_list.length > 0) {
  86. uni.navigateTo({
  87. url: _list[0].itemUrl + '&isShowbtn=' + _isShowbtn,
  88. })
  89. }
  90. console.log(item)
  91. }
  92. const contactCustomerService = (item) => {
  93. console.log(item)
  94. if (!item) {
  95. item = '110'
  96. }
  97. console.log("联系客服")
  98. uni.makePhoneCall({
  99. phoneNumber: item,
  100. success: (res) => {
  101. console.log('调用成功!')
  102. },
  103. // 失败回调
  104. fail: (res) => {
  105. console.log('调用失败!')
  106. contactCustomerService(item)
  107. }
  108. });
  109. }
  110. // 获取市、区简称
  111. const filterUrban = (s) => {
  112. return s.substring(0, s.length - 1)
  113. }
  114. const filterArea = (q) => {
  115. return q.substring(0, q.length - 1)
  116. }
  117. // const getAddress = (item) => {
  118. // let regex = "(?<province>[^省]+省|.+自治区)(?<city>[^自治州]+自治州|[^市]+市|[^盟]+盟|[^地区]+地区|.+区划)(?<county>[^市]+市|[^县]+县|[^旗]+旗|.+区)?(?<town>[^区]+区|.+镇)?(?<village>.*)";
  119. // return item.match(regex).groups
  120. // }
  121. const formatLocation = (str) => {
  122. // console.log('``````')
  123. // console.log(str)
  124. let area = {}
  125. let index11 = 0
  126. let index1 = str.indexOf("省")
  127. if (index1 == -1) {
  128. index11 = str.indexOf("自治区")
  129. if (index11 != -1) {
  130. area.Province = str.substring(0, index11 + 3)
  131. } else {
  132. area.Province = str.substring(0, 0)
  133. }
  134. } else {
  135. area.Province = str.substring(0, index1 + 1)
  136. }
  137. let index2 = str.indexOf("市")
  138. if (index11 == -1) {
  139. area.City = str.substring(index11 + 1, index2 + 1)
  140. } else {
  141. if (index11 == 0) {
  142. area.City = str.substring(index1 + 1, index2 + 1)
  143. } else {
  144. area.City = str.substring(index11 + 3, index2 + 1)
  145. }
  146. }
  147. let index3 = str.indexOf("区")
  148. if (index3 == -1) {
  149. index3 = str.indexOf("县")
  150. area.Country = str.substring(index2 + 1, index3 + 1)
  151. } else {
  152. area.Country = str.substring(index2 + 1, index3 + 1)
  153. }
  154. area.Village = str.substring(index3 + 1, str.length)
  155. return area;
  156. }
  157. //获取省份简称
  158. const getProvinceAbbreviation = (province) => {
  159. // console.log(province)
  160. if (province == "北京市" || province == "北京")
  161. return "京";
  162. else if (province == "天津市" || province == "天津")
  163. return "津";
  164. else if (province == "重庆市" || province == "重庆")
  165. return "渝";
  166. else if (province == "上海市" || province == "上海")
  167. return "沪";
  168. else if (province == "河北省" || province == "河北")
  169. return "冀";
  170. else if (province == "山西省" || province == "山西")
  171. return "晋";
  172. else if (province == "辽宁省" || province == "辽宁")
  173. return "辽";
  174. else if (province == "吉林省" || province == "吉林")
  175. return "吉";
  176. else if (province == "黑龙江省" || province == "黑龙江")
  177. return "黑";
  178. else if (province == "江苏省" || province == "江苏")
  179. return "苏";
  180. else if (province == "浙江省" || province == "浙江")
  181. return "浙";
  182. else if (province == "安徽省" || province == "安徽")
  183. return "皖";
  184. else if (province == "福建省" || province == "福建")
  185. return "闽";
  186. else if (province == "江西省" || province == "江西")
  187. return "赣";
  188. else if (province == "山东省" || province == "山东")
  189. return "鲁";
  190. else if (province == "河南省" || province == "河南")
  191. return "豫";
  192. else if (province == "湖北省" || province == "湖北")
  193. return "鄂";
  194. else if (province == "湖南省" || province == "湖南")
  195. return "湘";
  196. else if (province == "广东省" || province == "广东")
  197. return "粤";
  198. else if (province == "海南省" || province == "海南")
  199. return "琼";
  200. else if (province == "四川省" || province == "四川")
  201. return "川";
  202. else if (province == "贵州省" || province == "贵州")
  203. return "贵";
  204. else if (province == "云南省" || province == "云南")
  205. return "云";
  206. else if (province == "陕西省" || province == "陕西")
  207. return "陕";
  208. else if (province == "甘肃省" || province == "甘肃")
  209. return "甘";
  210. else if (province == "青海省" || province == "青海")
  211. return "青";
  212. else if (province == "台湾省" || province == "台湾")
  213. return "台";
  214. else if (province == "内蒙古自治区" || province == "内蒙古")
  215. return "蒙";
  216. else if (province == "广西壮族自治区" || province == "广西")
  217. return "桂";
  218. else if (province == "宁夏回族自治区" || province == "宁夏")
  219. return "宁";
  220. else if (province == "新疆维吾尔自治区" || province == "新疆")
  221. return "新";
  222. else if (province == "西藏自治区" || province == "西藏")
  223. return "藏";
  224. else if (province == "香港特别行政区" || province == "香港")
  225. return "港";
  226. else if (province == "澳门特别行政区" || province == "澳门")
  227. return "澳";
  228. }
  229. const getDistance = (lat1, lng1, lat2, lng2) => {
  230. function Rad(d) {
  231. return d * Math.PI / 180.0;
  232. }
  233. if (!lat1 || !lng1) {
  234. return '';
  235. }
  236. // lat1用户的纬度
  237. // lng1用户的经度
  238. // lat2商家的纬度
  239. // lng2商家的经度
  240. let radLat1 = Rad(lat1);
  241. let radLat2 = Rad(lat2);
  242. let a = radLat1 - radLat2;
  243. let b = Rad(lng1) - Rad(lng2);
  244. let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) *
  245. Math.pow(
  246. Math.sin(b / 2), 2)));
  247. s = s * 6378.137;
  248. s = Math.round(s * 10000) / 10000;
  249. s = s.toFixed(2) //保留两位小数
  250. return s
  251. }
  252. const logout = () => {
  253. uni.removeStorage({
  254. key: 'userInfo'
  255. })
  256. }
  257. export default {
  258. getListByUserId,
  259. setAudit,
  260. ossUploadUrl,
  261. contactCustomerService,
  262. chooseImage,
  263. imgType,
  264. imgTypeList,
  265. makeValidityPeriod,
  266. getProvinceAbbreviation,
  267. // getAddress,
  268. formatLocation,
  269. getDistance,
  270. logout,
  271. filterUrban,
  272. filterArea
  273. }