Blame view

src/pages/order3/AddValueTaskConfig/components/List.tsx 3.92 KB
a66655b2   舒述军   附加值任务配置
1
2
3
4
5
6
7
  import React from 'react';
  import { Table, Popconfirm, message, Space } from 'antd';
  import { useStore } from '../index';
  import {ShopVo, banConfigApi, ListResult} from '../api';
  import { isNil } from 'lodash';
  import moment from 'moment';
  
80f54b9f   舒述军   附加值任务配置
8
9
10
11
  interface Props {
    addedValueType?: number // 附加值类型
  }
  
a66655b2   舒述军   附加值任务配置
12
13
  const Column = Table.Column;
  
80f54b9f   舒述军   附加值任务配置
14
  export default function LargeList({addedValueType} : Props) {
6f3a5e02   舒述军   添加门店查看
15
    const {list, paginationConfig, loading, setLoading, setCurrentData, setShopData} = useStore();
a66655b2   舒述军   附加值任务配置
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  
    const handleDeleteConfig = (id?:number) => {
      banConfigApi({id})
      .then(res => {
        message.success(res.result);
        setLoading(true);
      }).catch(e => {
        message.error(e.message);
      });
    };
  
    function handleRenderShop(value: ShopVo[] = []) {
      if (value.length === 0) {
        return '--';
      } else if (value.length > 2) {
        return `${value[0].shopName}等${value.length}个门店`;
      }
      return value.map(v => v.shopName).join(",");
    }
  
    function handleEdit(value: ListResult = {}) {
      setCurrentData({visible: true, title: "编辑", data: value});
    }
    return (
      <Table
        dataSource={list}
        loading={loading}
80f54b9f   舒述军   附加值任务配置
43
        rowKey="id"
a66655b2   舒述军   附加值任务配置
44
45
        pagination={paginationConfig}
      >
4cbecaac   舒述军   添加商业险和装潢产值目标
46
        <Column
80f54b9f   舒述军   附加值任务配置
47
          title="单车附加值目标" 
a66655b2   舒述军   附加值任务配置
48
49
          dataIndex="addedValueTask" 
          align="left"
3b96183d   舒述军   校验规则调整
50
          render={(_text) => (isNil(_text) ? '-' : <span style={{color: "#FF921C", fontSize: '14px'}}>{_text}元<span style={{color: "#333"}}>/台</span></span>)}
a66655b2   舒述军   附加值任务配置
51
52
        />
        <Column 
4cbecaac   舒述军   添加商业险和装潢产值目标
53
54
55
56
57
58
          title="商业险产值目标" 
          dataIndex="vciOutputValueTask" 
          align="left"
          render={(_text) => (isNil(_text) ? '-' : <div style={{display: 'flex', flexDirection: 'column'}}><span style={{color: "#FF921C", fontSize: '14px'}}>{_text}元<span style={{color: "#333"}}>/台</span></span><span>(含驾意险)</span></div>)}
        />
        <Column 
c68443d1   舒述军   列表显示修改
59
          title={addedValueType === 2 ? "计算保险毛利" : "计算保险产值"}
a66655b2   舒述军   附加值任务配置
60
61
62
63
          dataIndex="addedValueTask" 
          align="left"
          render={(_text, record: ListResult) => (
            <div style={{display: 'flex', flexDirection: 'column'}}>
80f54b9f   舒述军   附加值任务配置
64
65
              <span>商业险金额*{record.vciOutputValueRatio}%</span>
              <span>交强险金额*{record.tciOutputValueRatio}%</span>
a66655b2   舒述军   附加值任务配置
66
67
68
69
              <span>架意险产值*{record.jcxOutputValueRatio}%</span>
            </div>
          )}
        />
4cbecaac   舒述军   添加商业险和装潢产值目标
70
71
72
73
74
75
        <Column 
          title="装潢产值目标" 
          dataIndex="decoOutputValueTask" 
          align="left"
          render={(_text) => (isNil(_text) ? '-' : <span style={{color: "#FF921C", fontSize: '14px'}}>{_text}元<span style={{color: "#333"}}>/台</span></span>)}
        />
80f54b9f   舒述军   附加值任务配置
76
        <Column
c68443d1   舒述军   列表显示修改
77
          title={addedValueType === 2 ? "计算装潢毛利" : "计算装潢产值"}
a66655b2   舒述军   附加值任务配置
78
79
80
81
82
83
84
85
          dataIndex="decoOutputValueRatio"
          align="left"
          render={(_text, record: ListResult) => `装潢产值*${_text}%`}
        />
        <Column 
          title="适用门店" 
          dataIndex="shopList"
          align="left"
6f3a5e02   舒述军   添加门店查看
86
          render={(_text, record: ListResult) => <span style={{color: "#4189FD"}} onClick={() => setShopData({visible: true, data: record.shopList})}>{handleRenderShop(record.shopList)}</span>}
a66655b2   舒述军   附加值任务配置
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
        />
        <Column 
          title="生效时间"
          dataIndex="beginTime"
          align="left"
          render={(_text, record: ListResult) => <span>{moment(record.beginTime).format("YYYY.MM")}-{moment(record.endTime).format("YYYY.MM")}</span>}
        />
        <Column
          title="操作"
          align="center"
          render={(text, record: ListResult) => (
            <Space>
              <a onClick={() => handleEdit(record)} style={{color: "#4189FD"}}>编辑</a>
              <Popconfirm
                title="是否删除?"
                onConfirm={() => handleDeleteConfig(record.id)}
                okText="确定"
                cancelText="取消"
              >
                <a style={{ color: 'red' }}>删除</a>
              </Popconfirm>
            </Space>
          )}
        />
      </Table>
    );
  }