样式调整

pull/781/head
zy 2025-05-06 17:16:24 +08:00
parent 3df2e03cba
commit efd3c8d3f1
12 changed files with 396 additions and 286 deletions

View File

@ -19,7 +19,7 @@
</el-table-column>
<el-table-column label="产品明细" align="center" prop="detailType" width="240">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.detailType`" :rules="formRules.detailType" class="mb-0px!">
<el-form-item :prop="`${$index}.detailType`" :rules="formRules.detailType" class="mb-0px!" v-if="!disabled">
<el-select v-model="row.detailType" placeholder="请选择状态" >
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_DETAIL_TYPE)"
@ -29,6 +29,7 @@
/>
</el-select>
</el-form-item>
<dict-tag v-else :type="DICT_TYPE.CRM_PRODUCT_DETAIL_TYPE" :value="row.detailType" />
</template>
</el-table-column>
<el-table-column label="单位" align="center" min-width="80">
@ -38,34 +39,32 @@
</el-table-column>
<el-table-column label="线上价格(元)" fixed="right" min-width="100">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.onlinePrice`" :rules="formRules.onlinePrice" class="mb-0px!">
<el-input-number
<el-form-item :prop="`${$index}.onlinePrice`" :rules="formRules.onlinePrice" class="mb-0px!" v-if="!disabled">
<el-input
v-model="row.onlinePrice"
controls-position="right"
:min="0.001"
:precision="2"
oninput="value=value.match(/^\d+(?:\.\d{0,2})?/)"
class="!w-100%"
/>
</el-form-item>
<div v-else>{{row.onlinePrice}}</div>
</template>
</el-table-column>
<el-table-column label="线下价格(元)" fixed="right" min-width="100">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.offlinePrice`" :rules="formRules.offlinePrice" class="mb-0px!">
<el-input-number
<el-form-item :prop="`${$index}.offlinePrice`" :rules="formRules.offlinePrice" class="mb-0px!" v-if="!disabled">
<el-input
v-model="row.offlinePrice"
controls-position="right"
:min="0.001"
:precision="2"
oninput="value=value.match(/^\d+(?:\.\d{0,2})?/)"
class="!w-100%"
/>
</el-form-item>
<div v-else>{{row.offlinePrice}}</div>
</template>
</el-table-column>
<el-table-column label="合计(元)" prop="totalPrice" fixed="right" min-width="100">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.totalPrice`" class="mb-0px!">
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
{{row.totalPrice}}
</el-form-item>
</template>
</el-table-column>

View File

@ -5,7 +5,7 @@
v-loading="formLoading"
:model="formData"
:rules="formRules"
label-width="120px"
label-width="151px"
>
<ContentWrap style="border: none;font-weight: 700">
基础信息
@ -21,6 +21,22 @@
<el-input v-model="formData.no" placeholder="请输入合同编号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户名称" prop="customerId">
<el-select
v-model="formData.customerId"
placeholder=""
class="w-1/1"
>
<el-option
v-for="item in contactList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报价单编号" prop="quotationId">
<el-select
@ -38,23 +54,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户名称" prop="customerId">
<el-select
v-model="formData.customerId"
disabled=""
placeholder=""
class="w-1/1"
>
<el-option
v-for="item in contactList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="方案签约人" prop="pricingUserId">
<el-select
@ -117,18 +117,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="票据模板" prop="invoiceTemplateId">
<el-select v-model="formData.invoiceTemplateId" disabled placeholder="">
<el-option
v-for="dict in templateOptions"
:key="dict.id"
:label="dict.name"
:value="dict.id"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
@ -161,6 +150,18 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="票据模板" prop="invoiceTemplateId">
<el-select v-model="formData.invoiceTemplateId" disabled placeholder="">
<el-option
v-for="dict in templateOptions"
:key="dict.id"
:label="dict.name"
:value="dict.id"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
@ -170,14 +171,19 @@
</el-col>
<el-col :span="8">
<el-form-item label="甲方名称" prop="partyName">
<el-select v-model="formData.partyName" disabled placeholder="">
<el-option
v-for="dict in getStrDictOptions('payment_term')"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-select
v-model="formData.customerId"
disabled=""
placeholder=""
class="w-1/1"
>
<el-option
v-for="item in contactList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
@ -200,11 +206,11 @@
<el-input v-model="formData.regType" placeholder="" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-form-item label="融资信息" prop="financingInfo">
<!-- <el-col :span="8">
<el-form-item label="融资信息" prop="financingInfo">
<el-input v-model="formData.financingInfo" placeholder="融资信息" disabled />
</el-form-item> -->
</el-col>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="实缴资金" prop="actualCapital">
<el-input v-model="formData.actualCapital" placeholder="" disabled />
@ -215,11 +221,11 @@
<el-input v-model="formData.socialEmployeeNum" placeholder="" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-form-item label="上市情况" prop="listingStatus">
<!-- <el-col :span="8">
<el-form-item label="上市情况" prop="listingStatus">
<el-input v-model="formData.listingStatus" placeholder="上市情况" disabled />
</el-form-item> -->
</el-col>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="注册地址" prop="registeredAddress">
<el-input v-model="formData.registeredAddress" placeholder="" disabled />
@ -367,13 +373,13 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="违约金比例" prop="penaltyRate">
<el-input v-model="formData.penaltyRate" placeholder="请输入违约金比例" />
<el-form-item label="违约金比例%" prop="penaltyRate">
<el-input v-model="formData.penaltyRate" oninput = "value=value.replace(/[^\d]/g,'')" placeholder="请输入违约金比例" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="延期付款利率" prop="latePaymentRate">
<el-input v-model="formData.latePaymentRate" placeholder="请输入延期付款利率" />
<el-form-item label="延期付款利率%" prop="latePaymentRate">
<el-input v-model="formData.latePaymentRate" oninput = "value=value.replace(/[^\d]/g,'')" placeholder="请输入延期付款利率" />
</el-form-item>
</el-col>
<!-- <el-col :span="8">
@ -819,6 +825,7 @@ onMounted(async () => {
customerList.value = await CustomerApi.getCustomerSimpleList()
//
userOptions.value = await UserApi.getSimpleUserList()
console.log('%csrc/views/crm/contract/ContractForm.vue:827 userOptions.value', 'color: #007acc;', userOptions.value);
//
quotationList.value = await QuotationApi.getSelfSimpleQuotationList()
@ -843,5 +850,7 @@ onMounted(async () => {
pageSize: 1000
})
orgList.value = data.list
});
</script>

