积分继续调整

This commit is contained in:
aixianling
2022-03-22 19:39:23 +08:00
parent 26f96dd6b1
commit 6bbc40ef41
6 changed files with 110 additions and 105 deletions

View File

@@ -38,13 +38,12 @@
</template> </template>
<template slot="right"> <template slot="right">
<el-input <el-input
v-model="search.familyName" v-model="search.portalUserPhone"
class="search-input" class="search-input"
size="mini" size="mini"
placeholder="申诉人/申诉对象/..." placeholder="申诉人/申诉对象/..."
clearable clearable
v-throttle="() => {page.current = 1, getList()}" @change="page.current = 1, getList()"
@clear="page.current = 1, getList()"
suffix-icon="iconfont iconSearch"/> suffix-icon="iconfont iconSearch"/>
</template> </template>
</ai-search-bar> </ai-search-bar>
@@ -144,8 +143,8 @@
<span class="form_value">{{ rowInfo.declareObjName }}</span> <span class="form_value">{{ rowInfo.declareObjName }}</span>
</div> </div>
<div> <div>
<span class="form_label">户主</span> <span class="form_label">用户账号</span>
<span class="form_value">{{ rowInfo.familyName }}</span> <span class="form_value">{{ rowInfo.portalUserPhone }}</span>
</div> </div>
</div> </div>
<div class="form_info"> <div class="form_info">
@@ -260,7 +259,7 @@ export default {
return { return {
search: { search: {
status: '', status: '',
familyName: '', portalUserPhone: '',
declareTimeStart: null, declareTimeStart: null,
declareTimeEnd: null declareTimeEnd: null
}, },
@@ -274,8 +273,8 @@ export default {
{prop: "declareName", label: "申诉人", align: "center"}, {prop: "declareName", label: "申诉人", align: "center"},
{prop: "declareObjName", label: "申诉对象", align: "center", hide: this.bizType == 1}, {prop: "declareObjName", label: "申诉对象", align: "center", hide: this.bizType == 1},
{ {
prop: "familyName", prop: "portalUserPhone",
label: "户主", label: "用户账号",
}, },
{ {
prop: "declareDescription", prop: "declareDescription",

View File

@@ -38,13 +38,12 @@
</template> </template>
<template slot="right"> <template slot="right">
<el-input <el-input
v-model="search.familyName" v-model="search.portalUserPhone"
class="search-input" class="search-input"
size="mini" size="mini"
placeholder="申诉人/申诉对象/..." placeholder="申诉人/申诉对象/..."
clearable clearable
v-throttle="() => {page.current = 1, getList()}" @change="page.current = 1, getList()"
@clear="page.current = 1, getList()"
suffix-icon="iconfont iconSearch"/> suffix-icon="iconfont iconSearch"/>
</template> </template>
</ai-search-bar> </ai-search-bar>
@@ -138,8 +137,8 @@
<span class="form_value">{{ rowInfo.declareObjName }}</span> <span class="form_value">{{ rowInfo.declareObjName }}</span>
</div> </div>
<div> <div>
<span class="form_label">户主</span> <span class="form_label">用户账号</span>
<span class="form_value">{{ rowInfo.familyName }}</span> <span class="form_value">{{ rowInfo.portalUserPhone }}</span>
</div> </div>
</div> </div>
<div class="form_info"> <div class="form_info">
@@ -254,7 +253,7 @@ export default {
return { return {
search: { search: {
status: '', status: '',
familyName: '', portalUserPhone: '',
declareTimeStart: null, declareTimeStart: null,
declareTimeEnd: null declareTimeEnd: null
}, },
@@ -268,8 +267,8 @@ export default {
{prop: "declareName", label: "申报人", align: "center"}, {prop: "declareName", label: "申报人", align: "center"},
{prop: "declareObjName", label: "申报对象", align: "center", hide: this.bizType == 1}, {prop: "declareObjName", label: "申报对象", align: "center", hide: this.bizType == 1},
{ {
prop: "familyName", prop: "portalUserPhone",
label: "户主", label: "用户账号",
}, },
{ {
prop: "declareDescription", prop: "declareDescription",

View File

@@ -4,35 +4,36 @@
<template slot="content"> <template slot="content">
<ai-search-bar bottomBorder> <ai-search-bar bottomBorder>
<template slot="left"> <template slot="left">
<el-date-picker size="small" v-model="searchDotime" type="daterange" range-separator="至" @change="timeChange" <el-date-picker size="small" v-model="searchDotime" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker> @change="timeChange"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"></el-date-picker>
</template> </template>
<template slot="right"> <template slot="right">
<el-input <el-input
v-model="search.familyName" v-model="search.portalUserPhone"
class="search-input" class="search-input"
size="small" size="small"
placeholder="对象、户主、事件类型" placeholder="对象、用户账号、事件类型"
clearable clearable
v-throttle="() => {search.current = 1, getList()}" @change="search.current = 1, getList()"
@clear="search.current = 1, getList()" suffix-icon="iconfont iconSearch"/>
suffix-icon="iconfont iconSearch" />
</template> </template>
</ai-search-bar> </ai-search-bar>
<ai-table <ai-table
:tableData="tableData" :tableData="tableData"
:col-configs="colConfigs" :col-configs="colConfigs"
:total="total" :total="total"
ref="aitableex" ref="aitableex"
:current.sync="search.current" :current.sync="search.current"
:size.sync="search.size" :size.sync="search.size"
@getList="getList"> @getList="getList">
<el-table-column slot="changeIntegral" label="积分" align= "center"> <el-table-column slot="changeIntegral" label="积分" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{row.changeIntegral > 0 ? '+' : ''}}{{row.changeIntegral}}</span> <span>{{ row.changeIntegral > 0 ? '+' : '' }}{{ row.changeIntegral }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column slot="doType" label="类型" align= "center"> <el-table-column slot="doType" label="类型" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{ dict.getLabel('integralDetailType', row.bizType) }}</span> <span>{{ dict.getLabel('integralDetailType', row.bizType) }}</span>
</template> </template>
@@ -40,10 +41,10 @@
<el-table-column slot="options" label="操作" align="center" fixed="right" width="120"> <el-table-column slot="options" label="操作" align="center" fixed="right" width="120">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button <el-button
type="text" type="text"
title="详情" title="详情"
:disabled="!$permissions('app_appvillagerintegraldetail_detail')" :disabled="!$permissions('app_appvillagerintegraldetail_detail')"
@click="viewItem(row)"> @click="viewItem(row)">
详情 详情
</el-button> </el-button>
</template> </template>
@@ -52,25 +53,26 @@
</template> </template>
</ai-list> </ai-list>
<ai-dialog <ai-dialog
title="详情" title="详情"
:visible.sync="dialog.visible" :visible.sync="dialog.visible"
:customFooter="true" :customFooter="true"
:destroyOnClose="true" :destroyOnClose="true"
width="720px" width="720px"
> >
<div class="form_content"> <div class="form_content">
<div class="form_info"> <div class="form_info">
<span class="form_label">户主</span> <span class="form_label">用户账号</span>
<span class="form_value">{{dialogInfo.familyName}}</span> <span class="form_value">{{ dialogInfo.portalUserPhone }}</span>
</div> </div>
<div class="form_info"> <div class="form_info">
<span class="form_label">事项</span> <span class="form_label">事项</span>
<span class="form_value">{{dialogInfo.ruleName}}</span> <span class="form_value">{{ dialogInfo.ruleName }}</span>
</div> </div>
<div class="form_flex form_info"> <div class="form_flex form_info">
<div> <div>
<span class="form_label">积分</span> <span class="form_label">积分</span>
<span class="form_value">{{dialogInfo.changeIntegral >= 0 ? '增加' : '减少'}}<span style="color:#2266FF">{{Math.abs(dialogInfo.changeIntegral)}}</span></span> <span class="form_value">{{ dialogInfo.changeIntegral >= 0 ? '增加' : '减少' }}<span
style="color:#2266FF">{{ Math.abs(dialogInfo.changeIntegral) }}</span></span>
</div> </div>
<!-- <div> <!-- <div>
<span class="form_label">途径</span> <span class="form_label">途径</span>
@@ -105,7 +107,7 @@ export default {
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
areaId:String areaId: String
}, },
data() { data() {
@@ -114,24 +116,23 @@ export default {
search: { search: {
current: 1, current: 1,
size: 10, size: 10,
familyName: '', portalUserPhone: '',
doTimeStart: null, doTimeStart: null,
doTimeEnd: null doTimeEnd: null
}, },
total: 10, total: 10,
colConfigs: [ colConfigs: [
{ prop: "residentName", label: "对象", width:160 }, {prop: "portalUserPhone", label: "用户账号", align: "center", width: 160},
{ prop: "familyName", label: "户主", align: "center", width:160 },
{ {
prop: "ruleName", prop: "ruleName",
label: "事件类型", label: "事件类型",
"show-overflow-tooltip": true, "show-overflow-tooltip": true,
width:420 width: 420
}, },
{ {
prop: "doTime", prop: "doTime",
label: "时间", label: "时间",
width:200 width: 200
}, },
// { // {
// prop: "doType", // prop: "doType",
@@ -148,8 +149,8 @@ export default {
// ); // );
// }, // },
// }, // },
{ slot: "doType", label: "类型", width: 100}, {slot: "doType", label: "类型", width: 100},
{ slot: "changeIntegral", label: "积分", width: 100}, {slot: "changeIntegral", label: "积分", width: 100},
// { // {
// prop: "bizType", // prop: "bizType",
// label: "途径", // label: "途径",
@@ -158,7 +159,7 @@ export default {
// formart: (bizType) => // formart: (bizType) =>
// this.$dict.getLabel("integralDetailBizType", bizType) || '-', // this.$dict.getLabel("integralDetailBizType", bizType) || '-',
// }, // },
{ slot: "options", label: "操作", align: "center" }, {slot: "options", label: "操作", align: "center"},
], ],
tableData: [], tableData: [],
dialog: { dialog: {
@@ -170,39 +171,39 @@ export default {
mounted() { mounted() {
this.$dict this.$dict
.load([ .load([
"integralDeclareDoType", "integralDeclareDoType",
"integralDetailType", "integralDetailType",
"integralDetailBizType" "integralDetailBizType"
]) ])
.then(() => { .then(() => {
this.getList(); this.getList();
}); });
}, },
methods: { methods: {
getList() { getList() {
this.instance this.instance
.post(`/app/appvillagerintegraldetail/list`, null, { .post(`/app/appvillagerintegraldetail/list`, null, {
params: { params: {
...this.search, ...this.search,
areaId: this.areaId, areaId: this.areaId,
}, },
}) })
.then((res) => { .then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.tableData = res.data.records; this.tableData = res.data.records;
this.total = res.data.total; this.total = res.data.total;
} }
}); });
}, },
timeChange() { timeChange() {
if(this.searchDotime) { if (this.searchDotime) {
this.search.doTimeStart = this.searchDotime[0] this.search.doTimeStart = this.searchDotime[0]
this.search.doTimeEnd = this.searchDotime[1] this.search.doTimeEnd = this.searchDotime[1]
}else { } else {
this.search.doTimeStart = null this.search.doTimeStart = null
this.search.doTimeEnd = null this.search.doTimeEnd = null
} }
this.search.current = 1 this.search.current = 1
@@ -212,18 +213,18 @@ export default {
viewItem(row) { viewItem(row) {
this.dialog.visible = true this.dialog.visible = true
this.instance.post(`/app/appvillagerintegraldetail/queryDetailById?id=${row.id}`, null, {}).then((res) => { this.instance.post(`/app/appvillagerintegraldetail/queryDetailById?id=${row.id}`, null, {}).then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.dialogInfo = res.data this.dialogInfo = res.data
console.log(this.dialogInfo) console.log(this.dialogInfo)
} }
}); });
}, },
onReset() { onReset() {
this.search.current = 1 this.search.current = 1
this.search.doTimeStart = null this.search.doTimeStart = null
this.search.doTimeEnd = null this.search.doTimeEnd = null
this.search.familyName = '' this.search.portalUserPhone = ''
this.searchDotime = [] this.searchDotime = []
this.getList(); this.getList();
}, },
@@ -236,16 +237,20 @@ export default {
height: 100%; height: 100%;
background: #f3f6f9; background: #f3f6f9;
overflow: auto; overflow: auto;
.form_content { .form_content {
.form_flex { .form_flex {
display: flex; display: flex;
div { div {
flex: 1; flex: 1;
} }
} }
.form_info { .form_info {
margin-bottom: 8px; margin-bottom: 8px;
} }
.form_label { .form_label {
display: inline-block; display: inline-block;
color: #999; color: #999;
@@ -253,6 +258,7 @@ export default {
width: 70px; width: 70px;
text-align: right; text-align: right;
} }
.form_value { .form_value {
display: inline-block; display: inline-block;
color: #333; color: #333;
@@ -264,10 +270,12 @@ export default {
// } // }
} }
} }
.form_div { .form_div {
padding-top: 24px; padding-top: 24px;
border-top: 1px solid #eee; border-top: 1px solid #eee;
} }
.status-0 { .status-0 {
color: #FF4466; color: #FF4466;
} }

View File

@@ -102,7 +102,7 @@ export default {
}, },
colConfigs() { colConfigs() {
return [ return [
{prop: "residentName", label: "姓名"}, {prop: "portalUserPhone", label: "用户账号"},
{prop: "description", label: "调整说明"}, {prop: "description", label: "调整说明"},
{ {
prop: "changeIntegral", label: "类型", align: "center", prop: "changeIntegral", label: "类型", align: "center",

View File

@@ -203,8 +203,8 @@
<template #content> <template #content>
<div class="info"> <div class="info">
<ai-wrapper label-width="70px" :columnsNumber="2"> <ai-wrapper label-width="70px" :columnsNumber="2">
<ai-info-item label="户主"><span>{{ detailInfo.familyName }}</span></ai-info-item> <ai-info-item label="用户账号"><span>{{ detailInfo.portalUserPhone }}</span></ai-info-item>
<ai-info-item label="联系方式"><span>{{ detailInfo.familyPhone || "-" }}</span></ai-info-item> <ai-info-item label="联系方式"><span>{{ detailInfo.portalUserPhone || "-" }}</span></ai-info-item>
</ai-wrapper> </ai-wrapper>
<ai-wrapper label-width="70px" :columnsNumber="1"> <ai-wrapper label-width="70px" :columnsNumber="1">
<ai-info-item label="备注"><span>{{ detailInfo.remark || "-" }}</span></ai-info-item> <ai-info-item label="备注"><span>{{ detailInfo.remark || "-" }}</span></ai-info-item>
@@ -290,8 +290,8 @@ export default {
return { return {
forms: { forms: {
shopId: "", shopId: "",
familyId: "", portalUserId: "",
familyName: "", portalUserPhone: "",
name: "", name: "",
memberId: "", memberId: "",
merchandiseList: [], merchandiseList: [],
@@ -389,15 +389,15 @@ export default {
methods: { methods: {
getSelect(val) { getSelect(val) {
if (val) { if (val) {
this.forms.familyName = val.familyName; this.forms.portalUserPhone = val.portalUserPhone;
this.forms.familyId = val.familyId; this.forms.portalUserId = val.portalUserId;
this.forms.name = val.name; this.forms.name = val.name;
this.forms.memberId = val.id; this.forms.memberId = val.id;
this.forms.phone = val.phone; this.forms.phone = val.phone;
this.integral = val.integral; this.integral = val.integral;
} else { } else {
this.forms.familyName = ""; this.forms.portalUserPhone = "";
this.forms.familyId = ""; this.forms.portalUserId = "";
this.forms.name = ""; this.forms.name = "";
this.forms.memberId = ""; this.forms.memberId = "";
this.forms.phone = ""; this.forms.phone = "";

View File

@@ -56,8 +56,7 @@
v-model="searchObj.name" v-model="searchObj.name"
size="small" size="small"
placeholder="订单号/商品名/兑换家庭" placeholder="订单号/商品名/兑换家庭"
v-throttle="() => {page.current = 1, getList()}" @change="page.current = 1, searchObj.name = '', getList()"
@clear="page.current = 1, searchObj.name = '', getList()"
clearable clearable
suffix-icon="iconfont iconSearch" suffix-icon="iconfont iconSearch"
/> />
@@ -131,11 +130,11 @@
</ai-uploader> </ai-uploader>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="兑换家庭" slot="familyName" align="left"> <el-table-column label="兑换家庭" slot="portalUserPhone" align="left">
<template v-slot="{ row }"> <template v-slot="{ row }">
<el-row> <el-row>
<el-col style="width: 100%">{{ row.familyName }}</el-col> <el-col style="width: 100%">{{ row.portalUserPhone }}</el-col>
<el-col style="color: #999999">{{ row.familyPhone }}</el-col> <el-col style="color: #999999">{{ row.portalUserPhone }}</el-col>
</el-row> </el-row>
</template> </template>
</el-table-column> </el-table-column>
@@ -282,10 +281,10 @@
label: "消耗积分", label: "消耗积分",
}, },
{ {
prop: "familyName", prop: "portalUserPhone",
align: "center", align: "center",
label: "兑换家庭", label: "兑换家庭",
slot: "familyName", slot: "portalUserPhone",
}, },
{ {
prop: "createUserName", prop: "createUserName",