pangqijun 1 년 전
부모
커밋
99a85596fc
97개의 변경된 파일0개의 추가작업 그리고 27779개의 파일을 삭제
  1. 0 643
      src/views/authority/apiscope.vue
  2. 0 732
      src/views/authority/datascope.vue
  3. 0 380
      src/views/authority/role.vue
  4. 0 419
      src/views/base/region.vue
  5. 0 83
      src/views/config/distributionconfig.vue
  6. 0 294
      src/views/desk/notice.vue
  7. 0 329
      src/views/distribution/appoint.vue
  8. 0 291
      src/views/finance/aftersales.vue
  9. 0 209
      src/views/finance/aftersalesreason.vue
  10. 0 254
      src/views/finance/appointgoods.vue
  11. 0 364
      src/views/finance/order.vue
  12. 0 245
      src/views/finance/ordergroupon.vue
  13. 0 272
      src/views/finance/ordergroupongoods.vue
  14. 0 282
      src/views/finance/transactionflow.vue
  15. 0 684
      src/views/groupon/groupon.vue
  16. 0 315
      src/views/groupon/groupon_perfact.vue
  17. 0 227
      src/views/groupon/groupongoods.vue
  18. 0 218
      src/views/groupon/grouponselftake.vue
  19. 0 227
      src/views/groupon/grouponuser.vue
  20. 0 334
      src/views/groupon/selftake.vue
  21. 0 304
      src/views/mall/brands.vue
  22. 0 307
      src/views/mall/categoryinfo.vue
  23. 0 299
      src/views/mall/goodsimg.vue
  24. 0 768
      src/views/mall/goodsinfo.vue
  25. 0 290
      src/views/mall/goodsparams.vue
  26. 0 273
      src/views/mall/store.vue
  27. 0 211
      src/views/mall/unit.vue
  28. 0 161
      src/views/monitor/log/api.vue
  29. 0 142
      src/views/monitor/log/apperror.vue
  30. 0 165
      src/views/monitor/log/error.vue
  31. 0 186
      src/views/monitor/log/usual.vue
  32. 0 214
      src/views/monitor/serve.vue
  33. 0 380
      src/views/platform/ads.vue
  34. 0 254
      src/views/platform/banks.vue
  35. 0 263
      src/views/platform/creditrule.vue
  36. 0 263
      src/views/platform/datachart.vue
  37. 0 247
      src/views/platform/express.vue
  38. 0 234
      src/views/platform/freight.vue
  39. 0 194
      src/views/platform/integralinfo.vue
  40. 0 362
      src/views/platform/payments.vue
  41. 0 344
      src/views/platform/useraddress.vue
  42. 0 605
      src/views/platform/userapp.vue
  43. 0 272
      src/views/platform/userbankcards.vue
  44. 0 245
      src/views/platform/userbrowse.vue
  45. 0 272
      src/views/platform/usercardinfo.vue
  46. 0 290
      src/views/platform/userfeedbacks.vue
  47. 0 263
      src/views/platform/userlicense.vue
  48. 0 245
      src/views/platform/userrecom.vue
  49. 0 281
      src/views/platform/userscores.vue
  50. 0 272
      src/views/platform/userticket.vue
  51. 0 347
      src/views/platform/versionupgrade.vue
  52. 0 610
      src/views/quartz/job.vue
  53. 0 295
      src/views/quartz/joblog.vue
  54. 0 203
      src/views/report/reportlist.vue
  55. 0 288
      src/views/resource/attach.vue
  56. 0 416
      src/views/resource/oss.vue
  57. 0 438
      src/views/resource/sms.vue
  58. 0 333
      src/views/system/client.vue
  59. 0 363
      src/views/system/dept.vue
  60. 0 443
      src/views/system/dict.vue
  61. 0 442
      src/views/system/dictbiz.vue
  62. 0 423
      src/views/system/menu.vue
  63. 0 45
      src/views/system/param.vue
  64. 0 281
      src/views/system/post.vue
  65. 0 559
      src/views/system/tenant.vue
  66. 0 243
      src/views/system/tenantpackage.vue
  67. 0 332
      src/views/system/topmenu.vue
  68. 0 1017
      src/views/system/user.vue
  69. 0 94
      src/views/system/userinfo.vue
  70. 0 379
      src/views/tool/code.vue
  71. 0 272
      src/views/tool/datasource.vue
  72. 0 46
      src/views/util/affix.vue
  73. 0 22
      src/views/util/cache.vue
  74. 0 59
      src/views/util/crud-form.vue
  75. 0 199
      src/views/util/data.vue
  76. 0 359
      src/views/util/demo/dict-classic.vue
  77. 0 469
      src/views/util/demo/dict-horizontal.vue
  78. 0 474
      src/views/util/demo/dict-vertical.vue
  79. 0 454
      src/views/util/demo/dict.vue
  80. 0 447
      src/views/util/demo/dictbiz.vue
  81. 0 40
      src/views/util/form-detail.vue
  82. 0 55
      src/views/util/form.vue
  83. 0 19
      src/views/util/logs.vue
  84. 0 82
      src/views/util/permission.vue
  85. 0 122
      src/views/util/store.vue
  86. 0 129
      src/views/util/table.vue
  87. 0 27
      src/views/util/tags.vue
  88. 0 21
      src/views/util/test.vue
  89. 0 28
      src/views/util/top.vue
  90. 0 231
      src/views/work/claim.vue
  91. 0 207
      src/views/work/done.vue
  92. 0 108
      src/views/work/process/leave/detail.vue
  93. 0 103
      src/views/work/process/leave/form.vue
  94. 0 170
      src/views/work/process/leave/handle.vue
  95. 0 217
      src/views/work/send.vue
  96. 0 243
      src/views/work/start.vue
  97. 0 217
      src/views/work/todo.vue

+ 0 - 643
src/views/authority/apiscope.vue

