|
|
@@ -11,15 +11,15 @@
|
|
|
<template #default>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="type" label="业务员类型">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择业务员类型">
|
|
|
+ <el-form-item prop="typeAttr" label="业务员类型">
|
|
|
+ <el-select v-model="operationForm.typeAttr" placeholder="请选择业务员类型">
|
|
|
<el-option key="1" value="类型1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="team" label="所属团队">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择所属团队">
|
|
|
+ <el-form-item prop="deptId" label="所属团队">
|
|
|
+ <el-select v-model="operationForm.deptId" placeholder="请选择所属团队">
|
|
|
<el-option key="1" value="团队1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -27,47 +27,49 @@
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="name" label="姓名">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写姓名"></el-input>
|
|
|
+ <el-form-item prop="username" label="姓名">
|
|
|
+ <el-input v-model="operationForm.username" placeholder="请填写姓名"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="telephone" label="手机号">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写手机号"></el-input>
|
|
|
+ <el-form-item prop="mobile" label="手机号">
|
|
|
+ <el-input 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-select v-model="operationForm" placeholder="请选择所属机构">
|
|
|
+ <el-select v-model="operationForm.organization" placeholder="请选择所属机构">
|
|
|
<el-option key="1" value="机构1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="number" label="证件号">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写证件号"></el-input>
|
|
|
+ <el-form-item prop="identity" label="证件号">
|
|
|
+ <el-input v-model="operationForm.identity" placeholder="请填写证件号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="startTime" label="证件有效期始">
|
|
|
+ <el-form-item prop="identityTimeStart" label="证件有效期始">
|
|
|
<el-date-picker
|
|
|
- v-model="operationForm"
|
|
|
+ v-model="operationForm.identityTimeStart"
|
|
|
type="date"
|
|
|
placeholder="请选择"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="endTime" label="证件有效期止">
|
|
|
+ <el-form-item prop="identityTimeEnd" label="证件有效期止">
|
|
|
<el-date-picker
|
|
|
- v-model="operationForm"
|
|
|
+ v-model="operationForm.identityTimeEnd"
|
|
|
type="date"
|
|
|
placeholder="请选择"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -81,25 +83,29 @@
|
|
|
<template #default>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="name" label="管理人">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写管理人"></el-input>
|
|
|
+ <el-form-item prop="leaderId" label="管理人">
|
|
|
+ <el-select v-model="operationForm.leaderId" placeholder="请选择管理人">
|
|
|
+ <el-option key="1" value="机构1"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="telephone" label="管理人工号">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写管理人工号"></el-input>
|
|
|
+ <el-form-item prop="leaderNumber" label="管理人工号">
|
|
|
+ <el-input v-model="operationForm.leaderNumber" placeholder="请填写管理人工号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="name" label="推荐人">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写推荐人"></el-input>
|
|
|
+ <el-form-item prop="referrerId" label="推荐人">
|
|
|
+ <el-select v-model="operationForm.referrerId" placeholder="请选择推荐人">
|
|
|
+ <el-option key="1" value="机构1"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
- <el-form-item prop="telephone" label="推荐人工号">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写推荐人工号"></el-input>
|
|
|
+ <el-form-item prop="referrerNumber" label="推荐人工号">
|
|
|
+ <el-input v-model="operationForm.referrerNumber" placeholder="请填写推荐人工号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -170,7 +176,7 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="sex" label="性别">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择性别">
|
|
|
+ <el-select v-model="operationForm.sex" placeholder="请选择性别">
|
|
|
<el-option key="1" value="类型1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -178,9 +184,10 @@
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="born" label="出生日期">
|
|
|
<el-date-picker
|
|
|
- v-model="operationForm"
|
|
|
+ v-model="operationForm.birthday"
|
|
|
type="date"
|
|
|
placeholder="请选择"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -189,28 +196,28 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="type" label="民族">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择业务员类型">
|
|
|
+ <el-select v-model="operationForm.nations" placeholder="请选择业务员类型">
|
|
|
<el-option key="1" value="类型1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="户籍">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写户籍"></el-input>
|
|
|
+ <el-input v-model="operationForm.koseki" placeholder="请填写户籍"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="type" label="婚姻状况">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择婚姻状况">
|
|
|
+ <el-select v-model="operationForm.maritalStatus" placeholder="请选择婚姻状况">
|
|
|
<el-option key="1" value="类型1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="政治面貌">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择政治面貌">
|
|
|
+ <el-select v-model="operationForm.politicsStatus" placeholder="请选择政治面貌">
|
|
|
<el-option key="1" value="团队1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -219,14 +226,14 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="type" label="健康状况">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择健康状况">
|
|
|
+ <el-select v-model="operationForm.health" placeholder="请选择健康状况">
|
|
|
<el-option key="1" value="类型1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="居住地区">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择居住地区">
|
|
|
+ <el-select v-model="operationForm.address" placeholder="请选择居住地区">
|
|
|
<el-option key="1" value="团队1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -235,12 +242,12 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="详细地址">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写详细地址"></el-input>
|
|
|
+ <el-input v-model="operationForm.liveAddress" placeholder="请填写详细地址"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="邮政编码">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写邮政编码"></el-input>
|
|
|
+ <el-input v-model="operationForm.postalCode" placeholder="请填写邮政编码"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -253,7 +260,7 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="sex" label="学历">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择学历">
|
|
|
+ <el-select v-model="operationForm.education" placeholder="请选择学历">
|
|
|
<el-option key="1" value="类型1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -261,9 +268,10 @@
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="born" label="毕业时间">
|
|
|
<el-date-picker
|
|
|
- v-model="operationForm"
|
|
|
+ v-model="operationForm.graduationTime"
|
|
|
type="date"
|
|
|
placeholder="请选择"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -272,13 +280,14 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="type" label="毕业院校">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写毕业院校"></el-input>
|
|
|
+ <el-input v-model="operationForm.school" placeholder="请填写毕业院校"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="是否计算机专业">
|
|
|
- <el-select v-model="operationForm" placeholder="请选择是否计算机专业">
|
|
|
- <el-option key="1" value="类型1"></el-option>
|
|
|
+ <el-select v-model="operationForm.isComputer" placeholder="请选择是否计算机专业">
|
|
|
+ <el-option key="是" value="是"></el-option>
|
|
|
+ <el-option key="否" value="否"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -292,12 +301,12 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="姓名">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写姓名"></el-input>
|
|
|
+ <el-input v-model="operationForm.emergencyContactName" placeholder="请填写姓名"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="手机号">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写手机号"></el-input>
|
|
|
+ <el-input v-model="operationForm.emergencyContactTel" placeholder="请填写手机号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -310,24 +319,24 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="工资">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写工资"></el-input>
|
|
|
+ <el-input v-model="operationForm.salary" placeholder="请填写工资"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="工资等级">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写工资等级"></el-input>
|
|
|
+ <el-input v-model="operationForm.salaryLevel" placeholder="请填写工资等级"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="银行卡号">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写银行卡号"></el-input>
|
|
|
+ <el-input v-model="operationForm.bankCardId" placeholder="请填写银行卡号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item prop="team" label="开户行">
|
|
|
- <el-input v-model="operationForm" placeholder="请填写开户行"></el-input>
|
|
|
+ <el-input v-model="operationForm.bankName" placeholder="请填写开户行"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -405,6 +414,10 @@
|
|
|
</template>
|
|
|
</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
+ <div style="display: flex; justify-content: flex-end">
|
|
|
+ <el-button @click="onSubmit(0)">取消</el-button>
|
|
|
+ <el-button type="primary" @click="onSubmit(OperationFormRef, 1)">确定</el-button>
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
<div class="image-view" v-if="imageShow" @click="imageShow = false">
|
|
|
<img :src="imageUrl" />
|
|
|
@@ -413,15 +426,108 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref } from 'vue'
|
|
|
+import { ref, defineEmits } from 'vue'
|
|
|
+import type { AddOperation } from '@/api/modules/operation.ts'
|
|
|
+import type { FormRules, FormInstance } from "element-plus";
|
|
|
+import api from "@/api";
|
|
|
+import {ElMessage} from "element-plus";
|
|
|
+
|
|
|
+interface OperationFormProps extends AddOperation {
|
|
|
+ organization: string
|
|
|
+ leaderNumber: string,
|
|
|
+ referrerNumber: string,
|
|
|
+ address?: string[]
|
|
|
+}
|
|
|
+
|
|
|
+let emits = defineEmits(['closeDialog'])
|
|
|
|
|
|
+const OperationFormRef = ref<FormInstance>()
|
|
|
// 添加/编辑业务员表单
|
|
|
-let operationForm = ref({
|
|
|
+let operationForm = ref<OperationFormProps>({
|
|
|
+ typeAttr: '',
|
|
|
+ deptId: '',
|
|
|
+ username: '',
|
|
|
+ mobile: '',
|
|
|
+ identity: '',
|
|
|
+ identityTimeStart: '',
|
|
|
+ identityTimeEnd: '',
|
|
|
+ leaderId: '',
|
|
|
+ leaderNumber: '',
|
|
|
+ referrerId: '',
|
|
|
+ referrerNumber: '',
|
|
|
|
|
|
+ sex: '',
|
|
|
+ birthday: '',
|
|
|
+ nations: '',
|
|
|
+ koseki: '',
|
|
|
+ maritalStatus: '',
|
|
|
+ politicsStatus: '',
|
|
|
+ health: '',
|
|
|
+ province: '',
|
|
|
+ city: '',
|
|
|
+ district: '',
|
|
|
+ address: [],
|
|
|
+ liveAddress: '',
|
|
|
+ postalCode: '',
|
|
|
+ education: '',
|
|
|
+ graduationTime: '',
|
|
|
+ school: '',
|
|
|
+ isComputer: '',
|
|
|
+ emergencyContactName: '',
|
|
|
+ emergencyContactTel: '',
|
|
|
+ salary: '',
|
|
|
+ salaryLevel: '',
|
|
|
+ bankCardId: '',
|
|
|
+ bankName: ''
|
|
|
})
|
|
|
// 添加/编辑业务员表单校验
|
|
|
-let operationRules = ref({
|
|
|
-
|
|
|
+const operationRules = ref<FormRules>({
|
|
|
+ typeAttr: [
|
|
|
+ { required: true, trigger: "change", message: "请选择业务员类型" }
|
|
|
+ ],
|
|
|
+ deptId: [
|
|
|
+ { required: true, trigger: "change", message: "请选择所属团队" }
|
|
|
+ ],
|
|
|
+ username: [
|
|
|
+ { required: true, trigger: "blur", message: "请填写姓名" }
|
|
|
+ ],
|
|
|
+ mobile: [
|
|
|
+ { required: true, trigger: "blur", message: "请填写手机号" },
|
|
|
+ {
|
|
|
+ pattern: /^1[34578][0-9]{9}$/,
|
|
|
+ message: '请填写正确的手机号',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ organization: [
|
|
|
+ { required: true, trigger: "change", message: "请选择所属机构" }
|
|
|
+ ],
|
|
|
+ identity: [
|
|
|
+ { required: true, trigger: "blur", message: "请填写证件号" },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]$/,
|
|
|
+ message: '请填写正确的身份证号',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ identityTimeStart: [
|
|
|
+ { required: true, trigger: "change", message: "请选择证件有效期始" }
|
|
|
+ ],
|
|
|
+ identityTimeEnd: [
|
|
|
+ { required: true, trigger: "change", message: "请选择证件有效期止" }
|
|
|
+ ],
|
|
|
+ leaderId: [
|
|
|
+ { required: true, trigger: "change", message: "请选择管理人" }
|
|
|
+ ],
|
|
|
+ leaderNumber: [
|
|
|
+ { required: true, trigger: "blur", message: "请填写管理人工号" }
|
|
|
+ ],
|
|
|
+ referrerId: [
|
|
|
+ { required: true, trigger: "change", message: "请选择推荐人" }
|
|
|
+ ],
|
|
|
+ referrerNumber: [
|
|
|
+ { required: true, trigger: "blur", message: "请填写推荐人工号" }
|
|
|
+ ],
|
|
|
})
|
|
|
// 身份证人像面
|
|
|
let IDCardFrontName = ref('')
|
|
|
@@ -517,6 +623,25 @@ const imageView = (type) => {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+const onSubmit = async (OperationFormRef: FormInstance, type: number) => {
|
|
|
+ if(!OperationFormRef) {
|
|
|
+ emits('closeDialog', false)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ await OperationFormRef.validate((valid) => {
|
|
|
+ if(valid) {
|
|
|
+ api.operationApi.addOperation(operationForm.value).then(res => {
|
|
|
+ console.log(123, res)
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ message: '请正确填写相关信息!',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|