Browse Source

Merge branch 'master' of http://39.98.153.250:9080/bowintek/EmploymentSite

pengjing 1 year ago
parent
commit
4005abf835

+ 16 - 6
h5app/src/views/pages/company/editPost.vue

@@ -17,11 +17,13 @@
           <div class="form-title">基本信息</div>
           <div class="form-input">
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
-            <ion-input placeholder="请输入岗位名称" label-placement="stacked" :clear-input="true"
-                       v-model="dataModel.postName" class="custom">
+            <ion-input placeholder="请选择岗位" label-placement="stacked" :clear-input="true"
+                       v-model="dataModel.professionName" style="width: 88%;float:left;">
             </ion-input>
-<!--            <ion-note slot="error">请输入岗位名称</ion-note>-->
+            <picker :ProfessionID="dataModel.professionID" aria-disabled="false"  @SetProfessionID="onSetProfessionID" style="width: 10%;float:left;"></picker>
+<!--            <ion-note slot="error">请选择岗位</ion-note>-->
           </div>
+          <div style="width: 100%;overflow: hidden;"></div>
           <div class="form-input">
           <ion-label>招聘数量(人)<span class="danger">*</span></ion-label>
             <ion-input type="number" placeholder="请输入招聘数量" label-placement="stacked" :clear-input="true"
@@ -166,9 +168,11 @@ import {getPostByID,savePost} from "@/api/post";
 import {minLength, required} from "@vuelidate/validators";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import dayjs from "dayjs";
