积分规则调整

This commit is contained in:
aixianling
2022-05-13 18:10:34 +08:00
parent e4ce3d7c45
commit 0705687d12

View File

@@ -8,22 +8,22 @@
<ai-search-bar bottomBorder> <ai-search-bar bottomBorder>
<template slot="left"> <template slot="left">
<ai-select <ai-select
v-model="search.classification" v-model="search.classification"
@change="search.current = 1, getList()" @change="search.current = 1, getList()"
placeholder="请选择分类" placeholder="请选择分类"
:selectList="dict.getDict('atWillReportType')"> :selectList="dict.getDict('atWillReportType')">
</ai-select> </ai-select>
<ai-select <ai-select
v-model="search.integralType" v-model="search.integralType"
@change="search.current = 1, getList()" @change="search.current = 1, getList()"
placeholder="请选择类型" placeholder="请选择类型"
:selectList="dict.getDict('integralIntegralType')"> :selectList="dict.getDict('integralIntegralType')">
</ai-select> </ai-select>
<ai-select <ai-select
v-model="search.ruleStatus" v-model="search.ruleStatus"
@change="search.current = 1, getList()" @change="search.current = 1, getList()"
placeholder="请选择状态" placeholder="请选择状态"
:selectList="dict.getDict('integralRuleStatus')"> :selectList="dict.getDict('integralRuleStatus')">
</ai-select> </ai-select>
</template> </template>
<template slot="right"> <template slot="right">
@@ -35,27 +35,28 @@
</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" :dict="dict"
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="integral" label="分值" align="center">
<el-table-column slot="integral" label="分值" align="center"> <template slot-scope="{ row }">
<template slot-scope="{ row }">
<span <span
v-if="row.integralValueType == 1"> v-if="row.integralValueType == 1">
{{ row.integralStart > 0 ? '+' + row.integralStart : row.integralStart }} ~ {{ row.integralEnd > 0 ? '+' + row.integralEnd : row.integralEnd }} {{ row.integralStart > 0 ? '+' + row.integralStart : row.integralStart }} ~ {{ row.integralEnd > 0 ? '+' + row.integralEnd : row.integralEnd }}
</span> </span>
<span v-else>{{ row.integral > 0 ? '+' : '' }}{{ row.integral }}</span> <span v-else>{{ row.integral > 0 ? '+' : '' }}{{ row.integral }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column slot="options" label="操作" align="center" fixed="right" width="200"> <el-table-column slot="options" label="操作" align="center" fixed="right" width="200">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div class="table-options"> <div class="table-options">
<el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_edit')" @click="changeStatus(row.id, 0)" v-if="row.ruleStatus == 1">停用</el-button> <el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_edit')" @click="changeStatus(row.id, 0)"
<el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_edit')" @click="changeStatus(row.id, 1)" v-else >启用</el-button> v-if="row.ruleStatus == 1">停用
</el-button>
<el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_edit')" @click="changeStatus(row.id, 1)" v-else>启用</el-button>
<el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_edit')" @click="toEdit(row)">编辑</el-button> <el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_edit')" @click="toEdit(row)">编辑</el-button>
<el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_del')" @click="remove(row.id)">删除</el-button> <el-button type="text" :disabled="!$permissions('app_appvillagerintegralrule_del')" @click="remove(row.id)">删除</el-button>
</div> </div>
@@ -66,26 +67,26 @@
</ai-list> </ai-list>
<ai-dialog <ai-dialog
:title="dialog.title" :title="dialog.title"
:visible.sync="dialog.visible" :visible.sync="dialog.visible"
:customFooter="true" :customFooter="true"
:destroyOnClose="true" :destroyOnClose="true"
@close="init('ruleForm')" @close="init('ruleForm')"
width="520px"> width="520px">
<div class="form_div"> <div class="form_div">
<el-form <el-form
ref="ruleForm" ref="ruleForm"
:model="dialogInfo" :model="dialogInfo"
:rules="formRules" :rules="formRules"
size="small" size="small"
label-suffix="" label-suffix=""
label-width="100px"> label-width="100px">
<el-form-item label="类别" prop="classification"> <el-form-item label="类别" prop="classification">
<ai-select <ai-select
size="small" size="small"
v-model="dialogInfo.classification" v-model="dialogInfo.classification"
placeholder="请选择..." placeholder="请选择..."
:selectList="dict.getDict('atWillReportType')"> :selectList="dict.getDict('atWillReportType')">
</ai-select> </ai-select>
</el-form-item> </el-form-item>
<el-form-item label="事项" prop="ruleName"> <el-form-item label="事项" prop="ruleName">
@@ -93,12 +94,12 @@
</el-form-item> </el-form-item>
<el-form-item label="规则说明" prop="ruleDescription"> <el-form-item label="规则说明" prop="ruleDescription">
<el-input <el-input
type="textarea" type="textarea"
:rows="3" :rows="3"
maxlength="500" maxlength="500"
show-word-limit show-word-limit
placeholder="请输入…" placeholder="请输入…"
v-model="dialogInfo.ruleDescription"> v-model="dialogInfo.ruleDescription">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="类型" prop="integralType"> <el-form-item label="类型" prop="integralType">
@@ -199,39 +200,14 @@ export default {
}, },
total: 10, total: 10,
colConfigs: [ colConfigs: [
{ {prop: "classification", label: "类型", width: 168, dict: "atWillReportType"},
prop: "classification", label: "类型", width: 168, {prop: "ruleName", label: "事项", showOverflowTooltip: true, width: 260},
formart: (classification) =>
this.dict.getLabel("atWillReportType", classification),
},
{prop: "ruleName", label: "事项", "show-overflow-tooltip": true, width: 260},
{prop: "ruleDescription", label: "规则说明", width: 390}, {prop: "ruleDescription", label: "规则说明", width: 390},
{ {prop: "integralType", label: "类型", width: 60, dict: "integralIntegralType"},
prop: "integralType",
label: "类型",
width: 60,
formart: (integralType) =>
this.dict.getLabel("integralIntegralType", integralType),
},
{slot: "integral", label: "分值", width: 70}, {slot: "integral", label: "分值", width: 70},
{prop: "doTime", label: "最后编辑时间", width: 160}, {prop: "doTime", label: "最后编辑时间", width: 160},
{prop: "doUserName", label: "操作人", width: 120}, {prop: "doUserName", label: "操作人", width: 120},
{ {prop: "ruleStatus", label: "状态", align: "center", width: 96, dict: "integralRuleStatus", fixed: "right"},
prop: "ruleStatus",
label: "状态",
align: "center",
width: 96,
fixed: "right",
render: (h, params) => {
return h(
"span",
{
class: "status-" + params.row.ruleStatus,
},
this.dict.getLabel("integralRuleStatus", params.row.ruleStatus)
);
},
},
{slot: "options", label: "操作", align: "center"}, {slot: "options", label: "操作", align: "center"},
], ],
tableData: [], tableData: [],
@@ -255,34 +231,20 @@ export default {
doUserName: '', doUserName: '',
}, },
formRules: { formRules: {
classification: [ classification: [{required: true, message: "请选择类型", trigger: "change"}],
{required: true, message: "请选择类型", trigger: "change"},
],
ruleName: [{required: true, message: "请输入事项", trigger: "blur"}], ruleName: [{required: true, message: "请输入事项", trigger: "blur"}],
ruleDescription: [ ruleDescription: [{required: true, message: "请输入规则说明", trigger: "blur"}],
{required: true, message: "请输入规则说明", trigger: "blur"}, integralType: [{required: true, message: "请选择类型", trigger: "change"}],
], integralValueType: [{required: true, message: "请选择分值类型", trigger: "change"}],
integralType: [ integral: [{required: true, validator: integralPass, trigger: "change"}],
{required: true, message: "请选择类型", trigger: "change"}, integralStart: [{required: true, validator: integralStartPass, trigger: "change"}],
], integralEnd: [{required: true, validator: integralEndPass, trigger: "change"}],
integralValueType: [
{required: true, message: "请选择分值类型", trigger: "change"},
],
integral: [
{required: true, validator: integralPass, trigger: "change"},
],
integralStart: [
{required: true, validator: integralStartPass, trigger: "change"},
],
integralEnd: [
{required: true, validator: integralEndPass, trigger: "change"},
],
}, },
}; };
}, },
created() { created() {
this.dict.load([ "integralIntegralType", "integralRuleStatus", 'atWillReportType']).then(() => { this.dict.load(["integralIntegralType", "integralRuleStatus", 'atWillReportType']).then(() => {
this.getList(); this.getList();
}); });
}, },
@@ -388,13 +350,8 @@ export default {
// this.dialogInfo.integralEnd = ""; // this.dialogInfo.integralEnd = "";
}, },
init(formName) { init() {
this.$refs[formName].clearValidate(); this.dialogInfo = {integralType: '1', integralValueType: '0'}
Object.keys(this.dialogInfo).forEach((e) => {
this.dialogInfo[e] = "";
});
this.dialogInfo.integralType = '1'
this.dialogInfo.integralValueType = '0'
}, },
}, },
}; };