Commit c535774f by crushh

udpate: dist

parent 22ef5091
<template>
<el-dialog title="关联上架组件" :visible.sync="dialogTableVisible" width="850px">
<div class="search-wrap">
<div class="table-page-search-wrapper">
<el-input
v-model="ruleTitle"
placeholder="请输入上架规则名称"
prefix-icon="el-icon-search"
clearable
class="w-260"
@keyup.enter.native="getList"
@clear="getList"
/>
</div>
<div class="tips" style="font-size:14px">
没有适用规则?<el-button type="text" size="small" @click="$router.push('/addRule')">
去新建上架规则({{ tableDate.length }}/20)
</el-button>
</div>
</div>
<el-table :data="tableDate" @row-click="onRowClick">
<el-table-column width="35">
<template slot-scope="{row}">
<el-radio v-model="tableRadio" :label="row">
<i />
</el-radio>
</template>
</el-table-column>
<el-table-column property="ruleTitle" label="上架规则名称">
<template slot-scope="{row}">
<div>
<div class="title">
{{ row.ruleTitle }}
</div>
<div
style="font-size: 12px;color: rgb(144, 147, 153);"
>
{{ row.ruleExplanation }}
</div>
</div>
</template>
</el-table-column>
<el-table-column label="可见人群">
<template slot-scope="{row}">
<p v-if="row.memberType==1">
全部会员
</p>
<p v-else>
{{ row.echoData }}
</p>
</template>
</el-table-column>
</el-table>
<div class="pagination-conteiner" style="padding:10px 0 0 0;" v-if="tableDate.length>5">
<div class="pagination">
<el-pagination
layout="prev, pager, next"
:current-page.sync="relateForm.currentPage"
:page-size.sync="relateForm.pageSize"
@current-change="getList"
:total="totalCount"
/>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="cancel">取消</el-button>
<el-button size="small" type="primary" @click="submit">确认</el-button>
</span>
</el-dialog>
</template>
<script>
import request from '@/service/request.js';
export default {
name: 'RelatePop',
props: {
integralMallProId: String,
},
data () {
return {
tableRadio: '',
tableDate: [],
relateForm: {
search: '',
pageSize: 5,
currentPage: 1,
},
dialogTableVisible: false,
ruleTitle: '',
};
},
watch: {
},
mounted () {
},
methods: {
onRowClick (row) {
this.tableRadio = row;
},
showPop () {
this.dialogTableVisible = true;
this.getList();
},
getList () {
request.get('/api-integral-mall/list-rule', { params: { ruleTitle: this.ruleTitle } }).then(async (res) => {
this.tableDate = res.data.result || [];
for (let i = 0; i < this.tableDate.length; i++) {
const item = this.tableDate[i];
if (item.memberType == 3) {
const res = await this.echoData(item);
item.echoData = res.data.result;
}
}
this.tableDate = this.tableDate.splice(0);
});
},
echoData (row) {
const form = new FormData();
form.append('params', row.filterJson);
form.append('requestProject', 'integral-mall');
form.append('sceneCode', 'member');
return request.post('/api-plug/screening-show-back', form);
},
cancel () {
this.tableRadio = '';
this.dialogTableVisible = false;
},
submit () {
this.btnLoading = true;
const data = {};
console.log(this.tableRadio);
console.log(this.integralMallProId);
data.integralMallProIdList = [this.integralMallProId];
data.integralMallProRuleId = this.tableRadio.integralMallProRuleId;
request.post('/api-integral-mall/add-rule-pro', data).then(res => {
this.$message.success('添加成功');
this.dialogTableVisible = false;
this.$emit('finish');
}).finally(_ => {
this.btnLoading = false;
});
},
},
};
</script>
<style>
</style>
......@@ -46,9 +46,6 @@ request.interceptors.request.use(
// http response 拦截器
request.interceptors.response.use(
response => {
console.log('===>');
console.log(response);
const { data, config } = response;
let err;
const { errorCode } = data;
......@@ -70,9 +67,7 @@ request.interceptors.response.use(
type: 'error',
});
err = new Error(`${data.message}: ${config.url}`);
if (__DEVELOPMENT) {
console.log('>>>>>>>>>> response data error >>>>>>>>>>');
}
return Promise.reject(err);
}
},
......@@ -97,9 +92,7 @@ request.interceptors.response.use(
case 505: err.message = 'HTTP版本不受支持'; break;
default: break;
}
if (__DEVELOPMENT) {
console.log('>>>>>>>>>> response error >>>>>>>>>>');
}
Message({
message: '系统异常',
type: 'error',
......
......@@ -42,6 +42,18 @@
</el-select>
</div>
<div class="search-item m-r-10">
<el-select
v-model="ruleRelationFlag"
placeholder="上架规则"
clearable
class="w-140"
@change="getListCurr"
>
<el-option label="已关联上架规则" :value="1" />
<el-option label="未关联上架规则" :value="0" />
</el-select>
</div>
<div class="search-item m-r-10">
<el-checkbox
v-model="showSelfStatus"
label="仅看本人"
......@@ -293,6 +305,25 @@
{{ scope.row.shelf ? (scope.row.shelf == 1 ? '已下架' : scope.row.shelf == 2 ? '已上架' : '待上架') : '--' }}
</template>
</el-table-column>
<el-table-column
fixed="right"
label="上架规则"
min-width="110px"
>
<template slot-scope="{row}">
<p v-if="row.ruleTitle&&row.ruleTitle.length<=5">
{{ row.ruleTitle }}
</p>
<el-tooltip
v-if=" row.ruleTitle&& row.ruleTitle.length>5"
:content="row.ruleTitle"
effect="dark"
placement="top-start"
>
<p>{{ row.ruleTitle.slice(0,5)+'...' }}</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" min-width="180px">
<template slot-scope="scope">
<div>
......@@ -312,11 +343,17 @@
>
下架
</el-button>
<!-- <el-button type="text" @click="ladderList(scope.row)" v-if="scope.row.isDifferentialPricing">阶梯价</el-button> -->
<el-button
type="text"
v-if="!scope.row.ruleTitle"
@click="relating(scope.row)"
>
关联
</el-button>
<el-button
type="text"
:limit-code="$buttonCode.couponNew"
v-if="((scope.row.status === 2 && scope.row.canEdit && scope.row.releaseType === 2 && scope.row.isShelves === 1) ||(scope.row.status === 1 && scope.row.canEdit)) && $getButtonLimit($buttonCode.couponNew)"
v-if="((scope.row.status === 2 && scope.row.canEdit && scope.row.releaseType === 2 && scope.row.isShelves === 1) ||(scope.row.status === 1 && scope.row.canEdit)) && $getButtonLimit($buttonCode.couponNew) && scope.row.ruleTitle"
@click="deleteList(scope.row, 2)"
>
上架
......@@ -455,6 +492,7 @@
v-if="stockDialog"
@getList="getList"
/>
<relate-pop ref="relatePop" :integralMallProId="integralMallProId" @finish="onPopFinish" />
</div>
</template>
......@@ -468,6 +506,7 @@ import editInfo from '../../../components/editCouponInfo';
import updateCash from '../../../components/updataCash';
import couponLadderPrice from '../../../components/couponLadderPrice';
import checkStockDistirbute from '../../../components/checkStockDistirbute';
import relatePop from '@/components/relatePop';
// import stockModal from '../../../components/getSkuList';
export default {
components: {
......@@ -476,6 +515,7 @@ export default {
updateCash,
couponLadderPrice,
checkStockDistirbute,
relatePop,
// stockModal
},
data () {
......@@ -500,6 +540,7 @@ export default {
imgUrl: '',
loading: false,
},
loading: false,
selectArr: [], // 选中的数据
addModalData: {
dialogVisible: false,
......@@ -533,6 +574,7 @@ export default {
stockDialog: false,
enterpriseId: '',
specialOrder: false,
ruleRelationFlag: '',
};
},
created () {
......@@ -566,6 +608,13 @@ export default {
}
});
},
relating (row) {
this.integralMallProId = row.integralMallProId;
this.$refs.relatePop.showPop();
},
onPopFinish () {
this.getList();
},
renderHeader (h, { column, $index }, index) {
return h('span', {}, [h('span', {}, '序号'), h('el-popover', { props: { placement: 'top-start', width: '200', trigger: 'hover', content: '礼品在小程序端的展示排序,序号越大,排序越靠前。' } }, [h('i', { slot: 'reference', class: 'iconfont icon-xinxixianshi' }, '')])]);
},
......@@ -628,6 +677,7 @@ export default {
giftName: this.searchValue,
shelf: this.shelf ? this.shelf : -1, // 上架状态
showSelfFlag: this.showSelfStatus ? 1 : 0,
ruleRelationFlag: this.ruleRelationFlag,
};
this.loading = true;
request.post('/api-integral-mall/page-cards', qs.stringify(params)).then(res => {
......@@ -639,11 +689,11 @@ export default {
this.tableDate = [];
this.total = 0;
}
this.loading = false;
} else {
this.$message.error(res.data.message);
this.loading = false;
}
}).finally(() => {
this.loading = false;
});
},
// 分页设置每页的数量
......
......@@ -331,10 +331,23 @@
</el-table-column>
<el-table-column
fixed="right"
prop="ruleTitle"
label="上架规则"
min-width="110px"
/>
>
<template slot-scope="{row}">
<p v-if="row.ruleTitle&&row.ruleTitle.length<=5">
{{ row.ruleTitle }}
</p>
<el-tooltip
v-if=" row.ruleTitle&& row.ruleTitle.length>5"
:content="row.ruleTitle"
effect="dark"
placement="top-start"
>
<p>{{ row.ruleTitle.slice(0,5)+'...' }}</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" min-width="220px">
<template slot-scope="scope">
<div>
......@@ -348,7 +361,14 @@
</el-button>
<el-button
type="text"
v-if="((scope.row.status === 2 && scope.row.canEdit && scope.row.releaseType === 2 && scope.row.isShelves === 1 && !scope.row.ruleTitle) || (scope.row.status === 1 && scope.row.canEdit)) && $getButtonLimit($buttonCode.giftNew)"
v-if="!scope.row.ruleTitle"
@click="relating(scope.row)"
>
关联
</el-button>
<el-button
type="text"
v-if="((scope.row.status === 2 && scope.row.canEdit && scope.row.releaseType === 2 && scope.row.isShelves === 1) || (scope.row.status === 1 && scope.row.canEdit)) && $getButtonLimit($buttonCode.giftNew) && scope.row.ruleTitle"
:limit-code="$buttonCode.giftNew"
@click="deleteList(scope.row, 2)"
>
......@@ -395,19 +415,6 @@
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- <el-button type="text" v-if="scope.row.changeType === '5' && scope.row.canEdit" @click="getCouponList(scope.row.integralMallProId)">券码</el-button>
<el-button type="text" @click="ladderList(scope.row)" v-if="scope.row.isDifferentialPricing">阶梯价</el-button>
<dm-delete @confirm="deleteList(scope.row, 0, scope.$index)" tips="确定删除该商品吗?">
<el-button type="text" v-if="scope.row.canEdit">删除</el-button>
</dm-delete> -->
<!-- <el-popover placement="top" width="160" v-model="scope.row.visible2" style="margin-left:8px">
<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="scope.row.visible2 = false">取消</el-button>
<el-button type="primary" size="mini" @click="deleteList(scope.row, 0, scope.$index)">确定</el-button>
</div>
<el-button slot="reference" type="text" v-if="scope.row.canEdit">删除</el-button>
</el-popover>-->
</div>
</template>
</el-table-column>
......@@ -468,6 +475,7 @@
v-if="stockDialog"
@getList="getList"
/>
<relate-pop ref="relatePop" :integralMallProId="integralMallProId" @finish="onPopFinish" />
</div>
</template>
......@@ -483,6 +491,7 @@ import giftLadderPrice from '../../../components/giftLadderPrice';
import checkStockDistirbute from '../../../components/checkStockDistirbute';
import copy from '../../../utils/clone.js';
import couponList from './couponList';
import relatePop from '@/components/relatePop';
export default {
components: {
editName,
......@@ -492,6 +501,7 @@ export default {
couponList,
giftLadderPrice,
checkStockDistirbute,
relatePop,
},
data () {
return {
......@@ -601,6 +611,13 @@ export default {
}
});
},
relating (row) {
this.integralMallProId = row.integralMallProId;
this.$refs.relatePop.showPop();
},
onPopFinish () {
this.getList();
},
renderHeader (h, { column, $index }, index) {
return h('span', {}, [h('span', {}, '序号'), h('el-popover', { props: { placement: 'top-start', width: '200', trigger: 'hover', content: '礼品在小程序端的展示排序,序号越大,排序越靠前。' } }, [h('i', { slot: 'reference', class: 'iconfont icon-xinxixianshi' }, '')])]);
},
......@@ -694,6 +711,8 @@ export default {
this.$message.error(res.data.message);
this.loading = false;
}
}).finally(_ => {
this.loading = false;
});
},
// 分页设置每页的数量
......
......@@ -269,10 +269,34 @@
/>
</el-select>
<span class="tips">不符合此处会员等级卡的客户在小程序积分商城中不可见该礼品</span>
<!-- <div style="margin-right:24px;">
<vue-gic-people
v-bind="storeParams"
:projectName="projectName"
:triggerReset="true"
:useId="useId"
:hasSearchData="hasSearchData"
:sceneValue="sceneValue"
ref="peopleFilter"
@findFilter="findFilter"
@getBackData="getBackData"
@editHide="editHide"
@editShow="editShow"
@hideBtn="hideBtn"
/>
<div class="gic-people--button" v-show="toggleTag">
<el-button size="small" type="primary" @click="getData">
确 定
</el-button>
<el-button size="small" @click="cancelFilter">
取 消
</el-button>
</div>
</div> -->
</el-form-item>
<el-form-item prop="ladder" v-if="specialOrder">
<el-checkbox-group v-model="giftForm.ladder" @change="changeladder" style="display:inline-block">
<el-checkbox label="1" :disabled="!giftForm.memberGrade.length">
<el-checkbox label="1" :disabled="!ladderDisabled">
设置阶梯价
</el-checkbox>
</el-checkbox-group>
......@@ -958,16 +982,14 @@ export default {
creatorId: '', // 权限id
// // 人群筛选器
// // 可传参数
// // projectName: 'integral-mall', // 当前项目名
// getSaveData: '',
// sceneValue: 'member', // 场景值
// useId: '', // 模板id
// hasSearchData: '', // 当前页回显的数据(接口返回)
// operateType: true, // 编辑的时候是false 新增是true 例如列表筛选是开始true 编辑改成false
// toggleTag: false, // 控制(确认取消)按钮显示的参数,仅供参考,可自行修改
// saveTag: false, // 控制(保存)按钮显示的参数,仅供参考,可自行修改
// searchParams: {}, //查询数据数据
// responseParams: [] //回显的数据
// projectName: 'integral-mall', // 当前项目名
getSaveData: '',
sceneValue: 'member', // 场景值
useId: '', // 模板id
hasSearchData: '', // 当前页回显的数据(接口返回)
operateType: true, // 编辑的时候是false 新增是true 例如列表筛选是开始true 编辑改成false
toggleTag: false, // 控制(确认取消)按钮显示的参数,仅供参考,可自行修改
searchParams: {}, // 查询数据数据
useNewStoreWidget: 1, // 1新的卡券门店组件 ,0老的门店组件
pickUpPointList: [], // 门店自提列表
// 新版门店卡券选择器
......@@ -1450,11 +1472,6 @@ export default {
// this.searchParams = {};
// }
// if (res.data.result.responseParams) {
// this.responseParams = res.data.result.responseParams;
// } else {
// this.responseParams = [];
// }
// this.useId = res.data.result.integralMallProId;
this.hasSearchData = res.data.result.searchParams;
this.giftForm.gradeType = res.data.result.gradeType;
......@@ -1479,6 +1496,7 @@ export default {
gradeName: item.gradeName,
});
});
console.log(this.ladderMemberGrade);
}
});
this.giftForm.proReferId = res.data.result.proReferId;
......@@ -1887,6 +1905,7 @@ export default {
} else {
this.memberGradeList = [];
}
console.log(this.memberGradeList);
} else {
this.$message.error(res.data.message);
}
......@@ -2672,51 +2691,40 @@ export default {
this.$message.error(res.data.message);
}
});
},
//人群筛选器使用的方法
// 父组件调用子组件方法,触发父组件事件
getData() {
this.$refs.peopleFilter.confirmSet();
},
// 子组件触发父组件事件,返回过滤条件数据
findFilter(value) {
console.log(value)
this.searchParams = value;
},
// 取消
cancelFilter() {
this.$refs.peopleFilter.cancelSet();
},
// 获取需要回显的数据, 供保存时候使用
getBackData(val) {
this.getSaveData = val;
},
// 显示编辑,保存按钮隐藏,确认按钮显示 (子组件会调用)
editShow() {
this.toggleTag = true;
},
// 显示保存按钮,隐藏确认按钮显示 (子组件会调用)
editHide() {
this.toggleTag = false;
},
// 隐藏保存按钮和确认按钮 (子组件会调用)
// 传个参数给父组件 来查数据
hideBtn(refresh) {
if (refresh === 0) {
this.toggleTag = false;
}
}
// //人群筛选器使用的方法
// // 父组件调用子组件方法,触发父组件事件
// getData() {
// var that = this;
// that.$refs.peopleFilter.confirmSet();
// // that.usePeopleFilter = true;
// },
// // 子组件触发父组件事件,返回过滤条件数据
// findFilter(value) {
// // var that = this;
// this.searchParams = value;
// },
// // 取消
// cancelFilter() {
// var that = this;
// that.$refs.peopleFilter.cancelSet();
// },
// // 获取需要回显的数据, 供保存时候使用
// getBackData(val) {
// this.responseParams = val;
// this.getSaveData = val;
// },
// // 显示编辑,保存按钮隐藏,确认按钮显示 (子组件会调用)
// editShow() {
// var that = this;
// that.toggleTag = true;
// that.saveTag = false;
// },
// // 显示保存按钮,隐藏确认按钮显示 (子组件会调用)
// editHide() {
// var that = this;
// that.toggleTag = false;
// that.saveTag = true;
// },
// // 隐藏保存按钮和确认按钮 (子组件会调用)
// // 传个参数给父组件 来查数据
// hideBtn(refresh) {
// if (refresh === 0) {
// this.memberSearchStr = -1;
// this.toggleTag = false;
// // 查数据的方法
// // this.getList();
// }
// }
},
components: {
Treeselect,
......
......@@ -80,7 +80,7 @@
<div>
<el-form-item style="margin-top:50px">
<el-button type="primary" size="small" @click="submit()">
确认新建
确认
</el-button>
</el-form-item>
</div>
......@@ -181,6 +181,7 @@ export default {
this.ruleForm = res.data.result;
if (this.ruleForm.memberType == 3) {
this.hasSearchData = this.ruleForm.filterJson;
this.useId = this.ruleForm.searchId;
}
}
});
......@@ -194,18 +195,18 @@ export default {
}
this.$refs.ruleForm.validate(val => {
if (val) {
let params = {};
let data = {};
if (this.isCopy) {
const { ruleTitle, ruleExplanation, filterJson, memberType, searchJson } = this.ruleForm;
params = { ruleTitle, ruleExplanation, memberType, filterJson, searchJson };
data = { ruleTitle, ruleExplanation, memberType, filterJson, searchJson };
} else {
params = this.ruleForm;
data = this.ruleForm;
}
if (params.memberType == 1) {
delete params.filterJson;
delete params.searchJson;
if (data.memberType == 1) {
delete data.filterJson;
delete data.searchJson;
}
request.get('/api-integral-mall/add-update-rule', { params }).then(res => {
request.post('/api-integral-mall/add-update-rule', data).then(res => {
this.$router.go(-1);
});
}
......
......@@ -44,7 +44,7 @@
>
<el-table-column
prop="ruleTitle"
min-width="120px"
min-width="130px"
label="上架规则"
>
<template slot-scope="{row}">
......@@ -201,7 +201,7 @@
<el-table-column property="date" label="商品信息" min-width="160">
<template slot-scope="{row}">
<div class="img-text">
<img :src="row.mallProImageUrl" alt="">
<img :src="row.mainImageUrl" alt="">
<div class="text">
<p class="goods-descript">
{{ row.proName }}
......@@ -248,7 +248,9 @@
<script>
import request from '@/service/request.js';
import getInputVal from '@/utils/common.js';
export default {
data () {
return {
getTime: getInputVal.getTime,
......@@ -271,6 +273,7 @@ export default {
},
ruleTitle: '',
totalCount: '',
integralMallProRuleId: '',
};
},
mounted () {
......@@ -293,6 +296,7 @@ export default {
} else {
delete this.relateForm.integralMallProRuleId;
}
this.integralMallProRuleId = integralMallProRuleId;
this.getRelatingGoodsTable();
},
delRelating (integralMallProRuleId) {
......@@ -303,7 +307,7 @@ export default {
type: 'warning',
})
.then(() => {
request.get('/api-integral-mall/del-rule', { params: { integralMallProRuleId } }).then(res => {
request.post('/api-integral-mall/del-rule', { integralMallProRuleId }).then(res => {
this.$message.success('删除成功');
this.getList();
}).finally(_ => {
......@@ -342,6 +346,7 @@ export default {
currentPage: 1,
ruleRelationFlag: '',
};
this.getList();
},
getRelatingGoodsTable () {
this.loading = true;
......
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