فهرست منبع

improve: 替换

From-wh 2 سال پیش
والد
کامیت
a2dfd2f806
25فایلهای تغییر یافته به همراه339 افزوده شده و 735 حذف شده
  1. 28 33
      template/admin/src/components/linkaddress/index.vue
  2. 2 2
      template/admin/src/components/mobileConfigRightDiy/c_set_up.vue
  3. 7 1
      template/admin/src/components/uploadPictures/index.vue
  4. 1 6
      template/admin/src/pages/account/login/index.vue
  5. 2 2
      template/admin/src/pages/app/wechat/menus/index.vue
  6. 2 2
      template/admin/src/pages/app/wechat/reply/follow.vue
  7. 0 6
      template/admin/src/pages/kefu/index.vue
  8. 2 2
      template/admin/src/pages/kefu/pc/components/msgWindow.vue
  9. 5 5
      template/admin/src/pages/kefu/pc/components/rightMenu.vue
  10. 6 115
      template/admin/src/pages/marketing/storeBargain/create.vue
  11. 6 52
      template/admin/src/pages/marketing/storeCombination/create.vue
  12. 5 51
      template/admin/src/pages/marketing/storeIntegral/create.vue
  13. 6 59
      template/admin/src/pages/marketing/storePresell/create.vue
  14. 6 53
      template/admin/src/pages/marketing/storeSeckill/create.vue
  15. 5 5
      template/admin/src/pages/notify/smsConfig/components/forgetPassword.vue
  16. 5 5
      template/admin/src/pages/notify/smsConfig/components/forgetPhone.vue
  17. 2 2
      template/admin/src/pages/order/orderList/handle/orderSend.vue
  18. 2 2
      template/admin/src/pages/setting/devise/list.vue
  19. 1 1
      template/admin/src/pages/setting/freight/index.vue
  20. 3 3
      template/admin/src/pages/system/codeGeneration/index.vue
  21. 2 3
      template/admin/src/pages/system/onlineUpgrade/index.vue
  22. 2 2
      template/admin/src/pages/system/systemMenus/components/menusFrom.vue
  23. 88 133
      template/admin/src/pages/user/grade/card/index.vue
  24. 145 190
      template/admin/src/pages/user/list/index.vue
  25. 6 0
      template/admin/src/theme/media/home.scss

+ 28 - 33
template/admin/src/components/linkaddress/index.vue

@@ -206,6 +206,28 @@
                 : ''
             "
           >
+            <el-table-column
+              width="50"
+              v-if="
+                [
+                  'special',
+                  'product',
+                  'seckill',
+                  'product_category',
+                  'bargain',
+                  'combination',
+                  'advance',
+                  'integral',
+                  'news',
+                ].includes(currenType)
+              "
+            >
+              <template slot-scope="scope">
+                <el-radio v-model="templateRadio" :label="scope.row.id" @change.native="getTemplateRow(scope.row)"
+                  >&nbsp;</el-radio
+                >
+              </template>
+            </el-table-column>
             <el-table-column
               :label="item.title"
               :width="item.width"
@@ -287,7 +309,7 @@
                 <el-input v-model="customdate.url" placeholder="请输入跳转路径"></el-input>
               </el-form-item> -->
               <div class="mb30 radioGroup">
-                <el-radio-group v-model="customdate.status" @on-change="radioTap('customdate')">
+                <el-radio-group v-model="customdate.status" @input="radioTap('customdate')">
                   <el-radio :label="1">
                     <span>普通链接</span>
                   </el-radio>
@@ -344,6 +366,7 @@ export default {
         label: 'name',
         children: 'children',
       },
+      templateRadio: 0,
       columns: [
         {
           title: 'ID',
@@ -462,40 +485,12 @@ export default {
   created() {
     this.getSort();
     this.goodsCategory();
-    let radio = {
-      width: 60,
-      align: 'center',
-      render: (h, params) => {
-        let id = params.row.id;
-        let flag = false;
-        if (this.presentId === id) {
-          flag = true;
-        } else {
-          flag = false;
-        }
-        let self = this;
-        return h('div', [
-          h('el-radio', {
-            props: {
-              value: flag,
-            },
-            on: {
-              'on-change': () => {
-                self.presentId = id;
-                this.currenUrl = params.row.url;
-              },
-            },
-          }),
-        ]);
-      },
-    };
-    this.columns.unshift(radio);
-    this.columns7.unshift(radio);
-    this.columns8.unshift(radio);
-    this.bargain.unshift(radio);
-    this.news.unshift(radio);
   },
   methods: {
+    getTemplateRow(row) {
+      this.presentId = row.id;
+      this.currenUrl = row.url;
+    },
     // 删除
     delLink(row, tit, num) {
       let delfromData = {

+ 2 - 2
template/admin/src/components/mobileConfigRightDiy/c_set_up.vue

@@ -2,8 +2,8 @@
   <div class="setUp">
     <template>
       <el-tabs v-model="configData.tabVal">
-        <el-tab-pane label="内容设置" />
-        <el-tab-pane label="样式设置" />
+        <el-tab-pane label="内容设置" name="0"></el-tab-pane>
+        <el-tab-pane label="样式设置" name="1"></el-tab-pane>
       </el-tabs>
     </template>
   </div>

+ 7 - 1
template/admin/src/components/uploadPictures/index.vue

@@ -194,7 +194,13 @@
           </el-table>
         </div>
         <div class="footer acea-row row-right">
-          <Page :total="total" show-elevator show-total @on-change="pageChange" :page-size="fileData.limit" />
+          <pagination
+            v-if="total"
+            :total="total"
+            :page.sync="fileData.page"
+            @pagination="pageChange"
+            :limit.sync="fileData.limit"
+          ></pagination>
         </div>
       </div>
     </div>

+ 1 - 6
template/admin/src/pages/account/login/index.vue

@@ -187,10 +187,7 @@ export default {
     closeModel(params) {
       this.isShow = false;
       // noinspection JSVoidFunctionReturnValueUsed
-      let msg = this.$message.loading({
-        content: '登录中...',
-        duration: 0,
-      });
+   
       this.loading = true;
       AccountLogin({
         account: this.formInline.username,
@@ -200,7 +197,6 @@ export default {
         captchaVerification: params ? params.captchaVerification : '',
       })
         .then(async (res) => {
-          msg();
           let data = res.data;
           let expires = this.getExpiresTime(data.expires_time);
           // 记录用户登陆信息
@@ -257,7 +253,6 @@ export default {
           });
         })
         .catch((res) => {
-          msg();
           let data = res === undefined ? {} : res;
           this.$message.error(data.msg || '登录失败');
           this.login_captcha = res.data.login_captcha;

+ 2 - 2
template/admin/src/pages/app/wechat/menus/index.vue

@@ -8,7 +8,7 @@
       <el-row :gutter="24">
         <el-col :span="24" class="ml40">
           <!-- 预览功能 -->
-          <el-col ::span="24">
+          <el-col :span="24">
             <el-col :xl="7" :lg="7" :md="22" :sm="22" :xs="22" class="left mb15">
               <img class="top" src="../../../../assets/images/mobilehead.png" />
               <img class="bottom" src="@/assets/images/mobilefoot.png" />
@@ -101,7 +101,7 @@
                 </el-tab-pane>
                 <el-button size="small" type="error" slot="extra" @click="deltMenus">删除</el-button>
               </el-tabs>
-              <el-col ::span="24" v-if="isTrue">
+              <el-col :span="24" v-if="isTrue">
                 <el-button type="primary" style="display: block; margin: 10px auto" @click="submenus('formValidate')"
                   >保存并发布</el-button
                 >

+ 2 - 2
template/admin/src/pages/app/wechat/reply/follow.vue

@@ -8,7 +8,7 @@
       <el-row :gutter="24">
         <el-col :span="24" class="ml40">
           <!-- 预览功能 -->
-          <el-col ::span="24">
+          <el-col :span="24">
             <el-col :xl="7" :lg="7" :md="22" :sm="22" :xs="22" class="left mb15">
               <img class="top" src="../../../../assets/images/mobilehead.png" />
               <img class="bottom" src="../../../../assets/images/mobilefoot.png" />
@@ -137,7 +137,7 @@
                   </el-form>
                 </div>
               </el-col>
-              <el-col ::span="24">
+              <el-col :span="24">
                 <div class="acea-row row-center">
                   <el-button type="primary" class="mr20" @click="submenus('formValidate')">保存并发布 </el-button>
                 </div>

+ 0 - 6
template/admin/src/pages/kefu/index.vue

@@ -165,17 +165,12 @@ export default {
     },
     // 关闭模态框
     closeModel() {
-      let msg = this.$message.loading({
-        content: '登录中...',
-        duration: 0,
-      });
       AccountLogin({
         account: this.formInline.username,
         password: this.formInline.password,
         imgcode: this.formInline.code,
       })
         .then(async (res) => {
-          msg();
           let expires = this.getExpiresTime(res.data.exp_time);
           // 记录用户登陆信息
           setCookies('kefu_uuid', res.data.kefuInfo.uid, expires);
@@ -195,7 +190,6 @@ export default {
           }
         })
         .catch((res) => {
-          msg();
           let data = res === undefined ? {} : res;
           this.errorNum++;
           this.captchas();

+ 2 - 2
template/admin/src/pages/kefu/pc/components/msgWindow.vue

@@ -46,7 +46,7 @@
         </vue-scroll>
       </div>
       <div class="right-box">
-        <Scroll :on-reach-bottom="handleReachBottom" class="right-scroll" height="360">
+        <div v-infinite-scroll="handleReachBottom" class="right-scroll" height="360">
           <div class="msg-item add-box" v-if="tabCur" style="margin-top: 0">
             <div class="box2">
               <el-input
@@ -103,7 +103,7 @@
               </div>
             </div>
           </div>
-        </Scroll>
+        </div>
       </div>
     </div>
     <el-dialog :visible.sync="isAddSort" :title="maskTitle" width="304px" class="class-box">

+ 5 - 5
template/admin/src/pages/kefu/pc/components/rightMenu.vue

@@ -103,7 +103,7 @@
           />
         </div>
         <div v-if="orderList.length > 0">
-          <Scroll :on-reach-bottom="orderReachBottom" height="650" class="right-scroll">
+          <div v-infinite-scroll="orderReachBottom" height="650" class="right-scroll">
             <div class="order-list">
               <div class="order-item" v-for="(item, index) in orderList" :key="index">
                 <div class="head">
@@ -180,7 +180,7 @@
                 </div>
               </div>
             </div>
-          </Scroll>
+          </div>
         </div>
         <empty v-if="orderList.length == 0 && orderConfig.type === ''" status="3" msg="暂无订单信息"></empty>
         <empty v-if="orderList.length == 0 && orderConfig.type === 0" status="4" msg="暂无未支付订单"></empty>
@@ -211,8 +211,8 @@
           />
         </div>
         <div class="list-wrapper" v-if="goodsConfig.buyList.length > 0">
-          <Scroll :on-reach-bottom="goodsReachBottom" height="650" class="right-scroll">
-            <div class="list-item" v-for="item in goodsConfig.buyList">
+          <div v-infinite-scroll="goodsReachBottom" height="650" class="right-scroll">
+            <div class="list-item" v-for="(item, index) in goodsConfig.buyList" :key="index">
               <div class="img-box">
                 <img :src="item.image" alt="" />
               </div>
@@ -228,7 +228,7 @@
                 </div>
               </div>
             </div>
-          </Scroll>
+          </div>
         </div>
         <empty v-else status="3" msg="暂无商品信息"></empty>
       </div>

+ 6 - 115
template/admin/src/pages/marketing/storeBargain/create.vue

@@ -16,12 +16,12 @@
     <el-card :bordered="false" shadow="never" class="ivu-mt">
       <el-row class="mt30 acea-row row-middle row-center">
         <el-col :span="20">
-          <Steps :current="current">
-            <Step title="选择砍价商品"></Step>
-            <Step title="填写基础信息"></Step>
-            <Step title="修改商品详情"></Step>
-            <Step title="修改商品规则"></Step>
-          </Steps>
+          <el-steps :active="current">
+            <el-step title="选择砍价商品"></el-step>
+            <el-step title="填写基础信息"></el-step>
+            <el-step title="修改商品详情"></el-step>
+            <el-step title="修改商品规则"></el-step>
+          </el-steps>
         </el-col>
         <el-col :span="23" v-loading="spinShow">
           <el-form
@@ -637,41 +637,9 @@ export default {
       productAttrsApi(row.id, 2)
         .then((res) => {
           let data = res.data.info;
-          let radio = {
-            title: '选择',
-            key: 'chose',
-            width: 60,
-            align: 'center',
-            render: (h, params) => {
-              let uid = params.index;
-              let flag = false;
-              if (this.currentid === uid) {
-                flag = true;
-              } else {
-                flag = false;
-              }
-              let self = this;
-              return h('div', [
-                h('el-radio', {
-                  props: {
-                    value: flag,
-                  },
-                  on: {
-                    'on-change': () => {
-                      self.currentid = uid;
-                      let attrs = [];
-                      attrs.push(params.row);
-                      self.formValidate.attrs = attrs;
-                    },
-                  },
-                }),
-              ]);
-            },
-          };
           that.columns = data.header;
           // that.columns.unshift(radio);
           that.specsData = data.attrs;
-          that.inputChange(data);
           that.formValidate.items = data.items;
         })
         .catch((res) => {
@@ -684,50 +652,6 @@ export default {
       this.push(row);
       this.formValidate.attrs = attrs;
     },
-    inputChange(data) {
-      let that = this;
-      let $index = [];
-      data.header.forEach(function (item, index) {
-        if (item.type === 1) {
-          $index.push({ index: index, key: item.key, title: item.title });
-        }
-      });
-      $index.forEach(function (item, index) {
-        let title = item.title;
-        let key = item.key;
-        let row = {
-          title: title,
-          key: key,
-          align: 'center',
-          minWidth: 100,
-          render: (h, params) => {
-            return h('div', [
-              h('InputNumber', {
-                props: {
-                  min: 1,
-                  precision: 0,
-                  value: params.row.quota,
-                },
-                on: {
-                  'on-change': (e) => {
-                    params.row.quota = e;
-                    that.specsData[params.index] = params.row;
-                    if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
-                      that.formValidate.attrs.forEach((v, index) => {
-                        if (v.id === params.row.id) {
-                          that.formValidate.attrs.splice(index, 1, params.row);
-                        }
-                      });
-                    }
-                  },
-                },
-              }),
-            ]);
-          },
-        };
-        that.columns.splice(item.index, 1, row);
-      });
-    },
     // 获取运费模板;
     productGetTemplate() {
       productGetTemplateApi().then((res) => {
@@ -818,40 +742,7 @@ export default {
           this.formValidate.rule = info.rule === null ? '' : info.rule;
           this.$set(this.formValidate, 'items', info.attrs.items);
           this.description = this.formValidate.description;
-
           this.columns = info.attrs.header;
-          let radio = {
-            title: '选择',
-            key: 'chose',
-            width: 60,
-            align: 'center',
-            render: (h, params) => {
-              let uid = params.index;
-              let flag = false;
-              if (this.currentid === uid) {
-                flag = true;
-              } else {
-                flag = false;
-              }
-              let self = this;
-              return h('div', [
-                h('el-radio', {
-                  props: {
-                    value: flag,
-                  },
-                  on: {
-                    'on-change': () => {
-                      self.currentid = uid;
-                      let attrs = [];
-                      attrs.push(params.row);
-                      self.formValidate.attrs = attrs;
-                    },
-                  },
-                }),
-              ]);
-            },
-          };
-          that.columns.unshift(radio);
           this.specsData = info.attrs.value;
           let defaultAttrs = [];
           info.attrs.value.forEach(function (item, index) {

+ 6 - 52
template/admin/src/pages/marketing/storeCombination/create.vue

@@ -16,11 +16,11 @@
     <el-card :bordered="false" shadow="never" class="ivu-mt">
       <el-row class="mt30 acea-row row-middle row-center">
         <el-col :span="20">
-          <Steps :current="current">
-            <Step title="选择拼团商品"></Step>
-            <Step title="填写基础信息"></Step>
-            <Step title="修改商品详情"></Step>
-          </Steps>
+          <el-steps :active="current">
+            <el-step title="选择拼团商品"></el-step>
+            <el-step title="填写基础信息"></el-step>
+            <el-step title="修改商品详情"></el-step>
+          </el-steps>
         </el-col>
         <el-col :span="23" v-loading="spinShow">
           <el-form
@@ -336,7 +336,7 @@
               </el-col>
               <el-col :span="24">
                 <el-form-item label="规格选择:">
-                  <el-table :data="specsData" :columns="columns" border @selection-change="changeCheckbox">
+                  <el-table :data="specsData" border @selection-change="changeCheckbox">
                     <el-table-column type="selection" width="55"> </el-table-column>
                     <el-table-column
                       :label="item.title"
@@ -697,56 +697,11 @@ export default {
           that.formValidate.items = data.items;
           that.columns = data.header;
           // that.columns.unshift(selection);
-          that.inputChange(data);
         })
         .catch((res) => {
           that.$Message.error(res.msg);
         });
     },
-    inputChange(data) {
-      let that = this;
-      let $index = [];
-      data.header.forEach(function (item, index) {
-        if (item.type === 1) {
-          $index.push({ index: index, key: item.key, title: item.title });
-        }
-      });
-      $index.forEach(function (item, index) {
-        let title = item.title;
-        let key = item.key;
-        let row = {
-          title: title,
-          key: key,
-          align: 'center',
-          minWidth: 100,
-          render: (h, params) => {
-            return h('div', [
-              h('InputNumber', {
-                props: {
-                  min: 1,
-                  precision: 0,
-                  value: params.row.quota,
-                },
-                on: {
-                  'on-change': (e) => {
-                    params.row.quota = e;
-                    that.specsData[params.index] = params.row;
-                    if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
-                      that.formValidate.attrs.forEach((v, index) => {
-                        if (v.id === params.row.id) {
-                          that.formValidate.attrs.splice(index, 1, params.row);
-                        }
-                      });
-                    }
-                  },
-                },
-              }),
-            ]);
-          },
-        };
-        that.columns.splice(item.index, 1, row);
-      });
-    },
     // 多选
     changeCheckbox(selection) {
       this.formValidate.attrs = selection;
@@ -842,7 +797,6 @@ export default {
             }
           }
           that.formValidate.attrs = attr;
-          that.inputChange(data);
           this.spinShow = false;
         })
         .catch((res) => {

+ 5 - 51
template/admin/src/pages/marketing/storeIntegral/create.vue

@@ -16,11 +16,11 @@
     <el-card :bordered="false" shadow="never" class="ivu-mt">
       <el-row class="mt30 acea-row row-middle row-center" v-loading="spinShow">
         <el-col :span="20">
-          <Steps :current="current">
-            <Step title="选择积分商品"></Step>
-            <Step title="填写基础信息"></Step>
-            <Step title="修改商品详情"></Step>
-          </Steps>
+          <el-steps :active="current">
+            <el-step title="选择积分商品"></el-step>
+            <el-step title="填写基础信息"></el-step>
+            <el-step title="修改商品详情"></el-step>
+          </el-steps>
         </el-col>
         <el-col :span="23">
           <el-form
@@ -465,56 +465,11 @@ export default {
           });
           that.formValidate.items = data.items;
           that.columns = data.header;
-          that.inputChange(data);
         })
         .catch((res) => {
           that.$Message.error(res.msg);
         });
     },
-    inputChange(data) {
-      let that = this;
-      let $index = [];
-      data.header.forEach(function (item, index) {
-        if (item.type === 1) {
-          $index.push({ index: index, key: item.key, title: item.title });
-        }
-      });
-      $index.forEach(function (item, index) {
-        let title = item.title;
-        let key = item.key;
-        let row = {
-          title: title,
-          key: key,
-          align: 'center',
-          minWidth: 120,
-          render: (h, params) => {
-            return h('div', [
-              h('InputNumber', {
-                props: {
-                  min: 0,
-                  precision: 0,
-                  value: key === 'price' ? params.row.price : params.row.quota,
-                },
-                on: {
-                  'on-change': (e) => {
-                    key === 'price' ? (params.row.price = e) : (params.row.quota = e);
-                    that.specsData[params.index] = params.row;
-                    if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
-                      that.formValidate.attrs.forEach((v, index) => {
-                        if (v.id === params.row.id) {
-                          that.formValidate.attrs.splice(index, 1, params.row);
-                        }
-                      });
-                    }
-                  },
-                },
-              }),
-            ]);
-          },
-        };
-        that.columns.splice(item.index, 1, row);
-      });
-    },
     // 多选
     changeCheckbox(selection) {
       this.formValidate.attrs = selection;
@@ -589,7 +544,6 @@ export default {
             }
           }
           that.formValidate.attrs = attr;
-          that.inputChange(data);
           this.spinShow = false;
         })
         .catch((res) => {

+ 6 - 59
template/admin/src/pages/marketing/storePresell/create.vue

@@ -14,11 +14,11 @@
     <el-card :bordered="false" shadow="never" class="ivu-mt">
       <el-row class="mt30 acea-row row-middle row-center">
         <el-col :span="20">
-          <Steps :current="current">
-            <Step title="选择预售商品"></Step>
-            <Step title="填写基础信息"></Step>
-            <Step title="修改商品详情"></Step>
-          </Steps>
+          <el-steps :active="current">
+            <el-step title="选择预售商品"></el-step>
+            <el-step title="填写基础信息"></el-step>
+            <el-step title="修改商品详情"></el-step>
+          </el-steps>
         </el-col>
         <el-col :span="23">
           <el-form
@@ -533,70 +533,18 @@ export default {
       productAttrsApi(row.id, 6)
         .then((res) => {
           let data = res.data.info;
-          let selection = {
-            type: 'selection',
-            width: 60,
-            align: 'center',
-          };
           that.specsData = data.attrs;
           that.specsData.forEach(function (item, index) {
             that.$set(that.specsData[index], 'id', index);
           });
           that.formValidate.items = data.items;
           that.columns = data.header;
-          that.columns.unshift(selection);
-          that.inputChange(data);
         })
         .catch((res) => {
           that.$Message.error(res.msg);
         });
     },
-    inputChange(data) {
-      let that = this;
-      let $index = [];
-      data.header.forEach(function (item, index) {
-        if (item.type === 1) {
-          $index.push({ index: index, key: item.key, title: item.title });
-        }
-      });
-      $index.forEach(function (item, index) {
-        let title = item.title;
-        let key = item.key;
-        let row = {
-          title: title,
-          key: key,
-          align: 'center',
-          minWidth: 100,
-          render: (h, params) => {
-            return h('div', [
-              h('InputNumber', {
-                props: {
-                  min: 1,
-                  max: key === 'price' ? 10000000 : params.row.stock,
-                  value: key === 'price' ? params.row.price : params.row.quota,
-                },
-                on: {
-                  'on-change': (e) => {
-                    key === 'price'
-                      ? (params.row.price = e)
-                      : (params.row.quota = e < params.row.stock ? e : params.row.stock);
-                    that.specsData[params.index] = params.row;
-                    if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
-                      that.formValidate.attrs.forEach((v, index) => {
-                        if (v.id === params.row.id) {
-                          that.formValidate.attrs.splice(index, 1, params.row);
-                        }
-                      });
-                    }
-                  },
-                },
-              }),
-            ]);
-          },
-        };
-        that.columns.splice(item.index, 1, row);
-      });
-    },
+    
     // 多选
     changeCheckbox(selection) {
       this.formValidate.attrs = selection;
@@ -684,7 +632,6 @@ export default {
             }
           }
           that.formValidate.attrs = attr;
-          that.inputChange(data);
           this.spinShow = false;
         })
         .catch((res) => {

+ 6 - 53
template/admin/src/pages/marketing/storeSeckill/create.vue

@@ -12,11 +12,11 @@
     <el-card :bordered="false" shadow="never" class="ivu-mt">
       <el-row class="mt30 acea-row row-middle row-center">
         <el-col :span="20">
-          <Steps :current="current">
-            <Step title="选择秒杀商品"></Step>
-            <Step title="填写基础信息"></Step>
-            <Step title="修改商品详情"></Step>
-          </Steps>
+          <el-steps :active="current">
+            <el-step title="选择秒杀商品"></el-step>
+            <el-step title="填写基础信息"></el-step>
+            <el-step title="修改商品详情"></el-step>
+          </el-steps>
         </el-col>
         <el-col :span="23">
           <el-form
@@ -608,58 +608,12 @@ export default {
           });
           that.formValidate.items = data.items;
           that.columns = data.header;
-          // that.columns.unshift(selection);
-          that.inputChange(data);
         })
         .catch((res) => {
           that.$Message.error(res.msg);
         });
     },
-    inputChange(data) {
-      let that = this;
-      let $index = [];
-      data.header.forEach(function (item, index) {
-        if (item.type === 1) {
-          $index.push({ index: index, key: item.key, title: item.title });
-        }
-      });
-      $index.forEach(function (item, index) {
-        let title = item.title;
-        let key = item.key;
-        let row = {
-          title: title,
-          key: key,
-          align: 'center',
-          minWidth: 120,
-          render: (h, params) => {
-            return h('div', [
-              h('InputNumber', {
-                props: {
-                  min: 0,
-                  value: key === 'price' ? params.row.price : params.row.quota,
-                  formatter: (value) =>
-                    key === 'price' ? `${value}`.match(/^\d+(?:\.\d{0,2})?/) : `${value}`.match(/^\d+(?:\.\d{0,-1})?/),
-                },
-                on: {
-                  'on-change': (e) => {
-                    key === 'price' ? (params.row.price = e) : (params.row.quota = e);
-                    that.specsData[params.index] = params.row;
-                    if (!!that.formValidate.attrs && that.formValidate.attrs.length) {
-                      that.formValidate.attrs.forEach((v, index) => {
-                        if (v.id === params.row.id) {
-                          that.formValidate.attrs.splice(index, 1, params.row);
-                        }
-                      });
-                    }
-                  },
-                },
-              }),
-            ]);
-          },
-        };
-        that.columns.splice(item.index, 1, row);
-      });
-    },
+    
     // 多选
     changeCheckbox(selection) {
       this.formValidate.attrs = selection;
@@ -761,7 +715,6 @@ export default {
             }
           }
           that.formValidate.attrs = attr;
-          this.inputChange(data);
           this.spinShow = false;
         })
         .catch((res) => {

+ 5 - 5
template/admin/src/pages/notify/smsConfig/components/forgetPassword.vue

@@ -1,11 +1,11 @@
 <template>
   <el-row  justify="center" align="middle">
     <el-col :span="20" style="margin-top: 70px" class="mb50">
-      <Steps :current="current">
-        <Step title="验证账号信息"></Step>
-        <Step title="修改账户密码"></Step>
-        <Step title="登录"></Step>
-      </Steps>
+      <el-steps :active="current">
+        <el-step title="验证账号信息"></el-step>
+        <el-step title="修改账户密码"></el-step>
+        <el-step title="登录"></el-step>
+      </el-steps>
     </el-col>
     <el-col :span="24">
       <div class="index_from page-account-container">

+ 5 - 5
template/admin/src/pages/notify/smsConfig/components/forgetPhone.vue

@@ -1,11 +1,11 @@
 <template>
   <el-row  justify="center" align="middle">
     <el-col :span="20" style="margin-top: 70px" class="mb50">
-      <Steps :current="current">
-        <Step title="验证账号信息"></Step>
-        <Step title="修改手机号码"></Step>
-        <Step title="登录"></Step>
-      </Steps>
+      <el-steps :active="current">
+        <el-step title="验证账号信息"></el-step>
+        <el-step title="修改手机号码"></el-step>
+        <el-step title="登录"></el-step>
+      </el-steps>
     </el-col>
     <el-col :span="24">
       <div class="index_from page-account-container">

+ 2 - 2
template/admin/src/pages/order/orderList/handle/orderSend.vue

@@ -16,14 +16,14 @@
       @submit.native.prevent
     >
       <el-form-item label="选择类型:">
-        <el-radio-group v-model="formItem.type" @on-change="changeRadio">
+        <el-radio-group v-model="formItem.type" @input="changeRadio">
           <el-radio label="1" v-if="virtual_type !== 3">发货</el-radio>
           <el-radio label="2" v-if="virtual_type !== 3">送货</el-radio>
           <el-radio label="3">无需配送</el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item v-if="formItem.type == 1" v-show="export_open" label="发货类型:">
-        <el-radio-group v-model="formItem.express_record_type" @on-change="changeExpress">
+        <el-radio-group v-model="formItem.express_record_type" @input="changeExpress">
           <el-radio label="3">商家寄件</el-radio>
           <el-radio label="1">录入单号</el-radio>
           <el-radio label="2">电子面单打印</el-radio>

+ 2 - 2
template/admin/src/pages/setting/devise/list.vue

@@ -28,7 +28,7 @@
         <el-card :bordered="false" shadow="never" v-if="cardShow == 0">
           <el-row v-if="cardShow == 0" type="flex">
             <el-col style="width: 310px; height: 550px; margin-right: 30px" v-if="isDiy">
-              <iframe class="iframe-box" :src="imgUrl" frameborder="0" ref="iframe"></iframe>
+              <iframe class="iframe-box" :src="iframeUrl" frameborder="0" ref="iframe"></iframe>
               <div class="mask"></div>
             </el-col>
             <el-col :span="isDiy ? '' : 24" v-bind="isDiy ? grid : ''" :class="isDiy ? 'table' : ''">
@@ -234,7 +234,7 @@ export default {
       iframeUrl: '',
       modal: false,
       BaseURL: Setting.apiBaseURL.replace(/adminapi/, ''),
-      cardShow: 1,
+      cardShow: 0,
       loadingExist: false,
       isDiy: 1,
       qrcodeImg: '',

+ 1 - 1
template/admin/src/pages/setting/freight/index.vue

@@ -11,7 +11,7 @@
         <el-row :gutter="24">
           <el-col v-bind="grid">
             <el-form-item label="是否显示:" label-for="keyword">
-              <el-radio-group v-model="levelFrom.is_show" type="button" @on-change="userSearchs">
+              <el-radio-group v-model="levelFrom.is_show" type="button" @input="userSearchs">
                 <el-radio label="">全部</el-radio>
                 <el-radio label="1">显示</el-radio>
                 <el-radio label="0">隐藏</el-radio>

+ 3 - 3
template/admin/src/pages/system/codeGeneration/index.vue

@@ -11,9 +11,9 @@
     </div>
     <div class="message">
       <el-card :bordered="false" shadow="never" class="">
-        <Steps :current="currentTab">
-          <Step :title="item.label" v-for="(item, index) in headerList" :key="index"></Step>
-        </Steps>
+        <el-steps :active="currentTab">
+          <el-step :title="item.label" v-for="(item, index) in headerList" :key="index"></el-step>
+        </el-steps>
       </el-card>
     </div>
     <div class="pt10 tab-1" v-show="currentTab == '0'">

+ 2 - 3
template/admin/src/pages/system/onlineUpgrade/index.vue

@@ -41,7 +41,7 @@
               </el-timeline>
           </div>
         </div>
-        <Scroll v-if="currentTab == 2" :on-reach-bottom="handleReachBottom" height="550">
+        <div  v-if="currentTab == 2" v-infinite-scroll="handleReachBottom" height="550">
           <div class="contentTime" >
               <div class="acea-row row-top off" @mouseenter="quearyEvear(item.id,index)" v-for="(item,index) in upgradeLogList" :key="index" :class="{active:index==dynamic}">
                   <div class="time">
@@ -67,8 +67,7 @@
                   </el-timeline>
               </div>
           </div>
-        </Scroll>
-
+        </div>
     </el-card>
     <!-- 免责声明 -->
     <el-dialog :visible.sync="declaration" 

+ 2 - 2
template/admin/src/pages/system/systemMenus/components/menusFrom.vue

@@ -32,7 +32,7 @@
           </el-col>
           <el-col v-bind="grid" v-if="authType != 2">
             <el-form-item label="页面地址:" prop="menu_path">
-              <el-input v-model="formValidate.menu_path" placeholder="请输入页面地址" @on-change="changeUnique">
+              <el-input v-model="formValidate.menu_path" placeholder="请输入页面地址" @change="changeUnique">
                 <template #prepend>
                   <span>{{ $routeProStr }}</span>
                 </template>
@@ -51,7 +51,7 @@
           </el-col>
           <el-col v-bind="grid" v-if="authType == 2">
             <el-form-item label="接口地址:" prop="api_url">
-              <el-input v-model="formValidate.api_url" placeholder="请输入接口地址" @on-change="changeUnique">
+              <el-input v-model="formValidate.api_url" placeholder="请输入接口地址" @change="changeUnique">
               </el-input>
             </el-form-item>
           </el-col>

+ 88 - 133
template/admin/src/pages/user/grade/card/index.vue

@@ -106,15 +106,56 @@
         />
       </div>
     </el-card>
-    <el-dialog :visible.sync="modal" title="添加批次">
-      <form-create v-model="fapi" :rule="rule" @submit="onSubmit"></form-create>
+    <el-dialog :visible.sync="modal" width="600px" :title="`${formValidate.id ? '编辑' : '添加'}批次`">
+      <!-- <form-create v-model="fapi" :rule="rule" @submit="onSubmit"></form-create> -->
+      <el-form ref="formValidate" :model="formValidate" label-width="100px" @submit.native.prevent>
+        <el-form-item label="批次名称:">
+          <el-input placeholder="请输入批次名称" element-id="unit_name" v-model="formValidate.title" />
+        </el-form-item>
+        <template v-if="!formValidate.id">
+          <el-form-item label="制卡数量:">
+            <el-input-number
+              controls-position="right"
+              placeholder="请输入制卡数量"
+              element-id="sort"
+              :precision="0"
+              :max="100000"
+              :min="1"
+              v-model="formValidate.total_num"
+              class="perW10"
+            />
+          </el-form-item>
+          <el-form-item label="体验天数:">
+            <el-input-number
+              controls-position="right"
+              placeholder="请输入体验天数"
+              element-id="sort"
+              :precision="0"
+              :max="100000"
+              :min="1"
+              v-model="formValidate.use_day"
+              class="perW10"
+            />
+          </el-form-item>
+          <el-form-item label="是否激活:">
+            <el-radio-group element-id="status" v-model="formValidate.status">
+              <el-radio :label="1" class="radio">激活</el-radio>
+              <el-radio :label="0">冻结</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="备注:">
+            <el-input type="textarea" placeholder="请输入备注" :max="100000" v-model="formValidate.remark" />
+          </el-form-item>
+        </template>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="modal = false">取消</el-button>
+        <el-button type="primary" @click="onSubmit()">提交</el-button>
+      </span>
     </el-dialog>
     <el-dialog :visible.sync="cardModal" title="卡列表" width="1000px">
-      <cardList v-if="cardModal" :id="id"></cardList>
-    </el-dialog>
-    <el-dialog :visible.sync="modal2" title="编辑批次名">
-      <form-create :rule="rule2" @submit="onSubmit2"></form-create>
-    </el-dialog>
+      <cardList v-if="cardModal" :id="id"></cardList> </el-dialog
+    >=
     <el-dialog :visible.sync="modal3" title="二维码">
       <div v-if="qrcode" class="acea-row row-around">
         <div v-if="qrcode && qrcode.wechat_img" class="acea-row row-column-around row-between-wrapper">
@@ -163,105 +204,16 @@ export default {
       },
       loading: false,
       modal: false,
-      rule: [
-        {
-          type: 'input',
-          field: 'title',
-          title: '批次名称',
-          validate: [
-            {
-              required: true,
-              message: '请输入批次名称',
-              trigger: 'blur',
-            },
-          ],
-        },
-        {
-          type: 'InputNumber',
-          field: 'total_num',
-          title: '制卡数量',
-          value: 1,
-          props: {
-            min: 1,
-            precision: 0,
-            max: 100000,
-          },
-          on: {
-            'on-change': (data) => {
-              if (data > 100000) {
-                this.$nextTick((e) => {
-                  this.rule[1].value = 100000;
-                });
-              }
-            },
-          },
-        },
-        {
-          type: 'InputNumber',
-          field: 'use_day',
-          title: '体验天数',
-          value: 1,
-          props: {
-            min: 1,
-            precision: 0,
-            max: 100000,
-          },
-          on: {
-            'on-change': (data) => {
-              if (data > 100000) {
-                this.$nextTick((e) => {
-                  this.rule[2].value = 100000;
-                });
-              }
-            },
-          },
-        },
-        {
-          type: 'radio',
-          field: 'status',
-          title: '是否激活',
-          value: '0',
-          options: [
-            {
-              value: '0',
-              label: '冻结',
-            },
-            {
-              value: '1',
-              label: '激活',
-            },
-          ],
-        },
-        {
-          type: 'input',
-          field: 'remark',
-          title: '备注',
-          props: {
-            type: 'textarea',
-          },
-        },
-      ],
+
+      formValidate: {
+        id: 0,
+        title: '',
+        total_num: 1,
+        use_day: 1,
+        status: 1,
+        remark: '',
+      },
       modal2: false,
-      rule2: [
-        {
-          type: 'hidden',
-          field: 'id',
-          value: '',
-        },
-        {
-          type: 'input',
-          field: 'title',
-          title: '批次名称',
-          value: '',
-          validate: [
-            {
-              required: true,
-              message: '请输入批次名称',
-              trigger: 'blur',
-            },
-          ],
-        },
-      ],
       modal3: false,
       qrcode: null,
       fapi: {},
@@ -335,9 +287,9 @@ export default {
     changeMenu(row, name) {
       switch (name) {
         case '1':
-          this.rule2[0].value = row.id;
-          this.rule2[1].value = row.title;
-          this.modal2 = true;
+          this.formValidate.id = row.id;
+          this.formValidate.title = row.title;
+          this.modal = true;
           break;
         case '2':
           this.id = row.id;
@@ -350,36 +302,39 @@ export default {
     },
     // 添加批次弹窗
     addBatch() {
-      this.fapi.resetFields();
+      // this.fapi.resetFields();
       this.modal = true;
+      this.formValidate.id = 0;
+      this.formValidate.title = '';
     },
     // 提交批次
-    onSubmit(formData) {
-      memberBatchSave(0, formData)
-        .then((res) => {
-          this.modal = false;
-          this.$message.success(res.msg);
-          this.getMemberBatch();
-          this.fapi.resetFields();
-        })
-        .catch((err) => {
-          this.$message.error(err.msg);
-        });
-    },
-    onSubmit2(formData) {
-      memberBatchSetValue(formData.id, {
-        field: 'title',
-        value: formData.title,
-      })
-        .then((res) => {
-          this.modal2 = false;
-          this.$message.success(res.msg);
-          this.getMemberBatch();
+    onSubmit() {
+      if (this.formValidate.id) {
+        memberBatchSetValue(this.formValidate.id, {
+          field: 'title',
+          value: this.formValidate.id,
         })
-        .catch((err) => {
-          this.$message.error(err.msg);
-        });
+          .then((res) => {
+            this.modal = false;
+            this.$message.success(res.msg);
+            this.getMemberBatch();
+          })
+          .catch((err) => {
+            this.$message.error(err.msg);
+          });
+      } else {
+        memberBatchSave(this.formValidate.id, this.formValidate)
+          .then((res) => {
+            this.modal = false;
+            this.$message.success(res.msg);
+            this.getMemberBatch();
+          })
+          .catch((err) => {
+            this.$message.error(err.msg);
+          });
+      }
     },
+    onSubmit2(formData) {},
     // 会员卡二维码
     getMemberScan() {
       userMemberScan()

+ 145 - 190
template/admin/src/pages/user/list/index.vue

@@ -24,7 +24,7 @@
               </el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12" class="ivu-text-left userFrom" v-if="!collapse">
+          <el-col v-bind="grid" v-if="!collapse">
             <el-form-item>
               <el-button type="primary" icon="ios-search" label="default" class="mr15" @click="userSearchs"
                 >搜索</el-button
@@ -37,188 +37,143 @@
             </el-form-item>
           </el-col>
           <template v-if="collapse">
-            <el-col :::span="18">
-              <el-col v-bind="grid">
-                <el-form-item label="用户标签:" label-for="label_id">
-                  <div class="labelInput acea-row row-between-wrapper" @click="openSelectLabel">
-                    <div style="width: 90%">
-                      <div v-if="selectDataLabel.length">
-                        <el-tag :closable="false" v-for="(item, index) in selectDataLabel" :key="index">{{
-                          item.label_name
-                        }}</el-tag>
-                      </div>
-                      <span class="span" v-else>选择用户关联标签</span>
+            <el-col v-bind="grid">
+              <el-form-item label="用户标签:" label-for="label_id">
+                <div class="labelInput acea-row row-between-wrapper" @click="openSelectLabel">
+                  <div style="width: 90%">
+                    <div v-if="selectDataLabel.length">
+                      <el-tag :closable="false" v-for="(item, index) in selectDataLabel" :key="index">{{
+                        item.label_name
+                      }}</el-tag>
                     </div>
-                    <div class="ivu-icon ivu-icon-ios-arrow-down"></div>
+                    <span class="span" v-else>选择用户关联标签</span>
                   </div>
-                </el-form-item>
-              </el-col>
-              <el-col v-bind="grid">
-                <el-form-item label="下单次数:" label-for="pay_count">
-                  <el-select v-model="pay_count" placeholder="请选择下单次数" element-id="pay_count" clearable>
-                    <el-option value="all" label="全部"></el-option>
-                    <el-option value="-1" label="0次"></el-option>
-                    <el-option value="0" label="1次以上"></el-option>
-                    <el-option value="1" label="2次以上"></el-option>
-                    <el-option value="2" label="3次以上"></el-option>
-                    <el-option value="3" label="4次以上"></el-option>
-                    <el-option value="4" label="5次以上"></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
+                  <div class="ivu-icon ivu-icon-ios-arrow-down"></div>
+                </div>
+              </el-form-item>
             </el-col>
-            <el-col ::span="18">
-              <el-col v-bind="grid">
-                <el-form-item label="用户分组:" label-for="group_id">
-                  <el-select v-model="group_id" placeholder="请选择用户分组" element-id="group_id" clearable>
-                    <el-option value="all" label="全部"></el-option>
-                    <el-option
-                      :value="item.id"
-                      v-for="(item, index) in groupList"
-                      :key="index"
-                      :label="item.group_name"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col v-bind="grid">
-                <el-form-item label="用户等级:" label-for="level">
-                  <el-select v-model="level" placeholder="请选择用户等级" element-id="level" clearable>
-                    <el-option value="all" label="全部">全部</el-option>
-                    <el-option
-                      :value="item.id"
-                      v-for="(item, index) in levelList"
-                      :key="index"
-                      :label="item.name"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="下单次数:" label-for="pay_count">
+                <el-select v-model="pay_count" placeholder="请选择下单次数" element-id="pay_count" clearable>
+                  <el-option value="all" label="全部"></el-option>
+                  <el-option value="-1" label="0次"></el-option>
+                  <el-option value="0" label="1次以上"></el-option>
+                  <el-option value="1" label="2次以上"></el-option>
+                  <el-option value="2" label="3次以上"></el-option>
+                  <el-option value="3" label="4次以上"></el-option>
+                  <el-option value="4" label="5次以上"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="用户分组:" label-for="group_id">
+                <el-select v-model="group_id" placeholder="请选择用户分组" element-id="group_id" clearable>
+                  <el-option value="all" label="全部"></el-option>
+                  <el-option
+                    :value="item.id"
+                    v-for="(item, index) in groupList"
+                    :key="index"
+                    :label="item.group_name"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="用户等级:" label-for="level">
+                <el-select v-model="level" placeholder="请选择用户等级" element-id="level" clearable>
+                  <el-option value="all" label="全部">全部</el-option>
+                  <el-option
+                    :value="item.id"
+                    v-for="(item, index) in levelList"
+                    :key="index"
+                    :label="item.name"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="身份:" label-for="is_promoter">
+                <el-radio-group v-model="userFrom.is_promoter" type="button">
+                  <el-radio-button label="">
+                    <span>全部</span>
+                  </el-radio-button>
+                  <el-radio-button label="1">
+                    <span>推广员</span>
+                  </el-radio-button>
+                  <el-radio-button label="0">
+                    <span>普通用户</span>
+                  </el-radio-button>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="付费会员:" label-for="isMember">
+                <el-radio-group v-model="userFrom.isMember" type="button">
+                  <el-radio-button label="">
+                    <span>全部</span>
+                  </el-radio-button>
+                  <el-radio-button label="1">
+                    <span>是</span>
+                  </el-radio-button>
+                  <el-radio-button label="0">
+                    <span>否</span>
+                  </el-radio-button>
+                </el-radio-group>
+              </el-form-item>
             </el-col>
-            <el-col ::span="18">
-              <!-- <el-col v-bind="grid">
-                <el-form-item label="性别:" label-for="sex">
-                  <el-radio-group v-model="userFrom.sex" type="button">
-                    <el-radio-button label="">
-                      <span>全部</span>
-                    </el-radio-button>
-                    <el-radio-button label="1">
-                      <span>男</span>
-                    </el-radio-button>
-                    <el-radio-button label="2">
-                      <span>女</span>
-                    </el-radio-button>
-                    <el-radio-button label="0">
-                      <span>保密</span>
-                    </el-radio-button>
-                  </el-radio-group>
-                </el-form-item>
-              </el-col> -->
-              <el-col v-bind="grid">
-                <el-form-item label="身份:" label-for="is_promoter">
-                  <el-radio-group v-model="userFrom.is_promoter" type="button">
-                    <el-radio-button label="">
-                      <span>全部</span>
-                    </el-radio-button>
-                    <el-radio-button label="1">
-                      <span>推广员</span>
-                    </el-radio-button>
-                    <el-radio-button label="0">
-                      <span>普通用户</span>
-                    </el-radio-button>
-                  </el-radio-group>
-                </el-form-item>
-              </el-col>
-              <el-col v-bind="grid">
-                <el-form-item label="付费会员:" label-for="isMember">
-                  <!-- <el-select
-                    v-model="userFrom.isMember"
-                    placeholder="请选择付费会员"
-                    element-id="isMember"
-                    clearable
-                    @change="changeMember"
-                  >
-                    <el-option :value="1">是</el-option>
-                    <el-option :value="0">否</el-option>
-                  </el-select> -->
-                  <el-radio-group v-model="userFrom.isMember" type="button">
-                    <el-radio-button label="">
-                      <span>全部</span>
-                    </el-radio-button>
-                    <el-radio-button label="1">
-                      <span>是</span>
-                    </el-radio-button>
-                    <el-radio-button label="0">
-                      <span>否</span>
-                    </el-radio-button>
-                  </el-radio-group>
-                </el-form-item>
-              </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="访问情况:" label-for="user_time_type">
+                <el-select v-model="user_time_type" placeholder="请选择访问情况" element-id="user_time_type" clearable>
+                  <el-option value="" label="全部"></el-option>
+                  <el-option value="visitno" label="时间段未访问"></el-option>
+                  <el-option value="visit" label="时间段访问过"></el-option>
+                  <el-option value="add_time" label="首次访问"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col v-bind="grid2" v-if="user_time_type">
+              <el-form-item label="访问时间:" label-for="user_time">
+                <el-date-picker
+                  :editable="false"
+                  @change="onchangeTime"
+                  v-modal="timeVal"
+                  format="yyyy/MM/dd"
+                  type="datetimerange"
+                  value-format="yyyy/MM/dd"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  class="mr20"
+                ></el-date-picker>
+              </el-form-item>
             </el-col>
-            <el-col ::span="18">
-              <el-col v-bind="grid">
-                <el-form-item label="访问情况:" label-for="user_time_type">
-                  <el-select
-                    v-model="user_time_type"
-                    placeholder="请选择访问情况"
-                    element-id="user_time_type"
-                    clearable
-                  >
-                    <el-option value="" label="全部"></el-option>
-                    <el-option value="visitno" label="时间段未访问"></el-option>
-                    <el-option value="visit" label="时间段访问过"></el-option>
-                    <el-option value="add_time" label="首次访问"></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col v-bind="grid" v-if="user_time_type">
-                <el-form-item label="访问时间:" label-for="user_time">
-                  <el-date-picker
-                    :editable="false"
-                    @change="onchangeTime"
-                    v-modal="timeVal"
-                    format="yyyy/MM/dd"
-                    type="datetimerange"
-                    value-format="yyyy/MM/dd"
-                    range-separator="至"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                    class="mr20"
-                  ></el-date-picker>
-                </el-form-item>
-              </el-col>
+            <el-col v-bind="grid">
+              <el-form-item label="地区:" label-for="country">
+                <el-select
+                  v-model="userFrom.country"
+                  placeholder="请选择国家"
+                  element-id="country"
+                  clearable
+                  @change="changeCountry"
+                >
+                  <el-option value="domestic" label="中国"></el-option>
+                  <el-option value="abroad" label="外国"></el-option>
+                </el-select>
+              </el-form-item>
             </el-col>
-            <el-col ::span="18">
-              <el-col v-bind="grid">
-                <el-form-item label="地区:" label-for="country">
-                  <el-select
-                    v-model="userFrom.country"
-                    placeholder="请选择国家"
-                    element-id="country"
-                    clearable
-                    @change="changeCountry"
-                  >
-                    <el-option value="domestic" label="中国"></el-option>
-                    <el-option value="abroad" label="外国"></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col v-bind="grid" v-if="userFrom.country === 'domestic'">
-                <el-form-item label="省份:">
-                  <el-cascader
-                    :options="addresData"
-                    :value="address"
-                    v-model="address"
-                    @change="handleChange"
-                    clearable
-                  ></el-cascader>
-                </el-form-item>
-              </el-col>
+            <el-col v-bind="grid" v-if="userFrom.country === 'domestic'">
+              <el-form-item label="省份:">
+                <el-cascader
+                  :options="addresData"
+                  :value="address"
+                  v-model="address"
+                  @change="handleChange"
+                  clearable
+                ></el-cascader>
+              </el-form-item>
             </el-col>
           </template>
-        </el-row>
-        <el-row v-if="collapse">
-          <el-col :span="13" class="ivu-text-right userFrom">
+          <el-col v-bind="grid" class="userFrom" v-if="collapse">
             <el-form-item>
               <el-button type="primary" icon="ios-search" label="default" class="mr15" @click="userSearchs"
                 >搜索</el-button
@@ -232,8 +187,8 @@
           </el-col>
         </el-row>
       </el-form>
-      <el-row justify="space-between" class="mt20">
-        <el-col ::span="24">
+      <el-row :gutter="24" justify="space-between" class="mt20">
+        <el-col :span="24">
           <el-button v-auth="['admin-user-save']" type="primary" class="mr10" @click="edit({ uid: 0 })"
             >添加用户</el-button
           >
@@ -253,7 +208,7 @@
 
           <!-- <el-button v-auth="['admin-user-synchro']" class="mr20" @click="synchro">同步公众号用户</el-button> -->
         </el-col>
-        <el-col ::span="24" class="userAlert" v-if="selectionList.length">
+        <el-col :span="24" class="userAlert" v-if="selectionList.length">
           <el-alert show-icon>
             <template slot="title">
               已选择<i class="userI"> {{ selectionList.length }} </i>项
@@ -405,10 +360,10 @@
           </div>
         </el-form-item>
       </el-form>
-      <div slot="footer">
-        <el-button type="primary" @click="putSend('formInline')">提交</el-button>
+      <span slot="footer" class="dialog-footer">
         <el-button @click="cancel('formInline')">取消</el-button>
-      </div>
+        <el-button type="primary" @click="putSend('formInline')">提交</el-button>
+      </span>
     </el-dialog>
     <el-dialog :visible.sync="customerShow" title="请选择商城用户" :show-close="false" width="50%">
       <customerInfo v-if="customerShow" @imageObject="imageObject"></customerInfo>
@@ -599,17 +554,17 @@ export default {
       contentTop: '130',
       contentWidth: '98%',
       grid: {
-        xl: 8,
-        lg: 12,
-        md: 12,
-        sm: 24,
+        xl: 6,
+        lg: 6,
+        md: 8,
+        sm: 12,
         xs: 24,
       },
       grid2: {
-        xl: 18,
-        lg: 16,
-        md: 12,
-        sm: 24,
+        xl: 8,
+        lg: 8,
+        md: 8,
+        sm: 12,
         xs: 24,
       },
       loading: false,
@@ -867,7 +822,7 @@ export default {
     },
     // 选择地址
     handleChange(selectedData) {
-      console.log(selectedData)
+      console.log(selectedData);
       this.selectedData = selectedData.map((o) => o.label);
       this.userFrom.province = this.selectedData[0];
       this.userFrom.city = this.selectedData[1];

+ 6 - 0
template/admin/src/theme/media/home.scss

@@ -1,5 +1,11 @@
 @import './index.scss';
 
+.el-row {
+  display: flex;
+  flex-wrap: wrap;
+  position: relative;
+  box-sizing: border-box;
+}
 /* 页面宽度小于1200px
 ------------------------------- */
 @media screen and (max-width: $lg) {