|
@@ -79,8 +79,9 @@
|
|
|
<ion-label style="padding-left: 10px;">所在街道/社区/镇村<span class="danger">*</span></ion-label>
|
|
|
<div class="form-select">
|
|
|
<ion-select disabled name="regionCode" id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"
|
|
|
- interface="action-sheet" placeholder="请选择市/县" style="width:50%;float:left;" @ionChange="regionChange()" >
|
|
|
- <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">
|
|
|
+ interface="action-sheet" placeholder="请选择常住市/县" style="width:50%;float:left;"
|
|
|
+ @ionChange="regionChange()">
|
|
|
+ <ion-select-option v-for="(it,key) in regionList" :key="key" :value="it.code">
|
|
|
{{ it.name }}
|
|
|
</ion-select-option>
|
|
|
</ion-select>
|
|
@@ -93,9 +94,9 @@
|
|
|
</ion-select>
|
|
|
</div>
|
|
|
<!-- <div class="form-select">-->
|
|
|
-<!-- <ion-label>市/县<span class="danger">*</span></ion-label>-->
|
|
|
+ <!-- <ion-label>常住市/县<span class="danger">*</span></ion-label>-->
|
|
|
<!-- <ion-select disabled name="regionCode" id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"-->
|
|
|
-<!-- interface="action-sheet" placeholder="请选择市/县" style="width:100%;text-align:left;" @ionChange="regionChange()" >-->
|
|
|
+ <!-- interface="action-sheet" placeholder="请选择常住市/县" style="width:100%;text-align:left;" @ionChange="regionChange()" >-->
|
|
|
<!-- <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">-->
|
|
|
<!-- {{ it.name }}-->
|
|
|
<!-- </ion-select-option>-->
|
|
@@ -111,9 +112,9 @@
|
|
|
<!-- </ion-select>-->
|
|
|
<!-- </div>-->
|
|
|
<div class="form-input">
|
|
|
- <ion-label>住址<span class="danger">*</span></ion-label>
|
|
|
+ <ion-label>常住地址<span class="danger">*</span></ion-label>
|
|
|
<ion-input name="address" id="address" style="text-align: left;" class="custom" :clear-input="true"
|
|
|
- placeholder="请输入住址" v-model="baseData.address" ></ion-input>
|
|
|
+ placeholder="请输入常住地址" v-model="baseData.address"></ion-input>
|
|
|
<!-- <ion-note slot="error">地址不能为空</ion-note>-->
|
|
|
</div>
|
|
|
<div class="form-select">
|
|
@@ -127,22 +128,97 @@
|
|
|
<div class="form-select">
|
|
|
<ion-label>重点人员类别<span class="danger">*</span></ion-label>
|
|
|
<ion-select name="keyPersonTypeID" id="keyPersonTypeID" okText="确定" cancelText="取消" v-model="baseData.keyPersonTypeID"
|
|
|
- interface="action-sheet" placeholder="请选择重点人员类别" @ionChange="keyPersonTypeChange" style="width:100%;text-align:left;" >
|
|
|
+ interface="action-sheet" placeholder="请选择重点人员类别" style="width:100%;text-align:left;">
|
|
|
<ion-select-option v-for=" (it,key) in keyPersonTypeList" :key="key" :value="it.value">
|
|
|
{{ it.name }}
|
|
|
</ion-select-option>
|
|
|
</ion-select>
|
|
|
<!-- <ion-note slot="error">重点人员类别不能为空</ion-note>-->
|
|
|
</div>
|
|
|
- <div class="form-select" >
|
|
|
- <ion-label>毕业日期<span v-show="isGraduating" class="danger">*</span></ion-label>
|
|
|
- <ion-datetime-button datetime="showFinishDate" style="position:absolute;left:10px;" ></ion-datetime-button>
|
|
|
- <ion-modal :keep-contents-mounted="true">
|
|
|
- <ion-datetime name="showFinishDate" id="showFinishDate" v-model="baseData.showFinishDate"
|
|
|
- dataformatas="YYYY-MM-DD" presentation="month-year" cancel-text="取消" done-text="确定"
|
|
|
- :show-default-buttons="true" @ionChange="finishDateChange()">
|
|
|
- </ion-datetime>
|
|
|
- </ion-modal>
|
|
|
+ <div class="form-select">
|
|
|
+ <ion-label>人员类别<span class="danger">*</span></ion-label>
|
|
|
+ <ion-select name="ordinaryPersonTypeID" id="ordinaryPersonTypeID" okText="确定" cancelText="取消"
|
|
|
+ v-model="baseData.ordinaryPersonTypeID"
|
|
|
+ interface="action-sheet" placeholder="请选择人员类别" @ionChange="ordinaryPersonTypeChange"
|
|
|
+ style="width:100%;text-align:left;">
|
|
|
+ <ion-select-option v-for="(it,key) in ordinaryPersonTypeList" :key="key" :value="it.value">
|
|
|
+ {{ it.name }}
|
|
|
+ </ion-select-option>
|
|
|
+ </ion-select>
|
|
|
+ </div>
|
|
|
+ <div style="width:100%;overflow: hidden;height: 30px;"></div>
|
|
|
+ <div class="form-title">
|
|
|
+ 大学基本信息
|
|
|
+ <div style="float: right;">
|
|
|
+ <ion-label style="color: red;font-size: 14px;" @click="dxExpand=!dxExpand">{{
|
|
|
+ dxExpand ? "收起" : "展开"
|
|
|
+ }}
|
|
|
+ </ion-label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-if="dxExpand">
|
|
|
+ <div class="form-input">
|
|
|
+ <ion-label>毕业院校<span v-show="isGraduating" class="danger">*</span></ion-label>
|
|
|
+ <ion-input name="finishSchool" id="finishSchool" style="text-align: left;" class="custom"
|
|
|
+ :clear-input="true"
|
|
|
+ placeholder="请输入毕业院校" v-model="baseData.finishSchool"></ion-input>
|
|
|
+ </div>
|
|
|
+ <div class="form-select">
|
|
|
+ <ion-label>是否非全日制</ion-label>
|
|
|
+ <ion-select name="isFullTime" id="isFullTime" okText="确定" cancelText="取消"
|
|
|
+ v-model="baseData.isFullTime"
|
|
|
+ interface="action-sheet" placeholder="请选择是否非全日制"
|
|
|
+ style="width:100%;text-align:left;">
|
|
|
+ <ion-select-option v-for="(it,key) in isFullTimeList" :key="key" :value="it.value">
|
|
|
+ {{ it.name }}
|
|
|
+ </ion-select-option>
|
|
|
+ </ion-select>
|
|
|
+ </div>
|
|
|
+ <div class="form-input">
|
|
|
+ <ion-label>专业</ion-label>
|
|
|
+ <ion-input name="professionID" id="profession" style="text-align: left;" class="custom"
|
|
|
+ :clear-input="true"
|
|
|
+ placeholder="请输入专业" v-model="baseData.profession"></ion-input>
|
|
|
+ </div>
|
|
|
+ <div class="form-input">
|
|
|
+ <ion-label>学制(年)<span v-show="isGraduating" class="danger">*</span></ion-label>
|
|
|
+ <ion-input type="number" :min="0" name="educationalSystem" id="educationalSystem"
|
|
|
+ style="text-align: left;" class="custom" @ion-blur="educationalSystemBlur"
|
|
|
+ placeholder="请输入学制" v-model="baseData.educationalSystem"></ion-input>
|
|
|
+ </div>
|
|
|
+ <div class="form-input">
|
|
|
+ <ion-label>毕业日期<span v-show="isGraduating" class="danger">*</span></ion-label>
|
|
|
+ <div class="dateTimeBox">
|
|
|
+ <ion-datetime-button datetime="showFinishDate"
|
|
|
+ style="position:absolute;left:10px;"></ion-datetime-button>
|
|
|
+ <ion-modal :keep-contents-mounted="true">
|
|
|
+ <ion-datetime name="showFinishDate" id="showFinishDate" v-model="baseData.showFinishDate"
|
|
|
+ dataformatas="YYYY-MM-DD" presentation="month-year" cancel-text="取消"
|
|
|
+ done-text="确定"
|
|
|
+ :show-default-buttons="true" @ionChange="finishDateChange()">
|
|
|
+ </ion-datetime>
|
|
|
+ </ion-modal>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="width:100%;overflow: hidden;height: 30px;"></div>
|
|
|
+ <div class="form-select">
|
|
|
+ <ion-label>困难状况</ion-label>
|
|
|
+ <ion-select name="difficultSituationID" id="difficultSituationID" okText="确定" cancelText="取消"
|
|
|
+ v-model="baseData.difficultSituationID"
|
|
|
+ interface="action-sheet" placeholder="请选择困难状况"
|
|
|
+ style="width:100%;text-align:left;">
|
|
|
+ <ion-select-option v-for="(it,key) in difficultSituationList" :key="key" :value="it.value">
|
|
|
+ {{ it.name }}
|
|
|
+ </ion-select-option>
|
|
|
+ </ion-select>
|
|
|
+ </div>
|
|
|
+ <div class="form-input">
|
|
|
+ <ion-label>入学前户口所在地</ion-label>
|
|
|
+ <ion-input name="esHouseholdRegistration" id="esHouseholdRegistration" style="text-align: left;"
|
|
|
+ class="custom"
|
|
|
+ :clear-input="true"
|
|
|
+ placeholder="请输入入学前户口所在地" v-model="baseData.esHouseholdRegistration"></ion-input>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div style="width:100%;overflow: hidden;height: 30px;"></div>
|
|
|
<div class="form-title">
|
|
@@ -175,25 +251,6 @@
|
|
|
</ion-select-option>
|
|
|
</ion-select>
|
|
|
</div>
|
|
|
- <div class="form-input">
|
|
|
- <ion-label>毕业院校</ion-label>
|
|
|
- <ion-input name="finishSchool" id="finishSchool" style="text-align: left;" class="custom" :clear-input="true"
|
|
|
- placeholder="请输入毕业院校" v-model="baseData.finishSchool" ></ion-input>
|
|
|
- </div>
|
|
|
- <div class="form-input">
|
|
|
- <ion-label>专业</ion-label>
|
|
|
- <ion-input name="professionID" id="profession" style="text-align: left;" class="custom" :clear-input="true"
|
|
|
- placeholder="请输入专业" v-model="baseData.profession" ></ion-input>
|
|
|
- </div>
|
|
|
- <div class="form-select">
|
|
|
- <ion-label>是否非全日制</ion-label>
|
|
|
- <ion-select name="isFullTime" id="isFullTime" okText="确定" cancelText="取消" v-model="baseData.isFullTime"
|
|
|
- interface="action-sheet" placeholder="请选择是否非全日制" style="width:100%;text-align:left;" >
|
|
|
- <ion-select-option v-for=" (it,key) in isFullTimeList" :key="key" :value="it.value">
|
|
|
- {{ it.name }}
|
|
|
- </ion-select-option>
|
|
|
- </ion-select>
|
|
|
- </div>
|
|
|
<div class="form-input">
|
|
|
<ion-label>职业资格类别</ion-label>
|
|
|
<div>
|
|
@@ -311,9 +368,10 @@
|
|
|
placeholder="请输入电子邮箱" v-model="baseData.email" ></ion-input>
|
|
|
</div>
|
|
|
<div class="form-input">
|
|
|
- <ion-label>家庭住址</ion-label>
|
|
|
+ <ion-label>户籍详细地址</ion-label>
|
|
|
<ion-textarea name="familyAddress" id="familyAddress" class="custom" rows="4"
|
|
|
- placeholder="请输入家庭住址" v-model="baseData.familyAddress" style="border-bottom: 1px solid #fff2e8;"></ion-textarea>
|
|
|
+ placeholder="请输入户籍详细地址" v-model="baseData.familyAddress"
|
|
|
+ style="border-bottom: 1px solid #fff2e8;"></ion-textarea>
|
|
|
</div>
|
|
|
<div class="form-input">
|
|
|
<ion-label>个人评价</ion-label>
|
|
@@ -548,6 +606,57 @@ interface StepParams{
|
|
|
name: string,
|
|
|
statusVal: number
|
|
|
}
|
|
|
+
|
|
|
+interface BaseData {
|
|
|
+ baseData: {
|
|
|
+ jobUserID: any,
|
|
|
+ loginUserID: any,
|
|
|
+ siteID: any,
|
|
|
+ name: any,
|
|
|
+ identityNumber: any,
|
|
|
+ sex: any,
|
|
|
+ userMobile: any,
|
|
|
+ address: any,
|
|
|
+ jobStatusID: any,
|
|
|
+ keyPersonTypeID: any,
|
|
|
+ politicsStatusID: any,
|
|
|
+ birthPlace: any,
|
|
|
+ birthDay: any,
|
|
|
+ familyNatureID: any,
|
|
|
+ cultureRank: any,
|
|
|
+ healthID: any,
|
|
|
+ height: any,
|
|
|
+ vision: any,
|
|
|
+ weight: any,
|
|
|
+ maritalStatusID: any,
|
|
|
+ provinceCode: any,
|
|
|
+ regionCode: any,
|
|
|
+ streetCode: any,
|
|
|
+ userName: any,
|
|
|
+ familyAddress: any,
|
|
|
+ postalCode: any,
|
|
|
+ email: any,
|
|
|
+ hobby: any,
|
|
|
+ personalSkills: any,
|
|
|
+ socialSecurityCard: any,
|
|
|
+ finishSchool: any,
|
|
|
+ finishDate: any,
|
|
|
+ showFinishDate: any,
|
|
|
+ profession: any,
|
|
|
+ nativePlace: any,
|
|
|
+ isFullTime: any,
|
|
|
+ occupationalCategory: any,
|
|
|
+ occupationalCategoryName: any,
|
|
|
+ occupationalLevel: any,
|
|
|
+ longitude: any,
|
|
|
+ latitude: any,
|
|
|
+ listLabel: any,
|
|
|
+ ordinaryPersonTypeID: any,
|
|
|
+ educationalSystem: any,
|
|
|
+ difficultSituationID: any,
|
|
|
+ esHouseholdRegistration: any,
|
|
|
+ }
|
|
|
+}
|
|
|
export default defineComponent({
|
|
|
name: 'jobUserEdit',
|
|
|
components: {BImage, CategorySelection, LabelSelection},
|
|
@@ -559,6 +668,7 @@ export default defineComponent({
|
|
|
const route = useRoute();
|
|
|
const isAllowCommit = ref(true);
|
|
|
const expand = ref<boolean>(false);
|
|
|
+ const dxExpand = ref<boolean>(false);
|
|
|
const loading = ref(true);
|
|
|
const siteInfoList = ref<SelectProps[]>([]);
|
|
|
const curStepData = ref<StepParams>({
|
|
@@ -575,6 +685,7 @@ export default defineComponent({
|
|
|
const genderList = ref<SelectProps[]>([]);
|
|
|
const jobUserStatusList = ref<SelectProps[]>([]);
|
|
|
const keyPersonTypeList = ref<SelectProps[]>([]);
|
|
|
+ const ordinaryPersonTypeList = ref<SelectProps[]>();
|
|
|
const cultureRankList = ref<SelectProps[]>([]);
|
|
|
const userHealthList = ref<SelectProps[]>([]);
|
|
|
const bloodTypeList = ref<SelectProps[]>([]);
|
|
@@ -584,6 +695,7 @@ export default defineComponent({
|
|
|
const isFullTimeList = ref<SelectProps[]>([]);
|
|
|
//const occupationalCategoryList = ref<SelectProps[]>([]);
|
|
|
const occupationalLevelList = ref<SelectProps[]>([]);
|
|
|
+ const difficultSituationList = ref<SelectProps[]>();
|
|
|
const familyNatureList = ref([]);
|
|
|
const politicsStatusList = ref([]);
|
|
|
const regionList = ref<SelectProps[]>([]);
|
|
@@ -593,7 +705,7 @@ export default defineComponent({
|
|
|
const jobHuntList = ref([]);
|
|
|
const honorList = ref([]);
|
|
|
const isEdit =ref(false);
|
|
|
- const baseInfoData = reactive({
|
|
|
+ const baseInfoData = reactive<BaseData>({
|
|
|
baseData:{
|
|
|
jobUserID:null,
|
|
|
loginUserID:'',
|
|
@@ -637,7 +749,11 @@ export default defineComponent({
|
|
|
occupationalLevel: null,
|
|
|
longitude: null,
|
|
|
latitude: null,
|
|
|
- listLabel: null
|
|
|
+ listLabel: null,
|
|
|
+ ordinaryPersonTypeID: null,
|
|
|
+ educationalSystem: null,
|
|
|
+ difficultSituationID: null,
|
|
|
+ esHouseholdRegistration: null,
|
|
|
}});
|
|
|
const pageParams = reactive({
|
|
|
pageIndex: 1,
|
|
@@ -813,6 +929,14 @@ export default defineComponent({
|
|
|
await presentAlert("请选择毕业日期!");
|
|
|
return null;
|
|
|
}
|
|
|
+ if (isGraduating.value && baseInfoData.baseData.educationalSystem == null) {
|
|
|
+ await presentAlert("请输入学制!");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (isGraduating.value && baseInfoData.baseData.finishSchool == null) {
|
|
|
+ await presentAlert("请输入毕业院校!");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
if(!isFormCorrect){
|
|
|
await presentAlert("请填写完整的信息!");
|
|
|
return null;
|
|
@@ -885,6 +1009,8 @@ export default defineComponent({
|
|
|
jobUserStatusList.value = jobUserStatusResult;
|
|
|
const keyPersonTypeResult :any = await getSysDictionaryList("KeyPersonType");
|
|
|
keyPersonTypeList.value = keyPersonTypeResult;
|
|
|
+ const ordinaryPersonTypeResult: any = await getSysDictionaryList("OrdinaryPersonType");
|
|
|
+ ordinaryPersonTypeList.value = ordinaryPersonTypeResult;
|
|
|
const cultureRankResult :any = await getSysDictionaryList("HighestDegree");
|
|
|
cultureRankList.value = cultureRankResult;
|
|
|
const userHealthResult :any = await getSysDictionaryList("Health");
|
|
@@ -901,6 +1027,8 @@ export default defineComponent({
|
|
|
nationTypeList.value = nationTypeListResult;
|
|
|
const isFullTimeListResult :any = await getSysDictionaryList("IsFullTime");
|
|
|
isFullTimeList.value = isFullTimeListResult;
|
|
|
+ const difficultSituationResult: any = await getSysDictionaryList("DifficultSituation");
|
|
|
+ difficultSituationList.value = difficultSituationResult;
|
|
|
//const occupationalCategoryListResult :any = await getSysDictionaryList("OccupationalCategory");
|
|
|
//occupationalCategoryList.value = occupationalCategoryListResult;
|
|
|
const occupationalLevelListResult :any = await getSysDictionaryList("OccupationalLevel");
|
|
@@ -925,12 +1053,11 @@ export default defineComponent({
|
|
|
baseInfoData.baseData.finishDate = baseInfoData.baseData.showFinishDate.substring(0,7);
|
|
|
console.log(baseInfoData.baseData.finishDate);
|
|
|
}
|
|
|
- const isGraduating = ref(false);
|
|
|
- const keyPersonTypeChange = function (){
|
|
|
- isGraduating.value = false;
|
|
|
- if(baseInfoData.baseData.keyPersonTypeID==2){
|
|
|
- isGraduating.value = true;
|
|
|
- }
|
|
|
+ const isGraduating = ref(false); // 大学基础信息是否为必填
|
|
|
+ const ordinaryPersonTypeChange = function () {
|
|
|
+ // 如果是应届高校毕业生,则大学基础信息部分字段为必填
|
|
|
+ isGraduating.value = baseInfoData.baseData.ordinaryPersonTypeID == 2;
|
|
|
+ dxExpand.value = isGraduating.value;
|
|
|
}
|
|
|
|
|
|
const regionChange = async function(){
|
|
@@ -942,6 +1069,11 @@ export default defineComponent({
|
|
|
await getRegionList();
|
|
|
await regionChange();
|
|
|
}
|
|
|
+ const educationalSystemBlur = function () {
|
|
|
+ if (baseInfoData.baseData.educationalSystem != null) {
|
|
|
+ baseInfoData.baseData.educationalSystem = Math.floor(baseInfoData.baseData.educationalSystem);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
const loadData = async (jobUserID: any,status:any) => {
|
|
|
loading.value = true;
|
|
@@ -1016,6 +1148,7 @@ export default defineComponent({
|
|
|
|
|
|
const reload = (jobUserID:any,status:any) => {
|
|
|
pageParams.pageIndex = 1;
|
|
|
+ dxExpand.value = false;
|
|
|
expand.value = false;
|
|
|
loadData(jobUserID,status);
|
|
|
}
|
|
@@ -1045,6 +1178,7 @@ export default defineComponent({
|
|
|
router,
|
|
|
isEdit,
|
|
|
expand,
|
|
|
+ dxExpand,
|
|
|
loading,
|
|
|
stepList,
|
|
|
curStepData,
|
|
@@ -1060,6 +1194,8 @@ export default defineComponent({
|
|
|
pageParams,
|
|
|
jobUserStatusList,
|
|
|
keyPersonTypeList,
|
|
|
+ ordinaryPersonTypeList,
|
|
|
+ difficultSituationList,
|
|
|
cultureRankList,
|
|
|
userHealthList,
|
|
|
bloodTypeList,
|
|
@@ -1080,7 +1216,7 @@ export default defineComponent({
|
|
|
isGraduating,
|
|
|
honorList,
|
|
|
finishDateChange,
|
|
|
- keyPersonTypeChange,
|
|
|
+ ordinaryPersonTypeChange,
|
|
|
provinceChange,
|
|
|
regionChange,
|
|
|
onSetOccupationalID,
|
|
@@ -1100,7 +1236,8 @@ export default defineComponent({
|
|
|
getSelectorDataList,
|
|
|
getRegionList,
|
|
|
getStreetList,
|
|
|
- dayjs
|
|
|
+ dayjs,
|
|
|
+ educationalSystemBlur
|
|
|
}
|
|
|
},
|
|
|
mounted(){
|