Commit 3abeab5a authored by chenwei's avatar chenwei

Merge branch 'feature/099_customer_filter' into 'hotfix/preReleaseDefect'

Feature/099 customer filter

See merge request !58
parents cbdb340e 0fc09ef3
...@@ -420,7 +420,7 @@ ...@@ -420,7 +420,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')"> <el-form-item :label="$t('创建时间')">
<el-date-picker <el-date-picker
type="date" type="datetime"
:placeholder="$t('选择创建时间')" :placeholder="$t('选择创建时间')"
v-model="queryParams.createTime" v-model="queryParams.createTime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
...@@ -429,6 +429,7 @@ ...@@ -429,6 +429,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('最后更新人')"> <el-form-item :label="$t('最后更新人')">
<el-input <el-input
v-model.number="queryParams.updater" v-model.number="queryParams.updater"
:placeholder="$t('请输入最后更新人')" :placeholder="$t('请输入最后更新人')"
clearable clearable
...@@ -437,7 +438,7 @@ ...@@ -437,7 +438,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('最后更新时间')"> <el-form-item :label="$t('最后更新时间')">
<el-date-picker <el-date-picker
type="date" type="datetime"
:placeholder="$t('选择最后更新时间')" :placeholder="$t('选择最后更新时间')"
v-model="queryParams.updateTime" v-model="queryParams.updateTime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
...@@ -1053,8 +1054,8 @@ export default { ...@@ -1053,8 +1054,8 @@ export default {
} }
); );
params.createTime = parseTime(res.data.createTime); params.createTime = parseTime(res.data.createTime, '{y}-{m}-{d} {h}:{i}:{s}');
params.updateTime = parseTime(res.data.updateTime); params.updateTime = parseTime(res.data.updateTime, '{y}-{m}-{d} {h}:{i}:{s}');
if (isNumber(res.data.extraOrderV?.firstOrder)) { if (isNumber(res.data.extraOrderV?.firstOrder)) {
params.extraOrderV.firstOrder = params.extraOrderV.firstOrder =
......
...@@ -28,6 +28,16 @@ ...@@ -28,6 +28,16 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('会员编号')">
<el-input
v-model.trim="queryParams.memberCode"
style="width: 300px"
:placeholder="$t('请输入会员编号')"
clearable
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('领取方式')"> <el-form-item :label="$t('领取方式')">
<dict-selector <dict-selector
v-model="queryParams.redeemType" v-model="queryParams.redeemType"
...@@ -179,8 +189,16 @@ ...@@ -179,8 +189,16 @@
width="140" width="140"
:label="$t('兑换记录ID')" :label="$t('兑换记录ID')"
align="center" align="center"
prop="redemptionNumber" >
/> <template #default="{ row }">
<el-button
size="mini"
type="text"
@click="handleViewRecord(row )"
>{{ row.redemptionNumber}}</el-button
>
</template>
</el-table-column>
<el-table-column <el-table-column
width="140" width="140"
:label="$t('礼品ID')" :label="$t('礼品ID')"
...@@ -297,14 +315,14 @@ ...@@ -297,14 +315,14 @@
@click="handleRewardEdit(scope.row)" @click="handleRewardEdit(scope.row)"
>{{ $t("编辑") }}</el-button >{{ $t("编辑") }}</el-button
> >
<el-button <!-- <el-button
v-hasPermi="['ecw:memberManagement:view']" v-hasPermi="['ecw:memberManagement:view']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleViewRecord(scope.row)" @click="handleViewRecord(scope.row)"
>{{ $t("查看") }}</el-button >{{ $t("查看") }}</el-button
> > -->
<el-button <el-button
v-hasPermi="['ecw:memberManagement:verification']" v-hasPermi="['ecw:memberManagement:verification']"
size="mini" size="mini"
...@@ -494,6 +512,7 @@ export default { ...@@ -494,6 +512,7 @@ export default {
queryParams: { queryParams: {
rewardTitle: "", rewardTitle: "",
memberName: "", // 会员昵称 memberName: "", // 会员昵称
memberCode:"", //会员编号
redeemType: "", // 兑换方式 redeemType: "", // 兑换方式
status: "", status: "",
rewardCount: "", rewardCount: "",
...@@ -525,8 +544,17 @@ export default { ...@@ -525,8 +544,17 @@ export default {
}, },
immediate: true, immediate: true,
}, },
"$route.query.memberCode": {
handler(val) {
if (val) {
this.queryParams.memberCode= val;
}
},
immediate: true,
},
}, },
created() { created() {
this.getNodeListAPI(); this.getNodeListAPI();
this.handleQuery(); this.handleQuery();
}, },
...@@ -573,21 +601,21 @@ export default { ...@@ -573,21 +601,21 @@ export default {
// 核销 // 核销
handleVerify(row) { handleVerify(row) {
this.$router.push({ this.$router.push({
path: "/memberManagement/exchangeRecordOperation", path: "/member/memberManagement/exchangeRecordOperation",
query: { exchangeRewardID: row.id, pageStatus: "verify" }, query: { exchangeRewardID: row.id, pageStatus: "verify" },
}); });
}, },
// 查看按钮操作 // 查看按钮操作
handleViewRecord(row) { handleViewRecord(row) {
this.$router.push({ this.$router.push({
path: "/memberManagement/exchangeRecordOperation", path: "/member/memberManagement/exchangeRecordOperation",
query: { exchangeRewardID: row.id, pageStatus: "view" }, query: { exchangeRewardID: row.id, pageStatus: "view" },
}); });
}, },
// 兑换记录编辑操作 // 兑换记录编辑操作
handleRewardEdit(row) { handleRewardEdit(row) {
this.$router.push({ this.$router.push({
path: "/memberManagement/exchangeRecordOperation", path: "/member/memberManagement/exchangeRecordOperation",
query: { exchangeRewardID: row.id, pageStatus: "edit" }, query: { exchangeRewardID: row.id, pageStatus: "edit" },
}); });
}, },
...@@ -721,7 +749,7 @@ export default { ...@@ -721,7 +749,7 @@ export default {
// 新增兑换 // 新增兑换
handleNewExchange() { handleNewExchange() {
this.$router.push({ this.$router.push({
path: "/memberManagement/exchangeRecordOperation", path: "/member/memberManagement/exchangeRecordOperation",
}); });
}, },
getNodeListAPI() { getNodeListAPI() {
...@@ -766,6 +794,7 @@ export default { ...@@ -766,6 +794,7 @@ export default {
city: null, city: null,
endTime: null, endTime: null,
holdScore: null, holdScore: null,
memberCode:'',
holdScoreOperate: null, holdScoreOperate: null,
key: null, key: null,
redemptionNumber: null, redemptionNumber: null,
...@@ -808,6 +837,7 @@ export default { ...@@ -808,6 +837,7 @@ export default {
country: null, country: null,
city: null, city: null,
endTime: null, endTime: null,
memberCode:'',
holdScore: null, holdScore: null,
holdScoreOperate: null, holdScoreOperate: null,
key: null, key: null,
......
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
></el-table-column> ></el-table-column>
<el-table-column :label="$t('礼品名称')" align="center"> <el-table-column :label="$t('礼品名称')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleView(scope.row)">{{ <el-button type="text" >{{
isChinese ? scope.row.titleZh : scope.row.titleEn isChinese ? scope.row.titleZh : scope.row.titleEn
}}</el-button> }}</el-button>
</template> </template>
......
...@@ -360,7 +360,7 @@ import { ...@@ -360,7 +360,7 @@ import {
verifyRedeem, verifyRedeem,
} from "@/api/ecw/memberManagement"; } from "@/api/ecw/memberManagement";
import { memberUserGet } from "@/api/member/user"; import { memberUserGet } from "@/api/member/user";
import { getDictDatas, DICT_TYPE } from "@/utils/dict";
export default { export default {
name: "exchangeRecordOperation", name: "exchangeRecordOperation",
components: { components: {
...@@ -549,6 +549,7 @@ export default { ...@@ -549,6 +549,7 @@ export default {
getDetails() { getDetails() {
memberUserGet({ id: this.$route.query.memberId }).then((r) => { memberUserGet({ id: this.$route.query.memberId }).then((r) => {
// this.details = r.data; // this.details = r.data;
this.isChinese this.isChinese
? (this.queryParamsList[0].memberName = r.data.nickname) ? (this.queryParamsList[0].memberName = r.data.nickname)
: (this.queryParamsList[0].memberName = r.data.englishName); : (this.queryParamsList[0].memberName = r.data.englishName);
...@@ -571,6 +572,7 @@ export default { ...@@ -571,6 +572,7 @@ export default {
if (this.isChinese) { if (this.isChinese) {
this.queryParamsList[0].memberName = data.memberNameZh; this.queryParamsList[0].memberName = data.memberNameZh;
this.queryParamsList[0].rewardName = data.rewardTitleZh; this.queryParamsList[0].rewardName = data.rewardTitleZh;
} else { } else {
this.queryParamsList[0].memberName = data.memberNameEn; this.queryParamsList[0].memberName = data.memberNameEn;
this.queryParamsList[0].rewardName = data.rewardTitleEn; this.queryParamsList[0].rewardName = data.rewardTitleEn;
...@@ -666,7 +668,7 @@ export default { ...@@ -666,7 +668,7 @@ export default {
}, },
onGetSelectRewardsInfo(item) { onGetSelectRewardsInfo(item) {
this.queryParamsList[0].rewardId = item.id; this.queryParamsList[0].rewardId = item.id;
this.queryParamsList[0]; this.queryParamsList[0].redeemType = item.pickMethod.split(",")[0]
if (this.isChinese) { if (this.isChinese) {
this.queryParamsList[0].rewardName = item.titleZh; this.queryParamsList[0].rewardName = item.titleZh;
} else { } else {
......
...@@ -174,6 +174,12 @@ ...@@ -174,6 +174,12 @@
{{ parseTime(row.createTime) || "/" }}</template {{ parseTime(row.createTime) || "/" }}</template
> >
</el-table-column> </el-table-column>
<el-table-column :label="$t('积分到期时间')" align="center">
<template v-slot="{ row }">
{{ parseTime(row.expireTime) || "/" }}</template
>
</el-table-column>
<el-table-column width="300" :label="$t('详细信息')" align="center"> <el-table-column width="300" :label="$t('详细信息')" align="center">
<template v-slot="{ row }"> <template v-slot="{ row }">
<!-- 人工操作--> <!-- 人工操作-->
...@@ -186,7 +192,7 @@ ...@@ -186,7 +192,7 @@
type="text" type="text"
@click=" @click="
$router.push({ $router.push({
path: '/memberManagement/exchangeRecordOperation', path: '/member/memberManagement/exchangeRecordOperation',
query: { query: {
pageStatus: 'view', pageStatus: 'view',
exchangeRewardID: row.extParamJson.redeemId, exchangeRewardID: row.extParamJson.redeemId,
...@@ -230,7 +236,7 @@ ...@@ -230,7 +236,7 @@
type="text" type="text"
@click=" @click="
$router.push({ $router.push({
path: '/memberManagement/addIntegrationRuleOperation', path: '/member/memberManagement/addIntegrationRuleOperation',
query: { query: {
id: row.extParamJson.scoreRuleId, id: row.extParamJson.scoreRuleId,
pageStatus: 'view', pageStatus: 'view',
...@@ -258,6 +264,9 @@ import { queryMemberScoreRecord } from "@/api/ecw/memberManagement"; ...@@ -258,6 +264,9 @@ import { queryMemberScoreRecord } from "@/api/ecw/memberManagement";
export default { export default {
name: "EcwMembermanagementIntegralrecord", name: "EcwMembermanagementIntegralrecord",
props:{
memberCode:[String, Number],
},
data() { data() {
return { return {
dateRangeCreateTime: [], dateRangeCreateTime: [],
...@@ -285,7 +294,27 @@ export default { ...@@ -285,7 +294,27 @@ export default {
return this.$i18n.locale === "zh_CN"; return this.$i18n.locale === "zh_CN";
}, },
}, },
watch:{
memberCode:{
handler: function (newVal, oldVal) {
if(newVal){
this.queryParams.memberId= newVal
}
},
immediate: true,
},
$route: {
handler: function (route) {
const query = route.query;
if (query.memberCode) {
this.queryParams.key = this.$route.query.memberCode
}
},
immediate: true,
},
},
created() { created() {
this.handleQuery(); this.handleQuery();
}, },
activated() { activated() {
......
...@@ -385,14 +385,14 @@ export default { ...@@ -385,14 +385,14 @@ export default {
// 编辑操作按钮 // 编辑操作按钮
handleUpdate(row) { handleUpdate(row) {
this.$router.push({ this.$router.push({
path: "/memberManagement/addIntegrationRuleOperation", path: "/member/memberManagement/addIntegrationRuleOperation",
query: { id: row.id, pageStatus: "edit" }, query: { id: row.id, pageStatus: "edit" },
}); });
}, },
// 查看按钮操作 // 查看按钮操作
handleViewDetails(row) { handleViewDetails(row) {
this.$router.push({ this.$router.push({
path: "/memberManagement/addIntegrationRuleOperation", path: "/member/memberManagement/addIntegrationRuleOperation",
query: { id: row.id, pageStatus: "view" }, query: { id: row.id, pageStatus: "view" },
}); });
}, },
......
...@@ -149,7 +149,10 @@ ...@@ -149,7 +149,10 @@
<template #default="{ row }"> <template #default="{ row }">
<el-button <el-button
type="text" type="text"
@click="$router.push('/memberManagement/integralRecord')" @click="$router.push(
{path:'/member/memberManagement/integralRecord',
query: {memberCode:row.memberCode}
})"
>{{ row.holdScore }}</el-button >{{ row.holdScore }}</el-button
> >
</template> </template>
...@@ -158,7 +161,9 @@ ...@@ -158,7 +161,9 @@
<template #default="{ row }"> <template #default="{ row }">
<el-button <el-button
type="text" type="text"
@click="$router.push('/memberManagement/exchangeRecord')" @click="$router.push({path:'/member/giftManagement/exchangeRecord',
query: {memberCode:row.memberCode}
})"
>{{ row.usedScore }}</el-button >{{ row.usedScore }}</el-button
> >
</template> </template>
......
...@@ -197,7 +197,7 @@ export default { ...@@ -197,7 +197,7 @@ export default {
goShareDetails(row) { goShareDetails(row) {
if (row.triggerCount != "0") { if (row.triggerCount != "0") {
this.$router.push({ this.$router.push({
path: "/memberManagement/sharingStatisticalDetails", path: "/member/memberManagement/sharingStatisticalDetails",
query: { query: {
id: row.id, id: row.id,
}, },
......
...@@ -207,7 +207,7 @@ export default { ...@@ -207,7 +207,7 @@ export default {
goShareDetails(row) { goShareDetails(row) {
if (row.triggerCount != "0") { if (row.triggerCount != "0") {
this.$router.push({ this.$router.push({
path: "/memberManagement/sharingStatisticalDetails", path: "/member/memberManagement/sharingStatisticalDetails",
query: { query: {
id: row.id, id: row.id,
}, },
......
...@@ -237,7 +237,10 @@ ...@@ -237,7 +237,10 @@
</el-menu> </el-menu>
<div class="table-container"> <div class="table-container">
<div class="reward" v-show="activeIndex == 'reward'"> <div class="reward" v-show="activeIndex == 'reward'">
<el-form <!-- 积分记录 -->
<IntegralRecord :memberCode="$route.params.id"></IntegralRecord>
<!-- <el-form
:model="queryParams" :model="queryParams"
ref="queryForm" ref="queryForm"
size="small" size="small"
...@@ -334,7 +337,7 @@ ...@@ -334,7 +337,7 @@
:page.sync="queryParams.pageNo" :page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="handleQueryPagination" @pagination="handleQueryPagination"
/> /> -->
</div> </div>
<div class="exchange" v-show="activeIndex != 'reward'"> <div class="exchange" v-show="activeIndex != 'reward'">
<el-form <el-form
...@@ -868,9 +871,10 @@ import { ...@@ -868,9 +871,10 @@ import {
} from "@/api/ecw/memberManagement"; } from "@/api/ecw/memberManagement";
import { getNodeList, getRewardsDetails } from '@/api/ecw/giftManagement' import { getNodeList, getRewardsDetails } from '@/api/ecw/giftManagement'
import OperatingGift from '@/views/ecw/giftManagement/components/operatingGift.vue' import OperatingGift from '@/views/ecw/giftManagement/components/operatingGift.vue'
import IntegralRecord from "@/views/ecw/memberManagement/integralRecord"
export default { export default {
name: "memberDetails", name: "memberDetails",
components: { ImageUpload, FileUpload, OperatingGift }, components: { ImageUpload, FileUpload, OperatingGift, IntegralRecord },
data() { data() {
return { return {
// 网点 // 网点
...@@ -1070,7 +1074,7 @@ export default { ...@@ -1070,7 +1074,7 @@ export default {
methods: { methods: {
handleViewRecord(row) { handleViewRecord(row) {
this.$router.push({ this.$router.push({
path: '/memberManagement/exchangeRecordOperation', path: '/member/memberManagement/exchangeRecordOperation',
query: { exchangeRewardID: row.id, pageStatus: 'view' } query: { exchangeRewardID: row.id, pageStatus: 'view' }
}) })
}, },
...@@ -1214,7 +1218,7 @@ export default { ...@@ -1214,7 +1218,7 @@ export default {
}, },
handleExchangeRewards(details) { handleExchangeRewards(details) {
this.$router.push({ this.$router.push({
path: "/memberManagement/exchangeRecordOperation", path: "/member/memberManagement/exchangeRecordOperation",
query: { query: {
memberId: details.userScoreLevelInfo.memberId, memberId: details.userScoreLevelInfo.memberId,
pageStatus: "add", pageStatus: "add",
......
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