common.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. import { getToken } from '@/utils/auth'
  2. import { fetch } from '@/api/index'
  3. import i18n from '@/i18n'
  4. const state = {
  5. projectArr: [], // 项目
  6. departmentArr: [], // 部门
  7. roleArr: [], // 角色
  8. pickerOptions: {
  9. shortcuts: [{
  10. text: i18n.t('lately_week'), // 最近一周
  11. onClick(picker) {
  12. const end = new Date()
  13. const start = new Date()
  14. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
  15. picker.$emit('pick', [start, end])
  16. }
  17. }, {
  18. text: i18n.t('lately_one_month'), // 最近一个月
  19. onClick(picker) {
  20. const end = new Date()
  21. const start = new Date()
  22. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
  23. picker.$emit('pick', [start, end])
  24. }
  25. }, {
  26. text: i18n.t('lately_three_month'), // 最近三个月
  27. onClick(picker) {
  28. const end = new Date()
  29. const start = new Date()
  30. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
  31. picker.$emit('pick', [start, end])
  32. }
  33. }]
  34. },
  35. arrLunboStatus: [
  36. {
  37. value: 0,
  38. name: '下架'
  39. },
  40. {
  41. value: 1,
  42. name: '上架'
  43. }
  44. ],
  45. arrLunboLinkType: [
  46. {
  47. value: 0,
  48. name: '外链'
  49. },
  50. {
  51. value: 1,
  52. name: '小程序链接'
  53. },
  54. {
  55. value: 2,
  56. name: '仅图片'
  57. }
  58. ],
  59. arrProductSaleType: [
  60. {
  61. name: '预售',
  62. value: '1'
  63. },
  64. {
  65. name: '现货',
  66. value: '2'
  67. }
  68. ],
  69. arrProductStatus: [
  70. {
  71. name: '未上架',
  72. value: '0'
  73. },
  74. {
  75. name: '已上架',
  76. value: '1'
  77. },
  78. {
  79. name: '审核中',
  80. value: '2'
  81. },
  82. {
  83. name: '审核未通过',
  84. value: '3'
  85. }
  86. ],
  87. arrHideAndShow: [
  88. {
  89. name: '隐藏',
  90. value: '1'
  91. },
  92. {
  93. name: '显示',
  94. value: '2'
  95. }
  96. ],
  97. videoPlayDialog: {
  98. src: '',
  99. show: false
  100. },
  101. arrProductIsRecommend: [
  102. {
  103. name: '否',
  104. value: 0
  105. },
  106. {
  107. name: '是',
  108. value: 1
  109. }
  110. ],
  111. arrCategoryList: [],
  112. arrBrandList: [],
  113. arrMsgStatus: [
  114. {
  115. name: '未发布',
  116. value: 0
  117. },
  118. {
  119. name: '已发布',
  120. value: 1
  121. }
  122. ],
  123. arrVideoType: [],
  124. arrProductUnit: [
  125. {
  126. name: '件',
  127. value: '1'
  128. },
  129. {
  130. name: '只',
  131. value: '2'
  132. },
  133. {
  134. name: '个',
  135. value: '3'
  136. }
  137. ],
  138. arrShopType: [
  139. {
  140. name: '大户',
  141. value: 0
  142. },
  143. {
  144. name: '合作社',
  145. value: 1
  146. },
  147. {
  148. name: '家庭农场',
  149. value: 2
  150. }
  151. ],
  152. objSystemConfig: {}
  153. }
  154. const mutations = {
  155. SET_PROJECTARR: (state, arr) => {
  156. state.projectArr = arr
  157. },
  158. SET_DEPARTMENTARR: (state, arr) => {
  159. state.departmentArr = arr
  160. },
  161. SET_ROLEARR: (state, arr) => {
  162. state.roleArr = arr
  163. },
  164. SET_VIDEOPLAYDIALOG(state, obj) {
  165. state.videoPlayDialog = obj
  166. },
  167. SET_ARRCATEGORYLIST(state, val) {
  168. state.arrCategoryList = val
  169. },
  170. SET_ARRBRANDLIST(state, val) {
  171. state.arrBrandList = val
  172. },
  173. SET_ARRVIDEOTYPE(state, val) {
  174. state.arrVideoType = val
  175. },
  176. SET_OBJSYSTEMCONFIG(state, val) {
  177. state.objSystemConfig = val
  178. }
  179. }
  180. const actions = {
  181. async setProjectArr({ commit }) {
  182. if (!getToken()) return
  183. const data = await fetch('/api/auth/project/get_list', {}, 'get')
  184. if (data.code === 200) {
  185. commit('SET_PROJECTARR', data.data)
  186. }
  187. },
  188. async setDepartmentArr({ commit }) {
  189. const data = await fetch('/api/auth/department/get_department_list', {}, 'get')
  190. if (data.code === 200) {
  191. commit('SET_DEPARTMENTARR', data.data)
  192. }
  193. },
  194. async setRoleArr({ commit }) {
  195. const data = await fetch('/api/auth/role/get_role_list', {}, 'get')
  196. if (data.code === 200) {
  197. commit('SET_ROLEARR', data.data)
  198. }
  199. },
  200. // 商品分类
  201. async setCategoryList({ commit }) {
  202. const data = await fetch('/api/shop/product/category/list', {})
  203. if (data.code === 200) {
  204. const temp = data.data.map(item => {
  205. return {
  206. ...item,
  207. name: item.category_name,
  208. value: item.id
  209. }
  210. })
  211. commit('SET_ARRCATEGORYLIST', temp)
  212. }
  213. },
  214. // 商品品牌
  215. async setBrandlist({ commit }) {
  216. const data = await fetch('/api/shop/product/brand/list', {})
  217. if (data.code === 200) {
  218. const temp = data.data.map(item => {
  219. return {
  220. ...item,
  221. name: item.brand_name,
  222. value: item.id
  223. }
  224. })
  225. commit('SET_ARRBRANDLIST', temp)
  226. }
  227. },
  228. // 视频类型接口
  229. async setVideoType({ commit }) {
  230. const data = await fetch('/api/shop/video/type/list', {})
  231. if (data.code === 200) {
  232. const temp = data.data.map(item => {
  233. return {
  234. ...item,
  235. name: item.type_name,
  236. value: item.id
  237. }
  238. })
  239. commit('SET_ARRVIDEOTYPE', temp)
  240. }
  241. },
  242. // 系统配置
  243. async fetchSystemConfig({ commit }) {
  244. const data = await fetch('/api/system/config', {})
  245. if (data.code === 200) {
  246. commit('SET_OBJSYSTEMCONFIG', data.data)
  247. }
  248. }
  249. }
  250. export default {
  251. namespaced: true,
  252. state,
  253. mutations,
  254. actions
  255. }