+import Picker from "@/components/picker.vue";
 
 export default defineComponent({
   name: 'PostEdit',
+  components:{Picker},
   setup() {
     const router = useRouter();
     const route = useRoute();
@@ -178,6 +182,8 @@ export default defineComponent({
       dataModel: {
         companyID:null,
         postID:null,
+        professionName:null,
+        professionID:null,
         postName:null,
         recruitCount:null,
         startTime:dayjs().format("YYYY-MM-DD"),
@@ -197,7 +203,7 @@ export default defineComponent({
     const rules = computed(() => {
       return {
         dataModel: {
-          postName: {required},
+          professionName: {required},
           recruitCount: {required},
           startTime: {required},
           endTime: {required},
@@ -223,11 +229,14 @@ export default defineComponent({
       });
       await alert.present();
     }
-
+    const onSetProfessionID = (data: any)=>{
+      formState.dataModel.professionID = data.value;
+      formState.dataModel.professionName = data.text;
+    }
     const onSave = async function (){
       const isFormCorrect = await v$.value.$validate();
+      console.log("当前岗位信息",formState.dataModel);
       if (!isFormCorrect) {
-        console.log("当前岗位信息",formState.dataModel);
         await presentAlert('请输入完整信息!');
         return null;
       }
@@ -285,6 +294,7 @@ export default defineComponent({
       workYearList,
       cultureRankList,
       v$,
+      onSetProfessionID,
       onSave,
       back,
     }

+ 1 - 1
h5app/src/views/pages/company/postList.vue

@@ -40,7 +40,7 @@
                 <ion-item detail @click="onEdit(record.postID)">
                   <ion-label>
                     <h2>
-                      {{ record.postName }}
+                      {{ record.professionName }}
                     </h2>
                     <p v-if="record.startTime!=null&&record.endTime!=null">
                       {{ dayjs(record.startTime).format("YYYY-MM-DD") }}至{{ dayjs(record.endTime).format("YYYY-MM-DD") }}

+ 1 - 0
h5app/src/views/pages/jobhunt/edit.vue

@@ -637,6 +637,7 @@ 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}});
     }
 

+ 30 - 32
h5app/src/views/pages/jobhunt/jobHuntEdit.vue

@@ -1,5 +1,5 @@
 <template>
-  <ion-page>
+  <ion-page  class="list-page">
     <ion-header class="header-theme2">
       <ion-toolbar>
         <ion-buttons slot="start">
@@ -22,16 +22,16 @@
         </div>
       </div>
 
+      <!--          <div class="form-input">
+                  <ion-label>工种名称<span class="danger">*</span></ion-label>
+                  <ion-input name="workName" id="workName"  style="text-align: left;" class="custom"
+                             placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
+      &lt;!&ndash;            <ion-note slot="error">工种名称不能为空</ion-note>&ndash;&gt;
+                </div>-->
       <form ref="editForm" @submit.prevent="onSave">
         <div class="bw-vue-form">
-        <ion-list class="canvasWrapper" >
+        <ion-list>
           <div class="form-title">求职意向</div>
-<!--          <div class="form-input">
-            <ion-label>工种名称<span class="danger">*</span></ion-label>
-            <ion-input name="workName" id="workName"  style="text-align: left;" class="custom"
-                       placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
-&lt;!&ndash;            <ion-note slot="error">工种名称不能为空</ion-note>&ndash;&gt;
-          </div>-->
           <div class="form-select">
             <ion-label>求职类型<span class="danger">*</span></ion-label>
               <ion-select name="jobHuntType"  id="jobHuntType" okText="确定" cancelText="取消" v-model="dataModel.jobHuntType"
@@ -42,15 +42,14 @@
               </ion-select>
 <!--              <ion-note slot="error">求职类型不能为空</ion-note>-->
           </div>
-          <div class="form-select">
+          <div class="form-input">
             <ion-label>求职岗位<span class="danger">*</span></ion-label>
-              <ion-select name="postID"  id="postID" okText="确定" cancelText="取消" v-model="dataModel.postID"
-                          interface="action-sheet" placeholder="请选择求职岗位"  style="width:100%;text-align: left;">
-                <ion-select-option v-for=" (it,key) in allPostList" :key="key" :value="it.postID">
-                  {{ it.postName }}
-                </ion-select-option>
-              </ion-select>
-<!--              <ion-note slot="error">求职岗位不能为空</ion-note>-->
+            <ion-input placeholder="请选择岗位" label-placement="stacked"
+                       v-model="dataModel.professionName" style="float:left;width: 88%;" >
+            </ion-input>
+            <picker :ProfessionID="dataModel.professionID" aria-disabled="false"
+                    @SetProfessionID="onSetProfessionID" style="float:left;width: 10%;"></picker>
+            <!--            <ion-note slot="error">请选择求职岗位</ion-note>-->
           </div>
           <div class="form-select">
             <ion-label>人才类型<span class="danger">*</span></ion-label>
@@ -65,11 +64,11 @@
           <div class="form-input">
             <ion-label>月薪要求(元)<span class="danger">*</span></ion-label>
             <div>
-              <ion-input placeholder="请输入最低薪资" label-placement="stacked" style="float:left;width:40%;"
+              <ion-input placeholder="请输入最低薪资" label-placement="stacked" style="float:left;width:42%;"
                          v-model="dataModel.minSalary" class="custom">
               </ion-input>
               <ion-label style="float:left;width:5%;padding-top: 8px;">至</ion-label>
-              <ion-input placeholder="请输入最高薪资" label-placement="stacked" style="float:left;width:40%;"
+              <ion-input placeholder="请输入最高薪资" label-placement="stacked" style="float:left;width:42%;"
                          v-model="dataModel.maxSalary" class="custom">
               </ion-input>
               <!--              <ion-note slot="error">月薪要求不能为空</ion-note>-->
@@ -89,7 +88,7 @@
           <div class="form-input">
             <ion-label>期望工作地区<span class="danger">*</span></ion-label>
             <ion-input name="areaWork" id="areaWork" style="text-align: left;" class="custom"
-                         placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
+                       placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
 <!--              <ion-note slot="error">期望工作地区不能为空</ion-note>-->
           </div>
           <div class="form-input">
@@ -133,9 +132,9 @@ import {required} from "@vuelidate/validators";
 import {useVuelidate} from "@vuelidate/core";
 import {getJobHuntByID,saveJobHunt} from "@/api/jobHuntInfo";
 import {getSysDictionaryList} from '@/api/system/dictionary';
-import {getPostList} from '@/api/post'
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import dayjs from "dayjs";
+import Picker from "@/components/picker.vue";
 
 interface huntModel {
   dataModel: any;
@@ -156,6 +155,7 @@ export class ExampleComponent {
 
 export default defineComponent({
   name: 'jobHuntEdit',
+  components:{Picker},
   setup() {
     const router = useRouter();
     const route = useRoute();
@@ -171,16 +171,15 @@ export default defineComponent({
       {title: '工作经验', desc: '完善工作经验', val: 3},
       {title: '求职意向', desc: '个人求职意向', val: 4}
     ]);
-    const allPostList = ref([]);
     const jobHuntTypeList = ref<SelectProps[]>([]);
     const jobUserTypeList = ref<SelectProps[]>([]);
     const workYearTypeList = ref<SelectProps[]>([]);
     const jobHuntData = reactive<huntModel>({dataModel:{
         jobUserID:null,
-        workName:null,
         jobHuntType:null,
         jobUserType:null,
-        postID:null,
+        professionID:null,
+        professionName:null,
         minSalary:null,
         maxSalary:null,
         workYear:null,
@@ -190,10 +189,10 @@ export default defineComponent({
       }});
     const huntDataRule = computed(()=>{
       return {dataModel:{
-          workName:{required},
           jobHuntType:{required},
           jobUserType:{required},
-          postID:{required},
+          professionID:{required},
+          professionName:{required},
           minSalary:{required},
           maxSalary:{required},
           workYear:{required},
@@ -218,11 +217,7 @@ export default defineComponent({
       await alert.present();
     }
 
-    const getAllPostList = async function(){
-      const allPostResult :any = await getPostList({pageIndex:1,pageSize:10000});
-      allPostList.value = allPostResult.list;
-      console.log("allPostList",allPostList.value);
-    }
+
     const getJobHuntTypeList = async function(){
       const data :any = await getSysDictionaryList("JobHuntType");
       jobHuntTypeList.value = data;
@@ -236,6 +231,10 @@ export default defineComponent({
       workYearTypeList.value = data;
     }
 
+    const onSetProfessionID = (data: any)=>{
+      jobHuntData.dataModel.professionID = data.value;
+      jobHuntData.dataModel.professionName = data.text;
+    }
     const onSave = async function (){
       const isFormCorrect = await huntDataValid.value.$validate();
       if(!isFormCorrect){
@@ -257,7 +256,6 @@ export default defineComponent({
 
     const loadData = async (jobHuntID: any,jobUserID:any,status:any) => {
       loading.value = true;
-      await getAllPostList();
       await getJobHuntTypeList();
       await getJobUserTypeList();
       await getWorkYearTypeList();
@@ -286,11 +284,11 @@ export default defineComponent({
       editForm,
       curStepData,
       stepList,
-      allPostList,
       jobUserTypeList,
       jobHuntTypeList,
       workYearTypeList,
       setOpen,
+      onSetProfessionID,
       onSave,
       onCancel,
       loadData,

+ 1 - 1
h5app/src/views/pages/jobhunt/list.vue

@@ -279,7 +279,7 @@ export default defineComponent({
 </script>
 
 <style lang="less">
-ion-input.custom{
+.custom{
   --placeholder-color: gray;
   --placeholder-opacity: 0.5;
 }

+ 1 - 2
h5app/src/views/pages/jobhunt/recommend/list.vue

@@ -141,8 +141,7 @@ export default defineComponent({
 <style lang="less">
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .company-list-page {

+ 1 - 2
h5app/src/views/pages/post/list.vue

@@ -201,8 +201,7 @@ export default defineComponent({
 <style lang="less">
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .company-list-page {

+ 0 - 1
h5app/src/views/pages/post/recommend.vue

@@ -114,7 +114,6 @@ export default defineComponent({
 
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
   --placeholder-opacity: 1;
 }
 

+ 13 - 13
h5app/src/views/pages/user/myInfo.vue

@@ -9,28 +9,28 @@
       </ion-toolbar>
     </ion-header>
     <ion-content>
-      <form class="form-table">
-        <ion-item>
+      <div class="bw-vue-form">
+        <div class="form-detail">
           <ion-label>登录名</ion-label>
           <ion-text>{{ userInfo.loginID }}</ion-text>
-        </ion-item>
-        <ion-item>
+        </div>
+        <div class="form-detail">
           <ion-label>姓名</ion-label>
           <ion-text>{{ userInfo.siteUserName }}</ion-text>
-        </ion-item>
-        <ion-item>
+        </div>
+        <div class="form-detail">
           <ion-label>性别</ion-label>
           <ion-text>{{ userInfo.genderName }}</ion-text>
-        </ion-item>
-        <ion-item>
+        </div>
+        <div class="form-detail">
           <ion-label>人员类别</ion-label>
           <ion-text>{{ userInfo.userTypeName }}</ion-text>
-        </ion-item>
-        <ion-item>
-        <ion-label>电话号码</ion-label>
+        </div>
+        <div class="form-detail">
+          <ion-label>电话号码</ion-label>
           <ion-text>{{ userInfo.userMobile }}</ion-text>
-        </ion-item>
-      </form>
+        </div>
+      </div>
     </ion-content>
 
   </ion-page>

+ 26 - 18
h5app/src/views/pages/user/updatePassword.vue

@@ -9,27 +9,33 @@
       </ion-toolbar>
     </ion-header>
     <ion-content>
-      <form class="form-table">
-        <ion-item>
+      <div class="bw-vue-form">
+        <div class="form-detail">
           <ion-label>用户名</ion-label>
           <ion-text>{{ dataModel.userName }}</ion-text>
-        </ion-item>
-        <ion-item>
-          <ion-label>帐号</ion-label>
+        </div>
+        <div class="form-detail">
+          <ion-label>姓名</ion-label>
           <ion-text>{{ dataModel.loginID }}</ion-text>
-        </ion-item>
-        <ion-item :class="[v$.pwd_default.$error?'ion-invalid':'ion-valid']">
-          <ion-label>新密码</ion-label>
-          <ion-input v-model="dataModel.pwd_default" name="pwd_default"
-                     placeholder="请填写8到16位新密码" type="password"></ion-input>
-          <ion-note slot="error">密码必须包含字母、数字和特殊字符,且长度要在8到16位。</ion-note>
-        </ion-item>
-        <ion-item :class="[v$.pwd_confirm.$error?'ion-invalid':'ion-valid']">
-          <ion-label>确认新密码</ion-label>
-          <ion-input v-model="dataModel.pwd_confirm" name="pwd_confirm"
-                     placeholder="请填写8到16位新密码" type="password"></ion-input>
-          <ion-note slot="error">密码必须包含字母、数字和特殊字符,且长度要在8到16位。</ion-note>
-        </ion-item>
+        </div>
+      </div>
+      <form class="form-table">
+        <div class="bw-vue-form">
+          <div class="form-input">
+            <ion-label>新密码</ion-label>
+            <ion-input v-model="dataModel.pwd_default" name="pwd_default"
+                       placeholder="请填写8到16位新密码" type="password"></ion-input>
+            <ion-note style="color: #f50909" v-if="v$.pwd_default.$error" slot="error">密码必须包含字母、数字和特殊字符,且长度要在8到16位。
+            </ion-note>
+          </div>
+          <div class="form-input">
+            <ion-label>确认新密码</ion-label>
+            <ion-input v-model="dataModel.pwd_confirm" name="pwd_confirm"
+                       placeholder="请填写8到16位新密码" type="password"></ion-input>
+            <ion-note style="color: #f50909" v-if="v$.pwd_confirm.$error" slot="error">密码必须包含字母、数字和特殊字符,且长度要在8到16位。
+            </ion-note>
+          </div>
+        </div>
       </form>
     </ion-content>
     <ion-footer>
@@ -70,6 +76,8 @@ const v$ = useVuelidate(rules, dataModel);
 const onSave = async () => {
   const isFormCorrect = await v$.value.$validate();
 
+  console.log(isFormCorrect)
+
   if (!isFormCorrect) {
     return null;
   }

+ 1 - 2
h5app/src/views/pages/work/log/detail.vue

@@ -134,8 +134,7 @@ onIonViewDidEnter(() => {
 
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .title-item{

+ 1 - 2
h5app/src/views/pages/work/log/edit.vue

@@ -193,8 +193,7 @@ export default defineComponent({
 
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .title-item{

+ 3 - 5
h5app/src/views/pages/work/log/list.vue

@@ -13,7 +13,6 @@
     </ion-header>
     <ion-content>
       <ion-item style="font-size: 10px;--border-style: none;">
-        <label>日期:</label>
         <ion-datetime-button datetime="reportDateBegin"></ion-datetime-button>
         <span style="margin:0 5px">至</span>
         <ion-modal :keep-contents-mounted="true">
@@ -36,9 +35,9 @@
         <ion-button slot="end" style="height: 33px;width:70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;" @click="onSearch">搜索</ion-button>
       </ion-item>
       <!-- 滑动数据列表 -->
-      <div class="panel-content" v-if="!loading">
-        <div v-for="(record,key) in dataList" :key="key" style="border: 1px solid rgb(242, 242, 245); margin: 10px; border-radius: 10px">
-          <ion-item-sliding>
+      <div v-if="!loading" class="bw-vue-list">
+        <div v-for="(record,key) in dataList" :key="key">
+          <ion-item-sliding style="border-bottom: 1px solid #f1f5f7;border-radius: 0px;">
             <ion-item>
               <ion-grid @click="onDetail(record.doWorkID)">
                 <ion-row>
@@ -64,7 +63,6 @@
                 <ion-icon :icon="chevronForwardOutline" slots="end"></ion-icon>
               </span>
             </ion-item>
-
             <ion-item-options>
               <ion-item-option @click="onEdit(record.doWorkID)">
                 <ion-icon :icon="buildOutline"></ion-icon>

+ 1 - 2
h5app/src/views/pages/work/task/edit.vue

@@ -255,8 +255,7 @@ export default defineComponent({
 
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .title-item{

+ 25 - 21
h5app/src/views/pages/work/task/list.vue

@@ -1,5 +1,5 @@
 <template>
-  <ion-page class="list-page task-list-page" >
+  <ion-page class="list-page">
     <ion-header class="header-theme2">
       <ion-toolbar>
         <ion-buttons slot="start">
@@ -17,24 +17,29 @@
                    v-model="searchParamsState.taskName" style="border: 1px solid #f2f2f5;border-radius: 14px;--padding-start: 10px;height: 35px;" ></ion-input>
         <ion-button slot="end" style="height: 33px;width: 70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;" @click="reload">搜索</ion-button>
       </ion-item>
-      <ion-list class="list-content" >
-        <ion-item v-for="(record,key) in dataList" :key="key" detail @click="onDetail(record)">
-          <ion-label>
-            <h3>{{ record.doTaskName}}</h3>
-            <p style="margin-top: 8px">任务类型:{{ record.workTypeName }}</p>
-            <p>
-              要求完成时间:{{ dayjs(record.finishTime).format("YYYY-MM-DD") }}
-            </p>
-            <p v-if="record.taskStatus == 1 && record.completeTime">
-              任务完成时间:{{ dayjs(record.completeTime).format("YYYY-MM-DD") }}
-            </p>
-          </ion-label>
-          <ion-avatar aria-hidden="true" slot="end">
-            <p>{{ record.taskStatusName}}</p>
-
-          </ion-avatar>
-        </ion-item>
-      </ion-list>
+      <div class="bw-vue-list">
+        <div class="list-content">
+          <ion-list>
+            <ion-item v-for="(record,key) in dataList" :key="key" detail @click="onDetail(record)">
+              <ion-label>
+                <div class="multi-title">
+                  <h3>{{ record.doTaskName }}</h3>
+                </div>
+                <p style="margin-top: 8px">任务类型:{{ record.workTypeName }}</p>
+                <p>
+                  要求完成时间:{{ dayjs(record.finishTime).format("YYYY-MM-DD") }}
+                </p>
+                <p v-if="record.taskStatus == 1 && record.completeTime">
+                  任务完成时间:{{ dayjs(record.completeTime).format("YYYY-MM-DD") }}
+                </p>
+              </ion-label>
+              <ion-avatar aria-hidden="true" slot="end">
+                <p style="font-size: 11px; color: #8c8f93">{{ record.taskStatusName }}</p>
+              </ion-avatar>
+            </ion-item>
+          </ion-list>
+        </div>
+      </div>
       <b-empty v-if="dataList.length<=0" :loading="loading"/>
       <ion-infinite-scroll threshold="100px" @ionInfinite="onScroll($event)">
         <ion-infinite-scroll-content
@@ -140,8 +145,7 @@ export default defineComponent({
 <style lang="less">
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }