基础模块,业务模块代码生成

This commit is contained in:
13405411873 2025-03-17 17:23:27 +08:00
parent a4a4434d2f
commit 44c68750fd
31 changed files with 5522 additions and 10 deletions

44
src/api/base/card.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询会员卡列表
export function listCard(query) {
return request({
url: '/base/card/list',
method: 'get',
params: query
})
}
// 查询会员卡详细
export function getCard(id) {
return request({
url: '/base/card/' + id,
method: 'get'
})
}
// 新增会员卡
export function addCard(data) {
return request({
url: '/base/card',
method: 'post',
data: data
})
}
// 修改会员卡
export function updateCard(data) {
return request({
url: '/base/card',
method: 'put',
data: data
})
}
// 删除会员卡
export function delCard(id) {
return request({
url: '/base/card/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询会员卡权益列表
export function listCardRights(query) {
return request({
url: '/base/cardRights/list',
method: 'get',
params: query
})
}
// 查询会员卡权益详细
export function getCardRights(id) {
return request({
url: '/base/cardRights/' + id,
method: 'get'
})
}
// 新增会员卡权益
export function addCardRights(data) {
return request({
url: '/base/cardRights',
method: 'post',
data: data
})
}
// 修改会员卡权益
export function updateCardRights(data) {
return request({
url: '/base/cardRights',
method: 'put',
data: data
})
}
// 删除会员卡权益
export function delCardRights(id) {
return request({
url: '/base/cardRights/' + id,
method: 'delete'
})
}

44
src/api/base/category.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询分类树-各种分类属性结构列表
export function listCategory(query) {
return request({
url: '/base/category/list',
method: 'get',
params: query
})
}
// 查询分类树-各种分类属性结构详细
export function getCategory(id) {
return request({
url: '/base/category/' + id,
method: 'get'
})
}
// 新增分类树-各种分类属性结构
export function addCategory(data) {
return request({
url: '/base/category',
method: 'post',
data: data
})
}
// 修改分类树-各种分类属性结构
export function updateCategory(data) {
return request({
url: '/base/category',
method: 'put',
data: data
})
}
// 删除分类树-各种分类属性结构
export function delCategory(id) {
return request({
url: '/base/category/' + id,
method: 'delete'
})
}

44
src/api/base/coupon.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告券列表
export function listCoupon(query) {
return request({
url: '/base/coupon/list',
method: 'get',
params: query
})
}
// 查询通告券详细
export function getCoupon(id) {
return request({
url: '/base/coupon/' + id,
method: 'get'
})
}
// 新增通告券
export function addCoupon(data) {
return request({
url: '/base/coupon',
method: 'post',
data: data
})
}
// 修改通告券
export function updateCoupon(data) {
return request({
url: '/base/coupon',
method: 'put',
data: data
})
}
// 删除通告券
export function delCoupon(id) {
return request({
url: '/base/coupon/' + id,
method: 'delete'
})
}

44
src/api/base/rights.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询会员权益列表
export function listRights(query) {
return request({
url: '/base/rights/list',
method: 'get',
params: query
})
}
// 查询会员权益详细
export function getRights(id) {
return request({
url: '/base/rights/' + id,
method: 'get'
})
}
// 新增会员权益
export function addRights(data) {
return request({
url: '/base/rights',
method: 'post',
data: data
})
}
// 修改会员权益
export function updateRights(data) {
return request({
url: '/base/rights',
method: 'put',
data: data
})
}
// 删除会员权益
export function delRights(id) {
return request({
url: '/base/rights/' + id,
method: 'delete'
})
}

44
src/api/busi/card.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告报名名片列表
export function listCard(query) {
return request({
url: '/busi/card/list',
method: 'get',
params: query
})
}
// 查询通告报名名片详细
export function getCard(id) {
return request({
url: '/busi/card/' + id,
method: 'get'
})
}
// 新增通告报名名片
export function addCard(data) {
return request({
url: '/busi/card',
method: 'post',
data: data
})
}
// 修改通告报名名片
export function updateCard(data) {
return request({
url: '/busi/card',
method: 'put',
data: data
})
}
// 删除通告报名名片
export function delCard(id) {
return request({
url: '/busi/card/' + id,
method: 'delete'
})
}

44
src/api/busi/evaluate.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询评价列表
export function listEvaluate(query) {
return request({
url: '/busi/evaluate/list',
method: 'get',
params: query
})
}
// 查询评价详细
export function getEvaluate(id) {
return request({
url: '/busi/evaluate/' + id,
method: 'get'
})
}
// 新增评价
export function addEvaluate(data) {
return request({
url: '/busi/evaluate',
method: 'post',
data: data
})
}
// 修改评价
export function updateEvaluate(data) {
return request({
url: '/busi/evaluate',
method: 'put',
data: data
})
}
// 删除评价
export function delEvaluate(id) {
return request({
url: '/busi/evaluate/' + id,
method: 'delete'
})
}

44
src/api/busi/feedback.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询意见反馈列表
export function listFeedback(query) {
return request({
url: '/busi/feedback/list',
method: 'get',
params: query
})
}
// 查询意见反馈详细
export function getFeedback(id) {
return request({
url: '/busi/feedback/' + id,
method: 'get'
})
}
// 新增意见反馈
export function addFeedback(data) {
return request({
url: '/busi/feedback',
method: 'post',
data: data
})
}
// 修改意见反馈
export function updateFeedback(data) {
return request({
url: '/busi/feedback',
method: 'put',
data: data
})
}
// 删除意见反馈
export function delFeedback(id) {
return request({
url: '/busi/feedback/' + id,
method: 'delete'
})
}

44
src/api/busi/form.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告自定义报名单列表
export function listForm(query) {
return request({
url: '/busi/form/list',
method: 'get',
params: query
})
}
// 查询通告自定义报名单详细
export function getForm(id) {
return request({
url: '/busi/form/' + id,
method: 'get'
})
}
// 新增通告自定义报名单
export function addForm(data) {
return request({
url: '/busi/form',
method: 'post',
data: data
})
}
// 修改通告自定义报名单
export function updateForm(data) {
return request({
url: '/busi/form',
method: 'put',
data: data
})
}
// 删除通告自定义报名单
export function delForm(id) {
return request({
url: '/busi/form/' + id,
method: 'delete'
})
}

44
src/api/busi/msg.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告留言列表
export function listMsg(query) {
return request({
url: '/busi/msg/list',
method: 'get',
params: query
})
}
// 查询通告留言详细
export function getMsg(id) {
return request({
url: '/busi/msg/' + id,
method: 'get'
})
}
// 新增通告留言
export function addMsg(data) {
return request({
url: '/busi/msg',
method: 'post',
data: data
})
}
// 修改通告留言
export function updateMsg(data) {
return request({
url: '/busi/msg',
method: 'put',
data: data
})
}
// 删除通告留言
export function delMsg(id) {
return request({
url: '/busi/msg/' + id,
method: 'delete'
})
}

44
src/api/busi/notice.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告列表
export function listNotice(query) {
return request({
url: '/busi/notice/list',
method: 'get',
params: query
})
}
// 查询通告详细
export function getNotice(id) {
return request({
url: '/busi/notice/' + id,
method: 'get'
})
}
// 新增通告
export function addNotice(data) {
return request({
url: '/busi/notice',
method: 'post',
data: data
})
}
// 修改通告
export function updateNotice(data) {
return request({
url: '/busi/notice',
method: 'put',
data: data
})
}
// 删除通告
export function delNotice(id) {
return request({
url: '/busi/notice/' + id,
method: 'delete'
})
}

44
src/api/busi/price.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告报名名片价格列表
export function listPrice(query) {
return request({
url: '/busi/price/list',
method: 'get',
params: query
})
}
// 查询通告报名名片价格详细
export function getPrice(id) {
return request({
url: '/busi/price/' + id,
method: 'get'
})
}
// 新增通告报名名片价格
export function addPrice(data) {
return request({
url: '/busi/price',
method: 'post',
data: data
})
}
// 修改通告报名名片价格
export function updatePrice(data) {
return request({
url: '/busi/price',
method: 'put',
data: data
})
}
// 删除通告报名名片价格
export function delPrice(id) {
return request({
url: '/busi/price/' + id,
method: 'delete'
})
}

44
src/api/busi/report.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询举报记录列表
export function listReport(query) {
return request({
url: '/busi/report/list',
method: 'get',
params: query
})
}
// 查询举报记录详细
export function getReport(id) {
return request({
url: '/busi/report/' + id,
method: 'get'
})
}
// 新增举报记录
export function addReport(data) {
return request({
url: '/busi/report',
method: 'post',
data: data
})
}
// 修改举报记录
export function updateReport(data) {
return request({
url: '/busi/report',
method: 'put',
data: data
})
}
// 删除举报记录
export function delReport(id) {
return request({
url: '/busi/report/' + id,
method: 'delete'
})
}

44
src/api/busi/sign.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告报名列表
export function listSign(query) {
return request({
url: '/busi/sign/list',
method: 'get',
params: query
})
}
// 查询通告报名详细
export function getSign(id) {
return request({
url: '/busi/sign/' + id,
method: 'get'
})
}
// 新增通告报名
export function addSign(data) {
return request({
url: '/busi/sign',
method: 'post',
data: data
})
}
// 修改通告报名
export function updateSign(data) {
return request({
url: '/busi/sign',
method: 'put',
data: data
})
}
// 删除通告报名
export function delSign(id) {
return request({
url: '/busi/sign/' + id,
method: 'delete'
})
}

44
src/api/busi/view.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询通告浏览量列表
export function listView(query) {
return request({
url: '/busi/view/list',
method: 'get',
params: query
})
}
// 查询通告浏览量详细
export function getView(id) {
return request({
url: '/busi/view/' + id,
method: 'get'
})
}
// 新增通告浏览量
export function addView(data) {
return request({
url: '/busi/view',
method: 'post',
data: data
})
}
// 修改通告浏览量
export function updateView(data) {
return request({
url: '/busi/view',
method: 'put',
data: data
})
}
// 删除通告浏览量
export function delView(id) {
return request({
url: '/busi/view/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,360 @@
<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="cardName">
<el-input
v-model="queryParams.cardName"
placeholder="请输入会员卡名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<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"
: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>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:card:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:card: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: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>
<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">
<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">
<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="remark" />
<el-table-column label="是否显示" align="center" prop="isShow">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isShow"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:card:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:card:remove']"
>删除</el-button>
</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-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-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCard, getCard, delCard, addCard, updateCard } from "@/api/base/card";
export default {
name: "Card",
dicts: ['dl_user_type', 'true_or_false'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
cardList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
cardName: null,
userType: null,
isSystem: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会员卡列表 */
getList() {
this.loading = true;
listCard(this.queryParams).then(response => {
this.cardList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
cardName: null,
userType: null,
content: null,
sort: null,
isSystem: null,
image: null,
monthPrice: null,
quarterPrice: null,
yearPrice: null,
remark: null,
isShow: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会员卡";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCard(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会员卡";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCard(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCard(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会员卡编号为"' + ids + '"的数据项?').then(function() {
return delCard(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/card/export', {
...this.queryParams
}, `card_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,260 @@
<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="rightsId">
<el-input
v-model="queryParams.rightsId"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:cardRights:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:cardRights: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:cardRights: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:cardRights:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="cardRightsList" @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="cardId" />
<el-table-column label="权益" align="center" prop="rightsId" />
<el-table-column label="权益值" align="center" prop="rightsValue" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:cardRights:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:cardRights:remove']"
>删除</el-button>
</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-item label="会员卡" prop="cardId">
<el-input v-model="form.cardId" placeholder="请输入会员卡" />
</el-form-item>
<el-form-item label="权益" prop="rightsId">
<el-input v-model="form.rightsId" placeholder="请输入权益" />
</el-form-item>
<el-form-item label="权益值" prop="rightsValue">
<el-input v-model="form.rightsValue" placeholder="请输入权益值" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCardRights, getCardRights, delCardRights, addCardRights, updateCardRights } from "@/api/base/cardRights";
export default {
name: "CardRights",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
cardRightsList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
rightsId: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会员卡权益列表 */
getList() {
this.loading = true;
listCardRights(this.queryParams).then(response => {
this.cardRightsList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
cardId: null,
rightsId: null,
rightsValue: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会员卡权益";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCardRights(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会员卡权益";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCardRights(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCardRights(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会员卡权益编号为"' + ids + '"的数据项?').then(function() {
return delCardRights(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/cardRights/export', {
...this.queryParams
}, `cardRights_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,333 @@
<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="code">
<el-input
v-model="queryParams.code"
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"
placeholder="请输入标题"
clearable
@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>
<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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:category:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
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>
</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-column label="标题" align="center" prop="title" />
<el-table-column label="描述" align="center" prop="content" />
<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" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:category:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:category:remove']"
>删除</el-button>
</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-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="请输入父级" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" 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-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="备注-扩展字段" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCategory, getCategory, delCategory, addCategory, updateCategory } from "@/api/base/category";
export default {
name: "Category",
dicts: ['true_or_false'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
// -
categoryList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
code: null,
pid: null,
sort: null,
title: null,
content: null,
isSystem: null,
remark: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询分类树-各种分类属性结构列表 */
getList() {
this.loading = true;
listCategory(this.queryParams).then(response => {
this.categoryList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
code: null,
pid: null,
sort: null,
title: null,
content: null,
isSystem: null,
userId: null,
remark: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加分类树-各种分类属性结构";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCategory(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改分类树-各种分类属性结构";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCategory(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCategory(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除分类树-各种分类属性结构编号为"' + ids + '"的数据项?').then(function() {
return delCategory(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/category/export', {
...this.queryParams
}, `category_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -1,14 +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-item label="唯一编码" prop="code">
<el-input
v-model="queryParams.code"
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>
@ -141,8 +133,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
code: null,
jsonStr: null,
},
//
form: {},

View File

@ -0,0 +1,264 @@
<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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:coupon:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:coupon: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: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>
<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="isShow">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isShow"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:coupon:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:coupon:remove']"
>删除</el-button>
</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-item label="数量" prop="couponNum">
<el-input v-model="form.couponNum" placeholder="请输入数量" />
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="form.price" placeholder="请输入价格" />
</el-form-item>
<el-form-item label="是否显示" prop="isShow">
<el-input v-model="form.isShow" placeholder="请输入是否显示" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCoupon, getCoupon, delCoupon, addCoupon, updateCoupon } from "@/api/base/coupon";
export default {
name: "Coupon",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
couponList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
isShow: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告券列表 */
getList() {
this.loading = true;
listCoupon(this.queryParams).then(response => {
this.couponList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
couponNum: null,
price: null,
isShow: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告券";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCoupon(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告券";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCoupon(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCoupon(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告券编号为"' + ids + '"的数据项?').then(function() {
return delCoupon(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/coupon/export', {
...this.queryParams
}, `coupon_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,348 @@
<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-select v-model="queryParams.userType" placeholder="请选择权益所属用户类型" clearable>
<el-option
v-for="dict in dict.type.dl_user_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="权益编码" prop="code">
<el-input
v-model="queryParams.code"
placeholder="请输入权益编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="权益名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入权益名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<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"
: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>
<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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:rights:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:rights: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:rights: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:rights:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<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">
<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="code" />
<el-table-column label="权益名称" align="center" prop="name" />
<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="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"/>
</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
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:rights:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:rights:remove']"
>删除</el-button>
</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-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="权益编码" prop="code">
<el-input v-model="form.code" placeholder="请输入权益编码" />
</el-form-item>
<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-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"
: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>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listRights, getRights, delRights, addRights, updateRights } from "@/api/base/rights";
export default {
name: "Rights",
dicts: ['dl_user_type', 'dl_order_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
rightsList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
userType: null,
code: null,
name: null,
rightsType: null,
rightsCycle: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会员权益列表 */
getList() {
this.loading = true;
listRights(this.queryParams).then(response => {
this.rightsList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
userType: null,
code: null,
name: null,
image: null,
sort: null,
rightsType: null,
rightsCycle: null,
remark: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会员权益";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getRights(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会员权益";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateRights(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addRights(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会员权益编号为"' + ids + '"的数据项?').then(function() {
return delRights(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('base/rights/export', {
...this.queryParams
}, `rights_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,275 @@
<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="noticeId">
<el-input
v-model="queryParams.noticeId"
placeholder="请输入通告"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报名用户" prop="userId">
<el-input
v-model="queryParams.userId"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:card:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:card: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="['busi: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="['busi: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="noticeId" />
<el-table-column label="报名用户" align="center" prop="userId" />
<el-table-column label="默认报价" align="center" prop="price" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:card:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:card:remove']"
>删除</el-button>
</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-item label="通告" prop="noticeId">
<el-input v-model="form.noticeId" placeholder="请输入通告" />
</el-form-item>
<el-form-item label="报名用户" prop="userId">
<el-input v-model="form.userId" placeholder="请输入报名用户" />
</el-form-item>
<el-form-item label="默认报价" prop="price">
<el-input v-model="form.price" placeholder="请输入默认报价" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listCard, getCard, delCard, addCard, updateCard } from "@/api/busi/card";
export default {
name: "Card",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
cardList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
noticeId: null,
userId: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告报名名片列表 */
getList() {
this.loading = true;
listCard(this.queryParams).then(response => {
this.cardList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
noticeId: null,
userId: null,
cardId: null,
price: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告报名名片";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCard(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告报名名片";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCard(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCard(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告报名名片编号为"' + ids + '"的数据项?').then(function() {
return delCard(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/card/export', {
...this.queryParams
}, `card_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,330 @@
<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-select v-model="queryParams.userType" placeholder="请选择用户类型" clearable>
<el-option
v-for="dict in dict.type.dl_user_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="评价者" prop="nickname">
<el-input
v-model="queryParams.nickname"
placeholder="请输入评价者"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="被评价者" prop="toUserId">
<el-input
v-model="queryParams.toUserId"
placeholder="请输入被评价者"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="被评价者用户类型" prop="toUserType">
<el-select v-model="queryParams.toUserType" placeholder="请选择被评价者用户类型" clearable>
<el-option
v-for="dict in dict.type.dl_user_type"
: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>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:evaluate:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:evaluate: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="['busi:evaluate: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="['busi:evaluate:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="evaluateList" @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">
<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="nickname" />
<el-table-column label="被评价者" align="center" prop="toUserId" />
<el-table-column label="被评价者用户类型" align="center" prop="toUserType">
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_user_type" :value="scope.row.toUserType"/>
</template>
</el-table-column>
<el-table-column label="评价内容code" align="center" prop="evaluateCode" />
<el-table-column label="评价内容" align="center" prop="evaluate" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:evaluate:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:evaluate:remove']"
>删除</el-button>
</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-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="评价者" prop="nickname">
<el-input v-model="form.nickname" placeholder="请输入评价者" />
</el-form-item>
<el-form-item label="被评价者" prop="toUserId">
<el-input v-model="form.toUserId" placeholder="请输入被评价者" />
</el-form-item>
<el-form-item label="被评价者用户类型" prop="toUserType">
<el-select v-model="form.toUserType" 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="评价内容code" prop="evaluateCode">
<el-input v-model="form.evaluateCode" placeholder="请输入评价内容code" />
</el-form-item>
<el-form-item label="评价内容" prop="evaluate">
<el-input v-model="form.evaluate" placeholder="请输入评价内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listEvaluate, getEvaluate, delEvaluate, addEvaluate, updateEvaluate } from "@/api/busi/evaluate";
export default {
name: "Evaluate",
dicts: ['dl_user_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
evaluateList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
userType: null,
nickname: null,
toUserId: null,
toUserType: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询评价列表 */
getList() {
this.loading = true;
listEvaluate(this.queryParams).then(response => {
this.evaluateList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
userId: null,
userType: null,
nickname: null,
toUserId: null,
toUserType: null,
evaluateCode: null,
evaluate: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加评价";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getEvaluate(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改评价";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEvaluate(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEvaluate(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除评价编号为"' + ids + '"的数据项?').then(function() {
return delEvaluate(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/evaluate/export', {
...this.queryParams
}, `evaluate_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,342 @@
<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="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<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"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="回馈人" prop="backUserId">
<el-input
v-model="queryParams.backUserId"
placeholder="请输入回馈人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker clearable
v-model="queryParams.createTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建时间">
</el-date-picker>
</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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:feedback:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:feedback: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="['busi:feedback: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="['busi:feedback:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="feedbackList" @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="userId" />
<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="images" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.images" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="回馈内容" align="center" prop="backContent" />
<el-table-column label="回馈图片" align="center" prop="backImages" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.backImages" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="回馈时间" align="center" prop="backTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.backTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="回馈人" align="center" prop="backUserId" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:feedback:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:feedback:remove']"
>删除</el-button>
</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-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="反馈意见" prop="content">
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="反馈图片" prop="images">
<image-upload v-model="form.images"/>
</el-form-item>
<el-form-item label="回馈内容" prop="backContent">
<el-input v-model="form.backContent" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="回馈图片" prop="backImages">
<image-upload v-model="form.backImages"/>
</el-form-item>
<el-form-item label="回馈时间" prop="backTime">
<el-date-picker clearable
v-model="form.backTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择回馈时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFeedback, getFeedback, delFeedback, addFeedback, updateFeedback } from "@/api/busi/feedback";
export default {
name: "Feedback",
dicts: ['dl_user_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
feedbackList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
userId: null,
userType: null,
backUserId: null,
createTime: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询意见反馈列表 */
getList() {
this.loading = true;
listFeedback(this.queryParams).then(response => {
this.feedbackList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
userId: null,
userType: null,
content: null,
images: null,
backContent: null,
backImages: null,
backTime: null,
backUserId: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加意见反馈";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getFeedback(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改意见反馈";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateFeedback(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addFeedback(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除意见反馈编号为"' + ids + '"的数据项?').then(function() {
return delFeedback(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/feedback/export', {
...this.queryParams
}, `feedback_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,251 @@
<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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:form:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:form: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="['busi:form: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="['busi:form:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="formList" @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="noticeId" />
<el-table-column label="字段label标题" align="center" prop="labelTitle" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:form:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:form:remove']"
>删除</el-button>
</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-item label="通告" prop="noticeId">
<el-input v-model="form.noticeId" placeholder="请输入通告" />
</el-form-item>
<el-form-item label="字段label标题" prop="labelTitle">
<el-input v-model="form.labelTitle" placeholder="请输入字段label标题" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listForm, getForm, delForm, addForm, updateForm } from "@/api/busi/form";
export default {
name: "Form",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
formList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告自定义报名单列表 */
getList() {
this.loading = true;
listForm(this.queryParams).then(response => {
this.formList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
noticeId: null,
labelTitle: null,
sort: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告自定义报名单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getForm(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告自定义报名单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateForm(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addForm(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告自定义报名单编号为"' + ids + '"的数据项?').then(function() {
return delForm(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/form/export', {
...this.queryParams
}, `form_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,269 @@
<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="noticeId">
<el-input
v-model="queryParams.noticeId"
placeholder="请输入通告"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报名用户" prop="userId">
<el-input
v-model="queryParams.userId"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:msg:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:msg: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="['busi:msg: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="['busi:msg:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="msgList" @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="noticeId" />
<el-table-column label="报名用户" align="center" prop="userId" />
<el-table-column label="留言内容" align="center" prop="content" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:msg:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:msg:remove']"
>删除</el-button>
</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-item label="通告" prop="noticeId">
<el-input v-model="form.noticeId" placeholder="请输入通告" />
</el-form-item>
<el-form-item label="报名用户" prop="userId">
<el-input v-model="form.userId" placeholder="请输入报名用户" />
</el-form-item>
<el-form-item label="留言内容">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listMsg, getMsg, delMsg, addMsg, updateMsg } from "@/api/busi/msg";
export default {
name: "Msg",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
msgList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
noticeId: null,
userId: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告留言列表 */
getList() {
this.loading = true;
listMsg(this.queryParams).then(response => {
this.msgList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
noticeId: null,
userId: null,
content: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告留言";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getMsg(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告留言";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateMsg(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addMsg(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告留言编号为"' + ids + '"的数据项?').then(function() {
return delMsg(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/msg/export', {
...this.queryParams
}, `msg_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,594 @@
<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="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入发布者"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input
v-model="queryParams.title"
placeholder="请输入标题"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="平台名称" prop="platformName">
<el-input
v-model="queryParams.platformName"
placeholder="请输入平台名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="国家" prop="country">
<el-input
v-model="queryParams.country"
placeholder="请输入国家"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="稿费下限" prop="feeDown">
<el-input
v-model="queryParams.feeDown"
placeholder="请输入稿费下限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="稿费上限" prop="feeUp">
<el-input
v-model="queryParams.feeUp"
placeholder="请输入稿费上限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否需自报价" prop="isSelfPrice">
<el-select v-model="queryParams.isSelfPrice" 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="brand">
<el-input
v-model="queryParams.brand"
placeholder="请输入品牌"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否公开品牌" prop="isShowBrand">
<el-select v-model="queryParams.isShowBrand" 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="needNum">
<el-input
v-model="queryParams.needNum"
placeholder="请输入招募名额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="粉丝要求下限" prop="fansDown">
<el-input
v-model="queryParams.fansDown"
placeholder="请输入粉丝要求下限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="粉丝要求上限" prop="fansUp">
<el-input
v-model="queryParams.fansUp"
placeholder="请输入粉丝要求上限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报名是否需符合粉丝要求(0否|1是)" prop="isEligible">
<el-input
v-model="queryParams.isEligible"
placeholder="请输入报名是否需符合粉丝要求(0否|1是)"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图文/视频/不限" prop="pic">
<el-input
v-model="queryParams.pic"
placeholder="请输入图文/视频/不限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单品/合集/不限" prop="collect">
<el-input
v-model="queryParams.collect"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:notice:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:notice: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="['busi:notice: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="['busi:notice:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="noticeList" @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="userId" />
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="平台名称" align="center" prop="platformName" />
<el-table-column label="国家" align="center" prop="country" />
<el-table-column label="稿费下限" align="center" prop="feeDown" />
<el-table-column label="稿费上限" align="center" prop="feeUp" />
<el-table-column label="是否需自报价" align="center" prop="isSelfPrice">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isSelfPrice"/>
</template>
</el-table-column>
<el-table-column label="赠品明细" align="center" prop="giftDetail" />
<el-table-column label="赠品价值" align="center" prop="giftPrice" />
<el-table-column label="截止日期" align="center" prop="endDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center" prop="brand" />
<el-table-column label="是否公开品牌" align="center" prop="isShowBrand">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isShowBrand"/>
</template>
</el-table-column>
<el-table-column label="招募名额" align="center" prop="needNum" />
<el-table-column label="粉丝要求下限" align="center" prop="fansDown" />
<el-table-column label="粉丝要求上限" align="center" prop="fansUp" />
<el-table-column label="报名是否需符合粉丝要求(0否|1是)" align="center" prop="isEligible" />
<el-table-column label="图文/视频/不限" align="center" prop="pic" />
<el-table-column label="单品/合集/不限" align="center" prop="collect" />
<el-table-column label="通告明细" align="center" prop="detail" />
<el-table-column label="产品图" align="center" prop="images" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.images" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="博主类型" align="center" prop="bloggerTypes" />
<el-table-column label="是否公开联系方式" align="center" prop="isShowTel">
<template slot-scope="scope">
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isShowTel"/>
</template>
</el-table-column>
<el-table-column label="微信号" align="center" prop="wechat" />
<el-table-column label="电话" align="center" prop="tel" />
<el-table-column label="微信群码图片" align="center" prop="groupImage" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.groupImage" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="是否使用通告券" align="center" prop="isUseCoupon" />
<el-table-column label="审核状态" align="center" prop="approvalStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_approval_status" :value="scope.row.approvalStatus"/>
</template>
</el-table-column>
<el-table-column label="审核人" align="center" prop="approvalUserId" />
<el-table-column label="审核时间" align="center" prop="approvalTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.approvalTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="审核备注" align="center" prop="approvalRemark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:notice:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:notice:remove']"
>删除</el-button>
</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-item label="发布者" prop="userId">
<el-input v-model="form.userId" placeholder="请输入发布者" />
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="平台名称" prop="platformName">
<el-input v-model="form.platformName" placeholder="请输入平台名称" />
</el-form-item>
<el-form-item label="稿费下限" prop="feeDown">
<el-input v-model="form.feeDown" placeholder="请输入稿费下限" />
</el-form-item>
<el-form-item label="稿费上限" prop="feeUp">
<el-input v-model="form.feeUp" placeholder="请输入稿费上限" />
</el-form-item>
<el-form-item label="是否需自报价" prop="isSelfPrice">
<el-select v-model="form.isSelfPrice" 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="赠品明细" prop="giftDetail">
<el-input v-model="form.giftDetail" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="赠品价值" prop="giftPrice">
<el-input v-model="form.giftPrice" placeholder="请输入赠品价值" />
</el-form-item>
<el-form-item label="截止日期" prop="endDate">
<el-date-picker clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择截止日期">
</el-date-picker>
</el-form-item>
<el-form-item label="品牌" prop="brand">
<el-input v-model="form.brand" placeholder="请输入品牌" />
</el-form-item>
<el-form-item label="是否公开品牌" prop="isShowBrand">
<el-select v-model="form.isShowBrand" 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="招募名额" prop="needNum">
<el-input v-model="form.needNum" placeholder="请输入招募名额" />
</el-form-item>
<el-form-item label="粉丝要求下限" prop="fansDown">
<el-input v-model="form.fansDown" placeholder="请输入粉丝要求下限" />
</el-form-item>
<el-form-item label="粉丝要求上限" prop="fansUp">
<el-input v-model="form.fansUp" placeholder="请输入粉丝要求上限" />
</el-form-item>
<el-form-item label="报名是否需符合粉丝要求(0否|1是)" prop="isEligible">
<el-input v-model="form.isEligible" placeholder="请输入报名是否需符合粉丝要求(0否|1是)" />
</el-form-item>
<el-form-item label="图文/视频/不限" prop="pic">
<el-input v-model="form.pic" placeholder="请输入图文/视频/不限" />
</el-form-item>
<el-form-item label="单品/合集/不限" prop="collect">
<el-input v-model="form.collect" placeholder="请输入单品/合集/不限" />
</el-form-item>
<el-form-item label="通告明细" prop="detail">
<el-input v-model="form.detail" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="产品图" prop="images">
<image-upload v-model="form.images"/>
</el-form-item>
<el-form-item label="博主类型" prop="bloggerTypes">
<el-input v-model="form.bloggerTypes" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="是否公开联系方式" prop="isShowTel">
<el-select v-model="form.isShowTel" 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="微信号" prop="wechat">
<el-input v-model="form.wechat" placeholder="请输入微信号" />
</el-form-item>
<el-form-item label="电话" prop="tel">
<el-input v-model="form.tel" placeholder="请输入电话" />
</el-form-item>
<el-form-item label="微信群码图片" prop="groupImage">
<image-upload v-model="form.groupImage"/>
</el-form-item>
<el-form-item label="是否使用通告券" prop="isUseCoupon">
<el-input v-model="form.isUseCoupon" placeholder="请输入是否使用通告券" />
</el-form-item>
<el-form-item label="审核状态" prop="approvalStatus">
<el-radio-group v-model="form.approvalStatus">
<el-radio
v-for="dict in dict.type.dl_approval_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审核人" prop="approvalUserId">
<el-input v-model="form.approvalUserId" placeholder="请输入审核人" />
</el-form-item>
<el-form-item label="审核时间" prop="approvalTime">
<el-date-picker clearable
v-model="form.approvalTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择审核时间">
</el-date-picker>
</el-form-item>
<el-form-item label="审核备注" prop="approvalRemark">
<el-input v-model="form.approvalRemark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/busi/notice";
export default {
name: "Notice",
dicts: ['dl_approval_status', 'true_or_false'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
noticeList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
userId: null,
title: null,
platformName: null,
country: null,
feeDown: null,
feeUp: null,
isSelfPrice: null,
brand: null,
isShowBrand: null,
needNum: null,
fansDown: null,
fansUp: null,
isEligible: null,
pic: null,
collect: null,
detail: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告列表 */
getList() {
this.loading = true;
listNotice(this.queryParams).then(response => {
this.noticeList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
userId: null,
title: null,
platformCode: null,
platformName: null,
country: null,
feeDown: null,
feeUp: null,
isSelfPrice: null,
giftDetail: null,
giftPrice: null,
endDate: null,
brand: null,
isShowBrand: null,
needNum: null,
fansDown: null,
fansUp: null,
isEligible: null,
pic: null,
collect: null,
detail: null,
images: null,
bloggerTypes: null,
isShowTel: null,
wechat: null,
tel: null,
groupImage: null,
isUseCoupon: null,
approvalStatus: null,
approvalUserId: null,
approvalTime: null,
approvalRemark: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getNotice(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateNotice(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addNotice(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告编号为"' + ids + '"的数据项?').then(function() {
return delNotice(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/notice/export', {
...this.queryParams
}, `notice_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,297 @@
<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="noticeId">
<el-input
v-model="queryParams.noticeId"
placeholder="请输入通告"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报名用户" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入报名用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报价类型" prop="priceType">
<el-input
v-model="queryParams.priceType"
placeholder="请输入报价类型"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报价" prop="price">
<el-input
v-model="queryParams.price"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:price:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:price: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="['busi:price: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="['busi:price:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="priceList" @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="noticeId" />
<el-table-column label="报名用户" align="center" prop="userId" />
<el-table-column label="名片" align="center" prop="cardId" />
<el-table-column label="报价类型" align="center" prop="priceType" />
<el-table-column label="报价" align="center" prop="price" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:price:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:price:remove']"
>删除</el-button>
</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-item label="通告" prop="noticeId">
<el-input v-model="form.noticeId" placeholder="请输入通告" />
</el-form-item>
<el-form-item label="报名用户" prop="userId">
<el-input v-model="form.userId" placeholder="请输入报名用户" />
</el-form-item>
<el-form-item label="名片" prop="cardId">
<el-input v-model="form.cardId" placeholder="请输入名片" />
</el-form-item>
<el-form-item label="报价类型" prop="priceType">
<el-input v-model="form.priceType" placeholder="请输入报价类型" />
</el-form-item>
<el-form-item label="报价" prop="price">
<el-input v-model="form.price" placeholder="请输入报价" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listPrice, getPrice, delPrice, addPrice, updatePrice } from "@/api/busi/price";
export default {
name: "Price",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
priceList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
noticeId: null,
userId: null,
priceType: null,
price: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告报名名片价格列表 */
getList() {
this.loading = true;
listPrice(this.queryParams).then(response => {
this.priceList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
noticeId: null,
userId: null,
cardId: null,
priceType: null,
price: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告报名名片价格";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getPrice(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告报名名片价格";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePrice(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPrice(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告报名名片价格编号为"' + ids + '"的数据项?').then(function() {
return delPrice(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/price/export', {
...this.queryParams
}, `price_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,343 @@
<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="reportUserId">
<el-input
v-model="queryParams.reportUserId"
placeholder="请输入被举报人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="被举报的通告" prop="reportNoticeId">
<el-input
v-model="queryParams.reportNoticeId"
placeholder="请输入被举报的通告"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="举报类型文本" prop="reportTitle">
<el-input
v-model="queryParams.reportTitle"
placeholder="请输入举报类型文本"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="处理人" prop="dealUserId">
<el-input
v-model="queryParams.dealUserId"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:report:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:report: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="['busi:report: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="['busi:report:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="reportList" @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="userId" />
<el-table-column label="被举报人" align="center" prop="reportUserId" />
<el-table-column label="被举报的通告" align="center" prop="reportNoticeId" />
<el-table-column label="举报类型文本" align="center" prop="reportTitle" />
<el-table-column label="处理人" align="center" prop="dealUserId" />
<el-table-column label="处理结果" align="center" prop="dealResult" />
<el-table-column label="处理时间" align="center" prop="dealTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.dealTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:report:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:report:remove']"
>删除</el-button>
</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-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="被举报人" prop="reportUserId">
<el-input v-model="form.reportUserId" placeholder="请输入被举报人" />
</el-form-item>
<el-form-item label="被举报人类型" prop="reportUserType">
<el-select v-model="form.reportUserType" 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="被举报的通告" prop="reportNoticeId">
<el-input v-model="form.reportNoticeId" placeholder="请输入被举报的通告" />
</el-form-item>
<el-form-item label="举报类型文本" prop="reportTitle">
<el-input v-model="form.reportTitle" placeholder="请输入举报类型文本" />
</el-form-item>
<el-form-item label="举报描述" prop="content">
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="举报图片" prop="images">
<image-upload v-model="form.images"/>
</el-form-item>
<el-form-item label="处理人" prop="dealUserId">
<el-input v-model="form.dealUserId" placeholder="请输入处理人" />
</el-form-item>
<el-form-item label="处理时间" prop="dealTime">
<el-date-picker clearable
v-model="form.dealTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择处理时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listReport, getReport, delReport, addReport, updateReport } from "@/api/busi/report";
export default {
name: "Report",
dicts: ['dl_user_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
reportList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
userId: null,
reportUserId: null,
reportNoticeId: null,
reportTitle: null,
dealUserId: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询举报记录列表 */
getList() {
this.loading = true;
listReport(this.queryParams).then(response => {
this.reportList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
userId: null,
userType: null,
reportUserId: null,
reportUserType: null,
reportNoticeId: null,
reportType: null,
reportTitle: null,
content: null,
images: null,
dealUserId: null,
dealResult: null,
dealTime: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加举报记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getReport(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改举报记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateReport(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addReport(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除举报记录编号为"' + ids + '"的数据项?').then(function() {
return delReport(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/report/export', {
...this.queryParams
}, `report_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,351 @@
<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="noticeId">
<el-input
v-model="queryParams.noticeId"
placeholder="请输入通告"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报名用户昵称" prop="nickname">
<el-input
v-model="queryParams.nickname"
placeholder="请输入报名用户昵称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系方式" prop="tel">
<el-input
v-model="queryParams.tel"
placeholder="请输入联系方式"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="通告合作状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择通告合作状态" clearable>
<el-option
v-for="dict in dict.type.dl_notice_cooperate_status"
: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>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:sign:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:sign: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="['busi:sign: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="['busi:sign:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="signList" @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="noticeId" />
<el-table-column label="报名用户昵称" align="center" prop="nickname" />
<el-table-column label="报名用户头像" align="center" prop="avatar" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.avatar" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="是否超级报名" align="center" prop="isSuper" />
<el-table-column label="联系方式" align="center" prop="tel" />
<el-table-column label="收货地址" align="center" prop="addrId" />
<el-table-column label="通告合作状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.dl_notice_cooperate_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="稿件图片" align="center" prop="images" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.images" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="已发布的文章链接" align="center" prop="articleRef" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:sign:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:sign:remove']"
>删除</el-button>
</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-item label="通告" prop="noticeId">
<el-input v-model="form.noticeId" placeholder="请输入通告" />
</el-form-item>
<el-form-item label="报名用户昵称" prop="nickname">
<el-input v-model="form.nickname" placeholder="请输入报名用户昵称" />
</el-form-item>
<el-form-item label="报名用户头像" prop="avatar">
<image-upload v-model="form.avatar"/>
</el-form-item>
<el-form-item label="联系方式" prop="tel">
<el-input v-model="form.tel" placeholder="请输入联系方式" />
</el-form-item>
<el-form-item label="收货地址" prop="addrId">
<el-input v-model="form.addrId" placeholder="请输入收货地址" />
</el-form-item>
<el-form-item label="通告合作状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.dl_notice_cooperate_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="稿件内容">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
<el-form-item label="稿件图片" prop="images">
<image-upload v-model="form.images"/>
</el-form-item>
<el-form-item label="已发布的文章链接" prop="articleRef">
<el-input v-model="form.articleRef" placeholder="请输入已发布的文章链接" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listSign, getSign, delSign, addSign, updateSign } from "@/api/busi/sign";
export default {
name: "Sign",
dicts: ['dl_notice_cooperate_status'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
signList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
noticeId: null,
nickname: null,
isSuper: null,
tel: null,
status: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告报名列表 */
getList() {
this.loading = true;
listSign(this.queryParams).then(response => {
this.signList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
noticeId: null,
userId: null,
nickname: null,
avatar: null,
isSuper: null,
tel: null,
addrId: null,
status: null,
content: null,
images: null,
articleRef: null,
remark: null,
creator: null,
createTime: null,
updater: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告报名";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getSign(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告报名";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSign(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSign(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告报名编号为"' + ids + '"的数据项?').then(function() {
return delSign(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/sign/export', {
...this.queryParams
}, `sign_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,245 @@
<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="viewNum">
<el-input
v-model="queryParams.viewNum"
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">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['busi:view:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['busi:view: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="['busi:view: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="['busi:view:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="viewList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="通告id" align="center" prop="id" />
<el-table-column label="浏览量" align="center" prop="viewNum" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['busi:view:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['busi:view:remove']"
>删除</el-button>
</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-item label="浏览量" prop="viewNum">
<el-input v-model="form.viewNum" placeholder="请输入浏览量" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listView, getView, delView, addView, updateView } from "@/api/busi/view";
export default {
name: "View",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
viewList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
viewNum: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询通告浏览量列表 */
getList() {
this.loading = true;
listView(this.queryParams).then(response => {
this.viewList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
viewNum: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加通告浏览量";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getView(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改通告浏览量";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateView(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addView(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除通告浏览量编号为"' + ids + '"的数据项?').then(function() {
return delView(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('busi/view/export', {
...this.queryParams
}, `view_${new Date().getTime()}.xlsx`)
}
}
};
</script>