|
|
@@ -1,240 +1,452 @@
|
|
|
<template>
|
|
|
<!-- 平安客户资料 -->
|
|
|
- <a-modal class="add-custom" :title="isAdd() ? '新增客户资料' : '修改客户资料'" v-model:visible="visible" @cancel="cancel" centered :maskClosable="false" v-if="isPingAnOem()" width="890px">
|
|
|
+ <a-modal
|
|
|
+ class="add-custom"
|
|
|
+ :title="isAdd() ? '新增客户资料' : '修改客户资料'"
|
|
|
+ v-model:visible="visible"
|
|
|
+ @cancel="cancel"
|
|
|
+ centered
|
|
|
+ :maskClosable="false"
|
|
|
+ v-if="isPingAnOem()"
|
|
|
+ width="890px"
|
|
|
+ >
|
|
|
<template #footer>
|
|
|
- <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">完成 </a-button>
|
|
|
+ <a-button
|
|
|
+ key="submit"
|
|
|
+ class="cancelBtn"
|
|
|
+ :loading="loading"
|
|
|
+ :disabled="loading"
|
|
|
+ @click="submit(1)"
|
|
|
+ >完成</a-button>
|
|
|
</template>
|
|
|
<a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
|
|
|
<a-row :gutter="24">
|
|
|
-
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="客户类型" name="userinfotype">
|
|
|
- <a-select class="typeSelect" style="width: 200px" v-model:value="formState.userinfotype" placeholder="请选择客户类型">
|
|
|
- <a-select-option value="1"> 个人 </a-select-option>
|
|
|
- <a-select-option value="2"> 企业 </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="typeSelect"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.userinfotype"
|
|
|
+ placeholder="请选择客户类型"
|
|
|
+ >
|
|
|
+ <a-select-option value="1">个人</a-select-option>
|
|
|
+ <a-select-option value="2">企业</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<template v-if="!isPersonal()">
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="企业名称" name="customername">
|
|
|
- <a-input class="dialogInput" v-model:value="formState.customername" style="width: 200px" placeholder="请输入企业名称" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ v-model:value="formState.customername"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请输入企业名称"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="姓名" name="username">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.username" placeholder="请输入姓名" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.username"
|
|
|
+ placeholder="请输入姓名"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</template>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="点价联系人" name="contactname">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.contactname" placeholder="请输入联系人" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.contactname"
|
|
|
+ placeholder="请输入联系人"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="联系人手机号" name="mobilephone">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入联系人手机号" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.mobilephone"
|
|
|
+ placeholder="请输入联系人手机号"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
</a-form>
|
|
|
</a-modal>
|
|
|
<!-- 其他项目客户资料 -->
|
|
|
- <a-modal class="add-custom" v-else :title="isAdd() ? '新增客户资料' : '修改客户资料'" v-model:visible="visible" @cancel="cancel" centered :maskClosable="false" width="890px">
|
|
|
+ <a-modal
|
|
|
+ class="add-custom"
|
|
|
+ v-else
|
|
|
+ :title="isAdd() ? '新增客户资料' : '修改客户资料'"
|
|
|
+ v-model:visible="visible"
|
|
|
+ @cancel="cancel"
|
|
|
+ centered
|
|
|
+ :maskClosable="false"
|
|
|
+ width="890px"
|
|
|
+ >
|
|
|
<template #footer>
|
|
|
- <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">保存草稿 </a-button>
|
|
|
- <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit(2)">提交审核 </a-button>
|
|
|
+ <a-button
|
|
|
+ key="submit"
|
|
|
+ class="cancelBtn"
|
|
|
+ :loading="loading"
|
|
|
+ :disabled="loading"
|
|
|
+ @click="submit(1)"
|
|
|
+ >保存草稿</a-button>
|
|
|
+ <a-button
|
|
|
+ key="submit"
|
|
|
+ type="primary"
|
|
|
+ :loading="loading"
|
|
|
+ :disabled="loading"
|
|
|
+ @click="submit(2)"
|
|
|
+ >提交审核</a-button>
|
|
|
</template>
|
|
|
<a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
|
|
|
<a-row :gutter="24">
|
|
|
<template v-if="isQianHaiJin()">
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="所属机构" name="areaid">
|
|
|
- <a-select class="typeSelect" style="width: 200px" v-model:value="formState.areaid" placeholder="请选择所属机构">
|
|
|
- <a-select-option v-for="item in areaList" :key="item.userid">
|
|
|
- {{ item.accountname }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="typeSelect"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.areaid"
|
|
|
+ placeholder="请选择所属机构"
|
|
|
+ >
|
|
|
+ <a-select-option v-for="item in areaList" :key="item.userid">{{ item.accountname }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="所属客户经理" name="teammanageruserid">
|
|
|
- <a-select class="typeSelect" style="width: 200px" v-model:value="formState.teammanageruserid" placeholder="请选择所属客户经理">
|
|
|
- <a-select-option v-for="item in brokerList" :key="item.userid">
|
|
|
- {{ item.customername }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="typeSelect"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.teammanageruserid"
|
|
|
+ placeholder="请选择所属客户经理"
|
|
|
+ >
|
|
|
+ <a-select-option
|
|
|
+ v-for="item in brokerList"
|
|
|
+ :key="item.userid"
|
|
|
+ >{{ item.customername }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12" v-if="isAdd()">
|
|
|
<a-form-item label="登录账号" name="logincode">
|
|
|
- <a-input class="dialogInput" v-model:value="formState.logincode" style="width: 200px" placeholder="请选择登录账号" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ v-model:value="formState.logincode"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请输入登录账号"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12" v-if="isAdd()">
|
|
|
<a-form-item label="登录密码" name="loginpwd">
|
|
|
- <a-input class="dialogInput" v-model:value="formState.loginpwd" style="width: 200px" placeholder="请选择登录密码" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ v-model:value="formState.loginpwd"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请输入登录密码"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</template>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="客户类型" name="userinfotype">
|
|
|
- <a-select class="typeSelect" style="width: 200px" v-model:value="formState.userinfotype" placeholder="请选择客户类型">
|
|
|
- <a-select-option value="1"> 个人 </a-select-option>
|
|
|
- <a-select-option value="2"> 企业 </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="typeSelect"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.userinfotype"
|
|
|
+ placeholder="请选择客户类型"
|
|
|
+ >
|
|
|
+ <a-select-option value="1">个人</a-select-option>
|
|
|
+ <a-select-option value="2">企业</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<template v-if="!isPersonal()">
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="企业名称" name="customername">
|
|
|
- <a-input class="dialogInput" v-model:value="formState.customername" style="width: 200px" placeholder="请输入企业名称" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ v-model:value="formState.customername"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请输入企业名称"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="企业简称" name="nickname">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.nickname" placeholder="请输入企业简称" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.nickname"
|
|
|
+ placeholder="请输入企业简称"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="证件类型" name="cardtype">
|
|
|
- <a-select class="inlineFormSelect" v-model:value="formState.cardtype" style="width: 200px" placeholder="请选择证件类型">
|
|
|
- <a-select-option :value="item.enumitemname" v-for="item in cardTypeList" :key="item.autoid">
|
|
|
- {{ item.enumdicname }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="inlineFormSelect"
|
|
|
+ v-model:value="formState.cardtype"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请选择证件类型"
|
|
|
+ >
|
|
|
+ <a-select-option
|
|
|
+ :value="item.enumitemname"
|
|
|
+ v-for="item in cardTypeList"
|
|
|
+ :key="item.autoid"
|
|
|
+ >{{ item.enumdicname }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="法定代表人" name="legalpersonname">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.legalpersonname" placeholder="请输入法定代表人" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.legalpersonname"
|
|
|
+ placeholder="请输入法定代表人"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="证件号码" name="cardnum">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.cardnum" placeholder="请输入证件号码" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.cardnum"
|
|
|
+ placeholder="请输入证件号码"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="纳税人识别号" name="taxpayernum">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.taxpayernum" placeholder="请输入纳税人识别号" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.taxpayernum"
|
|
|
+ placeholder="请输入纳税人识别号"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="营业执照">
|
|
|
- <UploadImg :visible="visible" :imgList="attachmentImgList" @upload="attachmentUpLoad" />
|
|
|
+ <UploadImg
|
|
|
+ :visible="visible"
|
|
|
+ :imgList="attachmentImgList"
|
|
|
+ @upload="attachmentUpLoad"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="联系人" name="contactname">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.contactname" placeholder="请输入联系人" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.contactname"
|
|
|
+ placeholder="请输入联系人"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="联系人手机号" name="mobilephone">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入联系人手机号" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.mobilephone"
|
|
|
+ placeholder="请输入联系人手机号"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="联系电话" name="telphone">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.telphone" placeholder="请输入联系电话" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.telphone"
|
|
|
+ placeholder="请输入联系电话"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
-
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="姓名" name="username">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.username" placeholder="请输入姓名" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.username"
|
|
|
+ placeholder="请输入姓名"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="身份证号码" name="cardnum">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.cardnum" placeholder="请输入身份证号码" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.cardnum"
|
|
|
+ placeholder="请输入身份证号码"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="手机号码" name="mobilephone">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入手机号码" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.mobilephone"
|
|
|
+ placeholder="请输入手机号码"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="身份证正面照" name="cardbackphotourl">
|
|
|
- <UploadImg :visible="visible" :imgList="cardfrontImgList" @upload="cardfrontphotourlUpLoad" />
|
|
|
+ <UploadImg
|
|
|
+ :visible="visible"
|
|
|
+ :imgList="cardfrontImgList"
|
|
|
+ @upload="cardfrontphotourlUpLoad"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="邮箱" name="email">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.email" placeholder="请输入邮箱" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.email"
|
|
|
+ placeholder="请输入邮箱"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="身份证反面照" name="cardfrontphotourl">
|
|
|
- <UploadImg :visible="visible" :imgList="cardbackImgList" @upload="cardbackphotourlUpLoad" />
|
|
|
+ <UploadImg
|
|
|
+ :visible="visible"
|
|
|
+ :imgList="cardbackImgList"
|
|
|
+ @upload="cardbackphotourlUpLoad"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
<a-form-item label="联系电话" name="telphone">
|
|
|
- <a-input class="dialogInput" style="width: 200px" v-model:value="formState.telphone" placeholder="请输入联系电话" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.telphone"
|
|
|
+ placeholder="请输入联系电话"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12" v-if="isQianHaiJin()">
|
|
|
<a-form-item label="性别" name="sex">
|
|
|
- <a-select class="inlineFormSelect" v-model:value="formState.sex" style="width: 200px" placeholder="请选择性别">
|
|
|
- <a-select-option :value="item.id" v-for="item in sexList" :key="item.id">
|
|
|
- {{ item.value }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="inlineFormSelect"
|
|
|
+ v-model:value="formState.sex"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请选择性别"
|
|
|
+ >
|
|
|
+ <a-select-option
|
|
|
+ :value="item.id"
|
|
|
+ v-for="item in sexList"
|
|
|
+ :key="item.id"
|
|
|
+ >{{ item.value }}</a-select-option>
|
|
|
</a-select>
|
|
|
<!-- <a-input class="dialogInput"
|
|
|
style="width: 200px"
|
|
|
v-model:value="formState.sex"
|
|
|
- placeholder="请选择性别" /> -->
|
|
|
+ placeholder="请选择性别" />-->
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12" v-if="isQianHaiJin()">
|
|
|
-
|
|
|
<a-form-item label="生日" name="birthday">
|
|
|
- <a-date-picker v-model:value="formState.birthday" :allowClear="false" style="width: 200px" placeholder="请选择生日" class="commonDatePicker" />
|
|
|
+ <a-date-picker
|
|
|
+ v-model:value="formState.birthday"
|
|
|
+ :allowClear="false"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="请选择生日"
|
|
|
+ class="commonDatePicker"
|
|
|
+ />
|
|
|
<!-- <a-input class="dialogInput"
|
|
|
style="width: 200px"
|
|
|
v-model:value="formState.birthday"
|
|
|
- placeholder="请选择性别" /> -->
|
|
|
+ placeholder="请选择性别" />-->
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="12">
|
|
|
- <a-form-item> </a-form-item>
|
|
|
+ <a-form-item> </a-form-item>
|
|
|
</a-col>
|
|
|
</template>
|
|
|
<a-col :span="24">
|
|
|
<a-form-item label="通讯地址">
|
|
|
- <a-select class="inlineFormSelect" style="width: 205px" v-model:value="formState.provinceid" @change="getCityList" placeholder="请选择省">
|
|
|
- <a-select-option v-for="item in provinceList" :key="item.autoid" :value="item.autoid">
|
|
|
- {{ item.divisionname }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="inlineFormSelect"
|
|
|
+ style="width: 205px"
|
|
|
+ v-model:value="formState.provinceid"
|
|
|
+ @change="getCityList"
|
|
|
+ placeholder="请选择省"
|
|
|
+ >
|
|
|
+ <a-select-option
|
|
|
+ v-for="item in provinceList"
|
|
|
+ :key="item.autoid"
|
|
|
+ :value="item.autoid"
|
|
|
+ >{{ item.divisionname }}</a-select-option>
|
|
|
</a-select>
|
|
|
- <a-select class="inlineFormSelect ml9" style="width: 205px" v-model:value="formState.cityid" @change="getDistrictList" placeholder="请选择市">
|
|
|
- <a-select-option v-for="item in cityList" :key="item.autoid" :value="item.autoid">
|
|
|
- {{ item.divisionname }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="inlineFormSelect ml9"
|
|
|
+ style="width: 205px"
|
|
|
+ v-model:value="formState.cityid"
|
|
|
+ @change="getDistrictList"
|
|
|
+ placeholder="请选择市"
|
|
|
+ >
|
|
|
+ <a-select-option
|
|
|
+ v-for="item in cityList"
|
|
|
+ :key="item.autoid"
|
|
|
+ :value="item.autoid"
|
|
|
+ >{{ item.divisionname }}</a-select-option>
|
|
|
</a-select>
|
|
|
- <a-select class="inlineFormSelect ml9" v-model:value="formState.districtid" style="width: 205px" placeholder="请选择县(区)">
|
|
|
- <a-select-option v-for="item in districtList" :key="item.autoid" :value="item.autoid">
|
|
|
- {{ item.divisionname }}
|
|
|
- </a-select-option>
|
|
|
+ <a-select
|
|
|
+ class="inlineFormSelect ml9"
|
|
|
+ v-model:value="formState.districtid"
|
|
|
+ style="width: 205px"
|
|
|
+ placeholder="请选择县(区)"
|
|
|
+ >
|
|
|
+ <a-select-option
|
|
|
+ v-for="item in districtList"
|
|
|
+ :key="item.autoid"
|
|
|
+ :value="item.autoid"
|
|
|
+ >{{ item.divisionname }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="24">
|
|
|
<a-form-item label=" " name="cardaddress">
|
|
|
- <a-input class="dialogInput" style="width: 635px" v-model:value="formState.cardaddress" placeholder="请输入详细地址" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 635px"
|
|
|
+ v-model:value="formState.cardaddress"
|
|
|
+ placeholder="请输入详细地址"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="24">
|
|
|
<a-form-item label="备注" name="remark">
|
|
|
- <a-input class="dialogInput" style="width: 635px" v-model:value="formState.remark" placeholder="请输入备注" />
|
|
|
+ <a-input
|
|
|
+ class="dialogInput"
|
|
|
+ style="width: 635px"
|
|
|
+ v-model:value="formState.remark"
|
|
|
+ placeholder="请输入备注"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
@@ -257,166 +469,166 @@ import { addCustomerInfoOperate } from '@/services/proto/accountinfo';
|
|
|
import { CustomerInfoOperateReq } from '@/services/proto/accountinfo/interface';
|
|
|
import { mergeTwoObj } from '@/utils/objHandle';
|
|
|
import { toBase64String } from '@/utils/storage/base64';
|
|
|
+import moment from 'moment';
|
|
|
import { defineComponent, PropType, ref } from 'vue';
|
|
|
import { FormState } from './interface';
|
|
|
import { getCardType, handleAreaList, handleBrokerApplyt, handleForm } from './setup';
|
|
|
-import moment, { Moment } from 'moment';
|
|
|
|
|
|
export default defineComponent({
|
|
|
- name: 'add-custom',
|
|
|
- emits: ['cancel', 'update'],
|
|
|
- components: { UploadImg },
|
|
|
- props: {
|
|
|
- selectedRow: {
|
|
|
- default: {},
|
|
|
- type: Object as PropType<QhjCustomer>,
|
|
|
- },
|
|
|
+ name: 'add-custom',
|
|
|
+ emits: ['cancel', 'update'],
|
|
|
+ components: { UploadImg },
|
|
|
+ props: {
|
|
|
+ selectedRow: {
|
|
|
+ default: {},
|
|
|
+ type: Object as PropType<QhjCustomer>,
|
|
|
},
|
|
|
- setup(props, context) {
|
|
|
- // 控制关闭弹窗
|
|
|
- const { visible, cancel } = _closeModal(context);
|
|
|
- const loading = ref<boolean>(false);
|
|
|
- // 证件类型
|
|
|
- const cardTypeList = ref<AllEnums[]>(getCardType());
|
|
|
- // 表单
|
|
|
- const { formRef, formState, rules } = handleForm();
|
|
|
- // 地址
|
|
|
- const { cityList, districtList, provinceList, getCityList, getDistrictList } = getAddress();
|
|
|
+ },
|
|
|
+ setup(props, context) {
|
|
|
+ // 控制关闭弹窗
|
|
|
+ const { visible, cancel } = _closeModal(context);
|
|
|
+ const loading = ref<boolean>(false);
|
|
|
+ // 证件类型
|
|
|
+ const cardTypeList = ref<AllEnums[]>(getCardType());
|
|
|
+ // 表单
|
|
|
+ const { formRef, formState, rules } = handleForm();
|
|
|
+ // 地址
|
|
|
+ const { cityList, districtList, provinceList, getCityList, getDistrictList } = getAddress();
|
|
|
+ // 营业执照
|
|
|
+ const { getFirstImg: getAttachmentImg, uploadImgAction: attachmentUpLoad, uploadImgList: attachmentImgList, handleImg: attachmentHandle } = getUploadImg();
|
|
|
+ // 背面证件照地址
|
|
|
+ const { getFirstImg: getBackImg, uploadImgAction: cardbackphotourlUpLoad, uploadImgList: cardbackImgList, handleImg: cardbackHandle } = getUploadImg();
|
|
|
+ // 正面证件照地址
|
|
|
+ const { getFirstImg: getFrontImg, uploadImgAction: cardfrontphotourlUpLoad, uploadImgList: cardfrontImgList, handleImg: cardfrontHandle } = getUploadImg();
|
|
|
+ //查询所属机构列表
|
|
|
+ const { areaList, getAreaList } = handleAreaList();
|
|
|
+ // 查询客户经理
|
|
|
+ const { brokerList, getBrokerApply } = handleBrokerApplyt();
|
|
|
+ if (isQianHaiJin()) {
|
|
|
+ Promise.all([getAreaList(loading), getBrokerApply(loading)]);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 性别
|
|
|
+ const sexList = [
|
|
|
+ { id: 0, value: '女' },
|
|
|
+ { id: 1, value: '男' },
|
|
|
+ ];
|
|
|
+ function isPersonal(): boolean {
|
|
|
+ return formState.userinfotype === '1';
|
|
|
+ }
|
|
|
+ const isAdd = () => !props.selectedRow.userinfotype;
|
|
|
+ const isN = (value: string) => value === '--';
|
|
|
+ // 修改 客户资料的逻辑
|
|
|
+ if (!isAdd()) {
|
|
|
+ console.log('修改::::::::::::::::::::::::::');
|
|
|
+
|
|
|
+ mergeTwoObj(formState, props.selectedRow);
|
|
|
+ formState.userinfotype = formState.userinfotype.toString();
|
|
|
+ if (isPersonal()) {
|
|
|
+ formState.username = props.selectedRow.customername;
|
|
|
+ } else {
|
|
|
+ formState.username = props.selectedRow.username;
|
|
|
+ }
|
|
|
+ const { provinceid, cityid, address, mobile, memberuserid, brokerid, cardfrontphotourl, cardbackphotourl } = props.selectedRow;
|
|
|
+ formState.cardaddress = isN(address) ? '' : address;
|
|
|
+ formState.mobilephone = mobile;
|
|
|
+ formState.areaid = memberuserid;
|
|
|
+ formState.teammanageruserid = brokerid ? brokerid : undefined;
|
|
|
+ provinceid ? getCityList(provinceid) : (formState.provinceid = undefined);
|
|
|
+ cityid ? getDistrictList(cityid) : ((formState.cityid = undefined), (formState.districtid = undefined));
|
|
|
+
|
|
|
+ if (cardfrontphotourl && !isN(cardfrontphotourl)) {
|
|
|
// 营业执照
|
|
|
- const { getFirstImg: getAttachmentImg, uploadImgAction: attachmentUpLoad, uploadImgList: attachmentImgList, handleImg: attachmentHandle } = getUploadImg();
|
|
|
+ attachmentImgList.value = attachmentHandle(cardfrontphotourl);
|
|
|
+ }
|
|
|
+ if (cardbackphotourl && !isN(cardbackphotourl)) {
|
|
|
// 背面证件照地址
|
|
|
- const { getFirstImg: getBackImg, uploadImgAction: cardbackphotourlUpLoad, uploadImgList: cardbackImgList, handleImg: cardbackHandle } = getUploadImg();
|
|
|
+ cardbackImgList.value = cardbackHandle(cardbackphotourl);
|
|
|
+ }
|
|
|
+ if (cardbackphotourl && !isN(cardbackphotourl)) {
|
|
|
// 正面证件照地址
|
|
|
- const { getFirstImg: getFrontImg, uploadImgAction: cardfrontphotourlUpLoad, uploadImgList: cardfrontImgList, handleImg: cardfrontHandle } = getUploadImg();
|
|
|
- //查询所属机构列表
|
|
|
- const { areaList, getAreaList } = handleAreaList();
|
|
|
- // 查询客户经理
|
|
|
- const { brokerList, getBrokerApply } = handleBrokerApplyt();
|
|
|
- if (isQianHaiJin()) {
|
|
|
- Promise.all([getAreaList(loading), getBrokerApply(loading)]);
|
|
|
- }
|
|
|
-
|
|
|
- // 性别
|
|
|
- const sexList = [
|
|
|
- { id: 0, value: '女' },
|
|
|
- { id: 1, value: '男' },
|
|
|
- ];
|
|
|
- function isPersonal(): boolean {
|
|
|
- return formState.userinfotype === '1';
|
|
|
- }
|
|
|
- const isAdd = () => !props.selectedRow.userinfotype;
|
|
|
- const isN = (value: string) => value === '--';
|
|
|
- // 修改 客户资料的逻辑
|
|
|
- if (!isAdd()) {
|
|
|
- console.log('修改::::::::::::::::::::::::::');
|
|
|
+ cardfrontImgList.value = cardfrontHandle(cardbackphotourl);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- mergeTwoObj(formState, props.selectedRow);
|
|
|
- formState.userinfotype = formState.userinfotype.toString();
|
|
|
- if (isPersonal()) {
|
|
|
- formState.username = props.selectedRow.customername;
|
|
|
- } else {
|
|
|
- formState.username = props.selectedRow.username;
|
|
|
- }
|
|
|
- const { provinceid, cityid, address, mobile, memberuserid, brokerid, cardfrontphotourl, cardbackphotourl } = props.selectedRow;
|
|
|
- formState.cardaddress = isN(address) ? '' : address;
|
|
|
- formState.mobilephone = mobile;
|
|
|
- formState.areaid = memberuserid;
|
|
|
- formState.teammanageruserid = brokerid ? brokerid : undefined;
|
|
|
- provinceid ? getCityList(provinceid) : (formState.provinceid = undefined);
|
|
|
- cityid ? getDistrictList(cityid) : ((formState.cityid = undefined), (formState.districtid = undefined));
|
|
|
-
|
|
|
- if (cardfrontphotourl && !isN(cardfrontphotourl)) {
|
|
|
- // 营业执照
|
|
|
- attachmentImgList.value = attachmentHandle(cardfrontphotourl);
|
|
|
- }
|
|
|
- if (cardbackphotourl && !isN(cardbackphotourl)) {
|
|
|
- // 背面证件照地址
|
|
|
- cardbackImgList.value = cardbackHandle(cardbackphotourl);
|
|
|
- }
|
|
|
- if (cardbackphotourl && !isN(cardbackphotourl)) {
|
|
|
- // 正面证件照地址
|
|
|
- cardfrontImgList.value = cardfrontHandle(cardbackphotourl);
|
|
|
+ function submit(OperateType: 1 | 2) {
|
|
|
+ validateAction<FormState>(formRef, formState).then((param) => {
|
|
|
+ console.log(props.selectedRow);
|
|
|
+ const reqParam: CustomerInfoOperateReq = {
|
|
|
+ operatetype: isAdd() ? 1 : 2, // 1: 新增 2:修改
|
|
|
+ userid: getUserId(), // 必填
|
|
|
+ areaid: getUserId(),
|
|
|
+ userinfotype: Number(param.userinfotype),
|
|
|
+ username: Number(param.userinfotype) === 1 ? param.username : param.customername,
|
|
|
+ userstate: OperateType, // 1: 保存草稿 2: 新增
|
|
|
+ // 以上必填
|
|
|
+ cardtype: (param.cardtype as number) !== undefined ? (param.cardtype as number) : 0, // 证件类型
|
|
|
+ cardnum: param.cardnum, // 证件号码
|
|
|
+ nickname: param.nickname, // 昵称
|
|
|
+ remark: param.remark, // 备注
|
|
|
+ mobilephone: param.mobilephone, // 手机号码
|
|
|
+ telphone: param.telphone, // 电话
|
|
|
+ cardfrontphotourl: isPersonal() ? getFrontImg() : getAttachmentImg(), // 正面照片
|
|
|
+ cardbackphotourl: isPersonal() ? getBackImg() : '', // 背面证件照地址
|
|
|
+ ipaddress: param.cardaddress, // 证件地址
|
|
|
+ cityid: (param.cityid as number) !== undefined ? (param.cityid as number) : 0, //城市
|
|
|
+ districtid: (param.districtid as number) !== undefined ? (param.districtid as number) : 0, // 地区
|
|
|
+ // countryid: param.,9
|
|
|
+ provinceid: (param.provinceid as number) !== undefined ? (param.provinceid as number) : 0, //省
|
|
|
+ contactname: param.contactname, // 联系人
|
|
|
+ legalpersonname: param.legalpersonname, // 法人姓名(企业)
|
|
|
+ taxpayernum: param.taxpayernum, // 纳税人识别号
|
|
|
+ email: param.email, // email
|
|
|
+ proxystatementurl: '',
|
|
|
+ };
|
|
|
+ if (isQianHaiJin()) {
|
|
|
+ // 千海金
|
|
|
+ reqParam.areaid = param.areaid as number;
|
|
|
+ reqParam.logincode = param.logincode;
|
|
|
+ reqParam.teammanageruserid = param.teammanageruserid ? param.teammanageruserid : 0;
|
|
|
+ if (isPersonal()) {
|
|
|
+ reqParam.sex = param.sex;
|
|
|
+ if (param.birthday) {
|
|
|
+ reqParam.birthday = moment(param.birthday).format('YYYY-MM-DD');
|
|
|
}
|
|
|
+ }
|
|
|
+ reqParam.loginpwd = toBase64String(toBase64String(param.loginpwd));
|
|
|
+ reqParam.userstate = 2;
|
|
|
}
|
|
|
-
|
|
|
- function submit(OperateType: 1 | 2) {
|
|
|
- validateAction<FormState>(formRef, formState).then((param) => {
|
|
|
- console.log(props.selectedRow);
|
|
|
- const reqParam: CustomerInfoOperateReq = {
|
|
|
- operatetype: isAdd() ? 1 : 2, // 1: 新增 2:修改
|
|
|
- userid: getUserId(), // 必填
|
|
|
- areaid: getUserId(),
|
|
|
- userinfotype: Number(param.userinfotype),
|
|
|
- username: Number(param.userinfotype) === 1 ? param.username : param.customername,
|
|
|
- userstate: OperateType, // 1: 保存草稿 2: 新增
|
|
|
- // 以上必填
|
|
|
- cardtype: (param.cardtype as number) !== undefined ? (param.cardtype as number) : 0, // 证件类型
|
|
|
- cardnum: param.cardnum, // 证件号码
|
|
|
- nickname: param.nickname, // 昵称
|
|
|
- remark: param.remark, // 备注
|
|
|
- mobilephone: param.mobilephone, // 手机号码
|
|
|
- telphone: param.telphone, // 电话
|
|
|
- cardfrontphotourl: isPersonal() ? getFrontImg() : getAttachmentImg(), // 正面照片
|
|
|
- cardbackphotourl: isPersonal() ? getBackImg() : '', // 背面证件照地址
|
|
|
- ipaddress: param.cardaddress, // 证件地址
|
|
|
- cityid: (param.cityid as number) !== undefined ? (param.cityid as number) : 0, //城市
|
|
|
- districtid: (param.districtid as number) !== undefined ? (param.districtid as number) : 0, // 地区
|
|
|
- // countryid: param.,9
|
|
|
- provinceid: (param.provinceid as number) !== undefined ? (param.provinceid as number) : 0, //省
|
|
|
- contactname: param.contactname, // 联系人
|
|
|
- legalpersonname: param.legalpersonname, // 法人姓名(企业)
|
|
|
- taxpayernum: param.taxpayernum, // 纳税人识别号
|
|
|
- email: param.email, // email
|
|
|
- proxystatementurl: '',
|
|
|
- };
|
|
|
- if (isQianHaiJin()) {
|
|
|
- // 千海金
|
|
|
- reqParam.areaid = param.areaid as number;
|
|
|
- reqParam.logincode = param.logincode;
|
|
|
- reqParam.teammanageruserid = param.teammanageruserid ? param.teammanageruserid : 0;
|
|
|
- if (isPersonal()) {
|
|
|
- reqParam.sex = param.sex;
|
|
|
- if (param.birthday) {
|
|
|
- reqParam.birthday = moment(param.birthday).format('YYYY-MM-DD');
|
|
|
- }
|
|
|
- }
|
|
|
- reqParam.loginpwd = toBase64String(toBase64String(param.loginpwd));
|
|
|
- reqParam.userstate = 2;
|
|
|
- }
|
|
|
- debugger;
|
|
|
- requestResultLoadingAndInfo(addCustomerInfoOperate, reqParam, loading, OperateType === 1 ? ['保存草稿成功', '保存草稿失败:'] : ['新增客户资料成功', '新增客户资料失败:']).then(() => {
|
|
|
- cancel(true);
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
- return {
|
|
|
- formState,
|
|
|
- rules,
|
|
|
- formRef,
|
|
|
- cardTypeList,
|
|
|
- isPersonal,
|
|
|
- visible,
|
|
|
- cancel,
|
|
|
- submit,
|
|
|
- loading,
|
|
|
- cityList,
|
|
|
- districtList,
|
|
|
- provinceList,
|
|
|
- areaList,
|
|
|
- brokerList,
|
|
|
- attachmentImgList,
|
|
|
- cardbackImgList,
|
|
|
- cardfrontImgList,
|
|
|
- sexList,
|
|
|
- getCityList,
|
|
|
- getDistrictList,
|
|
|
- attachmentUpLoad,
|
|
|
- cardbackphotourlUpLoad,
|
|
|
- cardfrontphotourlUpLoad,
|
|
|
- isPingAnOem,
|
|
|
- isQianHaiJin,
|
|
|
- isAdd,
|
|
|
- };
|
|
|
- },
|
|
|
+ debugger;
|
|
|
+ requestResultLoadingAndInfo(addCustomerInfoOperate, reqParam, loading, OperateType === 1 ? ['保存草稿成功', '保存草稿失败:'] : ['新增客户资料成功', '新增客户资料失败:']).then(() => {
|
|
|
+ cancel(true);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ formState,
|
|
|
+ rules,
|
|
|
+ formRef,
|
|
|
+ cardTypeList,
|
|
|
+ isPersonal,
|
|
|
+ visible,
|
|
|
+ cancel,
|
|
|
+ submit,
|
|
|
+ loading,
|
|
|
+ cityList,
|
|
|
+ districtList,
|
|
|
+ provinceList,
|
|
|
+ areaList,
|
|
|
+ brokerList,
|
|
|
+ attachmentImgList,
|
|
|
+ cardbackImgList,
|
|
|
+ cardfrontImgList,
|
|
|
+ sexList,
|
|
|
+ getCityList,
|
|
|
+ getDistrictList,
|
|
|
+ attachmentUpLoad,
|
|
|
+ cardbackphotourlUpLoad,
|
|
|
+ cardfrontphotourlUpLoad,
|
|
|
+ isPingAnOem,
|
|
|
+ isQianHaiJin,
|
|
|
+ isAdd,
|
|
|
+ };
|
|
|
+ },
|
|
|
});
|
|
|
</script>
|