haifeng.zhang 1 месяц назад
Родитель
Сommit
7bf3c9a4a5

+ 3 - 2
src/components/formula/manyFormula.vue

@@ -16,6 +16,7 @@ import {
   treeDept
 } from "@/api/department";
 import type { DrawerProps, FormItemProps, FormProps } from "element-plus";
+import { formulaParamsChange } from "@/utils/business";
 const $props = defineProps({
   formulaJSON: {
     type: Object
@@ -339,10 +340,10 @@ const countComputed = async () => {
   try {
     let oldValue = JSON.parse(JSON.stringify(addmanyChange));
     // Object.assign(oldValue, addmanyChange);
-    const formulaPar = JSON.stringify(oldValue);
+    // const formulaPar = JSON.stringify(oldValue);
     const res = await conditionVerify({
       formulaType: 1,
-      formula: formulaPar
+      formulaParams: formulaParamsChange(oldValue)
     });
     if (res.code == 200) {
       if (oldValue.outerConditionValue) {

+ 66 - 0
src/utils/business.ts

@@ -0,0 +1,66 @@
+// 公式设置-多条件公式,转换数据结构,用于接口传惨
+export const formulaParamsChange = (addmanyChange: any = {}) => {
+  const arr = [];
+  addmanyChange.innerConditionExpression.forEach((item, index) => {
+    const iobj: any = {
+      conditionalValues: `(${addmanyChange.outerConditionValue})`,
+      conditionalNames: "条件值",
+      currentFormulaType: item.select,
+      currentFormulaTwo: "(条件值)"
+    };
+    if (item.startValue) {
+      iobj.currentFormulaOne = `(${item.startValue})`;
+    }
+    if (item.comparisonStart) {
+      iobj.operatorOne = item.comparisonStart;
+    }
+    if (item.comparisonEnd) {
+      iobj.operatorTwo = item.comparisonEnd;
+    }
+    if (item.endValue) {
+      iobj.currentFormulaThree = `(${item.endValue})`;
+    }
+    if (item.innerScore) {
+      iobj.score = item.innerScore;
+    }
+    if (item.scoreRuleMoreInnerVO && item.scoreRuleMoreInnerVO.length) {
+      iobj.nextFormatParams = [];
+      item.scoreRuleMoreInnerVO.forEach(el => {
+        if (el.scoreRules && el.scoreRules.length) {
+          el.scoreRules.forEach(el2 => {
+            const eobj: any = {
+              conditionalValues: `(${el.innerConditionValue})`,
+              conditionalNames: `条件值${index + 1}`,
+              currentFormulaType: el2.select,
+              currentFormulaTwo: `(条件值${index + 1})`
+            };
+            if (el2.startValue) {
+              eobj.currentFormulaOne = `(${el2.startValue})`;
+            }
+            if (el2.comparisonStart) {
+              eobj.operatorOne = el2.comparisonStart;
+            }
+            if (el2.comparisonEnd) {
+              eobj.operatorTwo = el2.comparisonEnd;
+            }
+            if (el2.endValue) {
+              eobj.currentFormulaThree = `(${el2.endValue})`;
+            }
+            if (el2.score) {
+              eobj.score = el2.score;
+            }
+            iobj.nextFormatParams.push(eobj);
+          });
+        }
+      });
+    }
+    arr.push(iobj);
+  });
+  return arr;
+};
+
+// 公式设置-多条件公式,转换数据结构,从接口返回数据后回显
+// export const echoParamsChange = (echoChange: any = {}) => {
+//   const obj = {}
+//   // echoChange.
+// }

+ 24 - 14
src/views/evaluate/children/change/components/settingIndexDrawer.vue

@@ -16,6 +16,7 @@ import {
   treeDept
 } from "@/api/department";
 import type { DrawerProps, FormItemProps, FormProps } from "element-plus";
+import { formulaParamsChange } from "@/utils/business";
 // const itemLabelPosition = ref<FormItemProps["labelPosition"]>("");
 const drawer = ref(false);
 const disabledValue = ref(true);
@@ -277,13 +278,16 @@ function calculateScore(inputString) {
 const countComputed = async () => {
   try {
     if (params.formulaType == 0) {
-      const formula = JSON.stringify(params.formula);
-      // const aa = JSON.stringify(formula);
-      // console.log("formula", aa);
-      const { code, msg } = await conditionVerify({
-        formulaType: params.formulaType,
-        formula
-      });
+      const params0: {
+        formulaType: number;
+        formula?: string;
+      } = {
+        formulaType: params.formulaType
+      };
+      if (params.formula && params.formula.noConditionFormula) {
+        params0.formula = `(${params.formula.noConditionFormula})`;
+      }
+      const { code, msg } = await conditionVerify(params0);
       if (code == 200) {
         const keywords = [
           "完成值",
@@ -328,13 +332,18 @@ const countComputed = async () => {
         addmanyChange.outerConditionValueExpress =
           addmanyChange.outerConditionValue;
       }
-      let oldValue = JSON.parse(JSON.stringify(addmanyChange));
-      // Object.assign(oldValue, addmanyChange);
-      const formulaPar = JSON.stringify(oldValue);
-      const res = await conditionVerify({
-        formulaType: params.formulaType,
-        formula: formulaPar
-      });
+      // let oldValue = JSON.parse(JSON.stringify(addmanyChange));
+      // const formulaPar = JSON.stringify(oldValue);
+      const params1: {
+        formulaType: number;
+        formulaParams?: any[];
+      } = {
+        formulaType: params.formulaType
+      };
+      if (addmanyChange) {
+        params1.formulaParams = formulaParamsChange(addmanyChange);
+      }
+      const res = await conditionVerify(params1);
       if (res.code == 200) {
         // if (oldValue.outerConditionValue) {
         //   oldValue.outerConditionValue = calculateScore(
@@ -342,6 +351,7 @@ const countComputed = async () => {
         //   );
         // }
         // 暂时注释上面代码,不知道会不会影响到其他业务逻辑,待验证
+        const oldValue = JSON.parse(JSON.stringify(addmanyChange));
         if (formulaForm.value && Array.isArray(formulaForm.value) && oldValue) {
           const keywordss = [
             "完成值",

+ 25 - 19
src/views/evaluate/children/change/mould/editIndex.vue

@@ -13,6 +13,7 @@ import {
 import { conditionVerify } from "@/api/formula";
 import jishuanqi from "@/views/evaluate/children/change/components/jishuanqi.vue";
 import manyFormula from "@/components/formula/manyFormula.vue";
+import { formulaParamsChange } from "@/utils/business";
 const emit = defineEmits(["updateDialog", "getAssessmentQuotaDetailsApi"]);
 const formRef = ref();
 const drawer = ref(false);
@@ -43,9 +44,15 @@ const formLabelAlign = reactive({
 });
 // 抽屉逻辑
 const open = row => {
+  console.log(row, "------");
   Object.assign(formLabelAlign, JSON.parse(JSON.stringify(row)));
-  let dataJSon = JSON.parse(row.formula);
-  formulaOne.value = dataJSon.noConditionFormula;
+  let dataJSon = "";
+  if (row.formulaType === 0) {
+    dataJSon = row.formula;
+  } else if (row.formulaType === 1) {
+    dataJSon = row.formulaParamsList;
+  }
+  formulaOne.value = dataJSon;
   drawer.value = true;
   showData.value = true;
 };
@@ -129,14 +136,12 @@ const quxiaoCmputed = () => {
 const countComputed = async () => {
   try {
     if (formLabelAlign.formulaType == 0) {
-      const formula = JSON.stringify({
-        noConditionFormula: formulaOne.value
-      });
-      // const aa = JSON.stringify(formula);
-      // console.log("formula", aa);
+      // const formula = JSON.stringify({
+      //   noConditionFormula: formulaOne.value
+      // });
       const { code, msg } = await conditionVerify({
         formulaType: formLabelAlign.formulaType,
-        formula
+        formula: formulaOne.value
       });
       if (code == 200) {
         const keywords = [
@@ -190,7 +195,7 @@ const confirmClick = () => {
 };
 // 更新模板指标关联
 const postUpdateApi = async () => {
-  let params = {
+  let params: any = {
     relationId: formLabelAlign.relationId,
     targetValue: formLabelAlign.targetValue,
     finalValue: formLabelAlign.finalValue,
@@ -207,18 +212,19 @@ const postUpdateApi = async () => {
     id: formLabelAlign.id,
     dimId: formLabelAlign.dimId,
     assessmentId: formLabelAlign.assessmentId,
-    formulaType: formLabelAlign.formulaType,
-    formula: formLabelAlign.formula
+    formulaType: formLabelAlign.formulaType
+    // formula: formLabelAlign.formula,
   };
   // Object.assign(params, formLabelAlign);
-  params.formula = JSON.stringify({
-    noConditionFormula: formulaOne.value
-  });
-  // if (formLabelAlign.formulaType ==0) {
-  // }
-  // else if (formLabelAlign.formulaType == 1) {
-  // }
-  // const { code, msg } = await postUpdateAssessmentQuotaDetails(params);
+  // params.formula = JSON.stringify({
+  //   noConditionFormula: formulaOne.value
+  // });
+  if (formLabelAlign.formulaType == 0) {
+    params.formula = formulaOne.value;
+  } else if (formLabelAlign.formulaType == 1) {
+    console.log(formulaOne.value, "aaaa");
+    params.formulaParamsList = formulaParamsChange(formulaOne.value);
+  }
   const { code, msg } = await postUpdateAssessmentFormulas(params);
   if (code === 200) {
     ElMessage.success("修改成功");

+ 477 - 116
src/views/evaluate/children/change/mould/manageObject.vue

@@ -482,6 +482,9 @@ const updateAssessmentQuotaDetailsApi = async row => {
       startValue: null,
       finalValue: null,
       dataSource: null,
+      formulaType: null,
+      formula: null,
+      formulaParamsList: null,
       score: null,
       assessmentObjectId: null,
       assessmentModelId: null,
@@ -539,7 +542,10 @@ const editVxe = reactive({
   upperValue: null,
   agupperValue: null,
   assessmentId: null,
-  remark: null
+  remark: null,
+  formulaType: null,
+  formula: null,
+  formulaParamsList: null
 });
 // 编辑前面
 const editOpenEvent = data => {
@@ -562,7 +568,10 @@ const hangdleOpenClick = row => {
     id: null,
     dimId: null,
     assessmentId: null,
-    remark: null
+    remark: null,
+    formulaType: null,
+    formula: null,
+    formulaParamsList: null
   });
   editVxe.finalValue = row?.finalValue;
   editVxe.score = row?.score;
@@ -578,6 +587,9 @@ const editClosedEvent = row => {
     editVxe.id = row.row?.id;
     editVxe.dimId = row.row?.dimId;
     editVxe.assessmentId = messageData.value.id;
+    editVxe.formulaType = row.row?.formulaType;
+    editVxe.formula = row.row?.formula;
+    editVxe.formulaParamsList = row.row?.formulaParamsList;
     // 判断表头
     if (row.column.title == "得分") {
       // 判断是否为空
@@ -824,7 +836,7 @@ const changTitle = () => {
   };
   return obj[$props.message.assessmentType];
 };
-const editDisabledEvent = ({ }) => { };
+const editDisabledEvent = ({}) => {};
 // 同步数据
 const automaticCollectionApi = async () => {
   const { code, msg } = await automaticCollection(initParams.indexParams);
@@ -965,7 +977,7 @@ const setTableHeaderApi = async () => {
     ElMessage.error(msg);
   }
 };
-const bistatus = ref(1) //(0同步中,1同步完成)
+const bistatus = ref(1); //(0同步中,1同步完成)
 const getAssessmentDetailsApi = async () => {
   const { code, data } = await getAssessmentDetails({
     id: messageData.value.id
@@ -1285,7 +1297,10 @@ const selectAllChangeEvent = row => {
 <template>
   <div class="w-full">
     <!-- 指标编辑 -->
-    <editIndex ref="editIndexShow" @getAssessmentQuotaDetailsApi="getAssessmentQuotaDetailsApi" />
+    <editIndex
+      ref="editIndexShow"
+      @getAssessmentQuotaDetailsApi="getAssessmentQuotaDetailsApi"
+    />
     <div class="w-full flex items-center justify-between">
       <div class="flex items-center justify-between mt-2">
         <div class="bg-icon">
@@ -1309,7 +1324,13 @@ const selectAllChangeEvent = row => {
       </div>
       <div class="mr-10">
         <Auth :value="['公布考核结果']">
-          <el-button v-if="publishShow" type="primary" @click="publish" :disabled="bistatus == 0">公布考核结果</el-button>
+          <el-button
+            v-if="publishShow"
+            type="primary"
+            :disabled="bistatus == 0"
+            @click="publish"
+            >公布考核结果</el-button
+          >
         </Auth>
       </div>
     </div>
@@ -1318,36 +1339,89 @@ const selectAllChangeEvent = row => {
         <div class="w-full flex items-center justify-between">
           <div class="w-1/2 flex items-center justify-between">
             <el-text class="w-1/5">考核模板</el-text>
-            <el-select v-model="initParams.objParams.modelName" placeholder="请选择" filterable clearable
-              style="width: 250px" @change="getAssessmentObjectDetailsApi">
-              <el-option v-for="itemTmp in initParams.tmpList" :key="itemTmp.id" :label="itemTmp.assessmentModelName"
-                :value="itemTmp.assessmentModelName" />
+            <el-select
+              v-model="initParams.objParams.modelName"
+              placeholder="请选择"
+              filterable
+              clearable
+              style="width: 250px"
+              @change="getAssessmentObjectDetailsApi"
+            >
+              <el-option
+                v-for="itemTmp in initParams.tmpList"
+                :key="itemTmp.id"
+                :label="itemTmp.assessmentModelName"
+                :value="itemTmp.assessmentModelName"
+              />
             </el-select>
-            <el-input v-model="initParams.objParams.userName" class="ml-2" clearable placeholder="搜索"
-              :prefix-icon="Search" @change="getAssessmentObjectDetailsApi" />
+            <el-input
+              v-model="initParams.objParams.userName"
+              class="ml-2"
+              clearable
+              placeholder="搜索"
+              :prefix-icon="Search"
+              @change="getAssessmentObjectDetailsApi"
+            />
           </div>
           <div class="mr-10">
             <!-- <el-button type="primary" plain>批量调整执行人</el-button>
             <el-button type="primary" plain>批量重置流程</el-button> -->
             <Auth :value="['批量删除']">
-              <el-button type="primary" plain @click="delAssessmentObjectApi" :disabled="bistatus == 0">
+              <el-button
+                type="primary"
+                plain
+                :disabled="bistatus == 0"
+                @click="delAssessmentObjectApi"
+              >
                 批量删除
               </el-button>
             </Auth>
             <Auth :value="['添加被考核人']">
-              <el-button type="primary" plain @click="dialogVisibleAddShow" :disabled="bistatus == 0">{{
-                changTitle()
-              }}</el-button>
+              <el-button
+                type="primary"
+                plain
+                :disabled="bistatus == 0"
+                @click="dialogVisibleAddShow"
+                >{{ changTitle() }}</el-button
+              >
             </Auth>
           </div>
         </div>
-        <el-table :data="objList" style="width: 100%" @selection-change="changeSelection">
+        <el-table
+          :data="objList"
+          style="width: 100%"
+          @selection-change="changeSelection"
+        >
           <el-table-column type="selection" width="55" />
-          <el-table-column v-if="state.tableType == 0 || state.tableType == 3" prop="realName" label="人员" width="100" />
-          <el-table-column v-if="state.tableType == 2" prop="assessmentObjectName" label="医疗组" width="100" />
-          <el-table-column v-if="state.tableType == 0 || state.tableType == 3" prop="userName" label="工号" width="180" />
-          <el-table-column v-if="state.tableType != 2" prop="deptName" label="科室" width="180" />
-          <el-table-column prop="assessmentModelName" label="考核模板" width="300" />
+          <el-table-column
+            v-if="state.tableType == 0 || state.tableType == 3"
+            prop="realName"
+            label="人员"
+            width="100"
+          />
+          <el-table-column
+            v-if="state.tableType == 2"
+            prop="assessmentObjectName"
+            label="医疗组"
+            width="100"
+          />
+          <el-table-column
+            v-if="state.tableType == 0 || state.tableType == 3"
+            prop="userName"
+            label="工号"
+            width="180"
+          />
+          <el-table-column
+            v-if="state.tableType != 2"
+            prop="deptName"
+            label="科室"
+            width="180"
+          />
+          <el-table-column
+            prop="assessmentModelName"
+            label="考核模板"
+            width="300"
+          />
           <el-table-column prop="name" label="更新时间" width="150" sortable>
             <template #default="{ row }">
               {{ dayjs(row.updateTime).format("YYYY-MM-DD HH:mm:ss") }}
@@ -1367,10 +1441,15 @@ const selectAllChangeEvent = row => {
             <!-- 共{{ initParams.total }}条数据 -->
           </div>
           <div class="float-right mt-5 mr-8">
-            <el-pagination v-model:current-page="initParams.objParams.pageNumber"
-              v-model:page-size="initParams.objParams.pageSize" background
-              layout="total, sizes, prev, pager, next, jumper" :total="initParams.total" @size-change="handleSizeChange"
-              @current-change="handleCurrentChange" />
+            <el-pagination
+              v-model:current-page="initParams.objParams.pageNumber"
+              v-model:page-size="initParams.objParams.pageSize"
+              background
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="initParams.total"
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+            />
           </div>
         </div>
       </el-tab-pane>
@@ -1378,15 +1457,34 @@ const selectAllChangeEvent = row => {
         <div class="w-full flex items-center justify-between">
           <div class="w-1/2 flex items-center justify-between">
             <!-- <el-text class="w-1/5">考核模板</el-text> -->
-            <el-select v-model="initParams.indexParams.modelName" placeholder="请选择考核模板" filterable clearable
-              style="width: 400px" @change="getAssessmentQuotaDetailsApi">
-              <el-option v-for="itemTmp in initParams.tmpList" :key="itemTmp.id" :label="itemTmp.assessmentModelName"
-                :value="itemTmp.assessmentModelName" />
+            <el-select
+              v-model="initParams.indexParams.modelName"
+              placeholder="请选择考核模板"
+              filterable
+              clearable
+              style="width: 400px"
+              @change="getAssessmentQuotaDetailsApi"
+            >
+              <el-option
+                v-for="itemTmp in initParams.tmpList"
+                :key="itemTmp.id"
+                :label="itemTmp.assessmentModelName"
+                :value="itemTmp.assessmentModelName"
+              />
             </el-select>
-            <el-input v-model="initParams.indexParams.userName" class="ml-1" placeholder="搜索"
-              @change="getAssessmentQuotaDetailsApi" />
-            <el-input v-model="initParams.indexParams.quotaName" class="ml-2" placeholder="搜索指标名称" :prefix-icon="Search"
-              @change="getAssessmentQuotaDetailsApi" />
+            <el-input
+              v-model="initParams.indexParams.userName"
+              class="ml-1"
+              placeholder="搜索"
+              @change="getAssessmentQuotaDetailsApi"
+            />
+            <el-input
+              v-model="initParams.indexParams.quotaName"
+              class="ml-2"
+              placeholder="搜索指标名称"
+              :prefix-icon="Search"
+              @change="getAssessmentQuotaDetailsApi"
+            />
           </div>
           <!-- <div class="-mr-">
             <el-button type="primary" plain @click="automaticCollectionApi"
@@ -1394,82 +1492,198 @@ const selectAllChangeEvent = row => {
             >
           </div> -->
           <div class="mr-10 flex items-center justify-between">
-            <el-button type="primary" plain @click="deleteMantList" :disabled="bistatus == 0">批量删除</el-button>
-            <el-button type="primary" :disabled="bistatus == 0" plain @click="automaticCollectionApi">{{ bistatus == 0 ?
-              '正在同步中...' : '同步最新数据' }}</el-button>
+            <el-button
+              type="primary"
+              plain
+              :disabled="bistatus == 0"
+              @click="deleteMantList"
+              >批量删除</el-button
+            >
+            <el-button
+              type="primary"
+              :disabled="bistatus == 0"
+              plain
+              @click="automaticCollectionApi"
+              >{{ bistatus == 0 ? "正在同步中..." : "同步最新数据" }}</el-button
+            >
             <Auth :value="['批量导入指标']">
-              <el-button type="primary" plain @click="addsImport" :disabled="bistatus == 0">批量导入</el-button>
+              <el-button
+                type="primary"
+                plain
+                :disabled="bistatus == 0"
+                @click="addsImport"
+                >批量导入</el-button
+              >
             </Auth>
           </div>
         </div>
-        <vxe-table ref="tableVxeRef" class="mt-3" show-overflow keep-source :edit-config="editConfig"
-          :edit-rules="validRules" :data="initParams.Indexlist" @edit-closed="editClosedEvent"
-          @checkbox-change="selectChangeEvent" @checkbox-all="selectAllChangeEvent" @selection-change="changeSelection"
-          @edit-disabled="editDisabledEvent">
+        <vxe-table
+          ref="tableVxeRef"
+          class="mt-3"
+          show-overflow
+          keep-source
+          :edit-config="editConfig"
+          :edit-rules="validRules"
+          :data="initParams.Indexlist"
+          @edit-closed="editClosedEvent"
+          @checkbox-change="selectChangeEvent"
+          @checkbox-all="selectAllChangeEvent"
+          @selection-change="changeSelection"
+          @edit-disabled="editDisabledEvent"
+        >
           <vxe-column type="checkbox" width="60" />
-          <vxe-column v-if="state.tableType == 0 || state.tableType == 3" field="realName" fixed title="人员" width="100" />
+          <vxe-column
+            v-if="state.tableType == 0 || state.tableType == 3"
+            field="realName"
+            fixed
+            title="人员"
+            width="100"
+          />
           <!-- :员工,1:部门,2:医疗组,3:部门负责人 -->
-          <vxe-column v-if="state.tableType == 0 || state.tableType == 3" field="userName" fixed title="工号" width="180" />
-          <vxe-column v-if="state.tableType == 0 || state.tableType == 3" field="deptName" fixed title="部门" width="180" />
-          <vxe-column v-if="state.tableType == 2" field="userGroupName" fixed title="医疗组" width="180" />
-          <vxe-column v-if="state.tableType == 2" field="userGroupHospitalCode" fixed title="医疗组编号" width="180" />
-          <vxe-column v-if="state.tableType == 1" field="deptName" fixed title="部门" width="180" />
-          <vxe-column v-if="state.tableType == 1" field="deptHospitalCode" fixed title="部门编号" width="200" />
-          <vxe-column field="assessmentModelName" fixed title="考核模板" width="180" />
+          <vxe-column
+            v-if="state.tableType == 0 || state.tableType == 3"
+            field="userName"
+            fixed
+            title="工号"
+            width="180"
+          />
+          <vxe-column
+            v-if="state.tableType == 0 || state.tableType == 3"
+            field="deptName"
+            fixed
+            title="部门"
+            width="180"
+          />
+          <vxe-column
+            v-if="state.tableType == 2"
+            field="userGroupName"
+            fixed
+            title="医疗组"
+            width="180"
+          />
+          <vxe-column
+            v-if="state.tableType == 2"
+            field="userGroupHospitalCode"
+            fixed
+            title="医疗组编号"
+            width="180"
+          />
+          <vxe-column
+            v-if="state.tableType == 1"
+            field="deptName"
+            fixed
+            title="部门"
+            width="180"
+          />
+          <vxe-column
+            v-if="state.tableType == 1"
+            field="deptHospitalCode"
+            fixed
+            title="部门编号"
+            width="200"
+          />
+          <vxe-column
+            field="assessmentModelName"
+            fixed
+            title="考核模板"
+            width="180"
+          />
           <vxe-column field="name" fixed title="指标名称" width="180" />
           <vxe-column field="scoreRule" fixed title="评价标准" width="180" />
           <vxe-column field="source" fixed title="数据来源" width="180" />
-          <vxe-column field="targetValue" fixed title="目标值" :edit-render="{
-            name: 'input'
-          }" width="180" />
-          <vxe-column field="addValue" fixed title="增幅" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="targetValue"
+            fixed
+            title="目标值"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          />
+          <vxe-column
+            field="addValue"
+            fixed
+            title="增幅"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.addValue }}
               </div>
             </template>
           </vxe-column>
-          <vxe-column field="decValue" fixed title="降幅" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="decValue"
+            fixed
+            title="降幅"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.decValue }}
               </div>
             </template>
           </vxe-column>
-          <vxe-column field="challengeValue" fixed title="挑战值" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="challengeValue"
+            fixed
+            title="挑战值"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.challengeValue }}
               </div>
             </template>
           </vxe-column>
-          <vxe-column field="startValue" fixed title="门槛值" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="startValue"
+            fixed
+            title="门槛值"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.startValue }}
               </div>
             </template>
           </vxe-column>
-          <vxe-column field="upperValue" fixed title="上期完成值" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="upperValue"
+            fixed
+            title="上期完成值"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.upperValue }}
               </div>
             </template>
           </vxe-column>
-          <vxe-column field="agupperValue" fixed title="上上期完成值" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="agupperValue"
+            fixed
+            title="上上期完成值"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.agupperValue }}
@@ -1477,9 +1691,15 @@ const selectAllChangeEvent = row => {
             </template>
           </vxe-column>
 
-          <vxe-column field="finalValue" fixed title="完成值" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="finalValue"
+            fixed
+            title="完成值"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ convertToNumberIfPercentage(row.finalValue) }}
@@ -1487,18 +1707,30 @@ const selectAllChangeEvent = row => {
             </template>
           </vxe-column>
 
-          <vxe-column field="score" fixed title="得分" :edit-render="{
-            name: 'input'
-          }" width="180">
+          <vxe-column
+            field="score"
+            fixed
+            title="得分"
+            :edit-render="{
+              name: 'input'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.score }}
               </div>
             </template>
           </vxe-column>
-          <vxe-column field="remark" fixed title="备注" :edit-render="{
-            name: 'textarea'
-          }" width="180">
+          <vxe-column
+            field="remark"
+            fixed
+            title="备注"
+            :edit-render="{
+              name: 'textarea'
+            }"
+            width="180"
+          >
             <template #default="{ row }">
               <div @click="hangdleOpenClick(row)">
                 {{ row.remark }}
@@ -1530,56 +1762,100 @@ const selectAllChangeEvent = row => {
                           <div class="w-24">
                             <el-text type="info" size="small">目标值</el-text>
                           </div>
-                          <el-switch v-model="showTargetValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showTargetValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
                             <el-text type="info" size="small">增幅</el-text>
                           </div>
-                          <el-switch v-model="showAddValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showAddValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
                             <el-text type="info" size="small">降幅</el-text>
                           </div>
-                          <el-switch v-model="showDecValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showDecValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
                             <el-text type="info" size="small">挑战值</el-text>
                           </div>
-                          <el-switch v-model="showChallengeValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showChallengeValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
                             <el-text type="info" size="small">门槛值</el-text>
                           </div>
-                          <el-switch v-model="showStartValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showStartValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
-                            <el-text type="info" size="small">上期完成值</el-text>
+                            <el-text type="info" size="small"
+                              >上期完成值</el-text
+                            >
                           </div>
-                          <el-switch v-model="showUpperValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showUpperValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
-                            <el-text type="info" size="small">上上期完成值</el-text>
+                            <el-text type="info" size="small"
+                              >上上期完成值</el-text
+                            >
                           </div>
-                          <el-switch v-model="showAgupperValueSwitch" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="showAgupperValueSwitch"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                         <div class="w-full flex justify-evenly items-center">
                           <div class="w-24">
                             <el-text type="info" size="small">备注</el-text>
                           </div>
-                          <el-switch v-model="remarkValueValue" size="small" class="ml-2" />
+                          <el-switch
+                            v-model="remarkValueValue"
+                            size="small"
+                            class="ml-2"
+                          />
                         </div>
                       </div>
                     </div>
                     <el-dropdown-item>
                       <div class="mt-4 ml-20 mb-2 flex float-right">
-                        <el-tag effect="light" class="mr-3" size="small">取消</el-tag>
-                        <el-tag effect="dark" size="small" type="primary" @click="setTableHeaderApi">确认</el-tag>
+                        <el-tag effect="light" class="mr-3" size="small"
+                          >取消</el-tag
+                        >
+                        <el-tag
+                          effect="dark"
+                          size="small"
+                          type="primary"
+                          @click="setTableHeaderApi"
+                          >确认</el-tag
+                        >
                       </div>
                     </el-dropdown-item>
                   </el-dropdown-menu>
@@ -1601,10 +1877,15 @@ const selectAllChangeEvent = row => {
             <!-- 共{{ initParams.total1 }}条数据 -->
           </div>
           <div class="float-right mt-5 mr-8">
-            <el-pagination v-model:current-page="initParams.indexParams.pageNumber"
-              v-model:page-size="initParams.indexParams.pageSize" background
-              layout="total, sizes, prev, pager, next, jumper" :total="initParams.total1"
-              @size-change="handleSizeIndexChange" @current-change="handleCurrentIndexChange" />
+            <el-pagination
+              v-model:current-page="initParams.indexParams.pageNumber"
+              v-model:page-size="initParams.indexParams.pageSize"
+              background
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="initParams.total1"
+              @size-change="handleSizeIndexChange"
+              @current-change="handleCurrentIndexChange"
+            />
           </div>
         </div>
       </el-tab-pane>
@@ -1612,36 +1893,116 @@ const selectAllChangeEvent = row => {
       </el-tab-pane> -->
       <el-tab-pane label="基础信息" name="fourth">
         <!-- 延迟加载获取id -->
-        <messagePerson v-if="messageData.id" :id="messageData.id" :bistatus="bistatus" />
+        <messagePerson
+          v-if="messageData.id"
+          :id="messageData.id"
+          :bistatus="bistatus"
+        />
       </el-tab-pane>
     </el-tabs>
     <!-- 添加被考核人 -->
-    <el-dialog v-model="dialogVisibleAdd" :title="changTitle()" width="500" :before-close="closePerson">
+    <el-dialog
+      v-model="dialogVisibleAdd"
+      :title="changTitle()"
+      width="500"
+      :before-close="closePerson"
+    >
       <div>
-        <el-form ref="ruleFormRef" label-position="top" label-width="auto" :model="addPersonParams"
-          :rules="addPersonParamsRules">
-          <el-form-item v-if="$props.message.assessmentType == 0" label="人员" label-position="top" prop="value1">
-            <el-tree-select ref="assessmentTypeRef" v-model="addPersonParams.value1"
-              :data="convertDepartmentDataRecursive_Person(treeDept)" multiple :render-after-expand="false" show-checkbox
-              @check-change="handleRreeSelect" />
+        <el-form
+          ref="ruleFormRef"
+          label-position="top"
+          label-width="auto"
+          :model="addPersonParams"
+          :rules="addPersonParamsRules"
+        >
+          <el-form-item
+            v-if="$props.message.assessmentType == 0"
+            label="人员"
+            label-position="top"
+            prop="value1"
+          >
+            <el-tree-select
+              ref="assessmentTypeRef"
+              v-model="addPersonParams.value1"
+              :data="convertDepartmentDataRecursive_Person(treeDept)"
+              multiple
+              :render-after-expand="false"
+              show-checkbox
+              @check-change="handleRreeSelect"
+            />
           </el-form-item>
-          <el-form-item v-else-if="$props.message.assessmentType == 1" label="科室" label-position="top" prop="value1">
-            <el-tree-select ref="assessmentTypeRef" v-model="addPersonParams.value1" :data="dpetTree" multiple
-              check-strictly :render-after-expand="false" show-checkbox @check-change="handleRreeSelect" />
+          <el-form-item
+            v-else-if="$props.message.assessmentType == 1"
+            label="科室"
+            label-position="top"
+            prop="value1"
+          >
+            <el-tree-select
+              ref="assessmentTypeRef"
+              v-model="addPersonParams.value1"
+              :data="dpetTree"
+              multiple
+              check-strictly
+              :render-after-expand="false"
+              show-checkbox
+              @check-change="handleRreeSelect"
+            />
           </el-form-item>
-          <el-form-item v-else-if="$props.message.assessmentType == 2" label="医疗组" label-position="top" prop="value1">
-            <el-select ref="selectRefs" v-model="addPersonParams.value1" multiple @change="handChange">
-              <el-option v-for="(it, id) in treeDeptList" :key="id" :label="it.groupName" :value="it.groupCode" />
+          <el-form-item
+            v-else-if="$props.message.assessmentType == 2"
+            label="医疗组"
+            label-position="top"
+            prop="value1"
+          >
+            <el-select
+              ref="selectRefs"
+              v-model="addPersonParams.value1"
+              multiple
+              @change="handChange"
+            >
+              <el-option
+                v-for="(it, id) in treeDeptList"
+                :key="id"
+                :label="it.groupName"
+                :value="it.groupCode"
+              />
             </el-select>
           </el-form-item>
-          <el-form-item v-else-if="$props.message.assessmentType == 3" label="人员" label-position="top" prop="value1">
-            <el-select ref="selectRefs" v-model="addPersonParams.value1" multiple @change="handChange">
-              <el-option v-for="(it, id) in treeDeptList" :key="id" :label="it.realName" :value="it.userCode" />
+          <el-form-item
+            v-else-if="$props.message.assessmentType == 3"
+            label="人员"
+            label-position="top"
+            prop="value1"
+          >
+            <el-select
+              ref="selectRefs"
+              v-model="addPersonParams.value1"
+              multiple
+              @change="handChange"
+            >
+              <el-option
+                v-for="(it, id) in treeDeptList"
+                :key="id"
+                :label="it.realName"
+                :value="it.userCode"
+              />
             </el-select>
           </el-form-item>
-          <el-form-item label="考核模板" label-position="top" prop="modulesValue">
-            <el-select v-model="addPersonParams.modulesValue" @change="handleModulesSelect">
-              <el-option v-for="itemTmp in modulesList" :key="itemTmp.id" :label="itemTmp.tpName" :value="itemTmp.id" />
+          <el-form-item
+            label="考核模板"
+            label-position="top"
+            prop="modulesValue"
+          >
+            <el-select
+              v-model="addPersonParams.modulesValue"
+              @change="handleModulesSelect"
+            >
+              <el-option
+                v-for="itemTmp in modulesList"
+                :key="itemTmp.id"
+                :label="itemTmp.tpName"
+                :value="itemTmp.id"
+              />
             </el-select>
           </el-form-item>
         </el-form>