Explorar el Código

人力资源代码提交

wangqiang hace 1 año
padre
commit
51b24d6b67

+ 3 - 0
api/AppPath.js

@@ -6,3 +6,6 @@ export const FILE_PATH = "/file-server/app";
 export const UREPORT_PATH = "/ureport-server/app";
 export const WPS_PATH = "/wps-server/app";
 export const TEST_PATH = "/test-server/app";
+//人力资源
+export const REGISTER_PATH = "/human-server";
+export const PUBLIC_MODULES_PATH = "/public-modules-server";

+ 4 - 0
main.js

@@ -13,6 +13,9 @@ import '@/common/filter'
 import uView from '@/uni_modules/uview-ui'
 import mixin from './common/mixin'
 
+import ElementUI from 'element-ui'
+import 'element-ui/lib/theme-chalk/index.css'
+
 
 Vue.component('cu-custom',cuCustom)
 Vue.config.productionTip = false
@@ -32,6 +35,7 @@ Vue.component('ly-tree', LyTree)
 
 App.mpType = 'app'
 Vue.use(uView)
+Vue.use(ElementUI)
 
 // #ifdef MP
 // 引入uView对小程序分享的mixin封装

+ 8 - 2
package.json

@@ -4,14 +4,20 @@
   "description": "<p style=\"text-align: center;\"><img src=\"https://image.weilanwl.com/uni/UniAppReadme.jpg\" alt=\"ColorUI简介\"></img></p>",
   "main": "main.js",
   "dependencies": {
+    "ali-oss": "^6.18.1",
+    "element-ui": "^2.15.14",
     "lodash": "^4.17.20",
     "lodash.pick": "^4.4.0",
     "moment": "^2.27.0",
     "prettier": "^1.12.1",
     "qs": "^6.9.4",
-    "uview-ui": "^2.0.36"
+    "uview-ui": "^2.0.36",
+    "vxe-table": "^4.5.12"
+  },
+  "devDependencies": {
+    "browserslist": "^4.21.11",
+    "caniuse-lite": "^1.0.30001539"
   },
-  "devDependencies": {},
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },

+ 378 - 0
pages/human/enrollment/registration/EnrollmentRegistrationAddForm.vue

