Browse Source

面试钉钉端修改

chenjun 4 months ago
parent
commit
65e009b5f4
1 changed files with 269 additions and 230 deletions
  1. 269 230
      client_h5/src/pages/interview/index.vue

+ 269 - 230
client_h5/src/pages/interview/index.vue

@@ -1,65 +1,65 @@
 <template>
   <flow-form :data="formData" @submit="submitNextActivity">
     <card title="基础信息" style="height: auto">
-      <van-form  ref="form">
+      <van-form ref="form">
         <van-cell-group insert>
           <van-field
-              v-model="formData.nickname"
-              name="员工名称"
-              label="员工名称"
-              placeholder="员工名称"
-              readonly
+            v-model="formData.nickname"
+            name="员工名称"
+            label="员工名称"
+            placeholder="员工名称"
+            readonly
           />
           <van-field
-              v-model="formData.mssjc"
-              name="面试时间"
-              label="面试时间"
-              placeholder="面试时间"
-              readonly
+            v-model="formData.mssjc"
+            name="面试时间"
+            label="面试时间"
+            placeholder="面试时间"
+            readonly
           />
           <van-field
-              v-model="formData.sexText"
-              name="性别"
-              label="性别"
-              placeholder="性别"
-              readonly
+            v-model="formData.sexText"
+            name="性别"
+            label="性别"
+            placeholder="性别"
+            readonly
           />
           <van-field
-              v-model="formData.sfzh"
-              name="身份证号"
-              label="身份证号"
-              placeholder="身份证号"
-              readonly
+            v-model="formData.sfzh"
+            name="身份证号"
+            label="身份证号"
+            placeholder="身份证号"
+            readonly
           />
           <van-field
-              v-model="formData.postText"
-              name="应聘岗位"
-              label="应聘岗位"
-              placeholder="应聘岗位"
-              readonly
+            v-model="formData.postText"
+            name="应聘岗位"
+            label="应聘岗位"
+            placeholder="应聘岗位"
+            readonly
           />
           <van-field
-              v-model="formData.deptName"
-              name="应聘部门"
-              label="应聘部门"
-              placeholder="应聘部门"
-              readonly
+            v-model="formData.deptName"
+            name="应聘部门"
+            label="应聘部门"
+            placeholder="应聘部门"
+            readonly
           />
           <van-field
-              v-model="formData.mobile"
-              name="手机号"
-              label="手机号"
-              placeholder="手机号"
-              readonly
+            v-model="formData.mobile"
+            name="手机号"
+            label="手机号"
+            placeholder="手机号"
+            readonly
           />
-<!--          <van-field-->
-<!--              v-model="formData.zjjywz"-->
-<!--              name="证件交验情况"-->
-<!--              label="证件交验情况"-->
-<!--              placeholder="证件交验情况"-->
-<!--              readonly-->
-<!--              :rules="[{ required: true, message: '未获取证件交验情况' }]"-->
-<!--          />-->
+          <!--          <van-field-->
+          <!--              v-model="formData.zjjywz"-->
+          <!--              name="证件交验情况"-->
+          <!--              label="证件交验情况"-->
+          <!--              placeholder="证件交验情况"-->
+          <!--              readonly-->
+          <!--              :rules="[{ required: true, message: '未获取证件交验情况' }]"-->
+          <!--          />-->
         </van-cell-group>
       </van-form>
     </card>
@@ -68,228 +68,240 @@
       <van-form required="true" ref="form">
         <van-cell-group insert>
           <van-field
-              v-model="formData.yrybf"
-              name="仪容仪表(分)"
-              label="仪容仪表(分)"
-              placeholder="仪容仪表(分)"
-              readonly
+            v-model="formData.yrybf"
+            name="仪容仪表(分)"
+            label="仪容仪表(分)"
+            placeholder="仪容仪表(分)"
+            readonly
           />
           <van-field
-              v-model="formData.sex"
-              name="说服力(分)"
-              label="说服力(分)"
-              placeholder="说服力(分)"
-              readonly
+            v-model="formData.xxlf"
+            name="学习力(分)"
+            label="学习力(分)"
+            placeholder="学习力(分)"
+            readonly
           />
           <van-field
-              v-model="formData.swlyf"
-              name="商务礼仪(分)"
-              label="商务礼仪(分)"
-              placeholder="商务礼仪(分)"
-              readonly
+            v-model="formData.swlyf"
+            name="商务礼仪(分)"
+            label="商务礼仪(分)"
+            placeholder="商务礼仪(分)"
+            readonly
           />
           <van-field
-              v-model="formData.kyxf"
-              name="抗压性(分)"
-              label="抗压性(分)"
-              placeholder="抗压性(分)"
-              readonly
+            v-model="formData.kyxf"
+            name="抗压性(分)"
+            label="抗压性(分)"
+            placeholder="抗压性(分)"
+            readonly
           />
           <van-field
-              v-model="formData.gtf"
-              name="沟通(分)"
-              label="沟通(分)"
-              placeholder="沟通(分)"
-              readonly
+            v-model="formData.gtf"
+            name="沟通(分)"
+            label="沟通(分)"
+            placeholder="沟通(分)"
+            readonly
           />
           <van-field
-              v-model="formData.ccf"
-              name="出差(分)"
-              label="出差(分)"
-              placeholder="出差(分)"
-              readonly
+            v-model="formData.ccf"
+            name="出差(分)"
+            label="出差(分)"
+            placeholder="出差(分)"
+            readonly
           />
           <van-field
-              v-model="formData.tdf"
-              name="态度(分)"
-              label="态度(分)"
-              placeholder="态度(分)"
-              readonly
+            v-model="formData.tdf"
+            name="态度(分)"
+            label="态度(分)"
+            placeholder="态度(分)"
+            readonly
           />
           <van-field
-              v-model="formData.xxlf"
-              name="学习力(分)"
-              label="学习力(分)"
-              placeholder="学习力(分)"
-              readonly
+            v-model="formData.jbf"
+            name="加班(分)"
+            label="加班(分)"
+            placeholder="加班(分)"
+            readonly
           />
         </van-cell-group>
       </van-form>
     </card>
 
     <card title="初始测评评语" style="height: auto">
-      <van-form  ref="form">
+      <van-form ref="form">
         <van-cell-group insert>
           <van-field
-              v-model="formData.yrybp"
-              name="仪容仪表(评)"
-              label="仪容仪表(评)"
-              placeholder="仪容仪表(评)"
-              readonly
+            v-model="formData.yrybp"
+            name="仪容仪表(评)"
+            label="仪容仪表(评)"
+            placeholder="仪容仪表(评)"
+            readonly
           />
           <van-field
-              v-model="formData.sflp"
-              name="说服力(评)"
-              label="说服力(评)"
-              placeholder="说服力(评)"
-              readonly
+            v-model="formData.xxlp"
+            name="学习力(评)"
+            label="学习力(评)"
+            placeholder="学习力(评)"
+            readonly
           />
           <van-field
-              v-model="formData.swlyp"
-              name="商务礼仪(评)"
-              label="商务礼仪(评)"
-              placeholder="商务礼仪(评)"
-              readonly
+            v-model="formData.swlyp"
+            name="商务礼仪(评)"
+            label="商务礼仪(评)"
+            placeholder="商务礼仪(评)"
+            readonly
           />
           <van-field
-              v-model="formData.kyxp"
-              name="抗压性(评)"
-              label="抗压性(评)"
-              placeholder="抗压性(评)"
-              readonly
+            v-model="formData.kyxp"
+            name="抗压性(评)"
+            label="抗压性(评)"
+            placeholder="抗压性(评)"
+            readonly
           />
           <van-field
-              v-model="formData.gtp"
-              name="沟通(评)"
-              label="沟通(评)"
-              placeholder="沟通(评)"
-              readonly
+            v-model="formData.gtp"
+            name="沟通(评)"
+            label="沟通(评)"
+            placeholder="沟通(评)"
+            readonly
           />
           <van-field
-              v-model="formData.ccp"
-              name="出差(评)"
-              label="出差(评)"
-              placeholder="出差(评)"
-              readonly
+            v-model="formData.ccp"
+            name="出差(评)"
+            label="出差(评)"
+            placeholder="出差(评)"
+            readonly
           />
           <van-field
-              v-model="formData.tdp"
-              name="态度(评)"
-              label="态度(评)"
-              placeholder="态度(评)"
-              readonly
+            v-model="formData.tdp"
+            name="态度(评)"
+            label="态度(评)"
+            placeholder="态度(评)"
+            readonly
           />
           <van-field
-              v-model="formData.xxlp"
-              name="学习力(评)"
-              label="学习力(评)"
-              placeholder="学习力(评)"
-              readonly
+            v-model="formData.jbp"
+            name="加班(评)"
+            label="加班(评)"
+            placeholder="加班(评)"
+            readonly
           />
         </van-cell-group>
       </van-form>
     </card>
 
     <card title="事业部/部门意见" style="height: auto">
-      <van-form  ref="form">
+      <van-form ref="form">
         <van-cell-group insert>
           <van-field
