<template> <div class="app-container"> <el-row class="mb8"> <el-button type="success" size="mini" icon="el-icon-plus" @click="handleNewScoreRule" >{{ $t("添加规则") }}</el-button > <el-button type="success" size="mini" icon="el-icon-delete" @click="handleDelScoreRule" >{{ $t("删除规则") }}</el-button > </el-row> <el-table ref="multipleTable" v-loading="loading" @selection-change="handleSelectionChange" :data="memberLevelList" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column width="140" :label="$t('序号')" align="center" prop="id" ></el-table-column> <el-table-column :label="$t('等级名称')" align="center" prop="name" ></el-table-column> <el-table-column width="140" :label="$t('图标')" align="center" prop="mobile" > <template slot-scope="scope"> <el-image :src="scope.row.icon" style="width: 50px; height: 50px">{{ $t("无") }}</el-image> </template> </el-table-column> <el-table-column :label="$t('积分范围')" align="center"> <template slot-scope="scope"> {{ scope.row.lowerCount }}-{{ scope.row.upperCount }} </template> </el-table-column> <el-table-column :label="$t('操作')" align="center"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" >{{ $t("修改") }}</el-button > <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" >{{ $t("删除") }}</el-button > </template> </el-table-column> </el-table> <!-- //分页列表 --> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="handleQueryPagination" /> <el-dialog :title="$t('添加规则')" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" > <el-form :model="ruleForm" ref="ruleForm" label-width="100px" class="demo-ruleForm" > <el-form-item :label="$t('等级名称')"> <el-input v-model="ruleForm.name"></el-input> </el-form-item> <el-form-item :label="$t('积分范围')"> <el-col :span="11"> <el-form-item> <el-input v-model="ruleForm.lowerCount"></el-input> </el-form-item> </el-col> <el-col class="line" :span="2">{{ $t("至") }}</el-col> <el-col :span="11"> <el-form-item> <el-input v-model="ruleForm.upperCount"></el-input> </el-form-item> </el-col> </el-form-item> <el-form-item :label="$t('上传图标')"> <image-upload v-model="ruleForm.icon" /> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">{{ $t("取 消") }}</el-button> <el-button type="primary" @click="handelAddNewMemberLevel">{{ $t("确定") }}</el-button> </span> </el-dialog> </div> </template> <script> import { getDictDatas, DICT_TYPE } from "@/utils/dict"; import { getMemberLevelList, addNewMemberLevel, delMemberLevel, editMemberLevel, } from "@/api/ecw/memberManagement"; import ImageUpload from "@/components/ImageUpload"; export default { name: "integralRecord", components: { ImageUpload, }, data() { return { dialogVisible: false, selectList: [], ruleForm: { icon: "", lowerCount: "", name: "", upperCount: "", }, total: 0, loading: true, memberLevelList: [], queryParams: { pageNo: 1, pageSize: 10, }, }; }, computed: { isChinese() { return this.$i18n.locale === "zh_CN"; }, }, created() { this.handleQuery(); }, activated() { this.handleQuery(); }, methods: { handleUpdate(row) { this.ruleForm = { ...row }; this.dialogVisible = true; }, handleDelete(row) { let ids = [row.id]; delMemberLevel(ids).then((res) => { this.$message.success(this.$t("删除成功")); this.handleClose(); this.handleQuery(); }); }, handelAddNewMemberLevel() { if (this.ruleForm.id) { editMemberLevel(this.ruleForm).then((res) => { this.$message.success(this.$t("更新成功")); this.handleClose(); this.handleQuery(); }); } else { let params = { ...this.ruleForm }; addNewMemberLevel(params).then((res) => { this.$message.success(this.$t("保存成功")); this.handleClose(); this.handleQuery(); }); } }, handleSelectionChange(ids) { this.selectList = ids; }, handleClose() { this.dialogVisible = false; this.selectList = []; this.ruleForm = { icon: "", lowerCount: "", name: "", upperCount: "", }; }, handleDelScoreRule() { if (this.selectList.length > 0) { let ids = this.selectList.map((item) => { return item.id; }); delMemberLevel(ids).then((res) => { this.$message.success(this.$t("删除成功")); this.handleClose(); this.handleQuery(); }); } else { this.$message.warning(this.$t("请先选择要删除的会员等级")); } }, handleNewScoreRule() { this.dialogVisible = true; }, handleQuery() { this.queryParams.pageNo = 1; let params = { ...this.queryParams }; getMemberLevelList(params).then((res) => { this.loading = false; this.memberLevelList = res.data.list; this.total = res.data.total; }); }, handleQueryPagination() { let params = { ...this.queryParams }; getMemberLevelList(params).then((res) => { this.loading = false; this.memberLevelList = res.data.list; this.total = res.data.total; }); }, }, }; </script>