@@ -0,0 +1,378 @@
+<template>
+	<view>
+		<u--form :model="inputForm" labelWidth="100px" class="u-form" labelPosition="left" :rules="rules" ref="inputForm">
+			<u-form-item label="姓名" borderBottom prop="name">
+			     <u--input placeholder='请填写姓名'  v-model="inputForm.name"></u--input>
+			</u-form-item>
+			
+			<!-- <u-form-item label="性别" borderBottom prop="sex">
+			    <jp-picker v-model="inputForm.sex" rangeKey="label" rangeValue="value" :range="$dictUtils.getDictList('sex')"></jp-picker>
+			</u-form-item> -->
+			<u-form-item label="性别" borderBottom prop="sex">
+			    <jp-picker v-model="inputForm.sex" rangeKey="label" rangeValue="value" :range="[
+			        { label: '男', value: 'male' },
+			        { label: '女', value: 'female' },
+			        { label: '其他', value: 'other' }
+			    ]"></jp-picker>
+			</u-form-item>
+
+			
+			<u-form-item label="年龄" borderBottom prop="age">
+			     <u--input placeholder='请填写年龄'  v-model="inputForm.age"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="出生日期" borderBottom prop="birthday">
+			     <el-date-picker
+			     	v-model="inputForm.birthday"
+			     	type="date"
+			     	value-format="YYYY-MM-DD"
+			     	placeholder="选择出生日期"
+			     	style="width:100%"
+			     	size="default"
+			     	placement="bottom-start"
+			     	clearable>
+			     </el-date-picker>
+			</u-form-item>
+			
+			<u-form-item label="政治面貌" borderBottom prop="politicalOutlook" >
+			     <u--input placeholder='请填写政治面貌'  v-model="inputForm.politicalOutlook"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="籍贯" borderBottom prop="nativePlace" >
+			     <u--input placeholder='请填写籍贯'  v-model="inputForm.nativePlace"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="民族" borderBottom prop="nation" >
+			     <u--input placeholder='请填写民族'  v-model="inputForm.nation"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="婚姻状况" borderBottom prop="maritalStatus" >
+			     <u--input placeholder='请填写婚姻状况'  v-model="inputForm.maritalStatus"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="联系电话" borderBottom prop="mobilePhone" >
+			     <u--input placeholder='请填写联系电话' @blur="mobilePhoneOnly(inputForm.mobilePhone)" maxlength="11" v-model="inputForm.mobilePhone"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="身份证号码" borderBottom prop="idCard" >
+			     <u--input placeholder='请填写身份证号码' @blur="idCardOnly(inputForm.idCard)" v-model="inputForm.idCard"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="家庭住址" borderBottom prop="homeAddress" >
+			     <u--input placeholder='请填写家庭住址'  v-model="inputForm.homeAddress"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="常住住址" borderBottom prop="permanentAddress" >
+			     <u--input placeholder='请填写常住住址'  v-model="inputForm.permanentAddress"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="毕业院校" borderBottom prop="graduatedFrom" >
+			     <u--input placeholder='请填写毕业院校'  v-model="inputForm.graduatedFrom"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="专业" borderBottom prop="speciality" >
+			     <u--input placeholder='请填写专业'  v-model="inputForm.speciality"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="开始时间" borderBottom prop="startTime">
+			     <el-date-picker
+			     	v-model="inputForm.startTime"
+			     	type="date"
+			     	value-format="YYYY-MM-DD"
+			     	placeholder="选择开始时间"
+			     	style="width:100%"
+			     	size="default"
+			     	placement="bottom-start"
+			     	clearable>
+			     </el-date-picker>
+			</u-form-item>
+			
+			<u-form-item label="毕业时间" borderBottom prop="endTime">
+			     <el-date-picker
+			     	v-model="inputForm.endTime"
+			     	type="date"
+			     	value-format="YYYY-MM-DD"
+			     	placeholder="选择毕业时间"
+			     	style="width:100%"
+			     	size="default"
+			     	placement="bottom-start"
+			     	clearable>
+			     </el-date-picker>
+			</u-form-item>
+			
+			<u-form-item label="学历" borderBottom prop="education" >
+			     <u--input placeholder='请填写学历'  v-model="inputForm.education"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="学历性质" borderBottom prop="educationNature" >
+			     <u--input placeholder='请填写学历性质'  v-model="inputForm.educationNature"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="是否毕业" borderBottom prop="graduatedOrNot" >
+			     <u--input placeholder='请填写是否毕业'  v-model="inputForm.graduatedOrNot"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="英语等级" borderBottom prop="englishLevel" >
+			     <u--input placeholder='请填写英语等级'  v-model="inputForm.englishLevel"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="计算机等级" borderBottom prop="ncre" >
+			     <u--input placeholder='请填写计算机等级'  v-model="inputForm.ncre"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="个人简介" borderBottom prop="remarks">
+			    <u--textarea  placeholder='请填写简介'  v-model="inputForm.remarks" ></u--textarea>
+			</u-form-item>
+			
+			<u-form-item label="社保编号(选填)" borderBottom prop="socialSecurityNumber">
+			    <u--input  placeholder='请填写社保编号'  v-model="inputForm.socialSecurityNumber" maxlength="10"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="社保银行卡号(选填)" borderBottom prop="socialSecurityBankNumber">
+			    <u--input  placeholder='请填写社保银行卡号'  v-model="inputForm.socialSecurityBankNumber" maxlength="19"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="社保卡照片正面" borderBottom prop="socialSecurityPictureFront">
+				
+				<el-upload
+				  class="upload-demo"
+				  :action="`http://localhost:2800/api/public-modules-server/oss/file/webUpload/upload`"
+				  :on-remove="handleRemove"
+				  :on-success="handleAvatarSuccess"
+				  :file-list="fileList"
+				  :limit="1"
+				  list-type="picture">
+				  <el-button size="small" type="primary">点击上传</el-button>
+				  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件</div>
+				</el-upload>
+				
+			</u-form-item>
+			
+			<u-form-item label="社保卡照片反面" borderBottom prop="socialSecurityPictureOpposite">
+				
+				<el-upload
+				  class="upload-demo"
+				  :action="`http://localhost:2800/api/public-modules-server/oss/file/webUpload/upload`"
+				  :on-success="handleAvatarSuccess2"
+				  :on-remove="handleRemove2"
+				  :file-list="fileList2"
+				  :limit="1"
+				  list-type="picture">
+				  <el-button size="small" type="primary">点击上传</el-button>
+				  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件</div>
+				</el-upload>
+				
+			</u-form-item>
+		</u--form>
+	</view>
+</template>
+
+<script>
+	import enrollmentRegistrationService from '@/api/human/enrollment/EnrollmentRegistrationService'
+	import OSSSerivce, {
+			httpRequest,
+			fileName,
+			toHref,
+		} from '@/api/sys/OSSService'
+	export default {
+		data () {
+			return {
+				fileList: [],
+				fileList2: [],
+				title: '',
+				method: '',
+				loading: false,
+				inputForm: {
+					userId: '',
+					name: '',
+					sex: '',
+					age: '',
+					birthday: '',
+					politicalOutlook: '',
+					nativePlace: '',
+					nation: '',
+					maritalStatus: '',
+					mobilePhone: '',
+					idCard: '',
+					homeAddress: '',
+					permanentAddress: '',
+					graduatedFrom: '',
+					speciality: '',
+					startTime: '',
+					endTime: '',
+					education: '',
+					educationNature: '',
+					graduatedOrNot: '',
+					englishLevel: '',
+					ncre: '',
+					department: '',
+					entryDate: '',
+					contractStartDate: '',
+					remarks: '',
+					type: '',
+					socialSecurityNumber: '',
+					socialSecurityBankNumber: '',
+					socialSecurityPictureFront: '',
+					socialSecurityPictureFrontUrl: '',
+					socialSecurityPictureOpposite: '',
+					socialSecurityPictureOppositeUrl: '',
+				},
+				// tableData:[],// 存储表格数据
+				amountKey: '',
+				membersKey: '',
+				rules: {
+					  'sex': [
+					  {
+							required: true,
+							message: '性别不能为空',
+							trigger: ['blur', 'change']
+					  }],
+					  'name': [
+						  {
+							  required: true,
+							  message: '姓名不能为空',
+							  trigger: ['blur', 'change']
+						  }
+					  ],
+					  'mobilePhone': [
+					  {
+							required: true,
+							message: '联系电话不能为空',
+							trigger: ['blur', 'change']
+					  }],
+					  'idCard': [
+					  {
+							required: true,
+							message: '身份证号码不能为空',
+							trigger: ['blur', 'change']
+					  }]
+				}
+			}
+		},
+		props: {
+		  businessId: {
+		    type: String,
+		    default: ''
+		  },
+		  formReadOnly: {
+		    type: Boolean,
+		    default: false
+		  }
+		},
+		watch: {
+		  'businessId': {
+		    handler (newVal) {
+		      if (this.businessId) {
+		        this.init(this.businessId)
+		      } else {
+		        this.$nextTick(() => {
+		          // this.$refs.inputForm.reset()
+		        })
+		      }
+		    },
+		    immediate: true,
+		    deep: false
+		  }
+		},
+		methods: {
+			handleAvatarSuccess (res, file, fileList) {
+				this.inputForm.socialSecurityPictureFront = file.response.url
+				this.inputForm.socialSecurityPictureFrontUrl = file.response.lsUrl
+			},
+			handleRemove(file, fileList) {
+				this.inputForm.socialSecurityPictureFront = ''
+				this.inputForm.socialSecurityPictureFrontUrl = ''
+			},
+			handleAvatarSuccess2 (res, file, fileList) {
+				this.inputForm.socialSecurityPictureOpposite = file.response.url
+				this.inputForm.socialSecurityPictureOppositeUrl = file.response.lsUrl
+			},
+			handleRemove2(file, fileList) {
+				this.inputForm.socialSecurityPictureOpposite = ''
+				this.inputForm.socialSecurityPictureOppositeUrl = ''
+			},
+			init (id) {
+			  if (id) {
+				  enrollmentRegistrationService.findById(id).then((data) => {
+			        this.inputForm = this.recover(this.inputForm, data)
+			      })
+			  }
+			},
+			saveForm (callback) {
+					//定义表单规则
+					if (this.isNotEmpty(this.inputForm.socialSecurityNumber) && (this.isEmpty(this.inputForm.socialSecurityBankNumber) || isEmpty(this.inputForm.socialSecurityPictureFront))) {
+							this.loading = false
+							this.$message.error('社保银行卡号与社保卡照片不能为空');
+							throw new Error('社保银行卡号与社保卡照片不能为空')
+						}
+						if (this.isNotEmpty(this.inputForm.socialSecurityBankNumber) && (this.isEmpty(this.inputForm.socialSecurityNumber) || this.isEmpty(this.inputForm.socialSecurityPictureFront))) {
+							this.loading = false
+							this.$message.error('社保编号与社保卡照片不能为空');
+							throw new Error('社保编号与社保卡照片不能为空')
+						}
+						if (this.isNotEmpty(this.inputForm.socialSecurityPictureFront) && (this.isEmpty(this.inputForm.socialSecurityNumber) || this.isEmpty(this.inputForm.socialSecurityBankNumber))) {
+							this.loading = false
+							this.$message.error('社保编号与社保银行卡号不能为空');
+							throw new Error('社保编号与社保银行卡号不能为空')
+						}
+				this.$refs.inputForm.validate().then(res => {
+					uni.showLoading()
+					this.inputForm.type = '2'
+					enrollmentRegistrationService.save(this.inputForm).then((data) => {
+						  callback(data.businessTable, data.businessId)
+					}).catch((e)=>{
+						
+					})
+				}).catch((e)=>{
+					
+				})	
+			},
+			//身份证号码唯一性判断
+			idCardOnly(idCard) {
+				enrollmentRegistrationService.findIdCardOnly(idCard).then((data) => {
+					if (data !== 0) {
+						this.$message.error('身份证号码已存在,请重新确认')
+						this.inputForm.idCard = ''
+						throw new Error('身份证号码已存在,请重新确认')
+					}
+				})
+
+			},
+			//联系电话唯一性判断
+			mobilePhoneOnly(mobilePhone) {
+				enrollmentRegistrationService.findMobilePhoneOnly(mobilePhone).then((data) => {
+					if (data !== 0) {
+						this.$message.error('手机码已存在,请重新确认')
+						this.inputForm.mobilePhone = ''
+						throw new Error('联系电话已存在,请重新确认')
+					}
+				})
+
+			},
+			isEmpty(value) {
+			    let result = false;
+			    if (value == null || value == undefined) {
+			      result = true;
+			    }
+			    if (typeof value == 'string' && (value.replace(/\s+/g, "") == "" || value == "")) {
+			      result = true;
+			    }
+			    if (typeof value == "object" && value instanceof Array && value.length === 0) {
+			      result = true;
+			    }
+			    return result;
+			  },
+			  isNotEmpty (value) {
+			  		return !this.isEmpty(value)
+			  	},
+		}
+	  }
+</script>
+
+<style>
+	.cu-form-group .title {
+		min-width: calc(4em + 40px);
+	}
+
+
+</style>

