Переглянути джерело

app-输入与各项数据的小标题调整、提示信息样式调整

liao-sea 1 рік тому
батько
коміт
1d49125680

+ 8 - 8
h5app/src/router/index.ts

@@ -25,20 +25,20 @@ const routes: Array<RouteRecordRaw> = [
                 component: () => import('@/views/pages/practiceReport/daily/index.vue'),
             },*/
             {
-                path: 'tabMain/jobuser/list',
-                component: () => import('@/views/pages/jobuser/list.vue')
+                path: 'tabMain/jobhunt/list',
+                component: () => import('@/views/pages/jobhunt/list.vue')
             },
             {
-                path: 'tabMain/jobuser/edit',
-                component: () => import('@/views/pages/jobuser/edit.vue')
+                path: 'tabMain/jobhunt/edit',
+                component: () => import('@/views/pages/jobhunt/edit.vue')
             },
             {
-                path: 'tabMain/jobuser/educationEdit',
-                component: () => import('@/views/pages/jobuser/educationEdit.vue')
+                path: 'tabMain/jobhunt/educationEdit',
+                component: () => import('@/views/pages/jobhunt/educationEdit.vue')
             },
             {
-                path: 'tabMain/jobuser/jobHuntEdit',
-                component: () => import('@/views/pages/jobuser/jobHuntEdit.vue')
+                path: 'tabMain/jobhunt/jobHuntEdit',
+                component: () => import('@/views/pages/jobhunt/jobHuntEdit.vue')
             },
             {
                 path: 'tabMain/company/list',

+ 152 - 75
h5app/src/views/pages/jobuser/edit.vue

@@ -14,82 +14,80 @@
         <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-desc">{{ record.desc }}</p>-->
         </div>
       </div>
     </div>
     <ion-content>
       <ion-list  v-if="curStepData.statusVal==1">
-        <ion-item>
-          <div class="panel-title2">
-            <div class="item-flag"></div>
-            基本信息
-          </div>
-        </ion-item>
+        <ion-label class="title-item">姓名<span class="danger">*</span></ion-label>
         <ion-item mode="md" :class="[baseDataValid.baseData.name.$error?'ion-invalid':'ion-valid']">
-          <ion-label>姓名<span class="danger">*</span></ion-label>
-          <ion-input name="name" id="name" style="text-align: right;"  placeholder="请输入姓名" v-model="baseData.name" ></ion-input>
+          <ion-input name="name" id="name" style="text-align: left;"  class="custom"
+                     placeholder="请输入姓名" v-model="baseData.name" ></ion-input>
           <ion-note slot="error">姓名不能为空</ion-note>
         </ion-item>
+        <ion-label class="title-item">公民身份号码<span class="danger">*</span></ion-label>
         <ion-item mode="md" :class="[baseDataValid.baseData.identityNumber.$error?'ion-invalid':'ion-valid']">
-          <ion-label>公民身份号码<span class="danger">*</span></ion-label>
-          <ion-input name="identityNumber" id="identityNumber" style="text-align: right;"  placeholder="请输入身份证号码" v-model="baseData.identityNumber" ></ion-input>
+          <ion-input name="identityNumber" id="identityNumber" style="text-align: left;" class="custom"
+                     placeholder="请输入身份证号码" v-model="baseData.identityNumber" ></ion-input>
           <ion-note slot="error">公民身份号码不能为空</ion-note>
         </ion-item>
+        <ion-label class="title-item">性别<span class="danger">*</span></ion-label>
         <ion-item mode="md" :class="[baseDataValid.baseData.sex.$error?'ion-invalid':'ion-valid']">
-          <ion-label>性别<span class="danger">*</span></ion-label>
-          <ion-select name="sex" id="sex" okText="确定" cancelText="取消"
-                      interface="action-sheet"   v-model="baseData.sex" placeholder="请选择性别" >
-            <ion-select-option v-for=" (it,key) in genderList" :key="key"  :value="it.value">
+          <ion-select name="sex" id="sex" okText="确定" cancelText="取消" v-model="baseData.sex"
+                      interface="action-sheet"  placeholder="请选择性别" style="width:100%;text-align:left;" >
+            <ion-select-option v-for=" (it,key) in genderList" :key="key"  :value="it.value" >
               {{ it.name }}
             </ion-select-option>
           </ion-select>
           <ion-note slot="error">性别不能为空</ion-note>
         </ion-item>
+        <ion-label class="title-item">联系电话<span class="danger">*</span></ion-label>
+        <ion-item mode="md" :class="[baseDataValid.baseData.userMobile.$error?'ion-invalid':'ion-valid']">
+          <ion-input name="userMobile" id="userMobile"  style="text-align: left;" class="custom"
+                     placeholder="请输入联系电话" v-model="baseData.userMobile" ></ion-input>
+          <ion-note slot="error">联系电话不能为空</ion-note>
+        </ion-item>
+        <ion-label class="title-item">地址<span class="danger">*</span></ion-label>
+        <ion-item mode="md" :class="[baseDataValid.baseData.address.$error?'ion-invalid':'ion-valid']">
+          <ion-input name="address" id="address"  style="text-align: left;"  class="custom"
+                     placeholder="请输入地址" v-model="baseData.address" ></ion-input>
+          <ion-note slot="error">地址不能为空</ion-note>
+        </ion-item>
+        <ion-label class="title-item">就业状态<span class="danger">*</span></ion-label>
         <ion-item mode="md" :class="[baseDataValid.baseData.jobStatusID.$error?'ion-invalid':'ion-valid']">
-          <ion-label>就业状态<span class="danger">*</span></ion-label>
           <ion-select name="jobStatusID"  id="jobStatusID" okText="确定" cancelText="取消" v-model="baseData.jobStatusID"
-                      interface="action-sheet" placeholder="请选择就业状态" >
+                      interface="action-sheet" placeholder="请选择就业状态"  style="width:100%;text-align:left;" >
             <ion-select-option v-for=" (it,key) in jobUserStatusList" :key="key" :value="it.value">
               {{ it.name }}
             </ion-select-option>
           </ion-select>
           <ion-note slot="error">就业状态不能为空</ion-note>
         </ion-item>
-        <ion-item mode="md" :class="[baseDataValid.baseData.keyPersonTypeID.$error?'ion-invalid':'ion-valid']">
-          <ion-label>重点人员类别<span class="danger">*</span></ion-label>
-          <ion-select name="keyPersonTypeID"  id="keyPersonTypeID" okText="确定" cancelText="取消" v-model="baseData.keyPersonTypeID"
-                      interface="action-sheet" placeholder="请选择重点人员类别" >
-            <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>
-        </ion-item>
-        <ion-item mode="md" :class="[baseDataValid.baseData.userMobile.$error?'ion-invalid':'ion-valid']">
-          <ion-label>联系电话<span class="danger">*</span></ion-label>
-          <ion-input name="userMobile" id="userMobile"  style="text-align: right;" placeholder="请输入联系电话" v-model="baseData.userMobile" ></ion-input>
-          <ion-note slot="error">联系电话不能为空</ion-note>
-        </ion-item>
-        <ion-item mode="md" :class="[baseDataValid.baseData.address.$error?'ion-invalid':'ion-valid']">
-          <ion-label>地址<span class="danger">*</span></ion-label>
-          <ion-input name="address" id="address"  style="text-align: right;"  placeholder="请输入地址" v-model="baseData.address" ></ion-input>
-          <ion-note slot="error">地址不能为空</ion-note>
-        </ion-item>
+        <ion-label class="title-item">所属驿站<span class="danger">*</span></ion-label>
         <ion-item mode="md" :class="[baseDataValid.baseData.siteID.$error?'ion-invalid':'ion-valid']"  >
-          <ion-label>所属驿站<span class="danger">*</span></ion-label>
           <ion-select name="siteID"  id="siteID" okText="确定" cancelText="取消" v-model="baseData.siteID"
-                      interface="action-sheet" placeholder="请选择所属驿站" >
+                      interface="action-sheet" placeholder="请选择所属驿站"  style="width:100%;text-align:left;">
             <ion-select-option v-for=" (it,key) in siteInfoList" :key="key" :value="it.value">
               {{ it.text }}
             </ion-select-option>
           </ion-select>
           <ion-note slot="error">所属驿站不能为空</ion-note>
         </ion-item>
+        <ion-label class="title-item">重点人员类别<span class="danger">*</span></ion-label>
+        <ion-item mode="md" :class="[baseDataValid.baseData.keyPersonTypeID.$error?'ion-invalid':'ion-valid']">
+          <ion-select name="keyPersonTypeID"  id="keyPersonTypeID" okText="确定" cancelText="取消" v-model="baseData.keyPersonTypeID"
+                      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>
+        </ion-item>
         <ion-item>
           <div class="panel-title2">
             <div class="item-flag"></div>
-            其他信息
+            <span style="font-size: 18px;">其他信息</span>
           </div>
           <ion-avatar aria-hidden="true" slot="end" style="padding-top: 10px;" >
             <img alt="" src="@/assets/icon/arrow-up-bold.png"   class="iconBtn"  @click="expandChange" v-if="!expand"/>
@@ -97,105 +95,157 @@
           </ion-avatar>
         </ion-item>
         <ion-item-group v-if="expand">
+          <ion-label class="title-item">民族</ion-label>
+          <ion-item>
+            <ion-input name="nation" id="nation"  style="text-align: left;" class="custom"
+                       v-model="baseData.nation" placeholder="请输入民族" ></ion-input>
+            <!--<ion-select name="nation"  id="nation" okText="确定" cancelText="取消" v-model="baseData.nation"
+                        interface="action-sheet" placeholder="请选择民族" style="width:100%;text-align:left;">
+              <ion-select-option v-for=" (it,key) in nationList" :key="key" :value="it.code">
+                {{ it.name }}
+              </ion-select-option>
+            </ion-select>-->
+          </ion-item>
+          <ion-label class="title-item">政治面貌</ion-label>
+          <ion-item>
+            <ion-select name="politicsStatusID"  id="politicsStatusID" okText="确定" cancelText="取消" v-model="baseData.politicsStatusID"
+                        interface="action-sheet" placeholder="请选择政治面貌" style="width:100%;text-align:left;" >
+              <ion-select-option v-for=" (it,key) in politicsStatusList" :key="key" :value="it.value">
+                {{ it.name }}
+              </ion-select-option>
+            </ion-select>
+          </ion-item>
+          <ion-label class="title-item">出生地</ion-label>
+          <ion-item>
+            <ion-input name="birthPlace" id="birthPlace"  style="text-align: left;" class="custom"
+                       v-model="baseData.birthPlace" placeholder="请输入出生地" ></ion-input>
+          </ion-item>
+          <ion-label class="title-item">出生日期</ion-label>
+          <ion-item>
+            <ion-datetime-button datetime="birthDay" style="background-color: white;"></ion-datetime-button>
+            <ion-modal :keep-contents-mounted="true">
+              <ion-datetime name="birthDay" id="birthDay" placeholder="日期"
+                            v-model="baseData.birthDay"  :prefer-wheel="true"
+                            dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
+                            :show-default-buttons="true">
+              </ion-datetime>
+            </ion-modal>
+          </ion-item>
+          <ion-label class="title-item">户口性质</ion-label>
+          <ion-item>
+            <ion-select name="familyNatureID"  id="familyNatureID" okText="确定" cancelText="取消" v-model="baseData.familyNatureID"
+                        interface="action-sheet" placeholder="请选择户口性质" style="width:100%;text-align:left;">
+              <ion-select-option v-for=" (it,key) in familyNatureList" :key="key" :value="it.value">
+                {{ it.name }}
+              </ion-select-option>
+            </ion-select>
+          </ion-item>
+          <ion-label class="title-item">文化程度</ion-label>
           <ion-item>
-            <ion-label>文化程度</ion-label>
             <ion-select name="cultureRank"  id="cultureRank" okText="确定" cancelText="取消" v-model="baseData.cultureRank"
-                        interface="action-sheet" placeholder="请选择文化程度" >
+                        interface="action-sheet" placeholder="请选择文化程度" style="width:100%;text-align:left;">
               <ion-select-option v-for=" (it,key) in cultureRankList" :key="key" :value="it.value">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">健康状况</ion-label>
           <ion-item>
-            <ion-label>健康状况</ion-label>
             <ion-select name="healthID"  id="healthID" okText="确定" cancelText="取消" v-model="baseData.healthID"
-                        interface="action-sheet" placeholder="请选择健康状况" >
+                        interface="action-sheet" placeholder="请选择健康状况" style="width:100%;text-align:left;">
               <ion-select-option v-for=" (it,key) in userHealthList" :key="key" :value="it.value">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">血型</ion-label>
           <ion-item>
-            <ion-label>血型</ion-label>
             <ion-select name="bloodTypeID"  id="bloodTypeID" okText="确定" cancelText="取消" v-model="baseData.bloodTypeID"
-                        interface="action-sheet" placeholder="请选择血型" >
+                        interface="action-sheet" placeholder="请选择血型" style="width:100%;text-align:left;">
               <ion-select-option v-for=" (it,key) in bloodTypeList" :key="key" :value="it.value">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">身高</ion-label>
           <ion-item>
-            <ion-label>身高</ion-label>
-            <ion-input name="height" id="height"  style="text-align: right;"  placeholder="请输入身高" v-model="baseData.height" ></ion-input>
+            <ion-input name="height" id="height"  style="text-align: left;"  class="custom"
+                       placeholder="请输入身高" v-model="baseData.height" ></ion-input>
           </ion-item>
+          <ion-label class="title-item">视力</ion-label>
           <ion-item>
-            <ion-label>视力</ion-label>
-            <ion-input name="vision" id="vision"  style="text-align: right;"  placeholder="请输入视力" v-model="baseData.vision" ></ion-input>
+            <ion-input name="vision" id="vision"  style="text-align: left;" class="custom"
+                       placeholder="请输入视力" v-model="baseData.vision" ></ion-input>
           </ion-item>
+          <ion-label class="title-item">体重</ion-label>
           <ion-item>
-            <ion-label>体重</ion-label>
-            <ion-input name="weight" id="weight"  style="text-align: right;"  placeholder="请输入体重" v-model="baseData.weight" ></ion-input>
+            <ion-input name="weight" id="weight"  style="text-align: left;" class="custom"
+                       placeholder="请输入体重" v-model="baseData.weight" ></ion-input>
           </ion-item>
+          <ion-label class="title-item">婚姻状况</ion-label>
           <ion-item>
-            <ion-label>婚姻状况</ion-label>
             <ion-select name="maritalStatusID"  id="maritalStatusID" okText="确定" cancelText="取消" v-model="baseData.maritalStatusID"
-                        interface="action-sheet" placeholder="请选择婚姻状况" >
+                        interface="action-sheet" placeholder="请选择婚姻状况" style="width:100%;text-align:left;">
               <ion-select-option v-for=" (it,key) in maritalStatusList" :key="key" :value="it.value">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">省份</ion-label>
           <ion-item>
-            <ion-label>省份</ion-label>
             <ion-select name="provinceCode"  id="provinceCode" okText="确定" cancelText="取消" v-model="baseData.provinceCode"
-                        interface="action-sheet" placeholder="请选择省份" @change="provinceChange()" >
+                        interface="action-sheet" placeholder="请选择省份" style="width:100%;text-align:left;" @change="provinceChange()" >
               <ion-select-option v-for=" (it,key) in provinceList" :key="key" :value="it.code">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">市/县</ion-label>
           <ion-item>
-            <ion-label>市/县</ion-label>
             <ion-select name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"
-                        interface="action-sheet" placeholder="请选择市/县"  @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>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">镇/街</ion-label>
           <ion-item>
-            <ion-label>镇/街</ion-label>
             <ion-select name="streetCode"  id="streetCode" okText="确定" cancelText="取消" v-model="baseData.streetCode"
-                        interface="action-sheet" placeholder="请选择镇/街" >
+                        interface="action-sheet" placeholder="请选择镇/街" style="width:100%;text-align:left;">
               <ion-select-option v-for=" (it,key) in streetList" :key="key" :value="it.code">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
           </ion-item>
+          <ion-label class="title-item">联系人</ion-label>
           <ion-item>
-            <ion-label>联系人</ion-label>
-            <ion-input name="userName" id="userName"  style="text-align: right;"  placeholder="请输入联系人姓名" v-model="baseData.userName" ></ion-input>
+            <ion-input name="userName" id="userName"  style="text-align: left;" class="custom"
+                       placeholder="请输入联系人姓名" v-model="baseData.userName" ></ion-input>
           </ion-item>
+          <ion-label class="title-item">电子邮箱</ion-label>
           <ion-item>
-            <ion-label>家庭住址</ion-label>
-            <ion-input name="familyAddress" id="familyAddress"  style="text-align: right;"   placeholder="请输入家庭住址" v-model="baseData.familyAddress" ></ion-input>
+            <ion-input name="email" id="email"  style="text-align: left;" class="custom"
+                       placeholder="请输入电子邮箱" v-model="baseData.email" ></ion-input>
           </ion-item>
+          <ion-label class="title-item">家庭住址</ion-label>
           <ion-item>
-            <ion-label>电子邮箱</ion-label>
-            <ion-input name="email" id="email"  style="text-align: right;"  placeholder="请输入电子邮箱" v-model="baseData.email" ></ion-input>
+            <ion-textarea name="familyAddress" id="familyAddress"  style="text-align: left;" class="custom" rows="4"
+                          placeholder="请输入家庭住址" v-model="baseData.familyAddress" ></ion-textarea>
           </ion-item>
+          <ion-label class="title-item">兴趣爱好</ion-label>
           <ion-item>
-            <ion-label>兴趣爱好</ion-label>
-            <ion-input name="hobby" id="hobby"  style="text-align: right;"  placeholder="请输入兴趣爱好" v-model="baseData.hobby" ></ion-input>
+            <ion-textarea name="hobby" id="hobby"  style="text-align: left;" class="custom" rows="4"
+                          placeholder="请输入兴趣爱好" v-model="baseData.hobby" ></ion-textarea>
           </ion-item>
         </ion-item-group>
       </ion-list>
       <ion-list  v-if="curStepData.statusVal==2" >
         <ion-item>
-          <ion-item class="panel-title2"  slot="start">
-            <div class="item-flag"></div>
-            教育经历
-          </ion-item>
+          <div class="panel-title2"  slot="start">
+          <div class="item-flag"></div>
+          教育经历
+          </div>
           <ion-buttons slot="end">
             <ion-icon :icon="addCircleOutline"  class="iconBtn"
                       @click="onPathForward('./educationEdit',null,null,2)"></ion-icon>
@@ -285,9 +335,9 @@ export default defineComponent({
       statusVal: 1
     });
     const stepList = ref([
-        {title: '基础信息', desc: '个人基础信息', val: 1},
-        {title: '教育经历', desc: '完善个人教育经历',val: 2},
-        {title: '求职意向', desc: '个人求职意向', val: 3}
+        {title: '个人基础信息', desc: '个人基础信息', val: 1},
+        {title: '完善教育经历', desc: '完善个人教育经历',val: 2},
+        {title: '个人求职意向', desc: '个人求职意向', val: 3}
     ]);
     const genderList = ref<SelectProps[]>([]);
     const jobUserStatusList = ref<SelectProps[]>([]);
@@ -297,6 +347,9 @@ export default defineComponent({
     const bloodTypeList  = ref<SelectProps[]>([]);
     const maritalStatusList  = ref<SelectProps[]>([]);
     const provinceList  = ref([{code:'440000000000000',name:'广东省'}]);
+    /*const nationList  = ref([{code:'001',name:'汉族'}]);*/
+    const familyNatureList = ref([]);
+    const politicsStatusList = ref([]);
     const regionList  = ref<SelectProps[]>([]);
     const streetList  = ref<SelectProps[]>([]);
     const educationList = ref([]);
@@ -311,6 +364,11 @@ export default defineComponent({
         address: null,
         jobStatusID: null,
         keyPersonTypeID: null,
+        nation:null,
+        politicsStatusID:null,
+        birthPlace:null,
+        birthDay:null,
+        familyNatureID:null,
         cultureRank:null,
         healthID:null,
         boolTypeID:null,
@@ -425,6 +483,10 @@ export default defineComponent({
       bloodTypeList.value = bloodTypeResult;
       const maritalStatusResult :any = await getSysDictionaryList("MaritalStatus");
       maritalStatusList.value = maritalStatusResult;
+      const politicsStatusResult :any = await getSysDictionaryList("PoliticsStatus");
+      politicsStatusList.value = politicsStatusResult;
+      const familyNatureResult :any = await getSysDictionaryList("FamilyNature");
+      familyNatureList.value = familyNatureResult;
     }
 
     const getSiteInfoList = async function(){
@@ -509,6 +571,9 @@ export default defineComponent({
       baseDataValid,
       siteInfoList,
       genderList,
+      /*nationList,*/
+      familyNatureList,
+      politicsStatusList,
       pageParams,
       jobUserStatusList,
       keyPersonTypeList,
@@ -550,6 +615,18 @@ export default defineComponent({
 });
 </script>
 <style lang="less">
+.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:italic;
+  --placeholder-opacity: 1;
+}
+
+.title-item{
+  margin-left: 15px;
+  color:#3a7be0;
+  font-size: 20px;
+}
+
 .next-btn {
   width: 80px;
   border-radius: 5px;

+ 29 - 16
h5app/src/views/pages/jobuser/educationEdit.vue

@@ -17,7 +17,7 @@
                :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-desc">{{ record.desc }}</p>-->
           </div>
         </div>
       </div>
@@ -30,41 +30,43 @@
                 教育经历
               </div>
             </ion-item>
+            <ion-label class="title-item">毕业院校/培训机构<span class="danger">*</span></ion-label>
             <ion-item :class="[educationValid.dataModel.schoolName.$error?'ion-invalid':'ion-valid']">
-              <ion-label>毕业院校/培训机构<span class="danger">*</span></ion-label>
-              <ion-input name="schoolName" id="schoolName" style="text-align: right;" placeholder="请输入毕业院校/培训机构" v-model="dataModel.schoolName" ></ion-input>
+              <ion-input name="schoolName" id="schoolName" style="text-align: left;" class="custom"
+                         placeholder="请输入毕业院校/培训机构" v-model="dataModel.schoolName" ></ion-input>
               <ion-note slot="error">毕业院校/培训机构不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">最高学历<span class="danger">*</span></ion-label>
             <ion-item :class="[educationValid.dataModel.cultureRank.$error?'ion-invalid':'ion-valid']">
-              <ion-label>最高学历<span class="danger">*</span></ion-label>
               <ion-select name="cultureRank"  id="cultureRank" okText="确定" cancelText="取消" v-model="dataModel.cultureRank"
-                          interface="action-sheet" placeholder="请选择最高学历" >
+                          interface="action-sheet" placeholder="请选择最高学历" style="width:100%;text-align:left;">
                 <ion-select-option v-for=" (it,key) in cultureRankList" :key="key" :value="it.value">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
               <ion-note slot="error">最高学历不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">专业<span class="danger">*</span></ion-label>
             <ion-item :class="[educationValid.dataModel.major.$error?'ion-invalid':'ion-valid']">
-              <ion-label>专业<span class="danger">*</span></ion-label>
-              <ion-input name="major" id="major" style="text-align: right;" placeholder="请输入专业" v-model="dataModel.major" ></ion-input>
+              <ion-input name="major" id="major" style="text-align: left;" class="custom"
+                         placeholder="请输入专业" v-model="dataModel.major" ></ion-input>
               <ion-note slot="error">专业不能为空</ion-note>
             </ion-item>
-            <!--:class="[educationValid.dataModel.schoolTime.$error||educationValid.dataModel.overTime.$error?'ion-invalid':'ion-valid']"-->
+            <ion-label class="title-item">起止日期<span class="danger">*</span></ion-label>
             <ion-item mode="md">
-              <ion-label>日期<span class="danger">*</span></ion-label>
               <ion-datetime-button datetime="schoolTime"></ion-datetime-button>
               <ion-modal :keep-contents-mounted="true">
                 <ion-datetime id="schoolTime" placeholder="日期"
-                              v-model="dataModel.schoolTime"
+                              v-model="dataModel.schoolTime" :prefer-wheel="true"
                               dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
                               :show-default-buttons="true">
                 </ion-datetime>
-              </ion-modal>-
+              </ion-modal>
+              至
               <ion-datetime-button datetime="overTime"></ion-datetime-button>
               <ion-modal :keep-contents-mounted="true">
                 <ion-datetime id="overTime" placeholder="日期"
-                              v-model="dataModel.overTime"
+                              v-model="dataModel.overTime" :prefer-wheel="true"
                               dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
                               :show-default-buttons="true">
                 </ion-datetime>
@@ -73,7 +75,6 @@
             </ion-item>
           </ion-item-group>
         </ion-list>
-
       </form>
     </ion-content>
     <ion-footer>
@@ -123,9 +124,9 @@ export default defineComponent({
       statusVal: 2
     });
     const stepList = ref([
-        {title: '基础信息', desc: '个人基础信息', val: 1},
-        {title: '教育经历', desc: '完事个人教育经历',val: 2},
-        {title: '求职意向', desc: '个人求职意向', val: 3}]);
+      {title: '个人基础信息', desc: '个人基础信息', val: 1},
+      {title: '完善教育经历', desc: '完善个人教育经历',val: 2},
+      {title: '个人求职意向', desc: '个人求职意向', val: 3}]);
     const cultureRankList = ref<SelectProps[]>([]);
     const educationData = reactive<educationModel>({
       dataModel:{
@@ -224,6 +225,18 @@ export default defineComponent({
 </script>
 <style lang="less">
 
+ion-input.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:oblique;
+  --placeholder-opacity: 1;
+}
+
+.title-item{
+  margin-left: 15px;
+  color:#3a7be0;
+  font-size: 20px;
+}
+
 .stepFlex {
   margin: 0;
   display: flex;

+ 48 - 24
h5app/src/views/pages/jobuser/jobHuntEdit.vue

@@ -17,7 +17,7 @@
                :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-desc">{{ record.desc }}</p>-->
           </div>
         </div>
       </div>
@@ -29,58 +29,65 @@
                 求职意向
               </div>
             </ion-item>
+            <ion-label class="title-item">工种名称<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.workName.$error?'ion-invalid':'ion-valid']">
-              <ion-label>工种名称<span class="danger">*</span></ion-label>
-              <ion-input name="workName" id="workName"  style="text-align: right;" placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
+              <ion-input name="workName" id="workName"  style="text-align: left;" class="custom"
+                         placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
               <ion-note slot="error">工种名称不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">求职类型<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.jobHuntType.$error?'ion-invalid':'ion-valid']">
-              <ion-label>求职类型<span class="danger">*</span></ion-label>
               <ion-select name="jobHuntType"  id="jobHuntType" okText="确定" cancelText="取消" v-model="dataModel.jobHuntType"
-                          interface="action-sheet" placeholder="请选择求职类型" >
+                          interface="action-sheet" placeholder="请选择求职类型" style="width:100%;text-align: left;">
                 <ion-select-option v-for=" (it,key) in jobHuntTypeList" :key="key" :value="it.value">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
               <ion-note slot="error">求职类型不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">求职岗位<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.postID.$error?'ion-invalid':'ion-valid']">
-              <ion-label>求职岗位<span class="danger">*</span></ion-label>
               <ion-select name="postID"  id="postID" okText="确定" cancelText="取消" v-model="dataModel.postID"
-                          interface="action-sheet" placeholder="请选择求职岗位" >
+                          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-item>
+            <ion-label class="title-item">人才类型<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.jobUserType.$error?'ion-invalid':'ion-valid']">
-              <ion-label>人才类型<span class="danger">*</span></ion-label>
               <ion-select name="jobUserType"  id="jobUserType" okText="确定" cancelText="取消" v-model="dataModel.jobUserType"
-                          interface="action-sheet" placeholder="请选择人才类型" >
+                          interface="action-sheet" placeholder="请选择人才类型"  style="width:100%;text-align: left;">
                 <ion-select-option v-for=" (it,key) in jobUserTypeList" :key="key" :value="it.value">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
               <ion-note slot="error">人才类型不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">月薪要求(元)<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.maxSalary.$error||huntDataValid.dataModel.minSalary.$error?'ion-invalid':'ion-valid']">
-              <ion-label>月薪要求<span class="danger">*</span></ion-label>
-              <ion-input inputmode="numeric" name="minSalary" id="minSalary" style="text-align: center;" placeholder="输入最低薪资" v-model="dataModel.minSalary" ></ion-input>
-              至
-              <ion-input inputmode="numeric" name="maxSalary" id="maxSalary" style="text-align: center;" placeholder="输入最高薪资" v-model="dataModel.maxSalary" ></ion-input>
+              <ion-input inputmode="numeric" name="minSalary" id="minSalary" style="text-align: left;" class="custom"
+                         placeholder="请输入最低薪资" v-model="dataModel.minSalary" ></ion-input>
+              <span style="padding-left:20px;padding-right:20px;">至</span>
+              <ion-input inputmode="numeric" name="maxSalary" id="maxSalary" style="text-align: left;" class="custom"
+                         placeholder="请输入最高薪资" v-model="dataModel.maxSalary" ></ion-input>
               <ion-note slot="error">月薪要求不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">工作年限<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.workYear.$error?'ion-invalid':'ion-valid']">
-              <ion-label>工作年限<span class="danger">*</span></ion-label>
-              <ion-input inputmode="numeric" name="workYear" id="workYear" style="text-align: right;" placeholder="请输入工作年限" v-model="dataModel.workYear" ></ion-input>
-<!--           <ion-range name="workYear" id="workYear" aria-label="Range with pin"  pin="true" pin-formatter="pinFormatter" v-model="dataModel.workYear"
-                         min=0 max=60 style="display: inline-block; width: 320px;"></ion-range>-->
+              <ion-select name="workYear"  id="workYear" okText="确定" cancelText="取消" v-model="dataModel.workYear"
+                          interface="action-sheet" placeholder="请选择工作年限"  style="width:100%;text-align: left;">
+                <ion-select-option v-for=" (it,key) in workYearTypeList" :key="key" :value="it.value">
+                  {{ it.name }}
+                </ion-select-option>
+              </ion-select>
               <ion-note slot="error">工作年限不能为空</ion-note>
             </ion-item>
+            <ion-label class="title-item">期望工作地区<span class="danger">*</span></ion-label>
             <ion-item :class="[huntDataValid.dataModel.areaWork.$error?'ion-invalid':'ion-valid']">
-              <ion-label>期望工作地区<span class="danger">*</span></ion-label>
-              <ion-input name="areaWork" id="areaWork" style="text-align: right;" placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
+              <ion-input name="areaWork" id="areaWork" style="text-align: left;" class="custom"
+                         placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
               <ion-note slot="error">期望工作地区不能为空</ion-note>
             </ion-item>
           </ion-item-group>
@@ -140,13 +147,13 @@ export default defineComponent({
       statusVal: 2
     });
     const stepList = ref([
-      {title: '基础信息', desc: '个人基础信息', val: 1},
-      {title: '教育经历', desc: '完事个人教育经历',val: 2},
-      {title: '求职意向', desc: '个人求职意向', val: 3}]);
+      {title: '个人基础信息', desc: '个人基础信息', val: 1},
+      {title: '完善教育经历', desc: '完善个人教育经历',val: 2},
+      {title: '个人求职意向', desc: '个人求职意向', val: 3}]);
     const allPostList = ref([]);
     const jobHuntTypeList = ref<SelectProps[]>([]);
-    const jobUserTypeList =ref<SelectProps[]>([]);
-
+    const jobUserTypeList = ref<SelectProps[]>([]);
+    const workYearTypeList = ref<SelectProps[]>([]);
     const jobHuntData = reactive<huntModel>({dataModel:{
         jobUserID:null,
         workName:null,
@@ -200,6 +207,10 @@ export default defineComponent({
       const data :any = await getSysDictionaryList("JobUserType");
       jobUserTypeList.value = data;
     }
+    const getWorkYearTypeList = async function(){
+      const data :any = await getSysDictionaryList("WorkYearType");
+      workYearTypeList.value = data;
+    }
 
     const onSave = async function (){
       const isFormCorrect = await huntDataValid.value.$validate();
@@ -224,6 +235,7 @@ export default defineComponent({
       await getAllPostList();
       await getJobHuntTypeList();
       await getJobUserTypeList();
+      await getWorkYearTypeList();
       const reqData = await getJobHuntByID(jobHuntID);
       curStepData.value.statusVal = status;
       jobHuntData.dataModel = reqData;
@@ -253,6 +265,7 @@ export default defineComponent({
       allPostList,
       jobUserTypeList,
       jobHuntTypeList,
+      workYearTypeList,
       setOpen,
       onSave,
       onCancel,
@@ -266,6 +279,17 @@ export default defineComponent({
 });
 </script>
 <style lang="less">
+ion-input.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:oblique;
+  --placeholder-opacity: 1;
+}
+
+.title-item{
+  margin-left: 15px;
+  color:#3a7be0;
+  font-size: 20px;
+}
 
 .stepFlex {
   margin: 0;

+ 9 - 2
h5app/src/views/pages/jobuser/list.vue

@@ -13,7 +13,8 @@
     </ion-header>
     <ion-content>
       <ion-item  class="search-item">
-        <ion-input  placeholder="请输入求职人员姓名" v-model="searchParamsState.name" style="border: 1px solid #f2f2f5;border-radius: 14px;--padding-start: 10px;height: 35px;"></ion-input>
+        <ion-input  placeholder="请输入求职人员姓名" class="custom"
+                    v-model="searchParamsState.name" 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" >
@@ -79,7 +80,7 @@ export default defineComponent({
       setTimeout(() => {
         e.target.complete();
         if (searchParamsState.total > searchParamsState.pageIndex * searchParamsState.pageSize) {
-          searchParamsState.pageSize += 10;
+          searchParamsState.pageIndex += 1;
           loadData();
         }
       }, 500);
@@ -122,6 +123,12 @@ export default defineComponent({
 </script>
 
 <style lang="less">
+ion-input.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:oblique;
+  --placeholder-opacity: 1;
+}
+
 .search-item{
   margin: 10px 0;
   font-size: 14px;

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

@@ -10,7 +10,8 @@
     </ion-header>
     <ion-content>
       <ion-item style="margin: 10px 0;">
-        <ion-input  placeholder="请输入求职人员姓名" v-model="searchParamsState.name" style="border: 1px solid #f2f2f5;border-radius: 14px;--padding-start: 10px;height: 35px;"></ion-input>
+        <ion-input  placeholder="请输入求职人员姓名" v-model="searchParamsState.name" class="custom"
+                    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" >
@@ -97,6 +98,13 @@ export default defineComponent({
 </script>
 
 <style lang="less">
+
+.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:italic;
+  --placeholder-opacity: 1;
+}
+
 .post-recommend-page {
   .list-content {
     margin: 0px 15px !important;

+ 20 - 6
h5app/src/views/pages/work/log/edit.vue

@@ -17,8 +17,8 @@
           </div>
         </ion-item>
         <ion-list>
+          <ion-label class="title-item">工作日志日期<span class="danger">*</span></ion-label>
           <ion-item  mode="md"  :class="[workLogValid.dataModel.workTime.$error?'ion-invalid':'ion-valid']">
-            <ion-label>工作日志日期<span class="danger">*</span></ion-label>
             <ion-datetime-button datetime="workTime"></ion-datetime-button>
             <ion-modal :keep-contents-mounted="true">
               <ion-datetime id="workTime" placeholder="日期"
@@ -29,20 +29,21 @@
             </ion-modal>
             <ion-note slot="error">工作日志日期不能为空</ion-note>
           </ion-item>
+          <ion-label class="title-item">日志类型<span class="danger">*</span></ion-label>
           <ion-item  mode="md" :class="[workLogValid.dataModel.doTypeID.$error?'ion-invalid':'ion-valid']" style="margin-bottom: 10px;">
-            <ion-label>日志类型<span class="danger">*</span></ion-label>
             <ion-select name="doTypeID"  id="doTypeID" okText="确定" cancelText="取消" v-model="dataModel.doTypeID"
-                        interface="action-sheet" placeholder="请选择日志类型" >
+                        interface="action-sheet" placeholder="请选择日志类型" style="width:100%;text-align: left;">
               <ion-select-option v-for=" (it,key) in logTypeList" :key="key" :value="it.value">
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
             <ion-note slot="error">日志类型不能为空</ion-note>
           </ion-item>
-          <ion-label style="padding-left:16px;padding-top:10px;">工作内容<span class="danger">*</span></ion-label>
+          <ion-label class="title-item">工作内容<span class="danger">*</span></ion-label>
           <ion-item  mode="md"  :class="[workLogValid.dataModel.workContent.$error?'ion-invalid':'ion-valid']">
-              <ion-textarea name="workContent" id="workContent" v-model="dataModel.workContent"  label-placement="stacked"
-                            style="text-align: right;" placeholder="请输入工作内容" rows="8"></ion-textarea>
+              <ion-textarea name="workContent" id="workContent" class="custom"
+                            v-model="dataModel.workContent"  label-placement="stacked"
+                            style="text-align: left;" placeholder="请输入工作内容" rows="8"></ion-textarea>
             <ion-note slot="error">工作内容不能为空</ion-note>
           </ion-item>
         </ion-list>
@@ -162,6 +163,19 @@ export default defineComponent({
 </script>
 
 <style lang="less">
+
+.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:italic;
+  --placeholder-opacity: 1;
+}
+
+.title-item{
+  margin-left: 15px;
+  color:#3a7be0;
+  font-size: 20px;
+}
+
 .work-log-page {
   .save-btn {
     width: 100%;

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

@@ -61,6 +61,7 @@ import {arrowBackOutline, ellipse, addCircleOutline} from 'ionicons/icons';
 import {IonIcon, onIonViewDidEnter} from '@ionic/vue';
 import {getWorkLogList} from '@/api/workLog';
 import BEmpty from "@/components/empty.vue";
+import dayjs from "dayjs";
 
 export default defineComponent({
   name: 'WorkLogList',
@@ -70,8 +71,8 @@ export default defineComponent({
       pageIndex: 1,
       pageSize: 10,
       total:0,
-      workStartDate:'2023-12-01',
-      workEndDate:'2023-12-31'
+      workStartDate: new Date(new Date().getFullYear(),new Date().getMonth(),2,new Date().getHours()-16,0,0),
+      workEndDate: new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1,new Date().getHours()-16,0,0)
     })
     const loading = ref(true);
     const dataList = ref<any>([]);
@@ -80,6 +81,8 @@ export default defineComponent({
 
     const loadData = async function () {
       loading.value = true;
+      console.log(searchParamsState.workStartDate);
+      console.log(searchParamsState.workEndDate);
       const result: any = await getWorkLogList(searchParamsState);
       dataList.value = dataList.value.concat(result.list);
       console.log("dataList",dataList.value);

+ 24 - 10
h5app/src/views/pages/work/task/edit.vue

@@ -17,13 +17,14 @@
           </div>
         </ion-item>
         <ion-list>
+          <ion-label class="title-item">任务名称<span class="danger">*</span></ion-label>
           <ion-item :class="[workTaskValid.dataModel.doTaskName.$error?'ion-invalid':'ion-valid']"  style="margin-bottom: 10px;">
-            <ion-label>任务名称<span class="danger">*</span></ion-label>
-            <ion-input name="doTaskName" id="doTaskName" style="text-align: right;" placeholder="请输入任务名称" v-model="dataModel.doTaskName" ></ion-input>
+            <ion-input name="doTaskName" id="doTaskName" style="text-align: left;" class="custom"
+                       placeholder="请输入任务名称" v-model="dataModel.doTaskName" ></ion-input>
             <ion-note slot="error">任务名称不能为空</ion-note>
           </ion-item>
+          <ion-label class="title-item">指派人<span class="danger">*</span></ion-label>
           <ion-item-group style="overflow: hidden;"  >
-            <ion-label style="padding-left:16px;">指派人<span class="danger">*</span></ion-label>
             <ion-item style="width:50%;text-align: center;float:left;" v-for="(it,key) in allTaskUserList" :key="key">
               <ion-checkbox justify="start" labelPlacement="end"  style="margin-right:10px;" name="taskUserItem"
                             :value="it.siteUserID"  :checked="it.checked" @ionChange="selectTaskUser(it)">
@@ -31,32 +32,32 @@
               </ion-checkbox>
             </ion-item>
           </ion-item-group>
+          <ion-label class="title-item">完成时间<span class="danger">*</span></ion-label>
           <ion-item :class="[workTaskValid.dataModel.finishTime.$error?'ion-invalid':'ion-valid']">
-            <ion-label>完成时间<span class="danger">*</span></ion-label>
             <ion-datetime-button datetime="finishTime"></ion-datetime-button>
             <ion-modal :keep-contents-mounted="true">
               <ion-datetime id="finishTime" placeholder="完成时间"
-                            v-model="dataModel.finishTime"
+                            v-model="dataModel.finishTime" :prefer-wheel="true"
                             dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
                             :show-default-buttons="true">
               </ion-datetime>
             </ion-modal>
             <ion-note slot="error">完成时间不能为空</ion-note>
           </ion-item>
+          <ion-label class="title-item">任务类型<span class="danger">*</span></ion-label>
           <ion-item :class="[workTaskValid.dataModel.workTypeID.$error?'ion-invalid':'ion-valid']"  style="margin-bottom: 10px;">
-            <ion-label>任务类型<span class="danger">*</span></ion-label>
-            <ion-select name="workTypeID"  id="workTypeID" okText="确定" cancelText="取消" v-model="dataModel.workTypeID"
-                        interface="action-sheet" placeholder="请选择日志类型" >
+            <ion-select name="workTypeID"  id="workTypeID" okText="确定" cancelText="取消"  v-model="dataModel.workTypeID"
+                        interface="action-sheet" placeholder="请选择任务类型" style="width:100%;text-align: left;"  >
               <ion-select-option v-for=" (it,key) in taskTypeList" :key="key" :value="it.value" >
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
             <ion-note slot="error">任务类型不能为空</ion-note>
           </ion-item>
-          <ion-label style="padding-left:16px;">任务内容<span class="danger">*</span></ion-label>
+          <ion-label class="title-item">任务内容<span class="danger">*</span></ion-label>
           <ion-item  :class="[workTaskValid.dataModel.content.$error?'ion-invalid':'ion-valid']">
             <ion-textarea name="content" id="content" v-model="dataModel.content"  label-placement="stacked"
-                          placeholder="请输入工作内容" rows="8"></ion-textarea>
+                          placeholder="请输入工作内容" rows="8"  class="custom"></ion-textarea>
             <ion-note slot="error">任务内容不能为空</ion-note>
           </ion-item>
         </ion-list>
@@ -256,6 +257,19 @@ export default defineComponent({
 </script>
 
 <style lang="less">
+
+.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:italic;
+  --placeholder-opacity: 1;
+}
+
+.title-item{
+  margin-left: 15px;
+  color:#3a7be0;
+  font-size: 20px;
+}
+
 .work-log-page {
   .save-btn {
     width: 100%;

+ 8 - 1
h5app/src/views/pages/work/task/list.vue

@@ -13,7 +13,8 @@
     </ion-header>
     <ion-content>
       <ion-item style="margin: 10px 0;">
-        <ion-input style="border: 1px solid #f2f2f5;height: 33px;width: 70px;margin-left: 10px;border-radius: 14px;--padding-start: 10px;"></ion-input>
+        <ion-input placeholder="请输入任务名称"  class="custom"
+                   style="border: 1px solid #f2f2f5;height: 33px;width: 70px;margin-left: 10px;border-radius: 14px;--padding-start: 10px;"></ion-input>
         <ion-button slot="end" style="height: 33px;width: 70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;">搜索</ion-button>
       </ion-item>
       <ion-list class="list-content" >
@@ -125,6 +126,12 @@ export default defineComponent({
 </script>
 
 <style lang="less">
+.custom{
+  --placeholder-color: gray;
+  --placeholder-font-style:italic;
+  --placeholder-opacity: 1;
+}
+
 .list-content {
   margin: 0px 15px !important;
   background-color: white !important;

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

@@ -13,7 +13,7 @@
         <ion-item>
           <div class="panel-title2">
             <div class="item-flag"></div>
-            {{dayjs(dataModel.finishTime).format("YYYY年MM月DD日")}}工作任务,完成内容如下:
+            {{dataModel.doTaskName}}
           </div>
         </ion-item>
         <ion-list>

+ 2 - 2
h5app/src/views/sapp/tabMain.vue

@@ -8,7 +8,7 @@
             我的应用
           </div>
           <div class="tool-box">
-            <a class="tool-item box-line"  @click="router.push('/tabs/tabMain/jobuser/list')">
+            <a class="tool-item box-line"  @click="router.push('/tabs/tabMain/jobhunt/list')">
               <div class="tool-img">
                 <img src="@/assets/icon/qzxx.png">
               </div>
@@ -51,7 +51,7 @@
           <ion-list class="list-content" >
             <ion-item style="font-size: 12px;" v-for="(record,key) in dataList" :key="key" detail  @click="onDetail(record.doTaskID)">
               <ion-label>
-                ▎{{record.content}}
+                ▎{{record.doTaskName}}
               </ion-label>
               <ion-label slot="end">
                 {{dayjs(record.finishTime).format("YYYY-MM-DD")}}

+ 3 - 0
src/main/java/META-INF/MANIFEST.MF

@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: com.hz.employmentsite.EmploymentSiteApplication
+

+ 1 - 1
src/main/java/com/hz/employmentsite/controller/taskAndLog/DoTaskController.java

@@ -45,7 +45,7 @@ public class DoTaskController {
     @ResponseBody
     @GetMapping("/getMyWorkTasks")
     public BaseResponse getMyTasks(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize) {
-        PageInfo<DoTaskVo> result = doTaskService.getMyTasks(pageIndex,pageSize,"7966709d-a48c-11ee-a890-7085c2a9999e");
+        PageInfo<DoTaskVo> result = doTaskService.getMyTasks(pageIndex,pageSize,accountService.getLoginUserID());
         return RespGenerstor.success(result);
     }
 

+ 31 - 19
src/main/java/com/hz/employmentsite/services/impl/taskAndLog/DoTaskImpl.java

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.mapper.PcDotaskMapper;
 import com.hz.employmentsite.mapper.PcDotaskUserMapper;
+import com.hz.employmentsite.mapper.PcSiteUserMapper;
 import com.hz.employmentsite.mapper.cquery.DoTaskCQuery;
 import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.taskAndLog.DoTaskService;
@@ -31,6 +32,9 @@ public class DoTaskImpl implements DoTaskService {
     @Autowired
     private PcDotaskMapper doTaskMapper;
 
+    @Autowired
+    private PcSiteUserMapper pcSiteUserMapper;
+
     @Autowired
     private PcDotaskUserMapper doTaskUserMapper;
 
@@ -48,26 +52,34 @@ public class DoTaskImpl implements DoTaskService {
 
     @Override
     public PageInfo<DoTaskVo> getMyTasks(Integer page, Integer rows, String curUserID) {
-        PcDotaskUserExample exp = new PcDotaskUserExample();
-        PcDotaskUserExample.Criteria cro = exp.createCriteria();
-        cro.andSiteUserIDEqualTo(curUserID);
-        var curDoTaskUserInfo = doTaskUserMapper.selectByExample(exp).stream().toList();
-        List<String> curDoTaskIDs = new ArrayList<String>();
-        if (curDoTaskUserInfo.size()>0){
-            curDoTaskUserInfo.forEach(item -> {
-                curDoTaskIDs.add(item.getDotaskID());
-            });
-        };
-        try {
-            if(curDoTaskIDs.size()>0){
-                PageHelper.startPage(page,rows);
-                List<DoTaskVo> list = doTaskCQuery.getList(stringUtils.ListToInSql(curDoTaskIDs),null,null,null,null,null,null,null,null);
-                PageInfo<DoTaskVo> result = new PageInfo(list);
-                return result;
+        PcSiteUserExample siteUserExp = new PcSiteUserExample();
+        PcSiteUserExample.Criteria siteUserCro = siteUserExp.createCriteria();
+        siteUserCro.andUserIDEqualTo(curUserID);
+        var curSiteUserInfo = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
+        if(curSiteUserInfo==null){
+            throw new RuntimeException("当前用户未绑定站点人员,未能查询到相关工作任务!");
+        }else{
+            PcDotaskUserExample exp = new PcDotaskUserExample();
+            PcDotaskUserExample.Criteria cro = exp.createCriteria();
+            cro.andSiteUserIDEqualTo(curSiteUserInfo.getSiteUserID());
+            var curDoTaskUserInfo = doTaskUserMapper.selectByExample(exp).stream().toList();
+            List<String> curDoTaskIDs = new ArrayList<String>();
+            if (curDoTaskUserInfo.size()>0){
+                curDoTaskUserInfo.forEach(item -> {
+                    curDoTaskIDs.add(item.getDotaskID());
+                });
+            };
+            try {
+                if(curDoTaskIDs.size()>0){
+                    PageHelper.startPage(page,rows);
+                    List<DoTaskVo> list = doTaskCQuery.getList(stringUtils.ListToInSql(curDoTaskIDs),null,null,null,null,null,null,null,null);
+                    PageInfo<DoTaskVo> result = new PageInfo(list);
+                    return result;
+                }
+                return null;
+            } catch (Exception e) {
+                throw new RuntimeException("Database query exception: " + e.getMessage(), e);
             }
-            return null;
-        } catch (Exception e) {
-            throw new RuntimeException("Database query exception: " + e.getMessage(), e);
         }
     }
 

+ 0 - 2
src/main/java/com/hz/employmentsite/vo/taskAndLog/DoWorkVo.java

@@ -13,11 +13,9 @@ public class DoWorkVo {
     public String userName;
 
     public Integer doTypeID;
-
     public String logTypeName;
 
     public String workContent;
-
     public Date workTime;
 
     public String createUserID;

+ 1 - 1
src/main/resources/mapping/cquery/DoWorkCQuery.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.hz.employmentsite.mapper.cquery.DoWorkCQuery">
     <select id="getList" resultType="com.hz.employmentsite.vo.taskAndLog.DoWorkVo">
-        select workLog.*,siteUser.Name as UserName,region.name as RegionName,street.name as StreetName,dic_logType.name as LogTypeName from pc_dowork workLog
+        select workLog.*,siteUser.SiteUserName as UserName,region.name as RegionName,street.name as StreetName,dic_logType.name as LogTypeName from pc_dowork workLog
         left join (select * from sys_dictionary_item where DictionaryCode ='LogType' ) dic_logType   on workLog.doTypeID = dic_logType.Value
         left join area_code region on workLog.RegionCode = region.code
         left join area_code street on workLog.StreetCode = street.code

+ 1 - 0
vue/src/views/baseSettings/institution/edit.vue

@@ -241,6 +241,7 @@ export default defineComponent({
     };
 
     const onFinish = () => {
+      console.log("sssf");
       validateSameSite();
       if (isAllowCommit.value){
         formData.dataModel.manageSites = manageSites.value;

+ 10 - 19
vue/src/views/jobUserManager/jobuser/edit.vue

@@ -66,10 +66,10 @@
           <a-form-item
             label="出生地"
             :label-col="{ span: 6 }"
-            name="birthplace"
+            name="birthPlace"
             :rules="[{ required: true, message: '请输入出生地!' }]"
           >
-            <a-input v-model:value="dataModel.birthplace" placeholder=""/>
+            <a-input v-model:value="dataModel.birthPlace" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -515,8 +515,8 @@ interface FormState {
   dataModel: any;
 }
 
-export default defineComponent(
-  {
+export default defineComponent({
+    name:"JobUserEditForm",
     components: {BUploadFile},
     setup() {
       const formState = reactive<FormState>({dataModel: {}});
@@ -526,7 +526,6 @@ export default defineComponent(
         pageSize: 99
       });
       // const router = useRouter();
-      const siteuserList = ref([]);
       const provinceList = ref<SelectProps['options']>([{name: '广东省', code: '440000000000000'}]);
       const siteList = ref<SelectProps['options']>();
       const genderList = ref<SelectProps['options']>();
@@ -734,20 +733,15 @@ export default defineComponent(
       }
 
 
-      const onAdd = () => {
-        tabsViewStore.addTabByPath('', null);
-      };
-      const onDel = () => {
-
-      };
       const onClose = (reload: any) => {
         tabsViewStore.closeCurrentTabByPath('/jobusermgr/jobseeker/add');
         tabsViewStore.closeCurrentTabByPath('/jobusermgr/jobseeker/edit');
-        // router.push({name: '/taskAndLog/dotask/index'});
         tabsViewStore.openTab('/jobusermgr/jobseeker/index', {reload: reload});
       };
 
       const onFinish = () => {
+        console.log("ssf");
+        console.log("ssd",  experienceData.value);
         formState.dataModel.jobEducation = educationData.value;
         formState.dataModel.jobExperience = experienceData.value;
         save(formState.dataModel).then(result => {
@@ -759,7 +753,7 @@ export default defineComponent(
 
       const loadData = (id: any) => {
         getDataById(id).then(data => {
-          formState.dataModel = data
+          formState.dataModel = data;
           if (formState.dataModel.regionCode) {
             changeCity();
           }
@@ -772,24 +766,21 @@ export default defineComponent(
         loadData,
         onClose,
         onFinish,
-        onAdd,
-        onDel,
-        siteList,
+        setFileList,
         addEducation,
         deleteEducation,
+        loadEducation,
         educationColumns,
         maritalStatusList,
         formState,
         formTableState,
-        setFileList,
+        siteList,
         regionList,
         educationData,
         streetList,
         familyNatureList,
-        siteuserList,
         cultureList,
         genderList,
-        loadEducation,
         healthList,
         keyPersonTypeList,
         politicsStatusList,

+ 3 - 2
vue/src/views/jobUserManager/jobuser/index.vue

@@ -251,6 +251,7 @@ export default defineComponent({
       const result: any = await getList(searchParamsState);
 
       dataList.value = result.list;
+      console.log(dataList.value);
       formState.total = result.total;
       formState.loading = false;
     };
@@ -288,12 +289,12 @@ export default defineComponent({
       tabsViewStore.addTabByPath('/jobusermgr/jobseeker/add', null);
     };
     const onEdit = (item: any) => {
-      tabsViewStore.addTabByPath('/jobusermgr/jobseeker/edit', {id: item.jobuserID});
+      tabsViewStore.addTabByPath('/jobusermgr/jobseeker/edit', {id: item.jobUserID});
     };
 
     const onDel = (item: any) => {
       if (item) {
-        formState.selectedRowKeys.push(item.jobuserID as never)
+        formState.selectedRowKeys.push(item.jobUserID as never)
       }
 
       if (formState.selectedRowKeys.length <= 0) {