helper.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. import * as config from '../config'
  2. const selectContractNo = {}
  3. const detailData = {}
  4. const erpWarehouse = {}
  5. let rolesList = []
  6. const gjList = []
  7. const dtList = []
  8. const now = Date.now || function() {
  9. return new Date().getTime();
  10. };
  11. const isArray = Array.isArray || function(obj) {
  12. return obj instanceof Array;
  13. };
  14. const getListByUserId = function() {
  15. let baseUrlNew = config.def().baseUrlNew
  16. var userInfo = uni.getStorageSync("userInfo")
  17. console.log("------", userInfo)
  18. if (userInfo) {
  19. uni.request({
  20. url: baseUrlNew + '/roleMenu/query/getListByUserId',
  21. data: {
  22. userId: userInfo.id ? userInfo.id : userInfo.data.id
  23. },
  24. method: 'GET',
  25. success: (res) => {
  26. if (res.statusCode === 200) {
  27. // debugger
  28. rolesList = []
  29. uni.setStorageSync("jurisdiction", res.data.data)
  30. let list = getUserAllRoles(res.data.data);
  31. uni.setStorageSync("rolesList", list)
  32. }
  33. }
  34. })
  35. }
  36. }
  37. const getUserAllRoles = (item) => {
  38. console.log(item)
  39. // debugger
  40. for (let i = 0; i < item.length; i++) {
  41. rolesList.push(item[i].name)
  42. // console.log('用户权限',rolesList)
  43. if (item[i].children && item[i].children.length > 0) {
  44. getUserAllRoles(item[i].children)
  45. }
  46. }
  47. return rolesList;
  48. }
  49. const contactCustomerService = (phone) => {
  50. console.log(phone)
  51. //客服
  52. if (!phone) {
  53. phone = '18241771147'
  54. }
  55. const res = uni.getSystemInfoSync();
  56. // ios系统默认有个模态框
  57. if(res.platform=='ios'){
  58. uni.makePhoneCall({
  59. phoneNumber:phone,
  60. success(){
  61. console.log('拨打成功了');
  62. },
  63. fail() {
  64. console.log('拨打失败了');
  65. }
  66. })
  67. }else{
  68. //安卓手机手动设置一个showActionSheet
  69. uni.showActionSheet({
  70. itemList: [phone,'呼叫'],
  71. success:function(res){
  72. console.log(res);
  73. if(res.tapIndex==1){
  74. uni.makePhoneCall({
  75. phoneNumber: phone,
  76. success: (res) => {
  77. console.log('调用成功!')
  78. },
  79. // 失败回调
  80. fail: (res) => {
  81. console.log('调用失败!')
  82. // contactCustomerService(item)
  83. }
  84. })
  85. }
  86. }
  87. })
  88. }
  89. // console.log("联系客服")
  90. // uni.makePhoneCall({
  91. // phoneNumber: item,
  92. // success: (res) => {
  93. // console.log('调用成功!')
  94. // },
  95. // // 失败回调
  96. // fail: (res) => {
  97. // console.log('调用失败!')
  98. // contactCustomerService(item)
  99. // }
  100. // });
  101. }
  102. const setAudit = (item) => {
  103. let _list = uni.getStorageSync("copyTaskInfo")
  104. let _isShowbtn = true
  105. if (_list.length == 0) {
  106. _isShowbtn = false
  107. }
  108. for (let i = 0; i < _list.length; i++) {
  109. if (_list[i].businessId == item.id) {
  110. _list.splice(i, 1)
  111. uni.setStorageSync("copyTaskInfo", _list)
  112. }
  113. }
  114. if (_list.length > 0) {
  115. uni.navigateTo({
  116. url: _list[0].itemUrl + '&isShowbtn=' + _isShowbtn,
  117. })
  118. }
  119. console.log(item)
  120. }
  121. //获取当天日期
  122. const getNowFormatDate = () => {
  123. var date = new Date();
  124. var seperator1 = "-";
  125. var year = date.getFullYear();
  126. var month = date.getMonth() + 1;
  127. var strDate = date.getDate();
  128. if (month >= 1 && month <= 9) {
  129. month = "0" + month;
  130. }
  131. if (strDate >= 0 && strDate <= 9) {
  132. strDate = "0" + strDate;
  133. }
  134. var currentdate = year + seperator1 + month + seperator1 + strDate;
  135. return currentdate;
  136. }
  137. //获取当天+N日期
  138. const getNowNumFormatDate = (num) => {
  139. var date = new Date();
  140. var seperator1 = "-";
  141. var year = date.getFullYear();
  142. var month = date.getMonth() + 1;
  143. var strDate = date.getDate()+num;
  144. if (month >= 1 && month <= 9) {
  145. month = "0" + month;
  146. }
  147. if (strDate >= 0 && strDate <= 9) {
  148. strDate = "0" + strDate;
  149. }
  150. var currentdate = year + seperator1 + month + seperator1 + strDate;
  151. return currentdate;
  152. }
  153. const convertCurrency = (money) => {
  154. //汉字的数字
  155. var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
  156. //基本单位
  157. var cnIntRadice = new Array('', '拾', '佰', '仟');
  158. //对应整数部分扩展单位
  159. var cnIntUnits = new Array('', '万', '亿', '兆');
  160. //对应小数部分单位
  161. var cnDecUnits = new Array('角', '分', '毫', '厘');
  162. //整数金额时后面跟的字符
  163. var cnInteger = '整';
  164. //整型完以后的单位
  165. var cnIntLast = '元';
  166. //最大处理的数字
  167. var maxNum = 999999999999999.9999;
  168. //金额整数部分
  169. var integerNum;
  170. //金额小数部分
  171. var decimalNum;
  172. //输出的中文金额字符串
  173. var chineseStr = '';
  174. //分离金额后用的数组,预定义
  175. var parts;
  176. if (money == '') {
  177. return '';
  178. }
  179. money = parseFloat(money);
  180. if (money >= maxNum) {
  181. //超出最大处理数字
  182. return '';
  183. }
  184. if (money == 0) {
  185. chineseStr = cnNums[0] + cnIntLast + cnInteger;
  186. return chineseStr;
  187. }
  188. //转换为字符串
  189. money = money.toString();
  190. if (money.indexOf('.') == -1) {
  191. integerNum = money;
  192. decimalNum = '';
  193. } else {
  194. parts = money.split('.');
  195. integerNum = parts[0];
  196. decimalNum = parts[1].substr(0, 4);
  197. }
  198. //获取整型部分转换
  199. if (parseInt(integerNum, 10) > 0) {
  200. var zeroCount = 0;
  201. var IntLen = integerNum.length;
  202. for (var i = 0; i < IntLen; i++) {
  203. var n = integerNum.substr(i, 1);
  204. var p = IntLen - i - 1;
  205. var q = p / 4;
  206. var m = p % 4;
  207. if (n == '0') {
  208. zeroCount++;
  209. } else {
  210. if (zeroCount > 0) {
  211. chineseStr += cnNums[0];
  212. }
  213. //归零
  214. zeroCount = 0;
  215. chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
  216. }
  217. if (m == 0 && zeroCount < 4) {
  218. chineseStr += cnIntUnits[q];
  219. }
  220. }
  221. chineseStr += cnIntLast;
  222. }
  223. //小数部分
  224. if (decimalNum != '') {
  225. var decLen = decimalNum.length;
  226. for (var i = 0; i < decLen; i++) {
  227. var n = decimalNum.substr(i, 1);
  228. if (n != '0') {
  229. chineseStr += cnNums[Number(n)] + cnDecUnits[i];
  230. }
  231. }
  232. }
  233. if (chineseStr == '') {
  234. chineseStr += cnNums[0] + cnIntLast + cnInteger;
  235. } else if (decimalNum == '') {
  236. chineseStr += cnInteger;
  237. }
  238. return chineseStr;
  239. }
  240. //获取省份简称
  241. const getProvinceAbbreviation = (province) => {
  242. if (province == "北京市" || province == "北京")
  243. return "京";
  244. else if (province == "天津市" || province == "天津")
  245. return "津";
  246. else if (province == "重庆市" || province == "重庆")
  247. return "渝";
  248. else if (province == "上海市" || province == "上海")
  249. return "沪";
  250. else if (province == "河北省" || province == "河北")
  251. return "冀";
  252. else if (province == "山西省" || province == "山西")
  253. return "晋";
  254. else if (province == "辽宁省" || province == "辽宁")
  255. return "辽";
  256. else if (province == "吉林省" || province == "吉林")
  257. return "吉";
  258. else if (province == "黑龙江省" || province == "黑龙江")
  259. return "黑";
  260. else if (province == "江苏省" || province == "江苏")
  261. return "苏";
  262. else if (province == "浙江省" || province == "浙江")
  263. return "浙";
  264. else if (province == "安徽省" || province == "安徽")
  265. return "皖";
  266. else if (province == "福建省" || province == "福建")
  267. return "闽";
  268. else if (province == "江西省" || province == "江西")
  269. return "赣";
  270. else if (province == "山东省" || province == "山东")
  271. return "鲁";
  272. else if (province == "河南省" || province == "河南")
  273. return "豫";
  274. else if (province == "湖北省" || province == "湖北")
  275. return "鄂";
  276. else if (province == "湖南省" || province == "湖南")
  277. return "湘";
  278. else if (province == "广东省" || province == "广东")
  279. return "粤";
  280. else if (province == "海南省" || province == "海南")
  281. return "琼";
  282. else if (province == "四川省" || province == "四川")
  283. return "川";
  284. else if (province == "贵州省" || province == "贵州")
  285. return "贵";
  286. else if (province == "云南省" || province == "云南")
  287. return "云";
  288. else if (province == "陕西省" || province == "陕西")
  289. return "陕";
  290. else if (province == "甘肃省" || province == "甘肃")
  291. return "甘";
  292. else if (province == "青海省" || province == "青海")
  293. return "青";
  294. else if (province == "台湾省" || province == "台湾")
  295. return "台";
  296. else if (province == "内蒙古自治区" || province == "内蒙古")
  297. return "蒙";
  298. else if (province == "广西壮族自治区" || province == "广西")
  299. return "桂";
  300. else if (province == "宁夏回族自治区" || province == "宁夏")
  301. return "宁";
  302. else if (province == "新疆维吾尔自治区" || province == "新疆")
  303. return "新";
  304. else if (province == "西藏自治区" || province == "西藏")
  305. return "藏";
  306. else if (province == "香港特别行政区" || province == "香港")
  307. return "港";
  308. else if (province == "澳门特别行政区" || province == "澳门")
  309. return "澳";
  310. }
  311. // 获取市、区简称
  312. const filterUrban = (s) => {
  313. if (s.lastIndexOf('市') != -1) {
  314. return s.substring(0, s.length - 1)
  315. }
  316. return s
  317. }
  318. const filterArea = (q) => {
  319. if (q.lastIndexOf('区') != -1) {
  320. return q.substring(0, q.length - 1)
  321. }
  322. return q
  323. }
  324. const fUN_AmapLocation = uni.requireNativePlugin('FUN-AmapLocation');
  325. export default {
  326. detailData,
  327. selectContractNo,
  328. contactCustomerService,
  329. now,
  330. isArray,
  331. erpWarehouse,
  332. getListByUserId,
  333. setAudit,
  334. getNowFormatDate,
  335. getNowNumFormatDate,
  336. getProvinceAbbreviation,
  337. convertCurrency,
  338. filterUrban,
  339. filterArea,
  340. gjList,
  341. dtList,
  342. fUN_AmapLocation
  343. }