+ 279 - 0
pages/human/practice/register/RegistrationAddForm.vue

@@ -0,0 +1,279 @@
+<template>
+	<view>
+		<u--form :model="inputForm" labelWidth="100px" class="u-form" labelPosition="left" :rules="rules" ref="inputForm">
+			<u-form-item label="姓名" borderBottom prop="name">
+			     <u--input placeholder='请填写姓名'  v-model="inputForm.name"></u--input>
+			</u-form-item>
+			
+			<!-- <u-form-item label="性别" borderBottom prop="sex">
+			    <jp-picker v-model="inputForm.sex" rangeKey="label" rangeValue="value" :range="$dictUtils.getDictList('sex')"></jp-picker>
+			</u-form-item> -->
+			<u-form-item label="性别" borderBottom prop="sex">
+						    <jp-picker v-model="inputForm.sex" rangeKey="label" rangeValue="value" :range="[
+						        { label: '男', value: '1' },
+						        { label: '女', value: '2' },
+						        { label: '其他', value: '3' }
+						    ]"></jp-picker>
+						</u-form-item>
+			
+			<u-form-item label="身份证号码" borderBottom prop="idCard" >
+			     <u--input placeholder='请填写身份证号码'  v-model="inputForm.idCard"></u--input>
+			</u-form-item>
+			
+			<u-form-item label="出生地" borderBottom prop="nativePlace" >
+			     <u--input placeholder='请填写出生地'  v-model="inputForm.nativePlace"></u--input>
+			</u-form-item>
+			<u-form-item label="民族" borderBottom prop="nation" >
+			     <u--input placeholder='请填写民族'  v-model="inputForm.nation"></u--input>
+			</u-form-item>
+			<u-form-item label="政治面貌" borderBottom prop="politicalOutlook" >
+			     <u--input placeholder='请填写政治面貌'  v-model="inputForm.politicalOutlook"></u--input>
+			</u-form-item>
+			<u-form-item label="毕业院校" borderBottom prop="graduatedFrom" >
+			     <u--input placeholder='请填写毕业院校'  v-model="inputForm.graduatedFrom"></u--input>
+			</u-form-item>
+			<u-form-item label="专业" borderBottom prop="speciality" >
+			     <u--input placeholder='请填写专业'  v-model="inputForm.speciality"></u--input>
+			</u-form-item>
+			<u-form-item label="联系电话" borderBottom prop="mobilePhone" >
+			     <u--input placeholder='请填写联系电话'  v-model="inputForm.mobilePhone" @blur="validatePhone"></u--input>
+			</u-form-item>
+			<u-form-item label="QQ号/微信号" borderBottom prop="qqNum" >
+			     <u--input placeholder='请填写QQ号/微信号'  v-model="inputForm.qqNum"></u--input>
+			</u-form-item>
+			<u-form-item label="简介" borderBottom prop="remarks">
+			    <u--textarea  placeholder='请填写简介'  v-model="inputForm.remarks" ></u--textarea>
+			</u-form-item>
+			
+			 <!-- 添加按钮 -->
+			      <u-form-item label="实现经验">
+			        <el-button type="primary" @click="addRow">新增</el-button>
+			      </u-form-item>
+			
+			      <!-- 表格 -->
+			      <el-table :data="inputForm.experiences" style="width: 100%">
+			        <el-table-column label="开始时间">
+			          <template slot-scope="scope">
+			            <el-date-picker
+							v-model="scope.row.startTime"
+							type="date"
+							value-format="YYYY-MM-DD"
+							placeholder="选择开始时间"
+							style="width:100%"
+							size="default"
+							placement="bottom-start"
+							clearable>
+						</el-date-picker>
+			          </template>
+			        </el-table-column>
+			        <el-table-column label="结束时间">
+			          <template slot-scope="scope">
+			            <el-date-picker
+							v-model="scope.row.endTime"
+							type="date"
+							value-format="YYYY-MM-DD"
+							placeholder="选择结束时间"
+							style="width:100%"
+							size="default"
+							placement="bottom-start"
+							clearable>
+						</el-date-picker>
+			          </template>
+			        </el-table-column>
+					<el-table-column label="实践单位">
+					  <template slot-scope="scope">
+					    <el-input  placeholder="请填写实践单位"  v-model="scope.row.practiceUnit"/>
+					  </template>
+					</el-table-column>
+					<el-table-column label="岗位">
+					  <template slot-scope="scope">
+					    <el-input  placeholder="请填写岗位"  v-model="scope.row.post"/>
+					  </template>
+					</el-table-column>
+			        <!-- 添加其他表格列 -->
+			        <el-table-column label="操作">
+			          <template slot-scope="scope">
+			            <el-button @click="removeRow(scope.$index)" type="danger" icon="el-icon-delete">删除</el-button>
+			          </template>
+			        </el-table-column>
+			      </el-table>
+				  
+				  <u-form-item label="家庭成员">
+					<el-button type="primary" @click="addRow2">新增</el-button>
+				  </u-form-item>
+				  
+				  <!-- 表格 -->
+				  <el-table :data="inputForm.familyMembers" style="width: 100%">
+					<el-table-column label="称呼">
+					  <template slot-scope="scope">
+						<el-input  placeholder="请填写称呼"  v-model="scope.row.callName"/>
+					  </template>
+					</el-table-column>
+					<el-table-column label="姓名">
+					  <template slot-scope="scope">
+						<el-input  placeholder="请填写姓名"  v-model="scope.row.name"/>
+					  </template>
+					</el-table-column>
+					<el-table-column label="联系方式">
+					  <template slot-scope="scope">
+						<el-input  placeholder="请填写联系方式"  v-model="scope.row.phone"/>
+					  </template>
+					</el-table-column>
+					<el-table-column label="工作单位">
+					  <template slot-scope="scope">
+						<el-input  placeholder="请填写工作单位"  v-model="scope.row.workUnit"/>
+					  </template>
+					</el-table-column>
+				    <!-- 添加其他表格列 -->
+				    <el-table-column label="操作">
+				      <template slot-scope="scope">
+				        <el-button @click="removeRow2(scope.$index)" type="danger" icon="el-icon-delete">删除</el-button>
+				      </template>
+				    </el-table-column>
+				  </el-table>
+		</u--form>
+	</view>
+</template>
+
+<script>
+	import registerService from '@/api/human/register/RegisterService'
+	export default {
+		data () {
+			return {
+				loading: false,
+				inputForm: {
+					userId: '',
+					practiceOffice: '',
+					name: '',
+					practiceUnitName: '',
+					qqNum: '',
+					sex: '',
+					politicalOutlook: '',
+					nativePlace: '',
+					nation: '',
+					mobilePhone: '',
+					idCard: '',
+					graduatedFrom: '',
+					speciality: '',
+					practiceStartDay: '',
+					practiceCompleteDay: '',
+					remarks: '',
+					type: '',
+					projectManager: '',
+					experiences: [],
+					familyMembers: [],
+				},
+				// tableData:[],// 存储表格数据
+				amountKey: '',
+				membersKey: '',
+				rules: {
+					  'sex': [
+					  {
+							required: true,
+							message: '性别不能为空',
+							trigger: ['blur', 'change']
+					  }],
+					  'name': [
+						  {
+							  required: true,
+							  message: '姓名不能为空',
+							  trigger: ['blur', 'change']
+						  }
+					  ],
+					  'mobilePhone': [
+					  {
+							required: true,
+							message: '联系电话不能为空',
+							trigger: ['blur', 'change']
+					  }]
+				}
+			}
+		},
+		props: {
+		  businessId: {
+		    type: String,
+		    default: ''
+		  },
+		  formReadOnly: {
+		    type: Boolean,
+		    default: false
+		  }
+		},
+		watch: {
+		  'businessId': {
+		    handler (newVal) {
+		      if (this.businessId) {
+		        this.init(this.businessId)
+		      } else {
+		        this.$nextTick(() => {
+		          // this.$refs.inputForm.reset()
+		        })
+		      }
+		    },
+		    immediate: true,
+		    deep: false
+		  }
+		},
+		methods: {
+			init (id) {
+			  if (id) {
+				  registerService.findById(id).then((data) => {
+			        this.inputForm = this.recover(this.inputForm, data)
+			      })
+			  }
+			},
+			saveForm (callback) {
+					//定义表单规则
+				this.$refs.inputForm.validate().then(res => {
+					uni.showLoading()
+					this.inputForm.type = '2'
+					registerService.save(this.inputForm).then((data) => {
+						  callback(data.businessTable, data.businessId)
+					}).catch((e)=>{
+						
+					})
+				}).catch((e)=>{
+					
+				})	
+			},
+			addRow() {
+			      // 点击新增按钮时,向表格中添加一行空数据
+			      this.inputForm.experiences.push({ startTime: '', endTime: '' });
+			    },
+			removeRow(index) {
+			  // 点击删除按钮时,从表格中移除指定行
+			  // this.tableData.splice(index, 1);
+			  this.inputForm.experiences.splice(index, 1);
+			},
+			addRow2() {
+			      // 点击新增按钮时,向表格中添加一行空数据
+			      this.inputForm.familyMembers.push({ startTime: '', endTime: '' });
+			    },
+			removeRow2(index) {
+			  // 点击删除按钮时,从表格中移除指定行
+			  // this.tableData.splice(index, 1);
+			  this.inputForm.familyMembers.splice(index, 1);
+			},
+			validatePhone() {
+			        // 此正则表达式用于验证中国大陆手机号码格式
+			        const regex = /^1[3-9]\d{9}$/;
+			
+			        if (!regex.test(this.inputForm.mobilePhone)) {
+			            // 如果输入不符合手机号码格式,你可以进行相应的处理,比如清除输入或者提示用户
+			            this.inputForm.mobilePhone = ''; // 清空输入
+			            // 或者提示用户输入格式不正确
+			            // 例如:this.$message.error('请输入正确的手机号码格式');
+						this.$message.error('请输入正确的手机号码格式')
+			        }
+			    }
+		}
+	  }
+</script>
+
+<style>
+	.cu-form-group .title {
+		min-width: calc(4em + 40px);
+	}
+
+
+</style>

