|
@@ -0,0 +1,322 @@
|
|
|
|
+<template>
|
|
|
|
+ <ion-page>
|
|
|
|
+ <ion-header class="header-theme2">
|
|
|
|
+ <ion-toolbar>
|
|
|
|
+ <ion-buttons slot="start">
|
|
|
|
+ <ion-icon :icon="arrowBackOutline" @click="()=>router.push('./list')"></ion-icon>
|
|
|
|
+ </ion-buttons>
|
|
|
|
+ <ion-title>求职信息录入</ion-title>
|
|
|
|
+ </ion-toolbar>
|
|
|
|
+ </ion-header>
|
|
|
|
+ <ion-content>
|
|
|
|
+ <div class="stepFlex">
|
|
|
|
+ <div v-for="(record,key) in stepList" :key="key" class="stepFlex-item">
|
|
|
|
+ <div
|
|
|
|
+ :class="[(record.val < dataModel?.statusVal || dataModel?.statusVal==stepList[stepList.length-1].val) ? 'greenCircle' :record.val == dataModel?.statusVal ? 'now' : 'greyCircle']"></div>
|
|
|
|
+ <div v-if="key !== stepList.length - 1"
|
|
|
|
+ :class="[record.val < dataModel?.statusVal ? 'greenline' : 'greyline']"></div>
|
|
|
|
+ <div class="stepFlex-item-label">
|
|
|
|
+ <p class="stepFlex-item-label-title">{{ record.title }}</p>
|
|
|
|
+ <p class="stepFlex-item-label-desc">{{ record.desc }}</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <form autocomplete="off">
|
|
|
|
+ <ion-list>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="姓名" label-placement="stacked" :clear-input="true" placeholder="请填写姓名">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="公民身份号码" label-placement="stacked" :clear-input="true"
|
|
|
|
+ placeholder="请填写公民身份号码">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="性别" label-placement="stacked" :clear-input="true" placeholder="请填写性别">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="民族" label-placement="stacked" :clear-input="true" placeholder="请填写民族">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="政治面貌" label-placement="stacked" :clear-input="true" placeholder="请填写政治面貌">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="出生地" label-placement="stacked" :clear-input="true" placeholder="请填写出生地">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="出生日期" label-placement="stacked" :clear-input="true" placeholder="请填写出生日期">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="户口性质" label-placement="stacked" :clear-input="true" placeholder="请填写户口性质">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="文化程度" label-placement="stacked" :clear-input="true" placeholder="请填写文化程度">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="健康状况" label-placement="stacked" :clear-input="true" placeholder="请填写健康状况">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="血型" label-placement="stacked" :clear-input="true" placeholder="请填写血型">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="身高" label-placement="stacked" :clear-input="true" placeholder="请填写身高">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="视力" label-placement="stacked" :clear-input="true" placeholder="请填写视力">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="体重" label-placement="stacked" :clear-input="true" placeholder="请填写体重">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="婚姻状况" label-placement="stacked" :clear-input="true" placeholder="请填写婚姻状况">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="省份" label-placement="stacked" :clear-input="true" placeholder="请填写省份">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="市/县" label-placement="stacked" :clear-input="true" placeholder="请填写市/县">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="镇/街" label-placement="stacked" :clear-input="true" placeholder="请填写镇/街">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="联系人" label-placement="stacked" :clear-input="true" placeholder="请填写联系人">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="联系电话" label-placement="stacked" :clear-input="true" placeholder="请填写联系电话">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="地址" label-placement="stacked" :clear-input="true" placeholder="请填写地址">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="家庭住址" label-placement="stacked" :clear-input="true" placeholder="请填写家庭住址">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="电子邮箱" label-placement="stacked" :clear-input="true" placeholder="请填写电子邮箱">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="兴趣爱好" label-placement="stacked" :clear-input="true" placeholder="请填写兴趣爱好">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="就业状态" label-placement="stacked" :clear-input="true" placeholder="请填写就业状态">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ <ion-item>
|
|
|
|
+ <ion-input label="重点人员类别" label-placement="stacked" :clear-input="true"
|
|
|
|
+ placeholder="请填写重点人员类别">
|
|
|
|
+ </ion-input>
|
|
|
|
+ </ion-item>
|
|
|
|
+ </ion-list>
|
|
|
|
+ <ion-button class="next-btn">下一步
|
|
|
|
+ </ion-button>
|
|
|
|
+ </form>
|
|
|
|
+ </ion-content>
|
|
|
|
+ <!-- <ion-footer>
|
|
|
|
+ <div>
|
|
|
|
+ <ion-button @click="onSave">下一步</ion-button>
|
|
|
|
+ </div>
|
|
|
|
+ </ion-footer>-->
|
|
|
|
+ </ion-page>
|
|
|
|
+</template>
|
|
|
|
+<script lang="ts">
|
|
|
|
+import {defineComponent, ref, watch} from "vue";
|
|
|
|
+/*import {getPracticeBaseForStudentList,getSysAreaList} from "@/api/system/dictionary";
|
|
|
|
+import {get, save} from "@/api/practice/intention";*/
|
|
|
|
+import {useRoute, useRouter} from "vue-router";
|
|
|
|
+import {alertController, onIonViewDidEnter} from "@ionic/vue";
|
|
|
|
+import {arrowBackOutline} from 'ionicons/icons';
|
|
|
|
+
|
|
|
|
+interface DataModel {
|
|
|
|
+ name: string,
|
|
|
|
+ statusVal: number
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export default defineComponent({
|
|
|
|
+ name: 'PracticeIntentionEdit',
|
|
|
|
+ setup() {
|
|
|
|
+ const router = useRouter();
|
|
|
|
+ const route = useRoute();
|
|
|
|
+ const dataModel = ref<DataModel>({
|
|
|
|
+ name: '',
|
|
|
|
+ statusVal: 1
|
|
|
|
+ });
|
|
|
|
+ const stepList = ref([{title: '基础信息', desc: '个人基础信息', val: 1}, {
|
|
|
|
+ title: '教育经历',
|
|
|
|
+ desc: '完事个人教育经历',
|
|
|
|
+ val: 2
|
|
|
|
+ }, {title: '求职意向', desc: '个人求职意向', val: 3}]);
|
|
|
|
+
|
|
|
|
+ const onSave = () => {
|
|
|
|
+ if (!dataModel.value.name) {
|
|
|
|
+ presentAlert("请填写姓名!");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /*save(dataModel.value as any).then(result => {
|
|
|
|
+ if (result) {
|
|
|
|
+ router.push({path: './index', query: {reload: 1}});
|
|
|
|
+ }
|
|
|
|
+ });*/
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const onCancel = () => {
|
|
|
|
+ router.push("./index");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const loadData = (practiceTaskStudentID: any) => {
|
|
|
|
+ /*get(practiceTaskStudentID).then((result: any) => {
|
|
|
|
+ dataModel.value = result;
|
|
|
|
+
|
|
|
|
+ loadPracticeBaseList(dataModel.value.schoolYearID);
|
|
|
|
+ loadCityList();
|
|
|
|
+ });*/
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ const initData = (id: any) => {
|
|
|
|
+ dataModel.value = {name: '',statusVal:1};
|
|
|
|
+ loadData(id);
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ onIonViewDidEnter(() => {
|
|
|
|
+ if (route.query.reload)
|
|
|
|
+ initData(route.query.id);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ const presentAlert = async (message: string) => {
|
|
|
|
+ const alert = await alertController.create({
|
|
|
|
+ header: '错误!',
|
|
|
|
+ message: message,
|
|
|
|
+ buttons: [
|
|
|
|
+ '确定'
|
|
|
|
+ ],
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ await alert.present();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return {
|
|
|
|
+ dataModel,
|
|
|
|
+ stepList,
|
|
|
|
+ initData,
|
|
|
|
+ onSave,
|
|
|
|
+ onCancel,
|
|
|
|
+ route,
|
|
|
|
+ arrowBackOutline,
|
|
|
|
+ router,
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+});
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="less">
|
|
|
|
+.next-btn {
|
|
|
|
+ width: 100%;
|
|
|
|
+ --border-radius: 0px;
|
|
|
|
+ --background: #f2f2f5;
|
|
|
|
+ margin: 20px 0 0 0;
|
|
|
|
+ color: #363432;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.stepFlex {
|
|
|
|
+ margin: 0;
|
|
|
|
+ display: flex;
|
|
|
|
+ width: 100%;
|
|
|
|
+
|
|
|
|
+ .stepFlex-item {
|
|
|
|
+ position: relative;
|
|
|
|
+ flex: 1;
|
|
|
|
+ text-align: center;
|
|
|
|
+ margin-top: -10px;
|
|
|
|
+
|
|
|
|
+ .stepFlex-item-label {
|
|
|
|
+ padding-top: 60px;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+
|
|
|
|
+ .stepFlex-item-label-title{
|
|
|
|
+ margin-top:30px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .stepFlex-item-label-desc{
|
|
|
|
+ margin-top:5px;color: #b9b9bd;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .greenCircle {
|
|
|
|
+ top: calc(50% - 15px);
|
|
|
|
+ left: calc(50% - 4px);
|
|
|
|
+ position: absolute;
|
|
|
|
+ z-index: 2;
|
|
|
|
+ width: 10px;
|
|
|
|
+ height: 10px;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ background-color: #31A2FE;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .now {
|
|
|
|
+ top: calc(50% - 18px);
|
|
|
|
+ left: calc(50% - 8px);
|
|
|
|
+ position: absolute;
|
|
|
|
+ z-index: 3;
|
|
|
|
+ width: 16px;
|
|
|
|
+ height: 16px;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ background-color: #31A2FE;
|
|
|
|
+ border: 4px solid #c5e8f9;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .greyCircle {
|
|
|
|
+ top: calc(50% - 15px);
|
|
|
|
+ left: calc(50% - 4px);
|
|
|
|
+ position: absolute;
|
|
|
|
+ z-index: 2;
|
|
|
|
+ width: 10px;
|
|
|
|
+ height: 10px;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ background-color: #ccc;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .greenline {
|
|
|
|
+ width: 100%;
|
|
|
|
+ top: calc(50% - 11px);
|
|
|
|
+ left: calc(50% - 2px);
|
|
|
|
+ height: 2px;
|
|
|
|
+ background-color: #31A2FE;
|
|
|
|
+ position: absolute;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .greyline {
|
|
|
|
+ height: 0;
|
|
|
|
+ border: 1px dashed #ccc;
|
|
|
|
+ width: 100%;
|
|
|
|
+ top: calc(50% - 11px);
|
|
|
|
+ left: calc(50% - 2px);
|
|
|
|
+ position: absolute;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+</style>
|