|
@@ -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 });
|
|
|
});
|
|
|
}
|