This commit is contained in:
Y Name
2021-07-01 01:18:43 +08:00
parent 77d84a63c2
commit 72186f32e2
3 changed files with 133 additions and 49 deletions

View File

@ -8,6 +8,13 @@ export function getData(data) {
})
}
export function salesCheck() {
return request({
url: '/api/yxStoreAfterSales/salesCheck',
method: 'post'
})
}
export function add(data) {
return request({
url: 'api/yxStoreAfterSales',

View File

@ -1,47 +1,92 @@
<template>
<el-dialog
class="afterSealsAdd"
:close-on-click-modal="false"
:before-close="cancelCU"
:visible.sync="visible"
:title="'添加'" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="物流单号">
<el-input v-model="form.deliverySn" style="width: 370px;" />
</el-form-item>
<el-form-item label="状态">
<el-input v-model="form.state" style="width: 370px;" />
</el-form-item>
<el-form-item label="售后状态">
<el-input v-model="form.salesState" style="width: 370px;" />
</el-form-item>
</el-form>
<div v-if="serviceType === 0">
<span>该订单为仅退款订单审核通过之后需进行退款是否审核通过</span>
</div>
<div v-if="serviceType === 1">
<span>该订单为退货退款请输入退货地址</span>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="收货人" prop="consignee">
<el-input v-model="form.consignee" style="width: 370px;" />
</el-form-item>
<el-form-item label="手机号" prop="phoneNumber">
<el-input v-model="form.phoneNumber" style="width: 370px;" />
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" style="width: 370px;" />
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="cancel">取消</el-button>
<el-button :loading="cu === 2" type="primary" @click="submit">确认</el-button>
<el-button :loading="loading" type="primary" @click="submit">确认</el-button>
</div>
</el-dialog>
</template>
<script>
import {salesCheck} from '@/api/yxStoreAfterSales.js'
export default {
props: {
// visible: {
// typeof: Boolean,
// default: false
// }
},
data () {
return {
visible: false,
isShow: false,
loading: false,
serviceType: '',
form: {
salesId: '', // 售后id
orderCode: '', // 订单编号
approvalStatus: '', // 审核状态0成功1失败
consignee: '', // 收货人
phoneNumber: '', // 手机号
address: '' // 地址
},
rules: {
consignee: [{ required: true, message: '请输入', trigger: 'blur' }],
phoneNumber: [{ required: true, message: '请输入', trigger: 'blur' }],
address: [{ required: true, message: '请输入', trigger: 'blur' }]
},
}
},
methods: {
cancel() {},
submit() {}
cancel() {
this.visible = false
this.$refs['form'].resetFields()
},
async submit() {
this.loading = true
if (this.serviceType === 0) {
consignee = ''
phoneNumber = ''
address = ''
}
this.form.approvalStatus = 0
var res = await salesCheck(this.form)
console.log(res)
if (res.status === 200) {
this.$message.success('审核成功')
} else {
this.$message.error(res.msg || '审核失败!')
}
this.loading = true
}
}
}
</script>
<style>
<style lang="scss" scoped>
.afterSealsAdd{
span{
line-height: 40px;
font-size: 18px;
font-weight: bold;
margin: 25px;
}
}
</style>

View File

@ -2,16 +2,6 @@
<div class="afterSealsContainer">
<div class="titleSearch">
<el-input v-model="query.orderCode" clearable placeholder="输入搜索内容" style="width: 200px;" class="filter-item" @keyup.enter.native="toQuery" />
<el-select v-model="query.type"
clearable placeholder="类型"
class="filter-item"
style="width: 130px">
<el-option
v-for="item in queryTypeOptions"
:key="item.key"
:label="item.name"
:value="item.key" />
</el-select>
<el-date-picker
v-model="searchTime"
:default-time="['00:00:00','23:59:59']"
@ -23,12 +13,43 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
<br>
<el-select v-model="query.type"
clearable placeholder="售后类型"
class="filter-item"
style="width: 130px">
<el-option
v-for="item in serviceTypeOptions"
:key="item.key"
:label="item.name"
:value="item.key" />
</el-select>
<el-select v-model="query.salesState"
clearable placeholder="售后状态"
class="filter-item"
style="width: 130px">
<el-option
v-for="item in salesOptions"
:key="item.key"
:label="item.name"
:value="item.key" />
</el-select>
<el-select v-model="query.state"
clearable placeholder="订单状态"
class="filter-item"
style="width: 130px">
<el-option
v-for="item in statusOptions"
:key="item.key"
:label="item.name"
:value="item.key" />
</el-select>
<el-button size="mini" type="success" icon="el-icon-search" @click="toQuery">搜索</el-button>
<el-button
size="mini"
type="warning"
icon="el-icon-refresh-left"
@click="query.orderCode = ''; query.type = ''; searchTime = []">重置</el-button>
@click="query.orderCode = query.type = query.salesState = query.state = ''; searchTime = []">重置</el-button>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<!-- <crudOperation :permission="permission" /> -->
@ -93,33 +114,39 @@
layout="total, prev, pager, next, sizes"
@size-change="sizeChange"
@current-change="pageChange" />
<ADialog ref="addForm" :visible="addVisible"/>
</div>
</template>
<script>
import initData from '@/mixins/crud'
import crudYxStoreAfterSales from '@/api/yxStoreAfterSales'
import ADialog from './addDialog.vue'
export default {
name: 'YxStoreAfterSales',
components: { ADialog },
mixins: [initData],
data() {
return {
addVisible: false,
searchTime: [],
permission: {
add: ['admin', 'yxStoreAfterSales:add'],
edit: ['admin', 'yxStoreAfterSales:edit'],
del: ['admin', 'yxStoreAfterSales:del']
},
rules: {
},
queryTypeOptions: [
// { key: 'serviceType', display_name: '服务类型0仅退款1退货退款' }
{ key: 0, name: '全部' },
{ key: 1, name: '仅退款' },
{ key: 2, name: '退货退款' }
salesOptions: [
{ key: 0, name: '正常'},
{ key: 1, name: '用户已取消' },
{ key: 2, name: '已拒绝用户'}
],
stateOptions: [
serviceTypeOptions: [
{ key: '', name: '全部' },
{ key: 0, name: '仅退款' },
{ key: 1, name: '退货退款' }
],
statusOptions: [
{ key: 0, name: '待审核'},
{ key: 1, name: '等待用户发货'},
{ key: 2, name: '用户已发货'},
@ -135,36 +162,41 @@ export default {
methods: {
beforeInit() {
this.url = 'api/yxStoreAfterSales/sales/List'
console.log(this.query.createTime)
this.params = {
page: this.page,
size: this.size,
serviceType: this.query.type || 0, // 查询类型
serviceType: this.query.type || '', // 查询类型
salesState: 0, // 售后状态
state: '',
orderCode: this.query.value || '',
startingTime: this.searchTime[0] || '',
endTime: this.searchTime[1] || ''
orderCode: this.query.orderCode || '',
// startingTime: this.searchTime[0] || '',
// endTime: this.searchTime[1] || ''
}
return true
},
// 审核
checkItem() {},
checkItem(row) {
console.log(row)
this.$refs.addForm.serviceType = row.serviceType
this.$refs.addForm.form.salesId = row.id
this.$refs.addForm.form.orderCode = row.orderCode
this.$refs.addForm.visible = true
},
// 删除
deleteItem() {}
}
}
</script>
<style lang="scss" scoped>
.afterSealsContainer{
padding: 12px 8px;
.titleSearch {
height: 40px;
line-height: 40px;
margin: 20px 0;
}