Переглянути джерело

修改-添加加载-删除多选

YY 2 роки тому
батько
коміт
7829780bcb
38 змінених файлів з 280 додано та 812 видалено
  1. 1 22
      src/views/platActivi/act/index.vue
  2. 0 165
      src/views/platActivi/act/parts/detail copy.vue
  3. 2 2
      src/views/platActivi/act/parts/goods.vue
  4. 1 1
      src/views/platActivi/act/parts/goods/goodsDetail.vue
  5. 1 1
      src/views/platActivi/act/parts/goods/goodsSpec.vue
  6. 0 117
      src/views/platActivi/act/parts/goods/tabs-1 copy.vue
  7. 0 78
      src/views/platActivi/act/parts/goods/tabs-2 copy.vue
  8. 9 1
      src/views/platActivi/actTags/detail.vue
  9. 11 20
      src/views/platActivi/actTags/index.vue
  10. 9 1
      src/views/platActivi/coupon/detail.vue
  11. 9 1
      src/views/platActivi/coupon/index.vue
  12. 9 1
      src/views/platSettings/banner/detail.vue
  13. 10 20
      src/views/platSettings/banner/index.vue
  14. 32 40
      src/views/platSettings/config/index.vue
  15. 9 1
      src/views/platSettings/indexModule/detail.vue
  16. 12 26
      src/views/platSettings/indexModule/index.vue
  17. 9 1
      src/views/platfinance/bill/index.vue
  18. 9 1
      src/views/platfinance/withdrawal/index.vue
  19. 9 1
      src/views/platmanag/goodsRate/detail.vue
  20. 10 19
      src/views/platmanag/goodsRate/index.vue
  21. 1 19
      src/views/platmanag/order/parts/card-1.vue
  22. 1 19
      src/views/platmanag/order/parts/card-2.vue
  23. 1 20
      src/views/platmanag/order/parts/card-3.vue
  24. 1 20
      src/views/platmanag/order/parts/card-4.vue
  25. 1 19
      src/views/platmanag/order/parts/card-5.vue
  26. 11 22
      src/views/platmanag/sales/index.vue
  27. 1 1
      src/views/platmanag/storeAcc/detail.vue
  28. 9 1
      src/views/platmanag/user/index.vue
  29. 10 19
      src/views/selfShop/goodsRate/index.vue
  30. 6 24
      src/views/selfShop/order/parts/card-1.vue
  31. 6 26
      src/views/selfShop/order/parts/card-3.vue
  32. 5 25
      src/views/selfShop/order/parts/card-4.vue
  33. 4 21
      src/views/selfShop/order/parts/card-5.vue
  34. 3 1
      src/views/selfShop/order/parts/parts/detail-1.vue
  35. 10 19
      src/views/selfShop/sales/index.vue
  36. 46 35
      src/views/zr/zrGoods/index.vue
  37. 9 1
      src/views/zr/zrOrder/detail_orderDetail.vue
  38. 3 1
      src/views/zr/zrOrder/parts/detail-1.vue

+ 1 - 22
src/views/platActivi/act/index.vue

@@ -11,19 +11,7 @@
             <el-button type="primary" size="mini" @click="toAdd()">新增</el-button>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @edit="toEdit"
-              @del="toDel"
-              @manage="toManage"
-            >
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit" @del="toDel" @manage="toManage">
             </data-table>
           </el-col>
         </span>
