浏览代码

Merge branch 'dev' into 'master'

Dev

See merge request motive-power/yxl/yxl-web-admin-frontend!28
梁展鹏 3 年之前
父节点
当前提交
06ff97c218
共有 74 个文件被更改,包括 587 次插入492 次删除
  1. 4 4
      src/api/app/index.js
  2. 2 2
      src/api/config/index.js
  3. 1 1
      src/api/dict/index.js
  4. 5 5
      src/api/help/info.js
  5. 5 5
      src/api/help/type.js
  6. 3 0
      src/api/system/account.js
  7. 1 1
      src/components/AddressSelect.vue
  8. 1 1
      src/const/urlKey.js
  9. 6 0
      src/containers/ToolbarContainer.vue
  10. 100 0
      src/containers/accountSelect/AccountSelect.vue
  11. 2 0
      src/containers/index.js
  12. 1 0
      src/containers/issueType/IssueTypeSelect.vue
  13. 2 2
      src/main.js
  14. 3 6
      src/mixins/filterList.js
  15. 4 2
      src/utils/request.js
  16. 11 1
      src/views/baseManagement/bannerManagement/index.vue
  17. 1 1
      src/views/baseManagement/bannerManagement/modal/ItemModal.vue
  18. 3 2
      src/views/baseManagement/bannerManagement/toolbar.vue
  19. 1 1
      src/views/baseManagement/infoManagement/index.vue
  20. 5 7
      src/views/baseManagement/infoManagement/modal/ItemModal.vue
  21. 9 8
      src/views/baseManagement/infoManagement/toolbar.vue
  22. 4 10
      src/views/baseManagement/problemFeedbackManagement/toolbar.vue
  23. 11 1
      src/views/baseManagement/trending/index.vue
  24. 2 2
      src/views/baseManagement/trending/modal/ItemModal.vue
  25. 3 2
      src/views/baseManagement/trending/toolbar.vue
  26. 7 3
      src/views/baseManagement/updateList/index.vue
  27. 3 3
      src/views/baseManagement/updateList/modal/ItemModal.vue
  28. 4 3
      src/views/baseManagement/updateList/toolbar.vue
  29. 1 1
      src/views/financialManagement/cashDetail/index.vue
  30. 5 0
      src/views/financialManagement/cashDetail/toolbar.vue
  31. 1 1
      src/views/financialManagement/fundDetail/toolbar.vue
  32. 8 8
      src/views/financialManagement/orderManagement/index.vue
  33. 13 10
      src/views/financialManagement/orderManagement/toolbar.vue
  34. 1 1
      src/views/helpInfo/information/index.vue
  35. 3 3
      src/views/helpInfo/information/modal/ItemModal.vue
  36. 3 2
      src/views/helpInfo/information/toolbar.vue
  37. 1 1
      src/views/helpInfo/issueType/index.vue
  38. 2 2
      src/views/helpInfo/issueType/modal/ItemModal.vue
  39. 3 2
      src/views/helpInfo/issueType/toolbar.vue
  40. 1 1
      src/views/memberManagement/memberLever/index.vue
  41. 1 1
      src/views/memberManagement/memberLever/modal/ItemModal.vue
  42. 6 6
      src/views/memberManagement/memberList/toolbar.vue
  43. 4 4
      src/views/photoManagement/eventsList/index.vue
  44. 5 18
      src/views/photoManagement/eventsList/modal/ItemModal.vue
  45. 11 10
      src/views/photoManagement/eventsList/toolbar.vue
  46. 12 12
      src/views/photoManagement/imageGoodsManagement/index.vue
  47. 2 2
      src/views/photoManagement/imageGoodsManagement/modal/ItemModal.vue
  48. 32 8
      src/views/photoManagement/imageGoodsManagement/toolbar.vue
  49. 2 2
      src/views/photoManagement/photoVerifyManagement/index.vue
  50. 1 1
      src/views/photoManagement/photoVerifyManagement/modal/ItemModal.vue
  51. 1 1
      src/views/photoManagement/photoVerifyManagement/modal/MultItemModal.vue
  52. 18 9
      src/views/photoManagement/photoVerifyManagement/toolbar.vue
  53. 8 14
      src/views/photographerManagement/photoVerify/index.vue
  54. 17 7
      src/views/photographerManagement/photoVerify/toolbar.vue
  55. 11 9
      src/views/photographerManagement/photographerVerify/index.vue
  56. 1 1
      src/views/photographerManagement/photographerVerify/modal/ItemModal.vue
  57. 8 8
      src/views/photographerManagement/photographerVerify/toolbar.vue
  58. 1 1
      src/views/pointsManagement/pointsDetail/index.vue
  59. 5 11
      src/views/pointsManagement/pointsDetail/toolbar.vue
  60. 16 12
      src/views/sceneManagement/sceneList/index.vue
  61. 20 106
      src/views/sceneManagement/sceneList/modal/ItemModal.vue
  62. 10 9
      src/views/sceneManagement/sceneList/toolbar.vue
  63. 8 3
      src/views/sceneManagement/sceneVerify/index.vue
  64. 1 1
      src/views/sceneManagement/sceneVerify/modal/ItemModal.vue
  65. 19 12
      src/views/sceneManagement/sceneVerify/toolbar.vue
  66. 8 11
      src/views/statistics/downloadImage/index.vue
  67. 6 6
      src/views/statistics/downloadImage/toolbar.vue
  68. 20 18
      src/views/statistics/uploadImage/index.vue
  69. 11 12
      src/views/statistics/uploadImage/toolbar.vue
  70. 25 23
      src/views/statistics/withdrawalRecord/index.vue
  71. 7 6
      src/views/statistics/withdrawalRecord/modal/ItemModal.vue
  72. 9 15
      src/views/statistics/withdrawalRecord/toolbar.vue
  73. 26 25
      src/views/systemManagement/accountManagement/index.vue
  74. 9 3
      src/views/systemManagement/accountManagement/toolbar.vue

+ 4 - 4
src/api/app/index.js

@@ -1,11 +1,11 @@
 import api from '@/utils/request';
 
 export const getPage = params =>
-	api.post(`/yxl-back-end/framework/app/admin/page`, params);
+	api.post(`/yxl-back-end/service/app/admin/page`, params);
 export const saveItem = params => {
-	return api.post(`/yxl-back-end/framework/app`, params);
+	return api.post(`/yxl-back-end/service/app`, params);
 };
 export const forceUpgradeItem = ({ id, ...params }) =>
-	api.put(`/yxl-back-end/framework/app/${id}/is-force-upgrade`, params);
+	api.put(`/yxl-back-end/service/app/${id}/is-force-upgrade`, params);
 export const changeShowItem = ({ id, ...params }) =>
-	api.put(`/yxl-back-end/framework/app/${id}/show`, params);
+	api.put(`/yxl-back-end/service/app/${id}/show`, params);

+ 2 - 2
src/api/config/index.js

@@ -1,7 +1,7 @@
 import api from '@/utils/request';
 
 export const getList = params =>
-	api.post(`/yxl-back-end/framework/business-config/list`, params);
+	api.post(`/yxl-back-end/service/business-config/list`, params);
 export const saveItem = params => {
-	return api.post(`/yxl-back-end/framework/business-config`, params);
+	return api.post(`/yxl-back-end/service/business-config`, params);
 };

+ 1 - 1
src/api/dict/index.js

@@ -1,4 +1,4 @@
 import api from '@/utils/request';
 
 export const getList = params =>
-	api.post(`/yxl-back-end/framework/dict/entry/list`, params);
+	api.post(`/yxl-back-end/service/dict/entry/list`, params);

+ 5 - 5
src/api/help/info.js

@@ -1,15 +1,15 @@
 import api from '@/utils/request';
 
 export const getPage = params =>
-	api.post(`/yxl-back-end/framework/help/content/page`, params);
+	api.post(`/yxl-back-end/service/help/content/page`, params);
 export const getItem = ({ id, ...params }) =>