@@ -1,643 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad"
-               @tree-load="treeLoad">
-      <template slot-scope="{row}" slot="menu">
-        <el-button type="text"
-                   icon="el-icon-setting"
-                   size="small"
-                   v-if="permission.api_scope_setting"
-                   plain
-                   style="border: 0;background-color: transparent !important;"
-                   @click.stop="handleDataScope(row)">权限配置
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="source">
-        <div style="text-align:center">
-          <i :class="row.source"/>
-        </div>
-      </template>
-    </avue-crud>
-    <el-drawer :title="`[${scopeMenuName}] 接口权限配置`" :visible.sync="drawerVisible" :direction="direction"
-               append-to-body
-               :before-close="handleDrawerClose" size="1000px">
-      <basic-container>
-        <avue-crud :option="optionScope"
-                   :data="dataScope"
-                   :page="pageScope"
-                   v-model="formScope"
-                   :table-loading="scopeLoading"
-                   ref="crudScope"
-                   @row-del="rowDelScope"
-                   @row-update="rowUpdateScope"
-                   @row-save="rowSaveScope"
-                   :before-open="beforeOpenScope"
-                   @search-change="searchChangeScope"
-                   @search-reset="searchResetScope"
-                   @selection-change="selectionChangeScope"
-                   @current-change="currentChangeScope"
-                   @size-change="sizeChangeScope"
-                   @on-load="onLoadScope">
-          <template slot="menuLeft">
-            <el-button type="danger"
-                       size="small"
-                       icon="el-icon-delete"
-                       plain
-                       @click="handleDeleteScope">删 除
-            </el-button>
-          </template>
-          <template slot-scope="{row}"
-                    slot="scopeType">
-            <el-tag>{{row.scopeTypeName}}</el-tag>
-          </template>
-        </avue-crud>
-      </basic-container>
-    </el-drawer>
-  </basic-container>
-</template>
-
-<script>
-  import {
-    add,
-    remove,
-    update,
-    getLazyMenuList,
-    getMenu
-  } from "@/api/system/menu";
-  import {
-    addApiScope,
-    removeApiScope,
-    updateApiScope,
-    getListApiScope,
-    getMenuApiScope
-  } from "@/api/system/scope";
-  import {mapGetters} from "vuex";
-  import iconList from "@/config/iconList";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        parentId: 0,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        drawerVisible: false,
-        direction: 'rtl',
-        scopeLoading: false,
-        scopeMenuId: 0,
-        scopeMenuName: "菜单",
-        menu: true,
-        option: {
-          lazy: true,
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          dialogWidth: "60%",
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: false,
-          editBtn: false,
-          addBtn: false,
-          delBtn: false,
-          menuWidth: 150,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "菜单名称",
-              prop: "name",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "路由地址",
-              prop: "path",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入路由地址",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "上级菜单",
-              prop: "parentId",
-              type: "tree",
-              dicUrl: "/api/blade-system/menu/tree",
-              hide: true,
-              props: {
-                label: "title"
-              },
-              rules: [
-                {
-                  required: false,
-                  message: "请选择上级菜单",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单图标",
-              prop: "source",
-              type: "icon",
-              slot: true,
-              width: 80,
-              iconList: iconList,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单图标",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单编号",
-              prop: "code",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单编号",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单类型",
-              prop: "category",
-              type: "radio",
-              dicData: [
-                {
-                  label: "菜单",
-                  value: 1
-                },
-                {
-                  label: "按钮",
-                  value: 2
-                }
-              ],
-              hide: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择菜单类型",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单别名",
-              prop: "alias",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单别名",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "按钮功能",
-              prop: "action",
-              type: "radio",
-              dicData: [
-                {
-                  label: "工具栏",
-                  value: 0
-                },
-                {
-                  label: "操作栏",
-                  value: 1
-                },
-                {
-                  label: "工具操作栏",
-                  value: 2
-                }
-              ],
-              hide: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择按钮功能",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单排序",
-              prop: "sort",
-              type: "number",
-              width: 80,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单排序",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "新窗口",
-              prop: "isOpen",
-              type: "radio",
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                },
-              ],
-              hide: true
-            },
-            {
-              label: "菜单备注",
-              prop: "remark",
-              type: "textarea",
-              span: 24,
-              minRows: 6,
-              hide: true
-            }
-          ]
-        },
-        data: [],
-        formScope: {},
-        selectionListScope: [],
-        pageScope: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        optionScope: {
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          menuWidth: 200,
-          dialogWidth: 900,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "权限名称",
-              prop: "scopeName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入数据权限名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "权限编号",
-              prop: "resourceCode",
-              search: true,
-              width: 180,
-              rules: [{
-                required: true,
-                message: "请输入数据权限编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "权限路径",
-              prop: "scopePath",
-              width: 180,
-              rules: [{
-                required: true,
-                message: "请输入数据权限编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "接口类型",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=api_scope_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              width: 100,
-              prop: "scopeType",
-              rules: [{
-                required: true,
-                message: "请输入通知类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              span: 24,
-              hide: true,
-            },
-          ]
-        },
-        dataScope: []
-      };
-    },
-
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.menu_add, false),
-          viewBtn: this.vaildData(this.permission.menu_view, false),
-          delBtn: this.vaildData(this.permission.menu_delete, false),
-          editBtn: this.vaildData(this.permission.menu_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-      scopeIds() {
-        let ids = [];
-        this.selectionListScope.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      // 菜单管理模块
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.parentId = 0;
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.parentId = '';
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getMenu(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      treeLoad(tree, treeNode, resolve) {
-        const parentId = tree.id;
-        getLazyMenuList(parentId).then(res => {
-          resolve(res.data.data);
-        });
-      },
-      // 数据权限模块
-      handleDataScope(row) {
-        this.drawerVisible = true;
-        this.scopeMenuId = row.id;
-        this.scopeMenuName = row.name;
-        this.onLoadScope(this.pageScope)
-      },
-      handleDrawerClose(hide) {
-        hide();
-      },
-      rowSaveScope(row, done, loading) {
-        row = {
-          ...row,
-          menuId: this.scopeMenuId,
-        };
-        addApiScope(row).then(() => {
-          this.onLoadScope(this.pageScope);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateScope(row, index, done, loading) {
-        row = {
-          ...row,
-          menuId: this.scopeMenuId,
-        };
-        updateApiScope(row).then(() => {
-          this.onLoadScope(this.pageScope);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelScope(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return removeApiScope(row.id);
-          })
-          .then(() => {
-            this.onLoadScope(this.pageScope);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDeleteScope() {
-        if (this.selectionListScope.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return removeApiScope(this.scopeIds);
-          })
-          .then(() => {
-            this.onLoadScope(this.pageScope);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudScope.toggleSelection();
-          });
-      },
-      beforeOpenScope(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getMenuApiScope(this.formScope.id).then(res => {
-            this.formScope = res.data.data;
-          });
-        }
-        done();
-      },
-      searchResetScope() {
-        this.onLoadScope(this.pageScope);
-      },
-      searchChangeScope(params, done) {
-        this.onLoadScope(this.pageScope, params);
-        done();
-      },
-      selectionChangeScope(list) {
-        this.selectionListScope = list;
-      },
-      currentChangeScope(currentPage) {
-        this.pageScope.currentPage = currentPage;
-      },
-      sizeChangeScope(pageSize) {
-        this.pageScope.pageSize = pageSize;
-      },
-      onLoadScope(page, params = {}) {
-        this.scopeLoading = true;
-        const values = {
-          ...params,
-          menuId: this.scopeMenuId,
-        }
-        getListApiScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
-          const data = res.data.data;
-          this.pageScope.total = data.total;
-          this.dataScope = data.records;
-          this.selectionListScope = [];
-          this.scopeLoading = false;
-        });
-      },
-    }
-  };
-</script>

+ 0 - 732
src/views/authority/datascope.vue

@@ -1,732 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :before-close="beforeClose"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad"
-               @tree-load="treeLoad">
-      <template slot-scope="{row}" slot="menu">
-        <el-button type="text"
-                   icon="el-icon-setting"
-                   size="small"
-                   v-if="permission.data_scope_setting"
-                   plain
-                   style="border: 0;background-color: transparent !important;"
-                   @click.stop="handleDataScope(row)">权限配置
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="source">
-        <div style="text-align:center">
-          <i :class="row.source"/>
-        </div>
-      </template>
-    </avue-crud>
-    <el-drawer :title="`[${scopeMenuName}] 数据权限配置`" :visible.sync="drawerVisible" :direction="direction"
-               append-to-body
-               :before-close="handleDrawerClose" size="1000px">
-      <basic-container>
-        <avue-crud :option="optionScope"
-                   :data="dataScope"
-                   :page="pageScope"
-                   v-model="formScope"
-                   :table-loading="scopeLoading"
-                   ref="crudScope"
-                   @row-del="rowDelScope"
-                   @row-update="rowUpdateScope"
-                   @row-save="rowSaveScope"
-                   :before-open="beforeOpenScope"
-                   @search-change="searchChangeScope"
-                   @search-reset="searchResetScope"
-                   @selection-change="selectionChangeScope"
-                   @current-change="currentChangeScope"
-                   @size-change="sizeChangeScope"
-                   @on-load="onLoadScope">
-          <template slot="menuLeft">
-            <el-button type="danger"
-                       size="small"
-                       icon="el-icon-delete"
-                       plain
-                       @click="handleDeleteScope">删 除
-            </el-button>
-          </template>
-          <template slot-scope="{row}"
-                    slot="scopeType">
-            <el-tag>{{row.scopeTypeName}}</el-tag>
-          </template>
-        </avue-crud>
-      </basic-container>
-    </el-drawer>
-  </basic-container>
-</template>
-
-<script>
-  import {
-    add,
-    remove,
-    update,
-    getLazyMenuList,
-    getMenu
-  } from "@/api/system/menu";
-  import {
-    addDataScope,
-    removeDataScope,
-    updateDataScope,
-    getListDataScope,
-    getMenuDataScope
-  } from "@/api/system/scope";
-  import {mapGetters} from "vuex";
-  import iconList from "@/config/iconList";
-  import func from "@/util/func";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        parentId: 0,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        drawerVisible: false,
-        direction: 'rtl',
-        scopeMenuId: 0,
-        scopeMenuCode: '',
-        scopeMenuName: "菜单",
-        scopeLoading: false,
-        menu: true,
-        watchMode: true,
-        option: {
-          lazy: true,
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          dialogWidth: "60%",
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: false,
-          editBtn: false,
-          addBtn: false,
-          delBtn: false,
-          menuWidth: 150,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "菜单名称",
-              prop: "name",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "路由地址",
-              prop: "path",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入路由地址",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "上级菜单",
-              prop: "parentId",
-              type: "tree",
-              dicUrl: "/api/blade-system/menu/tree",
-              hide: true,
-              props: {
-                label: "title"
-              },
-              rules: [
-                {
-                  required: false,
-                  message: "请选择上级菜单",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单图标",
-              prop: "source",
-              type: "icon",
-              slot: true,
-              width: 80,
-              iconList: iconList,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单图标",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单编号",
-              prop: "code",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单编号",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单类型",
-              prop: "category",
-              type: "radio",
-              dicData: [
-                {
-                  label: "菜单",
-                  value: 1
-                },
-                {
-                  label: "按钮",
-                  value: 2
-                }
-              ],
-              hide: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择菜单类型",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单别名",
-              prop: "alias",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单别名",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "按钮功能",
-              prop: "action",
-              type: "radio",
-              dicData: [
-                {
-                  label: "工具栏",
-                  value: 0
-                },
-                {
-                  label: "操作栏",
-                  value: 1
-                },
-                {
-                  label: "工具操作栏",
-                  value: 2
-                }
-              ],
-              hide: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择按钮功能",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单排序",
-              prop: "sort",
-              type: "number",
-              width: 80,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单排序",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "新窗口",
-              prop: "isOpen",
-              type: "radio",
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                },
-              ],
-              hide: true
-            },
-            {
-              label: "菜单备注",
-              prop: "remark",
-              type: "textarea",
-              span: 24,
-              minRows: 6,
-              hide: true
-            }
-          ]
-        },
-        data: [],
-        formScope: {},
-        selectionListScope: [],
-        pageScope: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        optionScope: {
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          menuWidth: 200,
-          dialogWidth: 900,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "权限名称",
-              prop: "scopeName",
-              search: true,
-              value: "",
-              rules: [{
-                required: true,
-                message: "请输入数据权限名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "权限编号",
-              prop: "resourceCode",
-              search: true,
-              width: 100,
-              rules: [{
-                required: true,
-                message: "请输入数据权限编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "权限字段",
-              prop: "scopeColumn",
-              width: 130,
-              rules: [{
-                required: true,
-                message: "请输入数据权限编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "规则类型",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=data_scope_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              width: 140,
-              prop: "scopeType",
-              rules: [{
-                required: true,
-                message: "请输入通知类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "可见字段",
-              prop: "scopeField",
-              span: 24,
-              hide: true,
-              value: "*",
-              rules: [{
-                required: true,
-                message: "请输入数据权限可见的字段",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "权限类名",
-              prop: "scopeClass",
-              span: 24,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入MybatisMapper对应方法的完整类名路径",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "规则值",
-              prop: "scopeValue",
-              span: 24,
-              minRows: 5,
-              type: "textarea",
-              display: true,
-              hide: true,
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              span: 24,
-              hide: true,
-            },
-          ]
-        },
-        dataScope: []
-      };
-    },
-    watch: {
-      'formScope.scopeType'() {
-        this.initScope();
-      }
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.menu_add, false),
-          viewBtn: this.vaildData(this.permission.menu_view, false),
-          delBtn: this.vaildData(this.permission.menu_delete, false),
-          editBtn: this.vaildData(this.permission.menu_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-      scopeIds() {
-        let ids = [];
-        this.selectionListScope.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      initScope() {
-        const scopeType = func.toInt(this.formScope.scopeType);
-        const watchMode = this.watchMode;
-        let column = "-", name = "暂无";
-        if (scopeType === 1) {
-          column = "-";
-          name = "全部可见";
-        } else if (scopeType === 2) {
-          column = "create_user";
-          name = "本人可见";
-        } else if (scopeType === 3) {
-          column = "create_dept";
-          name = "所在机构可见";
-        } else if (scopeType === 4) {
-          column = "create_dept";
-          name = "所在机构可见及子级可见";
-        } else if (scopeType === 5) {
-          column = "";
-          name = "自定义";
-        }
-        this.$refs.crudScope.option.column.filter(item => {
-          if (watchMode) {
-            if (item.prop === "scopeName") {
-              this.formScope.scopeName = `${this.scopeMenuName} [${name}]`;
-            }
-            if (item.prop === "resourceCode") {
-              this.formScope.resourceCode = this.scopeMenuCode;
-            }
-            if (item.prop === "scopeColumn") {
-              this.formScope.scopeColumn = column;
-            }
-          }
-          if (item.prop === "scopeValue") {
-            item.display = scopeType === 5;
-          }
-        });
-      },
-      // 菜单管理模块
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.parentId = 0;
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.parentId = '';
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getMenu(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeClose(done) {
-        this.formScope = {};
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      treeLoad(tree, treeNode, resolve) {
-        const parentId = tree.id;
-        getLazyMenuList(parentId).then(res => {
-          resolve(res.data.data);
-        });
-      },
-      // 数据权限模块
-      handleDataScope(row) {
-        this.drawerVisible = true;
-        this.scopeMenuId = row.id;
-        this.scopeMenuCode = row.code;
-        this.scopeMenuName = row.name;
-        this.onLoadScope(this.pageScope)
-      },
-      handleDrawerClose(hide) {
-        hide();
-      },
-      rowSaveScope(row, done, loading) {
-        row = {
-          ...row,
-          menuId: this.scopeMenuId,
-        };
-        addDataScope(row).then(() => {
-          this.onLoadScope(this.pageScope);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateScope(row, index, done, loading) {
-        row = {
-          ...row,
-          menuId: this.scopeMenuId,
-        };
-        updateDataScope(row).then(() => {
-          this.onLoadScope(this.pageScope);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelScope(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return removeDataScope(row.id);
-          })
-          .then(() => {
-            this.onLoadScope(this.pageScope);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDeleteScope() {
-        if (this.selectionListScope.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return removeDataScope(this.scopeIds);
-          })
-          .then(() => {
-            this.onLoadScope(this.pageScope);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudScope.toggleSelection();
-          });
-      },
-      beforeOpenScope(done, type) {
-        if (["add"].includes(type)) {
-          this.watchMode = true;
-          this.initScope();
-        }
-        if (["edit", "view"].includes(type)) {
-          this.watchMode = false;
-          getMenuDataScope(this.formScope.id).then(res => {
-            this.formScope = res.data.data;
-          });
-        }
-        done();
-      },
-      searchResetScope() {
-        this.onLoadScope(this.pageScope);
-      },
-      searchChangeScope(params, done) {
-        this.onLoadScope(this.pageScope, params);
-        done();
-      },
-      selectionChangeScope(list) {
-        this.selectionListScope = list;
-      },
-      currentChangeScope(currentPage) {
-        this.pageScope.currentPage = currentPage;
-      },
-      sizeChangeScope(pageSize) {
-        this.pageScope.pageSize = pageSize;
-      },
-      onLoadScope(page, params = {}) {
-        this.scopeLoading = true;
-        const values = {
-          ...params,
-          menuId: this.scopeMenuId,
-        }
-        getListDataScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
-          const data = res.data.data;
-          this.pageScope.total = data.total;
-          this.dataScope = data.records;
-          this.selectionListScope = [];
-          this.scopeLoading = false;
-        });
-      },
-    }
-  };
-</script>
-

+ 0 - 380
src/views/authority/role.vue

@@ -1,380 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.role_delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-        <el-button size="small"
-                   icon="el-icon-setting"
-                   @click="handleRole"
-                   v-if="userInfo.role_name.includes('admin')"
-                   plain>权限设置
-        </el-button>
-      </template>
-    </avue-crud>
-    <el-dialog title="角色权限配置"
-               append-to-body
-               :visible.sync="box"
-               width="345px">
-      <el-tabs type="border-card">
-        <el-tab-pane label="菜单权限">
-          <el-tree :data="menuGrantList"
-                   show-checkbox
-                   node-key="id"
-                   ref="treeMenu"
-                   :default-checked-keys="menuTreeObj"
-                   :props="props">
-          </el-tree>
-        </el-tab-pane>
-        <el-tab-pane label="数据权限">
-          <el-tree :data="dataScopeGrantList"
-                   show-checkbox
-                   node-key="id"
-                   ref="treeDataScope"
-                   :default-checked-keys="dataScopeTreeObj"
-                   :props="props">
-          </el-tree>
-        </el-tab-pane>
-        <el-tab-pane label="接口权限">
-          <el-tree :data="apiScopeGrantList"
-                   show-checkbox
-                   node-key="id"
-                   ref="treeApiScope"
-                   :default-checked-keys="apiScopeTreeObj"
-                   :props="props">
-          </el-tree>
-        </el-tab-pane>
-      </el-tabs>
-
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="box = false">取 消</el-button>
-        <el-button type="primary"
-                   @click="submit">确 定</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {add, getList, getRole, getRoleTreeById, grant, grantTree, remove, update} from "@/api/system/role";
-  import {mapGetters} from "vuex";
-  import website from '@/config/website';
-
-  export default {
-    data() {
-      return {
-        form: {},
-        box: false,
-        props: {
-          label: "title",
-          value: "key"
-        },
-        menuGrantList: [],
-        dataScopeGrantList: [],
-        apiScopeGrantList: [],
-        apiGrantList: [],
-        menuTreeObj: [],
-        dataScopeTreeObj: [],
-        apiScopeTreeObj: [],
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          dialogWidth: 900,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "角色名称",
-              prop: "roleName",
-              search: true,
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入角色名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "所属租户",
-              prop: "tenantId",
-              type: "tree",
-              dicUrl: "/api/blade-system/tenant/select",
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: website.tenantMode,
-              span: 24,
-              props: {
-                label: "tenantName",
-                value: "tenantId"
-              },
-              hide: !website.tenantMode,
-              search: website.tenantMode,
-              rules: [{
-                required: true,
-                message: "请输入所属租户",
-                trigger: "click"
-              }]
-            },
-            {
-              label: "角色别名",
-              prop: "roleAlias",
-              search: true,
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入角色别名",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "上级角色",
-              prop: "parentId",
-              dicData: [],
-              type: "tree",
-              hide: true,
-              span: 24,
-              props: {
-                label: "title"
-              },
-              rules: [
-                {
-                  required: false,
-                  message: "请选择上级角色",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "角色排序",
-              prop: "sort",
-              type: "number",
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入角色排序",
-                  trigger: "blur"
-                }
-              ]
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.role_add, false),
-          viewBtn: this.vaildData(this.permission.role_view, false),
-          delBtn: this.vaildData(this.permission.role_delete, false),
-          editBtn: this.vaildData(this.permission.role_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-
-        });
-        return ids.join(",");
-      },
-      idsArray() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids;
-      }
-    },
-    methods: {
-      initData(roleId){
-        getRoleTreeById(roleId).then(res => {
-          const column = this.findObject(this.option.column, "parentId");
-          column.dicData = res.data.data;
-        });
-      },
-      submit() {
-        const menuList = this.$refs.treeMenu.getCheckedKeys();
-        const dataScopeList = this.$refs.treeDataScope.getCheckedKeys();
-        const apiScopeList = this.$refs.treeApiScope.getCheckedKeys();
-        grant(this.idsArray, menuList, dataScopeList, apiScopeList).then(() => {
-          this.box = false;
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.onLoad(this.page);
-        });
-      },
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      beforeOpen(done, type) {
-        if (["add", "edit"].includes(type)) {
-          this.initData(this.form.id);
-        }
-        done();
-      },
-      handleRole() {
-        if (this.selectionList.length !== 1) {
-          this.$message.warning("只能选择一条数据");
-          return;
-        }
-        this.menuTreeObj = [];
-        this.dataScopeTreeObj = [];
-        this.apiScopeTreeObj = [];
-        grantTree()
-          .then(res => {
-            this.menuGrantList = res.data.data.menu;
-            this.dataScopeGrantList = res.data.data.dataScope;
-            this.apiScopeGrantList = res.data.data.apiScope;
-            getRole(this.ids).then(res => {
-              this.menuTreeObj = res.data.data.menu;
-              this.dataScopeTreeObj = res.data.data.dataScope;
-              this.apiScopeTreeObj = res.data.data.apiScope;
-              this.box = true;
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>

+ 0 - 419
src/views/base/region.vue

@@ -1,419 +0,0 @@
-<template>
-  <el-row>
-    <el-col :span="9">
-      <div class="box">
-        <el-scrollbar>
-          <basic-container>
-            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick"/>
-          </basic-container>
-        </el-scrollbar>
-      </div>
-    </el-col>
-    <el-col :span="15">
-      <basic-container>
-        <el-button-group>
-          <el-button v-if="permission.region_add" type="primary" size="small" icon="el-icon-circle-plus-outline" @click="addChildren">新增下级</el-button>
-          <el-button v-if="permission.region_delete" type="primary" size="small" icon="el-icon-delete" @click="handleDelete">删除</el-button>
-          <el-button v-if="permission.region_import" type="primary" size="small" icon="el-icon-upload2" @click="handleImport">导入</el-button>
-          <el-button v-if="permission.region_export" type="primary" size="small" icon="el-icon-download" @click="handleExport">导出</el-button>
-          <el-button v-if="permission.region_debug" type="primary" size="small" icon="el-icon-video-play" @click="handleDebug">调试</el-button>
-        </el-button-group>
-      </basic-container>
-      <basic-container>
-        <avue-form ref="form" :option="regionOption" v-model="regionForm" @submit="handleSubmit">
-          <template slot="code" slot-scope="{}">
-            <el-input placeholder="请输入 区划子编号" v-model="regionForm.subCode">
-              <template slot="prepend">{{regionForm.parentCode}}</template>
-            </el-input>
-          </template>
-        </avue-form>
-        <el-dialog title="行政区划数据导入"
-                   append-to-body
-                   :visible.sync="excelBox"
-                   width="555px">
-          <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
-            <template slot="excelTemplate">
-              <el-button type="primary" @click="handleTemplate">
-                点击下载<i class="el-icon-download el-icon--right"></i>
-              </el-button>
-            </template>
-          </avue-form>
-        </el-dialog>
-        <el-dialog title="行政区划数据调试"
-                   append-to-body
-                   :visible.sync="debugBox"
-                   width="350px">
-          <avue-form :option="debugOption" v-model="debugForm"/>
-        </el-dialog>
-      </basic-container>
-    </el-col>
-  </el-row>
-</template>
-
-<script>
-  import {getLazyTree, getDetail, submit, remove} from "@/api/base/region";
-  import {mapGetters} from "vuex";
-  import {validatenull} from "@/util/validate";
-  import {getToken} from "@/util/auth";
-
-  export default {
-    data() {
-      return {
-        topCode: '00',
-        treeCode: '',
-        treeParentCode: '',
-        treeData: [],
-        treeOption: {
-          nodeKey: 'id',
-          lazy: true,
-          treeLoad: function (node, resolve) {
-            const parentCode = (node.level === 0) ? "00" : node.data.id;
-            getLazyTree(parentCode).then(res => {
-              resolve(res.data.data.map(item => {
-                return {
-                  ...item,
-                  leaf: !item.hasChildren
-                }
-              }))
-            });
-          },
-          addBtn: false,
-          menu: false,
-          size: 'small',
-          props: {
-            labelText: '标题',
-            label: 'title',
-            value: 'value',
-            children: 'children'
-          }
-        },
-        regionForm: {},
-        regionOption: {
-          labelWidth: 100,
-          column: [
-            {
-              label: "父区划编号",
-              prop: "parentCode",
-              span: 24,
-              disabled: true,
-              rules: [{
-                required: true,
-                message: "请输入父区划编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "父区划名称",
-              prop: "parentName",
-              span: 24,
-              disabled: true,
-            },
-            {
-              label: "区划编号",
-              prop: "code",
-              formslot: true,
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入区划编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "区划子编号",
-              prop: "subCode",
-              display: false,
-            },
-            {
-              label: "区划名称",
-              prop: "name",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入区划名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "区划等级",
-              prop: "regionLevel",
-              type: "radio",
-              dicUrl: "/api/blade-system/dict/dictionary?code=region",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请选择区划等级",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "区划排序",
-              prop: "sort",
-              type: "number",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入区划排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "区划备注",
-              prop: "remark",
-              type: "textarea",
-              minRows: 6,
-              span: 24,
-            },
-          ]
-        },
-        excelBox: false,
-        excelForm: {},
-        excelOption: {
-          submitBtn: false,
-          emptyBtn: false,
-          column: [
-            {
-              label: '模板上传',
-              prop: 'excelFile',
-              type: 'upload',
-              drag: true,
-              loadText: '模板上传中,请稍等',
-              span: 24,
-              propsHttp: {
-                res: 'data'
-              },
-              tip: '请上传 .xls,.xlsx 标准格式文件',
-              action: "/api/blade-system/region/import-region"
-            },
-            {
-              label: "数据覆盖",
-              prop: "isCovered",
-              type: "switch",
-              align: "center",
-              width: 80,
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                }
-              ],
-              value: 0,
-              slot: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择是否覆盖",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: '模板下载',
-              prop: 'excelTemplate',
-              formslot: true,
-              span: 24,
-            }
-          ]
-        },
-        debugBox: false,
-        debugForm: {},
-        debugOption: {
-          labelWidth: 50,
-          submitBtn: false,
-          emptyBtn: false,
-          column: [
-            {
-              label: '省份',
-              prop: 'province',
-              type: 'select',
-              props: {
-                label: 'name',
-                value: 'code'
-              },
-              cascaderItem: ['city', 'district'],
-              dicUrl: '/api/blade-system/region/select',
-              span: 24,
-            },
-            {
-              label: '地市',
-              prop: 'city',
-              type: 'select',
-              props: {
-                label: 'name',
-                value: 'code'
-              },
-              dicFlag: false,
-              dicUrl: '/api/blade-system/region/select?code={{key}}',
-              span: 24,
-            },
-            {
-              label: '区县',
-              prop: 'district',
-              type: 'select',
-              props: {
-                label: 'name',
-                value: 'code'
-              },
-              dicFlag: false,
-              dicUrl: '/api/blade-system/region/select?code={{key}}',
-              span: 24,
-            }
-          ]
-        }
-      };
-    },
-    watch: {
-      'regionForm.subCode'() {
-        this.regionForm.code = this.regionForm.parentCode + this.regionForm.subCode;
-      },
-      'excelForm.isCovered'() {
-        if (this.excelForm.isCovered !== '') {
-          const column = this.findObject(this.excelOption.column, "excelFile");
-          column.action = `/api/blade-system/region/import-region?isCovered=${this.excelForm.isCovered}`;
-        }
-      }
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.region_add, false),
-          viewBtn: this.vaildData(this.permission.region_view, false),
-          delBtn: this.vaildData(this.permission.region_delete, false),
-          editBtn: this.vaildData(this.permission.region_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      initTree() {
-        this.treeData = [];
-        getLazyTree(this.topCode).then(res => {
-          this.treeData = res.data.data.map(item => {
-            return {
-              ...item,
-              leaf: !item.hasChildren
-            }
-          })
-        });
-      },
-      nodeClick(data) {
-        const column = this.findObject(this.regionOption.column, "parentCode");
-        column.disabled = true;
-        this.treeCode = data.id;
-        this.treeParentCode = data.parentId;
-        getDetail(this.treeCode).then(res => {
-          this.regionForm = res.data.data;
-          this.regionForm.subCode = this.regionForm.code.replace(this.regionForm.parentCode, '');
-        })
-      },
-      addChildren() {
-        if (validatenull(this.regionForm.code) || validatenull(this.regionForm.name)) {
-          this.$message.warning("请先选择一项区划");
-          return;
-        }
-        this.regionForm.parentCode = this.regionForm.code;
-        this.regionForm.parentName = this.regionForm.name;
-        this.regionForm.code = '';
-        this.regionForm.subCode = '';
-        this.regionForm.name = '';
-        this.regionForm.regionLevel = (this.regionForm.regionLevel === 5) ? 5 : this.regionForm.regionLevel + 1;
-      },
-      handleSubmit(form, done, loading) {
-        
-        console.log('============>', '啊啊啊啊啊啊啊', form);
-        const parentCode = form.parentCode === this.topCode ? '' : form.parentCode;
-        form.code = parentCode + form.subCode;
-        submit(form).then(() => {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.initTree();
-          this.regionForm.subCode = '';
-          this.$refs.form.resetForm();
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      handleDelete() {
-        if (validatenull(this.regionForm.code)) {
-          this.$message.warning("请先选择一项区划");
-          return;
-        }
-        this.$confirm(`确定将 [${this.regionForm.name}] 数据删除?`, {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.treeCode);
-          })
-          .then(() => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.initTree();
-            this.regionForm.subCode = '';
-            this.$refs.form.resetForm();
-          });
-      },
-      uploadAfter(res, done, loading, column) {
-        window.console.log(column);
-        this.excelBox = false;
-        this.initTree();
-        done();
-      },
-      handleDebug() {
-        this.debugBox = true;
-      },
-      handleImport() {
-        this.excelBox = true;
-      },
-      handleExport() {
-        this.$confirm("是否导出行政区划数据?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          window.open(`/api/blade-system/region/export-region?${this.website.tokenHeader}=${getToken()}`);
-        });
-      },
-      handleTemplate() {
-        window.open(`/api/blade-system/region/export-template?${this.website.tokenHeader}=${getToken()}`);
-      },
-    }
-  };
-</script>
-
-<style>
-  .box {
-    height: 800px;
-  }
-
-  .el-scrollbar {
-    height: 100%;
-  }
-
-  .box .el-scrollbar__wrap {
-    overflow: scroll;
-  }
-</style>

+ 0 - 83
src/views/config/distributionconfig.vue

@@ -1,83 +0,0 @@
-<template>
-  <basic-container>
-    <el-row>
-      <el-col :span="6">
-          <el-form ref="form" :model="form" label-width="150px">
-          <el-form-item label="是否开启分销">
-            <el-switch v-model="form.isOpen"></el-switch>
-          </el-form-item>
-          <el-form-item label="分销关系绑定天数" >
-            <el-input v-model="form.bindingDays" type="number" size=""></el-input>
-          </el-form-item>
-          <el-form-item label="分销结算天数" >
-            <el-input v-model="form.settleDays" type="number" size=""></el-input>
-          </el-form-item>
-          <el-form-item label="订单分销比例" >
-            <el-input v-model="form.proportion" type="number" size=""></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" @click="rowSave">保存</el-button>
-          </el-form-item>
-        </el-form>
-      </el-col>
-    </el-row>
-
-  </basic-container>
-</template>
-
-<script>
-  import {getDetail, add} from "@/api/config/distributionconfig";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {
-          id: null,
-          isOpen: false,
-          bindingDays: 0,
-          settleDays: 0,
-          proportion: 0
-        },
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-
-        data: []
-      };
-    },
-    created() {
-      getDetail().then(res => {
-        console.log(res);
-        if(res.data.data){
-          this.form = res.data.data
-        }
-      });
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-    },
-    methods: {
-      rowSave() {
-        console.log(this.form, '-----------form-------------');
-        // return
-        add(this.form).then(() => {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        }, error => {
-          window.console.log(error);
-        });
-      },
-
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 294
src/views/desk/notice.vue

@@ -1,294 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               ref="crud"
-               @row-del="rowDel"
-               v-model="form"
-               :permission="permissionList"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               :before-open="beforeOpen"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.notice_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="category">
-        <el-tag>{{row.categoryName}}</el-tag>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, remove, update, add, getNotice} from "@/api/desk/notice";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          dialogWidth: 950,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          excelBtn: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "通知标题",
-              prop: "title",
-              span: 24,
-              row: true,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入通知标题",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "通知类型",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=notice",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入通知类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "通知时间",
-              prop: "releaseTimeRange",
-              type: "datetime",
-              format: "yyyy-MM-dd hh:mm:ss",
-              valueFormat: "yyyy-MM-dd hh:mm:ss",
-              searchRange:true,
-              hide: true,
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: false,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入通知时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "通知日期",
-              prop: "releaseTime",
-              type: "date",
-              format: "yyyy-MM-dd hh:mm:ss",
-              valueFormat: "yyyy-MM-dd hh:mm:ss",
-              rules: [{
-                required: true,
-                message: "请输入通知日期",
-                trigger: "click"
-              }]
-            },
-            {
-              label: "通知内容",
-              prop: "content",
-              component: 'AvueUeditor',
-              options: {
-                action: '/api/blade-resource/oss/endpoint/put-file',
-                props: {
-                  res: "data",
-                  url: "link",
-                }
-              },
-              hide: true,
-              minRows: 6,
-              span: 24,
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.notice_add, false),
-          viewBtn: this.vaildData(this.permission.notice_view, false),
-          delBtn: this.vaildData(this.permission.notice_delete, false),
-          editBtn: this.vaildData(this.permission.notice_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getNotice(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const {releaseTimeRange} = this.query;
-        let values = {
-          ...params,
-        };
-        if (releaseTimeRange) {
-          values = {
-            ...params,
-            releaseTime_datege: releaseTimeRange[0],
-            releaseTime_datelt: releaseTimeRange[1],
-            ...this.query
-          };
-          values.releaseTimeRange = null;
-        }
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 329
src/views/distribution/appoint.vue

@@ -1,329 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="primary"
-                   size="small"
-                   plain
-                   v-if="permission.appoint_delete"
-                   @click="handleDelete">确认发货
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   @click="goodsListView(scope.row.arrivalCode)">查看商品列表</el-button>
-      </template>
-    </avue-crud>
-    <!--  商品列表dialog  -->
-    <el-dialog title="商品列表"
-               append-to-body
-               :visible.sync="goodsBox"
-               :before-close="handleClose"
-               width="50%"
-               heigh="30%">
-      <avue-crud :option="appointGoodsOption"
-                 :table-loading="goodsLoading"
-                 :data="appointGoodsData"
-                 :page.sync="goodsPage"
-                 ref="grouponCrud"
-                 @on-load="goodsOnLoad">
-      </avue-crud>
-    </el-dialog>
-  </basic-container>
-
-</template>
-
-<script>
-  import {getList, getDetail, add, update, shipments, goodsList} from "@/api/distribution/appoint";
-  import {mapGetters} from "vuex";
-  import {appointGoodsOption} from "../../option/mall/appointGoodsOption"
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        goodsBox: false,
-        goodsLoading: false,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        arrivalCode: '',
-        appointGoodsData: [],
-        goodsPage: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        appointGoodsOption,
-        option: {
-          selectable:(row,index)=>{
-            return row.state === 0;
-          },
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          delBtn: false,
-          selection: true,
-          searchSpan: 5,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "供应商名称",
-              labelWidth: 130,
-              prop: "storeName",
-              rules: [{
-                required: true,
-                message: "请输入供应商名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "自提点名称",
-              labelWidth: 130,
-              prop: "takeName",
-              rules: [{
-                required: true,
-                message: "请输入自提点名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "自提点联系电话",
-              labelWidth: 130,
-              prop: "takeTel",
-              rules: [{
-                required: true,
-                message: "自提点联系电话",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "履约单状态",
-              labelWidth: 130,
-              prop: "state",
-              searchLabelWidth: 130,
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=appoint_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: false,
-              display: true,
-              rules: [{
-                required: true,
-                message: "选择状态",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团购标题",
-              labelWidth: 130,
-              prop: "grouponName",
-              rules: [{
-                required: true,
-                message: "请输入团购标题",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团购结束时间",
-              labelWidth: 130,
-              prop: "grouponEndTime",
-              rules: [{
-                required: true,
-                message: "请输入团购结束时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.appoint_add, false),
-          viewBtn: this.vaildData(this.permission.appoint_view, false),
-          delBtn: this.vaildData(this.permission.appoint_delete, false),
-          editBtn: this.vaildData(this.permission.appoint_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择的履约单进行发货么?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return shipments(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-
-      goodsListView(arrivalCode) {
-        this.arrivalCode = arrivalCode;
-        this.goodsOnLoad(this.goodsPage)
-        this.goodsBox = true;
-      },
-      handleClose() {
-        this.goodsBox = false;
-      },
-      goodsOnLoad(page){
-        console.log(this.arrivalCode, '------arrivalCode---------');
-        this.goodsLoading = true;
-        goodsList(page.currentPage, page.pageSize, this.arrivalCode).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.appointGoodsData = data.records;
-          this.goodsLoading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 291
src/views/finance/aftersales.vue

@@ -1,291 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-<!--      <template slot="menuLeft">-->
-<!--        <el-button type="danger"-->
-<!--                   size="small"-->
-<!--                   icon="el-icon-delete"-->
-<!--                   plain-->
-<!--                   v-if="permission.aftersales_delete"-->
-<!--                   @click="handleDelete">删 除-->
-<!--        </el-button>-->
-<!--      </template>-->
-
-        <template slot-scope="scope" slot="menu">
-            <el-button
-                    v-if="scope.row.type == 1"
-                    type="text"
-                    size="small"
-                    @click="refund(scope.row)"
-            >退款
-            </el-button>
-        </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, refund} from "@/api/finance/aftersales";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          addBtn: false,
-          editBtn: false,
-          delBtn: false,
-          selection: false,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "售后编号",
-              prop: "afterSalesNo",
-              rules: [{
-                required: true,
-                message: "请输入售后编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "售后类型",
-              prop: "type",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=AfterSalesTypeEnum",
-              props: {
-                label: "name",
-                value: "value"
-              },
-              dataType: "number",
-            },
-            {
-              label: "售后原因",
-              prop: "reason",
-              rules: [{
-                required: true,
-                message: "请输入售后原因",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "售后状态",
-              prop: "status",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=AfterSalesStatusEnum",
-              props: {
-                label: "name",
-                value: "value"
-              },
-              dataType: "number",
-            },
-            {
-              label: "退款状态",
-              prop: "refundState",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=refund_status",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.aftersales_add, false),
-          viewBtn: this.vaildData(this.permission.aftersales_view, false),
-          delBtn: this.vaildData(this.permission.aftersales_delete, false),
-          editBtn: this.vaildData(this.permission.aftersales_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-        refund(row) {
-            this.$confirm("确定对该订单退款?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                const loading = this.$loading({
-                    lock: true,
-                    text: '退款中...',
-                    spinner: 'el-icon-loading',
-                    background: 'rgba(0, 0, 0, 0.7)'
-                });
-                refund(row.orderId, row.id).then(res => {
-                    loading.close();
-                    this.$message({
-                        type: "success",
-                        message: "退款成功!"
-                    });
-                    this.refreshChange();
-                }).catch(() => {
-                    loading.close();
-                });
-            });
-        }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 209
src/views/finance/aftersalesreason.vue

@@ -1,209 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.aftersalesreason_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/finance/aftersalesreason";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "售后原因",
-              prop: "reason",
-              rules: [{
-                required: true,
-                message: "请输入售后原因",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.aftersalesreason_add, false),
-          viewBtn: this.vaildData(this.permission.aftersalesreason_view, false),
-          delBtn: this.vaildData(this.permission.aftersalesreason_delete, false),
-          editBtn: this.vaildData(this.permission.aftersalesreason_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 254
src/views/finance/appointgoods.vue

@@ -1,254 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.appointgoods_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/finance/appointgoods";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "履约单ID",
-              prop: "appointId",
-              rules: [{
-                required: true,
-                message: "请输入履约单ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品ID",
-              prop: "goodsId",
-              rules: [{
-                required: true,
-                message: "请输入商品ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品数量",
-              prop: "goodsNum",
-              rules: [{
-                required: true,
-                message: "请输入商品数量",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品金额",
-              prop: "goodsPrice",
-              rules: [{
-                required: true,
-                message: "请输入商品金额",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品名称",
-              prop: "goodsName",
-              rules: [{
-                required: true,
-                message: "请输入商品名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品图片",
-              prop: "goodsImage",
-              rules: [{
-                required: true,
-                message: "请输入商品图片",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.appointgoods_add, false),
-          viewBtn: this.vaildData(this.permission.appointgoods_view, false),
-          delBtn: this.vaildData(this.permission.appointgoods_delete, false),
-          editBtn: this.vaildData(this.permission.appointgoods_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 364
src/views/finance/order.vue

@@ -1,364 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-      </template>
-
-      <template slot="orderStateDesc" slot-scope="scope" >
-        <el-tag v-if="scope.row.orderState === 1">{{scope.row.orderStateDesc}}</el-tag>
-        <el-tag v-else-if="scope.row.orderState === 2" type="warning">{{scope.row.orderStateDesc}}</el-tag>
-        <el-tag v-else-if="scope.row.orderState === 3" type="warning">{{scope.row.orderStateDesc}}</el-tag>
-        <el-tag v-else-if="scope.row.orderState === 4" type="success">{{scope.row.orderStateDesc}}</el-tag>
-        <el-tag v-else-if="scope.row.orderState === 5" type="danger">{{scope.row.orderStateDesc}}</el-tag>
-<!--        <el-tag v-else-if="scope.row.orderState === 6" type="danger">{{scope.row.orderStateDesc}}</el-tag>-->
-<!--        <el-tag v-else-if="scope.row.orderState === 7" type="danger">{{scope.row.orderStateDesc}}</el-tag>-->
-        <el-tag v-else-if="scope.row.orderState === 8" type="danger">{{scope.row.orderStateDesc}}</el-tag>
-      </template>
-
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, refund} from "@/api/finance/order";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          searchIcon: true,
-          searchIndex: 3,
-          menuWidth: 130,
-          border: true,
-          viewBtn: true,
-          editBtn: false,
-          delBtn: false,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "订单号",
-              prop: "orderNo",
-              search: true,
-              // width: 170,
-            },
-            {
-              label: "订单来源",
-              // width: 100,
-              prop: "source",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=OrderSourceEnum",
-              props: {
-                label: "name",
-                value: "value"
-              },
-              dataType: "number",
-            },
-            {
-              label: "订单类型",
-              prop: "orderType",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=order_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-            },
-            {
-              label: "买家昵称",
-              prop: "nickname",
-              search: true,
-            },
-            // {
-            //   label: "订单状态",
-            //   prop: "orderState",
-            //   type: "select",
-            //   search: true,
-            //   hide: true,
-            //   dicUrl: "/api/blade-system/dict-biz/dictionary?code=order_state",
-            //   props: {
-            //     label: "dictValue",
-            //     value: "dictKey"
-            //   },
-            //   dataType: "number",
-            // },
-
-            {
-              label: "总金额",
-              prop: "totalAmount",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入总金额",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "订单金额",
-              prop: "paymentAmount",
-              formatter:(val,value,label)=>{
-                  return "¥" + value;
-              },
-            },
-            {
-              label: "支付方式",
-              prop: "paymentMode",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入支付方式",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "订单状态",
-              prop: "orderStateDesc",
-              slot:true,
-              // width: 80
-            },
-            {
-              label: "支付时间",
-              prop: "paymentTime",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入支付时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "支付状态",
-              prop: "paymentState",
-              hide: true
-            },
-            {
-              label: "优惠金额",
-              prop: "discountAmount",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入优惠金额",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否售后",
-              prop: "isAftersales",
-              hide: true,
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              // dataType: "number",
-            },
-            {
-              label: "发货时间",
-              prop: "sendTime",
-              hide: true,
-            },
-            {
-              label: "收货时间",
-              prop: "recordTime",
-              hide: true,
-            },
-            {
-              label: "下单时间",
-              prop: "createTime"
-            },
-            {
-              label: "下单时间",
-              prop: "orderTimeRange",
-              // width: 150,
-              display: false,
-              hide: true,
-              search: true,
-              type: 'datetimerange',
-              searchRange:true,
-              defaultTime:['00:00:00', '23:59:59'],
-              format:'yyyy-MM-dd HH:mm:ss',
-              valueFormat:'yyyy-MM-dd HH:mm:ss',
-              startPlaceholder: '开始时间',
-              endPlaceholder: '结束时间',
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.order_add, false),
-          viewBtn: this.vaildData(this.permission.order_view, false),
-          delBtn: this.vaildData(this.permission.order_delete, false),
-          editBtn: this.vaildData(this.permission.order_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const orderTimeRange = this.query.orderTimeRange;
-        if (orderTimeRange) {
-          this.query.startTime = orderTimeRange[0];
-          this.query.endTime = orderTimeRange[1];
-        }
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 245
src/views/finance/ordergroupon.vue

@@ -1,245 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.ordergroupon_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/finance/ordergroupon";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "订单id",
-              prop: "orderId",
-              rules: [{
-                required: true,
-                message: "请输入订单id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "自提点ID",
-              prop: "selfTakeId",
-              rules: [{
-                required: true,
-                message: "请输入自提点ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团购ID",
-              prop: "grouponId",
-              rules: [{
-                required: true,
-                message: "请输入团购ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团长ID",
-              prop: "organizerId",
-              rules: [{
-                required: true,
-                message: "请输入团长ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "取货码",
-              prop: "pickupCode",
-              rules: [{
-                required: true,
-                message: "请输入取货码",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.ordergroupon_add, false),
-          viewBtn: this.vaildData(this.permission.ordergroupon_view, false),
-          delBtn: this.vaildData(this.permission.ordergroupon_delete, false),
-          editBtn: this.vaildData(this.permission.ordergroupon_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 272
src/views/finance/ordergroupongoods.vue

@@ -1,272 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.ordergroupongoods_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/finance/ordergroupongoods";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "订单id",
-              prop: "orderId",
-              rules: [{
-                required: true,
-                message: "请输入订单id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品ID",
-              prop: "goodsId",
-              rules: [{
-                required: true,
-                message: "请输入商品ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品数量",
-              prop: "goodsNum",
-              rules: [{
-                required: true,
-                message: "请输入商品数量",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团长ID",
-              prop: "organizerId",
-              rules: [{
-                required: true,
-                message: "请输入团长ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品金额",
-              prop: "goodsPrice",
-              rules: [{
-                required: true,
-                message: "请输入商品金额",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品名称",
-              prop: "goodsName",
-              rules: [{
-                required: true,
-                message: "请输入商品名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品图片",
-              prop: "goodsImage",
-              rules: [{
-                required: true,
-                message: "请输入商品图片",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "供应商ID",
-              prop: "supplierId",
-              rules: [{
-                required: true,
-                message: "请输入供应商ID",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.ordergroupongoods_add, false),
-          viewBtn: this.vaildData(this.permission.ordergroupongoods_view, false),
-          delBtn: this.vaildData(this.permission.ordergroupongoods_delete, false),
-          editBtn: this.vaildData(this.permission.ordergroupongoods_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 282
src/views/finance/transactionflow.vue

@@ -1,282 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.transactionflow_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-
-      <template slot="tranType" slot-scope="scope" >
-        <el-tag v-if="scope.row.tranType === 1" type="success">{{scope.row.$tranType}}</el-tag>
-        <el-tag v-else-if="scope.row.tranType === 2" type="danger">{{scope.row.$tranType}}</el-tag>
-        <el-tag v-else-if="scope.row.tranType === 3" type="warning">{{scope.row.$tranType}}</el-tag>
-      </template>
-
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/finance/transactionflow";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          menu: false,
-          searchLabelWidth: 90,
-          column: [
-            {
-              label: "交易流水号",
-              prop: "transactionNo",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入交易流水号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "交易金额",
-              prop: "amount",
-              formatter:(val,value,label)=>{
-                return "¥" + value;
-              },
-            },
-            // {
-            //   label: "交易状态 1-未支付 2-已支付 3-已取消",
-            //   prop: "status",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入交易状态 1-未支付 2-已支付 3-已取消",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "支付方式",
-              prop: "paymentType",
-              formatter:(val,value,label)=>{
-                if (value == 'wxPay') {
-                  return "微信支付"
-                } else if (value == 'aliPay') {
-                  return "支付宝支付"
-                }
-                return value;
-              },
-            },
-            // {
-            //   label: "支付时间",
-            //   prop: "paymentTime",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入支付时间",
-            //     trigger: "blur"
-            //   }]
-            // },
-
-            // {
-            //   label: "取消时间",
-            //   prop: "cancelTime",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入取消时间",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "交易类型",
-              prop: "tranType",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=tran_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot:true,
-            },
-            {
-              label: "交易时间",
-              prop: "createTime"
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.transactionflow_add, false),
-          viewBtn: this.vaildData(this.permission.transactionflow_view, false),
-          delBtn: this.vaildData(this.permission.transactionflow_delete, false),
-          editBtn: this.vaildData(this.permission.transactionflow_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 684
src/views/groupon/groupon.vue

@@ -1,684 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               :upload-error="uploadError"
-               :upload-after="uploadAfter"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-
-      <template slot="status" slot-scope="scope">
-        <el-tag v-if="scope.row.status === 1" type="success">{{ scope.row.$status }}</el-tag>
-        <el-tag v-if="scope.row.status === 0" type="danger">{{ scope.row.$status }}</el-tag>
-      </template>
-
-      <template slot="auditStatus" slot-scope="scope">
-        <el-tag v-if="scope.row.auditStatus === 0">{{ scope.row.$auditStatus }}</el-tag>
-        <el-tag v-else-if="scope.row.auditStatus === 1" type="success">{{ scope.row.$auditStatus }}</el-tag>
-        <el-tag v-else-if="scope.row.auditStatus === 2" type="danger">{{ scope.row.$auditStatus }}</el-tag>
-      </template>
-
-      <template slot="menu" slot-scope="scope">
-        <el-button v-if="scope.row.auditStatus == 0"
-                   type="text"
-                   size="small"
-                   @click="openAuditBox(scope.row.id)"
-        >审核
-        </el-button>
-        <el-button v-if="scope.row.status == 0"
-                   type="text"
-                   size="small"
-                   @click="modifyState(scope.row, 1)"
-        >启用
-        </el-button>
-        <el-button v-if="scope.row.status == 1"
-                   type="text"
-                   size="small"
-                   @click="modifyState(scope.row, 0)"
-        >禁用
-        </el-button>
-      </template>
-
-      <!--  添加商品插槽    -->
-      <template slot="goodsForm">
-        <el-button type="primary" size="mini" @click="addGoodsBox = true">添 加</el-button>
-        <el-table
-            :data="tableData"
-            style="width: 100%">
-          <el-table-column label="商品" width="280">
-            <template slot-scope="scope">
-              <el-row>
-                <el-col :span="4">
-                  <el-avatar shape="square" :size="45" fit="fit" :src="scope.row.goodsCover"></el-avatar>
-                </el-col>
-                <el-col :span="20">
-                  <span style="line-height: 40px; margin-left: 10px">{{ scope.row.goodsName }}</span>
-                </el-col>
-              </el-row>
-            </template>
-          </el-table-column>
-          <el-table-column label="规格" width="180">
-            <template slot-scope="scope">
-              <el-row>
-                <el-col :span="24">
-                  <span style="line-height: 40px;">{{ scope.row.goodsSpec }}</span>
-                </el-col>
-              </el-row>
-            </template>
-          </el-table-column>
-          <el-table-column label="供应商">
-            <template slot-scope="scope">
-              <el-row>
-                <el-col :span="24">
-                  <span style="line-height: 40px;">{{ scope.row.supplierName }}</span>
-                </el-col>
-              </el-row>
-            </template>
-          </el-table-column>
-          <el-table-column label="操作">
-            <template slot-scope="scope">
-              <el-button
-                  size="mini"
-                  type="danger"
-                  @click="handleDeleteGood(scope.$index, scope.row)">删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </template>
-
-
-    </avue-crud>
-
-    <el-dialog title="拼团审核" @close="refreshChange"
-               append-to-body
-               :visible.sync="auditBox"
-               :before-close="handleClose"
-               width="600px"
-               heigh="40%">
-      <el-form :model="auditForm" label-width="80px">
-        <el-form-item label="审核意见:">
-          <el-select v-model="auditForm.auditStatus" placeholder="请选择">
-            <el-option
-                v-for="item in auditList"
-                :key="item.value"
-                :label="item.name"
-                :value="item.value">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="驳回描述:" v-if="auditForm.auditStatus == 2">
-          <el-input type="textarea" v-model="auditForm.remark" :autosize="{ minRows: 3, maxRows: 5}"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="handleClose">取 消</el-button>
-        <el-button type="primary" @click="auditGoods()">确 定</el-button>
-      </div>
-    </el-dialog>
-
-    <!--  商品列表dialog  -->
-    <el-dialog title="添加商品"
-               append-to-body
-               :visible.sync="addGoodsBox"
-               :before-close="handleClose"
-               width="90%"
-               heigh="70%">
-      <avue-crud :option="grouponOption"
-                 :table-loading="grouponLoading"
-                 :data="grouponData"
-                 :page.sync="grouponPage"
-                 v-model="grouponForm"
-                 ref="grouponCrud"
-                 @search-change="grouponSearchChange"
-                 @search-reset="grouponSearchReset"
-                 @selection-change="grouponSelectionChange"
-                 @current-change="grouponCurrentChange"
-                 @size-change="grouponSizeChange"
-                 @refresh-change="grouponRefreshChange"
-                 @on-load="grouponOnLoad">
-
-        <template slot="menuLeft">
-          <el-button type="primary"
-                     size="small"
-                     @click="submit()">提 交
-          </el-button>
-        </template>
-      </avue-crud>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-import {getList, getDetail, add, update, remove, audit, modifyStatus} from "@/api/groupon/groupon";
-import {getList as getGoodsList} from "@/api/mall/goodsinfo";
-import {grouponOption} from "../../option/groupon/grouponOption"
-import {mapGetters} from "vuex";
-
-export default {
-  data() {
-    return {
-      grouponOption: grouponOption,
-      tableData: [],
-      auditList: [
-        {name: '通过', value: 1}, {name: '驳回', value: 2}
-      ],
-      form: {},
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      auditBox: false,
-      addGoodsBox: false,
-      auditForm: {
-        auditStatus: '',
-        id: '',
-        remark: ''
-      },
-      selectionList: [],
-      option: {
-        height: 'auto',
-        calcHeight: 30,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: false,
-        viewBtn: true,
-        editBtn: true,
-        delBtn: false,
-        selection: true,
-        dialogClickModal: false,
-        addBtnText: '发布团购',
-        column: [
-          {
-            label: "主标题",
-            prop: "mainTitle",
-            labelWidth: 120,
-            search: true,
-            rules: [{
-              required: true,
-              message: "请输入主标题",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "副标题",
-            prop: "subTitle",
-            labelWidth: 120,
-            hide: true,
-            rules: [{
-              required: true,
-              message: "请输入副标题",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "团购开始时间",
-            prop: "grouponStartTime",
-            valueFormat: 'yyyy-MM-dd HH:mm:ss',
-            type: "datetime",
-            labelWidth: 120,
-            rules: [{
-              required: true,
-              message: "请输入团购开始时间",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "团购结束时间",
-            prop: "grouponEndTime",
-            valueFormat: 'yyyy-MM-dd HH:mm:ss',
-            type: "datetime",
-            labelWidth: 120,
-            rules: [{
-              required: true,
-              message: "请输入团购结束时间",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "取货开始时间",
-            prop: "takeStartTime",
-            type: "datetime",
-            labelWidth: 120,
-            valueFormat: 'yyyy-MM-dd HH:mm:ss',
-            hide: true,
-            rules: [{
-              required: true,
-              message: "请输入取货开始时间",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "取货结束时间",
-            prop: "takeEndTime",
-            labelWidth: 120,
-            type: "datetime",
-            valueFormat: 'yyyy-MM-dd HH:mm:ss',
-            hide: true,
-            rules: [{
-              required: true,
-              message: "请输入取货结束时间",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "浏览量",
-            prop: "views",
-            labelWidth: 120,
-            addDisplay: false,
-            editDisplay: false,
-            hide: true,
-            width: 80,
-            rules: [{
-              required: true,
-              message: "请输入浏览量",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "状态",
-            prop: "status",
-            labelWidth: 120,
-            search: true,
-            slot: true,
-            rules: [{
-              required: true,
-              message: "请选择状态",
-              trigger: "blur"
-            }],
-            type: "select",
-            dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=StatusEnum",
-            props: {
-              label: "name",
-              value: "value"
-            },
-            dataType: "number",
-          },
-          {
-            label: "审核状态",
-            prop: "auditStatus",
-            labelWidth: 120,
-            addDisplay: false,
-            editDisplay: false,
-            rules: [{
-              required: true,
-              message: "请输入审核状态",
-              trigger: "blur"
-            }],
-            search: true,
-            slot: true,
-            type: "select",
-            dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=AuditStatusEnum",
-            props: {
-              label: "name",
-              value: "value"
-            },
-            dataType: "number",
-          },
-          {
-            label: "团长",
-            prop: "organizerUserId",
-            labelWidth: 120,
-            rules: [{
-              required: true,
-              message: "请选择团长",
-              trigger: "blur"
-            }],
-            hide: true,
-            remote: true,
-            editDisplay: false,
-            viewDisplay: false,
-            editDisabled: true,
-            type: "select",
-            dicUrl: "/api/platform/userApp/list?username={{key}}&state=1&livingHall=1&size100",
-            props: {
-              label: "username",
-              value: "userId"
-            },
-            dicFormatter: function (res) {
-              return res.data.records;
-            },
-          },
-          {
-            label: "自提点",
-            prop: "selfTakeIds",
-            labelWidth: 120,
-            span: 24,
-            rules: [{
-              required: true,
-              message: "请选择自提点",
-              trigger: "blur"
-            }],
-            hide: true,
-            editDisplay: false,
-            viewDisplay: false,
-            editDisabled: true,
-            type: "select",
-            multiple: true,
-            remote: true,
-            dicUrl: "/api/groupon/selftake/page?name={{key}}",
-            props: {
-              label: "name",
-              value: "id"
-            },
-            dicFormatter: function (res) {
-              return res.data.records;
-            },
-          },
-          {
-            label: "团购商品",
-            prop: "goods",
-            span: 24,
-            fromslot: true,
-            editDisplay: false,
-            hide: true
-          },
-        ]
-      },
-      data: [],
-
-      grouponPage: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      grouponData: [],
-      grouponLoading: false,
-      grouponForm: {},
-      grouponQuery: {},
-      grouponSelectionList: []
-    };
-  },
-  computed: {
-    ...mapGetters(["permission"]),
-    permissionList() {
-      return {
-        addBtn: this.vaildData(this.permission.groupon_add, false),
-        viewBtn: this.vaildData(this.permission.groupon_view, false),
-        delBtn: this.vaildData(this.permission.groupon_delete, false),
-        editBtn: this.vaildData(this.permission.groupon_edit, false)
-      };
-    },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    }
-  },
-  methods: {
-    rowSave(row, done, loading) {
-      let goodsIds = [];
-      this.tableData.forEach(e => {
-        goodsIds.push(e.goodsId)
-      })
-      row.goodsIds = goodsIds;
-      add(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        window.console.log(error);
-      });
-    },
-    rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        console.log(error);
-      });
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-    },
-    beforeOpen(done, type) {
-      if (["edit", "view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
-          this.form = res.data.data;
-        });
-      }
-      this.tableData = [];
-      this.grouponSelectionList = [];
-      done();
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    currentChange(currentPage) {
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize) {
-      this.page.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoad(this.page, this.query);
-    },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    },
-    openAuditBox(id) {
-      this.auditBox = true;
-      this.auditForm.id = id;
-    },
-    auditGoods() {
-      audit(this.auditForm).then(() => {
-        this.auditBox = false;
-        this.onLoad(this.page, this.query);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-      }, error => {
-        loading();
-        console.log(error);
-      });
-    },
-    handleClose() {
-      this.addGoodsBox = false;
-      this.auditBox = false;
-      this.auditForm = {
-        auditStatus: '',
-        id: '',
-        remark: ''
-      };
-    },
-    modifyState(row, status) {
-      let title = status === 0 ? '确定禁用?' : '确定启用?';
-      this.$confirm(title, {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        const loading = this.$loading({
-          lock: true,
-          text: '修改中,请稍等...',
-          spinner: 'el-icon-loading',
-          background: 'rgba(0, 0, 0, 0.7)'
-        });
-        row.status = status;
-        modifyStatus(row).then(() => {
-          loading.close();
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        }, error => {
-          loading.close();
-          console.log(error);
-        });
-      })
-
-    },
-    uploadError(error, column) {
-      this.$message.success('上传失败:' + error)
-      // console.log(error, column)
-    },
-    uploadAfter(res, done, loading, column) {
-      // console.log(res,column)
-      done()
-    },
-
-
-    grouponSearchReset() {
-      this.grouponQuery = {};
-      this.grouponOnLoad(this.grouponPage);
-    },
-    grouponSearchChange(params, done) {
-      this.grouponQuery = params;
-      this.grouponPage.currentPage = 1;
-      this.grouponOnLoad(this.grouponPage, params);
-      done();
-    },
-    grouponSelectionChange(list) {
-      this.grouponSelectionList = list;
-    },
-    grouponSelectionClear() {
-      this.grouponSelectionList = [];
-      this.$refs.grouponCrud.toggleSelection();
-    },
-    grouponCurrentChange(currentPage){
-      this.grouponPage.currentPage = currentPage;
-    },
-    grouponSizeChange(pageSize){
-      this.grouponPage.pageSize = pageSize;
-    },
-    grouponRefreshChange() {
-      this.grouponOnLoad(this.grouponPage, this.grouponQuery);
-    },
-    grouponOnLoad(page, params = {}) {
-      this.grouponLoading = true;
-      if (this.grouponQuery.categoryIdArr) {
-        this.grouponQuery.goodsCategoryId = this.grouponQuery.categoryIdArr.join("-");
-        this.grouponQuery.categoryIdArr = null;
-      }
-      this.grouponQuery.auditStatus = 1;
-      this.grouponQuery.isSale = 1;
-
-      getGoodsList(page.currentPage, page.pageSize, Object.assign(params, this.grouponQuery)).then(res => {
-        const data = res.data.data;
-        this.grouponPage.total = data.total;
-        this.grouponData = data.records;
-        this.grouponLoading = false;
-        this.selectionClear();
-      });
-    },
-    submit() {
-      if (this.grouponSelectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-
-      let map = new Map();
-      this.tableData.forEach(row => {
-        map.set(row.goodsId, row.goodsId);
-      })
-
-      this.grouponSelectionList.forEach(e => {
-        let g = map.get(e.id);
-        if (!g) {
-          let goods = {
-            goodsId: e.id,
-            goodsName: e.goodsName,
-            goodsCover: e.goodsCover,
-            goodsSpec: e.goodsSpec,
-            supplierName: e.supplierName
-          }
-          this.tableData.push(goods);
-        }
-      })
-
-      this.addGoodsBox = false;
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 315
src/views/groupon/groupon_perfact.vue

@@ -1,315 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-
-      <template slot="isPerfect" slot-scope="scope" >
-        <el-tag v-if="scope.row.isPerfect === 1" type="success">已完善</el-tag>
-        <el-tag v-if="scope.row.isPerfect === 0">待完善</el-tag>
-      </template>
-
-      <template slot="menuLeft">
-
-      </template>
-      <template slot-scope="scope" slot="menu">
-
-      </template>
-
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, perfect} from "@/api/groupon/groupon";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: false,
-          addBtn: false,
-          viewBtn: true,
-          editBtn: true,
-          editBtnText: '完善信息',
-          delBtn: false,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主标题",
-              prop: "mainTitle",
-              labelWidth: 120,
-              editDisplay: false,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入团购名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "副标题",
-              prop: "subTitle",
-              labelWidth: 120,
-              editDisplay: false,
-              hide: true,
-            },
-            {
-              label: "团购开始时间",
-              labelWidth: 120,
-              editDisplay: false,
-              prop: "grouponStartTime",
-              rules: [{
-                required: true,
-                message: "请输入团购开始时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团购结束时间",
-              prop: "grouponEndTime",
-              labelWidth: 120,
-              editDisplay: false,
-              rules: [{
-                required: true,
-                message: "请输入团购结束时间",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "取货开始时间",
-            //   prop: "takeStartTime",
-            //   labelWidth: 120,
-            //   editDisplay: false,
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入取货开始时间",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "取货结束时间",
-            //   prop: "takeEndTime",
-            //   labelWidth: 120,
-            //   editDisplay: false,
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入取货结束时间",
-            //     trigger: "blur"
-            //   }]
-            // },
-            {
-              label: "信息是否完善",
-              prop: "isPerfect",
-              editDisplay: false,
-            },
-            {
-              label: '团购轮播图',
-              labelWidth: 120,
-              prop: 'slideshow',
-              type: 'upload',
-              dataType: 'array',
-              listType: 'picture-card',
-              loadText: '上传中,请稍等',
-              accept: 'image/png, image/jpeg',
-              fileSize: 1024,
-              tip: '只能上传jpg/png文件,且不超过1M',
-              span: 24,
-              hide: true,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-            {
-              label: '团购详情图',
-              labelWidth: 120,
-              prop: 'detailImage',
-              type: 'upload',
-              dataType: 'array',
-              listType: 'picture-card',
-              loadText: '上传中,请稍等',
-              accept: 'image/png, image/jpeg',
-              fileSize: 1024,
-              tip: '只能上传jpg/png文件,且不超过1M',
-              limit: 25,
-              span: 24,
-              hide: true,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.groupon_add, false),
-          viewBtn: this.vaildData(this.permission.groupon_view, false),
-          delBtn: this.vaildData(this.permission.groupon_delete, false),
-          editBtn: this.vaildData(this.permission.groupon_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        perfect(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 227
src/views/groupon/groupongoods.vue

@@ -1,227 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.groupongoods_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/groupon/groupongoods";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "团购id",
-              prop: "grouponId",
-              rules: [{
-                required: true,
-                message: "请输入团购id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品ID",
-              prop: "goodsId",
-              rules: [{
-                required: true,
-                message: "请输入商品ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品数量",
-              prop: "goodsNum",
-              rules: [{
-                required: true,
-                message: "请输入商品数量",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.groupongoods_add, false),
-          viewBtn: this.vaildData(this.permission.groupongoods_view, false),
-          delBtn: this.vaildData(this.permission.groupongoods_delete, false),
-          editBtn: this.vaildData(this.permission.groupongoods_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 218
src/views/groupon/grouponselftake.vue

@@ -1,218 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.grouponselftake_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/groupon/grouponselftake";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "团购id",
-              prop: "grouponId",
-              rules: [{
-                required: true,
-                message: "请输入团购id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "自提点id",
-              prop: "selfTakeId",
-              rules: [{
-                required: true,
-                message: "请输入自提点id",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.grouponselftake_add, false),
-          viewBtn: this.vaildData(this.permission.grouponselftake_view, false),
-          delBtn: this.vaildData(this.permission.grouponselftake_delete, false),
-          editBtn: this.vaildData(this.permission.grouponselftake_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 227
src/views/groupon/grouponuser.vue

@@ -1,227 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.grouponuser_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/groupon/grouponuser";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "团购id",
-              prop: "grouponId",
-              rules: [{
-                required: true,
-                message: "请输入团购id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户头像",
-              prop: "userAvatar",
-              rules: [{
-                required: true,
-                message: "请输入用户头像",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.grouponuser_add, false),
-          viewBtn: this.vaildData(this.permission.grouponuser_view, false),
-          delBtn: this.vaildData(this.permission.grouponuser_delete, false),
-          editBtn: this.vaildData(this.permission.grouponuser_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 334
src/views/groupon/selftake.vue

@@ -1,334 +0,0 @@
-<template>
-
-  <basic-container>
-
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-
-      <template slot="status" slot-scope="scope" >
-        <el-tag v-if="scope.row.status === 1" type="success">{{scope.row.$status}}</el-tag>
-        <el-tag v-if="scope.row.status === 0" type="danger">{{scope.row.$status}}</el-tag>
-      </template>
-
-      <template slot="menu" slot-scope="scope">
-        <el-button v-if="scope.row.status == 0"
-                   type="text"
-                   size="small"
-                   @click="modifyState(scope.row, 1)"
-        >启用</el-button>
-        <el-button v-if="scope.row.status == 1"
-                   type="text"
-                   size="small"
-                   @click="modifyState(scope.row, 0)"
-        >禁用
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/groupon/selftake";
-  import {mapGetters} from "vuex";
-  import {getUsualLogs} from "../../api/logs";
-
-  export default {
-    data() {
-      return {
-        lo: 0.0,
-        la: 0.0,
-        address: '',
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          delBtn: false,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "名称",
-              prop: "name",
-              search: true,
-              labelWidth: 120,
-              rules: [{
-                required: true,
-                message: "请输入自提点名字",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "地址",
-              prop: "addressTemp",
-              labelWidth: 120,
-              type: 'map',
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入自提点地址",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "地址",
-              prop: "address",
-              addDisplay: false,
-              editDisplay: false,
-              labelWidth: 120,
-            },
-            {
-              label: "营业开始时间",
-              prop: "busStartTime",
-              valueFormat: 'HH:mm:ss',
-              labelWidth: 120,
-              type: "time",
-              pickerOptions:{
-                start: '08:00',
-                step: '00:15',
-                end: '22:00'
-              },
-              rules: [{
-                required: true,
-                message: "请输入营业开始时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "营业结束时间",
-              prop: "busEndTime",
-              valueFormat: 'HH:mm:ss',
-              labelWidth: 120,
-              type: "time",
-              pickerOptions:{
-                start: '08:00',
-                step: '00:15',
-                end: '22:00'
-              },
-              rules: [{
-                required: true,
-                message: "请输入营业结束时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "状态",
-              prop: "status",
-              labelWidth: 120,
-              rules: [{
-                required: true,
-                message: "请输入状态",
-                trigger: "blur"
-              }],
-              search: true,
-              slot:true,
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=StatusEnum",
-              props: {
-                label: "name",
-                value: "value"
-              },
-              dataType: "number",
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.selftake_add, false),
-          viewBtn: this.vaildData(this.permission.selftake_view, false),
-          delBtn: this.vaildData(this.permission.selftake_delete, false),
-          editBtn: this.vaildData(this.permission.selftake_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        row.longitude = row.addressTemp[0];
-        row.latitude = row.addressTemp[1];
-        row.address = row.addressTemp[2];
-        console.log(row)
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        row.longitude = row.addressTemp[0];
-        row.latitude = row.addressTemp[1];
-        row.address = row.addressTemp[2];
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      modifyState(row, status) {
-        let title = status === 0 ? '确定禁用?' : '确定启用?';
-        this.$confirm(title, {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          const loading = this.$loading({
-            lock: true,
-            text: '修改中,请稍等...',
-            spinner: 'el-icon-loading',
-            background: 'rgba(0, 0, 0, 0.7)'
-          });
-          row.status = status;
-          update(row).then(() => {
-            loading.close();
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          }, error => {
-            loading.close();
-            console.log(error);
-          });
-        })
-      },
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 304
src/views/mall/brands.vue

@@ -1,304 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :upload-after="uploadAfter"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.brands_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-import {getList, getDetail, add, update, remove} from "@/api/mall/brandsinfo";
-import {mapGetters} from "vuex";
-
-export default {
-  data() {
-    return {
-      form: {
-        logo: "",
-        backgroundImage: ""
-      },
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      selectionList: [],
-      option: {
-        height:'auto',
-        calcHeight: 30,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: true,
-        viewBtn: true,
-        selection: true,
-        dialogClickModal: false,
-        labelWidth: 140,
-        column: [
-          {
-            label: "品牌ID",
-            prop: "id",
-            hide: true,
-            addDisplay: false,
-            editDisabled: true,
-            rules: [{
-              required: true,
-              message: "请输入品牌ID",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "品牌名称",
-            prop: "brandName",
-            search: true,
-            rules: [{
-              required: true,
-              message: "请输入品牌名称",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "状态",
-            prop: "state",
-            rules: [{
-              required: true,
-              message: "请选择状态",
-              trigger: "blur"
-            }],
-            type: "select",
-            dicUrl: "/api/blade-system/dict/dictionary?code=state",
-            props: {
-              label: "dictValue",
-              value: "dictKey"
-            },
-            dataType: "number",
-          },
-          {
-            label: "排序",
-            prop: "sort",
-            type: "number",
-            rules: [{
-              required: true,
-              message: "请输入",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "品牌介绍",
-            prop: "brandDesc",
-            type: "textarea",
-            span: 24,
-            hide: true,
-            rules: [{
-              required: true,
-              message: "请输入品牌介绍",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "品牌图标",
-            prop: "logo",
-            type: 'upload',
-            rules: [{
-              required: true,
-              message: "请上传Logo",
-              trigger: "blur"
-            }],
-            addDisplay: false,
-            editDisplay: false,
-            listType: 'picture-img',
-            span: 24,
-            drag: true,
-          },
-          {
-            label: 'Logo',
-            prop: 'attachUrlLogo',
-            type: 'upload',
-            drag: true,
-            listType: 'picture-img',
-            loadText: '上传中,请稍等',
-            span: 24,
-            hide: true,
-            viewDisplay: false,
-            propsHttp: {
-              res: 'data',
-              url: 'link',
-            },
-            action: "/api/blade-resource/oss/endpoint/put-file-attach"
-          },
-        ]
-      },
-      data: []
-    };
-  },
-  computed: {
-    ...mapGetters(["permission"]),
-    permissionList() {
-      return {
-        addBtn: this.vaildData(this.permission.brands_add, false),
-        viewBtn: this.vaildData(this.permission.brands_view, false),
-        delBtn: this.vaildData(this.permission.brands_delete, false),
-        editBtn: this.vaildData(this.permission.brands_edit, false)
-      };
-    },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    }
-  },
-  methods: {
-    rowSave(row, done, loading) {
-      add(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        window.console.log(error);
-      });
-    },
-    rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        console.log(error);
-      });
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crud.toggleSelection();
-        });
-    },
-    beforeOpen(done, type) {
-      if (["edit", "view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
-          this.form = res.data.data;
-        });
-      }
-      done();
-    },
-    uploadAfter(res, done, loading, column) {
-      if(column.prop == "attachUrlBg"){
-        this.form.backgroundImage = res.link;
-      }else{
-        this.form.logo = res.link;
-      }
-      done()
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    currentChange(currentPage){
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize){
-      this.page.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoad(this.page, this.query);
-    },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 307
src/views/mall/categoryinfo.vue

@@ -1,307 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @tree-load="treeLoad"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.categoryinfo_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, getByParentId} from "@/api/mall/categoryinfo";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          lazy: true,
-          rowKey: 'id',
-          column: [
-            {
-              label: "分类名称",
-              prop: "title",
-              rules: [{
-                required: true,
-                message: "请输入分类名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "层级",
-              prop: "level",
-              hide: true,
-              addDisplay: false,
-              viewDisplay: false,
-              editDisplay: false,
-              value: 0,
-              rules: [{
-                required: true,
-                message: "请输入层级",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "状态",
-              prop: "state",
-              rules: [{
-                required: true,
-                message: "请输入状态",
-                trigger: "blur"
-              }],
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "分类图标",
-            //   prop: "logoShow",
-            //   addDisplay: false,
-            //   viewDisplay: false,
-            //   editDisplay: false,
-            //   type: 'upload',
-            //   listType: 'picture-img',
-            // },
-            {
-              label: "分类父",
-              prop: "parentId",
-              type: "select",
-              hide: true,
-              // addDisplay: false,
-              viewDisplay: false,
-              editDisplay: false,
-              // value: 0,
-              props: {
-                label: 'title',
-                value: 'id'
-              },
-              dicUrl: '/api/mall/categoryinfo/getByParentId/0'
-            },
-            // {
-            //   label: '分类图标',
-            //   prop: 'logo',
-            //   type: 'upload',
-            //   listType: 'picture-img',
-            //   loadText: '上传中,请稍等',
-            //   accept: 'image/png, image/jpeg',
-            //   fileSize: 500,
-            //   tip: '只能上传jpg/png文件,且不超过500kb',
-            //   span: 24,
-            //   hide: true,
-            //   propsHttp: {
-            //     res: 'data',
-            //     url: 'link',
-            //   },
-            //   action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            // },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.categoryinfo_add, false),
-          viewBtn: this.vaildData(this.permission.categoryinfo_view, false),
-          delBtn: this.vaildData(this.permission.categoryinfo_delete, false),
-          editBtn: this.vaildData(this.permission.categoryinfo_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        this.query.parentId = 0;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.data.forEach(e => {
-            e.logoShow = e.logo;
-            e.hasChildren = true;
-          })
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      treeLoad (tree, treeNode, resolve) {
-        getByParentId(tree.id).then(res => {
-          const data = res.data.data;
-          data.forEach(e => {
-            e.hasChildren = false;
-            e.logoShow = e.logo;
-          })
-          resolve(data)
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 299
src/views/mall/goodsimg.vue

@@ -1,299 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.goodsimg_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/mall/goodsimg";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品id",
-              prop: "goodsId",
-              rules: [{
-                required: true,
-                message: "请输入商品id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "资源地址",
-              prop: "url",
-              rules: [{
-                required: true,
-                message: "请输入资源地址",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "类型;1-轮播图 2-详情",
-              prop: "type",
-              rules: [{
-                required: true,
-                message: "请输入类型;1-轮播图 2-详情",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "文件类型;1-图片 2-视频",
-              prop: "fileType",
-              rules: [{
-                required: true,
-                message: "请输入文件类型;1-图片 2-视频",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "is_delete;0为未删除,1为已删除",
-              prop: "isDelete",
-              rules: [{
-                required: true,
-                message: "请输入is_delete;0为未删除,1为已删除",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建人",
-              prop: "createUserId",
-              rules: [{
-                required: true,
-                message: "请输入创建人",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "更新人",
-              prop: "updateUserId",
-              rules: [{
-                required: true,
-                message: "请输入更新人",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "更新时间",
-              prop: "updateTime",
-              rules: [{
-                required: true,
-                message: "请输入更新时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.goodsimg_add, false),
-          viewBtn: this.vaildData(this.permission.goodsimg_view, false),
-          delBtn: this.vaildData(this.permission.goodsimg_delete, false),
-          editBtn: this.vaildData(this.permission.goodsimg_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 768
src/views/mall/goodsinfo.vue

@@ -1,768 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :upload-error="uploadError"
-               :upload-after="uploadAfter"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-click="handleRowClick"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-
-
-      <template slot="isSale" slot-scope="scope" >
-        <el-tag v-if="scope.row.$isSale === '上架'" type="success">{{scope.row.$isSale}}</el-tag>
-        <el-tag v-if="scope.row.$isSale === '下架'" type="danger">{{scope.row.$isSale}}</el-tag>
-      </template>
-
-      <template slot="auditStatus" slot-scope="scope" >
-        <el-tag v-if="scope.row.auditStatus === 0">{{scope.row.$auditStatus}}</el-tag>
-        <el-tag v-else-if="scope.row.auditStatus === 1" type="success">{{scope.row.$auditStatus}}</el-tag>
-        <el-tag v-else-if="scope.row.auditStatus === 2"type="danger">{{scope.row.$auditStatus}}</el-tag>
-      </template>
-
-      <template slot-scope="scope" slot="menu">
-        <el-button v-if="scope.row.isSale == 1"
-            type="text"
-            size="small"
-            @click="modifyGoodsState(scope.row.id, 0)"
-        >下架</el-button>
-        <el-button v-if="scope.row.isSale == 0"
-            type="text"
-            size="small"
-            @click="modifyGoodsState(scope.row.id, 1)"
-        >上架
-        </el-button>
-        <el-button v-if="scope.row.auditStatus == 0"
-                   type="text"
-                   size="small"
-                   @click="openAuditBox(scope.row.id)"
-        >审核</el-button>
-      </template>
-
-    </avue-crud>
-
-    <el-dialog title="商品审核" @close="refreshChange"
-               append-to-body
-               :visible.sync="auditBox"
-               :before-close="handleClose"
-               width="600px"
-               heigh="40%">
-      <el-form :model="auditForm" label-width="80px">
-        <el-form-item label="审核意见:">
-          <el-select v-model="auditForm.auditStatus" placeholder="请选择">
-            <el-option
-                v-for="item in auditList"
-                :key="item.value"
-                :label="item.name"
-                :value="item.value">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="驳回描述:" v-if="auditForm.auditStatus == 2">
-          <el-input type="textarea" v-model="auditForm.remark" :autosize="{ minRows: 3, maxRows: 5}"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="handleClose">取 消</el-button>
-        <el-button type="primary" @click="auditGoods()">确 定</el-button>
-      </div>
-    </el-dialog>
-  </basic-container>
-</template>
-
-
-<script>
-  import {getList, getDetail, add, update, remove, modifyState, audit} from "@/api/mall/goodsinfo";
-  import {mapGetters} from "vuex";
-  import {getByParentId} from "../../api/mall/categoryinfo";
-
-  export default {
-
-    data() {
-      var validatePass = (rule, value, callback) => {
-        if (value>=10 || value <=0) {
-          callback(new Error('非法的折扣'));
-        } else {
-          callback();
-        }
-      }
-      return {
-        option:  {
-          height: 'auto',
-          calcHeight: 30,
-          border: true,
-          index: false,
-          viewBtn: true,
-          delBtn:false,
-          editBtn: true,
-          // selection: true,
-          dialogClickModal: false,
-          labelWidth: 150,
-          searchIcon: true,
-          searchIndex: 3,
-          column: [
-            {
-              label: "商品编号",
-              search: true,
-              prop: "id",
-              overHidden: true,
-              addDisplay: false,
-              editDisplay: false,
-              editDisabled: true,
-              width: 160
-            },
-            {
-              label: "商品封面",
-              width: 80,
-              prop: "goodsCover",
-              addDisplay: false,
-              viewDisplay: false,
-              editDisplay: false,
-              type: 'img',
-            },
-            {
-              label: "商品名称",
-              prop: "goodsName",
-              search: true,
-              width: 280,
-              overHidden: true,
-              rules: [{
-                required: true,
-                message: "请输入商品名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "规格",
-              prop: "goodsSpec",
-              editDisplay: false,
-              rules: [{
-                required: true,
-                message: "请输入规格",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "供应商",
-              prop: "supplierId",
-              editDisplay: true,
-              viewDisplay: false,
-              remote: true,
-              hide: true,
-              type: "select",
-              dicUrl: "/api/mall/store/list?name={{key}}&state=1&auditState=1&size=30",
-              props: {
-                label: "name",
-                value: "id"
-              },
-              dicFormatter: function (res) {
-                return res.data.records;
-              },
-              rules: [{
-                required: true,
-                message: "请选择供应商",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "供应商",
-              prop: "supplierName",
-              search: true,
-              addDisplay: false,
-              editDisplay: false,
-            },
-            {
-              label: "品牌",
-              prop: "brandDesc",
-              hide: true,
-              addDisplay: false,
-              viewDisplay: false,
-              editDisplay: false,
-            },
-            {
-              label: "分类",
-              prop: "categoryIdArr",
-              hide: true,
-              search: true,
-              lazy: true,
-              rules: [{
-                required: true,
-                message: "请选择分类",
-                trigger: "blur"
-              }],
-              type: "cascader",
-              filterable: true,
-              checkStrictly: true,
-              lazyLoad(node, resolve) {
-                let parentId;
-                let stop_level = 2;
-                let level = node.level;
-                let list = [];
-
-                if (node.level === 0) {
-                  parentId = 0;
-                  getByParentId(0).then((res) => {
-                    list = res.data.data;
-                    list = (list || []).map(ele => {
-                      return Object.assign(ele, {
-                        leaf: level >= stop_level
-                      })
-                    })
-                    resolve(list)
-                  })
-                } else {
-                  parentId = node.data.id;
-                  getByParentId(node.data.id).then((res) => {
-                    list = res.data.data;
-                    list = (list || []).map(ele => {
-                      return Object.assign(ele, {
-                        leaf: level >= stop_level
-                      })
-                    })
-                    resolve(list)
-                  })
-                }
-              },
-              props: {
-                label: "title",
-                value: "key"
-              },
-            },
-            {
-              label: "品牌",
-              prop: "brandId",
-              hide: true,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请选择品牌",
-                trigger: "blur"
-              }],
-              type: "select",
-              remote: true,
-              dicUrl: "/api/mall/brandsinfo/getByName?brandName={{key}}",
-              props: {
-                label: "brandName",
-                value: "id"
-              },
-              dataType: "string",
-            },
-            {
-              label: "折扣",
-              prop: "discount",
-              hide: true,
-              precision: 2,
-              type: "number",
-              rules: [{
-                required: true,
-                message: "请输入折扣",
-                trigger: "blur"
-              },{ validator: validatePass, trigger: 'blur' }],
-            },
-            {
-              label: "价格",
-              prop: "salePrice",
-              precision: 2,
-              type: "number",
-              formatter:(val,value)=>{
-                return Number(value).toFixed(2);
-              },
-              rules: [{
-                required: true,
-                message: "请输入销售价",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "状态",
-              prop: "isSale",
-              search: true,
-              slot:true,
-              rules: [{
-                required: true,
-                message: "请输入是否上架",
-                trigger: "blur"
-              }],
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=GoodsStateEnum",
-              props: {
-                label: "name",
-                value: "value"
-              },
-              dataType: "number",
-            },
-            {
-              label: "审核状态",
-              prop: "auditStatus",
-              search: true,
-              slot:true,
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=AuditStatusEnum",
-              props: {
-                label: "name",
-                value: "value"
-              },
-              dataType: "number",
-            },
-            {
-              label: "上架时间",
-              prop: "saleTime",
-              hide: true,
-              addDisplay: false,
-              viewDisplay: false,
-              editDisplay: false,
-              editDisabled: true,
-            },
-            {
-              label: "总库存",
-              prop: "totalStock",
-              type: "number",
-              hide: true,
-              min: 1,
-              rules: [
-                {required: true, message: "请输入总库存", trigger: "blur"},
-              ]
-            },
-            {
-              label: "总销量",
-              prop: "totalSales",
-              hide: true,
-              addDisplay: false,
-              editDisplay: false,
-            },
-            {
-              label: "总浏览量",
-              prop: "totalViews",
-              hide: true,
-              addDisplay: false,
-              editDisplay: false,
-            },
-            {
-              label: "单位",
-              prop: "unit",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请选择单位",
-                trigger: "blur"
-              }],
-              type: "select",
-              remote: true,
-              dicUrl: "/api/mall/unit/all-list",
-              props: {
-                label: "name",
-                value: "id"
-              },
-              dataType: "string",
-            },
-            {
-              label: "产地",
-              prop: "origin",
-              hide: true,
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              hide: true,
-              addDisplay: false,
-              editDisplay: false,
-              editDisabled: false,
-            },
-            {
-              label: '商品封面',
-              prop: 'uploadCover',
-              type: 'upload',
-              listType: 'picture-img',
-              loadText: '上传中,请稍等',
-              accept: 'image/png, image/jpeg',
-              fileSize: 1024,
-              tip: '只能上传jpg/png文件,且不超过1M',
-              span: 24,
-              hide: true,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-            {
-              label: '商品轮播图',
-              prop: 'slideshowList',
-              type: 'upload',
-              dataType: 'array',
-              listType: 'picture-card',
-              loadText: '上传中,请稍等',
-              accept: 'image/png, image/jpeg',
-              fileSize: 1024,
-              tip: '只能上传jpg/png文件,且不超过1M',
-              span: 24,
-              hide: true,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-            {
-              label: '图文详情',
-              prop: 'detailImgUrlList',
-              type: 'upload',
-              dataType: 'array',
-              listType: 'picture-card',
-              loadText: '上传中,请稍等',
-              accept: 'image/png, image/jpeg',
-              fileSize: 2048,
-              tip: '只能上传jpg/png文件,且不超过2M',
-              limit: 25,
-              span: 24,
-              hide: true,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-          ]
-        },
-        range: {
-          from: '',
-          to: ''
-        },
-        categoryData: [],
-        props: {
-          label: "title",
-          value: "key"
-        },
-        categoryIdArr: [],
-        auditBox: false,
-        auditForm: {
-          auditStatus: '',
-          id: '',
-          remark: ''
-        },
-        form: {
-
-        },
-        goodsParamForm: {},
-        goodsSpecForm: {},
-        scForm: {},
-        query: {},
-        goodsParamQuery: {},
-        viewSpecQuery: {},
-        loading: true,
-        paramLoading: true,
-        box: false,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        data: [],
-        goodsParamData: [],
-        viewSpecData: [],
-        scData: [],
-
-        viewDialog: false,
-        auditList: [
-          {name: '通过', value: 1},{name: '驳回', value: 2}
-        ]
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.goodsinfo_add, false),
-          viewBtn: this.vaildData(this.permission.goodsinfo_view, false),
-          delBtn: this.vaildData(this.permission.goodsinfo_delete, false),
-          editBtn: this.vaildData(this.permission.goodsinfo_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-      specIds() {
-        let ids = [];
-        this.specSelectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      viewDialogShow(row) {
-        this.viewDialog = true;
-        this.demoModelSrc = `${this.demoModelSrcYuan}?aa=${JSON.stringify(row)}`
-
-      },
-      rowSave(row, done, loading) {
-        row.goodsCategoryId = row.categoryIdArr.join("-");
-        if (row.promotionRateRange == '') {
-          delete row.promotionRateRange;
-        }
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        row.goodsCategoryId = row.categoryIdArr.join("-") + "-";
-        if (row.promotionRateRange == '') {
-          delete row.promotionRateRange;
-        }
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-            this.form.uploadCover = res.data.data.goodsCover;
-            this.form.goodsVideo = res.data.data.videoUrl;
-            this.form.slideshowList = res.data.data.slideshowList;
-            this.form.detailImgUrlList = res.data.data.detailImgUrlList;
-            this.form.categoryIdArr = this.form.goodsCategoryId.split("-");
-          });
-          console.log(this.form.goodsCategoryId.split("-"));
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.range = {
-          from: '',
-            to: ''
-        };
-        this.activityDate = '';
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        if (this.query.categoryIdArr) {
-          this.query.goodsCategoryId = this.query.categoryIdArr.join("-");
-          this.query.categoryIdArr = null;
-        }
-        this.query.activityDate = this.activityDate;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      uploadError(error, column) {
-        this.$message.success('上传失败:' + error)
-        console.log(error, column)
-      },
-      uploadAfter(res, done, loading,column) {
-        console.log(res,column)
-        if(column.prop == "uploadCover") {
-          this.form.goodsCover = res.link;
-        }
-        if (column.prop == "goodsVideo") {
-          this.form.videoUrl = res.link;
-        }
-        done()
-      },
-      paramConfig(row) {
-        this.box = true;
-        this.goodsParamQuery.goodsId = row.id;
-        this.onLoadParam();
-      },
-
-      handleRowClick(row, event, column, loading) {
-        if (event.label == '是否上架') {
-          const param = {id:row.id, isSale:row.saleSwitch ? 1 : 0}
-          update(param).then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: row.saleSwitch ? "上架成功" : "下架成功"
-            });
-          }, error => {
-            loading();
-            console.log(error);
-          });
-        }
-      },
-
-      handleClose() {
-        this.categoryIdArr = [];
-        this.auditBox = false;
-        this.auditForm = {
-          auditStatus: '',
-              id: '',
-              remark: ''
-        };
-      },
-      modifyGoodsStateBatch(state) {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定修改数据?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            const loading = this.$loading({
-              lock: true,
-              text: '修改中,请稍等...',
-              spinner: 'el-icon-loading',
-              background: 'rgba(0, 0, 0, 0.7)'
-            });
-            modifyState(this.ids, state).then(() => {
-              loading.close();
-              this.onLoad(this.page, this.query);
-              this.$message({
-                type: "success",
-                message: "操作成功!"
-              });
-              this.selectionClear()
-            });
-          })
-      },
-      modifyGoodsState(id, state) {
-        let title = state === 0 ? '确定下架?' : '确定上架?';
-        this.$confirm(title, {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          const loading = this.$loading({
-            lock: true,
-            text: '修改中,请稍等...',
-            spinner: 'el-icon-loading',
-            background: 'rgba(0, 0, 0, 0.7)'
-          });
-          modifyState(id, state).then(() => {
-            loading.close();
-            this.onLoad(this.page, this.query);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.selectionClear()
-          });
-        })
-      },
-      openAuditBox(id) {
-        this.auditBox = true;
-        this.auditForm.id = id;
-      },
-      auditGoods() {
-        audit(this.auditForm).then(() => {
-          this.auditBox = false;
-          this.onLoad(this.page, this.query);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 290
src/views/mall/goodsparams.vue

@@ -1,290 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.goodsparams_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/mall/goodsparams";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "参数名",
-              prop: "paramName",
-              rules: [{
-                required: true,
-                message: "请输入参数名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "参数值",
-              prop: "paramValue",
-              rules: [{
-                required: true,
-                message: "请输入参数值",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品id",
-              prop: "goodsId",
-              rules: [{
-                required: true,
-                message: "请输入商品id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "is_delete;0为未删除,1为已删除",
-              prop: "isDelete",
-              rules: [{
-                required: true,
-                message: "请输入is_delete;0为未删除,1为已删除",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建人",
-              prop: "createUserId",
-              rules: [{
-                required: true,
-                message: "请输入创建人",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "更新人",
-              prop: "updateUserId",
-              rules: [{
-                required: true,
-                message: "请输入更新人",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "更新时间",
-              prop: "updateTime",
-              rules: [{
-                required: true,
-                message: "请输入更新时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.goodsparams_add, false),
-          viewBtn: this.vaildData(this.permission.goodsparams_view, false),
-          delBtn: this.vaildData(this.permission.goodsparams_delete, false),
-          editBtn: this.vaildData(this.permission.goodsparams_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 273
src/views/mall/store.vue

@@ -1,273 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.store_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/mall/store";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          searchIcon: true,
-          searchIndex: 3,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "会员名称",
-              prop: "userName",
-              search: true,
-              labelWidth: 130,
-              rules: [{
-                required: true,
-                message: "请输入会员名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "供应商名",
-              labelWidth: 130,
-              search: true,
-              prop: "name",
-              rules: [{
-                required: true,
-                message: "请输入供应商名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "联系电话",
-              labelWidth: 130,
-              prop: "tel",
-              rules: [{
-                required: true,
-                message: "请输入联系电话",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "营业状态",
-              labelWidth: 130,
-              prop: "state",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=store_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: false,
-              display: true,
-              rules: [{
-                required: true,
-                message: "选择状态",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "审核状态",
-              prop: "auditState",
-              labelWidth: 130,
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=audit_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: false,
-              display: true,
-              rules: [{
-                required: true,
-                message: "选择状态",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.store_add, false),
-          viewBtn: this.vaildData(this.permission.store_view, false),
-          delBtn: this.vaildData(this.permission.store_delete, false),
-          editBtn: this.vaildData(this.permission.store_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 211
src/views/mall/unit.vue

@@ -1,211 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/mall/unit";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "计量名称",
-              prop: "name",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入计量名称",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "状态",
-            //   prop: "status",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入状态",
-            //     trigger: "blur"
-            //   }]
-            // },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.unit_add, false),
-          viewBtn: this.vaildData(this.permission.unit_view, false),
-          delBtn: this.vaildData(this.permission.unit_delete, false),
-          editBtn: this.vaildData(this.permission.unit_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 161
src/views/monitor/log/api.vue

@@ -1,161 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :page.sync="page"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getApiList, getApiLogs} from "@/api/logs";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          editBtn: false,
-          addBtn: false,
-          delBtn: false,
-          menuWidth: 120,
-          dialogType: 'drawer',
-          column: [
-            {
-              label: "服务id",
-              prop: "serviceId",
-              width:'120',
-              search: true
-            },
-            {
-              label: "服务host",
-              prop: "serverHost",
-              search: true
-            },
-            {
-              label: "服务ip",
-              prop: "serverIp",
-              width:'160'
-            },
-            {
-              label: "软件环境",
-              prop: "env",
-              width:'80',
-            },
-            {
-              label: "日志名",
-              prop: "title"
-            },
-            {
-              label: "请求方法",
-              prop: "method",
-              width:'80'
-            },
-            {
-              label: "请求接口",
-              prop: "requestUri"
-            },
-            {
-              label: "日志时间",
-              prop: "createTime",
-              width:'180'
-            },
-            {
-              label: "用户代理",
-              prop: "userAgent",
-              span: 24,
-              hide: true
-            },
-            {
-              label: "请求数据",
-              prop: "params",
-              type: "textarea",
-              span: 24,
-              minRows: 2,
-              hide: true
-            }
-          ]
-        },
-        data: []
-      };
-    },
-
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          viewBtn: this.vaildData(this.permission.log_api_view, false)
-        };
-      }
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getApiLogs(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getApiList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 142
src/views/monitor/log/apperror.vue

@@ -1,142 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          size="small"
-          @click="viewErrorMsg(scope.row)"
-        >查看错误信息
-        </el-button>
-      </template>
-    </avue-crud>
-
-    <el-dialog title="错误信息" @close="refreshChange"
-               append-to-body
-               :visible.sync="messageBox"
-               :before-close="messageBox == false"
-               width="60%"
-               heigh="40%">
-      <el-input  v-model="errorMsg" autocomplete="off" :rows="30" type="textarea"></el-input>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {mapGetters} from "vuex";
-  import {getAppErrorLogList, viewAppErrorLog} from "../../../api/logs";
-
-  export default {
-    data() {
-      return {
-        messageBox: false,
-        errorMsg: "",
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          editBtn: false,
-          addBtn: false,
-          delBtn: false,
-          menuWidth: 120,
-          dialogType: 'drawer',
-          column: [
-            {
-              label: "日志名称",
-              prop: "fileName"
-            },
-            {
-              label: "路径",
-              prop: "path",
-              hide: true
-            },
-            {
-              label: "日志时间",
-              prop: "createTime",
-              width:'180',
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          viewBtn: this.vaildData(this.permission.log_usual_view, false)
-        };
-      }
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          viewAppErrorLog(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getAppErrorLogList().then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-        });
-      },
-      viewErrorMsg(row) {
-        viewAppErrorLog(row.fileName).then(res => {
-          this.errorMsg = res.data.data;
-        });
-        this.messageBox = true;
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 165
src/views/monitor/log/error.vue

@@ -1,165 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               :before-open="beforeOpen"
-               v-model="form"
-               :permission="permissionList"
-               :page.sync="page"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getErrorList, getErrorLogs} from "@/api/logs";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          editBtn: false,
-          addBtn: false,
-          delBtn: false,
-          menuWidth: 120,
-          dialogType: 'drawer',
-          column: [
-            {
-              label: "服务id",
-              prop: "serviceId",
-              search: true,
-              width:'120'
-            },
-            {
-              label: "服务host",
-              prop: "serverHost",
-              search: true,
-              width:'150'
-            },
-            {
-              label: "服务ip",
-              prop: "serverIp",
-              width:'160'
-            },
-            {
-              label: "软件环境",
-              prop: "env",
-              width:'80'
-            },
-            {
-              label: "请求方法",
-              prop: "method",
-              width:'80'
-            },
-            {
-              label: "请求接口",
-              prop: "requestUri"
-            },
-            {
-              label: "日志时间",
-              prop: "createTime",
-              width:'180'
-            },
-            {
-              label: "用户代理",
-              prop: "userAgent",
-              span: 24,
-              hide: true
-            },
-            {
-              label: "请求数据",
-              prop: "params",
-              type: "textarea",
-              span: 24,
-              minRows: 2,
-              hide: true
-            },
-            {
-              label: "日志数据",
-              prop: "stackTrace",
-              type: "textarea",
-              span: 24,
-              minRows: 16,
-              hide: true
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          viewBtn: this.vaildData(this.permission.log_error_view, false)
-        };
-      }
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getErrorLogs(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getErrorList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 186
src/views/monitor/log/usual.vue

@@ -1,186 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :page.sync="page"
-               :before-open="beforeOpen"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getUsualList, getUsualLogs} from "@/api/logs";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          editBtn: false,
-          addBtn: false,
-          delBtn: false,
-          menuWidth: 120,
-          dialogType: 'drawer',
-          column: [
-            {
-              label: "服务id",
-              prop: "serviceId",
-              search: true
-            },
-            {
-              label: "服务host",
-              prop: "serverHost",
-              search: true
-            },
-            {
-              label: "服务ip",
-              prop: "serverIp"
-            },
-            {
-              label: "软件环境",
-              prop: "env",
-              width:'80'
-            },
-            {
-              label: "日志级别",
-              prop: "logLevel"
-            },
-            {
-              label: "日志id",
-              prop: "logId",
-              search: true
-            },
-            {
-              label: "请求接口",
-              prop: "requestUri",
-            },
-            {
-              label: "日志时间",
-              prop: "createTime",
-              width:'180',
-            },
-            {
-              label: "开始时间",
-              prop: "startTime",
-              search: true,
-              type: 'datetime',
-              width: 120,
-              format:'yyyy-MM-dd HH:mm:ss',
-              valueFormat:'yyyy-MM-dd HH:mm:ss',
-              hide: true,
-            },
-            {
-              label: "结束时间",
-              prop: "endTime",
-              search: true,
-              width: 120,
-              type: 'datetime',
-              format:'yyyy-MM-dd HH:mm:ss',
-              valueFormat:'yyyy-MM-dd HH:mm:ss',
-              hide: true,
-            },
-            {
-              label: "用户代理",
-              prop: "userAgent",
-              span: 24,
-              hide: true
-            },
-            {
-              label: "日志数据",
-              prop: "logData",
-              type: "textarea",
-              span: 24,
-              minRows: 2,
-              hide: true
-            },
-            {
-              label: "请求数据",
-              prop: "params",
-              type: "textarea",
-              span: 24,
-              minRows: 2,
-              hide: true
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          viewBtn: this.vaildData(this.permission.log_usual_view, false)
-        };
-      }
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getUsualLogs(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getUsualList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 214
src/views/monitor/serve.vue

@@ -1,214 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-row>
-      <el-col :span="12" class="card-box cart_out">
-        <el-card>
-          <div slot="header"><span>CPU</span></div>
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <table cellspacing="0" style="width: 100%;">
-              <thead>
-                <tr>
-                  <th class="el-table__cell is-leaf"><div class="cell">属性</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">值</div></th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">核心数</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.cpuNum }}</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">用户使用率</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.used }}%</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">系统使用率</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.sys }}%</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">当前空闲率</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.free }}%</div></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </el-card>
-      </el-col>
-      <el-col :span="12" class="card-box cart_out">
-        <el-card>
-          <div slot="header"><span>内存</span></div>
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <table cellspacing="0" style="width: 100%;">
-              <thead>
-                <tr>
-                  <th class="el-table__cell is-leaf"><div class="cell">属性</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">内存</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">JVM</div></th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">总内存</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.total }}G</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.total }}M</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">已用内存</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.used}}G</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.used}}M</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">剩余内存</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.free }}G</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.free }}M</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">使用率</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem" :class="{'text-danger': server.mem.usage > 80}">{{ server.mem.usage }}%</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm" :class="{'text-danger': server.jvm.usage > 80}">{{ server.jvm.usage }}%</div></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </el-card>
-      </el-col>
-
-      <el-col :span="24" class="card-box cart_out">
-        <el-card>
-          <div slot="header">
-            <span>服务器信息</span>
-          </div>
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <table cellspacing="0" style="width: 100%;">
-              <tbody>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">服务器名称</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.computerName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">操作系统</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.osName }}</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">服务器IP</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.computerIp }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">系统架构</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.osArch }}</div></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </el-card>
-      </el-col>
-
-      <el-col :span="24" class="card-box cart_out">
-        <el-card>
-          <div slot="header">
-            <span>Java虚拟机信息</span>
-          </div>
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <table cellspacing="0" style="width: 100%;table-layout:fixed;">
-              <tbody>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">Java名称</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.name }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">Java版本</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.version }}</div></td>
-                </tr>
-                <tr>
-                  <td class="el-table__cell is-leaf"><div class="cell">启动时间</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.startTime }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">运行时长</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.runTime }}</div></td>
-                </tr>
-                <tr>
-                  <td colspan="1" class="el-table__cell is-leaf"><div class="cell">安装路径</div></td>
-                  <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.home }}</div></td>
-                </tr>
-                <tr>
-                  <td colspan="1" class="el-table__cell is-leaf"><div class="cell">项目路径</div></td>
-                  <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.userDir }}</div></td>
-                </tr>
-                <tr>
-                  <td colspan="1" class="el-table__cell is-leaf"><div class="cell">运行参数</div></td>
-                  <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.inputArgs }}</div></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </el-card>
-      </el-col>
-
-      <el-col :span="24" class="card-box cart_out">
-        <el-card>
-          <div slot="header">
-            <span>磁盘状态</span>
-          </div>
-          <div class="el-table el-table--enable-row-hover el-table--medium">
-            <table cellspacing="0" style="width: 100%;">
-              <thead>
-                <tr>
-                  <th class="el-table__cell el-table__cell is-leaf"><div class="cell">盘符路径</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">文件系统</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">盘符类型</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">总大小</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">可用大小</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">已用大小</div></th>
-                  <th class="el-table__cell is-leaf"><div class="cell">已用百分比</div></th>
-                </tr>
-              </thead>
-              <tbody v-if="server.sysFiles">
-                <tr v-for="(sysFile, index) in server.sysFiles" :key="index">
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.dirName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.sysTypeName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.typeName }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.total }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.free }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.used }}</div></td>
-                  <td class="el-table__cell is-leaf"><div class="cell" :class="{'text-danger': sysFile.usage > 80}">{{ sysFile.usage }}%</div></td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </el-card>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { getServer } from "@/api/server";
-
-export default {
-  name: "Server",
-  data() {
-    return {
-      // 服务器信息
-      server: []
-    };
-  },
-  created() {
-    this.getList();
-    this.openLoading();
-  },
-  methods: {
-    /** 查询服务器信息 */
-    getList() {
-      getServer().then(response => {
-        this.server = response.data.data;
-        console.log(this.server)
-      });
-    },
-    // 打开加载层
-    openLoading() {
-
-    }
-  }
-};
-</script>
-
-<style>
-.cart_out {
-  padding: 12px;
-}
-</style>
-
-

+ 0 - 380
src/views/platform/ads.vue

@@ -1,380 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :upload-after="uploadAfter"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.ads_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/ads";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              hide: true,
-              addDisplay: false,
-              editDisabled: true,
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "主标题",
-              prop: "title",
-              rules: [{
-                required: true,
-                message: "请输入主标题",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "副标题",
-              prop: "name",
-              rules: [{
-                required: true,
-                message: "请输入副标题",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "类型",
-              prop: "typeDisplayName",
-              display: false,
-              width: 100,
-            },
-            {
-              label: "类型",
-              prop: "type",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=ads_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请选择类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "开始时间",
-              prop: "startTime",
-              hide: true,
-              type: "datetime",
-              format: "yyyy-MM-dd HH:mm:ss",
-              valueFormat: "yyyy-MM-dd HH:mm:ss",
-              rules: [{
-                required: true,
-                message: "请输入开始时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "结束时间",
-              prop: "endTime",
-              hide: true,
-              type: "datetime",
-              format: "yyyy-MM-dd HH:mm:ss",
-              valueFormat: "yyyy-MM-dd HH:mm:ss",
-              rules: [{
-                required: true,
-                message: "请输入结束时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否启用",
-              prop: "isEnabledDisplayName",
-              display: false,
-              width: 100,
-            },
-            {
-              label: "是否启用",
-              prop: "isEnabled",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              addDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择是否启用",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              width: 100,
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "目标链接",
-              prop: "targetUrl",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入目标链接",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "图片路径",
-              prop: "imageUrl",
-              type: 'upload',
-              addDisplay: false,
-              editDisplay: false,
-              listType: 'picture-img',
-              span: 24,
-              drag: true,
-            },
-            {
-              label: '图片上传',
-              prop: 'attachUrl',
-              type: 'upload',
-              drag: true,
-              listType: 'picture-img',
-              loadText: '模板上传中,请稍等',
-              span: 24,
-              hide: true,
-              viewDisplay: false,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              hide: true,
-              addDisplay: false,
-              editDisplay: false,
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "修改时间",
-              prop: "updateTime",
-              hide: true,
-              addDisplay: false,
-              editDisplay: false,
-              rules: [{
-                required: true,
-                message: "请输入修改时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.ads_add, false),
-          viewBtn: this.vaildData(this.permission.ads_view, false),
-          delBtn: this.vaildData(this.permission.ads_delete, false),
-          editBtn: this.vaildData(this.permission.ads_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      uploadAfter(res, done, loading, column) {
-        this.form.imageUrl = res.link;
-        done()
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 254
src/views/platform/banks.vue

@@ -1,254 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.banks_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/banks";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "银行名称",
-              prop: "bankName",
-              rules: [{
-                required: true,
-                message: "请输入银行名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "银行图标",
-              prop: "bankImg",
-              rules: [{
-                required: true,
-                message: "请输入银行图标",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "银行代码",
-              prop: "bankCode",
-              rules: [{
-                required: true,
-                message: "请输入银行代码",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否启用",
-              prop: "isShow",
-              rules: [{
-                required: true,
-                message: "请输入是否启用",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "删除标识   0正常  1逻辑删除",
-              prop: "isDeleted",
-              rules: [{
-                required: true,
-                message: "请输入删除标识   0正常  1逻辑删除",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.banks_add, false),
-          viewBtn: this.vaildData(this.permission.banks_view, false),
-          delBtn: this.vaildData(this.permission.banks_delete, false),
-          editBtn: this.vaildData(this.permission.banks_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 263
src/views/platform/creditrule.vue

@@ -1,263 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.creditrule_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/creditrule";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "行为名称",
-              prop: "name",
-              rules: [{
-                required: true,
-                message: "请输入行为名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "信誉分",
-              prop: "creditScore",
-              rules: [{
-                required: true,
-                message: "请输入信誉分",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              rules: [{
-                required: true,
-                message: "请输入备注",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "状态",
-              prop: "state",
-              rules: [{
-                required: true,
-                message: "请输入状态",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "修改时间",
-              prop: "updateTime",
-              rules: [{
-                required: true,
-                message: "请输入修改时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "修改人",
-              prop: "updateUser",
-              rules: [{
-                required: true,
-                message: "请输入修改人",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.creditrule_add, false),
-          viewBtn: this.vaildData(this.permission.creditrule_view, false),
-          delBtn: this.vaildData(this.permission.creditrule_delete, false),
-          editBtn: this.vaildData(this.permission.creditrule_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 263
src/views/platform/datachart.vue

@@ -1,263 +0,0 @@
-<template>
-  <div>
-    <basic-container>
-      <avue-data-display :option="option"></avue-data-display>
-      <el-dialog title="抢购人员" append-to-body :visible.sync="userBox" width="48%">
-      <avue-crud :data="snapUpPeopleData"
-                 :option="userOption"></avue-crud>
-      </el-dialog>
-    </basic-container>
-    <basic-container>
-      <avue-data-display :option="option2"></avue-data-display>
-    </basic-container>
-    <basic-container>
-      <el-row :gutter="0">
-        <el-col :span="8"><div class="k-chart" id="main"></div></el-col>
-        <el-col :span="8"><div class="k-chart" id="main2"></div></el-col>
-        <el-col :span="8"><div class="k-chart" id="main3"></div></el-col>
-      </el-row>
-    </basic-container>
-
-  </div>
-</template>
-
-<script>
-  import {getStatisticsData, snapUpPeopleYesterday, snapUpPeopleToday} from "@/api/platform/datachart";
-  import { mapGetters } from "vuex";
-  import {bar, line} from '../../option/echarts/options.js'
-  export default {
-    created() {
-      this.option.data[0].click = function () {
-          this.openBox(1);
-      }.bind(this);
-      this.option2.data[0].click = function () {
-        this.openBox(2);
-      }.bind(this);
-    },
-    data() {
-      return {
-        userBox: false,
-        snapUpPeopleData: [],
-        userOption: {
-          menu: false,
-          addBtn: false,
-          header: false,
-          index: true,
-          column: [
-            {
-              label: '姓名',
-              prop: 'realName',
-              width: 200,
-            }, {
-              label: '昵称',
-              width: 200,
-              prop: 'name'
-            }, {
-              label: '手机',
-              width: 200,
-              prop: 'phone'
-            }
-          ]
-        },
-        option: {
-          span: 6,
-          data: [
-            {
-              title: '今日抢购人数',
-              count: 0,
-              icon: 'el-icon-warning',
-              color: 'rgb(49, 180, 141)',
-              click: null,
-            },
-            {
-              title: '今日订单数',
-              count: 0,
-              icon: 'el-icon-view',
-              color: 'rgb(56, 161, 242)',
-            },
-            {
-              title: '今日收款金额',
-              count: 0,
-              icon: 'el-icon-setting',
-              color: 'rgb(117, 56, 199)',
-              decimals:2,
-            },
-            {
-              title: '今日打款金额',
-              count: 0,
-              icon: 'el-icon-setting',
-              color: 'rgb(117, 56, 199)',
-              decimals:2,
-            },
-          ]
-        },
-        option2: {
-          span: 6,
-          data: [
-            {
-              title: '昨日抢购人数',
-              count: 0,
-              icon: 'el-icon-warning',
-              color: 'rgb(49, 180, 141)',
-              click: null,
-            },
-            {
-              title: '昨日订单数',
-              count: 0,
-              icon: 'el-icon-view',
-              color: 'rgb(56, 161, 242)',
-
-            },
-            {
-              title: '昨日收款金额',
-              count: 0,
-              icon: 'el-icon-setting',
-              color: 'rgb(117, 56, 199)',
-              decimals:2,
-            },
-            {
-              title: '昨日打款金额',
-              count: 0.00,
-              icon: 'el-icon-setting',
-              color: 'rgb(117, 56, 199)',
-              decimals:2,
-            },
-          ]
-        },
-        charts: [
-          {id: 'main',name: '进货图表', chart: null, type: 'bar', desc: "单数"},
-          {id: 'main2',name: '打款图表', chart: null, type: 'bar', desc: "金额"},
-          {id: 'main3',name: '人数图表', chart: null, type: 'line', desc: "人数"},
-        ]
-      }
-    },
-    computed: {
-      ...mapGetters(["colorName"])
-    },
-    watch: {
-      colorName(val){
-        this.drawChart(val);
-      }
-    },
-    methods: {
-      drawChart(color) {
-        for (let i = 0; i < this.charts.length; i++) {
-          let option = this.charts[i].type == 'line' ? {...line} : {...bar};
-          option.color = color;
-          if(this.charts[i].chart) {
-            this.charts[i].chart.clear();
-            this.charts[i].chart.setOption(option,true);//true重绘
-          }else {
-            let myechart = echarts.init(document.getElementById(this.charts[i].id));
-            myechart.setOption(option);
-            this.charts[i].chart = myechart;
-          }
-        }
-      },
-      drawChart2(res, charts) {
-        const date = [];
-        const data = [];
-        res.forEach(e => {
-          date.push(e.date);
-          data.push(e.total)
-        })
-        let obj = {
-          tooltip: {
-            trigger: 'axis',
-            axisPointer: {
-              type: 'shadow'
-            }
-          },
-          grid: {
-            left: '3%',
-            right: '4%',
-            bottom: '3%',
-            containLabel: true
-          },
-          xAxis: [{
-            type: 'category',
-            data: date,
-            axisTick: {
-              alignWithLabel: true
-            }
-          }],
-          yAxis: [{
-            type: 'value'
-          }],
-          series: [{
-            name: charts.desc,
-            type: charts.type,
-            barWidth: '60%',
-            data: data,
-            label: {
-              show: true,
-              position: 'top',
-              textStyle: {
-                color: 'black',
-                fontSize: 16
-              }
-            }
-          }]
-        };
-
-        let option = Object.assign({}, {color: this.$store.state.common.colorName, title: {show: true,text: charts.name}}, obj)
-        if(charts.chart) {
-          charts.chart.clear();
-          charts.chart.setOption(option,true);//true重绘
-        } else {
-          let myechart = echarts.init(document.getElementById(charts.id))
-          myechart.setOption(option);
-          charts.chart = myechart
-        }
-      },
-      initData() {
-        getStatisticsData().then(res => {
-          const today = res.data.data.today;
-          this.option.data[0].count = today.snapUpPeopleCount;
-          this.option.data[1].count = today.orderCount;
-          this.option.data[2].count = today.amountCollected;
-          this.option.data[3].count = today.amountRemit;
-
-          const yesterday = res.data.data.yesterday;
-          this.option2.data[0].count = yesterday.snapUpPeopleCount;
-          this.option2.data[1].count = yesterday.orderCount;
-          this.option2.data[2].count = yesterday.amountCollected;
-          this.option2.data[3].count = yesterday.amountRemit;
-
-          const stockData = res.data.data.stockData;
-          this.drawChart2(stockData, this.charts[0]);
-          const remitData = res.data.data.remitData;
-          this.drawChart2(remitData, this.charts[1]);
-          const peopleData = res.data.data.peopleData;
-          this.drawChart2(peopleData, this.charts[2]);
-        })
-      },
-      openBox(type) {
-        if (type === 1) {
-          snapUpPeopleToday().then(res => {
-            this.snapUpPeopleData = res.data.data;
-            this.userBox = true;
-          })
-        }
-        if (type === 2) {
-          snapUpPeopleYesterday().then(res => {
-            this.snapUpPeopleData = res.data.data;
-            this.userBox = true;
-          })
-        }
-      }
-    },
-    mounted() {
-      // this.drawChart(this.colorName)
-      // this.drawChart(this.$store.state.common.colorName)
-      this.initData();
-    }
-  }
-</script>
-
-<style>
-  .k-chart {
-    width: 400px;
-    height: 300px;
-  }
-</style>

+ 0 - 247
src/views/platform/express.vue

@@ -1,247 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.express_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/express";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              hide: true,
-              display:false,
-            },
-            {
-              label: "快递名称",
-              prop: "expressName",
-              rules: [{
-                required: true,
-                message: "请输入快递名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "快递代码",
-              prop: "expressCode",
-              rules: [{
-                required: true,
-                message: "请输入快递代码",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否显示",
-              prop: "isShowDisplayName",
-              display: false,
-            },
-            {
-              label: "是否显示",
-              prop: "isShow",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              hide: true,
-              addDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择是否显示",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.express_add, false),
-          viewBtn: this.vaildData(this.permission.express_view, false),
-          delBtn: this.vaildData(this.permission.express_delete, false),
-          editBtn: this.vaildData(this.permission.express_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 234
src/views/platform/freight.vue

@@ -1,234 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.freight_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/freight";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              hide:true,
-              display: false,
-            },
-            {
-              label: "区域编号",
-              prop: "code",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入区域编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "地区",
-              prop: "name",
-              rules: [{
-                required: true,
-                message: "请输入地区",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "运费",
-              prop: "freight",
-              rules: [{
-                required: true,
-                message: "请输入运费",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.freight_add, false),
-          viewBtn: this.vaildData(this.permission.freight_view, false),
-          delBtn: this.vaildData(this.permission.freight_delete, false),
-          editBtn: this.vaildData(this.permission.freight_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 194
src/views/platform/integralinfo.vue

@@ -1,194 +0,0 @@
-<template>
-    <basic-container>
-  <el-tabs v-model="activeName" @tab-click="handleClick">
-    <el-tab-pane label="绿色积分" name="1">
-        <avue-crud :option="option"
-                   :table-loading="loading"
-                   :data="data"
-                   :page.sync="page"
-                   v-model="form"
-                   ref="crud1"
-                   @search-change="searchChange"
-                   @search-reset="searchReset"
-                   @selection-change="selectionChange"
-                   @current-change="currentChange"
-                   @size-change="sizeChange"
-                   @refresh-change="refreshChange"
-                   @on-load="onLoad">
-        </avue-crud>
-    </el-tab-pane>
-    <el-tab-pane label="红色积分" name="2">
-      <avue-crud :option="option"
-                 :table-loading="loading"
-                 :data="data"
-                 :page.sync="page"
-                 v-model="form"
-                 ref="crud"
-                 @search-change="searchChange"
-                 @search-reset="searchReset"
-                 @selection-change="selectionChange"
-                 @current-change="currentChange"
-                 @size-change="sizeChange"
-                 @refresh-change="refreshChange"
-                 @on-load="onLoad">
-      </avue-crud>
-    </el-tab-pane>
-    <el-tab-pane label="抢红包" name="3">
-      <avue-crud :option="option"
-                 :table-loading="loading"
-                 :data="data"
-                 :page.sync="page"
-                 v-model="form"
-                 ref="crud3"
-                 @search-change="searchChange"
-                 @search-reset="searchReset"
-                 @selection-change="selectionChange"
-                 @current-change="currentChange"
-                 @size-change="sizeChange"
-                 @refresh-change="refreshChange"
-                 @on-load="onLoad">
-      </avue-crud>
-    </el-tab-pane>
-    <el-tab-pane label="分红型红包" name="4">
-      <avue-crud :option="option"
-                 :table-loading="loading"
-                 :data="data"
-                 :page.sync="page"
-                 v-model="form"
-                 ref="crud3"
-                 @search-change="searchChange"
-                 @search-reset="searchReset"
-                 @selection-change="selectionChange"
-                 @current-change="currentChange"
-                 @size-change="sizeChange"
-                 @refresh-change="refreshChange"
-                 @on-load="onLoad">
-      </avue-crud>
-    </el-tab-pane>
-  </el-tabs>
-  </basic-container>
-</template>
-
-<script>
-import {info} from "@/api/platform/userticket";
-export default {
-  data(){
-    return {
-      activeName: '2',
-      optionTab:{
-        column: [{
-          label: '绿色积分',
-          prop: '1',
-        }, {
-          label: '红色积分',
-          prop: '2',
-        }, {
-          label: '抢红包',
-          prop: '3',
-        }]
-      },
-      form: {},
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      option: {
-        menu:false,
-        // calcHeight: 30,
-        // tip: false,
-        // searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: true,
-        addBtn: false,
-        selection: true,
-        excelBtn:true,
-        column: [
-          {
-            label: "用户名称",
-            prop: "userName",
-            search: true
-          },
-          {
-            label: "用户账号",
-            prop: "account",
-            width: 120
-          },
-          {
-            label: "类型",
-            prop: "typeDesc",
-          },
-          {
-            label: "上月余额",
-            prop: "lastMonthBalance",
-          },
-          {
-            label: "本月增加额",
-            prop: "currMonthIncrease",
-          },
-          {
-            label: "本月减少额",
-            prop: "currMonthReduced",
-          },
-          {
-            label: "本月余额",
-            prop: "currMonthBalance",
-          },
-          {
-            label: "本月提现总额",
-            prop: "currMonthWithdrawn",
-          }
-        ]
-      },
-      data: [],
-      selectionList: [],
-    }
-  },
-  created(){
-    // this.type = this.option.column[0];
-  },
-  methods:{
-    handleClick(tab, event) {
-      console.log(tab.name, tab.label);
-      this.activeName = tab.name;
-      this.onLoad(this.page);
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    currentChange(currentPage){
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize){
-      this.page.pageSize = pageSize;
-    },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      info(page.currentPage, page.pageSize, this.activeName, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    }
-  }
-}
-</script>

+ 0 - 362
src/views/platform/payments.vue

@@ -1,362 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :upload-after="uploadAfter"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.payments_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/payments";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          labelWidth: 120,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              hide: true,
-              addDisplay: false,
-              editDisabled: true,
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "支付code",
-              prop: "payCode",
-              rules: [{
-                required: true,
-                message: "请输入支付code",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "支付方式名称",
-              prop: "payName",
-              rules: [{
-                required: true,
-                message: "请输入支付方式名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "参数配置",
-              prop: "payConfig",
-              rules: [{
-                required: true,
-                message: "请输入参数配置",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否启用",
-              prop: "isEnabledDisplayName",
-              display: false,
-            },
-            {
-              label: "是否启用",
-              prop: "isEnabled",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              addDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择是否启用",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否在线支付",
-              prop: "isOnlineDisplayName",
-              display: false,
-            },
-            {
-              label: "是否在线支付",
-              prop: "isOnline",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              addDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择是否在线支付",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "支付端标识",
-              prop: "payForDisplayName",
-              display: false,
-            },
-            {
-              label: "支付端标识",
-              prop: "payFor",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=pay_for",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              addDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择支付端标识",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "支付方式描述",
-              prop: "payDesc",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入支付方式描述",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "支付图标",
-              prop: "payImg",
-              type: 'upload',
-              addDisplay: false,
-              editDisplay: false,
-              listType: 'picture-img',
-              span: 24,
-              drag: true,
-            },
-            {
-              label: '支付图标',
-              prop: 'attachUrl',
-              type: 'upload',
-              drag: true,
-              listType: 'picture-img',
-              loadText: '模板上传中,请稍等',
-              span: 24,
-              hide: true,
-              viewDisplay: false,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.payments_add, false),
-          viewBtn: this.vaildData(this.permission.payments_view, false),
-          delBtn: this.vaildData(this.permission.payments_delete, false),
-          editBtn: this.vaildData(this.permission.payments_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      uploadAfter(res, done, loading, column) {
-        this.form.payImg = res.link;
-        done()
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 344
src/views/platform/useraddress.vue

@@ -1,344 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.useraddress_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/useraddress";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "用户地址id",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入用户地址id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "收货人姓名",
-              prop: "realName",
-              rules: [{
-                required: true,
-                message: "请输入收货人姓名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "收货人电话",
-              prop: "phone",
-              rules: [{
-                required: true,
-                message: "请输入收货人电话",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "收货人所在省",
-              prop: "province",
-              rules: [{
-                required: true,
-                message: "请输入收货人所在省",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "收货人所在市",
-              prop: "city",
-              rules: [{
-                required: true,
-                message: "请输入收货人所在市",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "收货人所在区",
-              prop: "district",
-              rules: [{
-                required: true,
-                message: "请输入收货人所在区",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "区编号",
-              prop: "districtCode",
-              rules: [{
-                required: true,
-                message: "请输入区编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "收货人详细地址",
-              prop: "detail",
-              rules: [{
-                required: true,
-                message: "请输入收货人详细地址",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "邮编",
-              prop: "postCode",
-              rules: [{
-                required: true,
-                message: "请输入邮编",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "经度",
-              prop: "lng",
-              rules: [{
-                required: true,
-                message: "请输入经度",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "纬度",
-              prop: "lat",
-              rules: [{
-                required: true,
-                message: "请输入纬度",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "默认标识",
-              prop: "defaultState",
-              rules: [{
-                required: true,
-                message: "请输入默认标识",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否删除",
-              prop: "isDeleted",
-              rules: [{
-                required: true,
-                message: "请输入是否删除",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "添加时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入添加时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "修改时间",
-              prop: "updateTime",
-              rules: [{
-                required: true,
-                message: "请输入修改时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.useraddress_add, false),
-          viewBtn: this.vaildData(this.permission.useraddress_view, false),
-          delBtn: this.vaildData(this.permission.useraddress_delete, false),
-          editBtn: this.vaildData(this.permission.useraddress_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 605
src/views/platform/userapp.vue

@@ -1,605 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userapp_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-
-      <template slot="isStore" slot-scope="scope">
-        <el-tag v-if="scope.row.isStore === 1" type="success">{{ scope.row.$isStore }}</el-tag>
-        <el-tag v-if="scope.row.isStore === 0" type="primary">{{ scope.row.$isStore }}</el-tag>
-      </template>
-
-      <template slot="livingHall" slot-scope="scope">
-        <el-tag v-if="scope.row.livingHall === 0" type="warning">{{ scope.row.$livingHall }}</el-tag>
-        <el-tag v-else-if="scope.row.livingHall === 1" type="success">{{ scope.row.$livingHall }}</el-tag>
-      </template>
-
-      <template slot-scope="{type,size,row}" slot="menu">
-         <el-button v-if="row.state == 1" :size="size" :type="type" @click="forbidden(row, 2)">禁用</el-button>
-         <el-button v-if="row.state == 2" :size="size" :type="type" @click="forbidden(row, 1)">启用</el-button>
-         <el-button v-if="row.livingHall === 0" :size="size" :type="type" @click="setLeader(row)">设为团长</el-button>
-         <el-button v-if="row.livingHall === 1" :size="size" :type="type" @click="removeLeader(row)">移除团长</el-button>
-         <el-button v-if="row.isStore === 0" :size="size" :type="type" @click="handleAddTicket(row)">设为供应商</el-button>
-<!--         <el-button v-if="row.isStore === 1" :size="size" :type="type" @click="removeStore(row)">移除供应商</el-button>-->
-      </template>
-    </avue-crud>
-
-    <el-dialog title="选择自提点" :visible.sync="dialogVisible" width="80%" :append-to-body="true" :before-close="handleClose" >
-      <avue-crud :option="selfTakeOption"
-                 :table-loading="selfTakeLoading"
-                 :data="selfTakeData"
-                 :page.sync="selfTakePage"
-                 v-model="selfTakeForm"
-                 ref="selfTakeCrud"
-                 @search-change="selfTakeSearchChange"
-                 @search-reset="selfTakeSearchReset"
-                 @selection-change="selfTakeSelectionChange"
-                 @current-change="selfTakeCurrentChange"
-                 @size-change="selfTakeSizeChange"
-                 @refresh-change="selfTakeRefreshChange"
-                 @on-load="selfTakeOnLoad">
-      </avue-crud>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="handleClose">取 消</el-button>
-        <el-button type="primary" @click="addUserSelfTake">确 定</el-button>
-      </span>
-    </el-dialog>
-
-
-    <el-dialog title="新增供应商" append-to-body :visible.sync="addUserTicketBox" width="450px" :before-close="handleClose">
-      <el-form :model="store" ref="store" label-width="80px">
-        <el-form-item label="会员名称" labelWidth="130" prop="userName">
-          <el-input v-model="store.userName" disabled="false" />
-        </el-form-item>
-        <el-form-item label="供应商名称" labelWidth="130"  prop="name" :rules="[{ required: true, message: '供应商名称不能为空'}]">
-          <el-input v-model="store.name" placeholder="请输入供应商名称" />
-        </el-form-item>
-        <el-form-item label="供应商电话" labelWidth="130"  prop="tel" :rules="[{ required: true, message: '电话不能为空'}]">
-          <el-input v-model="store.tel" placeholder="请输入供应商名称电话" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="addUserTicketBox = false">取 消</el-button>
-        <el-button type="primary" @click="submitTicket" :loading="addTicketButLoading">确 定</el-button>
-      </div>
-    </el-dialog>
-
-  </basic-container>
-</template>
-
-<style>
-.codeGeting{
-  background: #cdcdcd;
-  border-color: #cdcdcd;
-}
-</style>
-
-<script>
-  import {getList, getDetail, add, update, remove, addStore, removeCommander, setUpCommander} from "../../api/platform/userapp";
-  import {listByUserId,getList as getSelfTakeList,addUserSelfTake } from "../../api/groupon/selftake";
-  import {mapGetters} from "vuex";
-  import {selfTakeOption} from "../../option/platform/userapp"
-
-  export default {
-    data() {
-      return {
-        leaderUserId: 0,
-        selfTakeOption: selfTakeOption,
-        addTicketButLoading: false,
-        dialogVisible: false,
-        getCodeButName: '获取验证码',
-        disable: false,
-        isGeting: false,
-        count: 60,
-        addUserTicketBox: false,
-        addUserTicketForm: {
-          score: '',
-          code: '',
-          codeId: ''
-        },
-        store: {
-          userId: '',
-          userName: '',
-          name: '',
-          tel: ''
-        },
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          // index: true,
-          viewBtn: true,
-          viewBtnIcon: ' ',
-          editBtnIcon: ' ',
-          selection: false,
-          dialogClickModal: false,
-          menuAlign: 'left',
-          searchLabelWidth:100,
-          menuWidth: 265,
-          searchIcon: true,
-          searchIndex: 3,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              hide: true,
-              display: false,
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              hide: true,
-              display: false,
-            },
-            {
-              label: "会员昵称",
-              prop: "name",
-              addDisplay: true,
-              editDisplay: true,
-              search: true,
-            },
-            {
-              label: "会员姓名",
-              prop: "realName",
-              addDisplay: true,
-              editDisplay: true,
-              search: true,
-            },
-            {
-              label: "手机号",
-              prop: "phone",
-              addDisplay: false,
-              editDisplay: false,
-              search: true,
-            },
-            {
-              label: "供应商身份",
-              prop: "isStore",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=is_store",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              hide: false,
-              search: true,
-              addDisplay: false,
-              editDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择状态",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "团长身份",
-              prop: "livingHall",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=is_captain",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              hide: false,
-              search: true,
-              addDisplay: false,
-              editDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择状态",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "状态",
-              prop: "state",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=user_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              hide: false,
-              search: true,
-              addDisplay: true,
-              rules: [{
-                required: true,
-                message: "请选择状态",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "注册时间",
-              prop: "createTime",
-              addDisplay: false,
-              editDisplay: false,
-              width: 150
-            },
-          ]
-        },
-        data: [],
-        userExportShow: false,
-        userExportForm: {},
-        userExportLoading: false,
-        selfTakeList:[],
-        selfTakeListTotal:0,
-        mySelfTakeList:[],
-        mySelfTakeListTotal:0,
-        row:{},
-
-        selfTakePage: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selfTakeData: [],
-        selfTakeLoading: false,
-        selfTakeForm: {},
-        selfTakeQuery: {},
-        selfTakeSelectionList: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userapp_add, false),
-          viewBtn: this.vaildData(this.permission.userapp_view, false),
-          delBtn: this.vaildData(this.permission.userapp_delete, false),
-          editBtn: this.vaildData(this.permission.userapp_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-
-      deleteRow(index,mySelfTakeList){
-        console.log(index);
-        console.log(mySelfTakeList);
-        this.mySelfTakeList =[];
-      },
-
-      addUserSelfTake(){
-        if (this.selfTakeSelectionList.length === 0) {
-          this.$message.warning("请选择一条数据");
-          return;
-        }
-        if (this.selfTakeSelectionList.length > 1) {
-          this.$message.warning("只能选择一条数据");
-          return;
-        }
-        setUpCommander({
-          userId: this.leaderUserId,
-          selfTakeId: this.selfTakeSelectionList[0].id
-        }).then(res =>{
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.onLoad(this.page, this.query)
-          this.handleClose();
-        })
-      },
-
-      handleCurrentChange(e){
-        let arr = [];
-        arr.push(e);
-        this.mySelfTakeList = arr;
-      },
-      getCurrentChange(e){
-        console.log(e)
-        getSelfTakeList(e,10,{status:1}).then(res =>{
-          console.log(res)
-          this.selfTakeListTotal = res.data.data.total
-          this.selfTakeList = res.data.data.records
-        })
-
-      },
-
-      addSelftake(row){
-        this.row =row;
-        this.dialogVisible = true;
-        getSelfTakeList(1,10,{status:1}).then(res =>{
-          console.log(res)
-          this.selfTakeListTotal = res.data.data.total
-          this.selfTakeList = res.data.data.records
-        })
-        listByUserId(row.userId).then(res =>{
-          this.mySelfTakeList = res.data.data
-
-        })
-      },
-
-      /**
-       * 移除团长
-       * @param row
-       */
-      removeLeader(row) {
-        removeCommander({
-          userId: row.userId
-        }).then(res =>{
-          this.onLoad(this.page, this.query);
-          this.$message({
-            type: "success",
-            message: "移除成功"
-          });
-        })
-      },
-
-      setLeader(row) {
-        this.leaderUserId = row.userId;
-        this.dialogVisible = true;
-      },
-
-      /**
-       * 禁用用户
-       * @param row
-       * @param state
-       */
-      forbidden(row, state) {
-        let title = state == 1 ? '启用' : '禁用';
-        this.$confirm('此操作将会' + title+ '该用户, 是否继续?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          row.state = state;
-          this.loading = true;
-          update(row).then(res => {
-            if(res.data.code !== 200){
-              this.$message.error(res.data.msg);
-            } else{
-              this.$message.success(res.data.msg);
-            }
-            this.loading = false;
-          })
-        }).catch(() => {});
-      },
-
-
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleAddTicket(row) {
-        this.store.userName = row.realName
-        this.store.userId = row.userId
-        this.store.tel = row.phone
-        this.addUserTicketBox = true;
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        this.query.userType = 2;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-
-      submitTicket() {
-        this.$refs["store"].validate((valid) => {
-          if (valid) {
-            const loading = this.$loading({
-              lock: true,
-              text: '处理中,请稍等...',
-              spinner: 'el-icon-loading',
-              background: 'rgba(0, 0, 0, 0.7)'
-            });
-            this.addTicketButLoading = true;
-            addStore(this.store).then(res => {
-              loading.close();
-              this.$message.success("增加成功");
-              this.onLoad(this.page, this.query);
-              this.handleClose()
-            }).catch(e => {
-              this.addTicketButLoading = false;
-              loading.close();
-            })
-          } else {
-            return false;
-          }
-        });
-      },
-
-      selfTakeSearchReset() {
-        this.selfTakeQuery = {};
-        this.selfTakeOnLoad(this.selfTakePage);
-      },
-      selfTakeSearchChange(params, done) {
-        this.selfTakeQuery = params;
-        this.selfTakePage.currentPage = 1;
-        this.selfTakeOnLoad(this.selfTakePage, params);
-        done();
-      },
-      selfTakeSelectionChange(list) {
-        this.selfTakeSelectionList = list;
-      },
-      selfTakeSelectionClear() {
-        this.selfTakeSelectionList = [];
-        this.$refs.selfTakeCrud.toggleSelection();
-      },
-      selfTakeCurrentChange(currentPage){
-        this.selfTakePage.currentPage = currentPage;
-      },
-      selfTakeSizeChange(pageSize){
-        this.selfTakePage.pageSize = pageSize;
-      },
-      selfTakeRefreshChange() {
-        this.selfTakeOnLoad(this.selfTakePage, this.selfTakeQuery);
-      },
-      selfTakeOnLoad(page, params = {}) {
-        this.selfTakeLoading = true;
-        this.selfTakeQuery.status = 1;
-        getSelfTakeList(page.currentPage, page.pageSize, Object.assign(params, this.selfTakeQuery)).then(res => {
-          const data = res.data.data;
-          this.selfTakePage.total = data.total;
-          this.selfTakeData = data.records;
-          this.selfTakeLoading = false;
-          this.selfTakeSelectionClear();
-        });
-      },
-
-      handleClose() {
-        this.leaderUserId = 0;
-        this.dialogVisible = false;
-        this.addUserTicketBox = false
-        this.store = {};
-        this.addTicketButLoading = false;
-      },
-
-      /**
-       * 移除供应商
-       */
-      removeStore(row) {
-
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 272
src/views/platform/userbankcards.vue

@@ -1,272 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userbankcards_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userbankcards";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键Id",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键Id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户Id",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户Id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "账户姓名",
-              prop: "name",
-              rules: [{
-                required: true,
-                message: "请输入账户姓名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "银行开预留手机号",
-              prop: "mobile",
-              rules: [{
-                required: true,
-                message: "请输入银行开预留手机号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "身份证",
-              prop: "cardCode",
-              rules: [{
-                required: true,
-                message: "请输入身份证",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "银行卡号",
-              prop: "backNo",
-              rules: [{
-                required: true,
-                message: "请输入银行卡号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "绑定时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入绑定时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userbankcards_add, false),
-          viewBtn: this.vaildData(this.permission.userbankcards_view, false),
-          delBtn: this.vaildData(this.permission.userbankcards_delete, false),
-          editBtn: this.vaildData(this.permission.userbankcards_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 245
src/views/platform/userbrowse.vue

@@ -1,245 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userbrowse_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userbrowse";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "商品ID",
-              prop: "goodsId",
-              rules: [{
-                required: true,
-                message: "请输入商品ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "浏览次数",
-              prop: "times",
-              rules: [{
-                required: true,
-                message: "请输入浏览次数",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "更新时间",
-              prop: "updateTime",
-              rules: [{
-                required: true,
-                message: "请输入更新时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userbrowse_add, false),
-          viewBtn: this.vaildData(this.permission.userbrowse_view, false),
-          delBtn: this.vaildData(this.permission.userbrowse_delete, false),
-          editBtn: this.vaildData(this.permission.userbrowse_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 272
src/views/platform/usercardinfo.vue

@@ -1,272 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.usercardinfo_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/usercardinfo";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否实名认证,0,不是(默认),1:是",
-              prop: "isAuth",
-              rules: [{
-                required: true,
-                message: "请输入是否实名认证,0,不是(默认),1:是",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "身份证号",
-              prop: "idCard",
-              rules: [{
-                required: true,
-                message: "请输入身份证号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "真实姓名",
-              prop: "trueName",
-              rules: [{
-                required: true,
-                message: "请输入真实姓名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "正面",
-              prop: "positiveUrl",
-              rules: [{
-                required: true,
-                message: "请输入正面",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "反面",
-              prop: "negativeUrl",
-              rules: [{
-                required: true,
-                message: "请输入反面",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.usercardinfo_add, false),
-          viewBtn: this.vaildData(this.permission.usercardinfo_view, false),
-          delBtn: this.vaildData(this.permission.usercardinfo_delete, false),
-          editBtn: this.vaildData(this.permission.usercardinfo_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 290
src/views/platform/userfeedbacks.vue

@@ -1,290 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userfeedbacks_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userfeedbacks";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "反馈类型",
-              prop: "type",
-              rules: [{
-                required: true,
-                message: "请输入反馈类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "反馈内容",
-              prop: "content",
-              rules: [{
-                required: true,
-                message: "请输入反馈内容",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "联系电话",
-              prop: "phone",
-              rules: [{
-                required: true,
-                message: "请输入联系电话",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "记录状态:0待处理 1已处理",
-              prop: "state",
-              rules: [{
-                required: true,
-                message: "请输入记录状态:0待处理 1已处理",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "处理人",
-              prop: "staffId",
-              rules: [{
-                required: true,
-                message: "请输入处理人",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "处理时间",
-              prop: "handleTime",
-              rules: [{
-                required: true,
-                message: "请输入处理时间",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "处理内容",
-              prop: "handleContent",
-              rules: [{
-                required: true,
-                message: "请输入处理内容",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userfeedbacks_add, false),
-          viewBtn: this.vaildData(this.permission.userfeedbacks_view, false),
-          delBtn: this.vaildData(this.permission.userfeedbacks_delete, false),
-          editBtn: this.vaildData(this.permission.userfeedbacks_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 263
src/views/platform/userlicense.vue

@@ -1,263 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userlicense_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userlicense";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户id",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "营业执照名称",
-              prop: "authName",
-              rules: [{
-                required: true,
-                message: "请输入营业执照名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "认证类型",
-              prop: "authType",
-              rules: [{
-                required: true,
-                message: "请输入认证类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "路径1",
-              prop: "path1",
-              rules: [{
-                required: true,
-                message: "请输入路径1",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "路径2",
-              prop: "path2",
-              rules: [{
-                required: true,
-                message: "请输入路径2",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "路径3",
-              prop: "path3",
-              rules: [{
-                required: true,
-                message: "请输入路径3",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userlicense_add, false),
-          viewBtn: this.vaildData(this.permission.userlicense_view, false),
-          delBtn: this.vaildData(this.permission.userlicense_delete, false),
-          editBtn: this.vaildData(this.permission.userlicense_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 245
src/views/platform/userrecom.vue

@@ -1,245 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userrecom_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userrecom";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "推荐人用户ID",
-              prop: "recomId",
-              rules: [{
-                required: true,
-                message: "请输入推荐人用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "推荐人邀请码",
-              prop: "recomCode",
-              rules: [{
-                required: true,
-                message: "请输入推荐人邀请码",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userrecom_add, false),
-          viewBtn: this.vaildData(this.permission.userrecom_view, false),
-          delBtn: this.vaildData(this.permission.userrecom_delete, false),
-          editBtn: this.vaildData(this.permission.userrecom_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 281
src/views/platform/userscores.vue

@@ -1,281 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userscores_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userscores";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "数据类型: 1信用积分,2用户积分",
-              prop: "dataType",
-              rules: [{
-                required: true,
-                message: "请输入数据类型: 1信用积分,2用户积分",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "积分数",
-              prop: "score",
-              rules: [{
-                required: true,
-                message: "请输入积分数",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "来源:1订单 2评价 3订单取消返还 4拒收返还",
-              prop: "dataSrc",
-              rules: [{
-                required: true,
-                message: "请输入来源:1订单 2评价 3订单取消返还 4拒收返还",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "来源记录ID",
-              prop: "dataId",
-              rules: [{
-                required: true,
-                message: "请输入来源记录ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "描述",
-              prop: "dataRemarks",
-              rules: [{
-                required: true,
-                message: "请输入描述",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "积分类型:1:收入 2:支出",
-              prop: "scoreType",
-              rules: [{
-                required: true,
-                message: "请输入积分类型:1:收入 2:支出",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userscores_add, false),
-          viewBtn: this.vaildData(this.permission.userscores_view, false),
-          delBtn: this.vaildData(this.permission.userscores_delete, false),
-          editBtn: this.vaildData(this.permission.userscores_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 272
src/views/platform/userticket.vue

@@ -1,272 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.userticket_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/userticket";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              rules: [{
-                required: true,
-                message: "请输入主键ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户ID",
-              prop: "userId",
-              rules: [{
-                required: true,
-                message: "请输入用户ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "酒票数",
-              prop: "ticket",
-              rules: [{
-                required: true,
-                message: "请输入酒票数",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "来源:1订单 2抢购 3其他",
-              prop: "dataSrc",
-              rules: [{
-                required: true,
-                message: "请输入来源:1订单 2抢购 3其他",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "来源记录ID",
-              prop: "dataId",
-              rules: [{
-                required: true,
-                message: "请输入来源记录ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "描述",
-              prop: "dataRemarks",
-              rules: [{
-                required: true,
-                message: "请输入描述",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "酒票类型:1:收入 2:支出",
-              prop: "ticketType",
-              rules: [{
-                required: true,
-                message: "请输入酒票类型:1:收入 2:支出",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              rules: [{
-                required: true,
-                message: "请输入创建时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.userticket_add, false),
-          viewBtn: this.vaildData(this.permission.userticket_view, false),
-          delBtn: this.vaildData(this.permission.userticket_delete, false),
-          editBtn: this.vaildData(this.permission.userticket_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 347
src/views/platform/versionupgrade.vue

@@ -1,347 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :upload-after="uploadAfter"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.versionupgrade_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/platform/versionupgrade";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "主键ID",
-              prop: "id",
-              hide: true,
-              display: false,
-            },
-            {
-              label: "版本编号",
-              prop: "versionCode",
-              type: "number",
-              width: 80,
-              rules: [{
-                required: true,
-                message: "请输入版本编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "版本号",
-              prop: "versionName",
-              width: 80,
-              rules: [{
-                required: true,
-                message: "请输入版本号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否启用",
-              prop: "statusDisplayName",
-              display: false,
-              width: 100,
-            },
-            {
-              label: "升级类型",
-              prop: "typeDisplayName",
-              display: false,
-              width: 100,
-              rules: [{
-                required: true,
-                message: "请输入升级类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "升级类型",
-              prop: "type",
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=upgrade_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请选择升级类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否启用",
-              prop: "status",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              addDisplay: false,
-              rules: [{
-                required: true,
-                message: "请选择是否启用",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: '包路径',
-              prop: 'apkUrl',
-              span: 24,
-              overHidden: true,
-              addDisplay: true,
-              editDisplay: true,
-            },
-            {
-              label: "更新内容",
-              prop: "content",
-              type: "textarea",
-              span: 24,
-              overHidden: true,
-              rules: [{
-                required: true,
-                message: "请输入更新内容",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: '安装包',
-              prop: 'fileUrl',
-              type: 'upload',
-              drag: true,
-              listType: 'text',
-              loadText: '模板上传中,请稍等',
-              span: 24,
-              viewDisplay: false,
-              hide: true,
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              action: "/api/platform/versionupgrade/uploadApk"
-            },
-            {
-              label: "创建时间",
-              prop: "createTime",
-              hide: true,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请输入",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "更新时间",
-              prop: "updateTime",
-              hide: true,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请输入更新时间",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.versionupgrade_add, false),
-          viewBtn: this.vaildData(this.permission.versionupgrade_view, false),
-          delBtn: this.vaildData(this.permission.versionupgrade_delete, false),
-          editBtn: this.vaildData(this.permission.versionupgrade_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        if(row.fileUrl && row.fileUrl.length == 1){
-          row.apkUrl = row.fileUrl[0]["value"];
-        }
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      uploadAfter(res, done, loading, column) {
-        this.form.apkUrl = res.link;
-        done()
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 610
src/views/quartz/job.vue

@@ -1,610 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button
-            type="primary"
-            plain
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-        >新增</el-button>
-        <el-button type="danger"
-                   size="mini"
-                   icon="el-icon-delete"
-                   plain
-                   @click="handleDelete">删除
-        </el-button>
-        <el-button
-            type="info"
-            plain
-            icon="el-icon-s-operation"
-            size="mini"
-            @click="handleJobLog"
-        >日志</el-button>
-      </template>
-
-      <template slot-scope="scope" slot="menu">
-        <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleView(scope.row)"
-        >任务详细</el-button>
-        <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-        >修改</el-button>
-
-        <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)">
-          <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item command="handleRun" icon="el-icon-caret-right"
-                              >执行一次</el-dropdown-item>
-            <el-dropdown-item command="handleJobLog" icon="el-icon-s-operation"
-                              >调度日志</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
-      </template>
-
-    </avue-crud>
-
-
-    <!-- 添加或修改定时任务对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="任务名称" prop="jobName">
-              <el-input v-model="form.jobName" placeholder="请输入任务名称" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="任务分组" prop="jobGroup">
-              <el-select v-model="form.jobGroup" placeholder="请选择任务分组">
-                <el-option
-                    v-for="dict in sys_job_group"
-                    :key="dict.value"
-                    :label="dict.label"
-                    :value="dict.value"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item prop="invokeTarget">
-              <span slot="label">
-                调用方法
-                <el-tooltip placement="top">
-                  <div slot="content">
-                    Bean调用示例:ryTask.ryParams('ry')
-                    <br />Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
-                    <br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型
-                  </div>
-                  <i class="el-icon-question"></i>
-                </el-tooltip>
-              </span>
-              <el-input v-model="form.invokeTarget" placeholder="请输入调用目标字符串" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="cron表达式" prop="cronExpression">
-              <el-input v-model="form.cronExpression" placeholder="请输入cron执行表达式">
-                <template slot="append">
-                  <el-button type="primary" @click="handleShowCron">
-                    生成表达式
-                    <i class="el-icon-time el-icon--right"></i>
-                  </el-button>
-                </template>
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="执行策略" prop="misfirePolicy">
-              <el-radio-group v-model="form.misfirePolicy" size="small">
-                <el-radio-button label="1">立即执行</el-radio-button>
-                <el-radio-button label="2">执行一次</el-radio-button>
-                <el-radio-button label="3">放弃执行</el-radio-button>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="是否并发" prop="concurrent">
-              <el-radio-group v-model="form.concurrent" size="small">
-                <el-radio-button label="0">允许</el-radio-button>
-                <el-radio-button label="1">禁止</el-radio-button>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="状态">
-              <el-radio-group v-model="form.status">
-                <el-radio
-                    v-for="dict in sys_job_status"
-                    :key="dict.value"
-                    :label="dict.value"
-                >{{dict.label}}</el-radio>
-              </el-radio-group>
-            </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>
-
-    <el-dialog title="Cron表达式生成器" :visible.sync="openCron" append-to-body destroy-on-close class="scrollbar">
-      <crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab>
-    </el-dialog>
-
-    <!-- 任务日志详细 -->
-    <el-dialog title="任务详细" :visible.sync="openView" width="700px" append-to-body>
-      <el-form ref="form" :model="form" label-width="120px" size="mini">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="任务编号:">{{ form.id }}</el-form-item>
-            <el-form-item label="任务名称:">{{ form.jobName }}</el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="任务分组:">{{ form.jobGroup }}</el-form-item>
-            <el-form-item label="创建时间:">{{ form.createTime }}</el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="cron表达式:">{{ form.cronExpression }}</el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="下次执行时间:">{{ form.nextValidTime }}</el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="调用目标方法:">{{ form.invokeTarget }}</el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="任务状态:">
-              <div v-if="form.status == 0">正常</div>
-              <div v-else-if="form.status == 1">失败</div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="是否并发:">
-              <div v-if="form.concurrent == 0">允许</div>
-              <div v-else-if="form.concurrent == 1">禁止</div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="执行策略:">
-              <div v-if="form.misfirePolicy == 0">默认策略</div>
-              <div v-else-if="form.misfirePolicy == 1">立即执行</div>
-              <div v-else-if="form.misfirePolicy == 2">执行一次</div>
-              <div v-else-if="form.misfirePolicy == 3">放弃执行</div>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="openView = false">关 闭</el-button>
-      </div>
-    </el-dialog>
-
-  </basic-container>
-
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, runJob} from "@/api/quartz/job";
-  import {mapGetters} from "vuex";
-  import Crontab from '@/components/Crontab'
-
-  export default {
-    components: { Crontab },
-    data() {
-      return {
-        sys_job_group: [{
-          value: 'DEFAULT',
-          label: '默认'
-        },{
-          value: 'SYSTEM',
-          label: '系统'
-        }],
-        sys_job_status: [{
-          value: '0',
-          label: '正常'
-        },{
-          value: '1',
-          label: '暂停'
-        }],
-        // 弹出层标题
-        title: "",
-        // 是否显示弹出层
-        open: false,
-        // 是否显示详细弹出层
-        openView: false,
-        openCron: false,
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "任务名称",
-              prop: "jobName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入任务名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "任务组名",
-              search: true,
-              prop: "jobGroup",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=task_group_name",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-            },
-            {
-              label: "调用目标字符串",
-              prop: "invokeTarget",
-              rules: [{
-                required: true,
-                message: "请输入调用目标字符串",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "cron执行表达式",
-              prop: "cronExpression",
-              rules: [{
-                required: true,
-                message: "请输入cron执行表达式",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "计划执行错误策略(1立即执行 2执行一次 3放弃执行)",
-              prop: "misfirePolicy",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入计划执行错误策略(1立即执行 2执行一次 3放弃执行)",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "是否并发执行(0允许 1禁止)",
-              prop: "concurrent",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入是否并发执行(0允许 1禁止)",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "状态",
-              prop: "status",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入状态(0正常 1暂停)",
-                trigger: "blur"
-              }],
-              type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=task_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-            },
-            {
-              label: "备注信息",
-              prop: "remark",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入备注信息",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.job_add, false),
-          viewBtn: this.vaildData(this.permission.job_view, false),
-          delBtn: this.vaildData(this.permission.job_delete, false),
-          editBtn: this.vaildData(this.permission.job_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      /** 新增按钮操作 */
-      handleAdd() {
-        this.reset();
-        this.open = true;
-        this.title = "添加任务";
-      },
-      reset() {
-        this.form = {
-          jobId: undefined,
-          jobName: undefined,
-          jobGroup: undefined,
-          invokeTarget: undefined,
-          cronExpression: undefined,
-          misfirePolicy: 1,
-          concurrent: 1,
-          status: "0"
-        };
-      },
-      /** cron表达式按钮操作 */
-      handleShowCron() {
-        this.expression = this.form.cronExpression;
-        this.openCron = true;
-      },
-      /** 确定后回传值 */
-      crontabFill(value) {
-        this.form.cronExpression = value;
-      },
-      /** 提交按钮 */
-      submitForm: function() {
-        this.$refs["form"].validate(valid => {
-          if (valid) {
-            if (this.form.id != undefined) {
-              update(this.form).then(response => {
-                this.$message({
-                  type: "success",
-                  message: "修改成功!"
-                });
-                this.open = false;
-                this.onLoad(this.page);
-              });
-            } else {
-              add(this.form).then(response => {
-                this.$message({
-                  type: "success",
-                  message: "新增成功!"
-                });
-                this.open = false;
-                this.onLoad(this.page);
-              });
-            }
-          }
-        });
-      },
-      // 取消按钮
-      cancel() {
-        this.open = false;
-        this.reset();
-      },
-      /** 修改按钮操作 */
-      handleUpdate(row) {
-        this.reset();
-        const jobId = row.id;
-        getDetail(jobId).then(response => {
-          this.form = response.data.data;
-          this.open = true;
-          this.title = "修改任务";
-        });
-      },
-      // 更多操作触发
-      handleCommand(command, row) {
-        switch (command) {
-          case "handleRun":
-            this.handleRun(row);
-            break;
-          case "handleView":
-            this.handleView(row);
-            break;
-          case "handleJobLog":
-            this.handleJobLog(row);
-            break;
-          default:
-            break;
-        }
-      },
-      /* 立即执行一次 */
-      handleRun(row) {
-        this.$confirm('确认要立即执行一次"' + row.jobName + '"任务吗?').then(function() {
-          return runJob(row);
-        }).then(() => {
-          this.$message({
-            type: "success",
-            message: "执行成功!"
-          });
-        }).catch(() => {});
-      },
-      /** 任务详细信息 */
-      handleView(row) {
-        getDetail(row.id).then(response => {
-          this.form = response.data.data;
-          this.openView = true;
-        });
-      },
-      /** 任务日志列表查询 */
-      handleJobLog(row) {
-        console.log(row)
-        const jobId = row.id || 0;
-        // this.$router.push('/quartz/joblog/' + jobId);
-        this.$router.push({
-          path: '/quartz/joblog/',
-          query: {
-            jobId: jobId,
-            jobName: row.jobName,
-            jobGroup: row.jobGroup
-          }
-        })
-
-        // this.$router.push({
-        //   path: '/quartz/joblog/',
-        //   query: {
-        //     bartenderId: JSON.stringify(jobId),
-        //   }
-        // })
-      },
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 295
src/views/quartz/joblog.vue

@@ -1,295 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               v-model:search="search"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-        <el-button
-            type="danger"
-            plain
-            icon="el-icon-delete"
-            size="small"
-            @click="handleClean"
-        >清空</el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, cleanJobLog} from "@/api/quartz/joblog";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        search: {
-          jobName: "sss",
-          jobGroup: ""
-        },
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "任务名称",
-              prop: "jobName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入任务名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "任务组名",
-              prop: "jobGroup",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=task_group_name",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-            },
-            {
-              label: "调用方法",
-              prop: "invokeTarget",
-              rules: [{
-                required: true,
-                message: "请输入调用目标字符串",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "日志信息",
-              prop: "jobMessage",
-              rules: [{
-                required: true,
-                message: "请输入日志信息",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "执行状态",
-              prop: "status",
-              type: "select",
-              search: true,
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=task_process_state",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-            },
-            {
-              label: "执行时间",
-              prop: "createTime",
-            },
-            {
-              label: "异常信息",
-              prop: "exceptionInfo",
-              type: "textarea",
-              hide: true,
-              span: 24
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.joblog_add, false),
-          viewBtn: this.vaildData(this.permission.joblog_view, false),
-          delBtn: this.vaildData(this.permission.joblog_delete, false),
-          editBtn: this.vaildData(this.permission.joblog_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    created() {
-      const queryParam = this.$route.query;
-      console.log("queryParam -> ", queryParam);
-      const jobId = queryParam.jobId;
-      if (jobId !== undefined && jobId != 0) {
-          this.search.jobName = queryParam.jobName;
-          this.search.jobGroup = queryParam.jobGroup;
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        console.log("query -> ", this.query);
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      /** 清空按钮操作 */
-      handleClean() {
-        this.$confirm('是否确认清空所有调度日志数据项?').then(function() {
-          return cleanJobLog();
-        }).then(() => {
-          this.onLoad(this.page, this.query);
-          this.$message({
-            type: "success",
-            message: "清空成功!"
-          });
-        }).catch(() => {});
-      },
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 203
src/views/report/reportlist.vue

@@ -1,203 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :page.sync="page"
-               :permission="permissionList"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-edit-outline"
-          size="small"
-          @click.stop="handleDesign(scope.row.name)"
-          v-if="userInfo.role_name.includes('admin')"
-        >设计
-        </el-button>
-        <el-button
-          type="text"
-          icon="el-icon-view"
-          size="small"
-          @click.stop="handlePreview(scope.row.name)"
-          v-if="userInfo.role_name.includes('admin')"
-        >预览
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="name">
-        <el-tag style="cursor:pointer" @click="handlePreview(row.name)">{{ row.name }}</el-tag>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-import {getList, remove} from "@/api/report/report";
-import {mapGetters} from "vuex";
-
-export default {
-  data() {
-    return {
-      form: {},
-      selectionList: [],
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      option: {
-        height: 'auto',
-        calcHeight: 30,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: true,
-        selection: true,
-        viewBtn: true,
-        dialogClickModal: false,
-        column: [
-          {
-            label: "文件名",
-            prop: "name",
-            search: true,
-            slot: true,
-          },
-          {
-            label: "创建时间",
-            prop: "createTime",
-          },
-          {
-            label: "更新时间",
-            prop: "updateTime",
-          }
-        ]
-      },
-      data: []
-    };
-  },
-  computed: {
-    ...mapGetters(["userInfo", "permission"]),
-    permissionList() {
-      return {
-        addBtn: false,
-        viewBtn: false,
-        delBtn: true,
-        editBtn: false
-      };
-    },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    }
-  },
-  methods: {
-    handlePreview(name) {
-      this.$router.push({path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`});
-    },
-    handleDesign(name) {
-      this.$router.push({path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}`});
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crud.toggleSelection();
-        });
-    },
-    currentChange(currentPage) {
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize) {
-      this.page.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoad(this.page, this.query);
-    },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 288
src/views/resource/attach.vue

@@ -1,288 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="primary"
-                   size="small"
-                   plain
-                   v-if="permission.attach_upload"
-                   icon="el-icon-upload2"
-                   @click="handleUpload">上 传
-        </el-button>
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.attach_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   icon="el-icon-download"
-                   size="small"
-                   v-if="permission.attach_download"
-                   @click="handleDownload(scope.row)">下载
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="attachSize">
-        <el-tag>{{`${row.attachSize} KB`}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="附件管理"
-               append-to-body
-               :visible.sync="attachBox"
-               width="555px">
-      <avue-form ref="form" :option="attachOption" v-model="attachForm" :upload-after="uploadAfter">
-      </avue-form>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, remove} from "@/api/resource/attach";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        attachBox: false,
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "附件地址",
-              prop: "link",
-              rules: [{
-                required: true,
-                message: "请输入附件地址",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "附件域名",
-              prop: "domain",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入附件域名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "附件名称",
-              prop: "name",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入附件名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "附件原名",
-              prop: "originalName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入附件原名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "附件拓展名",
-              prop: "extension",
-              rules: [{
-                required: true,
-                message: "请输入附件拓展名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "附件大小",
-              prop: "attachSize",
-              slot: true,
-              rules: [{
-                required: true,
-                message: "请输入附件大小",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: [],
-        attachForm: {},
-        attachOption: {
-          submitBtn: false,
-          emptyBtn: false,
-          column: [
-            {
-              label: '附件上传',
-              prop: 'attachFile',
-              type: 'upload',
-              drag: true,
-              loadText: '模板上传中,请稍等',
-              span: 24,
-              propsHttp: {
-                res: 'data'
-              },
-              action: "/api/blade-resource/oss/endpoint/put-file-attach"
-            }
-          ]
-        }
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: false,
-          editBtn: false,
-          viewBtn: false,
-          delBtn: this.vaildData(this.permission.attach_delete, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      handleUpload() {
-        this.attachBox = true;
-      },
-      uploadAfter(res, done, loading, column) {
-        window.console.log(column);
-        this.attachBox = false;
-        this.refreshChange();
-        done();
-      },
-      handleDownload(row) {
-        window.open(`${row.link}`);
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 416
src/views/resource/oss.vue

@@ -1,416 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               :before-open="beforeOpen"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.oss_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   icon="el-icon-video-play"
-                   size="small"
-                   v-if="userInfo.role_name.includes('admin')"
-                   @click="handleDebug(scope.row)">调试
-        </el-button>
-        <el-button type="text"
-                   icon="el-icon-circle-check"
-                   size="small"
-                   v-if="permission.oss_enable"
-                   @click.stop="handleEnable(scope.row)">启用
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="status">
-        <el-tag>{{row.statusName}}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="category">
-        <el-tag>{{row.categoryName}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="对象存储上传调试"
-               append-to-body
-               :visible.sync="box"
-               width="550px">
-      <avue-form ref="form" :option="debugOption" v-model="debugForm" @submit="handleSubmit"/>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, enable} from "@/api/resource/oss";
-  import {mapGetters} from "vuex";
-  import func from "@/util/func";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        box: false,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          menuWidth: 300,
-          labelWidth: 100,
-          dialogWidth: 880,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "分类",
-              type: "radio",
-              value: 1,
-              span: 24,
-              width: 100,
-              searchLabelWidth: 50,
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=oss",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请选择分类",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "资源编号",
-              prop: "ossCode",
-              span: 24,
-              width: 120,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入资源编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "资源地址",
-              prop: "endpoint",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入资源地址",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "空间名",
-              prop: "bucketName",
-              span: 24,
-              width: 120,
-              rules: [{
-                required: true,
-                message: "请输入空间名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "accessKey",
-              prop: "accessKey",
-              span: 24,
-              search: true,
-              width: 200,
-              overHidden: true,
-              rules: [{
-                required: true,
-                message: "请输入accessKey",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "secretKey",
-              prop: "secretKey",
-              span: 24,
-              width: 200,
-              overHidden: true,
-              rules: [{
-                required: true,
-                message: "请输入secretKey",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "appId",
-              prop: "appId",
-              span: 24,
-              hide: true,
-              display: false,
-            },
-            {
-              label: "region",
-              prop: "region",
-              span: 24,
-              hide: true,
-              display: false,
-            },
-            {
-              label: "是否启用",
-              prop: "status",
-              span: 24,
-              width: 80,
-              align: "center",
-              slot: true,
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: false,
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              span: 24,
-              hide: true,
-            },
-          ]
-        },
-        data: [],
-        debugForm: {
-          code: '',
-        },
-        debugOption: {
-          submitText: "提交",
-          column: [
-            {
-              label: "资源编号",
-              prop: "code",
-              disabled: true,
-              span: 24,
-            },
-            {
-              label: "上传背景",
-              prop: "backgroundUrl",
-              type: 'upload',
-              listType: 'picture-img',
-              dataType: 'string',
-              action: '/api/blade-resource/oss/endpoint/put-file',
-              propsHttp: {
-                res: 'data',
-                url: 'link',
-              },
-              span: 24,
-            },
-          ]
-        }
-      };
-    },
-    watch: {
-      'form.category'() {
-        const category = func.toInt(this.form.category);
-        this.$refs.crud.option.column.filter(item => {
-          if (item.prop === "appId") {
-            item.display = category === 4;
-          }
-          if (item.prop === "region") {
-            item.display = category === 4;
-          }
-        });
-      },
-      'debugForm.code'() {
-        const column = this.findObject(this.debugOption.column, "backgroundUrl");
-        column.action = `/api/blade-resource/oss/endpoint/put-file?code=${this.debugForm.code}`;
-      }
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.oss_add),
-          viewBtn: this.vaildData(this.permission.oss_view),
-          delBtn: this.vaildData(this.permission.oss_delete),
-          editBtn: this.vaildData(this.permission.oss_edit)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleEnable(row) {
-        this.$confirm("是否确定启用这条配置?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return enable(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleDebug(row) {
-        this.box = true;
-        this.debugForm.code = row.ossCode;
-        this.debugForm.backgroundUrl = '';
-      },
-      handleSubmit(form, done) {
-        this.$message({
-          type: "success",
-          message: `获取到图片地址:[${form.backgroundUrl}]`
-        });
-        done();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>

+ 0 - 438
src/views/resource/sms.vue

@@ -1,438 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.sms_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   icon="el-icon-video-play"
-                   size="small"
-                   v-if="userInfo.role_name.includes('admin')"
-                   @click="handleDebug(scope.row)">调试
-        </el-button>
-        <el-button type="text"
-                   icon="el-icon-circle-check"
-                   size="small"
-                   v-if="permission.sms_enable"
-                   @click.stop="handleEnable(scope.row)">启用
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="status">
-        <el-tag>{{row.statusName}}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="category">
-        <el-tag>{{row.categoryName}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="手机短信发送调试"
-               append-to-body
-               :visible.sync="box"
-               width="550px">
-      <avue-form :option="debugOption" v-model="debugForm" @submit="handleSend"/>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, enable, send} from "@/api/resource/sms";
-  import {mapGetters} from "vuex";
-  import func from "@/util/func";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        box: false,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          menuWidth: 300,
-          labelWidth: 100,
-          dialogWidth: 880,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "分类",
-              type: "radio",
-              value: 1,
-              span: 24,
-              width: 100,
-              searchLabelWidth: 50,
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=sms",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请选择分类",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "资源编号",
-              prop: "smsCode",
-              span: 24,
-              width: 200,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入资源编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "模版ID",
-              prop: "templateId",
-              span: 24,
-              width: 200,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入模版ID",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "accessKey",
-              prop: "accessKey",
-              span: 24,
-              overHidden: true,
-              rules: [{
-                required: true,
-                message: "请输入accessKey",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "secretKey",
-              prop: "secretKey",
-              span: 24,
-              overHidden: true,
-              display: true,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入secretKey",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "regionId",
-              prop: "regionId",
-              span: 24,
-              value: "cn-hangzhou",
-              hide: true,
-              display: false
-            },
-            {
-              label: "短信签名",
-              prop: "signName",
-              span: 24,
-              width: 200,
-              rules: [{
-                required: true,
-                message: "请输入短信签名",
-                trigger: "blur"
-              }],
-            },
-            {
-              label: "是否启用",
-              prop: "status",
-              span: 24,
-              width: 80,
-              align: "center",
-              slot: true,
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: false,
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              span: 24,
-              hide: true
-            },
-          ]
-        },
-        data: [],
-        debugForm: {
-          code: '',
-        },
-        debugOption: {
-          submitText: "发送",
-          column: [
-            {
-              label: "资源编号",
-              prop: "code",
-              disabled: true,
-              span: 24,
-            },
-            {
-              label: "发送手机",
-              prop: "phones",
-              span: 24,
-            },
-            {
-              label: "发送参数",
-              prop: "params",
-              span: 24,
-              placeholder: "例: {'code':2333,'title':'通知标题'}",
-            },
-          ]
-        }
-      };
-    },
-    watch: {
-      'form.category'() {
-        const category = func.toInt(this.form.category);
-        this.$refs.crud.option.column.filter(item => {
-          if (item.prop === "templateId") {
-            if (category === 1) {
-              item.label = "模版内容";
-            } else {
-              item.label = "模版ID";
-            }
-          }
-          if (item.prop === "accessKey") {
-            if (category === 1) {
-              item.label = "apiKey";
-            } else if (category === 4) {
-              item.label = "appId";
-            } else {
-              item.label = "accessKey";
-            }
-          }
-          if (item.prop === "secretKey") {
-            item.display = category !== 1;
-            if (category === 4) {
-              item.label = "appKey";
-            } else {
-              item.label = "secretKey";
-            }
-          }
-          if (item.prop === "regionId") {
-            if (category === 3) {
-              item.display = true;
-              item.value = "cn-hangzhou";
-            } else {
-              item.display = false;
-            }
-          }
-        });
-      }
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.sms_add, false),
-          viewBtn: this.vaildData(this.permission.sms_view, false),
-          delBtn: this.vaildData(this.permission.sms_delete, false),
-          editBtn: this.vaildData(this.permission.sms_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleEnable(row) {
-        this.$confirm("是否确定启用这条配置?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return enable(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleDebug(row) {
-        this.box = true;
-        this.debugForm.code = row.smsCode;
-      },
-      handleSend(form, done, loading) {
-        send(form.code, form.phones, form.params).then((res) => {
-          this.$message({
-            type: "success",
-            message: "发送成功!"
-          });
-          done();
-          window.console.log(res);
-          this.box = false;
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-

+ 0 - 333
src/views/system/client.vue

@@ -1,333 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               @row-del="rowDel"
-               v-model="form"
-               ref="crud"
-               :permission="permissionList"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               :before-open="beforeOpen"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.client_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/system/client";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "应用id",
-              prop: "clientId",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入客户端id",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "应用密钥",
-              prop: "clientSecret",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入客户端密钥",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "授权类型",
-              prop: "authorizedGrantTypes",
-              type: "checkbox",
-              value: "refresh_token,password,authorization_code",
-              dicData: [
-                {
-                  label: "refresh_token",
-                  value: "refresh_token"
-                },
-                {
-                  label: "password",
-                  value: "password"
-                },
-                {
-                  label: "authorization_code",
-                  value: "authorization_code"
-                },
-                {
-                  label: "captcha",
-                  value: "captcha"
-                },
-                {
-                  label: "social",
-                  value: "social"
-                }
-              ],
-              rules: [{
-                required: true,
-                message: "请输入授权类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "授权范围",
-              prop: "scope",
-              value: "all",
-              rules: [{
-                required: true,
-                message: "请输入授权范围",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "令牌秒数",
-              prop: "accessTokenValidity",
-              type: "number",
-              value: 3600,
-              rules: [{
-                required: true,
-                message: "请输入令牌过期秒数",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "刷新秒数",
-              prop: "refreshTokenValidity",
-              type: "number",
-              value: 604800,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入刷新令牌过期秒数",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "回调地址",
-              prop: "webServerRedirectUri",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入回调地址",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "资源集合",
-              prop: "resourceIds",
-              hide: true,
-              rules: [{
-                message: "请输入资源集合",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "权限",
-              prop: "authorities",
-              hide: true,
-              rules: [{
-                message: "请输入权限",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "自动授权",
-              prop: "autoapprove",
-              hide: true,
-              rules: [{
-                message: "请输入自动授权",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "附加说明",
-              hide: true,
-              prop: "additionalInformation",
-              span: 24,
-              rules: [{
-                message: "请输入附加说明",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.client_add),
-          viewBtn: this.vaildData(this.permission.client_view),
-          delBtn: this.vaildData(this.permission.client_delete),
-          editBtn: this.vaildData(this.permission.client_edit)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 363
src/views/system/dept.vue

@@ -1,363 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :before-close="beforeClose"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad"
-               @tree-load="treeLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.dept_delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-circle-plus-outline"
-          size="small"
-          @click.stop="handleAdd(scope.row,scope.index)"
-          v-if="userInfo.role_name.includes('admin')"
-        >新增子项
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="deptCategory">
-        <el-tag>{{row.deptCategoryName}}</el-tag>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {
-    getLazyList,
-    remove,
-    update,
-    add,
-    getDept,
-    getDeptTree
-  } from "@/api/system/dept";
-  import {mapGetters} from "vuex";
-  import website from '@/config/website';
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        parentId: 0,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0,
-        },
-        option: {
-          lazy: true,
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          menuWidth: 300,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "机构名称",
-              prop: "deptName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入机构名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "所属租户",
-              prop: "tenantId",
-              type: "tree",
-              dicUrl: "/api/blade-system/tenant/select",
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: website.tenantMode,
-              span: 24,
-              props: {
-                label: "tenantName",
-                value: "tenantId"
-              },
-              hide: !website.tenantMode,
-              search: website.tenantMode,
-              rules: [{
-                required: true,
-                message: "请输入所属租户",
-                trigger: "click"
-              }]
-            },
-            {
-              label: "机构全称",
-              prop: "fullName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入机构全称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "上级机构",
-              prop: "parentId",
-              dicData: [],
-              type: "tree",
-              hide: true,
-              addDisabled: false,
-              props: {
-                label: "title"
-              },
-              rules: [{
-                required: false,
-                message: "请选择上级机构",
-                trigger: "click"
-              }]
-            },
-            {
-              label: "机构类型",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=org_category",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              width: 120,
-              prop: "deptCategory",
-              slot: true,
-              rules: [{
-                required: true,
-                message: "请输入机构类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "排序",
-              prop: "sort",
-              type: "number",
-              align: "right",
-              width: 80,
-              rules: [{
-                required: true,
-                message: "请输入排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              rules: [{
-                required: false,
-                message: "请输入备注",
-                trigger: "blur"
-              }],
-              hide: true
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dept_add, false),
-          viewBtn: this.vaildData(this.permission.dept_view, false),
-          delBtn: this.vaildData(this.permission.dept_delete, false),
-          editBtn: this.vaildData(this.permission.dept_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      initData() {
-        getDeptTree().then(res => {
-          const column = this.findObject(this.option.column, "parentId");
-          column.dicData = res.data.data;
-        });
-      },
-      handleAdd(row) {
-        this.parentId = row.id;
-        const column = this.findObject(this.option.column, "parentId");
-        column.value = row.id;
-        column.addDisabled = true;
-        this.$refs.crud.rowAdd();
-      },
-      rowSave(row, done, loading) {
-        add(row).then((res) => {
-          // 获取新增数据的相关字段
-          const data = res.data.data;
-          row.id = data.id;
-          row.deptCategoryName = data.deptCategoryName;
-          row.tenantId = data.tenantId;
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          // 数据回调进行刷新
-          done(row);
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          // 数据回调进行刷新
-          done(row);
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row, index, done) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            // 数据回调进行刷新
-            done(row);
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            // 刷新表格数据并重载
-            this.data = [];
-            this.parentId = 0;
-            this.$refs.crud.refreshTable();
-            this.$refs.crud.toggleSelection();
-            // 表格数据重载
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.parentId = 0;
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.parentId = '';
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      beforeOpen(done, type) {
-        if (["add", "edit"].includes(type)) {
-          this.initData();
-        }
-        if (["edit", "view"].includes(type)) {
-          getDept(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeClose(done) {
-        this.parentId = "";
-        const column = this.findObject(this.option.column, "parentId");
-        column.value = "";
-        column.addDisabled = false;
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      treeLoad(tree, treeNode, resolve) {
-        const parentId = tree.id;
-        getLazyList(parentId).then(res => {
-          resolve(res.data.data);
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 443
src/views/system/dict.vue

@@ -1,443 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud
-      :option="optionParent"
-      :table-loading="loading"
-      :data="dataParent"
-      :page="pageParent"
-      ref="crud"
-      v-model="formParent"
-      :permission="permissionList"
-      :before-open="beforeOpen"
-      @row-del="rowDel"
-      @row-update="rowUpdate"
-      @row-save="rowSave"
-      @row-click="handleRowClick"
-      @search-change="searchChange"
-      @search-reset="searchReset"
-      @selection-change="selectionChange"
-      @current-change="currentChange"
-      @size-change="sizeChange"
-      @refresh-change="refreshChange"
-      @on-load="onLoadParent"
-    >
-      <template slot="menuLeft">
-        <el-button
-          type="danger"
-          size="small"
-          icon="el-icon-delete"
-          v-if="permission.dict_delete"
-          plain
-          @click="handleDelete"
-        >删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-setting"
-          size="small"
-          @click.stop="handleRowClick(scope.row)"
-          v-if="userInfo.role_name.includes('admin')"
-        >字典配置
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="code">
-        <el-tag @click="handleRowClick(row)" style="cursor:pointer">{{ row.code }}</el-tag>
-      </template>
-      <template slot-scope="{row}" slot="isSealed">
-        <el-tag>{{ row.isSealed === 0 ? '否' : '是' }}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog :title="`[${dictValue}]字典配置`"
-               append-to-body
-               :visible.sync="box"
-               width="1000px">
-      <avue-crud
-        :option="optionChild"
-        :table-loading="loadingChild"
-        :data="dataChild"
-        ref="crudChild"
-        v-model="formChild"
-        :permission="permissionList"
-        :before-open="beforeOpenChild"
-        :before-close="beforeCloseChild"
-        @row-del="rowDelChild"
-        @row-update="rowUpdateChild"
-        @row-save="rowSaveChild"
-        @search-change="searchChangeChild"
-        @search-reset="searchResetChild"
-        @selection-change="selectionChangeChild"
-        @current-change="currentChangeChild"
-        @size-change="sizeChangeChild"
-        @refresh-change="refreshChangeChild"
-        @on-load="onLoadChild"
-      >
-        <template slot="menuLeft">
-          <el-button
-            type="danger"
-            size="small"
-            icon="el-icon-delete"
-            v-if="permission.dict_delete"
-            plain
-            @click="handleDelete"
-          >删 除
-          </el-button>
-        </template>
-        <template slot-scope="scope" slot="menu">
-          <el-button
-            type="text"
-            icon="el-icon-circle-plus-outline"
-            size="small"
-            @click.stop="handleAdd(scope.row,scope.index)"
-            v-if="userInfo.role_name.includes('admin')"
-          >新增子项
-          </el-button>
-        </template>
-        <template slot-scope="{row}" slot="isSealed">
-          <el-tag>{{ row.isSealed === 0 ? '否' : '是' }}</el-tag>
-        </template>
-      </avue-crud>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-import {
-  getParentList,
-  getChildList,
-  remove,
-  update,
-  add,
-  getDict,
-  getDictTree
-} from "@/api/system/dict";
-import {optionParent, optionChild} from "@/option/system/dict";
-import {mapGetters} from "vuex";
-
-export default {
-  data() {
-    return {
-      dictValue: '暂无',
-      parentId: -1,
-      formParent: {},
-      formChild: {},
-      selectionList: [],
-      query: {},
-      box: false,
-      loading: true,
-      loadingChild: true,
-      pageParent: {
-        pageSize: 10,
-        pageSizes: [10, 30, 50, 100, 200],
-        currentPage: 1,
-        total: 0
-      },
-      pageChild: {
-        pageSize: 10,
-        pageSizes: [10, 30, 50, 100, 200],
-        currentPage: 1,
-        total: 0
-      },
-      dataParent: [],
-      dataChild: [],
-      optionParent: optionParent,
-      optionChild: optionChild,
-    };
-  },
-  computed: {
-    ...mapGetters(["userInfo", "permission"]),
-    permissionList() {
-      return {
-        addBtn: this.vaildData(this.permission.dict_add, false),
-        delBtn: this.vaildData(this.permission.dict_delete, false),
-        editBtn: this.vaildData(this.permission.dict_edit, false),
-        viewBtn: false,
-      };
-    },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    }
-  },
-  mounted() {
-    this.initData();
-  },
-  methods: {
-    initData() {
-      getDictTree().then(res => {
-        const column = this.findObject(this.optionChild.column, "parentId");
-        column.dicData = res.data.data;
-      });
-    },
-    handleAdd(row) {
-      this.formChild.dictValue = "";
-      this.formChild.dictKey = "";
-      this.formChild.sort = 0;
-      this.formChild.isSealed = 0;
-      this.formChild.remark = "";
-      this.formChild.parentId = row.id;
-      this.$refs.crudChild.rowAdd();
-    },
-    rowSave(row, done, loading) {
-      const form = {
-        ...row,
-        dictKey: -1,
-      };
-      add(form).then(() => {
-        this.onLoadParent(this.pageParent);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoadParent(this.pageParent);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        this.onLoadChild(this.pageChild);
-        done();
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    handleRowClick(row) {
-      this.query = {};
-      this.parentId = row.id;
-      this.dictValue = row.dictValue;
-
-      const code = this.findObject(this.optionChild.column, "code");
-      code.value = row.code;
-      const parentId = this.findObject(this.optionChild.column, "parentId");
-      parentId.value = row.id;
-
-      this.box = true;
-      this.onLoadChild(this.pageChild);
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoadParent(this.pageParent);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.pageParent.currentPage = 1;
-      this.onLoadParent(this.pageParent, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crud.toggleSelection();
-        });
-    },
-    beforeOpen(done, type) {
-      if (["edit", "view"].includes(type)) {
-        getDict(this.formParent.id).then(res => {
-          this.formParent = res.data.data;
-        });
-      }
-      done();
-    },
-    currentChange(currentPage) {
-      this.pageParent.currentPage = currentPage;
-    },
-    sizeChange(pageSize) {
-      this.pageParent.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoadParent(this.pageParent, this.query);
-    },
-    rowSaveChild(row, done, loading) {
-      add(row).then(() => {
-        this.onLoadChild(this.pageChild);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    rowUpdateChild(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoadChild(this.pageChild);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    rowDelChild(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    searchResetChild() {
-      this.query = {};
-      this.onLoadChild(this.pageChild);
-    },
-    searchChangeChild(params, done) {
-      this.query = params;
-      this.pageChild.currentPage = 1;
-      this.onLoadChild(this.pageChild, params);
-      done();
-    },
-    selectionChangeChild(list) {
-      this.selectionList = list;
-    },
-    selectionClearChild() {
-      this.selectionList = [];
-      this.$refs.crudChild.toggleSelection();
-    },
-    handleDeleteChild() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crudChild.toggleSelection();
-        });
-    },
-    beforeOpenChild(done, type) {
-      if (["add", "edit"].includes(type)) {
-        this.initData();
-      }
-      if (["edit", "view"].includes(type)) {
-        getDict(this.formChild.id).then(res => {
-          this.formChild = res.data.data;
-        });
-      }
-      done();
-    },
-    beforeCloseChild(done) {
-      this.$refs.crudChild.value.parentId = this.parentId;
-      this.$refs.crudChild.option.column.filter(item => {
-        if (item.prop === "parentId") {
-          item.value = this.parentId;
-        }
-      });
-      done();
-    },
-    currentChangeChild(currentPage) {
-      this.pageChild.currentPage = currentPage;
-    },
-    sizeChangeChild(pageSize) {
-      this.pageChild.pageSize = pageSize;
-    },
-    refreshChangeChild() {
-      this.onLoadChild(this.pageChild, this.query);
-    },
-    onLoadParent(page, params = {}) {
-      this.loading = true;
-      getParentList(
-        page.currentPage,
-        page.pageSize,
-        Object.assign(params, this.query)
-      ).then(res => {
-        const data = res.data.data;
-        this.pageParent.total = data.total;
-        this.dataParent = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    },
-    onLoadChild(page, params = {}) {
-      this.loadingChild = true;
-      getChildList(
-        page.currentPage,
-        page.pageSize,
-        this.parentId,
-        Object.assign(params, this.query)
-      ).then(res => {
-        this.dataChild = res.data.data;
-        this.loadingChild = false;
-        this.selectionClear();
-      });
-    }
-  }
-};
-</script>
-

+ 0 - 442
src/views/system/dictbiz.vue

@@ -1,442 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud
-      :option="optionParent"
-      :table-loading="loading"
-      :data="dataParent"
-      :page="pageParent"
-      ref="crud"
-      v-model="formParent"
-      :permission="permissionList"
-      :before-open="beforeOpen"
-      @row-del="rowDel"
-      @row-update="rowUpdate"
-      @row-save="rowSave"
-      @row-click="handleRowClick"
-      @search-change="searchChange"
-      @search-reset="searchReset"
-      @selection-change="selectionChange"
-      @current-change="currentChange"
-      @size-change="sizeChange"
-      @refresh-change="refreshChange"
-      @on-load="onLoadParent"
-    >
-      <template slot="menuLeft">
-        <el-button
-          type="danger"
-          size="small"
-          icon="el-icon-delete"
-          v-if="permission.dictbiz_delete"
-          plain
-          @click="handleDelete"
-        >删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-setting"
-          size="small"
-          @click.stop="handleRowClick(scope.row)"
-          v-if="userInfo.role_name.includes('admin')"
-        >字典配置
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="code">
-        <el-tag @click="handleRowClick(row)" style="cursor:pointer">{{ row.code }}</el-tag>
-      </template>
-      <template slot-scope="{row}" slot="isSealed">
-        <el-tag>{{ row.isSealed === 0 ? '否' : '是' }}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog :title="`[${dictValue}]字典配置`"
-               append-to-body
-               :visible.sync="box"
-               width="1000px">
-      <avue-crud
-        :option="optionChild"
-        :table-loading="loadingChild"
-        :data="dataChild"
-        ref="crudChild"
-        v-model="formChild"
-        :permission="permissionList"
-        :before-open="beforeOpenChild"
-        :before-close="beforeCloseChild"
-        @row-del="rowDelChild"
-        @row-update="rowUpdateChild"
-        @row-save="rowSaveChild"
-        @search-change="searchChangeChild"
-        @search-reset="searchResetChild"
-        @selection-change="selectionChangeChild"
-        @current-change="currentChangeChild"
-        @size-change="sizeChangeChild"
-        @refresh-change="refreshChangeChild"
-        @on-load="onLoadChild"
-      >
-        <template slot="menuLeft">
-          <el-button
-            type="danger"
-            size="small"
-            icon="el-icon-delete"
-            v-if="permission.dict_delete"
-            plain
-            @click="handleDelete"
-          >删 除
-          </el-button>
-        </template>
-        <template slot-scope="scope" slot="menu">
-          <el-button
-            type="text"
-            icon="el-icon-circle-plus-outline"
-            size="small"
-            @click.stop="handleAdd(scope.row,scope.index)"
-            v-if="userInfo.role_name.includes('admin')"
-          >新增子项
-          </el-button>
-        </template>
-        <template slot-scope="{row}" slot="isSealed">
-          <el-tag>{{ row.isSealed === 0 ? '否' : '是' }}</el-tag>
-        </template>
-      </avue-crud>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {
-    getParentList,
-    getChildList,
-    remove,
-    update,
-    add,
-    getDict,
-    getDictTree
-  } from "@/api/system/dictbiz";
-  import {optionParent, optionChild} from "@/option/system/dictbiz";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        dictValue: '暂无',
-        parentId: -1,
-        formParent: {},
-        formChild: {},
-        selectionList: [],
-        query: {},
-        box: false,
-        loading: true,
-        loadingChild: true,
-        pageParent: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        pageChild: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        dataParent: [],
-        dataChild: [],
-        optionParent: optionParent,
-        optionChild: optionChild,
-      };
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dictbiz_add, false),
-          delBtn: this.vaildData(this.permission.dictbiz_delete, false),
-          editBtn: this.vaildData(this.permission.dictbiz_edit, false),
-          viewBtn: false,
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    mounted() {
-      this.initData();
-    },
-    methods: {
-      initData() {
-        getDictTree().then(res => {
-          const column = this.findObject(this.optionChild.column, "parentId");
-          column.dicData = res.data.data;
-        });
-      },
-      handleAdd(row) {
-        this.formChild.dictValue = "";
-        this.formChild.dictKey = "";
-        this.formChild.sort = 0;
-        this.formChild.isSealed = 0;
-        this.formChild.remark = "";
-        this.formChild.parentId = row.id;
-        this.$refs.crudChild.rowAdd();
-      },
-      rowSave(row, done, loading) {
-        const form = {
-          ...row,
-          dictKey: -1,
-        };
-        add(form).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.onLoadChild(this.pageChild);
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleRowClick(row) {
-        this.query = {};
-        this.parentId = row.id;
-        this.dictValue = row.dictValue;
-
-        const code = this.findObject(this.optionChild.column, "code");
-        code.value = row.code;
-        const parentId = this.findObject(this.optionChild.column, "parentId");
-        parentId.value = row.id;
-
-        this.box = true;
-        this.onLoadChild(this.pageChild);
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoadParent(this.pageParent);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.pageParent.currentPage = 1;
-        this.onLoadParent(this.pageParent, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formParent.id).then(res => {
-            this.formParent = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.pageParent.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.pageParent.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoadParent(this.pageParent, this.query);
-      },
-      rowSaveChild(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateChild(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelChild(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchResetChild() {
-        this.query = {};
-        this.onLoadChild(this.pageChild);
-      },
-      searchChangeChild(params, done) {
-        this.query = params;
-        this.pageChild.currentPage = 1;
-        this.onLoadChild(this.pageChild, params);
-        done();
-      },
-      selectionChangeChild(list) {
-        this.selectionList = list;
-      },
-      selectionClearChild() {
-        this.selectionList = [];
-        this.$refs.crudChild.toggleSelection();
-      },
-      handleDeleteChild() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudChild.toggleSelection();
-          });
-      },
-      beforeOpenChild(done, type) {
-        if (["add", "edit"].includes(type)) {
-          this.initData();
-        }
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formChild.id).then(res => {
-            this.formChild = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeCloseChild(done) {
-        this.$refs.crudChild.value.parentId = this.parentId;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "parentId") {
-            item.value = this.parentId;
-          }
-        });
-        done();
-      },
-      currentChangeChild(currentPage) {
-        this.pageChild.currentPage = currentPage;
-      },
-      sizeChangeChild(pageSize) {
-        this.pageChild.pageSize = pageSize;
-      },
-      refreshChangeChild() {
-        this.onLoadChild(this.pageChild, this.query);
-      },
-      onLoadParent(page, params = {}) {
-        this.loading = true;
-        getParentList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageParent.total = data.total;
-          this.dataParent = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      onLoadChild(page, params = {}) {
-        this.loadingChild = true;
-        getChildList(
-          page.currentPage,
-          page.pageSize,
-          this.parentId,
-          Object.assign(params, this.query)
-        ).then(res => {
-          this.dataChild = res.data.data;
-          this.loadingChild = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>

+ 0 - 423
src/views/system/menu.vue

@@ -1,423 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               :before-close="beforeClose"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad"
-               @tree-load="treeLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.menu_delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-circle-plus-outline"
-          size="small"
-          @click.stop="handleAdd(scope.row,scope.index)"
-          v-if="userInfo.role_name.includes('admin') && scope.row.category === 1"
-        >新增子项
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="source">
-        <div style="text-align:center">
-          <i :class="row.source"/>
-        </div>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getLazyList, remove, update, add, getMenu} from "@/api/system/menu";
-  import {mapGetters} from "vuex";
-  import iconList from "@/config/iconList";
-  import func from "@/util/func";
-  import {getMenuTree} from "@/api/system/menu";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        selectionList: [],
-        parentId: 0,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0,
-        },
-        option: {
-          lazy: true,
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          dialogWidth: "60%",
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          menuWidth: 300,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "菜单名称",
-              prop: "name",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "路由地址",
-              prop: "path",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入路由地址",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "上级菜单",
-              prop: "parentId",
-              type: "tree",
-              dicData: [],
-              hide: true,
-              addDisabled: false,
-              props: {
-                label: "title"
-              },
-              rules: [
-                {
-                  required: false,
-                  message: "请选择上级菜单",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单图标",
-              prop: "source",
-              type: "icon",
-              slot: true,
-              iconList: iconList,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单图标",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单编号",
-              prop: "code",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单编号",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单类型",
-              prop: "category",
-              type: "radio",
-              dicData: [
-                {
-                  label: "菜单",
-                  value: 1
-                },
-                {
-                  label: "按钮",
-                  value: 2
-                }
-              ],
-              hide: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择菜单类型",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单别名",
-              prop: "alias",
-              search: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单别名",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "新窗口",
-              prop: "isOpen",
-              type: "radio",
-              disabled: false,
-              dicData: [
-                {
-                  label: "否",
-                  value: 1
-                },
-                {
-                  label: "是",
-                  value: 2
-                }
-              ],
-              value: 1,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择新窗口打开",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单排序",
-              prop: "sort",
-              type: "number",
-              row: true,
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单排序",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "菜单备注",
-              prop: "remark",
-              type: "textarea",
-              span: 24,
-              minRows: 2,
-              hide: true
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    watch: {
-      'form.category'() {
-        const category = func.toInt(this.form.category);
-        this.$refs.crud.option.column.filter(item => {
-          if (item.prop === "path") {
-            item.rules[0].required = category === 1;
-          }
-          if (item.prop === 'isOpen') {
-            item.disabled = category === 2;
-          }
-        });
-      },
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.menu_add, false),
-          viewBtn: this.vaildData(this.permission.menu_view, false),
-          delBtn: this.vaildData(this.permission.menu_delete, false),
-          editBtn: this.vaildData(this.permission.menu_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      initData() {
-        getMenuTree().then(res => {
-          const column = this.findObject(this.option.column, "parentId");
-          column.dicData = res.data.data;
-        });
-      },
-      handleAdd(row) {
-        this.parentId = row.id;
-        const column = this.findObject(this.option.column, "parentId");
-        column.value = row.id;
-        column.addDisabled = true;
-        this.$refs.crud.rowAdd();
-      },
-      rowSave(row, done, loading) {
-        add(row).then((res) => {
-          // 获取新增数据的相关字段
-          const data = res.data.data;
-          row.id = data.id;
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          // 数据回调进行刷新
-          done(row);
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          // 数据回调进行刷新
-          done(row);
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row, index, done) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            // 数据回调进行刷新
-            done(row);
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            // 刷新表格数据并重载
-            this.data = [];
-            this.parentId = 0;
-            this.$refs.crud.refreshTable();
-            this.$refs.crud.toggleSelection();
-            // 表格数据重载
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.parentId = 0;
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.parentId = '';
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      beforeOpen(done, type) {
-        if (["add", "edit"].includes(type)) {
-          this.initData();
-        }
-        if (["edit", "view"].includes(type)) {
-          getMenu(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeClose(done) {
-        this.parentId = "";
-        const column = this.findObject(this.option.column, "parentId");
-        column.value = "";
-        column.addDisabled = false;
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      treeLoad(tree, treeNode, resolve) {
-        const parentId = tree.id;
-        getLazyList(parentId).then(res => {
-          resolve(res.data.data);
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 45
src/views/system/param.vue

@@ -1,45 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud v-bind="bindVal"
-               v-on="onEvent"
-               v-model="form"
-               :permission="permissionList"
-               :page.sync="page">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.param_delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-
-export default window.$crudCommon({
-  data() {
-    return {}
-  },
-  computed: {
-    permissionList() {
-      return {
-        addBtn: this.vaildData(this.permission.param_add, false),
-        viewBtn: this.vaildData(this.permission.param_view, false),
-        delBtn: this.vaildData(this.permission.param_delete, false),
-        editBtn: this.vaildData(this.permission.param_edit, false)
-      };
-    }
-  },
-  methods: {}
-}, {
-  //模块路径
-  name: 'system/param',
-})
-</script>
-
-<style>
-</style>

+ 0 - 281
src/views/system/post.vue

@@ -1,281 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.post_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="category">
-        <el-tag>{{row.categoryName}}</el-tag>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/system/post";
-  import {mapGetters} from "vuex";
-  import website from "@/config/website";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "所属租户",
-              prop: "tenantId",
-              type: "tree",
-              dicUrl: "/api/blade-system/tenant/select",
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: website.tenantMode,
-              span: 24,
-              props: {
-                label: "tenantName",
-                value: "tenantId"
-              },
-              hide: !website.tenantMode,
-              rules: [{
-                required: true,
-                message: "请输入所属租户",
-                trigger: "click"
-              }]
-            },
-            {
-              label: "岗位类型",
-              prop: "category",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=post_category",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请选择岗位类型",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "岗位编号",
-              prop: "postCode",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入岗位编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "岗位名称",
-              prop: "postName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入岗位名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "岗位排序",
-              prop: "sort",
-              type: "number",
-              rules: [{
-                required: true,
-                message: "请输入岗位排序",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "岗位描述",
-              prop: "remark",
-              type: "textarea",
-              span: 24,
-              minRows: 6,
-              hide: true,
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.post_add, false),
-          viewBtn: this.vaildData(this.permission.post_view, false),
-          delBtn: this.vaildData(this.permission.post_delete, false),
-          editBtn: this.vaildData(this.permission.post_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 559
src/views/system/tenant.vue

@@ -1,559 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.tenant_delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-        <el-tooltip class="item" effect="dark" content="给租户配置账号额度、过期时间等授权信息" placement="top">
-          <el-button size="small"
-                     plain
-                     v-if="userInfo.role_name.includes('administrator')"
-                     icon="el-icon-setting"
-                     @click="handleSetting">授权配置
-          </el-button>
-        </el-tooltip>
-        <el-tooltip class="item" effect="dark" content="给租户配置独立数据源以实现数据库隔离" placement="top">
-          <el-button size="small"
-                     plain
-                     v-if="userInfo.role_name.includes('administrator')"
-                     icon="el-icon-coin"
-                     @click="handleDatasource">数据源配置
-          </el-button>
-        </el-tooltip>
-        <el-tooltip class="item" effect="dark" content="将菜单产品包与租户配置绑定" placement="top">
-          <el-button size="small"
-                     plain
-                     v-if="userInfo.role_name.includes('administrator')"
-                     icon="el-icon-notebook-1"
-                     @click="handlePackage">产品包配置
-          </el-button>
-        </el-tooltip>
-        <el-tooltip class="item" effect="dark" content="将自定义的菜单集合定制为租户绑定的菜单产品包" placement="top">
-          <el-button size="small"
-                     plain
-                     v-if="userInfo.role_name.includes('administrator')"
-                     icon="el-icon-notebook-2"
-                     @click="handlePackageSetting">产品包管理
-          </el-button>
-        </el-tooltip>
-      </template>
-      <template slot-scope="{row}"
-                slot="accountNumber">
-        <el-tag>{{ row.accountNumber > 0 ? row.accountNumber : '不限制' }}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="expireTime">
-        <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="租户授权配置"
-               append-to-body
-               :visible.sync="box"
-               width="450px">
-      <avue-form :option="settingOption" v-model="settingForm" @submit="handleSubmit"/>
-    </el-dialog>
-    <el-dialog title="租户数据源配置"
-               append-to-body
-               :visible.sync="datasourceBox"
-               width="450px">
-      <avue-form :option="datasourceOption" v-model="datasourceForm" @submit="handleDatasourceSubmit"/>
-    </el-dialog>
-    <el-dialog title="租户产品包配置"
-               append-to-body
-               :visible.sync="packageBox"
-               width="450px">
-      <avue-form ref="formPackage" :option="packageOption" v-model="packageForm" @submit="handlePackageSubmit"/>
-    </el-dialog>
-    <el-dialog title="租户产品包管理"
-               append-to-body
-               :visible.sync="packageSettingBox"
-               width="1000px">
-      <tenant-package></tenant-package>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-import {getList, getDetail, remove, update, add, setting, datasource, packageInfo, packageSetting} from "@/api/system/tenant";
-import {getDetail as packageDetail} from "@/api/system/tenantpackage";
-import {mapGetters} from "vuex";
-import {getMenuTree} from "@/api/system/menu";
-import {validatenull} from "@/util/validate";
-
-export default {
-  data() {
-    return {
-      form: {},
-      selectionList: [],
-      query: {},
-      loading: true,
-      box: false,
-      datasourceBox: false,
-      packageBox: false,
-      packageSettingBox: false,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      option: {
-        height: 'auto',
-        calcHeight: 30,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: true,
-        selection: true,
-        viewBtn: true,
-        dialogWidth: 900,
-        dialogClickModal: false,
-        column: [
-          {
-            label: "租户ID",
-            prop: "tenantId",
-            width: 100,
-            search: true,
-            addDisplay: false,
-            editDisplay: false,
-            span: 24,
-            rules: [{
-              required: true,
-              message: "请输入租户ID",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "租户名称",
-            prop: "tenantName",
-            search: true,
-            width: 180,
-            span: 24,
-            rules: [{
-              required: true,
-              message: "请输入参数名称",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "联系人",
-            prop: "linkman",
-            width: 100,
-            search: true,
-            rules: [{
-              required: true,
-              message: "请输入联系人",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "联系电话",
-            prop: "contactNumber",
-            width: 150,
-          },
-          {
-            label: "联系地址",
-            prop: "address",
-            span: 24,
-            minRows: 2,
-            type: "textarea",
-            hide: true,
-          },
-          {
-            label: "账号额度",
-            prop: "accountNumber",
-            width: 90,
-            slot: true,
-            addDisplay: false,
-            editDisplay: false,
-          },
-          {
-            label: "过期时间",
-            prop: "expireTime",
-            width: 180,
-            slot: true,
-            addDisplay: false,
-            editDisplay: false,
-          },
-          {
-            label: "绑定域名",
-            prop: "domain",
-            span: 24,
-          },
-          {
-            label: "系统背景",
-            prop: "backgroundUrl",
-            type: 'upload',
-            listType: 'picture-img',
-            dataType: 'string',
-            action: '/api/blade-resource/oss/endpoint/put-file',
-            propsHttp: {
-              res: 'data',
-              url: 'link',
-            },
-            hide: true,
-            span: 24,
-          },
-        ]
-      },
-      data: [],
-      settingForm: {},
-      settingOption: {
-        column: [
-          {
-            label: "账号额度",
-            prop: "accountNumber",
-            type: "number",
-            span: 24,
-          },
-          {
-            label: "过期时间",
-            prop: "expireTime",
-            type: "date",
-            format: "yyyy-MM-dd hh:mm:ss",
-            valueFormat: "yyyy-MM-dd hh:mm:ss",
-            span: 24,
-          },
-        ]
-      },
-      datasourceForm: {},
-      datasourceOption: {
-        column: [
-          {
-            label: "数据源",
-            prop: "datasourceId",
-            search: true,
-            span: 24,
-            type: "select",
-            dicUrl: "/api/blade-develop/datasource/select",
-            props: {
-              label: "name",
-              value: "id"
-            },
-            rules: [{
-              required: true,
-              message: "请选择数据源",
-              trigger: "blur"
-            }]
-          },
-        ]
-      },
-      packageForm: {},
-      packageOption: {
-        column: [
-          {
-            label: "产品包",
-            prop: "packageId",
-            search: true,
-            span: 24,
-            type: "select",
-            dicUrl: "/api/blade-system/tenant-package/select",
-            props: {
-              label: "packageName",
-              value: "id"
-            },
-            rules: [{
-              required: true,
-              message: "请选择产品包",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "菜单预览",
-            prop: "menuId",
-            span: 24,
-            type: "tree",
-            dicData: [],
-            hide: true,
-            multiple: true,
-            props: {
-              label: "title"
-            },
-          },
-        ]
-      },
-    };
-  },
-  watch: {
-    'packageForm.packageId'() {
-      if (!validatenull(this.packageForm.packageId)) {
-        packageDetail(this.packageForm.packageId).then(res => {
-          this.packageForm.menuId = res.data.data.menuId;
-          this.initData();
-        });
-      }
-    }
-  },
-  computed: {
-    ...mapGetters(["userInfo", "permission"]),
-    permissionList() {
-      return {
-        addBtn: this.vaildData(this.permission.tenant_add, false),
-        viewBtn: this.vaildData(this.permission.tenant_view, false),
-        delBtn: this.vaildData(this.permission.tenant_delete, false),
-        editBtn: this.vaildData(this.permission.tenant_edit, false)
-      };
-    },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    },
-    tenantId() {
-      return this.selectionList[0].tenantId;
-    }
-  },
-  methods: {
-    initData() {
-      getMenuTree().then(res => {
-        const column = this.findObject(this.packageOption.column, "menuId");
-        column.dicData = res.data.data;
-      });
-    },
-    rowSave(row, done, loading) {
-      add(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    beforeOpen(done, type) {
-      if (["view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
-          const data = res.data.data;
-          if (!(data.accountNumber > 0)) {
-            data.accountNumber = "不限制";
-          }
-          if (!data.expireTime) {
-            data.expireTime = "不限制";
-          }
-          this.form = data;
-        });
-      }
-      done();
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crud.toggleSelection();
-        });
-    },
-    handleSetting() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      if (this.selectionList.length === 1) {
-        getDetail(this.selectionList[0].id).then(res => {
-          const data = res.data.data;
-          this.settingForm.accountNumber = data.accountNumber;
-          this.settingForm.expireTime = data.expireTime;
-        });
-      } else {
-        this.settingForm.accountNumber = -1;
-        this.settingForm.expireTime = '';
-      }
-      this.box = true;
-    },
-    handleDatasource() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      if (this.selectionList.length !== 1) {
-        this.$message.warning("只能选择一条数据");
-        return;
-      }
-      getDetail(this.selectionList[0].id).then(res => {
-        const data = res.data.data;
-        this.datasourceForm.datasourceId = data.datasourceId;
-      });
-      this.datasourceBox = true;
-    },
-    handlePackage() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      if (this.selectionList.length !== 1) {
-        this.$message.warning("只能选择一条数据");
-        return;
-      }
-      if (this.selectionList.length === 1) {
-        packageInfo(this.selectionList[0].id).then(res => {
-          const data = res.data.data;
-          this.packageForm.packageId = data.id;
-          this.packageForm.menuId = data.menuId;
-        });
-      } else {
-        this.packageForm.menuId = '';
-      }
-      this.packageBox = true;
-      //更新字典远程数据
-      setTimeout(() => {
-        const form = this.$refs.formPackage;
-        form.updateDic('packageId');
-      }, 10);
-    },
-    handlePackageSetting() {
-      this.packageSettingBox = true;
-    },
-    handleSubmit(form, done, loading) {
-      setting(this.ids, form).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "配置成功!"
-        });
-        done();
-        this.box = false;
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    handleDatasourceSubmit(form, done, loading) {
-      datasource(this.tenantId, form.datasourceId).then(() => {
-        this.$message({
-          type: "success",
-          message: "配置成功!"
-        });
-        done();
-        this.datasourceBox = false;
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    handlePackageSubmit(form, done, loading) {
-      packageSetting(this.tenantId, form.packageId).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "配置成功!"
-        });
-        done();
-        this.packageBox = false;
-      }, error => {
-        window.console.log(error);
-        loading();
-      });
-    },
-    currentChange(currentPage) {
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize) {
-      this.page.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoad(this.page, this.query);
-    },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 243
src/views/system/tenantpackage.vue

@@ -1,243 +0,0 @@
-<template>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-</template>
-
-<script>
-import {getList, getDetail, add, update, remove} from "@/api/system/tenantpackage";
-import {mapGetters} from "vuex";
-import {getMenuTree} from "@/api/system/menu";
-
-export default {
-  name: "tenantPackage",
-  data() {
-    return {
-      form: {},
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      selectionList: [],
-      option: {
-        height: 'auto',
-        calcHeight: 30,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: true,
-        viewBtn: true,
-        selection: true,
-        dialogClickModal: false,
-        dialogWidth: 600,
-        column: [
-          {
-            label: "产品包名",
-            prop: "packageName",
-            search: true,
-            span: 24,
-            rules: [{
-              required: true,
-              message: "请输入产品包名称",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "菜单列表",
-            prop: "menuId",
-            span: 24,
-            type: "tree",
-            dicData: [],
-            hide: true,
-            multiple: true,
-            props: {
-              label: "title"
-            },
-            rules: [{
-              required: true,
-              message: "请选择菜单",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "备注",
-            prop: "remark",
-            span: 24
-          },
-        ]
-      },
-      data: []
-    };
-  },
-  computed: {
-    ...mapGetters(["permission"]),
-    permissionList() {
-      return {
-        addBtn: true,
-        viewBtn: false,
-        delBtn: true,
-        editBtn: true
-      };
-    },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    }
-  },
-  methods: {
-    initData() {
-      getMenuTree().then(res => {
-        const column = this.findObject(this.option.column, "menuId");
-        column.dicData = res.data.data;
-      });
-    },
-    rowSave(row, done, loading) {
-      row.menuId = row.menuId.join(",");
-      add(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        window.console.log(error);
-      });
-    },
-    rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        console.log(error);
-      });
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crud.toggleSelection();
-        });
-    },
-    beforeOpen(done, type) {
-      if (["add", "edit"].includes(type)) {
-        this.initData();
-      }
-      if (["edit", "view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
-          this.form = res.data.data;
-        });
-      }
-      done();
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    currentChange(currentPage) {
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize) {
-      this.page.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoad(this.page, this.query);
-    },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 332
src/views/system/topmenu.vue

@@ -1,332 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.topmenu_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-        <el-button size="small"
-                   icon="el-icon-delete"
-                   @click="handleMenuSetting"
-                   v-if="permission.topmenu_setting"
-                   plain>菜单配置
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="source">
-        <div style="text-align:center">
-          <i :class="row.source"></i>
-        </div>
-      </template>
-      <template slot="sort" slot-scope="{row}" >
-        <el-input-number v-model="row.sort" @change="sortChange(row)" :min="1" :max="100"></el-input-number>
-      </template>
-    </avue-crud>
-    <el-dialog title="下级菜单配置"
-               append-to-body
-               :visible.sync="box"
-               width="345px">
-
-      <el-tree :data="menuGrantList"
-               show-checkbox
-               node-key="id"
-               ref="treeMenu"
-               :default-checked-keys="menuTreeObj"
-               :props="props">
-      </el-tree>
-
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="box = false">取 消</el-button>
-        <el-button type="primary"
-                   @click="submit">确 定</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove, grant, grantTree, getTopTree} from "@/api/system/topmenu";
-  import {mapGetters} from "vuex";
-  import iconList from "@/config/iconList";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        box: false,
-        query: {},
-        loading: true,
-        props: {
-          label: "title",
-          value: "key"
-        },
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        menuGrantList: [],
-        menuTreeObj: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogWidth: 900,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "菜单名",
-              prop: "name",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入菜单名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "菜单图标",
-              prop: "source",
-              type: "icon",
-              slot: true,
-              iconList: iconList,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入菜单图标",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "菜单编号",
-              prop: "code",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入菜单编号",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "菜单排序",
-              prop: "sort",
-              type: "number",
-              slot: true,
-              rules: [{
-                required: true,
-                message: "请输入菜单排序",
-                trigger: "blur"
-              }]
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.topmenu_add, false),
-          viewBtn: this.vaildData(this.permission.topmenu_view, false),
-          delBtn: this.vaildData(this.permission.topmenu_delete, false),
-          editBtn: this.vaildData(this.permission.topmenu_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-      idsArray() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids;
-      }
-    },
-    methods: {
-      submit() {
-        const menuList = this.$refs.treeMenu.getCheckedKeys();
-        grant(this.idsArray, menuList).then(() => {
-          this.box = false;
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.onLoad(this.page);
-        });
-      },
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleMenuSetting() {
-        if (this.selectionList.length !== 1) {
-          this.$message.warning("只能选择一条数据");
-          return;
-        }
-        this.menuTreeObj = [];
-        grantTree()
-          .then(res => {
-            this.menuGrantList = res.data.data.menu;
-            getTopTree(this.ids).then(res => {
-              this.menuTreeObj = res.data.data.menu;
-              this.box = true;
-            });
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      sortChange(row) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-        }, error => {
-          window.console.log(error);
-        });
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .none-border {
-    border: 0;
-    background-color: transparent !important;
-  }
-</style>

+ 0 - 1017
src/views/system/user.vue

@@ -1,1017 +0,0 @@
-<template>
-  <el-row>
-    <el-col :span="5">
-      <div class="box">
-        <el-scrollbar>
-          <basic-container>
-            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick"/>
-          </basic-container>
-        </el-scrollbar>
-      </div>
-    </el-col>
-    <el-col :span="19">
-      <basic-container>
-        <avue-crud :option="option"
-                   :search.sync="search"
-                   :table-loading="loading"
-                   :data="data"
-                   ref="crud"
-                   v-model="form"
-                   :permission="permissionList"
-                   @row-del="rowDel"
-                   @row-update="rowUpdate"
-                   @row-save="rowSave"
-                   :before-open="beforeOpen"
-                   :page.sync="page"
-                   @search-change="searchChange"
-                   @search-reset="searchReset"
-                   @selection-change="selectionChange"
-                   @current-change="currentChange"
-                   @size-change="sizeChange"
-                   @refresh-change="refreshChange"
-                   @on-load="onLoad">
-          <template slot="menuLeft">
-            <el-button type="danger"
-                       size="small"
-                       plain
-                       icon="el-icon-delete"
-                       v-if="permission.user_delete"
-                       @click="handleDelete">删 除
-            </el-button>
-            <el-button type="info"
-                       size="small"
-                       plain
-                       v-if="permission.user_role"
-                       icon="el-icon-user"
-                       @click="handleGrant">角色配置
-            </el-button>
-            <el-button type="info"
-                       size="small"
-                       plain
-                       v-if="permission.user_reset"
-                       icon="el-icon-refresh"
-                       @click="handleReset">密码重置
-            </el-button>
-            <el-button type="info"
-                       size="small"
-                       plain
-                       v-if="userInfo.role_name.includes('admin')"
-                       icon="el-icon-setting"
-                       @click="handlePlatform">平台配置
-            </el-button>
-            <el-button type="info"
-                       size="small"
-                       plain
-                       v-if="userInfo.role_name.includes('admin')"
-                       icon="el-icon-coordinate"
-                       @click="handleLock">账号解封
-            </el-button>
-            <el-button type="success"
-                       size="small"
-                       plain
-                       v-if="userInfo.role_name.includes('admin')"
-                       icon="el-icon-upload2"
-                       @click="handleImport">导入
-            </el-button>
-            <el-button type="warning"
-                       size="small"
-                       plain
-                       v-if="userInfo.role_name.includes('admin')"
-                       icon="el-icon-download"
-                       @click="handleExport">导出
-            </el-button>
-          </template>
-          <template slot-scope="{row}"
-                    slot="tenantName">
-            <el-tag>{{row.tenantName}}</el-tag>
-          </template>
-          <template slot-scope="{row}"
-                    slot="roleName">
-            <el-tag>{{row.roleName}}</el-tag>
-          </template>
-          <template slot-scope="{row}"
-                    slot="deptName">
-            <el-tag>{{row.deptName}}</el-tag>
-          </template>
-          <template slot-scope="{row}"
-                    slot="userTypeName">
-            <el-tag>{{row.userTypeName}}</el-tag>
-          </template>
-        </avue-crud>
-        <el-dialog title="用户角色配置"
-                   append-to-body
-                   :visible.sync="roleBox"
-                   width="345px">
-
-          <el-tree :data="roleGrantList"
-                   show-checkbox
-                   check-strictly
-                   default-expand-all
-                   node-key="id"
-                   ref="treeRole"
-                   :default-checked-keys="roleTreeObj"
-                   :props="props">
-          </el-tree>
-
-          <span slot="footer" class="dialog-footer">
-            <el-button @click="roleBox = false">取 消</el-button>
-            <el-button type="primary"
-                       @click="submitRole">确 定</el-button>
-          </span>
-        </el-dialog>
-        <el-dialog title="用户数据导入"
-                   append-to-body
-                   :visible.sync="excelBox"
-                   width="555px">
-          <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
-            <template slot="excelTemplate">
-              <el-button type="primary" @click="handleTemplate">
-                点击下载<i class="el-icon-download el-icon--right"></i>
-              </el-button>
-            </template>
-          </avue-form>
-        </el-dialog>
-        <el-dialog title="用户平台配置"
-                   append-to-body
-                   :visible.sync="platformBox">
-          <avue-crud :option="platformOption"
-                     :table-loading="platformLoading"
-                     :data="platformData"
-                     ref="platformCrud"
-                     v-model="platformForm"
-                     :before-open="platformBeforeOpen"
-                     :page.sync="platformPage"
-                     :permission="platformPermissionList"
-                     @row-update="platformRowUpdate"
-                     @search-change="platformSearchChange"
-                     @search-reset="platformSearchReset"
-                     @selection-change="platformSelectionChange"
-                     @current-change="platformCurrentChange"
-                     @size-change="platformSizeChange"
-                     @refresh-change="platformRefreshChange"
-                     @on-load="platformOnLoad">
-            <template slot-scope="{row}"
-                      slot="tenantName">
-              <el-tag>{{row.tenantName}}</el-tag>
-            </template>
-            <template slot-scope="{row}"
-                      slot="userTypeName">
-              <el-tag>{{row.userTypeName}}</el-tag>
-            </template>
-          </avue-crud>
-        </el-dialog>
-      </basic-container>
-    </el-col>
-  </el-row>
-</template>
-
-<script>
-import {
-  getList,
-  getUser,
-  getUserPlatform,
-  remove,
-  update,
-  updatePlatform,
-  add,
-  grant,
-  resetPassword, unlock
-} from "@/api/system/user";
-  import {getDeptTree, getDeptLazyTree} from "@/api/system/dept";
-  import {getRoleTree} from "@/api/system/role";
-  import {getPostList} from "@/api/system/post";
-  import {mapGetters} from "vuex";
-  import website from '@/config/website';
-  import {getToken} from '@/util/auth';
-
-  export default {
-    data() {
-      const validatePass = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请输入密码'));
-        } else {
-          callback();
-        }
-      };
-      const validatePass2 = (rule, value, callback) => {
-        if (value === '') {
-          callback(new Error('请再次输入密码'));
-        } else if (value !== this.form.password) {
-          callback(new Error('两次输入密码不一致!'));
-        } else {
-          callback();
-        }
-      };
-      return {
-        form: {},
-        search:{},
-        roleBox: false,
-        excelBox: false,
-        platformBox: false,
-        initFlag: true,
-        selectionList: [],
-        query: {},
-        loading: true,
-        platformLoading: false,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        platformPage: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        init: {
-          roleTree: [],
-          deptTree: [],
-        },
-        props: {
-          label: "title",
-          value: "key"
-        },
-        roleGrantList: [],
-        roleTreeObj: [],
-        treeDeptId: '',
-        treeData: [],
-        treeOption: {
-          nodeKey: 'id',
-          lazy: true,
-          treeLoad: function (node, resolve) {
-            const parentId = (node.level === 0) ? 0 : node.data.id;
-            getDeptLazyTree(parentId).then(res => {
-              resolve(res.data.data.map(item => {
-                return {
-                  ...item,
-                  leaf: !item.hasChildren
-                }
-              }))
-            });
-          },
-          addBtn: false,
-          menu: false,
-          size: 'small',
-          props: {
-            labelText: '标题',
-            label: 'title',
-            value: 'value',
-            children: 'children'
-          }
-        },
-        option: {
-          height: 'auto',
-          calcHeight: 80,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          dialogType: 'drawer',
-          dialogClickModal: false,
-          column: [
-            {
-              label: "登录账号",
-              prop: "account",
-              search: true,
-              display: false
-            },
-            {
-              label: "所属租户",
-              prop: "tenantName",
-              slot: true,
-              display: false
-            },
-            {
-              label: "用户姓名",
-              prop: "realName",
-              search: true,
-              display: false
-            },
-            {
-              label: "所属角色",
-              prop: "roleName",
-              slot: true,
-              display: false
-            },
-            {
-              label: "所属部门",
-              prop: "deptName",
-              slot: true,
-              display: false
-            },
-            {
-              label: "用户平台",
-              prop: "userTypeName",
-              slot: true,
-              display: false
-            },
-            {
-              label: "用户平台",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              display: false,
-              prop: "userType",
-              rules: [{
-                required: true,
-                message: "请选择用户平台",
-                trigger: "blur"
-              }]
-            },
-          ],
-          group: [
-            {
-              label: '基础信息',
-              prop: 'baseInfo',
-              icon: 'el-icon-user-solid',
-              column: [
-                {
-                  label: "所属租户",
-                  prop: "tenantId",
-                  type: "tree",
-                  dicUrl: "/api/blade-system/tenant/select",
-                  props: {
-                    label: "tenantName",
-                    value: "tenantId"
-                  },
-                  hide: !website.tenantMode,
-                  addDisplay: website.tenantMode,
-                  editDisplay: website.tenantMode,
-                  viewDisplay: website.tenantMode,
-                  rules: [{
-                    required: true,
-                    message: "请输入所属租户",
-                    trigger: "click"
-                  }],
-                  span: 24,
-                },
-                {
-                  label: "登录账号",
-                  prop: "account",
-                  rules: [{
-                    required: true,
-                    message: "请输入登录账号",
-                    trigger: "blur"
-                  }],
-                },
-                {
-                  label: "用户平台",
-                  type: "select",
-                  dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
-                  props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                  },
-                  dataType: "number",
-                  slot: true,
-                  prop: "userType",
-                  rules: [{
-                    required: true,
-                    message: "请选择用户平台",
-                    trigger: "blur"
-                  }]
-                },
-                {
-                  label: '密码',
-                  prop: 'password',
-                  hide: true,
-                  editDisplay: false,
-                  viewDisplay: false,
-                  rules: [{required: true, validator: validatePass, trigger: 'blur'}]
-                },
-                {
-                  label: '确认密码',
-                  prop: 'password2',
-                  hide: true,
-                  editDisplay: false,
-                  viewDisplay: false,
-                  rules: [{required: true, validator: validatePass2, trigger: 'blur'}]
-                },
-              ]
-            },
-            {
-              label: '详细信息',
-              prop: 'detailInfo',
-              icon: 'el-icon-s-order',
-              column: [
-                {
-                  label: "用户昵称",
-                  prop: "name",
-                  hide: true,
-                  rules: [{
-                    required: true,
-                    message: "请输入用户昵称",
-                    trigger: "blur"
-                  }]
-                },
-                {
-                  label: "用户姓名",
-                  prop: "realName",
-                  rules: [{
-                    required: true,
-                    message: "请输入用户姓名",
-                    trigger: "blur"
-                  }, {
-                    min: 2,
-                    max: 5,
-                    message: '姓名长度在2到5个字符'
-                  }]
-                },
-                {
-                  label: "手机号码",
-                  prop: "phone",
-                  overHidden: true
-                },
-                {
-                  label: "电子邮箱",
-                  prop: "email",
-                  hide: true,
-                  overHidden: true
-                },
-                {
-                  label: "用户性别",
-                  prop: "sex",
-                  type: "select",
-                  dicData: [
-                    {
-                      label: "男",
-                      value: 1
-                    },
-                    {
-                      label: "女",
-                      value: 2
-                    },
-                    {
-                      label: "未知",
-                      value: 3
-                    }
-                  ],
-                  hide: true
-                },
-                {
-                  label: "用户生日",
-                  type: "date",
-                  prop: "birthday",
-                  format: "yyyy-MM-dd hh:mm:ss",
-                  valueFormat: "yyyy-MM-dd hh:mm:ss",
-                  hide: true
-                },
-                {
-                  label: "账号状态",
-                  prop: "statusName",
-                  hide: true,
-                  display: false
-                }
-              ]
-            },
-            {
-              label: '职责信息',
-              prop: 'dutyInfo',
-              icon: 'el-icon-s-custom',
-              column: [
-                {
-                  label: "用户编号",
-                  prop: "code",
-                },
-                {
-                  label: "所属角色",
-                  prop: "roleId",
-                  multiple: true,
-                  type: "tree",
-                  dicData: [],
-                  props: {
-                    label: "title"
-                  },
-                  checkStrictly: true,
-                  slot: true,
-                  rules: [{
-                    required: true,
-                    message: "请选择所属角色",
-                    trigger: "click"
-                  }]
-                },
-                {
-                  label: "所属部门",
-                  prop: "deptId",
-                  type: "tree",
-                  multiple: true,
-                  dicData: [],
-                  props: {
-                    label: "title"
-                  },
-                  checkStrictly: true,
-                  slot: true,
-                  rules: [{
-                    required: true,
-                    message: "请选择所属部门",
-                    trigger: "click"
-                  }]
-                },
-                {
-                  label: "所属岗位",
-                  prop: "postId",
-                  type: "tree",
-                  multiple: true,
-                  dicData: [],
-                  props: {
-                    label: "postName",
-                    value: "id"
-                  },
-                  rules: [{
-                    required: true,
-                    message: "请选择所属岗位",
-                    trigger: "click"
-                  }],
-                },
-              ]
-            },
-          ]
-        },
-        data: [],
-        platformQuery: {},
-        platformSelectionList: [],
-        platformData: [],
-        platformForm: {},
-        platformOption: {
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          dialogClickModal: false,
-          menuWidth: 120,
-          editBtnText: '配置',
-          column: [
-            {
-              label: "登录账号",
-              prop: "account",
-              search: true,
-              display: false
-            },
-            {
-              label: "所属租户",
-              prop: "tenantName",
-              slot: true,
-              display: false
-            },
-            {
-              label: "用户姓名",
-              prop: "realName",
-              search: true,
-              display: false
-            },
-            {
-              label: "用户平台",
-              prop: "userTypeName",
-              slot: true,
-              display: false
-            },
-            {
-              label: "用户平台",
-              type: "select",
-              dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              search: true,
-              hide: true,
-              display: false,
-              prop: "userType",
-              rules: [{
-                required: true,
-                message: "请选择用户平台",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户拓展",
-              prop: "userExt",
-              type: "textarea",
-              minRows: 8,
-              span: 24,
-              overHidden: true,
-              row: true,
-              hide: true,
-            },
-          ],
-        },
-        excelForm: {},
-        excelOption: {
-          submitBtn: false,
-          emptyBtn: false,
-          column: [
-            {
-              label: '模板上传',
-              prop: 'excelFile',
-              type: 'upload',
-              drag: true,
-              loadText: '模板上传中,请稍等',
-              span: 24,
-              propsHttp: {
-                res: 'data'
-              },
-              tip: '请上传 .xls,.xlsx 标准格式文件',
-              action: "/api/blade-user/import-user"
-            },
-            {
-              label: "数据覆盖",
-              prop: "isCovered",
-              type: "switch",
-              align: "center",
-              width: 80,
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                }
-              ],
-              value: 0,
-              slot: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择是否覆盖",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: '模板下载',
-              prop: 'excelTemplate',
-              formslot: true,
-              span: 24,
-            }
-          ]
-        }
-      };
-    },
-    watch: {
-      'form.tenantId'() {
-        if (this.form.tenantId !== '' && this.initFlag) {
-          this.initData(this.form.tenantId);
-        }
-      },
-      'excelForm.isCovered'() {
-        if (this.excelForm.isCovered !== '') {
-          const column = this.findObject(this.excelOption.column, "excelFile");
-          column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`;
-        }
-      }
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.user_add, false),
-          viewBtn: this.vaildData(this.permission.user_view, false),
-          delBtn: this.vaildData(this.permission.user_delete, false),
-          editBtn: this.vaildData(this.permission.user_edit, false)
-        };
-      },
-      platformPermissionList() {
-        return {
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          editBtn: this.vaildData(this.permission.user_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-    },
-    mounted() {
-      // 非租户模式默认加载管理组数据
-      if (!website.tenantMode) {
-        this.initData(website.tenantId);
-      }
-    },
-    methods: {
-      nodeClick(data) {
-        this.treeDeptId = data.id;
-        this.page.currentPage = 1;
-        this.onLoad(this.page);
-      },
-      initData(tenantId) {
-        getRoleTree(tenantId).then(res => {
-          const column = this.findObject(this.option.group, "roleId");
-          column.dicData = res.data.data;
-        });
-        getDeptTree(tenantId).then(res => {
-          const column = this.findObject(this.option.group, "deptId");
-          column.dicData = res.data.data;
-        });
-        getPostList(tenantId).then(res => {
-          const column = this.findObject(this.option.group, "postId");
-          column.dicData = res.data.data;
-        });
-      },
-      submitRole() {
-        const roleList = this.$refs.treeRole.getCheckedKeys().join(",");
-        grant(this.ids, roleList).then(() => {
-          this.roleBox = false;
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.onLoad(this.page);
-        });
-      },
-      rowSave(row, done, loading) {
-        row.deptId = row.deptId.join(",");
-        row.roleId = row.roleId.join(",");
-        row.postId = row.postId.join(",");
-        add(row).then(() => {
-          this.initFlag = false;
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        row.deptId = row.deptId.join(",");
-        row.roleId = row.roleId.join(",");
-        row.postId = row.postId.join(",");
-        update(row).then(() => {
-          this.initFlag = false;
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.treeDeptId = '';
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleReset() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择账号密码重置为123456?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return resetPassword(this.ids);
-          })
-          .then(() => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleGrant() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.roleTreeObj = [];
-        if (this.selectionList.length === 1) {
-          this.roleTreeObj = this.selectionList[0].roleId.split(",");
-        }
-        getRoleTree().then(res => {
-          this.roleGrantList = res.data.data;
-          this.roleBox = true;
-        });
-      },
-      handlePlatform() {
-        this.platformBox = true;
-      },
-      handleLock() {
-        this.$confirm("确定将选择账号解封?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return unlock(this.ids);
-          })
-          .then(() => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleImport() {
-        this.excelBox = true;
-      },
-      uploadAfter(res, done, loading, column) {
-        window.console.log(column);
-        this.excelBox = false;
-        this.refreshChange();
-        done();
-      },
-      handleExport() {
-        this.$confirm("是否导出用户数据?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          window.open(`/api/blade-user/export-user?${this.website.tokenHeader}=${getToken()}&account=${this.search.account}&realName=${this.search.realName}`);
-        });
-      },
-      handleTemplate() {
-        window.open(`/api/blade-user/export-template?${this.website.tokenHeader}=${getToken()}`);
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getUser(this.form.id).then(res => {
-            this.form = res.data.data;
-            if(this.form.hasOwnProperty("deptId")){
-              this.form.deptId = this.form.deptId.split(",");
-            }
-            if(this.form.hasOwnProperty("roleId")){
-              this.form.roleId = this.form.roleId.split(",");
-            }
-            if(this.form.hasOwnProperty("postId")){
-              this.form.postId = this.form.postId.split(",");
-            }
-          });
-        }
-        this.initFlag = true;
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      platformRowUpdate(row, index, done, loading) {
-        updatePlatform(row.id, row.userType, row.userExt).then(() => {
-          this.platformOnLoad(this.platformPage);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      platformBeforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getUserPlatform(this.platformForm.id).then(res => {
-            this.platformForm = res.data.data;
-          });
-        }
-        done();
-      },
-      platformSearchReset() {
-        this.platformQuery = {};
-        this.platformOnLoad(this.platformPage);
-      },
-      platformSearchChange(params, done) {
-        this.platformQuery = params;
-        this.platformPage.currentPage = 1;
-        this.platformOnLoad(this.platformPage, params);
-        done();
-      },
-      platformSelectionChange(list) {
-        this.platformSelectionList = list;
-      },
-      platformSelectionClear() {
-        this.platformSelectionList = [];
-        this.$refs.platformCrud.toggleSelection();
-      },
-      platformCurrentChange(currentPage) {
-        this.platformPage.currentPage = currentPage;
-      },
-      platformSizeChange(pageSize) {
-        this.platformPage.pageSize = pageSize;
-      },
-      platformRefreshChange() {
-        this.platformOnLoad(this.platformPage, this.platformQuery);
-      },
-      platformOnLoad(page, params = {}) {
-        this.platformLoading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
-          const data = res.data.data;
-          this.platformPage.total = data.total;
-          this.platformData = data.records;
-          this.platformLoading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .box {
-    height: 800px;
-  }
-
-  .el-scrollbar {
-    height: 100%;
-  }
-
-  .box .el-scrollbar__wrap {
-    overflow: scroll;
-  }
-</style>

+ 0 - 94
src/views/system/userinfo.vue

@@ -1,94 +0,0 @@
-<template>
-  <div>
-    <basic-container>
-      <avue-form :option="option"
-                 v-model="form"
-                 @tab-click="handleTabClick"
-                 @submit="handleSubmit"></avue-form>
-    </basic-container>
-  </div>
-</template>
-
-<script>
-  import option from "@/option/user/info";
-  import {getUserInfo, updateInfo, updatePassword} from "@/api/system/user";
-  import md5 from 'js-md5';
-  import func from "@/util/func";
-
-
-  export default {
-    data() {
-      return {
-        index: 0,
-        option: option,
-        form: {}
-      };
-    },
-    created() {
-      this.handleWitch();
-    },
-    methods: {
-      handleSubmit(form, done) {
-        if (this.index === 0) {
-          updateInfo(form).then(res => {
-            if (res.data.success) {
-              this.$message({
-                type: "success",
-                message: "修改信息成功!"
-              });
-            } else {
-              this.$message({
-                type: "error",
-                message: res.data.msg
-              });
-            }
-            done();
-          }, error => {
-            window.console.log(error);
-            done();
-          })
-        } else {
-          updatePassword(md5(form.oldPassword), md5(form.newPassword), md5(form.newPassword1)).then(res => {
-            if (res.data.success) {
-              this.$message({
-                type: "success",
-                message: "修改密码成功!"
-              });
-            } else {
-              this.$message({
-                type: "error",
-                message: res.data.msg
-              });
-            }
-            done();
-          }, error => {
-            window.console.log(error);
-            done();
-          })
-        }
-      },
-      handleWitch() {
-        if (this.index === 0) {
-          getUserInfo().then(res => {
-            const user = res.data.data;
-            this.form = {
-              id: user.id,
-              avatar: user.avatar,
-              name: user.name,
-              realName: user.realName,
-              phone: user.phone,
-              email: user.email,
-            }
-          });
-        }
-      },
-      handleTabClick(tabs) {
-        this.index = func.toInt(tabs.index);
-        this.handleWitch();
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 379
src/views/tool/code.vue

@@ -1,379 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :permission="permissionList"
-               :page.sync="page"
-               @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               :before-open="beforeOpen"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.code_delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-        <el-button type="primary"
-                   size="small"
-                   plain
-                   icon="el-icon-refresh"
-                   @click="handleBuild">代码生成
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   icon="el-icon-document-copy"
-                   v-if="permission.code_edit"
-                   class="none-border"
-                   @click.stop="handleCopy(scope.row)">复制
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getCode, build, remove, add, update, copy} from "@/api/tool/code";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        loading: true,
-        query: {},
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          dialogWidth: 900,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          labelWidth: 120,
-          menuWidth: 300,
-          viewBtn: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "数据源",
-              prop: "datasourceId",
-              search: true,
-              span: 24,
-              type: "select",
-              dicUrl: "/api/blade-develop/datasource/select",
-              props: {
-                label: "name",
-                value: "id"
-              },
-              rules: [{
-                required: true,
-                message: "请选择数据源",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "模块名",
-              prop: "codeName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入模块名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "服务名",
-              prop: "serviceName",
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入服务名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "表名",
-              prop: "tableName",
-              rules: [{
-                required: true,
-                message: "请输入表名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "表前缀",
-              prop: "tablePrefix",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入表前缀",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "主键名",
-              prop: "pkName",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入主键名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "包名",
-              prop: "packageName",
-              overHidden: true,
-              rules: [{
-                required: true,
-                message: "请输入包名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "基础业务",
-              prop: "baseMode",
-              type: 'radio',
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请选择基础业务",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "包装器",
-              prop: "wrapMode",
-              type: 'radio',
-              dicUrl: "/api/blade-system/dict/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请选择包装器",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "后端生成路径",
-              prop: "apiPath",
-              span: 24,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入后端生成路径",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "前端生成路径",
-              prop: "webPath",
-              span: 24,
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入前端生成路径",
-                trigger: "blur"
-              }]
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.code_add, false),
-          viewBtn: this.vaildData(this.permission.code_view, false),
-          delBtn: this.vaildData(this.permission.code_delete, false),
-          editBtn: this.vaildData(this.permission.code_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleBuild() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("是否生成选中模块的代码?", {
-          title: "代码生成确认",
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return build(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      handleCopy(row) {
-        copy(row.id).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "复制成功!"
-          });
-        });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getCode(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>

+ 0 - 272
src/views/tool/datasource.vue

@@ -1,272 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.datasource_delete"
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {getList, getDetail, add, update, remove} from "@/api/tool/datasource";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          dialogWidth: 900,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "名称",
-              prop: "name",
-              width: 120,
-              rules: [{
-                required: true,
-                message: "请输入数据源名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "驱动类",
-              prop: "driverClass",
-              type: 'select',
-              dicData: [
-                {
-                  label: 'com.mysql.cj.jdbc.Driver',
-                  value: 'com.mysql.cj.jdbc.Driver',
-                }, {
-                  label: 'org.postgresql.Driver',
-                  value: 'org.postgresql.Driver',
-                }, {
-                  label: 'oracle.jdbc.OracleDriver',
-                  value: 'oracle.jdbc.OracleDriver',
-                }
-              ],
-              width: 200,
-              rules: [{
-                required: true,
-                message: "请输入驱动类",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "用户名",
-              prop: "username",
-              width: 120,
-              rules: [{
-                required: true,
-                message: "请输入用户名",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "密码",
-              prop: "password",
-              hide: true,
-              rules: [{
-                required: true,
-                message: "请输入密码",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "连接地址",
-              prop: "url",
-              span: 24,
-              rules: [{
-                required: true,
-                message: "请输入连接地址",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "备注",
-              prop: "remark",
-              span: 24,
-              minRows: 3,
-              hide: true,
-              type: "textarea"
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.datasource_add, false),
-          viewBtn: this.vaildData(this.permission.datasource_view, false),
-          delBtn: this.vaildData(this.permission.datasource_delete, false),
-          editBtn: this.vaildData(this.permission.datasource_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 46
src/views/util/affix.vue

@@ -1,46 +0,0 @@
-<template>
-  <div class="affix">
-    <avue-affix id="avue-view">
-      <span class="affix-affix">固定在最顶部</span>
-    </avue-affix>
-    <div class="affix-line"></div>
-    <avue-affix id="avue-view"
-                :offset-top="50">
-      <span class="affix-affix">固定在距离顶部 50px 的位置</span>
-    </avue-affix>
-    <div class="affix-line"></div>
-    <avue-affix id="avue-view"
-                :offset-top="100">
-      <span class="affix-affix">固定在距离顶部 100px 的位置</span>
-    </avue-affix>
-    <div class="affix-line"></div>
-    <avue-affix id="avue-view"
-                :offset-top="150">
-      <span class="affix-affix">固定在距离顶部 150px 的位置</span>
-    </avue-affix>
-    <div style="height:2000px;">
-      <div style="padding:15px 20px;font-size:18px;">往下拉就会出现图钉</div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {};
-</script>
-
-<style lang="scss">
-.affix {
-  position: relative;
-  background-color: #fff;
-  &-affix {
-    display: inline-block;
-    color: #fff;
-    padding: 10px 30px;
-    text-align: center;
-    background: rgba(0, 153, 229, 0.9);
-  }
-  &-line {
-    height: 100px;
-  }
-}
-</style>

+ 0 - 22
src/views/util/cache.vue

@@ -1,22 +0,0 @@
-<template>
-  <basic-container>
-    <h3>这个页面会被 keep-alive</h3>
-    <el-tag>在下面的输入框输入任意字符后,切换到其它页面,再回到此页时输入框文字保留,证明被缓存</el-tag>
-    <br /> <br />
-    <el-tag>同时滚动下拉,返回时还会保持滚动条所在的位置</el-tag>
-    <br /> <br />
-    <el-input v-model="value" placeholder="input here" />
-
-    <div style="height:1000px;"></div>
-  </basic-container>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      value: ""
-    };
-  }
-};
-</script>

+ 0 - 59
src/views/util/crud-form.vue

@@ -1,59 +0,0 @@
-<template>
-  <basic-container>
-    <h3>点击新增或编辑跳转到新的页面</h3>
-    <avue-crud :option="option"
-               :data="data">
-      <template slot="menuLeft">
-        <el-button type="primary"
-                   size="small"
-                   @click="handleForm()"
-                   icon="el-icon-plus">add</el-button>
-      </template>
-      <template slot="menu"
-                slot-scope="{row}">
-        <el-button size="small"
-                   type="text"
-                   @click="handleForm(row.id)"
-                   icon="el-icon-edit">edit</el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      option: {
-        addBtn: false,
-        editBtn: false,
-        column: [
-          {
-            label: "姓名",
-            prop: "name"
-          }
-        ]
-      },
-      data: [
-        {
-          id: 1,
-          name: "small"
-        }
-      ]
-    };
-  },
-  methods: {
-    handleForm(id) {
-      this.$router.push({
-        path: "/form-detail/index",
-        query: {
-          id: id
-        }
-      });
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 199
src/views/util/data.vue

@@ -1,199 +0,0 @@
-<template>
-  <basic-container>
-    <h3>数据展示</h3>
-    <avue-data-pay :option="option"></avue-data-pay>
-  </basic-container>
-</template>
-
-<script>
-  export default {
-    data() {
-      return {
-        option: {
-          span: 8,
-          data: [
-            {
-              title: "后台模版",
-              src: "/img/bg/vip1.png",
-              money: "299",
-              dismoney: "199",
-              tip: "/永久",
-              color: "#808695",
-              subtext: "购买",
-              click: () => {
-                this.box = true;
-              },
-              list: [
-                {
-                  title: "点击体验",
-                  href: "https://cli1.avue.top",
-                  check: true
-                },
-                {
-                  title: "面向全屏幕尺寸的响应式适配能力",
-                  check: true
-                },
-                {
-                  title: "支持IE9+等系列浏览器",
-                  check: true
-                },
-                {
-                  title: "全新的前端错误日志监控机制",
-                  check: true
-                },
-                {
-                  title: "基于最新的avuex底层开发",
-                  check: true
-                },
-                {
-                  title: "前端路由动态服务端加载",
-                  check: true
-                },
-                {
-                  title: "灵活的多款主题自由配置",
-                  check: true
-                },
-                {
-                  title: "模块的可拆卸化,达到开箱即用",
-                  check: true
-                },
-                {
-                  title: "免费的私人git私服"
-                },
-                {
-                  title: "专属会员群"
-                },
-                {
-                  title: "前端最新干货分享"
-                },
-                {
-                  title: "赠送 Avue-cli脚手架文档(价值¥59.99)",
-                  href: "https://www.kancloud.cn/smallwei/avue"
-                },
-                {
-                  title: "赠送 Avue 修仙系列视频教程",
-                  href: "https://www.bilibili.com/video/av24644922",
-                  check: true
-                }
-              ]
-            },
-            {
-              title: "Avuex源码",
-              src: "/img/bg/vip2.png",
-              color: "#ffa820",
-              money: "999",
-              dismoney: "399",
-              tip: "/永久",
-              subtext: "购买",
-              click: () => {
-                this.box = true;
-              },
-              list: [
-                {
-                  title: "一键集成表格的导出excel,打印,等功能",
-                  check: true
-                },
-                {
-                  title: "底层代码可重用轻松对接多个UI框架",
-                  check: true
-                },
-                {
-                  title: "底层更加完善的开发错误调试机制",
-                  check: true
-                },
-                {
-                  title: "一套代码多个终端自适应",
-                  check: true
-                },
-                {
-                  title: "一键集成表格的导出excel,打印,等常用功能",
-                  check: true
-                },
-                {
-                  title: "表格的批量操作,表单的级联操作更加便捷",
-                  check: true
-                },
-                {
-                  title: "新增大量常用组件(搜索,选项卡)",
-                  check: true
-                },
-                {
-                  title: "新增大量全新可配置的骚属性",
-                  check: true
-                },
-                {
-                  title: "丰富的数据展示模版组件包",
-                  check: true
-                },
-                {
-                  title: "专属的开发者文档,助你快速掌握",
-                  check: true
-                },
-                {
-                  title: "赠送 Avue-cli脚手架文档(价值¥59.99)",
-                  href: "https://www.kancloud.cn/smallwei/avue",
-                  check: true
-                },
-                {
-                  title: "赠送 Avue 修仙系列视频教程",
-                  href: "https://www.bilibili.com/video/av24644922",
-                  check: true
-                }
-              ]
-            },
-            {
-              title: "全家桶",
-              src: "/img/bg/vip3.png",
-              color: "#ef4868",
-              money: "999.99",
-              dismoney: "399.99",
-              tip: "/永久",
-              subtext: "购买",
-              click: () => {
-                this.box = true;
-              },
-              list: [
-                {
-                  title: "授权商业化开发,永久更新授权使用",
-                  check: true
-                },
-                {
-                  title: "后期更新和新产品将全部免费",
-                  check: true
-                },
-                {
-                  title: "拥有avuex系列的全部特权和全部源码",
-                  check: true
-                },
-                {
-                  title: "免费的私人git私服",
-                  check: true
-                },
-                {
-                  title: "专属会员群",
-                  check: true
-                },
-                {
-                  title: "前端最新干货分享",
-                  check: true
-                },
-                {
-                  title: "赠送 Avue-cli脚手架文档(价值¥59.99)",
-                  href: "https://www.kancloud.cn/smallwei/avue",
-                  check: true
-                },
-                {
-                  title: "赠送 Avue 修仙系列视频教程",
-                  href: "https://www.bilibili.com/video/av24644922",
-                  check: true
-                }
-              ]
-            }
-          ]
-        }
-      };
-    }
-  };
-</script>
-<style>
-</style>

+ 0 - 359
src/views/util/demo/dict-classic.vue

@@ -1,359 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud
-      :option="option"
-      :table-loading="loading"
-      :data="data"
-      ref="crud"
-      v-model="form"
-      :permission="permissionList"
-      :before-open="beforeOpen"
-      :before-close="beforeClose"
-      @row-del="rowDel"
-      @row-update="rowUpdate"
-      @row-save="rowSave"
-      @search-change="searchChange"
-      @search-reset="searchReset"
-      @selection-change="selectionChange"
-      @current-change="currentChange"
-      @size-change="sizeChange"
-      @refresh-change="refreshChange"
-      @on-load="onLoad"
-    >
-      <template slot="menuLeft">
-        <el-button
-          type="danger"
-          size="small"
-          icon="el-icon-delete"
-          v-if="permission.dict_delete"
-          plain
-          @click="handleDelete"
-        >删 除
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="isSealed">
-        <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-check"
-          size="small"
-          @click.stop="handleAdd(scope.row,scope.index)"
-        >新增子项
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-  import {
-    getList,
-    remove,
-    update,
-    add,
-    getDict,
-    getDictTree
-  } from "@/api/system/dict";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        option: {
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          menuWidth: 300,
-          dialogWidth: 880,
-          column: [
-            {
-              label: "字典编号",
-              prop: "code",
-              search: true,
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典编号",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典名称",
-              prop: "dictValue",
-              search: true,
-              align: "center",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "上级字典",
-              prop: "parentId",
-              type: "tree",
-              dicData: [],
-              hide: true,
-              props: {
-                label: "title"
-              },
-              rules: [
-                {
-                  required: false,
-                  message: "请选择上级字典",
-                  trigger: "click"
-                }
-              ]
-            },
-            {
-              label: "字典键值",
-              prop: "dictKey",
-              type: "number",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典键值",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典排序",
-              prop: "sort",
-              type: "number",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典排序",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "封存",
-              prop: "isSealed",
-              type: "select",
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                }
-              ],
-              slot: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择封存",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典备注",
-              prop: "remark",
-              search: true,
-              hide: true
-            }
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dict_add, false),
-          viewBtn: this.vaildData(this.permission.dict_view, false),
-          delBtn: this.vaildData(this.permission.dict_delete, false),
-          editBtn: this.vaildData(this.permission.dict_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    mounted() {
-      getDictTree().then(res => {
-        const column = this.findObject(this.optionChild.column, "parentId");
-        column.dicData = res.data.data;
-      });
-    },
-    methods: {
-      handleAdd(row) {
-        this.$refs.crud.value.code = row.code;
-        this.$refs.crud.value.parentId = row.id;
-        this.$refs.crud.option.column.filter(item => {
-          if (item.prop === "code") {
-            item.value = row.code;
-            item.addDisabled = true;
-          }
-          if (item.prop === "parentId") {
-            item.value = row.id;
-            item.addDisabled = true;
-          }
-        });
-        this.$refs.crud.rowAdd();
-      },
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeClose(done) {
-        this.$refs.crud.tableForm = {};
-        this.$refs.crud.value.code = "";
-        this.$refs.crud.value.parentId = "";
-        this.$refs.crud.value.addDisabled = false;
-        this.$refs.crud.option.column.filter(item => {
-          if (item.prop === "code") {
-            item.value = "";
-            item.addDisabled = false;
-          }
-          if (item.prop === "parentId") {
-            item.value = "";
-            item.addDisabled = false;
-          }
-        });
-        done();
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        getList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          this.data = res.data.data;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 469
src/views/util/demo/dict-horizontal.vue

@@ -1,469 +0,0 @@
-<template>
-  <div>
-    <basic-container>
-      <el-row>
-        <el-col :span="12">
-          <avue-crud
-            :option="option"
-            :table-loading="loading"
-            :data="dataParent"
-            :page="pageParent"
-            ref="crud"
-            v-model="formParent"
-            :permission="permissionList"
-            :before-open="beforeOpen"
-            @row-del="rowDel"
-            @row-update="rowUpdate"
-            @row-save="rowSave"
-            @row-click="handleRowClick"
-            @search-change="searchChange"
-            @search-reset="searchReset"
-            @selection-change="selectionChange"
-            @current-change="currentChange"
-            @size-change="sizeChange"
-            @refresh-change="refreshChange"
-            @on-load="onLoadParent"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="danger"
-                size="small"
-                icon="el-icon-delete"
-                v-if="permission.dict_delete"
-                plain
-                @click="handleDelete"
-              >删 除
-              </el-button>
-            </template>
-            <template slot-scope="{row}" slot="isSealed">
-              <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-            </template>
-          </avue-crud>
-        </el-col>
-        <el-col :span="12">
-          <avue-crud
-            :option="option"
-            :table-loading="loading"
-            :data="dataChild"
-            :page="pageChild"
-            ref="crudChild"
-            v-model="formChild"
-            :permission="permissionList"
-            :before-open="beforeOpenChild"
-            @row-del="rowDelChild"
-            @row-update="rowUpdateChild"
-            @row-save="rowSaveChild"
-            @search-change="searchChangeChild"
-            @search-reset="searchResetChild"
-            @selection-change="selectionChangeChild"
-            @current-change="currentChangeChild"
-            @size-change="sizeChangeChild"
-            @refresh-change="refreshChangeChild"
-            @on-load="onLoadChild"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="danger"
-                size="small"
-                icon="el-icon-delete"
-                v-if="permission.dict_delete"
-                plain
-                @click="handleDelete"
-              >删 除
-              </el-button>
-            </template>
-            <template slot-scope="{row}" slot="isSealed">
-              <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-            </template>
-          </avue-crud>
-        </el-col>
-      </el-row>
-    </basic-container>
-  </div>
-</template>
-
-<script>
-  import {
-    getParentList,
-    getChildList,
-    remove,
-    update,
-    add,
-    getDict,
-  } from "@/api/system/dict";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        parentId: 0,
-        formParent: {},
-        formChild: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        pageParent: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        pageChild: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        dataParent: [],
-        dataChild: [],
-        option: {
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          menuWidth: 300,
-          dialogWidth: 880,
-          column: [
-            {
-              label: "字典编号",
-              prop: "code",
-              search: true,
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典编号",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典键值",
-              prop: "dictKey",
-              type: "number",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典键值",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典名称",
-              prop: "dictValue",
-              search: true,
-              align: "center",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典排序",
-              prop: "sort",
-              type: "number",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典排序",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "封存",
-              prop: "isSealed",
-              type: "select",
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                }
-              ],
-              slot: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择封存",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典备注",
-              prop: "remark",
-              search: true,
-              hide: true
-            }
-          ]
-        }
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dict_add, false),
-          viewBtn: this.vaildData(this.permission.dict_view, false),
-          delBtn: this.vaildData(this.permission.dict_delete, false),
-          editBtn: this.vaildData(this.permission.dict_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleRowClick(row) {
-        this.parentId = row.id;
-        this.onLoadChild(this.pageChild);
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoadParent(this.pageParent);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.pageParent.currentPage = 1;
-        this.onLoadParent(this.pageParent, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formParent.id).then(res => {
-            this.formParent = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.pageParent.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.pageParent.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoadParent(this.page, this.query);
-      },
-      rowSaveChild(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateChild(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelChild(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchResetChild() {
-        this.query = {};
-        this.onLoadChild(this.pageChild);
-      },
-      searchChangeChild(params, done) {
-        this.query = params;
-        this.pageChild.currentPage = 1;
-        this.onLoadChild(this.pageChild, params);
-        done();
-      },
-      selectionChangeChild(list) {
-        this.selectionList = list;
-      },
-      selectionClearChild() {
-        this.selectionList = [];
-        this.$refs.crudChild.toggleSelection();
-      },
-      handleDeleteChild() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudChild.toggleSelection();
-          });
-      },
-      beforeOpenChild(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formChild.id).then(res => {
-            this.formChild = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChangeChild(currentPage) {
-        this.pageChild.currentPage = currentPage;
-      },
-      sizeChangeChild(pageSize) {
-        this.pageChild.pageSize = pageSize;
-      },
-      refreshChangeChild() {
-        this.onLoadChild(this.pageChild, this.query);
-      },
-      onLoadParent(page, params = {}) {
-        this.loading = true;
-        getParentList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageParent.total = data.total;
-          this.dataParent = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      onLoadChild(page, params = {}) {
-        this.loading = true;
-        getChildList(
-          page.currentPage,
-          page.pageSize,
-          this.parentId,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageChild.total = data.total;
-          this.dataChild = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 474
src/views/util/demo/dict-vertical.vue

@@ -1,474 +0,0 @@
-<template>
-  <div>
-    <basic-container>
-      <el-row>
-        <el-col :span="24">
-          <avue-crud
-            :option="option"
-            :table-loading="loading"
-            :data="dataParent"
-            :page="pageParent"
-            ref="crud"
-            v-model="formParent"
-            :permission="permissionList"
-            :before-open="beforeOpen"
-            @row-del="rowDel"
-            @row-update="rowUpdate"
-            @row-save="rowSave"
-            @row-click="handleRowClick"
-            @search-change="searchChange"
-            @search-reset="searchReset"
-            @selection-change="selectionChange"
-            @current-change="currentChange"
-            @size-change="sizeChange"
-            @refresh-change="refreshChange"
-            @on-load="onLoadParent"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="danger"
-                size="small"
-                icon="el-icon-delete"
-                v-if="permission.dict_delete"
-                plain
-                @click="handleDelete"
-              >删 除
-              </el-button>
-            </template>
-            <template slot-scope="{row}" slot="isSealed">
-              <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-            </template>
-          </avue-crud>
-        </el-col>
-      </el-row>
-    </basic-container>
-    <basic-container>
-      <el-row>
-        <el-col :span="24">
-          <avue-crud
-            :option="option"
-            :table-loading="loading"
-            :data="dataChild"
-            :page="pageChild"
-            ref="crudChild"
-            v-model="formChild"
-            :permission="permissionList"
-            :before-open="beforeOpenChild"
-            @row-del="rowDelChild"
-            @row-update="rowUpdateChild"
-            @row-save="rowSaveChild"
-            @search-change="searchChangeChild"
-            @search-reset="searchResetChild"
-            @selection-change="selectionChangeChild"
-            @current-change="currentChangeChild"
-            @size-change="sizeChangeChild"
-            @refresh-change="refreshChangeChild"
-            @on-load="onLoadChild"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="danger"
-                size="small"
-                icon="el-icon-delete"
-                v-if="permission.dict_delete"
-                plain
-                @click="handleDelete"
-              >删 除
-              </el-button>
-            </template>
-            <template slot-scope="{row}" slot="isSealed">
-              <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-            </template>
-          </avue-crud>
-        </el-col>
-      </el-row>
-    </basic-container>
-  </div>
-</template>
-
-<script>
-  import {
-    getParentList,
-    getChildList,
-    remove,
-    update,
-    add,
-    getDict,
-  } from "@/api/system/dict";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        parentId: 0,
-        formParent: {},
-        formChild: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        pageParent: {
-          pageSize: 5,
-          pageSizes: [5, 10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        pageChild: {
-          pageSize: 5,
-          pageSizes: [5, 10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        dataParent: [],
-        dataChild: [],
-        option: {
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          tree: true,
-          border: true,
-          index: true,
-          selection: true,
-          viewBtn: true,
-          height: 300,
-          menuWidth: 300,
-          dialogWidth: 880,
-          column: [
-            {
-              label: "字典编号",
-              prop: "code",
-              search: true,
-              span: 24,
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典编号",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典键值",
-              prop: "dictKey",
-              type: "number",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典键值",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典名称",
-              prop: "dictValue",
-              search: true,
-              align: "center",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典名称",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典排序",
-              prop: "sort",
-              type: "number",
-              rules: [
-                {
-                  required: true,
-                  message: "请输入字典排序",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "封存",
-              prop: "isSealed",
-              type: "select",
-              dicData: [
-                {
-                  label: "否",
-                  value: 0
-                },
-                {
-                  label: "是",
-                  value: 1
-                }
-              ],
-              slot: true,
-              rules: [
-                {
-                  required: true,
-                  message: "请选择封存",
-                  trigger: "blur"
-                }
-              ]
-            },
-            {
-              label: "字典备注",
-              prop: "remark",
-              search: true,
-              hide: true
-            }
-          ]
-        }
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dict_add, false),
-          viewBtn: this.vaildData(this.permission.dict_view, false),
-          delBtn: this.vaildData(this.permission.dict_delete, false),
-          editBtn: this.vaildData(this.permission.dict_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    methods: {
-      rowSave(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleRowClick(row) {
-        this.parentId = row.id;
-        this.onLoadChild(this.pageChild);
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoadParent(this.pageParent);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.pageParent.currentPage = 1;
-        this.onLoadParent(this.pageParent, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formParent.id).then(res => {
-            this.formParent = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.pageParent.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.pageParent.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoadParent(this.page, this.query);
-      },
-      rowSaveChild(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateChild(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelChild(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchResetChild() {
-        this.query = {};
-        this.onLoadChild(this.pageChild);
-      },
-      searchChangeChild(params, done) {
-        this.query = params;
-        this.pageChild.currentPage = 1;
-        this.onLoadChild(this.pageChild, params);
-        done();
-      },
-      selectionChangeChild(list) {
-        this.selectionList = list;
-      },
-      selectionClearChild() {
-        this.selectionList = [];
-        this.$refs.crudChild.toggleSelection();
-      },
-      handleDeleteChild() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudChild.toggleSelection();
-          });
-      },
-      beforeOpenChild(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formChild.id).then(res => {
-            this.formChild = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChangeChild(currentPage) {
-        this.pageChild.currentPage = currentPage;
-      },
-      sizeChangeChild(pageSize) {
-        this.pageChild.pageSize = pageSize;
-      },
-      refreshChangeChild() {
-        this.onLoadChild(this.pageChild, this.query);
-      },
-      onLoadParent(page, params = {}) {
-        this.loading = true;
-        getParentList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageParent.total = data.total;
-          this.dataParent = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      onLoadChild(page, params = {}) {
-        this.loading = true;
-        getChildList(
-          page.currentPage,
-          page.pageSize,
-          this.parentId,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageChild.total = data.total;
-          this.dataChild = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 454
src/views/util/demo/dict.vue

@@ -1,454 +0,0 @@
-<template>
-  <el-row>
-    <el-col :span="11">
-      <basic-container>
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>字典列表</span>
-          </div>
-          <div class="clearfix">
-            <avue-crud
-              :option="optionParent"
-              :table-loading="loading"
-              :data="dataParent"
-              :page="pageParent"
-              ref="crud"
-              v-model="formParent"
-              :permission="permissionList"
-              :before-open="beforeOpen"
-              @row-del="rowDel"
-              @row-update="rowUpdate"
-              @row-save="rowSave"
-              @row-click="handleRowClick"
-              @search-change="searchChange"
-              @search-reset="searchReset"
-              @selection-change="selectionChange"
-              @current-change="currentChange"
-              @size-change="sizeChange"
-              @refresh-change="refreshChange"
-              @on-load="onLoadParent"
-            >
-              <template slot="menuLeft">
-                <el-button
-                  type="danger"
-                  size="small"
-                  icon="el-icon-delete"
-                  v-if="permission.dict_delete"
-                  plain
-                  @click="handleDelete"
-                >删 除
-                </el-button>
-              </template>
-              <template slot-scope="{row}" slot="isSealed">
-                <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-              </template>
-            </avue-crud>
-          </div>
-        </el-card>
-      </basic-container>
-    </el-col>
-    <el-col :span="13">
-      <basic-container>
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>[{{dictValue}}] 字典详情</span>
-          </div>
-          <div class="clearfix">
-            <avue-crud
-              :option="optionChild"
-              :table-loading="loadingChild"
-              :data="dataChild"
-              ref="crudChild"
-              v-model="formChild"
-              :permission="permissionList"
-              :before-open="beforeOpenChild"
-              :before-close="beforeCloseChild"
-              @row-del="rowDelChild"
-              @row-update="rowUpdateChild"
-              @row-save="rowSaveChild"
-              @search-change="searchChangeChild"
-              @search-reset="searchResetChild"
-              @selection-change="selectionChangeChild"
-              @current-change="currentChangeChild"
-              @size-change="sizeChangeChild"
-              @refresh-change="refreshChangeChild"
-              @on-load="onLoadChild"
-            >
-              <template slot="menuLeft">
-                <el-button
-                  type="danger"
-                  size="small"
-                  icon="el-icon-delete"
-                  v-if="permission.dict_delete"
-                  plain
-                  @click="handleDelete"
-                >删 除
-                </el-button>
-              </template>
-              <template slot-scope="scope" slot="menu">
-                <el-button
-                  type="text"
-                  icon="el-icon-circle-plus-outline"
-                  size="small"
-                  @click.stop="handleAdd(scope.row,scope.index)"
-                  v-if="userInfo.role_name.includes('admin')"
-                >新增子项
-                </el-button>
-              </template>
-              <template slot-scope="{row}" slot="isSealed">
-                <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-              </template>
-            </avue-crud>
-          </div>
-        </el-card>
-      </basic-container>
-    </el-col>
-  </el-row>
-</template>
-
-<script>
-  import {
-    getParentList,
-    getChildList,
-    remove,
-    update,
-    add,
-    getDict,
-    getDictTree
-  } from "@/api/system/dict";
-  import {optionParent, optionChild} from "@/option/system/dict";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        dictValue: '暂无',
-        parentId: -1,
-        formParent: {},
-        formChild: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        loadingChild: true,
-        pageParent: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        pageChild: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        dataParent: [],
-        dataChild: [],
-        optionParent: optionParent,
-        optionChild: optionChild,
-      };
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dict_add, false),
-          delBtn: this.vaildData(this.permission.dict_delete, false),
-          editBtn: this.vaildData(this.permission.dict_edit, false),
-          viewBtn: false,
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    mounted() {
-      this.initData();
-    },
-    methods: {
-      initData() {
-        getDictTree().then(res => {
-          const column = this.findObject(this.optionChild.column, "parentId");
-          column.dicData = res.data.data;
-        });
-      },
-      handleAdd(row) {
-        this.$refs.crudChild.value.dictValue = "";
-        this.$refs.crudChild.value.dictKey = "";
-        this.$refs.crudChild.value.sort = 0;
-        this.$refs.crudChild.value.isSealed = 0;
-        this.$refs.crudChild.value.remark = "";
-        this.$refs.crudChild.value.parentId = row.id;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "parentId") {
-            item.value = row.id;
-          }
-        });
-        this.$refs.crudChild.rowAdd();
-      },
-      rowSave(row, done, loading) {
-        const form = {
-          ...row,
-          dictKey: -1,
-        };
-        add(form).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.onLoadChild(this.pageChild);
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleRowClick(row) {
-        this.query = {};
-        this.parentId = row.id;
-        this.dictValue = row.dictValue;
-        this.$refs.crudChild.value.code = row.code;
-        this.$refs.crudChild.value.parentId = row.id;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "code") {
-            item.value = row.code;
-          }
-          if (item.prop === "parentId") {
-            item.value = row.id;
-          }
-        });
-        this.onLoadChild(this.pageChild);
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoadParent(this.pageParent);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.pageParent.currentPage = 1;
-        this.onLoadParent(this.pageParent, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formParent.id).then(res => {
-            this.formParent = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.pageParent.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.pageParent.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoadParent(this.pageParent, this.query);
-      },
-      rowSaveChild(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateChild(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelChild(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchResetChild() {
-        this.query = {};
-        this.onLoadChild(this.pageChild);
-      },
-      searchChangeChild(params, done) {
-        this.query = params;
-        this.pageChild.currentPage = 1;
-        this.onLoadChild(this.pageChild, params);
-        done();
-      },
-      selectionChangeChild(list) {
-        this.selectionList = list;
-      },
-      selectionClearChild() {
-        this.selectionList = [];
-        this.$refs.crudChild.toggleSelection();
-      },
-      handleDeleteChild() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudChild.toggleSelection();
-          });
-      },
-      beforeOpenChild(done, type) {
-        if (["add", "edit"].includes(type)) {
-          this.initData();
-        }
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formChild.id).then(res => {
-            this.formChild = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeCloseChild(done) {
-        this.$refs.crudChild.value.parentId = this.parentId;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "parentId") {
-            item.value = this.parentId;
-          }
-        });
-        done();
-      },
-      currentChangeChild(currentPage) {
-        this.pageChild.currentPage = currentPage;
-      },
-      sizeChangeChild(pageSize) {
-        this.pageChild.pageSize = pageSize;
-      },
-      refreshChangeChild() {
-        this.onLoadChild(this.pageChild, this.query);
-      },
-      onLoadParent(page, params = {}) {
-        this.loading = true;
-        getParentList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageParent.total = data.total;
-          this.dataParent = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      onLoadChild(page, params = {}) {
-        this.loadingChild = true;
-        getChildList(
-          page.currentPage,
-          page.pageSize,
-          this.parentId,
-          Object.assign(params, this.query)
-        ).then(res => {
-          this.dataChild = res.data.data;
-          this.loadingChild = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-

+ 0 - 447
src/views/util/demo/dictbiz.vue

@@ -1,447 +0,0 @@
-<template>
-  <el-row>
-    <el-col :span="11">
-      <basic-container>
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>业务字典列表</span>
-          </div>
-          <div class="clearfix">
-            <avue-crud
-              :option="optionParent"
-              :table-loading="loading"
-              :data="dataParent"
-              :page="pageParent"
-              ref="crud"
-              v-model="formParent"
-              :permission="permissionList"
-              :before-open="beforeOpen"
-              @row-del="rowDel"
-              @row-update="rowUpdate"
-              @row-save="rowSave"
-              @row-click="handleRowClick"
-              @search-change="searchChange"
-              @search-reset="searchReset"
-              @selection-change="selectionChange"
-              @current-change="currentChange"
-              @size-change="sizeChange"
-              @refresh-change="refreshChange"
-              @on-load="onLoadParent"
-            >
-              <template slot="menuLeft">
-                <el-button
-                  type="danger"
-                  size="small"
-                  icon="el-icon-delete"
-                  v-if="permission.dict_delete"
-                  plain
-                  @click="handleDelete"
-                >删 除
-                </el-button>
-              </template>
-              <template slot-scope="{row}" slot="isSealed">
-                <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-              </template>
-            </avue-crud>
-          </div>
-        </el-card>
-      </basic-container>
-    </el-col>
-    <el-col :span="13">
-      <basic-container>
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>[{{dictValue}}] 业务字典详情</span>
-          </div>
-          <div class="clearfix">
-            <avue-crud
-              :option="optionChild"
-              :table-loading="loadingChild"
-              :data="dataChild"
-              ref="crudChild"
-              v-model="formChild"
-              :permission="permissionList"
-              :before-open="beforeOpenChild"
-              :before-close="beforeCloseChild"
-              @row-del="rowDelChild"
-              @row-update="rowUpdateChild"
-              @row-save="rowSaveChild"
-              @search-change="searchChangeChild"
-              @search-reset="searchResetChild"
-              @selection-change="selectionChangeChild"
-              @current-change="currentChangeChild"
-              @size-change="sizeChangeChild"
-              @refresh-change="refreshChangeChild"
-              @on-load="onLoadChild"
-            >
-              <template slot="menuLeft">
-                <el-button
-                  type="danger"
-                  size="small"
-                  icon="el-icon-delete"
-                  v-if="permission.dict_delete"
-                  plain
-                  @click="handleDelete"
-                >删 除
-                </el-button>
-              </template>
-              <template slot-scope="scope" slot="menu">
-                <el-button
-                  type="text"
-                  icon="el-icon-circle-plus-outline"
-                  size="small"
-                  @click.stop="handleAdd(scope.row,scope.index)"
-                  v-if="userInfo.role_name.includes('admin')"
-                >新增子项
-                </el-button>
-              </template>
-              <template slot-scope="{row}" slot="isSealed">
-                <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag>
-              </template>
-            </avue-crud>
-          </div>
-        </el-card>
-      </basic-container>
-    </el-col>
-  </el-row>
-</template>
-
-<script>
-  import {
-    getParentList,
-    getChildList,
-    remove,
-    update,
-    add,
-    getDict,
-    getDictTree
-  } from "@/api/system/dictbiz";
-  import {optionParent, optionChild} from "@/option/system/dictbiz";
-  import {mapGetters} from "vuex";
-
-  export default {
-    data() {
-      return {
-        dictValue: '暂无',
-        parentId: -1,
-        formParent: {},
-        formChild: {},
-        selectionList: [],
-        query: {},
-        loading: true,
-        loadingChild: true,
-        pageParent: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        pageChild: {
-          pageSize: 10,
-          pageSizes: [10, 30, 50, 100, 200],
-          currentPage: 1,
-          total: 0
-        },
-        dataParent: [],
-        dataChild: [],
-        optionParent: optionParent,
-        optionChild: optionChild,
-      };
-    },
-    computed: {
-      ...mapGetters(["userInfo", "permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.dictbiz_add, false),
-          delBtn: this.vaildData(this.permission.dictbiz_delete, false),
-          editBtn: this.vaildData(this.permission.dictbiz_edit, false),
-          viewBtn: false,
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      }
-    },
-    mounted() {
-      this.initData();
-    },
-    methods: {
-      initData() {
-        getDictTree().then(res => {
-          const column = this.findObject(this.optionChild.column, "parentId");
-          column.dicData = res.data.data;
-        });
-      },
-      handleAdd(row) {
-        this.$refs.crudChild.value.parentId = row.id;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "parentId") {
-            item.value = row.id;
-          }
-        });
-        this.$refs.crudChild.rowAdd();
-      },
-      rowSave(row, done, loading) {
-        const form = {
-          ...row,
-          dictKey: -1,
-        };
-        add(form).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdate(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadParent(this.pageParent);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleRowClick(row) {
-        this.query = {};
-        this.parentId = row.id;
-        this.dictValue = row.dictValue;
-        this.$refs.crudChild.value.code = row.code;
-        this.$refs.crudChild.value.parentId = row.id;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "code") {
-            item.value = row.code;
-          }
-          if (item.prop === "parentId") {
-            item.value = row.id;
-          }
-        });
-        this.onLoadChild(this.pageChild);
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoadParent(this.pageParent);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.pageParent.currentPage = 1;
-        this.onLoadParent(this.pageParent, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadParent(this.pageParent);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formParent.id).then(res => {
-            this.formParent = res.data.data;
-          });
-        }
-        done();
-      },
-      currentChange(currentPage) {
-        this.pageParent.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.pageParent.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoadParent(this.pageParent, this.query);
-      },
-      rowSaveChild(row, done, loading) {
-        add(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowUpdateChild(row, index, done, loading) {
-        update(row).then(() => {
-          this.onLoadChild(this.pageChild);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          done();
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      rowDelChild(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(row.id);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      searchResetChild() {
-        this.query = {};
-        this.onLoadChild(this.pageChild);
-      },
-      searchChangeChild(params, done) {
-        this.query = params;
-        this.pageChild.currentPage = 1;
-        this.onLoadChild(this.pageChild, params);
-        done();
-      },
-      selectionChangeChild(list) {
-        this.selectionList = list;
-      },
-      selectionClearChild() {
-        this.selectionList = [];
-        this.$refs.crudChild.toggleSelection();
-      },
-      handleDeleteChild() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return remove(this.ids);
-          })
-          .then(() => {
-            this.onLoadChild(this.pageChild);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crudChild.toggleSelection();
-          });
-      },
-      beforeOpenChild(done, type) {
-        if (["add", "edit"].includes(type)) {
-          this.initData();
-        }
-        if (["edit", "view"].includes(type)) {
-          getDict(this.formChild.id).then(res => {
-            this.formChild = res.data.data;
-          });
-        }
-        done();
-      },
-      beforeCloseChild(done) {
-        this.$refs.crudChild.value.parentId = this.parentId;
-        this.$refs.crudChild.option.column.filter(item => {
-          if (item.prop === "parentId") {
-            item.value = this.parentId;
-          }
-        });
-        done();
-      },
-      currentChangeChild(currentPage) {
-        this.pageChild.currentPage = currentPage;
-      },
-      sizeChangeChild(pageSize) {
-        this.pageChild.pageSize = pageSize;
-      },
-      refreshChangeChild() {
-        this.onLoadChild(this.pageChild, this.query);
-      },
-      onLoadParent(page, params = {}) {
-        this.loading = true;
-        getParentList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.pageParent.total = data.total;
-          this.dataParent = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      },
-      onLoadChild(page, params = {}) {
-        this.loadingChild = true;
-        getChildList(
-          page.currentPage,
-          page.pageSize,
-          this.parentId,
-          Object.assign(params, this.query)
-        ).then(res => {
-          this.dataChild = res.data.data;
-          this.loadingChild = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>

+ 0 - 40
src/views/util/form-detail.vue

@@ -1,40 +0,0 @@
-<template>
-  <basic-container>
-    <h3>{{$route.query.id?'编辑':'新增'}}</h3>
-    <avue-form :option="option"
-               v-model="form">
-      <template slot="menuForm">
-        <el-button icon="el-icon-back"
-                   @click="handleBack()">返 回</el-button>
-      </template>
-    </avue-form>
-  </basic-container>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      form: {},
-      option: {
-        labelWidth: 110,
-        column: [
-          {
-            label: "姓名",
-            prop: "name"
-          }
-        ]
-      }
-    };
-  },
-  methods: {
-    handleBack() {
-      this.$router.$avueRouter.closeTag();
-      this.$router.back();
-    }
-  }
-};
-</script>
-
-<style>
-</style>

+ 0 - 55
src/views/util/form.vue

@@ -1,55 +0,0 @@
-<template>
-  <basic-container>
-    <h3>表单例子</h3>
-    <avue-form :option="option"
-               v-model="form"></avue-form>
-  </basic-container>
-</template>
-
-<script>
-  export default {
-    data() {
-      return {
-        form: {},
-        option: {
-          labelWidth: 110,
-          column: [
-            {
-              label: "用户名",
-              prop: "username",
-              row: true
-            },
-            {
-              label: "密码",
-              prop: "password",
-              type: "password",
-              row: true
-            },
-            {
-              label: "再次输入密码",
-              prop: "password",
-              type: "newpassword",
-              row: true
-            },
-            {
-              label: "申请日期",
-              prop: "date",
-              type: "date",
-              row: true
-            },
-            {
-              label: "个性签名",
-              prop: "textarea",
-              type: "textarea",
-              minRows: 8,
-              row: true
-            }
-          ]
-        }
-      };
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 19
src/views/util/logs.vue

@@ -1,19 +0,0 @@
-<template>
-  <basic-container>
-    <h3>请打开浏览器控制台,然后点击下面的按钮</h3>
-    <el-button type="danger"
-               size="small"
-               @click="handleNewError">触发一个错误
-    </el-button>
-  </basic-container>
-</template>
-
-<script>
-  export default {
-    methods: {
-      handleNewError() {
-        window.console.log(a); // eslint-disable-line
-      }
-    }
-  };
-</script>

+ 0 - 82
src/views/util/permission.vue

@@ -1,82 +0,0 @@
-<template>
-  <div>
-    <basic-container>
-      <h3>表格权限控制</h3>
-      <avue-crud ref="crud"
-                 :permission="permission"
-                 :option="option"
-                 :data="data">
-        <template slot="expand"
-                  slot-scope="scope">
-          {{scope}}
-        </template>
-      </avue-crud>
-    </basic-container>
-    <basic-container>
-      权限开关
-      <el-switch :active-value="false"
-                 :inactive-value="true"
-                 v-model="text"
-                 active-color="#13ce66"
-                 inactive-color="#ff4949">
-      </el-switch>
-      <p> 具体参考<a
-        href="https://avuex.avue.top/#/doc/crud-permission">https://avuex.avue.top/#/doc/crud-permission</a>
-      </p>
-    </basic-container>
-  </div>
-</template>
-
-<script>
-  export default {
-    data() {
-      return {
-        text: false,
-        permission: {},
-        option: {
-          expand: true,
-          column: [
-            {
-              label: "姓名",
-              prop: "name"
-            },
-            {
-              label: "年龄",
-              prop: "sex"
-            }
-          ]
-        },
-        data: [
-          {
-            id: 1,
-            name: "张三",
-            sex: 12
-          },
-          {
-            id: 2,
-            name: "李四",
-            sex: 20
-          }
-        ]
-      };
-    },
-    watch: {
-      text() {
-        if (this.text === true) {
-          this.permission = {
-            delBtn: false,
-            addBtn: false
-          };
-        } else {
-          this.permission = {
-            delBtn: true,
-            addBtn: true
-          };
-        }
-      }
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 122
src/views/util/store.vue

@@ -1,122 +0,0 @@
-<template>
-  <basic-container>
-    <h3>存储</h3>
-    <el-tag class="title"
-            size="small">基本读写删(持久化存储)
-    </el-tag>
-    <div class="box">
-      <el-button type="primary"
-                 size="small"
-                 @click="setItem({name:'username', value:'avuex'});">set('username', 'avuex')
-      </el-button>
-
-      <el-button type="success"
-                 size="small"
-                 @click="getItem({name:'username'});">get('username')
-      </el-button>
-
-      <el-button type="danger"
-                 size="small"
-                 @click="delItem({name:'username'});">remove('username')
-      </el-button>
-    </div>
-    <el-tag class="title"
-            size="small">设置session(session存储)
-    </el-tag>
-    <div class="box">
-      <el-button type="primary"
-                 size="small"
-                 @click="setItem({name:'username', value:'avuex',type:'session'});">set('username', 'avuex')
-      </el-button>
-
-      <el-button type="success"
-                 size="small"
-                 @click="getItem({name:'username',type:'session'});">get('username')
-      </el-button>
-
-      <el-button type="danger"
-                 size="small"
-                 @click="delItem({name:'username',type:'session'});">remove('username')
-      </el-button>
-    </div>
-    <el-tag class="title"
-            size="small">获取所有可以获得的数据
-    </el-tag>
-    <div class="box">
-      <el-button type="success"
-                 size="small"
-                 @click="getAll()">getAll(持久化存储)
-      </el-button>
-      <el-button type="success"
-                 size="small"
-                 @click="getAll({type:'session'})">getAll(session存储)
-      </el-button>
-      <el-button type="danger"
-                 size="small"
-                 @click="clearAll()">delAll(持久化存储)
-      </el-button>
-      <el-button type="danger"
-                 size="small"
-                 @click="clearAll({type:'session'})">delAll(session存储)
-      </el-button>
-    </div>
-  </basic-container>
-
-</template>
-
-<script>
-  import {
-    setStore,
-    getStore,
-    removeStore,
-    clearStore,
-    getAllStore
-  } from "@/util/store";
-
-  export default {
-    name: "store",
-    methods: {
-      setItem(params = {}) {
-        const {name, value, type} = params;
-        setStore({
-          name: name,
-          content: value,
-          type: type
-        });
-        this.$message(`设置数据 ${name} = ${value}`);
-      },
-      getItem(params = {}) {
-        const {name, type} = params;
-        const content = getStore({
-          name: name,
-          type: type
-        });
-        this.$message(`获取数据 ${name} = ${content}`);
-      },
-      delItem(params = {}) {
-        const {name, type} = params;
-        removeStore({name, type});
-        this.$message(`删除数据 ${name}`);
-      },
-      clearAll(params = {}) {
-        clearStore(params);
-        this.$message(`清除全部数据完成`);
-      },
-      getAll(params = {}) {
-        const list = getAllStore(params);
-        window.console.log(list);
-        this.$message(`结果已经打印到控制台`);
-      }
-    }
-  };
-</script>
-
-<style lang="scss">
-  .title {
-    margin-bottom: 10px;
-  }
-
-  .box {
-    margin-bottom: 20px;
-  }
-</style>

+ 0 - 129
src/views/util/table.vue

@@ -1,129 +0,0 @@
-<template>
-  <basic-container>
-    <h3>表格例子</h3>
-    <avue-crud :option="option"
-               :page.sync="page"
-               :data="data" />
-  </basic-container>
-</template>
-
-<script>
-  export default {
-    data() {
-      return {
-        page: {
-          total: 122
-        },
-        data: [
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          },
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          },
-
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          },
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          },
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          },
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          },
-          {
-            username: "smallwei",
-            name: "avue",
-            password: "123456",
-            newpassword: "123456",
-            date: "2019-01-01",
-            textarea: "这是一条很长很长很长很长很长很长很长很长的个性签名"
-          }
-        ],
-        option: {
-          column: [
-            {
-              label: "用户名",
-              prop: "username",
-              span: 14,
-              row: true
-            },
-            {
-              label: "姓名",
-              prop: "name",
-              span: 14,
-              row: true
-            },
-            {
-              label: "密码",
-              prop: "password",
-              type: "password",
-              span: 14,
-              row: true
-            },
-            {
-              label: "确认密码",
-              prop: "newpassword",
-              type: "password",
-              hide: true,
-              span: 14,
-              row: true
-            },
-            {
-              label: "申请日期",
-              prop: "date",
-              type: "date",
-              span: 14,
-              row: true
-            },
-            {
-              label: "个性签名",
-              prop: "textarea",
-              type: "textarea",
-              minRows: 8,
-              span: 24,
-              overHidden: true,
-              row: true
-            }
-          ]
-        }
-      };
-    }
-  };
-</script>
-
-<style>
-</style>

+ 0 - 27
src/views/util/tags.vue

@@ -1,27 +0,0 @@
-<template>
-  <basic-container>
-    <h3>标签</h3>
-    <el-button type="primary"
-               size="small"
-               @click="$router.push('/test/index')">打开一个页面
-    </el-button>
-    <el-button type="primary"
-               size="small"
-               @click="$router.$avueRouter.closeTag('/test/index')">关闭打开的页面
-    </el-button>
-    <el-button type="primary"
-               size="small"
-               @click="$router.$avueRouter.closeTag()">关闭本标签
-    </el-button>
-
-  </basic-container>
-</template>
-
-<script>
-  export default {
-    methods: {}
-  };
-</script>
-
-<style>
-</style>

+ 0 - 21
src/views/util/test.vue

@@ -1,21 +0,0 @@
-<template>
-  <div>
-    <basic-container>测试页</basic-container>
-  </div>
-</template>
-
-<script>
-  export default {
-    name: "wel",
-    data() {
-      return {};
-    },
-    computed: {},
-    created() {
-    },
-    methods: {}
-  };
-</script>
-
-<style scoped="scoped" lang="scss">
-</style>

+ 0 - 28
src/views/util/top.vue

@@ -1,28 +0,0 @@
-<template>
-  <div>
-    <div style="height:2000px;background-color:#fff;">
-      <div style="padding:15px 20px;font-size:18px;">往下拉就会出现返回菜单</div>
-    </div>
-    <avue-back-top id="avue-view"></avue-back-top>
-    <avue-back-top id="avue-view"
-                   :height="100"
-                   :bottom="200">
-      <div class="top">返回顶端</div>
-    </avue-back-top>
-  </div>
-</template>
-
-<script>
-export default {};
-</script>
-
-<style scoped>
-.top {
-  padding: 10px;
-  font-size: 14px;
-  background: rgba(0, 153, 229, 0.7);
-  color: #fff;
-  text-align: center;
-  border-radius: 2px;
-}
-</style>

+ 0 - 231
src/views/work/claim.vue

@@ -1,231 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_claim_sign"
-                   plain
-                   class="none-border"
-                   @click.stop="handleClaim(scope.row)">签收
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_claim_detail"
-                   plain
-                   class="none-border"
-                   @click.stop="handleDetail(scope.row)">详情
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_claim_follow"
-                   plain
-                   class="none-border"
-                   @click.stop="handleImage(scope.row,scope.index)">跟踪
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="processDefinitionVersion">
-        <el-tag>v{{row.processDefinitionVersion}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="流程图"
-               append-to-body
-               :visible.sync="flowBox"
-               :fullscreen="true">
-      <iframe
-        :src=flowUrl
-        width="100%"
-        height="700"
-        title="流程图"
-        frameBorder="no"
-        border="0"
-        marginWidth="0"
-        marginHeight="0"
-        scrolling="no"
-        allowTransparency="yes">
-      </iframe>
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="flowBox = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {mapGetters} from "vuex";
-  import {claimList, claimTask} from "@/api/work/work";
-  import {flowCategory, flowRoute} from "@/util/flow";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionId: '',
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        flowBox: false,
-        flowUrl: '',
-        workBox: false,
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          editBtn: false,
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          dialogWidth: 900,
-          menuWidth: 150,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "流程分类",
-              type: "select",
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=flow",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              hide: true,
-              width: 100,
-            },
-            {
-              label: '流程名称',
-              prop: 'processDefinitionName',
-              search: true,
-            },
-            {
-              label: '当前步骤',
-              prop: 'taskName',
-            },
-            {
-              label: '流程版本',
-              prop: 'processDefinitionVersion',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '申请时间',
-              prop: 'createTime',
-              width: 165,
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission", "flowRoutes"]),
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleClaim(row) {
-        this.$confirm("确定签收此任务?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return claimTask(row.taskId);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDetail(row) {
-        this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`});
-      },
-      handleImage(row) {
-        this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
-        this.flowBox = true;
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const query = {
-          ...this.query,
-          category: (params.category) ? flowCategory(params.category) : null
-        };
-        this.loading = true;
-        claimList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .none-border {
-    border: 0;
-    background-color: transparent !important;
-  }
-</style>

+ 0 - 207
src/views/work/done.vue

@@ -1,207 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :page.sync="page"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_done_detail"
-                   plain
-                   class="none-border"
-                   @click.stop="handleDetail(scope.row)">详情
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_done_follow"
-                   plain
-                   class="none-border"
-                   @click.stop="handleImage(scope.row,scope.index)">跟踪
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="processDefinitionVersion">
-        <el-tag>v{{row.processDefinitionVersion}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="流程图"
-               append-to-body
-               :visible.sync="flowBox"
-               :fullscreen="true">
-      <iframe
-        :src=flowUrl
-        width="100%"
-        height="700"
-        title="流程图"
-        frameBorder="no"
-        border="0"
-        marginWidth="0"
-        marginHeight="0"
-        scrolling="no"
-        allowTransparency="yes">
-      </iframe>
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="flowBox = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {mapGetters} from "vuex";
-  import {doneList} from "@/api/work/work";
-  import {flowCategory, flowRoute} from "@/util/flow";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionId: '',
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        flowBox: false,
-        flowUrl: '',
-        workBox: false,
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          editBtn: false,
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          dialogWidth: 900,
-          menuWidth: 150,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "流程分类",
-              type: "select",
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=flow",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              hide: true,
-              width: 100,
-            },
-            {
-              label: '流程名称',
-              prop: 'processDefinitionName',
-              search: true,
-            },
-            {
-              label: '当前步骤',
-              prop: 'taskName',
-            },
-            {
-              label: '流程版本',
-              prop: 'processDefinitionVersion',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '申请时间',
-              prop: 'createTime',
-              width: 165,
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission", "flowRoutes"]),
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDetail(row) {
-        this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`});
-      },
-      handleImage(row) {
-        this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
-        this.flowBox = true;
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const query = {
-          ...this.query,
-          category: (params.category) ? flowCategory(params.category) : null
-        };
-        this.loading = true;
-        doneList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .none-border {
-    border: 0;
-    background-color: transparent !important;
-  }
-</style>

+ 0 - 108
src/views/work/process/leave/detail.vue

@@ -1,108 +0,0 @@
-<template>
-  <basic-container>
-    <el-form ref="form" :model="form" label-width="80px">
-      <el-row type="flex" class="row-bg" justify="end">
-        <el-form-item>
-          <el-button @click="handleCancel">关闭</el-button>
-        </el-form-item>
-      </el-row>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>审批信息</span>
-        </div>
-        <el-form-item label="申请人">
-          <el-input :disabled="true" v-model="form.flow.assigneeName" />
-        </el-form-item>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="开始时间">
-              <el-input :disabled="true" v-model="form.startTime" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="结束时间">
-              <el-input :disabled="true" v-model="form.endTime" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="请假理由">
-          <el-input :disabled="true" type="textarea" v-model="form.reason" />
-        </el-form-item>
-      </el-card>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>流程信息</span>
-        </div>
-        <el-row type="flex" class="row-bg">
-          <el-timeline>
-            <el-timeline-item :key="flow.id" :timestamp="flow.createTime" v-for="flow in flowList" placement="top">
-              <el-card shadow="hover">
-                <p>{{flow.assigneeName}} 在 [{{flow.createTime}}] 开始处理 [{{flow.historyActivityName}}] 环节</p>
-                <p v-if="flow.historyActivityDurationTime!==''">任务历时 [{{flow.historyActivityDurationTime}}]</p>
-                <p v-if="flow.comment!==''">批复意见: [{{flow.comment}}]</p>
-                <p v-if="flow.endTime!==''">结束时间: [{{flow.endTime}}]</p>
-              </el-card>
-            </el-timeline-item>
-          </el-timeline>
-        </el-row>
-      </el-card>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>流程跟踪</span>
-        </div>
-        <el-row type="flex" class="row-bg">
-          <img :src="src" alt="design">
-        </el-row>
-      </el-card>
-    </el-form>
-  </basic-container>
-</template>
-
-<script>
-  import {historyFlowList, leaveDetail} from "@/api/work/process";
-
-  export default {
-    data() {
-      return {
-        businessId: '',
-        processInstanceId: '',
-        src: '',
-        flowList: [],
-        form: {
-          flow:{
-            assigneeName:'',
-          },
-          startTime: '',
-          endTime: '',
-          reason: '',
-        }
-      }
-    },
-    created() {
-      this.init();
-    },
-    methods: {
-      init() {
-        this.processInstanceId = this.$route.params.processInstanceId;
-        this.businessId = this.$route.params.businessId;
-        this.src = `/api/blade-flow/process/diagram-view?processInstanceId=${this.$route.params.processInstanceId}&t=${new Date().getTime()}`;
-        historyFlowList(this.processInstanceId).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.flowList = data.data;
-          }
-        })
-        leaveDetail(this.businessId).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.form = data.data;
-          }
-        })
-      },
-      handleCancel() {
-        this.$router.$avueRouter.closeTag();
-        this.$router.push({path: `/work/start`});
-      }
-    }
-  }
-</script>

+ 0 - 103
src/views/work/process/leave/form.vue

@@ -1,103 +0,0 @@
-<template>
-  <basic-container>
-    <avue-form :option="option" v-model="form" @submit="handleSubmit"/>
-  </basic-container>
-</template>
-
-<script>
-  import {leaveProcess} from "@/api/work/process";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        option: {
-          group: [
-            {
-              icon: 'el-icon-info',
-              label: '请假基础信息',
-              prop: 'group1',
-              column: [
-                {
-                  label: '审批人员',
-                  prop: 'taskUser',
-                  type: 'select',
-                  dicUrl: `/api/blade-user/user-list`,
-                  props: {
-                    label: "account",
-                    value: "id"
-                  },
-                  span: 24,
-                  rules: [
-                    {
-                      required: true,
-                      message: '请选择审批人员',
-                      trigger: 'blur'
-                    }
-                  ]
-                },
-                {
-                  label: '开始时间',
-                  prop: 'startTime',
-                  type: 'datetime',
-                  valueFormat: 'yyyy-MM-dd HH:mm:ss',
-                  rules: [
-                    {
-                      required: true,
-                      message: '请选择开始时间',
-                      trigger: 'blur'
-                    }
-                  ]
-                },
-                {
-                  label: '结束时间',
-                  prop: 'endTime',
-                  type: 'datetime',
-                  valueFormat: 'yyyy-MM-dd HH:mm:ss',
-                  rules: [
-                    {
-                      required: true,
-                      message: '请选择结束时间',
-                      trigger: 'blur'
-                    }
-                  ]
-                },
-                {
-                  label: '请假理由',
-                  prop: 'reason',
-                  type: 'textarea',
-                  span: 24,
-                  rules: [
-                    {
-                      required: true,
-                      message: '请输入请假理由',
-                      trigger: 'blur'
-                    }
-                  ]
-                },
-              ]
-            },
-          ],
-        }
-      }
-    },
-    methods: {
-      handleSubmit() {
-        const params = {
-          processDefinitionId: this.$route.params.processDefinitionId,
-          ...this.form,
-        };
-        leaveProcess(params).then(resp => {
-          const data = resp.data;
-          if (data.success) {
-            this.$message.success(data.msg);
-            this.$router.$avueRouter.closeTag();
-            this.$router.push({path: `/work/start`});
-          } else {
-            this.$message.error(data.msg || '提交失败');
-          }
-        });
-      }
-    }
-  }
-</script>

+ 0 - 170
src/views/work/process/leave/handle.vue

@@ -1,170 +0,0 @@
-<template>
-  <basic-container>
-    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-      <el-row type="flex" class="row-bg" justify="end">
-        <el-form-item>
-          <el-button type="primary" @click="handleAgree">同意</el-button>
-          <el-button type="danger" @click="handleDisagree">驳回</el-button>
-          <el-button @click="handleCancel">关闭</el-button>
-        </el-form-item>
-      </el-row>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>审批信息</span>
-        </div>
-        <el-form-item label="申请人">
-          <el-input :disabled="true" v-model="form.flow.assigneeName"/>
-        </el-form-item>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="开始时间">
-              <el-input :disabled="true" v-model="form.startTime"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="结束时间">
-              <el-input :disabled="true" v-model="form.endTime"/>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="请假理由">
-          <el-input :disabled="true" type="textarea" v-model="form.reason"/>
-        </el-form-item>
-        <el-form-item label="批复意见">
-          <el-input type="textarea" v-model="form.comment"/>
-        </el-form-item>
-      </el-card>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>流程信息</span>
-        </div>
-        <el-row type="flex" class="row-bg">
-          <el-timeline>
-            <el-timeline-item :key="flow.id" :timestamp="flow.createTime" v-for="flow in flowList" placement="top">
-              <el-card shadow="hover">
-                <p>{{flow.assigneeName}} 在 [{{flow.createTime}}] 开始处理 [{{flow.historyActivityName}}] 环节</p>
-                <p v-if="flow.historyActivityDurationTime!==''">任务历时 [{{flow.historyActivityDurationTime}}]</p>
-                <p v-if="flow.comment!==''">批复意见: [{{flow.comment}}]</p>
-                <p v-if="flow.endTime!==''">结束时间: [{{flow.endTime}}]</p>
-              </el-card>
-            </el-timeline-item>
-          </el-timeline>
-        </el-row>
-      </el-card>
-      <el-card shadow="hover">
-        <div slot="header">
-          <span>流程跟踪</span>
-        </div>
-        <el-row type="flex" class="row-bg">
-          <img :src="src" alt="design">
-        </el-row>
-      </el-card>
-    </el-form>
-  </basic-container>
-</template>
-
-<script>
-  import {historyFlowList, leaveDetail} from "@/api/work/process";
-  import {completeTask} from "@/api/work/work";
-
-  export default {
-    data() {
-      return {
-        taskId: '',
-        businessId: '',
-        processInstanceId: '',
-        src: '',
-        flowList: [],
-        form: {
-          flow: {
-            assigneeName: '',
-          },
-          startTime: '',
-          endTime: '',
-          reason: '',
-          comment: '',
-        },
-      }
-    },
-    created() {
-      this.init();
-    },
-    beforeRouteUpdate(to, from, next) {
-      // 在当前路由改变,但是该组件被复用时调用
-      // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候
-      // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用
-      // 可以访问组件实例 `this`
-      if (to.fullPath !== from.fullPath) {
-        next();
-        this.init();
-      }
-    },
-    methods: {
-      init() {
-        this.taskId = this.$route.params.taskId;
-        this.processInstanceId = this.$route.params.processInstanceId;
-        this.businessId = this.$route.params.businessId;
-        this.src = `/api/blade-flow/process/diagram-view?processInstanceId=${this.$route.params.processInstanceId}&t=${new Date().getTime()}`;
-        historyFlowList(this.processInstanceId).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.flowList = data.data;
-          }
-        })
-        leaveDetail(this.businessId).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.form = data.data;
-          }
-        })
-      },
-      handleAgree() {
-        if (!this.form.comment) {
-          this.$message.warning('请先填写批复意见');
-          return;
-        }
-        const params = {
-          taskId: this.taskId,
-          processInstanceId: this.processInstanceId,
-          flag: 'ok',
-          comment: this.form.comment,
-        };
-        completeTask(params).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.$message.success(data.msg);
-            this.$router.$avueRouter.closeTag();
-            this.$router.push({path: `/work/start`});
-          } else {
-            this.$message.error(data.msg || '提交失败');
-          }
-        })
-      },
-      handleDisagree() {
-        if (!this.form.comment) {
-          this.$message.warning('请先填写批复意见');
-          return;
-        }
-        const params = {
-          taskId: this.taskId,
-          processInstanceId: this.processInstanceId,
-          comment: this.form.comment,
-        };
-        completeTask(params).then(res => {
-          const data = res.data;
-          if (data.success) {
-            this.$message.success(data.msg);
-            this.$router.$avueRouter.closeTag();
-            this.$router.push({path: `/work/start`});
-          } else {
-            this.$message.error(data.msg || '提交失败');
-          }
-        })
-      },
-      handleCancel() {
-        this.$router.$avueRouter.closeTag();
-        this.$router.push({path: `/work/start`});
-      }
-    }
-  }
-</script>

+ 0 - 217
src/views/work/send.vue

@@ -1,217 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :page.sync="page"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_send_detail"
-                   plain
-                   class="none-border"
-                   @click.stop="handleDetail(scope.row)">详情
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_send_follow"
-                   plain
-                   class="none-border"
-                   @click.stop="handleImage(scope.row,scope.index)">跟踪
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="processDefinitionVersion">
-        <el-tag>v{{row.processDefinitionVersion}}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="processIsFinished">
-        <el-tag>{{row.processIsFinished==='finished' ? '已完成' : '未完成'}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="流程图"
-               append-to-body
-               :visible.sync="flowBox"
-               :fullscreen="true">
-      <iframe
-        :src=flowUrl
-        width="100%"
-        height="700"
-        title="流程图"
-        frameBorder="no"
-        border="0"
-        marginWidth="0"
-        marginHeight="0"
-        scrolling="no"
-        allowTransparency="yes">
-      </iframe>
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="flowBox = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {mapGetters} from "vuex";
-  import {sendList} from "@/api/work/work";
-  import {flowCategory,flowRoute} from "@/util/flow";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionId: '',
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        flowBox: false,
-        flowUrl: '',
-        workBox: false,
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          editBtn: false,
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          dialogWidth: 900,
-          menuWidth: 150,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "流程分类",
-              type: "select",
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=flow",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              hide: true,
-              width: 100,
-            },
-            {
-              label: '流程名称',
-              prop: 'processDefinitionName',
-              search: true,
-            },
-            {
-              label: '当前步骤',
-              prop: 'taskName',
-            },
-            {
-              label: '流程版本',
-              prop: 'processDefinitionVersion',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '流程进度',
-              prop: 'processIsFinished',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '申请时间',
-              prop: 'createTime',
-              width: 165,
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission", "flowRoutes"]),
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleDetail(row) {
-        this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` });
-      },
-      handleImage(row) {
-        this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
-        this.flowBox = true;
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const query = {
-          ...this.query,
-          category: (params.category) ? flowCategory(params.category) : null
-        };
-        this.loading = true;
-        sendList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .none-border {
-    border: 0;
-    background-color: transparent !important;
-  }
-</style>

+ 0 - 243
src/views/work/start.vue

@@ -1,243 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               v-model="form"
-               ref="crud"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-radio-group v-model="mode" size="small">
-          <el-radio-button label="1">通用流程</el-radio-button>
-          <el-radio-button label="2">定制流程</el-radio-button>
-        </el-radio-group>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_start_flow"
-                   plain
-                   class="none-border"
-                   @click.stop="handleStart(scope.row)">发起
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_start_image"
-                   plain
-                   class="none-border"
-                   @click.stop="handleImage(scope.row,scope.index)">流程图
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="tenantId">
-        <el-tag>{{row.tenantId===''?'通用':row.tenantId}}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="version">
-        <el-tag>v{{row.version}}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="suspensionState">
-        <el-tag>{{row.suspensionState===1?'激活':'挂起'}}</el-tag>
-      </template>
-      <template slot-scope="{row}"
-                slot="category">
-        <el-tag>{{row.categoryName}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="流程图"
-               append-to-body
-               :visible.sync="flowBox"
-               :fullscreen="true">
-      <iframe
-        :src=flowUrl
-        width="100%"
-        height="700"
-        title="流程图"
-        frameBorder="no"
-        border="0"
-        marginWidth="0"
-        marginHeight="0"
-        scrolling="no"
-        allowTransparency="yes">
-      </iframe>
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="flowBox = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {mapGetters} from "vuex";
-  import {startList} from "@/api/work/work";
-  import {flowCategory, flowRoute} from "@/util/flow";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        mode: '1',
-        selectionId: '',
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        flowBox: false,
-        flowUrl: '',
-        workBox: false,
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          editBtn: false,
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          menuWidth: 150,
-          dialogWidth: 900,
-          dialogClickModal: false,
-          column: [
-            {
-              label: '租户编号',
-              prop: 'tenantId',
-              slot: true,
-              width: 120,
-            },
-            {
-              label: "流程分类",
-              type: "select",
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=flow",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              width: 100,
-            },
-            {
-              label: '流程标识',
-              prop: 'key',
-            },
-            {
-              label: '流程名称',
-              prop: 'name',
-              search: true,
-            },
-            {
-              label: '流程版本',
-              prop: 'version',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '状态',
-              prop: 'suspensionState',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '部署时间',
-              prop: 'deploymentTime',
-              width: 165,
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    watch: {
-      'mode'() {
-        this.onLoad(this.page);
-      }
-    },
-    computed: {
-      ...mapGetters(["permission", "flowRoutes"]),
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleStart(row) {
-        this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/form/${row.id}`});
-      },
-      handleImage(row) {
-        this.flowUrl = `/api/blade-flow/process/resource-view?processDefinitionId=${row.id}`;
-        this.flowBox = true;
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const query = {
-          ...this.query,
-          category: (params.category) ? flowCategory(params.category) : null,
-          mode: this.mode
-        };
-        this.loading = true;
-        startList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .none-border {
-    border: 0;
-    background-color: transparent !important;
-  }
-</style>

+ 0 - 217
src/views/work/todo.vue

@@ -1,217 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot-scope="scope" slot="menu">
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_todo_handle"
-                   plain
-                   class="none-border"
-                   @click.stop="handleWork(scope.row)">处理
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_todo_detail"
-                   plain
-                   class="none-border"
-                   @click.stop="handleDetail(scope.row)">详情
-        </el-button>
-        <el-button type="text"
-                   size="small"
-                   v-if="permission.work_todo_follow"
-                   plain
-                   class="none-border"
-                   @click.stop="handleImage(scope.row,scope.index)">跟踪
-        </el-button>
-      </template>
-      <template slot-scope="{row}"
-                slot="processDefinitionVersion">
-        <el-tag>v{{row.processDefinitionVersion}}</el-tag>
-      </template>
-    </avue-crud>
-    <el-dialog title="流程图"
-               append-to-body
-               :visible.sync="flowBox"
-               :fullscreen="true">
-      <iframe
-        :src=flowUrl
-        width="100%"
-        height="700"
-        title="流程图"
-        frameBorder="no"
-        border="0"
-        marginWidth="0"
-        marginHeight="0"
-        scrolling="no"
-        allowTransparency="yes">
-      </iframe>
-      <span slot="footer"
-            class="dialog-footer">
-        <el-button @click="flowBox = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
-</template>
-
-<script>
-  import {mapGetters} from "vuex";
-  import {todoList} from "@/api/work/work";
-  import {flowCategory,flowRoute} from "@/util/flow";
-
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionId: '',
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        flowBox: false,
-        flowUrl: '',
-        workBox: false,
-        option: {
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          simplePage: true,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          selection: true,
-          editBtn: false,
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          dialogWidth: 900,
-          menuWidth: 150,
-          dialogClickModal: false,
-          column: [
-            {
-              label: "流程分类",
-              type: "select",
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=flow",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              search: true,
-              hide: true,
-              width: 100,
-            },
-            {
-              label: '流程名称',
-              prop: 'processDefinitionName',
-              search: true,
-            },
-            {
-              label: '当前步骤',
-              prop: 'taskName',
-            },
-            {
-              label: '流程版本',
-              prop: 'processDefinitionVersion',
-              slot: true,
-              width: 80,
-            },
-            {
-              label: '申请时间',
-              prop: 'createTime',
-              width: 165,
-            },
-          ]
-        },
-        data: []
-      };
-    },
-    computed: {
-      ...mapGetters(["permission", "flowRoutes"]),
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
-      },
-    },
-    methods: {
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      handleWork(row) {
-        this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}` });
-      },
-      handleDetail(row) {
-        this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` });
-      },
-      handleImage(row) {
-        this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
-        this.flowBox = true;
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        const query = {
-          ...this.query,
-          category: (params.category) ? flowCategory(params.category) : null
-        };
-        this.loading = true;
-        todoList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
-        });
-      }
-    }
-  };
-</script>
-
-<style>
-  .none-border {
-    border: 0;
-    background-color: transparent !important;
-  }
-</style>