+ 11 - 0
pages/workbench/task/TaskForm.vue

@@ -12,6 +12,8 @@
 			<view class=" bg-white ">
 				
 				<TestActivitiLeaveForm  v-if="formUrl.endsWith('TestActivitiLeaveForm')" :formReadOnly="formReadOnly" :class="formReadOnly?'readonly':''"  ref="form" :businessId="businessId"></TestActivitiLeaveForm>
+				<EnrollmentRegistrationAddForm  v-if="formUrl.endsWith('EnrollmentRegistrationAddForm')" :formReadOnly="formReadOnly" :class="formReadOnly?'readonly':''"  ref="form" :businessId="businessId"></EnrollmentRegistrationAddForm>
+				<RegistrationAddForm  v-else-if="formUrl.endsWith('RegistrationAddForm')" :formReadOnly="formReadOnly" :class="formReadOnly?'readonly':''"  ref="form" :businessId="businessId"></RegistrationAddForm>
 				  <!-- <component :formReadOnly="formReadOnly" :class="formReadOnly?'readonly':''"  ref="form" :businessId="businessId" :is="form"></component> -->
 				  <PreviewForm :formData="formData"  v-if="formType !== '2'"  :processDefinitionId="procDefId" :edit="true" ref="form"></PreviewForm>
 			</view>
