|
|
@@ -12,12 +12,12 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="typeAttr" label="业务员类型">
|
|
|
- <el-select v-model="operationForm.typeAttr" placeholder="请选择业务员类型">
|
|
|
- <el-option key="1" value="0" label="个代"></el-option>
|
|
|
- <el-option key="2" value="1" label="渠道"></el-option>
|
|
|
- <el-option key="3" value="2" label="团队"></el-option>
|
|
|
- <el-option key="4" value="3" label="电销组"></el-option>
|
|
|
-<!-- <el-option key="1" value="1" label="前线人员"></el-option>
|
|
|
+ <el-select v-model="operationForm.typeAttr" placeholder="请选择业务员类型" @change="typeAttrChange">
|
|
|
+ <el-option key="1" value="6" label="个代"></el-option>
|
|
|
+ <el-option key="2" value="8" label="渠道"></el-option>
|
|
|
+ <el-option key="3" value="5" label="团队"></el-option>
|
|
|
+ <el-option key="4" value="7" label="电销组"></el-option>
|
|
|
+ <!--<el-option key="1" value="1" label="前线人员"></el-option>
|
|
|
<el-option key="2" value="2" label="后线人员"></el-option>
|
|
|
<el-option key="3" value="3" label="合伙人"></el-option>
|
|
|
<el-option key="4" value="4" label="工作室管理员"></el-option>
|
|
|
@@ -29,7 +29,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="deptId" label="所属团队">
|
|
|
+ <el-form-item prop="deptId" label="所属团队" v-if="operationForm.typeAttr!='6'">
|
|
|
<el-select v-model="operationForm.organizationId" placeholder="请选择所属团队" @change="deptChange">
|
|
|
<el-option v-for="item in teamList" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
@@ -39,20 +39,20 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="name" label="姓名">
|
|
|
- <el-input v-model="operationForm.name" placeholder="请填写姓名"></el-input>
|
|
|
+ <el-input v-model="operationForm.name" placeholder="请填写姓名" maxlength="20"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="mobile" label="手机号">
|
|
|
- <el-input v-model="operationForm.mobile" placeholder="请填写手机号"></el-input>
|
|
|
+ <el-input type="number" oninput="if(value.length>11)value=value.slice(0,11)" v-model="operationForm.mobile" placeholder="请填写手机号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="organization" label="所属机构">
|
|
|
- <el-input disabled v-model="operationForm.organization"></el-input>
|
|
|
-<!-- <el-cascader style="width: 100%" v-model="operationForm.organization" placeholder="请选择所属机构" :options="option" :props="cascaderProps"></el-cascader>-->
|
|
|
+ <el-input v-if="operationForm.typeAttr!='6'" disabled v-model="operationForm.organization"></el-input>
|
|
|
+ <el-cascader v-else style="width: 100%" v-model="operationForm.organization" placeholder="请选择所属机构" :options="deptOption" :props="optionProps"></el-cascader>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
@@ -70,6 +70,7 @@
|
|
|
placeholder="请选择"
|
|
|
format="YYYY-MM-DD"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
+ :disabled-date="disabledDateStart"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -82,6 +83,7 @@
|
|
|
placeholder="请选择"
|
|
|
format="YYYY-MM-DD"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
+ :disabled-date="disabledDateEnd"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -111,7 +113,7 @@
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="referrerId" label="推荐人">
|
|
|
<el-select v-model="operationForm.referrerId" filterable placeholder="请选择推荐人" @change="(e) => {operationForm.referrerNumber = e}">
|
|
|
- <el-option v-for="(item, index) in userList" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
|
|
+ <el-option v-for="(item, index) in recommendList" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -127,7 +129,7 @@
|
|
|
<el-descriptions title="资料附件">
|
|
|
<el-descriptions-item>
|
|
|
<template #default>
|
|
|
- <el-form-item prop="" label="身份证(人像面)" label-width="150">
|
|
|
+ <el-form-item prop="IDCardFront" label="身份证(人像面)" label-width="150">
|
|
|
<el-upload action="" v-if="!IDCardFront" :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg" @change="uploadImage($event, 1)">
|
|
|
<el-button link type="primary">上传</el-button>
|
|
|
</el-upload>
|
|
|
@@ -143,7 +145,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="" label="身份证(国徽面)" label-width="150">
|
|
|
+ <el-form-item prop="IDCardBack" label="身份证(国徽面)" label-width="150">
|
|
|
<el-upload v-if="!IDCardBack" :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg" @change="uploadImage($event, 2)">
|
|
|
<el-button link type="primary">上传</el-button>
|
|
|
</el-upload>
|
|
|
@@ -530,7 +532,7 @@ const operationRules = ref<FormRules>({
|
|
|
mobile: [
|
|
|
{ required: true, trigger: "blur", message: "请填写手机号" },
|
|
|
{
|
|
|
- pattern: /^1[345678][0-9]{9}$/,
|
|
|
+ pattern: /^1[0-9]{10}$/,
|
|
|
message: '请填写正确的手机号',
|
|
|
trigger: 'blur'
|
|
|
}
|
|
|
@@ -553,17 +555,23 @@ const operationRules = ref<FormRules>({
|
|
|
{ required: true, trigger: "change", message: "请选择证件有效期止" }
|
|
|
],
|
|
|
leaderId: [
|
|
|
- { required: true, trigger: "change", message: "请选择管理人" }
|
|
|
+ { required: true, trigger: "blur", message: "请选择管理人" }
|
|
|
],
|
|
|
leaderNumber: [
|
|
|
{ required: true, trigger: "blur", message: "请填写管理人工号" }
|
|
|
],
|
|
|
referrerId: [
|
|
|
- { required: true, trigger: "change", message: "请选择推荐人" }
|
|
|
+ { required: true, trigger: "blur", message: "请选择推荐人" }
|
|
|
],
|
|
|
referrerNumber: [
|
|
|
{ required: true, trigger: "blur", message: "请填写推荐人工号" }
|
|
|
],
|
|
|
+ IDCardFront: [
|
|
|
+ { required: true, trigger: "change", message: "请上传身份(人像面)" }
|
|
|
+ ],
|
|
|
+ IDCardBack: [
|
|
|
+ { required: true, trigger: "change", message: "请上传身份(国徽面)" }
|
|
|
+ ],
|
|
|
bankCardId: [
|
|
|
{
|
|
|
pattern: /^([1-9]{1})(\d{15}|\d{16}|\d{18})$/,
|
|
|
@@ -611,6 +619,14 @@ let dimission = ref('')
|
|
|
let imageShow = ref(false)
|
|
|
let imageUrl = ref('')
|
|
|
|
|
|
+// 限制证件日期
|
|
|
+const disabledDateStart = (time: Date) => {
|
|
|
+ return time.getTime() > new Date()
|
|
|
+}
|
|
|
+const disabledDateEnd = (time: Date) => {
|
|
|
+ return time.getTime() < new Date(operationForm.value.identityTimeStart)
|
|
|
+}
|
|
|
+
|
|
|
// 编辑时初始化数据
|
|
|
// 编辑的id
|
|
|
let editId = ref('')
|
|
|
@@ -678,6 +694,7 @@ const initEditData = (id) => {
|
|
|
}
|
|
|
operationForm.value.address = address
|
|
|
getUser(operationForm.value.deptId)
|
|
|
+ getRecommend(operationForm.value.deptId)
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
message: res.msg,
|
|
|
@@ -855,8 +872,11 @@ const deleteImage = (type) => {
|
|
|
}
|
|
|
// 管理人/推荐人
|
|
|
let userList = ref([])
|
|
|
+let recommendList = ref([])
|
|
|
const getUser = (id) => {
|
|
|
- api.operationApi.getUser(id).then(res => {
|
|
|
+ api.operationApi.getUser({
|
|
|
+ id: id
|
|
|
+ }).then(res => {
|
|
|
if(res?.code == 200) {
|
|
|
userList.value = res.data
|
|
|
} else {
|
|
|
@@ -867,6 +887,21 @@ const getUser = (id) => {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+const getRecommend = (id) => {
|
|
|
+ api.operationApi.getUser({
|
|
|
+ id: id,
|
|
|
+ typeAttr: 2
|
|
|
+ }).then(res => {
|
|
|
+ if(res?.code == 200) {
|
|
|
+ recommendList.value = res.data
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
// 确定
|
|
|
const onSubmit = async (OperationFormRef: FormInstance, type: number) => {
|
|
|
if(!OperationFormRef) {
|
|
|
@@ -1023,15 +1058,27 @@ const getArea = () => {
|
|
|
|
|
|
// 团队数据
|
|
|
let teamList = ref([])
|
|
|
-const getTeamList = async () => {
|
|
|
- const { code, data, msg } = await api.teamApi.teamList({})
|
|
|
- if(code == 200) {
|
|
|
- teamList.value = data
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- message: msg,
|
|
|
- type: 'warning'
|
|
|
+const typeAttrChange = async (e) => {
|
|
|
+ operationForm.value.organization = ''
|
|
|
+ operationForm.value.leaderId = ''
|
|
|
+ operationForm.value.leaderNumber = ''
|
|
|
+ operationForm.value.referrerId = ''
|
|
|
+ operationForm.value.referrerNumber = ''
|
|
|
+ if(e != '6') {
|
|
|
+ const { code, data, msg } = await api.teamApi.teamList({
|
|
|
+ attribute: e,
|
|
|
+ param: ''
|
|
|
})
|
|
|
+ if(code == 200) {
|
|
|
+ teamList.value = data
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ message: msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ institutionList();
|
|
|
}
|
|
|
}
|
|
|
const deptChange = (e) => {
|
|
|
@@ -1039,6 +1086,7 @@ const deptChange = (e) => {
|
|
|
operationForm.value.organization = obj.deptName
|
|
|
operationForm.value.deptId = obj.deptId
|
|
|
getUser(obj.deptId)
|
|
|
+ getRecommend(obj.deptId)
|
|
|
}
|
|
|
|
|
|
// 初始化银行数据
|
|
|
@@ -1056,10 +1104,30 @@ const initBankCard = () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+let deptOption = ref([])
|
|
|
+const optionProps = {
|
|
|
+ value: 'id',
|
|
|
+ label: 'name',
|
|
|
+ children: 'children',
|
|
|
+ checkStrictly: true,
|
|
|
+}
|
|
|
+// 获取机构数据
|
|
|
+const institutionList = () => {
|
|
|
+ api.institutionApi.institutionList({ name: '', system: '' }).then(res => {
|
|
|
+ if(res?.code == 200) {
|
|
|
+ deptOption.value = res.data
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
initInfo()
|
|
|
getArea()
|
|
|
- getTeamList()
|
|
|
initBankCard()
|
|
|
})
|
|
|
|
|
|
@@ -1117,4 +1185,16 @@ defineExpose({
|
|
|
border-radius: 5px;
|
|
|
}
|
|
|
}
|
|
|
+:deep(.el-input__inner[type=number]::-webkit-outer-spin-button) {
|
|
|
+ -webkit-appearance: none;
|
|
|
+ margin: 0;
|
|
|
+}
|
|
|
+:deep(.el-input__inner[type=number]::-webkit-inner-spin-button) {
|
|
|
+ -webkit-appearance: none;
|
|
|
+ margin: 0;
|
|
|
+}
|
|
|
+:deep(.el-input__inner[type=number]) {
|
|
|
+ -moz-appearance: textfield;
|
|
|
+}
|
|
|
+
|
|
|
</style>
|