haifeng.zhang 3 dní pred
rodič
commit
1c35a5cae2

+ 6 - 6
pnpm-lock.yaml

@@ -1481,8 +1481,8 @@ packages:
   caniuse-api@3.0.0:
     resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
 
-  caniuse-lite@1.0.30001677:
-    resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==}
+  caniuse-lite@1.0.30001720:
+    resolution: {integrity: sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==}
 
   cfb@1.2.2:
     resolution: {integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==}
@@ -5282,7 +5282,7 @@ snapshots:
   autoprefixer@10.4.19(postcss@8.4.38):
     dependencies:
       browserslist: 4.23.0
-      caniuse-lite: 1.0.30001677
+      caniuse-lite: 1.0.30001720
       fraction.js: 4.3.7
       normalize-range: 0.1.2
       picocolors: 1.0.0
@@ -5348,7 +5348,7 @@ snapshots:
 
   browserslist@4.23.0:
     dependencies:
-      caniuse-lite: 1.0.30001677
+      caniuse-lite: 1.0.30001720
       electron-to-chromium: 1.4.719
       node-releases: 2.0.14
       update-browserslist-db: 1.0.13(browserslist@4.23.0)
@@ -5406,11 +5406,11 @@ snapshots:
   caniuse-api@3.0.0:
     dependencies:
       browserslist: 4.23.0
-      caniuse-lite: 1.0.30001677
+      caniuse-lite: 1.0.30001720
       lodash.memoize: 4.1.2
       lodash.uniq: 4.5.0
 
-  caniuse-lite@1.0.30001677: {}
+  caniuse-lite@1.0.30001720: {}
 
   cfb@1.2.2:
     dependencies:

+ 4 - 4
src/components/formula/manyFormula.vue

@@ -341,10 +341,11 @@ const countComputed = async () => {
     let oldValue = JSON.parse(JSON.stringify(addmanyChange));
     // Object.assign(oldValue, addmanyChange);
     // const formulaPar = JSON.stringify(oldValue);
-    const res = await conditionVerify({
+    const params1 = {
       formulaType: 1,
       formulaParams: formulaParamsChange(oldValue)
-    });
+    };
+    const res = await conditionVerify(params1);
     if (res.code == 200) {
       if (oldValue.outerConditionValue) {
         oldValue.outerConditionValue = calculateScore(
@@ -384,8 +385,7 @@ const countComputed = async () => {
       }
       // let newValue = reverseReplace(formListNum, oldValue);
       const { code, msg, data } = await calculateScoreByConditionMoCondition({
-        formulaType: 1,
-        formulaParams: formulaParamsChange(oldValue),
+        ...params1,
         calculateScore: formulaForm.value.reduce((map, item) => {
           map[item.name] = item.value !== null ? item.value : 0; // 用 0 替代 null
           return map;

+ 78 - 69
src/components/rankTable/index.vue

@@ -133,6 +133,7 @@ function getValueByKey(obj, key) {
   return null; // 如果 key 不存在则返回 null
 }
 
+const $emit = defineEmits(["update"]);
 // 生成动态表头
 const createColumns = () => {
   let columns = [];
@@ -175,16 +176,20 @@ const createColumns = () => {
             if (column.order == "asc") {
               if (row.isAverageRow) {
                 return -9999999999;
+              } else {
+                return row.allScore;
               }
             } else {
               if (row.isAverageRow) {
                 return 99999999999;
+              } else {
+                return row.allScore;
               }
             }
           } else {
             return -9999999999;
           }
-          return row.allScore; // 返回正常的得分,进行排序
+          // return row.allScore; // 返回正常的得分,进行排序
         }
       }
     ];
@@ -216,16 +221,20 @@ const createColumns = () => {
             if (column.order == "asc") {
               if (row.isAverageRow) {
                 return -9999999999;
+              } else {
+                return row.allScore;
               }
             } else {
               if (row.isAverageRow) {
                 return 99999999999;
+              } else {
+                return row.allScore;
               }
             }
           } else {
             return -9999999999;
           }
-          return row.allScore; // 返回正常的得分,进行排序
+          // return row.allScore; // 返回正常的得分,进行排序
         }
       }
     ];
@@ -259,41 +268,41 @@ const createColumns = () => {
   // 构建多级表头
   headerMap.forEach((dimData, dimName) => {
     const children = dimData.quotas.map(quota => ({
-      title: `${quota.quotaName} ${quota.quotaWeight != "null" && quota.quotaWeight != "0" ? `(${quota.quotaWeight}%)` : ""}`, // 在 title 后拼接 quotaWeight
+      title: `${quota.quotaName} ${quota.quotaWeight != "null" ? `(${quota.quotaWeight}%)` : ""}`, // 在 title 后拼接 quotaWeight
       width: 120,
-      sortable: true,
-      field: `${dimName}_${quota.quotaName}`, // 确保字段唯一
-      sortBy({ column, row }) {
-        // 如果是平均行(isAverageRow为true),则返回一个很大的值,避免被排序
-        let aa = Number(row[column.field]);
-        if (typeof aa === "number" && !isNaN(aa)) {
-          if (column.order == "asc") {
-            if (row.isAverageRow) {
-              return -9999999999;
-            }
-          } else {
-            if (row.isAverageRow) {
-              return 99999999999;
-            }
-          }
-        } else {
-          // 倒序在最后
-          if (column.order == "asc") {
-            if (!row.isAverageRow) {
-              return 9999999999999;
-            } else {
-              return -999999999999;
-            }
-          } else {
-            if (!row.isAverageRow) {
-              return -999999999999;
-            } else {
-              return 999999999999;
-            }
-          }
-        }
-        return getValueByKey(row, column.field); // 返回正常的得分,进行排序
-      }
+      // sortable: true,
+      field: `${dimName}_${quota.quotaName}` // 确保字段唯一
+      // sortBy({ column, row }) {
+      //   // 如果是平均行(isAverageRow为true),则返回一个很大的值,避免被排序
+      //   let aa = Number(row[column.field]);
+      //   if (typeof aa === "number" && !isNaN(aa)) {
+      //     if (column.order == "asc") {
+      //       if (row.isAverageRow) {
+      //         return -9999999999;
+      //       }
+      //     } else {
+      //       if (row.isAverageRow) {
+      //         return 99999999999;
+      //       }
+      //     }
+      //   } else {
+      //     // 倒序在最后
+      //     if (column.order == "asc") {
+      //       if (!row.isAverageRow) {
+      //         return 9999999999999;
+      //       } else {
+      //         return -999999999999;
+      //       }
+      //     } else {
+      //       if (!row.isAverageRow) {
+      //         return -999999999999;
+      //       } else {
+      //         return 999999999999;
+      //       }
+      //     }
+      //   }
+      //   return getValueByKey(row, column.field); // 返回正常的得分,进行排序
+      // }
     }));
 
     // 添加维度名称及其对应的子列
@@ -306,39 +315,39 @@ const createColumns = () => {
     columns.push({
       title: `总分`, // 可根据需要调整标题
       field: `${dimName}_totalSore`,
-      width: 120,
-      sortable: true,
-      sortBy({ column, row }) {
-        // 如果是平均行(isAverageRow为true),则返回一个很大的值,避免被排序
-        let aa = Number(row[column.field]);
-        if (typeof aa === "number" && !isNaN(aa)) {
-          if (column.order == "asc") {
-            if (row.isAverageRow) {
-              return -9999999999;
-            }
-          } else {
-            if (row.isAverageRow) {
-              return 99999999999;
-            }
-          }
-        } else {
-          // 倒序在最后
-          if (column.order == "asc") {
-            if (!row.isAverageRow) {
-              return 9999999999999;
-            } else {
-              return -999999999999;
-            }
-          } else {
-            if (!row.isAverageRow) {
-              return -999999999999;
-            } else {
-              return 999999999999;
-            }
-          }
-        }
-        return getValueByKey(row, column.field); // 返回正常的得分,进行排序
-      }
+      width: 120
+      // sortable: true,
+      // sortBy({ column, row }) {
+      //   // 如果是平均行(isAverageRow为true),则返回一个很大的值,避免被排序
+      //   let aa = Number(row[column.field]);
+      //   if (typeof aa === "number" && !isNaN(aa)) {
+      //     if (column.order == "asc") {
+      //       if (row.isAverageRow) {
+      //         return -9999999999;
+      //       }
+      //     } else {
+      //       if (row.isAverageRow) {
+      //         return 99999999999;
+      //       }
+      //     }
+      //   } else {
+      //     // 倒序在最后
+      //     if (column.order == "asc") {
+      //       if (!row.isAverageRow) {
+      //         return 9999999999999;
+      //       } else {
+      //         return -999999999999;
+      //       }
+      //     } else {
+      //       if (!row.isAverageRow) {
+      //         return -999999999999;
+      //       } else {
+      //         return 999999999999;
+      //       }
+      //     }
+      //   }
+      //   return getValueByKey(row, column.field); // 返回正常的得分,进行排序
+      // }
     });
   });
   gridOptions.columns = columns;

+ 9 - 4
src/views/draw/children/worker/dataDetail.vue

@@ -19,10 +19,11 @@ const handleClick = val => {
 const rankTableRef = ref();
 const seachParams = ref();
 const lengthData = ref();
-const getPersonDimensionChartsListApi = async () => {
+const getPersonDimensionChartsListApi = async (type = "") => {
   const { code, data } = await getChartsList({
     ...seachParams.value,
-    type: 0
+    type: 0,
+    sortType: type
   });
 
   if (code == 200) {
@@ -38,7 +39,7 @@ const getPersonDimensionChartsListApi = async () => {
 
   // console.log(res);
 };
-const init = (item, type) => {
+const init = item => {
   seachParams.value = item;
   getPersonDimensionChartsListApi();
 };
@@ -69,7 +70,11 @@ const backChange = () => {
       <div class="mb-2 flex gap-2 justify-between flex-wrap">
         <seachData :activeName="activeName" @handClick="init" />
       </div>
-      <rankTableDraw v-if="lengthData > 0" ref="rankTableRef" />
+      <rankTableDraw
+        v-if="lengthData > 0"
+        ref="rankTableRef"
+        @update="getPersonDimensionChartsListApi"
+      />
     </div>
     <!-- <div v-else-if="activeName === '1'">
       <div class="mb-2 flex gap-2 justify-between flex-wrap">

+ 9 - 0
src/views/evaluate/children/change/manage/addExam.vue

@@ -377,6 +377,15 @@ const treeDeptListOkay = ref([]);
 const assessmentTypeShow = ref(true);
 const assessmentTypeApi = async value => {
   assessmentTypeShow.value = false;
+  form.listArr = [
+    {
+      assessmentObjectId: "",
+      idList: [],
+      assessmentObjectName: "",
+      assessmentModelId: "",
+      assessmentModelName: ""
+    }
+  ];
   // 人员,医疗组,负责人
   const { data = [], code } = await getTemplateInfoAllList();
   if (code == 200) {

+ 21 - 10
src/views/evaluate/children/change/mould/manageObject.vue

@@ -37,6 +37,7 @@ import {
 } from "@/api/userSetting";
 // 获取医疗组的数据
 import { postPageGroup } from "@/api/userGroup";
+import { en } from "element-plus/es/locale/index.mjs";
 const $props = defineProps({
   message: {
     type: Object
@@ -1596,7 +1597,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="目标值"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           />
@@ -1605,7 +1607,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="增幅"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1620,7 +1623,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="降幅"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1635,7 +1639,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="挑战值"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1650,7 +1655,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="门槛值"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1665,7 +1671,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="上期完成值"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1680,7 +1687,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="上上期完成值"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1696,7 +1704,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="完成值"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1712,7 +1721,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="得分"
             :edit-render="{
-              name: 'input'
+              name: 'input',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >
@@ -1727,7 +1737,8 @@ const selectAllChangeEvent = row => {
             fixed
             title="备注"
             :edit-render="{
-              name: 'textarea'
+              name: 'textarea',
+              enabled: bistatus == 0 ? false : true
             }"
             width="180"
           >

+ 2 - 3
src/views/indexData/components/editDrawer.vue

@@ -25,7 +25,7 @@ const formLabelAlign = reactive({
   numerator: "",
   denominator: "",
   dataValue: "",
-  specificTime: ""
+  specificTime: null
 });
 const rules = reactive<FormProps["rules"]>({
   sourceValue: [{ required: true, message: "请输入指标名称", trigger: "blur" }],
@@ -282,10 +282,9 @@ const disabledFirstDayOfMonth = time => {
             >
               <el-date-picker
                 v-model="formLabelAlign.specificTime"
+                type="month"
                 :disabled="disabledShow"
-                type="date"
                 placeholder="请选择日期"
-                :disabled-date="disabledFirstDayOfMonth"
               />
             </el-form-item>
           </el-form>