Browse Source

app-求职人员收集、企业信息收集编辑时步骤跳转调整
app-岗位信息管理取消滑动编辑删除功能

liao-sea 11 months ago
parent
commit
774ca46bf5

+ 1 - 1
doc/已更新脚本

@@ -99,7 +99,7 @@ update sys_menu set ViewPath = 'views/workTask/index'  where MenuNo='T01040101';
 update sys_menu set ViewPath = 'views/workTask/add'  where MenuNo='T01040102';
 update sys_menu set ViewPath = 'views/workTask/edit'  where MenuNo='T01040103';
 update sys_menu set ViewPath = 'views/workTask/detail'  where MenuNo='T01040105';
-update sys_menu set OrderNo = '6',Icon='ScheduleOutlined',Url='/taskAndLog',isLeaf=1 where MenuNo='T010402' ;
+update sys_menu set OrderNo = '6',Icon='ScheduleOutlined',Url='/workLog',isLeaf=1 where MenuNo='T010402' ;
 update sys_menu set ViewPath = 'views/workLog/index'  where MenuNo='T01040201';
 update sys_menu set ViewPath = 'views/workLog/add'  where MenuNo='T01040202';
 update sys_menu set ViewPath = 'views/workLog/edit'  where MenuNo='T01040203';

+ 16 - 7
h5app/src/views/pages/company/edit.vue

@@ -18,8 +18,8 @@
           <div v-if="key !== stepList.length - 1"
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
-            <p class="stepFlex-item-label-title">{{ record.title }}</p>
-            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>
+            <p class="stepFlex-item-label-title" @click="onRedirect(record.val)" >{{ record.title }}</p>
+            <p class="stepFlex-item-label-desc"  @click="onRedirect(record.val)" >{{ record.desc }}</p>
           </div>
         </div>
       </div>
@@ -318,7 +318,8 @@ import {getPosition} from "@/utils/position";
 
 interface StepParams{
   name: string,
-  statusVal: number
+  statusVal: number,
+  loginUserID: string
 }
 
 
@@ -331,7 +332,8 @@ export default defineComponent({
     const isAllowCommit = ref(true);
     const curStepData = ref<StepParams>({
       name:"",
-      statusVal: 1
+      statusVal: 1,
+      loginUserID:""
     });
     const isAdd = ref(false);
     const isShow = ref<any>(false);
@@ -393,7 +395,7 @@ export default defineComponent({
     }});
     const stepList = ref([
         {title: '基础信息', desc: '企业基础信息', val: 1},
-        {title: '岗位信息', desc: '企业岗位信息', val: 2}
+        {title: '岗位信息', desc: '企业岗位信息', val: 3}
     ]);
 
     const companyStatusList = ref([]);
@@ -599,15 +601,20 @@ export default defineComponent({
       if(isAllowCommit.value){
         saveCompany(formState.dataModel).then(result => {
           if (result) {
-              router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:3}});
+              router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:3,isEdit:isAdd.value!=true?1:0}});
           }
         });
       }
     };
 
