main
parent
bb3ab3a52f
commit
ac8ef59aee
@ -0,0 +1,108 @@ |
|||||||
|
<template> |
||||||
|
<a-modal |
||||||
|
:title="title" |
||||||
|
:width="560" |
||||||
|
:visible="visible" |
||||||
|
:isLoading="isLoading" |
||||||
|
:confirmLoading="isLoading" |
||||||
|
:maskClosable="false" |
||||||
|
@ok="handleSubmit" |
||||||
|
@cancel="handleCancel" |
||||||
|
> |
||||||
|
<a-spin :spinning="isLoading"> |
||||||
|
<a-form :form="form"> |
||||||
|
<a-form-item |
||||||
|
label="审核状态" |
||||||
|
:labelCol="labelCol" |
||||||
|
:wrapperCol="wrapperCol" |
||||||
|
> |
||||||
|
<a-radio-group v-decorator="['standard_status', { initialValue: 1, rules: [{ required: true }] }]" @change="handleStatus"> |
||||||
|
<a-radio :value="10">同意</a-radio> |
||||||
|
<a-radio :value="20">拒绝</a-radio> |
||||||
|
</a-radio-group> |
||||||
|
</a-form-item> |
||||||
|
<a-form-item label="拒绝原因" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="refuse_show"> |
||||||
|
<a-textarea placeholder="拒绝原因" :rows="2" v-decorator="['cause', { initialValue: '', rules: [{ required: true,message: '拒绝原因不能为空' }] }]"/> |
||||||
|
</a-form-item> |
||||||
|
</a-form> |
||||||
|
</a-spin> |
||||||
|
</a-modal> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import * as Api from '@/api/order' |
||||||
|
|
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
refuse_show: false, |
||||||
|
// 对话框标题 |
||||||
|
title: '审核', |
||||||
|
// 标签布局属性 |
||||||
|
labelCol: { span: 7 }, |
||||||
|
// 输入框布局属性 |
||||||
|
wrapperCol: { span: 13 }, |
||||||
|
// modal(对话框)是否可见 |
||||||
|
visible: false, |
||||||
|
// modal(对话框)确定按钮 loading |
||||||
|
isLoading: false, |
||||||
|
// 当前表单元素 |
||||||
|
form: this.$form.createForm(this), |
||||||
|
// 当前记录 |
||||||
|
record: {} |
||||||
|
} |
||||||
|
}, |
||||||
|
created () { |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
|
||||||
|
// 显示对话框 |
||||||
|
show (record) { |
||||||
|
// 显示窗口 |
||||||
|
this.visible = true |
||||||
|
// 当前记录 |
||||||
|
this.record = record |
||||||
|
}, |
||||||
|
handleStatus (e) { |
||||||
|
if (e.target.value === 20) { |
||||||
|
this.form.setFieldsValue({ cause: '' }) |
||||||
|
this.refuse_show = true |
||||||
|
} else { |
||||||
|
this.refuse_show = false |
||||||
|
} |
||||||
|
}, |
||||||
|
// 确认按钮 |
||||||
|
handleSubmit (e) { |
||||||
|
e.preventDefault() |
||||||
|
// 表单验证 |
||||||
|
const { form: { validateFields } } = this |
||||||
|
validateFields((errors, values) => { |
||||||
|
// 提交到后端api |
||||||
|
!errors && this.onFormSubmit(values) |
||||||
|
}) |
||||||
|
}, |
||||||
|
|
||||||
|
// 关闭对话框事件 |
||||||
|
handleCancel () { |
||||||
|
this.visible = false |
||||||
|
this.form.resetFields() |
||||||
|
}, |
||||||
|
|
||||||
|
// 提交到后端api |
||||||
|
onFormSubmit (values) { |
||||||
|
this.isLoading = true |
||||||
|
Api.updateStandard({ standardId: this.record.id, form: values }) |
||||||
|
.then(result => { |
||||||
|
// 显示成功 |
||||||
|
this.$message.success(result.message, 1.5) |
||||||
|
// 关闭对话框事件 |
||||||
|
this.handleCancel() |
||||||
|
// 通知父端组件提交完成了 |
||||||
|
this.$emit('handleSubmit', values) |
||||||
|
}) |
||||||
|
.finally(() => this.isLoading = false) |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,138 @@ |
|||||||
|
<template> |
||||||
|
<a-modal |
||||||
|
:title="title" |
||||||
|
:width="800" |
||||||
|
:visible="visible" |
||||||
|
:isLoading="isLoading" |
||||||
|
:confirmLoading="isLoading" |
||||||
|
:maskClosable="false" |
||||||
|
:footer="null" |
||||||
|
@cancel="handleCancel" |
||||||
|
> |
||||||
|
<a-spin :spinning="isLoading"> |
||||||
|
<a-form :form="form" v-if="record"> |
||||||
|
<a-row> |
||||||
|
<a-col :span="24"> |
||||||
|
<a-form-item label="客户来源" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<span>{{ isFrom[record.from] }}</span> |
||||||
|
</a-form-item></a-col |
||||||
|
> |
||||||
|
</a-row> |
||||||
|
<a-row> |
||||||
|
<a-col :span="24" |
||||||
|
><a-form-item label="是否同一城市" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<span>{{ isYes[record.is_city] }}</span> |
||||||
|
</a-form-item></a-col |
||||||
|
></a-row |
||||||
|
> |
||||||
|
<a-row> |
||||||
|
<a-col :span="24" |
||||||
|
><a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<span v-if="record.standard_status == 10">审核通过</span> |
||||||
|
<span v-if="record.standard_status == 20">审核不通过</span> |
||||||
|
<span v-if="record.standard_status == 30">审核中</span> |
||||||
|
</a-form-item></a-col |
||||||
|
></a-row |
||||||
|
><a-row> |
||||||
|
<a-col :span="24"> |
||||||
|
<a-form-item label="微信聊天截图" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<SelectImage |
||||||
|
v-if="idOrderShow" |
||||||
|
ref="childComponent" |
||||||
|
:type="1" |
||||||
|
multiple |
||||||
|
:source="1" |
||||||
|
:maxNum="10" |
||||||
|
:defaultList="record.order_image_url" |
||||||
|
/> </a-form-item |
||||||
|
></a-col> |
||||||
|
</a-row> |
||||||
|
<a-row> |
||||||
|
<a-col :span="24" style="margin-bottom: 30px"> |
||||||
|
<a-form-item label="转账截图" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<SelectImage |
||||||
|
v-if="transferShow" |
||||||
|
:type="1" |
||||||
|
ref="childComponent" |
||||||
|
multiple |
||||||
|
:source="1" |
||||||
|
:maxNum="10" |
||||||
|
:defaultList="record.transfer_image_url" |
||||||
|
/> </a-form-item |
||||||
|
></a-col> |
||||||
|
</a-row> |
||||||
|
</a-form> |
||||||
|
</a-spin> |
||||||
|
</a-modal> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import * as Api from '@/api/market/settle' |
||||||
|
import { SelectImage } from '@/components' |
||||||
|
const isFrom = { |
||||||
|
10: '本地同城线下真实零售客户', |
||||||
|
20: '电商平台客户', |
||||||
|
30: '短视频平台客户', |
||||||
|
} |
||||||
|
|
||||||
|
const isYes = { |
||||||
|
10: '是', |
||||||
|
20: '否', |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
components: { |
||||||
|
SelectImage, |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
isFrom, |
||||||
|
isYes, |
||||||
|
|
||||||
|
title: '审单详情', |
||||||
|
// 对话框标题 |
||||||
|
// 标签布局属性 |
||||||
|
labelCol: { span: 7 }, |
||||||
|
// 输入框布局属性 |
||||||
|
wrapperCol: { span: 13 }, |
||||||
|
// modal(对话框)是否可见 |
||||||
|
visible: false, |
||||||
|
// modal(对话框)确定按钮 loading |
||||||
|
isLoading: false, |
||||||
|
// 当前表单元素 |
||||||
|
form: this.$form.createForm(this), |
||||||
|
// 当前记录 |
||||||
|
record: {}, |
||||||
|
idOrderShow: false, |
||||||
|
transferShow: false, |
||||||
|
} |
||||||
|
}, |
||||||
|
created() {}, |
||||||
|
methods: { |
||||||
|
details(record) { |
||||||
|
this.visible = true |
||||||
|
this.idOrderShow = false |
||||||
|
this.transferShow = false |
||||||
|
this.record = record |
||||||
|
if (this.record) { |
||||||
|
this.idOrderShow = true |
||||||
|
this.transferShow = true |
||||||
|
} |
||||||
|
}, |
||||||
|
// 关闭对话框事件 |
||||||
|
handleCancel() { |
||||||
|
this.visible = false |
||||||
|
this.idOrderShow = false |
||||||
|
this.transferShow = false |
||||||
|
this.form.resetFields() |
||||||
|
}, |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
.ant-form-item { |
||||||
|
margin-bottom: 5px; |
||||||
|
} |
||||||
|
</style> |
||||||
|
|
@ -0,0 +1,166 @@ |
|||||||
|
<template> |
||||||
|
<a-modal |
||||||
|
:title="title" |
||||||
|
:width="1000" |
||||||
|
:visible="visible" |
||||||
|
:isLoading="isLoading" |
||||||
|
:confirmLoading="isLoading" |
||||||
|
:maskClosable="false" |
||||||
|
:footer="null" |
||||||
|
@cancel="handleCancel" |
||||||
|
> |
||||||
|
<a-spin :spinning="isLoading"> |
||||||
|
<a-table |
||||||
|
v-if="!isLoading" |
||||||
|
rowKey="category_id" |
||||||
|
:columns="columns" |
||||||
|
:dataSource="documentList" |
||||||
|
:defaultExpandAllRows="true" |
||||||
|
:expandIconColumnIndex="1" |
||||||
|
:pagination="false" |
||||||
|
:loading="isLoading" |
||||||
|
> |
||||||
|
<!-- 文章封面图 --> |
||||||
|
<span slot="transfer_image_url" slot-scope="text"> |
||||||
|
<a v-if="text" title="点击查看原图"> |
||||||
|
<img height="50" :src="text[0].preview_url" alt="转账图片" /> |
||||||
|
</a> |
||||||
|
</span> |
||||||
|
<span slot="order_image_url" slot-scope="text"> |
||||||
|
<a v-if="text" title="点击查看原图"> |
||||||
|
<img height="50" :src="text[0].preview_url" alt="聊天截图" /> |
||||||
|
</a> |
||||||
|
</span> |
||||||
|
<!-- 状态 --> |
||||||
|
<span slot="is_city" slot-scope="text"> |
||||||
|
<a-tag :color="text == 10 ? 'green' : ''">{{ text == 10 ? '是' : '否' }}</a-tag> |
||||||
|
</span> |
||||||
|
<span slot="from" slot-scope="text"> |
||||||
|
<span v-if="text == 10">本地同城线下真实零售客户</span> |
||||||
|
<span v-if="text == 20">电商平台客户</span> |
||||||
|
<span v-if="text == 30">短视频平台客户</span> |
||||||
|
</span> |
||||||
|
<span slot="standard_status" slot-scope="text"> |
||||||
|
<span v-if="text == 10">审核通过</span> |
||||||
|
<span v-if="text == 20">审核不通过</span> |
||||||
|
<span v-if="text == 30">审核中</span> |
||||||
|
</span> |
||||||
|
<span slot="action" slot-scope="text, item"> |
||||||
|
<a style="margin-right: 8px" @click="handleEdit(item)">详情</a> |
||||||
|
<a @click="onClickRecord(item)" v-if="item.standard_status==10">审单</a> |
||||||
|
</span> |
||||||
|
</a-table> |
||||||
|
</a-spin> |
||||||
|
<DocumentRecord ref="DocumentRecord" /> |
||||||
|
<DocumentRecordDetails ref="DocumentRecordDetails" /> |
||||||
|
</a-modal> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import * as Api from '@/api/order' |
||||||
|
import DocumentRecord from './DocumentRecord.vue' |
||||||
|
import DocumentRecordDetails from './DocumentRecordDetails.vue' |
||||||
|
import { STable } from '@/components' |
||||||
|
export default { |
||||||
|
components: { |
||||||
|
DocumentRecord, |
||||||
|
DocumentRecordDetails, |
||||||
|
STable, |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
// 对话框标题 |
||||||
|
title: '审单记录', |
||||||
|
// 标签布局属性 |
||||||
|
labelCol: { span: 7 }, |
||||||
|
// 输入框布局属性 |
||||||
|
wrapperCol: { span: 13 }, |
||||||
|
// modal(对话框)是否可见 |
||||||
|
visible: false, |
||||||
|
// modal(对话框)确定按钮 loading |
||||||
|
isLoading: false, |
||||||
|
// 当前表单元素 |
||||||
|
// 当前记录 |
||||||
|
record: {}, |
||||||
|
documentList: [], |
||||||
|
// 表头 |
||||||
|
columns: [ |
||||||
|
{ |
||||||
|
title: '审单ID', |
||||||
|
dataIndex: 'id', |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '客户来源', |
||||||
|
width: '120px', |
||||||
|
dataIndex: 'from', |
||||||
|
scopedSlots: { customRender: 'from' }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '是否同一城市', |
||||||
|
width: '100px', |
||||||
|
dataIndex: 'is_city', |
||||||
|
scopedSlots: { customRender: 'is_city' }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '微信聊天截图', |
||||||
|
dataIndex: 'order_image_url', |
||||||
|
scopedSlots: { customRender: 'order_image_url' }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '转账截图', |
||||||
|
dataIndex: 'transfer_image_url', |
||||||
|
scopedSlots: { customRender: 'transfer_image_url' }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '状态', |
||||||
|
dataIndex: 'standard_status', |
||||||
|
scopedSlots: { customRender: 'standard_status' }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '添加时间', |
||||||
|
dataIndex: 'create_time', |
||||||
|
}, |
||||||
|
{ |
||||||
|
title: '操作', |
||||||
|
dataIndex: 'action', |
||||||
|
width: '120px', |
||||||
|
scopedSlots: { customRender: 'action' }, |
||||||
|
}, |
||||||
|
], |
||||||
|
} |
||||||
|
}, |
||||||
|
created() {}, |
||||||
|
methods: { |
||||||
|
// 显示对话框 |
||||||
|
show(record) { |
||||||
|
// 显示窗口 |
||||||
|
this.visible = true |
||||||
|
// 当前记录 |
||||||
|
this.record = record |
||||||
|
if (this.record) { |
||||||
|
this.getDocumentList() |
||||||
|
} |
||||||
|
}, |
||||||
|
// 获取分类列表 |
||||||
|
getDocumentList(bool) { |
||||||
|
bool && (this.isLoading = true) |
||||||
|
Api.getStandardList({ orderId: this.record.order_id }) |
||||||
|
.then((result) => { |
||||||
|
this.documentList = result.data.list |
||||||
|
}) |
||||||
|
.finally(() => (this.isLoading = false)) |
||||||
|
}, |
||||||
|
onClickRecord(record) { |
||||||
|
this.$refs.DocumentRecord.show(record) |
||||||
|
}, |
||||||
|
handleEdit(record) { |
||||||
|
this.$refs.DocumentRecordDetails.details(record) |
||||||
|
}, |
||||||
|
// 关闭对话框事件 |
||||||
|
handleCancel() { |
||||||
|
this.visible = false |
||||||
|
this.form.resetFields() |
||||||
|
}, |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
Loading…
Reference in new issue