Bladeren bron

简洁项目

sunlupeng 8 maanden geleden
bovenliggende
commit
96a2fc59da
99 gewijzigde bestanden met toevoegingen van 0 en 25592 verwijderingen
  1. 0 91
      package.json
  2. 0 37
      src/api/activityManage.js
  3. 0 41
      src/api/activitytag.js
  4. 0 12
      src/api/answerGame.js
  5. 0 10
      src/api/approvehistory.js
  6. 0 41
      src/api/banner.js
  7. 0 101
      src/api/commendManage.js
  8. 0 41
      src/api/couponsManage.js
  9. 0 29
      src/api/exchangeManage.js
  10. 0 37
      src/api/festivalManage.js
  11. 0 73
      src/api/giftManage.js
  12. 0 83
      src/api/lotteryManage.js
  13. 0 70
      src/api/medalList.js
  14. 0 87
      src/api/news.js
  15. 0 49
      src/api/newsCenter.js
  16. 0 37
      src/api/noticeList.js
  17. 0 36
      src/api/organizeuser.js
  18. 0 125
      src/api/pointManage.js
  19. 0 60
      src/api/postManage.js
  20. 0 41
      src/api/questionDetail.js
  21. 0 41
      src/api/questionSort.js
  22. 0 50
      src/api/questions.js
  23. 0 83
      src/api/raffleManage.js
  24. 0 30
      src/api/rankingList.js
  25. 0 39
      src/api/trainManage.js
  26. 0 17
      src/api/trend.js
  27. 0 25
      src/api/visitor.js
  28. 0 26
      src/api/welfare.js
  29. 0 37
      src/api/welfareManage.js
  30. 0 212
      src/views/activeUsers/index.vue
  31. 0 640
      src/views/activityManage/activityList.vue
  32. 0 165
      src/views/answerGame/answerList.vue
  33. 0 247
      src/views/certManage/certList.vue
  34. 0 85
      src/views/certManage/certRules.vue
  35. 0 299
      src/views/certManage/certSetList.vue
  36. 0 388
      src/views/commendManage/ceoCiteList.vue
  37. 0 328
      src/views/commendManage/citeList.vue
  38. 0 279
      src/views/commendManage/commendDataList.vue
  39. 0 292
      src/views/commendManage/commendList.vue
  40. 0 369
      src/views/commendManage/operateCiteList.vue
  41. 0 13
      src/views/community/index.vue
  42. 0 387
      src/views/content/banner.vue
  43. 0 183
      src/views/content/comment.vue
  44. 0 130
      src/views/content/contribute.vue
  45. 0 553
      src/views/content/customerStories.vue
  46. 0 1965
      src/views/content/index.vue
  47. 0 543
      src/views/content/newsCenter.vue
  48. 0 397
      src/views/content/questionDetail.vue
  49. 0 293
      src/views/content/questionSort.vue
  50. 0 247
      src/views/content/questions.vue
  51. 0 121
      src/views/content/trend.vue
  52. 0 86
      src/views/content/yearLottoNotice.vue
  53. 0 482
      src/views/couponsManage/couponsList.vue
  54. 0 424
      src/views/exchangeManage/approvalList.vue
  55. 0 390
      src/views/exchangeManage/cancelledList.vue
  56. 0 414
      src/views/exchangeManage/exchangeList.vue
  57. 0 411
      src/views/exchangeManage/pasList.vue
  58. 0 405
      src/views/exchangeManage/voidList.vue
  59. 0 296
      src/views/festivalManage/festivalList.vue
  60. 0 86
      src/views/giftManage/giftExchangeRules.vue
  61. 0 698
      src/views/giftManage/giftList copy.vue
  62. 0 647
      src/views/giftManage/giftList.vue
  63. 0 488
      src/views/lotteryManage/lotteryDataList.vue
  64. 0 347
      src/views/lotteryManage/lotteryList.vue
  65. 0 148
      src/views/lotteryManage/lotteryLogsList.vue
  66. 0 416
      src/views/medalManage/medalDataList.vue
  67. 0 382
      src/views/medalManage/medalList.vue
  68. 0 390
      src/views/noticeManage/noticeList.vue
  69. 0 619
      src/views/organize/organizeInterest.vue
  70. 0 646
      src/views/organize/organizePlace.vue
  71. 0 646
      src/views/organize/organizeTrade.vue
  72. 0 302
      src/views/pointManage/pointIndateList.vue
  73. 0 84
      src/views/pointManage/pointInstructions.vue
  74. 0 301
      src/views/pointManage/pointList.vue
  75. 0 307
      src/views/pointManage/pointRulesList.vue
  76. 0 178
      src/views/pointManage/pointsDetailList.vue
  77. 0 232
      src/views/pointManage/pointsPlusOrMinus.vue
  78. 0 212
      src/views/pointsLottery/index.vue
  79. 0 418
      src/views/postManage/postApprovalList.vue
  80. 0 641
      src/views/postManage/postList.vue
  81. 0 488
      src/views/raffleManage/raffleDataList.vue
  82. 0 370
      src/views/raffleManage/raffleList.vue
  83. 0 146
      src/views/raffleManage/raffleLogsList.vue
  84. 0 176
      src/views/ranking/rankingList.vue
  85. 0 149
      src/views/rankingManage/answerRanking.vue
  86. 0 145
      src/views/rankingManage/gameRanking.vue
  87. 0 385
      src/views/trainManage/ceoTrainList.vue
  88. 0 374
      src/views/trainManage/operateTrainList.vue
  89. 0 328
      src/views/trainManage/trainList.vue
  90. 0 86
      src/views/trainManage/upLoadFileRules.vue
  91. 0 104
      src/views/user/approveHistory.vue
  92. 0 291
      src/views/user/checkUser.vue
  93. 0 251
      src/views/user/user.vue
  94. 0 394
      src/views/user/userDetail.vue
  95. 0 118
      src/views/user/visitorUser.vue
  96. 0 463
      src/views/user/welfare.vue
  97. 0 13
      src/views/visitor/visitorDetail.vue
  98. 0 207
      src/views/visitor/visitorList.vue
  99. 0 423
      src/views/welfareManage/welfareList.vue

+ 0 - 91
package.json

@@ -1,91 +0,0 @@
-{
-  "name": "alumni-record-admin",
-  "version": "0.1.0",
-  "description": "litemall-admin basing on vue-element-admin 3.6.2",
-  "author": "linlinjava <linlinjava@163.com>",
-  "license": "MIT",
-  "private": true,
-  "scripts": {
-    "dev": "webpack-dev-server --open --inline --progress --config build/webpack.dev.conf.js",
-    "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
-    "lint": "eslint --ext .js,.vue src",
-    "test": "npm run lint"
-  },
-  "dependencies": {
-    "@riophae/vue-treeselect": "0.4.0",
-    "axios": "0.17.1",
-    "clipboard": "1.7.1",
-    "echarts": "3.8.5",
-    "element-ui": "2.15.13",
-    "file-saver": "1.3.3",
-    "font-awesome": "4.7.0",
-    "js-cookie": "2.2.0",
-    "mockjs": "1.0.1-beta3",
-    "normalize.css": "7.0.0",
-    "nprogress": "0.2.0",
-    "screenfull": "3.3.2",
-    "vue": "2.6.12",
-    "vue-count-to": "1.0.13",
-    "vue-router": "3.0.1",
-    "vue-splitpane": "1.0.2",
-    "vuex": "3.0.1",
-    "xlsx": "^0.11.16"
-  },
-  "devDependencies": {
-    "autoprefixer": "7.2.3",
-    "babel-core": "6.26.0",
-    "babel-eslint": "8.0.3",
-    "babel-helper-vue-jsx-merge-props": "2.0.3",
-    "babel-loader": "7.1.2",
-    "babel-plugin-syntax-jsx": "6.18.0",
-    "babel-plugin-transform-runtime": "6.23.0",
-    "babel-plugin-transform-vue-jsx": "3.5.0",
-    "babel-preset-env": "1.6.1",
-    "babel-preset-stage-2": "6.24.1",
-    "chalk": "2.3.0",
-    "copy-webpack-plugin": "4.3.0",
-    "cross-env": "5.1.1",
-    "css-loader": "0.28.7",
-    "eslint": "4.13.1",
-    "eslint-friendly-formatter": "3.0.0",
-    "eslint-loader": "1.9.0",
-    "eslint-plugin-html": "4.0.1",
-    "extract-text-webpack-plugin": "3.0.2",
-    "file-loader": "1.1.5",
-    "friendly-errors-webpack-plugin": "1.6.1",
-    "html-webpack-plugin": "2.30.1",
-    "node-notifier": "5.1.2",
-    "node-sass": "7.0.1",
-    "optimize-css-assets-webpack-plugin": "3.2.0",
-    "ora": "1.3.0",
-    "portfinder": "1.0.13",
-    "postcss-import": "11.0.0",
-    "postcss-loader": "2.0.9",
-    "postcss-url": "7.3.0",
-    "pushstate-server": "3.0.1",
-    "rimraf": "2.6.2",
-    "sass-loader": "6.0.6",
-    "script-loader": "0.7.2",
-    "semver": "5.4.1",
-    "shelljs": "0.7.8",
-    "svg-sprite-loader": "3.5.2",
-    "uglifyjs-webpack-plugin": "1.1.3",
-    "url-loader": "0.6.2",
-    "vue-loader": "13.5.0",
-    "vue-style-loader": "3.0.3",
-    "vue-template-compiler": "2.6.12",
-    "webpack": "3.10.0",
-    "webpack-bundle-analyzer": "2.9.1",
-    "webpack-dev-server": "2.9.7",
-    "webpack-merge": "4.1.1"
-  },
-  "engines": {
-    "node": ">= 4.0.0",
-    "npm": ">= 3.0.0"
-  },
-  "browserslist": [
-    "> 1%",
-    "last 2 versions",
-    "not ie <= 8"
-  ]
-}

+ 0 - 37
src/api/activityManage.js

@@ -1,37 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-act/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/mall-act/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function activityList(query) {
-  return request({
-    url: '/mall-act/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function activityState(query) {
-  return request({
-    url: '/mall-act/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-
-
-

+ 0 - 41
src/api/activitytag.js

@@ -1,41 +0,0 @@
-import request from '@/utils/request'
-
-export function listActivityTag(query) {
-  return request({
-    url: '/tag/list',
-    method: 'get',
-    param: query
-  })
-}
-
-export function createActivityTag(data) {
-  return request({
-    url: '/tag/create',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteActivityTag(data) {
-  return request({
-    url: '/tag/delete',
-    method: 'post',
-    data
-  })
-}
-
-export function ActivityUser(query) {
-  return request({
-    url: '/ActivityUser/listActUser',
-    method: 'post',
-    params: query
-  })
-}
-
-export function ActivityUserAll(query) {
-  return request({
-    url: '/ActivityUser/listActUserAll',
-    method: 'post',
-    params: query
-  })
-}

+ 0 - 12
src/api/answerGame.js

@@ -1,12 +0,0 @@
-import request from '@/utils/request'
-
-export function answerList(query) {
-  return request({
-    url: '/answer/list',
-    method: 'get',
-    params:query
-  })
-}
-
-
-

+ 0 - 10
src/api/approvehistory.js

@@ -1,10 +0,0 @@
-import request from '@/utils/request'
-
-/*查询驳回记录列表*/
-export function listApproveHistory(query) {
-  return request({
-    url:'/approveHistory/list',
-    method:'get',
-    params:query
-  })
-}

+ 0 - 41
src/api/banner.js

@@ -1,41 +0,0 @@
-import request from '@/utils/request'
-
-export function listBanner(query) {
-  return request({
-    url: '/banner/list',
-    method: 'get',
-    params: query
-  })
-}
-
-export function createBanner(data) {
-  return request({
-    url: '/banner/create',
-    method: 'post',
-    data
-  })
-}
-
-export function readBanner(data) {
-  return request({
-    url: '/banner/read',
-    method: 'get',
-    data
-  })
-}
-
-export function updateBanner(data) {
-  return request({
-    url: '/banner/update',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteBanner(data) {
-  return request({
-    url: '/banner/delete',
-    method: 'post',
-    data
-  })
-}

+ 0 - 101
src/api/commendManage.js

@@ -1,101 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-integral-obtain/commend/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/mall-integral-obtain/commend/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/mall-integral-obtain/commend/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function state(query) {
-  return request({
-    url: '/mall-integral-obtain/commend/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-export function types(query) {
-  return request({
-    url: '/mall-integral-obtain/commend/types',
-    method: 'get',
-    params:query
-  })
-}
-
-
-export function dataList(query) {
-  return request({
-    url: '/mall-commend/commend/info',
-    method: 'get',
-    params:query
-  })
-}
-
-export function dataAdd(data) {
-  return request({
-    url: '/mall-commend/commend/staff/add',
-    method: 'post',
-    data
-  })
-}
-
-export function dataEdit(data) {
-  return request({
-    url: '/mall-commend/commend/staff/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function dataRemove(query) {
-  return request({
-    url: '/mall-commend/commend/staff/del',
-    method: 'post',
-    params:query
-  })
-}
-
-// 客户表彰审批列表
-export function customerPage(query) {
-  return request({
-    url: '/customer/commend/page',
-    method: 'get',
-    params:query
-  })
-}
-
-// 客户表彰审批
-export function complete(query) {
-  return request({
-    url: '/customer/commend/complete',
-    method: 'post',
-    params:query
-  })
-}
-
-// 客户表彰详情
-export function detail(query) {
-  return request({
-    url: '/customer/commend/info',
-    method: 'get',
-    params:query
-  })
-}

+ 0 - 41
src/api/couponsManage.js

@@ -1,41 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/coupon/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/coupon/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/coupon/list',
-    method: 'get',
-    params:query
-  })
-}
-
-export function deleteitem(query) {
-  return request({
-    url: '/coupon/modify',
-    method: 'post',
-    params:query
-  })
-}
-
-export function optionSelect(data) {
-  return request({
-    url: '/system/dict/type/optionselect',
-    method: 'get',
-    data
-  })
-}

+ 0 - 29
src/api/exchangeManage.js

@@ -1,29 +0,0 @@
-import request from '@/utils/request'
-
-export function complete(query) {
-  return request({
-    url: '/mall-order/complete',
-    method: 'post',
-    params:query
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/mall-order/page',
-    method: 'post',
-    params:query
-  })
-}
-
-export function detail(query) {
-  return request({
-    url: '/mall-order/info',
-    method: 'post',
-    params:query
-  })
-}
-
-
-
-

+ 0 - 37
src/api/festivalManage.js

@@ -1,37 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-integral-obtain/festival/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/mall-integral-obtain/festival/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/mall-integral-obtain/festival/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function state(query) {
-  return request({
-    url: '/mall-integral-obtain/festival/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-
-
-

+ 0 - 73
src/api/giftManage.js

@@ -1,73 +0,0 @@
-import request from '@/utils/request'
-
-export function giftExchangeRulesDetail(query) {
-  return request({
-    url: '/news/getdgtIndustryNews',
-    method: 'post',
-    data: query
-  })
-}
-
-export function updateGiftExchangeRules(query) {
-  return request({
-    url: '/mall-sku/modify/status',
-    method: 'post',
-    data: query
-  })
-}
-
-export function createItem(data) {
-  return request({
-    url: '/mall-sku/festival/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/mall-sku/festival/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function giftList(query) {
-  return request({
-    url: '/mall-sku/festival/page',
-    method: 'post',
-    params:query
-  })
-}
-
-export function giftState(query) {
-  return request({
-    url: '/mall-sku/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-export function exchangeHistory(query) {
-  return request({
-    url: '/mall-sku/skuLog',
-    method: 'post',
-    params:query
-  })
-}
-
-export function relatedWelfare(query) {
-  return request({
-    url: '/mall-sku/festival/relation',
-    method: 'post',
-    params:query
-  })
-}
-
-export function welfareList(query) {
-  return request({
-    url: '/mall-welfare/welfare/statusList',
-    method: 'post',
-    params:query
-  })
-}

+ 0 - 83
src/api/lotteryManage.js

@@ -1,83 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-draw-pool/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/mall-draw-pool/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/mall-draw-pool/list',
-    method: 'get',
-    params:query
-  })
-}
-
-export function deleteitem(query) {
-  return request({
-    url: '/mall-draw-pool/remove',
-    method: 'post',
-    params:query
-  })
-}
-
-export function optionSelect(data) {
-  return request({
-    url: '/mall-draw-pool/optionselect',
-    method: 'get',
-    data
-  })
-}
-export function dataList(query) {
-  return request({
-    url: '/mall-draw-pool-data/list',
-    method: 'get',
-    params:query
-  })
-}
-export function dataAdd(data) {
-  return request({
-    url: '/mall-draw-pool-data/add',
-    method: 'post',
-    data
-  })
-}
-export function dataEdit(data) {
-  return request({
-    url: '/mall-draw-pool-data/edit',
-    method: 'post',
-    data
-  })
-}
-export function dataRemove(query) {
-  return request({
-    url: '/mall-draw-pool-data/remove',
-    method: 'post',
-    params:query
-  })
-}
-
-export function logsList(query) {
-  return request({
-    url: '/MidAutumn/Activity/midAutumn/list',
-    method: 'get',
-    params:query
-  })
-}
-
-
-
-
-
-

+ 0 - 70
src/api/medalList.js

@@ -1,70 +0,0 @@
-import request from '@/utils/request'
-
-export function list(query) {
-  return request({
-    url: '/medal-type/list',
-    method: 'get',
-    params:query
-  })
-}
-
-export function createItem(data) {
-  return request({
-    url: '/medal-type/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/medal-type/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteitem(query) {
-  return request({
-    url: '/medal-type/remove',
-    method: 'post',
-    params:query
-  })
-}
-
-export function dataList(query) {
-  return request({
-    url: '/medal-level/list',
-    method: 'get',
-    params:query
-  })
-}
-export function dataAdd(data) {
-  return request({
-    url: '/medal-level/add',
-    method: 'post',
-    data
-  })
-}
-export function dataEdit(data) {
-  return request({
-    url: '/medal-level/edit',
-    method: 'post',
-    data
-  })
-}
-export function dataRemove(query) {
-  return request({
-    url: '/medal-level/remove',
-    method: 'post',
-    params:query
-  })
-}
-
-export function refresh(query) {
-  return request({
-    url: '/medal-type/refresh',
-    method: 'get',
-    params:query
-  })
-}

+ 0 - 87
src/api/news.js

@@ -1,87 +0,0 @@
-import request from '@/utils/request'
-
-export function listNews(query) {
-  return request({
-    url: '/news/list',
-    method: 'post',
-    data: query
-  })
-}
-
-export function createNews(data) {
-  return request({
-    url: '/news/create',
-    method: 'post',
-    data
-  })
-}
-
-export function readNews(data) {
-  return request({
-    url: '/news/read',
-    method: 'get',
-    data
-  })
-}
-
-export function updateNews(data) {
-  return request({
-    url: '/news/update',
-    method: 'post',
-    data
-  })
-}
-
-export function updateNewsAuth(data) {
-  return request({
-    url: '/news/updateNewsAuth',
-    method: 'post',
-    data
-  })
-}
-
-
-export function deleteNews(data) {
-  return request({
-    url: '/news/delete',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteAllNews(data) {
-  return request({
-    url: '/news/deleteQuantity',
-    method: 'post',
-    params: data
-  })
-}
-
-export function listActivityOrg(data) {
-  return request({
-    url: '/news/listActivityOrg',
-    method: 'get',
-    params: data
-  })
-}
-export function listCommon(data) {
-  return request({
-    url: '/newsComment/listCommon',
-    method: 'get',
-    params: data
-  })
-}
-export function deleteCommon(data) {
-  return request({
-    url: '/newsComment/deleteCommon',
-    method: 'post',
-    data
-  })
-}
-  export function deleteAllConent(data) {
-    return request({
-      url: '/newsComment/deleteQuantity',
-      method: 'post',
-      params: data
-    })
-}

+ 0 - 49
src/api/newsCenter.js

@@ -1,49 +0,0 @@
-import request from '@/utils/request'
-
-export function getdgtIndustryNews(query) {
-  return request({
-    url: '/news/getdgtIndustryNews',
-    method: 'post',
-    data: query
-  })
-}
-
-export function listNews(query) {
-  return request({
-    url: '/news/listForDGTSiteNews',
-    method: 'post',
-    data: query
-  })
-}
-
-export function createNews(data) {
-  return request({
-    url: '/news/createForDGTSiteNews',
-    method: 'post',
-    data
-  })
-}
-
-export function updateNews(data) {
-  return request({
-    url: '/news/update',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteNews(data) {
-  return request({
-    url: '/news/delete',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteAllNews(data) {
-  return request({
-    url: '/news/deleteQuantity',
-    method: 'post',
-    params: data
-  })
-}

+ 0 - 37
src/api/noticeList.js

@@ -1,37 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-msg/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(query) {
-  return request({
-    url: '/mall-msg/edit',
-    method: 'post',
-    data:query
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/mall-msg/sys/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function state(query) {
-  return request({
-    url: '/mall-msg/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-
-
-

+ 0 - 36
src/api/organizeuser.js

@@ -1,36 +0,0 @@
-import request from '@/utils/request'
-
-export function selectOrganizeUserByOrgId(query) {
-  return request({
-    url: '/organizeuser/selectOrganizeUserByOrgId',
-    method: 'post',
-    params: query
-  })
-}
-
-export function selectOrganizeUserByOrgIdNoDel(query) {
-  return request({
-    url: '/organizeuser/selectOrganizeUserByOrgIdNoDel',
-    method: 'post',
-    params: query
-  })
-}
-
-
-export function updateOrganizeUserById(query) {
-  return request({
-    url: '/organizeuser/updateOrganizeUserById',
-    method: 'post',
-    params: query
-  })
-}
-
-
-
-export function sendWXMsg(query) {
-  return request({
-    url: '/organizeuser/sendWXMsg',
-    method: 'post',
-    params: query
-  })
-}

+ 0 - 125
src/api/pointManage.js

@@ -1,125 +0,0 @@
-import request from '@/utils/request'
-
-//积分有效期列表
-export function getPointIndateList(query) {
-  return request({
-    url: '/mall-integral-rule-type/page',
-    method: 'get',
-    params:query
-  })
-}
-//积分有效期新增
-export function pointIndateCreateItem(data) {
-  return request({
-    url: '/mall-integral-rule-type/add',
-    method: 'post',
-    data
-  })
-}
-//积分有效期修改
-export function pointIndateUpdateItem(data) {
-  return request({
-    url: '/mall-integral-rule-type/edit',
-    method: 'post',
-    data
-  })
-}
-//积分有效期状态修改
-export function pointIndateState(query) {
-  return request({
-    url: '/mall-integral-rule-type/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-//积分有效期删除
-export function pointIndateDel(query) {
-  return request({
-    url: '/mall-integral-rule-type/modify/del',
-    method: 'post',
-    params:query
-  })
-}
-
-//积分加减
-export function addSub(data) {
-  return request({
-    url: '/mall-integral/addSub',
-    method: 'post',
-    data
-  })
-}
-
-export function pointRulesTypeList(data) {
-  return request({
-    url: '/mall-integral/getTypes',
-    method: 'get',
-    data
-  })
-}
-
-export function getPointRulesList(query) {
-  return request({
-    url: '/mall-integral/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function pointRulesCreateItem(data) {
-  return request({
-    url: '/mall-integral/add',
-    method: 'post',
-    data
-  })
-}
-
-export function pointRulesUpdateItem(data) {
-  return request({
-    url: '/mall-integral/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function pointRulesState(query) {
-  return request({
-    url: '/mall-integral/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-export function updatePointRulesItem(data) {
-  return request({
-    url: '/news/delete',
-    method: 'post',
-    data
-  })
-}
-
-export function getPointList(query) {
-  return request({
-    url: '/mall-integral/user/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function getPointDetailList(query) {
-  return request({
-    url: '/mall-integral/details/page',
-    method: 'get',
-    params:query
-  })
-}
-
-export function getItemPointList(query) {
-  return request({
-    url: '/mall-integral/user/log',
-    method: 'get',
-    params:query
-  })
-}
-
-

+ 0 - 60
src/api/postManage.js

@@ -1,60 +0,0 @@
-import request from '@/utils/request'
-
-export function create(data) {
-  return request({
-    url: '/mall-post/add',
-    method: 'post',
-    data
-  })
-}
-
-export function update(query) {
-  return request({
-    url: '/mall-post/edit',
-    method: 'post',
-    data:query
-  })
-}
-
-export function getList(query) {
-  return request({
-    url: '/mall-post/list',
-    method: 'get',
-    params:query
-  })
-}
-
-export function changeState(query) {
-  return request({
-    url: '/mall-post/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-export function approvalList(query) {
-  return request({
-    url: 'mall-post/comment/list',
-    method: 'get',
-    params:query
-  })
-}
-
-export function getDetailInfo(query) {
-  return request({
-    url: '/mall-post/answer/info',
-    method: 'get',
-    params:query
-  })
-}
-
-export function complete(data) {
-  return request({
-    url: '/mall-post/complete/answer',
-    method: 'post',
-    data
-  })
-}
-
-
-

+ 0 - 41
src/api/questionDetail.js

@@ -1,41 +0,0 @@
-import request from '@/utils/request'
-
-export function listQuestionDetail(query) {
-  return request({
-    url: '/questionDetail/list',
-    method: 'get',
-    params: query
-  })
-}
-
-export function createQuestionDetail(data) {
-  return request({
-    url: '/questionDetail/create',
-    method: 'post',
-    data
-  })
-}
-
-export function readQuestionDetail(data) {
-  return request({
-    url: '/questionDetail/read',
-    method: 'get',
-    data
-  })
-}
-
-export function updateQuestionDetail(data) {
-  return request({
-    url: '/questionDetail/update',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteQuestionDetail(data) {
-  return request({
-    url: '/questionDetail/delete',
-    method: 'post',
-    data
-  })
-}

+ 0 - 41
src/api/questionSort.js

@@ -1,41 +0,0 @@
-import request from '@/utils/request'
-
-export function listQuestionSort(query) {
-  return request({
-    url: '/questionSort/list',
-    method: 'get',
-    params: query
-  })
-}
-
-export function createQuestionSort(data) {
-  return request({
-    url: '/questionSort/create',
-    method: 'post',
-    data
-  })
-}
-
-export function readQuestionSort(data) {
-  return request({
-    url: '/questionSort/read',
-    method: 'get',
-    data
-  })
-}
-
-export function updateQuestionSort(data) {
-  return request({
-    url: '/questionSort/update',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteQuestionSort(data) {
-  return request({
-    url: '/questionSort/delete',
-    method: 'post',
-    data
-  })
-}

+ 0 - 50
src/api/questions.js

@@ -1,50 +0,0 @@
-import request from '@/utils/request'
-
-export function listBanner(query) {
-  return request({
-    url: '/questions/list',
-    method: 'get',
-    params: query
-  })
-}
-
-
-export function createBanner(data) {
-  return request({
-    url: '/questions/create',
-    method: 'post',
-    data
-  })
-}
-
-export function readBanner(data) {
-  return request({
-    url: '/questions/read',
-    method: 'get',
-    data
-  })
-}
-
-export function updateBanner(data) {
-  return request({
-    url: '/questions/update',
-    method: 'post',
-    data
-  })
-}
-
-export function deleteBanner(data) {
-  return request({
-    url: '/questions/delete',
-    method: 'post',
-    data
-  })
-}
-
-export function createContribute(data) {
-  return request({
-    url: '/contribute/create',
-    method: 'post',
-    data
-  })
-}

+ 0 - 83
src/api/raffleManage.js

@@ -1,83 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-pool-type/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(data) {
-  return request({
-    url: '/mall-pool-type/edit',
-    method: 'post',
-    data
-  })
-}
-
-export function list(query) {
-  return request({
-    url: '/mall-pool-type/list',
-    method: 'get',
-    params:query
-  })
-}
-
-export function deleteitem(query) {
-  return request({
-    url: '/mall-pool-type/remove',
-    method: 'post',
-    params:query
-  })
-}
-
-export function optionSelect(data) {
-  return request({
-    url: '/mall-pool-type/optionselect',
-    method: 'get',
-    data
-  })
-}
-export function dataList(query) {
-  return request({
-    url: '/mall-pool-data/list',
-    method: 'get',
-    params:query
-  })
-}
-export function dataAdd(data) {
-  return request({
-    url: '/mall-pool-data/add',
-    method: 'post',
-    data
-  })
-}
-export function dataEdit(data) {
-  return request({
-    url: '/mall-pool-data/edit',
-    method: 'post',
-    data
-  })
-}
-export function dataRemove(query) {
-  return request({
-    url: '/mall-pool-data/remove',
-    method: 'post',
-    params:query
-  })
-}
-
-export function logsList(query) {
-  return request({
-    url: '/mall-prize/prize/log',
-    method: 'get',
-    params:query
-  })
-}
-
-
-
-
-
-

+ 0 - 30
src/api/rankingList.js

@@ -1,30 +0,0 @@
-import request from '@/utils/request'
-
-
-// 积分排行
-export function list(query) {
-  return request({
-    url: '/mall-integral/sys/top',
-    method: 'get',
-    params:query
-  })
-}
-
-// 答题排行
-export function answerList(query) {
-  return request({
-    url: '/answer/admin/top',
-    method: 'get',
-    params:query
-  })
-}
-
-// 游戏排行
-export function gameList(query) {
-  return request({
-    url: '/MoonFestival/admin/top',
-    method: 'get',
-    params:query
-  })
-}
-

+ 0 - 39
src/api/trainManage.js

@@ -1,39 +0,0 @@
-import request from '@/utils/request'
-
-//获取材料备注详情
-export function fileRulesDetail(query) {
-  return request({
-    url: '/news/mall/getNotice',
-    method: 'get',
-    params: query
-  })
-}
-//修改材料备注
-export function updateFileRules(query) {
-  return request({
-    url: '/news/update',
-    method: 'post',
-    data: query
-  })
-}
-
-
-// 培训列表
-export function trainList(query) {
-  return request({
-    url: '/mall-train/admin/page',
-    method: 'get',
-    params:query
-  })
-}
-
-
-
-// 客户表彰审批
-export function complete(data) {
-  return request({
-    url: '/mall-train/admin/complete',
-    method: 'post',
-    data
-  })
-}

+ 0 - 17
src/api/trend.js

@@ -1,17 +0,0 @@
-import request from '@/utils/request'
-
-export function listTrend(query) {
-  return request({
-    url: '/news/listTidings',
-    method: 'post',
-    params: query
-  })
-}
-
-export function deleteTrend(data) {
-  return request({
-    url: '/news/delete',
-    method: 'post',
-    data
-  })
-}

+ 0 - 25
src/api/visitor.js

@@ -1,25 +0,0 @@
-import request from '@/utils/request'
-/*查询访客列表*/
-export function fetchList(query) {
-  return request({
-    url: '/alumniVisitor/list',
-    method: 'get',
-    params: query
-  })
-}
-
-export function deleteVisitor(data) {
-  return request({
-    url: '/alumniVisitor/delete',
-    method: 'post',
-    data
-  })
-}
-
-export function uploadVisitor(data) {
-  return request({
-    url: '/alumniVisitor/upload',
-    method: 'post',
-    data
-  })
-}

+ 0 - 26
src/api/welfare.js

@@ -1,26 +0,0 @@
-import request from '@/utils/request'
-
-export function listWelfare(query) {
-  return request({
-    url: '/welfare/list',
-    method: 'get',
-    params: query
-  })
-}
-
-export function updateWelfare(data) {
-  return request({
-    url: '/welfare/update',
-    method: 'post',
-    data
-  })
-}
-
-
-export function deleteWelfare(data) {
-  return request({
-    url: '/welfare/delete',
-    method: 'post',
-    data
-  })
-}

+ 0 - 37
src/api/welfareManage.js

@@ -1,37 +0,0 @@
-import request from '@/utils/request'
-
-export function createItem(data) {
-  return request({
-    url: '/mall-welfare/welfare/add',
-    method: 'post',
-    data
-  })
-}
-
-export function updateItem(query) {
-  return request({
-    url: '/mall-welfare/welfare/edit',
-    method: 'post',
-    data:query
-  })
-}
-
-export function welfareList(query) {
-  return request({
-    url: '/mall-welfare/welfare/list',
-    method: 'post',
-    params:query
-  })
-}
-
-export function welfareState(query) {
-  return request({
-    url: 'mall-welfare/modify/status',
-    method: 'post',
-    params:query
-  })
-}
-
-
-
-

+ 0 - 212
src/views/activeUsers/index.vue

@@ -1,212 +0,0 @@
-<template>
-  <div style="height: 100vh;width: 100%;">
-    <iframe src="https://dgtbi.dgtis.com/cboard/render.html?shareid=t46EABnC#/" width="100%" height="100%"></iframe>
-  </div>
-  
-  <!-- <el-row class="panel-group" :gutter="40">
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-people">
-          <svg-icon icon-class="peoples" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">员工数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="userTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-message">
-          <svg-icon icon-class="people" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">游客数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="visitorsTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-people">
-          <svg-icon icon-class="magnifying-glass" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">待审核数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="awaitAuditTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="user" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">昨日浏览人数</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="yesterdayTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="group" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">待审核圈子数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="groupTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="raise-your-hand-to-ask" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">提问待回答数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="questionTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="edit" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">今日评论数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="todayTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-  </el-row> -->
-</template>
-
-<script>
-import { info } from '@/api/dashboard'
-import CountTo from 'vue-count-to'
-
-export default {
-  components: {
-    CountTo
-  },
-  data() {
-    return {
-      userTotal: 0,//校友录数量
-      visitorsTotal: 0,//游客数量
-      awaitAuditTotal: 0,//待审核数量
-      yesterdayTotal: 0,//昨日浏览人数
-      todayTotal:0,//今日评论数量
-      groupTotal:0,//圈子待审核数量
-      questionTotal:0,//提问待回答数量
-      goodsTotal: 0,
-      productTotal: 0,
-      orderTotal: 0
-    }
-  },
-  methods: {
-    handleSetLineChartData(type) {
-      this.$emit('handleSetLineChartData', type)
-    }
-  },
-  created() {
-    info(this.listQuery).then(response => {
-      this.userTotal = response.data.data.userTotal
-      this.visitorsTotal = response.data.data.visitorsTotal
-      this.awaitAuditTotal = response.data.data.awaitAuditTotal
-      this.yesterdayTotal = response.data.data.yesterdayTotal
-      this.todayTotal = response.data.data.todayTotal
-      this.groupTotal = response.data.data.groupTotal
-      this.questionTotal = response.data.data.questionTotal
-      // this.goodsTotal = response.data.data.goodsTotal
-      // this.productTotal = response.data.data.productTotal
-      // this.orderTotal = response.data.data.orderTotal
-    })
-  }
-}
-</script>
-
-<style rel="stylesheet/scss" lang="scss" scoped>
-.panel-group {
-  margin-top: 18px;
-
-  .card-panel-col{
-    margin-bottom: 32px;
-  }
-  .card-panel {
-    height: 108px;
-    cursor: pointer;
-    font-size: 12px;
-    position: relative;
-    overflow: hidden;
-    color: #666;
-    background: #fff;
-    box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
-    border-color: rgba(0, 0, 0, .05);
-    &:hover {
-      .card-panel-icon-wrapper {
-        color: #fff;
-      }
-      .icon-people {
-         background: #40c9c6;
-      }
-      .icon-message {
-        background: #36a3f7;
-      }
-      .icon-money {
-        background: #f4516c;
-      }
-      .icon-shoppingCard {
-        background: #34bfa3
-      }
-    }
-    .icon-people {
-      color: #40c9c6;
-    }
-    .icon-message {
-      color: #36a3f7;
-    }
-    .icon-money {
-      color: #f4516c;
-    }
-    .icon-shoppingCard {
-      color: #34bfa3
-    }
-    .card-panel-icon-wrapper {
-      float: left;
-      margin: 14px 0 0 14px;
-      padding: 16px;
-      transition: all 0.38s ease-out;
-      border-radius: 6px;
-    }
-    .card-panel-icon {
-      float: left;
-      font-size: 48px;
-    }
-    .card-panel-description {
-      float: right;
-      font-weight: bold;
-      margin: 26px;
-      margin-left: 0px;
-      .card-panel-text {
-        line-height: 18px;
-        color: rgba(0, 0, 0, 0.45);
-        font-size: 16px;
-        margin-bottom: 12px;
-      }
-      .card-panel-num {
-        font-size: 20px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 640
src/views/activityManage/activityList.vue

@@ -1,640 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动名称"
-                v-model="listQuery.title"></el-input>
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="活动名称" prop="title">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="开始日期" prop="startTime"/>
-            <el-table-column align="center" min-width="150px" label="结束日期" prop="endTime"/>
-           
-            <el-table-column align="center" min-width="80px" label="创建人" prop="creater">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动状态" prop="statusName">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeState(scope.row.actId, 1)">开启</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeState(scope.row.actId, 0)">关闭</el-button>
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row.actId, -1)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="110px" style='width:700px; margin-left:50px;'>
-                <el-form-item label="活动类型" prop="type">
-                    <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.type" filterable placeholder="请选择" style="width: 350px"
-                        value-key="value"  @change="clickType">
-                        <el-option :key="item.dictValue" v-for="item in typeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="活动名称" prop="title">
-                    <el-input v-model="dataForm.title" style="width: 350px"></el-input>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="活动图片" prop="imgUrl">
-                    <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-                        <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images" :limit="1"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                    </el-tooltip>
-                </el-form-item>
-                <!-- <el-form-item label="开始日期" prop="startTime">
-                    <el-date-picker value-format="yyyy-MM-dd" :picker-options="setDisabled" v-model="dataForm.startTime" type="date" placeholder="请选择开始时间" style="width: 350px">
-                    </el-date-picker>
-                </el-form-item>
-                <el-form-item label="结束日期" prop="endTime">
-                    <el-date-picker value-format="yyyy-MM-dd" :picker-options="setDisabled" v-model="dataForm.endTime" type="date" placeholder="请选择结束时间" style="width: 350px">
-                    </el-date-picker>
-                </el-form-item> -->
-                <el-form-item label="开始日期" prop="startCron">
-                <el-input v-model="dataForm.startCron" placeholder="请输入cron执行表达式" style="width: 350px">
-                    <template slot="append">
-                    <el-button type="primary" :disabled="dialogStatus == 'update'?true:false" @click="handleShowCronStart">
-                        生成表达式
-                        <i class="el-icon-time el-icon--right"></i>
-                    </el-button>
-                    </template>
-                </el-input>
-                </el-form-item>
-                <el-form-item label="结束日期" prop="endCron">
-                    <el-input v-model="dataForm.endCron" placeholder="请输入cron执行表达式" style="width: 350px">
-                        <template slot="append">
-                            <el-button type="primary" :disabled="dialogStatus == 'update'?true:false" @click="handleShowCronEnd">
-                                生成表达式
-                                <i class="el-icon-time el-icon--right"></i>
-                            </el-button>
-                        </template>
-                    </el-input>
-                </el-form-item>
-                <el-form-item v-if="dataForm.type=='3' || dataForm.type=='5'"  label="关联奖池" prop="prizePoolId">
-                    <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.prizePoolId" clearable placeholder="请选择奖池" class="filter-item" style="width: 350px">
-                        <el-option :key="item.id" v-for="item in poolList" :label="item.title" :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item v-else label="关联兑换卷" prop="relationCoupon">
-                    <el-radio-group :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.relationCoupon">
-                        <el-radio :label="'0'">否</el-radio>
-                        <el-radio :label="'1'">是</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item v-if="(dataForm.type!='3' && dataForm.type!='5') && dataForm.relationCoupon=='1'"  label="兑换券" prop="couponIds">
-                    <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.couponIds" clearable multiple collapse-tags placeholder="请选择兑换券" class="filter-item" style="width: 350px">
-                        <el-option :key="item.id" v-for="item in couponsList" :label="item.couponName" :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item v-if="dataForm.type=='3' || dataForm.type=='5'" label="抽奖次数">
-                    <el-input-number :disabled="dialogStatus == 'update'?true:false" style="width: 350px" :min="0" :step="1" v-model="dataForm.prizeNum"></el-input-number>
-                </el-form-item>
-                <el-form-item v-if="dataForm.type=='3' || dataForm.type=='5'" label="兑换积分">
-                    <el-input-number :disabled="dialogStatus == 'update'?true:false" style="width: 350px" :min="0" :step="1" v-model="dataForm.expenseIntegral"></el-input-number>
-                </el-form-item>
-                <el-form-item v-if="dataForm.type=='5'" label="开奖日期" prop="winningTimeCron">
-                <el-input v-model="dataForm.winningTimeCron" placeholder="请输入cron执行表达式" style="width: 350px">
-                    <template slot="append">
-                    <el-button type="primary" :disabled="dialogStatus == 'update'?true:false" @click="handleShowCronDrawStart">
-                        生成表达式
-                        <i class="el-icon-time el-icon--right"></i>
-                    </el-button>
-                    </template>
-                </el-input>
-                </el-form-item>
-                <el-form-item v-if="dataForm.relationCoupon=='1' || dataForm.type=='3' || dataForm.type=='5'" label="兑换截至时间" prop="couponEndTime">
-                    <el-date-picker 
-                    :disabled="dialogStatus == 'update'?true:false"
-                    format="yyyy-MM-dd HH:mm:ss"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    type="datetime" v-model="dataForm.couponEndTime" 
-                    placeholder="请选择兑换截至时间" 
-                    style="width: 350px">
-                    </el-date-picker>
-                </el-form-item>
-                <el-form-item  v-if="dataForm.type=='1'  || dataForm.type=='4'" label="活动连接" prop="activityUrl">
-                    <el-input v-model="dataForm.activityUrl" style="width: 350px"></el-input>
-                </el-form-item>
-                <el-form-item label="参与人">
-                    <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.participants" multiple filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.loginId" v-for="item in participantsList" :label="item.userName" :value="item.loginId">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="内容" prop="content">
-                    <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-        <el-dialog title="开始日期Cron表达式生成器" :visible.sync="openCronStart" append-to-body destroy-on-close class="scrollbar">
-            <crontab @hide="openCronStart=false" @fill="crontabFillStart" :expression="expressionStart"></crontab>
-        </el-dialog>
-        <el-dialog title="结束日期Cron表达式生成器" :visible.sync="openCronEnd" append-to-body destroy-on-close class="scrollbar">
-            <crontab @hide="openCronEnd=false" @fill="crontabFillEnd" :expression="expressionEnd"></crontab>
-        </el-dialog>
-        <el-dialog title="开奖日期Cron表达式生成器" :visible.sync="openCronDrawStart" append-to-body destroy-on-close class="scrollbar">
-            <crontab @hide="openCronDrawStart=false" @fill="crontabFillDrawStart" :expression="expressionDrawStart"></crontab>
-        </el-dialog>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { createItem, updateItem, activityList, activityState } from "@/api/activityManage";
-import Crontab from '@/components/Crontab'
-import { allUserList,dataTypeList,couponsList,prizePoolList,drawPoolList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce,Crontab },
-    directives: { waves },
-    data() {
-        return {
-            poolList:[],
-            couponsList:[],
-             // 是否显示Cron表达式弹出层
-            openCronStart: false,
-            openCronEnd: false,
-            openCronDrawStart: false,
-            // 传入的表达式
-            expressionStart: "",
-            expressionEnd: "",
-            expressionDrawStart: "",
-            setDisabled: {
-                disabledDate(time) {
-                    // return time.getTime() > Date.now();  // 可选历史天、可选当前天、不可选未来天
-                    // return time.getTime() > Date.now() - 8.64e7;  // 可选历史天、不可选当前天、不可选未来天
-                    // return time.getTime() < Date.now() - 8.64e7;  // 不可选历史天、可选当前天、可选未来天
-                    return time.getTime() < Date.now(); // 不可选历史天、不可选当前天、可选未来天
-                },
-            },
-            participantsList: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                title: '',
-                createTime: '',
-            },
-            dataForm: {
-                type:'',
-                title: '',
-                imgUrl: '',
-                activityUrl: '',
-                winningTimeCron: '',
-                startCron: '',
-                endCron: '',
-                couponEndTime:'',
-                prizePoolId:'',
-                relationCoupon:'0',
-                couponIds:[],
-                prizeNum:undefined,
-                expenseIntegral:undefined,
-                participants: [],
-                content: '',
-                images: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                type: [{ required: true, message: "请选择活动类型", trigger: "blur" }],
-                title: [{ required: true, message: "请填写活动名称", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "图片不能为空", trigger: "blur" }],
-                startTime: [
-                    { required: true, message: "请选择活动开始时间", trigger: "change" },
-                    { validator: this.checkStartTime, trigger: 'change' }
-                ],
-                endTime: [
-                    { required: true, message: "请选择活动结束时间", trigger: "change" },
-                    { validator: this.checkEndTime, trigger: 'change' }
-                ],
-                content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
-                winningTimeCron: [
-                    { required: true, message: "cron执行表达式不能为空", trigger: "blur" }
-                ],
-                startCron: [
-                    { required: true, message: "cron执行表达式不能为空", trigger: "blur" }
-                ],
-                endCron: [
-                    { required: true, message: "cron执行表达式不能为空", trigger: "blur" }
-                ],
-                couponEndTime:[
-                    { required: true, message: "请选择兑换截止日期", trigger: "blur" }
-                ],
-                prizePoolId: [
-                    { required: true, message: "请选择奖池", trigger: "blur" }
-                ],
-                relationCoupon: [
-                    { required: true, message: "请选择是否关联兑换卷", trigger: "blur" }
-                ],
-                couponIds: [
-                    { required: true, message: "请关联兑换券", trigger: "blur" }
-                ],
-                prizeNum: [
-                    { required: true, message: "请设置抽奖次数", trigger: "blur" }
-                ],
-                expenseIntegral: [
-                    { required: true, message: "请设置兑换积分", trigger: "blur" }
-                ],
-                activityUrl: [
-                    { required: true, message: "请填写活动连接", trigger: "blur" }
-                ],
-                
-            },
-            fileImgUrl: this.upLoadUrl,
-            typeList:[],
-        }
-    },
-    created() {
-        this.getCouponsList();
-        this.getTypeList();
-        this.getAllUserList(); 
-        this.getList();
-    },
-    methods: {
-        clickType(){
-            this.dataForm.title = undefined; 
-            this.dataForm.imgUrl = undefined;
-            this.dataForm.activityUrl = undefined;
-            this.dataForm.winningTimeCron = undefined;
-            this.dataForm.startCron = undefined;
-            this.dataForm.endCron = undefined;
-
-            this.dataForm.couponEndTime = undefined;
-            this.dataForm.prizePoolId = undefined;
-            this.dataForm.relationCoupon = '0';
-            this.dataForm.couponIds = [];
-            this.dataForm.prizeNum = undefined;
-            this.dataForm.expenseIntegral = undefined,
-            this.dataForm.participants = [];
-            this.dataForm.content = undefined;
-            this.dataForm.images = [];
-            if(this.dataForm.type == '3'){
-                this.getPrizePoolList();
-            }
-            if(this.dataForm.type == '5'){
-                this.getDrawPoolList();
-            }
-        },
-        getDrawPoolList() {
-            drawPoolList({}).then(response => {
-                this.poolList = response.data.data;
-            }).catch(() => { });
-        },
-        getPrizePoolList() {
-            prizePoolList({}).then(response => {
-                this.poolList = response.data.data;
-            }).catch(() => { });
-        },
-        getCouponsList() {
-            couponsList({}).then(response => {
-                this.couponsList = response.data.data;
-            }).catch(() => { });
-        },
-        getTypeList(){
-            dataTypeList({dictType:'act_type'}).then(response => {
-                this.typeList = response.data.data;
-            }).catch(() => {});
-        },
-          /** cron表达式按钮操作 */
-        handleShowCronDrawStart() {
-            this.expressionDrawStart = this.dataForm.winningTimeCron;
-            this.openCronDrawStart = true;
-        },
-        handleShowCronStart() {
-            this.expressionStart = this.dataForm.startCron;
-            this.openCronStart = true;
-        },
-        handleShowCronEnd() {
-            this.expressionEnd = this.dataForm.endCron;
-            this.openCronEnd = true;
-        },
-        /** 确定后回传值 */
-        crontabFillDrawStart(value) {
-            this.dataForm.winningTimeCron = value;
-        },
-        crontabFillStart(value) {
-            this.dataForm.startCron = value;
-        },
-        crontabFillEnd(value) {
-            this.dataForm.endCron = value;
-        },
-        //校验开始时间
-        checkStartTime(rule, value, callback) {
-            if (!value) {
-                callback(new Error("请选择活动开始时间!"));
-            } else {
-                if (this.dataForm.endTime && Date.parse(value)  > Date.parse(this.dataForm.endTime)) {
-                    callback(new Error("活动开始时间必须小于等于活动结束时间!"))
-                    this.dataForm.startTime = '';
-                } else {
-                    callback();
-                }
-            }
-        },
-        //校验结束时间
-        checkEndTime(rule, value, callback) {
-            if (!value) {
-                callback(new Error("请选择活动结束时间!"));
-            } else {
-                if (!this.dataForm.startTime) {
-                    callback(new Error("请选择活动开始时间!"))
-                    this.dataForm.endTime = '';
-                } else if (Date.parse(this.dataForm.startTime) > Date.parse(value)) {
-                    callback(new Error("活动结束时间必须大于等于活动开始时间!"))
-                    this.dataForm.endTime = '';
-                } else {
-                    callback();
-                }
-            }
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-                this.dataForm.imgUrl = images.join(",");
-            }
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-
-            this.dataForm.imgUrl = images.join(",");
-        },
-        resetForm() {
-            this.dataForm = {
-                type:'',
-                title: '',
-                imgUrl: '',
-                activityUrl: '',
-                winningTimeCron: '',
-                startCron: '',
-                endCron: '',
-                couponEndTime:'',
-                prizePoolId:'',
-                relationCoupon:'0',
-                couponIds:[],
-                prizeNum:'',
-                expenseIntegral:undefined,
-                participants: [],
-                content: '',
-                images: [],
-            };
-        },
-        handleCreate() {
-
-            this.resetForm();
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent("");
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    console.log(this.dataForm);
-                    createItem(this.dataForm)
-                            .then((response) => {
-                                this.getList();
-                                this.dialogFormVisible = false;
-                                this.$notify({
-                                    title: "成功",
-                                    message: "创建成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                }
-            });
-        },
-        handleUpdate(row) {
-            if(row.type == '3'){
-                this.getPrizePoolList();
-            }
-            if(row.type == '5'){
-                this.getDrawPoolList();
-            }
-            this.dataForm = Object.assign({}, row);
-            if(this.dataForm.couponIds==null){
-                this.dataForm.couponIds = [];
-            }
-            let content = this.dataForm.content;
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent(content);
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    updateItem(this.dataForm).then(() => {
-                            this.dialogFormVisible = false
-                            this.$notify({
-                                title: '成功',
-                                message: '更新成功',
-                                type: 'success',
-                                duration: 2000
-                            })
-                            this.getList()
-                        })
-
-                }
-
-            })
-        },
-        changeState(actId, index) {
-            activityState({ actId: actId, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '活动状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(actId, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                activityState({ actId: actId, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {})
-
-        },
-        getAllUserList() {
-            allUserList().then(response => {
-                this.participantsList = response.data.data;
-            }).catch(() => {});
-        },
-        getList() {
-            this.listLoading = true
-            activityList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 165
src/views/answerGame/answerList.vue

@@ -1,165 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工姓名"
-                v-model="listQuery.userName"></el-input>
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="180px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="正确数" prop="rightQuantities">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="用时(毫秒)" prop="answerTime">
-            </el-table-column>
-            
-            <el-table-column align="center" min-width="150px" label="答题时间" prop="answerDate">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="日期" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="答题记录">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleView(scope.row.answerLogs)">查看</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 答题记录列表 -->
-        <el-dialog :close-on-click-modal="false" title="答题记录" :visible.sync="dialogFormVisible" width="70%">
-            <!-- 查询结果 -->
-            <el-table size="small" :data="itemList" element-loading-text="正在查询中。。。" border fit
-                highlight-current-row>
-                <el-table-column align="center" min-width="150px" label="题目" prop="ask">
-                </el-table-column>
-                <el-table-column align="center" min-width="100px" label="员工答案" prop="userAnswer">
-                </el-table-column>
-                <el-table-column align="center" min-width="200px" label="正确答案" prop="answer">
-                </el-table-column>
-            </el-table>
-        </el-dialog>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { answerList } from "@/api/answerGame";
-import waves from "@/directive/waves"; // 水波纹指令
-
-export default {
-    directives: { waves },
-    data() {
-        return {
-            list: [],
-            itemList:[],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                userName: '',
-                createTime: '',
-            },
-            dialogFormVisible: false,
-        }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-        handleView(row) {
-            this.itemList = row;
-            this.dialogFormVisible = true
-        },
-        getList() {
-            this.listLoading = true
-            answerList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 247
src/views/certManage/certList.vue

@@ -1,247 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-      <!-- 查询和其他操作 -->
-      <div class="filter-container">
-        <el-input clearable class="filter-item" style="width: 200px;" placeholder="证书类型"
-                v-model="listQuery.name"></el-input>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="证书名称"
-                v-model="listQuery.title"></el-input>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-                v-model="listQuery.userName"></el-input>
-        <el-select v-model="listQuery.status" clearable placeholder="审批状态" style="top: -4px; width: 200px">
-          <el-option :key="item.type" v-for="item in statusTypeList" :label="item.name" :value="item.type">
-          </el-option>
-        </el-select>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-      </div>
-  
-      <!-- 查询结果 -->
-      <el-table size="small" :data="list" v-loading="listLoading"
-        element-loading-text="正在查询中。。。" border fit highlight-current-row>
-        <el-table-column type="index" label="序号" header-align="center" align="center">
-        </el-table-column>
-        <el-table-column align="center" min-width="200px" label="附件">
-          <template slot-scope="props">
-                <div v-for="(item, index) in props.row.files" :key="index">
-                  <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-                </div>
-              </template>
-        </el-table-column>
-        <el-table-column align="center" min-width="150px" label="证书大类" prop="typeName">
-        </el-table-column>
-        <el-table-column align="center" prop="categoryName" min-width="100" label="证书类型">
-        </el-table-column>
-        <el-table-column align="center" prop="title" min-width="100" label="证书名称">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="上传人" prop="userName">
-        </el-table-column>
-        <el-table-column align="center" min-width="250px" label="公司" prop="companyName">
-        </el-table-column>
-        <el-table-column align="center" min-width="250px" label="部门" prop="deptName">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="获得积分" prop="integral">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="审核状态" prop="statusName">
-        </el-table-column>
-        <el-table-column align="center" min-width="100px" label="日期" prop="createTime">
-        </el-table-column>
-        <el-table-column align="center" label="操作" width="150px" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <el-button :disabled="scope.row.status == 0?false:true" type="primary" size="small" @click="handleComplete(scope.row.id,0)">通过</el-button>
-            <el-button :disabled="scope.row.status == 0?false:true" type="warning" size="small" @click="handleCreate(scope.row.id)">不通过</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-  
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-          :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-          layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-      <!-- 添加或修改对话框 -->
-      <el-dialog :close-on-click-modal="false" title="证书审批" :visible.sync="dialogFormVisible" width="40%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px">
-                <el-form-item label="审批内容" prop="content">
-                  <el-input type="textarea" :rows="2" placeholder="请输入审批内容" v-model="dataForm.content"></el-input>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button type="primary" @click="handleComplete(certificateId,1)">确定</el-button>
-            </div>
-        </el-dialog>
-    </div>
-  </template>
-    
-  <style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-  </style>
-    
-  <script>
-  import {
-    complete,
-    list,
-  } from "@/api/certManage";
-  import waves from "@/directive/waves"; // 水波纹指令
-  import Tinymce from "@/components/Tinymce";
-  
-  export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        certificateId:'',
-        dialogFormVisible: false,
-        dataForm: {
-          content: ''
-        },
-        rules: {
-          content: [{ required: true, message: "审批内容不能为空", trigger: "blur" }],
-        },
-        statusTypeList: [
-          {
-            type: 0,
-            name: "审核中",
-          },
-          {
-            type: 1,
-            name: "通过",
-          },
-          {
-            type: 2,
-            name: "不通过",
-          },
-        ],
-        list: [
-        ],
-        total: 0,
-        listLoading: false,
-        listQuery: {
-          page: 1,
-          limit: 10,
-          name:'',
-          title:'',
-          userName:'',
-          status: "",
-        },
-      };
-    },
-    created() {
-      this.getList();
-    },
-    methods: {
-      handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-integral-obtain/export/certificate?name=' + this.listQuery.name + '&title=' + this.listQuery.title + '&userName=' + this.listQuery.userName + '&status=' + this.listQuery.status;
-        },
-      getList() {
-        this.listLoading = true;
-        list(this.listQuery)
-          .then((response) => {
-            this.list = response.data.data.items;
-            this.total = response.data.data.total;
-            this.listLoading = false;
-          })
-          .catch(() => {
-            this.list = [];
-            this.total = 0;
-            this.listLoading = false;
-          });
-      },
-  
-      handleFilter() {
-        this.listQuery.page = 1;
-        this.getList();
-      },
-  
-      handleSizeChange(val) {
-        this.listQuery.limit = val;
-        this.getList();
-      },
-  
-      handleCurrentChange(val) {
-        this.listQuery.page = val;
-        this.getList();
-      },
-      handleCreate(id) {
-        this.dialogFormVisible = true;
-        this.certificateId = id;
-        this.$nextTick(() => {
-            this.dataForm.content = '';
-            this.$refs["dataForm"].clearValidate();
-        });
-      },
-      handleComplete(certificateId,flag){
-        if(flag==1){
-          this.$refs["dataForm"].validate((valid) => {
-          if (valid) {
-            complete({certificateId:certificateId,flag:flag,content:this.dataForm.content}).then(() => {
-                  this.dialogFormVisible = false;
-                        this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                        this.getList();
-                    });
-          }
-        })  
-        }else{
-          complete({certificateId:certificateId,flag:flag}).then(() => {
-                        this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                        this.getList();
-                    });
-        }
-        
-      }
-      
-    },
-  };
-  </script>
-  <style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409eff;
-  }
-  
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  
-  .ad-avatar {
-    display: block;
-  }
-  </style>
-    

+ 0 - 85
src/views/certManage/certRules.vue

@@ -1,85 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container" style="padding-bottom: 80px;">
-        <el-form v-loading="loading" :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 85%; margin-left:50px;'>
-         <el-form-item  label="标题" prop="title">
-              <el-input v-model="dataForm.title"></el-input>
-            </el-form-item>
-            <el-form-item
-              style="width: 100%"
-              label="内容"
-              prop="content"
-            >
-              <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-  
-        </el-form>
-        <el-button style="float: right;margin-right: 120px;" type="primary" @click="updateData">修改</el-button>
-    
-        
-    </div>
-   
-  </template>
-  
-  <style>
-    
-  </style>
-  
-  
-  <script>
-   import {goodsExchangeRulesDetail, updateGoodsExchangeRules} from "@/api/goodsManage";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-    export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        dataForm: {
-          type:'certificatNotice',
-          title: '',
-          content: "",
-        },
-        loading: false,
-        rules: {
-            title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-            content: [{ required: true, message: "积分规则不能为空", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getDetail();
-    },
-    methods: {
-    
-      getDetail() {
-          this.loading = true
-          goodsExchangeRulesDetail({noticeType:'certificatNotice'}).then(response => {
-            this.dataForm.title = response.data.data.title;
-            this.dataForm.content = response.data.data.content;
-            this.dataForm.id = response.data.data.id;
-            this.loading = false;
-          }).catch(() => {})
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.loading = true;
-            updateGoodsExchangeRules(this.dataForm).then(() => {
-              this.loading = false;
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getDetail();
-              }) 
-          }
-        })
-      },
-  
-      
-    }
-  }
-  </script>
-  

+ 0 - 299
src/views/certManage/certSetList.vue

@@ -1,299 +0,0 @@
-<template>
-    <div class="app-container">
-      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
-        <el-form-item label="证书类型" prop="typeName">
-          <el-input
-            v-model="queryParams.typeName"
-            placeholder="请输入证书类型"
-            clearable
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item>
-          <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleQuery">查找</el-button>
-          <el-button class="filter-item" type="primary" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
-          <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleAdd">添加</el-button>
-          <el-button class="filter-item" type="info" icon="el-icon-sort" @click="toggleExpandAll">展开/折叠</el-button>
-        </el-form-item>
-      </el-form>
-      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
-      <el-table
-        v-if="refreshTable"
-        v-loading="loading"
-        :data="deptList"
-        row-key="id"
-        border
-        :default-expand-all="isExpandAll"
-        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
-      >
-        <el-table-column prop="typeName" label="证书类型" min-width="180px"></el-table-column>
-        <el-table-column prop="orderNum" label="排序" align="center"></el-table-column>
-        <el-table-column prop="integral" label="积分" align="center"></el-table-column>
-        <el-table-column label="创建时间" align="center" prop="createTime">
-        </el-table-column>
-        <el-table-column label="操作" align="center" min-width="110px">
-          <template slot-scope="scope">
-            <el-button
-              size="mini"
-              type="primary"
-              @click="handleUpdate(scope.row)"
-            >修改</el-button>
-            <el-button
-              size="mini"
-              type="success"
-              @click="handleAdd(scope.row)"
-            >添加</el-button>
-            <el-button
-              v-if="scope.row.parentId != 0"
-              size="mini"
-              type="danger"
-              @click="handleDelete(scope.row)"
-            >删除</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-  
-      <!-- 添加或修改证书对话框 -->
-      <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
-        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-          <el-row>
-            <el-col :span="24" v-if="form.parentId !== 0">
-              <el-form-item label="上级类型" prop="parentId">
-                <treeselect default-expand-all v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级类型" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="证书类型" prop="typeName">
-                <el-input v-model="form.typeName" placeholder="请输入证书类型" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="积分" prop="integral">
-                <el-input-number v-model="form.integral" controls-position="right" :min="0" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="显示排序" prop="orderNum">
-                <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div>
-      </el-dialog>
-    </div>
-  </template>
-  
-  <script>
-  import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/certManage";
-  import Treeselect from "@riophae/vue-treeselect";
-  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-  
-  export default {
-    components: { Treeselect },
-    data() {
-      return {
-        // 遮罩层
-        loading: true,
-        // 显示搜索条件
-        showSearch: true,
-        // 表格树数据
-        deptList: [],
-        // 证书树选项
-        deptOptions: [],
-        // 弹出层标题
-        title: "",
-        // 是否显示弹出层
-        open: false,
-        // 是否展开,默认全部展开
-        isExpandAll: true,
-        // 重新渲染表格状态
-        refreshTable: true,
-        // 查询参数
-        queryParams: {
-          typeName: undefined,
-        },
-        // 表单参数
-        form: {},
-        // 表单校验
-        rules: {
-          parentId: [
-            { required: true, message: "上级类型不能为空", trigger: "blur" }
-          ],
-          typeName: [
-            { required: true, message: "证书类型不能为空", trigger: "blur" }
-          ],
-          orderNum: [
-            { required: true, message: "显示排序不能为空", trigger: "blur" }
-          ],
-          integral: [
-            { required: true, message: "积分不能为空", trigger: "blur" }
-          ],
-          email: [
-            {
-              type: "email",
-              message: "请输入正确的邮箱地址",
-              trigger: ["blur", "change"]
-            }
-          ],
-          phone: [
-            {
-              pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-              message: "请输入正确的手机号码",
-              trigger: "blur"
-            }
-          ]
-        }
-      };
-    },
-    created() {
-      this.getList();
-    },
-    methods: {
-      /** 查询证书列表 */
-      getList() {
-        this.loading = true;
-        listDept(this.queryParams).then(response => {
-          this.deptList = this.handleTree(response.data.data,'id');
-          console.log(this.deptList);
-          this.loading = false;
-        });
-      },
-      /** 转换证书数据结构 */
-      normalizer(node) {
-        if (node.children && !node.children.length) {
-          delete node.children;
-        }
-        return {
-          id: node.id,
-          label: node.typeName,
-          children: node.children
-        };
-      },
-      // 取消按钮
-      cancel() {
-        this.open = false;
-        this.reset();
-      },
-      // 表单重置
-      reset() {
-        this.form = {
-          id: undefined,
-          parentId: undefined,
-          typeName: undefined,
-          orderNum: undefined,
-          integral:undefined,
-          leader: undefined,
-          phone: undefined,
-          email: undefined,
-          status: "0"
-        };
-        this.resetForm("form");
-      },
-      /** 搜索按钮操作 */
-      handleQuery() {
-        this.getList();
-      },
-      /** 重置按钮操作 */
-      resetQuery() {
-        this.resetForm("queryForm");
-        this.handleQuery();
-      },
-      /** 新增按钮操作 */
-      handleAdd(row) {
-        this.reset();
-        if (row != undefined) {
-          this.form.parentId = row.id;
-        }
-        this.open = true;
-        this.title = "添加证书";
-        listDept().then(response => {
-          this.deptOptions = this.handleTree(response.data.data, "id");
-        });
-      },
-      /** 展开/折叠操作 */
-      toggleExpandAll() {
-        this.refreshTable = false;
-        this.isExpandAll = !this.isExpandAll;
-        this.$nextTick(() => {
-          this.refreshTable = true;
-        });
-      },
-      /** 修改按钮操作 */
-      handleUpdate(row) {
-        this.reset();
-        getDept({id:row.id}).then(response => {
-          this.form = response.data.data;
-          this.open = true;
-          this.title = "修改证书";
-          listDeptExcludeChild({id:row.id}).then(response => {
-            this.deptOptions = this.handleTree(response.data.data, "id");
-            if (this.deptOptions.length == 0) {
-              const noResultsOptions = { id: this.form.parentId, typeName: this.form.parentName, children: [] };
-              this.deptOptions.push(noResultsOptions);
-            }
-          });
-        });
-      },
-      /** 提交按钮 */
-      submitForm: function() {
-        this.$refs["form"].validate(valid => {
-          if (valid) {
-            if (this.form.id != undefined) {
-              updateDept(this.form).then(response => {
-                this.$notify({
-                            title: '成功',
-                            message: '修改成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                this.open = false;
-                this.getList();
-              });
-            } else {
-              addDept(this.form).then(response => {
-                this.$notify({
-                            title: '成功',
-                            message: '新增成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                this.open = false;
-                this.getList();
-              });
-            }
-          }
-        });
-      },
-      /** 删除按钮操作 */
-      handleDelete(row) {
-        this.$confirm('是否确认删除名称为"' + row.typeName + '"的数据项?', "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-        .then(function() {
-          return delDept({id:row.id});
-        }).then(() => {
-          this.getList();
-          this.$notify({
-                            title: '成功',
-                            message: '删除成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-        }).catch(() => {});
-      }
-    }
-  };
-  </script>
-  

+ 0 - 388
src/views/commendManage/ceoCiteList.vue

@@ -1,388 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-select v-model="listQuery.type" clearable placeholder="表彰类型" class="filter-item" style="width: 200px">
-        <el-option :key="item.dictValue" v-for="item in typeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客户名称"
-        v-model="listQuery.customerName"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="表彰名称"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-        v-model="listQuery.userName"></el-input>
-      <!-- <el-select v-model="listQuery.status" clearable placeholder="审批状态" style="top: -4px; width: 200px">
-        <el-option :key="item.dictValue" v-for="item in statusTypeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select> -->
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <!-- <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button> -->
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="附件">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.files" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" prop="typeName" min-width="100" label="表彰类型">
-      </el-table-column>
-      <!-- <el-table-column align="center" prop="categoryName" min-width="100" label="表彰类别">
-      </el-table-column> -->
-      <el-table-column align="center" min-width="100" label="表彰人员">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.groupUsers" border size="mini">
-              <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">
-              {{ props.row.userName }}
-            </span>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="150" label="客户名称">
-        <template slot-scope="props">
-          <el-popover width="200" trigger="hover" :content="props.row.customerName">
-            <div slot="reference" class="text-overflow">{{ props.row.customerName }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="150" label="表彰名称">
-        <template slot-scope="props">
-          <el-popover width="200" trigger="hover" :content="props.row.title">
-            <div slot="reference" class="text-overflow">{{ props.row.title }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column min-width="100" align="center" label="表彰描述">
-        <template slot-scope="props">
-          <el-popover width="400" trigger="hover" :content="props.row.content">
-            <div slot="reference" class="text-overflow">{{ props.row.content }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="部门" prop="deptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="上传人" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="获得积分" prop="integral">
-      </el-table-column>
-      <el-table-column align="center" min-width="120px" label="审核状态">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.logs" border size="mini">
-              <el-table-column min-width="120" align="center" prop="auditor" label="处理人"></el-table-column>
-              <el-table-column min-width="160" align="center" prop="comment" label="处理结果"></el-table-column>
-              <el-table-column min-width="180" align="center" prop="createTime" label="处理时间"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">{{ props.row.statusName }}</span>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="日期" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="160px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="success" size="small" @click="handleClickView(scope.row, 'complete')">处理</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-      <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-        <div style="display: flex;">
-
-          <el-form-item label="表彰类型">
-            <el-input disabled v-model="detailData.typeName"></el-input>
-          </el-form-item>
-          <el-form-item label="表彰名称">
-            <el-input disabled v-model="detailData.title"></el-input>
-          </el-form-item>
-          <el-form-item label="客户名称">
-            <el-input disabled v-model="detailData.customerName"></el-input>
-          </el-form-item>
-        </div>
-
-        <div style="display: flex;">
-          <el-form-item label="上传人">
-            <el-input disabled v-model="detailData.userName"></el-input>
-          </el-form-item>
-          <el-form-item label="部门">
-            <el-input disabled v-model="detailData.deptName"></el-input>
-          </el-form-item>
-          <el-form-item label="日期">
-            <el-input disabled v-model="detailData.createTime"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="积分">
-            <el-input disabled v-model="detailData.integral"></el-input>
-          </el-form-item>
-          <el-form-item label="附件">
-            <div v-for="(item, index) in detailData.files" :key="index">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-
-        </div>
-        <h3></h3>
-        <el-form-item label="表彰描述">
-          <el-input disabled type="textarea" :rows="5" v-model="detailData.content" style="width: 100%"></el-input>
-        </el-form-item>
-      </el-form>
-      <h4>表彰人员</h4>
-      <el-table :data="detailData.groupUsers" border style="width: 100%">
-        <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-      </el-table>
-      <h4>审批状态</h4>
-      <el-table :data="detailData.logs" border style="width: 100%">
-        <el-table-column align="center" prop="auditor" label="处理人" width="180">
-        </el-table-column>
-
-        <el-table-column align="center" prop="comment" label="处理结果">
-        </el-table-column>
-        <el-table-column align="center" prop="createTime" label="处理时间" width="180">
-        </el-table-column>
-      </el-table>
-      <el-form style="margin-top: 20px;" :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left"
-        label-width="80px">
-        <!-- <el-form-item label="表彰类型">
-          <el-input disabled class="filter-item" v-model="dataForm.typeName"></el-input>
-        </el-form-item> -->
-        <el-form-item label="奖励积分" prop="integral">
-          <el-input-number style="width: 100%;" :min="1" :step="1" v-model="dataForm.integral"></el-input-number>
-        </el-form-item>
-        <el-form-item label="审批内容" prop="content">
-          <el-input type="textarea" :rows="4" placeholder="请输入审批内容" v-model="dataForm.content"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="complete(true)">同意</el-button>
-        <el-button type="danger" @click="complete(false)">驳回</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-    
-<style>
-.text-overflow {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-}
-
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-    
-<script>
-import {
-  complete,
-  customerPage,
-} from "@/api/commendManage.js";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      id: '',
-      integral: '',
-      dataForm: {
-        integral: '',
-        content: ''
-      },
-      rules: {
-        integral: [{ required: true, message: "请填写积分", trigger: "blur" }],
-      },
-      dialogVisible: false,
-      categoryList: [],
-      typeList: [],
-      statusTypeList: [],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: '',
-        customerName: '',
-        title: '',
-        userName: '',
-        status: "20",
-      },
-      dialogVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      detailData: {},
-    };
-  },
-  created() {
-    this.getTypeList();
-    this.getCategoryList();
-    this.getStatusTypeList();
-    this.getList();
-  },
-  methods: {
-    handleClickView(row, tag) {
-      console.log(row);
-      this.dialogStatus = tag;
-      this.detailData = row;
-      this.dialogVisible = true;
-      this.id = row.id;
-      this.dataForm.typeName = row.typeName;
-      this.dataForm.integral = row.integral;
-      this.$nextTick(() => {
-        this.dataForm.content = '';
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    checked(val) {
-      if (val.flag == false) {
-        if (!val.content) {
-          this.$alert("请输入审批内容", "提示", {
-            confirmButtonText: "确定",
-          });
-          return false;
-        }
-      }
-      return true;
-    },
-    complete(flag) {
-      const parms = {
-        id: this.id,
-        addIntergral: this.dataForm.integral,
-        content: this.dataForm.content,
-        flag: flag,
-      }
-      const isChecked = this.checked(parms);
-      if (isChecked) {
-        complete(parms).then((response) => {
-          this.$notify({
-            title: "成功",
-            message: "操作成功",
-            type: "success",
-            duration: 2000,
-          });
-          this.dialogVisible = false;
-          this.getList();
-        })
-          .catch(() => { });
-      }
-
-    },
-    getCategoryList() {
-      dataTypeList({ dictType: 'customer_treward_category' }).then(response => {
-        this.categoryList = response.data.data;
-      }).catch(() => { });
-    },
-    getTypeList() {
-      dataTypeList({ dictType: 'customer_treward_type' }).then(response => {
-        this.typeList = response.data.data;
-      }).catch(() => { });
-    },
-    getStatusTypeList() {
-      dataTypeList({ dictType: 'customer_treward_status' }).then(response => {
-        this.statusTypeList = response.data.data;
-      }).catch(() => { });
-    },
-    handleDownLoad() {
-      window.location.href = process.env.BASE_API + '/mall-integral-obtain/export/certificate?name=' + this.listQuery.name + '&title=' + this.listQuery.title + '&userName=' + this.listQuery.userName + '&status=' + this.listQuery.status;
-    },
-    getList() {
-      this.listLoading = true;
-      customerPage(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-    

+ 0 - 328
src/views/commendManage/citeList.vue

@@ -1,328 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-select v-model="listQuery.type" clearable placeholder="表彰类型" class="filter-item" style="width: 200px">
-        <el-option :key="item.dictValue" v-for="item in typeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <!-- <el-select v-model="listQuery.category" clearable placeholder="表彰类别" class="filter-item" style="width: 200px">
-        <el-option :key="item.dictValue" v-for="item in categoryList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select> -->
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客户名称"
-        v-model="listQuery.customerName"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="表彰名称"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-        v-model="listQuery.userName"></el-input>
-      <el-select v-model="listQuery.status" clearable placeholder="审批状态" style="top: -4px; width: 200px">
-        <el-option :key="item.dictValue" v-for="item in statusTypeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <!-- <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button> -->
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="附件">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.files" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" prop="typeName" min-width="100" label="表彰类型">
-      </el-table-column>
-      <!-- <el-table-column align="center" prop="categoryName" min-width="100" label="表彰类别">
-      </el-table-column> -->
-      <el-table-column align="center" min-width="100" label="表彰人员">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.groupUsers" border size="mini">
-              <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">
-              {{ props.row.groupUsers[0].userName }}
-            </span>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="150" label="客户名称">
-        <template slot-scope="props">
-          <el-popover width="200" trigger="hover" :content="props.row.customerName">
-            <div slot="reference" class="text-overflow">{{ props.row.customerName }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="150" label="表彰名称">
-        <template slot-scope="props">
-          <el-popover width="200" trigger="hover" :content="props.row.title">
-            <div slot="reference" class="text-overflow">{{ props.row.title }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column min-width="100" align="center" label="表彰描述">
-        <template slot-scope="props">
-          <el-popover width="400" trigger="hover" :content="props.row.content">
-            <div slot="reference" class="text-overflow">{{ props.row.content }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="部门" prop="deptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="上传人" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="获得积分" prop="integral">
-      </el-table-column>
-      <el-table-column align="center" min-width="120px" label="审核状态">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.logs" border size="mini">
-              <el-table-column min-width="120" align="center" prop="auditor" label="处理人"></el-table-column>
-              <el-table-column min-width="160" align="center" prop="comment" label="处理结果"></el-table-column>
-              <el-table-column min-width="180" align="center" prop="createTime" label="处理时间"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">{{ props.row.statusName }}</span>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="日期" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleClick(scope.row, 'view')">查看</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-      <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-        <div style="display: flex;">
-
-          <el-form-item label="表彰类型">
-            <el-input disabled v-model="detailData.typeName"></el-input>
-          </el-form-item>
-          <el-form-item label="表彰名称">
-            <el-input disabled v-model="detailData.title"></el-input>
-          </el-form-item>
-          <el-form-item label="客户名称">
-            <el-input disabled v-model="detailData.customerName"></el-input>
-          </el-form-item>
-        </div>
-
-        <div style="display: flex;">
-          <el-form-item label="上传人">
-            <el-input disabled v-model="detailData.userName"></el-input>
-          </el-form-item>
-          <el-form-item label="部门">
-            <el-input disabled v-model="detailData.deptName"></el-input>
-          </el-form-item>
-          <el-form-item label="日期">
-            <el-input disabled v-model="detailData.createTime"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="积分">
-            <el-input disabled v-model="detailData.integral"></el-input>
-          </el-form-item>
-          <el-form-item label="附件">
-            <div v-for="(item, index) in detailData.files" :key="index">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-
-        </div>
-        <h3></h3>
-        <el-form-item label="表彰描述">
-          <el-input disabled type="textarea" :rows="5" v-model="detailData.content" style="width: 100%"></el-input>
-        </el-form-item>
-      </el-form>
-      <h4>表彰人员</h4>
-      <el-table :data="detailData.groupUsers" border style="width: 100%">
-        <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-      </el-table>
-      <h4>审批状态</h4>
-      <el-table :data="detailData.logs" border style="width: 100%">
-        <el-table-column align="center" prop="auditor" label="处理人" width="180">
-        </el-table-column>
-
-        <el-table-column align="center" prop="comment" label="处理结果">
-        </el-table-column>
-        <el-table-column align="center" prop="createTime" label="处理时间" width="180">
-        </el-table-column>
-      </el-table>
-    </el-dialog>
-  </div>
-</template>
-    
-<style>
-.text-overflow {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-}
-
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-    
-<script>
-import {
-  customerPage,
-} from "@/api/commendManage.js";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      tableData: [],
-      dialogVisible: false,
-      categoryList: [],
-      typeList: [],
-      statusTypeList: [],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: '',
-        category: '',
-        customerName: '',
-        title: '',
-        userName: '',
-        status: "",
-      },
-      dialogVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      detailData: {},
-    };
-  },
-  created() {
-    this.getTypeList();
-    this.getCategoryList();
-    this.getStatusTypeList();
-    this.getList();
-  },
-  methods: {
-    handleClick(row, tag) {
-      console.log(row);
-      this.dialogStatus = tag;
-      this.detailData = row;
-      this.dialogVisible = true;
-    },
-    getCategoryList() {
-      dataTypeList({ dictType: 'customer_treward_category' }).then(response => {
-        this.categoryList = response.data.data;
-      }).catch(() => { });
-    },
-    getTypeList() {
-      dataTypeList({ dictType: 'customer_treward_type' }).then(response => {
-        this.typeList = response.data.data;
-      }).catch(() => { });
-    },
-    getStatusTypeList() {
-      dataTypeList({ dictType: 'customer_treward_status' }).then(response => {
-        this.statusTypeList = response.data.data;
-      }).catch(() => { });
-    },
-    handleDownLoad() {
-      window.location.href = process.env.BASE_API + '/mall-integral-obtain/export/certificate?name=' + this.listQuery.name + '&title=' + this.listQuery.title + '&userName=' + this.listQuery.userName + '&status=' + this.listQuery.status;
-    },
-    getList() {
-      this.listLoading = true;
-      customerPage(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-    

+ 0 - 279
src/views/commendManage/commendDataList.vue

@@ -1,279 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading"
-            element-loading-text="正在查询中。。。" border fit highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="60px" label="员工号" prop="employeNo">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="姓名" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="60px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="60px" label="创建时间" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-
-                    <el-button type="danger" size="mini" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 添加或修改对话框 -->
-        <el-dialog
-        :close-on-click-modal="false"
-        :title="textMap[dialogStatus]"
-        :visible.sync="dialogFormVisible"
-        width="70%"
-      >
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px" style='width: 700px; margin-left:50px;'>
-            <el-form-item label="表彰人" prop="loginId">
-                <el-select v-model="dataForm.loginId" clearable filterable placeholder="请选择" style="width: 350px">
-                    <el-option :key="item.loginId" v-for="item in recipientsList" :label="item.deptName+'_'+item.userName+'_'+item.employeNo" :value="item.loginId">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item
-                    style="width: 800px"
-                    label="表彰内容"
-                    prop="content"
-                    >
-                <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-            
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="dialogFormVisible = false">取消</el-button>
-          <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-          <el-button v-else type="primary" @click="updateData">确定</el-button>
-        </div>
-      </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { dataList, dataAdd, dataEdit, dataRemove } from "@/api/commendManage";
-import { allUserList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            recipientsList:[],
-            list: [
-            ],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                commendId:this.$route.params.id
-            },
-            dataForm: {
-                commendId:this.$route.params.id,
-                loginId: undefined,
-                content: undefined,
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                loginId: [{ required: true, message: "请选择表彰人", trigger: "blur" }],
-                content: [{ required: true, message: "表彰内容不能为空", trigger: "blur" }],
-            },
-        }
-    },
-    created() {
-        this.getAllUserList(); 
-        this.getList();
-    },
-    methods: {
-        getAllUserList() {
-            allUserList().then(response => {
-                this.recipientsList = response.data.data;
-            }).catch(() => { });
-        },
-        resetForm() {
-            this.dataForm = {
-                commendId:this.$route.params.id,
-                loginId: undefined,
-                content: undefined,
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-            this.dataForm.dictType = this.dictType;
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent("");
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    dataAdd(this.dataForm)
-                        .then(() => {
-                            this.dialogFormVisible = false;
-
-                            this.$notify({
-                                title: "成功",
-                                message: "创建成功",
-                                type: "success",
-                                duration: 2000,
-                            });
-                            this.getList()
-                        })
-                }
-            });
-        },
-        getList() {
-            this.listLoading = true
-            dataList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {
-                this.list = []
-                this.total = 0
-                this.listLoading = false
-            })
-        },
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            let content = this.dataForm.content;
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent(content);
-                this.$refs['dataForm'].clearValidate();
-            })
-        },
-
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    dataEdit(this.dataForm).then(() => {
-                        this.dialogFormVisible = false
-                        this.$notify({
-                            title: '成功',
-                            message: '更新成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                        this.getList()
-                    })
-
-                }
-            })
-        },
-
-        handleDelete(row) {
-
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                dataRemove({ id:row.id}).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    const index = this.list.indexOf(row)
-                    this.list.splice(index, 1)
-                })
-            }).catch(() => {
-
-            })
-
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 292
src/views/commendManage/commendList.vue

@@ -1,292 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-select v-model="listQuery.type" clearable placeholder="表彰类型" style="top: -4px; width: 200px">
-        <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading"
-      element-loading-text="正在查询中。。。" border fit highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="标题" prop="title">
-        <template slot-scope="scope">
-            <router-link :to="{name: 'commendDataList', params: { id: scope.row.commendId }}">
-                <div style="color: #337ab7;cursor: pointer;">{{ scope.row.title }}</div>
-            </router-link>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="类型" prop="typeName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="日期" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="300px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button :disabled="scope.row.status == 1?true:false" type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-          <el-button :disabled="scope.row.status == 1?true:false" v-if="scope.row.status == 0" type="success" size="small"
-            @click="changeState(scope.row.commendId, 1)">开启</el-button>
-          <el-button :disabled="scope.row.status == 1?true:false" v-if="scope.row.status == 1" type="warning" size="small"
-            @click="changeState(scope.row.commendId, 0)">关闭</el-button>
-          <el-button :disabled="scope.row.status == 1?true:false" type="danger" size="mini" @click="handleDelete(scope.row.commendId, -1)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="40%">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px"
-        style="width: 700px; margin-left: 50px">
-        <el-form-item label="标题" prop="title">
-          <el-input style="width: 350px" v-model="dataForm.title"></el-input>
-        </el-form-item>
-        <el-form-item label="类型" prop="type">
-          <el-select v-model="dataForm.type" filterable placeholder="请选择" style="width: 350px">
-            <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-            </el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-  
-<style>
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-  
-<script>
-import {
-  createItem,
-  updateItem,
-  list,
-  state,
-  types,
-} from "@/api/commendManage";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      typeList: [],
-      list: [
-      ],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: "",
-      },
-      dataForm: {
-        type: undefined,
-        title: undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: "",
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      rules: {
-        title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-        type: [{ required: true, message: "请选择类型", trigger: "blur" }],
-      },
-    };
-  },
-  created() {
-    this.getTypeList();
-    this.getList();
-  },
-  methods: {
-    getTypeList(){
-      types().then(response => {
-        this.typeList = response.data.data;
-      })
-    },
-    changeState(commendId, index) {
-      state({ commendId: commendId, status: index }).then(response => {
-        this.$notify({
-          title: '成功',
-          message: '状态修改成功',
-          type: 'success',
-          duration: 2000
-        })
-        this.getList()
-      })
-    },
-    resetForm() {
-      this.dataForm = {
-        type: undefined,
-        title: undefined,
-      };
-    },
-    handleCreate() {
-      this.resetForm();
-
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          createItem(this.dataForm)
-            .then(() => {
-              this.getList();
-              this.dialogFormVisible = false;
-
-              this.$notify({
-                title: "成功",
-                message: "创建成功",
-                type: "success",
-                duration: 2000,
-              });
-              this.reload();
-            })
-            .catch(() => { });
-        }
-      });
-    },
-    getList() {
-      this.listLoading = true;
-      list(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      this.dialogStatus = "update";
-      this.dialogFormVisible = true;
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-
-    updateData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          updateItem(this.dataForm).then(() => {
-            this.dialogFormVisible = false;
-            this.$notify({
-              title: "成功",
-              message: "更新成功",
-              type: "success",
-              duration: 2000,
-            });
-            this.getList();
-          });
-        }
-      });
-    },
-
-    handleDelete(commendId, status) {
-      this.$confirm("确认删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          state({commendId:commendId,status:status}).then((response) => {
-            this.$notify({
-              title: "成功",
-              message: "删除成功",
-              type: "success",
-              duration: 2000,
-            });
-            this.getList();
-          });
-        })
-        .catch(() => { });
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-  

+ 0 - 369
src/views/commendManage/operateCiteList.vue

@@ -1,369 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-select v-model="listQuery.type" clearable placeholder="表彰类型" class="filter-item" style="width: 200px">
-        <el-option :key="item.dictValue" v-for="item in typeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客户名称"
-        v-model="listQuery.customerName"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="表彰名称"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-        v-model="listQuery.userName"></el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="附件">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.files" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" prop="typeName" min-width="100" label="表彰类型">
-      </el-table-column>
-      <!-- <el-table-column align="center" prop="categoryName" min-width="100" label="表彰类别">
-      </el-table-column> -->
-      <el-table-column align="center" min-width="100" label="表彰人员">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.groupUsers" border size="mini">
-              <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">
-              {{ props.row.userName }}
-            </span>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="150" label="客户名称">
-        <template slot-scope="props">
-          <el-popover width="200" trigger="hover" :content="props.row.customerName">
-            <div slot="reference" class="text-overflow">{{ props.row.customerName }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="150" label="表彰名称">
-        <template slot-scope="props">
-          <el-popover width="200" trigger="hover" :content="props.row.title">
-            <div slot="reference" class="text-overflow">{{ props.row.title }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column min-width="100" align="center" label="表彰描述">
-        <template slot-scope="props">
-          <el-popover width="400" trigger="hover" :content="props.row.content">
-            <div slot="reference" class="text-overflow">{{ props.row.content }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="部门" prop="deptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="上传人" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="获得积分" prop="integral">
-      </el-table-column>
-      <el-table-column align="center" min-width="120px" label="审核状态">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.logs" border size="mini">
-              <el-table-column min-width="120" align="center" prop="auditor" label="处理人"></el-table-column>
-              <el-table-column min-width="160" align="center" prop="comment" label="处理结果"></el-table-column>
-              <el-table-column min-width="180" align="center" prop="createTime" label="处理时间"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">{{ props.row.statusName }}</span>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="日期" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="160px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="success" size="small" @click="handleClickView(scope.row, 'complete')">处理</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-      <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-        <div style="display: flex;">
-
-          <el-form-item label="表彰类型">
-            <el-input disabled v-model="detailData.typeName"></el-input>
-          </el-form-item>
-          <el-form-item label="表彰名称">
-            <el-input disabled v-model="detailData.title"></el-input>
-          </el-form-item>
-          <el-form-item label="客户名称">
-            <el-input disabled v-model="detailData.customerName"></el-input>
-          </el-form-item>
-        </div>
-
-        <div style="display: flex;">
-          <el-form-item label="上传人">
-            <el-input disabled v-model="detailData.userName"></el-input>
-          </el-form-item>
-          <el-form-item label="部门">
-            <el-input disabled v-model="detailData.deptName"></el-input>
-          </el-form-item>
-          <el-form-item label="日期">
-            <el-input disabled v-model="detailData.createTime"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="积分">
-            <el-input disabled v-model="detailData.integral"></el-input>
-          </el-form-item>
-          <el-form-item label="附件">
-            <div v-for="(item, index) in detailData.files" :key="index">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-
-        </div>
-        <h3></h3>
-        <el-form-item label="表彰描述">
-          <el-input disabled type="textarea" :rows="5" v-model="detailData.content" style="width: 100%"></el-input>
-        </el-form-item>
-      </el-form>
-      <h4>表彰人员</h4>
-      <el-table :data="detailData.groupUsers" border style="width: 100%">
-        <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-      </el-table>
-      <h4>审批状态</h4>
-      <el-table :data="detailData.logs" border style="width: 100%">
-        <el-table-column align="center" prop="auditor" label="处理人" width="180">
-        </el-table-column>
-
-        <el-table-column align="center" prop="comment" label="处理结果">
-        </el-table-column>
-        <el-table-column align="center" prop="createTime" label="处理时间" width="180">
-        </el-table-column>
-      </el-table>
-      <el-form style="margin-top: 20px;" ref="dataForm" :model="dataForm" status-icon label-position="left"
-        label-width="80px">
-        <el-form-item label="审批内容" prop="content">
-          <el-input type="textarea" :rows="4" placeholder="请输入审批内容" v-model="dataForm.content"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="complete(true)">同意</el-button>
-        <el-button type="danger" @click="complete(false)">驳回</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-    
-<style>
-.text-overflow {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-}
-
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-    
-<script>
-import {
-  complete,
-  customerPage,
-} from "@/api/commendManage.js";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      id: '',
-      dataForm: {
-        content: ''
-      },
-      dialogVisible: false,
-      categoryList: [],
-      typeList: [],
-      statusTypeList: [],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: '',
-        customerName: '',
-        title: '',
-        userName: '',
-        status: "10",
-      },
-      dialogVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      detailData: {},
-    };
-  },
-  created() {
-    this.getTypeList();
-    this.getCategoryList();
-    this.getStatusTypeList();
-    this.getList();
-  },
-  methods: {
-    handleClickView(row, tag) {
-      console.log(row);
-      this.dialogStatus = tag;
-      this.detailData = row;
-      this.dialogVisible = true;
-      this.id = row.id;
-      this.$nextTick(() => {
-        this.dataForm.content = '';
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    checked(val) {
-      if (val.flag == false) {
-        if (!val.content) {
-          this.$alert("请输入审批内容", "提示", {
-            confirmButtonText: "确定",
-          });
-          return false;
-        }
-      }
-      return true;
-    },
-    complete(flag) {
-      const parms = {
-        id: this.id,
-        content: this.dataForm.content,
-        flag: flag,
-      }
-      const isChecked = this.checked(parms);
-      if (isChecked) {
-        complete(parms).then((response) => {
-          this.$notify({
-            title: "成功",
-            message: "操作成功",
-            type: "success",
-            duration: 2000,
-          });
-          this.dialogVisible = false;
-          this.getList();
-        })
-          .catch(() => { });
-      }
-
-    },
-    getCategoryList() {
-      dataTypeList({ dictType: 'customer_treward_category' }).then(response => {
-        this.categoryList = response.data.data;
-      }).catch(() => { });
-    },
-    getTypeList() {
-      dataTypeList({ dictType: 'customer_treward_type' }).then(response => {
-        this.typeList = response.data.data;
-      }).catch(() => { });
-    },
-    getStatusTypeList() {
-      dataTypeList({ dictType: 'customer_treward_status' }).then(response => {
-        this.statusTypeList = response.data.data;
-      }).catch(() => { });
-    },
-    handleDownLoad() {
-      window.location.href = process.env.BASE_API + '/mall-integral-obtain/export/certificate?name=' + this.listQuery.name + '&title=' + this.listQuery.title + '&userName=' + this.listQuery.userName + '&status=' + this.listQuery.status;
-    },
-    getList() {
-      this.listLoading = true;
-      customerPage(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-    

+ 0 - 13
src/views/community/index.vue

@@ -1,13 +0,0 @@
-<template>
-
-</template>
-
-<script>
-    export default {
-        name: "index"
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 387
src/views/content/banner.vue

@@ -1,387 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入Banner标题" v-model="listQuery.title"></el-input>
-      <!--
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入广告内容" v-model="listQuery.content">
-      </el-input>
-      -->
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">添加</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-
-      <!--<el-table-column align="center" width="100px" label="BannerID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="Banner标题" prop="title">
-      </el-table-column>
-      <!--
-      <el-table-column align="center" min-width="180px" label="Banner内容" prop="content">
-      </el-table-column>
-      -->
-      <el-table-column align="center" min-width="200px" label="Banner图片" prop="image">
-        <template slot-scope="scope">
-          <img :src= "scope.row.image" width="180px" height="90px"/>
-        </template>
-      </el-table-column>
-
-
-      <el-table-column align="center" min-width="200px" label="关联新闻" prop="newsId">
-        <template slot-scope="scope">
-          {{ getRelativeActivity(scope.row.newsId) }}
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="是否启用" prop="enabled">
-        <template slot-scope="scope">
-          <el-tag :type="scope.row.enabled ? 'success' : 'error' ">{{ scope.row.enabled ? '启用' : '不启用' }}</el-tag>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button type="danger" size="small"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="Banner标题" prop="title">
-          <el-input v-model="dataForm.title"></el-input>
-        </el-form-item>
-        <!--
-        <el-form-item label="Banner内容" prop="content">
-          <el-input v-model="dataForm.content"></el-input>
-        </el-form-item>
-        -->
-        <el-form-item label="Banner图片" prop="url">
-          <el-tooltip content="建议图片宽高比750*282" placement="top-start">
-            <el-upload
-              class="ad-avatar-uploader"
-              v-model="dataForm.image"
-              :action="fileImgUrl"
-              :show-file-list="false"
-              :on-success="handleAvatarSuccess"
-              :before-upload="beforeAvatarUpload">
-              <template v-if="dataForm.image">
-                <img :src="dataForm.image" class="ad-avatar" width="300px" height="150px">
-              </template>
-              <i v-else class="el-icon-plus ad-avatar-uploader-icon"></i>
-            </el-upload>
-          </el-tooltip>
-        </el-form-item>
-
-        <el-form-item label="Banner位置" prop="position">
-          <el-select v-model="dataForm.position" placeholder="请选择">
-            <el-option label="首页" :value="1">
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <!--
-        <el-form-item label="关联新闻" prop="newsId">
-          <el-input v-model="dataForm.newsId"></el-input>
-        </el-form-item>
-        -->
-
-        <el-form-item label="关联新闻" prop="newsId">
-          <el-select v-model="dataForm.newsId" filterable placeholder="请选择" style="width: 350px;">
-            <el-option v-for="item in newsList" :label="item.title" :value="item.id" :key="item.id">
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="是否启用" prop="enabled">
-          <el-select v-model="dataForm.enabled" placeholder="请选择">
-            <el-option label="启用" :value="true">
-            </el-option>
-            <el-option label="不启用" :value="false">
-            </el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import {listNews} from '@/api/news'
-import { listBanner, createBanner, readBanner, updateBanner, deleteBanner } from '@/api/banner'
-import { createStorage } from '@/api/storage'
-import waves from '@/directive/waves' // 水波纹指令
-
-export default {
-  name: 'banner',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        title: undefined,
-        sort: '+id'
-      },
-      dataForm: {
-        id: undefined,
-        title: undefined,
-        content: undefined,
-        position: 1,
-        enabled: true,
-        image: undefined,
-        newsId: undefined,
-        url: undefined
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: '编辑',
-        create: '创建'
-      },
-      rules: {
-        title: [{ required: true, message: '标题不能为空', trigger: 'blur' }]
-      },
-      fileImgUrl: this.upLoadUrl,
-      downloadLoading: false,
-      newsList: []
-    }
-  },
-  created() {
-    this.getList()
-
-    listNews({
-      page: 1,
-      limit: 2000,
-      sort: '+id',
-      activityAuditState: 1
-    }).then(response => {
-     for(let i = 0; i< (response.data.data.items).length; i++){
-       if ((response.data.data.items[i]).type != 'tidings') {
-         this.newsList.push(response.data.data.items[i]);
-       }
-     }
-      //this.newsList = response.data.data.items
-    }).catch(() => {
-      this.newsList = []
-    })
-  },
-  methods: {
-    getList() {
-      this.listLoading = true
-      listBanner(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    resetForm() {
-      this.dataForm = {
-        id: undefined,
-        title: undefined,
-        content: undefined,
-        position: 1,
-        enabled: true,
-        image: undefined,
-        newsId: undefined,
-        url: undefined
-      }
-    },
-    handleCreate() {
-      this.resetForm()
-      this.dialogStatus = 'create'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    uploadUrl(item) {
-      const formData = new FormData()
-      formData.append('file', item.file)
-      createStorage(formData).then(res => {
-        this.dataForm.url = res.data.data.url
-      }).catch(() => {
-        this.$message.error('上传失败,请重新上传')
-      })
-    },
-    createData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          createBanner(this.dataForm).then(response => {
-            this.list.unshift(response.data.data)
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '创建成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }
-      })
-    },
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row)
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateBanner(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }
-      })
-    },
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteBanner(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      }).catch(() => {
-
-      })
-
-    },
-    // 图片上传
-    uploadBannerImg(file) {
-      const isJPGs = file.type === 'image/jpeg'
-    },
-    handleAvatarSuccess(res) {
-      console.log(res.data.url)
-      this.dataForm.image = res.data.url
-    },
-    beforeAvatarUpload(file) {
-      const isJPG = file.type === 'image/jpeg'
-      const isLt2M = file.size / 1024 / 1024 < 2
-
-      if (!isJPG) {
-        this.$message.error('上传头像图片只能是 JPG 格式!')
-      }
-      if (!isLt2M) {
-        this.$message.error('上传头像图片大小不能超过 2MB!')
-      }
-      return isJPG && isLt2M
-    },
-    getRelativeActivity(id) {
-      if(id) {
-        for(let v of this.newsList) {
-          if(v.id === id) {
-            return v.title
-          }
-        }
-      }
-      return ""
-    }
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 183
src/views/content/comment.vue

@@ -1,183 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入用户姓名"
-                v-model="listQuery.userName"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入评论内容"
-                v-model="listQuery.content"></el-input>
-      <el-date-picker clearable class="filter-item"
-                      value-format="yyyy-MM-dd"
-                      type="date"
-                      placeholder="选择评论时间"
-                      v-model="listQuery.createDate">
-      </el-date-picker>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
-    </div>
-
-    <el-table size="small" :data="list" v-loading="listLoading" @selection-change="handleSelectionChange" element-loading-text="正在查询中。。。"  border fit
-              highlight-current-row style="width: 100%">
-      <el-table-column align="center" type="selection" width="55"> </el-table-column>
-      <!--<el-table-column align="center" width="60" label="ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" width="80" label="评论人" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" width="100" label="头像" prop="photo">
-        <template slot-scope="scope">
-          <img :src= "scope.row.photo" style="width: 50px;height: 50px;border-radius: 50%"/>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" width="200" label="评论来源" prop="newsTitle">
-      </el-table-column>
-
-      <el-table-column align="center" width="300" label="评论内容" prop="content">
-      </el-table-column>
-      <el-table-column align="center" width="150" label="评论时间" prop="createDate">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="200" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <router-link ref='tag' :to="{path:'/user/userDetail',query: {'id': scope.row.userId}}">
-            <el-button type="primary" size="small ">查看用户</el-button>
-          </router-link>
-          <el-button type="danger" size="small"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-  </div>
-</template>
-
-<script>
-import waves from '@/directive/waves' // 水波纹指令
-import {listCommon,deleteCommon,deleteAllConent} from '@/api/news'
-export default {
-  name: 'comment',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        comment:undefined,
-        createDate:undefined,
-        sort: '+id'
-      },
-      dataForm: {
-        id: undefined,
-        userName:undefined,
-        content: undefined,
-        createDate:undefined,
-        position: 1,
-        enabled: true,
-      },
-      delarr:[],
-      multipleSelection: [],
-      downloadLoading: false,
-
-    }
-
-  },
-  created(){
-    this.getList();
-  },
-  methods:{
-    getList(){
-      listCommon(this.listQuery).then(response =>{
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(()=>{
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteCommon(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      }).catch(() => {
-
-      })
-
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    delAll(){
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        const length = this.multipleSelection.length;
-
-        if (length > 0) {
-          for (let i = 0; i < length; i++){
-            this.delarr.push(this.multipleSelection[i].id)
-          }
-          const newsIds = this.delarr.join(",");
-          deleteAllConent({id:newsIds}).then(()=>{
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList();
-          }).catch(() => {
-
-          })
-        } else {
-          this.$notify({
-            title: '警告提示',
-            message: '请选择要删除的信息!',
-            type: 'warning'
-          });
-        }
-      }).catch(() => {
-
-      })
-    },
-    handleSelectionChange(val){
-      this.multipleSelection = val;
-    },
-  }
-}
-</script>

+ 0 - 130
src/views/content/contribute.vue

@@ -1,130 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <div style='margin-left:50px;color: red;font-size: x-small; '>
-      图片建议尺寸 750*1200 像素
-    </div>
-    <div status-icon label-position="left"  label-width="100px" style='margin-left:50px;'>
-      <el-tooltip content="上传投稿宣传图片" placement="top-start">
-        <el-upload
-          class="ad-avatar-uploader"
-          v-model="dataForm.image"
-          :action="fileImgUrl"
-          :show-file-list="false"
-          :on-success="handleAvatarSuccess"
-          :before-upload="beforeAvatarUpload">
-          <template v-if="dataForm.image">
-            <img :src="dataForm.image" class="ad-avatar" width="100%" height="100%">
-          </template>
-          <i v-else class="el-icon-plus ad-avatar-uploader-icon"></i>
-        </el-upload>
-      </el-tooltip>
-
-      <el-button type="primary" round @click="createData" style="margin-top: 10px;margin-left: 90px;">保存</el-button>
-    </div>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-
-import { createContribute } from '@/api/questions'
-import waves from '@/directive/waves' // 水波纹指令
-
-export default {
-  name: 'contribute',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      dataForm: {
-        image: undefined
-      },
-      dialogStatus: '',
-      fileImgUrl: this.upLoadUrl,
-      downloadLoading: false
-    }
-  },
-  created() {
-
-  },
-  methods: {
-    createData() {
-      console.log(this.dataForm.image)
-        if (this.dataForm.image) {
-          createContribute(this.dataForm).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '提交成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        } else {
-          this.$notify({
-            title: '警告提示',
-            message: '请选择上传图片',
-            type: 'warning'
-          })
-        }
-    },
-
-    handleAvatarSuccess(res) {
-      console.log(res.data.url)
-      this.dataForm.image = res.data.url
-    },
-
-    beforeAvatarUpload(file) {
-      const isJPG = file.type === 'image/jpeg'
-      const isLt2M = file.size / 1024 / 1024 < 2
-
-      if (!isJPG) {
-        this.$message.error('上传头像图片只能是 JPG 格式!')
-      }
-      if (!isLt2M) {
-        this.$message.error('上传头像图片大小不能超过 2MB!')
-      }
-      return isJPG && isLt2M
-    }
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-    width: 250px;
-    height: 400px;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 500px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 553
src/views/content/customerStories.vue

@@ -1,553 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-  
-      <!-- 查询和其他操作 -->
-      <div class="filter-container">
-        <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入标题" v-model="listQuery.title"></el-input>
-        <el-select v-model="listQuery.type" clearable placeholder="请选择" style="top: -4px;width: 200px;">
-          <el-option
-                  :key="item.type"
-                  v-for="item in newsTypeList"
-                  :label="item.name"
-                  :value="item.type"
-                >
-                </el-option>
-        </el-select>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-        <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-        <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
-  
-      </div>
-  
-      <!-- 查询结果 -->
-      <el-table
-        size="small"
-        :data="list"
-        v-loading="listLoading"
-        @selection-change="handleSelectionChange"
-        element-loading-text="正在查询中。。。"
-        border
-        fit
-        highlight-current-row
-      >
-        <el-table-column type="selection" width="55px"> </el-table-column>
-        <el-table-column type="index" label="序号" header-align="center" align="center">
-        </el-table-column>
-  
-        <el-table-column align="center" min-width="100px" label="标题" prop="title">
-        </el-table-column>
-  
-        <el-table-column align="center" min-width="200px" label="简介" prop="subTitle">
-        </el-table-column>
-  
-        <el-table-column align="center" min-width="80px" label="发布日期" prop="pubDate">
-        </el-table-column>
-        <el-table-column align="center" min-width="80px" label="客户类型">
-          <template slot-scope="props">
-            <span v-if="props.row.type == 'highTechnology'">高科技</span>
-            <span v-if="props.row.type == 'fastExtinction'">快销</span>
-            <span v-if="props.row.type == 'manufacturingIndustry'">制造业</span>
-          </template>
-        </el-table-column>
-  
-        <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <el-button
-              type="primary"
-              size="small"
-              @click="handleUpdate(scope.row, false)"
-              >编辑</el-button
-            >
-  
-            <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-  
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-          :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-  
-      <!-- 添加或修改对话框 -->
-      <el-dialog
-        :title="textMap[dialogStatus]"
-        :visible.sync="dialogFormVisible"
-        width="70%"
-      >
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 700px; margin-left:50px;'>
-         <el-form-item  label="标题" prop="title">
-              <el-input v-model="dataForm.title"></el-input>
-            </el-form-item>
-  
-            <el-form-item
-              label="简介"
-              prop="subTitle"
-            >
-              <el-input v-model="dataForm.subTitle"></el-input>
-            </el-form-item>
-            <el-form-item label="发布日期" prop="pubDate">
-                <el-date-picker
-                  v-model="dataForm.pubDate"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择日期"
-                  style="width: 350px"
-                ></el-date-picker>
-              </el-form-item>
-              <el-form-item
-              label="客户类型"
-              prop="type"
-            >
-              <el-select
-                v-model="dataForm.type"
-                filterable
-                placeholder="请选择"
-                style="width: 350px"
-              >
-                <el-option
-                  :key="item.type"
-                  v-for="item in newTypeList"
-                  :label="item.name"
-                  :value="item.type"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <el-tooltip content="优先级越大,位置越靠前!" placement="top-start">
-              <el-form-item label="优先级" prop="weight">
-                <el-input-number
-                  :precision="0"
-                  :step="1"
-                  v-model="dataForm.weight"
-                ></el-input-number>
-              </el-form-item>
-            </el-tooltip>
-            
-            <el-form-item
-              style="width: 800px"
-              label="封面图片"
-              prop="image"
-            >
-              <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-                <el-upload
-                  :action="fileImgUrl"
-                  list-type="picture-card"
-  
-                  :file-list="dataForm.images"
-                  :on-success="handleGallerySucess"
-                  :on-exceed="handleExceed"
-                  :before-upload="uploadBannerImg"
-                  :on-remove="handleRemove"
-                >
-                  <i class="el-icon-plus"></i>
-                </el-upload>
-              </el-tooltip>
-            </el-form-item>
-            <el-form-item
-              style="width: 800px"
-              label="内容"
-              prop="content"
-            >
-              <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-  
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="dialogFormVisible = false">取消</el-button>
-          <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-          <el-button v-else type="primary" @click="updateData">确定</el-button>
-        </div>
-      </el-dialog>
-  
-    </div>
-  </template>
-  
-  <style>
-    .demo-table-expand {
-      font-size: 0;
-    }
-    .demo-table-expand label {
-      width: 200px;
-      color: #99a9bf;
-    }
-    .demo-table-expand .el-form-item {
-      margin-right: 0;
-      margin-bottom: 0;
-    }
-  </style>
-  
-  <script>
-    import {getdgtIndustryNews, listNews, createNews, updateNews, deleteNews, deleteAllNews } from "@/api/newsCenter";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-  
-  export default {
-    name: 'customerStories',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        newsTypeList:[
-            // {
-            //     type:'highTechnology',
-            //     name:'高科技'
-            // },
-            // {
-            //     type:'fastExtinction',
-            //     name:'快销'
-            // },
-            // {
-            //     type:'manufacturingIndustry',
-            //     name:'制造业'
-            // },
-            // {
-            //     type:'dgtIndustryNews',
-            //     name:'全部'
-            // },
-        ],
-        newTypeList:[
-        // {
-        //     type:'highTechnology',
-        //     name:'高科技'
-        //   },
-        //   {
-        //     type:'fastExtinction',
-        //     name:'快销'
-        //   },
-        //   {
-        //     type:'manufacturingIndustry',
-        //     name:'制造业'
-        //   },
-        ],
-        list: undefined,
-        delarr: [],
-        multipleSelection: [],
-        total: 0,
-        listLoading: true,
-        listQuery: {
-          page: 1,
-          limit: 10,
-          type: 'dgtIndustryNews',
-          title: '',
-          // sort: '+id'
-        },
-        dataForm: {
-          type: undefined,
-          title: undefined,
-          subTitle: undefined,
-          pubDate: undefined,
-          image: undefined,
-          content: undefined,
-          weight: undefined,
-          images: [],
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        textMap: {
-          update: "编辑",
-          create: "创建",
-        },
-        imageUrl: undefined,
-        rules: {
-          title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-          pubDate: [{ required: true, message: "请选择发布时间", trigger: "blur" }],
-          type: [{ required: true, message: "请选择客户类型", trigger: "blur" }],
-          // subTitle: [{ required: true, message: "简介不能为空", trigger: "blur" }],
-          content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
-        },
-        fileImgUrl: this.upLoadUrl,
-      }
-    },
-    created() {
-      getdgtIndustryNews().then(response => {
-          this.newsTypeList = response.data.data;
-          this.newTypeList = response.data.data.filter(item => item.type != 'dgtIndustryNews');
-          console.log(this.newTypeList);
-        }).catch(() => {
-          this.newsTypeList = []
-          this.newTypeList = []
-        });
-        
-        this.getList();
-    },
-    methods: {
-      handleRemove(file, fileList) {
-        console.log(file, fileList);
-  
-        if (
-          this.contentType == "notice" ||
-          this.contentType == "manual" ||
-          this.contentType == "rules"
-        ) {
-          // this.dataForm.file = ''
-          // this.dataForm.fileName = ''
-          // this.dataForm.files = []
-  
-          let files = [];
-          let names = [];
-          for (let i in fileList) {
-            let response = fileList[i].response;
-            let name = fileList[i].name;
-            let url = response.data.url;
-            files.push(url);
-            names.push(name);
-          }
-          this.dataForm.file = files.join(",");
-          this.dataForm.fileName = names.join(",");
-        } else {
-          let images = [];
-          for (let i in fileList) {
-            let response = fileList[i].response;
-            let url = response.data.url;
-            images.push(url);
-          }
-  
-          this.dataForm.image = images.join(",");
-        }
-      },
-      uploadBannerImg(file) {
-        const isJPGs = file.type === "image/jpeg";
-        console.log(isJPGs);
-      },
-      handleExceed(files, fileList) {
-        this.$message.warning(
-          `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${
-            files.length + fileList.length
-          } 个文件`
-        );
-      },
-      handleGallerySucess(res, file, fileList) {
-        this.dataForm.image = ""; // 清空画廊图片数组
-  
-        let images = [];
-        for (let i in fileList) {
-          let response = fileList[i].response;
-          if (response.errno && response.errno != "0") {
-            this.$message.error("该图片上传失败,已被移除,请重新上传!");
-            // 上传失败移除该 file 对象
-            fileList.splice(i, 1);
-          } else {
-            let url = response.data.url;
-            images.push(url);
-          }
-        }
-  
-        this.dataForm.image = images.join(",");
-      },
-      resetForm() {
-        this.dataForm = {
-          type: undefined,
-          title: undefined,
-          subTitle: undefined,
-          pubDate: undefined,
-          image: undefined,
-          content: undefined,
-          weight: undefined,
-          images: [],
-        };
-      },
-      handleCreate() {
-        this.resetForm();
-  
-        this.dialogFormVisible = true;
-        this.dialogStatus = "create";
-  
-        this.$nextTick(() => {
-          this.$refs.tinymce.setContent("");
-          this.$refs["dataForm"].clearValidate();
-        });
-      },
-      createData() {
-        this.$refs["dataForm"].validate((valid) => {
-          if (valid) {
-            if (!this.dataForm.image) {
-                this.$alert("请上传封面图片", "提示", {
-                  confirmButtonText: "确定",
-                });
-            }else{
-              createNews(this.dataForm)
-                  .then((response) => {
-                    this.getList();
-                    this.dialogFormVisible = false;
-  
-                    this.$notify({
-                      title: "成功",
-                      message: "创建成功",
-                      type: "success",
-                      duration: 2000,
-                    });
-                    this.reload();
-                  })
-                  .catch(() => {});
-            } 
-          }
-        });
-      },
-      getList() {
-        this.listLoading = true
-        listNews(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-  
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-  
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-  
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-  
-      handleUpdate(row) {
-        this.dataForm = Object.assign({}, row);
-        let content = this.dataForm.content;
-        if (this.dataForm.image) {
-          let images = this.dataForm.image.split(",");
-          this.dataForm.images = [];
-          for (let i in images) {
-            let url = images[i];
-            let name = "image_" + i;
-  
-            this.dataForm.images.push({
-              name: name,
-              url: url,
-              response: { error: "0", data: { url: url } },
-            });
-          }
-        }
-        this.dialogStatus = 'update'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs.tinymce.setContent(content);
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-  
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            if (!this.dataForm.image) {
-              this.$alert("请上传封面图片", "提示", {
-                confirmButtonText: "确定",
-              });
-            }else{
-              updateNews(this.dataForm).then(() => {
-                this.dialogFormVisible = false
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getList()
-              })
-            }
-            
-          }
-        })
-      },
-  
-      handleDelete(row) {
-  
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteNews(row).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-  
-        })
-  
-      },
-      delAll() {
-        this.$confirm("确认删除吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            debugger
-            const length = this.multipleSelection.length;
-  
-            if (length > 0) {
-              for (let i = 0; i < length; i++) {
-                this.delarr.push(this.multipleSelection[i].id);
-              }
-              const newsIds = this.delarr.join(",");
-              deleteAllNews({ newsId: newsIds })
-                .then(() => {
-                  this.$notify({
-                    title: "成功",
-                    message: "删除成功",
-                    type: "success",
-                    duration: 2000,
-                  });
-                  this.getList();
-                })
-                .catch(() => {});
-            } else {
-              this.$notify({
-                title: "警告提示",
-                message: "请选择要删除的信息!",
-                type: "warning",
-              });
-            }
-          })
-          .catch(() => {});
-      },
-      handleSelectionChange(val) {
-        this.multipleSelection = val;
-      },
-    }
-  }
-  </script>
-  <style>
-    .ad-avatar-uploader .el-upload {
-      border: 1px dashed #d9d9d9;
-      border-radius: 6px;
-      cursor: pointer;
-      position: relative;
-      overflow: hidden;
-    }
-    .ad-avatar-uploader .el-upload:hover {
-      border-color: #409EFF;
-    }
-    .ad-avatar-uploader-icon {
-      font-size: 28px;
-      color: #8c939d;
-      width: 178px;
-      height: 178px;
-      line-height: 178px;
-      text-align: center;
-    }
-    .ad-avatar {
-      display: block;
-    }
-  </style>
-  

File diff suppressed because it is too large
+ 0 - 1965
src/views/content/index.vue


+ 0 - 543
src/views/content/newsCenter.vue

@@ -1,543 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入标题" v-model="listQuery.title"></el-input>
-      <el-select v-model="listQuery.type" clearable placeholder="请选择" style="top: -4px;width: 200px;">
-        <el-option
-                :key="item.type"
-                v-for="item in newsTypeList"
-                :label="item.name"
-                :value="item.type"
-              >
-              </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
-
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table
-      size="small"
-      :data="list"
-      v-loading="listLoading"
-      @selection-change="handleSelectionChange"
-      element-loading-text="正在查询中。。。"
-      border
-      fit
-      highlight-current-row
-    >
-      <el-table-column type="selection" width="55px"> </el-table-column>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="标题" prop="title">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="200px" label="简介" prop="subTitle">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="发布日期" prop="pubDate">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="新闻类型">
-        <template slot-scope="props">
-          <span v-if="props.row.type == 'companyNews'">公司新闻</span>
-          <span v-if="props.row.type == 'industryInfo'">行业资讯</span>
-          <span v-if="props.row.type == 'companyDynamic'">公司动态</span>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            type="primary"
-            size="small"
-            @click="handleUpdate(scope.row, false)"
-            >编辑</el-button
-          >
-
-          <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog
-      :title="textMap[dialogStatus]"
-      :visible.sync="dialogFormVisible"
-      width="70%"
-    >
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 700px; margin-left:50px;'>
-       <el-form-item  label="标题" prop="title">
-            <el-input v-model="dataForm.title"></el-input>
-          </el-form-item>
-
-          <el-form-item
-            label="简介"
-            prop="subTitle"
-          >
-            <el-input v-model="dataForm.subTitle"></el-input>
-          </el-form-item>
-          <el-form-item label="发布日期" prop="pubDate">
-              <el-date-picker
-                v-model="dataForm.pubDate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="选择日期"
-                style="width: 350px"
-              ></el-date-picker>
-            </el-form-item>
-            <el-form-item
-            label="新闻类型"
-            prop="type"
-          >
-            <el-select
-              v-model="dataForm.type"
-              filterable
-              placeholder="请选择"
-              style="width: 350px"
-            >
-              <el-option
-                :key="item.type"
-                v-for="item in newTypeList"
-                :label="item.name"
-                :value="item.type"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-tooltip content="优先级越大,位置越靠前!" placement="top-start">
-            <el-form-item label="优先级" prop="weight">
-              <el-input-number
-                :precision="0"
-                :step="1"
-                v-model="dataForm.weight"
-              ></el-input-number>
-            </el-form-item>
-          </el-tooltip>
-          
-          <el-form-item
-            style="width: 800px"
-            label="封面图片"
-            prop="image"
-          >
-            <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-              <el-upload
-                :action="fileImgUrl"
-                list-type="picture-card"
-
-                :file-list="dataForm.images"
-                :on-success="handleGallerySucess"
-                :on-exceed="handleExceed"
-                :before-upload="uploadBannerImg"
-                :on-remove="handleRemove"
-              >
-                <i class="el-icon-plus"></i>
-              </el-upload>
-            </el-tooltip>
-          </el-form-item>
-          <el-form-item
-            style="width: 800px"
-            label="内容"
-            prop="content"
-          >
-            <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-          </el-form-item>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import {listNews, createNews, updateNews, deleteNews, deleteAllNews } from "@/api/newsCenter";
-  import waves from "@/directive/waves"; // 水波纹指令
-  import Tinymce from '@/components/Tinymce'
-
-export default {
-  name: 'newsCenter',
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      newsTypeList:[
-        {
-          type:'companyNews',
-          name:'公司新闻'
-        },
-        {
-          type:'industryInfo',
-          name:'行业资讯'
-        },
-        {
-          type:'companyDynamic',
-          name:'公司动态'
-        },
-        {
-          type:'dgtSiteNews',
-          name:'全部'
-        }
-      ],
-      newTypeList:[
-        {
-          type:'companyNews',
-          name:'公司新闻'
-        },
-        {
-          type:'industryInfo',
-          name:'行业资讯'
-        },
-        {
-          type:'companyDynamic',
-          name:'公司动态'
-        }
-      ],
-      list: undefined,
-      delarr: [],
-      multipleSelection: [],
-      total: 0,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: 'dgtSiteNews',
-        title: '',
-        // sort: '+id'
-      },
-      dataForm: {
-        type: undefined,
-        title: undefined,
-        subTitle: undefined,
-        pubDate: undefined,
-        image: undefined,
-        content: undefined,
-        weight: undefined,
-        images: [],
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      imageUrl: undefined,
-      rules: {
-        title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-        pubDate: [{ required: true, message: "请选择发布时间", trigger: "blur" }],
-        type: [{ required: true, message: "请选择新闻类型", trigger: "blur" }],
-        // subTitle: [{ required: true, message: "简介不能为空", trigger: "blur" }],
-        content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
-      },
-      fileImgUrl: this.upLoadUrl,
-    }
-  },
-  created() {
-    this.getList()
-  },
-  methods: {
-    handleRemove(file, fileList) {
-      console.log(file, fileList);
-
-      if (
-        this.contentType == "notice" ||
-        this.contentType == "manual" ||
-        this.contentType == "rules"
-      ) {
-        // this.dataForm.file = ''
-        // this.dataForm.fileName = ''
-        // this.dataForm.files = []
-
-        let files = [];
-        let names = [];
-        for (let i in fileList) {
-          let response = fileList[i].response;
-          let name = fileList[i].name;
-          let url = response.data.url;
-          files.push(url);
-          names.push(name);
-        }
-        this.dataForm.file = files.join(",");
-        this.dataForm.fileName = names.join(",");
-      } else {
-        let images = [];
-        for (let i in fileList) {
-          let response = fileList[i].response;
-          let url = response.data.url;
-          images.push(url);
-        }
-
-        this.dataForm.image = images.join(",");
-      }
-    },
-    uploadBannerImg(file) {
-      const isJPGs = file.type === "image/jpeg";
-      console.log(isJPGs);
-    },
-    handleExceed(files, fileList) {
-      this.$message.warning(
-        `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${
-          files.length + fileList.length
-        } 个文件`
-      );
-    },
-    handleGallerySucess(res, file, fileList) {
-      this.dataForm.image = ""; // 清空画廊图片数组
-
-      let images = [];
-      for (let i in fileList) {
-        let response = fileList[i].response;
-        if (response.errno && response.errno != "0") {
-          this.$message.error("该图片上传失败,已被移除,请重新上传!");
-          // 上传失败移除该 file 对象
-          fileList.splice(i, 1);
-        } else {
-          let url = response.data.url;
-          images.push(url);
-        }
-      }
-
-      this.dataForm.image = images.join(",");
-    },
-    resetForm() {
-      this.dataForm = {
-        type: undefined,
-        title: undefined,
-        subTitle: undefined,
-        pubDate: undefined,
-        image: undefined,
-        content: undefined,
-        weight: undefined,
-        images: [],
-      };
-    },
-    handleCreate() {
-      this.resetForm();
-
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-
-      this.$nextTick(() => {
-        this.$refs.tinymce.setContent("");
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          if (!this.dataForm.image) {
-              this.$alert("请上传封面图片", "提示", {
-                confirmButtonText: "确定",
-              });
-          }else{
-            createNews(this.dataForm)
-                .then((response) => {
-                  this.getList();
-                  this.dialogFormVisible = false;
-
-                  this.$notify({
-                    title: "成功",
-                    message: "创建成功",
-                    type: "success",
-                    duration: 2000,
-                  });
-                  this.reload();
-                })
-                .catch(() => {});
-          } 
-        }
-      });
-    },
-    getList() {
-      this.listLoading = true
-      listNews(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      let content = this.dataForm.content;
-      if (this.dataForm.image) {
-        let images = this.dataForm.image.split(",");
-        this.dataForm.images = [];
-        for (let i in images) {
-          let url = images[i];
-          let name = "image_" + i;
-
-          this.dataForm.images.push({
-            name: name,
-            url: url,
-            response: { error: "0", data: { url: url } },
-          });
-        }
-      }
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs.tinymce.setContent(content);
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          if (!this.dataForm.image) {
-            this.$alert("请上传封面图片", "提示", {
-              confirmButtonText: "确定",
-            });
-          }else{
-            updateNews(this.dataForm).then(() => {
-              this.dialogFormVisible = false
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.getList()
-            })
-          }
-          
-        }
-      })
-    },
-
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteNews(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      }).catch(() => {
-
-      })
-
-    },
-    delAll() {
-      this.$confirm("确认删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          debugger
-          const length = this.multipleSelection.length;
-
-          if (length > 0) {
-            for (let i = 0; i < length; i++) {
-              this.delarr.push(this.multipleSelection[i].id);
-            }
-            const newsIds = this.delarr.join(",");
-            deleteAllNews({ newsId: newsIds })
-              .then(() => {
-                this.$notify({
-                  title: "成功",
-                  message: "删除成功",
-                  type: "success",
-                  duration: 2000,
-                });
-                this.getList();
-              })
-              .catch(() => {});
-          } else {
-            this.$notify({
-              title: "警告提示",
-              message: "请选择要删除的信息!",
-              type: "warning",
-            });
-          }
-        })
-        .catch(() => {});
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 397
src/views/content/questionDetail.vue

@@ -1,397 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-select v-model="listQuery.sortId" placeholder="请选择问题类别" clearable class="filter-item" style="width: 200px;">
-        <el-option v-for="item in sortList" :key="item.id" :label="item.sort" :value="item.id">
-        </el-option>
-      </el-select>
-
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入问题题目" v-model="listQuery.ask">
-      </el-input>
-
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">添加</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="120px" label="问题类别" prop="sort">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="180px" label="问题题目" prop="ask">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="180px" label="问题答案" prop="answer">
-      </el-table-column>
-
-      <!--<el-table-column align="center" min-width="80px" label="是否启用" prop="enabled">-->
-      <!--<template slot-scope="scope">-->
-      <!--<el-tag :type="scope.row.enabled ? 'success' : 'error' ">{{ scope.row.enabled ? '启用' : '不启用' }}</el-tag>-->
-      <!--</template>-->
-      <!--</el-table-column>-->
-
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button type="danger" size="small"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="问题类别" prop="sortId">
-          <el-select v-model="dataForm.sortId" placeholder="请选择">
-            <el-option
-              v-for="item in sortList"
-              :key="item.id"
-              :label="item.sort"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="问题题目" prop="ask">
-          <el-input v-model="dataForm.ask"></el-input>
-        </el-form-item>
-        <!--<el-form-item label="问题答案" prop="answer">-->
-          <!--<el-input v-model="dataForm.answer"></el-input>-->
-        <!--</el-form-item>-->
-
-        <el-form-item :key="index" v-for="(item,index) in dataForm.answers" :label="'答案 '+(index+1)" :prop="answers" >
-          <el-row :gutter="20">
-            <el-col :span="17">
-              <div class="grid-content bg-purple">
-                <el-input v-model="item['answer']"></el-input>
-              </div>
-            </el-col>
-            <el-col :span="3">
-              <div class="grid-content bg-purple">
-                <el-checkbox v-model="item['right']" label="答案" border @change="chooseAnswer(index)"></el-checkbox>
-              </div>
-            </el-col>
-          </el-row>
-        </el-form-item>
-
-        <!--<el-form-item label="关联新闻" prop="newsId">-->
-        <!--<el-select v-model="dataForm.newsId" filterable placeholder="请选择" style="width: 350px;">-->
-        <!--<el-option v-for="item in displayList" :label="item.title" :value="item.id" :key="item.id">-->
-        <!--</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
-
-        <!--<el-form-item label="是否启用" prop="enabled">-->
-        <!--<el-select v-model="dataForm.enabled" placeholder="请选择">-->
-        <!--<el-option label="启用" :value="true">-->
-        <!--</el-option>-->
-        <!--<el-option label="不启用" :value="false">-->
-        <!--</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import { listQuestionDetail, createQuestionDetail, readQuestionDetail, updateQuestionDetail, deleteQuestionDetail } from '@/api/questionDetail'
-  import { listQuestionSort } from '@/api/questionSort'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'questionDetail',
-    directives: {
-      waves
-    },
-    data() {
-      return {
-        list: undefined,
-        total: undefined,
-        listLoading: true,
-        listQuery: {
-          page: 1,
-          limit: 20,
-          sortId:undefined,
-          ask:undefined,
-          answer:undefined,
-        },
-        dataForm: {
-          id: undefined,
-          sortId:undefined,
-          sort:undefined,
-          ask:undefined,
-          answer:undefined,
-          answers:[{
-            "answer":undefined,
-            "right":false
-          }, {
-            "answer":undefined,
-            "right":false
-          }, {
-            "answer":undefined,
-            "right":false
-          }, {
-            "answer":undefined,
-            "right":true
-          }],
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        textMap: {
-          update: '编辑',
-          create: '创建'
-        },
-        rules: {
-          sortId: [{ required: true, message: '请选择问题类别', trigger: 'blur' }],
-          ask:[{ required: true, message: '请填写问题题目', trigger: 'blur' }],
-          answer:[{ required: true, message: '请填写问题答案', trigger: 'blur' }],
-        },
-        displayList: [],
-        sortList:[],//存放问题种类
-      }
-    },
-
-    created() {
-      this.getList()
-
-      listQuestionSort({
-        page: 1,
-        limit: 20,
-      }).then(response => {
-       for(let i = 0; i< (response.data.data.items).length; i++){
-         this.sortList.push(response.data.data.items[i]);
-       }
-        //this.displayList = response.data.data.items
-      }).catch(() => {
-        this.sortList = []
-      })
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        listQuestionDetail(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          for(let i=0;i<this.list.length;i++){
-            this.list[i]['answers'] = JSON.parse(this.list[i].answer);
-          }
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      resetForm() {
-        this.dataForm = {
-          id: undefined,
-          sortId:undefined,
-          sort:undefined,
-          ask:undefined,
-          answer:undefined,
-          answers:[{
-            "answer":undefined,
-            "right":false
-          }, {
-            "answer":undefined,
-            "right":false
-          }, {
-            "answer":undefined,
-            "right":false
-          }, {
-            "answer":undefined,
-            "right":true
-          }],
-        }
-      },
-      handleCreate() {
-        this.resetForm()
-        this.dialogStatus = 'create'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-      uploadUrl(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.url = res.data.data.url
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      createData() {
-        this.dataForm.answer = JSON.stringify(this.dataForm.answers);
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            for(let i = 0;i<this.dataForm.answers.length;i++){
-              if(this.dataForm.answers[i]['answer']==null || this.dataForm.answers[i]['answer'].replace(/(^\s*)|(\s*$)/g, "")==""){
-                this.$notify({
-                  title: '警告',
-                  message: '答案 '+(i+1)+' 内容不能为空',
-                  type: 'warning',
-                  duration: 2000
-                })
-                return false;
-              }
-            }
-            createQuestionDetail(this.dataForm).then(response => {
-              response.data.data['answers'] = JSON.parse(response.data.data.answer);
-              this.list.unshift(response.data.data)
-              this.dialogFormVisible = false
-              this.$notify({
-                title: '成功',
-                message: '创建成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      handleUpdate(row) {
-        this.dataForm = Object.assign({}, row)
-        this.dialogStatus = 'update'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-      updateData() {
-        this.dataForm.answer = JSON.stringify(this.dataForm.answers);
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            for(let i = 0;i<this.dataForm.answers.length;i++){
-              if(this.dataForm.answers[i]['answer']==null || this.dataForm.answers[i]['answer'].replace(/(^\s*)|(\s*$)/g, "")==""){
-                this.$notify({
-                  title: '警告',
-                  message: '答案 '+(i+1)+' 内容不能为空',
-                  type: 'warning',
-                  duration: 2000
-                })
-                return false;
-              }
-            }
-            updateQuestionDetail(this.dataForm).then(res => {
-              this.dataForm.sort = res.data.data.sort;//赋值分类名称
-              for (const v of this.list) {
-                if (v.id === this.dataForm.id) {
-                  const index = this.list.indexOf(v)
-                  this.list.splice(index, 1, this.dataForm)
-                  break
-                }
-              }
-              this.dialogFormVisible = false
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      handleDelete(row) {
-
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteQuestionDetail(row).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-
-        })
-
-      },
-      chooseAnswer(index){//选择答案
-        if(this.dataForm.answers!=null){
-          for(let i = 0;i<this.dataForm.answers.length;i++){
-            i == index?this.dataForm.answers[i]['right']=true:this.dataForm.answers[i]['right']=false;
-          }
-        }
-      },
-
-    }
-  }
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 293
src/views/content/questionSort.vue

@@ -1,293 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入问题类别" v-model="listQuery.sort"></el-input>
-      <!--
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入广告内容" v-model="listQuery.content">
-      </el-input>
-      -->
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">添加</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="180px" label="问题类别" prop="sort">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="180px" label="问题数量" prop="questionNum">
-      </el-table-column>
-
-      <!--<el-table-column align="center" min-width="80px" label="是否启用" prop="enabled">-->
-        <!--<template slot-scope="scope">-->
-          <!--<el-tag :type="scope.row.enabled ? 'success' : 'error' ">{{ scope.row.enabled ? '启用' : '不启用' }}</el-tag>-->
-        <!--</template>-->
-      <!--</el-table-column>-->
-
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button type="danger" size="small"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="问题类别" prop="sort">
-          <el-input v-model="dataForm.sort"></el-input>
-        </el-form-item>
-
-        <!--<el-form-item label="关联新闻" prop="newsId">-->
-          <!--<el-select v-model="dataForm.newsId" filterable placeholder="请选择" style="width: 350px;">-->
-            <!--<el-option v-for="item in displayList" :label="item.title" :value="item.id" :key="item.id">-->
-            <!--</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-
-        <!--<el-form-item label="是否启用" prop="enabled">-->
-          <!--<el-select v-model="dataForm.enabled" placeholder="请选择">-->
-            <!--<el-option label="启用" :value="true">-->
-            <!--</el-option>-->
-            <!--<el-option label="不启用" :value="false">-->
-            <!--</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-import { listQuestionSort, createQuestionSort, readQuestionSort, updateQuestionSort, deleteQuestionSort } from '@/api/questionSort'
-import waves from '@/directive/waves' // 水波纹指令
-
-export default {
-  name: 'questionSort',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        sort:undefined,
-      },
-      dataForm: {
-        id: undefined,
-        sort:undefined,
-        questionNum:undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: '编辑',
-        create: '创建'
-      },
-      rules: {
-        sort: [{ required: true, message: '问题类别不能为空', trigger: 'blur' }]
-      },
-      displayList: []
-    }
-  },
-  created() {
-    this.getList()
-
-    /*listQuestionSort({
-      page: 1,
-      limit: 20,
-      sort: '+id',
-      activityAuditState: 1
-    }).then(response => {
-     for(let i = 0; i< (response.data.data.items).length; i++){
-       if ((response.data.data.items[i]).type != 'tidings') {
-         this.displayList.push(response.data.data.items[i]);
-       }
-     }
-      //this.displayList = response.data.data.items
-    }).catch(() => {
-      this.displayList = []
-    })*/
-  },
-  methods: {
-    getList() {
-      this.listLoading = true
-      listQuestionSort(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    resetForm() {
-      this.dataForm = {
-        id: undefined,
-        sort: undefined,
-        questionNum:undefined,
-      }
-    },
-    handleCreate() {
-      this.resetForm()
-      this.dialogStatus = 'create'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    uploadUrl(item) {
-      const formData = new FormData()
-      formData.append('file', item.file)
-      createStorage(formData).then(res => {
-        this.dataForm.url = res.data.data.url
-      }).catch(() => {
-        this.$message.error('上传失败,请重新上传')
-      })
-    },
-    createData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          createQuestionSort(this.dataForm).then(response => {
-            this.list.unshift(response.data.data)
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '创建成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }
-      })
-    },
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row)
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateQuestionSort(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }
-      })
-    },
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteQuestionSort(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      }).catch(() => {
-
-      })
-
-    },
-
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 247
src/views/content/questions.vue

@@ -1,247 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入问题关键字" v-model="listQuery.questions"></el-input>
-      <el-select v-model="listQuery.isAnswer" clearable placeholder="请选择" style="top: -4px;width: 200px;">
-        <el-option label="未回复" value="false">
-        </el-option>
-        <el-option label="已回复" value="true">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-
-      <!--<el-table-column align="center" width="100px" label="BannerID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="问题" prop="questions">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="200px" label="回复" prop="answers">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="提问者" prop="creator">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="提问时间" prop="createDate">
-      </el-table-column>
-
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button v-if="scope.row.isAnswer == false" type="primary" size="mini" @click="handleUpdate(scope.row)">回复</el-button>
-
-          <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="800px">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 700px; margin-left:50px;'>
-        <el-form-item label="问题" prop="questions">
-          <!--<span>{{dataForm.questions}}</span>-->
-          <el-tag style="max-width: 600px; height: auto; white-space: normal;" >{{dataForm.questions}}</el-tag>
-        </el-form-item>
-
-        <el-form-item style="width: 700px;" label="回复" prop="answers">
-          <el-input
-            type="textarea"
-            :rows="5"
-            placeholder="请输入内容"
-            v-model="dataForm.answers">
-          </el-input>
-        </el-form-item>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import { listBanner, updateBanner, deleteBanner } from '@/api/questions'
-  import waves from '@/directive/waves' // 水波纹指令
-  import BackToTop from '@/components/BackToTop'
-  import Tinymce from '@/components/Tinymce'
-
-export default {
-  name: 'questions',
-  components: { BackToTop, Tinymce },
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        questions: undefined,
-        isAnswer: undefined,
-        sort: '+id'
-      },
-      dataForm: {
-        id: undefined,
-        questions: undefined,
-        answers: undefined
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: '回复'
-      },
-      rules: {
-        answers: [{ required: true, message: '回复不能为空', trigger: 'blur' }]
-      },
-      downloadLoading: false
-    }
-  },
-  created() {
-    this.getList()
-  },
-  methods: {
-    getList() {
-      this.listLoading = true
-      listBanner(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row)
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateBanner(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
-          })
-        }
-      })
-    },
-
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteBanner(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      }).catch(() => {
-
-      })
-
-    }
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 121
src/views/content/trend.vue

@@ -1,121 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入发布人、动态内容"
-                v-model="listQuery.title"></el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-    </div>
-    <!--查询结果-->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-              highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="发布人" prop="creator">
-      </el-table-column>
-      <el-table-column align="center" min-width="300px" label="动态内容" prop="content">
-      </el-table-column>
-      <el-table-column align="center" min-width="300px" label="发布时间" prop="createDate">
-      </el-table-column>
-      <!--<el-table-column align="center" min-width="300px" label="图片" prop="image">-->
-      <!--<template slot-scope="scope">-->
-      <!--<img :src="scope.row.image" width="180px" height="90px"/>-->
-      <!--</template>-->
-      <!--</el-table-column>-->
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-  </div>
-</template>
-
-<script>
-  import {listTrend, deleteTrend} from '@/api/trend'
-  import {createStorage} from '@/api/storage'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'trend',
-    directives: {
-      waves
-    },
-    data() {
-      return {
-        listQuery: {
-          page: 1,
-          limit: 20,
-          title: undefined,
-          sort: '+id'
-        },
-        list: [],
-        total: undefined,
-        listLoading: false
-      }
-    },
-    created() {
-
-    },
-    mounted() {
-      this.getList();
-    },
-    methods: {
-      getList() {
-        listTrend(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          console.log(this.list)
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleDelete(row) {
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteTrend(row).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      }
-    }
-
-  }
-</script>
-<style>
-
-</style>

+ 0 - 86
src/views/content/yearLottoNotice.vue

@@ -1,86 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container" style="padding-bottom: 80px;">
-        <el-form v-loading="loading" :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 85%; margin-left:50px;'>
-         <el-form-item  label="标题" prop="title">
-              <el-input v-model="dataForm.title"></el-input>
-            </el-form-item>
-            <el-form-item
-              style="width: 100%"
-              label="内容"
-              prop="content"
-            >
-              <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-  
-        </el-form>
-        <el-button style="float: right;margin-right: 120px;" type="primary" @click="updateData">修改</el-button>
-    
-        
-    </div>
-   
-  </template>
-  
-  <style>
-    
-  </style>
-  
-  
-  <script>
-   import {goodsExchangeRulesDetail, updateGoodsExchangeRules} from "@/api/goodsManage";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-    export default {
-    name: 'goodsExchangeRules',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        dataForm: {
-          type:'yearLottoNotice',
-          title: '',
-          content: "",
-        },
-        loading: false,
-        rules: {
-            title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-            content: [{ required: true, message: "积分规则不能为空", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getDetail();
-    },
-    methods: {
-    
-      getDetail() {
-          this.loading = true
-          goodsExchangeRulesDetail({noticeType:'yearLottoNotice '}).then(response => {
-            this.dataForm.title = response.data.data.title;
-            this.dataForm.content = response.data.data.content;
-            this.dataForm.id = response.data.data.id;
-            this.loading = false;
-          }).catch(() => {})
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.loading = true;
-            updateGoodsExchangeRules(this.dataForm).then(() => {
-              this.loading = false;
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getDetail();
-              }) 
-          }
-        })
-      },
-  
-      
-    }
-  }
-  </script>
-  

+ 0 - 482
src/views/couponsManage/couponsList.vue

@@ -1,482 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入名称"
-        v-model="listQuery.couponName"></el-input>
-      <el-select v-model="listQuery.couponType" clearable placeholder="请选择类型" class="filter-item" style="width: 200px">
-        <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-        </el-option>
-      </el-select>
-      <el-date-picker class="filter-item" value-format="yyyy-MM-dd" v-model="listQuery.enableEndTime" type="date"
-        placeholder="截止日期">
-      </el-date-picker>
-      <el-date-picker class="filter-item" value-format="yyyy-MM-dd" v-model="listQuery.createTime" type="date"
-        placeholder="创建日期">
-      </el-date-picker>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      <!-- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button> -->
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" @selection-change="handleSelectionChange" v-loading="listLoading"
-      element-loading-text="正在查询中。。。" border fit highlight-current-row>
-      <el-table-column type="selection" width="55px"> </el-table-column>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="名称" prop="couponName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="类型" prop="couponTypeName">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="数量" prop="num">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="截止日期" prop="enableEndTime">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="状态" prop="statusName">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-
-          <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="40%">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px"
-        style='width: 700px; margin-left:50px;'>
-        <el-form-item label="名称" prop="couponName">
-          <el-input style="width: 300px" v-model="dataForm.couponName"></el-input>
-        </el-form-item>
-        <el-form-item style="width: 800px" label="图片" prop="couponImg">
-                    <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                </el-form-item>
-        <el-form-item label="类型" prop="couponType">
-          <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.couponType" clearable placeholder="请选择类型" class="filter-item" style="width: 300px">
-            <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="使用类型" prop="useType">
-          <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.useType" clearable placeholder="请选择类型" class="filter-item" style="width: 300px">
-            <el-option :key="item.dictValue" v-for="item in dataTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="dataForm.useType=='1'" label="商品" prop="skuIds">
-          <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.skuIds" clearable multiple collapse-tags placeholder="请选择商品" class="filter-item" style="width: 300px">
-            <el-option :key="item.skuId" v-for="item in goodsList" :label="item.name" :value="item.skuId">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item v-else label="分类" prop="categorys">
-          <el-select :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.categorys" clearable  multiple collapse-tags placeholder="请选择分类" class="filter-item" style="width: 300px">
-            <el-option :key="item.dictValue" v-for="item in categorysList" :label="item.dictLabel" :value="item.dictValue">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="dataForm.couponType=='2'" label="截止日期" prop="enableEndTime">
-          <el-date-picker :disabled="dialogStatus == 'update'?true:false" style="width: 300px" class="filter-item" value-format="yyyy-MM-dd"
-            v-model="dataForm.enableEndTime" type="date" placeholder="截止日期">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="数量" prop="num">
-          <el-input-number :disabled="dialogStatus == 'update'?true:false" :min="1" :precision="0" :step="1" v-model="dataForm.num"></el-input-number>
-        </el-form-item>
-        <el-form-item label="状态">
-          <el-radio-group :disabled="dialogStatus == 'update'?true:false" v-model="dataForm.status">
-            <el-radio :label="'0'">关闭</el-radio>
-            <el-radio :label="'1'">开启</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <!-- <el-form-item label="备注">
-          <el-input type="textarea" :rows="2" style="width: 300px" v-model="dataForm.remark"></el-input>
-        </el-form-item> -->
-
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-  
-<style>
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { list, createItem, updateItem, deleteitem } from "@/api/couponsManage";
-import { goodsList,dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      fileImgUrl: this.upLoadUrl,
-      categorysList:[],
-      dataTypeList:[],
-      goodsList:[],
-      typeList: [
-        {
-          type: "1",
-          name: "永久",
-        },
-        {
-          type: "2",
-          name: "有效",
-        },
-      ],
-      list: [
-
-      ],
-      delarr: [],
-      multipleSelection: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        couponName: '',
-        couponType: '',
-        enableEndTime: '',
-        createTime: '',
-      },
-      dataForm: {
-        couponImg: undefined,
-        images: [],
-        couponName: undefined,
-        couponType: undefined,
-        useType:undefined,
-        categorys:[],
-        skuIds: [],
-        enableEndTime: undefined,
-        num: undefined,
-        status: '1',
-        remark: undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      imageUrl: undefined,
-      rules: {
-        couponImg: [{ required: true, message: "请上传奖品图片", trigger: "blur" }],
-        couponName: [{ required: true, message: "名称不能为空", trigger: "blur" }],
-        couponType: [{ required: true, message: "请选择类型", trigger: "blur" }],
-        useType: [{ required: true, message: "请选择使用类型", trigger: "blur" }],
-        categorys: [{ required: true, message: "请选择分类", trigger: "blur" }],
-        skuIds: [{ required: true, message: "请选择商品", trigger: "blur" }],
-        enableEndTime: [{ required: true, message: "请选择截止日期", trigger: "blur" }],
-        num: [{ required: true, message: "数量不能为空", trigger: "blur" }],
-      },
-    }
-  },
-  created() {
-    this.getList();
-    this.getGoodsList();
-    this.getDataTypeList();
-    this.getCategorysList();
-  },
-  methods: {
-    handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-            }
-            this.dataForm.images = images;
-            this.dataForm.couponImg = images.join(",");
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.couponImg = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-            this.dataForm.images = images;
-            this.dataForm.couponImg = images.join(",");
-            console.log(this.dataForm.couponImg)
-        },
-    getCategorysList() {
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.categorysList = response.data.data;
-            }).catch(() => {});
-        },
-    getDataTypeList() {
-            dataTypeList({dictType:'coupon_use_type'}).then(response => {
-                this.dataTypeList = response.data.data;
-            }).catch(() => {});
-        },
-    getGoodsList() {
-      goodsList({}).then(response => {
-        this.goodsList = response.data.data;
-      }).catch(() => { });
-    },
-    resetForm() {
-      this.dataForm = {
-        couponImg: undefined,
-        images: [],
-        couponName: undefined,
-        couponType: undefined,
-        useType:undefined,
-        categorys:[],
-        skuIds: [],
-        enableEndTime: undefined,
-        num: undefined,
-        status: '1',
-        remark: undefined,
-      };
-    },
-    handleCreate() {
-      this.resetForm();
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          createItem(this.dataForm)
-            .then(() => {
-              this.getList();
-              this.dialogFormVisible = false;
-
-              this.$notify({
-                title: "成功",
-                message: "创建成功",
-                type: "success",
-                duration: 2000,
-              });
-              this.getList()
-            })
-        }
-      });
-    },
-    getList() {
-      this.listLoading = true
-      list(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      if (this.dataForm.couponImg) {
-                let images = this.dataForm.couponImg.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-      if(this.dataForm.categorys==null){
-        this.dataForm.categorys=[];
-      }
-      if(this.dataForm.skuIds==null){
-        this.dataForm.skuIds=[];
-      }
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateItem(this.dataForm).then(() => {
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
-          })
-
-        }
-      })
-    },
-
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteitem({ couponId: row.id,status:-1 }).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          this.getList()
-        })
-      }).catch(() => {
-
-      })
-
-    },
-    delAll() {
-      this.$confirm("确认删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          const length = this.multipleSelection.length;
-
-          if (length > 0) {
-            for (let i = 0; i < length; i++) {
-              this.delarr.push(this.multipleSelection[i].dictId);
-            }
-            const dictIds = this.delarr.join(",");
-            deleteitem({ dictIds: dictIds })
-              .then(() => {
-                this.$notify({
-                  title: "成功",
-                  message: "删除成功",
-                  type: "success",
-                  duration: 2000,
-                });
-                this.getList();
-              })
-              .catch(() => { });
-          } else {
-            this.$notify({
-              title: "警告提示",
-              message: "请选择要删除的信息!",
-              type: "warning",
-            });
-          }
-        })
-        .catch(() => { });
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
-  }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-  

+ 0 - 424
src/views/exchangeManage/approvalList.vue

@@ -1,424 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.purchaser"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="订单编号"
-                v-model="listQuery.orderSeq"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动标题"
-                v-model="listQuery.title"></el-input>
-                <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="listQuery.deliveryType" clearable placeholder="兑换方式" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in deliveryTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-upload2" @click="handleUpload">批量导入审批</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoadPlate">模版下载</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="purchaser">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="员工号" prop="employeNo">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="手机号" prop="userPhone">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="工作地点" prop="workplace">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="订单编号" prop="orderSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="订单状态" prop="orderTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品编号" prop="skuSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="商品类型" prop="skuTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="商品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="兑换方式" prop="deliveryTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="领取地点" prop="reclaimAddrName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换数" prop="skuCount">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="price">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="总积分" prop="total">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动标题" prop="title">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="success" size="small"
-                        @click="handleClick(scope.row.orderId, 'complete')">处理</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-
-            <h3>订单信息</h3>
-            
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    
-                    <el-form-item label="订单编号">
-                        <el-input disabled v-model="detailData.orderSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="员工姓名">
-                        <el-input disabled v-model="detailData.purchaser"></el-input>
-                    </el-form-item>
-                    <el-form-item label="部门名称">
-                        <el-input disabled v-model="detailData.deptName"></el-input>
-                    </el-form-item>
-                </div>
-
-                <div style="display: flex;">
-                    <el-form-item label="员工号">
-                        <el-input disabled v-model="detailData.employeNo"></el-input>
-                    </el-form-item>
-                    <el-form-item label="手机号">
-                        <el-input disabled v-model="detailData.userPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换时间">
-                        <el-input disabled v-model="detailData.createTime"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="数量">
-                        <el-input disabled v-model="detailData.skuCount"></el-input>
-                    </el-form-item>
-                    <el-form-item label="单价(积分)">
-                        <el-input disabled v-model="detailData.price"></el-input>
-                    </el-form-item>
-                    <el-form-item label="订单状态">
-                        <el-input disabled v-model="detailData.orderTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1" style="display: flex;">
-                    <el-form-item label="联系人">
-                        <el-input disabled v-model="detailData.contact"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系电话">
-                        <el-input disabled v-model="detailData.contactPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系地址">
-                        <el-input type="textarea" :rows="2" disabled v-model="addressStr"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="支付类型">
-                        <el-input disabled v-model="detailData.payTypeName"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-            <h3>商品信息</h3>
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    <el-form-item label="商品编号">
-                        <el-input disabled v-model="detailData.skuSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品名称">
-                        <el-input disabled v-model="detailData.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品类型">
-                        <el-input disabled v-model="detailData.skuTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="商品属性">
-                        <el-input disabled v-model="detailData.productAttributeName"></el-input>
-                    </el-form-item>
-                    <el-form-item label="参考价格">
-                        <el-input disabled v-model="detailData.hisPrice"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换方式">
-                        <el-input disabled v-model="detailData.deliveryTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="采购单价">
-                        <el-input v-model="detailData.nowPrice"></el-input>
-                    </el-form-item>
-                    
-                    
-                </div>
-
-                <el-form-item label="备注">
-                    <el-input type="textarea" v-model="comment" style="width: 100%"></el-input>
-                </el-form-item>
-
-
-
-
-
-            </el-form>
-
-            <el-table :data="tableData" border style="width: 100%">
-                <el-table-column align="center" prop="orderStatus" label="订单流程" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="auditor" label="审核人" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="createTime" label="创建时间" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="comment" label="备注">
-                </el-table-column>
-            </el-table>
-
-
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="complete(0)">同意</el-button>
-                <el-button type="danger" @click="complete(1)">驳回</el-button>
-            </div>
-        </el-dialog>
-
-        <el-dialog title="导入" :visible.sync="uploadVisible" width="40%">
-            <el-form label-width="100px">
-                <el-form-item label="上传文件:">
-                    <input type="file" ref="uploadFile">
-
-                </el-form-item>
-            </el-form>
-            <span slot="footer" class="dialog-footer">
-                <el-button size="small" type="primary" @click="submitUploadFile">确 定</el-button>
-            </span>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import axios from 'axios';
-import { getToken } from '@/utils/auth'
-import { complete, list, detail } from "@/api/exchangeManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'exchangeList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            productAttributeList: [],
-            deliveryTypeList: [ ],
-            trackingNumber: '',
-            comment: '',
-            tableData: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                purchaser: '',
-                orderSeq: '',
-                title: '',
-                productAttribute:'',
-                deliveryType:'',
-                orderType:0
-            },
-            dialogVisible: false,
-            uploadVisible:false,
-            dialogStatus: '',
-            textMap: {
-                complete: "审批",
-                view: "详情",
-            },
-            detailData: { },
-            addressStr:'',
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDeliveryTypeList();
-        this.getList();
-    },
-    methods: {
-        handleDownLoadPlate(){
-            window.location.href = process.env.BASE_API + '/mall-order/downExcelTemplate';
-        },
-        submitUploadFile(){
-            console.log(this.$refs.uploadFile.files);
-            let fileFormData = new FormData();
-            fileFormData.append('upfile',this.$refs.uploadFile.files[0]);
-            let requestConfig = {
-                headers: {
-                "Content-Type": "multipart/form-data",
-                'X-Token': getToken()
-                }
-            };
-            let upLoadApi = process.env.BASE_API + '/mall-order/batchAudit';
-            axios.post(upLoadApi,fileFormData,requestConfig ).then(res=>{
-                console.log(res);
-                if(res.errno){
-                    this.$message.success(res.errmsg);
-                }else{
-                    this.$message.error(res.errmsg);
-                }
-                
-            })
-            this.getList();
-            this.uploadVisible = false;
-        },
-        handleUpload(){
-            this.uploadVisible = true;
-        },
-        getDeliveryTypeList(){
-            dataTypeList({dictType:'exchange_methond'}).then(response => {
-                this.deliveryTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?purchaser=' + this.listQuery.purchaser + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title + '&productAttribute=' + this.listQuery.productAttribute + '&deliveryType=' + this.listQuery.deliveryType;
-        },
-        checked(val){
-            if(val.flag == 1){
-                if(!val.comment){
-                    this.$alert("请填备注", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-        complete(flag) {
-            const parms = {
-                orderId:this.detailData.orderId,
-                orderType:this.detailData.orderType,
-                flag:flag,
-                deliveryType:this.detailData.deliveryType,
-                trackingNumber: this.detailData.trackingNumber,
-                nowPrice:this.detailData.nowPrice,
-                comment: this.comment,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.getList();
-                    this.dialogVisible = false;
-                })
-                .catch(() => { });
-            }
-            
-        },
-        getDetail(id) {
-            detail({ orderId: id }).then(response => {
-                this.detailData = response.data.data;
-                this.tableData = response.data.data.logs;
-                this.addressStr = response.data.data.addressStr + response.data.data.street + response.data.data.contactAddr;
-            }).catch(() => {})
-        },
-        handleClick(id, tag) {
-            this.comment = '';
-            this.dialogStatus = tag;
-            this.getDetail(id);
-            this.dialogVisible = true;
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-.exchangeView .el-dialog__body {
-    padding-top: 0px;
-}
-</style>
-  

+ 0 - 390
src/views/exchangeManage/cancelledList.vue

@@ -1,390 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.purchaser"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="订单编号"
-                v-model="listQuery.orderSeq"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动标题"
-                v-model="listQuery.title"></el-input>
-                <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="listQuery.deliveryType" clearable placeholder="兑换方式" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in deliveryTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="purchaser">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="员工号" prop="employeNo">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="手机号" prop="userPhone">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="工作地点" prop="workplace">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="订单编号" prop="orderSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="订单状态" prop="orderTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品编号" prop="skuSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="商品类型" prop="skuTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="商品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="兑换方式" prop="deliveryTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="领取地点" prop="reclaimAddrName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换数" prop="skuCount">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="price">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="总积分" prop="total">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动标题" prop="title">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleClick(scope.row.orderId, 'view')">查看</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-
-            <h3>订单信息</h3>
-            
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    
-                    <el-form-item label="订单编号">
-                        <el-input disabled v-model="detailData.orderSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="员工姓名">
-                        <el-input disabled v-model="detailData.purchaser"></el-input>
-                    </el-form-item>
-                    <el-form-item label="部门名称">
-                        <el-input disabled v-model="detailData.deptName"></el-input>
-                    </el-form-item>
-                </div>
-
-                <div style="display: flex;">
-                    <el-form-item label="员工号">
-                        <el-input disabled v-model="detailData.employeNo"></el-input>
-                    </el-form-item>
-                    <el-form-item label="手机号">
-                        <el-input disabled v-model="detailData.userPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换时间">
-                        <el-input disabled v-model="detailData.createTime"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="数量">
-                        <el-input disabled v-model="detailData.skuCount"></el-input>
-                    </el-form-item>
-                    <el-form-item label="单价(积分)">
-                        <el-input disabled v-model="detailData.price"></el-input>
-                    </el-form-item>
-                    <el-form-item label="订单状态">
-                        <el-input disabled v-model="detailData.orderTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1" style="display: flex;">
-                    <el-form-item label="联系人">
-                        <el-input disabled v-model="detailData.contact"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系电话">
-                        <el-input disabled v-model="detailData.contactPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系地址">
-                        <el-input type="textarea" :rows="2" disabled v-model="addressStr"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="支付类型">
-                        <el-input disabled v-model="detailData.payTypeName"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-            <h3>商品信息</h3>
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    <el-form-item label="商品编号">
-                        <el-input disabled v-model="detailData.skuSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品名称">
-                        <el-input disabled v-model="detailData.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品类型">
-                        <el-input disabled v-model="detailData.skuTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="商品属性">
-                        <el-input disabled v-model="detailData.productAttributeName"></el-input>
-                    </el-form-item>
-                    <el-form-item label="参考价格">
-                        <el-input disabled v-model="detailData.hisPrice"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换方式">
-                        <el-input disabled v-model="detailData.deliveryTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;" v-if="detailData.deliveryType == 4">
-                        <el-form-item label="充值账号">
-                            <el-input disabled v-model="detailData.contactPhone"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1">
-                        <el-form-item label="快递单号">
-                            <el-input disabled v-model="detailData.trackingNumber"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 2">
-                    <el-form-item label="兑换码">
-                            <el-input disabled style="width: 100%"  type="textarea" :rows="2" v-model="detailData.trackingNumber"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-
-            <el-table :data="tableData" border style="width: 100%">
-                <el-table-column align="center" prop="orderStatus" label="订单流程" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="auditor" label="审核人" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="createTime" label="创建时间" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="comment" label="备注">
-                </el-table-column>
-            </el-table>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { complete, list, detail } from "@/api/exchangeManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'exchangeList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            productAttributeList: [],
-            deliveryTypeList: [
-            
-            ],
-            trackingNumber: '',
-            comment: '',
-            tableData: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                purchaser: '',
-                orderSeq: '',
-                orderType: '2',
-                title: '',
-                productAttribute:'',
-                deliveryType:'',
-            },
-            dialogVisible: false,
-            dialogStatus: '',
-            textMap: {
-                complete: "审批",
-                view: "详情",
-            },
-            detailData: { },
-            addressStr:'',
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDeliveryTypeList();
-        this.getList();
-    },
-    methods: {
-        getDeliveryTypeList(){
-            dataTypeList({dictType:'exchange_methond'}).then(response => {
-                this.deliveryTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?purchaser=' + this.listQuery.purchaser + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title + '&productAttribute=' + this.listQuery.productAttribute + '&deliveryType=' + this.listQuery.deliveryType;
-        },
-        checked(val){
-            if(val.flag == 0 && val.deliveryType==1){
-                if(!val.trackingNumber){
-                    this.$alert("请填写快递单号", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 0 && val.deliveryType==2){
-                if(!val.trackingNumber){
-                    this.$alert("请填写兑换码", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 1){
-                if(!val.comment){
-                    this.$alert("请填备注", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-        complete(flag) {
-            const parms = {
-                orderId:this.detailData.orderId,
-                orderType:this.detailData.orderType,
-                flag:flag,
-                deliveryType:this.detailData.deliveryType,
-                trackingNumber: this.detailData.trackingNumber,
-                nowPrice:this.detailData.nowPrice,
-                comment: this.comment,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.getList();
-                    this.dialogVisible = false;
-                })
-                .catch(() => { });
-            }
-            
-        },
-        getDetail(id) {
-            detail({ orderId: id }).then(response => {
-                this.detailData = response.data.data;
-                this.tableData = response.data.data.logs;
-                this.addressStr = response.data.data.addressStr + response.data.data.street + response.data.data.contactAddr;
-            }).catch(() => {})
-        },
-        handleClick(id, tag) {
-            this.comment = '';
-            this.dialogStatus = tag;
-            this.getDetail(id);
-            this.dialogVisible = true;
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-.exchangeView .el-dialog__body {
-    padding-top: 0px;
-}
-</style>
-  

+ 0 - 414
src/views/exchangeManage/exchangeList.vue

@@ -1,414 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.purchaser"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="订单编号"
-                v-model="listQuery.orderSeq"></el-input>
-            <el-select v-model="listQuery.orderType" clearable placeholder="订单状态" style="top: -4px;width: 200px;">
-                <el-option :key="item.orderType" v-for="item in orderTypeList" :label="item.orderTypeName" :value="item.orderType">
-                </el-option>
-            </el-select>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动标题"
-                v-model="listQuery.title"></el-input>
-                <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-            <el-select v-model="listQuery.deliveryType" clearable placeholder="兑换方式" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in deliveryTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="purchaser">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="员工号" prop="employeNo">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="手机号" prop="userPhone">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="工作地点" prop="workplace">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="订单编号" prop="orderSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="订单状态" prop="orderTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品编号" prop="skuSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="商品类型" prop="skuTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="商品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="兑换方式" prop="deliveryTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="领取地点" prop="reclaimAddrName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换数" prop="skuCount">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="price">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="总积分" prop="total">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动标题" prop="title">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleClick(scope.row.orderId, 'view')">查看</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-
-            <h3>订单信息</h3>
-            
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    
-                    <el-form-item label="订单编号">
-                        <el-input disabled v-model="detailData.orderSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="员工姓名">
-                        <el-input disabled v-model="detailData.purchaser"></el-input>
-                    </el-form-item>
-                    <el-form-item label="部门名称">
-                        <el-input disabled v-model="detailData.deptName"></el-input>
-                    </el-form-item>
-                </div>
-
-                <div style="display: flex;">
-                    <el-form-item label="员工号">
-                        <el-input disabled v-model="detailData.employeNo"></el-input>
-                    </el-form-item>
-                    <el-form-item label="手机号">
-                        <el-input disabled v-model="detailData.userPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换时间">
-                        <el-input disabled v-model="detailData.createTime"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="数量">
-                        <el-input disabled v-model="detailData.skuCount"></el-input>
-                    </el-form-item>
-                    <el-form-item label="单价(积分)">
-                        <el-input disabled v-model="detailData.price"></el-input>
-                    </el-form-item>
-                    <el-form-item label="订单状态">
-                        <el-input disabled v-model="detailData.orderTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1" style="display: flex;">
-                    <el-form-item label="联系人">
-                        <el-input disabled v-model="detailData.contact"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系电话">
-                        <el-input disabled v-model="detailData.contactPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系地址">
-                        <el-input type="textarea" :rows="2" disabled v-model="addressStr"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="支付类型">
-                        <el-input disabled v-model="detailData.payTypeName"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-            <h3>商品信息</h3>
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    <el-form-item label="商品编号">
-                        <el-input disabled v-model="detailData.skuSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品名称">
-                        <el-input disabled v-model="detailData.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品类型">
-                        <el-input disabled v-model="detailData.skuTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="商品属性">
-                        <el-input disabled v-model="detailData.productAttributeName"></el-input>
-                    </el-form-item>
-                    <el-form-item label="参考价格">
-                        <el-input disabled v-model="detailData.hisPrice"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换方式">
-                        <el-input disabled v-model="detailData.deliveryTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;" v-if="detailData.deliveryType == 4">
-                        <el-form-item label="充值账号">
-                            <el-input disabled v-model="detailData.contactPhone"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1">
-                        <el-form-item label="快递单号">
-                            <el-input disabled v-model="detailData.trackingNumber"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 2">
-                    <el-form-item label="兑换码">
-                            <el-input disabled style="width: 100%"  type="textarea" :rows="2" v-model="detailData.trackingNumber"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-
-            <el-table :data="tableData" border style="width: 100%">
-                <el-table-column align="center" prop="orderStatus" label="订单流程" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="auditor" label="审核人" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="createTime" label="创建时间" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="comment" label="备注">
-                </el-table-column>
-            </el-table>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { complete, list, detail } from "@/api/exchangeManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'exchangeList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            productAttributeList: [],
-            deliveryTypeList: [],
-            orderTypeList: [
-                {
-                    orderType: 0,
-                    orderTypeName: '待审核'
-                },
-                {
-                    orderType: 1,
-                    orderTypeName: '待发货'
-                },
-                {
-                    orderType: 3,
-                    orderTypeName: '待确认'
-                },
-                {
-                    orderType: 4,
-                    orderTypeName: '已确认'
-                },
-                {
-                    orderType: 2,
-                    orderTypeName: '作废'
-                },
-            ],
-            trackingNumber: '',
-            comment: '',
-            tableData: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                purchaser: '',
-                orderSeq: '',
-                orderType: '',
-                title: '',
-                productAttribute:'',
-                deliveryType:'',
-            },
-            dialogVisible: false,
-            dialogStatus: '',
-            textMap: {
-                complete: "审批",
-                view: "详情",
-            },
-            detailData: { },
-            addressStr:'',
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDeliveryTypeList();
-        this.getList();
-    },
-    methods: {
-        getDeliveryTypeList(){
-            dataTypeList({dictType:'exchange_methond'}).then(response => {
-                this.deliveryTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?purchaser=' + this.listQuery.purchaser + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title + '&productAttribute=' + this.listQuery.productAttribute + '&deliveryType=' + this.listQuery.deliveryType;
-        },
-        checked(val){
-            if(val.flag == 0 && val.deliveryType==1){
-                if(!val.trackingNumber){
-                    this.$alert("请填写快递单号", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 0 && val.deliveryType==2){
-                if(!val.trackingNumber){
-                    this.$alert("请填写兑换码", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 1){
-                if(!val.comment){
-                    this.$alert("请填备注", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-        complete(flag) {
-            const parms = {
-                orderId:this.detailData.orderId,
-                orderType:this.detailData.orderType,
-                flag:flag,
-                deliveryType:this.detailData.deliveryType,
-                trackingNumber: this.detailData.trackingNumber,
-                nowPrice:this.detailData.nowPrice,
-                comment: this.comment,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.getList();
-                    this.dialogVisible = false;
-                })
-                .catch(() => { });
-            }
-            
-        },
-        getDetail(id) {
-            detail({ orderId: id }).then(response => {
-                this.detailData = response.data.data;
-                this.tableData = response.data.data.logs;
-                this.addressStr = response.data.data.addressStr + response.data.data.street + response.data.data.contactAddr;
-            }).catch(() => {})
-        },
-        handleClick(id, tag) {
-            this.comment = '';
-            this.dialogStatus = tag;
-            this.getDetail(id);
-            this.dialogVisible = true;
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-.exchangeView .el-dialog__body {
-    padding-top: 0px;
-}
-</style>
-  

+ 0 - 411
src/views/exchangeManage/pasList.vue

@@ -1,411 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.purchaser"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="订单编号"
-                v-model="listQuery.orderSeq"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动标题"
-                v-model="listQuery.title"></el-input>
-                <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="listQuery.deliveryType" clearable placeholder="兑换方式" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in deliveryTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="purchaser">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="员工号" prop="employeNo">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="手机号" prop="userPhone">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="工作地点" prop="workplace">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="订单编号" prop="orderSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="订单状态" prop="orderTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品编号" prop="skuSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="商品类型" prop="skuTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="商品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="兑换方式" prop="deliveryTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="领取地点" prop="reclaimAddrName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换数" prop="skuCount">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="price">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="总积分" prop="total">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动标题" prop="title">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="success" size="small"
-                        @click="handleClick(scope.row.orderId, 'complete')">处理</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-
-            <h3>订单信息</h3>
-            
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    
-                    <el-form-item label="订单编号">
-                        <el-input disabled v-model="detailData.orderSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="员工姓名">
-                        <el-input disabled v-model="detailData.purchaser"></el-input>
-                    </el-form-item>
-                    <el-form-item label="部门名称">
-                        <el-input disabled v-model="detailData.deptName"></el-input>
-                    </el-form-item>
-                </div>
-
-                <div style="display: flex;">
-                    <el-form-item label="员工号">
-                        <el-input disabled v-model="detailData.employeNo"></el-input>
-                    </el-form-item>
-                    <el-form-item label="手机号">
-                        <el-input disabled v-model="detailData.userPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换时间">
-                        <el-input disabled v-model="detailData.createTime"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="数量">
-                        <el-input disabled v-model="detailData.skuCount"></el-input>
-                    </el-form-item>
-                    <el-form-item label="单价(积分)">
-                        <el-input disabled v-model="detailData.price"></el-input>
-                    </el-form-item>
-                    <el-form-item label="订单状态">
-                        <el-input disabled v-model="detailData.orderTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1" style="display: flex;">
-                    <el-form-item label="联系人">
-                        <el-input disabled v-model="detailData.contact"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系电话">
-                        <el-input disabled v-model="detailData.contactPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系地址">
-                        <el-input type="textarea" :rows="2" disabled v-model="addressStr"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="支付类型">
-                        <el-input disabled v-model="detailData.payTypeName"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-            <h3>商品信息</h3>
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    <el-form-item label="商品编号">
-                        <el-input disabled v-model="detailData.skuSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品名称">
-                        <el-input disabled v-model="detailData.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品类型">
-                        <el-input disabled v-model="detailData.skuTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="商品属性">
-                        <el-input disabled v-model="detailData.productAttributeName"></el-input>
-                    </el-form-item>
-                    <el-form-item label="参考价格">
-                        <el-input disabled v-model="detailData.hisPrice"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换方式">
-                        <el-input disabled v-model="detailData.deliveryTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                
-                    
-            
-                
-                    
-                    
-                <div style="display: flex;" v-if="detailData.deliveryType == 4">
-                        <el-form-item label="充值账号">
-                            <el-input disabled v-model="detailData.contactPhone"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1">
-                        <el-form-item label="快递单号">
-                            <el-input v-model="detailData.trackingNumber"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 2">
-                    <el-form-item label="兑换码">
-                            <el-input style="width: 100%"  type="textarea" :rows="2" v-model="detailData.trackingNumber"></el-input>
-                    </el-form-item>
-                </div>
-                <el-form-item label="备注">
-                    <el-input type="textarea" v-model="comment" style="width: 100%"></el-input>
-                </el-form-item>
-
-
-
-
-
-            </el-form>
-
-            <el-table :data="tableData" border style="width: 100%">
-                <el-table-column align="center" prop="orderStatus" label="订单流程" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="auditor" label="审核人" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="createTime" label="创建时间" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="comment" label="备注">
-                </el-table-column>
-            </el-table>
-
-
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="complete(0)">同意</el-button>
-                <el-button type="danger" @click="complete(1)">驳回</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { complete, list, detail } from "@/api/exchangeManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'exchangeList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            productAttributeList: [],
-            deliveryTypeList: [
-           
-            ],
-            trackingNumber: '',
-            comment: '',
-            tableData: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                purchaser: '',
-                orderSeq: '',
-                title: '',
-                productAttribute:'',
-                deliveryType:'',
-                orderType:1
-            },
-            dialogVisible: false,
-            dialogStatus: '',
-            textMap: {
-                complete: "审批",
-                view: "详情",
-            },
-            detailData: { },
-            addressStr:'',
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDeliveryTypeList();
-        this.getList();
-    },
-    methods: {
-        getDeliveryTypeList(){
-            dataTypeList({dictType:'exchange_methond'}).then(response => {
-                this.deliveryTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?purchaser=' + this.listQuery.purchaser + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title + '&productAttribute=' + this.listQuery.productAttribute + '&deliveryType=' + this.listQuery.deliveryType;
-        },
-        checked(val){
-            if(val.flag == 0 && val.deliveryType==1){
-                if(!val.trackingNumber){
-                    this.$alert("请填写快递单号", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 0 && val.deliveryType==2){
-                if(!val.trackingNumber){
-                    this.$alert("请填写兑换码", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 1){
-                if(!val.comment){
-                    this.$alert("请填备注", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-        complete(flag) {
-            const parms = {
-                orderId:this.detailData.orderId,
-                orderType:this.detailData.orderType,
-                flag:flag,
-                deliveryType:this.detailData.deliveryType,
-                trackingNumber: this.detailData.trackingNumber,
-                nowPrice:this.detailData.nowPrice,
-                comment: this.comment,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.getList();
-                    this.dialogVisible = false;
-                })
-                .catch(() => { });
-            }
-            
-        },
-        getDetail(id) {
-            detail({ orderId: id }).then(response => {
-                this.detailData = response.data.data;
-                this.tableData = response.data.data.logs;
-                this.addressStr = response.data.data.addressStr + response.data.data.street + response.data.data.contactAddr;
-            }).catch(() => {})
-        },
-        handleClick(id, tag) {
-            this.comment = '';
-            this.dialogStatus = tag;
-            this.getDetail(id);
-            this.dialogVisible = true;
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-.exchangeView .el-dialog__body {
-    padding-top: 0px;
-}
-</style>
-  

+ 0 - 405
src/views/exchangeManage/voidList.vue

@@ -1,405 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.purchaser"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="订单编号"
-                v-model="listQuery.orderSeq"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动标题"
-                v-model="listQuery.title"></el-input>
-                <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="listQuery.deliveryType" clearable placeholder="兑换方式" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in deliveryTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="purchaser">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="员工号" prop="employeNo">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="手机号" prop="userPhone">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="工作地点" prop="workplace">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="订单编号" prop="orderSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="订单状态" prop="orderTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品编号" prop="skuSeq">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="商品类型" prop="skuTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="商品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="兑换方式" prop="deliveryTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="领取地点" prop="reclaimAddrName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换数" prop="skuCount">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="price">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="总积分" prop="total">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动标题" prop="title">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="success" size="small"
-                        @click="handleClick(scope.row.orderId, 'complete')">作废</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-
-            <h3>订单信息</h3>
-            
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    
-                    <el-form-item label="订单编号">
-                        <el-input disabled v-model="detailData.orderSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="员工姓名">
-                        <el-input disabled v-model="detailData.purchaser"></el-input>
-                    </el-form-item>
-                    <el-form-item label="部门名称">
-                        <el-input disabled v-model="detailData.deptName"></el-input>
-                    </el-form-item>
-                </div>
-
-                <div style="display: flex;">
-                    <el-form-item label="员工号">
-                        <el-input disabled v-model="detailData.employeNo"></el-input>
-                    </el-form-item>
-                    <el-form-item label="手机号">
-                        <el-input disabled v-model="detailData.userPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换时间">
-                        <el-input disabled v-model="detailData.createTime"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="数量">
-                        <el-input disabled v-model="detailData.skuCount"></el-input>
-                    </el-form-item>
-                    <el-form-item label="单价(积分)">
-                        <el-input disabled v-model="detailData.price"></el-input>
-                    </el-form-item>
-                    <el-form-item label="订单状态">
-                        <el-input disabled v-model="detailData.orderTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1" style="display: flex;">
-                    <el-form-item label="联系人">
-                        <el-input disabled v-model="detailData.contact"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系电话">
-                        <el-input disabled v-model="detailData.contactPhone"></el-input>
-                    </el-form-item>
-                    <el-form-item label="联系地址">
-                        <el-input type="textarea" :rows="2" disabled v-model="addressStr"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="支付类型">
-                        <el-input disabled v-model="detailData.payTypeName"></el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-            <h3>商品信息</h3>
-            <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-                <div style="display: flex;">
-                    <el-form-item label="商品编号">
-                        <el-input disabled v-model="detailData.skuSeq"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品名称">
-                        <el-input disabled v-model="detailData.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="商品类型">
-                        <el-input disabled v-model="detailData.skuTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;">
-                    <el-form-item label="商品属性">
-                        <el-input disabled v-model="detailData.productAttributeName"></el-input>
-                    </el-form-item>
-                    <el-form-item label="参考价格">
-                        <el-input disabled v-model="detailData.hisPrice"></el-input>
-                    </el-form-item>
-                    <el-form-item label="兑换方式">
-                        <el-input disabled v-model="detailData.deliveryTypeName"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;" v-if="detailData.deliveryType == 4">
-                        <el-form-item label="充值账号">
-                            <el-input disabled v-model="detailData.contactPhone"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 1">
-                        <el-form-item label="快递单号">
-                            <el-input disabled v-model="detailData.trackingNumber"></el-input>
-                        </el-form-item>
-                </div>
-                <div v-if="detailData.deliveryType == 2">
-                    <el-form-item label="兑换码">
-                            <el-input disabled style="width: 100%"  type="textarea" :rows="2" v-model="detailData.trackingNumber"></el-input>
-                    </el-form-item>
-                </div>
-
-                <el-form-item label="备注">
-                    <el-input type="textarea" v-model="comment" style="width: 100%"></el-input>
-                </el-form-item>
-
-
-
-
-
-            </el-form>
-
-            <el-table :data="tableData" border style="width: 100%">
-                <el-table-column align="center" prop="orderStatus" label="订单流程" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="auditor" label="审核人" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="createTime" label="创建时间" width="180">
-                </el-table-column>
-                <el-table-column align="center" prop="comment" label="备注">
-                </el-table-column>
-            </el-table>
-
-
-            <div slot="footer" class="dialog-footer">
-                <el-button type="danger" @click="complete(1)">作废</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { complete, list, detail } from "@/api/exchangeManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'exchangeList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            productAttributeList: [],
-            deliveryTypeList: [
-            
-            ],
-            trackingNumber: '',
-            comment: '',
-            tableData: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                purchaser: '',
-                orderSeq: '',
-                title: '',
-                productAttribute:'',
-                deliveryType:'',
-                orderType:4
-            },
-            dialogVisible: false,
-            dialogStatus: '',
-            textMap: {
-                complete: "审批",
-                view: "详情",
-            },
-            detailData: { },
-            addressStr:'',
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDeliveryTypeList();
-        this.getList();
-    },
-    methods: {
-        getDeliveryTypeList(){
-            dataTypeList({dictType:'exchange_methond'}).then(response => {
-                this.deliveryTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?purchaser=' + this.listQuery.purchaser + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title + '&productAttribute=' + this.listQuery.productAttribute + '&deliveryType=' + this.listQuery.deliveryType;
-        },
-        checked(val){
-            if(val.flag == 0 && val.deliveryType==1){
-                if(!val.trackingNumber){
-                    this.$alert("请填写快递单号", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 0 && val.deliveryType==2){
-                if(!val.trackingNumber){
-                    this.$alert("请填写兑换码", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-                    
-            };
-            if(val.flag == 1){
-                if(!val.comment){
-                    this.$alert("请填备注", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-        complete(flag) {
-            const parms = {
-                orderId:this.detailData.orderId,
-                orderType:this.detailData.orderType,
-                flag:flag,
-                deliveryType:this.detailData.deliveryType,
-                trackingNumber: this.detailData.trackingNumber,
-                nowPrice:this.detailData.nowPrice,
-                comment: this.comment,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.getList();
-                    this.dialogVisible = false;
-                })
-                .catch(() => { });
-            }
-            
-        },
-        getDetail(id) {
-            detail({ orderId: id }).then(response => {
-                this.detailData = response.data.data;
-                this.tableData = response.data.data.logs;
-                this.addressStr = response.data.data.addressStr + response.data.data.street + response.data.data.contactAddr;
-            }).catch(() => {})
-        },
-        handleClick(id, tag) {
-            this.comment = '';
-            this.dialogStatus = tag;
-            this.getDetail(id);
-            this.dialogVisible = true;
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-.exchangeView .el-dialog__body {
-    padding-top: 0px;
-}
-</style>
-  

+ 0 - 296
src/views/festivalManage/festivalList.vue

@@ -1,296 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-  
-      <!-- 查询和其他操作 -->
-      <div class="filter-container">
-        <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入节日名称" v-model="listQuery.title"></el-input>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-        <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-  
-      </div>
-  
-      <!-- 查询结果 -->
-      <el-table
-        size="small"
-        :data="list"
-        v-loading="listLoading"
-        element-loading-text="正在查询中。。。"
-        border
-        fit
-        highlight-current-row
-      >
-        <el-table-column type="index" label="序号" header-align="center" align="center">
-        </el-table-column>
-  
-        <el-table-column align="center" min-width="100px" label="节日" prop="title">
-        </el-table-column>
-        <el-table-column align="center" min-width="200px" label="发放日期" prop="startTime">
-        </el-table-column>
-        <el-table-column align="center" min-width="100px" label="积分" prop="integral">
-        </el-table-column>
-        <el-table-column align="center" min-width="100px" label="状态" prop="statusName">
-        </el-table-column>
-        <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <el-button
-              type="primary"
-              size="small"
-              @click="handleUpdate(scope.row, false)"
-              >编辑</el-button
-            >
-            <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeState(scope.row, 1)">开启</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeState(scope.row, 0)">关闭</el-button>
-            <el-button type="danger" size="mini"  @click="handleDelete(scope.row,-1)">删除</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-  
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-          :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-  
-      <!-- 添加或修改对话框 -->
-      <el-dialog
-      :close-on-click-modal="false"
-        :title="textMap[dialogStatus]"
-        :visible.sync="dialogFormVisible"
-        width="35%"
-      >
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px">
-         <el-form-item  label="节日" prop="title">
-              <el-input style="width: 350px" v-model="dataForm.title"></el-input>
-            </el-form-item>
-            <el-form-item label="发放日期" prop="startTime">
-                <el-date-picker
-                  v-model="dataForm.startTime"
-                  type="date"
-                  value-format="yyyy-MM-dd"
-                  placeholder="选择发放日期"
-                  style="width: 350px"
-                ></el-date-picker>
-              </el-form-item>
-              <el-form-item label="积分" prop="integral">
-                <el-input-number
-                  :precision="0"
-                  :step="1"
-                  v-model="dataForm.integral"
-                ></el-input-number>
-              </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="dialogFormVisible = false">取消</el-button>
-          <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-          <el-button v-else type="primary" @click="updateData">确定</el-button>
-        </div>
-      </el-dialog>
-  
-    </div>
-  </template>
-  
-  <style>
-    .demo-table-expand {
-      font-size: 0;
-    }
-    .demo-table-expand label {
-      width: 200px;
-      color: #99a9bf;
-    }
-    .demo-table-expand .el-form-item {
-      margin-right: 0;
-      margin-bottom: 0;
-    }
-  </style>
-  
-  <script>
-    import {list, createItem, updateItem, state } from "@/api/festivalManage";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-  
-  export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        list: [],
-        total: 0,
-        listLoading: false,
-        listQuery: {
-          page: 1,
-          limit: 10,
-          title: '',
-        },
-        dataForm: {
-          title: undefined,
-          integral: undefined,
-          startTime: undefined,
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        textMap: {
-          update: "编辑",
-          create: "创建",
-        },
-        rules: {
-          title: [{ required: true, message: "节日不能为空", trigger: "blur" }],
-          startTime: [{ required: true, message: "请选择发放日期", trigger: "blur" }],
-          integral: [{ required: true, message: "积分不能为空", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-
-      resetForm() {
-        this.dataForm = {
-          title: undefined,
-          integral: undefined,
-          startTime: undefined,
-        };
-      },
-      handleCreate() {
-        this.resetForm();
-        this.dialogFormVisible = true;
-        this.dialogStatus = "create";
-        this.$nextTick(() => {
-          this.$refs["dataForm"].clearValidate();
-        });
-      },
-      createData() {
-        this.$refs["dataForm"].validate((valid) => {
-          if (valid) {
-            createItem(this.dataForm)
-                  .then(() => {
-                    this.getList();
-                    this.dialogFormVisible = false;
-  
-                    this.$notify({
-                      title: "成功",
-                      message: "创建成功",
-                      type: "success",
-                      duration: 2000,
-                    });
-                    this.getList()
-                  })
-          }
-        });
-      },
-      getList() {
-        this.listLoading = true
-        list(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-  
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-  
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-  
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-  
-      handleUpdate(row) {
-        this.dataForm = Object.assign({}, row);
-        this.dialogStatus = 'update'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-  
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            updateItem(this.dataForm).then(() => {
-                this.dialogFormVisible = false
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getList()
-              })
-            
-          }
-        })
-      },
-      changeState(row, index) {
-        state({ id: row.id, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-      handleDelete(row, index) {
-  
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          state({ id: row.id, status: index }).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
-          })
-        }).catch(() => {
-  
-        })
-  
-      },
-    }
-  }
-  </script>
-  <style>
-    .ad-avatar-uploader .el-upload {
-      border: 1px dashed #d9d9d9;
-      border-radius: 6px;
-      cursor: pointer;
-      position: relative;
-      overflow: hidden;
-    }
-    .ad-avatar-uploader .el-upload:hover {
-      border-color: #409EFF;
-    }
-    .ad-avatar-uploader-icon {
-      font-size: 28px;
-      color: #8c939d;
-      width: 178px;
-      height: 178px;
-      line-height: 178px;
-      text-align: center;
-    }
-    .ad-avatar {
-      display: block;
-    }
-  </style>
-  

+ 0 - 86
src/views/giftManage/giftExchangeRules.vue

@@ -1,86 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container" style="padding-bottom: 80px;">
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 85%; margin-left:50px;'>
-         <el-form-item  label="标题" prop="title">
-              <el-input v-model="dataForm.title"></el-input>
-            </el-form-item>
-            <el-form-item
-              style="width: 100%"
-              label="内容"
-              prop="content"
-            >
-              <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-  
-        </el-form>
-        <el-button style="float: right;margin-right: 120px;" type="primary" @click="updateData">修改</el-button>
-    
-        
-    </div>
-   
-  </template>
-  
-  <style>
-    
-  </style>
-  
-  
-  <script>
-   import {goodsExchangeRulesDetail, updateGoodsExchangeRules} from "@/api/goodsManage";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-    export default {
-    name: 'giftExchangeRules',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        dataForm: {
-          type:'giftNotice',
-          title: '',
-          content: "",
-        },
-        dialogFormVisible: false,
-        rules: {
-            title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-            content: [{ required: true, message: "积分规则不能为空", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getDetail();
-    },
-    methods: {
-    
-      getDetail() {
-          this.loading = true
-          goodsExchangeRulesDetail({noticeType:'giftNotice '}).then(response => {
-            this.dataForm.title = response.data.data.title;
-            this.dataForm.content = response.data.data.content;
-            this.dataForm.id = response.data.data.id;
-            this.loading = false;
-          }).catch(() => {})
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.loading = true;
-            updateGoodsExchangeRules(this.dataForm).then(() => {
-              this.loading = false;
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getDetail()
-              }) 
-          }
-        })
-      },
-  
-      
-    }
-  }
-  </script>
-  

+ 0 - 698
src/views/giftManage/giftList copy.vue

@@ -1,698 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="礼品名称"
-                v-model="listQuery.name"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="礼品编号"
-                v-model="listQuery.seq"></el-input>
-            <el-select v-model="listQuery.status" clearable placeholder="状态" style="top: -4px;width: 200px;">
-                <el-option :key="item.type" v-for="item in goodsStatusList" :label="item.name" :value="item.type">
-                </el-option>
-            </el-select>
-            <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-            <el-select v-model="listQuery.deliveryType" clearable placeholder="兑换方式" class="filter-item" style="width: 200px">
-                        <el-option :key="item.type" v-for="item in deliveryTypeList" :label="item.name" :value="item.type">
-                        </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="200px" label="礼品名称" prop="name">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="120px" label="礼品编号" prop="seq">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="80px" label="礼品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="库存量" prop="actualStock">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="可兑换库存量" prop="stock">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="兑换方式" prop="deliveryTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="礼品所在地" prop="location">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="礼品状态">
-                <template slot-scope="props">
-                    <span v-if="props.row.status == 1">上架</span>
-                    <span v-if="props.row.status == 0">下架</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换记录">
-                <template slot-scope="props">
-                    <span @click="handleView(props.row)" style="color:green;cursor: pointer;">查看</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="福利名称" prop="title">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="350px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeGoodsState(scope.row.skuId, 1)">上架</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeGoodsState(scope.row.skuId, 0)">下架</el-button>
-                    <el-button type="primary" size="small" @click="handleRelated(scope.row)">关联福利</el-button>
-                    <el-button type="danger" size="mini" @click="handleDelete(scope.row.skuId, -1)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 员工积分记录列表 -->
-        <el-dialog :close-on-click-modal="false" title="兑换记录" :visible.sync="dialogListVisible" width="70%">
-            <div class="filter-container">
-                <el-select filterable v-model="itemListQuery.deptId" clearable placeholder="部门" style="top: -4px;width: 200px;">
-                    <el-option :key="item.deptId" v-for="item in depTypeList" :label="item.deptName" :value="item.deptId">
-                    </el-option>
-                </el-select>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                    v-model="itemListQuery.purchaserName"></el-input>
-                <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
-                    @click="itemHandleFilter">查找</el-button>
-                <el-button class="filter-item" type="primary" v-waves icon="el-icon-download">导出</el-button>
-
-            </div>
-            <!-- 查询结果 -->
-            <el-table size="small" :data="itemList" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-                highlight-current-row>
-                <el-table-column type="index" label="序号" header-align="center" align="center">
-                </el-table-column>
-                <el-table-column align="center" width="200px" label="部门" prop="deptName">
-                </el-table-column>
-                <el-table-column align="center" label="员工姓名" prop="purchaser">
-                </el-table-column>
-                <el-table-column align="center" label="兑换方式" prop="deliveryTypeName">
-                </el-table-column>
-                <el-table-column align="center" label="兑换数量" prop="skuCount">
-                </el-table-column>
-                <el-table-column align="center" label="联系人" prop="contact">
-                </el-table-column>
-                <el-table-column align="center" width="120px" label="联系方式" prop="contactPhone">
-                </el-table-column>
-                <el-table-column align="center" width="200px" label="地址" prop="contactAddr">
-                </el-table-column>
-                <el-table-column align="center" width="200px" label="邮箱" prop="contactEmail">
-                </el-table-column>
-                <el-table-column align="center" width="150px" label="兑换时间" prop="createTime">
-                </el-table-column>
-            </el-table>
-
-            <!-- 分页 -->
-            <div class="pagination-container">
-                <el-pagination background @size-change="itemHandleSizeChange" @current-change="itemHandleCurrentChange"
-                    :current-page="itemListQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="itemListQuery.limit"
-                    layout="total, sizes, prev, pager, next, jumper" :total="itemTotal">
-                </el-pagination>
-            </div>
-        </el-dialog>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:700px;margin-left:50px;'>
-                <el-form-item label="礼品编号" prop="seq">
-                    <el-input disabled placeholder="添加成功后自动生成" readonly v-model="dataForm.seq"></el-input>
-                </el-form-item>
-                <el-form-item label="礼品名称" prop="name">
-                    <el-input v-model="dataForm.name"></el-input>
-                </el-form-item>
-
-               
-
-                <el-form-item label="礼品属性" prop="productAttribute">
-                    <el-select v-model="dataForm.productAttribute" filterable placeholder="请选择" style="width: 350px"
-                        value-key="value" @change="changeProductAttribute">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="兑换方式" prop="deliveryType">
-                    <el-select v-model="dataForm.deliveryType" filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.type" v-for="item in deliveryTypeList" :label="item.name" :value="item.type">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item v-if="dataForm.deliveryType==0" label="礼品所在地" prop="location">
-                    <el-select v-model="dataForm.location" filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.dictLabel" v-for="item in locationList" :label="item.dictLabel" :value="item.dictLabel">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="礼品图片" prop="imgUrl">
-                    <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                </el-form-item>
-                <el-form-item label="库存量" prop="actualStock">
-                    <el-input-number :precision="0" :step="1" v-model="dataForm.actualStock"></el-input-number>
-                </el-form-item>
-                <el-form-item
-                    style="width: 800px"
-                    label="礼品说明"
-                    prop="comment"
-                    >
-                <tinymce v-model="dataForm.comment" ref="tinymce"></tinymce>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-         <!-- 关联福利操作 -->
-        <el-dialog :close-on-click-modal="false" title="关联福利" :visible.sync="dialogRelatedVisible" width="40%">
-            <div class="filter-container">
-                <el-select clearable v-model="welfareId" style="width: 100%;" placeholder="请选择">
-                    <el-option v-for="item in options" :key="item.id" :label="item.title" :value="item.id">
-                    </el-option>
-                </el-select>
-            </div>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogRelatedVisible = false">取消</el-button>
-                <el-button type="primary" @click="handleRelatedWelfare">确定</el-button>
-            </div>
-        </el-dialog>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { createItem, updateItem, giftList, giftState, exchangeHistory, relatedWelfare, welfareList } from "@/api/giftManage";
-import { depTypeList,dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'giftList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            welfareId:'',
-            skuId:'',
-            options: [],
-            locationList:[],
-            productAttributeList: [],
-            deliveryTypeList: [
-            {
-                    type: 0,
-                    name: '办公室领取'
-                },
-                {
-                    type: 1,
-                    name: '快递'
-                },
-                {
-                    type: 2,
-                    name: '卷码兑换'
-                },
-                {
-                    type: 3,
-                    name: '线下组织'
-                },
-               
-            ],
-            goodsStatusList: [
-                {
-                    type: 1,
-                    name: '上架'
-                },
-                {
-                    type: 0,
-                    name: '下架'
-                },
-            ],
-            depTypeList: [],
-            list: [],
-            itemList: [
-                
-            ],
-            total: 0,
-            itemTotal: 0,
-            listLoading: false,
-            downloadLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                name: '',
-                seq: '',
-                status: '',
-                productAttribute:'',
-                deliveryType:'',
-            },
-            itemListQuery: {
-                page: 1,
-                limit: 10,
-                deptId: '',
-                purchaserName: '',
-            },
-            dataForm: {
-                comment: undefined,
-                name: undefined,
-                seq: undefined,
-                productAttribute: undefined,
-                imgUrl: undefined,
-                integral: undefined,
-                actualStock: undefined,
-                deliveryType: undefined,
-                location: undefined,
-                images: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                name: [{ required: true, message: "请填写礼品名称", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "请上传礼品图片", trigger: "blur" }],
-                productAttribute: [{ required: true, message: "请选择礼品属性", trigger: "blur" }],
-                integral: [{ required: true, message: "请填写礼品积分", trigger: "blur" }],
-                actualStock: [{ required: true, message: "请设置库存量", trigger: "blur" }],
-                deliveryType: [{ required: true, message: "请选择兑换方式", trigger: "blur" }],
-                location: [{ required: true, message: "请选择礼品所在地", trigger: "blur" }],
-                comment: [{ required: true, message: "说明不能为空", trigger: "blur" }],
-            },
-            dialogListVisible: false,
-            dialogRelatedVisible:false,
-            fileImgUrl: this.upLoadUrl,
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDataTypeList(); 
-        this.getDepTypeList(); 
-        this.getList();
-    },
-    methods: {
-        getDataTypeList() {
-            dataTypeList({dictType:'mall_sku_location'}).then(response => {
-                this.locationList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        getWelfareList(){
-            welfareList({status:1}).then(response => {
-                this.options = response.data.data;
-            }).catch(() => {});
-        },
-        changeProductAttribute(val) {
-            this.dataForm.deliveryType = undefined;
-            this.dataForm.location = undefined;
-            this.deliveryTypeList = [
-                {
-                    type: 0,
-                    name: '办公室领取'
-                },
-                {
-                    type: 1,
-                    name: '快递'
-                },
-                {
-                    type: 2,
-                    name: '卷码兑换'
-                },
-                {
-                    type: 3,
-                    name: '线下组织'
-                },
-               
-            ];
-            if (val == 1) {
-                this.deliveryTypeList = [
-                    {
-                        type: 1,
-                        name: '快递'
-                    },
-                    {
-                        type: 0,
-                        name: '办公室领取'
-                    },
-                ]
-            } 
-            if (val == 2 || val == 3)  {
-                this.deliveryTypeList = [
-                    {
-                        type: 2,
-                        name: '卷码兑换'
-                    },
-                ]
-            }
-            if (val == 5)  {
-                this.deliveryTypeList = [
-                    {
-                        type: 3,
-                        name: '线下组织'
-                    },
-                ]
-            }
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-                this.dataForm.imgUrl = images.join(",");
-            }
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-
-            this.dataForm.imgUrl = images.join(",");
-        },
-        resetForm() {
-            this.dataForm = {
-                comment: undefined,
-                name: undefined,
-                seq: undefined,
-                productAttribute: undefined,
-                imgUrl: undefined,
-                integral: undefined,
-                actualStock: undefined,
-                deliveryType: undefined,
-                location: undefined,
-                images: [],
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent("");
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    createItem(this.dataForm)
-                            .then((response) => {
-                                this.getList();
-                                this.dialogFormVisible = false;
-                                this.$notify({
-                                    title: "成功",
-                                    message: "创建成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.reload();
-                            })
-                            .catch(() => { });
-                }
-            });
-        },
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            this.dataForm.productAttribute = row.productAttribute.toString();
-            let comment = this.dataForm.comment;
-            let val = row.productAttribute;
-            this.deliveryTypeList = [
-                {
-                    type: 0,
-                    name: '办公室领取'
-                },
-                {
-                    type: 1,
-                    name: '快递'
-                },
-                {
-                    type: 2,
-                    name: '卷码兑换'
-                },
-                {
-                    type: 3,
-                    name: '线下组织'
-                },
-               
-            ];
-            if (val == 1) {
-                this.deliveryTypeList = [
-                    {
-                        type: 1,
-                        name: '快递'
-                    },
-                    {
-                        type: 0,
-                        name: '办公室领取'
-                    },
-                ]
-            } 
-            if (val == 2 || val == 3)  {
-                this.deliveryTypeList = [
-                    {
-                        type: 2,
-                        name: '卷码兑换'
-                    },
-                ]
-            }
-            if (val == 5)  {
-                this.deliveryTypeList = [
-                    {
-                        type: 3,
-                        name: '线下组织'
-                    },
-                ]
-            }
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent(comment);
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    updateItem(this.dataForm).then(() => {
-                            this.dialogFormVisible = false
-                            this.$notify({
-                                title: '成功',
-                                message: '更新成功',
-                                type: 'success',
-                                duration: 2000
-                            })
-                            this.getList()
-                        })
-
-                }
-
-            })
-        },
-        handleRelated(row) {
-            this.welfareId = '';
-            this.skuId = row.skuId;
-            this.getWelfareList();
-            this.dialogRelatedVisible = true
-        },
-        handleRelatedWelfare(){
-            relatedWelfare({ skuId: this.skuId, welfareId: this.welfareId }).then(response => {
-                this.dialogRelatedVisible = false;
-                this.$notify({
-                    title: '成功',
-                    message: '福利关联成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        changeGoodsState(id, index) {
-            giftState({ skuId: id, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '礼品状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(id, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                giftState({ skuId: id, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {})
-        },
-        getDepTypeList() {
-            depTypeList().then(response => {
-                this.depTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getList() {
-            this.listLoading = true
-            giftList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        getItemList() {
-            this.listLoading = true
-            exchangeHistory(this.itemListQuery).then(response => {
-                this.itemList = response.data.data.items
-                this.itemLotal = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        itemHandleFilter() {
-            this.itemListQuery.page = 1
-            this.getItemList()
-        },
-        itemHandleSizeChange(val) {
-            this.itemListQuery.limit = val
-            this.getItemList()
-        },
-        itemHandleCurrentChange(val) {
-            this.itemListQuery.page = val
-            this.getItemList()
-        },
-
-        handleView(row) {
-            this.itemListQuery.id = row.id;
-            this.getItemList()
-            this.dialogListVisible = true
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 647
src/views/giftManage/giftList.vue

@@ -1,647 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="商品名称"
-                v-model="listQuery.name"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="商品编号"
-                v-model="listQuery.seq"></el-input>
-            <el-select v-model="listQuery.status" clearable placeholder="状态" class="filter-item" style="width: 200px;">
-                <el-option :key="item.type" v-for="item in goodsStatusList" :label="item.name" :value="item.type">
-                </el-option>
-            </el-select>
-            <el-select v-model="listQuery.productAttribute" clearable placeholder="商品属性" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="120px" label="商品编号" prop="seq">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="80px" label="商品属性" prop="productAttributeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="price">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="参考价格" prop="hisPrice">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="库存量" prop="actualStock">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="可兑换库存量" prop="stock">
-            </el-table-column>
-            <!-- <el-table-column align="center" min-width="100px" label="商品所在地" prop="location">
-            </el-table-column> -->
-            <el-table-column align="center" min-width="80px" label="商品状态">
-                <template slot-scope="props">
-                    <span v-if="props.row.status == 1">上架</span>
-                    <span v-if="props.row.status == 0">下架</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="兑换记录">
-                <template slot-scope="props">
-                    <span @click="handleView(props.row)" style="color:green;cursor: pointer;">查看</span>
-                </template>
-            </el-table-column>
-            <!-- fixed="right" -->
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeGoodsState(scope.row.skuId, 1)">上架</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeGoodsState(scope.row.skuId, 0)">下架</el-button>
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row.skuId, -1)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 员工积分记录列表 -->
-        <el-dialog :close-on-click-modal="false" title="兑换记录" :visible.sync="dialogListVisible" width="70%" style="overflow: auto;">
-            <div class="filter-container">
-                <el-select filterable v-model="itemListQuery.deptId" clearable placeholder="部门" style="top: -4px;width: 200px;">
-                    <el-option :key="item.deptId" v-for="item in depTypeList" :label="item.deptName" :value="item.deptId">
-                    </el-option>
-                </el-select>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                    v-model="itemListQuery.userName"></el-input>
-                <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
-                    @click="itemHandleFilter">查找</el-button>
-                <el-button class="filter-item" type="primary" @click="handleDownLoad" v-waves icon="el-icon-download">导出</el-button>
-
-            </div>
-            <!-- 查询结果 -->
-            <el-table size="small" :data="itemList" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-                </el-table-column>
-                <el-table-column align="center" width="200px" label="部门" prop="deptName">
-                </el-table-column>
-                <el-table-column align="center" label="员工姓名" prop="purchaser">
-                </el-table-column>
-                <el-table-column align="center" label="兑换数量" prop="skuCount">
-                </el-table-column>
-                <el-table-column align="center" label="联系人" prop="contact">
-                </el-table-column>
-                <el-table-column align="center" width="120px" label="联系方式" prop="contactPhone">
-                </el-table-column>
-                <el-table-column align="center" width="200px" label="地址" prop="contactAddr">
-                </el-table-column>
-                <!-- <el-table-column align="center" width="200px" label="邮箱" prop="contactEmail">
-                </el-table-column> -->
-                <el-table-column align="center" width="150px" label="兑换时间" prop="createTime">
-                </el-table-column>
-        </el-table>
-            <!-- 分页 -->
-            <div class="pagination-container">
-                <el-pagination background @size-change="itemHandleSizeChange" @current-change="itemHandleCurrentChange"
-                    :current-page="itemListQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="itemListQuery.limit"
-                    layout="total, sizes, prev, pager, next, jumper" :total="itemTotal">
-                </el-pagination>
-            </div>
-        </el-dialog>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:700px; margin-left:50px;'>
-                <el-form-item label="商品编号" prop="seq">
-                    <el-input disabled placeholder="添加成功后自动生成" readonly v-model="dataForm.seq"></el-input>
-                </el-form-item>
-                <el-form-item label="商品简称" prop="brief">
-                    <el-input v-model="dataForm.brief"></el-input>
-                </el-form-item>
-                <el-form-item label="商品名称" prop="name">
-                    <el-input v-model="dataForm.name"></el-input>
-                </el-form-item>
-
-                
-
-                <el-form-item label="商品属性" prop="productAttribute">
-                    <el-select v-model="dataForm.productAttribute" filterable placeholder="请选择" style="width: 350px"
-                        value-key="value" @change="changeProductAttribute">
-                        <el-option :key="item.dictValue" v-for="item in productAttributeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="福利类型" prop="welfare">
-                    <el-radio-group v-model="dataForm.welfare">
-                        <el-radio :label="'0'">非福利</el-radio>
-                        <el-radio :label="'1'">福利</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item label="兑换方式" prop="deliveryTypes">
-                    <el-select v-model="dataForm.deliveryTypes" multiple filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.dictValue" v-for="item in deliveryTypeList" :label="item.dictLabel" :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item v-if="dataForm.deliveryTypes.includes('1')" label="快递方式">
-                    <el-radio-group v-model="dataForm.freightType">
-                        <el-radio :label="'0'">不包邮</el-radio>
-                        <el-radio :label="'1'">包邮</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="商品图片" prop="imgUrl">
-                    <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                </el-form-item>
-                <el-form-item label="积分" prop="price">
-                    <el-input v-model="dataForm.price"></el-input>
-                </el-form-item>
-                <el-form-item label="参考价格" prop="hisPrice">
-                    <el-input v-model="dataForm.hisPrice"></el-input>
-                </el-form-item>
-                <el-form-item label="库存量" prop="actualStock">
-                    <el-input-number :precision="0" :step="1" v-model="dataForm.actualStock"></el-input-number>
-                </el-form-item>
-                <el-form-item
-                    style="width: 800px"
-                    label="兑换说明"
-                    prop="comment"
-                    >
-                <tinymce v-model="dataForm.comment" ref="tinymce"></tinymce>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="商品副图">
-                    <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.imgUrls"
-                            :on-success="handleAvatarSuccess"
-                            :on-remove="handleRemoveImgs">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                </el-form-item>
-                <el-form-item
-                    style="width: 800px"
-                    label="物品介绍"
-                    prop="skuDesc"
-                    >
-                <skuDesc v-model="dataForm.skuDesc" ref="skuDesc"></skuDesc>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { createItem, updateItem, goodsList, goodsState, exchangeHistory } from "@/api/goodsManage";
-import { depTypeList,dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce';
-import SkuDesc from '@/components/SkuDesc'
-
-export default {
-    name: 'goodsList',
-    components: { Tinymce,SkuDesc },
-    directives: { waves },
-    data() {
-        return {
-            locationList:[],
-            productAttributeList: [],
-            deliveryTypeList: [],
-            goodsStatusList: [
-                {
-                    type: 1,
-                    name: '上架'
-                },
-                {
-                    type: 0,
-                    name: '下架'
-                },
-            ],
-            depTypeList: [],
-            list: [],
-            itemList: [],
-            total: 0,
-            itemTotal: 0,
-            listLoading: false,
-            downloadLoading: false,
-            listQuery: {
-                skuType:1,
-                page: 1,
-                limit: 10,
-                name: '',
-                seq: '',
-                status: '',
-                productAttribute:'',
-            },
-            itemListQuery: {
-                skuType:1,
-                page: 1,
-                limit: 10,
-                skuId:'',
-                deptId: '',
-                userName: '',
-            },
-            dataForm: {
-                skuType:1,
-                brief: undefined,
-                name: undefined,
-                seq: undefined,
-                productAttribute: undefined,
-                welfare: undefined,
-                imgUrl: undefined,
-                price: undefined,
-                hisPrice:undefined,
-                actualStock: undefined,
-                deliveryTypes: [],
-                freightType:'0',
-                // location: undefined,
-                images: [],
-                imgIds: '',
-                imgUrls:[],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                brief: [{ required: true, message: "请填写商品简介", trigger: "blur" }],
-                name: [{ required: true, message: "请填写商品名称", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "请上传商品图片", trigger: "blur" }],
-                imgIds: [{ required: true, message: "请上传商品副图", trigger: "blur" }],
-                productAttribute: [{ required: true, message: "请选择商品属性", trigger: "blur" }],
-                welfare: [{ required: true, message: "请选择福利类型", trigger: "blur" }],
-                price: [{ required: true, message: "请填写商品积分", trigger: "blur" }],
-                hisPrice: [{ required: true, message: "请填写商品参考价格", trigger: "blur" }],
-                actualStock: [{ required: true, message: "请设置库存量", trigger: "blur" }],
-                deliveryTypes: [{ required: true, message: "请选择兑换方式", trigger: "blur" }],
-                // location: [{ required: true, message: "请选择商品所在地", trigger: "blur" }],
-                comment: [{ required: true, message: "说明不能为空", trigger: "blur" }],
-                skuDesc: [{ required: true, message: "商品介绍不能为空", trigger: "blur" }],
-            },
-            dialogListVisible: false,
-            fileImgUrl: this.upLoadUrl,
-        }
-    },
-    created() {
-        this.getProductAttributeList();
-        this.getDataTypeList(); 
-        this.getDepTypeList(); 
-        this.getList();
-    },
-    methods: {
-        getDeliveryTypeList(val){
-            dataTypeList({dictType:val}).then(response => {
-                this.deliveryTypeList = response.data.data;
-            });
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-sku/exportSkuLog?skuId=' + this.itemListQuery.skuId + '&deptId=' + this.itemListQuery.deptId + '&userName=' + this.itemListQuery.userName;
-        },
-        changeProductAttribute(val) {
-            debugger
-            this.dataForm.deliveryTypes = [];
-            // this.dataForm.location = undefined;
-            this.getDeliveryTypeList(val);
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-                this.dataForm.imgUrl = images.join(",");
-            }
-        },
-        handleAvatarSuccess(res, file, fileList) {
-            console.log(file, fileList);
-            console.log("------", "==========");
-            console.log("res = ", res);
-
-            let fileIds = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                this.$message.error("该文件上传失败,已被移除,请重新上传!");
-                // 上传失败移除该 file 对象
-                fileList.splice(i, 1);
-                } else {
-                let id = fileList[i].response.data.id;
-                fileIds.push(id);
-                }
-            }
-            this.dataForm.imgIds = fileIds.join(",");
-        },
-        handleRemoveImgs(file, fileList) {
-            console.log(file, fileList);
-            let fileIds = [];
-            for (let i in fileList) {
-                let id = fileList[i].response.data.id;
-                fileIds.push(id);
-            }
-            this.dataForm.imgIds = fileIds.join(",");
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-
-            this.dataForm.imgUrl = images.join(",");
-        },
-        resetForm() {
-            this.dataForm = {
-                skuType:1,
-                comment: undefined,
-                skuDesc: undefined,
-                brief: undefined,
-                name: undefined,
-                seq: undefined,
-                productAttribute: undefined,
-                imgUrl: undefined,
-                price: undefined,
-                hisPrice:undefined,
-                actualStock: undefined,
-                deliveryTypes: [],
-                freightType:'0',
-                // location: undefined,
-                images: [],
-                imgIds: '',
-                imgUrls:[],
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent("");
-                this.$refs.skuDesc.setContent("");
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    console.log(this.dataForm);
-                    createItem(this.dataForm)
-                            .then((response) => {
-                                this.getList();
-                                this.dialogFormVisible = false;
-                                this.$notify({
-                                    title: "成功",
-                                    message: "创建成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.reload();
-                            })
-                            .catch(() => { });
-                }
-            });
-        },
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            this.dataForm.productAttribute = row.productAttribute.toString();
-            let comment = this.dataForm.comment;
-            let skuDesc = this.dataForm.skuDesc?this.dataForm.skuDesc:'';
-            let val = row.productAttribute;
-            this.getDeliveryTypeList(val);
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            if (this.dataForm.imgs) {
-                let imgs = this.dataForm.imgs;
-                this.dataForm.imgUrls = [];
-                for (let i in imgs) {
-                    let url = imgs[i].url;
-                    let name = "image_" + i;
-
-                    this.dataForm.imgUrls.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: imgs[i] },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent(comment);
-                this.$refs.skuDesc.setContent(skuDesc);
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    updateItem(this.dataForm).then(() => {
-                            this.dialogFormVisible = false
-                            this.$notify({
-                                title: '成功',
-                                message: '更新成功',
-                                type: 'success',
-                                duration: 2000
-                            })
-                            this.getList()
-                        })
-
-                }
-
-            })
-        },
-        changeGoodsState(id, index) {
-            goodsState({ skuType:1, skuId: id, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '商品状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(id, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                goodsState({ skuType:1, skuId: id, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {
-
-            })
-
-        },
-        getDataTypeList() {
-            dataTypeList({dictType:'mall_sku_location'}).then(response => {
-                this.locationList = response.data.data;
-            }).catch(() => {});
-        },
-        getProductAttributeList(){
-            dataTypeList({dictType:'mall_sku_attribute'}).then(response => {
-                this.productAttributeList = response.data.data;
-            }).catch(() => {});
-        },
-        getDepTypeList() {
-            depTypeList().then(response => {
-                this.depTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getList() {
-            this.listLoading = true
-            goodsList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        getItemList() {
-            this.listLoading = true
-            exchangeHistory(this.itemListQuery).then(response => {
-                this.itemList = response.data.data.items
-                this.itemLotal = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        itemHandleFilter() {
-            this.itemListQuery.page = 1
-            this.getItemList()
-        },
-        itemHandleSizeChange(val) {
-            this.itemListQuery.limit = val
-            this.getItemList()
-        },
-        itemHandleCurrentChange(val) {
-            this.itemListQuery.page = val
-            this.getItemList()
-        },
-
-        handleView(row) {
-            this.itemListQuery.skuId = row.skuId;
-            this.getItemList();
-            this.dialogListVisible = true
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 488
src/views/lotteryManage/lotteryDataList.vue

@@ -1,488 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-select @change="changepoolId" v-model="listQuery.poolId" placeholder="奖池" class="filter-item"
-                style="width: 200px">
-                <el-option :key="item.id" v-for="item in dictNameList" :label="item.title" :value="item.id">
-                </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
-                @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-            <!-- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button> -->
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" @selection-change="handleSelectionChange"
-            element-loading-text="正在查询中。。。" border fit highlight-current-row>
-            <!-- <el-table-column type="selection" width="55px"> </el-table-column> -->
-            <el-table-column align="center" min-width="100px" label="奖品类型" prop="prizeTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="奖品名称" prop="prizeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品券">
-                <template slot-scope="scope">
-                    <span v-if="scope.row.couponVo">{{ scope.row.couponVo.couponName }}</span>
-                    <span v-else>无</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="奖励积分" prop="integral">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="奖品权重" prop="prizeWeight">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="奖品数量" prop="prizeActualStock">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="剩余数量" prop="prizeStock">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="是否大奖">
-                <template slot-scope="scope">
-                    <span v-if="scope.row.isGrandPrize == '0'">否</span>
-                    <span v-if="scope.row.isGrandPrize == '1'">是</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="状态">
-                <template slot-scope="scope">
-                    <span v-if="scope.row.status == '0'">关闭</span>
-                    <span v-else>开启</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
-            width="40%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left"
-                label-width="80px" style='width: 700px; margin-left:50px;'>
-                <el-form-item label="奖品类型" prop="prizeType">
-                    <el-select :disabled="dialogStatus == 'update' ? true : false" v-model="dataForm.prizeType" clearable
-                        placeholder="请选择类型" class="filter-item" style="width: 300px" @change="clickPrizeType">
-                        <el-option :key="item.dictValue" v-for="item in dataTypeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="奖品名称" prop="prizeName">
-                    <el-input style="width: 300px" v-model="dataForm.prizeName"></el-input>
-                </el-form-item>
-                <el-form-item v-if="dataForm.prizeType == '10'" label="兑换券" prop="couponId">
-                    <el-select v-model="dataForm.couponId" clearable placeholder="请选择兑换券" class="filter-item"
-                        style="width: 300px">
-                        <el-option :key="item.id" v-for="item in couponsList" :label="item.couponName" :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <!-- <el-form-item style="width: 800px" label="商品图片" prop="imgUrl">
-                    <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                </el-form-item> -->
-                <el-form-item v-if="dataForm.prizeType == '20'" label="奖励积分" prop="integral">
-                    <el-input-number style="width: 300px" :precision="0" :step="1"
-                        v-model="dataForm.integral"></el-input-number>
-                </el-form-item>
-                <el-form-item label="奖品权重" prop="prizeWeight">
-                    <el-input-number style="width: 300px" :precision="0" :step="1"
-                        v-model="dataForm.prizeWeight"></el-input-number>
-                </el-form-item>
-                <el-form-item label="奖品数量" prop="prizeActualStock">
-                    <el-input-number style="width: 300px" :precision="0" :step="1"
-                        v-model="dataForm.prizeActualStock"></el-input-number>
-                </el-form-item>
-                <el-form-item label="是否大奖">
-                    <el-radio-group v-model="dataForm.isGrandPrize">
-                        <el-radio :label="'0'">否</el-radio>
-                        <el-radio :label="'1'">是</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item label="状态">
-                    <el-radio-group v-model="dataForm.status">
-                        <el-radio :label="'0'">关闭</el-radio>
-                        <el-radio :label="'1'">开启</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-
-
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-
-<script>
-import { dataList, dataAdd, dataEdit, dataRemove, optionSelect } from "@/api/lotteryManage";
-import { dataTypeList, couponsList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            couponsList: [],
-            dataTypeList: [],
-            isCoupon: false,
-            poolId: '',
-            dictNameList: [],
-            list: [
-            ],
-            delarr: [],
-            multipleSelection: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                poolId: '',
-            },
-            dataForm: {
-                prizeType: undefined,
-                couponId: undefined,
-                prizeName: undefined,
-                imgUrl: undefined,
-                integral: undefined,
-                prizeWeight: undefined,
-                prizeActualStock: undefined,
-                prizeStock: undefined,
-                isGrandPrize: '0',
-                status: '0',
-                images: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                prizeType: [{ required: true, message: "请选择奖品类型", trigger: "blur" }],
-                couponId: [{ required: true, message: "请选择兑换卷", trigger: "blur" }],
-                prizeName: [{ required: true, message: "奖品名称不能为空", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "请上传奖品图片", trigger: "blur" }],
-                prizeWeight: [{ required: true, message: "奖品权重不能为空", trigger: "blur" }],
-                integral: [{ required: true, message: "奖励积分不能为空", trigger: "blur" }],
-                prizeActualStock: [{ required: true, message: "奖品数量不能为空", trigger: "blur" }],
-                prizeStock: [{ required: true, message: "剩余数量不能为空", trigger: "blur" }],
-            },
-            fileImgUrl: this.upLoadUrl,
-        }
-    },
-    created() {
-        this.poolId = this.$route.params.id;
-        this.getOptionSelect();
-        this.getDataTypeList();
-        this.getCouponsList();
-    },
-    methods: {
-        clickPrizeType() {
-            this.dataForm.couponId = undefined;
-            this.dataForm.prizeName = undefined;
-            this.dataForm.imgUrl = undefined;
-            this.dataForm.integral = undefined;
-            this.dataForm.prizeActualStock = undefined;
-            this.dataForm.prizeStock = undefined;
-            this.dataForm.isGrandPrize = '0';
-            this.dataForm.status = '0';
-            this.dataForm.images = [];
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-            }
-            this.dataForm.images = images;
-            this.dataForm.imgUrl = images.join(",");
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-            this.dataForm.images = images;
-            this.dataForm.imgUrl = images.join(",");
-        },
-        getCouponsList() {
-            couponsList({}).then(response => {
-                this.couponsList = response.data.data;
-            }).catch(() => { });
-        },
-        getDataTypeList() {
-            dataTypeList({ dictType: 'draw_prize_type' }).then(response => {
-                this.dataTypeList = response.data.data;
-            }).catch(() => { });
-        },
-        changepoolId(val) {
-            this.poolId = val;
-            this.listQuery.poolId = val;
-            this.getList();
-        },
-        getOptionSelect() {
-            optionSelect().then(response => {
-                this.dictNameList = response.data.data;
-                this.listQuery.poolId = this.poolId;
-                this.getList();
-            }).catch(() => { })
-        },
-        resetForm() {
-            this.dataForm = {
-                prizeType: undefined,
-                couponId: undefined,
-                prizeName: undefined,
-                imgUrl: undefined,
-                integral: undefined,
-                prizeWeight: undefined,
-                prizeActualStock: undefined,
-                prizeStock: undefined,
-                isGrandPrize: '0',
-                status: '0',
-                images: [],
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-            this.dataForm.poolId = this.poolId;
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    dataAdd(this.dataForm)
-                        .then(() => {
-                            this.dialogFormVisible = false;
-                            this.$notify({
-                                title: "成功",
-                                message: "创建成功",
-                                type: "success",
-                                duration: 2000,
-                            });
-                            this.getList()
-                        })
-                }
-            });
-        },
-        getList() {
-            this.listLoading = true
-            dataList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {
-                this.list = []
-                this.total = 0
-                this.listLoading = false
-            })
-        },
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    dataEdit(this.dataForm).then(() => {
-                        this.dialogFormVisible = false
-                        this.$notify({
-                            title: '成功',
-                            message: '更新成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                        this.getList()
-                    })
-
-                }
-            })
-        },
-
-        handleDelete(row) {
-
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                dataRemove({ prizeIds: row.id }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    const index = this.list.indexOf(row)
-                    this.list.splice(index, 1)
-                })
-            }).catch(() => {
-
-            })
-
-        },
-        delAll() {
-            this.$confirm("确认删除吗?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    const length = this.multipleSelection.length;
-
-                    if (length > 0) {
-                        for (let i = 0; i < length; i++) {
-                            this.delarr.push(this.multipleSelection[i].id);
-                        }
-                        const ids = this.delarr.join(",");
-                        dataRemove({ prizeIds: ids })
-                            .then(() => {
-                                this.$notify({
-                                    title: "成功",
-                                    message: "删除成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                    } else {
-                        this.$notify({
-                            title: "警告提示",
-                            message: "请选择要删除的信息!",
-                            type: "warning",
-                        });
-                    }
-                })
-                .catch(() => { });
-        },
-        handleSelectionChange(val) {
-            this.multipleSelection = val;
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>

+ 0 - 347
src/views/lotteryManage/lotteryList.vue

@@ -1,347 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入奖池名称" v-model="listQuery.title"></el-input>
-      <el-select v-model="listQuery.status" clearable placeholder="状态" class="filter-item" style="width: 200px">
-          <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-          </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      <!-- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button> -->
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table
-      size="small"
-      :data="list"
-      @selection-change="handleSelectionChange"
-      v-loading="listLoading"
-      element-loading-text="正在查询中。。。"
-      border
-      fit
-      highlight-current-row
-    >
-      <!-- <el-table-column type="selection" width="55px"> </el-table-column> -->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="奖池名称">
-        <template slot-scope="scope">
-              <router-link :to="{name: 'lotteryDataList', params: { id: scope.row.id }}">
-                  <div style="color: #337ab7;cursor: pointer;">{{ scope.row.title }}</div>
-              </router-link>
-          </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="状态">
-            <template slot-scope="scope">
-                <span v-if="scope.row.status === '1'">开启</span>
-                <span v-else>关闭</span>
-            </template>
-            
-        </el-table-column>
-      <el-table-column align="center" min-width="200px" label="备注" prop="content">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            type="primary"
-            size="small"
-            @click="handleUpdate(scope.row, false)"
-            >编辑</el-button
-          >
-
-          <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog
-    :close-on-click-modal="false"
-      :title="textMap[dialogStatus]"
-      :visible.sync="dialogFormVisible"
-      width="40%"
-    >
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px" style='width: 700px; margin-left:50px;'>
-          <el-form-item  label="奖池名称" prop="title">
-            <el-input style="width: 300px" v-model="dataForm.title"></el-input>
-          </el-form-item>
-          <el-form-item  label="状态">
-              <el-radio-group v-model="dataForm.status">
-                  <el-radio :label="'0'">关闭</el-radio>
-                  <el-radio :label="'1'">开启</el-radio>
-              </el-radio-group>
-          </el-form-item>
-          <el-form-item  label="备注">
-            <el-input type="textarea" :rows="2" style="width: 300px" v-model="dataForm.content"></el-input>
-          </el-form-item>
-          
-          
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import { list, createItem, updateItem, deleteitem } from "@/api/lotteryManage";
-  import waves from "@/directive/waves"; // 水波纹指令
-  import Tinymce from '@/components/Tinymce'
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      typeList: [
-      {
-        type: "1",
-        name: "开启",
-      },
-      {
-        type: "0",
-        name: "关闭",
-      },
-    ],
-      list: [
-        
-      ],
-      delarr: [],
-      multipleSelection: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        title: '',
-        status: '',
-      },
-      dataForm: {
-        title: undefined,
-        status: '1',
-        content: undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      imageUrl: undefined,
-      rules: {
-        title: [{ required: true, message: "字典名称不能为空", trigger: "blur" }],
-      },
-    }
-  },
-  created() {
-      this.getList();
-  },
-  methods: {
-      handleDictData(row){
-
-      },
-    resetForm() {
-      this.dataForm = {
-          title: undefined,
-          status: '1',
-          content: undefined,
-      };
-    },
-    handleCreate() {
-      this.resetForm();
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          createItem(this.dataForm)
-                .then(() => {
-                  this.getList();
-                  this.dialogFormVisible = false;
-
-                  this.$notify({
-                    title: "成功",
-                    message: "创建成功",
-                    type: "success",
-                    duration: 2000,
-                  });
-                  this.getList()
-                })
-        }
-      });
-    },
-    getList() {
-      this.listLoading = true
-      list(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateItem(this.dataForm).then(() => {
-              this.dialogFormVisible = false
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.getList()
-            })
-          
-        }
-      })
-    },
-
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteitem({poolId:row.id}).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          this.getList()
-        })
-      }).catch(() => {
-
-      })
-
-    },
-    delAll() {
-          this.$confirm("确认删除吗?", "提示", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning",
-          })
-              .then(() => {
-                  const length = this.multipleSelection.length;
-
-                  if (length > 0) {
-                      for (let i = 0; i < length; i++) {
-                          this.delarr.push(this.multipleSelection[i].dictId);
-                      }
-                      const dictIds = this.delarr.join(",");
-                      deleteitem({ dictIds: dictIds })
-                          .then(() => {
-                              this.$notify({
-                                  title: "成功",
-                                  message: "删除成功",
-                                  type: "success",
-                                  duration: 2000,
-                              });
-                              this.getList();
-                          })
-                          .catch(() => { });
-                  } else {
-                      this.$notify({
-                          title: "警告提示",
-                          message: "请选择要删除的信息!",
-                          type: "warning",
-                      });
-                  }
-              })
-              .catch(() => { });
-      },
-      handleSelectionChange(val) {
-          this.multipleSelection = val;
-      },
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 148
src/views/lotteryManage/lotteryLogsList.vue

@@ -1,148 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工"
-                v-model="listQuery.userName"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动名称"
-                v-model="listQuery.actTitle"></el-input>
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary"  :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="180px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动名称" prop="actTitle">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="消耗积分" prop="expenseIntegral">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="奖号" prop="couponNumber">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="日期" prop="createTime">
-            </el-table-column>
-           
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { logsList } from "@/api/lotteryManage";
-import waves from "@/directive/waves"; // 水波纹指令
-
-export default {
-    directives: { waves },
-    data() {
-        return {
-            list: [],
-            total: 0,
-            listLoading: false,
-            downloadLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                userName: '',
-                actTitle:'',
-                createTime: '',
-            },
-        }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-        handleDownload() {
-            window.location.href = process.env.BASE_API + '/mall-prize/export/log?userName=' + this.listQuery.userName + '&actTitle=' + this.listQuery.actTitle + '&createTime=' + this.listQuery.createTime;
-        },
-        getList() {
-            this.listLoading = true
-            logsList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 416
src/views/medalManage/medalDataList.vue

@@ -1,416 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="勋章级别"
-                v-model="listQuery.levelName"></el-input>
-            <el-select v-model="listQuery.status" clearable placeholder="状态" style="top: -4px;width: 200px;">
-                <el-option :key="item.dictValue" v-for="item in statusList" :label="item.dictLabel" :value="item.dictValue">
-                </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-            <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" @selection-change="handleSelectionChange"
-            element-loading-text="正在查询中。。。" border fit highlight-current-row>
-            <el-table-column type="selection" width="55px"> </el-table-column>
-            <el-table-column align="center" min-width="60px" label="勋章级别" prop="levelName">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="级别值" prop="levelPoint">
-            </el-table-column>
-            <el-table-column align="center" min-width="60px" label="图片" prop="imgUrl">
-                <template slot-scope="props">
-                    <img v-if="props.row.imgUrl" style="width: 50px; height: 50px;" :src="props.row.imgUrl">
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="状态" prop="statusName">
-            </el-table-column>
-       
-        <el-table-column align="center" min-width="100px" label="创建时间" prop="createTime">
-        </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 添加或修改对话框 -->
-        <el-dialog
-        :close-on-click-modal="false"
-        :title="textMap[dialogStatus]"
-        :visible.sync="dialogFormVisible"
-        width="40%"
-      >
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px" style='width: 700px; margin-left:50px;'>
-            <el-form-item  label="勋章类型" prop="medalType">
-              <el-input disabled style="width: 300px" v-model="dataForm.medalType"></el-input>
-            </el-form-item>
-            <el-form-item label="勋章级别" prop="levelName">
-                    <el-input style="width: 300px" v-model="dataForm.levelName"></el-input>
-                </el-form-item>
-                <el-form-item label="级别值" prop="levelPoint">
-                    <el-input-number :precision="0" :step="1" v-model="dataForm.levelPoint"></el-input-number>
-                </el-form-item>
-            <el-form-item style="width: 500px" label="商品图片" prop="imgUrl">
-                    <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                </el-form-item>
-              <el-form-item label="状态" prop="status">
-                    <el-radio-group v-model="dataForm.status">
-                        <el-radio v-for="item in statusList" :key="item.dictValue" :label="item.dictValue">{{ item.dictLabel
-                        }}</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="dialogFormVisible = false">取消</el-button>
-          <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-          <el-button v-else type="primary" @click="updateData">确定</el-button>
-        </div>
-      </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { dataList, dataAdd, dataEdit, dataRemove } from "@/api/medalList";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            levelList: [],
-            statusList: [],
-            list: [
-            ],
-            delarr: [],
-            multipleSelection: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                medalType:this.$route.params.id,
-                levelName: '',
-                status: '',
-            },
-            dataForm: {
-                medalType: undefined,
-                levelName: undefined,
-                levelPoint: undefined,
-                imgUrl: undefined,
-                status: undefined,
-                images: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            imageUrl: undefined,
-            rules: {
-                medalType: [{ required: true, message: "勋章类型不能为空", trigger: "blur" }],
-                levelName: [{ required: true, message: "勋章级别不能为空", trigger: "blur" }],
-                levelPoint: [{ required: true, message: "级别值型不能为空", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "请上传图片", trigger: "blur" }],
-                status: [{ required: true, message: "请选择勋章状态", trigger: "blur" }],
-            },
-            fileImgUrl: this.upLoadUrl,
-        }
-    },
-    created() {
-        this.getLevelList();
-        this.getStatusList();
-        this.getList();
-    },
-    methods: {
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            if(fileList.length>0){
-                let images = [];
-                for (let i in fileList) {
-                    let response = fileList[i].response;
-                    let url = response.data.url;
-                    images.push(url);
-                    this.dataForm.imgUrl = images.join(",");
-                }
-            }else{
-                this.dataForm.imgUrl = '';
-            }
-            
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-
-            this.dataForm.imgUrl = images.join(",");
-        },
-        getStatusList() {
-            dataTypeList({ dictType: 'medal_status_option_select' }).then(response => {
-                this.statusList = response.data.data;
-            }).catch(() => { });
-        },
-        getLevelList() {
-            dataTypeList({ dictType: 'medal_level' }).then(response => {
-                this.levelList = response.data.data;
-            }).catch(() => { });
-        },
-        resetForm() {
-            this.dataForm = {
-                medalType: undefined,
-                levelName: undefined,
-                levelPoint: undefined,
-                imgUrl: undefined,
-                status: undefined,
-                images: [],
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-            this.dataForm.medalType = this.$route.params.id;
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    dataAdd(this.dataForm)
-                        .then(() => {
-                            this.getList();
-                            this.dialogFormVisible = false;
-
-                            this.$notify({
-                                title: "成功",
-                                message: "创建成功",
-                                type: "success",
-                                duration: 2000,
-                            });
-                            this.getList()
-                        })
-                }
-            });
-        },
-        getList() {
-            this.listLoading = true
-            dataList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {
-                this.list = []
-                this.total = 0
-                this.listLoading = false
-            })
-        },
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    dataEdit(this.dataForm).then(() => {
-                        this.dialogFormVisible = false
-                        this.$notify({
-                            title: '成功',
-                            message: '更新成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                        this.getList()
-                    })
-
-                }
-            })
-        },
-
-        handleDelete(row) {
-
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                dataRemove({ ids:row.id}).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    const index = this.list.indexOf(row)
-                    this.list.splice(index, 1)
-                })
-            }).catch(() => {
-
-            })
-
-        },
-        delAll() {
-            this.$confirm("确认删除吗?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    const length = this.multipleSelection.length;
-
-                    if (length > 0) {
-                        for (let i = 0; i < length; i++) {
-                            this.delarr.push(this.multipleSelection[i].id);
-                        }
-                        const  dictCodes = this.delarr.join(",");
-                        dataRemove({  ids:  dictCodes })
-                            .then(() => {
-                                this.$notify({
-                                    title: "成功",
-                                    message: "删除成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                    } else {
-                        this.$notify({
-                            title: "警告提示",
-                            message: "请选择要删除的信息!",
-                            type: "warning",
-                        });
-                    }
-                })
-                .catch(() => { });
-        },
-        handleSelectionChange(val) {
-            this.multipleSelection = val;
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 382
src/views/medalManage/medalList.vue

@@ -1,382 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView" v-loading="loading" element-loading-text="数据生成中">
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px" placeholder="勋章名称"
-                v-model="listQuery.name"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px" placeholder="勋章类型"
-                v-model="listQuery.type"></el-input>
-            <el-select v-model="listQuery.status" clearable placeholder="状态" style="top: -4px; width: 200px">
-                <el-option :key="item.dictValue" v-for="item in statusList" :label="item.dictLabel" :value="item.dictValue">
-                </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-            <el-button class="filter-item" type="primary" icon="el-icon-refresh" @click="handleRefresh">立即生成</el-button>
-            <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
-            
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" @selection-change="handleSelectionChange" v-loading="listLoading"
-            element-loading-text="正在查询中。。。" border fit highlight-current-row>
-            <el-table-column type="selection" width="55px"> </el-table-column>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="勋章名称" prop="name">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="勋章类型" prop="type">
-                <template slot-scope="scope">
-                    <router-link :to="{ name: 'medalDataList', params: { id: scope.row.type } }">
-                        <div style="color: #337ab7; cursor: pointer">
-                            {{ scope.row.type }}
-                        </div>
-                    </router-link>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="状态" prop="statusName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="排序" prop="sort">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
-            width="40%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px"
-                style="width: 700px; margin-left: 50px">
-                <el-form-item label="勋章名称" prop="name">
-                    <el-input v-model="dataForm.name" style="width: 330px"></el-input>
-                </el-form-item>
-                <el-form-item label="勋章类型" prop="type">
-                    <el-input v-model="dataForm.type" style="width: 330px"></el-input>
-                </el-form-item>
-                <el-form-item label="状态" prop="status">
-                    <el-radio-group v-model="dataForm.status">
-                        <el-radio v-for="item in statusList" :key="item.dictValue" :label="item.dictValue">{{ item.dictLabel
-                        }}</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item label="排序" prop="sort">
-                    <el-input-number :precision="0" :step="1" v-model="dataForm.sort"></el-input-number>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-    </div>
-</template>
-  
-<style>
-.avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.avatar-uploader .el-upload:hover {
-    border-color: #409eff;
-}
-
-.avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 80px;
-    height: 80px;
-    line-height: 80px;
-    text-align: center;
-}
-
-.avatar {
-    width: 80px;
-    height: 80px;
-    display: block;
-}
-
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import {
-    list,
-    updateItem,
-    createItem,
-    deleteitem,
-    refresh,
-} from "@/api/medalList";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            loading: false,
-            rules: {
-                name: [
-                    { required: true, message: "勋章名称不能为空", trigger: "blur" },
-                ],
-                type: [
-                    { required: true, message: "勋章名称不能为空", trigger: "blur" },
-                ],
-                status: [
-                    { required: true, message: "请选择勋章状态", trigger: "blur" },
-                ],
-                sort: [{ required: true, message: "排序不能为空", trigger: "blur" }],
-            },
-            dialogStatus: "",
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            dialogFormVisible: false,
-            dataForm: {
-                name: "",
-                type: "",
-                status: "",
-                sort: "",
-            },
-            statusList: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                name: "",
-                type: "",
-                status: "",
-            },
-        };
-    },
-    created() {
-        this.getStatusList();
-        this.getList();
-    },
-    methods: {
-        handleRefresh() {
-            this.loading = true;
-            refresh().then((response) => {
-                this.$notify({
-                    title: "成功",
-                    message: "操作成功",
-                    type: "success",
-                    duration: 2000,
-                });
-                this.loading = false;
-            });
-        },
-        resetForm() {
-            this.dataForm = {
-                name: "",
-                type: "",
-                status: "",
-                sort: "",
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    createItem(this.dataForm).then(() => {
-                        this.getList();
-                        this.dialogFormVisible = false;
-
-                        this.$notify({
-                            title: "成功",
-                            message: "创建成功",
-                            type: "success",
-                            duration: 2000,
-                        });
-                        this.getList();
-                    });
-                }
-            });
-        },
-        getStatusList() {
-            dataTypeList({ dictType: "medal_status_option_select" })
-                .then((response) => {
-                    this.statusList = response.data.data;
-                })
-                .catch(() => { });
-        },
-        getList() {
-            this.listLoading = true;
-            list(this.listQuery)
-                .then((response) => {
-                    this.list = response.data.data.items;
-                    this.total = response.data.data.total;
-                    this.listLoading = false;
-                })
-                .catch(() => { });
-        },
-        handleFilter() {
-            this.listQuery.page = 1;
-            this.getList();
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val;
-            this.getList();
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val;
-            this.getList();
-        },
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            this.dialogStatus = "update";
-            this.dialogFormVisible = true;
-            this.$nextTick(() => {
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-
-        updateData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    updateItem(this.dataForm).then(() => {
-                        this.dialogFormVisible = false;
-                        this.$notify({
-                            title: "成功",
-                            message: "更新成功",
-                            type: "success",
-                            duration: 2000,
-                        });
-                        this.getList();
-                    });
-                }
-            });
-        },
-
-        handleDelete(row) {
-            this.$confirm("确认删除吗?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    deleteitem({ ids: row.id }).then((response) => {
-                        this.$notify({
-                            title: "成功",
-                            message: "删除成功",
-                            type: "success",
-                            duration: 2000,
-                        });
-                        this.getList();
-                    });
-                })
-                .catch(() => { });
-        },
-        delAll() {
-            this.$confirm("确认删除吗?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    const length = this.multipleSelection.length;
-
-                    if (length > 0) {
-                        for (let i = 0; i < length; i++) {
-                            this.delarr.push(this.multipleSelection[i].id);
-                        }
-                        const dictIds = this.delarr.join(",");
-                        deleteitem({ ids: dictIds })
-                            .then(() => {
-                                this.$notify({
-                                    title: "成功",
-                                    message: "删除成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                    } else {
-                        this.$notify({
-                            title: "警告提示",
-                            message: "请选择要删除的信息!",
-                            type: "warning",
-                        });
-                    }
-                })
-                .catch(() => { });
-        },
-        handleSelectionChange(val) {
-            this.multipleSelection = val;
-        },
-    },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-
-.exchangeView .el-dialog__body {
-    padding-top: 0px;
-}
-</style>
-  

+ 0 - 390
src/views/noticeManage/noticeList.vue

@@ -1,390 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="标题"
-                v-model="listQuery.title"></el-input>
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="标题" prop="title">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="简介" prop="subTitle">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="创建人" prop="sender">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="定时时间" prop="jobTime">
-            </el-table-column>
-            
-            <el-table-column align="center" min-width="80px" label="状态" prop="statusName">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeState(scope.row.msgId, 1)">开启</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeState(scope.row.msgId, 0)">关闭</el-button>
-                    <el-button type="danger" size="mini" @click="handleDelete(scope.row.msgId, -1)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:700px;margin-left:50px;'>
-                <el-form-item label="标题" prop="title">
-                    <el-input v-model="dataForm.title" style="width: 350px"></el-input>
-                </el-form-item>
-                <el-form-item label="简介">
-                    <el-input v-model="dataForm.subTitle" style="width: 350px"></el-input>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="通知图片">
-                    <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images" :limit="1"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                    </el-upload>
-                        
-                </el-form-item>
-                <el-form-item label="参与人">
-                    <el-select v-model="dataForm.recipients" multiple filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.loginId" v-for="item in recipientsList" :label="item.deptName+'_'+item.userName+'_'+item.employeNo" :value="item.loginId">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="是否定时" prop="timeFlag">
-                    <el-radio-group v-model="dataForm.timeFlag">
-                        <el-radio :label="1">否</el-radio>
-                        <el-radio :label="0">是</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item v-if="dataForm.timeFlag==0" label="定时时间" prop="jobTime">
-                    <el-date-picker
-                    @change="changeJobTime"
-                    style="width: 350px"
-                    v-model="dataForm.jobTime"
-                    format="yyyy-MM-dd HH:mm:ss"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    type="datetime"
-                    placeholder="选择定时时间">
-                    </el-date-picker>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="内容" prop="content">
-                    <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { createItem, updateItem, list, state } from "@/api/noticeList";
-import { allUserList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            fileImgUrl: this.upLoadUrl,
-            recipientsList: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                title: '',
-                createTime: '',
-            },
-            dataForm: {
-                title: '',
-                subTitle:'',
-                content: '',
-                imgUrl: '',
-                images: [],
-                recipients: [],
-                timeFlag:1,
-                jobTime:''
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                title: [{ required: true, message: "请填写标题名称", trigger: "blur" }],
-                content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
-                timeFlag: [{ required: true, message: "请选择是否定时", trigger: "blur" }],
-                jobTime: [{ required: true, message: "请选择定时时间", trigger: "blur" }],
-            },
-        }
-    },
-    created() {
-        this.getAllUserList(); 
-        this.getList();
-    },
-    methods: {
-        changeJobTime(val){
-            console.log(val);
-        },
-        getAllUserList() {
-            allUserList().then(response => {
-                this.recipientsList = response.data.data;
-            }).catch(() => {});
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-                this.dataForm.imgUrl = images.join(",");
-            }
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-
-            this.dataForm.imgUrl = images.join(",");
-        },
-        resetForm() {
-            this.dataForm = {
-                title: '',
-                subTitle:'',
-                content: '',
-                imgUrl: '',
-                recipients: [],
-                images: [],
-                timeFlag:1,
-                jobTime:''
-            };
-        },
-        handleCreate() {
-
-            this.resetForm();
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent("");
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    console.log(this.dataForm);
-                    createItem(this.dataForm)
-                            .then((response) => {
-                                this.getList();
-                                this.dialogFormVisible = false;
-                                this.$notify({
-                                    title: "成功",
-                                    message: "创建成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                }
-            });
-        },
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            let content = this.dataForm.content;
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent(content);
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    updateItem(this.dataForm).then(() => {
-                            this.dialogFormVisible = false
-                            this.$notify({
-                                title: '成功',
-                                message: '更新成功',
-                                type: 'success',
-                                duration: 2000
-                            })
-                            this.getList()
-                        })
-
-                }
-
-            })
-        },
-        changeState(msgId, index) {
-            state({ msgId: msgId, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(msgId, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                state({ msgId: msgId, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {})
-
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 619
src/views/organize/organizeInterest.vue

@@ -1,619 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入管理员名称" v-model="listQuery.orgName">
-      </el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <!--<el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>-->
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-      <el-button class="filter-item" type="warning" icon="el-icon-delete" v-waves @click="delAll">批量删除
-      </el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" @selection-change="handleSelectionChange" border fit
-              highlight-current-row>
-      <el-table-column type="selection" width="55px"> </el-table-column>
-      <!--<el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="名称" prop="organizeName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="创建人" prop="userName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="创建日期" prop="createDate">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="是否解散" >
-        <template slot-scope="scope">
-          <span>{{scope.row.isDelete?"未解散":"已解散"}}</span>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="组织说明" prop="organizeMemo">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="优先级" prop="weight">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="300" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-dropdown v-if="scope.row.authStatus == 0" size="mini" trigger="click" @command="handleCommand">
-            <el-button size="mini" type="primary">
-              审核<i class="el-icon-arrow-down el-icon--right"></i>
-            </el-button>
-            <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item :command="{command: 1, id: scope.row.id}">通过</el-dropdown-item>
-              <el-dropdown-item :command="{command: 2, id: scope.row.id}">拒绝</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-          <el-tag v-else-if="scope.row.authStatus == 1" type="success">通过</el-tag>
-          <el-tag v-else-if="scope.row.authStatus == 2" type="danger">被拒</el-tag>
-          <el-button type="primary" size="mini" @click="handleUpdate(scope.row, false)">编辑</el-button>
-          <el-button type="primary" size="mini" @click="handleOrganizeUser(scope.row)">查看</el-button>
-          <el-button type="danger" size="mini"  @click="handleOrgDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="名称" prop="organizeName">
-          <el-input v-model="dataForm.organizeName"></el-input>
-        </el-form-item>
-        <el-form-item label="组织说明" prop="organizeMemo">
-          <el-input v-model="dataForm.organizeMemo"></el-input>
-        </el-form-item>
-        <el-tooltip content="优先级越大,位置越靠前!" placement="top-start">
-          <el-form-item label="优先级" prop="weight">
-            <el-input-number :precision="0" :step="1" v-model="dataForm.weight"></el-input-number>
-          </el-form-item>
-        </el-tooltip>
-        <el-form-item label="封面图片" prop="avatar">
-          <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-          <el-upload
-            class="avatar-uploader"
-            action="#"
-            :http-request="uploadUrl"
-            :show-file-list="false"
-            :data="typeDate"
-            :before-upload="beforeAvatarUpload">
-            <img v-if="imageUrl" :src="imageUrl" class="avatar">
-            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-          </el-upload>
-          </el-tooltip>
-        </el-form-item>
-
-
-        <el-form-item v-if="dialogStatus=='update'" label="是否解散">
-
-          <el-select v-model="dataForm.isDelete" placeholder="请选择">
-            <el-option :key="false" label="解散" :value="false">
-            </el-option>
-            <el-option :key="true" label="未解散" :value="true">
-            </el-option>
-          </el-select>
-
-        </el-form-item>
-
-
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-
-
-    <el-dialog title="查看" :visible.sync="dialogUserVisible" width="85%">
-      <el-table size="small" :data="userlist" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-        <el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="用户名称" prop="userName">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否审核" prop="isNormal">
-          <template slot-scope="scope">
-            <span>{{scope.row.isNormal == '1'?"审核":"未审核"}}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="用户类型" prop="priType">
-          <template slot-scope="scope">
-            <span v-if="scope.row.priType == 1">群主</span>
-            <span v-if="scope.row.priType == 2">管理员</span>
-            <span v-if="scope.row.priType == 3">普通成员</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="入群时间" prop="createDate">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="申请说明" prop="userMemo">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否退群" prop="isDelete">
-          <template slot-scope="scope">
-            <span>{{scope.row.isDelete?"未退群":"已退群"}}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="退群原因" prop="deleteMemo">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否限制发帖" prop="isForbidden">
-          <template slot-scope="scope">
-            <span>{{scope.row.isForbidden?"限制":"未限制"}}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <!--<el-button v-if="scope.row.isNormal == '1'" type="primary" size="small" @click="updateNormal(scope.row)">审核</el-button>-->
-            <el-button v-if="scope.row.isForbidden" type="primary" size="small" @click="updateForbidden(scope.row,false)">取消限制发帖</el-button>
-            <el-button v-if="scope.row.isForbidden == false" type="primary" size="small" @click="updateForbidden(scope.row,true)">限制发帖</el-button>
-            <el-button v-if="scope.row.isNormal == '1' && scope.row.isDelete" type="danger" size="small"  @click="updateDelete(scope.row)">踢人</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleUserSizeChange" @current-change="handleUserCurrentChange" :current-page="userListQuery.page"
-                       :page-sizes="[10,20,30,50]" :page-size="userListQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 178px;
-    height: 178px;
-    display: block;
-  }
-</style>
-
-
-<script>
-  import { selectOrg,createOrg,updateOrg,auditOrganizeInterest, updateOrgAuth
-    ,deleteOrgList,deleteOrg,sendWXMsg} from
-  "@/api/organize"
-  import { selectOrganizeUserByOrgId ,updateOrganizeUserById} from "@/api/organizeuser"
-  import { createStorage } from '@/api/storage'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'Admin',
-    directives: {
-      waves
-    },
-    data() {
-      var validatePass = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请输入密码'))
-        } else {
-          if (this.dataForm.checkPassword !== '') {
-            this.$refs.dataForm.validateField('checkPassword')
-          }
-          callback()
-        }
-      }
-      var validatePass2 = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请再次输入密码'))
-        } else if (value !== this.dataForm.password) {
-          callback(new Error('两次输入密码不一致!'))
-        } else {
-          callback()
-        }
-      }
-      return {
-        list: null,
-        userlist: null,
-        role: undefined,
-        total: null,
-        listLoading: true,
-        listQuery: {
-          page: 1,
-          limit: 20,
-          orgName: undefined,
-          sort: '+id'
-        },
-        userListQuery: {
-          page: 1,
-          limit: 20,
-          fkOrganizeId: undefined,
-          sort: '+id'
-        },
-        dataForm: {
-          id: undefined,
-          organizeName: undefined,
-          organizeMemo: undefined,
-          isDelete: undefined,
-          //coverImage: undefined,
-          url: undefined,
-          authStatus:undefined
-        },
-        typeDate: {
-          imgBelongs:"3"
-        },
-        dialogFormVisible: false,
-        dialogUserVisible: false,
-        dialogStatus: '',
-        imageUrl:'',
-        textMap: {
-          update: '编辑',
-          create: '创建'
-        },
-        rules: {
-          username: [{ required: true, message: '管理员名称不能为空', trigger: 'blur' }],
-          password: [
-            { required: true, message: '密码不能为空', trigger: 'blur' },
-            { validator: validatePass, trigger: 'blur' }
-          ],
-          checkPassword: [
-            { required: true, message: '密码不能为空', trigger: 'blur' },
-            { validator: validatePass2, trigger: 'blur' }
-          ]
-        },
-        downloadLoading: false,
-        dialogFlag: false,
-        delarr:[],
-        multipleSelection:[]
-      }
-    },
-    created() {
-      this.getList()
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        this.listQuery.orgType = 3
-        selectOrg(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      handleUserSizeChange(val) {
-        this.userListQuery.limit = val
-        this.getUserList()
-      },
-      handleUserCurrentChange(val) {
-        this.userListQuery.page = val
-        this.getUserList()
-      },
-
-      handleCommand(obj) {
-        // command == 1 表示通过;command == 2 表示拒绝
-        let alumniOrganize = {id: obj.id, authStatus: obj.command}
-
-        updateOrgAuth(alumniOrganize).then(response=>{
-          for(const v of this.list) {
-            if(v.id === obj.id ) {
-              v.authStatus = obj.command
-              break
-            }
-          }
-          sendWXMsg({"id":obj.id}).then(()=>{
-
-          })
-        })
-      },
-
-      resetForm() {
-        this.dataForm = {
-          id: undefined,
-          organizeName: undefined,
-          organizeMemo: undefined,
-          isDelete: undefined
-        }
-        this.role = []
-      },
-      getUserList(){
-        this.listLoading = true
-
-        selectOrganizeUserByOrgId(this.userListQuery).then(response => {
-          this.userlist = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.userlist = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      uploadAvatar(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.avatar = res.data.data.url
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      handleCreate() {
-        this.resetForm()
-        this.dialogFlag = false
-        this.dialogStatus = 'create'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-      createData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.dataForm.organizeType = '3';
-            createOrg(this.dataForm).then(response => {
-              this.list.unshift(response.data.data)
-              this.dialogFormVisible = false
-              this.getList()
-              this.$notify({
-                title: '成功',
-                message: '创建成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      handleUpdate(row, type) {
-        this.dialogFlag = type
-        this.imageUrl = row.url
-        this.dataForm = Object.assign({}, {"id":row.id,"organizeName":row.organizeName,"organizeMemo":row.organizeMemo,"isDelete":row.isDelete,"url":row.url})
-        this.dialogStatus = 'update'
-        this.dialogFormVisible = true
-        if (!type) {
-          this.$nextTick(() => {
-            this.$refs['dataForm'].clearValidate()
-          })
-        } else {
-          this.getUserRoles()
-        }
-      },
-      handleOrganizeUser(row){
-        this.dialogUserVisible = true
-        this.userListQuery.fkOrganizeId = row.id
-        this.getUserList()
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            updateOrg(this.dataForm).then(() => {
-              this.dialogFormVisible = false
-              this.getList()
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      updateOrgNormal(row){
-        auditOrganizeInterest({"id":row.id,"isDelete":true}).then(() => {
-          this.dialogFormVisible = false
-          this.getList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      updateNormal(row){
-        updateOrganizeUserById({"id":row.id,"isNormal":"1","isDelete":true}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      updateDelete(row){
-        updateOrganizeUserById({"id":row.id,"isDelete":false}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      updateForbidden(row,siF){
-        updateOrganizeUserById({"id":row.id,"isForbidden":siF}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      handleDelete(row) {
-        deleteAdmin(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      },
-      handleDownload() {
-        this.downloadLoading = true
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['ID', '名称', '创建人','创建日期','组织说明']
-          const filterVal = ['id', 'organizeName', 'userName','createDate','organizeMemo']
-          excel.export_json_to_excel2(tHeader, this.list, filterVal, '兴趣小组信息')
-          this.downloadLoading = false
-        })
-      },
-      getUserRoles() {
-        selectAdminRole({ userId: this.dataForm.id })
-          .then(response => {
-            var role = response.data.data
-            if (role) {
-              role = role.map( function(val) {
-                return val - 0
-              })
-            } else {
-              role = []
-            }
-            this.role = role
-          })
-      },
-      uploadUrl(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.url = res.data.data.url
-          this.imageUrl = res.data.data.url;
-          //this.dataForm.coverImage = res.data.data.id;
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      beforeAvatarUpload(file){
-        const isJPG = file.type === 'image/jpeg';
-        const isLt2M = file.size / 1024 / 1024 < 2;
-
-        if (!isJPG) {
-          this.$message.error('上传头像图片只能是 JPG 格式!');
-        }
-        if (!isLt2M) {
-          this.$message.error('上传头像图片大小不能超过 2MB!');
-        }
-        return isJPG && isLt2M;
-      },
-      handleOrgDelete(row) {
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteOrg(row).then(response =>{
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-
-        })
-      },
-      delAll(){
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          const length = this.multipleSelection.length;
-
-          if (length > 0) {
-            for (let i = 0; i < length; i++) {
-              this.delarr.push(this.multipleSelection[i].id)
-            }
-            const orgIds = this.delarr.join(",");
-            deleteOrgList({orgIds: orgIds}).then(() => {
-              this.$notify({
-                title: '成功',
-                message: '删除成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.getList();
-            }).then(() => {
-
-            })
-          } else {
-            this.$notify({
-              title: '警告提示',
-              message: '请选择要删除的信息!',
-              type: 'warning'
-            });
-          }
-        }).then(() => {
-
-        })
-      },
-      handleSelectionChange(val){
-        this.multipleSelection = val;
-      },
-    }
-  }
-</script>

+ 0 - 646
src/views/organize/organizePlace.vue

@@ -1,646 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入管理员名称" v-model="listQuery.orgName">
-      </el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-      <el-button class="filter-item" type="warning" icon="el-icon-delete" v-waves @click="delAll">批量删除
-      </el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" @selection-change="handleSelectionChange" border fit
-              highlight-current-row>
-      <el-table-column type="selection" width="55px"> </el-table-column>
-      <!--<el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="名称" prop="organizeName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="创建人" prop="userName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="创建日期" prop="createDate">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="是否解散" >
-        <template slot-scope="scope">
-          <span>{{scope.row.isDelete?"未解散":"已解散"}}</span>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="组织说明" prop="organizeMemo">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="优先级" prop="weight">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="mini" @click="handleUpdate(scope.row, false)">编辑</el-button>
-          <el-button type="primary" size="mini" @click="handleOrganizeUser(scope.row)">查看</el-button>
-          <el-button type="danger" size="mini"  @click="handleOrgDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-          <el-form-item label="名称" prop="organizeName">
-            <el-input v-model="dataForm.organizeName"></el-input>
-          </el-form-item>
-          <el-form-item label="组织说明" prop="organizeMemo">
-            <el-input v-model="dataForm.organizeMemo"></el-input>
-          </el-form-item>
-          <el-tooltip content="优先级越大,位置越靠前!" placement="top-start">
-            <el-form-item label="优先级" prop="weight">
-              <el-input-number  :precision="0" :step="1" v-model="dataForm.weight"></el-input-number>
-            </el-form-item>
-          </el-tooltip>
-          <el-form-item label="封面图片" prop="avatar">
-            <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-            <el-upload
-              class="avatar-uploader"
-              action="#"
-              :http-request="uploadUrl"
-              :show-file-list="false"
-              :data="typeDate"
-              :before-upload="beforeAvatarUpload">
-              <img v-if="imageUrl" :src="imageUrl" class="avatar">
-              <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-            </el-upload>
-            </el-tooltip>
-          </el-form-item>
-
-          <!--<el-form-item v-if="dialogStatus=='update'" label="选择群主">-->
-
-            <!--<el-select v-model="dataForm.adminUserId" placeholder="请选择">-->
-              <!--<el-option-->
-                <!--v-for="item in optionsOrgUser"-->
-                <!--:key="item.id"-->
-                <!--:label="item.userName"-->
-                <!--:value="item.id">-->
-              <!--</el-option>-->
-            <!--</el-select>-->
-
-          <!--</el-form-item>-->
-
-
-          <el-form-item label="选择群主">
-            <el-select
-              v-model="dataForm.adminUserId"
-              :filterable="selectfilterable"
-              :remote="selectremote"
-              placeholder="请输入关键词"
-              :remote-method="remoteMethod"
-              :loading="selectLoading">
-              <el-option
-                v-for="item in optionsOrgUser"
-                :key="item.id"
-                :label="item.userName"
-                :value="item.id">
-              </el-option>
-            </el-select>
-          </el-form-item>
-
-
-          <el-form-item label="是否解散">
-            <el-select v-model="dataForm.isDelete" placeholder="请选择">
-              <el-option :key="false" label="解散" :value="false">
-              </el-option>
-              <el-option :key="true" label="未解散" :value="true">
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-
-
-    <el-dialog title="查看" :visible.sync="dialogUserVisible" width="85%">
-      <el-table size="small" :data="userlist" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-        <el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="用户名称" prop="userName">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否审核" prop="isNormal">
-          <template slot-scope="scope">
-            <span v-if="scope.row.isNormal == 0">未审核</span>
-            <span v-if="scope.row.isNormal == 1">审核通过</span>
-            <span v-if="scope.row.isNormal == 2">审核拒绝</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="用户类型" prop="priType">
-          <template slot-scope="scope">
-            <span v-if="scope.row.priType == 1">群主</span>
-            <span v-if="scope.row.priType == 2">管理员</span>
-            <span v-if="scope.row.priType == 3">普通成员</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="入群时间" prop="createDate">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="申请说明" prop="userMemo">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否退群" prop="isDelete">
-          <template slot-scope="scope">
-            <span>{{scope.row.isDelete?"未退群":"已退群"}}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="退群原因" prop="deleteMemo">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否限制发帖" prop="isForbidden">
-          <template slot-scope="scope">
-            <span>{{scope.row.isForbidden?"限制":"未限制"}}</span>
-          </template>
-        </el-table-column>
-
-
-
-
-
-
-        <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <!--<el-button v-if="scope.row.isNormal == '0'" type="primary" size="small" @click="updateNormal(scope.row)">审核</el-button>-->
-
-            <el-dropdown v-if="scope.row.isNormal == '0'" size="small" >
-              <el-button type="primary" size="small">
-                审核<i class="el-icon-arrow-down el-icon--right"></i>
-              </el-button>
-              <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item @click.native="updateNormal(scope.row,'1')" >同意</el-dropdown-item>
-                <el-dropdown-item @click.native="updateNormal(scope.row,'2')" >拒绝</el-dropdown-item>
-              </el-dropdown-menu>
-            </el-dropdown>
-
-            <el-button v-if="scope.row.isForbidden" type="primary" size="small" @click="updateForbidden(scope.row,false)">取消限制发帖</el-button>
-            <el-button v-if="scope.row.isForbidden == false" type="primary" size="small" @click="updateForbidden(scope.row,true)">限制发帖</el-button>
-            <el-button v-if="scope.row.isNormal == '1' && scope.row.isDelete" type="danger" size="small"  @click="updateDelete(scope.row)">踢人</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleUserSizeChange" @current-change="handleUserCurrentChange" :current-page="userListQuery.page"
-                       :page-sizes="[10,20,30,50]" :page-size="userListQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 178px;
-    height: 178px;
-    display: block;
-  }
-</style>
-
-
-<script>
-  import { selectOrg,createOrg,updateOrg ,selectUserByUserName ,deleteOrgList,deleteOrg} from "@/api/organize"
-  import { selectOrganizeUserByOrgId ,updateOrganizeUserById ,selectOrganizeUserByOrgIdNoDel,sendWXMsg} from "@/api/organizeuser"
-  import { createStorage } from '@/api/storage'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'Admin',
-    directives: {
-      waves
-    },
-    data() {
-      var validatePass = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请输入密码'))
-        } else {
-          if (this.dataForm.checkPassword !== '') {
-            this.$refs.dataForm.validateField('checkPassword')
-          }
-          callback()
-        }
-      }
-      var validatePass2 = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请再次输入密码'))
-        } else if (value !== this.dataForm.password) {
-          callback(new Error('两次输入密码不一致!'))
-        } else {
-          callback()
-        }
-      }
-      return {
-        list: null,
-        userlist: null,
-        role: undefined,
-        total: null,
-        listLoading: true,
-        selectLoading: false,
-        selectfilterable: true,
-        selectremote: true,
-        optionsOrgUser: null,
-        listQuery: {
-          page: 1,
-          limit: 20,
-          orgName: undefined,
-          sort: '+id'
-        },
-        userListQuery: {
-          page: 1,
-          limit: 20,
-          fkOrganizeId: undefined,
-          sort: '+id'
-        },
-        dataForm: {
-          id: undefined,
-          organizeName: undefined,
-          organizeMemo: undefined,
-          isDelete: undefined,
-          //coverImage: undefined,
-          adminUserId: undefined,
-          url: undefined
-        },
-        typeDate: {
-          imgBelongs:"3"
-        },
-        dialogFormVisible: false,
-        dialogUserVisible: false,
-        dialogStatus: '',
-        imageUrl:'',
-        textMap: {
-          update: '编辑',
-          create: '创建'
-        },
-        rules: {
-          organizeName: [{ required: true, message: '组织名称不能为空', trigger: 'blur' }],
-          password: [
-            { required: true, message: '密码不能为空', trigger: 'blur' },
-            { validator: validatePass, trigger: 'blur' }
-          ],
-          checkPassword: [
-            { required: true, message: '密码不能为空', trigger: 'blur' },
-            { validator: validatePass2, trigger: 'blur' }
-          ]
-        },
-        downloadLoading: false,
-        dialogFlag: false,
-        delarr:[],
-        multipleSelection:[]
-      }
-    },
-    created() {
-      this.getList()
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        this.listQuery.orgType = 1
-        selectOrg(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      handleUserSizeChange(val) {
-        this.userListQuery.limit = val
-        this.getUserList()
-      },
-      handleUserCurrentChange(val) {
-        this.userListQuery.page = val
-        this.getUserList()
-      },
-      resetForm() {
-        this.dataForm = {
-          id: undefined,
-          organizeName: undefined,
-          organizeMemo: undefined,
-          isDelete: undefined
-        }
-        this.role = []
-      },
-      getUserList(){
-        this.listLoading = true
-
-        selectOrganizeUserByOrgId(this.userListQuery).then(response => {
-          this.userlist = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.userlist = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleOrgDelete(row) {
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteOrg(row).then(response =>{
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-
-        })
-      },
-      delAll(){
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          const length = this.multipleSelection.length;
-
-          if (length > 0) {
-            for (let i = 0; i < length; i++){
-              this.delarr.push(this.multipleSelection[i].id)
-            }
-            const orgIds = this.delarr.join(",");
-            deleteOrgList({orgIds:orgIds}).then(()=>{
-              this.$notify({
-                title: '成功',
-                message: '删除成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.getList();
-            }).catch(() => {
-
-            })
-          } else {
-            this.$notify({
-              title: '警告提示',
-              message: '请选择要删除的信息!',
-              type: 'warning'
-            });
-          }
-        }).catch(() => {
-
-        })
-      },
-      handleSelectionChange(val){
-        this.multipleSelection = val;
-        console.log(val)
-      },
-      uploadAvatar(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.avatar = res.data.data.url
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      handleCreate() {
-        this.resetForm()
-        this.dialogFlag = false
-        this.dialogStatus = 'create'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-      createData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.dataForm.organizeType = '1';
-            createOrg(this.dataForm).then(response => {
-              this.list.unshift(response.data.data)
-              this.dialogFormVisible = false
-              this.getList()
-              this.$notify({
-                title: '成功',
-                message: '创建成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      handleUpdate(row, type) {
-        this.dialogFlag = type
-
-        this.imageUrl = row.url
-        this.dialogStatus = 'update'
-        this.dialogFormVisible = true
-
-        this.dataForm = Object.assign({}, {"id":row.id,"organizeName":row.organizeName,"organizeMemo":row.organizeMemo,"isDelete":row.isDelete,"adminUserId":row.ownerUserName,"url":row.url})
-
-
-        // selectOrganizeUserByOrgIdNoDel({"fkOrganizeId":row.id}).then(res => {
-        //   this.optionsOrgUser = res.data.data.items
-        //   this.dataForm = Object.assign({}, {"id":row.id,"organizeName":row.organizeName,"organizeMemo":row.organizeMemo,"isDelete":row.isDelete,"adminUserId":res.data.data.adminUser})
-        // })
-
-        if (!type) {
-          this.$nextTick(() => {
-            this.$refs['dataForm'].clearValidate()
-          })
-        } else {
-          this.getUserRoles()
-        }
-      },remoteMethod(query){
-        this.selectLoading = true;
-        selectUserByUserName({"userName":query}).then(res => {
-          this.optionsOrgUser = res.data.data
-          this.selectLoading = false;
-        })
-      },
-      handleOrganizeUser(row){
-        this.dialogUserVisible = true
-        this.userListQuery.fkOrganizeId = row.id
-        this.getUserList()
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            updateOrg(this.dataForm).then(() => {
-              this.dialogFormVisible = false
-              this.getList()
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      updateNormal(row,isNormal){
-        updateOrganizeUserById({"id":row.id,"isNormal":isNormal,"isDelete":true}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-
-          sendWXMsg({"orgUserId":row.id}).then(()=>{
-
-          })
-
-        })
-      },
-      updateDelete(row){
-        updateOrganizeUserById({"id":row.id,"isDelete":false}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      updateForbidden(row,siF){
-        updateOrganizeUserById({"id":row.id,"isForbidden":siF}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      handleDelete(row) {
-        deleteAdmin(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      },
-      handleDownload() {
-        this.downloadLoading = true
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['ID', '名称', '创建人','创建日期','组织说明']
-          const filterVal = ['id', 'organizeName', 'userName','createDate','organizeMemo']
-          excel.export_json_to_excel2(tHeader, this.list, filterVal, '地方专委会信息')
-          this.downloadLoading = false
-        })
-      },
-      getUserRoles() {
-        selectAdminRole({ userId: this.dataForm.id })
-          .then(response => {
-            var role = response.data.data
-            if (role) {
-              role = role.map( function(val) {
-                return val - 0
-              })
-            } else {
-              role = []
-            }
-            this.role = role
-          })
-      },
-      uploadUrl(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.url = res.data.data.url
-          this.imageUrl = res.data.data.url;
-          //this.dataForm.coverImage = res.data.data.id;
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      beforeAvatarUpload(file){
-        const isJPG = file.type === 'image/jpeg';
-        const isLt2M = file.size / 1024 / 1024 < 2;
-
-        if (!isJPG) {
-          this.$message.error('上传头像图片只能是 JPG 格式!');
-        }
-        if (!isLt2M) {
-          this.$message.error('上传头像图片大小不能超过 2MB!');
-        }
-        return isJPG && isLt2M;
-      }
-
-    }
-  }
-</script>

+ 0 - 646
src/views/organize/organizeTrade.vue

@@ -1,646 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入管理员名称" v-model="listQuery.orgName">
-      </el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-      <el-button class="filter-item" type="warning" icon="el-icon-delete" v-waves @click="delAll">批量删除
-      </el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" @selection-change="handleSelectionChange" border fit
-              highlight-current-row>
-      <el-table-column type="selection" width="55px"> </el-table-column>
-      <!--<el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="名称" prop="organizeName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="创建人" prop="userName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="创建日期" prop="createDate">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="是否解散" >
-        <template slot-scope="scope">
-          <span>{{scope.row.isDelete?"未解散":"已解散"}}</span>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="组织说明" prop="organizeMemo">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="优先级" prop="weight">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="mini" @click="handleUpdate(scope.row, false)">编辑</el-button>
-          <el-button type="primary" size="mini" @click="handleOrganizeUser(scope.row)">查看</el-button>
-          <el-button type="danger" size="mini"  @click="handleOrgDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="名称" prop="organizeName">
-          <el-input v-model="dataForm.organizeName"></el-input>
-        </el-form-item>
-        <el-form-item label="组织说明" prop="organizeMemo">
-          <el-input v-model="dataForm.organizeMemo"></el-input>
-        </el-form-item>
-        <el-tooltip content="优先级越大,位置越靠前!" placement="top-start">
-          <el-form-item label="优先级" prop="weight">
-            <el-input-number :precision="0" :step="1" v-model="dataForm.weight"></el-input-number>
-          </el-form-item>
-        </el-tooltip>
-        <el-form-item label="封面图片" prop="avatar">
-          <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-          <el-upload
-            class="avatar-uploader"
-            action="#"
-            :http-request="uploadUrl"
-            :show-file-list="false"
-            :data="typeDate"
-            :before-upload="beforeAvatarUpload">
-            <img v-if="imageUrl" :src="imageUrl" class="avatar">
-            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-          </el-upload>
-          </el-tooltip>
-        </el-form-item>
-
-        <!--<el-form-item v-if="dialogStatus=='update'" label="选择群主">-->
-          <!--<el-select v-model="dataForm.adminUserId" placeholder="请选择">-->
-            <!--<el-option-->
-              <!--v-for="item in optionsOrgUser"-->
-              <!--:key="item.id"-->
-              <!--:label="item.userName"-->
-              <!--:value="item.id">-->
-            <!--</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-
-
-        <el-form-item label="选择群主">
-          <el-select
-            v-model="dataForm.adminUserId"
-            :filterable="selectfilterable"
-            :remote="selectremote"
-            placeholder="请输入关键词"
-            :remote-method="remoteMethod"
-            :loading="selectLoading">
-            <el-option
-              v-for="item in optionsOrgUser"
-              :key="item.id"
-              :label="item.userName"
-              :value="item.id">
-            </el-option>
-          </el-select>
-        </el-form-item>
-
-        <!-- v-if="dialogStatus=='update'" -->
-        <el-form-item label="是否解散">
-
-          <el-select v-model="dataForm.isDelete" placeholder="请选择">
-            <el-option :key="false" label="解散" :value="false">
-            </el-option>
-            <el-option :key="true" label="未解散" :value="true">
-            </el-option>
-          </el-select>
-
-        </el-form-item>
-
-
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-
-
-    <el-dialog title="查看" :visible.sync="dialogUserVisible" width="85%">
-      <el-table size="small" :data="userlist" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-        <el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="用户名称" prop="userName">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否审核" prop="isNormal">
-          <template slot-scope="scope">
-            <span v-if="scope.row.isNormal == 0">未审核</span>
-            <span v-if="scope.row.isNormal == 1">审核通过</span>
-            <span v-if="scope.row.isNormal == 2">审核拒绝</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="用户类型" prop="priType">
-          <template slot-scope="scope">
-            <span v-if="scope.row.priType == 1">群主</span>
-            <span v-if="scope.row.priType == 2">管理员</span>
-            <span v-if="scope.row.priType == 3">普通成员</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="入群时间" prop="createDate">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="申请说明" prop="userMemo">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否退群" prop="isDelete">
-          <template slot-scope="scope">
-            <span>{{scope.row.isDelete?"未退群":"已退群"}}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="退群原因" prop="deleteMemo">
-        </el-table-column>
-
-        <el-table-column align="center" min-width="100px" label="是否限制发帖" prop="isForbidden">
-          <template slot-scope="scope">
-            <span>{{scope.row.isForbidden?"限制":"未限制"}}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <!--<el-button v-if="scope.row.isNormal == '0'" type="primary" size="small" @click="updateNormal(scope.row)">审核</el-button>-->
-
-            <el-dropdown v-if="scope.row.isNormal == '0'" size="small" >
-              <el-button type="primary" size="small">
-                审核<i class="el-icon-arrow-down el-icon--right"></i>
-              </el-button>
-              <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item @click.native="updateNormal(scope.row,'1')" >同意</el-dropdown-item>
-                <el-dropdown-item @click.native="updateNormal(scope.row,'2')" >拒绝</el-dropdown-item>
-              </el-dropdown-menu>
-            </el-dropdown>
-
-            <el-button v-if="scope.row.isForbidden" type="primary" size="small" @click="updateForbidden(scope.row,false)">取消限制发帖</el-button>
-            <el-button v-if="scope.row.isForbidden == false" type="primary" size="small" @click="updateForbidden(scope.row,true)">限制发帖</el-button>
-            <el-button v-if="scope.row.isNormal == '1' && scope.row.isDelete" type="danger" size="small"  @click="updateDelete(scope.row)">踢人</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleUserSizeChange" @current-change="handleUserCurrentChange" :current-page="userListQuery.page"
-                       :page-sizes="[10,20,30,50]" :page-size="userListQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 178px;
-    height: 178px;
-    display: block;
-  }
-</style>
-
-
-<script>
-  import { selectOrg,createOrg,updateOrg ,selectUserByUserName ,deleteOrgList,deleteOrg} from "@/api/organize"
-  import { selectOrganizeUserByOrgId ,updateOrganizeUserById,selectOrganizeUserByOrgIdNoDel,sendWXMsg} from "@/api/organizeuser"
-  import { createStorage } from '@/api/storage'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'Admin',
-    directives: {
-      waves
-    },
-    data() {
-      var validatePass = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请输入密码'))
-        } else {
-          if (this.dataForm.checkPassword !== '') {
-            this.$refs.dataForm.validateField('checkPassword')
-          }
-          callback()
-        }
-      }
-      var validatePass2 = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请再次输入密码'))
-        } else if (value !== this.dataForm.password) {
-          callback(new Error('两次输入密码不一致!'))
-        } else {
-          callback()
-        }
-      }
-      return {
-        list: null,
-        userlist: null,
-        role: undefined,
-        total: null,
-        listLoading: true,
-        selectLoading: false,
-        selectfilterable: true,
-        selectremote: true,
-        optionsOrgUser: null,
-        listQuery: {
-          page: 1,
-          limit: 20,
-          orgName: undefined,
-          sort: '+id'
-        },
-        userListQuery: {
-          page: 1,
-          limit: 20,
-          fkOrganizeId: undefined,
-          sort: '+id'
-        },
-        dataForm: {
-          id: undefined,
-          organizeName: undefined,
-          organizeMemo: undefined,
-          isDelete: undefined,
-          //coverImage: undefined,
-          adminUserId: undefined,
-          url: undefined
-        },
-        typeDate: {
-          imgBelongs:"3"
-        },
-        dialogFormVisible: false,
-        dialogUserVisible: false,
-        dialogStatus: '',
-        imageUrl:'',
-        textMap: {
-          update: '编辑',
-          create: '创建'
-        },
-        rules: {
-          organizeName: [{ required: true, message: '组织名称不能为空', trigger: 'blur' }],
-          password: [
-            { required: true, message: '密码不能为空', trigger: 'blur' },
-            { validator: validatePass, trigger: 'blur' }
-          ],
-          checkPassword: [
-            { required: true, message: '密码不能为空', trigger: 'blur' },
-            { validator: validatePass2, trigger: 'blur' }
-          ]
-        },
-        downloadLoading: false,
-        dialogFlag: false,
-        delarr:[],
-        multipleSelection:[]
-      }
-    },
-    created() {
-      this.getList()
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        this.listQuery.orgType = 2
-        selectOrg(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      handleUserSizeChange(val) {
-        this.userListQuery.limit = val
-        this.getUserList()
-      },
-      handleUserCurrentChange(val) {
-        this.userListQuery.page = val
-        this.getUserList()
-      },
-      resetForm() {
-        this.dataForm = {
-          id: undefined,
-          organizeName: undefined,
-          organizeMemo: undefined,
-          isDelete: undefined
-        }
-        this.role = []
-      },
-      getUserList(){
-        this.listLoading = true
-
-        selectOrganizeUserByOrgId(this.userListQuery).then(response => {
-          this.userlist = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.userlist = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      uploadAvatar(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.avatar = res.data.data.url
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      handleCreate() {
-        this.resetForm()
-        this.dialogFlag = false
-        this.dialogStatus = 'create'
-        this.dialogFormVisible = true
-        this.$nextTick(() => {
-          this.$refs['dataForm'].clearValidate()
-        })
-      },
-      createData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.dataForm.organizeType = '2';
-            createOrg(this.dataForm).then(response => {
-              this.list.unshift(response.data.data)
-              this.dialogFormVisible = false
-              this.getList()
-              this.$notify({
-                title: '成功',
-                message: '创建成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      handleUpdate(row, type) {
-        this.dialogFlag = type
-        // this.dataForm = Object.assign({}, {"id":row.id,"organizeName":row.organizeName,"organizeMemo":row.organizeMemo,"isDelete":row.isDelete})
-        this.imageUrl = row.url
-        this.dialogStatus = 'update'
-        this.dialogFormVisible = true
-
-        this.dataForm = Object.assign({}, {"id":row.id,"organizeName":row.organizeName,"organizeMemo":row.organizeMemo,"isDelete":row.isDelete,"adminUserId":row.ownerUserName,"url":row.url})
-
-
-        // selectOrganizeUserByOrgIdNoDel({"fkOrganizeId":row.id}).then(res => {
-        //   this.optionsOrgUser = res.data.data.items
-        //   this.dataForm = Object.assign({}, {"id":row.id,"organizeName":row.organizeName,"organizeMemo":row.organizeMemo,"isDelete":row.isDelete,"adminUserId":res.data.data.adminUser})
-        // })
-
-        if (!type) {
-          this.$nextTick(() => {
-            this.$refs['dataForm'].clearValidate()
-          })
-        } else {
-          this.getUserRoles()
-        }
-      },remoteMethod(query){
-        this.selectLoading = true;
-        selectUserByUserName({"userName":query}).then(res => {
-          this.optionsOrgUser = res.data.data
-          this.selectLoading = false;
-        })
-      },
-      handleOrganizeUser(row){
-        this.dialogUserVisible = true
-        this.userListQuery.fkOrganizeId = row.id
-        this.getUserList()
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            updateOrg(this.dataForm).then(() => {
-              this.dialogFormVisible = false
-              this.getList()
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-            })
-          }
-        })
-      },
-      updateNormal(row,isNormal){
-        updateOrganizeUserById({"id":row.id,"isNormal":isNormal,"isDelete":true}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-
-          sendWXMsg({"orgUserId":row.id}).then(()=>{
-
-          })
-
-
-        })
-      },
-      updateDelete(row){
-        updateOrganizeUserById({"id":row.id,"isDelete":false}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      updateForbidden(row,siF){
-        updateOrganizeUserById({"id":row.id,"isForbidden":siF}).then(() => {
-          this.dialogFormVisible = false
-          this.userListQuery.fkOrganizeId =row.fkOrganizeId
-          this.getUserList()
-          this.$notify({
-            title: '成功',
-            message: '更新成功',
-            type: 'success',
-            duration: 2000
-          })
-        })
-      },
-      handleDelete(row) {
-        deleteAdmin(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      },
-      handleDownload() {
-        this.downloadLoading = true
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['ID', '名称', '创建人','创建日期','组织说明']
-          const filterVal = ['id', 'organizeName', 'userName','createDate','organizeMemo']
-          excel.export_json_to_excel2(tHeader, this.list, filterVal, '行业专委会信息')
-          this.downloadLoading = false
-        })
-      },
-      getUserRoles() {
-        selectAdminRole({ userId: this.dataForm.id })
-          .then(response => {
-            var role = response.data.data
-            if (role) {
-              role = role.map( function(val) {
-                return val - 0
-              })
-            } else {
-              role = []
-            }
-            this.role = role
-          })
-      },
-      uploadUrl(item) {
-        const formData = new FormData()
-        formData.append('file', item.file)
-        createStorage(formData).then(res => {
-          this.dataForm.url = res.data.data.url
-          this.imageUrl = res.data.data.url;
-          //this.dataForm.coverImage = res.data.data.id;
-        }).catch(() => {
-          this.$message.error('上传失败,请重新上传')
-        })
-      },
-      beforeAvatarUpload(file){
-        const isJPG = file.type === 'image/jpeg';
-        const isLt2M = file.size / 1024 / 1024 < 2;
-
-        if (!isJPG) {
-          this.$message.error('上传头像图片只能是 JPG 格式!');
-        }
-        if (!isLt2M) {
-          this.$message.error('上传头像图片大小不能超过 2MB!');
-        }
-        return isJPG && isLt2M;
-      },
-      handleOrgDelete(row) {
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteOrg(row).then(response =>{
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-
-        })
-      },
-      delAll(){
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          const length = this.multipleSelection.length;
-
-          if (length > 0) {
-            for (let i = 0; i < length; i++){
-              this.delarr.push(this.multipleSelection[i].id)
-            }
-            const orgIds = this.delarr.join(",");
-            deleteOrgList({orgIds:orgIds}).then(()=>{
-              this.$notify({
-                title: '成功',
-                message: '删除成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.getList();
-            }).catch(() => {
-
-            })
-          } else {
-
-            this.$notify({
-              title: 'warning',
-              message: '请选择要删除的信息!',
-              type: 'warning'
-            });
-          }
-
-        }).catch(() => {
-
-        })
-      },
-      handleSelectionChange(val){
-        this.multipleSelection = val;
-        console.log(val)
-      }
-    }
-  }
-</script>

+ 0 - 302
src/views/pointManage/pointIndateList.vue

@@ -1,302 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="积分规则名称"
-        v-model="listQuery.content"></el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" label="标识编码" prop="code">
-      </el-table-column>
-      <el-table-column align="center" label="规则类型" prop="type">
-      </el-table-column>
-      <el-table-column align="center" label="规则名称" prop="content">
-      </el-table-column>
-      <el-table-column align="center" label="过期单位" prop="dateField">
-        <template slot-scope="props">
-          <span v-if="props.row.dateField == 0">年</span>
-          <span v-if="props.row.dateField == 1">月</span>
-          <span v-if="props.row.dateField == 2">日</span>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" label="过期时间" prop="expire">
-      </el-table-column>
-      <el-table-column align="center" label="状态">
-        <template slot-scope="props">
-          <el-tag type="success" v-if="props.row.expireFalg == 1">启用</el-tag>
-          <el-tag type="danger" v-if="props.row.expireFalg == 0">关闭</el-tag>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button v-if="scope.row.expireFalg == 0" type="success" size="small"
-            @click="changeState(scope.row.id, 1)">开启</el-button>
-          <el-button v-if="scope.row.expireFalg == 1" type="warning" size="small"
-            @click="changeState(scope.row.id, 0)">关闭</el-button>
-          <!-- <el-button type="danger" size="mini" @click="handleDelete(scope.row.id)">删除</el-button> -->
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
-      width="40%">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px"
-        style='width:700px; margin-left:50px;'>
-        <el-form-item label="标识编码" prop="code">
-          <el-input v-model="dataForm.code" style="width: 350px" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" placeholder='标识编码'></el-input>
-        </el-form-item>
-        <el-form-item label="规则类型" prop="type">
-          <el-input maxlength="50" v-model="dataForm.type" style="width: 350px" placeholder='规则类型'></el-input>
-        </el-form-item>
-        <el-form-item label="规则名称" prop="content">
-          <el-input maxlength="50" v-model="dataForm.content" style="width: 350px" placeholder='规则名称'></el-input>
-        </el-form-item>
-        <el-form-item label="过期单位" prop="dateField">
-          <el-select v-model="dataForm.dateField" clearable style="width: 350px;" placeholder="选择过期单位">
-            <el-option label="年" value="0"></el-option>
-            <el-option label="月" value="1"></el-option>
-            <el-option label="日" value="2"></el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="过期时间" prop="expire">
-          <el-input v-model="dataForm.expire" style="width: 350px" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" placeholder="过期时间"></el-input>
-        </el-form-item>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-
-<script>
-import { getPointIndateList, pointIndateCreateItem, pointIndateUpdateItem, pointIndateState, pointIndateDel } from "@/api/pointManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-  name: 'pointRulesList',
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        content: '',
-      },
-      dataForm: {
-        code: undefined,
-        type: undefined,
-        content: undefined,
-        dateField: undefined,
-        expire: undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      rules: {
-        code: [{ required: true, message: "标识编码不能为空", trigger: "blur" }],
-        type: [{ required: true, message: "规则类型不能为空", trigger: "blur" }],
-        content: [{ required: true, message: "规则名称不能为空", trigger: "blur" }],
-        dateField: [{ required: true, message: "请选积分过期单位", trigger: "blur" }],
-        expire: [{ required: true, message: "过期时间不能为空", trigger: "blur" }],
-      },
-    }
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    changeState(id, index) {
-      pointIndateState({ id: id, expireFalg: index }).then(response => {
-        this.$notify({
-          title: '成功',
-          message: '状态修改成功',
-          type: 'success',
-          duration: 2000
-        })
-        this.getList()
-      })
-    },
-    handleDelete(id) {
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        pointIndateDel({ id: id }).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          this.getList();
-        })
-      }).catch(() => { })
-
-    },
-    resetForm() {
-      this.dataForm = {
-        code: undefined,
-        type: undefined,
-        content: undefined,
-        dateField: undefined,
-        expire: undefined,
-      };
-    },
-    handleCreate() {
-
-      this.resetForm();
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          console.log(this.dataForm);
-          pointIndateCreateItem(this.dataForm)
-            .then((response) => {
-              this.dialogFormVisible = false;
-              this.$notify({
-                title: "成功",
-                message: "创建成功",
-                type: "success",
-                duration: 2000,
-              });
-              this.getList();
-            })
-            .catch(() => { });
-        }
-      });
-    },
-
-    getList() {
-      this.listLoading = true
-      getPointIndateList(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          pointIndateUpdateItem(this.dataForm).then(() => {
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
-          })
-        }
-      })
-    },
-  }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>

+ 0 - 84
src/views/pointManage/pointInstructions.vue

@@ -1,84 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container" style="padding-bottom: 80px;">
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 85%; margin-left:50px;'>
-         <el-form-item  label="标题" prop="title">
-              <el-input v-model="dataForm.title"></el-input>
-            </el-form-item>
-            <el-form-item
-              style="width: 100%"
-              label="内容"
-              prop="content"
-            >
-              <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-  
-        </el-form>
-        <el-button style="float: right;margin-right: 120px;" type="primary" @click="updateData">修改</el-button>
-    
-        
-    </div>
-   
-  </template>
-  
-  <style>
-    
-  </style>
-  
-  
-  <script>
-   import {rulesDetail, updateRule} from "@/api/public";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-    export default {
-    name: 'pointInstructions',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        dataForm: {
-          id:'',
-          title: '',
-          content: "",
-        },
-        dialogFormVisible: false,
-        rules: {
-            title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-            content: [{ required: true, message: "积分规则不能为空", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getDetail();
-    },
-    methods: {
-    
-      getDetail() {
-        this.listLoading = true
-        rulesDetail({noticeType:'integralNotice'}).then(response => {
-          this.dataForm.title = response.data.data.title;
-          this.dataForm.content = response.data.data.content;
-          this.dataForm.id = response.data.data.id;
-        }).catch(() => {})
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            updateRule(this.dataForm).then(() => {
-                this.dialogFormVisible = false
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getDetail()
-              }) 
-          }
-        })
-      },
-  
-      
-    }
-  }
-  </script>
-  

+ 0 - 301
src/views/pointManage/pointList.vue

@@ -1,301 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工姓名"
-                v-model="listQuery.userName"></el-input>
-            <el-select v-model="listQuery.companyId" clearable placeholder="公司主体" class="filter-item" style="width: 200px;">
-                <el-option :key="item.companyId" v-for="item in companyTypeList" :label="item.companyName" :value="item.companyId">
-                </el-option>
-            </el-select>
-            <el-select v-model="listQuery.deptId" clearable placeholder="部门名称" class="filter-item" style="width: 200px;">
-                <el-option :key="item.type" v-for="item in depTypeList" :label="item.deptName" :value="item.deptId">
-                </el-option>
-            </el-select>
-            <el-select v-model="listQuery.staffStatus" clearable placeholder="员工状态" class="filter-item" style="width: 200px;">
-                <el-option :key="item.dictValue" v-for="item in staffStatusList" :label="item.dictLabel" :value="item.dictValue">
-                </el-option>
-            </el-select>
-            <el-select v-model="listQuery.lockStatus" clearable placeholder="初始积分领取状态" class="filter-item" style="width: 200px;">
-                <el-option :key="item.dictValue" v-for="item in lockStatusList" :label="item.dictLabel" :value="item.dictValue">
-                </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary"  :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="70px" label="员工姓名" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="员工账号" prop="loginId">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="公司主体" prop="companyName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="入职时间" prop="realEntryDate">
-            </el-table-column>
-            
-            <el-table-column align="center" min-width="80px" label="积分" prop="integral">
-            </el-table-column>
-            <el-table-column align="center" min-width="70px" label="员工状态" prop="staffStatusName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="初始积分领取状态" prop="lockStatusName">
-            </el-table-column>
-            <el-table-column align="center" label="操作" min-width="100px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleView(scope.row, false)">查看</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 员工积分记录列表 -->
-        <el-dialog :close-on-click-modal="false" title="员工积分记录" :visible.sync="dialogFormVisible" width="70%">
-            <div class="filter-container">
-                <el-select v-model="itemListQuery.type" clearable placeholder="请选择积分类型" style="top: -4px;width: 200px;">
-                    <el-option :key="item.dictValue" v-for="item in allTypeList" :label="item.dictLabel" :value="item.dictValue">
-                    </el-option>
-                </el-select>
-                <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
-                    @click="itemHandleFilter">查找</el-button>
-                <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleItemDownload">导出</el-button>
-
-            </div>
-            <!-- 查询结果 -->
-            <el-table size="small" :data="itemList" element-loading-text="正在查询中。。。" border fit
-                highlight-current-row>
-                <el-table-column type="index" label="序号" header-align="center" align="center">
-                </el-table-column>
-                <el-table-column align="center" min-width="100px" label="积分类型" prop="integralTypeName">
-                </el-table-column>
-                <el-table-column align="center" min-width="200px" label="积分说明" prop="comment">
-                </el-table-column>
-                <el-table-column align="center" min-width="80px" label="积分" prop="integral">
-                    <template slot-scope="scope">
-                        <span style="color: #67C23A;font-weight: 600;font-size: 14px;" v-if="scope.row.pm == 0">
-                            + {{ scope.row.integral }}
-                        </span>
-                        <span style="color: #F56C6C;font-weight: 600;font-size: 14px;" v-else>
-                            - {{ scope.row.integral }}
-                        </span>
-                    </template>
-                </el-table-column>
-                <el-table-column align="center" min-width="80px" label="生成时间" prop="createTime">
-                </el-table-column>
-            </el-table>
-
-            <!-- 分页 -->
-            <div class="pagination-container">
-                <el-pagination background @size-change="itemHandleSizeChange" @current-change="itemHandleCurrentChange"
-                    :current-page="itemListQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="itemListQuery.limit"
-                    layout="total, sizes, prev, pager, next, jumper" :total="itemTotal">
-                </el-pagination>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { getPointList, getItemPointList } from "@/api/pointManage";
-import { companyTypeList, depTypeList,dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'pointList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            lockStatusList:[],
-            staffStatusList: [],
-            companyTypeList: [
-                
-            ],
-            depTypeList: [
-                
-            ],
-            allTypeList: [
-               
-            ],
-            list: [
-                
-            ],
-            itemList: [
-                
-            ],
-            total: 0,
-            itemTotal: 0,
-            listLoading: false,
-            downloadLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                companyId: '',
-                deptId: '',
-                userName: '',
-                staffStatus: '',
-                lockStatus:'',
-            },
-            itemListQuery: {
-                page: 1,
-                limit: 10,
-                type: '',
-            },
-            dialogFormVisible: false,
-        }
-    },
-    created() {
-        this.getCompanyTypeList();
-        this.getDepTypeList(); 
-        this.getStaffStatusList();
-        this.getLockStatusListList();
-        this.getList();
-    },
-    methods: {
-        getLockStatusListList(){
-            dataTypeList({dictType:'lock_status'}).then(response => {
-                this.lockStatusList = response.data.data;
-            })
-        },
-        getStaffStatusList(){
-            dataTypeList({dictType:'staff_status'}).then(response => {
-                this.staffStatusList = response.data.data;
-            })
-        },
-        handleDownload() {
-            window.location.href = process.env.BASE_API + '/mall-integral/export/user/page?companyId=' + this.listQuery.companyId + '&deptId=' + this.listQuery.deptId + '&userName=' + this.listQuery.userName + '&lockStatus=' + this.listQuery.lockStatus+ '&staffStatus=' + this.listQuery.staffStatus;
-        },
-        handleItemDownload() {
-            window.location.href = process.env.BASE_API + '/mall-integral/export/user/log?type=' + this.itemListQuery.type;
-        },
-        getCompanyTypeList() {
-            companyTypeList().then(response => {
-                this.companyTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getDepTypeList() {
-            depTypeList().then(response => {
-                this.depTypeList = response.data.data;
-            }).catch(() => {});
-        },
-        getPointRulesType() {
-            dataTypeList({dictType:'integral_rule_type'}).then(response => {
-                this.allTypeList = response.data.data;
-            }).catch(() => {
-                
-            });
-        },
-        getList() {
-            this.listLoading = true
-            getPointList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {
-                
-            })
-        },
-        getItemList() {
-            getItemPointList(this.itemListQuery).then(response => {
-                this.itemList = response.data.data.items
-                this.itemTotal = response.data.data.total
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-        itemHandleFilter() {
-            this.itemListQuery.page = 1
-            this.getItemList()
-        },
-
-        itemHandleSizeChange(val) {
-            this.itemListQuery.limit = val
-            this.getItemList()
-        },
-
-        itemHandleCurrentChange(val) {
-            this.itemListQuery.page = val
-            this.getItemList()
-        },
-
-        handleView(row) {
-            this.itemListQuery.userId = row.loginId;
-            this.getPointRulesType()
-            this.getItemList()
-            this.dialogFormVisible = true
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 307
src/views/pointManage/pointRulesList.vue

@@ -1,307 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-select v-model="listQuery.type" clearable placeholder="积分规则类型" style="top: -4px;width: 200px;">
-        <el-option :key="item.dictValue" v-for="item in allTypeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="积分类型" prop="integralTypeName">
-      </el-table-column>
-
-      <!-- <el-table-column align="center" min-width="200px" label="积分说明" prop="integralName">
-      </el-table-column> -->
-      <el-table-column align="center" min-width="80px" label="积分" prop="integral">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="状态">
-        <template slot-scope="props">
-          <el-tag type="success" v-if="props.row.status == 1">启用</el-tag>
-          <el-tag type="danger" v-if="props.row.status == 0">关闭</el-tag>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-          <el-button v-if="scope.row.status == 0" type="success" size="small"
-            @click="changeState(scope.row.id, 1)">开启</el-button>
-          <el-button v-if="scope.row.status == 1" type="warning" size="small"
-            @click="changeState(scope.row.id, 0)">关闭</el-button>
-          <el-button type="danger" size="mini" @click="handleDelete(scope.row.id, -1)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="45%">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px"
-        style='width:700px; margin-left:50px;'>
-
-        <el-form-item v-if="dialogStatus == 'create'" label="规则类型" prop="integralType">
-          <el-select v-model="dataForm.integralType" clearable  style="width: 350px;">
-            <el-option :key="item.dictValue" v-for="item in allTypeList" :label="item.dictLabel" :value="item.dictValue">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item v-else label="规则类型">
-          <el-input disabled v-model="dataForm.integralTypeName" style="width: 350px"></el-input>
-              </el-form-item>
-        <el-form-item label="积分" prop="integral">
-                <el-input-number
-                  :precision="0"
-                  :step="1"
-                  v-model="dataForm.integral"
-                ></el-input-number>
-              </el-form-item>
-        
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-  
-<style>
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { getPointRulesList, pointRulesCreateItem, pointRulesUpdateItem, pointRulesState } from "@/api/pointManage";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-  name: 'pointRulesList',
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      allTypeList: [
-        
-      ],
-      flagList: [
-        {
-          type: 1,
-          name: '启用'
-        },
-        {
-          type: 0,
-          name: '禁用'
-        },
-      ],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: '',
-      },
-      dataForm: {
-        integral: undefined,
-        integralType: undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      rules: {
-        integral: [{ required: true, message: "积分不能为空", trigger: "blur" }],
-        integralType: [{ required: true, message: "请选择规则类型", trigger: "blur" }],
-      },
-    }
-  },
-  created() {
-    this.getPointRulesType();
-    this.getList();
-  },
-  methods: {
-    changeState(ruleId, index) {
-      pointRulesState({ ruleId: ruleId, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '活动状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(ruleId, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-              pointRulesState({ ruleId: ruleId, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {})
-
-        },
-    resetForm() {
-      this.dataForm = {
-        integral: '',
-        integralType: '',
-      };
-    },
-    handleCreate() {
-
-      this.resetForm();
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          console.log(this.dataForm);
-          pointRulesCreateItem(this.dataForm)
-            .then((response) => {
-              this.dialogFormVisible = false;
-              this.$notify({
-                title: "成功",
-                message: "创建成功",
-                type: "success",
-                duration: 2000,
-              });
-              this.getList();
-            })
-            .catch(() => { });
-        }
-      });
-    },
-    getPointRulesType() {
-      dataTypeList({dictType:'integral_rule_type'}).then(response => {
-        this.allTypeList = response.data.data;
-      }).catch(() => {
-
-      });
-    },
-
-    getList() {
-      this.listLoading = true
-      getPointRulesList(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          pointRulesUpdateItem(this.dataForm).then(() => {
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
-          })
-        }
-      })
-    },
-  }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-  

+ 0 - 178
src/views/pointManage/pointsDetailList.vue

@@ -1,178 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入姓名"
-                v-model="listQuery.userName"></el-input>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="积分说明"
-                v-model="listQuery.comment"></el-input>
-            <el-select v-model="listQuery.deptId" clearable placeholder="请选择部门" style="top: -4px;width: 200px;">
-                <el-option :key="item.type" v-for="item in depTypeList" :label="item.deptName" :value="item.deptId">
-                </el-option>
-            </el-select>
-            
-            <el-select v-model="listQuery.integralType" clearable placeholder="请选择积分类型" style="top: -4px;width: 200px;">
-                    <el-option :key="item.dictValue" v-for="item in allTypeList" :label="item.dictLabel" :value="item.dictValue">
-                    </el-option>
-                </el-select>
-                <el-date-picker class="filter-item" value-format="yyyy-MM-dd" v-model="listQuery.createTime" type="date" placeholder="选择获取时间">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary"  :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="80px" label="姓名" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分类型" prop="integralTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="积分说明" prop="comment">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分">
-                <template slot-scope="scope">
-                    <span style="color: #67C23A;font-weight: 600;font-size: 14px;" v-if="scope.row.pm == 0">
-                        + {{ scope.row.integral }}
-                    </span>
-                    <span style="color: #F56C6C;font-weight: 600;font-size: 14px;" v-else>
-                        - {{ scope.row.integral }}
-                    </span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="获取时间" prop="createTime">
-                </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { getPointDetailList } from "@/api/pointManage";
-import { depTypeList,dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'pointList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            depTypeList: [],
-            allTypeList: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            downloadLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                deptId: '',
-                userName: '',
-                comment:'',
-                createTime: '',
-                integralType:'',
-            },
-        }
-    },
-    created() {
-        this.getDepTypeList(); 
-        this.getPointRulesType();
-        this.getList();
-    },
-    methods: {
-        handleDownload() {
-            window.location.href = process.env.BASE_API + '/mall-integral/export/details/page?integralType=' + this.listQuery.integralType + '&deptId=' + this.listQuery.deptId + '&userName=' + this.listQuery.userName + '&createTime=' + this.listQuery.createTime + '&comment=' + this.listQuery.comment;
-        },
-        getDepTypeList() {
-            depTypeList().then(response => {
-                this.depTypeList = response.data.data;
-            })
-        },
-        getPointRulesType() {
-            dataTypeList({dictType:'integral_rule_type'}).then(response => {
-                this.allTypeList = response.data.data;
-            })
-        },
-        getList() {
-            this.listLoading = true
-            getPointDetailList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            })
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 232
src/views/pointManage/pointsPlusOrMinus.vue

@@ -1,232 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-  
-      <!-- 查询和其他操作 -->
-      <div class="filter-container">
-        <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入姓名"
-                v-model="listQuery.userName"></el-input>
-        <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-        <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      </div>
-  
-      <!-- 查询结果 -->
-      <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-        highlight-current-row>
-        <el-table-column type="index" label="序号" header-align="center" align="center">
-        </el-table-column>
-  
-        <el-table-column align="center" min-width="80px" label="姓名" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分">
-                <template slot-scope="scope">
-                    <span style="color: #67C23A;font-weight: 600;font-size: 14px;" v-if="scope.row.pm == 0">
-                        + {{ scope.row.integral }}
-                    </span>
-                    <span style="color: #F56C6C;font-weight: 600;font-size: 14px;" v-else>
-                        - {{ scope.row.integral }}
-                    </span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="备注" prop="comment">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="创建时间" prop="createTime">
-                </el-table-column>
-        </el-table>
-  
-      <!-- 分页 -->
-      <div class="pagination-container">
-        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-          :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-          layout="total, sizes, prev, pager, next, jumper" :total="total">
-        </el-pagination>
-      </div>
-  
-      <!-- 添加或修改对话框 -->
-      <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="45%">
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px"
-          style='width:700px; margin-left:50px;'>
-  
-          <el-form-item label="员工" prop="loginId">
-            <el-select v-model="dataForm.loginId" filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.loginId" v-for="item in loginIdList" :label="item.userName" :value="item.loginId">
-                        </el-option>
-                    </el-select>
-          </el-form-item>
-          <el-form-item label="积分" prop="integral">
-                  <el-input-number
-                  style="width: 350px"
-                    :precision="0"
-                    :step="1"
-                    v-model="dataForm.integral"
-                  ></el-input-number>
-                </el-form-item>
-                <el-form-item  label="备注">
-              <el-input type="textarea" :rows="2" style="width: 350px" v-model="dataForm.msg"></el-input>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="dialogFormVisible = false">取消</el-button>
-          <el-button type="primary"  @click="createData">确定</el-button>
-        </div>
-      </el-dialog>
-  
-    </div>
-  </template>
-    
-  <style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-  </style>
-    
-  <script>
-  import { getPointDetailList, addSub } from "@/api/pointManage";
-  import { allUserList } from "@/api/public";
-  import waves from "@/directive/waves"; // 水波纹指令
-  import Tinymce from '@/components/Tinymce'
-  
-  export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        loginIdList:[],
-        list: [],
-        total: 0,
-        listLoading: false,
-        listQuery: {
-          page: 1,
-          limit: 10,
-          integralType:100,
-          userName: '',
-        },
-        dataForm: {
-          integral: undefined,
-          loginId: '',
-          msg:'',
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        textMap: {
-          update: "编辑",
-          create: "创建",
-        },
-        rules: {
-          integral: [{ required: true, message: "积分不能为空", trigger: "blur" }],
-          loginId: [{ required: true, message: "请选积分加减人员", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getAllUserList(); 
-      this.getList();
-    },
-    methods: {
-        getAllUserList() {
-            allUserList().then(response => {
-                this.loginIdList = response.data.data;
-            }).catch(() => {});
-        },
-      resetForm() {
-        this.dataForm = {
-            integral: undefined,
-          loginId: '',
-          msg:'',
-        };
-      },
-      handleCreate() {
-  
-        this.resetForm();
-        this.dialogFormVisible = true;
-        this.dialogStatus = "create";
-        this.$nextTick(() => {
-          this.$refs["dataForm"].clearValidate();
-        });
-      },
-      createData() {
-        this.$refs["dataForm"].validate((valid) => {
-          if (valid) {
-            console.log(this.dataForm);
-            addSub(this.dataForm)
-              .then((response) => {
-                this.dialogFormVisible = false;
-                this.$notify({
-                  title: "成功",
-                  message: "创建成功",
-                  type: "success",
-                  duration: 2000,
-                });
-                this.getList();
-              })
-              .catch(() => { });
-          }
-        });
-      },
-  
-      getList() {
-        this.listLoading = true
-        getPointDetailList(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-  
-        })
-      },
-  
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-  
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-  
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-    }
-  }
-  </script>
-  <style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  
-  .ad-avatar {
-    display: block;
-  }
-  </style>
-    

+ 0 - 212
src/views/pointsLottery/index.vue

@@ -1,212 +0,0 @@
-<template>
-  <div style="height: 100vh;width: 100%;">
-    <iframe src="https://dgtbi.dgtis.com/cboard/render.html?shareid=keiLNUBc#/" width="100%" height="100%"></iframe>
-  </div>
-  
-  <!-- <el-row class="panel-group" :gutter="40">
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-people">
-          <svg-icon icon-class="peoples" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">员工数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="userTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-message">
-          <svg-icon icon-class="people" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">游客数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="visitorsTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-people">
-          <svg-icon icon-class="magnifying-glass" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">待审核数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="awaitAuditTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="user" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">昨日浏览人数</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="yesterdayTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="group" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">待审核圈子数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="groupTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="raise-your-hand-to-ask" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">提问待回答数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="questionTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class='card-panel' @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-shoppingCard">
-          <svg-icon icon-class="edit" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">今日评论数量</div>
-          <count-to class="card-panel-num" :startVal="0" :endVal="todayTotal" :duration="2600"></count-to>
-        </div>
-      </div>
-    </el-col>
-
-  </el-row> -->
-</template>
-
-<script>
-import { info } from '@/api/dashboard'
-import CountTo from 'vue-count-to'
-
-export default {
-  components: {
-    CountTo
-  },
-  data() {
-    return {
-      userTotal: 0,//校友录数量
-      visitorsTotal: 0,//游客数量
-      awaitAuditTotal: 0,//待审核数量
-      yesterdayTotal: 0,//昨日浏览人数
-      todayTotal:0,//今日评论数量
-      groupTotal:0,//圈子待审核数量
-      questionTotal:0,//提问待回答数量
-      goodsTotal: 0,
-      productTotal: 0,
-      orderTotal: 0
-    }
-  },
-  methods: {
-    handleSetLineChartData(type) {
-      this.$emit('handleSetLineChartData', type)
-    }
-  },
-  created() {
-    info(this.listQuery).then(response => {
-      this.userTotal = response.data.data.userTotal
-      this.visitorsTotal = response.data.data.visitorsTotal
-      this.awaitAuditTotal = response.data.data.awaitAuditTotal
-      this.yesterdayTotal = response.data.data.yesterdayTotal
-      this.todayTotal = response.data.data.todayTotal
-      this.groupTotal = response.data.data.groupTotal
-      this.questionTotal = response.data.data.questionTotal
-      // this.goodsTotal = response.data.data.goodsTotal
-      // this.productTotal = response.data.data.productTotal
-      // this.orderTotal = response.data.data.orderTotal
-    })
-  }
-}
-</script>
-
-<style rel="stylesheet/scss" lang="scss" scoped>
-.panel-group {
-  margin-top: 18px;
-
-  .card-panel-col{
-    margin-bottom: 32px;
-  }
-  .card-panel {
-    height: 108px;
-    cursor: pointer;
-    font-size: 12px;
-    position: relative;
-    overflow: hidden;
-    color: #666;
-    background: #fff;
-    box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
-    border-color: rgba(0, 0, 0, .05);
-    &:hover {
-      .card-panel-icon-wrapper {
-        color: #fff;
-      }
-      .icon-people {
-         background: #40c9c6;
-      }
-      .icon-message {
-        background: #36a3f7;
-      }
-      .icon-money {
-        background: #f4516c;
-      }
-      .icon-shoppingCard {
-        background: #34bfa3
-      }
-    }
-    .icon-people {
-      color: #40c9c6;
-    }
-    .icon-message {
-      color: #36a3f7;
-    }
-    .icon-money {
-      color: #f4516c;
-    }
-    .icon-shoppingCard {
-      color: #34bfa3
-    }
-    .card-panel-icon-wrapper {
-      float: left;
-      margin: 14px 0 0 14px;
-      padding: 16px;
-      transition: all 0.38s ease-out;
-      border-radius: 6px;
-    }
-    .card-panel-icon {
-      float: left;
-      font-size: 48px;
-    }
-    .card-panel-description {
-      float: right;
-      font-weight: bold;
-      margin: 26px;
-      margin-left: 0px;
-      .card-panel-text {
-        line-height: 18px;
-        color: rgba(0, 0, 0, 0.45);
-        font-size: 16px;
-        margin-bottom: 12px;
-      }
-      .card-panel-num {
-        font-size: 20px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 418
src/views/postManage/postApprovalList.vue

@@ -1,418 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入帖子Id"
-        v-model="listQuery.postId"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入帖子标题"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入姓名"
-        v-model="listQuery.userName"></el-input>
-      <el-select v-model="listQuery.status" clearable placeholder="审批状态" class="filter-item" style="width: 200px">
-        <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <!-- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="completeAll">批量审批</el-button> -->
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" @selection-change="handleSelectionChange" v-loading="listLoading"
-      element-loading-text="正在查询中。。。" border fit highlight-current-row>
-      <!-- <el-table-column type="selection" width="55px"> </el-table-column> -->
-      <el-table-column align="center" min-width="100px" label="帖子Id" prop="postId">
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="部门" prop="deptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="姓名" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="帖子标题" prop="title">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="积分" prop="integral">
-            </el-table-column>
-      <el-table-column align="center" min-width="150px" label="回复时间" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="审批状态" prop="statusName">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleView(scope.row,'view')">查看</el-button>
-          <el-button v-if="scope.row.status==1" type="success" size="small" @click="handleView(scope.row,'complete')">处理</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="40%">
-      <div class="dialog-body">
-        <div class="quesList">
-          <div class="listItem" v-for="(item,index) in data" :key="index">
-            <div v-if="item.type=='SCQ'">
-              <div class="itemTitle">{{ index + 1 }}. {{ item.description }}<el-tag class="elTag" size="small" type="danger">单选</el-tag></div>
-              <el-radio-group v-model="item.comment" class="flex-column">
-                <el-radio class="myRadio" v-for="(childItem,childIndex) in item.options" :key="childIndex" :label="childItem.id" disabled>{{ childItem.name }}</el-radio>
-              </el-radio-group>
-            </div>
-
-            <div v-if="item.type=='MCQ'">
-              <div class="itemTitle">{{ index + 1 }}. {{ item.description }}<el-tag class="elTag" size="small" type="danger">多选</el-tag></div>
-              <el-checkbox-group v-model="item.comment" class="flex-column">
-                <el-checkbox class="myRadio" v-for="(childItem,childIndex) in item.options" :key="childIndex" :label="childItem.id" disabled>{{ childItem.name }}</el-checkbox>
-              </el-checkbox-group>
-            </div>
-            <div v-if="item.type=='SAQ'">
-              <div class="itemTitle">{{ index + 1 }}. {{ item.description }}<el-tag class="elTag" size="small" type="danger">问答</el-tag></div>
-              <div class="myText">{{ item.comment }}</div>
-              <!-- <el-input disabled type="textarea" :rows="6" maxlength="200" show-word-limit placeholder="请输入内容" v-model="item.comment"></el-input> -->
-            </div>
-          </div>
-          <div v-if="dialogStatus=='complete'" class="listItem">
-              <div class="itemTitle">审批意见</div>
-              <el-input type="textarea" :rows="6" maxlength="200" show-word-limit placeholder="请输入审批意见" v-model="comment"></el-input>
-          </div>
-        </div>
-      </div>
-      <div v-if="dialogStatus=='complete'" slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="complete(true)">同意</el-button>
-                <el-button type="danger" @click="complete(false)">驳回</el-button>
-            </div>
-    </el-dialog>
-
-  </div>
-</template>
-  
-<style>
-.listItem{
-  margin-bottom: 30px;
-}
-.itemTitle {
-    margin-bottom: 10px;
-    font-weight: 700;
-}
-.elTag{
-    margin-left: 5px;
-}
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { approvalList,getDetailInfo,complete } from "@/api/postManage";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      comment:'',
-      data: [
-            {
-              "id": 1,
-              "postId": 1,
-              "description": "最帅的人,请选择以下选项",
-              "type": "SCQ",
-              "createTime": "2023-10-31 16:35:07",
-              "modifyTime": "2023-10-31 16:35:07",
-              "options": [
-                {
-                  "id": 1,
-                  "postId": 1,
-                  "questionId": 1,
-                  "name": "金城武",
-                  "num": 0
-                },
-                {
-                  "id": 2,
-                  "postId": 1,
-                  "questionId": 1,
-                  "name": "刘德华",
-                  "num": 0
-                },
-                {
-                  "id": 3,
-                  "postId": 1,
-                  "questionId": 1,
-                  "name": "张三",
-                  "num": 0
-                }
-              ],
-              "comment": 1
-            },
-            {
-              "id": 1,
-              "postId": 1,
-              "description": "帅的人,请选择以下选项",
-              "type": "MCQ",
-              "createTime": "2023-10-31 16:35:07",
-              "modifyTime": "2023-10-31 16:35:07",
-              "options": [
-                {
-                  "id": 1,
-                  "postId": 1,
-                  "questionId": 1,
-                  "name": "金城武",
-                  "num": 0
-                },
-                {
-                  "id": 2,
-                  "postId": 1,
-                  "questionId": 1,
-                  "name": "刘德华",
-                  "num": 0
-                },
-                {
-                  "id": 3,
-                  "postId": 1,
-                  "questionId": 1,
-                  "name": "张三",
-                  "num": 0
-                }
-              ],
-              "comment": [1,2],
-            },
-            {
-              "id": 2,
-              "postId": 1,
-              "description": "请问今年是什么年",
-              "type": "SAQ",
-              "createTime": "2023-11-02 14:34:03",
-              "modifyTime": "2023-11-02 14:34:03",
-              "options": [],
-              "comment": "兔年"
-            }
-          ],
-      typeList: [
-        {
-          type: 1,
-          name: "待审批",
-        },
-        {
-          type: 2,
-          name: "作废",
-        },
-        {
-          type: 3,
-          name: "通过",
-        },
-      ],
-      list: [
-      ],
-      delarr: [],
-      multipleSelection: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        postId: '',
-        title: '',
-        userName: '',
-        status: '',
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      
-     
-    }
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    checked(val){
-            if(val.flag == false){
-                if(!val.comment){
-                    this.$alert("请输入审批内容", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-    complete(flag) {
-            const parms = {
-                commentId:this.commentId,
-                comment: this.comment,
-                flag:flag,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                this.dialogFormVisible = false;
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.dialogVisible = false;
-                    this.getList();
-                })
-                .catch(() => { });
-            }
-            
-        },
-    getList() {
-      this.listLoading = true
-      approvalList(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    handleView(row,val){
-      this.postId = row.postId;
-      this.commentId = row.id;
-      let loginId = row.loginId;
-      getDetailInfo({postId:row.postId,userId:loginId}).then(response => {
-        this.data = response.data.data.data;
-        this.data.forEach(item => {
-          if (item.type == "MCQ") {
-            item.comment = item.comment.split(',');
-          }
-        });
-        this.dialogStatus = val;
-        this.dialogFormVisible = true;
-      }).catch(() => {})
-    },
-    completeAll() {
-      this.$confirm("确认删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          const length = this.multipleSelection.length;
-
-          if (length > 0) {
-            for (let i = 0; i < length; i++) {
-              this.delarr.push(this.multipleSelection[i].postId);
-            }
-            const postIds = this.delarr.join(",");
-            deleteitem({ postIds: postIds })
-              .then(() => {
-                this.$notify({
-                  title: "成功",
-                  message: "删除成功",
-                  type: "success",
-                  duration: 2000,
-                });
-                this.getList();
-              })
-              .catch(() => { });
-          } else {
-            this.$notify({
-              title: "警告提示",
-              message: "请选择要删除的信息!",
-              type: "warning",
-            });
-          }
-        })
-        .catch(() => { });
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
-  }
-}
-</script>
-<style>
-.myText {
-    display: block;
-    resize: vertical;
-    padding: 5px 15px;
-    line-height: 1.5;
-    box-sizing: border-box;
-    width: 100%;
-    font-size: 14px;
-    color: #606266;
-    background-color: #FFF;
-    background-image: none;
-    border: 1px solid #DCDFE6;
-    border-radius: 4px;
-    transition: border-color .2s cubic-bezier(.645,.045,.355,1);
-}
-.myRadio{
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    white-space:normal !important;
-    margin: 10px !important;
-}
-.flex-column{
-    display: flex;
-    flex-flow: column nowrap;
-    align-items: flex-start;
-}
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-  

+ 0 - 641
src/views/postManage/postList.vue

@@ -1,641 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="标题"
-                v-model="listQuery.title"></el-input>
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="标题" prop="title">
-            </el-table-column>
-            
-            <el-table-column align="center" min-width="80px" label="类型" prop="typeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="积分" prop="integral">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="截止日期" prop="deadline">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="创建日期" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="状态" prop="statusName">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeState(scope.row.id, 1)">开启</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeState(scope.row.id, 0)">关闭</el-button>
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row.id, -1)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="65%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:750px;margin-left:50px;'>
-                <el-form-item label="标题" prop="title">
-                    <el-input v-model="dataForm.title" style="width: 100%"></el-input>
-                </el-form-item>
-                <el-form-item label="类型" prop="type">
-                    <el-select v-model="dataForm.type" placeholder="请选择" style="width: 100%" @change="changeType">
-                        <el-option :key="item.value" v-for="item in typeList" :label="item.name" :value="item.value">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="图片" prop="media">
-                    <el-tooltip content="建议图片宽高比120*80" placement="top-start">
-                        <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.mediaFiles" :limit="1"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                    </el-tooltip>
-                    
-                </el-form-item>
-                <el-form-item label="积分" prop="integral">
-                    <el-input-number style="width: 100%" :min="0" :step="1" v-model="dataForm.integral"></el-input-number>
-                </el-form-item>
-                <el-form-item label="截止日期" prop="deadline">
-                    <el-date-picker value-format="yyyy-MM-dd" v-model="dataForm.deadline" type="date" placeholder="请选择结束时间" style="width: 100%">
-                    </el-date-picker>
-                </el-form-item>
-                <el-form-item label="参与人">
-                    <el-select v-model="dataForm.participants" multiple filterable placeholder="请选择" style="width: 100%">
-                        <el-option :key="item.loginId" v-for="item in participantsList" :label="item.userName+'_'+item.deptName" :value="item.loginId">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="内容" prop="content">
-                    <el-input type="textarea" :rows="4" style="width: 100%" v-model="dataForm.content"></el-input>
-                </el-form-item>
-                <el-form-item label="问题类型" prop="questions">
-                    <el-select v-model="qesType" placeholder="请选择" style="width: 84%">
-                        <el-option :key="item.value" v-for="item in qesTypeList" :label="item.name" :value="item.value">
-                        </el-option>
-                    </el-select>
-                    <el-button type="success" @click="addquest">添加问题</el-button>
-                </el-form-item>
-                <div style="margin: 50px 0;" v-for="(item,index) in dataForm.questions" :key="index">
-                    <el-form-item v-if="item.type=='SCQ'" :label="'问题'+(index+1)+'(单选)'">
-                        <el-input v-model="item.description" style="width: 67%"></el-input>
-                        <el-button type="primary" @click="additem(index)">添加选项</el-button>
-                        <el-button type="danger" @click="delectquest(index)">删除问题</el-button>
-                    </el-form-item>
-                    <el-form-item v-if="item.type=='MCQ'" :label="'问题'+(index+1)+'(多选)'">
-                        <el-input v-model="item.description" style="width: 67%"></el-input>
-                        <el-button type="primary" @click="additem(index)">添加选项</el-button>
-                        <el-button type="danger" @click="delectquest(index)">删除问题</el-button>
-                    </el-form-item>
-                    <el-form-item v-if="item.type=='SAQ'" :label="'问题'+(index+1)+'(问答)'">
-                        <el-input v-model="item.description" style="width: 84%"></el-input>
-                        <el-button type="danger" @click="delectquest(index)">删除问题</el-button>
-                    </el-form-item>
-                    <div v-for="(val,childindex) in item.options" :key="childindex">
-                        <el-form-item :label="'选项'+(childindex+1)">
-                            <el-input v-model="val.name" style="width: 84%"></el-input>
-                            <el-button type="danger" @click="delectitem(index,childindex)">删除选项</el-button>
-                        </el-form-item>
-                    </div>
-                   
-                </div>
-               
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { create, update, getList, changeState, getDetailInfo } from "@/api/postManage";
-import { allUserList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'getList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            fileImgUrl: this.upLoadUrl,
-            qesType:'',
-            qesTypeList:[
-                {
-                    value:'SCQ',
-                    name:'单选'
-                },
-                {
-                    value:'MCQ',
-                    name:'多选'
-                },
-                {
-                    value:'SAQ',
-                    name:'问答'
-                },
-            ],
-            typeList:[
-                {
-                    value:4,
-                    name:'投票'
-                },
-                {
-                    value:5,
-                    name:'问卷调查'
-                }
-            ],
-            participantsList: [],
-            list: [
-                {
-                    title:'问卷调查标题',
-                    type:5,
-                    typeName:'问卷调查',
-                    integral:500,
-                    deadline:'2023-11-08',
-                    participants: ["13564541778","13651932750","18616396637","13817835530"],
-                    content: '2222',
-                    questions: [
-                        {
-                            description: "测试—问题1",
-                            type: "SCQ",
-                            options:[
-                                {
-                                    name: "A"
-                                },
-                                {
-                                    name: "B"
-                                },
-                                {
-                                    name: "C"
-                                },
-                                {
-                                    name: "D"
-                                }
-                            ]
-                            
-                        },
-                        {
-                            type: "MCQ",
-                            description: "测试—问题2",
-                            options: [
-                                {
-                                    name: "A"
-                                },
-                                {
-                                    name: "B"
-                                },
-                                {
-                                    name: "C"
-                                },
-                                {
-                                    name: "D"
-                                }
-                            ]
-                        },
-                        {
-                            type: "SAQ",
-                            description: "测试—问题3",
-                            options: []
-                        }
-                    ],
-                },
-                {
-                    title:'投票标题',
-                    type:4,
-                    typeName:'投票',
-                    integral:500,
-                    deadline:'2023-11-08',
-                    participants: ["13564541778","13651932750"],
-                    content: '2222',
-                    questions: [
-                        {
-                            description: "测试—问题1",
-                            type: "SCQ",
-                            options:[
-                                {
-                                    name: "A"
-                                },
-                                {
-                                    name: "B"
-                                },
-                                {
-                                    name: "C"
-                                },
-                                {
-                                    name: "D"
-                                }
-                            ]
-                            
-                        },
-                        {
-                            type: "MCQ",
-                            description: "测试—问题2",
-                            options: [
-                                {
-                                    name: "A"
-                                },
-                                {
-                                    name: "B"
-                                },
-                                {
-                                    name: "C"
-                                },
-                                {
-                                    name: "D"
-                                }
-                            ]
-                        },
-                    ],
-                },
-            ],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                title: '',
-                createTime: '',
-            },
-            dataForm: {
-                title: '',
-                type: '',
-                media: '',
-                mediaFiles: [],
-                integral: '',
-                deadline: '',
-                participants: [],
-                content: '',
-                questions: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                title: [{ required: true, message: "请填写标题", trigger: "blur" }],
-                type: [{ required: true, message: "请选择类型", trigger: "blur" }],
-                media: [{ required: true, message: "图片不能为空", trigger: "blur" }],
-                integral: [{ required: true, message: "请填写积分", trigger: "blur" }],
-                deadline: [{ required: true, message: "请选择截止日期", trigger: "blur" }],
-                content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
-                questions: [{ required: true, message: "请添加至少一个问题", trigger: "blur" }],
-            },
-        }
-    },
-    created() {
-        this.getAllUserList(); 
-        this.getList();
-    },
-    methods: {
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let mediaFiles = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                mediaFiles.push(url);
-                this.dataForm.media = mediaFiles.join(",");
-            }
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.media = ""; // 清空画廊图片数组
-
-            let mediaFiles = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    mediaFiles.push(url);
-                }
-            }
-
-            this.dataForm.media = mediaFiles.join(",");
-        },
-        //改变类型
-        changeType(val){
-            if(val==5){
-                this.qesTypeList = [
-                    {
-                        value:'SCQ',
-                        name:'单选'
-                    },
-                    {
-                        value:'MCQ',
-                        name:'多选'
-                    },
-                    {
-                        value:'SAQ',
-                        name:'问答'
-                    },
-                ];
-            }
-            if(val==4){
-                this.qesTypeList = [
-                    {
-                        value:'SCQ',
-                        name:'单选'
-                    },
-                    {
-                        value:'MCQ',
-                        name:'多选'
-                    },
-                ];
-            }
-        },
-        //添加问题
-        addquest(){
-            let tempArray = this.dataForm.questions;
-            if(this.qesType){
-                var temp0 = {
-                    type: this.qesType,
-                    description: '',
-                    options:[],
-                };
-                tempArray.push(temp0);
-                this.dataForm.questions = tempArray;
-            }else{
-                this.$message.error('请选择问题类型');
-            }
-            this.qesType = '';
-        },
-        //删除问题
-        delectquest(index){
-            let qusetion = this.dataForm.questions;
-            qusetion.splice(index, 1);
-            this.dataForm.questions = qusetion;
-        },
-        //添加选项
-        additem(index){
-            console.log(index);
-            let qusetion = this.dataForm.questions;
-            let options = qusetion[index].options;
-            options.push({ name:''});
-            this.dataForm.questions = qusetion;
-        },
-         //删除选项
-        delectitem(index,childindex){
-            console.log(index,childindex);
-            let qusetion = this.dataForm.questions;
-            let options = qusetion[index].options;
-            options.splice(childindex, 1);
-            this.dataForm.questions = qusetion;
-        },
-        resetForm() {
-            this.dataForm = {
-                title: '',
-                type: '',
-                media: '',
-                mediaFiles: [],
-                integral: '',
-                deadline: '',
-                participants: [],
-                content: '',
-                questions: [],
-            };
-        },
-        handleCreate() {
-
-            this.resetForm();
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        //验证是否为空的函数
-        ifnone_data() {
-            let stati_top = 200;
-            let qusetion = this.dataForm.questions;
-            for (let i = 0; i < qusetion.length; i++) {
-            if (qusetion[i].description == '') { 
-                stati_top = '请填写问题'; break; 
-            }
-            if (qusetion[i].type != 'SAQ') {
-                if (qusetion[i].options.length == 0) { 
-                    stati_top = '请添加选项'; break; 
-                }
-                for (let j = 0; j < qusetion[i].options.length; j++) {
-                    if (qusetion[i].options[j].name == '') { 
-                        stati_top = '请填写选项'; break; 
-                    }
-                }
-            }
-
-            }
-            return stati_top;
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                let ifnone_data = this.ifnone_data();
-                if (valid&&ifnone_data==200) {
-                    console.log(this.dataForm);
-                    create(this.dataForm)
-                            .then((response) => {
-                                this.getList();
-                                this.dialogFormVisible = false;
-                                this.$notify({
-                                    title: "成功",
-                                    message: "创建成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                }else{
-                    this.$message.error(ifnone_data);
-                }
-            });
-        },
-        handleUpdate(row) {
-            getDetailInfo({postId:row.id}).then(response => {
-                this.dataForm = response.data.data;
-                this.dataForm.questions = response.data.data.data;
-                if (this.dataForm.media) {
-                    let mediaFiles = this.dataForm.media.split(",");
-                    this.dataForm.mediaFiles = [];
-                    for (let i in mediaFiles) {
-                        let url = mediaFiles[i];
-                        let name = "image_" + i;
-
-                        this.dataForm.mediaFiles.push({
-                            name: name,
-                            url: url,
-                            response: { error: "0", data: { url: url } },
-                        });
-                    }
-                }
-                this.dialogStatus = 'update'
-                this.dialogFormVisible = true
-                this.$nextTick(() => {
-                    this.$refs["dataForm"].clearValidate();
-                });
-            }).catch(() => {})
-        },
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    update(this.dataForm).then(() => {
-                            this.dialogFormVisible = false
-                            this.$notify({
-                                title: '成功',
-                                message: '更新成功',
-                                type: 'success',
-                                duration: 2000
-                            })
-                            this.getList()
-                        })
-
-                }
-
-            })
-        },
-        changeState(postId, index) {
-            changeState({ postId: postId, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(postId, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                changeState({ postId: postId, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {})
-
-        },
-        getAllUserList() {
-            allUserList().then(response => {
-                this.participantsList = response.data.data;
-            }).catch(() => {});
-        },
-        getList() {
-            this.listLoading = true
-            getList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 488
src/views/raffleManage/raffleDataList.vue

@@ -1,488 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-select @change="changepoolId" v-model="listQuery.poolId" placeholder="奖池" class="filter-item"
-                style="width: 200px">
-                <el-option :key="item.id" v-for="item in dictNameList" :label="item.title" :value="item.id">
-                </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
-                @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-            <!-- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button> -->
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" @selection-change="handleSelectionChange"
-            element-loading-text="正在查询中。。。" border fit highlight-current-row>
-            <!-- <el-table-column type="selection" width="55px"> </el-table-column> -->
-            <el-table-column align="center" min-width="100px" label="奖品类型" prop="prizeTypeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="奖品名称" prop="prizeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="商品券">
-                <template slot-scope="scope">
-                    <span v-if="scope.row.couponVo">{{ scope.row.couponVo.couponName }}</span>
-                    <span v-else>无</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="奖励积分" prop="integral">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="奖品权重" prop="prizeWeight">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="奖品数量" prop="prizeActualStock">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="剩余数量" prop="prizeStock">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="是否大奖">
-                <template slot-scope="scope">
-                    <span v-if="scope.row.isGrandPrize == '0'">否</span>
-                    <span v-if="scope.row.isGrandPrize == '1'">是</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="状态">
-                <template slot-scope="scope">
-                    <span v-if="scope.row.status == '0'">关闭</span>
-                    <span v-else>开启</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row, false)">编辑</el-button>
-
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
-            width="40%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left"
-                label-width="80px" style='width: 700px; margin-left:50px;'>
-                <el-form-item label="奖品类型" prop="prizeType">
-                    <el-select :disabled="dialogStatus == 'update' ? true : false" v-model="dataForm.prizeType" clearable
-                        placeholder="请选择类型" class="filter-item" style="width: 300px" @change="clickPrizeType">
-                        <el-option :key="item.dictValue" v-for="item in dataTypeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="奖品名称" prop="prizeName">
-                    <el-input style="width: 300px" v-model="dataForm.prizeName"></el-input>
-                </el-form-item>
-                <el-form-item v-if="dataForm.prizeType == '10'" label="兑换券" prop="couponId">
-                    <el-select v-model="dataForm.couponId" clearable placeholder="请选择兑换券" class="filter-item"
-                        style="width: 300px">
-                        <el-option :key="item.id" v-for="item in couponsList" :label="item.couponName" :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="商品图片" prop="imgUrl">
-                    <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
-                        :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                        :on-remove="handleRemove">
-                        <i class="el-icon-plus"></i>
-                    </el-upload>
-                </el-form-item>
-                <el-form-item v-if="dataForm.prizeType == '20'" label="奖励积分" prop="integral">
-                    <el-input-number style="width: 300px" :precision="0" :step="1"
-                        v-model="dataForm.integral"></el-input-number>
-                </el-form-item>
-                <el-form-item label="奖品权重" prop="prizeWeight">
-                    <el-input-number style="width: 300px" :precision="0" :step="1"
-                        v-model="dataForm.prizeWeight"></el-input-number>
-                </el-form-item>
-                <el-form-item label="奖品数量" prop="prizeActualStock">
-                    <el-input-number style="width: 300px" :precision="0" :step="1"
-                        v-model="dataForm.prizeActualStock"></el-input-number>
-                </el-form-item>
-                <el-form-item label="是否大奖">
-                    <el-radio-group v-model="dataForm.isGrandPrize">
-                        <el-radio :label="'0'">否</el-radio>
-                        <el-radio :label="'1'">是</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-                <el-form-item label="状态">
-                    <el-radio-group v-model="dataForm.status">
-                        <el-radio :label="'0'">关闭</el-radio>
-                        <el-radio :label="'1'">开启</el-radio>
-                    </el-radio-group>
-                </el-form-item>
-
-
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-
-<script>
-import { dataList, dataAdd, dataEdit, dataRemove, optionSelect } from "@/api/raffleManage";
-import { dataTypeList, couponsList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            couponsList: [],
-            dataTypeList: [],
-            isCoupon: false,
-            poolId: '',
-            dictNameList: [],
-            list: [
-            ],
-            delarr: [],
-            multipleSelection: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                poolId: '',
-            },
-            dataForm: {
-                prizeType: undefined,
-                couponId: undefined,
-                prizeName: undefined,
-                imgUrl: undefined,
-                integral: undefined,
-                prizeWeight: undefined,
-                prizeActualStock: undefined,
-                prizeStock: undefined,
-                isGrandPrize: '0',
-                status: '0',
-                images: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                prizeType: [{ required: true, message: "请选择奖品类型", trigger: "blur" }],
-                couponId: [{ required: true, message: "请选择兑换卷", trigger: "blur" }],
-                prizeName: [{ required: true, message: "奖品名称不能为空", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "请上传奖品图片", trigger: "blur" }],
-                integral: [{ required: true, message: "奖励积分不能为空", trigger: "blur" }],
-                prizeWeight: [{ required: true, message: "奖品权重不能为空", trigger: "blur" }],
-                prizeActualStock: [{ required: true, message: "奖品数量不能为空", trigger: "blur" }],
-                prizeStock: [{ required: true, message: "剩余数量不能为空", trigger: "blur" }],
-            },
-            fileImgUrl: this.upLoadUrl,
-        }
-    },
-    created() {
-        this.poolId = this.$route.params.id;
-        this.getOptionSelect();
-        this.getDataTypeList();
-        this.getCouponsList();
-    },
-    methods: {
-        clickPrizeType() {
-            this.dataForm.couponId = undefined;
-            this.dataForm.prizeName = undefined;
-            this.dataForm.imgUrl = undefined;
-            this.dataForm.integral = undefined;
-            this.dataForm.prizeActualStock = undefined;
-            this.dataForm.prizeStock = undefined;
-            this.dataForm.isGrandPrize = '0';
-            this.dataForm.status = '0';
-            this.dataForm.images = [];
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-            }
-            this.dataForm.images = images;
-            this.dataForm.imgUrl = images.join(",");
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-            this.dataForm.images = images;
-            this.dataForm.imgUrl = images.join(",");
-        },
-        getCouponsList() {
-            couponsList({}).then(response => {
-                this.couponsList = response.data.data;
-            }).catch(() => { });
-        },
-        getDataTypeList() {
-            dataTypeList({ dictType: 'prize_type' }).then(response => {
-                this.dataTypeList = response.data.data;
-            }).catch(() => { });
-        },
-        changepoolId(val) {
-            this.poolId = val;
-            this.listQuery.poolId = val;
-            this.getList();
-        },
-        getOptionSelect() {
-            optionSelect().then(response => {
-                this.dictNameList = response.data.data;
-                this.listQuery.poolId = this.poolId;
-                this.getList();
-            }).catch(() => { })
-        },
-        resetForm() {
-            this.dataForm = {
-                prizeType: undefined,
-                couponId: undefined,
-                prizeName: undefined,
-                imgUrl: undefined,
-                integral: undefined,
-                prizeWeight: undefined,
-                prizeActualStock: undefined,
-                prizeStock: undefined,
-                isGrandPrize: '0',
-                status: '0',
-                images: [],
-            };
-        },
-        handleCreate() {
-            this.resetForm();
-            this.dataForm.poolId = this.poolId;
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    dataAdd(this.dataForm)
-                        .then(() => {
-                            this.dialogFormVisible = false;
-                            this.$notify({
-                                title: "成功",
-                                message: "创建成功",
-                                type: "success",
-                                duration: 2000,
-                            });
-                            this.getList()
-                        })
-                }
-            });
-        },
-        getList() {
-            this.listLoading = true
-            dataList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {
-                this.list = []
-                this.total = 0
-                this.listLoading = false
-            })
-        },
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    dataEdit(this.dataForm).then(() => {
-                        this.dialogFormVisible = false
-                        this.$notify({
-                            title: '成功',
-                            message: '更新成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                        this.getList()
-                    })
-
-                }
-            })
-        },
-
-        handleDelete(row) {
-
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                dataRemove({ prizeIds: row.id }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    const index = this.list.indexOf(row)
-                    this.list.splice(index, 1)
-                })
-            }).catch(() => {
-
-            })
-
-        },
-        delAll() {
-            this.$confirm("确认删除吗?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    const length = this.multipleSelection.length;
-
-                    if (length > 0) {
-                        for (let i = 0; i < length; i++) {
-                            this.delarr.push(this.multipleSelection[i].id);
-                        }
-                        const ids = this.delarr.join(",");
-                        dataRemove({ prizeIds: ids })
-                            .then(() => {
-                                this.$notify({
-                                    title: "成功",
-                                    message: "删除成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                    } else {
-                        this.$notify({
-                            title: "警告提示",
-                            message: "请选择要删除的信息!",
-                            type: "warning",
-                        });
-                    }
-                })
-                .catch(() => { });
-        },
-        handleSelectionChange(val) {
-            this.multipleSelection = val;
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>

+ 0 - 370
src/views/raffleManage/raffleList.vue

@@ -1,370 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入奖池名称" v-model="listQuery.title"></el-input>
-      <el-select v-model="listQuery.status" clearable placeholder="状态" class="filter-item" style="width: 200px">
-          <el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
-          </el-option>
-      </el-select>
-      <el-select v-model="listQuery.prizePoolType" clearable placeholder="奖池类型" class="filter-item" style="width: 200px">
-                        <el-option :key="item.dictValue" v-for="item in prizePoolTypeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-      <!-- <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button> -->
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table
-      size="small"
-      :data="list"
-      @selection-change="handleSelectionChange"
-      v-loading="listLoading"
-      element-loading-text="正在查询中。。。"
-      border
-      fit
-      highlight-current-row
-    >
-      <!-- <el-table-column type="selection" width="55px"> </el-table-column> -->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="奖池名称">
-        <template slot-scope="scope">
-              <router-link :to="{name: 'raffleDataList', params: { id: scope.row.id }}">
-                  <div style="color: #337ab7;cursor: pointer;">{{ scope.row.title }}</div>
-              </router-link>
-          </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="状态">
-            <template slot-scope="scope">
-                <span v-if="scope.row.status === '1'">开启</span>
-                <span v-else>关闭</span>
-            </template>
-            
-        </el-table-column>
-      <el-table-column align="center" min-width="200px" label="备注" prop="content">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            type="primary"
-            size="small"
-            @click="handleUpdate(scope.row, false)"
-            >编辑</el-button
-          >
-
-          <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <el-dialog
-    :close-on-click-modal="false"
-      :title="textMap[dialogStatus]"
-      :visible.sync="dialogFormVisible"
-      width="40%"
-    >
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px" style='width: 700px; margin-left:50px;'>
-          <el-form-item  label="奖池名称" prop="title">
-            <el-input style="width: 300px" v-model="dataForm.title"></el-input>
-          </el-form-item>
-          <el-form-item label="奖池类型" prop="prizePoolType">
-                    <el-select v-model="dataForm.prizePoolType" filterable placeholder="请选择" style="width: 300px"
-                        value-key="value">
-                        <el-option :key="item.dictValue" v-for="item in prizePoolTypeList" :label="item.dictLabel"
-                            :value="item.dictValue">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-          <el-form-item  label="状态">
-              <el-radio-group v-model="dataForm.status">
-                  <el-radio :label="'0'">关闭</el-radio>
-                  <el-radio :label="'1'">开启</el-radio>
-              </el-radio-group>
-          </el-form-item>
-          <el-form-item  label="备注">
-            <el-input type="textarea" :rows="2" style="width: 300px" v-model="dataForm.content"></el-input>
-          </el-form-item>
-          
-          
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import { list, createItem, updateItem, deleteitem } from "@/api/raffleManage";
-  import { dataTypeList } from "@/api/public";
-  import waves from "@/directive/waves"; // 水波纹指令
-  import Tinymce from '@/components/Tinymce'
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      prizePoolTypeList: [],
-      typeList: [
-      {
-        type: "1",
-        name: "开启",
-      },
-      {
-        type: "0",
-        name: "关闭",
-      },
-    ],
-      list: [
-        
-      ],
-      delarr: [],
-      multipleSelection: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        title: '',
-        status: '',
-        prizePoolType:'',
-      },
-      dataForm: {
-        title: undefined,
-        prizePoolType: undefined,
-        status: '1',
-        content: undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: "编辑",
-        create: "创建",
-      },
-      imageUrl: undefined,
-      rules: {
-        title: [{ required: true, message: "字典名称不能为空", trigger: "blur" }],
-        prizePoolType: [{ required: true, message: "请选择奖池类型", trigger: "blur" }],
-      },
-    }
-  },
-  created() {
-    this.getprizePoolTypeList();
-    this.getList();
-  },
-  methods: {
-    getprizePoolTypeList(){
-            dataTypeList({dictType:'prize_pool_type'}).then(response => {
-                this.prizePoolTypeList = response.data.data;
-            }).catch(() => {});
-        },
-    resetForm() {
-      this.dataForm = {
-          title: undefined,
-          prizePoolType: undefined,
-          status: '1',
-          content: undefined,
-      };
-    },
-    handleCreate() {
-      this.resetForm();
-      this.dialogFormVisible = true;
-      this.dialogStatus = "create";
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-    createData() {
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          createItem(this.dataForm)
-                .then(() => {
-                  this.getList();
-                  this.dialogFormVisible = false;
-
-                  this.$notify({
-                    title: "成功",
-                    message: "创建成功",
-                    type: "success",
-                    duration: 2000,
-                  });
-                  this.getList()
-                })
-        }
-      });
-    },
-    getList() {
-      this.listLoading = true
-      list(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row);
-      this.dataForm.prizePoolType = row.prizePoolType.toString();
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateItem(this.dataForm).then(() => {
-              this.dialogFormVisible = false
-              this.$notify({
-                title: '成功',
-                message: '更新成功',
-                type: 'success',
-                duration: 2000
-              })
-              this.getList()
-            })
-          
-        }
-      })
-    },
-
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteitem({poolId:row.id}).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          this.getList()
-        })
-      }).catch(() => {
-
-      })
-
-    },
-    delAll() {
-          this.$confirm("确认删除吗?", "提示", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning",
-          })
-              .then(() => {
-                  const length = this.multipleSelection.length;
-
-                  if (length > 0) {
-                      for (let i = 0; i < length; i++) {
-                          this.delarr.push(this.multipleSelection[i].dictId);
-                      }
-                      const dictIds = this.delarr.join(",");
-                      deleteitem({ dictIds: dictIds })
-                          .then(() => {
-                              this.$notify({
-                                  title: "成功",
-                                  message: "删除成功",
-                                  type: "success",
-                                  duration: 2000,
-                              });
-                              this.getList();
-                          })
-                          .catch(() => { });
-                  } else {
-                      this.$notify({
-                          title: "警告提示",
-                          message: "请选择要删除的信息!",
-                          type: "warning",
-                      });
-                  }
-              })
-              .catch(() => { });
-      },
-      handleSelectionChange(val) {
-          this.multipleSelection = val;
-      },
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 146
src/views/raffleManage/raffleLogsList.vue

@@ -1,146 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工"
-                v-model="listQuery.userName"></el-input>
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="活动名称"
-                v-model="listQuery.actTitle"></el-input>
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary"  :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="180px" label="部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="活动名称" prop="actTitle">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="奖品" prop="prizeName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="获取日期" prop="createTime">
-            </el-table-column>
-           
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { logsList } from "@/api/raffleManage";
-import waves from "@/directive/waves"; // 水波纹指令
-
-export default {
-    directives: { waves },
-    data() {
-        return {
-            list: [],
-            total: 0,
-            listLoading: false,
-            downloadLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                userName: '',
-                actTitle:'',
-                createTime: '',
-            },
-        }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-        handleDownload() {
-            window.location.href = process.env.BASE_API + '/mall-prize/export/log?userName=' + this.listQuery.userName + '&actTitle=' + this.listQuery.actTitle + '&createTime=' + this.listQuery.createTime;
-        },
-        getList() {
-            this.listLoading = true
-            logsList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 176
src/views/ranking/rankingList.vue

@@ -1,176 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.userName"></el-input>
-            <el-select v-model="listQuery.type" placeholder="排行类型" style="top: -4px;width: 200px;">
-                <el-option :key="item.type" v-for="item in orderTypeList" :label="item.name" :value="item.type">
-                </el-option>
-            </el-select>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <!-- <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button> -->
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="排行" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="60px" label="头像">
-                <template slot-scope="props">
-                    <img style="width: 50px; height: 50px;border-radius: 50%;" :src="httpFile + props.row.headImage">
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="160px" label="公司主体" prop="companyName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="积分" prop="integral">
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { list } from "@/api/rankingList";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            httpFile:'',
-            orderTypeList: [
-                {
-                    type: 0,
-                    name: '当前积分'
-                },
-                {
-                    type: 1,
-                    name: '获取总积分'
-                },
-            ],
-            list: [
-                {
-                    id:'1',
-                    avatarUrl:'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
-                    userName:'张三',
-                    company:'神州通誉(洛阳)科技有限公司',
-                    deptName:'软件工程院',
-                    integral:'12000'
-                },
-                {
-                    id:'2',
-                    avatarUrl:'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
-                    userName:'张三',
-                    company:'神州通誉(洛阳)科技有限公司',
-                    deptName:'软件工程院',
-                    integral:'12000'
-                },
-                {
-                    id:'3',
-                    avatarUrl:'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
-                    userName:'张三',
-                    company:'神州通誉(洛阳)科技有限公司',
-                    deptName:'软件工程院',
-                    integral:'12000'
-                },
-            ],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                type: 0,
-                userName: '',
-            },
-        }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?userName=' + this.listQuery.userName + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title;
-        },
-        getList() {
-            this.listLoading = true
-            list(this.listQuery).then(response => {
-                this.httpFile = response.data.data.httpFile
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 149
src/views/rankingManage/answerRanking.vue

@@ -1,149 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.userName"></el-input>
-                <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <!-- <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button> -->
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column align="center" min-width="50px" label="排行" prop="rownum">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="正确数" prop="rightQuantities">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="用时(毫秒)" prop="answerTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="答题时间" prop="answerDate">
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { answerList } from "@/api/rankingList";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            httpFile:'',
-            list: [
-            ],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                createTime: this.getCurrentDate(),
-                userName: '',
-            },
-        }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-        getCurrentDate() {
-            let now = new Date();
-            let year = now.getFullYear();
-            let month = now.getMonth() + 1;
-            let day = now.getDate();
-            return year + "-" + month + "-" + day;
-        },
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?userName=' + this.listQuery.userName + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title;
-        },
-        getList() {
-            this.listLoading = true
-            answerList(this.listQuery).then(response => {
-                this.httpFile = response.data.data.httpFile
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 145
src/views/rankingManage/gameRanking.vue

@@ -1,145 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container exchangeView">
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="员工名称"
-                v-model="listQuery.userName"></el-input>
-                <el-date-picker
-                        style="width: 220px; margin-right: 30px;"
-                        class="filter-item"
-                        v-model="listQuery.createTime"
-                        value-format="yyyy-MM-dd"
-                        type="week"
-                        format="yyyy 第 WW 周"
-                        placeholder="选择周">
-                        </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <!-- <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button> -->
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column align="center" min-width="50px" label="排行" prop="rownum">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="员工名称" prop="userName">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="部门名称" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="得分" prop="actuaMoney">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="游戏时间" prop="createTime">
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { gameList } from "@/api/rankingList";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            httpFile:'',
-            orderTypeList: [
-            ],
-            list: [
-
-            ],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                createTime: '',
-                userName: '',
-            },
-        }
-    },
-    created() {
-        this.getList();
-    },
-    methods: {
-        handleDownLoad(){
-            window.location.href = process.env.BASE_API + '/mall-order/exportOrderLog?userName=' + this.listQuery.userName + '&orderSeq=' + this.listQuery.orderSeq + '&orderType=' + this.listQuery.orderType + '&title=' + this.listQuery.title;
-        },
-        getList() {
-            this.listLoading = true
-            gameList(this.listQuery).then(response => {
-                this.httpFile = response.data.data.httpFile
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-  

+ 0 - 385
src/views/trainManage/ceoTrainList.vue

@@ -1,385 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="培训主题"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-        v-model="listQuery.userName"></el-input>
-      <el-select v-model="listQuery.status" disabled clearable placeholder="审批状态" style="top: -4px; width: 200px">
-        <el-option :key="item.dictValue" v-for="item in statusTypeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" prop="title" min-width="100" label="培训主题">
-      </el-table-column>
-      <!-- <el-table-column align="center" prop="startTime" min-width="150" label="培训开始时间">
-      </el-table-column>
-      <el-table-column align="center" prop="endTime" min-width="150" label="培训结束时间">
-      </el-table-column> -->
-      <el-table-column align="center" prop="lecturerName" min-width="150" label="培训讲师">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="讲师积分" prop="lecturerIntegral">
-      </el-table-column>
-      <el-table-column align="center" min-width="120px" label="参加人积分" prop="traineeIntegral">
-      </el-table-column>
-     
-      <el-table-column align="center" min-width="80px" label="上传人" prop="candidateName">
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="部门" prop="candidateDeptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="日期" prop="createTime">
-      </el-table-column>
-      <!-- <el-table-column align="center" min-width="200px" label="培训材料">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.materialFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="签到表照片">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.signPhotoFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="现场照片">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.sitePhotoFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column min-width="100" align="center" label="培训描述">
-        <template slot-scope="props">
-          <el-popover width="400" trigger="hover" :content="props.row.content">
-            <div slot="reference" class="text-overflow">{{ props.row.content }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100" label="参加人员">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.trainees" border size="mini">
-              <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">
-              {{ props.row.trainees[0].userName }}
-            </span>
-          </el-popover>
-        </template>
-      </el-table-column> -->
-      <el-table-column align="center" min-width="120px" label="审核状态" prop="statusName">
-        <!-- <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.trainLogs" border size="mini">
-              <el-table-column min-width="120" align="center" prop="auditor" label="处理人"></el-table-column>
-              <el-table-column min-width="160" align="center" prop="comment" label="处理结果"></el-table-column>
-              <el-table-column min-width="180" align="center" prop="createTime" label="处理时间"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">{{ props.row.statusName }}</span>
-          </el-popover>
-        </template> -->
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="160px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="success" size="small" @click="handleClickView(scope.row, 'complete')">处理</el-button>
-          </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-     <!-- 添加或修改对话框 -->
-     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-      <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-        <div style="display: flex;">
-
-          <el-form-item label="培训主题">
-            <el-input disabled v-model="detailData.title"></el-input>
-          </el-form-item>
-          <el-form-item label="培训开始时间">
-            <el-input disabled v-model="detailData.startTime"></el-input>
-          </el-form-item>
-          <el-form-item label="培训结束时间">
-            <el-input disabled v-model="detailData.endTime"></el-input>
-          </el-form-item>
-        </div>
-
-        <div style="display: flex;">
-          <el-form-item label="培训讲师">
-            <el-input disabled v-model="detailData.lecturerName"></el-input>
-          </el-form-item>
-          <el-form-item label="讲师积分">
-            <el-input disabled v-model="detailData.lecturerIntegral"></el-input>
-          </el-form-item>
-          <el-form-item label="参加人积分">
-            <el-input disabled v-model="detailData.traineeIntegral"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="上传人">
-            <el-input disabled v-model="detailData.candidateName"></el-input>
-          </el-form-item>
-          <el-form-item label="部门">
-            <el-input disabled v-model="detailData.candidateDeptName"></el-input>
-          </el-form-item>
-          <el-form-item label="日期">
-            <el-input disabled v-model="detailData.createTime"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="培训材料">
-            <div v-for="(item, index) in detailData.materialFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-          <el-form-item label="签到表照片">
-            <div v-for="(item, index) in detailData.signPhotoFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-          <el-form-item label="现场照片">
-            <div v-for="(item, index) in detailData.sitePhotoFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-        </div>
-        <h3></h3>
-        <el-form-item label="培训描述">
-          <el-input disabled type="textarea" v-model="detailData.content" style="width: 100%"></el-input>
-        </el-form-item>
-      </el-form>
-      <h4>参加人员</h4>
-      <el-table :data="detailData.trainees" border style="width: 100%">
-        <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-      </el-table>
-      <h4>审批状态</h4>
-      <el-table :data="detailData.trainLogs" border style="width: 100%">
-        <el-table-column align="center" prop="auditor" label="处理人" width="180">
-        </el-table-column>
-
-        <el-table-column align="center" prop="comment" label="处理结果">
-        </el-table-column>
-        <el-table-column align="center" prop="createTime" label="处理时间" width="180">
-        </el-table-column>
-      </el-table>
-      <el-form style="margin-top: 20px;" :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px">
-                <el-form-item label="讲师积分" prop="lecturerIntegral">
-                  <el-input-number style="width: 100%;" :min="1" :step="1" v-model="dataForm.lecturerIntegral"></el-input-number>
-                </el-form-item>
-                <el-form-item label="参加人积分" prop="traineeIntegral">
-                  <el-input-number style="width: 100%;" :min="1" :step="1" v-model="dataForm.traineeIntegral"></el-input-number>
-                </el-form-item>
-                <el-form-item label="审批意见" prop="content">
-                  <el-input type="textarea" :rows="2" placeholder="请输入审批意见" v-model="dataForm.content"></el-input>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="complete(true)">同意</el-button>
-                <el-button type="danger" @click="complete(false)">驳回</el-button>
-            </div>
-    </el-dialog>
-  </div>
-</template>
-    
-<style>
-.text-overflow {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-}
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-    
-<script>
-import {
-  complete,
-  trainList,
-} from "@/api/trainManage.js";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      dataForm: {
-        lecturerIntegral:'',
-        traineeIntegral:'',
-        content: ''
-      },
-      rules: {
-        lecturerIntegral: [{ required: true, message: "请填写积分", trigger: "blur" }],
-        traineeIntegral: [{ required: true, message: "请填写积分", trigger: "blur" }],
-      },
-      dialogVisible: false,
-      statusTypeList: [],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        title: '',
-        userName: '',
-        status: "30",
-      },
-      dialogVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      detailData: {},
-    };
-  },
-  created() {
-    this.getStatusTypeList();
-    this.getList();
-  },
-  methods: {
-    handleClickView(row, tag) {
-      console.log(row);
-      this.dialogStatus = tag;
-      this.detailData = row;
-      this.dialogVisible = true;
-      this.id = row.id;
-        this.$nextTick(() => {
-            this.dataForm.content = '';
-            this.$refs["dataForm"].clearValidate();
-        });
-    },
-    
-    checked(val){
-            if(val.flag == false){
-                if(!val.comment){
-                    this.$alert("请输入审批内容", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-            return true;
-        },
-    complete(flag) {
-            const parms = {
-                trainInfoId:this.id,
-                lecturerIntegral:this.dataForm.lecturerIntegral,
-                traineeIntegral:this.dataForm.traineeIntegral,
-                comment: this.dataForm.content,
-                flag:flag,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.dialogVisible = false;
-                    this.getList();
-                })
-                .catch(() => { });
-            }
-            
-        },
-    
-    getStatusTypeList() {
-      dataTypeList({ dictType: 'train_complete_status' }).then(response => {
-        this.statusTypeList = response.data.data;
-      }).catch(() => { });
-    },
-    getList() {
-      this.listLoading = true;
-      trainList(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-    

+ 0 - 374
src/views/trainManage/operateTrainList.vue

@@ -1,374 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="培训主题"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-        v-model="listQuery.userName"></el-input>
-      <el-select v-model="listQuery.status" disabled clearable placeholder="审批状态" style="top: -4px; width: 200px">
-        <el-option :key="item.dictValue" v-for="item in statusTypeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" prop="title" min-width="100" label="培训主题">
-      </el-table-column>
-      <!-- <el-table-column align="center" prop="startTime" min-width="150" label="培训开始时间">
-      </el-table-column>
-      <el-table-column align="center" prop="endTime" min-width="150" label="培训结束时间">
-      </el-table-column> -->
-      <el-table-column align="center" prop="lecturerName" min-width="150" label="培训讲师">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="讲师积分" prop="lecturerIntegral">
-      </el-table-column>
-      <el-table-column align="center" min-width="120px" label="参加人积分" prop="traineeIntegral">
-      </el-table-column>
-     
-      <el-table-column align="center" min-width="80px" label="上传人" prop="candidateName">
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="部门" prop="candidateDeptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="日期" prop="createTime">
-      </el-table-column>
-      <!-- <el-table-column align="center" min-width="200px" label="培训材料">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.materialFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="签到表照片">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.signPhotoFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="现场照片">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.sitePhotoFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column min-width="100" align="center" label="培训描述">
-        <template slot-scope="props">
-          <el-popover width="400" trigger="hover" :content="props.row.content">
-            <div slot="reference" class="text-overflow">{{ props.row.content }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100" label="参加人员">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.trainees" border size="mini">
-              <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">
-              {{ props.row.trainees[0].userName }}
-            </span>
-          </el-popover>
-        </template>
-      </el-table-column> -->
-      <el-table-column align="center" min-width="120px" label="审核状态" prop="statusName">
-        <!-- <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.trainLogs" border size="mini">
-              <el-table-column min-width="120" align="center" prop="auditor" label="处理人"></el-table-column>
-              <el-table-column min-width="160" align="center" prop="comment" label="处理结果"></el-table-column>
-              <el-table-column min-width="180" align="center" prop="createTime" label="处理时间"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">{{ props.row.statusName }}</span>
-          </el-popover>
-        </template> -->
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="160px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="success" size="small" @click="handleClickView(scope.row, 'complete')">处理</el-button>
-          </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-     <!-- 添加或修改对话框 -->
-     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-      <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-        <div style="display: flex;">
-
-          <el-form-item label="培训主题">
-            <el-input disabled v-model="detailData.title"></el-input>
-          </el-form-item>
-          <el-form-item label="培训开始时间">
-            <el-input disabled v-model="detailData.startTime"></el-input>
-          </el-form-item>
-          <el-form-item label="培训结束时间">
-            <el-input disabled v-model="detailData.endTime"></el-input>
-          </el-form-item>
-        </div>
-
-        <div style="display: flex;">
-          <el-form-item label="培训讲师">
-            <el-input disabled v-model="detailData.lecturerName"></el-input>
-          </el-form-item>
-          <el-form-item label="讲师积分">
-            <el-input disabled v-model="detailData.lecturerIntegral"></el-input>
-          </el-form-item>
-          <el-form-item label="参加人积分">
-            <el-input disabled v-model="detailData.traineeIntegral"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="上传人">
-            <el-input disabled v-model="detailData.candidateName"></el-input>
-          </el-form-item>
-          <el-form-item label="部门">
-            <el-input disabled v-model="detailData.candidateDeptName"></el-input>
-          </el-form-item>
-          <el-form-item label="日期">
-            <el-input disabled v-model="detailData.createTime"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="培训材料">
-            <div v-for="(item, index) in detailData.materialFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-          <el-form-item label="签到表照片">
-            <div v-for="(item, index) in detailData.signPhotoFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-          <el-form-item label="现场照片">
-            <div v-for="(item, index) in detailData.sitePhotoFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-        </div>
-        <h3></h3>
-        <el-form-item label="培训描述">
-          <el-input disabled type="textarea" v-model="detailData.content" style="width: 100%"></el-input>
-        </el-form-item>
-      </el-form>
-      <h4>参加人员</h4>
-      <el-table :data="detailData.trainees" border style="width: 100%">
-        <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-      </el-table>
-      <h4>审批状态</h4>
-      <el-table :data="detailData.trainLogs" border style="width: 100%">
-        <el-table-column align="center" prop="auditor" label="处理人" width="180">
-        </el-table-column>
-
-        <el-table-column align="center" prop="comment" label="处理结果">
-        </el-table-column>
-        <el-table-column align="center" prop="createTime" label="处理时间" width="180">
-        </el-table-column>
-      </el-table>
-      <el-form style="margin-top: 20px;" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px">
-                <el-form-item label="审批意见" prop="content">
-                  <el-input type="textarea" :rows="2" placeholder="请输入审批意见" v-model="dataForm.content"></el-input>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="complete(true)">同意</el-button>
-                <el-button type="danger" @click="complete(false)">驳回</el-button>
-            </div>
-    </el-dialog>
-  </div>
-</template>
-    
-<style>
-.text-overflow {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-}
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-    
-<script>
-import {
-  complete,
-  trainList,
-} from "@/api/trainManage.js";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      dataForm: {
-        content: ''
-      },
-      dialogVisible: false,
-      statusTypeList: [],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        title: '',
-        userName: '',
-        status: "20",
-      },
-      dialogVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      detailData: {},
-    };
-  },
-  created() {
-
-
-    this.getStatusTypeList();
-    this.getList();
-  },
-  methods: {
-    handleClickView(row, tag) {
-      console.log(row);
-      this.dialogStatus = tag;
-      this.detailData = row;
-      this.dialogVisible = true;
-      this.id = row.id;
-        this.$nextTick(() => {
-            this.dataForm.content = '';
-            this.$refs["dataForm"].clearValidate();
-        });
-    },
-    checked(val){
-            if(val.flag == false){
-                if(!val.comment){
-                    this.$alert("请输入审批内容", "提示", {
-                        confirmButtonText: "确定",
-                    });
-                    return false;
-                }
-            }
-           
-            return true;
-        },
-    complete(flag) {
-            const parms = {
-                trainInfoId:this.id,
-                comment: this.dataForm.content,
-                flag:flag,
-            }
-            const isChecked = this.checked(parms);
-            if(isChecked){
-                complete(parms).then((response) => {
-                    this.$notify({
-                        title: "成功",
-                        message: "操作成功",
-                        type: "success",
-                        duration: 2000,
-                    });
-                    this.dialogVisible = false;
-                    this.getList();
-                })
-                .catch(() => { });
-            }
-            
-        },
-  
-  
-    getStatusTypeList() {
-      dataTypeList({ dictType: 'train_complete_status' }).then(response => {
-        this.statusTypeList = response.data.data;
-      }).catch(() => { });
-    },
-    getList() {
-      this.listLoading = true;
-      trainList(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-    

+ 0 - 328
src/views/trainManage/trainList.vue

@@ -1,328 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="培训主题"
-        v-model="listQuery.title"></el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="上传人"
-        v-model="listQuery.userName"></el-input>
-      <el-select v-model="listQuery.status" clearable placeholder="审批状态" style="top: -4px; width: 200px">
-        <el-option :key="item.dictValue" v-for="item in statusTypeList" :label="item.dictLabel" :value="item.dictValue">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" prop="title" min-width="100" label="培训主题">
-      </el-table-column>
-      <!-- <el-table-column align="center" prop="startTime" min-width="150" label="培训开始时间">
-      </el-table-column>
-      <el-table-column align="center" prop="endTime" min-width="150" label="培训结束时间">
-      </el-table-column> -->
-      <el-table-column align="center" prop="lecturerName" min-width="150" label="培训讲师">
-      </el-table-column>
-      <el-table-column align="center" min-width="80px" label="讲师积分" prop="lecturerIntegral">
-      </el-table-column>
-      <el-table-column align="center" min-width="120px" label="参加人积分" prop="traineeIntegral">
-      </el-table-column>
-     
-      <el-table-column align="center" min-width="80px" label="上传人" prop="candidateName">
-      </el-table-column>
-      <el-table-column align="center" min-width="250px" label="部门" prop="candidateDeptName">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="日期" prop="createTime">
-      </el-table-column>
-      <!-- <el-table-column align="center" min-width="200px" label="培训材料">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.materialFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="签到表照片">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.signPhotoFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="200px" label="现场照片">
-        <template slot-scope="props">
-          <div v-for="(item, index) in props.row.sitePhotoFiles" :key="index">
-            <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-          </div>
-        </template>
-      </el-table-column>
-      <el-table-column min-width="100" align="center" label="培训描述">
-        <template slot-scope="props">
-          <el-popover width="400" trigger="hover" :content="props.row.content">
-            <div slot="reference" class="text-overflow">{{ props.row.content }}</div>
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100" label="参加人员">
-        <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.trainees" border size="mini">
-              <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-              <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">
-              {{ props.row.trainees[0].userName }}
-            </span>
-          </el-popover>
-        </template>
-      </el-table-column> -->
-      <el-table-column align="center" min-width="120px" label="审核状态" prop="statusName">
-        <!-- <template slot-scope="props">
-          <el-popover trigger="hover">
-            <el-table :data="props.row.trainLogs" border size="mini">
-              <el-table-column min-width="120" align="center" prop="auditor" label="处理人"></el-table-column>
-              <el-table-column min-width="160" align="center" prop="comment" label="处理结果"></el-table-column>
-              <el-table-column min-width="180" align="center" prop="createTime" label="处理时间"></el-table-column>
-            </el-table>
-            <span style="color: #1e80ff;cursor: pointer;" slot="reference">{{ props.row.statusName }}</span>
-          </el-popover>
-        </template> -->
-      </el-table-column>
-      <el-table-column align="center" label="操作" width="80px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleClick(scope.row, 'view')">查看</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-    <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogVisible" :close-on-click-modal="false" width="70%">
-      <el-form status-icon label-position="center" label-width="100px" style="width:100%;">
-        <div style="display: flex;">
-
-          <el-form-item label="培训主题">
-            <el-input disabled v-model="detailData.title"></el-input>
-          </el-form-item>
-          <el-form-item label="培训开始时间">
-            <el-input disabled v-model="detailData.startTime"></el-input>
-          </el-form-item>
-          <el-form-item label="培训结束时间">
-            <el-input disabled v-model="detailData.endTime"></el-input>
-          </el-form-item>
-        </div>
-
-        <div style="display: flex;">
-          <el-form-item label="培训讲师">
-            <el-input disabled v-model="detailData.lecturerName"></el-input>
-          </el-form-item>
-          <el-form-item label="讲师积分">
-            <el-input disabled v-model="detailData.lecturerIntegral"></el-input>
-          </el-form-item>
-          <el-form-item label="参加人积分">
-            <el-input disabled v-model="detailData.traineeIntegral"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="上传人">
-            <el-input disabled v-model="detailData.candidateName"></el-input>
-          </el-form-item>
-          <el-form-item label="部门">
-            <el-input disabled v-model="detailData.candidateDeptName"></el-input>
-          </el-form-item>
-          <el-form-item label="日期">
-            <el-input disabled v-model="detailData.createTime"></el-input>
-          </el-form-item>
-        </div>
-        <div style="display: flex;">
-          <el-form-item label="培训材料">
-            <div v-for="(item, index) in detailData.materialFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-          <el-form-item label="签到表照片">
-            <div v-for="(item, index) in detailData.signPhotoFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-          <el-form-item label="现场照片">
-            <div v-for="(item, index) in detailData.sitePhotoFiles" :key="index" style="width: 192px;">
-              <a style="color: #1e80ff;" target="_blank" :href="item.url">{{ item.oldName }}</a>
-            </div>
-          </el-form-item>
-        </div>
-        <h3></h3>
-        <el-form-item label="培训描述">
-          <el-input disabled type="textarea" v-model="detailData.content" style="width: 100%"></el-input>
-        </el-form-item>
-      </el-form>
-      <h4>参加人员</h4>
-      <el-table :data="detailData.trainees" border style="width: 100%">
-        <el-table-column min-width="200" align="center" prop="deptName" label="部门"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="userName" label="姓名"></el-table-column>
-        <el-table-column min-width="100" align="center" prop="employeNo" label="员工号"></el-table-column>
-      </el-table>
-      <h4>审批状态</h4>
-      <el-table :data="detailData.trainLogs" border style="width: 100%">
-        <el-table-column align="center" prop="auditor" label="处理人" width="180">
-        </el-table-column>
-
-        <el-table-column align="center" prop="comment" label="处理结果">
-        </el-table-column>
-        <el-table-column align="center" prop="createTime" label="处理时间" width="180">
-        </el-table-column>
-      </el-table>
-    </el-dialog>
-  </div>
-</template>
-    
-<style>
-.text-overflow {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-}
-
-.demo-table-expand {
-  font-size: 0;
-}
-
-.demo-table-expand label {
-  width: 200px;
-  color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-  margin-right: 0;
-  margin-bottom: 0;
-}
-</style>
-    
-<script>
-import {
-  trainList,
-} from "@/api/trainManage.js";
-import { dataTypeList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from "@/components/Tinymce";
-
-export default {
-  components: { Tinymce },
-  directives: { waves },
-  data() {
-    return {
-      tableData: [],
-      dialogVisible: false,
-      statusTypeList: [],
-      list: [],
-      total: 0,
-      listLoading: false,
-      listQuery: {
-        page: 1,
-        limit: 10,
-        type: '',
-        category: '',
-        customerName: '',
-        title: '',
-        userName: '',
-        status: "",
-      },
-      dialogVisible: false,
-      dialogStatus: '',
-      textMap: {
-        complete: "审批",
-        view: "详情",
-      },
-      detailData: {},
-    };
-  },
-  created() {
-    this.getStatusTypeList();
-    this.getList();
-  },
-  methods: {
-    handleClick(row, tag) {
-      console.log(row);
-      this.dialogStatus = tag;
-      this.detailData = row;
-      this.dialogVisible = true;
-    },
-  
-    getStatusTypeList() {
-      dataTypeList({ dictType: 'train_complete_status' }).then(response => {
-        this.statusTypeList = response.data.data;
-      }).catch(() => { });
-    },
-    handleDownLoad() {
-      window.location.href = process.env.BASE_API + '/mall-integral-obtain/export/certificate?name=' + this.listQuery.name + '&title=' + this.listQuery.title + '&userName=' + this.listQuery.userName + '&status=' + this.listQuery.status;
-    },
-    getList() {
-      this.listLoading = true;
-      trainList(this.listQuery)
-        .then((response) => {
-          this.list = response.data.data.items;
-          this.total = response.data.data.total;
-          this.listLoading = false;
-        })
-        .catch(() => {
-          this.list = [];
-          this.total = 0;
-          this.listLoading = false;
-        });
-    },
-
-    handleFilter() {
-      this.listQuery.page = 1;
-      this.getList();
-    },
-
-    handleSizeChange(val) {
-      this.listQuery.limit = val;
-      this.getList();
-    },
-
-    handleCurrentChange(val) {
-      this.listQuery.page = val;
-      this.getList();
-    },
-  },
-};
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-  border-color: #409eff;
-}
-
-.ad-avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  line-height: 178px;
-  text-align: center;
-}
-
-.ad-avatar {
-  display: block;
-}
-</style>
-    

+ 0 - 86
src/views/trainManage/upLoadFileRules.vue

@@ -1,86 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container" style="padding-bottom: 80px;">
-        <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 85%; margin-left:50px;'>
-         <el-form-item  label="标题" prop="title">
-              <el-input v-model="dataForm.title"></el-input>
-            </el-form-item>
-            <el-form-item
-              style="width: 100%"
-              label="内容"
-              prop="content"
-            >
-              <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-            </el-form-item>
-  
-        </el-form>
-        <el-button style="float: right;margin-right: 120px;" type="primary" @click="updateData">修改</el-button>
-    
-        
-    </div>
-   
-  </template>
-  
-  <style>
-    
-  </style>
-  
-  
-  <script>
-   import {fileRulesDetail, updateFileRules} from "@/api/trainManage";
-    import waves from "@/directive/waves"; // 水波纹指令
-    import Tinymce from '@/components/Tinymce'
-    export default {
-    name: 'giftExchangeRules',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-      return {
-        dataForm: {
-          type:'trainrule',
-          title: '',
-          content: "",
-        },
-        dialogFormVisible: false,
-        rules: {
-            title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
-            content: [{ required: true, message: "积分规则不能为空", trigger: "blur" }],
-        },
-      }
-    },
-    created() {
-        this.getDetail();
-    },
-    methods: {
-    
-      getDetail() {
-          this.loading = true
-          fileRulesDetail({noticeType:'trainrule'}).then(response => {
-            this.dataForm.title = response.data.data.title;
-            this.dataForm.content = response.data.data.content;
-            this.dataForm.id = response.data.data.id;
-            this.loading = false;
-          }).catch(() => {})
-      },
-      updateData() {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.loading = true;
-            updateFileRules(this.dataForm).then(() => {
-              this.loading = false;
-                this.$notify({
-                  title: '成功',
-                  message: '更新成功',
-                  type: 'success',
-                  duration: 2000
-                })
-                this.getDetail()
-              }) 
-          }
-        })
-      },
-  
-      
-    }
-  }
-  </script>
-  

+ 0 - 104
src/views/user/approveHistory.vue

@@ -1,104 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入申请人、用户信息" v-model="listQuery.userName">
-      </el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-      <!--<el-table-column align="center" width="100px" label="用户ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="190px" label="申请人" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" min-width="190px" label="审核时间" prop="createDate">
-      </el-table-column>
-      <el-table-column align="center" min-width="350px" label="用户信息" prop="userInfo">
-      </el-table-column>
-      <el-table-column align="center" min-width="350px" label="备注" prop="comments">
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-  </div>
-</template>
-
-<script>
-  import { listApproveHistory } from '@/api/approvehistory'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'approveHistory',
-    directives: {
-      waves
-    },
-    data() {
-      return {
-        list: null,
-        total: null,
-        listLoading: true,
-        listQuery: {
-          page: 1,
-          limit: 20,
-          userName: undefined,
-          sort: '+id'
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        downloadLoading: false
-      }
-    },
-    created() {
-      this.getList()
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        listApproveHistory(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          console.log(this.list)
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      handleDownload() {
-        this.downloadLoading = true
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['申请人', '审核时间', '用户信息','备注']
-          const filterVal = ['userName','createDate', 'userInfo','comments']
-          excel.export_json_to_excel2(tHeader, this.list, filterVal, '已驳回用户信息')
-          this.downloadLoading = false
-        })
-      }
-    }
-  }
-</script>

+ 0 - 291
src/views/user/checkUser.vue

@@ -1,291 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入用户名" v-model="listQuery.userName">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入手机号" v-model="listQuery.phone">
-      </el-input>
-      <el-select v-model="listQuery.temRoleType" clearable placeholder="请选择角色" style="top: -4px;width: 200px;">
-        <el-option label="在校生" value="在校生">
-        </el-option>
-        <el-option label="校友" value="校友">
-        </el-option>
-        <el-option label="教师" value="教师">
-        </el-option>
-        <el-option label="非清华公管人" value="非清华公管人">
-        </el-option>
-        <el-option label="游客" value="游客">
-        </el-option>
-      </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-      <el-button class="filter-item" type="primary" icon="" @click="showAuditDialog" >批量审核</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" @selection-change="handleSelectionChange" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-      <el-table-column type="selection" align="center">
-      </el-table-column>
-
-      <!--<el-table-column align="center" width="100px" label="用户ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="头像" prop="photo">
-        <template slot-scope="scope">
-          <img :src="scope.row.photo" style="width: 50px;height: 50px;border-radius: 50%"/>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="用户名" prop="userName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="50px" label="性别" prop="gender">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="手机号" prop="phone">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="邮箱" prop="email">
-      </el-table-column>
-
-
-      <!--<el-table-column align="center" min-width="100px" label="学院" prop="school">
-      </el-table-column>-->
-
-      <el-table-column align="center" min-width="100px" label="学历" prop="degree">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="导师" prop="guider">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="申请角色" prop="temRoleType">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="注册时间" prop="createDate">
-      </el-table-column>
-
-      <el-table-column align="center" label="操作" width="200" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="mini" @click="auditUser(scope.row)">审核</el-button>
-
-          <router-link ref='tag' :to="{path:'/user/userDetail',query: {'id': scope.row.id}}">
-            <el-button class="filter-item" type="primary" size="mini" style="width: inherit;" v-waves icon="el-icon-search">用户详情</el-button>
-          </router-link>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 审核用户对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-
-        <el-form-item :rules="rules"  label="审核:" prop="auditStatus">
-          <div>
-            <el-radio v-model="dataForm.auditStatus" label="3" border>通过</el-radio>
-            <el-radio v-model="dataForm.auditStatus" label="2" border>驳回</el-radio>
-          </div>
-        </el-form-item>
-        <template v-if="dataForm.auditStatus=='2'">
-          <el-form-item label="驳回原因:" prop="reason">
-            <el-input type="textarea"
-                      :rows="2"
-                      placeholder="请输入内容"
-                      v-model="dataForm.reason"></el-input>
-          </el-form-item>
-        </template>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='audit'" type="primary" @click="updateData">确定</el-button>
-        <el-button v-if="dialogStatus=='auditDX'" type="primary" @click="passAudit">确定</el-button>
-
-
-      </div>
-    </el-dialog>
-
-
-  </div>
-</template>
-
-<script>
-import { fetchCheckUserList, passUserAudit, auditUser } from '@/api/user'
-import waves from '@/directive/waves' // 水波纹指令
-
-export default {
-  name: 'checkUser',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: null,
-      total: null,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        userName: undefined,
-        phone: undefined,
-        temRoleType:undefined,
-        sort: '+id'
-      },
-      dataForm: {
-        id: undefined,
-        selectedIDs: '',
-        auditStatus: '',
-        reason: ''
-      },
-      rules: {
-        auditStatus: [{ required: true, message: '不能为空', trigger: 'blur' }]
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        audit: ' 审核',
-        auditDX: '批量审核'
-      },
-      multipleSelection: [],
-      downloadLoading: false
-    }
-  },
-  filters: {
-  },
-  created() {
-    this.getList()
-  },
-  methods: {
-    getList() {
-      this.listLoading = true
-      fetchCheckUserList(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        console.log(this.list)
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    auditUser(row) {
-      this.dataForm = Object.assign({}, row)
-      this.dialogStatus = 'audit'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          auditUser(this.dataForm).then(response => {
-            this.dialogFormVisible = false
-            var state = response.data.data.state
-            if (state === 'success') {
-              this.getList()
-              this.$notify({
-                title: '校友认证审核',
-                message: '操作成功',
-                type: 'success',
-                duration: 2000
-              })
-            }
-          })
-        }
-      })
-    },
-    showAuditDialog() {
-      if (this.dataForm.selectedIDs.length > 0) {
-        var ids = this.dataForm.selectedIDs
-        console.log(ids)
-        this.dialogStatus = 'auditDX'
-        this.dialogFormVisible = true
-      } else {
-        this.$notify.error({
-          title: '校友认证审核',
-          message: '请至少选择一条记录',
-          duration: 2000
-        })
-      }
-    },
-    passAudit() {
-      if (this.dataForm.selectedIDs.length > 0) {
-        debugger
-        console.log(this.dataForm.selectedIDs)
-        passUserAudit(this.dataForm).then(response => {
-          this.dialogFormVisible = false
-          var state = response.data.data.state
-          if (state === 'success') {
-            this.getList()
-            this.$notify({
-              title: '校友认证审核',
-              message: '审核成功',
-              type: 'success',
-              duration: 2000
-            })
-          }
-        }).catch(() => {
-          this.$notify.error({
-            title: '校友认证审核',
-            message: '审核失败',
-            duration: 2000
-          })
-        })
-      } else {
-        this.$notify.error({
-          title: '校友认证审核',
-          message: '请至少选择一条记录',
-          duration: 2000
-        })
-      }
-    },
-    handleSelectionChange(val) {
-      var ids = []
-      this.multipleSelection = val
-      this.multipleSelection.map((item) => {
-        console.log(item.id)
-        ids.push(item.id)
-      })
-
-      this.dataForm.selectedIDs = ids.join(',')
-      console.log('多选' + this.dataForm.selectedIDs)
-    },
-    handleDownload() {
-      this.downloadLoading = true
-      import('@/vendor/Export2Excel').then(excel => {
-        const tHeader = ['用户名','性别',  '学历', '导师', '手机号码','邮箱', '入学时间','申请角色' ,'工作单位', '职位', '所在地']
-        const filterVal = ['userName', 'gender', 'degree', 'guider', 'phone','email', 'beginDate','temRoleType', 'working', 'position','place']
-        excel.export_json_to_excel2(tHeader, this.list, filterVal, '待审核认证用户信息')
-        this.downloadLoading = false
-      })
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 251
src/views/user/user.vue

@@ -1,251 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入用户名" v-model="listQuery.userName">
-      </el-input>
-
-      <el-select clearable class="filter-item" style="width: 200px;" placeholder="请选择性别" v-model="listQuery.gender">
-        <el-option label="男" value="男">
-        </el-option>
-        <el-option label="女" value="女">
-        </el-option>
-      </el-select>
-      <!--<el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入手机号" v-model="listQuery.phone">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入导师姓名" v-model="listQuery.guider">
-      </el-input>
-      <el-select v-model="listQuery.roleType" clearable placeholder="请选择角色" style="top: -4px;width: 200px;">
-        <el-option label="通誉员工" value="员工">
-        </el-option>
-        <el-option label="通誉伙伴" value="通誉伙伴">
-        </el-option>
-      </el-select>
-      <el-date-picker clearable class="filter-item"
-                      value-format="yyyy"
-                      type="year"
-                      placeholder="选择年份"
-                      v-model="listQuery.beginDateStr">
-      </el-date-picker>-->
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading1" v-waves icon="el-icon-download"
-                 @click="handleDownloadAll">批量导出</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" stripe  border fit highlight-current-row>
-
-      <!--<el-table-column align="center" width="100px" label="用户ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-
-      <el-table-column align="center" min-width="100px" label="头像" prop="photo">
-        <template slot-scope="scope">
-          <img :src="scope.row.photo" style="width: 50px;height: 50px;border-radius: 50%"/>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="用户名" prop="userName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="50px" label="性别" prop="gender">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="邮箱" prop="email">
-      </el-table-column>
-
-      <!--<el-table-column align="center" min-width="100px" label="手机号" prop="phone">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="学历" prop="degree">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="学院" prop="school">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="导师" prop="guider">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="入学时间" prop="beginDate">
-      </el-table-column>-->
-
-      <el-table-column align="center" min-width="100px" label="角色" prop="roleType">
-      </el-table-column>
-
-
-
-      <el-table-column align="center" label="操作" width="200" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <!--<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑</el-button>-->
-          <router-link ref='tag' :to="{path:'/user/userDetail',query: {'id': scope.row.id}}">
-            <el-button class="filter-item" type="primary" size="mini" style="width: inherit;" v-waves icon="el-icon-search">用户详情</el-button>
-          </router-link>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 修改对话框 -->
-    <el-dialog title="修改" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-
-        <el-select v-model="dataForm.roleType" @change="onSelectedFlag()" clearable placeholder="请选择角色" style="top: -4px;width: 200px;">
-          <el-option label="通誉员工" value="员工">
-          </el-option>
-          <el-option label="通誉伙伴" value="通誉伙伴">
-          </el-option>
-        </el-select>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<script>
-import { fetchList, exportAllUser, updateUser} from '@/api/user'
-import waves from '@/directive/waves' // 水波纹指令
-
-export default {
-  name: 'User',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: null,
-      allList: null,
-      total: null,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        userName: undefined,
-        phone: undefined,
-        roleType: undefined,
-        gender: undefined,
-        guider: undefined,
-        beginDate: undefined,
-        beginDateStr:undefined,
-        sort: '+id'
-      },
-      dataForm: {
-        id: undefined,
-        userName: undefined,
-        phoen: undefined,
-        gender: undefined,
-        photo: undefined,
-        temRoleType:undefined,
-        roleType:undefined
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      downloadLoading: false,
-      downloadLoading1: false,
-
-      rules: {
-        roleType: [{ required: true, message: '标题不能为空', trigger: 'blur' }]
-      },
-    }
-  },
-  created() {
-    this.getList();
-    this.getAllList();
-  },
-  methods: {
-    getList() {
-      this.listLoading = true
-      fetchList(this.listQuery).then(response => {
-        this.list = response.data.data.items
-        console.log(this.list)
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-    getAllList() {
-      this.listLoading = true
-      exportAllUser(this.listQuery).then(response => {
-        this.allList = response.data.data.items
-      }).catch(() => {
-        this.allList = []
-        this.listLoading = false
-      })
-    },
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-      this.getAllList()
-    },
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row)
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateUser(this.dataForm).then(() => {
-            this.getList()
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }
-      })
-    },
-    onSelectedFlag() {
-        this.dataForm.temRoleType = this.dataForm.roleType
-    },
-    handleDownload() {
-      this.downloadLoading = true
-      import('@/vendor/Export2Excel').then(excel => {
-        const tHeader = ['用户名', '性别', '学历', '导师', '手机号码','邮箱', '角色', '入学年份', '工作单位', '职位', '所在地']
-        const filterVal = ['userName','gender', 'degree', 'guider', 'phone', 'email', 'roleType', 'beginDate', 'working', 'position','place']
-        excel.export_json_to_excel2(tHeader, this.list, filterVal, '校友录用户信息')
-        this.downloadLoading = false
-      })
-    },
-    handleDownloadAll() {
-      this.downloadLoading1 = true
-      import('@/vendor/Export2Excel').then(excel => {
-        const tHeader = ['用户名', '性别', '学历', '导师', '手机号码','邮箱', '角色', '入学年份', '工作单位', '职位', '所在地']
-        const filterVal = ['userName','gender', 'degree', 'guider', 'phone', 'email', 'roleType', 'beginDate','working', 'position','place']
-        excel.export_json_to_excel2(tHeader, this.allList, filterVal, '校友录用户信息')
-        this.downloadLoading1 = false
-      })
-    }
-  }
-}
-</script>

+ 0 - 394
src/views/user/userDetail.vue

@@ -1,394 +0,0 @@
-<template>
-  <div class="userDetail">
-    <p>
-      <img :src="userData.photo" style="width: 50px;height: 50px;border-radius: 50%"/>     {{userData.userName}}
-    </p>
-
-    <el-tabs type="border-card" @tab-click="handleClick">
-      <el-tab-pane label="基本信息" name="0">
-
-        <el-form ref="userData" :model="userData" status-icon label-position="right" label-width="140px"
-                 style='width: 100%; margin-left:20px;'>
-          <div style="float:left;height: 400px;width: 50%">
-            <el-form-item label="用户姓名:" prop="userName">
-              <span>{{ userData.userName }}</span>
-            </el-form-item>
-            <template v-if="userData.auditStatus == '3' ">
-              <el-form-item label="用户角色:"  prop="roleType">
-                <span>{{ userData.roleType }}</span>
-              </el-form-item>
-            </template>
-            <template v-else>
-              <el-form-item label="申请角色:"  prop="temRoleType">
-                <span>{{ userData.temRoleType }}</span>
-              </el-form-item>
-            </template>
-
-            <el-form-item label="性别:">
-              <el-col :span="11">
-                <el-form-item prop="gender">
-                  <span>{{ userData.gender }}</span>
-                </el-form-item>
-              </el-col>
-
-              <el-col :span="8">
-                <el-tooltip :content="'是否显示: ' + userData.hiddenGender" placement="top">
-                  <el-switch style="display: block" v-model="userData.hiddenGender" disabled>
-                  </el-switch>
-                </el-tooltip>
-
-              </el-col>
-            </el-form-item>
-
-            <el-form-item label="邮箱:">
-              <el-col :span="11">
-                <el-form-item prop="email">
-                  <span>{{ userData.email }}</span>
-                </el-form-item>
-              </el-col>
-
-              <el-col :span="8">
-                <el-tooltip :content="'是否显示: ' + userData.hiddenEmail" placement="top">
-                  <el-switch style="display: block" v-model="userData.hiddenEmail" disabled>
-                  </el-switch>
-                </el-tooltip>
-              </el-col>
-            </el-form-item>
-
-            <el-form-item label="注册时间:" prop="createDate">
-              <span>{{ userData.createDate }}</span>
-            </el-form-item>
-
-            <el-form-item label="最后一次登录时间:" prop="lastLoginTime">
-              <span>{{ userData.lastLoginTime }}</span>
-            </el-form-item>
-
-          </div>
-          <div style="float:right;height: 400px;width: 50%">
-
-          </div>
-
-          <div v-if="userData.auditStatus == 1" style="text-align: center;">
-            <el-button type="primary" @click="updateUserData">审核</el-button>
-          </div>
-        </el-form>
-
-      </el-tab-pane>
-      <template v-if="userData.auditStatus == '3' ">
-        <el-tab-pane label="我的关注" name="1" >
-
-          <el-table size="small" :data="concernList" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-            <el-table-column align="center" width="100px" label="用户ID" prop="id" sortable>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="头像" prop="photo">
-              <template slot-scope="scope">
-                <img :src="scope.row.photo" style="width: 50px;height: 50px;border-radius: 50%"/>
-              </template>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="用户名" prop="user_name">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="50px" label="性别" prop="gender">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="角色" prop="role_type">
-            </el-table-column>
-          </el-table>
-
-        </el-tab-pane>
-        <el-tab-pane label="我的圈子" name="2" >
-          <el-table size="small" :data="circleList" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-            <el-table-column align="center" width="100px" label="ID" prop="id" >
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="组织图片" prop="url">
-              <template slot-scope="scope">
-                <img :src="scope.row.url" style="width: 50px;height: 50px;border-radius: 50%"/>
-              </template>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="组织名称" prop="organize_name">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="组织说明" prop="organize_memo">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="50px" label="组织类型" prop="organize_type">
-              <template slot-scope="scope">
-                <span v-if="scope.row.organize_type === '1'">地方专委会</span>
-                <span v-else-if="scope.row.organize_type === '2'">行业专委会</span>
-                <span v-else>兴趣小组</span>
-              </template>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="组织人数" prop="organize_user_count">
-            </el-table-column>
-
-          </el-table>
-
-        </el-tab-pane>
-
-        <el-tab-pane label="我的消息" name="3" >
-          <el-table size="small" :data="messageList" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-            <el-table-column align="center" width="100px" label="ID" prop="id" sortable>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="消息类型" prop="message_type">
-              <template slot-scope="scope">
-                <span v-if="scope.row.message_type === 'system'">系统消息</span>
-                <span v-else>用户消息</span>
-              </template>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="发送人" prop="fromUserName">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="发送人头像" prop="fromPhoto">
-              <template slot-scope="scope">
-                <span v-if="scope.row.fromPhoto">
-                  <img :src="scope.row.fromPhoto" style="width: 50px;height: 50px;border-radius: 50%"/>
-                </span>
-              </template>
-            </el-table-column>
-
-            <el-table-column align="center" min-width="150px" label="内容" prop="content">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="发送时间" prop="create_time">
-            </el-table-column>
-
-
-            <el-table-column align="center" min-width="100px" label="接收人" prop="fkUserName">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="接收人头像" prop="fkPhoto">
-              <template slot-scope="scope">
-                <img :src="scope.row.fkPhoto" style="width: 50px;height: 50px;border-radius: 50%"/>
-              </template>
-            </el-table-column>
-
-
-          </el-table>
-
-        </el-tab-pane>
-      </template>
-
-      <!-- 分页 -->
-
-      <div v-if="visible">
-        <div class="pagination-container">
-          <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                         :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-          </el-pagination>
-        </div>
-      </div>
-    </el-tabs>
-
-    <!-- 审核用户对话框 -->
-    <el-dialog title="审核" :visible.sync="dialogFormVisible">
-      <el-form ref="listQuery" :model="listQuery" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-
-        <el-form-item :rules="rules"  label="审核:" prop="auditStatus">
-          <div>
-            <el-radio v-model="listQuery.auditStatus" label="3" border>通过</el-radio>
-            <el-radio v-model="listQuery.auditStatus" label="2" border>驳回</el-radio>
-          </div>
-        </el-form-item>
-        <template v-if="listQuery.auditStatus=='2'">
-          <el-form-item label="驳回原因:" prop="reason">
-            <el-input type="textarea"
-                      :rows="2"
-                      placeholder="请输入内容"
-                      v-model="listQuery.reason"></el-input>
-          </el-form-item>
-        </template>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="updateData">确定</el-button>
-
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import { readUser, auditUser, getConcernedList, getMessageUser, getOrganizeList } from '@/api/user'
-export default {
-  name: 'userDetail',
-  data() {
-    return {
-      id: undefined,
-      userData: {
-        id: undefined,
-        userName: '',
-        phoen: '',
-        gender: '',
-        photo: ''
-
-      },
-      concernList: null,
-      circleList: null,
-      messageList: null,
-      dialogFormVisible: false,
-      rules: {
-        auditStatus: [{ required: true, message: '不能为空', trigger: 'blur' }]
-      },
-      total: null,
-      listLoading: false,
-      queryType: 'baseInfo',
-      activeTab: undefined,
-      visible: undefined,
-      listQuery: {
-        id: undefined,
-        auditStatus:'',
-        reason:'',
-        page: 1,
-        limit: 20
-      }
-    }
-  },
-  watch: {
-    '$route'(to, from) {
-      var id = this.$route.query.id
-      if (id) {
-        this.id = id
-        this.listQuery.id = id
-        this.getList()
-        readUser({ 'id': id }).then(response => {
-          this.userData = response.data.data.items
-          this.$nextTick(() => {
-            this.$refs['userData'].clearValidate()
-          })
-        })
-      }
-    }
-  },
-  created() {
-    var id = this.$route.query.id
-    if (id) {
-      this.id = id
-      this.listQuery.id = id
-      this.getList()
-    }
-  },
-  methods: {
-    getList() {
-      console.log('---')
-      console.log(this.queryType)
-      console.log('---')
-      if (this.queryType === 'baseInfo') {
-        var id = this.id
-        readUser({ 'id': id }).then(response => {
-          this.userData = response.data.data.items
-          this.$nextTick(() => {
-            this.$refs['userData'].clearValidate()
-          })
-        })
-      } else if (this.queryType === 'concerned') {
-        this.listLoading = true
-        getConcernedList(this.listQuery).then(response => {
-          this.concernList = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.concernList = []
-          this.total = 0
-          this.listLoading = false
-        })
-      } else if (this.queryType === 'circle') {
-        this.listLoading = true
-        getOrganizeList(this.listQuery).then(response => {
-          this.circleList = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.circleList = []
-          this.total = 0
-          this.listLoading = false
-        })
-      } else if (this.queryType === 'message') {
-        this.listLoading = true
-        getMessageUser(this.listQuery).then(response => {
-          this.messageList = response.data.data.items
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.messageList = []
-          this.total = 0
-          this.listLoading = false
-        })
-      }
-    },
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    getWaterDetails() {
-      if (this.activeTab === '0') {
-        this.visible = false
-        this.queryType = 'baseInfo'
-        this.getList()
-      } else if (this.activeTab === '1') {
-        this.visible = true
-        this.queryType = 'concerned'
-        this.getList()
-      } else if (this.activeTab === '2') {
-        this.visible = true
-        this.queryType = 'circle'
-        this.getList()
-      } else if (this.activeTab === '3') {
-        this.visible = true
-        this.queryType = 'message'
-        this.getList()
-      } else {
-        console.log('this.activeTab !!!')
-      }
-    },
-    updateUserData() {
-      this.dialogFormVisible = true
-    },
-    updateData() {
-      debugger
-      this.$refs['listQuery'].validate((valid) => {
-        if (valid) {
-          auditUser(this.listQuery).then(response => {
-            this.dialogFormVisible = false
-            var state = response.data.data.state
-            if (state === 'success') {
-              this.getList()
-              this.$notify({
-                title: '认证审核',
-                message: '操作成功',
-                type: 'success',
-                duration: 2000
-              })
-            }
-          })
-        }
-      })
-
-    },
-    //点击选项卡
-    handleClick(tab, e) {
-      this.activeTab = tab.index
-      this.getWaterDetails()
-    }
-  }
-}
-</script>
-
-<style scoped>
-  .userDetail{
-    padding: 20px 30px;
-  }
-</style>

+ 0 - 118
src/views/user/visitorUser.vue

@@ -1,118 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-      <!--<el-table-column align="center" width="100px" label="用户ID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="头像" prop="photo">
-        <template slot-scope="scope">
-          <img :src="scope.row.photo" style="width: 50px;height: 50px;border-radius: 50%"/>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="用户名" prop="userName">
-      </el-table-column>
-      <el-table-column align="center" min-width="50px" label="性别" prop="gender">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="手机号" prop="phone">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="邮箱" prop="email">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="角色" prop="roleType">
-      </el-table-column>
-      <!--<el-table-column align="center" label="操作" width="200" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <router-link ref='tag' :to="{path:'/user/userDetail',query: {'id': scope.row.id}}">
-            <el-button class="filter-item" type="primary" size="mini" style="width: inherit;" v-waves icon="el-icon-search">用户详情</el-button>
-          </router-link>
-        </template>
-      </el-table-column>-->
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-  </div>
-</template>
-
-<script>
-  import { fetYKList } from '@/api/user'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'visitorUser',
-    directives: {
-      waves
-    },
-    data() {
-      return {
-        list: null,
-        total: null,
-        listLoading: true,
-        listQuery: {
-          page: 1,
-          limit: 20,
-          userName: undefined,
-          roleType: undefined,
-          sort: '+id'
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        downloadLoading: false
-      }
-    },
-    created() {
-      this.getList()
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        fetYKList(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          console.log(this.list)
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          debugger
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      handleDownload() {
-        this.downloadLoading = true
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['用户名', '性别', '角色']
-          const filterVal = ['userName','gender', 'roleType']
-          excel.export_json_to_excel2(tHeader, this.list, filterVal, '游客用户信息')
-          this.downloadLoading = false
-        })
-      }
-    }
-  }
-</script>

+ 0 - 463
src/views/user/welfare.vue

@@ -1,463 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入员工号或员工姓名" v-model="listQuery.searchInput"></el-input>
-      <el-select clearable class="filter-item" style="width: 200px;" placeholder="是否已领取" v-model="listQuery.status">
-        <el-option label="未领取" value="0">
-        </el-option>
-        <el-option label="已领取" value="1">
-        </el-option>
-      </el-select>
-      <!--
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入广告内容" v-model="listQuery.content">
-      </el-input>
-      -->
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <!--<el-button class="filter-item" type="primary" icon="el-icon-edit" @click="downLoadFile">下载模板</el-button>-->
-      <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">批量导入</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">按条件导出</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit highlight-current-row>
-
-
-      <!--<el-table-column align="center" width="100px" label="BannerID" prop="id" sortable>
-      </el-table-column>-->
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-      <el-table-column align="center" min-width="100px" label="员工号" prop="employeno">
-      </el-table-column>
-      <el-table-column align="center" min-width="90px" label="员工姓名" prop="workerName">
-      </el-table-column>
-      <el-table-column align="center" min-width="180px" label="福利名称" prop="welfareName">
-      </el-table-column>
-      <el-table-column align="center" min-width="180px" label="兑换码" prop="redemptionCode">
-      </el-table-column>
-      <el-table-column align="center" min-width="150px" label="密码" prop="content">
-        <template slot-scope="scope">
-          {{scope.row.content? scope.row.content.replace(/^(.{2})(?:\w+)(.{2})$/, "\$1******\$2"):""}}
-        </template>
-      </el-table-column>
-      <!--<el-table-column align="center" min-width="90px" label="开始时间" prop="startTime">
-      </el-table-column>
-      <el-table-column align="center" min-width="90px" label="结束时间" prop="endTime">
-      </el-table-column>-->
-
-
-      <el-table-column align="center" min-width="80px" label="是否在可用时间内" prop="inUsableTime">
-        <template slot-scope="scope">
-          <el-tag :type="scope.row.inUsableTime ? 'success' : 'error' ">{{ scope.row.inUsableTime ? '是' : '否' }}</el-tag>
-        </template>
-      </el-table-column>
-
-
-      <el-table-column align="center" min-width="80px" label="领取状态" prop="inUsableTime">
-        <template slot-scope="scope">
-          <el-tag :type="scope.row.status=='1' ? 'success' : 'error' ">{{ scope.row.status=='1' ? '已领取' : '未领取' }}</el-tag>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="150px" label="领取时间" prop="receiveTime">
-      </el-table-column>
-
-      <el-table-column align="center" label="操作" width="150px" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <!--<el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>-->
-          <el-button type="danger" size="small"  @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-        :page-sizes="[10,20,30,50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-    <!-- 添加或修改对话框 -->
-    <!--<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>
-
-        <el-form-item label="模板文件:" prop="url">
-          <el-tooltip content="模板可下载" placement="top-start">
-            <el-upload
-              class="ad-avatar-uploader"
-              v-model="dataForm.image"
-              :action="fileImgUrl"
-              :show-file-list="false"
-              :on-success="handleAvatarSuccess"
-              :before-upload="beforeUpload">
-              <template >
-                <i class="el-icon-plus ad-avatar-uploader-icon"></i>
-              </template>
-            </el-upload>
-          </el-tooltip>
-        </el-form-item>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button v-if="dialogStatus=='create'" type="primary" @click="createData">确定</el-button>
-        <el-button v-else type="primary" @click="updateData">确定</el-button>
-      </div>
-    </el-dialog>-->
-
-    <!--导入-->
-    <el-dialog title="导入" :visible.sync="dialogFormVisible" :modal-append-to-body="false" :close-on-click-modal="false" class="dialog-import">
-      <div v-if="importFlag=='1'">
-        <el-upload
-          class="avatar-uploader"
-          action="#"
-          :before-upload="beforeUpload"
-          :show-file-list="true"
-          :limit="1"
-          :http-request="uploadEmployeeExcel">
-          <el-button size="small" type="primary" :disabled="processing">{{uploadTip}}</el-button>
-
-          <div class="el-upload__tip" slot="tip" style="color:blue;">
-            <a href="http://xiaoyou.dgtis.com/images/template/workerWelfare.xlsx" download="workerWelfare.xlsx" target="_blank">下载模板</a>
-          </div>
-          <div slot="tip" class="el-upload__tip">只能上传excel文件</div>
-        </el-upload>
-
-      </div>
-      <div v-if="importFlag=='2'" >
-        <div class="failure-tips">
-            数据导入成功,稍后如果未刷新,请手动刷新该页面...
-        </div>
-        <!--<div class="failure-reason">
-          <ul>
-            <li>总共 {{errorResults.total}}行,成功:<span style="color: #42b983">{{errorResults.success}},</span>失败:<span style="color: #F56C6C">{{errorResults.fail}}</span>,已存在:<span style="color: #E6A23C">{{errorResults.has}}</span></li>
-          </ul>
-        </div>-->
-      </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="closeDialogImport" type="primary">关闭</el-button>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-  }
-</style>
-
-<script>
-  import {listNews} from '@/api/news'
-import { listWelfare, insertListWelfare, updateWelfare, deleteWelfare } from '@/api/welfare'
-import { createStorage,insetListWelfare } from '@/api/storage'
-import waves from '@/directive/waves' // 水波纹指令
-
-export default {
-  name: 'banner',
-  directives: {
-    waves
-  },
-  data() {
-    return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
-      listQuery: {
-        page: 1,
-        limit: 20,
-        searchInput: undefined,
-        status:'',
-        sort: '+id'
-      },
-      dataForm: {
-        id: undefined,
-        employeno: undefined,
-        welfareName: undefined,
-        redemptionCode: undefined,
-        content: undefined,
-        start_time: undefined,
-        end_time: undefined,
-        status: undefined,
-        inUsableTime:undefined,
-      },
-      dialogFormVisible: false,
-      dialogStatus: '',
-      textMap: {
-        update: '编辑',
-        create: '创建'
-      },
-      rules: {
-        //title: [{ required: true, message: '标题不能为空', trigger: 'blur' }]
-      },
-      //fileImgUrl: this.upLoadUrl,
-      downloadLoading: false,
-      url:undefined,//上传的模板
-      processing: false,
-      uploadTip:'点击上传',
-      importFlag:1,
-      errorResults:{
-        total:0,
-        success:0,
-        fail:0,
-        has:0
-      }
-    }
-  },
-  created() {
-    this.getList()
-  },
-  methods: {
-    getList() {
-      this.listLoading = true
-      listWelfare(this.listQuery).then(response => {
-        this.list = response.data.data.list
-        this.total = response.data.data.total
-        this.listLoading = false
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-    },
-    handleFilter() {
-      this.listQuery.page = 1
-      this.getList()
-    },
-    handleSizeChange(val) {
-      this.listQuery.limit = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.listQuery.page = val
-      this.getList()
-    },
-    resetForm() {
-      this.dataForm = {
-        id: undefined,
-        employeno: undefined,
-        welfareName: undefined,
-        redemptionCode: undefined,
-        content: undefined,
-        start_time: undefined,
-        end_time: undefined,
-        status: undefined,
-        inUsableTime:undefined,
-      }
-      this.errorResults={
-        total:0,
-        success:0,
-        fail:0,
-        has:0
-      }
-    },
-    handleCreate() {
-      this.resetForm()
-      this.dialogStatus = 'create'
-      this.dialogFormVisible = true
-    },
-    uploadUrl(item) {
-      const formData = new FormData()
-      formData.append('file', item.file)
-      createStorage(formData).then(res => {
-        this.dataForm.url = res.data.data.url
-      }).catch(() => {
-        this.$message.error('上传失败,请重新上传')
-      })
-    },
-    handleDownload() {
-      this.downloadLoading = true
-      listWelfare({
-        page: 1,
-        limit: 60000,
-        searchInput: this.listQuery.searchInput,
-        status:this.listQuery.status,
-        sort: this.listQuery.sort
-      }).then(response => {
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['员工号', '员工姓名', '福利名称', '兑换码', '密码','开始时间', '结束时间', '领取状态(0未领 1已领)', '领取时间']
-          const filterVal = ['employeno','workerName', 'welfareName', 'redemptionCode', 'content', 'startTime', 'endTime', 'status', 'receiveTime']
-          excel.export_json_to_excel2(tHeader, response.data.data.list, filterVal, '员工福利信息')
-          this.downloadLoading = false
-        })
-      }).catch(() => {
-        this.list = []
-        this.total = 0
-        this.listLoading = false
-      })
-
-    },
-    createData() {
-      this.dialogFormVisible = false
-    },
-    handleUpdate(row) {
-      this.dataForm = Object.assign({}, row)
-      this.dialogStatus = 'update'
-      this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['dataForm'].clearValidate()
-      })
-    },
-    updateData() {
-      this.$refs['dataForm'].validate((valid) => {
-        if (valid) {
-          updateBanner(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
-            this.dialogFormVisible = false
-            this.$notify({
-              title: '成功',
-              message: '更新成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }
-      })
-    },
-    handleDelete(row) {
-
-      this.$confirm('确认删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteWelfare(row).then(response => {
-          this.$notify({
-            title: '成功',
-            message: '删除成功',
-            type: 'success',
-            duration: 2000
-          })
-          const index = this.list.indexOf(row)
-          this.list.splice(index, 1)
-        })
-      }).catch(() => {
-
-      })
-
-    },
-    // 图片上传
-    uploadBannerImg(file) {
-      const isJPGs = file.type === 'image/jpeg'
-    },
-    handleAvatarSuccess(res) {
-      console.log(res.data.url)
-      this.dataForm.image = res.data.url
-    },
-    //上传之前验证钩子
-    beforeUpload(file){
-      //上传前配置
-      let excelfileExtend = ".xls,.xlsx"//设置文件格式
-      let fileExtend = file.name.substring(file.name.lastIndexOf('.')).toLowerCase();
-      if (excelfileExtend.indexOf(fileExtend) <= -1) {
-        this.$notify.error({
-          title: '失败',
-          message: '文件格式错误',
-          duration: 2000
-        })
-        return false
-      }
-      this.uploadTip = '正在处理中...'
-      this.processing = true
-    },
-
-    //上传
-    uploadEmployeeExcel(item) {
-      const formData = new FormData()
-      formData.append('file', item.file)
-      insetListWelfare(formData).then(response => {
-        this.uploadTip = '点击上传'
-        this.processing = false
-        console.log(response.data)
-        if (response.data.data.state === 'success') {
-          this.importFlag = 2
-          let successCount = response.data.data.success
-          if(successCount){
-            this.errorResults.success = successCount;
-          }
-          let hasCount = response.data.data.has
-          if(hasCount){
-            this.errorResults.has=hasCount
-          }
-          let failCount = response.data.data.fail
-          if(failCount){
-            this.errorResults.fail=failCount
-          }
-          let totalCount = response.data.data.total
-          if(totalCount){
-            this.errorResults.total = totalCount
-          }
-        } else {
-          this.$notify.error({
-            title: '失败',
-            message: response.data.data.error,
-            duration: 2000
-          })
-        }
-      }).catch(() => {
-        this.$message.error('上传失败,请重新上传')
-      })
-
-    },
-
-    getRelativeActivity(id) {
-      if(id) {
-        for(let v of this.newsList) {
-          if(v.id === id) {
-            return v.title
-          }
-        }
-      }
-      return ""
-    },
-    downLoadFile(){
-      window.open("http://xiaoyou.dgtis.com/images/template/workerWelfare.xlsx");
-    },
-    //关闭导入弹框
-    closeDialogImport(){
-      this.resetForm()
-      this.dialogFormVisible = false
-      this.getList()
-    },
-  }
-}
-</script>
-<style>
-  .ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .ad-avatar {
-    display: block;
-  }
-</style>

+ 0 - 13
src/views/visitor/visitorDetail.vue

@@ -1,13 +0,0 @@
-<template>
-    
-</template>
-
-<script>
-    export default {
-        name: "visitorDetail"
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 207
src/views/visitor/visitorList.vue

@@ -1,207 +0,0 @@
-<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 210px;" placeholder="请输入访客姓名" v-model="listQuery.visitorName">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 210px;" placeholder="请输入访客联系方式" v-model="listQuery.visitorPhone">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 210px;" placeholder="请输入被访人姓名" v-model="listQuery.inviteName">
-      </el-input>
-
-      <el-date-picker clearable class="filter-item"
-                      value-format="yyyy-MM-dd"
-                      type="date"
-                      placeholder="选择到访时间"
-                      v-model="listQuery.visitorDatetime">
-      </el-date-picker>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-      <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-    </div>
-
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" stripe  border fit highlight-current-row>
-
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="访客头像" prop="visitorPhoto">
-        <template slot-scope="scope">
-          <img :src="scope.row.visitorPhoto" style="width: 50px;height: 50px;border-radius: 50%"/>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="访客姓名" prop="visitorName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="80px" label="访客性别" prop="visitorGender">
-        <template slot-scope="scope">
-          <el-tag v-if="scope.row.visitorGender == 1" type="success">女</el-tag>
-          <el-tag v-else type="danger">男</el-tag>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="联系方式" prop="visitorPhone">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="60px" label="人数" prop="visitorSum">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="访客机构" prop="visitorOrganization">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="120px" label="到访时间" prop="visitorDatetime">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="100px" label="事由" prop="visitorReason">
-      </el-table-column>
-
-
-
-      <el-table-column align="center" min-width="100px" label="被访人姓名" prop="inviteName">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="120px" label="被访人机构" prop="inviteOrganization">
-      </el-table-column>
-
-      <el-table-column align="center" min-width="120px" label="状态" prop="status">
-        <template slot-scope="scope">
-          <el-tag v-if="scope.row.status == 2" type="danger">邀请中</el-tag>
-          <el-tag v-else-if="scope.row.status == 3" type="warning">待下发到终端</el-tag>
-          <el-tag v-else-if="scope.row.status == 4" type="success">邀请成功</el-tag>
-          <el-tag v-else type="info">默认</el-tag>
-        </template>
-      </el-table-column>
-
-      <el-table-column align="center" label="操作" width="150" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button v-if="scope.row.status == '3'" class="filter-item" type="primary" @click="handleVisitorUpload(scope.row)">下发终端</el-button>
-          <!--<el-button type="danger" size="mini"  @click="handleVisitorDelete(scope.row)">删除</el-button>-->
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page"
-                     :page-sizes="[10,20,30,50,500]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
-    </div>
-
-  </div>
-</template>
-
-<script>
-  import { fetchList, deleteVisitor, uploadVisitor } from '@/api/visitor'
-  import waves from '@/directive/waves' // 水波纹指令
-
-  export default {
-    name: 'visitorList',
-    directives: {
-      waves
-    },
-    data() {
-      return {
-        list: null,
-        allList: null,
-        total: null,
-        listLoading: true,
-        listQuery: {
-          page: 1,
-          limit: 10,
-          visitorName: undefined,
-          visitorSum: undefined,
-          visitorGender: undefined,
-          visitorPhone: undefined,
-          visitorDatetime: undefined,
-          inviteName: undefined,
-          status: undefined,
-          sort: '+id'
-        },
-        dialogFormVisible: false,
-        dialogStatus: '',
-        downloadLoading: false,
-        downloadLoading1: false
-      }
-    },
-    created() {
-      this.getList();
-    },
-    methods: {
-      getList() {
-        this.listLoading = true
-        fetchList(this.listQuery).then(response => {
-          this.list = response.data.data.items
-          console.log(this.list)
-          this.total = response.data.data.total
-          this.listLoading = false
-        }).catch(() => {
-          this.list = []
-          this.total = 0
-          this.listLoading = false
-        })
-      },
-      handleFilter() {
-        this.listQuery.page = 1
-        this.getList()
-      },
-      handleSizeChange(val) {
-        this.listQuery.limit = val
-        this.getList()
-      },
-      handleCurrentChange(val) {
-        this.listQuery.page = val
-        this.getList()
-      },
-      handleVisitorDelete(row){
-        this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteVisitor(row).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
-          })
-        }).catch(() => {
-
-        })
-
-      },
-      handleVisitorUpload(row){
-        this.$confirm('确认上传吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          uploadVisitor(row).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '上传成功',
-              type: 'success',
-              duration: 2000
-            })
-          })
-        }).catch(() => {
-
-        })
-      },
-      handleDownload() {
-        this.downloadLoading = true
-        import('@/vendor/Export2Excel').then(excel => {
-          const tHeader = ['访客姓名', '访客性别', '访客联系方式', '访客人数', '访问时间', '被访人姓名']
-          const filterVal = ['visitorName','visitorGender', 'visitorPhone', 'visitorSum', 'visitorDatetime', 'inviteName']
-          excel.export_json_to_excel2(tHeader, this.list, filterVal, '访客信息')
-          this.downloadLoading = false
-        })
-      }
-    }
-  }
-</script>

+ 0 - 423
src/views/welfareManage/welfareList.vue

@@ -1,423 +0,0 @@
-<template>
-    <div class="app-container calendar-list-container">
-
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="福利名称"
-                v-model="listQuery.title"></el-input>
-           
-            <!-- <el-date-picker class="filter-item" v-model="listQuery.createTime" type="datetime" placeholder="创建时间">
-            </el-date-picker> -->
-            <el-date-picker
-            class="filter-item"
-            value-format="yyyy-MM-dd"
-            v-model="listQuery.createTime"
-            type="date"
-            placeholder="创建日期">
-            </el-date-picker>
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
-            <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-
-        </div>
-
-        <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-
-            <el-table-column align="center" min-width="100px" label="福利名称" prop="title">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="福利开始结束时间">
-                <template slot-scope="props">
-                   {{ props.row.startTime }}~{{ props.row.endTime }}
-                </template>
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="创建人" prop="creater">
-            </el-table-column>
-            <el-table-column align="center" min-width="150px" label="创建时间" prop="createTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="福利状态" prop="statusName">
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.status == 0" type="success" size="small"
-                        @click="changeState(scope.row.welfareId, 1)">开启</el-button>
-                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
-                        @click="changeState(scope.row.welfareId, 0)">关闭</el-button>
-                    <el-button type="danger" size="mini" @click="handleDelete(scope.row.welfareId, -1)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
-        </div>
-        <!-- 添加或修改对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
-            <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:700px;margin-left:50px;'>
-                <el-form-item label="福利名称" prop="title">
-                    <el-input v-model="dataForm.title" style="width: 350px"></el-input>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="福利图片" prop="imgUrl">
-                    <el-tooltip content="建议图片宽高比260*200" placement="top-start">
-                        <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images" :limit="1"
-                            :on-success="handleGallerySucess" :on-exceed="handleExceed" :before-upload="uploadBannerImg"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                    </el-tooltip>
-                </el-form-item>
-                <el-form-item label="开始日期" prop="startTime">
-                    <el-date-picker value-format="yyyy-MM-dd" :picker-options="setDisabled" v-model="dataForm.startTime" type="date" placeholder="请选择开始时间" style="width: 350px">
-                    </el-date-picker>
-                </el-form-item>
-                <el-form-item label="结束日期" prop="endTime">
-                    <el-date-picker value-format="yyyy-MM-dd" :picker-options="setDisabled" v-model="dataForm.endTime" type="date" placeholder="请选择结束时间" style="width: 350px">
-                    </el-date-picker>
-                </el-form-item>
-                <el-form-item label="参与人">
-                    <el-select v-model="dataForm.participants" multiple filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.loginId" v-for="item in participantsList" :label="item.userName" :value="item.loginId">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item style="width: 800px" label="内容" prop="content">
-                    <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取消</el-button>
-                <el-button v-if="dialogStatus == 'create'" type="primary" @click="createData">确定</el-button>
-                <el-button v-else type="primary" @click="updateData">确定</el-button>
-            </div>
-        </el-dialog>
-
-    </div>
-</template>
-  
-<style>
-.demo-table-expand {
-    font-size: 0;
-}
-
-.demo-table-expand label {
-    width: 200px;
-    color: #99a9bf;
-}
-
-.demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-}
-</style>
-  
-<script>
-import { createItem, updateItem, welfareList, welfareState } from "@/api/welfareManage";
-import { allUserList } from "@/api/public";
-import waves from "@/directive/waves"; // 水波纹指令
-import Tinymce from '@/components/Tinymce'
-
-export default {
-    name: 'welfareList',
-    components: { Tinymce },
-    directives: { waves },
-    data() {
-        return {
-            setDisabled: {
-                disabledDate(time) {
-                    // return time.getTime() > Date.now();  // 可选历史天、可选当前天、不可选未来天
-                    // return time.getTime() > Date.now() - 8.64e7;  // 可选历史天、不可选当前天、不可选未来天
-                    // return time.getTime() < Date.now() - 8.64e7;  // 不可选历史天、可选当前天、可选未来天
-                    return time.getTime() < Date.now(); // 不可选历史天、不可选当前天、可选未来天
-                },
-            },
-            participantsList: [],
-            list: [],
-            total: 0,
-            listLoading: false,
-            listQuery: {
-                page: 1,
-                limit: 10,
-                title: '',
-                createTime: '',
-            },
-            dataForm: {
-                title: '',
-                imgUrl: '',
-                startTime: '',
-                endTime: '',
-                participants: [],
-                content: '',
-                images: [],
-            },
-            dialogFormVisible: false,
-            dialogStatus: '',
-            textMap: {
-                update: "编辑",
-                create: "创建",
-            },
-            rules: {
-                title: [{ required: true, message: "请填写福利名称", trigger: "blur" }],
-                imgUrl: [{ required: true, message: "图片不能为空", trigger: "blur" }],
-                startTime: [
-                    { required: true, message: "请选择福利开始时间", trigger: "change" },
-                    { validator: this.checkStartTime, trigger: 'change' }
-                ],
-                endTime: [
-                    { required: true, message: "请选择福利结束时间", trigger: "change" },
-                    { validator: this.checkEndTime, trigger: 'change' }
-                ],
-                content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
-            },
-            fileImgUrl: this.upLoadUrl,
-        }
-    },
-    created() {
-        this.getAllUserList(); 
-        this.getList();
-    },
-    methods: {
-        //校验开始时间
-        checkStartTime(rule, value, callback) {
-            if (!value) {
-                callback(new Error("请选择福利开始时间!"));
-            } else {
-                if (this.dataForm.endTime && Date.parse(value)  > Date.parse(this.dataForm.endTime)) {
-                    callback(new Error("福利开始时间必须小于等于福利结束时间!"))
-                    this.dataForm.startTime = '';
-                } else {
-                    callback();
-                }
-            }
-        },
-        //校验结束时间
-        checkEndTime(rule, value, callback) {
-            if (!value) {
-                callback(new Error("请选择福利结束时间!"));
-            } else {
-                if (!this.dataForm.startTime) {
-                    callback(new Error("请选择福利开始时间!"))
-                    this.dataForm.endTime = '';
-                } else if (Date.parse(this.dataForm.startTime) > Date.parse(value)) {
-                    callback(new Error("福利结束时间必须大于等于福利开始时间!"))
-                    this.dataForm.endTime = '';
-                } else {
-                    callback();
-                }
-            }
-        },
-        handleRemove(file, fileList) {
-            console.log(file, fileList);
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                let url = response.data.url;
-                images.push(url);
-                this.dataForm.imgUrl = images.join(",");
-            }
-        },
-        uploadBannerImg(file) {
-            const isJPGs = file.type === "image/jpeg";
-            console.log(isJPGs);
-        },
-        handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
-        },
-        handleGallerySucess(res, file, fileList) {
-            this.dataForm.imgUrl = ""; // 清空画廊图片数组
-
-            let images = [];
-            for (let i in fileList) {
-                let response = fileList[i].response;
-                if (response.errno && response.errno != "0") {
-                    this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                    // 上传失败移除该 file 对象
-                    fileList.splice(i, 1);
-                } else {
-                    let url = response.data.url;
-                    images.push(url);
-                }
-            }
-
-            this.dataForm.imgUrl = images.join(",");
-        },
-        resetForm() {
-            this.dataForm = {
-                title: '',
-                imgUrl: '',
-                startTime: '',
-                endTime: '',
-                participants: [],
-                content: '',
-                images: [],
-            };
-        },
-        handleCreate() {
-
-            this.resetForm();
-            this.dialogFormVisible = true;
-            this.dialogStatus = "create";
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent("");
-                this.$refs["dataForm"].clearValidate();
-            });
-        },
-        createData() {
-            this.$refs["dataForm"].validate((valid) => {
-                if (valid) {
-                    console.log(this.dataForm);
-                    createItem(this.dataForm)
-                            .then((response) => {
-                                this.getList();
-                                this.dialogFormVisible = false;
-                                this.$notify({
-                                    title: "成功",
-                                    message: "创建成功",
-                                    type: "success",
-                                    duration: 2000,
-                                });
-                                this.getList();
-                            })
-                            .catch(() => { });
-                }
-            });
-        },
-        handleUpdate(row) {
-            this.dataForm = Object.assign({}, row);
-            let content = this.dataForm.content;
-            if (this.dataForm.imgUrl) {
-                let images = this.dataForm.imgUrl.split(",");
-                this.dataForm.images = [];
-                for (let i in images) {
-                    let url = images[i];
-                    let name = "image_" + i;
-
-                    this.dataForm.images.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url } },
-                    });
-                }
-            }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
-            this.$nextTick(() => {
-                this.$refs.tinymce.setContent(content);
-                this.$refs['dataForm'].clearValidate()
-            })
-        },
-        updateData() {
-            this.$refs['dataForm'].validate((valid) => {
-                if (valid) {
-                    updateItem(this.dataForm).then(() => {
-                            this.dialogFormVisible = false
-                            this.$notify({
-                                title: '成功',
-                                message: '更新成功',
-                                type: 'success',
-                                duration: 2000
-                            })
-                            this.getList()
-                        })
-
-                }
-
-            })
-        },
-        changeState(welfareId, index) {
-            welfareState({ welfareId: welfareId, status: index }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '福利状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
-        handleDelete(welfareId, index) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                welfareState({ welfareId: welfareId, status: index }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {})
-
-        },
-        getAllUserList() {
-            allUserList().then(response => {
-                this.participantsList = response.data.data;
-            }).catch(() => {});
-        },
-        getList() {
-            this.listLoading = true
-            welfareList(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => {})
-        },
-       
-
-        handleFilter() {
-            this.listQuery.page = 1
-            this.getList()
-        },
-        handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
-        },
-        handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
-        },
-
-        
-    }
-}
-</script>
-<style>
-.ad-avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-}
-
-.ad-avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-}
-
-.ad-avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-}
-
-.ad-avatar {
-    display: block;
-}
-</style>
-