|
@@ -147,7 +147,8 @@ const Dashboard = () => {
|
|
|
render: (name, record) => (
|
|
render: (name, record) => (
|
|
|
<span
|
|
<span
|
|
|
onClick={() => handleReminderList(record.type, '7day')}
|
|
onClick={() => handleReminderList(record.type, '7day')}
|
|
|
- className="text-primary cursor-pointer hover:text-[#967bbd]">
|
|
|
|
|
|
|
+ className="text-primary cursor-pointer hover:text-[#967bbd]"
|
|
|
|
|
+ >
|
|
|
{name}
|
|
{name}
|
|
|
</span>
|
|
</span>
|
|
|
)
|
|
)
|
|
@@ -158,7 +159,8 @@ const Dashboard = () => {
|
|
|
render: (name, record) => (
|
|
render: (name, record) => (
|
|
|
<span
|
|
<span
|
|
|
onClick={() => handleReminderList(record.type, '15day')}
|
|
onClick={() => handleReminderList(record.type, '15day')}
|
|
|
- className="text-primary cursor-pointer hover:text-[#967bbd]">
|
|
|
|
|
|
|
+ className="text-primary cursor-pointer hover:text-[#967bbd]"
|
|
|
|
|
+ >
|
|
|
{name}
|
|
{name}
|
|
|
</span>
|
|
</span>
|
|
|
)
|
|
)
|
|
@@ -169,7 +171,8 @@ const Dashboard = () => {
|
|
|
render: (name, record) => (
|
|
render: (name, record) => (
|
|
|
<span
|
|
<span
|
|
|
onClick={() => handleReminderList(record.type, '30day')}
|
|
onClick={() => handleReminderList(record.type, '30day')}
|
|
|
- className="text-primary cursor-pointer hover:text-[#967bbd]">
|
|
|
|
|
|
|
+ className="text-primary cursor-pointer hover:text-[#967bbd]"
|
|
|
|
|
+ >
|
|
|
{name}
|
|
{name}
|
|
|
</span>
|
|
</span>
|
|
|
)
|
|
)
|
|
@@ -180,7 +183,8 @@ const Dashboard = () => {
|
|
|
render: (name, record) => (
|
|
render: (name, record) => (
|
|
|
<span
|
|
<span
|
|
|
onClick={() => handleReminderList(record.type, '3month')}
|
|
onClick={() => handleReminderList(record.type, '3month')}
|
|
|
- className="text-primary cursor-pointer hover:text-[#967bbd]">
|
|
|
|
|
|
|
+ className="text-primary cursor-pointer hover:text-[#967bbd]"
|
|
|
|
|
+ >
|
|
|
{name}
|
|
{name}
|
|
|
</span>
|
|
</span>
|
|
|
)
|
|
)
|
|
@@ -191,7 +195,8 @@ const Dashboard = () => {
|
|
|
render: (name, record) => (
|
|
render: (name, record) => (
|
|
|
<span
|
|
<span
|
|
|
onClick={() => handleReminderList(record.type, '6month')}
|
|
onClick={() => handleReminderList(record.type, '6month')}
|
|
|
- className="text-primary cursor-pointer hover:text-[#967bbd]">
|
|
|
|
|
|
|
+ className="text-primary cursor-pointer hover:text-[#967bbd]"
|
|
|
|
|
+ >
|
|
|
{name}
|
|
{name}
|
|
|
</span>
|
|
</span>
|
|
|
)
|
|
)
|
|
@@ -202,7 +207,8 @@ const Dashboard = () => {
|
|
|
render: (name, record) => (
|
|
render: (name, record) => (
|
|
|
<span
|
|
<span
|
|
|
onClick={() => handleReminderList(record.type, 'reminder')}
|
|
onClick={() => handleReminderList(record.type, 'reminder')}
|
|
|
- className="text-primary cursor-pointer hover:text-[#967bbd]">
|
|
|
|
|
|
|
+ className="text-primary cursor-pointer hover:text-[#967bbd]"
|
|
|
|
|
+ >
|
|
|
{name}
|
|
{name}
|
|
|
</span>
|
|
</span>
|
|
|
)
|
|
)
|
|
@@ -252,23 +258,29 @@ const Dashboard = () => {
|
|
|
pagination={false}
|
|
pagination={false}
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
- <div className="mt-4">
|
|
|
|
|
- <PermSelect
|
|
|
|
|
- loading={state.loading}
|
|
|
|
|
|
|
+ <div className="mt-4 flex items-center flex-row">
|
|
|
|
|
+ <Select
|
|
|
disabled={state.disabled}
|
|
disabled={state.disabled}
|
|
|
- onConfirm={handlePermChange}
|
|
|
|
|
- dataType="workbench"
|
|
|
|
|
|
|
+ loading={state.loading}
|
|
|
|
|
+ options={cyclicalOp}
|
|
|
|
|
+ dropdownMatchSelectWidth={false}
|
|
|
|
|
+ defaultValue={defaultCyclicalValue}
|
|
|
|
|
+ onChange={handleCyclicalChange}
|
|
|
/>
|
|
/>
|
|
|
|
|
+
|
|
|
<span className="ml-4">
|
|
<span className="ml-4">
|
|
|
- <Select
|
|
|
|
|
- disabled={state.disabled}
|
|
|
|
|
|
|
+ <PermSelect
|
|
|
loading={state.loading}
|
|
loading={state.loading}
|
|
|
- options={cyclicalOp}
|
|
|
|
|
- dropdownMatchSelectWidth={false}
|
|
|
|
|
- defaultValue={defaultCyclicalValue}
|
|
|
|
|
- onChange={handleCyclicalChange}
|
|
|
|
|
|
|
+ disabled={state.disabled}
|
|
|
|
|
+ onConfirm={handlePermChange}
|
|
|
|
|
+ dataType="workbench"
|
|
|
/>
|
|
/>
|
|
|
</span>
|
|
</span>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div className="relative w-30px h-30px rounded-1/2">
|
|
|
|
|
+ <img src="/logo.png" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div className="mt-4">
|
|
<div className="mt-4">
|
|
|
<Row gutter={[8, 8]}>
|
|
<Row gutter={[8, 8]}>
|
|
@@ -292,7 +304,8 @@ const Dashboard = () => {
|
|
|
state.clientChainRatio.percentage.startsWith('-')
|
|
state.clientChainRatio.percentage.startsWith('-')
|
|
|
? 'text-green-500'
|
|
? 'text-green-500'
|
|
|
: 'text-red-500'
|
|
: 'text-red-500'
|
|
|
- ].join(' ')}>
|
|
|
|
|
|
|
+ ].join(' ')}
|
|
|
|
|
+ >
|
|
|
{state.clientChainRatio.percentage}
|
|
{state.clientChainRatio.percentage}
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
@@ -314,7 +327,8 @@ const Dashboard = () => {
|
|
|
) : (
|
|
) : (
|
|
|
<Row
|
|
<Row
|
|
|
className="cursor-pointer"
|
|
className="cursor-pointer"
|
|
|
- onClick={() => handleRatioCard(cardTypeMap.COMPANY)}>
|
|
|
|
|
|
|
+ onClick={() => handleRatioCard(cardTypeMap.COMPANY)}
|
|
|
|
|
+ >
|
|
|
<Col span={6}>
|
|
<Col span={6}>
|
|
|
<div className="w-full max-w-48px h-48px border rounded-48px bg-[#0c7cd5] flex items-center justify-center">
|
|
<div className="w-full max-w-48px h-48px border rounded-48px bg-[#0c7cd5] flex items-center justify-center">
|
|
|
<City size="26" fill="#fff" />
|
|
<City size="26" fill="#fff" />
|
|
@@ -329,7 +343,8 @@ const Dashboard = () => {
|
|
|
state.customerChainRatio.percentage.startsWith('-')
|
|
state.customerChainRatio.percentage.startsWith('-')
|
|
|
? 'text-green-500'
|
|
? 'text-green-500'
|
|
|
: 'text-red-500'
|
|
: 'text-red-500'
|
|
|
- ].join(' ')}>
|
|
|
|
|
|
|
+ ].join(' ')}
|
|
|
|
|
+ >
|
|
|
{state.customerChainRatio.percentage}
|
|
{state.customerChainRatio.percentage}
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
@@ -352,7 +367,8 @@ const Dashboard = () => {
|
|
|
) : (
|
|
) : (
|
|
|
<Row
|
|
<Row
|
|
|
className="cursor-pointer"
|
|
className="cursor-pointer"
|
|
|
- onClick={() => handleRatioCard(cardTypeMap.BUSINESS)}>
|
|
|
|
|
|
|
+ onClick={() => handleRatioCard(cardTypeMap.BUSINESS)}
|
|
|
|
|
+ >
|
|
|
<Col span={6}>
|
|
<Col span={6}>
|
|
|
<div className="w-full max-w-48px h-48px border rounded-48px bg-[#0c7cd5] flex items-center justify-center">
|
|
<div className="w-full max-w-48px h-48px border rounded-48px bg-[#0c7cd5] flex items-center justify-center">
|
|
|
<Finance size="26" fill="#fff" />
|
|
<Finance size="26" fill="#fff" />
|
|
@@ -367,7 +383,8 @@ const Dashboard = () => {
|
|
|
state.businessChainRatio.percentage.startsWith('-')
|
|
state.businessChainRatio.percentage.startsWith('-')
|
|
|
? 'text-green-500'
|
|
? 'text-green-500'
|
|
|
: 'text-red-500'
|
|
: 'text-red-500'
|
|
|
- ].join(' ')}>
|
|
|
|
|
|
|
+ ].join(' ')}
|
|
|
|
|
+ >
|
|
|
{state.businessChainRatio.percentage}
|
|
{state.businessChainRatio.percentage}
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
@@ -390,7 +407,8 @@ const Dashboard = () => {
|
|
|
) : (
|
|
) : (
|
|
|
<Row
|
|
<Row
|
|
|
onClick={() => handleRatioCard(cardTypeMap.SERVICE)}
|
|
onClick={() => handleRatioCard(cardTypeMap.SERVICE)}
|
|
|
- className="cursor-pointer">
|
|
|
|
|
|
|
+ className="cursor-pointer"
|
|
|
|
|
+ >
|
|
|
<Col span={6}>
|
|
<Col span={6}>
|
|
|
<div className="w-full max-w-48px h-48px border rounded-48px bg-[#0c7cd5] flex items-center justify-center">
|
|
<div className="w-full max-w-48px h-48px border rounded-48px bg-[#0c7cd5] flex items-center justify-center">
|
|
|
<Comment size="26" fill="#fff" />
|
|
<Comment size="26" fill="#fff" />
|
|
@@ -405,7 +423,8 @@ const Dashboard = () => {
|
|
|
state.serviceLogChainRatio.percentage.startsWith('-')
|
|
state.serviceLogChainRatio.percentage.startsWith('-')
|
|
|
? 'text-green-500'
|
|
? 'text-green-500'
|
|
|
: 'text-red-500'
|
|
: 'text-red-500'
|
|
|
- ].join(' ')}>
|
|
|
|
|
|
|
+ ].join(' ')}
|
|
|
|
|
+ >
|
|
|
{state.serviceLogChainRatio.percentage}
|
|
{state.serviceLogChainRatio.percentage}
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
@@ -439,7 +458,8 @@ const Dashboard = () => {
|
|
|
title="数据汇总"
|
|
title="数据汇总"
|
|
|
className="shadow-card"
|
|
className="shadow-card"
|
|
|
bodyStyle={{ padding: state.loading ? '24px' : 0 }}
|
|
bodyStyle={{ padding: state.loading ? '24px' : 0 }}
|
|
|
- loading={state.loading}>
|
|
|
|
|
|
|
+ loading={state.loading}
|
|
|
|
|
+ >
|
|
|
<ul>
|
|
<ul>
|
|
|
<li className="px-12px py-16px border-b-1">
|
|
<li className="px-12px py-16px border-b-1">
|
|
|
新增客户<b className="px-1">{state.aggregation.clientCount}</b>个,服务
|
|
新增客户<b className="px-1">{state.aggregation.clientCount}</b>个,服务
|