Commit 71db8517 by liuchenxi

Merge branch 'feature/1月迭代-年后' into dev

parents 82d99a32 b1e610dc
...@@ -137,6 +137,11 @@ ...@@ -137,6 +137,11 @@
</el-form-item> </el-form-item>
<el-form-item label="升级条件" prop="" v-if="ruleForm.autoUpgrade"> <el-form-item label="升级条件" prop="" v-if="ruleForm.autoUpgrade">
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelConsumeSelect">单笔消费满</el-checkbox>
<el-input v-model="ruleForm.upLevelConsumeCost" @focus="inputFocus('upLevelConsumeCost', 'money')" @keyup.native="formatInput($event)"/>
<label></label>
</div>
<div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelHighcostSelect">当天消费满</el-checkbox> <el-checkbox v-model="ruleForm.upLevelHighcostSelect">当天消费满</el-checkbox>
<el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
...@@ -187,6 +192,13 @@ ...@@ -187,6 +192,13 @@
</el-form-item> </el-form-item>
<el-form-item label="保级条件" prop=""> <el-form-item label="保级条件" prop="">
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelConsumeSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelConsumeDays" @focus="inputFocus('lowLevelConsumeDays', 'day')" @keyup.native="formatInput($event)" />
<label>天内单笔消费满</label>
<el-input v-model="ruleForm.lowLevelConsumeCost" @focus="inputFocus('lowLevelConsumeCost', 'money')" @keyup.native="formatInput($event)"/>
<label></label>
</div>
<div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelHighcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelHighcostSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelHighcostDays" @focus="inputFocus('lowLevelHighcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelHighcostDays" @focus="inputFocus('lowLevelHighcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内单天消费满</label> <label>天内单天消费满</label>
...@@ -322,6 +334,8 @@ export default { ...@@ -322,6 +334,8 @@ export default {
upLevelSumintegralSelect: false, //x天内获得x积分 upLevelSumintegralSelect: false, //x天内获得x积分
upLevelSumintegral: '0', upLevelSumintegral: '0',
upLevelSumintegralDays: '', upLevelSumintegralDays: '',
upLevelConsumeSelect: false, // x天内消费满x元-开关
upLevelConsumeCost: '0', // x天内消费满x元
autoDowngrade: true, //自动降级 1启用 2停用 autoDowngrade: true, //自动降级 1启用 2停用
gradeEffectDay: '0', //自升级之日起算X天 gradeEffectDay: '0', //自升级之日起算X天
lowLevelHighcostDays: '0', //x天内单天消费满x元 lowLevelHighcostDays: '0', //x天内单天消费满x元
...@@ -340,6 +354,9 @@ export default { ...@@ -340,6 +354,9 @@ export default {
lowLevelSumstored: '0', lowLevelSumstored: '0',
lowLevelSumstoredDays: '0', lowLevelSumstoredDays: '0',
lowLevelSumintegralSelect: false, //x天内获得x积分 lowLevelSumintegralSelect: false, //x天内获得x积分
lowLevelConsumeSelect: false, // x天内单笔消费-开关
lowLevelConsumeDays: '0', // x天内单笔消费
lowLevelConsumeCost: '0', // x天内单笔消费x元
lowLevelSumintegral: '0', lowLevelSumintegral: '0',
lowLevelSumintegralDays: '0', lowLevelSumintegralDays: '0',
gradeDescribe: '', //会员等级说明 gradeDescribe: '', //会员等级说明
...@@ -447,6 +464,11 @@ export default { ...@@ -447,6 +464,11 @@ export default {
if (!!data.upLevelSumintegralSelect && (!data.upLevelSumintegralDays || !data.upLevelSumintegral)) { if (!!data.upLevelSumintegralSelect && (!data.upLevelSumintegralDays || !data.upLevelSumintegral)) {
flag = false; flag = false;
} }
// x天内消费满x元
console.log(data.upLevelConsumeSelect, data.upLevelConsumeCost)
if (!!data.upLevelConsumeSelect && !data.upLevelConsumeCost) {
flag = false;
}
} }
return flag; return flag;
...@@ -480,6 +502,10 @@ export default { ...@@ -480,6 +502,10 @@ export default {
if (!!data.lowLevelSumintegralSelect && (!data.lowLevelSumintegralDays || !data.lowLevelSumintegral)) { if (!!data.lowLevelSumintegralSelect && (!data.lowLevelSumintegralDays || !data.lowLevelSumintegral)) {
flag = false; flag = false;
} }
// x天内消费满x元
if (!!data.lowLevelConsumeSelect && (!data.lowLevelConsumeDays || !data.lowLevelConsumeCost)) {
flag = false;
}
} }
return flag; return flag;
...@@ -545,6 +571,7 @@ export default { ...@@ -545,6 +571,7 @@ export default {
data.upLevelCostimesSelect = data.upLevelCostimesSelect == true ? 1 : 0; data.upLevelCostimesSelect = data.upLevelCostimesSelect == true ? 1 : 0;
data.upLevelSumstoredSelect = data.upLevelSumstoredSelect == true ? 1 : 0; data.upLevelSumstoredSelect = data.upLevelSumstoredSelect == true ? 1 : 0;
data.upLevelSumintegralSelect = data.upLevelSumintegralSelect == true ? 1 : 0; data.upLevelSumintegralSelect = data.upLevelSumintegralSelect == true ? 1 : 0;
data.upLevelConsumeSelect = data.upLevelConsumeSelect==true? 1:0
log(data.lowLevelHighcostSelect, data.lowLevelDaystoredSelect, data.lowLevelSumcostSelect, data.lowLevelCosttimesSelect, data.lowLevelSumstoredSelect, data.lowLevelSumintegralSelect); log(data.lowLevelHighcostSelect, data.lowLevelDaystoredSelect, data.lowLevelSumcostSelect, data.lowLevelCosttimesSelect, data.lowLevelSumstoredSelect, data.lowLevelSumintegralSelect);
data.lowLevelHighcostSelect = data.lowLevelHighcostSelect == true ? 1 : 0; data.lowLevelHighcostSelect = data.lowLevelHighcostSelect == true ? 1 : 0;
data.lowLevelDaystoredSelect = data.lowLevelDaystoredSelect == true ? 1 : 0; data.lowLevelDaystoredSelect = data.lowLevelDaystoredSelect == true ? 1 : 0;
...@@ -552,6 +579,7 @@ export default { ...@@ -552,6 +579,7 @@ export default {
data.lowLevelCosttimesSelect = data.lowLevelCosttimesSelect == true ? 1 : 0; data.lowLevelCosttimesSelect = data.lowLevelCosttimesSelect == true ? 1 : 0;
data.lowLevelSumstoredSelect = data.lowLevelSumstoredSelect == true ? 1 : 0; data.lowLevelSumstoredSelect = data.lowLevelSumstoredSelect == true ? 1 : 0;
data.lowLevelSumintegralSelect = data.lowLevelSumintegralSelect == true ? 1 : 0; data.lowLevelSumintegralSelect = data.lowLevelSumintegralSelect == true ? 1 : 0;
data.lowLevelConsumeSelect = data.lowLevelConsumeSelect==true? 1:0
data.discountControlUpper = data.discountControlUpper || '0'; data.discountControlUpper = data.discountControlUpper || '0';
data.discountControlLower = data.discountControlLower || '0'; data.discountControlLower = data.discountControlLower || '0';
...@@ -567,6 +595,7 @@ export default { ...@@ -567,6 +595,7 @@ export default {
data.upLevelSumstored = data.upLevelSumstored || 0; data.upLevelSumstored = data.upLevelSumstored || 0;
data.upLevelSumintegralDays = data.upLevelSumintegralDays || 0; data.upLevelSumintegralDays = data.upLevelSumintegralDays || 0;
data.upLevelSumintegral = data.upLevelSumintegral || 0; data.upLevelSumintegral = data.upLevelSumintegral || 0;
data.upLevelConsumeCost = data.upLevelConsumeCost || 0;
data.gradeEffectDay = data.gradeEffectDay || 0; data.gradeEffectDay = data.gradeEffectDay || 0;
data.lowLevelHighcostDays = data.lowLevelHighcostDays || 0; data.lowLevelHighcostDays = data.lowLevelHighcostDays || 0;
...@@ -581,6 +610,8 @@ export default { ...@@ -581,6 +610,8 @@ export default {
data.lowLevelSumstored = data.lowLevelSumstored || 0; data.lowLevelSumstored = data.lowLevelSumstored || 0;
data.lowLevelSumintegralDays = data.lowLevelSumintegralDays || 0; data.lowLevelSumintegralDays = data.lowLevelSumintegralDays || 0;
data.lowLevelSumintegral = data.lowLevelSumintegral || 0; data.lowLevelSumintegral = data.lowLevelSumintegral || 0;
data.lowLevelConsumeDays = data.lowLevelConsumeDays || 0;
data.lowLevelConsumeCost = data.lowLevelConsumeCost || 0;
// 关联商户等级 // 关联商户等级
let relation = ''; let relation = '';
......
...@@ -130,6 +130,11 @@ ...@@ -130,6 +130,11 @@
</el-form-item> </el-form-item>
<el-form-item label="升级条件" prop="" v-if="ruleForm.autoUpgrade"> <el-form-item label="升级条件" prop="" v-if="ruleForm.autoUpgrade">
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelConsumeSelect">单笔消费满</el-checkbox>
<el-input v-model="ruleForm.upLevelConsumeCost" @focus="inputFocus('upLevelConsumeCost', 'money')" @keyup.native="formatInput($event)"/>
<label></label>
</div>
<div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelHighcostSelect">当天消费满</el-checkbox> <el-checkbox v-model="ruleForm.upLevelHighcostSelect">当天消费满</el-checkbox>
<el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
...@@ -180,6 +185,13 @@ ...@@ -180,6 +185,13 @@
</el-form-item> </el-form-item>
<el-form-item label="保级条件" prop=""> <el-form-item label="保级条件" prop="">
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelConsumeSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelConsumeDays" @focus="inputFocus('lowLevelConsumeDays', 'day')" @keyup.native="formatInput($event)" />
<label>天内单笔消费满</label>
<el-input v-model="ruleForm.lowLevelConsumeCost" @focus="inputFocus('lowLevelConsumeCost', 'money')" @keyup.native="formatInput($event)"/>
<label></label>
</div>
<div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelHighcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelHighcostSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelHighcostDays" @focus="inputFocus('lowLevelHighcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelHighcostDays" @focus="inputFocus('lowLevelHighcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内单天消费满</label> <label>天内单天消费满</label>
...@@ -314,6 +326,8 @@ export default { ...@@ -314,6 +326,8 @@ export default {
upLevelSumintegralSelect: false, //x天内获得x积分 upLevelSumintegralSelect: false, //x天内获得x积分
upLevelSumintegral: '', upLevelSumintegral: '',
upLevelSumintegralDays: '', upLevelSumintegralDays: '',
upLevelConsumeSelect: false, // x天内消费满x元-开关
upLevelConsumeCost: '', // x天内消费满x元
autoDowngrade: true, //自动降级 1启用 2停用 autoDowngrade: true, //自动降级 1启用 2停用
gradeEffectDay: '', //自升级之日起算X天 gradeEffectDay: '', //自升级之日起算X天
lowLevelHighcostDays: '', //x天内单天消费满x元 lowLevelHighcostDays: '', //x天内单天消费满x元
...@@ -331,6 +345,9 @@ export default { ...@@ -331,6 +345,9 @@ export default {
lowLevelSumstoredSelect: false, //x天内储值满x元 lowLevelSumstoredSelect: false, //x天内储值满x元
lowLevelSumstored: '', lowLevelSumstored: '',
lowLevelSumstoredDays: '', lowLevelSumstoredDays: '',
lowLevelConsumeSelect: false, // x天内单笔消费-开关
lowLevelConsumeDays: '', // x天内单笔消费
lowLevelConsumeCost: '', // x天内单笔消费x元
lowLevelSumintegralSelect: false, //x天内获得x积分 lowLevelSumintegralSelect: false, //x天内获得x积分
lowLevelSumintegral: '', lowLevelSumintegral: '',
lowLevelSumintegralDays: '', lowLevelSumintegralDays: '',
...@@ -464,6 +481,10 @@ export default { ...@@ -464,6 +481,10 @@ export default {
if (!!data.upLevelSumintegralSelect && (!data.upLevelSumintegralDays || !data.upLevelSumintegral)) { if (!!data.upLevelSumintegralSelect && (!data.upLevelSumintegralDays || !data.upLevelSumintegral)) {
flag = false; flag = false;
} }
// x天内消费满x元
if (!!data.upLevelConsumeSelect && !data.upLevelConsumeCost) {
flag = false;
}
} }
return flag; return flag;
...@@ -497,6 +518,10 @@ export default { ...@@ -497,6 +518,10 @@ export default {
if (!!data.lowLevelSumintegralSelect && (!data.lowLevelSumintegralDays || !data.lowLevelSumintegral)) { if (!!data.lowLevelSumintegralSelect && (!data.lowLevelSumintegralDays || !data.lowLevelSumintegral)) {
flag = false; flag = false;
} }
// x天内消费满x元
if (!!data.lowLevelConsumeSelect && (!data.lowLevelConsumeDays || !data.lowLevelConsumeCost)) {
flag = false;
}
} }
return flag; return flag;
...@@ -561,6 +586,7 @@ export default { ...@@ -561,6 +586,7 @@ export default {
data.upLevelCostimesSelect = data.upLevelCostimesSelect == true ? 1 : 0; data.upLevelCostimesSelect = data.upLevelCostimesSelect == true ? 1 : 0;
data.upLevelSumstoredSelect = data.upLevelSumstoredSelect == true ? 1 : 0; data.upLevelSumstoredSelect = data.upLevelSumstoredSelect == true ? 1 : 0;
data.upLevelSumintegralSelect = data.upLevelSumintegralSelect == true ? 1 : 0; data.upLevelSumintegralSelect = data.upLevelSumintegralSelect == true ? 1 : 0;
data.upLevelConsumeSelect = data.upLevelConsumeSelect==true? 1:0
log(data.lowLevelHighcostSelect, data.lowLevelDaystoredSelect, data.lowLevelSumcostSelect, data.lowLevelCosttimesSelect, data.lowLevelSumstoredSelect, data.lowLevelSumintegralSelect); log(data.lowLevelHighcostSelect, data.lowLevelDaystoredSelect, data.lowLevelSumcostSelect, data.lowLevelCosttimesSelect, data.lowLevelSumstoredSelect, data.lowLevelSumintegralSelect);
data.lowLevelHighcostSelect = data.lowLevelHighcostSelect == true ? 1 : 0; data.lowLevelHighcostSelect = data.lowLevelHighcostSelect == true ? 1 : 0;
data.lowLevelDaystoredSelect = data.lowLevelDaystoredSelect == true ? 1 : 0; data.lowLevelDaystoredSelect = data.lowLevelDaystoredSelect == true ? 1 : 0;
...@@ -568,6 +594,7 @@ export default { ...@@ -568,6 +594,7 @@ export default {
data.lowLevelCosttimesSelect = data.lowLevelCosttimesSelect == true ? 1 : 0; data.lowLevelCosttimesSelect = data.lowLevelCosttimesSelect == true ? 1 : 0;
data.lowLevelSumstoredSelect = data.lowLevelSumstoredSelect == true ? 1 : 0; data.lowLevelSumstoredSelect = data.lowLevelSumstoredSelect == true ? 1 : 0;
data.lowLevelSumintegralSelect = data.lowLevelSumintegralSelect == true ? 1 : 0; data.lowLevelSumintegralSelect = data.lowLevelSumintegralSelect == true ? 1 : 0;
data.lowLevelConsumeSelect = data.lowLevelConsumeSelect==true? 1:0
data.discountControlUpper = data.discountControlUpper || '0'; data.discountControlUpper = data.discountControlUpper || '0';
data.discountControlLower = data.discountControlLower || '0'; data.discountControlLower = data.discountControlLower || '0';
...@@ -582,7 +609,8 @@ export default { ...@@ -582,7 +609,8 @@ export default {
data.upLevelSumstoredDays = data.upLevelSumstoredDays || 0; data.upLevelSumstoredDays = data.upLevelSumstoredDays || 0;
data.upLevelSumstored = data.upLevelSumstored || 0; data.upLevelSumstored = data.upLevelSumstored || 0;
data.upLevelSumintegralDays = data.upLevelSumintegralDays || 0; data.upLevelSumintegralDays = data.upLevelSumintegralDays || 0;
data.upLevelSumintegral = data.upLevelSumintegral || 0; data.upLevelSumintegral = data.upLevelSumintegra
data.upLevelConsumeCost = data.upLevelConsumeCost || 0;
data.gradeEffectDay = data.gradeEffectDay || 0; data.gradeEffectDay = data.gradeEffectDay || 0;
data.lowLevelHighcostDays = data.lowLevelHighcostDays || 0; data.lowLevelHighcostDays = data.lowLevelHighcostDays || 0;
...@@ -597,6 +625,8 @@ export default { ...@@ -597,6 +625,8 @@ export default {
data.lowLevelSumstored = data.lowLevelSumstored || 0; data.lowLevelSumstored = data.lowLevelSumstored || 0;
data.lowLevelSumintegralDays = data.lowLevelSumintegralDays || 0; data.lowLevelSumintegralDays = data.lowLevelSumintegralDays || 0;
data.lowLevelSumintegral = data.lowLevelSumintegral || 0; data.lowLevelSumintegral = data.lowLevelSumintegral || 0;
data.lowLevelConsumeDays = data.lowLevelConsumeDays || 0;
data.lowLevelConsumeCost = data.lowLevelConsumeCost || 0;
// 关联商户等级 // 关联商户等级
let relation = ''; let relation = '';
......
...@@ -6,63 +6,57 @@ ...@@ -6,63 +6,57 @@
<div class="attention-wrap"> <div class="attention-wrap">
<div class="title"> <div class="title">
<div>会员等级根据从低到高的顺序,自上而下进行排序</div> <div>会员等级根据从低到高的顺序,自上而下进行排序</div>
<!-- <div class="add-btn"><el-button type="primary" @click="addGrade">新增等级</el-button></div> --> <div class="add-btn"><el-button type="primary" @click="addGrade">新增等级</el-button></div>
<div class="add-level">
<el-button @click="editSort" :disabled="!memberTableData.length">调整顺序</el-button>
<el-button type="primary" @click="addGrade">新增等级</el-button>
</div> </div>
</div> <div class="table-wrap">
<el-table class="only-header-table"> <el-table :data="memberTableData" style="width: 100%">
<el-table-column label="会员等级名称"/> <el-table-column prop="gradeName" label="会员等级名称"> </el-table-column>
<el-table-column label="等级编码" /> <el-table-column prop="gradeCode" label="等级编码"> </el-table-column>
<el-table-column label="等级类型" />
<el-table-column label="操作" />
</el-table>
<div class="sort-btn-wrap" v-show="isEditSort">
<p class="sort-btn-tip">拖拽表格上下移动,调整等级顺序</p>
<el-button type="text" @click="cancelEditSort">取消</el-button>
<span class="sort-btn-line"></span>
<el-button type="text" @click="submitSort">保存</el-button>
</div>
<el-table :class="['only-content-table','sortable-table',isEditSort?'isEditSort':'']" :data="memberTableData"
style="width: 100%" row-key="gradeId" v-loading="loading">
<el-table-column prop="gradeName" label="会员等级名称"/>
<el-table-column prop="gradeCode" label="等级编码"/>
<el-table-column prop="" label="等级类型"> <el-table-column prop="" label="等级类型">
<template slot-scope="{row}"> <template slot-scope="scope">
{{ row.gradeType == 1 ? '常规卡' : '特殊卡' }} {{ scope.row.gradeType == 1 ? '常规卡' : '特殊卡' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" label="操作"> <el-table-column prop="" label="移动">
<template slot-scope="{$index,row}"> <template slot-scope="scope">
<el-button @click="editGrade($index,row,memberTableData)" type="text" :disabled="isEditSort">编辑</el-button> <i :class="['icon-color', 'el-icon-upload2', scope.$index == 0 ? 'disable' : '']" @click="toUp(scope.$index, scope.row, memberTableData)"></i>
<delete-tip @confirm="delGrade($index,row,memberTableData)" tips="确认删除吗?"> <i :class="['icon-color', 'el-icon-back', 'icon-to-pre', scope.$index == 0 ? 'disable' : '']" @click="toPre(scope.$index, scope.row, memberTableData)"></i>
<el-button type="text" :disabled="isEditSort">删除</el-button> <i :class="['icon-color', 'el-icon-back', 'icon-to-next', scope.$index == memberTableData.length - 1 ? 'disable' : '']" @click="toNext(scope.$index, scope.row, memberTableData)"></i>
</delete-tip> <i :class="['icon-color', 'el-icon-download', scope.$index == memberTableData.length - 1 ? 'disable' : '']" @click="toBottom(scope.$index, scope.row, memberTableData)"></i>
</template> </template>
</el-table-column> </el-table-column>
<template slot="empty"> <el-table-column prop="" label="操作">
<div class="no-data-wrap"> <template slot-scope="scope">
<div class="no-data-icon"> <el-button @click="editGrade(scope.$index, scope.row, memberTableData)" type="text" size="small">
<img src="../../../../static/img/no-data_icon.png" alt=""> 编辑
</div> </el-button>
<p>暂无数据</p> <el-popover placement="top" width="160" v-model="scope.row.popVisible">
<p style="line-height: 1.5; padding: 10px 10px 20px;">确认删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="cancelPop(scope.$index, scope.row, memberTableData)">取消</el-button>
<el-button type="primary" size="mini" @click="delGrade(scope.$index, scope.row, memberTableData)">确定</el-button>
</div> </div>
<el-button slot="reference" class="m-l-10" type="text">
删除
</el-button>
</el-popover>
</template> </template>
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
</div> </div>
</div>
<!-- <vue-gic-footer></vue-gic-footer> --> <!-- <vue-gic-footer></vue-gic-footer> -->
</div> </div>
</template> </template>
<script> <script>
import topNavNew from 'components/nav/navNew'; import topNavNew from 'components/nav/navNew';
import Sortable from 'sortablejs';
import showMsg from '@/common/js/showmsg'; import showMsg from '@/common/js/showmsg';
import errMsg from '@/common/js/error'; import errMsg from '@/common/js/error';
import { getRequest, postRequest,postJson } from '@/api/api'; import { getRequest, postRequest } from '@/api/api';
// import { log } from '@/utils/index.js'; import { log } from '@/utils/index.js';
export default { export default {
name: 'memberGrade', name: 'memberGrade',
...@@ -89,11 +83,7 @@ export default { ...@@ -89,11 +83,7 @@ export default {
// 商户id // 商户id
cliqueId: '', cliqueId: '',
cliqueName: '', //商户 name cliqueName: '', //商户 name
memberTableData: [], memberTableData: []
tableData: [],
isEditSort: false,
loading: false,
sortTable: null
}; };
}, },
mounted() { mounted() {
...@@ -103,16 +93,6 @@ export default { ...@@ -103,16 +93,6 @@ export default {
that.navpath[3].name = '编辑【' + that.cliqueName + '】会员等级'; that.navpath[3].name = '编辑【' + that.cliqueName + '】会员等级';
that.getList(); that.getList();
sessionStorage.removeItem('enterpriseId'); sessionStorage.removeItem('enterpriseId');
this.rowDrop();
},
watch: {
tableData: {
handler (n, o){
this.memberTableData = JSON.parse(JSON.stringify(n));
},
deep: true,
immediate: true
}
}, },
methods: { methods: {
//获取列表 //获取列表
...@@ -129,7 +109,7 @@ export default { ...@@ -129,7 +109,7 @@ export default {
resData.result.List.forEach(function(ele, index) { resData.result.List.forEach(function(ele, index) {
ele.popVisible = false; ele.popVisible = false;
}); });
that.tableData = resData.result.List; that.memberTableData = resData.result.List;
} }
return; return;
...@@ -138,47 +118,97 @@ export default { ...@@ -138,47 +118,97 @@ export default {
}) })
.catch(function(error) {}); .catch(function(error) {});
}, },
editSort() { // 置顶 先删除后追加首部
this.isEditSort = true; toUp(index, row, obj) {
this.sortTable.option('sort', true); let that = this;
if (index == 0) {
return;
}
log(index, row, obj);
let newTable = JSON.parse(JSON.stringify(that.memberTableData));
newTable.splice(index, 1);
newTable.unshift(row);
log(newTable);
// 保存设置
that.setSort(row.gradeId, 10, that.cliqueId);
that.memberTableData = newTable;
},
// 向上
toPre(index, row, obj) {
let that = this;
if (index == 0) {
return;
}
log(index, row, obj);
let newTable = JSON.parse(JSON.stringify(that.memberTableData));
let temp = {};
temp = newTable[index - 1];
newTable[index - 1] = row;
newTable[index] = temp;
// 保存设置
that.setSort(row.gradeId, 20, that.cliqueId);
that.memberTableData = newTable;
}, },
cancelEditSort() { // 向下
this.isEditSort = false; toNext(index, row, obj) {
this.sortTable.option('sort', false); let that = this;
this.memberTableData = JSON.parse(JSON.stringify(this.tableData)); if (index == obj.length - 1) {
return;
}
log(index, row, obj);
let newTable = JSON.parse(JSON.stringify(that.memberTableData));
let temp = {};
temp = newTable[index + 1];
newTable[index + 1] = row;
newTable[index] = temp;
// 保存设置
that.setSort(row.gradeId, 30, that.cliqueId);
that.memberTableData = newTable;
},
//置底 先删除后追加尾部
toBottom(index, row, obj) {
let that = this;
if (index == obj.length - 1) {
return;
}
log(index, row, obj);
let newTable = JSON.parse(JSON.stringify(that.memberTableData));
newTable.splice(index, 1);
newTable.push(row);
// 保存设置
that.setSort(row.gradeId, 40, that.cliqueId);
that.memberTableData = newTable;
}, },
submitSort() {
this.loading = true; // 等级排序
this.isEditSort = false; setSort(gradeId, type, enterpriseId) {
this.sortTable.option('sort', false); let that = this;
let data = { let para = {
gradeIds: this.memberTableData.map(el => (el.gradeId)), gradeId: gradeId,
gradeType: -1 sortType: type,
enterpriseId: enterpriseId
}; };
postJson('/api-admin/sort-member-grade', data)
.then((res) => { postRequest('/api-admin/sort-member-grade', para)
.then(res => {
let resData = res.data; let resData = res.data;
if (resData.errorCode == 0) { if (resData.errorCode == 0) {
this.$message.success('设置成功'); showMsg.showmsg('设置成功', 'success');
return; return;
} }
}).finally(_ => { errMsg.errorMsg(resData);
this.loading = false; })
.catch(function(error) {
log(error);
that.$message.error({
duration: 1000,
message: error.message
}); });
},
// 行拖拽
rowDrop() {
// 此时找到的元素是要拖拽元素的父容器
const tbody = document.querySelector(`.sortable-table .el-table__body-wrapper tbody`);
const that = this;
this.sortTable = new Sortable(tbody, {
// 指定父元素下可被拖拽的子元素
draggable: '.el-table__row',
sort: this.isEditSort,
onEnd({ newIndex, oldIndex }) {
const currRow = that.memberTableData.splice(oldIndex, 1)[ 0 ];
that.memberTableData.splice(newIndex, 0, currRow);
}
}); });
}, },
...@@ -301,46 +331,4 @@ export default { ...@@ -301,46 +331,4 @@ export default {
cursor: not-allowed; cursor: not-allowed;
} }
} }
/deep/.only-header-table.el-table {
.el-table__body-wrapper {
display: none;
}
}
/deep/.only-content-table.el-table {
.el-table__header-wrapper {
display: none;
}
&.isEditSort .el-table__row{
cursor: move;
}
}
.sort-btn-wrap {
display: flex;
justify-content: center;
align-items: center;
height: 40px;
background: #fcf6f1;
.sort-btn-tip {
margin-right: 20px;
font-size: 13px;
font-weight: 400;
color: #303133;
line-height: 18px;
cursor: default;
}
.sort-btn-line {
display: block;
width: 1px;
height: 13px;
margin: 0 10px;
background: #c4c7cd;
}
}
.add-level {
width: 100%;
text-align: right;
}
/deep/.el-table__empty-text::before{
background: none;
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment