This commit is contained in:
qsh
2024-07-26 17:51:35 +08:00
parent b2a7fa8dc4
commit 2be616917e
13 changed files with 424 additions and 25 deletions

View File

@@ -1,6 +1,11 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible" width="800px">
<Descriptions :data="orderInfo" :schema="schema" :columns="2" labelWidth="130px" />
<el-table :data="followList" size="small" border class="mt-10px">
<el-table-column prop="userName" label="跟进人" />
<el-table-column prop="followTime" label="最新跟进时间" :formatter="dateFormatter" />
<el-table-column prop="signSate" label="成交状态" />
</el-table>
<el-form ref="formRef" v-loading="formLoading" :model="formData" label-width="80px">
<el-form-item label="状态" prop="state">
<el-radio-group v-model="formData.state">
@@ -19,7 +24,9 @@
</Dialog>
</template>
<script name="DialogFeebackAudit" setup>
import { getFollowUserList } from '@/api/clue'
import { auditPayment } from '@/api/clue/payment'
import { dateFormatter } from '@/utils/formatTime'
const message = useMessage() // 消息弹窗
@@ -90,8 +97,10 @@ const open = async (row) => {
dialogVisible.value = true
dialogTitle.value = '回款审核'
resetForm(row.id)
// 修改时,设置数据
// 设置数据
orderInfo.value = { ...row }
// 获取跟进信息
getFollowInfo(row.clueId)
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -124,4 +133,12 @@ const resetForm = (signId) => {
}
formRef.value?.resetFields()
}
const followList = ref([])
function getFollowInfo(id) {
getFollowUserList({ id }).then((data) => {
followList.value = data
})
}
</script>

View File

@@ -7,6 +7,11 @@
:columns="2"
labelWidth="130px"
/>
<el-table :data="followList" size="small" border class="mt-10px">
<el-table-column prop="userName" label="跟进人" />
<el-table-column prop="followTime" label="最新跟进时间" :formatter="dateFormatter" />
<el-table-column prop="signSate" label="成交状态" />
</el-table>
<Descriptions
title="审核详情"
:data="orderInfo"
@@ -18,6 +23,7 @@
</template>
<script name="DialogFeebackDetail" setup>
import { getPaymentDetail } from '@/api/clue/payment'
import { getFollowUserList } from '@/api/clue'
const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // 弹窗的标题
@@ -114,14 +120,23 @@ const cancelSchema = [
const orderInfo = ref({})
/** 打开弹窗 */
const open = async (id) => {
const open = async (row) => {
dialogVisible.value = true
dialogTitle.value = '回款申请详情'
try {
orderInfo.value = await getPaymentDetail({ id })
orderInfo.value = await getPaymentDetail({ id: row.id })
getFollowInfo(row.clueId)
} catch (error) {
console.log(error)
}
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const followList = ref([])
function getFollowInfo(id) {
getFollowUserList({ id }).then((data) => {
followList.value = data
})
}
</script>

View File

@@ -93,7 +93,7 @@
<el-table-column prop="stateName" label="审核状态" fixed="right" min-width="90" />
<el-table-column label="操作" width="150px" fixed="right">
<template #default="{ row }">
<el-button type="primary" style="padding: 0" text @click="handleDetail(row.id)">
<el-button type="primary" style="padding: 0" text @click="handleDetail(row)">
详情
</el-button>
<el-button
@@ -214,8 +214,8 @@ function batchAudit() {
}
const feebackDetailDialog = ref()
function handleDetail(id) {
feebackDetailDialog.value.open(id)
function handleDetail(row) {
feebackDetailDialog.value.open(row)
}
async function handleCancel(id) {
try {

View File

@@ -11,7 +11,7 @@
labelWidth="130px"
:defaultShow="false"
/>
<el-form :model="form" ref="formRef" :rules="rules" label-width="80px" class="mt-20px">
<el-form :model="form" ref="formRef" :rules="rules" label-width="auto" class="mt-20px">
<el-row :gutter="20">
<!-- 驾校招生模式 -->
<template v-if="appStore.getAppInfo?.instanceType == 1">
@@ -102,6 +102,36 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item
v-if="appStore.getAppInfo?.instanceType == 1"
label="接待人"
prop="jiedairen"
>
<el-select v-model="form.jiedairen" placeholder="选择接待人" clearable filterable>
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
v-else-if="appStore.getAppInfo?.instanceType == 2"
label="线索转化人"
prop="zhuanhuaren"
>
<el-select v-model="form.zhuanhuaren" placeholder="选择接待人" clearable filterable>
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span="8"
:offset="0"
@@ -328,6 +358,9 @@ const message = useMessage() // 消息弹窗
const props = defineProps({
schema: {
type: Array
},
userOptions: {
type: Array
}
})
@@ -390,6 +423,7 @@ function resetForm(id) {
payAmount: 0,
remark: undefined,
isCompanyReceipts: appStore.getAppInfo?.instanceType == 2,
jiedairen: undefined,
extraPay: [],
signProducts: []
}
@@ -480,6 +514,7 @@ function getOptions() {
// getSimpleWarehouseList().then((data) => {
// warehouseOptions.value = data
// })
// 获取员工列表
}
// 自定义参数

View File

@@ -169,7 +169,12 @@
@get-list="getTableList"
@update="handleEdit"
/>
<DialogSuccess ref="successRef" :schema="allSchemas.detailSchema" @success="getTableList" />
<DialogSuccess
ref="successRef"
:schema="allSchemas.detailSchema"
:userOptions="userOptions"
@success="getTableList"
/>
<DialogFollow ref="followRef" @success="getTableList" />
</div>
</template>