|
|
|
@ -17,7 +17,7 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-radio-group v-model="dbForm.k1" size="large">
|
|
|
|
|
<el-radio-group v-model="formData.calssify" size="large">
|
|
|
|
|
<el-radio-button label="一级客户">
|
|
|
|
|
<span>一级客户</span><br /><span style="font-size: 12px;">钢厂/回收机构</span>
|
|
|
|
|
</el-radio-button>
|
|
|
|
@ -43,7 +43,7 @@
|
|
|
|
|
<el-col :span="18">
|
|
|
|
|
<el-upload class="avatar-uploader2"
|
|
|
|
|
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" :show-file-list="false">
|
|
|
|
|
<img v-if="dbForm.k2 != ''" :src="dbForm.k2" class="avatar" />
|
|
|
|
|
<img v-if="formData.logo != ''" :src="formData.logo" class="avatar" />
|
|
|
|
|
<el-icon v-else class="avatar-uploader-icon">
|
|
|
|
|
<Plus />
|
|
|
|
|
</el-icon>
|
|
|
|
@ -54,58 +54,61 @@
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="k3" label="客户名称" :rules="[
|
|
|
|
|
<el-form-item prop="name" label="客户名称" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入客户名称',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-input v-model="dbForm.k3" placeholder="客户名称" />
|
|
|
|
|
<el-input v-model="formData.name" placeholder="客户名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="行业分类" :rules="[
|
|
|
|
|
<el-form-item prop="industryClassify" label="行业分类" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入行业分类',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.k4" placeholder="行业分类" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
<el-select v-model="formData.industryClassify" placeholder="行业分类" style="width: 100%;">
|
|
|
|
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.industryClassify)" :key="dict.value"
|
|
|
|
|
:label="dict.label" :value="dict.value.toString()" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="业务进度" :rules="[
|
|
|
|
|
<el-form-item prop="industrySchedule" label="业务进度" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入业务进度',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.k4" placeholder="业务进度" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
<el-select v-model="formData.industrySchedule" placeholder="业务进度" style="width: 100%;">
|
|
|
|
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.industrySchedule)" :key="dict.value"
|
|
|
|
|
:label="dict.label" :value="dict.value.toString()" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="信用等级" :rules="[
|
|
|
|
|
<el-form-item prop="customerStarrating" label="信用等级" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入信用等级',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.k4" placeholder="信用等级" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
<el-select v-model="formData.customerStarrating" placeholder="信用等级" style="width: 100%;">
|
|
|
|
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.CUSTOMER_STARRATING)" :key="dict.value"
|
|
|
|
|
:label="dict.label" :value="dict.value.toString()" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -114,44 +117,46 @@
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="k4" label="企业性质" :rules="[
|
|
|
|
|
<el-form-item prop="enterpriseNature" label="企业性质" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入企业性质',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.k4" placeholder="企业性质" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
<el-select v-model="formData.enterpriseNature" placeholder="企业性质" style="width: 100%;">
|
|
|
|
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.enterpriseNature)" :key="dict.value"
|
|
|
|
|
:label="dict.label" :value="dict.value.toString()" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="k4" label="客户来源" :rules="[
|
|
|
|
|
<el-form-item prop="customerSource" label="客户来源" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入客户来源',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.k4" placeholder="客户来源" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
<el-select v-model="formData.customerSource" placeholder="客户来源" style="width: 100%;">
|
|
|
|
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.customerSource)" :key="dict.value"
|
|
|
|
|
:label="dict.label" :value="dict.value.toString()" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="k4" label="归属人员" :rules="[
|
|
|
|
|
<el-form-item prop="belongingPeople" label="归属人员" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入归属人员',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.k4" placeholder="归属人员" style="width: 100%;">
|
|
|
|
|
<el-select v-model="formData.belongingPeople" placeholder="归属人员" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
@ -168,73 +173,69 @@
|
|
|
|
|
<template #default>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="kx" label="国家" :rules="[
|
|
|
|
|
<el-form-item prop="country" label="国家" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入国家',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.kx" placeholder="国家" style="width: 100%;">
|
|
|
|
|
<el-select v-model="formData.country" placeholder="国家" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="kx" label="所在省/市" :rules="[
|
|
|
|
|
<el-form-item prop="city" label="所在省/市" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择所在省/市',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.kx" placeholder="所在省/市" style="width: 100%;">
|
|
|
|
|
<el-select v-model="formData.city" placeholder="所在省/市" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="kx" label="详细地址" :rules="[
|
|
|
|
|
<el-form-item prop="address" label="详细地址" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入详细地址',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-input v-model="dbForm.k3" placeholder="详细地址" />
|
|
|
|
|
<el-input v-model="formData.address" placeholder="详细地址" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="kx" label="公司电话" :rules="[
|
|
|
|
|
<el-form-item prop="phone" label="公司电话" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入公司电话',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.kx" placeholder="公司电话" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-input v-model="formData.phone" placeholder="公司电话" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="kx" label="公司传真" :rules="[
|
|
|
|
|
<el-form-item prop="companyFax" label="公司传真" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择公司传真',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.kx" placeholder="公司传真" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-input v-model="formData.companyFax" placeholder="公司传真" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="kx" label="公司网址" :rules="[]">
|
|
|
|
|
<el-input v-model="dbForm.kx" placeholder="公司网址">
|
|
|
|
|
<el-form-item prop="companyHttp" label="公司网址" :rules="[]">
|
|
|
|
|
<el-input v-model="formData.companyHttp" placeholder="公司网址">
|
|
|
|
|
<template #prepend>Http://</template>
|
|
|
|
|
</el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
@ -242,8 +243,8 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="公司介绍" :rules="[]">
|
|
|
|
|
<el-input v-model="dbForm.kx" placeholder="公司介绍" type="textarea"
|
|
|
|
|
<el-form-item prop="companyProfile" label="公司介绍" :rules="[]">
|
|
|
|
|
<el-input v-model="formData.companyProfile" placeholder="公司介绍" type="textarea"
|
|
|
|
|
:autosize="{ minRows: 2, maxRows: 4 }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -264,7 +265,7 @@
|
|
|
|
|
<el-col :span="18">
|
|
|
|
|
<el-upload class="avatar-uploader"
|
|
|
|
|
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" :show-file-list="false">
|
|
|
|
|
<img v-if="dbForm.k2 != ''" :src="dbForm.k2" class="avatar" />
|
|
|
|
|
<img v-if="formData.socialInformationCodeCertificate != ''" :src="formData.socialInformationCodeCertificate" class="avatar" />
|
|
|
|
|
<el-icon v-else class="avatar-uploader-icon">
|
|
|
|
|
<Plus />
|
|
|
|
|
</el-icon>
|
|
|
|
@ -275,14 +276,14 @@
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="注册地址" :rules="[
|
|
|
|
|
<el-form-item prop="registerAddress" label="注册地址" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入注册地址',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-input v-model="dbForm.kx" placeholder="注册地址" />
|
|
|
|
|
<el-input v-model="formData.registerAddress" placeholder="注册地址" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -304,31 +305,27 @@
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="社会统一信息代码" :rules="[
|
|
|
|
|
<el-form-item prop="informationCode" label="社会统一信息代码" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择社会统一信息代码',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.kx" placeholder="社会统一信息代码" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-input v-model="formData.informationCode" placeholder="社会统一信息代码" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="注册资金" :rules="[
|
|
|
|
|
<el-form-item prop="registerCapital" label="注册资金" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择注册资金',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-select v-model="dbForm.kx" placeholder="注册资金" style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-input v-model="formData.registerCapital" placeholder="注册资金" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -336,14 +333,14 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item prop="kx" label="经营范围" :rules="[
|
|
|
|
|
<el-form-item prop="businessScope" label="经营范围" :rules="[
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请填写经营范围',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
}
|
|
|
|
|
]">
|
|
|
|
|
<el-input v-model="dbForm.kx" placeholder="经营范围" type="textarea"
|
|
|
|
|
<el-input v-model="formData.businessScope" placeholder="经营范围" type="textarea"
|
|
|
|
|
:autosize="{ minRows: 2, maxRows: 4 }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -899,7 +896,214 @@
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts" name="CustomerDetails">
|
|
|
|
|
import { Plus } from '@element-plus/icons-vue'
|
|
|
|
|
import { DICT_TYPE, getStrDictOptions, getIntDictOptions } from '@/utils/dict'
|
|
|
|
|
import * as SubjectBasicApi from '@/api/xxjj/subjectBasic'
|
|
|
|
|
|
|
|
|
|
const { t } = useI18n() // 国际化
|
|
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
|
|
|
|
|
|
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
|
|
|
|
const dialogTitle = ref('') // 弹窗的标题
|
|
|
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
|
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
|
|
const formData:any = ref({
|
|
|
|
|
id: undefined,
|
|
|
|
|
name: undefined,
|
|
|
|
|
businessType: undefined,
|
|
|
|
|
calssify: undefined,
|
|
|
|
|
logo: undefined,
|
|
|
|
|
enterpriseNature: undefined,
|
|
|
|
|
industryClassify: undefined,
|
|
|
|
|
customerSource: undefined,
|
|
|
|
|
customerStarrating: undefined,
|
|
|
|
|
industrySchedule: undefined,
|
|
|
|
|
belongingPeople: undefined,
|
|
|
|
|
city: undefined,
|
|
|
|
|
country: undefined,
|
|
|
|
|
address: undefined,
|
|
|
|
|
phone: undefined,
|
|
|
|
|
companyFax: undefined,
|
|
|
|
|
companyHttp: undefined,
|
|
|
|
|
companyProfile: undefined,
|
|
|
|
|
customerStatus: undefined,
|
|
|
|
|
socialInformationCodeCertificate: undefined,
|
|
|
|
|
registerAddress: undefined,
|
|
|
|
|
informationCode: undefined,
|
|
|
|
|
operateStart: undefined,
|
|
|
|
|
operateEnd: undefined,
|
|
|
|
|
registerCapital: undefined,
|
|
|
|
|
businessScope: undefined,
|
|
|
|
|
proofPaidCapital: undefined,
|
|
|
|
|
assetCertificate: undefined,
|
|
|
|
|
assetCertificateMortgage: undefined,
|
|
|
|
|
otherQualifications: undefined,
|
|
|
|
|
collaborationStart: undefined,
|
|
|
|
|
collaborationEnd: undefined,
|
|
|
|
|
demandVolumeDown: undefined,
|
|
|
|
|
demandVolumeUpper: undefined,
|
|
|
|
|
fundLimit: undefined,
|
|
|
|
|
businessHours: undefined,
|
|
|
|
|
businessStart: undefined,
|
|
|
|
|
businessEnd: undefined,
|
|
|
|
|
allowableUnloadingStart: undefined,
|
|
|
|
|
allowableUnloadingEnd: undefined,
|
|
|
|
|
unloading: undefined,
|
|
|
|
|
unloadingEfficiency: undefined,
|
|
|
|
|
allowableShipmentStart: undefined,
|
|
|
|
|
allowableShipmentEnd: undefined,
|
|
|
|
|
shipment: undefined,
|
|
|
|
|
shipmentEffciency: undefined,
|
|
|
|
|
paymentMethod: undefined,
|
|
|
|
|
accountName: undefined,
|
|
|
|
|
bankAccount: undefined,
|
|
|
|
|
bankDeposit: undefined,
|
|
|
|
|
depositArea: undefined,
|
|
|
|
|
bankBranch: undefined,
|
|
|
|
|
companyTaxNumber: undefined,
|
|
|
|
|
enterpriseName: undefined,
|
|
|
|
|
workAddress: undefined,
|
|
|
|
|
collaborationMethod: undefined,
|
|
|
|
|
settlementMethod: undefined,
|
|
|
|
|
accountPeriod: undefined,
|
|
|
|
|
underpaymentMethod: undefined,
|
|
|
|
|
applyForUnderpaymentRatio: undefined,
|
|
|
|
|
marginMethod: undefined,
|
|
|
|
|
applyForMarginRatio: undefined,
|
|
|
|
|
overdueInterestRate: undefined,
|
|
|
|
|
applyForOverdueRatio: undefined,
|
|
|
|
|
reservedFields1: undefined,
|
|
|
|
|
reservedFields2: undefined,
|
|
|
|
|
reservedFields3: undefined,
|
|
|
|
|
reservedFields4: undefined,
|
|
|
|
|
reservedFields5: undefined,
|
|
|
|
|
reservedFields6: undefined,
|
|
|
|
|
creditRating: undefined,
|
|
|
|
|
autoCreditRating: undefined,
|
|
|
|
|
accountsReceivableUpper: undefined,
|
|
|
|
|
orderQuantityDown: undefined,
|
|
|
|
|
orderQuantityUpper: undefined,
|
|
|
|
|
accountsReceivableOverdue: undefined,
|
|
|
|
|
taxPaymentCertificate: undefined
|
|
|
|
|
})
|
|
|
|
|
const formRules = reactive({
|
|
|
|
|
name: [{ required: true, message: '客户名称不能为空', trigger: 'change' }],
|
|
|
|
|
businessType: [{ required: true, message: '业务类型(0:客户 1:供应商 2:服务商)不能为空', trigger: 'change' }],
|
|
|
|
|
calssify: [{ required: true, message: '分类(0:一级 1:二级 2:三级)不能为空', trigger: 'blur' }],
|
|
|
|
|
customerStatus: [{ required: true, message: '客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)不能为空', trigger: 'change' }]
|
|
|
|
|
})
|
|
|
|
|
const formRef = ref() // 表单 Ref
|
|
|
|
|
|
|
|
|
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
|
|
|
|
|
|
|
|
|
/** 提交表单 */
|
|
|
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
|
|
const submitForm = async () => {
|
|
|
|
|
// 校验表单
|
|
|
|
|
if (!formRef) return
|
|
|
|
|
const valid = await formRef.value.validate()
|
|
|
|
|
if (!valid) return
|
|
|
|
|
// 提交请求
|
|
|
|
|
formLoading.value = true
|
|
|
|
|
try {
|
|
|
|
|
const data = formData.value as unknown as SubjectBasicApi.SubjectBasicVO
|
|
|
|
|
if (formType.value === 'create') {
|
|
|
|
|
await SubjectBasicApi.createSubjectBasic(data)
|
|
|
|
|
message.success(t('common.createSuccess'))
|
|
|
|
|
} else {
|
|
|
|
|
await SubjectBasicApi.updateSubjectBasic(data)
|
|
|
|
|
message.success(t('common.updateSuccess'))
|
|
|
|
|
}
|
|
|
|
|
dialogVisible.value = false
|
|
|
|
|
// 发送操作成功的事件
|
|
|
|
|
emit('success')
|
|
|
|
|
} finally {
|
|
|
|
|
formLoading.value = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 重置表单 */
|
|
|
|
|
const resetForm = () => {
|
|
|
|
|
formData.value = {
|
|
|
|
|
id: undefined,
|
|
|
|
|
businessType: undefined,
|
|
|
|
|
calssify: undefined,
|
|
|
|
|
name: undefined,
|
|
|
|
|
logo: undefined,
|
|
|
|
|
enterpriseNature: undefined,
|
|
|
|
|
industryClassify: undefined,
|
|
|
|
|
customerSource: undefined,
|
|
|
|
|
customerStarrating: undefined,
|
|
|
|
|
industrySchedule: undefined,
|
|
|
|
|
belongingPeople: undefined,
|
|
|
|
|
city: undefined,
|
|
|
|
|
country: undefined,
|
|
|
|
|
address: undefined,
|
|
|
|
|
phone: undefined,
|
|
|
|
|
companyFax: undefined,
|
|
|
|
|
companyHttp: undefined,
|
|
|
|
|
companyProfile: undefined,
|
|
|
|
|
customerStatus: undefined,
|
|
|
|
|
socialInformationCodeCertificate: undefined,
|
|
|
|
|
registerAddress: undefined,
|
|
|
|
|
informationCode: undefined,
|
|
|
|
|
operateStart: undefined,
|
|
|
|
|
operateEnd: undefined,
|
|
|
|
|
registerCapital: undefined,
|
|
|
|
|
businessScope: undefined,
|
|
|
|
|
proofPaidCapital: undefined,
|
|
|
|
|
assetCertificate: undefined,
|
|
|
|
|
assetCertificateMortgage: undefined,
|
|
|
|
|
otherQualifications: undefined,
|
|
|
|
|
collaborationStart: undefined,
|
|
|
|
|
collaborationEnd: undefined,
|
|
|
|
|
demandVolumeDown: undefined,
|
|
|
|
|
demandVolumeUpper: undefined,
|
|
|
|
|
fundLimit: undefined,
|
|
|
|
|
businessHours: undefined,
|
|
|
|
|
businessStart: undefined,
|
|
|
|
|
businessEnd: undefined,
|
|
|
|
|
allowableUnloadingStart: undefined,
|
|
|
|
|
allowableUnloadingEnd: undefined,
|
|
|
|
|
unloading: undefined,
|
|
|
|
|
unloadingEfficiency: undefined,
|
|
|
|
|
allowableShipmentStart: undefined,
|
|
|
|
|
allowableShipmentEnd: undefined,
|
|
|
|
|
shipment: undefined,
|
|
|
|
|
shipmentEffciency: undefined,
|
|
|
|
|
paymentMethod: undefined,
|
|
|
|
|
accountName: undefined,
|
|
|
|
|
bankAccount: undefined,
|
|
|
|
|
bankDeposit: undefined,
|
|
|
|
|
depositArea: undefined,
|
|
|
|
|
bankBranch: undefined,
|
|
|
|
|
companyTaxNumber: undefined,
|
|
|
|
|
enterpriseName: undefined,
|
|
|
|
|
workAddress: undefined,
|
|
|
|
|
collaborationMethod: undefined,
|
|
|
|
|
settlementMethod: undefined,
|
|
|
|
|
accountPeriod: undefined,
|
|
|
|
|
underpaymentMethod: undefined,
|
|
|
|
|
applyForUnderpaymentRatio: undefined,
|
|
|
|
|
marginMethod: undefined,
|
|
|
|
|
applyForMarginRatio: undefined,
|
|
|
|
|
overdueInterestRate: undefined,
|
|
|
|
|
applyForOverdueRatio: undefined,
|
|
|
|
|
reservedFields1: undefined,
|
|
|
|
|
reservedFields2: undefined,
|
|
|
|
|
reservedFields3: undefined,
|
|
|
|
|
reservedFields4: undefined,
|
|
|
|
|
reservedFields5: undefined,
|
|
|
|
|
reservedFields6: undefined,
|
|
|
|
|
creditRating: undefined,
|
|
|
|
|
autoCreditRating: undefined,
|
|
|
|
|
accountsReceivableUpper: undefined,
|
|
|
|
|
orderQuantityDown: undefined,
|
|
|
|
|
orderQuantityUpper: undefined,
|
|
|
|
|
accountsReceivableOverdue: undefined,
|
|
|
|
|
taxPaymentCertificate: undefined
|
|
|
|
|
}
|
|
|
|
|
formRef.value?.resetFields()
|
|
|
|
|
}
|
|
|
|
|
const tableDataA = [
|
|
|
|
|
{
|
|
|
|
|
k1: '法定代表人',
|
|
|
|
@ -959,6 +1163,32 @@ const options = [
|
|
|
|
|
label: '选项三',
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
/** 打开弹窗 */
|
|
|
|
|
//const open = async (type: string, id?: number) => {
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const route = useRoute() // 路由
|
|
|
|
|
/** 初始化 */
|
|
|
|
|
onMounted(async() => {
|
|
|
|
|
const id:any = route.query.id
|
|
|
|
|
const type:any = route.query.type
|
|
|
|
|
|
|
|
|
|
dialogVisible.value = true
|
|
|
|
|
dialogTitle.value = t('action.' + type)
|
|
|
|
|
formType.value = type
|
|
|
|
|
resetForm()
|
|
|
|
|
// 修改时,设置数据
|
|
|
|
|
if (id) {
|
|
|
|
|
formLoading.value = true
|
|
|
|
|
try {
|
|
|
|
|
formData.value = await SubjectBasicApi.getSubjectBasic(id)
|
|
|
|
|
} finally {
|
|
|
|
|
formLoading.value = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|