后管页面
This commit is contained in:
parent
f770d00677
commit
866c24eb70
62
src/api/deliverytime.js
Normal file
62
src/api/deliverytime.js
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 新增EbdeliveryTime
|
||||
* @param pram
|
||||
*/
|
||||
export function createApi(data) {
|
||||
return request({
|
||||
url: '/admin/deliveryTime/save',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ebdeliveryTime更新
|
||||
* @param pram
|
||||
*/
|
||||
export function updateApi(data) {
|
||||
return request({
|
||||
url: 'admin/deliveryTime/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* deliveryTime详情
|
||||
* @param pram
|
||||
*/
|
||||
export function detailApi(id) {
|
||||
return request({
|
||||
url: `admin/deliveryTime/info/${id}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* deliveryTime删除
|
||||
* @param pram
|
||||
*/
|
||||
export function deleteApi(id) {
|
||||
return request({
|
||||
url: `admin/deliveryTime/delete/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* deliveryTime列表
|
||||
* @param pram
|
||||
*/
|
||||
export function listApi(params) {
|
||||
return request({
|
||||
url: 'admin/deliveryTime/list',
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
62
src/api/systemHelp.js
Normal file
62
src/api/systemHelp.js
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 新增EbSystemHelpProblem
|
||||
* @param pram
|
||||
*/
|
||||
export function createApi(data) {
|
||||
return request({
|
||||
url: 'admin/system/helpProblem/save',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ebsystemhelpproblem更新
|
||||
* @param pram
|
||||
*/
|
||||
export function updateApi(data) {
|
||||
return request({
|
||||
url: 'admin/system/helpProblem/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ebsystemhelpproblem详情
|
||||
* @param pram
|
||||
*/
|
||||
export function detailApi(id) {
|
||||
return request({
|
||||
url: `admin/system/helpProblem/info/${id}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* ebsystemhelpproblem删除
|
||||
* @param pram
|
||||
*/
|
||||
export function deleteApi(id) {
|
||||
return request({
|
||||
url: `admin/system/helpProblem/delete/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* ebsystemhelpproblem列表
|
||||
* @param pram
|
||||
*/
|
||||
export function listApi(params) {
|
||||
return request({
|
||||
url: 'admin/system/helpProblem/list',
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
@ -22,6 +22,15 @@ const operationRouter = {
|
||||
icon: 'clipboard'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'help',
|
||||
name: 'help',
|
||||
component: () => import('@/views/systemSetting/help'),
|
||||
meta: {
|
||||
title: '帮助与问题',
|
||||
icon: 'clipboard'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'notification',
|
||||
name:'notification',
|
||||
@ -148,6 +157,12 @@ const operationRouter = {
|
||||
name: 'freightSet',
|
||||
meta: { title: '配送模板', noCache: true }
|
||||
},
|
||||
{
|
||||
path: 'deliveryTime',
|
||||
component: () => import('@/views/deliveryTime'),
|
||||
name: 'deliveryTime',
|
||||
meta: { title: '送达时间', noCache: true }
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
|
124
src/views/deliveryTime/add-and-update.vue
Normal file
124
src/views/deliveryTime/add-and-update.vue
Normal file
@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<!-- 基于 Element UI 新增和修改弹窗 -->
|
||||
<el-dialog
|
||||
:title="!dataForm.id ? '添加' : '修改'"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible">
|
||||
<!-- 新增和创建表单表单 -->
|
||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataSubmit()" label-width="120px">
|
||||
<el-form-item label="预约配送天数" prop="appointDay">
|
||||
<el-input v-model="dataForm.appointDay" placeholder="预约配送天数"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="上午配送时间" prop="amSendHour">
|
||||
<el-input v-model="dataForm.amSendHour" placeholder="9点-12点(填入:9-12)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="下午配送时间" prop="pmSendHour">
|
||||
<el-input v-model="dataForm.pmSendHour" placeholder="15点-19点(填入:15-19)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="配送区间(分钟)" prop="sendSplit">
|
||||
<el-input v-model="dataForm.sendSplit" placeholder="配送区间(分钟)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="type">
|
||||
<el-select v-model="dataForm.type" prop="type">
|
||||
<el-option label="通用" :value="1"></el-option>
|
||||
<el-option label="指定门店" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="门店" prop="storeId" v-if="dataForm.type === 2">
|
||||
<el-select v-model="dataForm.storeId" filterable placeholder="请选择门店">
|
||||
<el-option v-for="(item,i) in storeData" :value="item.id" :key="i" :label="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否无效" prop="status">
|
||||
<el-select v-model="dataForm.status">
|
||||
<el-option label="有效" :value="1"></el-option>
|
||||
<el-option label="无效" :value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="dataSubmit()">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as api from '@/api/deliverytime.js'
|
||||
import { storeListApi } from '@/api/storePoint';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: 0,
|
||||
appointDay: '',
|
||||
amSendHour: '',
|
||||
pmSendHour: '',
|
||||
sendSplit: '',
|
||||
type: 1,
|
||||
storeId: '',
|
||||
status: '',
|
||||
},
|
||||
storeData:[],
|
||||
dataRule: {
|
||||
appointDay: [
|
||||
{required: true, message: '请填写预约配送天数', trigger: 'blur'}
|
||||
],
|
||||
amSendHour: [
|
||||
{required: true, message: '请填写上午配送时间', trigger: 'blur'}
|
||||
],
|
||||
pmSendHour: [
|
||||
{required: true, message: '请填写下午配送时间', trigger: 'blur'}
|
||||
],
|
||||
sendSplit: [
|
||||
{required: true, message: '请填写配送区间', trigger: 'blur'}
|
||||
],
|
||||
type: [
|
||||
{required: true, message: '请选择类型', trigger: 'blur'}
|
||||
],
|
||||
status: [
|
||||
{required: true, message: '请选择状态', trigger: 'blur'}
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init(id) { // 初始化表单验证规则
|
||||
this.dataForm.id = id || 0
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
api.detailApi(id).then(res => {
|
||||
this.dataForm = res;
|
||||
})
|
||||
}
|
||||
})
|
||||
this.storeList()
|
||||
},
|
||||
storeList() {
|
||||
storeListApi({status: 1, page: 1, limit: 9999}).then((data) => {
|
||||
this.storeData = data.list;
|
||||
});
|
||||
},
|
||||
// 表单数据提交
|
||||
dataSubmit() {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.dataForm.id ?
|
||||
api.updateApi(this.dataForm).then(res => {
|
||||
this.$message.success('修改成功');
|
||||
}) :
|
||||
api.createApi(this.dataForm).then(res => {
|
||||
this.$message.success('新增成功');
|
||||
});
|
||||
this.visible = false;
|
||||
this.$emit('refreshDataList');
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
158
src/views/deliveryTime/index.vue
Normal file
158
src/views/deliveryTime/index.vue
Normal file
@ -0,0 +1,158 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button v-hasPermi="['admin:deliveryTime:save']" size="mini" type="primary" @click="addOrUpdateHandle()">新增数据</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandle"
|
||||
style="width: 100%"
|
||||
size="mini">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="id"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="编号">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="appointDay"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="预约天数">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="amSendHour"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="上午配送(点)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="pmSendHour"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="下午配送(点)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="sendSplit"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="配送区间(分钟)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="type"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="类型">
|
||||
<template slot-scope="scope">
|
||||
<div class="demo-image__preview">
|
||||
<span v-if="scope.row.type == 1">通用</span>
|
||||
<span v-else-if="scope.row.type == 2">指定门店:{{scope.row.storeId}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status == 0">无效</span>
|
||||
<span v-else-if="scope.row.status == 1">有效</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="150"
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
:total="totalPage"
|
||||
layout="total, sizes, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
<!-- 表单弹窗, 新增数据和修改数据 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from './add-and-update'
|
||||
import * as api from '@/api/deliverytime.js'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
dataListSelections: [],
|
||||
addOrUpdateVisible: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
created() {
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
this.dataListLoading = true
|
||||
api.listApi().then(res => {
|
||||
this.dataList = res.list
|
||||
this.totalPage = res.total
|
||||
this.dataListLoading = false
|
||||
}).catch(res => {
|
||||
this.dataListLoading = false
|
||||
this.$message.error(res.message)
|
||||
})
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle (val) {
|
||||
this.pageSize = val
|
||||
this.pageIndex = 1
|
||||
this.getDataList()
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle (val) {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle (id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
@ -9,10 +9,11 @@
|
||||
<el-radio-button label="all">全部 {{ '(' +orderChartType.all?orderChartType.all:0 + ')' }}</el-radio-button>
|
||||
<el-radio-button label="unPaid">未支付 {{ '(' +orderChartType.unPaid?orderChartType.unPaid:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="notShipped">未发货 {{ '(' +orderChartType.notShipped?orderChartType.notShipped:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="prepareIng">备货中 {{ '(' +orderChartType.prepareIng?orderChartType.prepareIng:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="spike">待收货 {{ '(' +orderChartType.spike?orderChartType.spike:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="bargain">待评价 {{ '(' +orderChartType.bargain?orderChartType.bargain:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="complete">交易完成 {{ '(' +orderChartType.complete?orderChartType.complete:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="toBeWrittenOff">待核销 {{ '(' +orderChartType.toBeWrittenOff?orderChartType.toBeWrittenOff:0+ ')' }}</el-radio-button>
|
||||
<!--<el-radio-button label="toBeWrittenOff">待核销 {{ '(' +orderChartType.toBeWrittenOff?orderChartType.toBeWrittenOff:0+ ')' }}</el-radio-button>-->
|
||||
<el-radio-button label="refunding">退款中 {{ '(' +orderChartType.refunding?orderChartType.refunding:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="refunded">已退款 {{ '(' +orderChartType.refunded?orderChartType.refunded:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button label="deleted">已删除 {{ '(' +orderChartType.deleted?orderChartType.deleted:0+ ')' }}</el-radio-button>
|
||||
@ -169,7 +170,7 @@
|
||||
/>
|
||||
<el-table-column label="操作" min-width="150" fixed="right" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.paid === false" type="text" size="small" @click="edit(scope.row)" class="mr10" v-hasPermi="['admin:order:update:price']">编辑</el-button>
|
||||
<el-button v-if="scope.row.paid === false" type="text" size="small" @click="edit(scope.row)" class="mr10" v-hasPermi="['admin:order:update:price']">编辑</el-button>
|
||||
<el-button v-if="scope.row.statusStr.key === 'notShipped' && scope.row.refundStatus ===0" type="text" size="small" class="mr10" @click="sendOrder(scope.row)" v-hasPermi="['admin:order:send']">发送货</el-button>
|
||||
<el-button v-if=" scope.row.statusStr.key === 'toBeWrittenOff' && scope.row.paid == true && scope.row.refundStatus === 0 " type="text" size="small" class="mr10" v-hasPermi="['admin:order:write:update']" @click="onWriteOff(scope.row)">立即核销</el-button>
|
||||
<el-dropdown trigger="click">
|
||||
|
143
src/views/systemSetting/help/add-and-update.vue
Normal file
143
src/views/systemSetting/help/add-and-update.vue
Normal file
@ -0,0 +1,143 @@
|
||||
<template>
|
||||
<!-- 基于 Element UI 新增和修改弹窗 -->
|
||||
<el-dialog
|
||||
:title="!dataForm.id ? '添加' : '修改'"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible">
|
||||
<!-- 新增和创建表单表单 -->
|
||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataSubmit()" label-width="80px">
|
||||
<el-form-item label="分类id" prop="cid">
|
||||
<el-input v-model="dataForm.cid" placeholder="分类id"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标题" prop="title">
|
||||
<el-input v-model="dataForm.title" placeholder="标题"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="简介" prop="synopsis">
|
||||
<el-input v-model="dataForm.synopsis" placeholder="简介"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="内容" prop="content">
|
||||
<el-input v-model="dataForm.content" placeholder="内容"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="跳转地址" prop="jumpUrl">
|
||||
<el-input v-model="dataForm.jumpUrl" placeholder="跳转地址"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="分享标题" prop="shareTitle">
|
||||
<el-input v-model="dataForm.shareTitle" placeholder="分享标题"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="分享简介" prop="shareSynopsis">
|
||||
<el-input v-model="dataForm.shareSynopsis" placeholder="分享简介"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="分享图片" prop="shareImage">
|
||||
<el-input v-model="dataForm.shareImage" placeholder="分享图片"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-input v-model="dataForm.status" placeholder="状态 0无效,1有效"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="dataSubmit()">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as api from '@/api/systemHelp.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: 0,
|
||||
cid: '',
|
||||
title: '',
|
||||
synopsis: '',
|
||||
content: '',
|
||||
image: '',
|
||||
jumpUrl: '',
|
||||
shareTitle: '',
|
||||
shareSynopsis: '',
|
||||
shareImage: '',
|
||||
usefulNum: '',
|
||||
uselessNum: '',
|
||||
status: '',
|
||||
sort: '',
|
||||
createTime: '',
|
||||
updateTime: ''
|
||||
},
|
||||
dataRule: {
|
||||
cid: [
|
||||
{required: true, message: '分类id 为必填项', trigger: 'blur'}
|
||||
],
|
||||
title: [
|
||||
{required: true, message: '标题 为必填项', trigger: 'blur'}
|
||||
],
|
||||
synopsis: [
|
||||
{required: true, message: '简介 为必填项', trigger: 'blur'}
|
||||
],
|
||||
content: [
|
||||
{required: true, message: '内容 为必填项', trigger: 'blur'}
|
||||
],
|
||||
image: [
|
||||
{required: true, message: '图片 为必填项', trigger: 'blur'}
|
||||
],
|
||||
jumpUrl: [
|
||||
{required: true, message: '跳转地址 为必填项', trigger: 'blur'}
|
||||
],
|
||||
shareTitle: [
|
||||
{required: true, message: '分享标题 为必填项', trigger: 'blur'}
|
||||
],
|
||||
shareSynopsis: [
|
||||
{required: true, message: '分享简介 为必填项', trigger: 'blur'}
|
||||
],
|
||||
shareImage: [
|
||||
{required: true, message: '分享图片 为必填项', trigger: 'blur'}
|
||||
],
|
||||
usefulNum: [
|
||||
{required: true, message: '有用 为必填项', trigger: 'blur'}
|
||||
],
|
||||
uselessNum: [
|
||||
{required: true, message: '无用 为必填项', trigger: 'blur'}
|
||||
],
|
||||
status: [
|
||||
{required: true, message: '状态 0无效,1有效 为必填项', trigger: 'blur'}
|
||||
],
|
||||
sort: [
|
||||
{required: true, message: '排序 为必填项', trigger: 'blur'}
|
||||
],
|
||||
createTime: [
|
||||
{required: true, message: '创建时间 为必填项', trigger: 'blur'}
|
||||
],
|
||||
updateTime: [
|
||||
{required: true, message: '更新时间 为必填项', trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init(id) { // 初始化表单验证规则
|
||||
this.dataForm.id = id || 0
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
api.ebsystemhelpproblemDetailApi(id).then(res => {
|
||||
this.dataForm = res;
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 表单数据提交
|
||||
dataSubmit() {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
api.EbSystemHelpProblemCreateApi().then(res => {
|
||||
// TODO 保存数据
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
199
src/views/systemSetting/help/index.vue
Normal file
199
src/views/systemSetting/help/index.vue
Normal file
@ -0,0 +1,199 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<div class="container">
|
||||
<el-form ref="form" inline :model="dataForm" size="small">
|
||||
<el-form-item label="标题:">
|
||||
<el-input v-model="dataForm.title" placeholder="请输入标题" class="selWidth" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="handleSearch" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="分类:">
|
||||
<el-select v-model="dataForm.cid" placeholder="分类" clearable class="selWidth" @change="handleSearch">
|
||||
<el-option label="--请选择--" value=""></el-option>
|
||||
<el-option
|
||||
v-for="item in categoryList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-button v-hasPermi="['admin:helpProblem:save']" size="mini" type="primary" @click="addOrUpdateHandle()">新增数据</el-button>
|
||||
<el-button v-hasPermi="['admin:helpProblem:delete']" size="mini" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandle"
|
||||
style="width: 100%;">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="cid"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="分类">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.cname}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="标题">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="usefulNum"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="有用">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="uselessNum"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="无用">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.status == 0">无效</span>
|
||||
<span v-else-if="scope.row.status == 1">有效</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="150"
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
:total="totalPage"
|
||||
layout="total, sizes, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
<!-- 表单弹窗, 新增数据和修改数据 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import AddOrUpdate from './add-and-update'
|
||||
import * as api from '@/api/systemHelp.js'
|
||||
import { listCategroy } from '@/api/categoryApi.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
title: '',
|
||||
cid: ''
|
||||
},
|
||||
categoryList: [],
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
dataListSelections: [],
|
||||
addOrUpdateVisible: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
created() {
|
||||
this.getDataList()
|
||||
this.getCategoryList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true
|
||||
api.listApi(this.dataForm).then(res => {
|
||||
this.dataList = res.list
|
||||
this.totalPage = res.total
|
||||
this.dataListLoading = false
|
||||
}).catch(res => {
|
||||
this.dataListLoading = false
|
||||
this.$message.error(res.message)
|
||||
})
|
||||
},
|
||||
getCategoryList() {
|
||||
const categroy = {
|
||||
limit: 999,
|
||||
page: '1',
|
||||
status: 1,
|
||||
type : 9
|
||||
};
|
||||
listCategroy(categroy).then(res => {
|
||||
this.categoryList = res.list;
|
||||
})
|
||||
},
|
||||
handleSearch() {
|
||||
this.page = 1
|
||||
this.getDataList()
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle(val) {
|
||||
this.pageSize = val
|
||||
this.pageIndex = 1
|
||||
this.getDataList()
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle(val) {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
},
|
||||
// 多选
|
||||
selectionChangeHandle(val) {
|
||||
this.dataListSelections = val
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle(id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteHandle(id) {
|
||||
var ids = id ? [id] : this.dataListSelections.map(item => {
|
||||
return item.id
|
||||
})
|
||||
this.$confirm(`您确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
api.deleteApi(id).then(res => {
|
||||
// TODO 处理删除
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
@ -26,13 +26,6 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="核销员">
|
||||
<el-radio-group v-model="ruleForm.isProsecutor">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="ruleForm.status">
|
||||
<el-radio :label="true">开启</el-radio>
|
||||
@ -97,7 +90,6 @@
|
||||
id : res.uid,
|
||||
mark: res.mark,
|
||||
// phone: res.phone,
|
||||
isProsecutor: res.isProsecutor,
|
||||
status: res.status,
|
||||
addres: res.addres,
|
||||
groupId: Number(res.groupId) || '',
|
||||
|
@ -16,29 +16,29 @@
|
||||
</el-col>
|
||||
</el-col>
|
||||
<template v-if="collapse">
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户等级:">
|
||||
<el-select v-model="levelData" placeholder="请选择" class="selWidth" clearable filterable multiple>
|
||||
<el-option :value="item.id" v-for="(item, index) in levelList" :key="index" :label="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户分组:">
|
||||
<el-select v-model="groupData" placeholder="请选择" class="selWidth" clearable filterable multiple>
|
||||
<el-option :value="item.id" v-for="(item, index) in groupList" :key="index" :label="item.groupName"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户标签:">
|
||||
<el-select v-model="labelData" placeholder="请选择" class="selWidth" clearable filterable multiple>
|
||||
<el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" :label="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">-->
|
||||
<!-- <el-col v-bind="grid">-->
|
||||
<!-- <el-form-item label="用户等级:">-->
|
||||
<!-- <el-select v-model="levelData" placeholder="请选择" class="selWidth" clearable filterable multiple>-->
|
||||
<!-- <el-option :value="item.id" v-for="(item, index) in levelList" :key="index" :label="item.name"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col v-bind="grid">-->
|
||||
<!-- <el-form-item label="用户分组:">-->
|
||||
<!-- <el-select v-model="groupData" placeholder="请选择" class="selWidth" clearable filterable multiple>-->
|
||||
<!-- <el-option :value="item.id" v-for="(item, index) in groupList" :key="index" :label="item.groupName"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col v-bind="grid">-->
|
||||
<!-- <el-form-item label="用户标签:">-->
|
||||
<!-- <el-select v-model="labelData" placeholder="请选择" class="selWidth" clearable filterable multiple>-->
|
||||
<!-- <el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" :label="item.name"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="国家:">
|
||||
@ -121,21 +121,21 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="身份:">
|
||||
<el-radio-group v-model="userFrom.isPromoter" type="button" class="selWidth">
|
||||
<el-radio-button label="">
|
||||
<span>全部</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="1">
|
||||
<span>推广员</span>
|
||||
</el-radio-button>
|
||||
<el-radio-button label="0">
|
||||
<span>普通用户</span>
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col v-bind="grid">-->
|
||||
<!-- <el-form-item label="身份:">-->
|
||||
<!-- <el-radio-group v-model="userFrom.isPromoter" type="button" class="selWidth">-->
|
||||
<!-- <el-radio-button label="">-->
|
||||
<!-- <span>全部</span>-->
|
||||
<!-- </el-radio-button>-->
|
||||
<!-- <el-radio-button label="1">-->
|
||||
<!-- <span>推广员</span>-->
|
||||
<!-- </el-radio-button>-->
|
||||
<!-- <el-radio-button label="0">-->
|
||||
<!-- <span>普通用户</span>-->
|
||||
<!-- </el-radio-button>-->
|
||||
<!-- </el-radio-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
</el-col>
|
||||
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
|
||||
|
||||
@ -160,8 +160,8 @@
|
||||
</div>
|
||||
<div class="btn_bt">
|
||||
<el-button class="mr10" size="small" @click="onSend" type="primary" v-hasPermi="['admin:coupon:user:receive']">发送优惠券</el-button>
|
||||
<el-button class="mr10" size="small" @click="setBatch('group')">批量设置分组</el-button>
|
||||
<el-button class="mr10" size="small" @click="setBatch('label')">批量设置标签</el-button>
|
||||
<!-- <el-button class="mr10" size="small" @click="setBatch('group')">批量设置分组</el-button>-->
|
||||
<!-- <el-button class="mr10" size="small" @click="setBatch('label')">批量设置标签</el-button>-->
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@ -229,24 +229,24 @@
|
||||
<span>{{scope.row.nickname | filterEmpty }} | {{scope.row.sex | sexFilter}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="用户等级"
|
||||
min-width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.level | levelFilter | filterEmpty}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="groupName"
|
||||
label="分组"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="spreadNickname"
|
||||
label="推荐人"
|
||||
min-width="130"
|
||||
/>
|
||||
<!-- <el-table-column-->
|
||||
<!-- label="用户等级"-->
|
||||
<!-- min-width="100"-->
|
||||
<!-- >-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <span>{{scope.row.level | levelFilter | filterEmpty}}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="groupName"-->
|
||||
<!-- label="分组"-->
|
||||
<!-- min-width="100"-->
|
||||
<!-- />-->
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="spreadNickname"-->
|
||||
<!-- label="推荐人"-->
|
||||
<!-- min-width="130"-->
|
||||
<!-- />-->
|
||||
<el-table-column
|
||||
label="手机号"
|
||||
min-width="100"
|
||||
@ -263,25 +263,16 @@
|
||||
<!--<span>{{scope.row.userType | typeFilter}}</span>-->
|
||||
<!--</template>-->
|
||||
<!--</el-table-column>-->
|
||||
<el-table-column
|
||||
prop="nowMoney"
|
||||
label="余额"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="integral"
|
||||
label="积分"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="isProsecutor"
|
||||
label="核销员"
|
||||
min-width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.isProsecutor == 0 ">非核销员</el-tag>
|
||||
<el-tag v-else>核销员</el-tag>
|
||||
</template>
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="nowMoney"-->
|
||||
<!-- label="余额"-->
|
||||
<!-- min-width="100"-->
|
||||
<!-- />-->
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="integral"-->
|
||||
<!-- label="积分"-->
|
||||
<!-- min-width="100"-->
|
||||
<!-- />-->
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" min-width="130" fixed="right" align="center">
|
||||
@ -293,13 +284,13 @@
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item @click.native="onDetails(scope.row.uid)" v-if="checkPermi(['admin:user:topdetail'])">账户详情</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="editPoint(scope.row.uid)" v-if="checkPermi(['admin:user:operate:founds'])">积分余额</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setBatch('group',scope.row)" v-if="checkPermi(['admin:user:group'])">设置分组</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setBatch('label',scope.row)" v-if="checkPermi(['admin:user:tag'])">设置标签</el-dropdown-item>
|
||||
<!-- <el-dropdown-item @click.native="editPoint(scope.row.uid)" v-if="checkPermi(['admin:user:operate:founds'])">积分余额</el-dropdown-item>-->
|
||||
<!-- <el-dropdown-item @click.native="setBatch('group',scope.row)" v-if="checkPermi(['admin:user:group'])">设置分组</el-dropdown-item>-->
|
||||
<!-- <el-dropdown-item @click.native="setBatch('label',scope.row)" v-if="checkPermi(['admin:user:tag'])">设置标签</el-dropdown-item>-->
|
||||
<el-dropdown-item @click.native="setPhone(scope.row)" v-if="checkPermi(['admin:user:update:phone'])">修改手机号</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="onLevel(scope.row.uid,scope.row.level)" v-if="checkPermi(['admin:user:update:level'])">修改用户等级</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setExtension(scope.row)" v-if="checkPermi(['admin:user:update:spread'])">修改上级推广人</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="clearSpread(scope.row)" v-if="scope.row.spreadUid && scope.row.spreadUid>0 && checkPermi(['admin:retail:spread:clean'])">清除上级推广人</el-dropdown-item>
|
||||
<!-- <el-dropdown-item @click.native="onLevel(scope.row.uid,scope.row.level)" v-if="checkPermi(['admin:user:update:level'])">修改用户等级</el-dropdown-item>-->
|
||||
<!-- <el-dropdown-item @click.native="setExtension(scope.row)" v-if="checkPermi(['admin:user:update:spread'])">修改上级推广人</el-dropdown-item>-->
|
||||
<!-- <el-dropdown-item @click.native="clearSpread(scope.row)" v-if="scope.row.spreadUid && scope.row.spreadUid>0 && checkPermi(['admin:retail:spread:clean'])">清除上级推广人</el-dropdown-item>-->
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
|
Loading…
Reference in New Issue
Block a user