View File

@ -11,51 +11,72 @@
<el-table-column label="序号" type="index" width="100" />
<el-table-column label="单位名称" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.customerName`" :rules="formRules.customerName" class="mb-0px!">
<el-form-item :prop="`${$index}.customerName`" :rules="formRules.customerName" class="mb-0px!" v-if="!type">
<el-input v-model="row.customerName" placeholder="请输入单位名称" />
</el-form-item>
<div v-else>
{{row.customerName}}
</div>
</template>
</el-table-column>
<el-table-column label="统一社会信用代码" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.unifiedCreditCode`" :rules="formRules.unifiedCreditCode" class="mb-0px!">
<el-form-item :prop="`${$index}.unifiedCreditCode`" :rules="formRules.unifiedCreditCode" class="mb-0px!" v-if="!type">
<el-input v-model="row.unifiedCreditCode" placeholder="请输入统一社会信用代码" />
</el-form-item>
<div v-else>
{{row.unifiedCreditCode}}
</div>
</template>
</el-table-column>
<el-table-column label="开票地址" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.invoicingAddress`" :rules="formRules.invoicingAddress" class="mb-0px!">
<el-form-item :prop="`${$index}.invoicingAddress`" :rules="formRules.invoicingAddress" class="mb-0px!" v-if="!type">
<el-input v-model="row.invoicingAddress" placeholder="请输入开票地址" />
</el-form-item>
<div v-else>
{{row.invoicingAddress}}
</div>
</template>
</el-table-column>
<el-table-column label="开票电话" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.invoicingTelephone`" :rules="formRules.invoicingTelephone" class="mb-0px!">
<el-form-item :prop="`${$index}.invoicingTelephone`" :rules="formRules.invoicingTelephone" class="mb-0px!" v-if="!type">
<el-input v-model="row.invoicingTelephone" placeholder="请输入开票电话" />
</el-form-item>
<div v-else>
{{row.invoicingTelephone}}
</div>
</template>
</el-table-column>
<el-table-column label="开户行" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.companyBank`" :rules="formRules.companyBank" class="mb-0px!">
<el-form-item :prop="`${$index}.companyBank`" :rules="formRules.companyBank" class="mb-0px!" v-if="!type">
<el-input v-model="row.companyBank" placeholder="请输入开户行" />
</el-form-item>
<div v-else>
{{row.companyBank}}
</div>
</template>
</el-table-column>
<el-table-column label="开户账号" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.companyAccount`" :rules="formRules.companyAccount" class="mb-0px!">
<el-form-item :prop="`${$index}.companyAccount`" :rules="formRules.companyAccount" class="mb-0px!" v-if="!type">
<el-input v-model="row.companyAccount" placeholder="请输入开户账号" />
</el-form-item>
<div v-else>
{{row.companyAccount}}
</div>
</template>
</el-table-column>
<el-table-column label="通讯地址" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.companyAddress`" :rules="formRules.companyAddress" class="mb-0px!">
<el-form-item :prop="`${$index}.companyAddress`" :rules="formRules.companyAddress" class="mb-0px!" v-if="!type">
<el-input v-model="row.companyAddress" placeholder="请输入通讯地址" />
</el-form-item>
<div v-else>
{{row.companyAddress}}
</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="60" v-if="!type">
@ -77,13 +98,13 @@ import { propTypes } from '@/utils/propTypes'
const formLoading = ref(false) //
const formData = ref([])
const formRules = reactive({
// contractId: [{ required: true, message: 'ID', trigger: 'blur' }],
// customerName: [{ required: true, message: '', trigger: 'blur' }],
// unifiedCreditCode: [{ required: true, message: '', trigger: 'blur' }],
// invoicingAddress: [{ required: true, message: '', trigger: 'blur' }],
// invoicingTelephone: [{ required: true, message: '', trigger: 'blur' }],
// companyBank: [{ required: true, message: '', trigger: 'blur' }],
// companyAccount: [{ required: true, message: '', trigger: 'blur' }]
contractId: [{ required: true, message: '合同ID不能为空', trigger: 'blur' }],
customerName: [{ required: true, message: '单位名称不能为空', trigger: 'blur' }],
unifiedCreditCode: [{ required: true, message: '统一社会信用代码不能为空', trigger: 'blur' }],
invoicingAddress: [{ required: true, message: '开票地址不能为空', trigger: 'blur' }],
invoicingTelephone: [{ required: true, message: '开票电话不能为空', trigger: 'blur' }],
companyBank: [{ required: true, message: '开户行不能为空', trigger: 'blur' }],
companyAccount: [{ required: true, message: '开户账号不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref

View File

@ -11,9 +11,12 @@
<el-table-column label="序号" type="index" width="100" />
<el-table-column label="授权人姓名" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.customerContactId`" :rules="formRules.customerContactId" class="mb-0px!">
<el-input v-model="row.customerContactId" placeholder="请输入客户联系人ID" />
<el-form-item :prop="`${$index}.customerName`" :rules="formRules.customerName" class="mb-0px!" v-if="!type">
<el-input v-model="row.customerName" placeholder="请输入授权人姓名" />
</el-form-item>
<div v-else>
{{row.customerName}}
</div>
</template>
</el-table-column>
<!-- <el-table-column label="姓名" min-width="150">
@ -25,7 +28,7 @@
</el-table-column> -->
<el-table-column label="授权人类型" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.authPersonType`" :rules="formRules.authPersonType" class="mb-0px!">
<el-form-item :prop="`${$index}.authPersonType`" :rules="formRules.authPersonType" class="mb-0px!" v-if="!type">
<el-select v-model="row.authPersonType" placeholder="请选择授权人类型">
<el-option
v-for="dict in getIntDictOptions('auth_person_type')"
@ -35,34 +38,49 @@
/>
</el-select>
</el-form-item>
<div v-else>
{{getName(getIntDictOptions('auth_person_type'), row.authPersonType)}}
</div>
</template>
</el-table-column>
<el-table-column label="授权人手机号" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.phoneNumber`" :rules="formRules.phoneNumber" class="mb-0px!">
<el-form-item :prop="`${$index}.phoneNumber`" :rules="formRules.phoneNumber" class="mb-0px!" v-if="!type">
<el-input v-model="row.phoneNumber" placeholder="请输入手机号" />
</el-form-item>
<div v-else>
{{row.phoneNumber}}
</div>
</template>
</el-table-column>
<el-table-column label="微信号" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.wechat`" :rules="formRules.wechat" class="mb-0px!">
<el-form-item :prop="`${$index}.wechat`" :rules="formRules.wechat" class="mb-0px!" v-if="!type">
<el-input v-model="row.wechat" placeholder="请输入微信号" />
</el-form-item>
<div v-else>
{{row.wechat}}
</div>
</template>
</el-table-column>
<el-table-column label="身份证号" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.idNumber`" :rules="formRules.idNumber" class="mb-0px!">
<el-form-item :prop="`${$index}.idNumber`" :rules="formRules.idNumber" class="mb-0px!" v-if="!type">
<el-input v-model="row.idNumber" placeholder="请输入身份证号" />
</el-form-item>
<div v-else>
{{row.idNumber}}
</div>
</template>
</el-table-column>
<el-table-column label="电子邮箱" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.email`" :rules="formRules.email" class="mb-0px!">
<el-form-item :prop="`${$index}.email`" :rules="formRules.email" class="mb-0px!" v-if="!type">
<el-input v-model="row.email" placeholder="请输入电子邮箱" />
</el-form-item>
<div v-else>
{{row.email}}
</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="60" v-if="!type">
@ -92,9 +110,25 @@ const formLoading = ref(false) // 表单的加载中
const formData = ref([])
const formRules = reactive({
contractId: [{ required: true, message: '合同ID不能为空', trigger: 'blur' }],
customerContactId: [{ required: true, message: '客户联系人ID不能为空', trigger: 'blur' }],
authPersonType: [{ required: true, message: '授权人类型不能为空', trigger: 'blur' }],
customerName: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
phoneNumber: [{ required: true, message: '手机号不能为空', trigger: 'blur' }]
phoneNumber: [{ required: true, message: '手机号不能为空', trigger: 'blur' } ,
{pattern: /^(1[3-9][0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, message: '请输入正确手机号'}
],
idNumber: [{ required: true, message: '身份证号不能为空', trigger: 'blur' } ,
{
pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: "身份证号格式不正确",
trigger: "blur",
},
],
email: [{ required: true, message: '电子邮箱不能为空', trigger: 'blur' } ,
{
pattern:
/^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})$/,
message: "请输入正确的电子邮箱",
}
]
})
const formRef = ref() // Ref
@ -138,7 +172,6 @@ watch(
const message = useMessage() //
const contactRef = ref() // Ref
const handleAdd = () => {
console.log('%csrc/views/crm/contract/components/ContractAAuthorizedPersonForm.vue:140 props.customerId', 'color: #007acc;', props.customerId);
if(!props.customerId) {
return message.warning('请先选择报价单')
}
@ -154,11 +187,8 @@ const getList = (val: []) => {
if(!formData.value.some(v => v.id === item.id)) {
val.forEach(item => {
formData.value.push({
"name": item.name,
"postId": item.post,
"userRank": item.userRank,
"customerName": item.name,
"phoneNumber": item.mobile,
"authDesc": item.authDesc,
"wechat":item. wechat,
"email":item. email,
"id": item.id
@ -186,4 +216,9 @@ const getData = () => {
}
defineExpose({ validate, getData })
const getName = (opt, val) => {
const arr = opt.filter(v => v.value == val)
return arr.length ? arr[0]['label'] : ''
}
</script>

View File

@ -18,7 +18,7 @@
</el-table-column> -->
<el-table-column label="类别" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.authType`" :rules="formRules.authType" class="mb-0px!">
<el-form-item :prop="`${$index}.authType`" :rules="formRules.authType" class="mb-0px!" v-if="!type">
<el-select v-model="row.authType" placeholder="请选择类别">
<el-option
v-for="dict in getIntDictOptions('auth_type')"
@ -28,11 +28,14 @@
/>
</el-select>
</el-form-item>
<div v-else>
{{getName(getIntDictOptions('auth_type'), row.authType, 'value', 'label')}}
</div>
</template>
</el-table-column>
<el-table-column label="姓名" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.userId`" :rules="formRules.name" class="mb-0px!">
<el-form-item :prop="`${$index}.userId`" :rules="formRules.name" class="mb-0px!" v-if="!type">
<el-select v-model="row.userId" placeholder="请选择售后维护人" @change="changeUser($index, row.userId)">
<el-option
v-for="dict in userOptions"
@ -42,49 +45,69 @@
/>
</el-select>
</el-form-item>
<div v-else>
{{getName(userOptions, row.userId, 'id', 'nickname')}}
</div>
</template>
</el-table-column>
<el-table-column label="岗位" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.postId`" :rules="formRules.postId" class="mb-0px!">
<el-input v-model="row.postId" placeholder="请输入岗位" />
<el-form-item :prop="`${$index}.deptName`" :rules="formRules.deptName" class="mb-0px!" v-if="!type">
<el-input v-model="row.deptName" placeholder="请输入岗位" />
</el-form-item>
<div v-else>
{{row.deptName}}
</div>
</template>
</el-table-column>
<el-table-column label="职级" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.userRank`" :rules="formRules.userRank" class="mb-0px!">
<el-form-item :prop="`${$index}.userRank`" :rules="formRules.userRank" class="mb-0px!" v-if="!type">
<el-input v-model="row.userRank" placeholder="请输入职级" />
</el-form-item>
<div v-else>
{{row.userRank}}
</div>
</template>
</el-table-column>
<el-table-column label="权限说明" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.authDesc`" :rules="formRules.authDesc" class="mb-0px!">
<el-form-item :prop="`${$index}.authDesc`" :rules="formRules.authDesc" class="mb-0px!" v-if="!type">
<el-input v-model="row.authDesc" placeholder="请输入权限说明" />
</el-form-item>
<div v-else>
{{row.authDesc}}
</div>
</template>
</el-table-column>
<el-table-column label="手机号" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.phoneNumber`" :rules="formRules.phoneNumber" class="mb-0px!">
<el-form-item :prop="`${$index}.phoneNumber`" :rules="formRules.phoneNumber" class="mb-0px!" v-if="!type">
<el-input v-model="row.phoneNumber" placeholder="请输入手机号" />
</el-form-item>
<div v-else>
{{row.phoneNumber}}
</div>
</template>
</el-table-column>
<el-table-column label="微信号" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.wechat`" :rules="formRules.wechat" class="mb-0px!">
<el-form-item :prop="`${$index}.wechat`" :rules="formRules.wechat" class="mb-0px!" v-if="!type">
<el-input v-model="row.wechat" placeholder="请输入微信号" />
</el-form-item>
<div v-else>
{{row.wechat}}
</div>
</template>
</el-table-column>
<el-table-column label="电子邮箱" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.email`" :rules="formRules.email" class="mb-0px!">
<el-form-item :prop="`${$index}.email`" :rules="formRules.email" class="mb-0px!" v-if="!type">
<el-input v-model="row.email" placeholder="请输入电子邮箱" />
</el-form-item>
<div v-else>
{{row.email}}
</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="60" v-if="!type">
@ -116,7 +139,15 @@ const formRules = reactive({
contractId: [{ required: true, message: '合同ID不能为空', trigger: 'blur' }],
userId: [{ required: true, message: '用户ID不能为空', trigger: 'blur' }],
name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
phoneNumber: [{ required: true, message: '手机号不能为空', trigger: 'blur' }]
phoneNumber: [{ required: true, message: '手机号不能为空', trigger: 'blur' } ,
{pattern: /^(1[3-9][0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, message: '请输入正确手机号'}],
email: [{ required: true, message: '电子邮箱不能为空', trigger: 'blur' } ,
{
pattern:
/^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})$/,
message: "请输入正确的电子邮箱",
}
]
})
const formRef = ref() // Ref
@ -132,7 +163,13 @@ watch(
}
try {
formLoading.value = true
formData.value = await ContractApi.getContractBAuthorizedPersonListByContractId(val)
let data = await ContractApi.getContractBAuthorizedPersonListByContractId(val)
// console.log('%csrc/views/crm/contract/components/ContractBAuthorizedPersonForm.vue:159 props.userOptions', 'color: #007acc;', props.userOptions);
// data.forEach( item => {
// item.userName = getName(props.userOptions, item.userId, 'id', 'nickname')
// })
formData.value = data
} finally {
formLoading.value = false
}
@ -148,7 +185,7 @@ const handleAdd = () => {
userId: undefined,
name: undefined,
authType: undefined,
postId: undefined,
deptName: undefined,
userRank: undefined,
authDesc: undefined,
phoneNumber: undefined,
@ -167,11 +204,11 @@ const contactRef = ref() // 表单 Ref
// contactRef.value.open(formData.value, props.customerId)
// }
const changeUser = (i, val) => {
console.log('%csrc/views/crm/contract/components/ContractBAuthorizedPersonForm.vue:170 i,val', 'color: #007acc;',props.userOptions.filter(v => v.id === val), i,val);
let arr = props.userOptions.filter(v => v.id === val)
if(arr.length) {
formData.value[i].name = arr[0].nickname
formData.value[i].postId = arr[0].deptName
formData.value[i].deptName = arr[0].deptName
formData.value[i].postId = arr[0].deptId
}
}
const getList = (val: []) => {
@ -186,6 +223,7 @@ const getList = (val: []) => {
"name": item.name,
"authType": item.post,
"postId": item.userRank,
"deptName": item.deptName,
"userRank": item.mobile,
"authDesc": item.authDesc,
"wechat":item. wechat,
@ -217,4 +255,9 @@ const getData = () => {
}
defineExpose({ validate, getData })
const getName = (opt, val, id, name) => {
const arr = opt.filter(v => v[id] == val)
return arr.length ? arr[0][name] : ''
}
</script>

View File

@ -19,28 +19,31 @@
</el-table-column> -->
<el-table-column label="产品名称" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productName`" :rules="formRules.productName" class="mb-0px!">
<el-form-item :prop="`${$index}.productName`" :rules="formRules.productName" class="mb-0px!" v-if="!type">
<el-input v-model="row.productName" placeholder="请输入产品名称" disabled />
</el-form-item>
<div v-else>
{{row.productName}}
</div>
</template>
</el-table-column>
<el-table-column label="产品类别" min-width="150">
<el-table-column label="产品类别" align="center" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.category`" :rules="formRules.category" class="mb-0px!">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_CATEGORY" :value="row.category" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品明细" min-width="150">
<el-table-column label="产品明细" align="center" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.detailType`" :rules="formRules.detailType" class="mb-0px!">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_DETAIL_TYPE" :value="row.detailType" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品单位" min-width="150">
<el-table-column label="产品单位" align="center" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productUnit`" :rules="formRules.productUnit" class="mb-0px!">
<el-form-item :prop="`${$index}.productUnit`" :rules="formRules.productUnit" class="mb-0px!" v-if="!type">
<el-select v-model="row.productUnit" placeholder="产品单位" disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_UNIT)"
@ -50,32 +53,42 @@
/>
</el-select>
</el-form-item>
<dict-tag v-else :type="DICT_TYPE.CRM_PRODUCT_UNIT" :value="row.productUnit" />
</template>
</el-table-column>
<el-table-column label="线上价格" min-width="150">
<el-table-column label="线上价格" align="center" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.onlinePrice`" :rules="formRules.onlinePrice" class="mb-0px!">
<el-form-item :prop="`${$index}.onlinePrice`" :rules="formRules.onlinePrice" class="mb-0px!" v-if="!type">
<el-input v-model="row.onlinePrice" placeholder="请输入线上价格" disabled />
</el-form-item>
<div v-else>
{{row.onlinePrice}}
</div>
</template>
</el-table-column>
<el-table-column label="线下价格" min-width="150">
<el-table-column label="线下价格" align="center" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.offlinePrice`" :rules="formRules.offlinePrice" class="mb-0px!">
<el-form-item :prop="`${$index}.offlinePrice`" :rules="formRules.offlinePrice" class="mb-0px!" v-if="!type">
<el-input v-model="row.offlinePrice" placeholder="请输入线下价格" disabled />
</el-form-item>
<div v-else>
{{row.onlinePrice}}
</div>
</template>
</el-table-column>
<el-table-column label="总计价格" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.totalPrice`" :rules="formRules.totalPrice" class="mb-0px!">
<el-table-column label="总计价格" align="center" min-width="150">
<template #default="{ row }">
<!-- <el-form-item :prop="`${$index}.totalPrice`" :rules="formRules.totalPrice" class="mb-0px!">
<el-input v-model="row.totalPrice" placeholder="请输入总计价格" disabled />
</el-form-item>
</el-form-item> -->
<div>
{{row.onlinePrice}}
</div>
</template>
</el-table-column>
<el-table-column label="产品票据" min-width="150">
<el-table-column label="产品票据" align="center" min-width="140">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productInvoice`" :rules="formRules.productInvoice" class="mb-0px!">
<el-form-item :prop="`${$index}.productInvoice`" :rules="formRules.productInvoice" class="mb-0px!" v-if="!type">
<el-select v-model="row.productInvoice" placeholder="请选择状态" disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_INVOICE)"
@ -85,11 +98,12 @@
/>
</el-select>
</el-form-item>
<dict-tag v-else :type="DICT_TYPE.CRM_PRODUCT_INVOICE" :value="row.productInvoice" />
</template>
</el-table-column>
<el-table-column label="产品开具项目" min-width="150">
<el-table-column label="产品开具项目" align="center" min-width="160">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productInvoiceItem`" :rules="formRules.productInvoiceItem" class="mb-0px!">
<el-form-item :prop="`${$index}.productInvoiceItem`" :rules="formRules.productInvoiceItem" class="mb-0px!" v-if="!type">
<el-select v-model="row.productInvoiceItem" placeholder="请选择状态" disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS)"
@ -99,11 +113,12 @@
/>
</el-select>
</el-form-item>
<dict-tag v-else :type="DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS" :value="row.productInvoiceItem" />
</template>
</el-table-column>
<el-table-column label="服务费票据" min-width="150">
<el-table-column label="服务费票据" align="center" min-width="140">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceInvoice`" :rules="formRules.serviceInvoice" class="mb-0px!">
<el-form-item :prop="`${$index}.serviceInvoice`" :rules="formRules.serviceInvoice" class="mb-0px!" v-if="!type">
<el-select v-model="row.serviceInvoice" placeholder="服务费票据" disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE)"
@ -113,11 +128,12 @@
/>
</el-select>
</el-form-item>
<dict-tag v-else :type="DICT_TYPE.CRM_SERVICE_FEE_INVOICE" :value="row.serviceInvoice" />
</template>
</el-table-column>
<el-table-column label="服务开具项目" min-width="150">
<el-table-column label="服务开具项目" align="center" min-width="160">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceInvoiceItem`" :rules="formRules.serviceInvoiceItem" class="mb-0px!">
<el-form-item :prop="`${$index}.serviceInvoiceItem`" :rules="formRules.serviceInvoiceItem" class="mb-0px!" v-if="!type">
<el-select v-model="row.serviceInvoiceItem" placeholder="服务开具项目" disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE_ITEMS)"
@ -127,6 +143,7 @@
/>
</el-select>
</el-form-item>
<dict-tag v-else :type="DICT_TYPE.CRM_SERVICE_FEE_INVOICE_ITEMS" :value="row.serviceInvoiceItem" />
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="60" v-if="!type">