@@ -94,6 +96,8 @@
 	import PreviewForm from '../form/GenerateFlowableForm'
 	import TaskBackNodes from './components/TaskBackNodes.vue'
 	import TestActivitiLeaveForm from '@/pages/test/activiti/TestActivitiLeaveForm.vue'
+	import RegistrationAddForm from '@/pages/human/practice/register/RegistrationAddForm.vue'
+	import EnrollmentRegistrationAddForm from '@/pages/human/enrollment/registration/EnrollmentRegistrationAddForm.vue'
 	import moment from 'moment'
 	import taskService from "@/api/flowable/taskService"
 	import formService from "@/api/flowable/formService"
@@ -132,7 +136,12 @@
 				} else {
 				  // uniapp 不支持动态组件,所以通过名称匹配决定调用的表单组件
 				  if(this.formUrl.endsWith('TestActivitiLeaveForm')){ 
+					  
 					  this.form = TestActivitiLeaveForm
+				  }else if(this.formUrl.endsWith('EnrollmentRegistrationAddForm')){ 
+					  this.form = EnrollmentRegistrationAddForm
+				  }else if(this.formUrl.endsWith('RegistrationAddForm')){
+					  this.form = RegistrationAddForm
 				  }else{
 					  uni.showToast({ title: '没有关联流程表单!', icon: "none" });
 				  }
@@ -188,6 +197,8 @@
 		  userSelect,
 		  userSelectDialog,
 		  TestActivitiLeaveForm,
+		  RegistrationAddForm,
+		  EnrollmentRegistrationAddForm,
 		  TaskBackNodes,
 		  PreviewForm
 		},