@@ -44,7 +32,6 @@ export default {
   props: {},
   components: {
     search1: () => import('./search/search-1.vue'),
-
     detail: () => import('./parts/detail.vue'),
   },
   data: function () {
@@ -55,7 +42,6 @@ export default {
       opera: [
         { label: '修改', method: 'edit' },
         { label: '商品管理', method: 'manage' },
-
         { label: '删除', method: 'del', confirm: true, type: 'danger' },
       ],
       fields: [
@@ -94,8 +80,6 @@ export default {
       total: 0,
       // 查询
       searchForm: {},
-      // 多选值
-      selected: [],
       // 是否开启
       isuseList: [],
       id: '',
@@ -130,7 +114,6 @@ export default {
       this.$set(this, `id`, data.id);
       this.$set(this, `view`, 'info');
     },
-
     toBack() {
       this.view = 'list';
     },
@@ -151,10 +134,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
     // 查询其他信息
     async searchOther() {
       let res;

+ 0 - 165
src/views/platActivi/act/parts/detail copy.vue

@@ -1,165 +0,0 @@
-<template>
-  <div id="form-1">
-    <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
-        <el-col>
-          <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
-        </el-col>
-        <el-col class="top-btn">
-          <el-button class="btn" type="success" size="mini" @click="onSubmit('form')">提交保存</el-button>
-        </el-col>
-        <el-col :span="24" class="one">
-          <el-tabs type="border-card">
-            <el-tab-pane label="活动基础设置">
-              <tabs-1 :form="form" :act_typeList="act_typeList" :isuseList="isuseList" :url="url" :rules="rules"></tabs-1>
-            </el-tab-pane>
-            <!-- <el-tab-pane label="活动程序设置" v-if="form.type == '5' || form.type == '6'"> -->
-            <el-tab-pane label="活动程序设置">
-              <tabs-2 :form="form" :rules="rules"></tabs-2>
-            </el-tab-pane>
-          </el-tabs>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-const _ = require('lodash');
-const moment = require('moment');
-import { mapState, mapGetters, createNamespacedHelpers } from 'vuex';
-const { mapActions } = createNamespacedHelpers('platformAct');
-const { mapActions: dictData } = createNamespacedHelpers('dictData');
-
-export default {
-  name: 'form-1',
-  props: { id: { type: String } },
-  components: {
-    tabs1: () => import('./goods/tabs-1.vue'),
-    tabs2: () => import('./goods/tabs-2.vue'),
-  },
-  data: function () {
-    return {
-      url: '/files/point/platformAct/upload',
-      form: {
-        // 活动时间
-        act_time: {},
-        // 活动说明
-        content: {},
-        // 设置
-        config: {},
-        // 满减折扣设置
-        manZhe: {},
-        // 满减设置
-        manJian: {},
-      },
-      rules: {
-        label: [{ required: true, message: '请输入活动标题', trigger: 'blur' }],
-        is_use: [{ required: true, message: '请选择是否开启', trigger: 'change' }],
-        type: [{ required: true, message: '请选择活动类型', trigger: 'change' }],
-      },
-      // 是否使用
-      isuseList: [],
-      // 活动类型
-      act_typeList: [],
-    };
-  },
-  async created() {
-    await this.searchOther();
-    await this.search();
-  },
-  methods: {
-    ...dictData({ dictQuery: 'query' }),
-    ...mapActions(['fetch', 'create', 'update']),
-    // 查询
-    async search() {
-      if (this.id) {
-        let res = await this.fetch(this.id);
-        if (this.$checkRes(res)) {
-          if (res.data.type == '5') res.data.manJian = res.data.config.discount.type[0];
-          else if (res.data.type == '6') res.data.manZhe = res.data.config.discount.type[0];
-          res.data.config.time = [res.data.config.time_start, res.data.config.time_end];
-          this.$set(this, `form`, res.data);
-        }
-      } else {
-        this.$set(this, `form`, {
-          is_use: '0',
-          show_index: '0',
-          act_time: { is_use: '0' },
-          content: { is_use: '0' },
-        });
-      }
-    },
-    async onSubmit(formName) {
-      console.log(this.form);
-      // this.$refs[formName].validate(async (valid) => {
-      //   if (valid) {
-      //     this.$confirm('是否确认保存', '提示', {
-      //       confirmButtonText: '确定',
-      //       cancelButtonText: '取消',
-      //       type: 'warning',
-      //     }).then(async () => {
-      //       let form = this.form;
-      //       this.config[`time_start`] = _.head(this.config.time);
-      //       this.config[`time_end`] = _.last(this.config.time);
-      //       let manZhe = this.manZhe;
-      //       let manJian = this.manJian;
-      //       // 满减档位
-      //       let discount = [];
-      //       if (form.type == '5') discount.push(manJian);
-      //       delete this.config.time;
-      //       this.config.discount = discount;
-      //       form = { ...form, act_time: this.act_time, content: this.content, config: this.config };
-
-      //       // let res;
-      //       // if (form.id) res = await this.update(form);
-      //       // else res = await this.create(form);
-      //       // if (this.$checkRes(res)) {
-      //       //   this.$message({ type: `success`, message: `维护信息成功` });
-      //       //   this.toBack();
-      //       // }
-      //     });
-      //   } else {
-      //     return false;
-      //   }
-      // });
-    },
-    // 查询其他信息
-    async searchOther() {
-      let res;
-      // 是否使用
-      res = await this.dictQuery({ code: 'use' });
-      if (this.$checkRes(res)) {
-        this.$set(this, `isuseList`, res.data);
-      }
-      // 活动类型
-      res = await this.dictQuery({ code: 'act_type' });
-      if (this.$checkRes(res)) {
-        this.$set(this, `act_typeList`, res.data);
-      }
-    },
-    // 返回
-    toBack() {
-      this.$emit('toBack');
-    },
-  },
-  computed: {},
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.top-btn {
-  margin: 10px 0;
-  text-align: center;
-}
-</style>

+ 2 - 2
src/views/platActivi/act/parts/goods.vue

@@ -64,8 +64,8 @@ export default {
       ],
       operas: [{ label: '删除', method: 'del', confirm: true, type: 'danger' }],
       fields: [
-        { label: '商品名称', model: 'goods_name' },
-        { label: '商品规格', model: 'spec_name' },
+        { label: '商品名称', model: 'goods_name', showTip: false },
+        { label: '商品规格', model: 'spec_name', showTip: false },
         { label: '店铺名称', model: 'shop_name' },
         { label: '商品原价', model: 'sell_money' },
       ],

+ 1 - 1
src/views/platActivi/act/parts/goods/goodsDetail.vue

@@ -35,7 +35,7 @@ export default {
       // 列表
       opera: [{ label: '选择规格', method: 'add' }],
       fields: [
-        { label: '商品名称', model: 'name' },
+        { label: '商品名称', model: 'name', showTip: false },
         { label: '店铺名称', model: 'shop.name' },
         { label: '浏览量', model: 'view_num' },
         { label: '来源', model: 'source' },

+ 1 - 1
src/views/platActivi/act/parts/goods/goodsSpec.vue

@@ -30,7 +30,7 @@ export default {
       // 列表
       opera: [{ label: '添加', method: 'add' }],
       fields: [
-        { label: '规格名称', model: 'name' },
+        { label: '规格名称', model: 'name', showTip: false },
         { label: '实际销售价格', model: 'sell_money' },
         { label: '划掉销售价格', model: 'flow_money' },
         { label: '运费', model: 'freight' },

+ 0 - 117
src/views/platActivi/act/parts/goods/tabs-1 copy.vue

@@ -1,117 +0,0 @@
-<template>
-  <div id="tabs-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-col :span="24" class="one">
-          <el-form :model="form" :rules="rules" ref="form" label-width="auto">
-            <el-col :span="18">
-              <el-form-item label="活动时间" prop="act_time">
-                <el-form-item label="是否显示">
-                  <el-select v-model="form.act_time.is_use" placeholder="请选择">
-                    <el-option v-for="i in isuseList" :key="i.model" :label="i.label" :value="i.value"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="活动标题">
-                  <el-input v-model="form.act_time.title"></el-input>
-                </el-form-item>
-                <el-form-item label="说明">
-                  <el-input v-model="form.act_time.value"></el-input>
-                </el-form-item>
-              </el-form-item>
-            </el-col>
-            <el-col :span="13">
-              <el-form-item label="是否在首页展示" prop="show_index">
-                <el-select v-model="form.show_index" clearable filterable placeholder="请选择是否在首页展示" size="small" style="width: 100%">
-                  <el-option v-for="i in isuseList" :key="i.value" :label="i.label" :value="i.value"> </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="13">
-              <el-form-item label="是否开启" prop="is_use">
-                <el-select v-model="form.is_use" clearable filterable placeholder="请选择是否开启" size="small" style="width: 100%">
-                  <el-option v-for="i in isuseList" :key="i.value" :label="i.label" :value="i.value"> </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="13">
-              <el-form-item label="排序" prop="sort">
-                <el-input v-model="form.sort" placeholder="请输入排序" size="small" type="Number"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="13">
-              <el-form-item label="活动类型" prop="type">
-                <el-select v-model="form.type" clearable filterable placeholder="请选择活动类型" size="small" style="width: 100%">
-                  <el-option v-for="i in act_typeList" :key="i.value" :label="i.label" :value="i.value"> </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-col :span="8">
-                <el-form-item label="分享图片(237*190)" prop="share">
-                  <c-upload :url="url" v-model="form.share" :limit="1"></c-upload>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="封面图片(345*85)" prop="cover">
-                  <c-upload :url="url" v-model="form.cover" :limit="1"></c-upload>
-                </el-form-item>
-              </el-col>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="活动说明" prop="content">
-                <el-form-item label="是否显示">
-                  <el-select v-model="form.content.is_use" placeholder="请选择">
-                    <el-option v-for="i in isuseList" :key="i.model" :label="i.label" :value="i.value"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item>
-                  <editor v-model="form.content.value" url="/files/point/act/upload" />
-                </el-form-item>
-              </el-form-item>
-            </el-col>
-          </el-form>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'tabs-1',
-  props: {
-    form: { type: Object },
-    // act_time: { type: Object },
-    // content: { type: Object },
-    act_typeList: { type: Array },
-    isuseList: { type: Array },
-    url: { type: String },
-    rules: { type: Object },
-  },
-  components: {
-    editor: () => import('@/components/editor.vue'),
-    cUpload: () => import('@/components/usual/c-upload.vue'),
-  },
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped></style>

+ 0 - 78
src/views/platActivi/act/parts/goods/tabs-2 copy.vue

@@ -1,78 +0,0 @@
-<template>
-  <div id="tabs-2">
-    <el-row>
-      <el-col :span="16" class="main">
-        <el-form :model="form" :rules="rules" ref="form" label-width="100px">
-          <el-form-item label="设置" prop="config">
-            <el-form-item label="活动时间">
-              <el-date-picker
-                v-model="form.config.time"
-                type="datetimerange"
-                range-separator="至"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-                format="yyyy-MM-dd HH:mm:ss"
-                value-format="yyyy-MM-dd HH:mm:ss"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-form-item>
-          <el-form-item label="满减设置" prop="manJian" v-if="form.type == '5'">
-            <el-form-item label="消费金额下限">
-              <el-input v-model="form.manJian.limit" placeholder="请输入消费金额下限" size="small" type="Number"></el-input>
-            </el-form-item>
-            <el-form-item label="满减金额">
-              <el-input v-model="form.manJian.number" placeholder="请输入满减金额" size="small" type="Number"></el-input>
-            </el-form-item>
-          </el-form-item>
-          <el-form-item label="满减折扣设置" prop="manZhe" v-if="form.type == '6'">
-            <el-form-item label="消费金额下限">
-              <el-input v-model="form.manZhe.limit" placeholder="请输入消费金额下限" size="small" type="Number"></el-input>
-            </el-form-item>
-            <el-form-item label="满减折扣">
-              <el-input v-model="form.manZhe.number" placeholder="请输入满减折扣" size="small" type="Number"></el-input>
-            </el-form-item>
-            <el-form-item label="优惠金额上限">
-              <el-input v-model="form.manZhe.max" placeholder="请输入优惠金额上限" size="small" type="Number"></el-input>
-            </el-form-item>
-          </el-form-item>
-        </el-form>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'tabs-2',
-  props: {
-    form: { type: Object },
-    rules: { type: Object },
-    // config: { type: Object },
-    // manJian: { type: Object },
-    // manZhe: { type: Object },
-  },
-  components: {},
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped></style>

+ 9 - 1
src/views/platActivi/actTags/detail.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="form-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
@@ -36,6 +42,7 @@ export default {
   components: {},
   data: function () {
     return {
+      loadings: true,
       form: {},
       rules: {
         label: [{ required: true, message: '请输入活动标签', trigger: 'blur' }],
@@ -74,6 +81,7 @@ export default {
       } else {
         this.$set(this, `form`, { status: '0', show_index: '0', show_goods: '1' });
       }
+      this.loadings = false;
     },
     // 提交
     async onSubmit({ data }) {

+ 11 - 20
src/views/platActivi/actTags/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>活动标签</span> </el-col>
           <el-col :span="24" class="two">
@@ -11,19 +17,7 @@
             <el-button type="primary" size="mini" @click="toAdd()">新增</el-button>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @edit="toEdit"
-              @del="toDel"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit" @del="toDel"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'info'" :id="id" @toBack="toBack"></detail>
@@ -47,6 +41,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       // 列表
       opera: [
@@ -90,8 +85,7 @@ export default {
       total: 0,
       // 查询
       searchForm: {},
-      // 多选值
-      selected: [],
+
       // 是否使用
       statusList: [],
       id: '',
@@ -112,6 +106,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 新增
     toAdd() {
@@ -140,10 +135,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
     // 查询其他信息
     async searchOther() {
       let res;

+ 9 - 1
src/views/platActivi/coupon/detail.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="form-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
@@ -166,6 +172,7 @@ export default {
   components: {},
   data: function () {
     return {
+      loadings: true,
       form: {},
       rules: {
         issue: [{ required: true, message: '请选择发行方', trigger: 'change' }],
@@ -226,6 +233,7 @@ export default {
       } else {
         this.$set(this, `form`, { status: '0' });
       }
+      this.loadings = false;
     },
     // 店铺名称远程查询
     async querySearch(value) {

+ 9 - 1
src/views/platActivi/coupon/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>优惠券管理</span> </el-col>
           <el-col :span="24" class="two">
@@ -60,6 +66,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       // 查询
       searchForm: {},
@@ -131,6 +138,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 新增
     toAdd() {

+ 9 - 1
src/views/platSettings/banner/detail.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="form-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
@@ -38,6 +44,7 @@ export default {
   },
   data: function () {
     return {
+      loadings: true,
       form: {},
       rules: {
         name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
@@ -83,6 +90,7 @@ export default {
       } else {
         this.$set(this, `form`, { status: '0' });
       }
+      this.loadings = false;
     },
     // 提交
     async onSubmit({ data }) {

+ 10 - 20
src/views/platSettings/banner/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>广告图</span> </el-col>
           <el-col :span="24" class="two">
@@ -11,19 +17,7 @@
             <el-button type="primary" size="mini" @click="toAdd()">新增</el-button>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @edit="toEdit"
-              @del="toDel"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit" @del="toDel"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'info'" :id="id" @toBack="toBack"></detail>
@@ -47,6 +41,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       // 列表
       opera: [
@@ -79,8 +74,6 @@ export default {
       total: 0,
       // 查询
       searchForm: {},
-      // 多选值
-      selected: [],
       // 类型列表
       typeList: [],
       // 是否使用
@@ -103,6 +96,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 新增
     toAdd() {
@@ -131,10 +125,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
     // 查询其他信息
     async searchOther() {
       let res;

+ 32 - 40
src/views/platSettings/config/index.vue

@@ -1,31 +1,30 @@
 <template>
   <div id="index">
-    <data-form :span="24" :fields="fields" :rules="rules" v-model="form" labelWidth="150px" @save="toSave">
-      <template #buyPoint>
-        <el-input v-model="form.buyPoint" type="number" placeholder="请输入购物赠送积分"></el-input>
-        <p style="color: #999">金额:积分=10:1</p>
-      </template>
-      <template #autoCloseOrder>
-        <el-input v-model="form.autoCloseOrder" type="number" placeholder="请输入自动关闭订单时间"></el-input>
-        <p style="color: #999">关闭订单时间小于等于0时不自动关闭</p>
-      </template>
-      <template #agree>
-        <editor v-model="form.agree" url="/files/point/config/upload" />
-      </template>
-      <template #bottom_menu>
-        <data-form :span="24" :fields="testfields" v-model="form.bottom_menu" labelWidth="auto" :isSave="false">
-          <!-- <template #is_use>
-            <el-option v-for="i in useList" :key="i.model" :label="i.label" :value="i.value"></el-option>
-          </template> -->
-          <template #list>
-            <el-col :span="24" style="margin: 0 0 10px 0">
-              <el-button type="primary" size="mini" @click="toAdd()">添加</el-button>
-            </el-col>
-            <data-table :usePage="false" :fields="fieldsList" :opera="opera" :data="list" @edit="toEdit" @del="toDel"> </data-table>
-          </template>
-        </data-form>
-      </template>
-    </data-form>
+    <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
+      <data-form :span="24" :fields="fields" :rules="rules" v-model="form" labelWidth="150px" @save="toSave">
+        <template #buyPoint>
+          <el-input v-model="form.buyPoint" type="number" placeholder="请输入购物赠送积分"></el-input>
+          <p style="color: #999">金额:积分=10:1</p>
+        </template>
+        <template #autoCloseOrder>
+          <el-input v-model="form.autoCloseOrder" type="number" placeholder="请输入自动关闭订单时间"></el-input>
+          <p style="color: #999">关闭订单时间小于等于0时不自动关闭</p>
+        </template>
+        <template #agree>
+          <editor v-model="form.agree" url="/files/point/config/upload" />
+        </template>
+        <template #bottom_menu>
+          <data-form :span="24" :fields="testfields" v-model="form.bottom_menu" labelWidth="auto" :isSave="false">
+            <template #list>
+              <el-col :span="24" style="margin: 0 0 10px 0">
+                <el-button type="primary" size="mini" @click="toAdd()">添加</el-button>
+              </el-col>
+              <data-table :usePage="false" :fields="fieldsList" :opera="opera" :data="list" @edit="toEdit" @del="toDel"> </data-table>
+            </template>
+          </data-form>
+        </template>
+      </data-form>
+    </el-col>
     <e-dialog :dialog="dialog" @toClose="toClose">
       <template v-slot:info>
         <data-form :span="24" :fields="fieldsForm" :rules="fieldRules" v-model="fieldform" labelWidth="150px" @save="onSubmit">
@@ -51,12 +50,12 @@ export default {
   components: { editor: () => import('@/components/editor.vue') },
   data: function () {
     return {
+      loadings: true,
       fields: [
         { label: '系统名称', model: 'title' },
         { label: 'logo', model: 'logo', type: 'upload', limit: 1, url: '/files/point/config/upload' },
         { label: '购物赠送积分', model: 'buyPoint', custom: true },
         { label: '自动关闭订单时间', model: 'autoCloseOrder', custom: true },
-        // { label: '积分计划', model: 'pointPlan' },
         { label: '底部文字', model: 'bottom_title' },
         { label: '底部菜单', model: 'bottom_menu', custom: true },
         { label: '分享图片', model: 'share', type: 'upload', limit: 1, url: '/files/point/config/upload' },
@@ -64,10 +63,7 @@ export default {
       ],
       rules: {},
       form: { bottom_menu: {} },
-      testfields: [
-        // { label: '是否使用', model: 'is_use', type: 'select' },
-        { label: '菜单列表', model: 'list', custom: true },
-      ],
+      testfields: [{ label: '菜单列表', model: 'list', custom: true }],
       // 底部菜单
       opera: [
         { label: '修改', method: 'edit' },
@@ -155,9 +151,8 @@ export default {
             autoCloseOrder: data.config.autoCloseOrder,
           };
         }
-        if (!data.bottom_menu) {
-          data.bottom_menu = {};
-        } else {
+        if (!data.bottom_menu) data.bottom_menu = {};
+        else {
           let list = _.sortBy(data.bottom_menu.list, function (item) {
             return item.sort;
           });
@@ -165,6 +160,7 @@ export default {
         }
         this.$set(this, `form`, data);
       }
+      this.loadings = false;
     },
     async toAdd() {
       this.dialog = { title: '信息管理', show: true, type: '1' };
@@ -188,9 +184,7 @@ export default {
     // 底部菜单提交
     onSubmit({ data }) {
       let info = this.list.find((f) => f.route == data.route);
-      if (info == '' || info == undefined) {
-        this.list.push(data);
-      }
+      if (info == '' || info == undefined) this.list.push(data);
       this.toClose();
     },
     // 保存
@@ -206,9 +200,7 @@ export default {
       let res;
       // 是否使用
       res = await this.dictQuery({ code: 'use' });
-      if (this.$checkRes(res)) {
-        this.$set(this, `useList`, res.data);
-      }
+      if (this.$checkRes(res)) this.$set(this, `useList`, res.data);
     },
   },
   metaInfo() {

+ 9 - 1
src/views/platSettings/indexModule/detail.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="form-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
@@ -32,6 +38,7 @@ export default {
   components: {},
   data: function () {
     return {
+      loadings: true,
       form: {},
       rules: {
         name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
@@ -70,6 +77,7 @@ export default {
       } else {
         this.$set(this, `form`, { status: '0' });
       }
+      this.loadings = false;
     },
     // 提交
     async onSubmit({ data }) {

+ 12 - 26
src/views/platSettings/indexModule/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>首页广告图标设置</span> </el-col>
           <el-col :span="24" class="two">
@@ -11,19 +17,7 @@
             <el-button type="primary" size="mini" @click="toAdd()">新增</el-button>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @edit="toEdit"
-              @del="toDel"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit" @del="toDel"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'info'" :id="id" @toBack="toBack"></detail>
@@ -47,6 +41,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       // 列表
       opera: [
@@ -79,8 +74,6 @@ export default {
       total: 0,
       // 查询
       searchForm: {},
-      // 多选值
-      selected: [],
       // 类型列表
       typeList: [],
       // 是否使用
@@ -103,6 +96,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 新增
     toAdd() {
@@ -131,22 +125,14 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
     // 查询其他信息
     async searchOther() {
       let res;
       // 类型
       res = await this.dictQuery({ code: 'to_type' });
-      if (this.$checkRes(res)) {
-        this.$set(this, `typeList`, res.data);
-      }
+      if (this.$checkRes(res)) this.$set(this, `typeList`, res.data);
       res = await this.dictQuery({ code: 'status' });
-      if (this.$checkRes(res)) {
-        this.$set(this, `statusList`, res.data);
-      }
+      if (this.$checkRes(res)) this.$set(this, `statusList`, res.data);
     },
   },
   computed: {

+ 9 - 1
src/views/platfinance/bill/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"></search-1>
         </el-col>
@@ -40,6 +46,7 @@ export default {
   components: { search1: () => import('./parts/search-1.vue') },
   data: function () {
     return {
+      loadings: true,
       searchForm: {},
       info: {},
       // 售后单
@@ -97,6 +104,7 @@ export default {
       } else {
         this.$message({ type: `warning`, message: `请选择查询信息` });
       }
+      this.loadings = false;
     },
     // 重置
     toClose() {

+ 9 - 1
src/views/platfinance/withdrawal/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col :span="24" class="one"> <span>提现审核</span> </el-col>
         <el-col :span="24" class="two">
           <search-1 :form="searchForm" :statusList="statusList" @onSubmit="search" @toReset="toClos"> </search-1>
@@ -36,6 +42,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       searchForm: {},
       list: [],
       total: 0,
@@ -86,6 +93,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     toExam({ data }) {
       this.$set(this, 'fieldform', data);

+ 9 - 1
src/views/platmanag/goodsRate/detail.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="form-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
@@ -75,6 +81,7 @@ export default {
   components: {},
   data: function () {
     return {
+      loadings: true,
       list: [],
       goods: {},
       skip: 1,
@@ -109,6 +116,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     getCheck() {
       for (const p1 of this.list) {

+ 10 - 19
src/views/platmanag/goodsRate/index.vue

@@ -1,25 +1,20 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>商品评价</span> </el-col>
           <el-col :span="24" class="two">
             <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @edit="toEdit"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'info'" :id="id" @toBack="toBack"></detail>
@@ -43,6 +38,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       // 列表
       opera: [{ label: '查看评价', method: 'edit' }],
@@ -54,8 +50,6 @@ export default {
       total: 0,
       // 查询
       searchForm: {},
-      // 多选值
-      selected: [],
       id: '',
     };
   },
@@ -74,6 +68,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 修改
     async toEdit({ data }) {
@@ -89,10 +84,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
     async searchOther() {},
   },
   computed: {

+ 1 - 19
src/views/platmanag/order/parts/card-1.vue

@@ -5,19 +5,7 @@
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -51,8 +39,6 @@ export default {
         { label: '需支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
       ],
-      // 多选值
-      selected: [],
       shopList: [],
       skip: 0,
     };
@@ -100,10 +86,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
     // 店铺名称远程查询
     async querySearch(value) {
       let res = await this.shopQuery({ name: value });

+ 1 - 19
src/views/platmanag/order/parts/card-2.vue

@@ -5,19 +5,7 @@
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -47,14 +35,10 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
-        // { label: '店铺名称', model: 'shop.name' },
-        // { label: '店铺名称', model: 'shop.name' },
         { label: '支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
       shopList: [],
       skip: 0,
     };
@@ -96,8 +80,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {},
     // 店铺名称远程查询
     async querySearch(value) {
       let res = await this.shopQuery({ name: value });

+ 1 - 20
src/views/platmanag/order/parts/card-3.vue

@@ -5,19 +5,7 @@
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -47,13 +35,10 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
-        // { label: '店铺名称', model: 'shop.name' },
         { label: '支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
       shopList: [],
       skip: 0,
     };
@@ -94,10 +79,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
     // 店铺名称远程查询
     async querySearch(value) {
       let res = await this.shopQuery({ name: value });

+ 1 - 20
src/views/platmanag/order/parts/card-4.vue

@@ -5,19 +5,7 @@
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -47,13 +35,10 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
-        // { label: '店铺名称', model: 'shop.name' },
         { label: '支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
       shopList: [],
       skip: 0,
     };
@@ -94,10 +79,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
     // 店铺名称远程查询
     async querySearch(value) {
       let res = await this.shopQuery({ name: value });

+ 1 - 19
src/views/platmanag/order/parts/card-5.vue

@@ -5,19 +5,7 @@
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -50,8 +38,6 @@ export default {
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
       skip: 0,
     };
   },
@@ -90,10 +76,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
   },
   computed: {
     ...mapState(['user']),

+ 11 - 22
src/views/platmanag/sales/index.vue

@@ -1,25 +1,20 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>售后管理</span> </el-col>
           <el-col :span="24" class="two">
             <search-1 :form="searchForm" :statusList="statusList" :typeList="typeList" @onSubmit="search" @toReset="toClose"> </search-1>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @exam="toExam"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @exam="toExam"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'order'" :id="id" @toBack="toBack"></detail>
@@ -40,6 +35,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       searchForm: {},
       list: [],
@@ -71,11 +67,8 @@ export default {
         { label: '申请时间', model: 'apply_time' },
         { label: '结束时间', model: 'end_time' },
       ],
-      // 多选值
-      selected: [],
       typeList: [],
       statusList: [],
-      skip: 0,
       id: '',
     };
   },
@@ -87,14 +80,14 @@ export default {
     ...dictData({ dictQuery: 'query' }),
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
     // 查询
-    async search({ skip = this.skip, limit = this.$limit, ...info } = {}) {
+    async search({ skip = 0, limit = this.$limit, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);
       let res = await this.query({ skip, limit, ...condition, ...info });
       if (this.$checkRes(res)) {
-        this.$set(this, `skip`, 'skip');
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     toExam({ data }) {
       this.$set(this, `id`, data.id);
@@ -107,10 +100,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
     // 查询其他信息
     async searchOther() {
       let res;

+ 1 - 1
src/views/platmanag/storeAcc/detail.vue

@@ -94,7 +94,7 @@ export default {
     ...emailResetPwd({ pwdCreate: 'create' }),
     ...admins(['query', 'delete', 'fetch', 'update', 'create', 'email']),
     // 重置
-    async search({ skip = 0,limit = this.$limit, ...others } = {}) {
+    async search({ skip = 0, limit = this.$limit, ...others } = {}) {
       others.shop = this.id;
       let query = { skip, limit, ...others };
       if (Object.keys(this.searchInfo).length > 0) query = { ...query, ...this.searchInfo };

+ 9 - 1
src/views/platmanag/user/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col :span="24" class="one"> <span>用户管理</span> </el-col>
         <el-col :span="24" class="two">
           <data-search :fields="searchFields" v-model="searchInfo" @query="search"> </data-search>
@@ -32,6 +38,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       // 列表
       opera: [{ label: '删除', method: 'del', confirm: true, type: 'danger' }],
       fields: [
@@ -90,6 +97,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 修改
     async toDel({ data }) {

+ 10 - 19
src/views/selfShop/goodsRate/index.vue

@@ -1,25 +1,20 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>商品评价</span> </el-col>
           <el-col :span="24" class="two">
             <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @edit="toEdit"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'info'" :id="id" @toBack="toBack"></detail>
@@ -43,6 +38,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       // 列表
       opera: [{ label: '查看评价', method: 'edit' }],
@@ -54,8 +50,6 @@ export default {
       total: 0,
       // 查询
       searchForm: {},
-      // 多选值
-      selected: [],
       id: '',
     };
   },
@@ -74,6 +68,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 修改
     async toEdit({ data }) {
@@ -88,10 +83,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
     async searchOther() {},
   },
   computed: {

+ 6 - 24
src/views/selfShop/order/parts/card-1.vue

@@ -1,23 +1,11 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -42,19 +30,17 @@ export default {
         { label: '售后', method: 'sales', type: 'danger' },
       ],
       fields: [
-        { label: '订单号', model: 'no', showTip: false  },
+        { label: '订单号', model: 'no', showTip: false },
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
-        // { label: '店铺名称', model: 'shop.name' },
         { label: '店铺名称', model: 'goods', format: (i) => this.getShopName(i) },
         { label: '需支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
       ],
-      // 多选值
-      selected: [],
       shopList: [],
       skip: 0,
+      loadings: true,
     };
   },
   async created() {
@@ -64,7 +50,7 @@ export default {
     ...shop({ shopQuery: 'query' }),
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
     // 查询
-    async search({ skip = this.skip, limit = this.$limit, ...info } = {}) {
+    async search({ skip = 0, limit = this.$limit, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);
       if (condition.buy_time) {
         condition[`buy_time@start`] = _.head(condition.buy_time);
@@ -75,10 +61,10 @@ export default {
       info.shop = this.user.shop.id;
       let res = await this.query({ skip, limit, ...condition, ...info });
       if (this.$checkRes(res)) {
-        this.$set(this, `skip`, skip);
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     getAddress(i) {
       let name = i.name + ',' + i.phone;
@@ -101,10 +87,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
     // 店铺名称远程查询
     async querySearch(value) {
       let res = await this.shopQuery({ name: value });

+ 6 - 26
src/views/selfShop/order/parts/card-3.vue

@@ -1,23 +1,11 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -34,6 +22,7 @@ export default {
   components: { search1: () => import('./search-1.vue') },
   data: function () {
     return {
+      loadings: true,
       searchForm: {},
       list: [],
       total: 0,
@@ -42,19 +31,14 @@ export default {
         { label: '售后', method: 'sales', type: 'danger' },
       ],
       fields: [
-        { label: '订单号', model: 'no', showTip: false  },
+        { label: '订单号', model: 'no', showTip: false },
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
-        // { label: '店铺名称', model: 'shop.name' },
-
         { label: '支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
-      skip: 0,
     };
   },
   async created() {
@@ -63,7 +47,7 @@ export default {
   methods: {
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
     // 查询
-    async search({ skip = this.skip, limit = this.$limit, ...info } = {}) {
+    async search({ skip = 0, limit = this.$limit, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);
       if (condition.buy_time) {
         condition[`buy_time@start`] = _.head(condition.buy_time);
@@ -73,10 +57,10 @@ export default {
       info.status = '2';
       let res = await this.query({ skip, limit, ...condition, ...info, shop: this.user.shop.id });
       if (this.$checkRes(res)) {
-        this.$set(this, `skip`, skip);
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     getAddress(i) {
       let name = i.name + ',' + i.phone;
@@ -92,10 +76,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
   },
   computed: {
     ...mapState(['user']),

+ 5 - 25
src/views/selfShop/order/parts/card-4.vue

@@ -1,23 +1,11 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -34,6 +22,7 @@ export default {
   components: { search1: () => import('./search-1.vue') },
   data: function () {
     return {
+      loadings: true,
       searchForm: {},
       list: [],
       total: 0,
@@ -46,15 +35,10 @@ export default {
         { label: '下单时间', model: 'buy_time' },
         { label: '顾客', model: 'customer.name' },
         { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
-        // { label: '店铺名称', model: 'shop.name' },
-
         { label: '支付金额', model: 'real_pay' },
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
-      skip: 0,
     };
   },
   async created() {
@@ -63,7 +47,7 @@ export default {
   methods: {
     ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
     // 查询
-    async search({ skip = this.skip, limit = this.$limit, ...info } = {}) {
+    async search({ skip = 0, limit = this.$limit, ...info } = {}) {
       let condition = _.cloneDeep(this.searchForm);
       if (condition.buy_time) {
         condition[`buy_time@start`] = _.head(condition.buy_time);
@@ -73,10 +57,10 @@ export default {
       info.status = '3';
       let res = await this.query({ skip, limit, ...condition, ...info, shop: this.user.shop.id });
       if (this.$checkRes(res)) {
-        this.$set(this, `skip`, skip);
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     getAddress(i) {
       let name = i.name + ',' + i.phone;
@@ -92,10 +76,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
   },
   computed: {
     ...mapState(['user']),

+ 4 - 21
src/views/selfShop/order/parts/card-5.vue

@@ -1,23 +1,11 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <el-col :span="24" class="one">
           <search-1 :form="searchForm" @onSubmit="search" @toReset="toClose"></search-1>
         </el-col>
-        <data-table
-          :select="true"
-          :selected="selected"
-          @handleSelect="handleSelect"
-          :fields="fields"
-          :opera="opera"
-          @query="search"
-          :data="list"
-          :total="total"
-          @detail="toDetail"
-          @sales="toSales"
-        >
-        </data-table>
+        <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales"> </data-table>
       </el-col>
     </el-row>
   </div>
@@ -34,6 +22,7 @@ export default {
   components: { search1: () => import('./search-1.vue') },
   data: function () {
     return {
+      loadings: true,
       searchForm: {},
       list: [],
       total: 0,
@@ -50,8 +39,6 @@ export default {
         { label: '商品数量', model: 'buy_num_total' },
         { label: '是否售后', model: 'is_afterSale', format: (i) => (i === true ? '该订单有商品申请售后' : '未申请售后') },
       ],
-      // 多选值
-      selected: [],
       skip: 0,
     };
   },
@@ -71,10 +58,10 @@ export default {
       info.status = '2-';
       let res = await this.query({ skip, limit, ...condition, ...info, shop: this.user.shop.id });
       if (this.$checkRes(res)) {
-        this.$set(this, `skip`, skip);
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     getAddress(i) {
       let name = i.name + ',' + i.phone;
@@ -90,10 +77,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
   },
   computed: {
     ...mapState(['user']),

+ 3 - 1
src/views/selfShop/order/parts/parts/detail-1.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <el-col :span="24" v-if="num == '1'">
           <el-col :span="24" class="one">
             <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
@@ -41,6 +41,7 @@ export default {
   components: { search1: () => import('../search-1.vue') },
   data: function () {
     return {
+      loadings: true,
       num: '1',
       searchForm: {},
       list: [],
@@ -89,6 +90,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     getAddress(i) {
       let name = i.name + ',' + i.phone;

+ 10 - 19
src/views/selfShop/sales/index.vue

@@ -1,25 +1,20 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <span v-show="view === 'list'">
           <el-col :span="24" class="one"> <span>售后管理</span> </el-col>
           <el-col :span="24" class="two">
             <search-1 :form="searchForm" :statusList="statusList" :typeList="typeList" @onSubmit="search" @toReset="toClose"> </search-1>
           </el-col>
           <el-col :span="24" class="four">
-            <data-table
-              :select="true"
-              :selected="selected"
-              @handleSelect="handleSelect"
-              :fields="fields"
-              :opera="opera"
-              @query="search"
-              :data="list"
-              :total="total"
-              @exam="toExam"
-            >
-            </data-table>
+            <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @exam="toExam"> </data-table>
           </el-col>
         </span>
         <detail v-if="view === 'order'" :id="id" @toBack="toBack"></detail>
@@ -40,6 +35,7 @@ export default {
   data: function () {
     const that = this;
     return {
+      loadings: true,
       view: 'list',
       searchForm: {},
       list: [],
@@ -71,8 +67,6 @@ export default {
         { label: '申请时间', model: 'apply_time' },
         { label: '结束时间', model: 'end_time' },
       ],
-      // 多选值
-      selected: [],
       typeList: [],
       statusList: [],
       skip: 0,
@@ -96,6 +90,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     toExam({ data }) {
       this.$set(this, `id`, data.id);
@@ -108,10 +103,6 @@ export default {
       this.searchForm = {};
       this.search();
     },
-    // 多选
-    handleSelect(data) {
-      this.$emit('handleSelect');
-    },
     // 查询其他信息
     async searchOther() {
       let res;

+ 46 - 35
src/views/zr/zrGoods/index.vue

@@ -1,40 +1,49 @@
 <template>
   <div id="goods">
-    <span v-if="view === 'list'">
-      <data-search :fields="searchFields" v-model="searchInfo" @query="search">
-        <template #status>
-          <el-option v-for="i in statusList" :key="i.value" :label="i.label" :value="i.value"></el-option>
-        </template>
-      </data-search>
-      <data-btn :fields="btnList" @add="toAdd"></data-btn>
-      <data-table
-        ref="dataTable"
-        :fields="fields"
-        :opera="opera"
-        :data="list"
-        :total="total"
-        @query="search"
-        @edit="toEdit"
-        @puton="toPuton"
-        @delete="toDelete"
-      ></data-table>
-    </span>
-    <el-row v-if="view === 'info'">
-      <el-col :span="24" style="margin: 0 0 10px 0">
-        <el-col :span="2"><el-button type="primary" size="mini" @click="toBack()">返回</el-button></el-col>
-        <el-col :span="2"><el-button type="primary" size="mini" @click="toSave(form)">保存</el-button></el-col>
-      </el-col>
-      <el-col :span="24">
-        <data-form :fields="infoFields" :rules="rules" v-model="form" labelWidth="150px" @save="toSave">
-          <template #status>
-            <el-option v-for="i in statusList" :key="i.value" :label="i.label" :value="i.value"></el-option>
-          </template>
-          <template #brief>
-            <editor v-model="form.brief" url="/files/point/zrGoods/upload" />
-          </template>
-        </data-form>
-      </el-col>
-    </el-row>
+    <el-row>
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
+        <span v-if="view === 'list'">
+          <data-search :fields="searchFields" v-model="searchInfo" @query="search">
+            <template #status>
+              <el-option v-for="i in statusList" :key="i.value" :label="i.label" :value="i.value"></el-option>
+            </template>
+          </data-search>
+          <data-btn :fields="btnList" @add="toAdd"></data-btn>
+          <data-table
+            ref="dataTable"
+            :fields="fields"
+            :opera="opera"
+            :data="list"
+            :total="total"
+            @query="search"
+            @edit="toEdit"
+            @puton="toPuton"
+            @delete="toDelete"
+          ></data-table>
+        </span>
+        <el-row v-if="view === 'info'">
+          <el-col :span="24" style="margin: 0 0 10px 0">
+            <el-col :span="2"><el-button type="primary" size="mini" @click="toBack()">返回</el-button></el-col>
+            <el-col :span="2"><el-button type="primary" size="mini" @click="toSave(form)">保存</el-button></el-col>
+          </el-col>
+          <el-col :span="24">
+            <data-form :fields="infoFields" :rules="rules" v-model="form" labelWidth="150px" @save="toSave">
+              <template #status>
+                <el-option v-for="i in statusList" :key="i.value" :label="i.label" :value="i.value"></el-option>
+              </template>
+              <template #brief>
+                <editor v-model="form.brief" url="/files/point/zrGoods/upload" />
+              </template>
+            </data-form>
+          </el-col>
+        </el-row> </el-col
+    ></el-row>
   </div>
 </template>
 
@@ -50,6 +59,7 @@ export default {
   components: { editor: () => import('@/components/editor.vue') },
   data: function () {
     return {
+      loadings: true,
       view: 'list',
       fields: [
         { label: '排序', model: 'sort' },
@@ -112,6 +122,7 @@ export default {
         this.$set(this, `list`, res.data);
         this.$set(this, `total`, res.total);
       }
+      this.loadings = false;
     },
     // 添加自定义
     initAddData() {

+ 9 - 1
src/views/zr/zrOrder/detail_orderDetail.vue

@@ -1,7 +1,13 @@
 <template>
   <div id="form-1">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight">
+      <el-col
+        :span="24"
+        class="main animate__animated animate__backInRight"
+        v-loading="loadings"
+        element-loading-text="拼命加载中"
+        element-loading-spinner="el-icon-loading"
+      >
         <el-col class="top-btn">
           <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
         </el-col>
@@ -127,6 +133,7 @@ export default {
   components: {},
   data: function () {
     return {
+      loadings: true,
       form: {},
       // 地址
       address: {},
@@ -197,6 +204,7 @@ export default {
           }
         }
       }
+      this.loadings = false;
     },
     async querySearch(value) {
       this.loading = true;

+ 3 - 1
src/views/zr/zrOrder/parts/detail-1.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="card-1">
     <el-row>
-      <el-col :span="24" class="main">
+      <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <el-col :span="24" v-if="num == '1'">
           <el-col :span="24" class="one">
             <search-1 :form="searchForm" @onSubmit="search" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
@@ -39,6 +39,7 @@ export default {
   components: { search1: () => import('./search-1.vue') },
   data: function () {
     return {
+      loadings: true,
       num: '1',
       searchForm: {},
       list: [],
@@ -89,6 +90,7 @@ export default {
         this.$set(this, 'list', res.data);
         this.$set(this, 'total', res.total);
       }
+      this.loadings = false;
     },
     // 详情
     toDetail({ data }) {