From fdef23064b801a06bbf369785dbbc14db14b707f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 22 Mar 2024 17:15:53 +0800
Subject: [PATCH] 回滚代码至2月28日

---
 subPackage/workbench/components/formItem.vue |  191 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 187 insertions(+), 4 deletions(-)

diff --git a/subPackage/workbench/components/formItem.vue b/subPackage/workbench/components/formItem.vue
index f1e9d66..063ce18 100644
--- a/subPackage/workbench/components/formItem.vue
+++ b/subPackage/workbench/components/formItem.vue
@@ -4,23 +4,104 @@
 			<u-form-item label="姓名" required prop="name" class="form-item">
 				<u--input v-model="form.name" border="none" placeholder="请填写姓名"></u--input>
 			</u-form-item>
+			<u-form-item @click="showGenderPicker = true" class="form-item" label="性别" prop="legalGender">
+				<u--input border="none" v-model="genderValue" disabled disabledColor="#ffffff" placeholder="请选择性别">
+				</u--input>
+				<u-icon slot="right" name="arrow-right"></u-icon>
+			</u-form-item>
+			<u-form-item @click="showNationPicker = true" class="form-item" label="民族" prop="ethnicity">
+				<u--input border="none" v-model="nationValue" disabled disabledColor="#ffffff" placeholder="请选择民族">
+				</u--input>
+				<u-icon slot="right" name="arrow-right"></u-icon>
+			</u-form-item>
+			<u-form-item label="身份证号" class="form-item">
+				<u--input v-model="form.idCard" type="idcard" border="none" placeholder="请填写身份证号"></u--input>
+			</u-form-item>
 			<u-form-item label="电话号码" class="form-item">
 				<u--input v-model="form.telephone" border="none" placeholder="请填写电话号码"></u--input>
 			</u-form-item>
-			<u-form-item label="暂住地" class="form-item">
-				<u--input v-model="form.tempAddress" border="none" placeholder="请填写地址"></u--input>
+			<u-form-item label="现居住地" class="form-item">
+				<u--input v-model="form.tempAddress" border="none" placeholder="请填写现居住地"></u--input>
+			</u-form-item>
+
+			<!-- <u-form-item label="微信号" class="form-item">
+				<u--input v-model="form.wxAccount" border="none" placeholder="请填写微信号"></u--input>
+			</u-form-item> -->
+
+
+
+			<u-form-item label="岗位" class="form-item">
+				<u--input v-model="form.jobNature" border="none" placeholder="请填写岗位"></u--input>
+			</u-form-item>
+			<u-form-item v-if="addressType == 2" @click="showEmploymentTime = true" class="form-item" label="入职时间"
+				prop="ethnicity">
+				<u--input border="none" v-model="form.employmentTime" disabled disabledColor="#ffffff"
+					placeholder="请选择入职时间">
+				</u--input>
+				<u-icon slot="right" name="arrow-right"></u-icon>
+			</u-form-item>
+			<u-form-item v-if="addressType == 2" @click="showResignationTime = true" class="form-item" label="离职时间"
+				prop="ethnicity">
+				<u--input border="none" v-model="form.resignationTime" disabled disabledColor="#ffffff"
+					placeholder="请选择离职时间">
+				</u--input>
+				<u-icon slot="right" name="arrow-right"></u-icon>
+			</u-form-item>
+
+			<!-- <u-form-item label="户籍地址" class="form-item">
+				<u--input v-model="form.registeredAddress" border="none" placeholder="请填写户籍地址"></u--input>
+			</u-form-item> -->
+
+			<u-form-item label="从业人员照片" class="form-item" labelPosition="top" labelWidth="100">
+				<view style="padding:20rpx 0 0;">
+					<u-upload :fileList="form.employerImg" :previewFullImage="uploadConfig.previewFullImage"
+						:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+						:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+						uploadIcon="/static/icon/upload.png" @afterRead="afterReadImgs" @delete="deleteImages">
+					</u-upload>
+				</view>
 			</u-form-item>
 		</u-form>
