index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. import {route} from '@/uni_modules/uview-plus';
  2. import {Rules} from "@/common/consts/CommonConst";
  3. import config from "@/common/config";
  4. import defaultImg from "@/static/aiot/default.png";
  5. import dayjs from "dayjs";
  6. const weekdays = [
  7. '星期日',
  8. '星期一',
  9. '星期二',
  10. '星期三',
  11. '星期四',
  12. '星期五',
  13. '星期六',
  14. ]
  15. export function formatWeekday(index) {
  16. return weekdays[index]
  17. }
  18. export function navigateTo({url = "", param = {}}) {
  19. route({
  20. url,
  21. params: param,
  22. })
  23. }
  24. export function reLaunch({url = "", param = {}}) {
  25. route({
  26. type: 'reLaunch',
  27. url,
  28. params: param,
  29. })
  30. }
  31. export const getStorageObj = (key) => {
  32. const json = uni.getStorageSync(key);
  33. if (!json) {
  34. return null;
  35. }
  36. return JSON.parse(json);
  37. };
  38. export const getUserInfo = () => {
  39. const userInfo = getStorageObj(storageKey.USER_INFO);
  40. if (!userInfo) {
  41. return null;
  42. }
  43. return userInfo;
  44. };
  45. export const setUserInfo = (userInfo) => {
  46. setStorageObj(storageKey.USER_INFO, userInfo);
  47. };
  48. export const setStorageObj = (key, value) => {
  49. const json = JSON.stringify(value);
  50. uni.setStorageSync(key, json);
  51. };
  52. export const exit = () => {
  53. uni.clearStorageSync();
  54. };
  55. export const getToken = () => {
  56. const token = getStorageObj(storageKey.TOKEN);
  57. if (!token) {
  58. return null;
  59. }
  60. return token;
  61. };
  62. export const setToken = (token) => {
  63. setStorageObj(storageKey.TOKEN, token);
  64. };
  65. export const authLogin = (callback) => {
  66. const user = getUserInfo();
  67. if (!user) {
  68. uni.navigateTo({
  69. url: '/pasb/pages/login/index',
  70. });
  71. return;
  72. }
  73. callback(user);
  74. };
  75. export const storageKey = {
  76. USER_INFO: 'userInfo',
  77. TOKEN: 'token',
  78. regtheme: 'regtheme',
  79. regmeet: 'regmeet',
  80. };
  81. export const reloadPage = () => {
  82. let pages = getCurrentPages(); //获取当前页面
  83. let beforePage = pages[pages.length - 2]; //获取上一个页面的实例
  84. //1、调用上一个页面onLoad
  85. if (beforePage) {
  86. beforePage.onLoad && beforePage.onLoad();
  87. uni.navigateBack({
  88. delta: 1,
  89. });
  90. }
  91. reLaunch({
  92. url: '/pages/workbench/index',
  93. })
  94. }
  95. export const DateFormat = {
  96. YYYYMMDD: 'YYYY-MM-DD',
  97. YYYYMMDDHHMMSS: 'YYYY-MM-DD HH:mm:ss',
  98. YYYYMMDDHHMM: 'YYYY-MM-DD HH:mm',
  99. }
  100. export const getDevImg = (devImg) => {
  101. if (!devImg) {
  102. return defaultImg;
  103. }
  104. const parse = JSON.parse(devImg);
  105. if (parse.length > 0 && parse[0].url) {
  106. const url = parse[0].url;
  107. return url.replace(Rules.domainPort, config.imgCdn);
  108. } else {
  109. return defaultImg;
  110. }
  111. };
  112. export const getImgs = (items) => {
  113. return JSON.parse(items).filter(item => !!item.url).map((item) => {
  114. return getImgUrl(item.url)
  115. })
  116. }
  117. export const getImgUrl = (img) => {
  118. if (!img) {
  119. return defaultImg;
  120. }
  121. if (img) {
  122. return img.replace(Rules.domainPort, config.imgCdn);
  123. } else {
  124. return defaultImg;
  125. }
  126. };
  127. export const formatTxt = (txt) => {
  128. if (!txt) {
  129. return "--";
  130. }
  131. return txt;
  132. }
  133. export const getStepInfo = (step) => {
  134. switch (step.type) {
  135. case 1:
  136. return {type: 1, name: '创建工单', content: '创建工单'};
  137. case 2:
  138. return {type: 2, name: '受理工单', content: '受理工单'};
  139. case 3:
  140. return {type: 3, name: '结束工单', content: '结束工单'};
  141. case 4:
  142. return {type: 4, name: '报废工单', content: '报废工单'};
  143. case 5: {
  144. const param = JSON.parse(step.param)
  145. if (param.desc) {
  146. return {type: 5, name: '指派工单', content: `指派此工单给 ${param.user} 原因:${param.desc}`};
  147. }
  148. return {type: 5, name: '指派工单', content: `指派此工单给 ${param.user}`};
  149. }
  150. case 6:
  151. return {type: 6, name: '修改工单', content: '修改工单'};
  152. case 7:
  153. return {type: 7, name: '处理工单', content: '处理工单'};
  154. default:
  155. return {type: 0, name: '未知操作', content: '未知操作'};
  156. }
  157. }
  158. export const hideKeyboard = () => {
  159. uni.hideKeyboard()
  160. }
  161. export const timestampToDate = (date, format=DateFormat.YYYYMMDDHHMM) => {
  162. return dayjs(date).format(format)
  163. }