-              v-model="formData.ywjs"
-              name="业务及技术"
-              label="业务及技术"
-              placeholder="业务及技术"
-              readonly
-          />
-          <van-field
-              v-model="formData.xmnl"
-              name="项目能力"
-              label="项目能力"
-              placeholder="项目能力"
-              readonly
-          />
-          <van-field
-              v-model="formData.gtbd"
-              name="沟通与表达"
-              label="沟通与表达"
-              placeholder="沟通与表达"
-              readonly
-          />
-          <van-field
-              v-model="formData.zhpj"
-              name="综合评价"
-              label="综合评价"
-              placeholder="综合评价"
-              readonly
+            v-model="formData.ywjs"
+            name="业务及技术"
+            label="业务及技术"
+            placeholder="业务及技术"
+            rows="1"
+            autosize
+            type="textarea"
+            required
+          />
+          <van-field
+            v-model="formData.xmnl"
+            name="项目能力"
+            label="项目能力"
+            placeholder="项目能力"
+            rows="1"
+            autosize
+            type="textarea"
+            required
+          />
+          <van-field
+            v-model="formData.gtbd"
+            name="沟通与表达"
+            label="沟通与表达"
+            placeholder="沟通与表达"
+            rows="1"
+            autosize
+            type="textarea"
+            required
+          />
+          <van-field
+            v-model="formData.zhpj"
+            name="综合评价"
+            label="综合评价"
+            placeholder="综合评价"
+            rows="1"
+            autosize
+            type="textarea"
+            required
           />
         </van-cell-group>
       </van-form>
     </card>
 
     <card title="面试结果" style="height: auto">
-      <van-form  ref="form">
+      <van-form ref="form">
         <van-cell-group insert>
           <van-field
-              v-model="formData.ygxz"
-              name="用工性质"
-              label="用工性质"
-              placeholder="用工性质"
-              readonly
+            v-model="formData.ygxz"
+            name="用工性质"
+            label="用工性质"
+            placeholder="用工性质"
+            readonly
           />
           <van-field
-              v-model="formData.djcdText"
-              name="等级初定"
-              label="等级初定"
-              placeholder="等级初定"
-              readonly
+            v-model="formData.djcdText"
+            name="等级初定"
+            label="等级初定"
+            placeholder="等级初定"
+            readonly
           />
           <van-field
-              v-model="formData.syjbyx"
-              name="试用基本工资(元)"
-              label="试用基本工资(元)"
-              placeholder="试用基本工资(元)"
-              readonly
+            v-model="formData.syjbyx"
+            name="试用基本工资(元)"
+            label="试用基本工资(元)"
+            placeholder="试用基本工资(元)"
+            readonly
           />
           <van-field
-              v-model="formData.syjx"
-              name="试用绩效工资(元)"
-              label="试用绩效工资(元)"
-              placeholder="试用绩效工资(元)"
-              readonly
+            v-model="formData.syjx"
+            name="试用绩效工资(元)"
+            label="试用绩效工资(元)"
+            placeholder="试用绩效工资(元)"
+            readonly
           />
           <van-field
-              v-model="formData.zzjbyx"
-              name="转正基本工资(元)"
-              label="转正基本工资(元)"
-              placeholder="转正基本工资(元)"
-              readonly
+            v-model="formData.zzjbyx"
+            name="转正基本工资(元)"
+            label="转正基本工资(元)"
+            placeholder="转正基本工资(元)"
+            readonly
           />
           <van-field
-              v-model="formData.zzjx"
-              name="转正绩效工资(元)"
-              label="转正绩效工资(元)"
-              placeholder="转正绩效工资(元)"
-              readonly
+            v-model="formData.zzjx"
+            name="转正绩效工资(元)"
+            label="转正绩效工资(元)"
+            placeholder="转正绩效工资(元)"
+            readonly
           />
           <van-field
-              v-model="formData.bdrqc"
-              name="报道日期"
-              label="报道日期"
-              placeholder="报道日期"
-              readonly
+            v-model="formData.bdrqc"
+            name="报道日期"
+            label="报道日期"
+            placeholder="报道日期"
+            readonly
           />
           <van-field
-              v-model="formData.syq"
-              name="试用期(月)"
-              label="试用期(月)"
-              placeholder="试用期(月)"
-              readonly
+            v-model="formData.syq"
+            name="试用期(月)"
+            label="试用期(月)"
+            placeholder="试用期(月)"
+            readonly
           />
           <van-field
-              v-model="formData.lwq"
-              name="拟定劳务期(年)"
-              label="拟定劳务期(年)"
-              placeholder="拟定劳务期(年)"
-              readonly
+            v-model="formData.lwq"
+            name="拟定劳务期(年)"
+            label="拟定劳务期(年)"
+            placeholder="拟定劳务期(年)"
+            readonly
           />
         </van-cell-group>
       </van-form>
