Commit b934369d authored by chenwei's avatar chenwei

Merge branch 'cherry-pick-d9425a83' into 'dev'

task fixed | 礼品提货点 | 会员等级图标上传 | 兑换费用输入框对其

See merge request !88
parents f9915b4e cf123672
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<ul class="el-upload-list el-upload-list--picture-card"> <ul class="el-upload-list el-upload-list--picture-card">
<li tabindex="0" class="el-upload-list__item is-success" v-for="(item, index) in fileList" :key="index"> <li tabindex="0" class="el-upload-list__item is-success" v-for="(item, index) in fileList" :key="index">
<video v-if="item.url.substr(-4) == '.mp4'" :src="item.url"></video> <video v-if="item.url.substr(-4) == '.mp4'" :src="item.url"></video>
<img v-else :src="item.url" :alt="item.name" class="el-upload-list__item-thumbnail"> <img v-else :src="item.url" :alt="item.name" class="el-upload-list__item-thumbnail" />
<!-- <a class="el-upload-list__item-name"> <!-- <a class="el-upload-list__item-name">
<i class="el-icon-document"></i> <i class="el-icon-document"></i>
</a> --> </a> -->
...@@ -16,80 +16,58 @@ ...@@ -16,80 +16,58 @@
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(item)"> <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(item)">
<i class="el-icon-zoom-in"></i> <i class="el-icon-zoom-in"></i>
</span> </span>
<span class="el-upload-list__item-delete" @click="handleRemove(item)" v-if ="isShowEditButton"> <span class="el-upload-list__item-delete" @click="handleRemove(item)" v-if="isShowEditButton">
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</span> </span>
</span> </span>
</li> </li>
</ul> </ul>
<el-upload <el-upload v-if="isShowEditButton" multiple :action="uploadImgUrl" list-type="picture-card" :on-success="handleUploadSuccess" :before-upload="handleBeforeUpload" :limit="limit" :on-error="handleUploadError" :on-exceed="handleExceed" name="file" :on-remove="handleRemove" :show-file-list="false" :headers="headers" :file-list="fileList" :on-preview="handlePictureCardPreview" :class="{ hide: this.fileList.length >= this.limit }">
v-if ="isShowEditButton"
multiple
:action="uploadImgUrl"
list-type="picture-card"
:on-success="handleUploadSuccess"
:before-upload="handleBeforeUpload"
:limit="limit"
:on-error="handleUploadError"
:on-exceed="handleExceed"
name="file"
:on-remove="handleRemove"
:show-file-list="false"
:headers="headers"
:file-list="fileList"
:on-preview="handlePictureCardPreview"
:class="{hide: this.fileList.length >= this.limit}"
>
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
<!-- 上传提示 --> <!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip"> <div class="el-upload__tip" slot="tip" v-if="showTip">
{{$t('请上传')}} {{ $t("请上传") }}
<template v-if="fileSize"> {{$t('大小不超过')}} <b style="color: #f56c6c">{{ fileSize }}MB</b> </template> <template v-if="fileSize">
<template v-if="fileType"> {{$t('格式为')}} <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template> {{ $t("大小不超过") }} <b style="color: #f56c6c">{{ fileSize }}MB</b>
{{$t('的文件')}} </template>
<template v-if="fileType">
{{ $t("格式为") }} <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
</template>
{{ $t("的文件") }}
</div> </div>
<el-dialog <el-dialog :visible.sync="dialogVisible" :title="$t('预览')" width="800" append-to-body>
:visible.sync="dialogVisible"
:title="$t('预览')"
width="800"
append-to-body
>
<template v-if="dialogImageUrl"> <template v-if="dialogImageUrl">
<video v-if="dialogImageUrl.substr(-4) == '.mp4'" :src="dialogImageUrl" controls autoplay style="display: block; max-width: 100%; margin: 0 auto"></video> <video v-if="dialogImageUrl.substr(-4) == '.mp4'" :src="dialogImageUrl" controls autoplay style="display: block; max-width: 100%; margin: 0 auto"></video>
<img <img v-else :src="dialogImageUrl" style="display: block; max-width: 100%; margin: 0 auto" />
v-else
:src="dialogImageUrl"
style="display: block; max-width: 100%; margin: 0 auto"
/>
</template> </template>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth"
export default { export default {
props: { props: {
value: [String, Object, Array], value: [String, Object, Array],
// 图片数量限制 // 图片数量限制
limit2: { limit: {
type: Number, type: Number,
default: 5, default: 5
}, },
// 大小限制(MB) // 大小限制(MB)
fileSize: { fileSize: {
type: Number, type: Number,
default: 5, default: 5
}, },
// 文件类型, 例如['png', 'jpg', 'jpeg'] // 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: { fileType: {
type: Array, type: Array,
default: () => ["png", "jpg", "jpeg", 'mp4'], default: () => ["png", "jpg", "jpeg", "mp4"]
}, },
// 是否显示提示 // 是否显示提示
isShowTip: { isShowTip: {
...@@ -97,7 +75,7 @@ export default { ...@@ -97,7 +75,7 @@ export default {
default: true default: true
}, },
//是否显示编辑按钮 //是否显示编辑按钮
isShowEditButton:{ isShowEditButton: {
type: Boolean, type: Boolean,
default: true default: true
} }
...@@ -112,32 +90,31 @@ export default { ...@@ -112,32 +90,31 @@ export default {
baseUrl: process.env.VUE_APP_BASE_API, baseUrl: process.env.VUE_APP_BASE_API,
uploadImgUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址 uploadImgUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址
headers: { headers: {
Authorization: "Bearer " + getToken(), Authorization: "Bearer " + getToken()
}, },
fileList: [], fileList: []
limit: 5 }
};
}, },
watch: { watch: {
value: { value: {
handler(val) { handler(val) {
if (val) { if (val) {
// 首先将值转为数组 // 首先将值转为数组
const list = Array.isArray(val) ? val : this.value.split(','); const list = Array.isArray(val) ? val : this.value.split(",")
// 然后将数组转为对象数组 // 然后将数组转为对象数组
this.fileList = list.map(item => { this.fileList = list.map((item) => {
if (typeof item === "string") { if (typeof item === "string") {
if (item.indexOf(this.baseUrl) === -1) { if (item.indexOf(this.baseUrl) === -1) {
item = { name: item, url: item }; item = { name: item, url: item }
} else { } else {
item = { name: item, url: item }; item = { name: item, url: item }
} }
} }
return item; return item
}); })
} else { } else {
this.fileList = []; this.fileList = []
return []; return []
} }
}, },
deep: true, deep: true,
...@@ -147,87 +124,87 @@ export default { ...@@ -147,87 +124,87 @@ export default {
computed: { computed: {
// 是否显示提示 // 是否显示提示
showTip() { showTip() {
return this.isShowTip && (this.fileType || this.fileSize); return this.isShowTip && (this.fileType || this.fileSize)
}, }
}, },
methods: { methods: {
// 删除图片 // 删除图片
handleRemove(file, fileList) { handleRemove(file, fileList) {
const findex = this.fileList.map(f => f.name).indexOf(file.name); const findex = this.fileList.map((f) => f.name).indexOf(file.name)
if(findex > -1) { if (findex > -1) {
this.fileList.splice(findex, 1); this.fileList.splice(findex, 1)
this.$emit("input", this.listToString(this.fileList)); this.$emit("input", this.listToString(this.fileList))
} }
}, },
// 上传成功回调 // 上传成功回调
handleUploadSuccess(res) { handleUploadSuccess(res) {
console.log({res}) console.log({ res })
this.uploadList.push({ name: res.data.split('/').pop(), url: res.data }); this.uploadList.push({ name: res.data.split("/").pop(), url: res.data })
if (this.uploadList.length === this.number) { if (this.uploadList.length === this.number) {
this.fileList = this.fileList.concat(this.uploadList); this.fileList = this.fileList.concat(this.uploadList)
this.uploadList = []; this.uploadList = []
this.number = 0; this.number = 0
this.$emit("input", this.listToString(this.fileList)); this.$emit("input", this.listToString(this.fileList))
this.$modal.closeLoading(); this.$modal.closeLoading()
} }
}, },
// 上传前loading加载 // 上传前loading加载
handleBeforeUpload(file) { handleBeforeUpload(file) {
let isImg = false; let isImg = false
if (this.fileType.length) { if (this.fileType.length) {
let fileExtension = ""; let fileExtension = ""
if (file.name.lastIndexOf(".") > -1) { if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1); fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1)
} }
isImg = this.fileType.some(type => { isImg = this.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true; if (file.type.indexOf(type) > -1) return true
if (fileExtension && fileExtension.indexOf(type) > -1) return true; if (fileExtension && fileExtension.indexOf(type) > -1) return true
return false; return false
}); })
} else { } else {
isImg = file.type.indexOf("image") > -1; isImg = file.type.indexOf("image") > -1
} }
if (!isImg) { if (!isImg) {
this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}图片格式文件!`); this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}图片格式文件!`)
return false; return false
} }
if (this.fileSize) { if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize; const isLt = file.size / 1024 / 1024 < this.fileSize
if (!isLt) { if (!isLt) {
this.$modal.msgError(`上传头像图片大小不能超过 ${this.fileSize} MB!`); this.$modal.msgError(`上传头像图片大小不能超过 ${this.fileSize} MB!`)
return false; return false
} }
} }
this.$modal.loading("正在上传图片,请稍候..."); this.$modal.loading("正在上传图片,请稍候...")
this.number++; this.number++
}, },
// 文件个数超出 // 文件个数超出
handleExceed() { handleExceed() {
this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`); this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`)
}, },
// 上传失败 // 上传失败
handleUploadError() { handleUploadError() {
this.$modal.msgError("上传图片失败,请重试"); this.$modal.msgError("上传图片失败,请重试")
this.$modal.closeLoading(); this.$modal.closeLoading()
}, },
// 预览 // 预览
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dialogImageUrl = file.url; this.dialogImageUrl = file.url
this.dialogVisible = true; this.dialogVisible = true
// window.open(file.url) // window.open(file.url)
}, },
// 对象转成指定字符串分隔 // 对象转成指定字符串分隔
listToString(list, separator) { listToString(list, separator) {
let strs = ""; let strs = ""
separator = separator || ","; separator = separator || ","
for (let i in list) { for (let i in list) {
strs += list[i].url.replace(this.baseUrl, "") + separator; strs += list[i].url.replace(this.baseUrl, "") + separator
} }
return strs != '' ? strs.substr(0, strs.length - 1) : ''; return strs != "" ? strs.substr(0, strs.length - 1) : ""
} }
} }
}; }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
// .el-upload--picture-card 控制加号部分 // .el-upload--picture-card 控制加号部分
...@@ -240,14 +217,14 @@ export default { ...@@ -240,14 +217,14 @@ export default {
transition: all 0s; transition: all 0s;
} }
::v-deep .el-list-enter, .el-list-leave-active { ::v-deep .el-list-enter,
.el-list-leave-active {
opacity: 0; opacity: 0;
transform: translateY(0); transform: translateY(0);
} }
.component-upload-image{ .component-upload-image {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
</style> </style>
...@@ -424,7 +424,7 @@ export default { ...@@ -424,7 +424,7 @@ export default {
width: 286px; width: 286px;
} }
.el-input { .el-input {
width: 140px; width: 141px;
} }
.el-form-item--small.el-form-item { .el-form-item--small.el-form-item {
margin-bottom: 0; margin-bottom: 0;
......
...@@ -27,16 +27,21 @@ ...@@ -27,16 +27,21 @@
</el-row> </el-row>
<el-row :gutter="10" v-for="(item, index) in queryParams.nodeIds"> <el-row :gutter="10" v-for="(item, index) in queryParams.nodeIds">
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('提货点')" :prop="`nodeIds[${index}].wareHouses`" :rules="rules.nodeIds.wareHouses"> <el-form-item v-if="title == 3" :label="$t('提货点')" :prop="`nodeIds[${index}].wareHouses`" :rules="rules.nodeIds.wareHouses">
<el-select v-model="item.wareHouses" :placeholder="$t('请选择提货点')" :disabled="isDisable" clearable multiple filterable remote reserve-keyword :remote-method="handleWarehouseList" @visible-change="changeWarehouseList" :loading="loading" size="small"> <el-select v-model="item.wareHouses" :placeholder="$t('请选择提货点')" :disabled="isDisable" clearable multiple filterable remote reserve-keyword :remote-method="handleWarehouseList" @visible-change="changeWarehouseList" :loading="loading" size="small">
<el-option v-for="nodeItem in warehouseList" :key="nodeItem.id" :label="isChinese ? nodeItem.titleZh : nodeItem.titleEn" :value="nodeItem.id" /> <el-option v-for="nodeItem in warehouseList" :key="nodeItem.id" :label="isChinese ? nodeItem.titleZh : nodeItem.titleEn" :value="nodeItem.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-else :label="$t('提货点')" :prop="`nodeIds[${index}].wareHouses`" :rules="rules.nodeIds.wareHouses">
<el-select v-model="queryParams.nodeId" :placeholder="$t('请选择提货点')" :disabled="isDisable" clearable filterable remote reserve-keyword :remote-method="handleWarehouseList" @visible-change="changeWarehouseList" :loading="loading" size="small">
<el-option v-for="nodeItem in warehouseList" :key="nodeItem.id" :label="isChinese ? nodeItem.titleZh : nodeItem.titleEn" :value="nodeItem.id" />
</el-select>
</el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('兑换积分')" :prop="`nodeIds[${index}].points`" :rules="rules.nodeIds.points"> <el-input v-model.trim.number="item.points" :placeholder="$t('请输入')" :disabled="isDisable" /> </el-form-item <el-form-item :label="$t('兑换积分')" :prop="`nodeIds[${index}].points`" :rules="rules.nodeIds.points"> <el-input v-model.trim.number="item.points" :placeholder="$t('请输入')" :disabled="isDisable" /> </el-form-item
></el-col> ></el-col>
<el-col :span="6"> <el-col :span="6" class="giftNum">
<el-form-item :label="$t('剩余数量')" :prop="`nodeIds[${index}].quantityRemain`" :rules="rules.nodeIds.quantityRemain"> <el-form-item :label="$t('剩余数量')" :prop="`nodeIds[${index}].quantityRemain`" :rules="rules.nodeIds.quantityRemain">
<el-input class="input-item-width" :disabled="isDisable && disabelEnableStatus" v-model.trim="item.quantityRemain" :placeholder="$t('请输入')" type="number" /> <el-input class="input-item-width" :disabled="isDisable && disabelEnableStatus" v-model.trim="item.quantityRemain" :placeholder="$t('请输入')" type="number" />
</el-form-item> </el-form-item>
...@@ -92,7 +97,7 @@ import { editRewards, addRewards, getWarehouseList } from "@/api/ecw/giftManagem ...@@ -92,7 +97,7 @@ import { editRewards, addRewards, getWarehouseList } from "@/api/ecw/giftManagem
import { getDictDatas, DICT_TYPE } from "@/utils/dict" import { getDictDatas, DICT_TYPE } from "@/utils/dict"
import imageUpload from "@/components/ImageUpload" import imageUpload from "@/components/ImageUpload"
import { parseTime, resetForm } from "../../../../utils/ruoyi" import { parseTime, resetForm } from "../../../../utils/ruoyi"
import { deepClone } from "@/utils" import { deepClone, titleCase } from "@/utils"
export default { export default {
name: "operatingGift", name: "operatingGift",
props: { props: {
...@@ -324,6 +329,7 @@ export default { ...@@ -324,6 +329,7 @@ export default {
params.startTime = this.queryParams?.dateRangeCreateTime?.[0] params.startTime = this.queryParams?.dateRangeCreateTime?.[0]
params.endTime = this.queryParams?.dateRangeCreateTime?.[1] params.endTime = this.queryParams?.dateRangeCreateTime?.[1]
params.pickMethod = this.queryParams.pickMethod.toString() params.pickMethod = this.queryParams.pickMethod.toString()
params.nodeIds[0].wareHouses[0] = params.nodeId
this.$refs["queryForm"].validate((valid) => { this.$refs["queryForm"].validate((valid) => {
if (valid) { if (valid) {
if (this.title == "2") { if (this.title == "2") {
...@@ -377,4 +383,7 @@ export default { ...@@ -377,4 +383,7 @@ export default {
.input-item-width { .input-item-width {
width: 194px; width: 194px;
} }
.giftNum .input-item-width {
width: auto;
}
</style> </style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-row class="mb8"> <el-row class="mb8">
<el-button <el-button type="success" size="mini" icon="el-icon-plus" @click="handleNewScoreRule">{{ $t("添加规则") }}</el-button>
type="success" <el-button type="success" size="mini" icon="el-icon-delete" @click="handleDelScoreRule">{{ $t("删除规则") }}</el-button>
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-row>
<el-table <el-table ref="multipleTable" v-loading="loading" @selection-change="handleSelectionChange" :data="memberLevelList">
ref="multipleTable"
v-loading="loading"
@selection-change="handleSelectionChange"
:data="memberLevelList"
>
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column <el-table-column width="140" :label="$t('序号')" align="center" prop="id"></el-table-column>
width="140" <el-table-column :label="$t('等级名称')" align="center" prop="name"></el-table-column>
:label="$t('序号')"
align="center"
prop="id"
></el-table-column>
<el-table-column
:label="$t('等级名称')"
align="center"
prop="name"
></el-table-column>
<el-table-column <el-table-column width="140" :label="$t('图标')" align="center" prop="mobile">
width="140"
:label="$t('图标')"
align="center"
prop="mobile"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-image :src="scope.row.icon" style="width: 50px; height: 50px">{{ <el-image :src="scope.row.icon" style="width: 50px; height: 50px">{{ $t("") }}</el-image>
$t("")
}}</el-image>
</template> </template>
</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"> {{ scope.row.lowerCount }}-{{ scope.row.upperCount }} </template>
{{ scope.row.lowerCount }}-{{ scope.row.upperCount }}
</template>
</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 <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">{{ $t("修改") }}</el-button>
size="mini" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">{{ $t("删除") }}</el-button>
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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- //分页列表 --> <!-- //分页列表 -->
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="handleQueryPagination" />
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="handleQueryPagination"
/>
<el-dialog <el-dialog :title="$t('添加规则')" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
:title="$t('添加规则')" <el-form :model="ruleForm" ref="ruleForm" label-width="100px" class="demo-ruleForm">
: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-form-item :label="$t('等级名称')">
<el-input v-model="ruleForm.name"></el-input> <el-input v-model="ruleForm.name"></el-input>
</el-form-item> </el-form-item>
...@@ -110,31 +47,24 @@ ...@@ -110,31 +47,24 @@
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item :label="$t('上传图标')"> <el-form-item :label="$t('上传图标')">
<image-upload v-model="ruleForm.icon" /> <image-upload v-model="ruleForm.icon" :fileType="['png', 'jpg', 'jpeg']" :limit="1" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">{{ $t("取 消") }}</el-button> <el-button @click="dialogVisible = false">{{ $t("取 消") }}</el-button>
<el-button type="primary" @click="handelAddNewMemberLevel">{{ <el-button type="primary" @click="handelAddNewMemberLevel">{{ $t("确定") }}</el-button>
$t("确定")
}}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getDictDatas, DICT_TYPE } from "@/utils/dict"; import { getDictDatas, DICT_TYPE } from "@/utils/dict"
import { import { getMemberLevelList, addNewMemberLevel, delMemberLevel, editMemberLevel } from "@/api/ecw/memberManagement"
getMemberLevelList, import ImageUpload from "@/components/ImageUpload"
addNewMemberLevel,
delMemberLevel,
editMemberLevel,
} from "@/api/ecw/memberManagement";
import ImageUpload from "@/components/ImageUpload";
export default { export default {
name: "integralRecord", name: "integralRecord",
components: { components: {
ImageUpload, ImageUpload
}, },
data() { data() {
return { return {
...@@ -144,104 +74,104 @@ export default { ...@@ -144,104 +74,104 @@ export default {
icon: "", icon: "",
lowerCount: "", lowerCount: "",
name: "", name: "",
upperCount: "", upperCount: ""
}, },
total: 0, total: 0,
loading: true, loading: true,
memberLevelList: [], memberLevelList: [],
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10
}, }
}; }
}, },
computed: { computed: {
isChinese() { isChinese() {
return this.$i18n.locale === "zh_CN"; return this.$i18n.locale === "zh_CN"
}, }
}, },
created() { created() {
this.handleQuery(); this.handleQuery()
}, },
activated() { activated() {
this.handleQuery(); this.handleQuery()
}, },
methods: { methods: {
handleUpdate(row) { handleUpdate(row) {
this.ruleForm = { ...row }; this.ruleForm = { ...row }
this.dialogVisible = true; this.dialogVisible = true
}, },
handleDelete(row) { handleDelete(row) {
let ids = [row.id]; let ids = [row.id]
delMemberLevel(ids).then((res) => { delMemberLevel(ids).then((res) => {
this.$message.success(this.$t("删除成功")); this.$message.success(this.$t("删除成功"))
this.handleClose(); this.handleClose()
this.handleQuery(); this.handleQuery()
}); })
}, },
handelAddNewMemberLevel() { handelAddNewMemberLevel() {
if (this.ruleForm.id) { if (this.ruleForm.id) {
editMemberLevel(this.ruleForm).then((res) => { editMemberLevel(this.ruleForm).then((res) => {
this.$message.success(this.$t("更新成功")); this.$message.success(this.$t("更新成功"))
this.handleClose(); this.handleClose()
this.handleQuery(); this.handleQuery()
}); })
} else { } else {
let params = { ...this.ruleForm }; let params = { ...this.ruleForm }
addNewMemberLevel(params).then((res) => { addNewMemberLevel(params).then((res) => {
this.$message.success(this.$t("保存成功")); this.$message.success(this.$t("保存成功"))
this.handleClose(); this.handleClose()
this.handleQuery(); this.handleQuery()
}); })
} }
}, },
handleSelectionChange(ids) { handleSelectionChange(ids) {
this.selectList = ids; this.selectList = ids
}, },
handleClose() { handleClose() {
this.dialogVisible = false; this.dialogVisible = false
this.selectList = []; this.selectList = []
this.ruleForm = { this.ruleForm = {
icon: "", icon: "",
lowerCount: "", lowerCount: "",
name: "", name: "",
upperCount: "", upperCount: ""
}; }
}, },
handleDelScoreRule() { handleDelScoreRule() {
if (this.selectList.length > 0) { if (this.selectList.length > 0) {
let ids = this.selectList.map((item) => { let ids = this.selectList.map((item) => {
return item.id; return item.id
}); })
delMemberLevel(ids).then((res) => { delMemberLevel(ids).then((res) => {
this.$message.success(this.$t("删除成功")); this.$message.success(this.$t("删除成功"))
this.handleClose(); this.handleClose()
this.handleQuery(); this.handleQuery()
}); })
} else { } else {
this.$message.warning(this.$t("请先选择要删除的会员等级")); this.$message.warning(this.$t("请先选择要删除的会员等级"))
} }
}, },
handleNewScoreRule() { handleNewScoreRule() {
this.dialogVisible = true; this.dialogVisible = true
}, },
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1
let params = { ...this.queryParams }; let params = { ...this.queryParams }
getMemberLevelList(params).then((res) => { getMemberLevelList(params).then((res) => {
this.loading = false; this.loading = false
this.memberLevelList = res.data.list; this.memberLevelList = res.data.list
this.total = res.data.total; this.total = res.data.total
}); })
}, },
handleQueryPagination() { handleQueryPagination() {
let params = { ...this.queryParams }; let params = { ...this.queryParams }
getMemberLevelList(params).then((res) => { getMemberLevelList(params).then((res) => {
this.loading = false; this.loading = false
this.memberLevelList = res.data.list; this.memberLevelList = res.data.list
this.total = res.data.total; this.total = res.data.total
}); })
}, }
}, }
}; }
</script> </script>
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