{
  "id": "scene-customer",
  "version": "2024-12-24",
  "name": "客户跟进：谁该回访一眼看到",
  "category": "场景模板",
  "description": "一张客户表、一张跟进记录，两张表按客户名连起来。跟进次数、待办数、该不该回访三列是公式算的：从没跟进过的、还挂着待办的，自己排到眼前。跟进记录里加一行，客户表当场变。",
  "locale": "zh_CN",
  "imageSrc": "",
  "vipOnly": false,
  "author": "TableDI",
  "tags": {
    "functions": []
  },
  "resourceCount": {
    "Sheet": 2,
    "Component": 3,
    "Dashboard": 1
  },
  "installations": 0,
  "resources": {
    "sheet1": {
      "key": "sheet1",
      "type": "Sheet",
      "name": "跟进记录",
      "content": {
        "sheet": {
          "name": "跟进记录",
          "uniqueIndex": {
            "uniqueHeaders": []
          },
          "headers": [
            {
              "title": "#",
              "meta": {
                "AUTO_SCALE": 3,
                "thousandPoint": false,
                "type": "Number",
                "decimal": 0
              }
            },
            {
              "title": "日期",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "客户",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "方式",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "记要",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "是否有待办",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "计数",
              "formula": "IF({{$sheet1.headers[1].code}} = \"\", 0, 1)",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "待办数",
              "formula": "IF(TRIM({{$sheet1.headers[5].code}}) = \"是\", 1, 0)",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            }
          ]
        },
        "entries": {
          "csv": "日期,客户,方式,记要,是否有待办\n2026-09-01,明创办公,电话,确认续签数量,否\n2026-09-02,启程云计算,上门,演示新版本,是\n2026-09-03,恒律法务,微信,补合同附件,否\n2026-09-04,回路营销,电话,报价单已发,是\n2026-09-05,南岸物流,微信,索要报价单,是\n2026-09-08,明创办公,微信,补发票信息,否\n2026-09-09,东林建材,电话,询问批量价,是\n2026-09-10,启程云计算,微信,等技术评估,是\n2026-09-11,子午餐厅,电话,初次联系,否\n2026-09-12,北望医疗,上门,需求沟通,是\n2026-09-15,恒律法务,电话,续签确认,否\n2026-09-16,回路营销,微信,追报价进度,是\n2026-09-17,南岸物流,电话,报价已发,是\n2026-09-18,张岚工作室,微信,初次联系,否\n2026-09-19,东林建材,微信,等采购确认,是\n2026-09-22,北望医疗,电话,方案二次沟通,是\n2026-09-23,明创办公,微信,询问新品,否\n2026-09-24,青禾教育,电话,初次联系,否\n2026-09-25,启程云计算,电话,催评估结果,是\n2026-09-26,回路营销,上门,合同条款沟通,是"
        }
      }
    },
    "sheet2": {
      "key": "sheet2",
      "type": "Sheet",
      "name": "客户",
      "content": {
        "sheet": {
          "name": "客户",
          "uniqueIndex": {
            "uniqueHeaders": []
          },
          "headers": [
            {
              "title": "#",
              "meta": {
                "AUTO_SCALE": 3,
                "thousandPoint": false,
                "type": "Number",
                "decimal": 0
              }
            },
            {
              "title": "客户",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "行业",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "负责人",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "阶段",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "跟进次数",
              "formula": "SUMIF({{$sheet1.headers[6].code}}, {{$sheet2.headers[1].code}} = {{$sheet1.headers[2].code}})",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "待办数",
              "formula": "SUMIF({{$sheet1.headers[7].code}}, {{$sheet2.headers[1].code}} = {{$sheet1.headers[2].code}})",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "该不该回访",
              "formula": "IF({{$sheet2.headers[5].code}} = 0, \"从没跟进过\", IF({{$sheet2.headers[6].code}} > 0, \"有待办\", \"暂不用\"))",
              "meta": {
                "type": "Text"
              }
            }
          ]
        },
        "entries": {
          "csv": "客户,行业,负责人,阶段\n明创办公,办公用品,王丹,已成交\n启程云计算,软件服务,李明,方案确认\n恒律法务,专业服务,周雅,已成交\n子午餐厅,餐饮,陈涛,初步接触\n回路营销,市场推广,王丹,方案确认\n张岚工作室,设计,李明,初步接触\n南岸物流,物流,周雅,报价中\n东林建材,建筑,陈涛,报价中\n青禾教育,教育,王丹,初步接触\n北望医疗,医疗,李明,方案确认"
        }
      }
    },
    "component1": {
      "key": "component1",
      "type": "Component",
      "name": "各阶段客户数",
      "content": {
        "@t": "next.component.pivot.table",
        "sheetId": "{{$sheet2.id}}",
        "type": "Pivot",
        "title": "各阶段客户数",
        "config": {
          "@t": "next.component.pivot.config",
          "pivotDataOption": {
            "@t": "next.component.pivot.config.data.option",
            "filters": {
              "@t": "core.or.filter",
              "filters": [],
              "type": "OR"
            },
            "simpleFilters": [],
            "orders": [],
            "rows": [],
            "columns": [
              {
                "@t": "next.component.pivot.config.textHeader.item",
                "headerId": "{{$sheet2.headers[4].id}}",
                "dataItemType": "TextHeader",
                "label": "阶段",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.text",
                  "type": "Text"
                }
              }
            ],
            "values": [
              {
                "@t": "next.component.pivot.config.formula.item",
                "headerId": "{{$sheet2.headers[5].id}}",
                "calcType": "Sum",
                "formula": "",
                "dataItemType": "FormulaHeader",
                "label": "跟进次数",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.number",
                  "type": "Number",
                  "decimal": 0,
                  "unit": "none",
                  "thousandPoint": true
                }
              }
            ],
            "aggregated": true
          },
          "displayType": "ChartColumnar",
          "configType": "Pivot"
        },
        "css": {
          "@t": "next.component.pivot.css",
          "titleSize": 15,
          "dataLabel": {
            "@t": "next.component.mixmap.css.datalable",
            "showRule": "AllShow",
            "fontSize": 12,
            "placement": "outSideTop",
            "intervalNumber": 0
          },
          "legendSize": 12,
          "axisLabel": {
            "@t": "next.component.pivot.css.axis",
            "fontSize": 12,
            "interval": 0,
            "rotate": 0
          },
          "horizontalDisplay": false,
          "chartPieDisplay": "Ring",
          "cssType": "Pivot",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "component2": {
      "key": "component2",
      "type": "Component",
      "name": "谁该回访",
      "content": {
        "@t": "next.component.pivot.table",
        "sheetId": "{{$sheet2.id}}",
        "type": "Pivot",
        "title": "谁该回访",
        "config": {
          "@t": "next.component.pivot.config",
          "pivotDataOption": {
            "@t": "next.component.pivot.config.data.option",
            "filters": {
              "@t": "core.or.filter",
              "filters": [],
              "type": "OR"
            },
            "simpleFilters": [],
            "orders": [],
            "rows": [],
            "columns": [
              {
                "@t": "next.component.pivot.config.textHeader.item",
                "headerId": "{{$sheet2.headers[7].id}}",
                "dataItemType": "TextHeader",
                "label": "该不该回访",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.text",
                  "type": "Text"
                }
              }
            ],
            "values": [
              {
                "@t": "next.component.pivot.config.formula.item",
                "headerId": "{{$sheet2.headers[6].id}}",
                "calcType": "Sum",
                "formula": "",
                "dataItemType": "FormulaHeader",
                "label": "待办数",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.number",
                  "type": "Number",
                  "decimal": 0,
                  "unit": "none",
                  "thousandPoint": true
                }
              }
            ],
            "aggregated": true
          },
          "displayType": "ChartPie",
          "configType": "Pivot"
        },
        "css": {
          "@t": "next.component.pivot.css",
          "titleSize": 15,
          "dataLabel": {
            "@t": "next.component.mixmap.css.datalable",
            "showRule": "AllShow",
            "fontSize": 12,
            "placement": "outSideTop",
            "intervalNumber": 0
          },
          "legendSize": 12,
          "axisLabel": {
            "@t": "next.component.pivot.css.axis",
            "fontSize": 12,
            "interval": 0,
            "rotate": 0
          },
          "horizontalDisplay": false,
          "chartPieDisplay": "Ring",
          "cssType": "Pivot",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "component3": {
      "key": "component3",
      "type": "Component",
      "name": "客户 · 跟进状态",
      "content": {
        "@t": "next.component.workbook",
        "sheetId": "{{$sheet2.id}}",
        "type": "Workbook",
        "title": "客户 · 跟进状态",
        "config": {
          "@t": "next.component.workbookConfig",
          "headers": [
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[1].id}}",
              "width": 140
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[2].id}}",
              "width": 110
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[3].id}}",
              "width": 90
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[4].id}}",
              "width": 110
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[5].id}}",
              "width": 100
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[6].id}}",
              "width": 90
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet2.headers[7].id}}",
              "width": 120
            }
          ],
          "page": 0,
          "pageSize": 12,
          "editable": true,
          "filters": {
            "@t": "core.or.filter",
            "filters": [],
            "type": "OR"
          },
          "orders": [],
          "configType": "Workbook"
        },
        "css": {
          "@t": "next.component.workbook.css",
          "titleSize": 15,
          "headerSize": 14,
          "paginationSize": 11,
          "cssType": "Workbook",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "dashboard1": {
      "key": "dashboard1",
      "type": "Dashboard",
      "name": "客户跟进总览",
      "content": {
        "@t": "net.thingworks.jarvis.dashboard",
        "name": "客户跟进总览",
        "components": [
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component1.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 0,
              "y": 0,
              "w": 14,
              "h": 10
            }
          },
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component2.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 14,
              "y": 0,
              "w": 10,
              "h": 10
            }
          },
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component3.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 0,
              "y": 10,
              "w": 24,
              "h": 12
            }
          }
        ]
      }
    }
  }
}
