141 lines
4.9 KiB
Vue
141 lines
4.9 KiB
Vue
<template>
|
|
<view>
|
|
<el-descriptions title="金久信自营订单详情" :column="2" border :labelStyle="{width: '120px'}" v-if="info">
|
|
<el-descriptions-item label="服务">
|
|
<p v-for="(item, index) in orderInfo.goods" :key="index">{{ item.goodsName }}</p>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="考察对象" v-if="info.type === 0">
|
|
<div style="margin-bottom: .5rem" v-for="(item, index) in info.contentList" :key="index">
|
|
<span>{{ item.name }}</span>
|
|
<template v-if="item.type && item.type === '个人' && item.addressRegion">
|
|
({{
|
|
item.code
|
|
}})--{{ item.addressRegion.province.name }}{{
|
|
item.addressRegion.city.name
|
|
}}{{ item.addressRegion.area.name }}{{ item.address }}
|
|
</template>
|
|
</div>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="考察产品" v-else>
|
|
<p style="margin-bottom: .5rem" v-for="(item, index) in info.contentList" :key="index">{{
|
|
item.name
|
|
}}--{{ item.addressRegion.province.name }}{{
|
|
item.addressRegion.city.name
|
|
}}{{ item.addressRegion.area.name }}{{ item.address }}</p>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="文档">
|
|
<div v-for="(item, index) in info.contentList" :key="index">
|
|
<template v-if="item.files">
|
|
<a v-for="(file, fileIndex) in item.files" :key="fileIndex" :href="file"
|
|
target="_blank">预览:文件{{ fileIndex + 1 }}</a>
|
|
</template>
|
|
</div>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="接收文件电子邮箱">
|
|
<span>{{ info.email }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="接收文件微信">
|
|
<span>{{ info.wechat }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="接收文件寄件地址">
|
|
<span v-if="info.receiveAddressRegion.province">{{
|
|
info.receiveAddressRegion.province.name
|
|
}}{{ info.receiveAddressRegion.city.name }}{{
|
|
info.receiveAddressRegion.area.name
|
|
}}{{ info.receiveAddress }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="申请人">
|
|
<span>{{ info.requestName }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="业务联系人">
|
|
<span>{{ info.contactName }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="业务联系方式">
|
|
<span>{{ info.contact }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="接单公司" v-if="info.companyId">
|
|
<span>{{ info.company.company.companyName }}</span>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="文件上传">
|
|
<vk-data-upload v-model="resultFiles"
|
|
:limit="9"
|
|
:on-preview="previewUpload"
|
|
accept=".jpg,.jpeg,.png,.xlsx,.doc,.docx,.pdf" list-type="text">
|
|
</vk-data-upload>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="发送途径">
|
|
<el-select v-model="sendMethod" placeholder="请选择发送途径">
|
|
<el-option label="接收文件电子邮箱" value="接收文件电子邮箱"/>
|
|
<el-option label="接收文件微信" value="接收文件微信"/>
|
|
<el-option label="邮寄接收文件地址" value="邮寄接收文件地址"/>
|
|
</el-select>
|
|
</el-descriptions-item>
|
|
<template slot="extra">
|
|
<div class="flex justify-start items-center">
|
|
<el-button type="primary" size="mini" @click="setSend">确认完成
|
|
</el-button>
|
|
<el-button plain type="primary" size="mini" class="mx-20" @click="close">
|
|
关闭
|
|
</el-button>
|
|
</div>
|
|
</template>
|
|
</el-descriptions>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: "setSend",
|
|
props: {
|
|
orderInfo: Object
|
|
},
|
|
data() {
|
|
return {
|
|
info: null,
|
|
sendMethod: null,
|
|
resultFiles: []
|
|
}
|
|
},
|
|
methods: {
|
|
async getInfo() {
|
|
const {data} = await vk.callFunction({
|
|
url: 'client/selfSupport/kh/getDetailByOrder',
|
|
data: {
|
|
orderId: this.orderInfo._id
|
|
}
|
|
})
|
|
this.info = data
|
|
},
|
|
async setSend() {
|
|
if (this.resultFiles.length === 0) {
|
|
vk.toast("请上传文件")
|
|
return
|
|
}
|
|
if (!this.sendMethod) {
|
|
vk.toast("请选择发送途径")
|
|
return
|
|
}
|
|
await vk.callFunction({
|
|
url: 'client/order/kh/changeOrderStatus',
|
|
data: {
|
|
id: this.orderInfo._id,
|
|
orderStatus: 3,
|
|
sendMethod: this.sendMethod,
|
|
resultFiles: this.resultFiles,
|
|
}
|
|
})
|
|
this.close()
|
|
},
|
|
close() {
|
|
this.$emit("close")
|
|
},
|
|
previewUpload({url}) {
|
|
window.open(url)
|
|
}
|
|
},
|
|
mounted() {
|
|
console.log(this.orderInfo)
|
|
this.getInfo()
|
|
}
|
|
}
|
|
</script> |