Files
jjx-web-sign-only/pages/order/components/setSend.vue
T
2026-10-08 18:20:51 +08:00

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>