Browse Source

修改了 表格的排序

bding 1 week ago
parent
commit
9c4975f71a

+ 2 - 2
src/views/dataReport_manage/components/DataSummary.vue

@@ -1,8 +1,8 @@
 <template>
   <div>
-    <el-dialog v-dialogDrag :title="title" :visible.sync="visible" :close-on-click-modal="false" :modal-append-to-body="false" width="60%" @close="closeDialog">
+    <el-dialog v-dialogDrag :title="title" :visible.sync="visible" :close-on-click-modal="false" :modal-append-to-body="false" width="60%" @close="closeDialog" top="5vh">
       <p v-if="isShowText">共{{ CompanyNum }}家客户,其中{{ CompanyMultiple }}家客户有多份合同</p>
-      <el-table :data="tableData" border style="margin: 20px 0" height="400">
+      <el-table :data="tableData" border style="margin: 20px 0" height="600">
         <el-table-column v-for="(col, index) in columns" :key="index" :prop="col.prop" :label="col.label" align="center">
           <template slot-scope="{ row }">
             <span v-if="col.label === '操作'" style="color: #409eff; cursor: pointer; font-size: 14px; margin-right: 20px" @click="historicalNotesClickHandler(row)">历史备注</span>

+ 17 - 6
src/views/dataReport_manage/equityDataSummary.vue

@@ -103,9 +103,9 @@ export default {
         续约: [
           { label: "到期合同(金额/数量)", key: "ExpiredContractData", tooltip: "结束时间在所选时间段内的合用" },
           { label: "续约合同(金额/数量)", key: "RenewedContractData", tooltip: "起始时间在所选时间段内的续约合同(第一份合同起始时间一年以后的再次签约均属于续约合同)" },
-          { label: "续约率(金额/数量)", key: "RenewalRateData", tooltip: "续约合同/到期合同" },
+          { label: "续约率(金额/客户)", key: "RenewalRateData", tooltip: "续约合同/到期合同" },
           { label: "确认不续约合同(金额/数量)", key: "ConfirmedNoRenewalContractData", tooltip: "已确认不续约的到期合同" },
-          { label: "确认不续约率(金额/数量)", key: "ConfirmNonRenewalRateData", tooltip: "确认不续约合同(剔除非业务不续约)/到期合同" },
+          { label: "确认不续约率(金额/客户)", key: "ConfirmNonRenewalRateData", tooltip: "确认不续约合同(剔除非业务不续约)/到期合同" },
           { label: "签约客户数量", key: "SignedClientCount", tooltip: "新签和续约的客户数" },
           { label: "客单价", key: "AverageRevenueCount", tooltip: "新签合同和续约合同的总金额/签约客户数量" },
         ],
@@ -197,8 +197,6 @@ export default {
     handlerRowClick(row, key) {
       this.showDlg = true;
       this.dataItem = row;
-      console.log(this.dataItem);
-      
       this.titleDlg = tableDlgTitle[key];
       this.columnsDlg = tableConfigs[key];
     },
@@ -211,12 +209,18 @@ export default {
     },
     // 点击了标签
     toggleFilter(item) {
+      // 维护固定顺序的参照数组
+      const fixedOrder = ["新签", "续约", "收入"];
       if (this.selectedFilters.includes(item)) {
-        let index = this.selectedFilters.findIndex((key) => key === item);
-        this.selectedFilters.splice(index, 1);
+        // 移除时直接过滤
+        this.selectedFilters = this.selectedFilters.filter((key) => key !== item);
       } else {
+        // 添加时直接推入数组
         this.selectedFilters.push(item);
       }
+
+      // 按照固定顺序重新排序
+      this.selectedFilters = fixedOrder.filter((key) => this.selectedFilters.includes(key));
       this.getDataList();
     },
     /* 获取权益销售 */
@@ -236,9 +240,16 @@ export default {
     // 计算动态表头
     dynamicColumns() {
       let columns = [];
+      // 判断是否仅选择续约
+      const isOnlyRenewal = this.selectedFilters.length === 1 && this.selectedFilters[0] === "续约";
+
       this.selectedFilters.forEach((key) => {
         if (this.filterOptions[key]) {
           this.filterOptions[key].forEach((field) => {
+            // 当且仅当选择续约时,过滤特定字段
+            if (key === "续约" && isOnlyRenewal) {
+              if (["SignedClientCount", "AverageRevenueCount"].includes(field.key)) return;
+            }
             columns.push({ label: field.label, key: field.key, tooltip: field.tooltip });
           });
         }