-    const onBack=()=>{
+    const onBack = () => {
         router.push({path: './list', query: {reload:1}});
     }
+    const onRedirect = (statusValue:any) => {
+      if(!isAdd.value && statusValue==3) {
+          router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:3,isEdit:1}});
+      }
+    }
 
     const getRegionListData = () => {
       getRegionList({}).then(data => {
@@ -632,6 +639,7 @@ export default defineComponent({
 
     const loadData = async (companyID: any,status:any,loginUserId:any) => {
       curStepData.value.statusVal = status;
+      curStepData.value.loginUserID = loginUserId;
       isAdd.value = companyID == null;
       const reqData = await getCompanyById(companyID,loginUserId);
       formState.dataModel = reqData;
@@ -712,6 +720,7 @@ export default defineComponent({
       onSetIndustryID,
       onNext,
       onBack,
+      onRedirect,
       getCompanyStatusList,
       getCompanyModelList,
       getCompanyTypeList,

+ 7 - 5
h5app/src/views/pages/company/editPost.vue

@@ -226,6 +226,7 @@ export default defineComponent({
     const route = useRoute();
     const isShow = ref<any>(false);
     const isEdit = ref<any>(false);
+    const isEditCompany = ref(0);
     const isCommit = ref<any>(false);
     const formState = reactive<postModel>({
       dataModel: {
@@ -324,7 +325,7 @@ export default defineComponent({
     }
 
     const back = () => {
-      router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
+      router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3,isEdit:isEditCompany.value}});
     }
 
     const getWorkYearList = async function(){
@@ -341,11 +342,12 @@ export default defineComponent({
       workNatureList.value = data;
     }
 
-    const loadData = async (postID: any,companyID:any) => {
+    const loadData = async (postID: any,companyID:any,isEdit:any) => {
       isCommit.value =false;
       await getWorkYearList();
       await getCultureRankList();
       await getWorkNationList();
+      isEditCompany.value = isEdit;
       const loginUserInfo = useUserStore().getUserInfo;
       const reqData = await getPostByID(postID);
       formState.dataModel = reqData;
@@ -454,14 +456,14 @@ export default defineComponent({
     }
 
 
-    const reload = (postID: any,companyID:any) => {
+    const reload = (postID: any,companyID:any,isEdit:any) => {
       formState.dataModel.recruitCount = null;
-      loadData(postID,companyID);
+      loadData(postID,companyID,isEdit);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.id,route.query.companyID);
+        reload(route.query.id,route.query.companyID,route.query.isEdit);
     });
 
     return {

+ 20 - 13
h5app/src/views/pages/company/postList.vue

@@ -19,8 +19,8 @@
           <div v-if="key !== stepList.length - 1"
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
-            <p class="stepFlex-item-label-title">{{ record.title }}</p>
-            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>
+            <p class="stepFlex-item-label-title" @click="onRedirect(record.val)">{{ record.title }}</p>
+            <p class="stepFlex-item-label-desc"  @click="onRedirect(record.val)">{{ record.desc }}</p>
           </div>
         </div>
       </div>
@@ -132,6 +132,7 @@ export default defineComponent({
       name:"",
       statusVal: 1
     });
+    const isEditCompany = ref(0);
     const stepList = ref([
       {
         title: '基础信息',
@@ -179,7 +180,7 @@ export default defineComponent({
         text: '确定',
         role: 'confirm',
         handler: () => {
-          reload(pageParams.companyID,curStepData.value.statusVal);
+          reload(pageParams.companyID,curStepData.value.statusVal,isEditCompany.value);
         },
       },
     ];
@@ -196,7 +197,7 @@ export default defineComponent({
         text: '取消',
         role: 'cancel',
         handler: () => {
-          reload(pageParams.companyID,curStepData.value.statusVal);
+          reload(pageParams.companyID,curStepData.value.statusVal,isEditCompany.value);
         },
       },
       {
@@ -210,7 +211,7 @@ export default defineComponent({
             setInfoAlertOpen(true);*/
           }).finally(()=>{
             delLoading.value = false;
-            reload(pageParams.companyID,curStepData.value.statusVal);
+            reload(pageParams.companyID,curStepData.value.statusVal,isEditCompany.value);
           });
         },
       },
@@ -232,13 +233,16 @@ export default defineComponent({
     }
 
     const onAdd = () => {
-      router.push({path: './editPost', query: {reload:1,id: null,companyID:pageParams.companyID}});
+      router.push({path: './editPost', query: {reload:1,id: null,companyID:pageParams.companyID,isEdit:isEditCompany.value}});
     };
     const onEdit = (postID:any) => {
-      router.push({path: './editPost', query: {reload:1,id:postID,companyID:pageParams.companyID}});
+      router.push({path: './editPost', query: {reload:1,id:postID,companyID:pageParams.companyID,isEdit:isEditCompany.value}});
     };
     const onBack = () => {
-        router.push({path: './edit', query: {reload:1,id:pageParams.companyID,status:1}});
+      router.push({path: './edit', query: {reload:1,id:pageParams.companyID,status:1}});
+    };
+    const onRedirect = (statusValue:any) => {
+      if(isEditCompany.value==1 && statusValue==1) router.push({path: './edit', query: {reload:1,id:pageParams.companyID,status:1}});
     };
 
     const onFinish = () => {
@@ -250,14 +254,16 @@ export default defineComponent({
         e.target.complete();
         if (pageParams.total > pageParams.pageIndex * pageParams.pageSize) {
           pageParams.pageSize += 10;
-          loadData(pageParams.companyID,curStepData.value.statusVal);
+          loadData(pageParams.companyID,curStepData.value.statusVal,isEditCompany.value);
         }
       }, 500);
     }
-    const loadData = async function (companyID:any,status:any) {
+
+    const loadData = async function (companyID:any,status:any,isEdit:any) {
       loading.value = true;
       pageParams.companyID = companyID;
       curStepData.value.statusVal = status;
+      isEditCompany.value = isEdit;
       const result:any = await getCompanyPostList(pageParams);
       postList.value = postList.value.concat(result.list);
       pageParams.total = result.total;
@@ -265,17 +271,17 @@ export default defineComponent({
       loading.value = false;
     };
 
-    const reload = (companyID:any,status:any) => {
+    const reload = (companyID:any,status:any,isEdit:any) => {
       pageParams.pageIndex = 1;
       postList.value = [];
-      loadData(companyID,status);
+      loadData(companyID,status,isEdit);
       /*const jsonPostList = localStorage.getItem("postData");
       postList.value = JSON.parse(jsonPostList ?? "");*/
     };
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.id,route.query.status);
+        reload(route.query.id,route.query.status,route.query.isEdit);
     });
 
     return {
@@ -297,6 +303,7 @@ export default defineComponent({
       delLoading,
       infoAlterData,
       onBack,
+      onRedirect,
       onAdd,
       onEdit,
       onFinish,

+ 13 - 6
h5app/src/views/pages/jobhunt/edit.vue

@@ -16,8 +16,8 @@
           <div v-if="key !== stepList.length - 1"
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
-            <p class="stepFlex-item-label-title">{{ record.title }}</p>
-            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>
+            <p class="stepFlex-item-label-title" @click="onPathRedirect(record.val)">{{ record.title }}</p>
+            <p class="stepFlex-item-label-desc"  @click="onPathRedirect(record.val)">{{ record.desc }}</p>
           </div>
         </div>
       </div>
@@ -502,7 +502,7 @@ export default defineComponent({
     });
     const stepList = ref([
         {title: '基础信息', desc: '个人基础信息', val: 1},
-        {title: '教育经历', desc: '完善教育经历',val: 2},
+        {title: '教育经历', desc: '完善教育经历', val: 2},
         {title: '工作经验', desc: '完善工作经验', val: 3},
         {title: '求职意向', desc: '个人求职意向', val: 4},
     ]);
@@ -525,6 +525,7 @@ export default defineComponent({
     const educationList = ref([]);
     const experienceList = ref([]);
     const jobHuntList = ref([]);
+    const isEdit =ref(false);
     const baseInfoData = reactive({
       baseData:{
         jobUserID:null,
@@ -738,9 +739,12 @@ export default defineComponent({
     }
 
     const onPathForward = (pathValue:string,educationIDValue:any,experienceIDValue:any,jobHuntIDValue:any,statusValue:any)=>{
-      console.log("userid",baseInfoData.baseData.jobUserID);
-      router.push({path: pathValue, query: {reload:1,educationID:educationIDValue,experienceID:experienceIDValue,jobHuntID:jobHuntIDValue,jobUserID: baseInfoData.baseData.jobUserID,status:statusValue}});
+      router.push({path: pathValue, query: {reload:1,educationID:educationIDValue,experienceID:experienceIDValue,jobHuntID:jobHuntIDValue,jobUserID: baseInfoData.baseData.jobUserID,status:statusValue,isEdit:isEdit.value==true?1:0}});
     }
+    const onPathRedirect = (statusValue:any)=>{
+      if(isEdit.value) router.push({path: './edit', query: {reload:0,jobUserID: baseInfoData.baseData.jobUserID,status:statusValue}});
+    }
+
 
     const onScroll = (e: any) => {
         setTimeout(() => {
@@ -813,7 +817,7 @@ export default defineComponent({
     const loadData = async (jobUserID: any,status:any) => {
       loading.value = true;
       if (jobUserID == null) {
-        setLongitudeLatitude()
+        setLongitudeLatitude();
       }
       pageParams.jobUserID = jobUserID;
       baseInfoData.baseData.jobUserID = jobUserID;
@@ -823,6 +827,7 @@ export default defineComponent({
       //console.log("当前jobUserID",jobUserID);
       if(curStepData.value.statusVal==1){
         const reqData = await getJobUserById(jobUserID,curUserID);
+        isEdit.value = jobUserID != null;
         baseInfoData.baseData = reqData;
         baseInfoData.baseData.loginUserID = curUserID;
         //console.log('baseData',baseInfoData.baseData);
@@ -896,6 +901,7 @@ export default defineComponent({
       trashOutline,
       route,
       router,
+      isEdit,
       expand,
       loading,
       stepList,
@@ -937,6 +943,7 @@ export default defineComponent({
       onFinish,
       onScroll,
       onPathForward,
+      onPathRedirect,
       loadData,
       reload,
       setDelAlertOpen,

+ 13 - 7
h5app/src/views/pages/jobhunt/educationEdit.vue

@@ -16,8 +16,8 @@
           <div v-if="key !== stepList.length - 1"
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
-            <p class="stepFlex-item-label-title">{{ record.title }}</p>
-<!--            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>-->
+            <p class="stepFlex-item-label-title" @click="onPathRedirect(record.val)">{{ record.title }}</p>
+            <p class="stepFlex-item-label-desc"  @click="onPathRedirect(record.val)">{{ record.desc }}</p>
           </div>
         </div>
       </div>
@@ -116,6 +116,7 @@ export default defineComponent({
     const route = useRoute();
     const loading = ref(false);
     const editForm = ref();
+    const isEditJobUser = ref(0);
     const curStepData = ref<StepParams>({
       name:"",
       statusVal: 2
@@ -177,31 +178,35 @@ export default defineComponent({
     const onCancel = () => {
       router.push({path: './edit', query: {reload:1,jobUserID: educationData.dataModel.jobuserID,status:2}});
     }
+    const onPathRedirect = (statusValue:any)=>{
+      if(isEditJobUser.value==1) router.push({path: './edit', query: {reload:1,jobUserID: educationData.dataModel.jobuserID,status:statusValue,isEdit:isEditJobUser.value}});
+    }
 
     const getCultureRankList = async function(){
       const data :any = await getSysDictionaryList("HighestDegree");
       cultureRankList.value = data;
     }
 
-    const loadData = async (educationID: any,jobUserID:any,status:any) => {
+    const loadData = async (educationID: any,jobUserID:any,status:any,isEdit:any) => {
       loading.value = true;
       await getCultureRankList();
+      curStepData.value.statusVal = status;
+      isEditJobUser.value = isEdit;
       const reqData = await getEducationByID(educationID);
       educationData.dataModel = reqData;
       educationData.dataModel.jobuserID = jobUserID;
       console.log("初始化教育经历",educationData.dataModel);
-      curStepData.value.statusVal = status;
       loading.value = false;
     };
 
-    const reload = (educationID: any,jobUserID:any,status:any) => {
+    const reload = (educationID: any,jobUserID:any,status:any,isEdit:any) => {
       educationData.dataModel = {};
-      loadData(educationID,jobUserID,status);
+      loadData(educationID,jobUserID,status,isEdit);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.educationID,route.query.jobUserID,route.query.status);
+        reload(route.query.educationID,route.query.jobUserID,route.query.status,route.query.isEdit);
     });
 
     return {
@@ -214,6 +219,7 @@ export default defineComponent({
       setOpen,
       onSave,
       onCancel,
+      onPathRedirect,
       loadData,
       route,
       router,

+ 13 - 8
h5app/src/views/pages/jobhunt/experienceEdit.vue

@@ -16,8 +16,8 @@
           <div v-if="key !== stepList.length - 1"
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
-            <p class="stepFlex-item-label-title">{{ record.title }}</p>
-<!--            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>-->
+            <p class="stepFlex-item-label-title" @click="onPathRedirect(record.val)">{{ record.title }}</p>
+            <p class="stepFlex-item-label-desc"  @click="onPathRedirect(record.val)">{{ record.desc }}</p>
           </div>
         </div>
       </div>
@@ -175,26 +175,30 @@ export default defineComponent({
     const onCancel = () => {
       router.push({path: './edit', query: {reload:1,jobUserID: experienceData.dataModel.jobuserID,status:3}});
     }
+    const onPathRedirect = (statusValue:any)=>{
+      if(isEditJobUser.value==1) router.push({path: './edit', query: {reload:1,jobUserID: experienceData.dataModel.jobuserID,status:statusValue,isEdit:isEditJobUser.value}});
+    }
 
-
-    const loadData = async (educationID: any,jobUserID:any,status:any) => {
+    const isEditJobUser = ref(0);
+    const loadData = async (educationID: any,jobUserID:any,status:any,isEdit:any) => {
       loading.value = true;
+      curStepData.value.statusVal = status;
+      isEditJobUser.value = isEdit;
       const reqData = await getExperienceByID(educationID);
       experienceData.dataModel = reqData;
       experienceData.dataModel.jobuserID = jobUserID;
       console.log("初始化教育经历",experienceData.dataModel);
-      curStepData.value.statusVal = status;
       loading.value = false;
     };
 
-    const reload = (educationID: any,jobUserID:any,status:any) => {
+    const reload = (educationID: any,jobUserID:any,status:any,isEdit:any) => {
       experienceData.dataModel = {};
-      loadData(educationID,jobUserID,status);
+      loadData(educationID,jobUserID,status,isEdit);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.experienceID,route.query.jobUserID,route.query.status);
+        reload(route.query.experienceID,route.query.jobUserID,route.query.status,route.query.isEdit);
     });
 
     return {
@@ -207,6 +211,7 @@ export default defineComponent({
       setOpen,
       onSave,
       onCancel,
+      onPathRedirect,
       loadData,
       route,
       router,

+ 13 - 7
h5app/src/views/pages/jobhunt/jobHuntEdit.vue

@@ -16,8 +16,8 @@
           <div v-if="key !== stepList.length - 1"
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
-            <p class="stepFlex-item-label-title">{{ record.title }}</p>
-            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>
+            <p class="stepFlex-item-label-title" @click="onPathRedirect(record.val)">{{ record.title }}</p>
+            <p class="stepFlex-item-label-desc"  @click="onPathRedirect(record.val)">{{ record.desc }}</p>
           </div>
         </div>
       </div>
@@ -307,17 +307,22 @@ export default defineComponent({
     const onCancel = () => {
       router.push({path: './edit', query: {reload:1,jobUserID: jobHuntData.dataModel.jobUserID,status:4}});
     }
+    const onPathRedirect = (statusValue:any)=>{
+      if(isEditJobUser.value==1) router.push({path: './edit', query: {reload:1,jobUserID: jobHuntData.dataModel.jobUserID,status:statusValue,isEdit:isEditJobUser.value}});
+    }
 
-    const loadData = async (jobHuntID: any,jobUserID:any,status:any) => {
+    const isEditJobUser = ref(0);
+    const loadData = async (jobHuntID: any,jobUserID:any,status:any,isEdit:any) => {
       loading.value = true;
       isCommit.value = false;
+      curStepData.value.statusVal = status;
+      isEditJobUser.value = isEdit;
       await getJobHuntTypeList();
       await getJobUserTypeList();
       await getWorkYearTypeList();
       await getWorkAreaList();
       const loginUserInfo = useUserStore().getUserInfo;
       const reqData = await getJobHuntByID(jobHuntID);
-      curStepData.value.statusVal = status;
       jobHuntData.dataModel = reqData;
       jobHuntData.dataModel.jobUserID = jobUserID;
       jobHuntData.dataModel.loginUserID = loginUserInfo.userID == undefined?"":loginUserInfo.userID;
@@ -325,13 +330,13 @@ export default defineComponent({
       loading.value = false;
     };
 
-    const reload = (educationID: any,jobUserID:any,status:any) => {
-      loadData(educationID,jobUserID,status);
+    const reload = (educationID: any,jobUserID:any,status:any,isEdit:any) => {
+      loadData(educationID,jobUserID,status,isEdit);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload){
-        reload(route.query.jobHuntID,route.query.jobUserID,route.query.status);
+        reload(route.query.jobHuntID,route.query.jobUserID,route.query.status,route.query.isEdit);
       }
     });
 
@@ -349,6 +354,7 @@ export default defineComponent({
       setOpen,
       onSave,
       onCancel,
+      onPathRedirect,
       loadData,
       refPostSelectionLike,
       onOpenPost,

+ 11 - 11
h5app/src/views/pages/post/list.vue

@@ -24,8 +24,8 @@
       <div class="bw-vue-list">
         <div class="list-content">
           <ion-list>
-              <ion-item-sliding v-for="(record,key) in dataList" :key="key" detail >
-                <ion-item @click="onDetail(record.postID)">
+<!--              <ion-item-sliding  >-->
+                <ion-item @click="onDetail(record.postID)" v-for="(record,key) in dataList" :key="key">
                   <ion-label>
                     <h3>{{ record.professionName }}</h3>
                     <p>{{ record.companyName }}</p>
@@ -47,15 +47,15 @@
                     <ion-button size="small" fill="outline" style="color:  rgb(9 29 60);--border-radius: 15px;--border-color:#0d6e87;">推荐</ion-button>
                   </ion-avatar>
                 </ion-item>
-                <ion-item-options>
-                  <ion-item-option @click="onEdit(record.postID);$event.preventDefault();$event.stopPropagation();">
-                    <ion-icon :icon="buildOutline"></ion-icon>
-                  </ion-item-option>
-                  <ion-item-option color="danger" @click="onDel(record.postID);$event.preventDefault();$event.stopPropagation();">
-                    <ion-icon :icon="trashOutline"></ion-icon>
-                  </ion-item-option>
-                </ion-item-options>
-              </ion-item-sliding>
+<!--                <ion-item-options>-->
+<!--                  <ion-item-option @click="onEdit(record.postID);$event.preventDefault();$event.stopPropagation();">-->
+<!--                    <ion-icon :icon="buildOutline"></ion-icon>-->
+<!--                  </ion-item-option>-->
+<!--                  <ion-item-option color="danger" @click="onDel(record.postID);$event.preventDefault();$event.stopPropagation();">-->
+<!--                    <ion-icon :icon="trashOutline"></ion-icon>-->
+<!--                  </ion-item-option>-->
+<!--                </ion-item-options>-->
+<!--              </ion-item-sliding>-->
           </ion-list>
         </div>
       </div>