pull/781/head
parent
9778b673bc
commit
b90a48337c
|
|
@ -62,8 +62,8 @@ export const getSimpleBusinessList = async () => {
|
|||
}
|
||||
|
||||
// 获得 CRM 我的商机列表
|
||||
export const getSelfSimpleBusinessList = async () => {
|
||||
return await request.get({ url: `/crm/business/self-simple-list` })
|
||||
export const getSelfSimpleBusinessList = async (params: any) => {
|
||||
return await request.get({ url: `/crm/business/self-simple-list`, params })
|
||||
}
|
||||
|
||||
// 新增 CRM 商机
|
||||
|
|
|
|||
|
|
@ -69,12 +69,7 @@ export default defineComponent({
|
|||
{size.value ? (
|
||||
<SizeDropdown class="custom-hover" color="var(--top-header-text-color)"></SizeDropdown>
|
||||
) : undefined}
|
||||
{locale.value ? (
|
||||
<LocaleDropdown
|
||||
class="custom-hover"
|
||||
color="var(--top-header-text-color)"
|
||||
></LocaleDropdown>
|
||||
) : undefined}
|
||||
|
||||
{message.value ? (
|
||||
<Message class="custom-hover" color="var(--top-header-text-color)"></Message>
|
||||
) : undefined}
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@
|
|||
clearable
|
||||
style="width: 100%"
|
||||
multiple
|
||||
filterable
|
||||
placeholder="请选择抄送人"
|
||||
>
|
||||
<el-option
|
||||
|
|
@ -212,7 +213,7 @@
|
|||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="新审批人" prop="assigneeUserId">
|
||||
<el-select v-model="transferForm.assigneeUserId" clearable style="width: 100%">
|
||||
<el-select filterable v-model="transferForm.assigneeUserId" clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
|
|
@ -264,7 +265,7 @@
|
|||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="接收人" prop="delegateUserId">
|
||||
<el-select v-model="delegateForm.delegateUserId" clearable style="width: 100%">
|
||||
<el-select filterable v-model="delegateForm.delegateUserId" clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
|
|
@ -316,7 +317,7 @@
|
|||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="加签处理人" prop="addSignUserIds">
|
||||
<el-select v-model="addSignForm.addSignUserIds" multiple clearable style="width: 100%">
|
||||
<el-select filterable v-model="addSignForm.addSignUserIds" multiple clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
|
|
@ -370,7 +371,7 @@
|
|||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="减签人员" prop="deleteSignTaskId">
|
||||
<el-select v-model="deleteSignForm.deleteSignTaskId" clearable style="width: 100%">
|
||||
<el-select filterable v-model="deleteSignForm.deleteSignTaskId" clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in runningTask.children"
|
||||
:key="item.id"
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户名称" prop="customerId">
|
||||
<SelectComponent :customerList="customerList" @change="changeCustomer" :disabled="formData.customerDefault || type || route.query.bizId" v-model="formData.customerId" />
|
||||
<SelectComponent :customerList="customerList" @change="changeCustomer" :disabled="formData.customerDefault || type || route.query.bizId || formType" v-model="formData.customerId" />
|
||||
<!-- <el-select
|
||||
:disabled="formData.customerDefault || type"
|
||||
v-model="formData.customerId"
|
||||
|
|
@ -163,7 +163,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="账期" prop="paymentTerm">
|
||||
<el-select v-model="formData.paymentTerm" :disabled="type" clearable placeholder="请选择账期">
|
||||
<el-select v-model="formData.paymentTerm" filterable :disabled="type" clearable placeholder="请选择账期">
|
||||
<el-option
|
||||
v-for="dict in getStrDictOptions(DICT_TYPE.PAYMENT_TERM)"
|
||||
:key="dict.value"
|
||||
|
|
@ -392,7 +392,6 @@ watch(
|
|||
let totalOfflinePrice = 0;
|
||||
|
||||
for (const product of newProducts) {
|
||||
console.log('%csrc/views/crm/business/BusinessForm.vue:381 22222', 'color: #007acc;', product,22222);
|
||||
if (typeof product.onlinePrice) {
|
||||
totalOnlinePrice += Number(product.onlinePrice);
|
||||
}
|
||||
|
|
@ -529,7 +528,6 @@ const changeDifficult = (val) => {
|
|||
|
||||
const route = useRoute();
|
||||
onMounted(async () => {
|
||||
console.log('%csrc/views/crm/business/BusinessForm.vue:516 getIntDictOptions(DICT_TYPE.CRM_PRODUCT_CATEGORY)', 'color: #007acc;', getIntDictOptions(DICT_TYPE.CRM_PRODUCT_CATEGORY));
|
||||
const customerId = route.query.customerId;
|
||||
formData.value.customerId = Number(route.query.bizId) || ''
|
||||
formData.value.clueDeveloper = Number(route.query.clueDeveloper) || ''
|
||||
|
|
|
|||
|
|
@ -165,6 +165,7 @@
|
|||
<el-button
|
||||
v-hasPermi="['crm:business:delete']"
|
||||
link
|
||||
v-if="scope.row.saleStage != 2"
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
|
|
@ -297,7 +298,7 @@ const handleExport = async () => {
|
|||
|
||||
/** 初始化 **/
|
||||
onMounted( async () => {
|
||||
customerList.value = await CustomerApi.getCustomerSimpleList()
|
||||
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
|
||||
getList()
|
||||
})
|
||||
onActivated(()=>{
|
||||
|
|
|
|||
|
|
@ -284,7 +284,6 @@ const open = async (type: string, id?: number, customerId?: number, businessId?:
|
|||
formLoading.value = false
|
||||
}
|
||||
} else {
|
||||
console.log('%csrc/views/crm/contact/ContactForm.vue:229 customerId', 'color: #007acc;', customerId);
|
||||
if (customerId) {
|
||||
changeCustomerId(customerId)
|
||||
formData.value.customerId = customerId
|
||||
|
|
@ -294,7 +293,6 @@ const open = async (type: string, id?: number, customerId?: number, businessId?:
|
|||
if (businessId) {
|
||||
formData.value.businessId = businessId
|
||||
}
|
||||
console.log('%csrc/views/crm/contact/ContactForm.vue:273 formData.customerId', 'color: #007acc;', formData.value);
|
||||
}
|
||||
// 获得联系人列表
|
||||
contactList.value = await ContactApi.getSimpleContactList()
|
||||
|
|
|
|||
|
|
@ -315,7 +315,7 @@ const openCustomerDetail = (id: number) => {
|
|||
/** 初始化 **/
|
||||
onMounted(async () => {
|
||||
await getList()
|
||||
customerList.value = await CustomerApi.getCustomerSimpleList()
|
||||
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
|
||||
})
|
||||
onActivated(()=>{
|
||||
getList()
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ if(contractFormRef.value) {
|
|||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = unref(JSON.parse(JSON.stringify(formData.value))) as unknown as ContractApi.ContractVO
|
||||
let data = unref(JSON.parse(JSON.stringify(formData.value))) as unknown as ContractApi.ContractVO
|
||||
// 拼接子表的数据
|
||||
let proChangeObj = {
|
||||
1: limitFormRef,
|
||||
|
|
@ -369,8 +369,20 @@ if(contractFormRef.value) {
|
|||
5: contractAAuthorizedCompanyFormRef1,
|
||||
6: contractFormRef
|
||||
}
|
||||
let proChangeData = {
|
||||
1: 'limitFormRef',
|
||||
2: 'contractAAuthorizedPersons',
|
||||
3: 'contractExtensionFormRef',
|
||||
4: 'contractStopFormRef',
|
||||
5: 'contractAAuthorizedCompanyFormRef1',
|
||||
6: 'contractFormRef'
|
||||
}
|
||||
let dataFormList = proChangeObj[formData.value.changeItem].value.getData()
|
||||
data[proChangeObj[formData.value.changeItem]] = dataFormList
|
||||
if(formData.value.changeItem == 2 || formData.value.changeItem == 5) {
|
||||
data[proChangeData[formData.value.changeItem]] = dataFormList
|
||||
} else {
|
||||
data = Object.assign(data, dataFormList)
|
||||
}
|
||||
if(formData.value.changeItem == 1) {
|
||||
data.changeAmount = dataFormList.changeAmount
|
||||
data.changeAmountDeadline = dataFormList.changeAmountDeadline
|
||||
|
|
|
|||
|
|
@ -329,6 +329,30 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="违约金比例(%)" prop="penaltyRate">
|
||||
<el-select v-model="formData.penaltyRate" placeholder="请选择违约金比例">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CONTRACT_PENALTY_RATE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="延期付款利率(%)" prop="latePaymentRate">
|
||||
<el-select v-model="formData.latePaymentRate" placeholder="请选择延期付款利率">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CONTRACT_LATE_PAYMENT_RATE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同签订日期" prop="startTime">
|
||||
<el-date-picker
|
||||
|
|
@ -361,30 +385,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="违约金比例(%)" prop="penaltyRate">
|
||||
<el-select v-model="formData.penaltyRate" placeholder="请选择违约金比例">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CONTRACT_PENALTY_RATE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="延期付款利率(%)" prop="latePaymentRate">
|
||||
<el-select v-model="formData.latePaymentRate" placeholder="请选择延期付款利率">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CONTRACT_LATE_PAYMENT_RATE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="账单日" prop="statementDate">
|
||||
<el-select v-model="formData.statementDate" disabled placeholder="请选择账单日" >
|
||||
|
|
@ -430,36 +431,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维护人" prop="afterSaleUserId">
|
||||
<el-select v-model="formData.afterSaleUserId" disabled placeholder="请选择售后维护人">
|
||||
<el-option
|
||||
v-for="dict in userOptions"
|
||||
:key="dict.id"
|
||||
:label="dict.nickname"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="拓展人" prop="clueDeveloper">
|
||||
<el-select
|
||||
class="w-1/1"
|
||||
placeholder="请选择拓展人"
|
||||
disabled
|
||||
v-model="formData.clueDeveloper"
|
||||
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">
|
||||
<el-form-item label="服务对接人" prop="servicor">
|
||||
<el-select
|
||||
|
|
@ -511,6 +483,36 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维护人" prop="afterSaleUserId">
|
||||
<el-select v-model="formData.afterSaleUserId" disabled placeholder="请选择售后维护人">
|
||||
<el-option
|
||||
v-for="dict in userOptions"
|
||||
:key="dict.id"
|
||||
:label="dict.nickname"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="拓展人" prop="clueDeveloper">
|
||||
<el-select
|
||||
class="w-1/1"
|
||||
placeholder="请选择拓展人"
|
||||
disabled
|
||||
v-model="formData.clueDeveloper"
|
||||
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">
|
||||
<el-form-item label="维护人" prop="afterSaleUserId">
|
||||
<el-select v-model="formData.afterSaleUserId" placeholder="请选择售后维护人">
|
||||
|
|
@ -561,13 +563,13 @@
|
|||
/>
|
||||
</ContentWrap>
|
||||
<ContentWrap style="border: none;font-weight:700">
|
||||
合同甲方关联单位
|
||||
<span style="color: #f56c6c">*</span> 合同甲方关联单位
|
||||
</ContentWrap>
|
||||
<ContentWrap>
|
||||
<ContractAAuthorizedCompanyForm :formFields="formFields" ref="contractAAuthorizedCompanyFormRef" :data="formData.contractAAuthorizedCompanys" :contract-id="formData.id" :customerId="formData.customerId" />
|
||||
</ContentWrap>
|
||||
<ContentWrap style="border: none;font-weight:700">
|
||||
合同甲方授权人信息
|
||||
<span style="color: #f56c6c">*</span> 合同甲方授权人信息
|
||||
</ContentWrap>
|
||||
<ContentWrap>
|
||||
<ContractAAuthorizedPersonForm :formFields="formFields" ref="contractAAuthorizedPersonFormRef" :contract-id="formData.id" :customerId="formData.customerId" />
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
<el-date-picker
|
||||
v-model="formData.terminationDate"
|
||||
type="date"
|
||||
:disabled="formFields.changeAmount !== 2 || isTrue"
|
||||
:disabled="formFields.terminationDate !== 2 || isTrue"
|
||||
value-format="x"
|
||||
placeholder="请选择终止日期"
|
||||
style="width: 100%"
|
||||
placeholder="请选择终止日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<template #terminationReason>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="终止原因" prop="terminationReason">
|
||||
<el-radio-group v-model="formData.terminationReason" :disabled="formFields.changeAmount !== 2 || isTrue">
|
||||
<el-radio-group v-model="formData.terminationReason" :disabled="formFields.terminationReason !== 2 || isTrue">
|
||||
<el-radio :label="1">合同到期</el-radio>
|
||||
<el-radio :label="2">甲方违反协议</el-radio>
|
||||
<el-radio :label="3">乙方不可抗力</el-radio>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<template #note>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="终止说明" prop="note">
|
||||
<el-input v-model="formData.note" :disabled="formFields.changeAmount !== 2 || isTrue" type="textarea" :row="5" placeholder="必须确保账款已全部回收" />
|
||||
<el-input v-model="formData.note" :disabled="formFields.note !== 2 || isTrue" type="textarea" :row="5" placeholder="必须确保账款已全部回收" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
|
|
@ -61,6 +61,7 @@ const props = defineProps<{
|
|||
formFields: {},
|
||||
isTrue: false
|
||||
}>()
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
const customerList = ref([]) // 客户列表的数据
|
||||
|
|
@ -87,6 +88,20 @@ const formRules = reactive({
|
|||
terminationReason: [{ required: true, message: '终止原因不能为空', trigger: 'change' }],
|
||||
terminationDate: [{ required: true, message: '终止日期不能为空', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
watch(
|
||||
() => props.formFields,
|
||||
(val) => {
|
||||
console.log('%csrc/views/crm/contract/components/ContracStop.vue:95 formFields', 'color: #007acc;', props.formFields.terminationDate, props.isTrue);
|
||||
// if (!val) {
|
||||
// return
|
||||
// }
|
||||
// const totalPrice = val.products.reduce((prev, curr) => prev + curr.totalPrice, 0)
|
||||
// 赋值
|
||||
// formData.value.totalPrice = totalPrice
|
||||
},
|
||||
{ deep: true, immediate: true }
|
||||
)
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
/** 子表的表单 */
|
||||
|
|
@ -165,7 +180,7 @@ const open = async (type: string) => {
|
|||
|
||||
/** 表单校验 */
|
||||
const validate = () => {
|
||||
return formRef.value.validate()
|
||||
return formRef.value.innerFormRef.validate()
|
||||
}
|
||||
|
||||
/** 表单值 */
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
<template #changeItem>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="变更项目" prop="changeItem">
|
||||
<el-radio-group v-model="formData.changeItem" :disabled="formFields.contractAgreement !== 2 || isTrue" >
|
||||
<el-radio-group v-model="formData.changeItem" :disabled="formFields.changeItem !== 2 || isTrue">
|
||||
<el-radio :value="1">额度</el-radio>
|
||||
<el-radio :value="2">授权人</el-radio>
|
||||
<el-radio :value="3">延期</el-radio>
|
||||
|
|
@ -82,13 +82,11 @@
|
|||
</template>
|
||||
<template #other>
|
||||
<!-- 子表的表单 -->
|
||||
<ContentWrap>
|
||||
<ContractChangeLimit
|
||||
v-if="formData.changeItem == 1"
|
||||
ref="limitFormRef"
|
||||
:formFields="formFields"
|
||||
:data="formData"
|
||||
:disabled="true"
|
||||
/>
|
||||
<div v-if="formData.changeItem == 2">
|
||||
<ContentWrap style="border: none">
|
||||
|
|
@ -105,11 +103,12 @@
|
|||
</ContentWrap>
|
||||
<ContractBAuthorizedPersonForm :formFields="formFields" :type="1" ref="ContractBAuthorizedPersonFormRef" :customerId="formData.customerId" :contract-id="formData.id" />
|
||||
</div>
|
||||
<ContracExtension ref="contractExtensionFormRef" :isTrue="isTrue" :formFields="formFields" v-if="formData.changeItem == 3" :disabled="true" :data="formData" />
|
||||
<ContractStop ref="contractStopFormRef" :isTrue="isTrue" :formFields="formFields" :formData="formData" :disabled="true" v-if="formData.changeItem == 4" />
|
||||
<ContracExtension ref="contractExtensionFormRef" :isTrue="isTrue" :formFields="formFields" v-if="formData.changeItem == 3" :data="formData" />
|
||||
<el-col :span="24">
|
||||
<ContractStop ref="contractStopFormRef" :isTrue="false" :formFields="formFields" :formData="formData" v-if="formData.changeItem == 4" />
|
||||
</el-col>
|
||||
<ContractAAuthorizedCompanyForm :formFields="formFields" ref="contractAAuthorizedCompanyFormRef1" :type="true" v-if="formData.changeItem == 5" :data="formData.contractAAuthorizedCompanys" />
|
||||
<ContractForm ref="contractFormRef" :type="1" :id="formData.id" v-if="formData.changeItem == 6" />
|
||||
</ContentWrap>
|
||||
</template>
|
||||
</processForm>
|
||||
|
||||
|
|
@ -210,6 +209,12 @@ const formFields = ref({
|
|||
contractBAuthorizedPersonswechat: 1,
|
||||
contractBAuthorizedPersonsemail: 1,
|
||||
contractBAuthorizedPersonsother2: 1,
|
||||
agreementDeadline: 1,
|
||||
extensionYears: 1,
|
||||
extensionDate: 1,
|
||||
terminationDate: 1,
|
||||
terminationReason: 1,
|
||||
note: 1
|
||||
})
|
||||
const formData = ref({
|
||||
authPerson: [],
|
||||
|
|
@ -564,6 +569,8 @@ const getLimit = async () => {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
console.log('%csrc/views/crm/contract/detail/ContractChangeDetail.vue:574 object', 'color: #007acc;', formFields.value,555);
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
|
|
|
|||
|
|
@ -397,6 +397,42 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #penaltyRate>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="违约金比例" prop="penaltyRate">
|
||||
<el-select v-model="formData.penaltyRate" placeholder="" :disabled="formFields.penaltyRate !== 2 || isTrue">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CONTRACT_PENALTY_RATE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #latePaymentRate>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="延期付款利率" prop="latePaymentRate">
|
||||
<el-select v-model="formData.latePaymentRate" placeholder="请选择延期付款利率" :disabled="formFields.latePaymentRate !== 2 || isTrue">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CONTRACT_LATE_PAYMENT_RATE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="票据模板" prop="invoiceTemplateId">
|
||||
<el-input v-model="formData.invoiceTemplateId" placeholder="请输入票据模板" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row> -->
|
||||
</template>
|
||||
<template #startTime>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同签订日期" prop="startTime">
|
||||
|
|
@ -461,28 +497,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #penaltyRate>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="违约金比例" prop="penaltyRate">
|
||||
<el-input v-model="formData.penaltyRate" :disabled="formFields.penaltyRate !== 2 || isTrue" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #latePaymentRate>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="延期付款利率" prop="latePaymentRate">
|
||||
<el-input v-model="formData.latePaymentRate" :disabled="formFields.latePaymentRate !== 2 || isTrue" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="票据模板" prop="invoiceTemplateId">
|
||||
<el-input v-model="formData.invoiceTemplateId" placeholder="请输入票据模板" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row> -->
|
||||
</template>
|
||||
<template #other4>
|
||||
<el-col :span="24">
|
||||
<ContentWrap style="border: none;font-weight: 700">
|
||||
|
|
@ -500,40 +515,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template> -->
|
||||
<template #afterSaleUserId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维护人" prop="afterSaleUserId">
|
||||
<el-select v-model="formData.afterSaleUserId" :disabled="formFields.afterSaleUserId !== 2 || isTrue" placeholder="">
|
||||
<el-option
|
||||
v-for="dict in userOptions"
|
||||
:key="dict.id"
|
||||
:label="dict.nickname"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #expanderUserId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="拓展人" prop="expanderUserId">
|
||||
<el-select
|
||||
class="w-1/1"
|
||||
placeholder="请选择拓展人"
|
||||
v-model="formData.expanderUserId"
|
||||
:disabled="formFields.expanderUserId !== 2 || isTrue"
|
||||
filterable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.nickname"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
|
||||
<template #servicor>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="服务对接人" prop="servicor">
|
||||
|
|
@ -594,6 +576,40 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #afterSaleUserId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维护人" prop="afterSaleUserId">
|
||||
<el-select v-model="formData.afterSaleUserId" :disabled="formFields.afterSaleUserId !== 2 || isTrue" placeholder="">
|
||||
<el-option
|
||||
v-for="dict in userOptions"
|
||||
:key="dict.id"
|
||||
:label="dict.nickname"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #expanderUserId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="拓展人" prop="expanderUserId">
|
||||
<el-select
|
||||
class="w-1/1"
|
||||
placeholder="请选择拓展人"
|
||||
v-model="formData.expanderUserId"
|
||||
:disabled="formFields.expanderUserId !== 2 || isTrue"
|
||||
filterable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.nickname"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<!-- <template #collUserId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="协作人" prop="collUserId">
|
||||
|
|
@ -734,20 +750,20 @@ const formFields = ref({
|
|||
deptId: 1,
|
||||
other3: 1,
|
||||
contractType: 1,
|
||||
penaltyRate: 1,
|
||||
latePaymentRate: 1,
|
||||
startTime: 1,
|
||||
contractTerm: 1,
|
||||
endTime: 1,
|
||||
statementDate: 1,
|
||||
lastPayDate: 1,
|
||||
penaltyRate: 1,
|
||||
latePaymentRate: 1,
|
||||
other4: 1,
|
||||
// settleMethod: 1,
|
||||
afterSaleUserId: 1,
|
||||
expanderUserId: 1,
|
||||
servicor: 1,
|
||||
technicalLead: 1,
|
||||
settlementLead: 1,
|
||||
afterSaleUserId: 1,
|
||||
expanderUserId: 1,
|
||||
// collUserId: 1,
|
||||
// contractBody: 1,
|
||||
// contractAgreement: 1,
|
||||
|
|
@ -844,7 +860,7 @@ const formRules = reactive({
|
|||
quotationId: [{ required: true, message: '报价单编号不能为空', trigger: 'blur' }],
|
||||
orderDate: [{ required: true, message: '下单日期不能为空', trigger: 'blur' }],
|
||||
// ownerUserId: [{ required: true, message: '负责人不能为空', trigger: 'blur' }],
|
||||
statementDate: [{ required: true, message: '账单日不能为空', trigger: 'change' }],
|
||||
// statementDate: [{ required: true, message: '账单日不能为空', trigger: 'change' }],
|
||||
contractType: [{ required: true, message: '合同类型不能为空', trigger: 'change' }],
|
||||
penaltyRate: [{ required: true, message: '违约金比例不能为空', trigger: 'blur' }],
|
||||
latePaymentRate: [{ required: true, message: '延期付款利率不能为空', trigger: 'blur' }],
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
</el-form-item>
|
||||
<el-form-item label="合作类型" prop="partnerType">
|
||||
<el-select v-model="queryParams.partnerType" clearable placeholder="请选择合作类型">
|
||||
<el-select v-model="queryParams.partnerType" class="!w-240px" clearable placeholder="请选择合作类型">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PARTNER_TYPE1)"
|
||||
:key="dict.value"
|
||||
|
|
@ -558,7 +558,7 @@ const openBusinessDetail = (id: number) => {
|
|||
/** 初始化 **/
|
||||
onMounted(async () => {
|
||||
await getList()
|
||||
customerList.value = await CustomerApi.getCustomerSimpleList()
|
||||
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
|
||||
})
|
||||
onActivated(()=>{
|
||||
getList()
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@
|
|||
<template #partnerCompanyId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合作类型" prop="partnerType">
|
||||
<el-select v-model="formData.partnerType" clearable disabled placeholder="请选择合作类型">
|
||||
<el-select v-model="formData.partnerType" filterable clearable :disabled="formFields.partnerType !== 2 || isTrue" placeholder="请选择合作类型">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PARTNER_TYPE1)"
|
||||
:key="dict.value"
|
||||
|
|
@ -219,7 +219,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合作主体" prop="partnerCompanyId">
|
||||
<el-select v-model="formData.partnerCompanyId" clearable disabled @change="onPartnerChange">
|
||||
<el-select v-model="formData.partnerCompanyId" filterable clearable :disabled="formFields.partnerCompanyId !== 2 || isTrue" @change="onPartnerChange">
|
||||
<el-option
|
||||
v-for="dict in orgList"
|
||||
:key="dict.id"
|
||||
|
|
@ -311,6 +311,20 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #maintainer>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维护人" prop="maintainer">
|
||||
<el-select v-model="formData.maintainer" disabled placeholder="">
|
||||
<el-option
|
||||
v-for="dict in userOptions"
|
||||
:key="dict.id"
|
||||
:label="dict.nickname"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #pricingUserId>
|
||||
|
|
@ -411,6 +425,26 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template> -->
|
||||
<template #onlinePrice>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="基础服务费合计" prop="onlinePrice">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="formData.onlinePrice"
|
||||
:formatter="erpPriceInputFormatter"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="线下总金额" prop="offlinePrice">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="formData.offlinePrice"
|
||||
:formatter="erpPriceInputFormatter"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</template>
|
||||
<template #quotationTimes>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="第几次报价" prop="quotationTimes">
|
||||
|
|
@ -418,6 +452,36 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #statementDate>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="账单日" prop="statementDate">
|
||||
<el-select filterable v-model="formData.statementDate" :disabled="formFields.statementDate !== 2 || isTrue" placeholder="请选择账单日" >
|
||||
<el-option
|
||||
v-for="(dict, index) in statement"
|
||||
:key="index"
|
||||
:label="index + 1"
|
||||
:value="index + 1"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #lastPayDate>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="最晚付款日" prop="lastPayDate">
|
||||
<el-select filterable v-model="formData.lastPayDate" :disabled="formFields.lastPayDate !== 2 || isTrue" placeholder="请选择最晚付款日" >
|
||||
<el-option
|
||||
v-for="(dict, index) in statement"
|
||||
:key="index"
|
||||
:label="index + 1"
|
||||
:value="index + 1"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
|
||||
<!-- <template #creditLimit1>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="授信额度" prop="creditLimit">
|
||||
|
|
@ -440,26 +504,46 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</template> -->
|
||||
<template #onlinePrice>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="基础服务费合计" prop="onlinePrice">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="formData.onlinePrice"
|
||||
:formatter="erpPriceInputFormatter"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<template #other2>
|
||||
<el-col :span="24">
|
||||
<ContentWrap style="border: none; font-weight: 700">服务费收取方式</ContentWrap>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="线下总金额" prop="offlinePrice">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="formData.offlinePrice"
|
||||
:formatter="erpPriceInputFormatter"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</template>
|
||||
<template #serviceFeeCollectionMethodId>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="服务费收取方式" prop="serviceFeeCollectionMethodId">
|
||||
<el-select v-model="formData.serviceFeeCollectionMethodId" filterable :disabled="formFields.lastPayDate !== 2 || isTrue" placeholder="请选择服务费收取方式">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_COLLECTION_METHOD)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #insuranceId>
|
||||
<el-col :span="8" v-if="formData.serviceFeeCollectionMethodId == 3">
|
||||
<el-form-item label="保险类型" prop="insuranceId">
|
||||
<el-select v-model="formData.insuranceId" :disabled="formFields.lastPayDate !== 2 || isTrue" placeholder="请选择保险类型">
|
||||
<el-option
|
||||
v-for="dict in insuranceList"
|
||||
:key="dict.id"
|
||||
:label="dict.productDetail"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<template #other3>
|
||||
<el-col :span="8" class="toop">
|
||||
{{remark}}
|
||||
</el-col>
|
||||
</template>
|
||||
<!-- <template #totalPrice>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="服务费收入合计" prop="totalPrice">
|
||||
|
|
@ -512,6 +596,7 @@ import RevenueAnalysis from './components/RevenueAnalysis.vue'
|
|||
/** CRM 方案报价 表单 */
|
||||
defineOptions({ name: 'QuotationForm' })
|
||||
|
||||
const remark = ref('')
|
||||
const serverMethodList = ref([])
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
|
@ -545,6 +630,12 @@ const print=ref({
|
|||
clickMounted() { console.log('点击v-print绑定的按钮了!') },
|
||||
|
||||
})
|
||||
const serviceDesc = ref({
|
||||
1:'按单项产品的订单量(机票/张,酒店/间夜,火车票/张、用车/单)分别收取服务费',
|
||||
2: '按订单总金额乘以比例收取服务费用',
|
||||
3: ''
|
||||
})
|
||||
const insuranceList = ref([])
|
||||
const isTrue = ref(false)
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const dialogTitle = ref('') // 弹窗的标题
|
||||
|
|
@ -579,17 +670,20 @@ const formFields = ref({ //字段显示隐藏权限控制,字段顺序就是显
|
|||
deptId: 1,
|
||||
ownerUserId: 1,
|
||||
clueDeveloper: 1,
|
||||
maintainer: 1,
|
||||
pricingUserId: 1,
|
||||
paymentTerm: 1,
|
||||
creditMethod: 1,
|
||||
creditCalcCycle: 1,
|
||||
invoiceTemplateId: 1,
|
||||
quotationTimes: 1,
|
||||
creditLimit1: 1,
|
||||
serviceFeeCollectionMethodId: 1,
|
||||
onlinePrice: 1,
|
||||
quotationTimes: 1,
|
||||
statementDate: 1,
|
||||
lastPayDate: 1,
|
||||
other2: 1,
|
||||
serviceFeeCollectionMethodId: 1,
|
||||
insuranceId: 1,
|
||||
other3: 1,
|
||||
totalPrice: 1,
|
||||
productsother: 1,
|
||||
productscategory: 1,
|
||||
|
|
@ -744,6 +838,21 @@ const onCustomerChange = async (customerId: string) => {
|
|||
}
|
||||
}
|
||||
|
||||
const changeInsuranceId = (val) => {
|
||||
let arr = insuranceList.value.filter(v => v.id === val)
|
||||
remark.value = (arr.length && arr[0]['describes']) ? '注:' + arr[0]['describes'] : ''
|
||||
|
||||
}
|
||||
|
||||
const changeQuotation = (val) => {
|
||||
if(serviceDesc.value[val]) {
|
||||
remark.value = '注:' + serviceDesc.value[val]
|
||||
} else {
|
||||
remark.value = ''
|
||||
}
|
||||
// formData.value.insuranceId = ''
|
||||
}
|
||||
|
||||
const onPartnerChange = async (id: string) => {
|
||||
if (!id) return
|
||||
try {
|
||||
|
|
@ -820,6 +929,11 @@ const open = async (type: string) => {
|
|||
formData.value.offlinePrice = (totalOfflinePrice + totalOnlinePrice).toFixed(2)
|
||||
// let all = totalOnlinePrice + totalOfflinePrice + totalOnlinePrice
|
||||
// formData.value.totalPrice = all.toFixed(2)
|
||||
if(formData.value.insuranceId) {
|
||||
changeInsuranceId(formData.value.insuranceId)
|
||||
} else {
|
||||
changeQuotation(formData.value.serviceFeeCollectionMethodId)
|
||||
}
|
||||
formData.value.creditLimit = ((formData.value.creditAmount || 0) + (formData.value.creditLimitNum || 0)).toFixed(2)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
|
|
@ -952,8 +1066,10 @@ onMounted(async () => {
|
|||
// 获得部门树
|
||||
deptTree.value = handleTree(await DeptApi.getSimpleDeptList())
|
||||
//服务费收取方式
|
||||
let serverList = await QuotationApi.getServerMethodList({pageNo: 1, pageSize: 1000})
|
||||
serverMethodList.value = serverList.list
|
||||
// let serverList = await QuotationApi.getServerMethodList({pageNo: 1, pageSize: 1000})
|
||||
// serverMethodList.value = serverList.list
|
||||
//服务费收取方式
|
||||
insuranceList.value = await QuotationApi.getInsuranceList()
|
||||
const org = await ContractApi.getOrg({
|
||||
pageNo: 1,
|
||||
pageSize: 1000
|
||||
|
|
@ -962,7 +1078,13 @@ onMounted(async () => {
|
|||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style scoped>
|
||||
.toop {
|
||||
line-height: 32px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding-left: 10px;
|
||||
}
|
||||
@media print {
|
||||
body, html {
|
||||
width: 100%;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="选择商机" prop="businessId">
|
||||
<el-select v-model="formData.businessId" clearable placeholder="请选择商机" @change="onBusinessChange">
|
||||
<el-select v-model="formData.businessId" filterable clearable placeholder="请选择商机" @change="onBusinessChange">
|
||||
<el-option
|
||||
v-for="dict in businessList"
|
||||
:key="dict.id"
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合作类型" prop="partnerType">
|
||||
<el-select v-model="formData.partnerType" @change="changePartnerType" clearable placeholder="请选择合作类型">
|
||||
<el-select v-model="formData.partnerType" filterable @change="changePartnerType" clearable placeholder="请选择合作类型">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PARTNER_TYPE1)"
|
||||
:key="dict.value"
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合作主体" prop="partnerCompanyId">
|
||||
<el-select v-model="formData.partnerCompanyId" clearable placeholder="请选择合作主体" @change="onPartnerChange">
|
||||
<el-select v-model="formData.partnerCompanyId" filterable clearable placeholder="请选择合作主体" @change="onPartnerChange">
|
||||
<el-option
|
||||
v-for="dict in orgList"
|
||||
:key="dict.id"
|
||||
|
|
@ -368,7 +368,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="账单日" prop="statementDate">
|
||||
<el-select v-model="formData.statementDate" placeholder="请选择账单日" >
|
||||
<el-select v-model="formData.statementDate" filterable placeholder="请选择账单日" >
|
||||
<el-option
|
||||
v-for="(dict, index) in statement"
|
||||
:key="index"
|
||||
|
|
@ -380,7 +380,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="最晚付款日" prop="lastPayDate">
|
||||
<el-select v-model="formData.lastPayDate" placeholder="请选择最晚付款日" >
|
||||
<el-select v-model="formData.lastPayDate" filterable placeholder="请选择最晚付款日" >
|
||||
<el-option
|
||||
v-for="(dict, index) in statement"
|
||||
:key="index"
|
||||
|
|
@ -408,7 +408,7 @@
|
|||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="服务费收取方式" prop="serviceFeeCollectionMethodId">
|
||||
<el-select v-model="formData.serviceFeeCollectionMethodId" @change="changeQuotation" placeholder="请选择服务费收取方式">
|
||||
<el-select v-model="formData.serviceFeeCollectionMethodId" filterable @change="changeQuotation" placeholder="请选择服务费收取方式">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_COLLECTION_METHOD)"
|
||||
:key="dict.value"
|
||||
|
|
@ -454,7 +454,6 @@
|
|||
</el-form-item>
|
||||
</el-col> -->
|
||||
|
||||
</el-form>
|
||||
<!-- 子表的表单 -->
|
||||
<el-tabs v-model="subTabsName" @tab-Click="handleClick">
|
||||
<el-tab-pane label="报价产品关联" name="quotationProduct">
|
||||
|
|
@ -468,6 +467,8 @@
|
|||
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||
<el-button @click="goBack">取 消</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
|
||||
</ContentWrap>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
|
|
@ -706,7 +707,6 @@ const changeQuotation = (val) => {
|
|||
}
|
||||
|
||||
const changeQuotationTimes = async(val) => {
|
||||
console.log('%csrc/views/crm/quotation/QuotationForm.vue:671 3333', 'color: #007acc;', 3333);
|
||||
if(formData.value.serviceFeeCollectionMethodId && formData.value.businessId) {
|
||||
newProducts.value = []
|
||||
formData.value.products.forEach( item => {
|
||||
|
|
@ -730,7 +730,6 @@ const changeQuotationTimes = async(val) => {
|
|||
num.quotationProducts.forEach( v => {
|
||||
v.productUnit = v.serviceFeeVO.unit
|
||||
})
|
||||
console.log('%csrc/views/crm/quotation/QuotationForm.vue:695 num.', 'color: #007acc;', num.quotationProducts);
|
||||
formData.value.QuotationTimes = num.quotationProducts
|
||||
}
|
||||
}
|
||||
|
|
@ -857,7 +856,6 @@ const onPartnerChange = async (id: string) => {
|
|||
}
|
||||
}
|
||||
const getQutotaionTimes = async (val) => {
|
||||
console.log('%csrc/views/crm/quotation/QuotationForm.vue:692 val', 'color: #007acc;', val);
|
||||
formData.value.quotationTimes = await QuotationApi.getQutoTimes({customerId: val})
|
||||
}
|
||||
|
||||
|
|
@ -876,6 +874,12 @@ const open = async (type: string) => {
|
|||
formData.value.serviceFeeCollectionMethodId = Number(formData.value.serviceFeeCollectionMethodId)
|
||||
if(formData.value.partnerType) changePartnerType(formData.value.partnerType)
|
||||
|
||||
if(formData.value.insuranceId) {
|
||||
changeInsuranceId(formData.value.insuranceId)
|
||||
} else {
|
||||
changeQuotation(formData.value.serviceFeeCollectionMethodId)
|
||||
}
|
||||
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
|
|
@ -924,7 +928,6 @@ const submitForm = async () => {
|
|||
|
||||
const changeTemplate = async() => {
|
||||
handleType.value = 1
|
||||
console.log('%csrc/views/crm/quotation/QuotationForm.vue:631 handleType.value,222', 'color: #007acc;', handleType.value,222);
|
||||
}
|
||||
|
||||
const goBack = ()=> {
|
||||
|
|
@ -983,7 +986,6 @@ const changePartnerType = async (val) => {
|
|||
|
||||
const route = useRoute();
|
||||
onMounted(async () => {
|
||||
console.log('%csrc/views/crm/quotation/QuotationForm.vue:931 useUserStore().getUser', 'color: #007acc;', useUserStore().getUser);
|
||||
formType.value = props.id || route.query.id;
|
||||
|
||||
if (formType.value) open(formType.value)
|
||||
|
|
@ -1002,7 +1004,7 @@ onMounted(async () => {
|
|||
pageSize: 1000,
|
||||
})
|
||||
templateOptions.value = data.list
|
||||
businessList.value = await BusinessApi.getSelfSimpleBusinessList()
|
||||
businessList.value = await BusinessApi.getSelfSimpleBusinessList({query: true})
|
||||
// 获得部门树
|
||||
deptTree.value = handleTree(await DeptApi.getSimpleDeptList())
|
||||
//服务费收取方式
|
||||
|
|
|
|||
|
|
@ -281,9 +281,7 @@ watch(
|
|||
data.billSortingServiceFee = ''
|
||||
data.totalServiceFee = ''
|
||||
}
|
||||
console.log('%csrc/views/crm/quotation/components/QuotationProductForm.vue:289 formData.value,data', 'color: #007acc;', formData.value,data);
|
||||
let foundItem = formData.value.find(item => item.productId == data.id);
|
||||
console.log('%csrc/views/crm/quotation/components/QuotationProductForm.vue:290 foundItem', 'color: #007acc;', foundItem);
|
||||
if (foundItem) {
|
||||
foundItem.basicServiceFee = data.serviceFeeVO.basicServiceFee
|
||||
foundItem.advancePaymentServiceFee = data.serviceFeeVO.advancePaymentServiceFee
|
||||
|
|
|
|||
|
|
@ -508,7 +508,7 @@ const openCustomerDetail = (id: number) => {
|
|||
/** 初始化 **/
|
||||
onMounted(async () => {
|
||||
// 获得客户列表
|
||||
customerList.value = await CustomerApi.getCustomerSimpleList()
|
||||
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
|
||||
// 获得用户列表
|
||||
userOptions.value = await UserApi.getSimpleUserList()
|
||||
getList()
|
||||
|
|
|
|||
Loading…
Reference in New Issue