@@ -298,47 +310,69 @@
 </template>
 
 <script setup lang="ts">
-import {useRoute} from 'vue-router';
-import {FlowDTO, getNextActivity} from '@/service/flow';
+import { useRoute } from "vue-router";
+import { FlowDTO, getNextActivity } from "@/service/flow";
 import reqest from "@/utils/request";
-import FlowForm from '@/components/flowForm.vue';
-import Card from '@/components/card.vue';
-import {DICT_TYPE, getDictLabel} from "@/utils/dict";
+import FlowForm from "@/components/flowForm.vue";
+import Card from "@/components/card.vue";
+import { DICT_TYPE, getDictLabel } from "@/utils/dict";
 
 const route = useRoute();
 
-interface FormDataType {
-}
+interface FormDataType {}
 
-const formData = ref<FormDataType>({})
+const formData = ref<FormDataType>({
+  instanceId: "",
+  id: "",
+  ywjs: "",
+  xmnl: "",
+  gtbd: "",
+  zhpj: "",
+});
 const form = ref(null);
+const formRead = ref(false);
 
-const {activityInstanceId, participant, flowInstanceId, read} = route.query as {
-  activityInstanceId: string;
-  participant: string;
-  flowInstanceId: string;
-  read: string;
-};
+const { activityInstanceId, participant, flowInstanceId, read } =
+  route.query as {
+    activityInstanceId: string;
+    participant: string;
+    flowInstanceId: string;
+    read: string;
+  };
 const activityData: FlowDTO = {
   activityInstanceId,
   participantId: participant,
-  flowOpinion: ''
-}
+  flowOpinion: "",
+};
 const submitNextActivity = async (NextActivity: () => Promise<any>) => {
-  NextActivity();
+  form.value.validate().then(async () => {
+    //更新表单业务数据
+    formData.value.zjjy = null;
+    const result = await reqest.post(
+      "/business/interview/update",
+      formData.value
+    );
+    if (result.code === 200 || result.code === 0) {
+      //工作流转件
+      NextActivity();
+    }
+  });
 };
 
 const jsonToFormData = (json: any): FormData | null => {
-  const keys: string[] = Object.keys(json)
+  const keys: string[] = Object.keys(json);
   if (keys.length > 0) {
     const formData = new FormData();
     keys.forEach((key) => {
-      formData.append(key, (json[key] instanceof Object) ? JSON.stringify(json[key]) : json[key]);
+      formData.append(
+        key,
+        json[key] instanceof Object ? JSON.stringify(json[key]) : json[key]
+      );
     });
     return formData;
   }
   return null;
-}
+};
 
 //将复选框中的数字转成文字
 function changeValue(v: String) {
@@ -377,17 +411,18 @@ function formatDate(timestamp: number) {
   const date = new Date(timestamp);
   const year = date.getFullYear();
   let month = (1 + date.getMonth()).toString();
-  month = month.length > 1 ? month : '0' + month;
+  month = month.length > 1 ? month : "0" + month;
   let day = date.getDate().toString();
-  day = day.length > 1 ? day : '0' + day;
+  day = day.length > 1 ? day : "0" + day;
   return `${year}-${month}-${day}`;
 }
 
-
 /** 初始化表单数据 */
 const initFormData = async () => {
-  const result = await reqest.get(`/business/interview/mobileAdd?flowInstanceId=${flowInstanceId}`)
-  formData.value = result.data
+  const result = await reqest.get(
+    `/business/interview/mobileAdd?flowInstanceId=${flowInstanceId}`
+  );
+  formData.value = result.data;
   //将复选框的数据替换成对应的文字\
   if (formData.value.zjjy != null) {
     changeValue(formData.value.zjjy);
@@ -400,16 +435,20 @@ const initFormData = async () => {
 
   //字典
   formData.value.sexText = getDictLabel(DICT_TYPE.SEX_TYPE, formData.value.sex);
-  formData.value.postText = getDictLabel(DICT_TYPE.POST_TYPE, formData.value.ypgw);
-  formData.value.djcdText = getDictLabel(DICT_TYPE.ABILITY_LEVEL, formData.value.djcd);
-
-}
-
+  formData.value.postText = getDictLabel(
+    DICT_TYPE.POST_TYPE,
+    formData.value.ypgw
+  );
+  formData.value.djcdText = getDictLabel(
+    DICT_TYPE.ABILITY_LEVEL,
+    formData.value.djcd
+  );
+};
 
 /** 初始化 */
 onMounted(() => {
-  initFormData()
-})
+  initFormData();
+});
 </script>
 
 <style lang="scss" scoped>