View File

@ -174,14 +174,19 @@
</el-col>
<el-col :span="8">
<el-form-item label="甲方名称" prop="partyName">
<el-select v-model="formData.partyName" disabled placeholder="">
<el-option
v-for="dict in getStrDictOptions('payment_term')"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-select
v-model="formData.customerId"
disabled=""
placeholder=""
class="w-1/1"
>
<el-option
v-for="item in contactList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
@ -442,26 +447,34 @@
<!-- 子表的表单 -->
<ContentWrap style="border: none;font-weight:700">
产品清单
</ContentWrap>
<ContentWrap>
<el-tabs v-model="subTabsName" class="-mt-15px -mb-10px">
<el-tab-pane label="产品清单" name="product">
<ContractProductForm
:type="1"
ref="productFormRef"
:products="formData.products"
:disabled="disabled"
/>
</el-tab-pane>
<el-tab-pane label="合同甲方关联单位" name="contractAAuthorizedCompany">
<ContractAAuthorizedCompanyForm :type="1" ref="contractAAuthorizedCompanyFormRef" :contract-id="formData.id" />
</el-tab-pane>
<el-tab-pane label="合同甲方授权人信息" name="contractAAuthorizedPerson">
<ContractAAuthorizedPersonForm :type="1" ref="contractAAuthorizedPersonFormRef" :contract-id="formData.id" />
</el-tab-pane>
<el-tab-pane label="合同乙方授权人信息" name="contractBAuthorizedPerson">
<ContractBAuthorizedPersonForm :type="1" ref="contractBAuthorizedPersonFormRef" :contract-id="formData.id" />
</el-tab-pane>
</el-tabs>
<ContractProductForm
:type="1"
ref="productFormRef"
:products="formData.products"
:disabled="disabled"
/>
</ContentWrap>
<ContentWrap style="border: none;font-weight:700">
合同甲方关联单位
</ContentWrap>
<ContentWrap>
<ContractAAuthorizedCompanyForm :type="1" ref="contractAAuthorizedCompanyFormRef" :contract-id="formData.id" />
</ContentWrap>
<ContentWrap style="border: none;font-weight:700">
合同甲方授权人信息
</ContentWrap>
<ContentWrap>
<ContractAAuthorizedPersonForm :type="1" ref="contractAAuthorizedPersonFormRef" :contract-id="formData.id" />
</ContentWrap>
<ContentWrap style="border: none;font-weight:700">
合同乙方授权人信息
</ContentWrap>
<ContentWrap>
<ContractBAuthorizedPersonForm :type="1" ref="contractBAuthorizedPersonFormRef" :userOptions="userOptions" :contract-id="formData.id" />
</ContentWrap>
</el-form>
<!-- 显示在其他页面时的判断type -->

View File

@ -565,6 +565,7 @@ const open = async (type: string) => {
formLoading.value = true
try {
formData.value = await QuotationApi.getQuotation(type)
formData.value.creditLimit = ((formData.value.creditAmount || 0) + (formData.value.creditLimitNum || 0)).toFixed(2)
} finally {
formLoading.value = false
}

View File

@ -502,7 +502,7 @@ const onBusinessChange = async (businessId: string) => {
formLoading.value = true;
const res = await BusinessApi.getBusiness(businessId);
formData.value.customerId = res.customerId;
formData.value.creditLimit = res.creditLimit; //
// formData.value.creditLimit = res.creditLimit; //
formData.value.ownerUserId = res.ownerUserId; //
formData.value.paymentTerm = res.paymentTerm;
formData.value.creditMethod = res.creditMethod;
@ -511,6 +511,9 @@ const onBusinessChange = async (businessId: string) => {
formData.value.offlinePrice = res.offlinePrice;
formData.value.onlinePrice = res.onlinePrice;
formData.value.totalPrice = res.totalPrice;
formData.value.creditAmount = res.creditAmount;
console.log('%csrc/views/crm/quotation/QuotationForm.vue:516 (formData.value.creditAmount || 0) + (formData.value.creditLimitNum || 0)', 'color: #007acc;', (formData.value.creditAmount || 0) , (formData.value.creditLimitNum || 0));
// 🔁
await onCustomerChange(res.customerId);
} catch (err) {
@ -545,6 +548,7 @@ const onCustomerChange = async (customerId: string) => {
formData.value.financingRecord = customerRes.financingRecord;
formData.value.enforcementRecord = customerRes.enforcementRecord;
formData.value.creditAmount = customerRes.creditAmount || 0;
formData.value.creditLimit = ((formData.value.creditAmount || 0) + (formData.value.creditLimitNum || 0)).toFixed(2)
} catch (err) {
console.error('获取客户详情失败:', err);
} finally {
@ -580,6 +584,7 @@ const open = async (type: string) => {
formLoading.value = true
try {
formData.value = await QuotationApi.getQuotation(type)
formData.value.creditLimit = (formData.value.creditAmount || 0) + (formData.value.creditLimitNum || 0)
} finally {
formLoading.value = false
}

View File

@ -9,111 +9,63 @@
>
<el-table :data="formData" class="-mt-10px">
<el-table-column label="序号" type="index" width="100" />
<el-table-column label="产品名称" min-width="150">
<!-- <el-table-column label="产品名称" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productName`" :rules="formRules.productName" class="mb-0px!">
{{row.productName}}
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品类型" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.category`" :rules="formRules.category" class="mb-0px!">
</el-table-column> -->
<el-table-column label="产品类型" align="center" min-width="150">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_CATEGORY" :value="row.category" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品明细类型" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.detailType`" :rules="formRules.detailType" class="mb-0px!">
<el-table-column label="产品明细类型" align="center" min-width="190">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_DETAIL_TYPE" :value="row.detailType" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品单位" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productUnit`" :rules="formRules.productUnit" class="mb-0px!">
<el-table-column label="产品单位" align="center" min-width="150">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_UNIT" :value="row.productUnit" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="线上价格" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.onlinePrice`" :rules="formRules.onlinePrice" class="mb-0px!">
<el-table-column label="线上价格" align="center" min-width="150">
<template #default="{ row }">
{{row.onlinePrice}}
</el-form-item>
</template>
</el-table-column>
<el-table-column label="线下价格" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.offlinePrice`" :rules="formRules.offlinePrice" class="mb-0px!">
<el-table-column label="线下手续费" align="center" min-width="150">
<template #default="{ row }">
{{row.offlinePrice}}
</el-form-item>
</template>
</el-table-column>
<el-table-column label="总计价格" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.totalPrice`" :rules="formRules.totalPrice" class="mb-0px!">
<el-table-column label="总计价格" align="center" min-width="150">
<template #default="{ row }">
{{row.totalPrice}}
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品票据" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productInvoice`" :rules="formRules.productInvoice" class="mb-0px!">
<el-select v-model="row.productInvoice" placeholder="请选择状态" disabled class="!w-240px">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_INVOICE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-table-column label="产品票据" align="center" min-width="150">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_INVOICE" :value="row.productInvoice" />
</template>
</el-table-column>
<el-table-column label="产品开具项目" min-width="250">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productInvoiceItem`" :rules="formRules.productInvoiceItems" class="mb-0px!">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS" :value="row.productInvoiceItems" />
<el-select v-model="row.productInvoiceItem" placeholder="请选择状态" disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-table-column label="产品开具项目" align="center" min-width="250">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS" :value="row.productInvoiceItem" />
</template>
</el-table-column>
<el-table-column label="服务费票据" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceInvoice`" :rules="formRules.serviceFeeInvoice" class="mb-0px!">
<el-select v-model="row.serviceInvoice" placeholder="请选择状态" disabled class="!w-240px">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-table-column label="服务费票据" align="center" min-width="150">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_SERVICE_FEE_INVOICE" :value="row.serviceInvoice" />
</template>
</el-table-column>
<el-table-column label="服务开具项目" min-width="250">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceInvoiceItem`" :rules="formRules.serviceFeeInvoiceItems" class="mb-0px!">
<el-select v-model="row.serviceInvoiceItem" placeholder="请选择状态" disabled class="!w-240px">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE_ITEMS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-table-column label="服务开具项目" align="center" min-width="250">
<template #default="{ row }">
<dict-tag :type="DICT_TYPE.CRM_SERVICE_FEE_INVOICE_ITEMS" :value="row.serviceInvoiceItem" />
</template>
</el-table-column>
@ -201,6 +153,10 @@ const validate = () => {
const getData = () => {
return formData.value
}
const getName = (opt, val) => {
const arr = opt.filter(v => v.value == val)
return arr.length ? arr[0]['label'] : ''
}
defineExpose({ validate, getData })
</script>

View File

@ -9,25 +9,18 @@
>
<el-table :data="formData" class="-mt-10px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="产品名称" min-width="240">
<!-- <el-table-column label="产品名称" min-width="240">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productName`" :rules="formRules.productName" class="mb-0px!">
<el-input v-model="row.productName" placeholder="请输入产品名称" disabled />
{{row.productName}}
</el-form-item>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="产品类型" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.category`" :rules="formRules.category" class="mb-0px!">
<el-select v-model="row.category" placeholder="请选择状态" disabled class="!w-240px">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_CATEGORY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_CATEGORY" :value="row.category" />
</el-form-item>
</template>
</el-table-column>
@ -49,14 +42,7 @@
<el-table-column label="产品单位" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productUnit`" :rules="formRules.productUnit" class="mb-0px!">
<el-select v-model="row.productUnit" placeholder="请选择状态" disabled class="!w-240px">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_UNIT)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<dict-tag :type="DICT_TYPE.CRM_PRODUCT_UNIT" :value="row.productUnit" />
</el-form-item>
</template>
</el-table-column>
@ -67,7 +53,7 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="线下价格(元)" min-width="120">
<el-table-column label="线下手续费(元)" min-width="120">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.offlinePrice`" :rules="formRules.offlinePrice" class="mb-0px!">
<el-input v-model="row.offlinePrice" placeholder="请输入线下价格" />
@ -77,7 +63,7 @@
<el-table-column label="总计价格(元)" min-width="120">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.totalPrice`" :rules="formRules.totalPrice" class="mb-0px!">
<el-input v-model="row.totalPrice" placeholder="请输入总计价格" disabled />
{{row.totalPrice}}
</el-form-item>
</template>
</el-table-column>
@ -200,7 +186,6 @@ watch(
// } else if(val.businessId) {
const business = await BusinessApi.getBusiness(val);
formData.value = business.products
// console.log('%csrc/views/crm/quotation/components/QuotationProductForm.vue:214 1111', 'color: #007acc;', 2222);
emit('update:handleType', 0)
// }
} finally {

View File

@ -1,45 +1,71 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible">
<Dialog :title="dialogTitle" v-model="dialogVisible" width="50%">
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
label-width="144px"
v-loading="formLoading"
>
<el-form-item label="机构名称" prop="orgName">
<el-input v-model="formData.orgName" placeholder="请输入机构名称" />
</el-form-item>
<el-form-item label="工作地址" prop="workplace">
<el-input v-model="formData.workplace" placeholder="请输入工作地址" />
</el-form-item>
<el-form-item label="企业微信凭证" prop="corpId">
<el-input v-model="formData.corpId" placeholder="请输入企业微信凭证" />
</el-form-item>
<el-form-item label="企业微信凭证密钥" prop="corpSecret">
<el-input v-model="formData.corpSecret" placeholder="请输入企业微信凭证密钥" />
</el-form-item>
<el-form-item label="主体名称" prop="subjectName">
<el-input v-model="formData.subjectName" placeholder="请输入主体名称" />
</el-form-item>
<el-form-item label="统一信用代码" prop="creditCode">
<el-input v-model="formData.creditCode" placeholder="请输入统一信用代码" />
</el-form-item>
<el-form-item label="法人代表" prop="legalRepresentative">
<el-input v-model="formData.legalRepresentative" placeholder="请输入法人代表" />
</el-form-item>
<el-form-item label="注册地址" prop="registeredAddress">
<el-input v-model="formData.registeredAddress" placeholder="请输入注册地址" />
</el-form-item>
<el-form-item label="开户行" prop="bankName">
<el-input v-model="formData.bankName" placeholder="请输入开户行" />
</el-form-item>
<el-form-item label="银行账号" prop="bankAccount">
<el-input v-model="formData.bankAccount" placeholder="请输入银行账号" />
</el-form-item>
<el-form-item label="营业执照文件路径" prop="businessLicense">
<el-input v-model="formData.businessLicense" placeholder="请输入营业执照文件路径" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="机构名称" prop="orgName">
<el-input v-model="formData.orgName" placeholder="请输入机构名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工作地址" prop="workplace">
<el-input v-model="formData.workplace" placeholder="请输入工作地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="企业微信凭证" prop="corpId">
<el-input v-model="formData.corpId" placeholder="请输入企业微信凭证" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="企业微信凭证密钥" prop="corpSecret">
<el-input v-model="formData.corpSecret" placeholder="请输入企业微信凭证密钥" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主体名称" prop="subjectName">
<el-input v-model="formData.subjectName" placeholder="请输入主体名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="统一信用代码" prop="creditCode">
<el-input v-model="formData.creditCode" placeholder="请输入统一信用代码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人代表" prop="legalRepresentative">
<el-input v-model="formData.legalRepresentative" placeholder="请输入法人代表" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册地址" prop="registeredAddress">
<el-input v-model="formData.registeredAddress" placeholder="请输入注册地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户行" prop="bankName">
<el-input v-model="formData.bankName" placeholder="请输入开户行" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="银行账号" prop="bankAccount">
<el-input v-model="formData.bankAccount" placeholder="请输入银行账号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="营业执照文件路径" prop="businessLicense">
<UploadImg v-model="formData.businessLicense" />
<!-- <el-input v-model="formData.businessLicense" placeholder="请输入营业执照文件路径" /> -->
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>