-	api.get(`/yxl-back-end/framework/help/content/${id}`, params);
+	api.get(`/yxl-back-end/service/help/content/${id}`, params);
 export const saveItem = ({ id, ...params }) => {
 	if (id) {
-		return api.put(`/yxl-back-end/framework/help/content/${id}`, params);
+		return api.put(`/yxl-back-end/service/help/content/${id}`, params);
 	} else {
-		return api.post(`/yxl-back-end/framework/help/content`, params);
+		return api.post(`/yxl-back-end/service/help/content`, params);
 	}
 };
 export const delItem = ({ id, ...params }) =>
-	api.del(`/yxl-back-end/framework/help/content/${id}`, params);
+	api.del(`/yxl-back-end/service/help/content/${id}`, params);

+ 5 - 5
src/api/help/type.js

@@ -1,15 +1,15 @@
 import api from '@/utils/request';
 
 export const getPage = params =>
-  api.post(`/yxl-back-end/framework/help/group/page`, params);
+  api.post(`/yxl-back-end/service/help/group/page`, params);
 export const getItem = ({ id, ...params }) =>
-  api.get(`/yxl-back-end/framework/help/group/${id}`, params);
+  api.get(`/yxl-back-end/service/help/group/${id}`, params);
 export const saveItem = ({ id, ...params }) => {
   if (id) {
-    return api.put(`/yxl-back-end/framework/help/group/${id}`, params);
+    return api.put(`/yxl-back-end/service/help/group/${id}`, params);
   } else {
-    return api.post(`/yxl-back-end/framework/help/group`, params);
+    return api.post(`/yxl-back-end/service/help/group`, params);
   }
 };
 export const delItem = ({ id, ...params }) =>
-  api.del(`/yxl-back-end/framework/help/group/${id}`, params);
+  api.del(`/yxl-back-end/service/help/group/${id}`, params);

+ 3 - 0
src/api/system/account.js

@@ -17,3 +17,6 @@ export const saveItem = params => {
 };
 export const delItem = ({ id, ...params }) =>
   api.del(`/yxl-back-end/framework/uiac/role/del/${id}`, params);
+
+export const getSelectList = params =>
+  api.get(`/yxl-back-end/framework/uiac/account/search-select`, params);

+ 1 - 1
src/components/AddressSelect.vue

@@ -3,7 +3,7 @@
     v-model="newValue"
     :options="options"
     :props="config"
-    style="width: 300px;"
+    style="width: 100%;"
     v-bind="$attrs"
   ></el-cascader>
 </template>

+ 1 - 1
src/const/urlKey.js

@@ -1,3 +1,3 @@
-export const UPLOAD_URL = `${process.env.VUE_APP_BASE_API}/yxl-back-end/framework/oss/local/upload`;
+export const UPLOAD_URL = `${process.env.VUE_APP_BASE_API}/yxl-back-end/service/oss/local/upload`;
 
 export const UPLOAD_URL_DEMO = `${process.env.VUE_APP_BASE_API}/file/init/f728a2ca-14fa-40b3-9daf-47622d628849.png`;

+ 6 - 0
src/containers/ToolbarContainer.vue

@@ -102,6 +102,12 @@
               :params="field.params"
               :clearable="true"
             />
+            <AccountSelect
+              v-if="field.type === 'AccountSelect'"
+              v-model="form[field.name]"
+              :params="field.params"
+              :clearable="true"
+            />
           </el-form-item>
         </el-col>
       </el-row>

+ 100 - 0
src/containers/accountSelect/AccountSelect.vue