+ 8 - 0
pages/workbench/task/TaskFormDetail.vue

@@ -56,6 +56,8 @@
 	import userSelect from '@/components/user-select/user-select.vue'
 	import PreviewForm from '../form/GenerateFlowableForm'
 	import TestActivitiLeaveForm from '@/pages/test/activiti/TestActivitiLeaveForm.vue'
+	import RegistrationAddForm from '@/pages/human/practice/register/RegistrationAddForm.vue'
+	import EnrollmentRegistrationAddForm from '@/pages/human/enrollment/registration/EnrollmentRegistrationAddForm.vue'
 	import taskService from "@/api/flowable/taskService"
 	import formService from "@/api/flowable/formService"
 	export default {
@@ -85,6 +87,10 @@
 					// uniapp 不支持动态组件,所以通过名称匹配决定调用的表单组件
 					if(this.formUrl.endsWith('TestActivitiLeaveForm')){ 
 						this.form = TestActivitiLeaveForm
+					}else if(this.formUrl.endsWith('EnrollmentRegistrationAddForm')){ 
+						this.form = EnrollmentRegistrationAddForm
+					}else if(this.formUrl.endsWith('RegistrationAddForm')){ 
+						this.form = RegistrationAddForm
 					}else{
 						uni.showToast({ title: '没有关联流程表单!', icon: "none" });
 					}
@@ -122,6 +128,8 @@
 		components:{
 		  userSelect,
 		  TestActivitiLeaveForm,
+		  RegistrationAddForm,
+		  EnrollmentRegistrationAddForm,
 		  PreviewForm
 		},
 		data() {