This commit is contained in:
Vinjor 2025-03-18 14:31:18 +08:00
parent 44c68750fd
commit 03b6ec660e
5 changed files with 406 additions and 284 deletions

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="85px">
<el-form-item label="会员卡名称" prop="cardName">
<el-input
v-model="queryParams.cardName"
@ -9,7 +9,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="会员卡所属用户类型" prop="userType">
<el-form-item label="用户类型" prop="userType">
<el-select v-model="queryParams.userType" placeholder="请选择会员卡所属用户类型" clearable>
<el-option
v-for="dict in dict.type.dl_user_type"
@ -19,16 +19,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否系统内置" prop="isSystem">
<el-select v-model="queryParams.isSystem" placeholder="请选择是否系统内置" clearable>
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="是否系统内置" prop="isSystem">-->
<!-- <el-select v-model="queryParams.isSystem" placeholder="请选择是否系统内置" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.true_or_false"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -68,43 +68,42 @@
v-hasPermi="['base:card:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:card:export']"
>导出</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['base:card:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="cardList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一主键" align="center" prop="id" />
<el-table-column label="会员卡名称" align="center" prop="cardName" />
<el-table-column label="会员卡所属用户类型" align="center" prop="userType">
<el-table-column label="用户类型" align="center" prop="userType">
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_user_type" :value="scope.row.userType"/>
</template>
</el-table-column>
<el-table-column label="会员卡描述" align="center" prop="content" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="是否系统内置" align="center" prop="isSystem">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isSystem"/>
</template>
</el-table-column>
<el-table-column label="图片logo" align="center" prop="image" width="100">
<el-table-column label="会员卡描述" align="center" prop="content" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="logo" align="center" prop="image" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.image" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="月付金额" align="center" prop="monthPrice" />
<el-table-column label="季付金额" align="center" prop="quarterPrice" />
<el-table-column label="年付金额" align="center" prop="yearPrice" />
<el-table-column label="月付金额(元)" align="center" prop="monthPrice" />
<el-table-column label="季付金额(元)" align="center" prop="quarterPrice" />
<el-table-column label="年付金额(元)" align="center" prop="yearPrice" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="是否显示" align="center" prop="isShow">
<template slot-scope="scope">
@ -130,7 +129,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -140,62 +139,96 @@
/>
<!-- 添加或修改会员卡对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="会员卡名称" prop="cardName">
<el-input v-model="form.cardName" placeholder="请输入会员卡名称" />
</el-form-item>
<el-form-item label="会员卡所属用户类型" prop="userType">
<el-select v-model="form.userType" placeholder="请选择会员卡所属用户类型">
<el-option
v-for="dict in dict.type.dl_user_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员卡描述">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="是否系统内置" prop="isSystem">
<el-select v-model="form.isSystem" placeholder="请选择是否系统内置">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="图片logo" prop="image">
<image-upload v-model="form.image"/>
</el-form-item>
<el-form-item label="月付金额" prop="monthPrice">
<el-input v-model="form.monthPrice" placeholder="请输入月付金额" />
</el-form-item>
<el-form-item label="季付金额" prop="quarterPrice">
<el-input v-model="form.quarterPrice" placeholder="请输入季付金额" />
</el-form-item>
<el-form-item label="年付金额" prop="yearPrice">
<el-input v-model="form.yearPrice" placeholder="请输入年付金额" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="是否显示" prop="isShow">
<el-select v-model="form.isShow" placeholder="请选择是否显示">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="会员卡名称" prop="cardName">
<el-input v-model="form.cardName" placeholder="请输入会员卡名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户类型" prop="userType">
<el-select v-model="form.userType" placeholder="请选择会员卡所属用户类型">
<el-option
v-for="dict in dict.type.dl_user_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="系统内置" prop="isSystem">
<el-select v-model="form.isSystem" placeholder="请选择是否系统内置">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否显示" prop="isShow">
<el-select v-model="form.isShow" placeholder="请选择是否显示">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" type="number" placeholder="请输入排序" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="月付金额(元)" prop="monthPrice">
<el-input v-model="form.monthPrice" type="number" placeholder="请输入月付金额" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="季付金额(元)" prop="quarterPrice">
<el-input v-model="form.quarterPrice" type="number" placeholder="请输入季付金额" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年付金额(元)" prop="yearPrice">
<el-input v-model="form.yearPrice" type="number" placeholder="请输入年付金额" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="描述">
<el-input v-model="form.content" type="textarea" placeholder="请输入会员卡描述" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="logo" prop="image">
<image-upload v-model="form.image"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -243,6 +276,21 @@ export default {
form: {},
//
rules: {
cardName: [
{ required: true, trigger: "blur", message: "请输入会员卡名称" }
],
userType: [
{ required: true, trigger: "blur", message: "请选择权益所属用户类型" }
],
isSystem: [
{ required: true, trigger: "blur", message: "请选择是否系统内置" }
],
isShow: [
{ required: true, trigger: "blur", message: "请选择是否显示" }
],
sort: [
{ required: true, trigger: "blur", message: "请输入排序" }
],
}
};
},