@@ -0,0 +1,100 @@
+<template>
+  <el-select
+    v-model="vModel"
+    placeholder="请选择"
+    filterable
+    remote
+    :remote-method="remoteMethod"
+    clearable
+    v-bind="$attrs"
+    @change="onChange"
+  >
+    <el-option
+      v-for="item in options"
+      :key="item.id"
+      :label="item.nickname"
+      :value="item.id"
+    >
+      <span style="float: left">{{ item.nickname }}</span>
+      <span style="float: right; color: #8492a6; font-size: 13px">{{
+        item.mobileNumber | phoneFormat
+      }}</span>
+    </el-option>
+  </el-select>
+</template>
+
+<script>
+import { getSelectList } from '@/api/system/account';
+
+export default {
+  name: 'AccountSelect',
+
+  filters: {
+    phoneFormat: function(str) {
+      if (!str) {
+        return '-';
+      }
+      let pattern = /^(\d{3})(\d{4})(\d{4})$/;
+      return str.replace(pattern, `$1-$2-$3`);
+    }
+  },
+
+  props: {
+    value: {
+      type: String,
+      default: ''
+    },
+    firstLoad: {
+      type: Boolean,
+      default: true
+    }
+  },
+
+  data() {
+    return {
+      vModel: this.value,
+      options: []
+    };
+  },
+
+  watch: {
+    value: {
+      handler(val) {
+        this.vModel = val;
+      },
+      immediate: true
+    }
+  },
+
+  mounted() {
+    this.firstLoad && this.loadData();
+  },
+
+  methods: {
+    onChange(value) {
+      this.$emit('input', value || null);
+    },
+
+    remoteMethod(query) {
+      if (query === '') {
+        this.loadData();
+      } else {
+        this.loadData(query);
+      }
+    },
+
+    async loadData(keyword = '') {
+      const params = {};
+      if (keyword) {
+        params.keyword = keyword;
+      }
+      const { success, data, msg } = await getSelectList(params);
+      if (success) {
+        this.options = data;
+      }
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 2 - 0
src/containers/index.js

@@ -1,9 +1,11 @@
 import Vue from 'vue';
+import AccountSelect from './accountSelect/AccountSelect.vue';
 import ActivitySelect from './ActivitySelect/ActivitySelect.vue';
 import IssueTypeSelect from './issueType/IssueTypeSelect.vue';
 import SceneSelect from './sceneSelect/SceneSelect.vue';
 import ToolbarContainer from './ToolbarContainer.vue';
 
+Vue.component('AccountSelect', AccountSelect);
 Vue.component('ActivitySelect', ActivitySelect);
 Vue.component('IssueTypeSelect', IssueTypeSelect);
 Vue.component('SceneSelect', SceneSelect);

+ 1 - 0
src/containers/issueType/IssueTypeSelect.vue

@@ -5,6 +5,7 @@
     :clearable="true"
     v-bind="$attrs"
     @change="onChange"
+    style="width: 100%"
   ></el-cascader>
   <!-- :show-all-levels="false" -->
 </template>

+ 2 - 2
src/main.js

@@ -77,8 +77,8 @@ Vue.prototype.$col = TABLECOLSIZE;
 
 Vue.prototype.$upload = url => `${process.env.VUE_APP_BASE_API}${url}`;
 
-window.UEDITOR_CONFIG = `${process.env.VUE_APP_BASE_API}/yxl-back-end/framework/oss/ueditor/ueditor-action`;
-window.UEDITOR_SERVER_URL = `${process.env.VUE_APP_BASE_API}/yxl-back-end/framework/oss/ueditor/ueditor-action`;
+window.UEDITOR_CONFIG = `${process.env.VUE_APP_BASE_API}/yxl-back-end/service/oss/ueditor/ueditor-action`;
+window.UEDITOR_SERVER_URL = `${process.env.VUE_APP_BASE_API}/yxl-back-end/service/oss/ueditor/ueditor-action`;
 // window.UEDITOR_CONFIG = `https://ex.by-health.com/baby-institute-back-end/oss/ueditor/ueditor-action`;
 // window.UEDITOR_SERVER_URL = `https://ex.by-health.com/baby-institute-back-end/oss/ueditor/ueditor-action`;
 

+ 3 - 6
src/mixins/filterList.js

@@ -36,14 +36,11 @@ const filterList = (params = {}) => ({
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
+        start: this.pagination.page,
+        limit: this.pagination.pageSize
       };
 
-      const { data, msg } = await this.apiList(inParams, {
-        limit: this.pagination.pageSize,
-        start: this.pagination.page
-      });
+      const { data, msg } = await this.apiList(inParams);
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 4 - 2
src/utils/request.js

@@ -125,6 +125,8 @@ const formatStatus = response => {
     txt = response.msg || '服务器错误';
     // } else if (response.code === 401) {
     //   txt = '身份验证失败'
+  } else if (response.code === 100000) {
+    txt = response.msg || '服务器错误';
   }
   Message({
     message: txt || 'Error',
@@ -315,8 +317,8 @@ const post = (url, data = {}, config) => {
         data,
         seq: config.seq,
         token: config.token,
-        limit: data.size,
-        start: data.page
+        limit: data.limit,
+        start: data.start
       },
       config
     )

+ 11 - 1
src/views/baseManagement/bannerManagement/index.vue

@@ -87,8 +87,18 @@ export default {
           width: this.$col.s
         },
         {
+          key: 'createAt',
+          name: '创建时间',
+          width: this.$col.b
+        },
+        {
+          key: 'createAt',
+          name: '修改时间',
+          width: this.$col.b
+        },
+        {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 1 - 1
src/views/baseManagement/bannerManagement/modal/ItemModal.vue

@@ -40,7 +40,7 @@
       <el-form-item label="链接" prop="link">
         <el-input v-model="form.link"></el-input>
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>

+ 3 - 2
src/views/baseManagement/bannerManagement/toolbar.vue

@@ -20,9 +20,10 @@ export default {
         {
           type: 'select',
           name: 'isShow',
-          label: '状态',
+          label: '显示/隐藏',
           options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 1 - 1
src/views/baseManagement/infoManagement/index.vue

@@ -97,7 +97,7 @@ export default {
         },
         {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 5 - 7
src/views/baseManagement/infoManagement/modal/ItemModal.vue

@@ -27,7 +27,7 @@
       <el-form-item label="内容" prop="content">
         <RichText v-model="form.content" />
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>
@@ -78,9 +78,9 @@ export default {
         sort: 1
       },
       rules: {
-        author: [{ required: true, message: '请输入作者', trigger: 'change' }],
-        title: [{ required: true, message: '请输入标题', trigger: 'change' }],
-        brief: [{ required: true, message: '请输入简介', trigger: 'change' }],
+        title: [{ required: true, min: 4, max: 64, message: '请输入标题(4 ~ 64个字符)', trigger: 'change' }],
+        author: [{ required: true, min: 2, max: 64, message: '请输入作者(2 ~ 64个字符)', trigger: 'change' }],
+        brief: [{ required: true, min: 4, max: 255, message: '请输入简介(4 ~ 255个字符)', trigger: 'change' }],
         content: [{ required: true, message: '请输入内容', trigger: 'change' }],
         cover: [
           {
@@ -90,9 +90,7 @@ export default {
             trigger: 'change'
           }
         ]
-      },
-
-      typeOptions: []
+      }
     };
   },
 

+ 9 - 8
src/views/baseManagement/infoManagement/toolbar.vue

@@ -17,17 +17,18 @@ export default {
           label: '标题'
         },
         {
-          type: 'select',
-          name: 'status',
-          label: '状态',
-          options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
-        },
-        {
           type: 'dateArray',
           name: 'date',
-          label: '发布日期',
+          label: '发布时间',
           apiName: ['startTime', 'endTime']
+        },
+        {
+          type: 'select',
+          name: 'status',
+          label: '显示/隐藏',
+          options: TYPE,
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 4 - 10
src/views/baseManagement/problemFeedbackManagement/toolbar.vue

@@ -10,15 +10,9 @@ export default {
     return {
       fields: [
         {
-          type: 'text',
-          name: 'nickname',
-          label: '账号昵称'
-        },
-        {
-          type: 'text',
-          name: 'phonenumber',
-          label: '账号手机号码',
-          labelWidth: '100px'
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
           type: 'text',
@@ -29,7 +23,7 @@ export default {
         {
           type: 'dateArray',
           name: 'date',
-          label: '反馈日期',
+          label: '反馈时间',
           apiName: ['startTime', 'endTime']
         }
       ]

+ 11 - 1
src/views/baseManagement/trending/index.vue

@@ -52,8 +52,18 @@ export default {
           width: this.$col.m
         },
         {
+          key: 'createAt',
+          name: '创建时间',
+          width: this.$col.b
+        },
+        {
+          key: 'createAt',
+          name: '修改时间',
+          width: this.$col.b
+        },
+        {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.m,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 2 - 2
src/views/baseManagement/trending/modal/ItemModal.vue

@@ -14,7 +14,7 @@
       <el-form-item label="热搜词" prop="name">
         <el-input v-model="form.name"></el-input>
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>
@@ -69,7 +69,7 @@ export default {
         sort: 1
       },
       rules: {
-        name: [{ required: true, message: '请输入热搜词', trigger: 'change' }]
+        name: [{ required: true, min: 2, max: 64, message: '请输入热搜词(2 ~ 64个字符)', trigger: 'change' }]
       },
 
       typeOptions: []

+ 3 - 2
src/views/baseManagement/trending/toolbar.vue

@@ -19,9 +19,10 @@ export default {
         {
           type: 'select',
           name: 'isShow',
-          label: '状态',
+          label: '显示/隐藏',
           options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 7 - 3
src/views/baseManagement/updateList/index.vue

@@ -80,11 +80,16 @@ export default {
           }
         },
         {
+          key: 'createAt',
+          name: '创建时间',
+          width: this.$col.b
+        },
+        {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.b,
           type: 'switch',
-          switchName: ['运行', '停止'],
+          switchName: ['显示', '隐藏'],
           api: async row => {
             const { success } = await changeShowItem(row);
             if (success) {
@@ -138,7 +143,6 @@ export default {
         //         '删除'
         //       )
         //     );
-
         //     return h('div', action);
         //   }
         // }

+ 3 - 3
src/views/baseManagement/updateList/modal/ItemModal.vue

@@ -41,10 +41,10 @@
         </el-radio-group>
       </el-form-item>
 
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
-          <el-radio :label="true">运行</el-radio>
-          <el-radio :label="false">停止</el-radio>
+          <el-radio :label="true">显示</el-radio>
+          <el-radio :label="false">隐藏</el-radio>
         </el-radio-group>
       </el-form-item>
 

+ 4 - 3
src/views/baseManagement/updateList/toolbar.vue

@@ -41,9 +41,10 @@ export default {
         {
           type: 'select',
           name: 'isShow',
-          label: '状态',
-          options: setStatus(['运行', '停止'], [true, false]),
-          format: val => (val !== null && val !== '' ? !!val : null)
+          label: '显示/隐藏',
+          options: setStatus(['显示', '隐藏'], [true, false]),
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: true
         }
       ]
     };

+ 1 - 1
src/views/financialManagement/cashDetail/index.vue

@@ -68,7 +68,7 @@ export default {
         },
         {
           key: 'createAt',
-          name: '时间',
+          name: '创建时间',
           width: this.$col.b
         }
       ]

+ 5 - 0
src/views/financialManagement/cashDetail/toolbar.vue

@@ -17,6 +17,11 @@ export default {
           label: '展示文案',
           params: this.$dict.INTEGRAL_CASH_TYPE,
           valueKay: 'label'
+        },
+        {
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         }
       ]
     };

+ 1 - 1
src/views/financialManagement/fundDetail/toolbar.vue

@@ -23,7 +23,7 @@ export default {
         {
           type: 'dateArray',
           name: 'date',
-          label: '反馈日期',
+          label: '反馈时间',
           apiName: ['start', 'end']
         }
       ]

+ 8 - 8
src/views/financialManagement/orderManagement/index.vue

@@ -80,24 +80,24 @@ export default {
           type: 'tag',
           fetchTagType: val => {
             switch (val) {
-              case 1:
-                return 'success';
-              case 0:
-                return 'info';
               case -1:
                 return 'warning';
+              case 0:
+                return 'info';
+              case 1:
+                return 'success';
               default:
                 return 'info';
             }
           },
           tagName: row => {
             switch (row.state) {
-              case 1:
-                return '已支付';
-              case 0:
-                return '未支付';
               case -1:
                 return '取消支付';
+              case 0:
+                return '未支付';
+              case 1:
+                return '已支付';
               default:
                 return '-';
             }

+ 13 - 10
src/views/financialManagement/orderManagement/toolbar.vue

@@ -17,28 +17,31 @@ export default {
           label: '订单编号'
         },
         {
-          type: 'text',
+          type: 'AccountSelect',
           name: 'accountId',
-          label: '购买用户'
+          label: '账号'
         },
         {
           type: 'select',
           name: 'payChannels',
           label: '支付渠道',
-          options: setStatus(['积分', '微信', '支付宝'], ['积分', '微信', '支付宝'])
-        },
-        {
-          type: 'select',
-          name: 'state',
-          label: '订单状态',
-          options: setStatus(['未支付', '已支付', '待支付'], [-1, 1, 0]),
-          format: val => (val !== null && val !== '' ? val : null)
+          options: setStatus(
+            ['积分', '微信', '支付宝'],
+            ['积分', '微信', '支付宝']
+          )
         },
         {
           type: 'dateArray',
           name: 'date',
           label: '支付时间',
           apiName: ['startTime', 'endTime']
+        },
+        {
+          type: 'select',
+          name: 'state',
+          label: '订单状态',
+          options: setStatus(['已支付', '取消支付', '待支付'], [1, 0, -1]),
+          format: val => (val !== null && val !== '' ? val : null)
         }
       ]
     };

+ 1 - 1
src/views/helpInfo/information/index.vue

@@ -59,7 +59,7 @@ export default {
         },
         {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 3 - 3
src/views/helpInfo/information/modal/ItemModal.vue

@@ -20,7 +20,7 @@
       <el-form-item label="分类" prop="helpGroupId">
         <IssueTypeSelect v-model="form.helpGroupId"></IssueTypeSelect>
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>
@@ -69,9 +69,9 @@ export default {
         sort: 1
       },
       rules: {
-        name: [{ required: true, message: '请输入活动名称', trigger: 'blur' }],
+        name: [{ required: true, min: 4, max: 64, message: '请输入活动名称(4 ~ 64个字符)', trigger: 'blur' }],
         content: [
-          { required: true, message: '请输入活动内容', trigger: 'blur' }
+          { required: true, min: 4, max: 512, message: '请输入活动内容(4 ~ 512个字符)', trigger: 'blur' }
         ],
         helpGroupId: [
           { required: true, message: '请选择所属分类', trigger: 'change' }

+ 3 - 2
src/views/helpInfo/information/toolbar.vue

@@ -25,10 +25,11 @@ export default {
         {
           type: 'select',
           name: 'status',
-          label: '状态',
+          label: '显示/隐藏',
           labelWidth: '100px',
           options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 1 - 1
src/views/helpInfo/issueType/index.vue

@@ -53,7 +53,7 @@ export default {
         },
         {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 2 - 2
src/views/helpInfo/issueType/modal/ItemModal.vue

@@ -14,7 +14,7 @@
       <el-form-item label="分类名称" prop="name">
         <el-input v-model="form.name"></el-input>
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>
@@ -65,7 +65,7 @@ export default {
         sort: 1
       },
       rules: {
-        name: [{ required: true, message: '请输入活动名称', trigger: 'blur' }]
+        name: [{ required: true, min: 4, max: 64, message: '请输入活动名称(4 ~ 64个字符)', trigger: 'blur' }]
       }
     };
   },

+ 3 - 2
src/views/helpInfo/issueType/toolbar.vue

@@ -19,9 +19,10 @@ export default {
         {
           type: 'select',
           name: 'status',
-          label: '状态',
+          label: '显示/隐藏',
           options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 1 - 1
src/views/memberManagement/memberLever/index.vue

@@ -60,7 +60,7 @@ export default {
         },
         {
           key: 'isEnable',
-          name: '状态',
+          name: '启用/停用',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 1 - 1
src/views/memberManagement/memberLever/modal/ItemModal.vue

@@ -44,7 +44,7 @@
           :max="999999"
         ></el-input-number>
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="启用/停用">
         <el-radio-group v-model="form.isEnable" prop="isEnable">
           <el-radio :label="true">启用</el-radio>
           <el-radio :label="false">停用</el-radio>

+ 6 - 6
src/views/memberManagement/memberList/toolbar.vue

@@ -28,11 +28,6 @@ export default {
         {
           type: 'select',
           name: 'date',
-          label: '状态'
-        },
-        {
-          type: 'select',
-          name: 'date',
           label: '角色'
         },
         {
@@ -43,8 +38,13 @@ export default {
         {
           type: 'dateArray',
           name: 'date',
-          label: '反馈日期',
+          label: '反馈时间',
           apiName: ['start', 'end']
+        },
+        {
+          type: 'select',
+          name: 'date',
+          label: '状态'
         }
       ]
     };

+ 4 - 4
src/views/photoManagement/eventsList/index.vue

@@ -37,12 +37,12 @@ export default {
       columns: [
         {
           key: 'kindergartenName',
-          name: '所属场景',
+          name: '场景',
           width: this.$col.b
         },
         {
           key: 'name',
-          name: '活动名称',
+          name: '活动',
           minWidth: this.$col.b
         },
         {
@@ -72,11 +72,11 @@ export default {
           name: '活动时间',
           width: this.$col.auto(260),
           render: (h, { row }) =>
-            h('span', `${row.eventStartDate}~${row.eventEndDate}`)
+            h('span', `${row.eventStartDate} <br /> ${row.eventEndDate}`)
         },
         {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),

+ 5 - 18
src/views/photoManagement/eventsList/modal/ItemModal.vue

@@ -50,7 +50,7 @@
         >
         </el-date-picker>
       </el-form-item>
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>
@@ -119,23 +119,10 @@ export default {
         sort: 1
       },
       rules: {
-        name: [
-          { required: true, message: '请输入活动名称', trigger: 'change' }
-        ],
-        cover: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        brief: [
-          { required: true, message: '请输入活动介绍', trigger: 'change' }
-        ],
-        kindergartenId: [
-          { required: true, message: '请选择场景', trigger: 'change' }
-        ],
+        kindergartenId: [{ required: true, message: '请选择场景', trigger: 'change' }],
+        name: [{ required: true, min: 4, max: 64, message: '请输入活动名称(4 ~ 64个字符)', trigger: 'change' }],
+        brief: [{ required: true, min: 4, max: 255, message: '请输入活动介绍(4 ~ 255个字符)', trigger: 'change' }],
+        cover: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change' }],
         eventTimeArr: [{ validator: validateTimer, trigger: 'blur' }]
       },
 

+ 11 - 10
src/views/photoManagement/eventsList/toolbar.vue

@@ -14,26 +14,27 @@ export default {
         {
           type: 'SceneSelect',
           name: 'kindergartenId',
-          label: '所属场景'
+          label: '场景'
         },
         {
           type: 'text',
           name: 'name',
-          label: '活动名称'
-        },
-        {
-          type: 'select',
-          name: 'isShow',
-          label: '状态',
-          options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
+          label: '活动'
         },
         {
           type: 'dateArray',
           name: 'date',
-          label: '活动开始时间',
+          label: '活动时间',
           apiName: ['startTime', 'endTime'],
           labelWidth: '100px'
+        },
+        {
+          type: 'select',
+          name: 'isShow',
+          label: '显示/隐藏',
+          options: TYPE,
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 12 - 12
src/views/photoManagement/imageGoodsManagement/index.vue

@@ -41,12 +41,12 @@ export default {
         },
         {
           key: 'kindergartenName',
-          name: '场景名称',
+          name: '场景',
           minWidth: this.$col.b
         },
         {
           key: 'activityName',
-          name: '活动名称',
+          name: '活动',
           minWidth: this.$col.b
         },
         {
@@ -101,6 +101,14 @@ export default {
           width: this.$col.m
         },
         {
+          key: 'isTake',
+          name: '随手拍',
+          width: this.$col.s,
+          type: 'tag',
+          fetchTagType: val => (val ? 'success' : 'info'),
+          tagName: row => (row.isTake ? '是' : '否')
+        },
+        {
           key: 'isBeautiful',
           name: '精选',
           width: this.$col.m,
@@ -119,16 +127,8 @@ export default {
           // tagName: row => (row.isBeautiful ? '是' : '否')
         },
         {
-          key: 'isTake',
-          name: '随手拍',
-          width: this.$col.s,
-          type: 'tag',
-          fetchTagType: val => (val ? 'success' : 'info'),
-          tagName: row => (row.isTake ? '是' : '否')
-        },
-        {
           key: 'isReady',
-          name: '是否裂变',
+          name: '裂变',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),
@@ -136,7 +136,7 @@ export default {
         },
         {
           key: 'isShow',
-          name: '是否上架',
+          name: '上架',
           width: this.$col.b,
           type: 'switch',
           switchName: ['上架', '下架'],

+ 2 - 2
src/views/photoManagement/imageGoodsManagement/modal/ItemModal.vue

@@ -60,14 +60,14 @@
 <!--        />-->
 <!--      </el-form-item>-->
 
-      <el-form-item label="是否精选">
+      <el-form-item label="精选">
         <el-radio-group v-model="form.isBeautiful" prop="isShow">
           <el-radio :label="false">否</el-radio>
           <el-radio :label="true">是</el-radio>
         </el-radio-group>
       </el-form-item>
 
-      <el-form-item label="状态">
+      <el-form-item label="显示/隐藏">
         <el-radio-group v-model="form.isShow" prop="isShow">
           <el-radio :label="false">下架</el-radio>
           <el-radio :label="true">上架</el-radio>

+ 32 - 8
src/views/photoManagement/imageGoodsManagement/toolbar.vue

@@ -4,6 +4,7 @@
 
 <script>
 import AUDITTYPE from '@/const/auditType';
+import { setStatus } from '@/utils';
 
 export default {
   name: 'ImageGoodsManagementToolbar',
@@ -11,24 +12,47 @@ export default {
   data() {
     return {
       fields: [
-        // TODO 上传者
+        {
+          type: 'SceneSelect',
+          name: 'kindergartenId',
+          label: '场景'
+        },
         {
           type: 'ActivitySelect',
           name: 'activityId',
-          label: '上传位置'
+          label: '活动'
         },
         {
-          type: 'select',
-          name: 'auditStatus',
-          label: '状态',
-          options: AUDITTYPE,
-          format: val => val
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
           type: 'dateArray',
           name: 'date',
-          label: '上传日期',
+          label: '上传时间',
           apiName: ['startTime', 'endTime']
+        },
+        {
+          type: 'select',
+          name: 'isTake',
+          label: '随手拍',
+          options: setStatus(['是', '否'], [true, false]),
+          format: val => (val !== null && val !== '' ? !!val : null)
+        },
+        {
+          type: 'select',
+          name: 'isBeautiful',
+          label: '精选',
+          options: setStatus(['是', '否'], [true, false]),
+          format: val => (val !== null && val !== '' ? !!val : null)
+        },
+        {
+          type: 'select',
+          name: 'isReady',
+          label: '裂变',
+          options: setStatus(['是', '否'], [true, false]),
+          format: val => (val !== null && val !== '' ? !!val : null)
         }
       ]
     };

+ 2 - 2
src/views/photoManagement/photoVerifyManagement/index.vue

@@ -95,12 +95,12 @@ export default {
         },
         {
           key: 'kindergartenName',
-          name: '场景名称',
+          name: '场景',
           minWidth: this.$col.b
         },
         {
           key: 'activityName',
-          name: '活动名称',
+          name: '活动',
           minWidth: this.$col.b
         },
         {

+ 1 - 1
src/views/photoManagement/photoVerifyManagement/modal/ItemModal.vue

@@ -95,7 +95,7 @@ export default {
       },
       rules: {
         auditStatus: [
-          { required: true, message: '请选择是否通过', trigger: 'blur' }
+          { required: true, message: '请选择审核状态', trigger: 'blur' }
         ]
       }
     };

+ 1 - 1
src/views/photoManagement/photoVerifyManagement/modal/MultItemModal.vue

@@ -57,7 +57,7 @@ export default {
       },
       rules: {
         auditStatus: [
-          { required: true, message: '请选择是否通过', trigger: 'blur' }
+          { required: true, message: '请选择审核状态', trigger: 'blur' }
         ]
       }
     };

+ 18 - 9
src/views/photoManagement/photoVerifyManagement/toolbar.vue

@@ -11,25 +11,34 @@ export default {
   data() {
     return {
       fields: [
-        // TODO 上传者
+        {
+          type: 'SceneSelect',
+          name: 'kindergartenId',
+          label: '场景'
+        },
         {
           type: 'ActivitySelect',
           name: 'title',
-          label: '上传位置'
+          label: '活动'
         },
         {
-          type: 'select',
-          name: 'auditStatus',
-          label: '状态',
-          options: AUDITTYPE,
-          format: val => val,
-          defaultValue: 0
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
           type: 'dateArray',
           name: 'date',
-          label: '上传日期',
+          label: '上传时间',
           apiName: ['startTime', 'endTime']
+        },
+        {
+          type: 'select',
+          name: 'auditStatus',
+          label: '审核状态',
+          options: AUDITTYPE,
+          format: val => val,
+          defaultValue: 0
         }
       ]
     };

+ 8 - 14
src/views/photographerManagement/photoVerify/index.vue

@@ -26,10 +26,7 @@
     <toolbar @on-filter="filterData" @on-reset="filterData" />
 
     <div class="m-10 bg-w p-20 br-10">
-      <el-button
-        type="primary"
-        icon="el-icon-plus"
-        @click="$AliOssMultiModal()"
+      <el-button type="primary" icon="el-icon-plus" @click="$AliOssMultiModal()"
         >批量上传照片</el-button
       >
 
@@ -70,12 +67,12 @@ export default {
         },
         {
           key: 'kindergartenName',
-          name: '场景名称',
+          name: '场景',
           minWidth: this.$col.b
         },
         {
           key: 'activityName',
-          name: '活动名称',
+          name: '活动',
           minWidth: this.$col.b
         },
         {
@@ -207,17 +204,14 @@ export default {
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
+        start: this.pagination.page,
+        limit: this.pagination.pageSize
       };
 
-      const { data, msg } = await this.apiList(inParams, {
-        limit: this.pagination.pageSize,
-        start: this.pagination.page
-      });
+      const { data, msg } = await this.apiList(inParams);
 
-      const res2 = await getCount(inParams)
-      this.statistics = res2.data
+      const res2 = await getCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 17 - 7
src/views/photographerManagement/photoVerify/toolbar.vue

@@ -12,22 +12,32 @@ export default {
     return {
       fields: [
         {
+          type: 'SceneSelect',
+          name: 'kindergartenId',
+          label: '场景'
+        },
+        {
           type: 'ActivitySelect',
           name: 'activityId',
-          label: '上传位置'
+          label: '活动'
         },
         {
-          type: 'select',
-          name: 'auditStatus',
-          label: '状态',
-          options: AUDITTYPE,
-          format: val => val
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
           type: 'dateArray',
           name: 'date',
-          label: '上传日期',
+          label: '上传时间',
           apiName: ['startTime', 'endTime']
+        },
+        {
+          type: 'select',
+          name: 'auditStatus',
+          label: '审核状态',
+          options: AUDITTYPE,
+          format: val => val
         }
       ]
     };

+ 11 - 9
src/views/photographerManagement/photographerVerify/index.vue

@@ -107,8 +107,13 @@ export default {
             })
         },
         {
+          key: 'createAt',
+          name: '申请时间',
+          width: this.$col.b
+        },
+        {
           key: 'auditStatus',
-          name: '状态',
+          name: '审核状态',
           minWidth: this.$col.s,
           type: 'tag',
           fetchTagType: val => {
@@ -182,17 +187,14 @@ export default {
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
+        start: this.pagination.page,
+        limit: this.pagination.pageSize
       };
 
-      const { data, msg } = await this.apiList(inParams, {
-        limit: this.pagination.pageSize,
-        start: this.pagination.page
-      });
+      const { data, msg } = await this.apiList(inParams);
 
-      const res2 = await getCount(inParams)
-      this.statistics = res2.data
+      const res2 = await getCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 1 - 1
src/views/photographerManagement/photographerVerify/modal/ItemModal.vue

@@ -139,7 +139,7 @@ export default {
       },
       rules: {
         auditStatus: [
-          { required: true, message: '请选择是否通过', trigger: 'blur' }
+          { required: true, message: '请选择审核状态', trigger: 'blur' }
         ]
       }
     };

+ 8 - 8
src/views/photographerManagement/photographerVerify/toolbar.vue

@@ -12,20 +12,20 @@ export default {
     return {
       fields: [
         {
-          type: 'text',
-          name: 'realName',
-          label: '申请者'
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
-          type: 'text',
-          name: 'phonenumber',
-          label: '账号手机号码',
-          labelWidth: '100px'
+          type: 'dateArray',
+          name: 'date',
+          label: '申请时间',
+          apiName: ['startTime', 'endTime']
         },
         {
           type: 'select',
           name: 'auditStatus',
-          label: '状态',
+          label: '审核状态',
           options: AUDITTYPE,
           format: val => val,
           defaultValue: 0

+ 1 - 1
src/views/pointsManagement/pointsDetail/index.vue

@@ -68,7 +68,7 @@ export default {
         },
         {
           key: 'createAt',
-          name: '时间',
+          name: '创建时间',
           width: this.$col.b
         }
       ]

+ 5 - 11
src/views/pointsManagement/pointsDetail/toolbar.vue

@@ -11,23 +11,17 @@ export default {
   data() {
     return {
       fields: [
-        // {
-        //   type: 'text',
-        //   name: 'title',
-        //   label: '申请者'
-        // },
-        // {
-        //   type: 'text',
-        //   name: 'status',
-        //   label: '用户手机号',
-        //   labelWidth: '100px'
-        // },
         {
           type: 'DataSelect',
           name: 'displayText',
           label: '展示文案',
           params: this.$dict.INTEGRAL_CASH_TYPE,
           valueKay: 'label'
+        },
+        {
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         }
       ]
     };

+ 16 - 12
src/views/sceneManagement/sceneList/index.vue

@@ -26,7 +26,9 @@
     <toolbar @on-filter="filterData" @on-reset="filterData" />
 
     <div class="m-10 bg-w p-20 br-10">
-      <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
+      <el-button type="primary" icon="el-icon-plus" @click="handleAdd"
+        >新增</el-button
+      >
       <base-table
         :columns="columns"
         :items="items"
@@ -63,7 +65,7 @@ export default {
       columns: [
         {
           key: 'name',
-          name: '机构名称',
+          name: '场景',
           width: this.$col.b
         },
         {
@@ -97,7 +99,7 @@ export default {
         },
         {
           key: 'type',
-          name: '机构类型',
+          name: '类型',
           width: this.$col.b
         },
         {
@@ -111,8 +113,13 @@ export default {
           width: this.$col.m
         },
         {
+          key: 'createAt',
+          name: '申请时间',
+          width: this.$col.b
+        },
+        {
           key: 'isShow',
-          name: '状态',
+          name: '显示/隐藏',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => (val ? 'success' : 'info'),
@@ -217,17 +224,14 @@ export default {
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
-      };
-
-      const { data, msg } = await this.apiList(inParams, {
         limit: this.pagination.pageSize,
         start: this.pagination.page
-      });
+      };
+
+      const { data, msg } = await this.apiList(inParams);
 
-      const res2 = await getCount(inParams)
-      this.statistics = res2.data
+      const res2 = await getCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 20 - 106
src/views/sceneManagement/sceneList/modal/ItemModal.vue

@@ -95,7 +95,7 @@
           :uploadUrl="$upload('/yxl-back-end/framework/oss/minio/upload')"
         />
       </el-form-item>
-      <el-form-item label="状态" prop="isShow">
+      <el-form-item label="显示/隐藏" prop="isShow">
         <el-radio-group v-model="form.isShow">
           <el-radio :label="true">显示</el-radio>
           <el-radio :label="false">隐藏</el-radio>
@@ -171,114 +171,28 @@ export default {
         isShow: false
       },
       rules: {
-        name: [
-          { required: true, message: '请输入幼儿园名称', trigger: 'change' }
-        ],
-        addressArr: [
-          {
-            type: 'array',
-            required: true,
-            message: '请选择省市区',
-            trigger: 'change'
-          }
-        ],
-        address: [
-          { required: true, message: '请输入详细地址', trigger: 'change' }
-        ],
-        idCardNumber: [
-          { required: true, message: '请输入证照号码', trigger: 'change' }
-        ],
-        phonenumber: [
-          { required: true, message: '请输入办公电话', trigger: 'change' }
-        ],
-        brief: [
-          { required: true, message: '请输入幼儿园介绍', trigger: 'change' }
-        ],
-        realName: [
-          { required: true, message: '请输入申请人姓名', trigger: 'change' }
-        ],
-        personPhonenumber: [
-          { required: true, message: '请输入手机号', trigger: 'change' }
-        ],
-        type: [
-          { required: true, message: '请选择幼儿园类型', trigger: 'change' }
-        ],
+        name: [{ required: true, min: 4, max: 64, message: '请输入幼儿园名称(4 ~ 64个字符)', trigger: 'change' }],
+        addressArr: [{ type: 'array', required: true, message: '请选择省市区', trigger: 'change'}],
+        address: [{ required: true, min: 4, max: 255, message: '请输入详细地址(4 ~ 255个字符)', trigger: 'change' }],
+        phonenumber: [{ required: true, min: 4, max: 64, message: '请输入办公电话(4 ~ 64个字符)', trigger: 'change' }],
+        brief: [{ required: true, min: 4, max: 255, message: '请输入幼儿园介绍(4 ~ 255个字符)', trigger: 'change' }],
+        realName: [{ required: true, min: 2, max: 64, message: '请输入申请人姓名(2 ~ 64个字符)', trigger: 'change' }],
+        personPhonenumber: [{ required: true, min: 4, max: 64, message: '请输入手机号(4 ~ 64个字符)', trigger: 'change' }],
+        type: [{ required: true, message: '请选择幼儿园类型', trigger: 'change' }],
         email: [
-          { required: true, message: '请输入邮箱', trigger: 'change' },
+          { required: true, min: 4, max: 64, message: '请输入邮箱(4 ~ 64个字符)', trigger: 'change' },
           { validator: checkEmail, trigger: 'blur' }
         ],
-        logo: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        previewLogo: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        hdLogo: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        cover: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        businessLicense: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        bodyPhoto: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        idCardFront: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        idCardBack: [
-          {
-            type: 'array',
-            required: true,
-            message: '请上传图片',
-            trigger: 'change'
-          }
-        ],
-        addressArr: [
-          {
-            type: 'array',
-            required: true,
-            message: '请选择地址',
-            trigger: 'change'
-          }
-        ]
+        idCardNumber: [{ required: true, min: 4, max: 64, message: '请输入证照号码(4 ~ 64个字符)', trigger: 'change' }],
+        logo: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change'}],
+        previewLogo: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change'}],
+        hdLogo: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change'}],
+        cover: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change' }],
+        businessLicense: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change' }],
+        bodyPhoto: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change' }],
+        idCardFront: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change' }],
+        idCardBack: [{ type: 'array', required: true, message: '请上传图片', trigger: 'change' }],
+        addressArr: [{ type: 'array', required: true, message: '请选择地址', trigger: 'change' }]
       }
     };
   },

+ 10 - 9
src/views/sceneManagement/sceneList/toolbar.vue

@@ -15,7 +15,7 @@ export default {
         {
           type: 'text',
           name: 'name',
-          label: '机构名称'
+          label: '场景'
         },
         {
           type: 'AddressSelect',
@@ -26,21 +26,22 @@ export default {
         },
         {
           type: 'select',
-          name: 'status',
-          label: '状态',
-          options: TYPE,
-          format: val => (val !== null && val !== '' ? !!val : null)
-        },
-        {
-          type: 'select',
           name: 'type',
-          label: '机构类型',
+          label: '类型',
           options: SCENETYPE
         },
         {
           type: 'text',
           name: 'phonenumber',
           label: '办公号码'
+        },
+        {
+          type: 'select',
+          name: 'isShow',
+          label: '显示/隐藏',
+          options: TYPE,
+          format: val => (val !== null && val !== '' ? !!val : null),
+          defaultValue: 1
         }
       ]
     };

+ 8 - 3
src/views/sceneManagement/sceneVerify/index.vue

@@ -33,7 +33,7 @@ export default {
       columns: [
         {
           key: 'name',
-          name: '机构名称',
+          name: '场景',
           width: this.$col.b
         },
         {
@@ -67,7 +67,7 @@ export default {
         },
         {
           key: 'type',
-          name: '机构类型',
+          name: '类型',
           width: this.$col.b
         },
         {
@@ -81,8 +81,13 @@ export default {
           width: this.$col.m
         },
         {
+          key: 'createAt',
+          name: '申请时间',
+          width: this.$col.b
+        },
+        {
           key: 'auditStatus',
-          name: '状态',
+          name: '审核状态',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => {

+ 1 - 1
src/views/sceneManagement/sceneVerify/modal/ItemModal.vue

@@ -187,7 +187,7 @@ export default {
       },
       rules: {
         auditStatus: [
-          { required: true, message: '请选择是否通过', trigger: 'blur' }
+          { required: true, message: '请选择审核状态', trigger: 'blur' }
         ]
       }
     };

+ 19 - 12
src/views/sceneManagement/sceneVerify/toolbar.vue

@@ -15,7 +15,7 @@ export default {
         {
           type: 'text',
           name: 'name',
-          label: '机构名称'
+          label: '场景'
         },
         {
           type: 'AddressSelect',
@@ -26,21 +26,28 @@ export default {
         },
         {
           type: 'select',
-          name: 'status',
-          label: '状态',
-          options: AUDITTYPE,
-          format: val => val
-        },
-        {
-          type: 'select',
           name: 'type',
-          label: '机构类型',
+          label: '类型',
           options: SCENETYPE
         },
         {
-          type: 'text',
-          name: 'personPhonenumber',
-          label: '手机号码'
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
+        },
+        {
+          type: 'dateArray',
+          name: 'date',
+          label: '申请时间',
+          apiName: ['startTime', 'endTime']
+        },
+        {
+          type: 'select',
+          name: 'auditStatus',
+          label: '审核状态',
+          options: AUDITTYPE,
+          format: val => val,
+          defaultValue: 1
         }
       ]
     };

+ 8 - 11
src/views/statistics/downloadImage/index.vue

@@ -73,7 +73,7 @@ export default {
         },
         {
           key: 'kindergartenName',
-          name: '幼儿园',
+          name: '场景',
           minWidth: this.$col.b
         },
         {
@@ -134,7 +134,7 @@ export default {
           key: 'payablePrice',
           name: '花费金额/积分(还没折算)',
           width: this.$col.b,
-          render: (h,{row}) => h('span',`¥${row.payablePrice}`)
+          render: (h, { row }) => h('span', `¥${row.payablePrice}`)
         },
         {
           key: 'photoTime',
@@ -151,23 +151,20 @@ export default {
     };
   },
 
-  methods:{
+  methods: {
     async pageChange(page) {
       this.pagination.page = page;
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
-      };
-
-      const { data, msg } = await this.apiList(inParams, {
         limit: this.pagination.pageSize,
         start: this.pagination.page
-      });
+      };
+
+      const { data, msg } = await this.apiList(inParams);
 
-      const res2 = await getDownloadCount(inParams)
-      this.statistics = res2.data
+      const res2 = await getDownloadCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 6 - 6
src/views/statistics/downloadImage/toolbar.vue

@@ -17,22 +17,22 @@ export default {
         {
           type: 'SceneSelect',
           name: 'kindergartenId',
-          label: '幼儿园',
+          label: '场景'
         },
         {
           type: 'ActivitySelect',
           name: 'activityId',
-          label: '活动',
+          label: '活动'
         },
         {
-          type: 'text',
-          name: 'nickname',
-          label: '上传用户',
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
           type: 'dateArray',
           name: 'date',
-          label: '选择日期',
+          label: '下载时间',
           apiName: ['startTime', 'endTime']
         }
       ]

+ 20 - 18
src/views/statistics/uploadImage/index.vue

@@ -1,18 +1,23 @@
 <template>
   <div class="">
-    <div
-      class="m-10 bg-w p-20 br-10 f-sa-s">
+    <div class="m-10 bg-w p-20 br-10 f-sa-s">
       <div class="f-fs-c f-col">
         <div style="font-size: 16px;">总量</div>
-        <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.all}}</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.all }}
+        </div>
       </div>
       <div class="f-fs-c f-col">
         <div style="font-size: 16px;">月新增</div>
-        <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.month}}</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.month }}
+        </div>
       </div>
       <div class="f-fs-c f-col">
         <div style="font-size: 16px;">周新增</div>
-        <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.week}}</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.week }}
+        </div>
       </div>
     </div>
 
@@ -33,7 +38,6 @@ import toolbar from './toolbar';
 import mxFilterList from '@/mixins/filterList';
 import { getUploadPage, getUploadCount } from '@/api/statistics';
 
-
 export default {
   name: 'UploadImage',
 
@@ -51,7 +55,7 @@ export default {
       columns: [
         {
           key: 'kindergartenName',
-          name: '幼儿园',
+          name: '场景',
           minWidth: this.$col.b
         },
         {
@@ -83,33 +87,31 @@ export default {
           key: 'isTake',
           name: '总上传数',
           width: '140',
-          render:(h, {row}) => h('span', `${row.isTakeTrue+row.isTakeFalse}`)
+          render: (h, { row }) =>
+            h('span', `${row.isTakeTrue + row.isTakeFalse}`)
         },
         {
           key: 'createAt',
           name: '上传时间',
           minWidth: this.$col.b
-        },
+        }
       ]
     };
   },
-  methods:{
+  methods: {
     async pageChange(page) {
       this.pagination.page = page;
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
+        start: this.pagination.page,
+        limit: this.pagination.pageSize
       };
 
-      const { data, msg } = await this.apiList(inParams, {
-        limit: this.pagination.pageSize,
-        start: this.pagination.page
-      });
+      const { data, msg } = await this.apiList(inParams);
 
-      const res2 = await getUploadCount(inParams)
-      this.statistics = res2.data
+      const res2 = await getUploadCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 11 - 12
src/views/statistics/uploadImage/toolbar.vue

@@ -9,31 +9,30 @@ export default {
   data() {
     return {
       fields: [
-
+        {
+          type: 'text',
+          name: 'photoWarehouseId',
+          label: '照片编号'
+        },
         {
           type: 'SceneSelect',
           name: 'kindergartenId',
-          label: '幼儿园',
+          label: '场景'
         },
         {
           type: 'ActivitySelect',
           name: 'activityId',
-          label: '活动',
+          label: '活动'
         },
         {
-          type: 'text',
-          name: 'phonenumber',
-          label: '账号手机号码',
-        },
-        {
-          type: 'text',
-          name: 'nickname',
-          label: '用户名',
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
           type: 'dateArray',
           name: 'date',
-          label: '选择日期',
+          label: '上传时间',
           apiName: ['startTime', 'endTime']
         }
       ]

+ 25 - 23
src/views/statistics/withdrawalRecord/index.vue

@@ -1,20 +1,25 @@
 <template>
   <div class="">
-    <div
-      class="m-10 bg-w p-20 br-10 f-sa-s">
-        <div class="f-fs-c f-col">
-          <div style="font-size: 16px;">总收入金额</div>
-          <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.sumPaidPrice}}</div>
+    <div class="m-10 bg-w p-20 br-10 f-sa-s">
+      <div class="f-fs-c f-col">
+        <div style="font-size: 16px;">总收入金额</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.sumPaidPrice }}
         </div>
-        <div class="f-fs-c f-col">
-          <div style="font-size: 16px;">成功提现金额</div>
-          <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.undrawnAmount}}</div>
+      </div>
+      <div class="f-fs-c f-col">
+        <div style="font-size: 16px;">成功提现金额</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.withdrawalAmount }}
         </div>
-        <div class="f-fs-c f-col">
-          <div style="font-size: 16px;">未提现金额</div>
-          <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.withdrawalAmount}}</div>
+      </div>
+      <div class="f-fs-c f-col">
+        <div style="font-size: 16px;">未提现金额</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.undrawnAmount }}
         </div>
       </div>
+    </div>
 
     <toolbar @on-filter="filterData" @on-reset="filterData" />
 
@@ -31,7 +36,7 @@
 <script>
 import toolbar from './toolbar';
 import mxFilterList from '@/mixins/filterList';
-import { getPage,getCount } from '@/api/statistics/withdrawalRecord';
+import { getPage, getCount } from '@/api/statistics/withdrawalRecord';
 
 export default {
   name: 'WithdrawalRecord',
@@ -85,7 +90,7 @@ export default {
         },
         {
           key: 'auditStatus',
-          name: '状态',
+          name: '审核状态',
           width: this.$col.s,
           type: 'tag',
           fetchTagType: val => {
@@ -159,22 +164,19 @@ export default {
     this.$g_off('withdrawal_record_reload', this.reload);
   },
 
-  methods:{
+  methods: {
     async pageChange(page) {
       this.pagination.page = page;
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
+        start: this.pagination.page,
+        limit: this.pagination.pageSize
       };
 
-      const { data, msg } = await this.apiList(inParams, {
-        limit: this.pagination.pageSize,
-        start: this.pagination.page
-      });
-      const res2 = await getCount(inParams)
-      this.statistics = res2.data
+      const { data, msg } = await this.apiList(inParams);
+      const res2 = await getCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {
@@ -185,7 +187,7 @@ export default {
         }
         this.loadCallBack(data);
       }
-    },
+    }
   }
 };
 </script>

+ 7 - 6
src/views/statistics/withdrawalRecord/modal/ItemModal.vue

@@ -11,11 +11,12 @@
     "
   >
     <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-      <el-form-item label="提现用户"> {{ form.accountName }} </el-form-item>
-      <el-form-item label="提现手机号"> {{ form.phonenumber }} </el-form-item>
-      <el-form-item label="提现金额"> ¥{{ form.value }} </el-form-item>
-      <el-form-item label="当前余额"> ¥{{ form.value }} //TODO 缺少字段 </el-form-item>
-      <el-form-item label="提现时间"> {{ form.createAt }} </el-form-item>
+      <el-form-item label="真实姓名"> {{ form.realName }} </el-form-item>
+      <el-form-item label="手机号"> {{ form.phonenumber }} </el-form-item>
+      <el-form-item label="申请时间"> {{ form.createAt }} </el-form-item>
+      <el-form-item label="到账渠道"> {{ form.channels }} </el-form-item>
+      <el-form-item label="第三方平台标识"> {{ form.transactionAccountId }} </el-form-item>
+      <el-form-item label="提现金额"> ¥{{ form.value }}(剩余可提现金额:¥{{ form.availableValue }}) </el-form-item>
 
       <el-form-item label="审核状态" prop="auditStatus">
         <el-radio-group v-if="auditStatus !== 1" v-model="form.auditStatus">
@@ -99,7 +100,7 @@ export default {
       },
       rules: {
         auditStatus: [
-          { required: true, message: '请选择是否通过', trigger: 'blur' }
+          { required: true, message: '请选择审核状态', trigger: 'blur' }
         ],
         transactionId: [
           { required: true, message: '请输入第三方支付标识', trigger: 'blur' }

+ 9 - 15
src/views/statistics/withdrawalRecord/toolbar.vue

@@ -12,29 +12,23 @@ export default {
     return {
       fields: [
         {
-          type: 'text',
-          name: 'nickname',
-          label: '账号昵称'
+          type: 'AccountSelect',
+          name: 'accountId',
+          label: '账号'
         },
         {
-          type: 'text',
-          name: 'phonenumber',
-          label: '账号手机号码',
-          labelWidth: '100px'
+          type: 'dateArray',
+          name: 'date',
+          label: '反馈时间',
+          apiName: ['startTime', 'endTime']
         },
         {
           type: 'select',
-          name: 'status',
-          label: '状态',
+          name: 'auditStatus',
+          label: '审核状态',
           options: AUDITTYPE,
           format: val => val,
           defaultValue: 0
-        },
-        {
-          type: 'dateArray',
-          name: 'date',
-          label: '反馈日期',
-          apiName: ['startTime', 'endTime']
         }
       ]
     };

+ 26 - 25
src/views/systemManagement/accountManagement/index.vue

@@ -1,18 +1,23 @@
 <template>
   <div class="">
-    <div
-      class="m-10 bg-w p-20 br-10 f-sa-s">
+    <div class="m-10 bg-w p-20 br-10 f-sa-s">
       <div class="f-fs-c f-col">
         <div style="font-size: 16px;">总量</div>
-        <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.all}}</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.all }}
+        </div>
       </div>
       <div class="f-fs-c f-col">
         <div style="font-size: 16px;">月新增</div>
-        <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.month}}</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.month }}
+        </div>
       </div>
       <div class="f-fs-c f-col">
         <div style="font-size: 16px;">周新增</div>
-        <div class="mt-4" style="font-weight: bold; font-size: 18px;">{{statistics.week}}</div>
+        <div class="mt-4" style="font-weight: bold; font-size: 18px;">
+          {{ statistics.week }}
+        </div>
       </div>
     </div>
 
@@ -61,13 +66,13 @@ export default {
           width: this.$col.b
         },
         {
-          key: 'mobileNumber',
-          name: '手机号码',
+          key: 'nickname',
+          name: '昵称',
           minWidth: this.$col.b
         },
         {
-          key: 'nickname',
-          name: '账号昵称',
+          key: 'mobileNumber',
+          name: '手机号码',
           minWidth: this.$col.b
         },
         {
@@ -102,8 +107,12 @@ export default {
           width: '120',
           type: 'tag',
           fetchTagType: val => 'info',
-          tagName: row =>
-            row.gender === 0 ? '未知' : row.gender === 1 ? '男' : '女'
+          tagName: row => row.gender === 0 ? '未知' : row.gender === 1 ? '男' : '女'
+        },
+        {
+          key: 'createAt',
+          name: '注册时间',
+          width: this.$col.b
         },
         {
           key: 'isLocked',
@@ -112,11 +121,6 @@ export default {
           type: 'tag',
           fetchTagType: val => (val ? 'danger' : 'info'),
           tagName: row => (row.isLocked ? '是' : '否')
-        },
-        {
-          key: 'createAt',
-          name: '注册时间',
-          width: this.$col.b
         }
         // {
         //   key: 'action',
@@ -126,23 +130,20 @@ export default {
       ]
     };
   },
-  methods:{
+  methods: {
     async pageChange(page) {
       this.pagination.page = page;
       const inParams = {
         ...this.filter,
         ...this.internalFilterObj,
-        page: this.pagination.page,
-        size: this.pagination.pageSize
+        start: this.pagination.page,
+        limit: this.pagination.pageSize
       };
 
-      const { data, msg } = await this.apiList(inParams, {
-        limit: this.pagination.pageSize,
-        start: this.pagination.page
-      });
+      const { data, msg } = await this.apiList(inParams);
 
-      const res2 = await getCount(inParams)
-      this.statistics = res2.data
+      const res2 = await getCount(inParams);
+      this.statistics = res2.data;
       if ('data' in data) {
         const items = data.data;
         if (items.length === 0 && this.pagination.page > 1) {

+ 9 - 3
src/views/systemManagement/accountManagement/toolbar.vue

@@ -11,13 +11,19 @@ export default {
       fields: [
         {
           type: 'text',
+          name: 'nickname',
+          label: '昵称'
+        },
+        {
+          type: 'text',
           name: 'mobileNumber',
           label: '手机号码'
         },
         {
-          type: 'text',
-          name: 'nickname',
-          label: '昵称'
+          type: 'dateArray',
+          name: 'date',
+          label: '注册时间',
+          apiName: ['startTime', 'endTime']
         }
       ]
     };