+
+		<u-datetime-picker ref="datetimePicker" :show="showEmploymentTime" v-model="workTime" mode="date"
+			:formatter="formatter" @confirm="confirmEmploymentTime"
+			@cancel="showEmploymentTime = false"></u-datetime-picker>
+
+		<u-datetime-picker ref="datetimePicker" :show="showResignationTime" v-model="workTime" mode="date"
+			:formatter="formatter" @confirm="confirmResignationTime"
+			@cancel="showResignationTime = false"></u-datetime-picker>
+
+		<u-picker :defaultIndex="nationTypeListIndex" :closeOnClickOverlay="true" :show="showNationPicker"
+			:columns="[nationTypeList]" @close="showNationPicker = false" @cancel="showNationPicker = false"
+			keyName="name" @confirm="confirmNation"></u-picker>
+
+		<u-picker :defaultIndex="genderIndex" :closeOnClickOverlay="true" :show="showGenderPicker" :columns="[gender]"
+			@close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
+			@confirm="confirmGender"></u-picker>
 	</view>
 </template>
 <script>
+	import {
+		bizDictionary
+	} from '@/api/system/dict.js'
+	import uploadMixin from "@/mixin/uploadMixinPlace";
 	export default {
+		mixins: [uploadMixin],
 		data() {
 			return {
 				form: {
 					name: '',
 					telephone: '',
-					tempAddress: ''
+					tempAddress: '',
+					idCard: '',
+					gender: "",
+					ethnicity: "",
+					registeredAddress: "",
+					jobNature: "",
+					wxAccount: "",
+					employer: "",
+					jobNature: "",
+					employerImg: []
 				},
 				rules: {
 					name: {
@@ -29,8 +110,110 @@
 						message: '请填写姓名',
 						trigger: ['blur', 'change']
 					}
-				}
+				},
+				nationTypeList: [], //民族
+				nationTypeIndex: [0],
+				nationValue: "",
+				gender: [{ //性别
+						value: 1,
+						name: '男',
+					},
+					{
+						value: 0,
+						name: '女',
+					}
+				],
+				genderIndex: [0],
+				genderValue: "",
+				showNationPicker: false,
+				showGenderPicker: false,
+				showEmploymentTime: false,
+				showResignationTime: false,
+				workTime: Number(new Date()),
+				addressType: ""
 			}
+		},
+
+		created() {
+			this.addressType = uni.getStorageSync("siteInfo").addressType;
+			this.getAllBizDict()
+		},
+
+		methods: {
+			async getAllBizDict() {
+				// 获取民族
+				await this.getBizDict('nationType', this.nationTypeList);
+			},
+
+			// 获取业务字典
+			async getBizDict(code, list) {
+				const param = {
+					code: code
+				}
+				const res = await bizDictionary(param)
+				res.data.forEach(e => {
+					list.push({
+						name: e.dictValue,
+						value: Number(e.dictKey)
+					})
+				})
+			},
+
+			//选择民族
+			confirmNation(e) {
+				this.nationIndex = e.indexs;
+				this.nationValue = e.value[0].name;
+				this.form.ethnicity = e.value[0].value;
+				this.showNationPicker = false;
+			},
+
+			//选择性别
+			confirmGender(e) {
+				this.genderIndex = e.indexs;
+				this.genderValue = e.value[0].name;
+				this.form.gender = e.value[0].value;
+				this.showGenderPicker = false;
+			},
+
+
+			//上传成功后对返回数据进行处理
+			async afterReadImgs(event) {
+				this.showLoading()
+				let lists = [].concat(event.file)
+				let fileListLen = this.form.employerImg.length
+				lists.map((item) => {
+					this.form.employerImg.push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					this.form.employerImg.splice(fileListLen, 1, Object.assign({}, {
+						url: result.data.link,
+						name: result.data.name
+					}))
+					fileListLen++
+				}
+				this.loadingClose()
+			},
+
+			deleteImages(event) {
+				this.form.employerImg.splice(event.index, 1)
+			},
+
+			confirmResignationTime(e) {
+				this.form.resignationTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
+				this.showResignationTime = false;
+			},
+
+			confirmEmploymentTime(e) {
+				this.form.employmentTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
+				this.showEmploymentTime = false;
+			},
+
+
 		}
 	}
 </script>

--
Gitblit v1.9.3