View File

@ -9,22 +9,22 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="父级" prop="pid">
<el-input
v-model="queryParams.pid"
placeholder="请输入父级"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input
v-model="queryParams.sort"
placeholder="请输入排序"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="父级" prop="pid">-->
<!-- <el-input-->
<!-- v-model="queryParams.pid"-->
<!-- placeholder="请输入父级"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="排序" prop="sort">-->
<!-- <el-input-->
<!-- v-model="queryParams.sort"-->
<!-- placeholder="请输入排序"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="标题" prop="title">
<el-input
v-model="queryParams.title"
@ -33,18 +33,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否平台级数据" prop="isSystem">
<el-select v-model="queryParams.isSystem" placeholder="请选择是否平台级数据" clearable>
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="是否平台级数据" prop="isSystem">-->
<!-- <el-select v-model="queryParams.isSystem" placeholder="请选择是否平台级数据" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.true_or_false"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
@ -62,53 +62,34 @@
</el-col>
<el-col :span="1.5">
<el-button
type="success"
type="info"
plain
icon="el-icon-edit"
icon="el-icon-sort"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:category:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['base:category:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:category:export']"
>导出</el-button>
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="categoryList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一主键" align="center" prop="id" />
<el-table-column label="唯一编码" align="center" prop="code" />
<el-table-column label="父级" align="center" prop="pid" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table
v-if="refreshTable"
v-loading="loading"
:data="categoryList"
row-key="id"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="唯一编码" prop="code" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="描述" align="center" prop="content" />
<el-table-column label="是否平台级数据" align="center" prop="isSystem">
<el-table-column label="系统内置" align="center" prop="isSystem">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isSystem"/>
</template>
</el-table-column>
<el-table-column label="备注-扩展字段" align="center" prop="remark" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -118,6 +99,13 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['base:category:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['base:category:add']"
>新增</el-button>
<el-button
size="mini"
type="text"
@ -128,35 +116,27 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改分类树-各种分类属性结构对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="唯一编码" prop="code">
<el-input v-model="form.code" placeholder="请输入唯一编码" />
</el-form-item>
<el-form-item label="父级" prop="pid">
<el-input v-model="form.pid" placeholder="请输入父级" />
<treeselect v-model="form.pid" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择父级" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序" />
<el-input v-model="form.sort" type="number" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="描述">
<editor v-model="form.content" :min-height="192"/>
<el-input v-model="form.content" type="textarea" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="是否平台级数据" prop="isSystem">
<el-select v-model="form.isSystem" placeholder="请选择是否平台级数据">
<el-form-item label="系统内置" prop="isSystem">
<el-select v-model="form.isSystem" placeholder="请选择是否系统内置">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
@ -165,7 +145,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注-扩展字段" prop="remark">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
@ -179,34 +159,35 @@
<script>
import { listCategory, getCategory, delCategory, addCategory, updateCategory } from "@/api/base/category";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Category",
dicts: ['true_or_false'],
components: {
Treeselect
},
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
// -
categoryList: [],
// -
categoryOptions: [],
//
title: "",
//
open: false,
//
isExpandAll: true,
//
refreshTable: true,
//
queryParams: {
pageNum: 1,
pageSize: 10,
code: null,
pid: null,
sort: null,
@ -219,6 +200,18 @@ export default {
form: {},
//
rules: {
code: [
{ required: true, trigger: "blur", message: "请输入唯一编码" }
],
pid: [
{ required: true, trigger: "blur", message: "请选择父级节点" }
],
sort: [
{ required: true, trigger: "blur", message: "请输入排序" }
],
title: [
{ required: true, trigger: "blur", message: "请输入标题" }
],
}
};
},
@ -230,11 +223,30 @@ export default {
getList() {
this.loading = true;
listCategory(this.queryParams).then(response => {
this.categoryList = response.data.records;
this.total = response.data.total;
this.categoryList = this.handleTree(response.data, "id", "pid");
this.loading = false;
});
},
/** 转换分类树-各种分类属性结构数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.id,
label: node.title,
children: node.children
};
},
/** 查询分类树-各种分类属性结构下拉树结构 */
getTreeselect() {
listCategory().then(response => {
this.categoryOptions = [];
const data = { id: 0, title: '顶级节点', children: [] };
data.children = this.handleTree(response.data, "id", "pid");
this.categoryOptions.push(data);
});
},
//
cancel() {
this.open = false;
@ -249,7 +261,7 @@ export default {
sort: null,
title: null,
content: null,
isSystem: null,
isSystem: 1,
userId: null,
remark: null,
creator: null,
@ -262,7 +274,6 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
@ -270,23 +281,34 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
handleAdd(row) {
this.reset();
this.getTreeselect();
if (row != null && row.id) {
this.form.pid = row.id;
} else {
this.form.pid = 0;
}
this.open = true;
this.title = "添加分类树-各种分类属性结构";
},
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCategory(id).then(response => {
this.getTreeselect();
if (row != null) {
this.form.pid = row.pid;
}
getCategory(row.id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改分类树-各种分类属性结构";
@ -314,19 +336,12 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除分类树-各种分类属性结构编号为"' + ids + '"的数据项?').then(function() {
return delCategory(ids);
this.$modal.confirm('是否确认删除分类树-各种分类属性结构编号为"' + row.id + '"的数据项?').then(function() {
return delCategory(row.id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/category/export', {
...this.queryParams
}, `category_${new Date().getTime()}.xlsx`)
}
}
};

View File

@ -1,11 +1,11 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">-->
<!-- <el-form-item>-->
<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -40,24 +40,23 @@
v-hasPermi="['base:config:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:config:export']"
>导出</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['base:config:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一主键" align="center" prop="id" />
<el-table-column label="唯一编码" align="center" prop="code" />
<el-table-column label="json字符串" align="center" prop="jsonStr" />
<el-table-column label="编码" align="center" prop="code" />
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -67,17 +66,17 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['base:config:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:config:remove']"
>删除</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['base:config:remove']"-->
<!-- >删除</el-button>-->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -92,9 +91,21 @@
<el-form-item label="唯一编码" prop="code">
<el-input v-model="form.code" placeholder="请输入唯一编码" />
</el-form-item>
<el-form-item label="json字符串" prop="jsonStr">
<el-input v-model="form.jsonStr" type="textarea" placeholder="请输入内容" />
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<template v-for="(item, index) in jsonArray">
<el-form-item v-if="item.type=='input'" :label="item.title" :prop="item.name">
<el-input v-model="item.value" :placeholder="'请输入内容'+item.name" />
</el-form-item>
<el-form-item v-else-if="item.type=='text'" :label="item.title" :prop="item.name">
<el-input v-model="item.value" type="textarea" :placeholder="'请输入内容'+item.name" />
</el-form-item>
<el-form-item v-else-if="item.type=='images'" :label="item.title" :prop="item.name">
<image-upload v-model="item.value"></image-upload>
</el-form-item>
</template>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -138,7 +149,14 @@ export default {
form: {},
//
rules: {
}
code: [
{ required: true, trigger: "blur", message: "请输入唯一编码" }
],
title: [
{ required: true, trigger: "blur", message: "请输入标题" }
],
},
jsonArray:[]
};
},
created() {
@ -193,7 +211,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加基础配置-账户配置、小程序配置的内容";
this.title = "添加基础配置";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -201,14 +219,18 @@ export default {
const id = row.id || this.ids
getConfig(id).then(response => {
this.form = response.data;
this.jsonArray = JSON.parse(this.form.jsonStr)
this.open = true;
this.title = "修改基础配置-账户配置、小程序配置的内容";
this.title = "修改基础配置";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
let jsonStr = JSON.stringify(this.jsonArray)
console.log(jsonStr,"jsonStr")
this.form.jsonStr=jsonStr
if (this.form.id != null) {
updateConfig(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
@ -228,7 +250,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除基础配置-账户配置、小程序配置的内容编号为"' + ids + '"的数据项?').then(function() {
this.$modal.confirm('是否确认删除基础配置编号为"' + ids + '"的数据项?').then(function() {
return delConfig(ids);
}).then(() => {
this.getList();

View File

@ -1,19 +1,19 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="是否显示" prop="isShow">
<el-input
v-model="queryParams.isShow"
placeholder="请输入是否显示"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">-->
<!-- <el-form-item label="是否显示" prop="isShow">-->
<!-- <el-input-->
<!-- v-model="queryParams.isShow"-->
<!-- placeholder="请输入是否显示"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -48,24 +48,23 @@
v-hasPermi="['base:coupon:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:coupon:export']"
>导出</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['base:coupon:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="couponList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一主键" align="center" prop="id" />
<el-table-column label="数量" align="center" prop="couponNum" />
<el-table-column label="价格" align="center" prop="price" />
<el-table-column label="价格(元)" align="center" prop="price" />
<el-table-column label="是否显示" align="center" prop="isShow">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isShow"/>
@ -90,7 +89,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -103,13 +102,20 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="数量" prop="couponNum">
<el-input v-model="form.couponNum" placeholder="请输入数量" />
<el-input v-model="form.couponNum" type="number" placeholder="请输入数量" />
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="form.price" placeholder="请输入价格" />
<el-form-item label="价格(元)" prop="price">
<el-input v-model="form.price" type="number" placeholder="请输入价格" />
</el-form-item>
<el-form-item label="是否显示" prop="isShow">
<el-input v-model="form.isShow" placeholder="请输入是否显示" />
<el-select v-model="form.isShow" placeholder="请选择是否显示">
<el-option
v-for="dict in dict.type.true_or_false"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -124,6 +130,7 @@
import { listCoupon, getCoupon, delCoupon, addCoupon, updateCoupon } from "@/api/base/coupon";
export default {
dicts: ['true_or_false'],
name: "Coupon",
data() {
return {

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="权益所属用户类型" prop="userType">
<el-form-item label="用户类型" prop="userType">
<el-select v-model="queryParams.userType" placeholder="请选择权益所属用户类型" clearable>
<el-option
v-for="dict in dict.type.dl_user_type"
@ -30,20 +30,22 @@
<el-form-item label="权益类型" prop="rightsType">
<el-select v-model="queryParams.rightsType" placeholder="请选择权益类型" clearable>
<el-option
v-for="dict in dict.type.dl_order_type"
v-for="dict in dict.type.dl_rights_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="权益限制周期(数据字典dl_rights_cycle)" prop="rightsCycle">
<el-input
v-model="queryParams.rightsCycle"
placeholder="请输入权益限制周期(数据字典dl_rights_cycle)"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form-item label="权益周期" prop="rightsCycle">
<el-select v-model="queryParams.rightsCycle" placeholder="请选择权益周期" clearable>
<el-option
v-for="dict in dict.type.dl_rights_cycle"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -99,8 +101,7 @@
<el-table v-loading="loading" :data="rightsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一主键" align="center" prop="id" />
<el-table-column label="权益所属用户类型" align="center" prop="userType">
<el-table-column label="用户类型" align="center" prop="userType">
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_user_type" :value="scope.row.userType"/>
</template>
@ -115,10 +116,14 @@
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="权益类型" align="center" prop="rightsType">
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_order_type" :value="scope.row.rightsType"/>
<dict-tag :options="dict.type.dl_rights_type" :value="scope.row.rightsType"/>
</template>
</el-table-column>
<el-table-column label="权益限制周期" align="center" prop="rightsCycle" >
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_rights_cycle" :value="scope.row.rightsCycle"/>
</template>
</el-table-column>
<el-table-column label="权益限制周期(数据字典dl_rights_cycle)" align="center" prop="rightsCycle" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -138,7 +143,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -149,8 +154,8 @@
<!-- 添加或修改会员权益对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="权益所属用户类型" prop="userType">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="用户类型" prop="userType">
<el-select v-model="form.userType" placeholder="请选择权益所属用户类型">
<el-option
v-for="dict in dict.type.dl_user_type"
@ -166,24 +171,31 @@
<el-form-item label="权益名称" prop="name">
<el-input v-model="form.name" placeholder="请输入权益名称" />
</el-form-item>
<el-form-item label="权益logo" prop="image">
<image-upload v-model="form.image"/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序" />
<el-input v-model="form.sort" type="number" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="权益类型" prop="rightsType">
<el-select v-model="form.rightsType" placeholder="请选择权益类型">
<el-option
v-for="dict in dict.type.dl_order_type"
v-for="dict in dict.type.dl_rights_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="权益限制周期(数据字典dl_rights_cycle)" prop="rightsCycle">
<el-input v-model="form.rightsCycle" placeholder="请输入权益限制周期(数据字典dl_rights_cycle)" />
<el-form-item label="权益周期" prop="rightsCycle" v-if="form.rightsType=='02'">
<el-select v-model="form.rightsCycle" placeholder="请选择权益限制周期">
<el-option
v-for="dict in dict.type.dl_rights_cycle"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="权益logo" prop="image">
<image-upload v-model="form.image"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -199,7 +211,7 @@ import { listRights, getRights, delRights, addRights, updateRights } from "@/api
export default {
name: "Rights",
dicts: ['dl_user_type', 'dl_order_type'],
dicts: ['dl_user_type', 'dl_rights_type','dl_rights_cycle'],
data() {
return {
//
@ -234,6 +246,24 @@ export default {
form: {},
//
rules: {
userType: [
{ required: true, trigger: "blur", message: "请选择用户类型" }
],
code: [
{ required: true, trigger: "blur", message: "请输入权益编码" }
],
name: [
{ required: true, trigger: "blur", message: "请输入权益名称" }
],
sort: [
{ required: true, trigger: "blur", message: "请输入排序" }
],
rightsType: [
{ required: true, trigger: "blur", message: "请选择权益类型" }
],
rightsCycle: [
{ required: true, trigger: "blur", message: "请选择权益限制周期" }
],
}
};
},