Commit 4d53def6 authored by liwei's avatar liwei

Merge remote-tracking branch 'origin/master'

parents 6a9ab059 c2491fec
import request from '@/utils/request'
import Qs from 'qs'
/**
* 1. 列表查询
* 2. 查询详细信息
* 3. 新增
* 4. 修改
* 5. 逻辑删除
* 6. 导出
*
*/
// 1. 查询订单信息表列表
export function listCmsOrder(query) {
return request({
url: '/cmsOrder/list',
method: 'get',
params: query
})
}
// 2. 查询订单信息表详细信息
export function getCmsOrder(businessId) {
return request({
url: '/cmsOrder/detail/' + businessId,
method: 'get'
})
}
// 3. 新增订单信息表
export function addCmsOrder(data) {
data = Qs.stringify(data)
return request({
url: '/cmsOrder/add',
method: 'post',
data: data
})
}
// 4. 修改订单信息表
export function updateCmsOrder(data) {
const businessId = data.businessId
data = Qs.stringify(data)
return request({
url: '/cmsOrder/update/' + businessId,
method: 'put',
data
})
}
// 5. 逻辑删除订单信息表
export function delCmsOrder(businessId) {
return request({
url: '/cmsOrder/deleteLogical/' + businessId,
method: 'delete'
})
}
// 6. 导出订单信息表
export function exportCmsOrder(query) {
return request({
url: '/cmsOrder/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
<template>
<div class="app-container">
<div class="search">
<el-form ref="queryForm" style="padding: 30px 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="订单名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入订单名称"
clearable
:maxlength="150"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="商品" prop="goodsId">
<el-input
v-model="queryParams.goodsId"
placeholder="请输入商品id"
clearable
:maxlength="50"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="会员" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入会员id"
clearable
:maxlength="50"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="会员账号" prop="account">
<el-input
v-model="queryParams.account"
placeholder="请输入会员账号"
clearable
:maxlength="200"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="总价" prop="price">
<el-input
v-model="queryParams.price"
placeholder="请输入总价"
clearable
:maxlength="50"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="支付金额" prop="payPrice">
<el-input
v-model="queryParams.payPrice"
placeholder="请输入支付金额"
clearable
:maxlength="50"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 200px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="订单号" prop="transactionId">
<el-input
v-model="queryParams.transactionId"
placeholder="请输入订单号"
clearable
:maxlength="50"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="退款时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 200px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="核销时间">
<el-date-picker
v-model="dateRange"
size="small"
style="width: 200px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="状态" prop="flag">
<el-select v-model="queryParams.flag" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery"
>查询</el-button>
<el-button
:class="commonField.resetClass"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery"
>重置</el-button>
</el-form-item>
</el-form>
</div>
<div style="padding:5px 10px">
<div class="tableTitle">会员列表</div>
<el-table v-loading="loading" border :data="cmsOrderList">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="订单名称" prop="name" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.name || '-' }}
</template>
</el-table-column>
<el-table-column label="商品" prop="goodsId" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.goodsId || '-' }}
</template>
</el-table-column>
<el-table-column label="会员" prop="userId" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.userId || '-' }}
</template>
</el-table-column>
<el-table-column label="会员账号" prop="account" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.account || '-' }}
</template>
</el-table-column>
<el-table-column label="购买数量" prop="num" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.num || '-' }}
</template>
</el-table-column>
<el-table-column label="总价" prop="price" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.price || '-' }}
</template>
</el-table-column>
<el-table-column label="支付金额" prop="payPrice" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.payPrice || '-' }}
</template>
</el-table-column>
<el-table-column label="订单类型" prop="type" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.type || '-' }}
</template>
</el-table-column>
<el-table-column label="下单时间" prop="orderTime" width="150" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.orderTime | transformDateByFormat('YYYY-MM-DD') }}</span>
</template>
</el-table-column>
<el-table-column label="订单号" prop="transactionId" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.transactionId || '-' }}
</template>
</el-table-column>
<el-table-column label="退款时间" prop="refundTime" width="150" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.refundTime | transformDateByFormat('YYYY-MM-DD') }}</span>
</template>
</el-table-column>
<el-table-column label="退款次数" prop="refundCount" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.refundCount || '-' }}
</template>
</el-table-column>
<el-table-column label="订单状态" prop="status" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.status || '-' }}
</template>
</el-table-column>
<el-table-column label="核销商家" prop="cancelId" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.cancelId || '-' }}
</template>
</el-table-column>
<el-table-column label="核销时间" prop="cancelTime" width="150" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.cancelTime | transformDateByFormat('YYYY-MM-DD') }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="状态" prop="flag">
<template slot-scope="scope">
<el-switch
v-model="scope.row.flag"
class="switchDisabledStyle"
inactive-value="0"
active-value="1"
@click.native="handleStatusChange(scope.row)"
/>
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-button
:class="commonField.updateClass"
:type="commonField.typeParent"
:size="commonField.size"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button
:class="commonField.delClass"
:type="commonField.typeParent"
:size="commonField.size"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
<!-- 添加或修改订单信息表配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="90px">
<el-form-item label="订单名称" prop="name">
<el-input v-model.trim="form.name" show-word-limit :maxlength="150" placeholder="请输入订单名称" />
</el-form-item>
<el-form-item label="商品id" prop="goodsId">
<el-input v-model.trim="form.goodsId" show-word-limit :maxlength="50" placeholder="请输入商品id" />
</el-form-item>
<el-form-item label="会员id" prop="userId">
<el-input v-model.trim="form.userId" show-word-limit :maxlength="50" placeholder="请输入会员id" />
</el-form-item>
<el-form-item label="会员账号" prop="account">
<el-input v-model.trim="form.account" show-word-limit :maxlength="200" placeholder="请输入会员账号" />
</el-form-item>
<el-form-item label="购买数量" prop="num">
<el-input-number v-model.trim="form.num" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="总价" prop="price">
<el-input v-model.trim="form.price" show-word-limit :maxlength="50" placeholder="请输入总价" />
</el-form-item>
<el-form-item label="支付金额" prop="payPrice">
<el-input v-model.trim="form.payPrice" show-word-limit :maxlength="50" placeholder="请输入支付金额" />
</el-form-item>
<el-form-item label="订单类型" prop="type">
<el-input-number v-model.trim="form.type" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="下单时间" prop="orderTime">
<el-date-picker
v-model="form.orderTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
/>
</el-form-item>
<el-form-item label="微信支付订单号" prop="transactionId">
<el-input v-model.trim="form.transactionId" show-word-limit :maxlength="50" placeholder="请输入微信支付订单号" />
</el-form-item>
<el-form-item label="退款时间" prop="refundTime">
<el-date-picker
v-model="form.refundTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
/>
</el-form-item>
<el-form-item label="退款次数" prop="refundCount">
<el-input-number v-model.trim="form.refundCount" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="订单状态" prop="status">
<el-input-number v-model.trim="form.status" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="核销商家id" prop="cancelId">
<el-input v-model.trim="form.cancelId" show-word-limit :maxlength="50" placeholder="请输入核销商家id" />
</el-form-item>
<el-form-item label="核销时间" prop="cancelTime">
<el-date-picker
v-model="form.cancelTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
/>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.flag">
<el-radio label="1">启用</el-radio>
<el-radio label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model.trim="form.remarks" maxlength="200" show-word-limit type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button class="cancelBtn" @click="cancel">取 消</el-button>
<el-button class="submitBtn" type="primary" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listCmsOrder,
getCmsOrder,
delCmsOrder,
addCmsOrder,
updateCmsOrder,
exportCmsOrder } from '@/api/contentManagement/cmsOrder'
import commonField from '@/utils/commonField'
export default {
name: 'CmsOrder',
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
// 订单信息表表格数据
cmsOrderList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
// 状态菜单
statusOptions: [
{
dictLabel: '启用',
dictValue: '1'
},
{
dictLabel: '停用',
dictValue: '0'
}
],
// 日期范围
dateRange: [],
// 查询参数
queryParams: {
page: 1,
rows: 10,
name: undefined,
goodsId: undefined,
userId: undefined,
account: undefined,
num: undefined,
price: undefined,
payPrice: undefined,
type: undefined,
orderTime: undefined,
transactionId: undefined,
refundTime: undefined,
refundCount: undefined,
status: undefined,
cancelId: undefined,
cancelTime: undefined,
flag: ''
},
// 表单参数
form: {},
// 表单校验
rules: {
}
}
},
computed: {
commonField() {
return commonField
}
},
created() {
this.getList() // 列表查询
},
methods: {
/** 查询订单信息表列表 */
getList() {
this.loading = true
listCmsOrder(this.addDateRange(this.queryParams, this.dateRange)).then(
response => {
this.cmsOrderList = response.data
this.total = response.total
this.loading = false
}
)
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
businessId: undefined,
name: undefined,
goodsId: undefined,
userId: undefined,
account: undefined,
num: undefined,
price: undefined,
payPrice: undefined,
type: undefined,
orderTime: undefined,
transactionId: undefined,
refundTime: undefined,
refundCount: undefined,
status: undefined,
cancelId: undefined,
cancelTime: undefined,
remarks: undefined,
flag: '1'
}
this.resetForm('form')
},
/** 查询按钮操作 */
handleQuery() {
this.queryParams.page = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = []
this.queryParams = {
page: 1,
rows: 10,
name: undefined,
goodsId: undefined,
userId: undefined,
account: undefined,
num: undefined,
price: undefined,
payPrice: undefined,
type: undefined,
orderTime: undefined,
transactionId: undefined,
refundTime: undefined,
refundCount: undefined,
status: undefined,
cancelId: undefined,
cancelTime: undefined,
flag: ''
}
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加订单信息表'
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.businessId
getCmsOrder(id).then(response => {
this.form = response.data
this.open = true
this.title = '修改订单信息表'
})
},
// 改变状态
handleStatusChange(row) {
const text = row.flag === '1' ? '启用' : '停用'
this.$confirm('确认操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return updateCmsOrder(row)
}).then(() => {
this.$message({
message: text + '成功',
type: 'success'
})
}).catch(function() {
row.flag = row.flag === '0' ? '1' : '0'
})
},
/** 提交按钮 */
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
updateCmsOrder(this.form).then(response => {
this.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addCmsOrder(this.form).then(response => {
this.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.businessId
this.$confirm('是否确认操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return delCmsOrder(id)
}).then(() => {
this.getList()
this.$message({
message: '删除成功',
type: 'success'
})
}).catch(function() {
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams
this.$confirm('是否确认操作?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return exportCmsOrder(queryParams).then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob)// 创建下载的链接
downloadElement.href = href
downloadElement.download = '订单信息表信息' + '.xls' // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
window.URL.revokeObjectURL(href)// 释放掉blob对象
})
})
}
}
}
</script>
<style lang="scss" scoped>
.app-container {
font-size: 18px;
padding: 0;
.placeholder {
height: 1.3vh;
background-color: #F4F4F4;
margin-bottom: 10px
}
}
</style>
...@@ -9,20 +9,30 @@ ...@@ -9,20 +9,30 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="微信头像:" prop="pictureId"> <el-form-item label="微信头像:" prop="pictureId">
<el-upload <div style="justify-content: space-between;display: flex">
ref="upload" <el-upload
accept=".png,.jpg,.jpeg,.PNG,.JPG,.JPEG" ref="upload"
:file-list="fileList" accept=".png,.jpg,.jpeg,.PNG,.JPG,.JPEG"
list-type="picture-card" :file-list="fileList"
class="avatar-uploader" list-type="picture-card"
action="#" class="avatar-uploader"
:disabled="secondFromDisabled" action="#"
:show-file-list="false" :disabled="secondFromDisabled"
:before-upload="handleUploadBeforeFake" :show-file-list="false"
:auto-upload="true" :before-upload="handleUploadBeforeFake"
> :auto-upload="true"
<img v-if="imageUrl" :src="imageUrl" class="avatar" alt=""> >
</el-upload> <img v-if="imageUrl" :src="imageUrl" class="avatar" alt="">
</el-upload>
<div style="margin-left: 20px">
<img v-if="form.pictureUrls != null && form.pictureUrls.length > 0" :src="form.pictureUrls[0]" style="width: 80px;height: 80px" alt="">
<img v-if="form.pictureUrls != null && form.pictureUrls.length > 2" :src="form.pictureUrls[2]" style="width: 80px;height: 80px" alt="">
</div>
<div>
<img v-if="form.pictureUrls != null && form.pictureUrls.length > 1" :src="form.pictureUrls[1]" style="width: 80px;height: 80px" alt="">
<img v-if="form.pictureUrls != null && form.pictureUrls.length > 3" :src="form.pictureUrls[3]" style="width: 80px;height: 80px" alt="">
</div>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
...@@ -851,6 +861,7 @@ export default { ...@@ -851,6 +861,7 @@ export default {
this.form.memConstellation = Number(this.form.memConstellation) this.form.memConstellation = Number(this.form.memConstellation)
this.form.memResidence = Number(this.form.memResidence) this.form.memResidence = Number(this.form.memResidence)
this.form.memLevel = Number(this.form.memLevel) this.form.memLevel = Number(this.form.memLevel)
this.form.pictureUrls = this.form.pictureUrls.split(',')
}, },
handleResidence() { handleResidence() {
const province = this.residence.find(item => item.value === this.form.memResidence[0]) const province = this.residence.find(item => item.value === this.form.memResidence[0])
......
...@@ -345,8 +345,8 @@ export default { ...@@ -345,8 +345,8 @@ export default {
getList() { getList() {
this.loading = true this.loading = true
listData(this.queryParams).then(response => { listData(this.queryParams).then(response => {
if (response.rows) { if (response.data) {
this.dataList = response.rows this.dataList = response.data
this.total = response.total this.total = response.total
} }
this.loading = false this.loading = false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment