瀏覽代碼

会员等级模块

gqx 2 年之前
父節點
當前提交
aad1d3317c

+ 4 - 1
src/api/api.js

@@ -91,6 +91,8 @@ const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', para
 //加载我的通告信息
 const getUserNoticeInfo= (params)=>getAction("/sys/sysAnnouncementSend/getMyAnnouncementSend",params);
 const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponent(url)}`
+//房价方案
+const getRoomPlans = (code,params)=>postAction(`/rooms/roomPricePlan/getRoomPlans/${code}`,params);
 // 中转HTTP请求
 export const transitRESTful = {
   get: (url, parameter) => getAction(getTransitURL(url), parameter),
@@ -154,7 +156,8 @@ export {
   saveDeptRolePermission,
   queryMyDepartTreeList,
   getUserNoticeInfo,
-  getDictItemsFromCache
+  getDictItemsFromCache,
+  getRoomPlans
 }
 
 

+ 0 - 252
src/views/settings/components/marketMemberForm.vue

@@ -1,252 +0,0 @@
-<template>
-  <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
-      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
-        <a-row>
-          <a-col :span="24">
-            <a-form-model-item label="关联租户" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantId">
-              <a-input v-model="model.tenantId" placeholder="请输入关联租户"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="关联酒店" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hotelId">
-              <a-input v-model="model.hotelId" placeholder="请输入关联酒店"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="会员名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
-              <a-input v-model="model.name" placeholder="请输入会员名称"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="会员类型(0-会员折扣;1-房价方案)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="type">
-              <a-input-number v-model="model.type" placeholder="请输入会员类型(0-会员折扣;1-房价方案)" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="会员折扣值" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="discount">
-              <a-input-number v-model="model.discount" placeholder="请输入会员折扣值" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="关联房价方案" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="schemeId">
-              <a-input v-model="model.schemeId" placeholder="请输入关联房价方案"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="是否需要支付(0-否;1-是)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="payFlag">
-              <a-input-number v-model="model.payFlag" placeholder="请输入是否需要支付(0-否;1-是)" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="支付金额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="payAmount">
-              <a-input-number v-model="model.payAmount" placeholder="请输入支付金额" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="购买会员卡所需积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="payIntegral">
-              <a-input-number v-model="model.payIntegral" placeholder="请输入购买会员卡所需积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="是否可以储值(0-否;1-是)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="payStored">
-              <a-input-number v-model="model.payStored" placeholder="请输入是否可以储值(0-否;1-是)" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="会员等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="level">
-              <a-input-number v-model="model.level" placeholder="请输入会员等级" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="会员优惠(每一积分可抵扣金额)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hyyh">
-              <a-input-number v-model="model.hyyh" placeholder="请输入会员优惠(每一积分可抵扣金额)" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="充值是否自动续期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="renewal">
-              <a-input v-model="model.renewal" placeholder="请输入充值是否自动续期"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="自动续期天数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="renewalDay">
-              <a-input-number v-model="model.renewalDay" placeholder="请输入自动续期天数" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="积分类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="integralTypes">
-              <a-input v-model="model.integralTypes" placeholder="请输入积分类型"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="客房积分模式(1-所有的消费转成积分;2-只房费转积分;)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantPoints">
-              <a-input v-model="model.tenantPoints" placeholder="请输入客房积分模式(1-所有的消费转成积分;2-只房费转积分;)"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="客房消费金额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantRoomIntegral">
-              <a-input-number v-model="model.tenantRoomIntegral" placeholder="请输入客房消费金额" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="客房消费可增加积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="addTenantRoomIntegral">
-              <a-input-number v-model="model.addTenantRoomIntegral" placeholder="请输入客房消费可增加积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="储值卡消费金额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="roomIntegral">
-              <a-input-number v-model="model.roomIntegral" placeholder="请输入储值卡消费金额" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="储值卡消费可增加积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="addRoomIntegral">
-              <a-input-number v-model="model.addRoomIntegral" placeholder="请输入储值卡消费可增加积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="入住天数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="dayIntegral">
-              <a-input-number v-model="model.dayIntegral" placeholder="请输入入住天数" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="入住可增加积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="addDayIntegral">
-              <a-input-number v-model="model.addDayIntegral" placeholder="请输入入住可增加积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="充值金额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="rechargeIntegral">
-              <a-input-number v-model="model.rechargeIntegral" placeholder="请输入充值金额" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="充值可增加积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="addRechargeIntegral">
-              <a-input-number v-model="model.addRechargeIntegral" placeholder="请输入充值可增加积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="自动升级所需积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upLevelIntegral">
-              <a-input-number v-model="model.upLevelIntegral" placeholder="请输入自动升级所需积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="自动升级等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upLevel">
-              <a-input-number v-model="model.upLevel" placeholder="请输入自动升级等级" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="升级后剩余积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="subLevelIntegral">
-              <a-input-number v-model="model.subLevelIntegral" placeholder="请输入升级后剩余积分" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="会员图标" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="icon">
-              <a-input v-model="model.icon" placeholder="请输入会员图标"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="卡片背景" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bgImage">
-              <a-input v-model="model.bgImage" placeholder="请输入卡片背景"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-model-item label="卡片描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="content">
-              <a-textarea v-model="model.content" rows="4" placeholder="请输入卡片描述" />
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-      </a-form-model>
-    </j-form-container>
-  </a-spin>
-</template>
-
-<script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import { validateDuplicateValue } from '@/utils/util'
-
-  export default {
-    name: 'marketMemberForm',
-    components: {
-    },
-    props: {
-      //表单禁用
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        model:{
-         },
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-           name: [
-              { required: true, message: '请输入会员名称!'},
-           ],
-        },
-        url: {
-          add: "/business/busMarketMember/add",
-          edit: "/business/busMarketMember/edit",
-          queryById: "/business/busMarketMember/queryById"
-        }
-      }
-    },
-    computed: {
-      formDisabled(){
-        return this.disabled
-      },
-    },
-    created () {
-       //备份model原始值
-      this.modelDefault = JSON.parse(JSON.stringify(this.model));
-    },
-    methods: {
-      add () {
-        this.edit(this.modelDefault);
-      },
-      edit (record) {
-        this.model = Object.assign({}, record);
-        this.visible = true;
-      },
-      submitForm () {
-        const that = this;
-        // 触发表单验证
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            httpAction(httpurl,this.model,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
-    }
-  }
-</script>

+ 344 - 0
src/views/settings/components/memberList.vue

@@ -0,0 +1,344 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :span="6">
+            <a-form-item label="会员名称">
+              <a-input
+                placeholder="会员名称"
+                v-model="queryParam.name"
+                style="width: 200px"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8">
+            <span
+              style="float: left; overflow: hidden"
+              class="table-page-search-submitButtons"
+            >
+              <a-button type="primary" @click="searchQuery" icon="search"
+                >查询</a-button
+              >
+              <a-button
+                type="primary"
+                @click="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+                >重置</a-button
+              >
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+    <div class="table-operator">
+      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-button style="margin-left: 8px">
+          批量操作 <a-icon type="down"
+        /></a-button>
+      </a-dropdown>
+    </div>
+
+    <!-- table区域-begin -->
+    <div>
+      <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择
+        <a style="font-weight: 600">{{ selectedRowKeys.length }}</a
+        >项
+        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
+      </div> -->
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{ x: true }"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{
+          selectedRowKeys: selectedRowKeys,
+          onChange: onSelectChange,
+        }"
+        class="j-table-force-nowrap"
+        @change="handleTableChange"
+      >
+        <template slot="payFlagslot" slot-scope="text, record, index">
+          {{ record.payFlag == 1 ? "是" : "否" }}
+        </template>
+        <template slot="iconslot" slot-scope="text, record, index">
+          <a-icon :type="record.icon" theme="filled" />
+        </template>
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text, record">
+          <span v-if="!text" style="font-size: 12px; font-style: italic"
+            >无图片</span
+          >
+          <img
+            v-else
+            :src="getImgView(text)"
+            :preview="record.id"
+            height="25px"
+            alt=""
+            style="max-width: 80px; font-size: 12px; font-style: italic"
+          />
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px; font-style: italic"
+            >无文件</span
+          >
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)"
+          >
+            下载
+          </a-button>
+        </template>
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">编辑</a>
+
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">详情</a>
+              </a-menu-item>
+              <a-menu-item>
+                <a-popconfirm
+                  title="确定删除吗?"
+                  @confirm="() => handleDelete(record.id)"
+                >
+                  <a>删除</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+      </a-table>
+    </div>
+
+    <bus-market-member-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></bus-market-member-modal>
+  </a-card>
+</template>
+  
+  <script>
+
+import { JeecgListMixin } from "@/mixins/JeecgListMixin";
+import BusMarketMemberModal from "./modules/BusMarketMemberModal";
+import { filterObj } from "@/utils/util";
+import { getAction } from "@/api/manage";
+export default {
+  name: "memberList",
+  mixins: [JeecgListMixin],
+  components: {
+    BusMarketMemberModal,
+  },
+  data() {
+    return {
+      queryParam: {},
+      // 分页参数
+      ipagination: {
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ["10", "20", "30"],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 共" + total + "条";
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0,
+      },
+      // 表头
+      columns: [
+        {
+          title: "商家",
+          align: "center",
+          dataIndex: "hotelName",
+        },
+        {
+          title: "会员名称",
+          align: "center",
+          dataIndex: "name",
+        },
+        {
+          title: "图标",
+          align: "center",
+          dataIndex: "icon",
+          scopedSlots: { customRender: "iconslot" },
+        },
+        {
+          title: "会员折扣",
+          align: "center",
+          dataIndex: "discount",
+        },
+        {
+          title: "是否需要支付",
+          align: "center",
+          dataIndex: "payFlag",
+          scopedSlots: { customRender: "payFlagslot" },
+        },
+        {
+          title: "费用",
+          align: "center",
+          dataIndex: "payAmount",
+        },
+        {
+          title: "积分购买",
+          align: "center",
+          dataIndex: "payIntegral",
+        },
+        {
+          title: "操作",
+          dataIndex: "action",
+          align: "center",
+          fixed: "right",
+          width: 147,
+          scopedSlots: { customRender: "action" },
+        },
+      ],
+      url: {
+        list: "/org.jeecg.modules.business/busMarketMember/list",
+        delete: "/org.jeecg.modules.business/busMarketMember/delete",
+        deleteBatch: "/org.jeecg.modules.business/busMarketMember/deleteBatch",
+        exportXlsUrl: "/org.jeecg.modules.business/busMarketMember/exportXls",
+        importExcelUrl:
+          "org.jeecg.modules.business/busMarketMember/importExcel",
+      },
+      dictOptions: {},
+      superFieldList: [],
+      selectedRowKeys: [],
+      isorter: {
+        column: "createTime",
+        order: "desc",
+      },
+    };
+  },
+  created() {
+    // this.loadData()
+  },
+  methods: {
+    // searchQuery() {
+    //   this.loadData(1);
+    // },
+    // loadData(arg) {
+    //   //加载数据 若传入参数1则加载第一页的内容
+    //   if (arg === 1) {
+    //     this.ipagination.current = 1;
+    //   }
+    //   var params = this.getQueryParams(); //查询条件
+    //   getAction(this.url.list, params).then((res) => {
+    //     if (res.success) {
+    //       this.dataSource1 = res.result.records;
+    //       this.ipagination.total = res.result.total;
+    //     }
+    //   });
+    // },
+    // getQueryParams() {
+    //   var param = Object.assign({}, this.queryParam, this.isorter);
+    //   param.pageNo = this.ipagination.current;
+    //   param.pageSize = this.ipagination.pageSize;
+    //   return filterObj(param);
+    // },
+    getAvatarView: function (avatar) {
+      return getFileAccessHttpUrl(avatar);
+    },
+
+    batchFrozen: function (status) {
+      if (this.selectedRowKeys.length <= 0) {
+        this.$message.warning("请选择一条记录!");
+        return false;
+      } else {
+        let ids = "";
+        let that = this;
+        let isAdmin = false;
+        that.selectionRows.forEach(function (row) {
+          if (row.username == "admin") {
+            isAdmin = true;
+          }
+        });
+        if (isAdmin) {
+          that.$message.warning("管理员账号不允许此操作,请重新选择!");
+          return;
+        }
+        that.selectedRowKeys.forEach(function (val) {
+          ids += val + ",";
+        });
+        that.$confirm({
+          title: "确认操作",
+          content: "是否" + (status == 1 ? "解冻" : "冻结") + "选中账号?",
+          onOk: function () {
+            frozenBatch({ ids: ids, status: status }).then((res) => {
+              if (res.success) {
+                that.$message.success(res.message);
+                that.loadData();
+                that.onClearSelected();
+              } else {
+                that.$message.warning(res.message);
+              }
+            });
+          },
+        });
+      }
+    },
+    handleMenuClick(e) {
+      if (e.key == 1) {
+        this.batchDel();
+      } else if (e.key == 2) {
+        this.batchFrozen(2);
+      } else if (e.key == 3) {
+        this.batchFrozen(1);
+      }
+    },
+    handleFrozen: function (id, status, username) {
+      let that = this;
+      //TODO 后台校验管理员角色
+      if ("admin" == username) {
+        that.$message.warning("管理员账号不允许此操作!");
+        return;
+      }
+      frozenBatch({ ids: id, status: status }).then((res) => {
+        if (res.success) {
+          that.$message.success(res.message);
+          that.loadData();
+        } else {
+          that.$message.warning(res.message);
+        }
+      });
+    },
+    handleChangePassword(username) {
+      this.$refs.passwordmodal.show(username);
+    },
+    passwordModalOk() {
+      //TODO 密码修改完成 不需要刷新页面,可以把datasource中的数据更新一下
+    },
+    onSyncFinally({ isToLocal }) {
+      // 同步到本地时刷新下数据
+      if (isToLocal) {
+        this.loadData();
+      }
+    },
+  },
+};
+</script>
+  <style scoped>
+@import "~@assets/less/common.less";
+</style>

+ 527 - 0
src/views/settings/components/modules/BusMarketMemberForm.vue

@@ -0,0 +1,527 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model
+        ref="form"
+        :model="model"
+        :rules="validatorRules"
+        slot="detail"
+      >
+        <a-row>
+          <!-- <a-col :span="24">
+            <a-form-model-item label="关联租户" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenantId">
+              <a-input v-model="model.tenantId" placeholder="请输入关联租户"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="关联酒店" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hotelId">
+              <a-input v-model="model.hotelId" placeholder="请输入关联酒店"  ></a-input>
+            </a-form-model-item>
+          </a-col> -->
+          <a-col :span="24">
+            <a-form-model-item
+              label="会员名称"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="name"
+            >
+              <a-input
+                v-model="model.name"
+                placeholder="请输入会员名称"
+              ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="选择类型"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="type"
+            >
+              <a-radio-group v-model="model.type">
+                <a-radio :value="0">会员折扣</a-radio>
+                <a-radio :value="1">房价方案</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24" v-show="model.type == 0">
+            <a-form-model-item
+              label="会员折扣"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="discount"
+            >
+              <a-input-number
+                v-model="model.discount"
+                :min="1"
+                :max="100"
+                style="width: 20%"
+                :precision="0"
+              />%
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24" v-show="model.type == 1">
+            <a-form-model-item
+              label="房价方案"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="schemeId"
+            >
+              <a-select
+                v-model="model.schemeId"
+                placeholder="请选择"
+                style="width: 120px"
+                :allowClear="true"
+              >
+                <a-select-option :value="item.value" v-for="(item,index) in roomPlans" :key="index">{{ item.label }}</a-select-option>
+              </a-select>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="是否需要支付"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="payFlag"
+            >
+              <a-radio-group v-model="model.payFlag">
+                <a-radio :value="0">否</a-radio>
+                <a-radio :value="1">是</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24" v-show="model.payFlag == 1">
+            <a-form-model-item
+              label="支付费用"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="payAmount"
+            >
+              <a-input-number
+                v-model="model.payAmount"
+                placeholder="请输入支付费用"
+                style="width: 100%"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="积分购买"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="payIntegral"
+            >
+              <a-input-number
+                v-model="model.payIntegral"
+                placeholder="购买会员卡所需积分"
+                style="width: 100%"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="是否可以储值"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="payStored"
+            >
+              <a-radio-group v-model="model.payStored">
+                <a-radio :value="0">否</a-radio>
+                <a-radio :value="1">是</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="等级"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="level"
+            >
+              <a-input-number
+                v-model="model.level"
+                placeholder="请输入等级"
+                style="width: 20%"
+                :precision="0"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="会员优惠"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="hyyh"
+              >每一积分可抵扣金额
+              <a-input-number
+                v-model="model.hyyh"
+                style="width: 20%"
+                :min="0"
+                :max="1000000"
+              />元
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="自动续期"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="renewal"
+            >
+              <a-checkbox
+                @change="(e) => (model.renewal = e.target.checked)"
+                :checked="model.renewal"
+              >
+                充值自动续期
+              </a-checkbox>
+              <a-input-number
+                v-model="model.renewalDay"
+                style="width: 20%"
+                :min="1"
+                :max="1000000"
+                :precision="0"
+              />天
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="积分设置"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="tenantPointsChecked"
+            >
+              <a-checkbox
+                @change="(e) => (model.tenantPointsChecked = e.target.checked)"
+                :checked="model.tenantPointsChecked"
+              >
+                客房积分模式
+              </a-checkbox>
+              <block v-show="model.tenantPointsChecked">
+                <a-radio-group v-model="model.tenantPoints">
+                  <a-radio :value="1">所有的消费转成积分</a-radio>
+                  <a-radio :value="2">只房费转成积分</a-radio> </a-radio-group
+                ><br />
+                每消费
+                <a-input-number
+                  v-model="model.tenantRoomIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />元,积
+                <a-input-number
+                  v-model="model.addTenantRoomIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />分</block
+              ><br>
+              <a-checkbox
+                @change="(e) => (model.roomIntegralChecked = e.target.checked)"
+                :checked="model.roomIntegralChecked"
+              >
+                按储值卡支付积分
+              </a-checkbox>
+              <block v-show="model.roomIntegralChecked">
+                每消费
+                <a-input-number
+                  v-model="model.roomIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />元,积
+                <a-input-number
+                  v-model="model.addRoomIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />分</block
+              ><br>
+              <a-checkbox
+                @change="(e) => (model.dayIntegralChecked = e.target.checked)"
+                :checked="model.dayIntegralChecked"
+              >
+                按入住天数积分
+              </a-checkbox>
+              <block v-show="model.dayIntegralChecked">
+                每入住
+                <a-input-number
+                  v-model="model.dayIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />天,积
+                <a-input-number
+                  v-model="model.addDayIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />分</block
+              ><br>
+              <a-checkbox
+                @change="(e) => (model.rechargeChecked = e.target.checked)"
+                :checked="model.rechargeChecked"
+              >
+                启用储值赠送
+              </a-checkbox>
+              <block v-show="model.rechargeChecked">
+                每充值
+                <a-input-number
+                  v-model="model.rechargeIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />元,积
+                <a-input-number
+                  v-model="model.addRechargeIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />分</block
+              ><br>
+              <a-checkbox
+                @change="(e) => (model.upLevelChecked = e.target.checked)"
+                :checked="model.upLevelChecked"
+              >
+                积分满足
+              </a-checkbox>
+              <block v-show="model.upLevelChecked">
+                <a-input-number
+                  v-model="model.upLevelIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+                />分,自动升级为
+                <a-select
+                  v-model="model.upLevel"
+                  placeholder="请选择"
+                  style="width: 120px"
+                  :allowClear="true"
+                >
+                  <a-select-option value="jack"> Jack </a-select-option>
+                  <a-select-option value="lucy"> Lucy </a-select-option>
+                </a-select></block
+              ><br>
+              <a-checkbox
+                @change="(e) => (model.subLevelChecked = e.target.checked)"
+                :checked="model.subLevelChecked"
+              >
+                升级扣除相应积分
+              </a-checkbox>
+              <block v-show="model.subLevelChecked">
+                ,扣减相应积分为
+                <a-input-number
+                  v-model="model.subLevelIntegral"
+                  style="width: 20%"
+                  :min="1"
+                  :max="1000000"
+                  :precision="0"
+              /></block>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="会员图标"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="icon"
+            >
+              <!-- <a-input
+                v-model="model.icon"
+                placeholder="请输入会员图标"
+              ></a-input> -->
+              <a-input
+                placeholder="点击选择图标"
+                v-model="model.icon"
+                :readOnly="true"
+              >
+                <a-icon slot="addonAfter" type="setting" @click="selectIcons" />
+              </a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="卡片背景"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="bgImage"
+            >
+              <j-image-upload
+                class="avatar-uploader"
+                text="上传"
+                v-model="model.bgImage"
+              ></j-image-upload>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="卡片描述"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="content"
+            >
+              <a-textarea
+                v-model="model.content"
+                rows="4"
+                placeholder="请输入卡片描述"
+              />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+
+      <icons
+        @choose="handleIconChoose"
+        @close="handleIconCancel"
+        :iconChooseVisible="iconChooseVisible"
+      ></icons>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+  import {getRoomPlans} from '@/api/api'
+import { httpAction, getAction } from "@/api/manage";
+import { validateDuplicateValue } from "@/utils/util";
+import Icons from "./icon/Icons";
+
+export default {
+  name: "BusMarketMemberForm",
+  components: { Icons },
+  props: {
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false,
+    },
+  },
+  data() {
+    return {
+      model: {
+        hotelId: 0,
+        type: 0,
+        discount: 1,
+        payFlag: 0,
+        payIntegral: 0,
+        payStored: 0,
+        level: 1,
+        renewal: false,
+        tenantPointsChecked: false,
+        roomIntegralChecked: false,
+        dayIntegralChecked: false,
+        rechargeChecked: false,
+        upLevelChecked: false,
+        subLevelChecked: false,
+        tenant_points: 1,
+      },
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        name: [{ required: true, message: "请输入会员名称!" }],
+        payAmount: [{ required: true, message: "请输入支付费用!" }],
+        level: [{ required: true, message: "请输入等级!" }],
+        icon: [{ required: true, message: "请上传会员图标!" }],
+      },
+      url: {
+        add: "/org.jeecg.modules.business/busMarketMember/add",
+        edit: "/org.jeecg.modules.business/busMarketMember/edit",
+        queryById: "/org.jeecg.modules.business/busMarketMember/queryById",
+      },
+      iconChooseVisible: false,
+      roomPlans:[]
+    };
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled;
+    },
+  },
+  created() {
+    var _info = JSON.parse(localStorage.getItem("storeInfo"));
+    if (_info) {
+      this.model.hotelId = _info.id;
+      this.initData()
+    }
+    this.modelDefault = JSON.parse(JSON.stringify(this.model));
+
+  },
+  methods: {
+    initData(){
+      getRoomPlans(this.model.hotelId, null).then((res) => {
+          if (res.success) {
+            this.roomPlans = res.result;
+          }
+        })
+    },
+    selectIcons() {
+      this.iconChooseVisible = true;
+    },
+    handleIconCancel() {
+      this.iconChooseVisible = false;
+    },
+    handleIconChoose(value) {
+      console.log(value);
+      this.model.icon = value;
+      this.iconChooseVisible = false;
+    },
+    add() {
+      this.edit(this.modelDefault);
+    },
+    edit(record) {
+      this.model = Object.assign({}, record);
+      this.visible = true;
+    },
+    submitForm() {
+      const that = this;
+      // 触发表单验证
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          that.confirmLoading = true;
+          let httpurl = "";
+          let method = "";
+          if (!this.model.id) {
+            httpurl += this.url.add;
+            method = "post";
+          } else {
+            httpurl += this.url.edit;
+            method = "put";
+          }
+          httpAction(httpurl, this.model, method)
+            .then((res) => {
+              if (res.success) {
+                that.$message.success(res.message);
+                that.$emit("ok");
+              } else {
+                that.$message.warning(res.message);
+              }
+            })
+            .finally(() => {
+              that.confirmLoading = false;
+            });
+        }
+      });
+    },
+  },
+};
+</script>
+<style scoped>
+.avatar-uploader > .ant-upload {
+  width: 104px;
+  height: 104px;
+}
+</style>

+ 4 - 4
src/views/settings/components/marketMemberModal.Style#Drawer.vue

@@ -17,12 +17,12 @@
 
 <script>
 
-  import marketMemberForm from './marketMemberForm'
+  import BusMarketMemberForm from './BusMarketMemberForm'
 
   export default {
-    name: 'marketMemberModal',
+    name: 'BusMarketMemberModal',
     components: {
-      marketMemberForm
+      BusMarketMemberForm
     },
     data () {
       return {
@@ -81,4 +81,4 @@
     background: #fff;
     border-radius: 0 0 2px 2px;
   }
-</style>
+</style>

+ 4 - 4
src/views/settings/components/marketMemberModal.vue

@@ -14,11 +14,11 @@
 
 <script>
 
-  import marketMemberForm from './marketMemberForm'
+  import BusMarketMemberForm from './BusMarketMemberForm'
   export default {
-    name: 'marketMemberModal',
+    name: 'BusMarketMemberModal',
     components: {
-      marketMemberForm
+      BusMarketMemberForm
     },
     data () {
       return {
@@ -57,4 +57,4 @@
       }
     }
   }
-</script>
+</script>

+ 35 - 0
src/views/settings/components/modules/icon/Icon.less

@@ -0,0 +1,35 @@
+@active-color: #4a4a48;
+ul {
+  max-height: 700px;
+  overflow-y: auto;
+  padding-left: .5rem;
+  i {
+    font-size: 1.5rem;
+    border: 1px solid #f1f1f1;
+    padding: .2rem;
+    margin: .3rem;
+    cursor: pointer;
+    &.active, &:hover {
+      border-radius: 2px;
+      border-color: @active-color;
+      background-color: @active-color;
+      color: #fff;
+      transition: all .3s;
+    }
+  }
+  li {
+    list-style: none;
+    float: left;
+    width: 5%;
+    text-align: center;
+    cursor: pointer;
+    color: #555;
+    transition: color .3s ease-in-out,background-color .3s ease-in-out;
+    position: relative;
+    margin: 3px 0;
+    border-radius: 4px;
+    background-color: #fff;
+    overflow: hidden;
+    padding: 10px 0 0;
+  }
+}

File diff suppressed because it is too large
+ 123 - 0
src/views/settings/components/modules/icon/Icons.vue


+ 39 - 333
src/views/settings/marketMemberList.vue

@@ -1,345 +1,51 @@
 <template>
-  <a-card :bordered="false">
-    <!-- 查询区域 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
-        </a-row>
-      </a-form>
-    </div>
-    <!-- 查询区域-END -->
-
-    <!-- 操作按钮区域 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('bus_market_member_info')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <!-- 高级查询区域 -->
-      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table区域-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
-
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text,record">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
-        <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)">
-            下载
-          </a-button>
-        </template>
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">详情</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-      </a-table>
-    </div>
-
-    <bus-market-member-modal ref="modalForm" @ok="modalFormOk"></bus-market-member-modal>
+  <a-card style="width: 100%; height:100%;">
+      <a-tabs default-active-key="1">
+          <a-tab-pane key="1">
+              <span slot="tab">
+                  会员等级
+              </span>
+              <member-list></member-list>
+          </a-tab-pane>
+          <a-tab-pane key="2">
+              <span slot="tab">
+                  充值配置
+              </span>
+          </a-tab-pane>
+          <a-tab-pane key="3">
+              <span slot="tab">
+                  会员配置
+              </span>
+          </a-tab-pane>
+          <a-tab-pane key="4">
+              <span slot="tab">
+                  自动赠券
+              </span>
+          </a-tab-pane>
+      </a-tabs>
   </a-card>
 </template>
 
 <script>
-
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import marketMemberModal from './components/marketMemberModal'
-
-  export default {
-    name: 'marketMemberList',
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      marketMemberModal
-    },
-    data () {
+import memberList from './components/memberList.vue';
+import storeAuthInfo from './components/storeAuthInfo.vue';
+import storeInfos from './components/storeInfos.vue';
+export default {
+  components:{
+    memberList,
+      storeAuthInfo,
+      storeInfos
+  },
+  data() {
       return {
-        description: 'bus_market_member_info管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title:'关联租户',
-            align:"center",
-            dataIndex: 'tenantId'
-          },
-          {
-            title:'关联酒店',
-            align:"center",
-            dataIndex: 'hotelId'
-          },
-          {
-            title:'会员名称',
-            align:"center",
-            dataIndex: 'name'
-          },
-          {
-            title:'会员类型(0-会员折扣;1-房价方案)',
-            align:"center",
-            dataIndex: 'type'
-          },
-          {
-            title:'会员折扣值',
-            align:"center",
-            dataIndex: 'discount'
-          },
-          {
-            title:'关联房价方案',
-            align:"center",
-            dataIndex: 'schemeId'
-          },
-          {
-            title:'是否需要支付(0-否;1-是)',
-            align:"center",
-            dataIndex: 'payFlag'
-          },
-          {
-            title:'支付金额',
-            align:"center",
-            dataIndex: 'payAmount'
-          },
-          {
-            title:'购买会员卡所需积分',
-            align:"center",
-            dataIndex: 'payIntegral'
-          },
-          {
-            title:'是否可以储值(0-否;1-是)',
-            align:"center",
-            dataIndex: 'payStored'
-          },
-          {
-            title:'会员等级',
-            align:"center",
-            dataIndex: 'level'
-          },
-          {
-            title:'会员优惠(每一积分可抵扣金额)',
-            align:"center",
-            dataIndex: 'hyyh'
-          },
-          {
-            title:'充值是否自动续期',
-            align:"center",
-            dataIndex: 'renewal'
-          },
-          {
-            title:'自动续期天数',
-            align:"center",
-            dataIndex: 'renewalDay'
-          },
-          {
-            title:'积分类型',
-            align:"center",
-            dataIndex: 'integralTypes'
-          },
-          {
-            title:'客房积分模式(1-所有的消费转成积分;2-只房费转积分;)',
-            align:"center",
-            dataIndex: 'tenantPoints'
-          },
-          {
-            title:'客房消费金额',
-            align:"center",
-            dataIndex: 'tenantRoomIntegral'
-          },
-          {
-            title:'客房消费可增加积分',
-            align:"center",
-            dataIndex: 'addTenantRoomIntegral'
-          },
-          {
-            title:'储值卡消费金额',
-            align:"center",
-            dataIndex: 'roomIntegral'
-          },
-          {
-            title:'储值卡消费可增加积分',
-            align:"center",
-            dataIndex: 'addRoomIntegral'
-          },
-          {
-            title:'入住天数',
-            align:"center",
-            dataIndex: 'dayIntegral'
-          },
-          {
-            title:'入住可增加积分',
-            align:"center",
-            dataIndex: 'addDayIntegral'
-          },
-          {
-            title:'充值金额',
-            align:"center",
-            dataIndex: 'rechargeIntegral'
-          },
-          {
-            title:'充值可增加积分',
-            align:"center",
-            dataIndex: 'addRechargeIntegral'
-          },
-          {
-            title:'自动升级所需积分',
-            align:"center",
-            dataIndex: 'upLevelIntegral'
-          },
-          {
-            title:'自动升级等级',
-            align:"center",
-            dataIndex: 'upLevel'
-          },
-          {
-            title:'升级后剩余积分',
-            align:"center",
-            dataIndex: 'subLevelIntegral'
-          },
-          {
-            title:'会员图标',
-            align:"center",
-            dataIndex: 'icon'
-          },
-          {
-            title:'卡片背景',
-            align:"center",
-            dataIndex: 'bgImage'
-          },
-          {
-            title:'卡片描述',
-            align:"center",
-            dataIndex: 'content'
-          },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:147,
-            scopedSlots: { customRender: 'action' }
-          }
-        ],
-        url: {
-          list: "/business/busMarketMember/list",
-          delete: "/business/busMarketMember/delete",
-          deleteBatch: "/business/busMarketMember/deleteBatch",
-          exportXlsUrl: "/business/busMarketMember/exportXls",
-          importExcelUrl: "business/busMarketMember/importExcel",
 
-        },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
-    this.getSuperFieldList();
-    },
-    computed: {
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      },
-    },
-    methods: {
-      initDictConfig(){
-      },
-      getSuperFieldList(){
-        let fieldList=[];
-        fieldList.push({type:'string',value:'tenantId',text:'关联租户'})
-        fieldList.push({type:'string',value:'hotelId',text:'关联酒店'})
-        fieldList.push({type:'string',value:'name',text:'会员名称'})
-        fieldList.push({type:'int',value:'type',text:'会员类型(0-会员折扣;1-房价方案)'})
-        fieldList.push({type:'number',value:'discount',text:'会员折扣值'})
-        fieldList.push({type:'string',value:'schemeId',text:'关联房价方案'})
-        fieldList.push({type:'int',value:'payFlag',text:'是否需要支付(0-否;1-是)'})
-        fieldList.push({type:'number',value:'payAmount',text:'支付金额'})
-        fieldList.push({type:'number',value:'payIntegral',text:'购买会员卡所需积分'})
-        fieldList.push({type:'int',value:'payStored',text:'是否可以储值(0-否;1-是)'})
-        fieldList.push({type:'int',value:'level',text:'会员等级'})
-        fieldList.push({type:'number',value:'hyyh',text:'会员优惠(每一积分可抵扣金额)'})
-        fieldList.push({type:'string',value:'renewal',text:'充值是否自动续期'})
-        fieldList.push({type:'number',value:'renewalDay',text:'自动续期天数'})
-        fieldList.push({type:'string',value:'integralTypes',text:'积分类型'})
-        fieldList.push({type:'string',value:'tenantPoints',text:'客房积分模式(1-所有的消费转成积分;2-只房费转积分;)'})
-        fieldList.push({type:'number',value:'tenantRoomIntegral',text:'客房消费金额'})
-        fieldList.push({type:'number',value:'addTenantRoomIntegral',text:'客房消费可增加积分'})
-        fieldList.push({type:'number',value:'roomIntegral',text:'储值卡消费金额'})
-        fieldList.push({type:'number',value:'addRoomIntegral',text:'储值卡消费可增加积分'})
-        fieldList.push({type:'number',value:'dayIntegral',text:'入住天数'})
-        fieldList.push({type:'number',value:'addDayIntegral',text:'入住可增加积分'})
-        fieldList.push({type:'number',value:'rechargeIntegral',text:'充值金额'})
-        fieldList.push({type:'number',value:'addRechargeIntegral',text:'充值可增加积分'})
-        fieldList.push({type:'number',value:'upLevelIntegral',text:'自动升级所需积分'})
-        fieldList.push({type:'int',value:'upLevel',text:'自动升级等级'})
-        fieldList.push({type:'number',value:'subLevelIntegral',text:'升级后剩余积分'})
-        fieldList.push({type:'string',value:'icon',text:'会员图标'})
-        fieldList.push({type:'string',value:'bgImage',text:'卡片背景'})
-        fieldList.push({type:'string',value:'content',text:'卡片描述'})
-        this.superFieldList = fieldList
       }
-    }
   }
+}
 </script>
+
 <style scoped>
-  @import '~@assets/less/common.less';
+.main{
+  height: 70% !important;
+}
 </style>