fieldsMap.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * 页面上的数据都来自数据库,且多处 ui 消费,页面直接使用字段会造成耦合和冗余,固在此抽出来统一配置(clientdb 查询方法、概念文字提示等)和处理(对值再计算、格式化等)
  3. * title 显示所使用名称
  4. * field 数据库字段名
  5. * multiple 显示的倍数,只对number类型生效,如原值为100,multiple=0.01 则显示成1
  6. * tooltip 对字段解释的提示文字
  7. * formatter 数字格式化的配置,省缺为 ','
  8. * '' 空字符串 则表示不格式化
  9. * ',' 数字格式,例:1000 格式为 1,000
  10. * '%' 百分比格式 例:0.1 格式为 10%
  11. * '-' 日期格式 例:1655196831390(值需为时间戳) 格式为 2022-06-14
  12. * stat 对字段做 groupField 时需使用的数据库计算方法,省缺为 'sum'
  13. * 'sum' 表示对字段做求和运算
  14. * 'avg' 表示对字段做平均运算
  15. * '-1' 表示不对字段做运算
  16. * fix 数字保留几位小数,>1 默认不保留小数,<1 默认保留两位小数
  17. * value 默认值 (仅用于 uni-stat-panel 组件) todo: 可移除
  18. * contrast 对比值 (仅用于 uni-stat-panel 组件) todo: 可移除
  19. */
  20. const fieldsGroupMap = [
  21. {
  22. title: '订单金额', group: "total_amount",
  23. list:[
  24. { title: '下单金额', field: 'create_total_amount', tooltip: '下单:统计时间内,下单金额(包含未支付订单和退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, trendChart: true, multiple:0.01 },
  25. { title: '收款金额', field: 'pay_total_amount', tooltip: '收款:统计时间内,成功支付的订单金额(包含退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, trendChart: true, multiple:0.01 },
  26. { title: '退款金额', field: 'refund_total_amount', tooltip: '退款:统计时间内,发生退款的金额。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, multiple:0.01 },
  27. ]
  28. },
  29. {
  30. title: '订单数量', group: "order_count",
  31. list:[
  32. { title: '下单数量', field: 'create_order_count', tooltip: '下单:统计时间内,成功下单的订单笔数(包含未支付订单和退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  33. { title: '收款数量', field: 'pay_order_count', tooltip: '收款:统计时间内,成功支付的订单数(包含退款订单)。', formatter: '', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  34. { title: '退款数量', field: 'refund_order_count', tooltip: '退款:统计时间内,发生退款的订单数。', formatter: '', value: "-", contrast: 0, stat: 'sum', fix:0 },
  35. ]
  36. },
  37. {
  38. title: '用户数量', group: "user_count",
  39. list:[
  40. { title: '下单用户数', field: 'create_user_count', tooltip: '下单:统计时间内,成功下单的客户数(包含未支付订单和退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  41. { title: '收款用户数', field: 'pay_user_count', tooltip: '收款:统计时间内,成功支付的用户数(包含退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  42. { title: '退款用户数', field: 'refund_user_count', tooltip: '退款:统计时间内,发生退款的用户数。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0 },
  43. ]
  44. },
  45. {
  46. title: '设备数量', group: "device_count",
  47. list:[
  48. { title: '下单设备数', field: 'create_device_count', tooltip: '下单:统计时间内,成功下单的设备数(包含未支付订单和退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  49. { title: '收款设备数', field: 'pay_device_count', tooltip: '收款:统计时间内,成功支付的设备数(包含退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  50. { title: '退款设备数', field: 'refund_device_count', tooltip: '退款:统计时间内,发生退款的设备数。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:0 },
  51. ]
  52. },
  53. ];
  54. let fieldsMap = [];
  55. fieldsGroupMap.map((item1, index1) => {
  56. item1.list.map((item2, index2) => {
  57. fieldsMap.push(item2);
  58. });
  59. });
  60. const statPanelTodayFieldsMap = [
  61. { title: '下单金额(GMV)', field: 'create_total_amount', tooltip: '统计时间内,下单金额(包含未支付订单和退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, trendChart: true, multiple:0.01 },
  62. { title: '收款金额(GPV)', field: 'pay_total_amount', tooltip: '统计时间内,成功支付的订单金额(包含退款订单)。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, trendChart: true, multiple:0.01 },
  63. //{ title: '支付订单数量', field: 'pay_order_count', tooltip: '统计时间内,成功支付的订单数(包含退款订单)。', formatter: '', value: "-", contrast: 0, stat: 'sum', fix:0, trendChart: true },
  64. { title: '退款金额', field: 'refund_total_amount', tooltip: '统计时间内,发生退款的金额。', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, trendChart: true, multiple:0.01 },
  65. { title: '实收金额', field: 'actual_total_amount', tooltip: '实收金额=收款金额-退款金额', formatter: ',', value: "-", contrast: 0, stat: 'sum', fix:2, trendChart: true, multiple:0.01 },
  66. ];
  67. export {
  68. fieldsMap,
  69. fieldsGroupMap,
  70. statPanelTodayFieldsMap
  71. }