diff --git a/package-lock.json b/package-lock.json
index 31d28f8..27fe9d6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,9 +10,9 @@
"dependencies": {
"@ant-design/charts": "^1.4.2",
"@ant-design/pro-components": "^2.6.16",
- "@haina/utils-commons": "https://research.hainatravel.com/npm/utils-commons-0.1.1.tgz",
- "@haina/utils-pagespy": "https://research.hainatravel.com/npm/utils-pagespy-0.1.1.tgz",
- "@haina/utils-request": "https://research.hainatravel.com/npm/utils-request-0.1.1.tgz",
+ "@haina/utils-commons": "https://research.hainatravel.com/npm/utils-commons-0.1.2.tgz",
+ "@haina/utils-pagespy": "https://research.hainatravel.com/npm/utils-pagespy-0.1.2.tgz",
+ "@haina/utils-request": "https://research.hainatravel.com/npm/utils-request-0.1.2.tgz",
"antd": "^4.22.6",
"dingtalk-jsapi": "^3.0.9",
"docx": "^9.5.1",
@@ -3847,21 +3847,21 @@
}
},
"node_modules/@haina/utils-commons": {
- "version": "0.1.1",
- "resolved": "https://research.hainatravel.com/npm/utils-commons-0.1.1.tgz",
- "integrity": "sha512-I3Ll5iNLtrnOCzs0IB3OXGQa0l75aQT740NKCUFwR1DHRx9vjeoqestS/PamZN1fuiodxWHkOao3JXOPRwSSfw==",
+ "version": "0.1.2",
+ "resolved": "https://research.hainatravel.com/npm/utils-commons-0.1.2.tgz",
+ "integrity": "sha512-7BhbQ6aLTzhLm7lHyswVj4Jl2FGfj9/W5xQiLYcEkzZGdQViXa7ILxVHPFLKPeAD4LdcWJBpeS3fOQ/Z3XHwdg==",
"hasInstallScript": true
},
"node_modules/@haina/utils-pagespy": {
- "version": "0.1.1",
- "resolved": "https://research.hainatravel.com/npm/utils-pagespy-0.1.1.tgz",
- "integrity": "sha512-aMyp8QPDM1URGOn0Bw1z1zUM7MDUDuHiPT8U5Zmusb6EIka+7XVmunQGy7HMPSgrfByD5DlNFkF/l5ej45PRtA==",
+ "version": "0.1.2",
+ "resolved": "https://research.hainatravel.com/npm/utils-pagespy-0.1.2.tgz",
+ "integrity": "sha512-0kpGUgIiKWnyJjVw/ZzE8cLRc36p/vuHTcDrgyi41VLexRTX1NrdJgh5wUYpC/TMqWpIx+OYutPITTuG6z0YOQ==",
"hasInstallScript": true
},
"node_modules/@haina/utils-request": {
- "version": "0.1.1",
- "resolved": "https://research.hainatravel.com/npm/utils-request-0.1.1.tgz",
- "integrity": "sha512-p+0ApwEf+lcSOr7tS9kdgZmW+vZc0Gol6+8IejNv/qfMk6cmuBJYn5khvcSR1mblBPMag+464YpoBI32R9OMDQ==",
+ "version": "0.1.2",
+ "resolved": "https://research.hainatravel.com/npm/utils-request-0.1.2.tgz",
+ "integrity": "sha512-TnaqEMT/WrIGVFxEH0x0qxjwnIuvNoDOJrw/vACYdpSsdx1TjFwOPjh0bLaiBn41tvVGWK8QDUwQqfB9pFFxOg==",
"hasInstallScript": true
},
"node_modules/@humanwhocodes/config-array": {
@@ -24413,16 +24413,16 @@
"integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA=="
},
"@haina/utils-commons": {
- "version": "https://research.hainatravel.com/npm/utils-commons-0.1.1.tgz",
- "integrity": "sha512-I3Ll5iNLtrnOCzs0IB3OXGQa0l75aQT740NKCUFwR1DHRx9vjeoqestS/PamZN1fuiodxWHkOao3JXOPRwSSfw=="
+ "version": "https://research.hainatravel.com/npm/utils-commons-0.1.2.tgz",
+ "integrity": "sha512-7BhbQ6aLTzhLm7lHyswVj4Jl2FGfj9/W5xQiLYcEkzZGdQViXa7ILxVHPFLKPeAD4LdcWJBpeS3fOQ/Z3XHwdg=="
},
"@haina/utils-pagespy": {
- "version": "https://research.hainatravel.com/npm/utils-pagespy-0.1.1.tgz",
- "integrity": "sha512-aMyp8QPDM1URGOn0Bw1z1zUM7MDUDuHiPT8U5Zmusb6EIka+7XVmunQGy7HMPSgrfByD5DlNFkF/l5ej45PRtA=="
+ "version": "https://research.hainatravel.com/npm/utils-pagespy-0.1.2.tgz",
+ "integrity": "sha512-0kpGUgIiKWnyJjVw/ZzE8cLRc36p/vuHTcDrgyi41VLexRTX1NrdJgh5wUYpC/TMqWpIx+OYutPITTuG6z0YOQ=="
},
"@haina/utils-request": {
- "version": "https://research.hainatravel.com/npm/utils-request-0.1.1.tgz",
- "integrity": "sha512-p+0ApwEf+lcSOr7tS9kdgZmW+vZc0Gol6+8IejNv/qfMk6cmuBJYn5khvcSR1mblBPMag+464YpoBI32R9OMDQ=="
+ "version": "https://research.hainatravel.com/npm/utils-request-0.1.2.tgz",
+ "integrity": "sha512-TnaqEMT/WrIGVFxEH0x0qxjwnIuvNoDOJrw/vACYdpSsdx1TjFwOPjh0bLaiBn41tvVGWK8QDUwQqfB9pFFxOg=="
},
"@humanwhocodes/config-array": {
"version": "0.11.10",
diff --git a/package.json b/package.json
index 7493481..e30ac06 100644
--- a/package.json
+++ b/package.json
@@ -5,9 +5,9 @@
"dependencies": {
"@ant-design/charts": "^1.4.2",
"@ant-design/pro-components": "^2.6.16",
- "@haina/utils-commons": "https://research.hainatravel.com/npm/utils-commons-0.1.1.tgz",
- "@haina/utils-pagespy": "https://research.hainatravel.com/npm/utils-pagespy-0.1.1.tgz",
- "@haina/utils-request": "https://research.hainatravel.com/npm/utils-request-0.1.1.tgz",
+ "@haina/utils-commons": "https://research.hainatravel.com/npm/utils-commons-0.1.2.tgz",
+ "@haina/utils-pagespy": "https://research.hainatravel.com/npm/utils-pagespy-0.1.2.tgz",
+ "@haina/utils-request": "https://research.hainatravel.com/npm/utils-request-0.1.2.tgz",
"antd": "^4.22.6",
"dingtalk-jsapi": "^3.0.9",
"docx": "^9.5.1",
diff --git a/src/charts/Customer_care_regular_pivot.jsx b/src/charts/Customer_care_regular_pivot.jsx
index d274c9a..62aebe2 100644
--- a/src/charts/Customer_care_regular_pivot.jsx
+++ b/src/charts/Customer_care_regular_pivot.jsx
@@ -4,7 +4,7 @@ import { stores_Context } from '../config';
import { Table, Row, Col, Divider, Switch, Space, Tabs } from 'antd';
import SearchForm from '../components/search/SearchForm';
import { TableExportBtn, VSTag } from '../components/Data';
-import { fixTo2Decimals, isEmpty } from '../utils/commons';
+import { fixTo2Decimals, isEmpty } from '@haina/utils-commons';
// 注意TdCell要提到DataTable作用域外声明
const TdCell = (tdprops) => {
diff --git a/src/charts/ExchangeRate.jsx b/src/charts/ExchangeRate.jsx
index 005cc0a..e9bccda 100644
--- a/src/charts/ExchangeRate.jsx
+++ b/src/charts/ExchangeRate.jsx
@@ -5,7 +5,7 @@ import GroupSelect from "../components/search/GroupSelect";
import DatePickerCharts from "../components/search/DatePickerCharts";
import { stores_Context } from "../config";
import { observer } from "mobx-react";
-import * as comm from "../utils/commons";
+import { emptyValue } from "@haina/utils-commons";
import { Line } from "@ant-design/charts";
import * as config from "../config";
@@ -19,7 +19,7 @@ class ExchangeRate extends Component {
render() {
const { dashboard_store, date_picker_store } = this.context;
const { exchangeRate_data } = dashboard_store;
- const line_data_source = comm.empty(exchangeRate_data.data) ? [] : exchangeRate_data.data.CurrencyData1;
+ const line_data_source = emptyValue(exchangeRate_data.data) ? [] : exchangeRate_data.data.CurrencyData1;
const line_config = {
data: line_data_source,
padding: "auto",
diff --git a/src/components/BulletWithSort.jsx b/src/components/BulletWithSort.jsx
index 883cdac..8d1fc90 100644
--- a/src/components/BulletWithSort.jsx
+++ b/src/components/BulletWithSort.jsx
@@ -1,7 +1,7 @@
import { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import { Bullet } from '@ant-design/plots';
-import { sortBy, merge, isEmpty } from '../utils/commons';
+import { sortBy, merge, isEmpty } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
export default observer((props) => {
diff --git a/src/components/Column.jsx b/src/components/Column.jsx
index d5a8e40..91a9ef7 100644
--- a/src/components/Column.jsx
+++ b/src/components/Column.jsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
-import { sortBy, merge } from '../utils/commons';
+import { sortBy, merge } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
import { Column } from '@ant-design/plots';
diff --git a/src/components/DateGroupRadio/date.js b/src/components/DateGroupRadio/date.js
index 813d575..69eeeae 100644
--- a/src/components/DateGroupRadio/date.js
+++ b/src/components/DateGroupRadio/date.js
@@ -1,5 +1,5 @@
import moment from 'moment';
-import { fixTo2Decimals, groupBy, isEmpty, sortBy } from '../../utils/commons';
+import { fixTo2Decimals, groupBy, isEmpty, sortBy } from '@haina/utils-commons';
export const datePartOptions = [
{ label: '日', value: 'day' },
diff --git a/src/components/Donut.jsx b/src/components/Donut.jsx
index e7e5f2f..26f20b8 100644
--- a/src/components/Donut.jsx
+++ b/src/components/Donut.jsx
@@ -1,6 +1,6 @@
import { observer } from 'mobx-react';
import { Pie, measureTextWidth } from '@ant-design/plots';
-import { fixTo2Decimals, merge } from '../utils/commons';
+import { fixTo2Decimals, merge } from '@haina/utils-commons';
import { dataFieldAlias } from './../libs/ht';
export default observer((props) => {
diff --git a/src/components/LineWithAvg.jsx b/src/components/LineWithAvg.jsx
index f4e0432..9150b92 100644
--- a/src/components/LineWithAvg.jsx
+++ b/src/components/LineWithAvg.jsx
@@ -4,10 +4,10 @@ import { Line } from '@ant-design/plots';
import { observer } from 'mobx-react';
import { dataFieldAlias } from '../libs/ht';
import DateGroupRadio from '../components/DateGroupRadio';
-import { cloneDeep, groupBy, sortBy } from '../utils/commons';
+import { cloneDeep, groupBy, sortBy } from '@haina/utils-commons';
export default observer((props) => {
- const { dataSource: rawData, showAVG, showCompareSum, loading, solidLineTime,
+ const { dataSource: rawData, showAVG, showCompareSum, loading, solidLineTime,
solidLineDash, isCompareLine,solidLineCompareTime, ...config } = props;
const { xField, yField, yFieldAlias, seriesField } = config;
@@ -105,7 +105,7 @@ export default observer((props) => {
setLineConfig({ ...lineConfig, yField, xField,});
if (showCompareSum) {
const _sumLine = Object.keys(byDays).reduce((r, _d) => {
- const summaryVal = byDays[_d].reduce((rows, row) =>
+ const summaryVal = byDays[_d].reduce((rows, row) =>
{
if (row[seriesField].includes(solidLineTime)){
return rows + row[yField];
@@ -115,7 +115,7 @@ export default observer((props) => {
}
}
, 0);
- const summaryCompareVal = byDays[_d].reduce((rows, row) =>
+ const summaryCompareVal = byDays[_d].reduce((rows, row) =>
{
if (row[seriesField].includes(solidLineCompareTime)){
return rows + row[yField];
@@ -153,7 +153,7 @@ export default observer((props) => {
// console.log(groupByDate);
const _data = Object.keys(groupByDate).reduce((r, _d) => {
if (showCompareSum) {
- const summaryVal = groupByDate[_d].reduce((rows, row) =>
+ const summaryVal = groupByDate[_d].reduce((rows, row) =>
{
if (row[seriesField].includes(solidLineTime)){
return rows + row[yField];
@@ -163,7 +163,7 @@ export default observer((props) => {
}
}
, 0);
- const summaryCompareVal = groupByDate[_d].reduce((rows, row) =>
+ const summaryCompareVal = groupByDate[_d].reduce((rows, row) =>
{
if (row[seriesField].includes(solidLineCompareTime)){
return rows + row[yField];
@@ -180,7 +180,7 @@ export default observer((props) => {
const summaryVal = groupByDate[_d].reduce((rows, row) => rows + row[yField], 0);
_sumLine.push({ ...groupByDate[_d][0], [yField]: summaryVal, [seriesField]: '总计' });
}
-
+
const xAxisGroup = groupByDate[_d].reduce((a, v) => {
(a[v[seriesField]] || (a[v[seriesField]] = [])).push(v);
diff --git a/src/components/LineWithKPI.jsx b/src/components/LineWithKPI.jsx
index 0ef90af..632d0c3 100644
--- a/src/components/LineWithKPI.jsx
+++ b/src/components/LineWithKPI.jsx
@@ -1,6 +1,6 @@
import { observer } from 'mobx-react';
import { Line } from '@ant-design/plots';
-import { merge, isEmpty, groupBy, sortBy } from '../utils/commons';
+import { merge, isEmpty, groupBy, sortBy } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
export default observer((props) => {
diff --git a/src/components/MapCountry.jsx b/src/components/MapCountry.jsx
index ab44db3..5e2870e 100644
--- a/src/components/MapCountry.jsx
+++ b/src/components/MapCountry.jsx
@@ -2,7 +2,7 @@ import { useContext, useState, useEffect, useMemo } from 'react';
import { observer } from 'mobx-react';
import { ChoroplethMap } from '@ant-design/maps';
import { dataFieldAlias } from '../libs/ht';
-import { cloneDeep } from '../utils/commons';
+import { cloneDeep } from '@haina/utils-commons';
export default observer((props) => {
const { dataSource, sourceField, valueField, containerNode, ...extConfig } = props;
diff --git a/src/components/MixFieldsDetail.jsx b/src/components/MixFieldsDetail.jsx
index d0e3f88..48ba5ef 100644
--- a/src/components/MixFieldsDetail.jsx
+++ b/src/components/MixFieldsDetail.jsx
@@ -1,7 +1,7 @@
import { observer } from 'mobx-react';
import { message } from 'antd';
import { Mix, getCanvasPattern, } from '@ant-design/plots';
-import { merge, isEmpty, cloneDeep } from '../utils/commons';
+import { merge, isEmpty, cloneDeep } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
const COLOR_SETS = [
diff --git a/src/components/MixTBWithKPI.jsx b/src/components/MixTBWithKPI.jsx
index 1737a57..80ca611 100644
--- a/src/components/MixTBWithKPI.jsx
+++ b/src/components/MixTBWithKPI.jsx
@@ -1,6 +1,6 @@
import { observer } from 'mobx-react';
import { Mix } from '@ant-design/plots';
-import { merge, isEmpty, groupBy, cloneDeep } from '../utils/commons';
+import { merge, isEmpty, groupBy, cloneDeep } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
export default observer((props) => {
diff --git a/src/components/MixYnQ.jsx b/src/components/MixYnQ.jsx
index 26c456c..fa2c4fe 100644
--- a/src/components/MixYnQ.jsx
+++ b/src/components/MixYnQ.jsx
@@ -1,6 +1,6 @@
import { observer } from 'mobx-react';
import { Mix, getCanvasPattern } from '@ant-design/plots';
-import { merge, isEmpty, cloneDeep } from '../utils/commons';
+import { merge, isEmpty, cloneDeep } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
const COLOR_SETS = [
diff --git a/src/components/Pareto.jsx b/src/components/Pareto.jsx
index 0545e6f..febd65b 100644
--- a/src/components/Pareto.jsx
+++ b/src/components/Pareto.jsx
@@ -1,6 +1,6 @@
import React from 'react';
import { DualAxes } from '@ant-design/charts';
-import { fixTo2Decimals, fixTo4Decimals, fixTo1Decimals, groupBy } from '../utils/commons';
+import { fixTo2Decimals, fixTo4Decimals, fixTo1Decimals, groupBy } from '@haina/utils-commons';
const ParetoChart = ({ data, xField, yField, thresholds = { A: 80, B: 90 }, title = '帕累托分析', showCategory = true, showThresholds = true, yFieldAlias }) => {
// 1. 数据清洗
diff --git a/src/components/Scatter.jsx b/src/components/Scatter.jsx
index 3ef84a2..9ef385a 100644
--- a/src/components/Scatter.jsx
+++ b/src/components/Scatter.jsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
-import { sortBy, merge } from '../utils/commons';
+import { sortBy, merge } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
import { Mix, Scatter } from '@ant-design/plots';
diff --git a/src/components/Waterfall.jsx b/src/components/Waterfall.jsx
index 9e55075..6c48e10 100644
--- a/src/components/Waterfall.jsx
+++ b/src/components/Waterfall.jsx
@@ -1,7 +1,7 @@
import { observer } from 'mobx-react';
import { Waterfall } from '@ant-design/plots';
import { dataFieldAlias } from './../libs/ht';
-import { fixTo4Decimals, merge } from '../utils/commons';
+import { fixTo4Decimals, merge } from '@haina/utils-commons';
export default observer((props) => {
const { dataSource, line, title, ...extProps } = props;
diff --git a/src/components/kpi/KPISettings.jsx b/src/components/kpi/KPISettings.jsx
index 1fa48d1..5a23767 100644
--- a/src/components/kpi/KPISettings.jsx
+++ b/src/components/kpi/KPISettings.jsx
@@ -4,7 +4,7 @@ import { stores_Context } from './../../config';
import { Typography, Row, Col, Tabs, } from 'antd';
import SearchForm from './../search/SearchForm';
import { KPIObjects } from './../../libs/ht';
-import { merge, pick } from './../../utils/commons';
+import { merge, pick } from '@haina/utils-commons';
import ProfitTable from './SubjectTable/Profit';
import Count from './SubjectTable/Count';
import Rates from './SubjectTable/Rates';
diff --git a/src/components/kpi/OverviewPanel.jsx b/src/components/kpi/OverviewPanel.jsx
index ff41007..10be00f 100644
--- a/src/components/kpi/OverviewPanel.jsx
+++ b/src/components/kpi/OverviewPanel.jsx
@@ -7,7 +7,7 @@ import { Button, Table, Switch, Input, Space, Typography, Row, Col, Spin, Radio,
import { EditableProTable, ProCard, ProFormField } from '@ant-design/pro-components';
import SearchForm from './../search/SearchForm';
import { bu } from './../../libs/ht';
-import { isEmpty, objectMapper, fixToInt, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter } from './../../utils/commons';
+import { isEmpty, objectMapper, fixToInt, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter } from '@haina/utils-commons';
const { Text } = Typography;
const initialPercentKey = new Array(12).fill(1).reduce((r, v, i) => ({ ...r, [`M${i + 1}Percent`]: [8, 9].includes(i) ? 10 : 8 }), {});
diff --git a/src/components/kpi/SubjectTable/Count.jsx b/src/components/kpi/SubjectTable/Count.jsx
index 7c5afd8..7a50e1c 100644
--- a/src/components/kpi/SubjectTable/Count.jsx
+++ b/src/components/kpi/SubjectTable/Count.jsx
@@ -5,7 +5,7 @@ import { stores_Context } from '../../../config';
import { Button, Switch, Input, Space, Typography, Row, Col, message } from 'antd';
import { EditableProTable } from '@ant-design/pro-components';
import { KPIObjects } from '../../../libs/ht';
-import { isEmpty, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter, fixToInt } from '../../../utils/commons';
+import { isEmpty, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter, fixToInt } from '@haina/utils-commons';
export const KPIObjectsMapped = KPIObjects.reduce((a, c) => ({ ...a, [String(c.key)]: c }), {});
const { Text } = Typography;
diff --git a/src/components/kpi/SubjectTable/Profit.jsx b/src/components/kpi/SubjectTable/Profit.jsx
index 0aafaf0..a616c3b 100644
--- a/src/components/kpi/SubjectTable/Profit.jsx
+++ b/src/components/kpi/SubjectTable/Profit.jsx
@@ -5,7 +5,7 @@ import { stores_Context } from './../../../config';
import { Button, Switch, Input, Space, Typography, Row, Col, message } from 'antd';
import { EditableProTable } from '@ant-design/pro-components';
import { KPIObjects } from './../../../libs/ht';
-import { isEmpty, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter, fixToInt } from './../../../utils/commons';
+import { isEmpty, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter, fixToInt } from '@haina/utils-commons';
export const KPIObjectsMapped = KPIObjects.reduce((a, c) => ({ ...a, [String(c.key)]: c }), {});
const { Text } = Typography;
diff --git a/src/components/kpi/SubjectTable/Rates.jsx b/src/components/kpi/SubjectTable/Rates.jsx
index cb94cfa..0e684af 100644
--- a/src/components/kpi/SubjectTable/Rates.jsx
+++ b/src/components/kpi/SubjectTable/Rates.jsx
@@ -5,7 +5,7 @@ import { stores_Context } from '../../../config';
import { Button, Switch, Input, Space, Typography, Row, Col, message } from 'antd';
import { EditableProTable } from '@ant-design/pro-components';
import { KPIObjects } from '../../../libs/ht';
-import { isEmpty, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter, fixToInt } from '../../../utils/commons';
+import { isEmpty, fixTo2Decimals, fixTo4Decimals, cloneDeep, numberFormatter, fixToInt } from '@haina/utils-commons';
export const KPIObjectsMapped = KPIObjects.reduce((a, c) => ({ ...a, [String(c.key)]: c }), {});
const { Text } = Typography;
diff --git a/src/components/search/Input.jsx b/src/components/search/Input.jsx
index dffe4c9..2ea3a4b 100644
--- a/src/components/search/Input.jsx
+++ b/src/components/search/Input.jsx
@@ -1,8 +1,8 @@
import React from 'react';
import { Select } from 'antd';
-import { fetchJSON } from './../../utils/request';
+import { fetchJSON } from '@haina/utils-request';
import { observer } from 'mobx-react';
-import { isEmpty, merge, objectMapper } from './../../utils/commons';
+import { isEmpty, merge, objectMapper } from '@haina/utils-commons';
const { Option } = Select;
diff --git a/src/components/search/SearchForm.jsx b/src/components/search/SearchForm.jsx
index e62fc09..9cdd309 100644
--- a/src/components/search/SearchForm.jsx
+++ b/src/components/search/SearchForm.jsx
@@ -1,7 +1,7 @@
import { createContext, useContext, useEffect } from 'react';
import { toJS } from 'mobx';
import { observer } from 'mobx-react';
-import { DATE_FORMAT, SMALL_DATETIME_FORMAT, stores_Context } from './../../config';
+import { DATE_FORMAT, HT_HOST, SMALL_DATETIME_FORMAT, stores_Context } from './../../config';
import { SearchOutlined } from '@ant-design/icons';
import { Form, Row, Col, Select, Button, Space, DatePicker, Input, InputNumber } from 'antd';
import moment from 'moment';
@@ -14,7 +14,7 @@ import DateTypeSelect from './DataTypeSelect';
import DatePickerCharts from './DatePickerCharts';
import YearPickerCharts from './YearPickerCharts';
import SearchInput from './Input';
-import { objectMapper, at, empty, isEmpty } from './../../utils/commons';
+import { objectMapper, at, empty, isEmpty } from '@haina/utils-commons';
import { departureDateTypes } from './../../libs/ht';
import './search.css';
@@ -317,7 +317,7 @@ function getFields(props) {
'agency',
99,
-
+
),
item(
@@ -326,7 +326,7 @@ function getFields(props) {
-
+
),
item(
'city',
99,
-
+
),
item(
'globalCity',
99,
-
+
),
item(
diff --git a/src/libs/ht.js b/src/libs/ht.js
index 8da95c0..e643885 100644
--- a/src/libs/ht.js
+++ b/src/libs/ht.js
@@ -1,5 +1,5 @@
import moment from 'moment';
-import { fixTo4Decimals, fixTo1Decimals, fixToInt, groupBy, sortBy, cloneDeep, pick, unique, flush, fixTo2Decimals, isEmpty } from '../utils/commons';
+import { fixTo4Decimals, fixTo1Decimals, fixToInt, groupBy, sortBy, cloneDeep, pick, unique, flush, fixTo2Decimals, isEmpty } from '@haina/utils-commons';
/**
* 事业部
diff --git a/src/stores/CustomerServices.js b/src/stores/CustomerServices.js
index f37af87..bedc9f6 100644
--- a/src/stores/CustomerServices.js
+++ b/src/stores/CustomerServices.js
@@ -2,8 +2,9 @@ import {makeAutoObservable, runInAction} from "mobx";
import moment from "moment";
import { NavLink } from "react-router-dom";
import * as config from "../config";
-import * as req from '../utils/request';
-import { groupBy, prepareUrl, isEmpty, show_vs_tag, formatPercent, percentToDecimal } from '../utils/commons';
+import * as req from '@haina/utils-request';
+import { groupBy, prepareUrl, isEmpty, formatPercent, percentToDecimal } from '@haina/utils-commons';
+import { show_vs_tag, } from "./../utils/commons";
class CustomerServices {
diff --git a/src/stores/CustomerStore.js b/src/stores/CustomerStore.js
index e428826..b5c045b 100644
--- a/src/stores/CustomerStore.js
+++ b/src/stores/CustomerStore.js
@@ -1,15 +1,16 @@
import {makeAutoObservable, runInAction, toJS } from "mobx";
-import { fetchJSON } from '../utils/request';
+import { fetchJSON } from '@haina/utils-request';
import * as config from "../config";
import { groupsMappedByKey, sitesMappedByCode, pivotBy } from './../libs/ht';
-import { sortBy, show_vs_tag, formatPercent, groupBy, isEmpty, uniqWith, formatPercentToFloat } from "../utils/commons";
+import { sortBy, formatPercent, groupBy, isEmpty, uniqWith, formatPercentToFloat } from "@haina/utils-commons";
+import { show_vs_tag, } from "./../utils/commons";
import moment from 'moment';
/**
* 用于透视的数据
*/
const getDetailData = async (param) => {
- const json = await fetchJSON('/service-Analyse2/GetTradeApartDetail', param);
+ const json = await fetchJSON(config.HT_HOST + '/service-Analyse2/GetTradeApartDetail', param);
return json.errcode === 0 ? json.result : [];
};
diff --git a/src/stores/DataPivot.js b/src/stores/DataPivot.js
index 9117f8b..d2b3e40 100644
--- a/src/stores/DataPivot.js
+++ b/src/stores/DataPivot.js
@@ -1,7 +1,8 @@
import { makeAutoObservable, runInAction, toJS } from 'mobx';
-import { fetchJSON } from '../utils/request';
-import { isEmpty, sortBy, pick, merge, fixTo2Decimals, groupBy, sortKeys, fixToInt, cloneDeep } from '../utils/commons';
+import { fetchJSON } from '@haina/utils-request';
+import { isEmpty, sortBy, pick, merge, fixTo2Decimals, groupBy, sortKeys, fixToInt, cloneDeep } from '@haina/utils-commons';
import { dataFieldAlias } from './../libs/ht';
+import { HT_HOST } from '../config';
class Trade {
constructor(rootStore) {
@@ -15,7 +16,7 @@ class Trade {
getDetailData = async (param, page) => {
this.loading = true;
this.detailData[page] = { loading: true, dataSource: [], originData: [] };
- const json = await fetchJSON('/service-Analyse2/GetTradeApartDetail', param);
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/GetTradeApartDetail', param);
if (json.errcode === 0) {
runInAction(() => {
this.loading = false;
@@ -27,7 +28,7 @@ class Trade {
if (!isEmpty(param.DateDiff1)) {
this.loading2 = true;
const param2 = { ...cloneDeep(param), Date1: param.DateDiff1, Date2: param.DateDiff2 };
- const json2 = await fetchJSON('/service-Analyse2/GetTradeApartDetail', param2);
+ const json2 = await fetchJSON(HT_HOST + '/service-Analyse2/GetTradeApartDetail', param2);
if (json2.errcode === 0) {
runInAction(() => {
this.loading2 = false;
diff --git a/src/stores/DictData.js b/src/stores/DictData.js
index 6c53bd3..abda859 100644
--- a/src/stores/DictData.js
+++ b/src/stores/DictData.js
@@ -1,10 +1,11 @@
import { makeAutoObservable, runInAction, toJS } from 'mobx';
-import * as req from '../utils/request';
-import { isEmpty, sortBy, objectMapper } from '../utils/commons';
+import * as req from '@haina/utils-request';
+import { isEmpty, sortBy, objectMapper } from '@haina/utils-commons';
+import { HT_HOST } from '../config';
const modelMapper = {
'operator': {
- url: '/service-Analyse2/GetOperatorInfo',
+ url: HT_HOST + '/service-Analyse2/GetOperatorInfo',
mapper: {
op_id: [{ key: 'key' }, { key: 'value' }],
cn_name: { key: 'label' },
@@ -12,7 +13,7 @@ const modelMapper = {
},
},
'country': {
- url: '/service-Analyse2/GetCountryInfo',
+ url: HT_HOST + '/service-Analyse2/GetCountryInfo',
mapper: {
c_id: [{ key: 'key' }, { key: 'value' }],
cn_name: { key: 'label' },
@@ -20,7 +21,7 @@ const modelMapper = {
},
},
'destination': {
- url: '/service-Analyse2/GetDestinationInfo/test',
+ url: HT_HOST + '/service-Analyse2/GetDestinationInfo/test',
mapper: {
id: [{ key: 'key' }, { key: 'value' }],
cn_name: { key: 'label' },
@@ -28,14 +29,14 @@ const modelMapper = {
},
},
'vendor': {
- url: '/service-web/QueryData/GetVEIName',
+ url: HT_HOST + '/service-web/QueryData/GetVEIName',
mapper: {
CAV_VEI_SN: [{ key: 'key' }, { key: 'value' }],
VEI2_CompanyBN: { key: 'label' },
},
},
'creditcardbilltype': {
- url: '/service-web/QueryData/GetCreditCardBillType',
+ url: HT_HOST + '/service-web/QueryData/GetCreditCardBillType',
mapper: {
cb_billtype: [{ key: 'key' }, { key: 'value' }, { key: 'label' }],
},
diff --git a/src/stores/Distribution.js b/src/stores/Distribution.js
index 3d387a8..745d46b 100644
--- a/src/stores/Distribution.js
+++ b/src/stores/Distribution.js
@@ -1,19 +1,19 @@
import { makeAutoObservable, runInAction, toJS } from 'mobx';
-import * as req from '../utils/request';
-import { DATE_FORMAT, SMALL_DATETIME_FORMAT } from './../config';
+import * as req from '@haina/utils-request';
+import { DATE_FORMAT, SMALL_DATETIME_FORMAT, HT_HOST } from './../config';
import moment from 'moment';
-import { isEmpty, pick, sortBy, fixTo2Decimals, cloneDeep, unique } from '../utils/commons';
+import { isEmpty, pick, sortBy, fixTo2Decimals, cloneDeep, unique } from '@haina/utils-commons';
const modelMapper = {
- 'tourDays': { url: '/service-Analyse2/GetTradeApartByTourDays', keySort: true, dynamicsX: false },
- 'PML': { url: '/service-Analyse2/GetTradeApartByPML', keySort: true, dynamicsX: false },
- 'ConfirmDays': { url: '/service-Analyse2/GetTradeApartByConfirmDays', keySort: true, dynamicsX: false },
- 'ApplyDays': { url: '/service-Analyse2/GetTradeApartByApplyDays', keySort: true, dynamicsX: false },
- 'PersonNum': { url: '/service-Analyse2/GetTradeApartByPersonNum', keySort: true, dynamicsX: false },
- 'destination': { url: '/service-Analyse2/GetTradeApartByDestination', keySort: false, dynamicsX: true, },
- 'GlobalDestination': { url: '/service-Analyse2/GetTradeApartByGlobalDestination', keySort: false, dynamicsX: true, },
- 'destinationCountry': { url: '/service-Analyse2/GetTradeApartByDestinationCountry', keySort: false, dynamicsX: true, },
- 'guestCountry': { url: '/service-Analyse2/GetTradeApartByGuestCountry', keySort: false, dynamicsX: true, },
+ 'tourDays': { url: HT_HOST + '/service-Analyse2/GetTradeApartByTourDays', keySort: true, dynamicsX: false },
+ 'PML': { url: HT_HOST + '/service-Analyse2/GetTradeApartByPML', keySort: true, dynamicsX: false },
+ 'ConfirmDays': { url: HT_HOST + '/service-Analyse2/GetTradeApartByConfirmDays', keySort: true, dynamicsX: false },
+ 'ApplyDays': { url: HT_HOST + '/service-Analyse2/GetTradeApartByApplyDays', keySort: true, dynamicsX: false },
+ 'PersonNum': { url: HT_HOST + '/service-Analyse2/GetTradeApartByPersonNum', keySort: true, dynamicsX: false },
+ 'destination': { url: HT_HOST + '/service-Analyse2/GetTradeApartByDestination', keySort: false, dynamicsX: true, },
+ 'GlobalDestination': { url: HT_HOST + '/service-Analyse2/GetTradeApartByGlobalDestination', keySort: false, dynamicsX: true, },
+ 'destinationCountry': { url: HT_HOST + '/service-Analyse2/GetTradeApartByDestinationCountry', keySort: false, dynamicsX: true, },
+ 'guestCountry': { url: HT_HOST + '/service-Analyse2/GetTradeApartByGuestCountry', keySort: false, dynamicsX: true, },
};
class Distribution {
constructor(appStore) {
@@ -76,7 +76,7 @@ class Distribution {
*/
getDetailData = async (param) => {
this.detailData.loading = true;
- const json = await req.fetchJSON('/service-Analyse2/GetTradeApartDetail', param);
+ const json = await req.fetchJSON(HT_HOST + '/service-Analyse2/GetTradeApartDetail', param);
if (json.errcode === 0) {
runInAction(() => {
this.detailData.loading = false;
diff --git a/src/stores/FinancialStore.js b/src/stores/FinancialStore.js
index 0466fc2..6c0702f 100644
--- a/src/stores/FinancialStore.js
+++ b/src/stores/FinancialStore.js
@@ -1,7 +1,7 @@
import {makeAutoObservable, runInAction} from "mobx";
import * as config from "../config";
-import * as comm from '../utils/commons';
-import { fetchJSON } from '../utils/request';
+import * as comm from '@haina/utils-commons';
+import { fetchJSON } from '@haina/utils-request';
// 财务管理
@@ -42,7 +42,7 @@ class FinancialStore {
set_bill_filtered(values) {
if (Array.isArray(values)) {
this.credit_card_data.filteredValue = values;
- } else if (comm.empty(values)) {
+ } else if (comm.emptyValue(values)) {
this.credit_card_data.filteredValue = [];
} else {
this.credit_card_data.filteredValue = [values];
@@ -55,7 +55,7 @@ class FinancialStore {
set_table_handleChange = (pagination, filters, sorter) => {
const filters_arr = Object.values(filters);
- if (!comm.empty(filters_arr)) {
+ if (!comm.emptyValue(filters_arr)) {
this.set_bill_filtered(filters_arr[0]);
}
};
@@ -138,9 +138,9 @@ class FinancialStore {
*/
serviceModelMapper = {
- 'inbound': { url: '/service-Analyse2/inbound_person_num', keySort: true, dynamicsX: false },
- 'outbound': { url: '/service-Analyse2/outbound_person_num', keySort: true, dynamicsX: false },
- 'domestic': { url: '/service-Analyse2/domestic_person_num', keySort: true, dynamicsX: false },
+ 'inbound': { url: config.HT_HOST + '/service-Analyse2/inbound_person_num', keySort: true, dynamicsX: false },
+ 'outbound': { url: config.HT_HOST + '/service-Analyse2/outbound_person_num', keySort: true, dynamicsX: false },
+ 'domestic': { url: config.HT_HOST + '/service-Analyse2/domestic_person_num', keySort: true, dynamicsX: false },
};
servicePersonNum = { curTab: 'inbound', loading: false,
diff --git a/src/stores/HotelCruise.js b/src/stores/HotelCruise.js
index 026f148..1c54be8 100644
--- a/src/stores/HotelCruise.js
+++ b/src/stores/HotelCruise.js
@@ -1,8 +1,8 @@
import { makeAutoObservable, runInAction, toJS } from 'mobx';
-import { fetchJSON } from '../utils/request';
-import { isEmpty, sortDescBy, objectMapper, groupBy, pick, unique, cloneDeep, omit, fixTo2Decimals } from '../utils/commons';
+import { fetchJSON } from '@haina/utils-request';
+import { isEmpty, sortDescBy, objectMapper, groupBy, pick, unique, cloneDeep, omit, fixTo2Decimals } from '@haina/utils-commons';
import { groupsMappedByCode, dataFieldAlias } from './../libs/ht';
-import { DATE_FORMAT, SMALL_DATETIME_FORMAT } from './../config';
+import { DATE_FORMAT, SMALL_DATETIME_FORMAT, HT_HOST } from './../config';
import moment from 'moment';
const fetchHotelData = async (param) => {
@@ -24,7 +24,7 @@ const fetchHotelData = async (param) => {
CompareDateEnd: '',
Area: '-1',
};
- const json = await fetchJSON('/service-Analyse2/HotelReservation', { ...defaultParam, ...param });
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/HotelReservation', { ...defaultParam, ...param });
return json.errcode === 0 ? json.result || [] : [];
};
@@ -47,7 +47,7 @@ const fetchCruiseData = async (param) => {
PersonNumEnd: '',
Country: '-1',
};
- const json = await fetchJSON('/service-Analyse2/CruiseReservation', { ...defaultParam, ...param });
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/CruiseReservation', { ...defaultParam, ...param });
return json.errcode === 0 ? json.result || [] : [];
};
diff --git a/src/stores/KPI.js b/src/stores/KPI.js
index 4f22898..16e4de9 100644
--- a/src/stores/KPI.js
+++ b/src/stores/KPI.js
@@ -1,6 +1,7 @@
import { makeAutoObservable, runInAction, toJS } from 'mobx';
-import * as req from '../utils/request';
-import { isEmpty, sortBy, groupBy, cloneDeep, fixTo4Decimals, flush } from '../utils/commons';
+import * as req from '@haina/utils-request';
+import { isEmpty, sortBy, groupBy, cloneDeep, fixTo4Decimals, flush } from '@haina/utils-commons';
+import { HT_HOST } from '../config';
import moment from 'moment';
class KPI {
@@ -11,13 +12,13 @@ class KPI {
async delByID(ids) {
const data = { 'kpi_ids': ids };
- const json = await req.delJSON('/service-Analyse2/delkpi_multi', data);
+ const json = await req.delJSON(HT_HOST + '/service-Analyse2/delkpi_multi', data);
return json.errcode === 0;
}
async saveOrUpdate(tableData) {
const data = { 'kpis': tableData };
- const json = await req.postJSON('/service-Analyse2/setkpi_multi', data);
+ const json = await req.postJSON(HT_HOST + '/service-Analyse2/setkpi_multi', data);
return json.errcode === 0;
}
@@ -39,7 +40,7 @@ class KPI {
};
this.listLoading = true;
this.pageData = [];
- const json = await req.fetchJSON('/service-Analyse2/getkpi', _param);
+ const json = await req.fetchJSON(HT_HOST + '/service-Analyse2/getkpi', _param);
if (json.errcode === 0) {
const yearData = parseKPI(json.result, ['subject', 'object_id']);
runInAction(() => {
diff --git a/src/stores/MeetingData2024.js b/src/stores/MeetingData2024.js
index 75cd379..e72d8c2 100644
--- a/src/stores/MeetingData2024.js
+++ b/src/stores/MeetingData2024.js
@@ -1,15 +1,15 @@
import { makeAutoObservable, runInAction } from 'mobx';
-import { fetchJSON } from '../utils/request';
-import { objectMapper, pick, price_to_number, } from '../utils/commons';
+import { fetchJSON } from '@haina/utils-request';
+import { objectMapper, pick, price_to_number, } from '@haina/utils-commons';
import { pivotBy } from '../libs/ht';
import moment from "moment";
-import { DATE_FORMAT, DATETIME_FORMAT, SMALL_DATETIME_FORMAT } from '../config';
+import { DATE_FORMAT, DATETIME_FORMAT, SMALL_DATETIME_FORMAT, HT_HOST } from '../config';
/**
* 用于透视的数据
*/
const getDetailData = async (param) => {
- const json = await fetchJSON('/service-Analyse2/GetTradeApartDetail', param);
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/GetTradeApartDetail', param);
return json.errcode === 0 ? json.result : [];
};
/**
@@ -26,7 +26,7 @@ const getOrderCountByType = async (param) => {
Date2: 'COLI_ApplyDate2',
});
const url = '/service-web/QueryData/GetOrderCountByType';
- const json = await fetchJSON(url, paramBody);
+ const json = await fetchJSON(HT_HOST + url, paramBody);
return json.errcode === 0 ? json : {};
};
const getAgentGroupInfoALL = async (param) => {
@@ -37,7 +37,7 @@ const getAgentGroupInfoALL = async (param) => {
// Date2: 'OldDate2',
});
const url = '/service-web/QueryData/GetAgentGroupInfoALL';
- const json = await fetchJSON(url, paramBody);
+ const json = await fetchJSON(HT_HOST + url, paramBody);
return json.errcode === 0 ? json : {};
};
const getDepartmentOrderMLByType = async (param) => {
@@ -47,7 +47,7 @@ const getDepartmentOrderMLByType = async (param) => {
OrderType: 'OrderType', // 总览, 产品类型
});
const url = '/service-web/QueryData/GetDepartmentOrderMLByType';
- const json = await fetchJSON(url, paramBody);
+ const json = await fetchJSON(HT_HOST + url, paramBody);
const { result1 } = json.errcode === 0 ? json : { result1: [] };
const total1 = ['COLI_CJCount', 'COLI_ML2',].reduce(
(r, col) => ({
diff --git a/src/stores/MeetingData2025.js b/src/stores/MeetingData2025.js
index 47d46e4..fcb79d9 100644
--- a/src/stores/MeetingData2025.js
+++ b/src/stores/MeetingData2025.js
@@ -1,15 +1,15 @@
import { makeAutoObservable, runInAction } from 'mobx';
-import { fetchJSON } from '../utils/request';
-import { objectMapper, pick, price_to_number, } from '../utils/commons';
+import { fetchJSON } from '@haina/utils-request';
+import { objectMapper, pick, price_to_number, } from '@haina/utils-commons';
import { pivotBy } from './../libs/ht';
import moment from "moment";
-import { DATE_FORMAT, DATETIME_FORMAT, SMALL_DATETIME_FORMAT } from '../config';
+import { DATE_FORMAT, DATETIME_FORMAT, SMALL_DATETIME_FORMAT, HT_HOST } from '../config';
/**
* 用于透视的数据
*/
const getDetailData = async (param) => {
- const json = await fetchJSON('/service-Analyse2/GetTradeApartDetail', param);
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/GetTradeApartDetail', param);
return json.errcode === 0 ? json.result : [];
};
/**
@@ -26,7 +26,7 @@ const getOrderCountByType = async (param) => {
Date2: 'COLI_ApplyDate2',
});
const url = '/service-web/QueryData/GetOrderCountByType';
- const json = await fetchJSON(url, paramBody);
+ const json = await fetchJSON(HT_HOST + url, paramBody);
return json.errcode === 0 ? json : {};
};
const getAgentGroupInfoALL = async (param) => {
@@ -37,7 +37,7 @@ const getAgentGroupInfoALL = async (param) => {
Date2: 'OldDate2',
});
const url = '/service-web/QueryData/GetAgentGroupInfoALL';
- const json = await fetchJSON(url, paramBody);
+ const json = await fetchJSON(HT_HOST + url, paramBody);
return json.errcode === 0 ? json : {};
};
const getDepartmentOrderMLByType = async (param) => {
@@ -47,7 +47,7 @@ const getDepartmentOrderMLByType = async (param) => {
OrderType: 'OrderType', // 总览, 产品类型
});
const url = '/service-web/QueryData/GetDepartmentOrderMLByType';
- const json = await fetchJSON(url, paramBody);
+ const json = await fetchJSON(HT_HOST + url, paramBody);
const { result1 } = json.errcode === 0 ? json : { result1: [] };
const total1 = ['COLI_CJCount', 'COLI_ML2',].reduce(
(r, col) => ({
diff --git a/src/stores/OrdersStore.js b/src/stores/OrdersStore.js
index 1fd6975..ff2196a 100644
--- a/src/stores/OrdersStore.js
+++ b/src/stores/OrdersStore.js
@@ -2,7 +2,7 @@ import { makeAutoObservable, runInAction, toJS } from "mobx";
import { CaretUpOutlined, CaretDownOutlined } from "@ant-design/icons";
import { Tag } from "antd";
import * as config from "../config";
-import * as comm from "../utils/commons";
+import * as comm from '@haina/utils-commons';
import moment from "moment";
import { NavLink } from "react-router-dom";
import { groupsMappedByCode } from './../libs/ht';
@@ -99,7 +99,7 @@ class OrdersStore {
// 比如2022-10-01~2022-10-30 vs 2021-10-01~2021-10-30 ,则需要在2021年的时间段加365天的时间映射成2022起始时间段
// 相差的天数用a.diff(b, 'days')计算
format_data_source(data_source, start_date, end_date) {
- const result = [];
+ const result = {};
for (const item of data_source.ordercount1) {
if (result[item.ApplyDate]) {
result[item.ApplyDate].yField += item.orderCount;
@@ -130,7 +130,7 @@ class OrdersStore {
}
}
}
- return comm.set_array_index(result);
+ return Object.values(result);
}
/**
diff --git a/src/stores/SaleStore.js b/src/stores/SaleStore.js
index a50e926..41a252d 100644
--- a/src/stores/SaleStore.js
+++ b/src/stores/SaleStore.js
@@ -1,10 +1,11 @@
import { makeAutoObservable, runInAction } from 'mobx';
import moment from 'moment';
import * as config from '../config';
-import * as comm from '../utils/commons';
+import * as comm from '@haina/utils-commons';
+import { show_vs_tag, } from "./../utils/commons";
import { NavLink } from 'react-router-dom';
import { groupsMappedByCode, dataFieldAlias } from './../libs/ht';
-import * as req from '../utils/request';
+import * as req from '@haina/utils-request';
import { parseKPI } from './KPI';
import { parseMergeItem } from './Trade';
@@ -107,8 +108,8 @@ class SaleStore {
let result = [];
const date1_start = date_moment.start_date.format(config.DATE_FORMAT);
const date1_end = date_moment.end_date.format(config.DATE_FORMAT);
- const date2_start = comm.empty(date_moment.start_date_cp) ? '' : date_moment.start_date_cp.format(config.DATE_FORMAT);
- const date2_end = comm.empty(date_moment.end_date_cp) ? '' : date_moment.end_date_cp.format(config.DATE_FORMAT);
+ const date2_start = comm.emptyValue(date_moment.start_date_cp) ? '' : date_moment.start_date_cp.format(config.DATE_FORMAT);
+ const date2_end = comm.emptyValue(date_moment.end_date_cp) ? '' : date_moment.end_date_cp.format(config.DATE_FORMAT);
this.loading = true;
this.date_title = `${date1_start}~${date1_end}`;
let url = '/service-web/QueryData/GetDepartmentOrderML';
@@ -122,7 +123,7 @@ class SaleStore {
.then((response) => response.json())
.then((json) => {
result = json.result1;
- // if (!comm.empty(json.result2) && !comm.empty(date_moment.start_date_cp)) {
+ // if (!comm.emptyValue(json.result2) && !comm.emptyValue(date_moment.start_date_cp)) {
// let diff_days = date_moment.start_date.diff(date_moment.start_date_cp, "days");
// for (let item of json.result2) {
// result.push({
@@ -149,8 +150,8 @@ class SaleStore {
const result = { dataSource: [], columns: [] };
const date1_start = date_moment.start_date.format(config.DATE_FORMAT);
const date1_end = date_moment.end_date.format(config.DATE_FORMAT);
- const date2_start = comm.empty(date_moment.start_date_cp) ? '' : date_moment.start_date_cp.format(config.DATE_FORMAT);
- const date2_end = comm.empty(date_moment.end_date_cp) ? '' : date_moment.end_date_cp.format(config.DATE_FORMAT);
+ const date2_start = comm.emptyValue(date_moment.start_date_cp) ? '' : date_moment.start_date_cp.format(config.DATE_FORMAT);
+ const date2_end = comm.emptyValue(date_moment.end_date_cp) ? '' : date_moment.end_date_cp.format(config.DATE_FORMAT);
this.loading_table = true;
this.date_title = `${date1_start}~${date1_end}`;
let url = '/service-web/QueryData/GetDepartmentOrderMLByType';
@@ -163,7 +164,7 @@ class SaleStore {
fetch(config.HT_HOST + url)
.then((response) => response.json())
.then((json) => {
- // if (!comm.empty(json.result2) && !comm.empty(date_moment.start_date_cp)) {
+ // if (!comm.emptyValue(json.result2) && !comm.emptyValue(date_moment.start_date_cp)) {
// eslint-disable-next-line no-constant-condition
if (false) {
} else {
@@ -383,7 +384,7 @@ class SaleStore {
const items = mergeDiffData.filter((d) => String(d.OPI_SN) === String(item.OPI_SN)); // 筛选出有当前顾问的记录
const total_data_value = items.length ? items.reduce((a, b) => a + b.COLI_YJLY, 0) : ''; // 记录累加
const total_data_value_diff = items.length ? items.reduce((a, b) => a + b.COLI_YJLY2, 0) : ''; // 记录累加
- if (comm.empty(type_data[op_sn])) {
+ if (comm.emptyValue(type_data[op_sn])) {
type_data[op_sn] = [{ key: item.OPI_SN }, { T_name: item.OPI_Name }, { T_OPI: item.OPI_SN }, { T_total: total_data_value }, { V_total: total_data_value_diff }];
}
const _diff = comm.objectMapper(comm.pick(item, ['COLI_YJLY_diff', 'COLI_YJLY_vs', 'COLI_YJLY2']), {
@@ -393,7 +394,7 @@ class SaleStore {
});
type_data[op_sn].push({
['T_' + item.SubTypeSN]: diffDateFlagYes
- ? comm.show_vs_tag(_diff[`vs_${item.SubTypeSN}`]+'%', _diff[`diff_${item.SubTypeSN}`], item.COLI_YJLY, _diff[`v_${item.SubTypeSN}`])
+ ? show_vs_tag(_diff[`vs_${item.SubTypeSN}`]+'%', _diff[`diff_${item.SubTypeSN}`], item.COLI_YJLY, _diff[`v_${item.SubTypeSN}`])
: item.COLI_YJLY,
..._diff,
[`TV_${item.SubTypeSN}`]: item.COLI_YJLY,
@@ -427,7 +428,7 @@ class SaleStore {
children: [
{
title: diffDateFlagYes
- ? comm.show_vs_tag(totalDiff.vs, totalDiff.diff, totalDiff.val, totalDiff.diffVal)
+ ? show_vs_tag(totalDiff.vs, totalDiff.diff, totalDiff.val, totalDiff.diffVal)
: type_data_arr.reduce((a, b) => a + b.T_total, 0),
dataIndex: 'T_total',
},
@@ -447,7 +448,7 @@ class SaleStore {
};
result.columns.push({
title: item.SubTypeName, _val: total_data_value,
- children: [{ title: diffDateFlagYes ? comm.show_vs_tag(columnDiff.vs, columnDiff.diff, total_data_value, total_data_value_diff) : total_data_value, dataIndex: data_index }],
+ children: [{ title: diffDateFlagYes ? show_vs_tag(columnDiff.vs, columnDiff.diff, total_data_value, total_data_value_diff) : total_data_value, dataIndex: data_index }],
sorter: (a, b) => b[`TV_${item.SubTypeSN}`] - a[`TV_${item.SubTypeSN}`],
});
return item;
@@ -476,8 +477,8 @@ class SaleStore {
const result = { dataSource: [], columns: [] };
const date1_start = date_moment.start_date.format(config.DATE_FORMAT);
const date1_end = date_moment.end_date.format(config.DATE_FORMAT);
- const date2_start = comm.empty(date_moment.start_date_cp) ? '' : date_moment.start_date_cp.format(config.DATE_FORMAT);
- const date2_end = comm.empty(date_moment.end_date_cp) ? '' : date_moment.end_date_cp.format(config.DATE_FORMAT);
+ const date2_start = comm.emptyValue(date_moment.start_date_cp) ? '' : date_moment.start_date_cp.format(config.DATE_FORMAT);
+ const date2_end = comm.emptyValue(date_moment.end_date_cp) ? '' : date_moment.end_date_cp.format(config.DATE_FORMAT);
let url = '/service-web/QueryData/GetDepartmentOrderMLByType_sub';
url += `?DepartmentList=${this.groups.toString()}&DateType=${this.date_type}&subType=${type_sub}&subTypeVal=-1&WebCode=${this.webcode}&IncludeTickets=${this.include_tickets}`;
url += `&Date1=${date1_start}&Date2=${date1_end}%2023:59:00`;
@@ -488,7 +489,7 @@ class SaleStore {
fetch(config.HT_HOST + url)
.then((response) => response.json())
.then((json) => {
- // if (!comm.empty(json.result2) && !comm.empty(date_moment.start_date_cp)) {
+ // if (!comm.emptyValue(json.result2) && !comm.emptyValue(date_moment.start_date_cp)) {
// eslint-disable-next-line no-constant-condition
if (false) {
} else {
@@ -533,10 +534,10 @@ class SaleStore {
];
// 数据处理,把相同类型放入同一个数组
const type_data = [];
- !comm.empty(json.result1) &&
+ !comm.emptyValue(json.result1) &&
Object.values(json.result1).map((item) => {
const subtype_sn = 'type_' + item.subType;
- if (comm.empty(type_data[subtype_sn])) {
+ if (comm.emptyValue(type_data[subtype_sn])) {
type_data[subtype_sn] = { subType: item.subType, subType_name: item.subTypeVal, data: [item] };
} else {
type_data[subtype_sn].data.push(item);
@@ -641,7 +642,7 @@ class SaleStore {
});
Object.assign(getkpiParam, { object: curObject, subject: 'sum_profit' });
getkpiParam.object_id = curObject === 'overview' ? '' : objects.map((ele) => ele.key).join(',');
- const json = await req.fetchJSON('/service-Analyse2/getkpi', getkpiParam);
+ const json = await req.fetchJSON(config.HT_HOST + '/service-Analyse2/getkpi', getkpiParam);
if (json.errcode === 0) {
const yearData = parseKPI(json.result, ['subject', 'object_id']);
const year = moment(queryData.Date1).year();
@@ -654,7 +655,7 @@ class SaleStore {
* 获取业绩数据
*/
async fetchTradeData(queryData) {
- const json = await req.fetchJSON('/service-Analyse2/GetTradeProcess', queryData);
+ const json = await req.fetchJSON(config.HT_HOST + '/service-Analyse2/GetTradeProcess', queryData);
return json;
}
@@ -662,7 +663,7 @@ class SaleStore {
* 获取业绩数据: 商务订单
*/
async fetchTradeDataBiz(queryData) {
- const json = await req.fetchJSON('/service-Analyse2/GetTradeProcess_biz', queryData);
+ const json = await req.fetchJSON(config.HT_HOST + '/service-Analyse2/GetTradeProcess_biz', queryData);
return json;
}
diff --git a/src/stores/SalesCRMData.js b/src/stores/SalesCRMData.js
index 2243086..8b4a429 100644
--- a/src/stores/SalesCRMData.js
+++ b/src/stores/SalesCRMData.js
@@ -1,8 +1,8 @@
import { makeAutoObservable, runInAction } from 'mobx';
-import { fetchJSON } from '../utils/request';
-import { isEmpty, sortDescBy, groupBy, pick, unique } from '../utils/commons';
+import { fetchJSON } from '@haina/utils-request';
+import { isEmpty, sortDescBy, groupBy, pick, unique } from '@haina/utils-commons';
import { groupsMappedByCode } from './../libs/ht';
-import { DATE_FORMAT, SMALL_DATETIME_FORMAT } from './../config';
+import { DATE_FORMAT, SMALL_DATETIME_FORMAT, HT_HOST } from './../config';
import moment from 'moment';
const fetchResultsData = async (param) => {
@@ -15,7 +15,7 @@ const fetchResultsData = async (param) => {
groupType: '',
groupDateType: '',
};
- const json = await fetchJSON('/service-Analyse2/sales_crm_results', { ...defaultParam, ...param });
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/sales_crm_results', { ...defaultParam, ...param });
return json.errcode === 0 ? json.result : [];
};
@@ -29,7 +29,7 @@ const fetchProcessData = async (param) => {
groupType: '',
groupDateType: '',
};
- const json = await fetchJSON('/service-Analyse2/sales_crm_process', { ...defaultParam, ...param });
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/sales_crm_process', { ...defaultParam, ...param });
return json.errcode === 0 ? json.result : [];
};
@@ -43,7 +43,7 @@ const fetchRiskDetailData = async (param) => {
Date2: '',
IncludeTickets: '1',
};
- const json = await fetchJSON('/service-Analyse2/sales_crm_process_detail', {...defaultParam, ...param});
+ const json = await fetchJSON(HT_HOST + '/service-Analyse2/sales_crm_process_detail', {...defaultParam, ...param});
return json.errcode === 0 ? json.result : [];
};
diff --git a/src/stores/Trade.js b/src/stores/Trade.js
index 2762357..174b28d 100644
--- a/src/stores/Trade.js
+++ b/src/stores/Trade.js
@@ -1,9 +1,9 @@
import { makeAutoObservable, runInAction, toJS } from 'mobx';
-import * as req from '../utils/request';
+import * as req from '@haina/utils-request';
import moment from 'moment';
-import { isEmpty, sortBy, pick, merge, fixTo2Decimals, groupBy, sortKeys, fixToInt, cloneDeep } from '../utils/commons';
+import { isEmpty, sortBy, pick, merge, fixTo2Decimals, groupBy, sortKeys, fixToInt, cloneDeep } from '@haina/utils-commons';
import { dataFieldAlias } from './../libs/ht';
-import { DATE_FORMAT, SMALL_DATETIME_FORMAT } from './../config';
+import { DATE_FORMAT, SMALL_DATETIME_FORMAT, HT_HOST } from './../config';
class Trade {
constructor(rootStore) {
@@ -286,7 +286,7 @@ class Trade {
* 获取业绩数据: 传统订单
*/
async fetchTradeData(queryData) {
- const json = await req.fetchJSON('/service-Analyse2/GetTradeProcess', queryData);
+ const json = await req.fetchJSON(HT_HOST + '/service-Analyse2/GetTradeProcess', queryData);
// if (json.errcode === 0) {
// return json;
// }
@@ -297,7 +297,7 @@ class Trade {
* 获取业绩数据: 商务订单
*/
async fetchTradeDataBiz(queryData) {
- const json = await req.fetchJSON('/service-Analyse2/GetTradeProcess_biz', queryData);
+ const json = await req.fetchJSON(HT_HOST + '/service-Analyse2/GetTradeProcess_biz', queryData);
// if (json.errcode === 0) {
// return json;
// }
diff --git a/src/stores/Wechat.js b/src/stores/Wechat.js
index 810e563..8aaa187 100644
--- a/src/stores/Wechat.js
+++ b/src/stores/Wechat.js
@@ -1,6 +1,6 @@
import {makeAutoObservable, runInAction} from "mobx";
import * as config from "../config";
-import * as req from '../utils/request';
+import * as req from '@haina/utils-request';
class Wechat {
@@ -10,7 +10,7 @@ class Wechat {
}
fetchWechatUserList() {
-
+
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_permit_user_list')
.then(json => {
if (json.errcode === 0) {
@@ -24,7 +24,7 @@ class Wechat {
}
fetchContactList(user) {
-
+
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_externalcontact_list?userid='+user.userid)
.then(json => {
if (json.errcode === 0) {
@@ -36,7 +36,7 @@ class Wechat {
}
});
}
-
+
fetchChatMsgList(contact, page, pageSize) {
runInAction(() => {
this.selectedContact = contact;
@@ -60,4 +60,4 @@ class Wechat {
}
-export default Wechat;
\ No newline at end of file
+export default Wechat;
diff --git a/src/stores/WhatsApp.js b/src/stores/WhatsApp.js
index 3281ed5..c26acc1 100644
--- a/src/stores/WhatsApp.js
+++ b/src/stores/WhatsApp.js
@@ -1,6 +1,6 @@
import {makeAutoObservable, runInAction} from "mobx";
import * as config from "../config";
-import * as req from '../utils/request';
+import * as req from '@haina/utils-request';
class WhatsApp {
@@ -10,7 +10,7 @@ class WhatsApp {
}
fetchWechatUserList() {
-
+
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_permit_user_list')
.then(json => {
if (json.errcode === 0) {
@@ -24,7 +24,7 @@ class WhatsApp {
}
fetchContactList(user) {
-
+
req.fetchJSON(config.HT_HOST + '/weixin/wxwork/get_externalcontact_list?userid='+user.userid)
.then(json => {
if (json.errcode === 0) {
@@ -36,7 +36,7 @@ class WhatsApp {
}
});
}
-
+
fetchChatMsgList(contact, page, pageSize) {
runInAction(() => {
this.selectedContact = contact;
@@ -60,4 +60,4 @@ class WhatsApp {
}
-export default WhatsApp;
\ No newline at end of file
+export default WhatsApp;
diff --git a/src/views/Credit_card_bill.jsx b/src/views/Credit_card_bill.jsx
index ac5e28b..4d7daee 100644
--- a/src/views/Credit_card_bill.jsx
+++ b/src/views/Credit_card_bill.jsx
@@ -11,7 +11,8 @@ import Business_unit from "../components/search/BusinessSelect";
import DatePickerCharts from "../components/search/DatePickerCharts";
import SearchForm from './../components/search/SearchForm';
import { Line, Pie } from "@ant-design/charts";
-import * as comm from "../utils/commons";
+import * as comm from '@haina/utils-commons';
+import { show_vs_tag } from './../utils/commons';
import * as config from "../config";
const Credit_card_bill = () => {
@@ -20,7 +21,7 @@ const Credit_card_bill = () => {
const format_data = data => {
const result = { dataSource: [], columns: [] };
- if (!comm.empty(data)) {
+ if (!comm.emptyValue(data)) {
if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) {
// 有比较的数据
const total_data1 = data.BillTypeDataTotal1;
@@ -49,7 +50,7 @@ const Credit_card_bill = () => {
title: "美金",
children: [
{
- title: comm.show_vs_tag(total_data1.usd_vs, total_data1.usd_diff, total_data1.cb_usd, total_data2.cb_usd),
+ title: show_vs_tag(total_data1.usd_vs, total_data1.usd_diff, total_data1.cb_usd, total_data2.cb_usd),
dataIndex: "cb_usd",
},
],
@@ -58,7 +59,7 @@ const Credit_card_bill = () => {
title: "人民币",
children: [
{
- title: comm.show_vs_tag(total_data1.rmb_vs, total_data1.rmb_diff, total_data1.cb_rmb, total_data2.cb_rmb),
+ title: show_vs_tag(total_data1.rmb_vs, total_data1.rmb_diff, total_data1.cb_rmb, total_data2.cb_rmb),
dataIndex: "cb_rmb",
},
],
@@ -71,8 +72,8 @@ const Credit_card_bill = () => {
key: item.key,
cb_billtype: item.cb_billtype,
groups: item.groups,
- cb_usd: comm.show_vs_tag(item.usd_vs, item.usd_diff, item.cb_usd, item2.cb_usd),
- cb_rmb: comm.show_vs_tag(item.rmb_vs, item.rmb_diff, item.cb_rmb, item2.cb_rmb),
+ cb_usd: show_vs_tag(item.usd_vs, item.usd_diff, item.cb_usd, item2.cb_usd),
+ cb_rmb: show_vs_tag(item.rmb_vs, item.rmb_diff, item.cb_rmb, item2.cb_rmb),
});
}
}
@@ -124,7 +125,7 @@ const Credit_card_bill = () => {
const format_data_detail = data => {
const result = { dataSource: [], columns: [] };
- if (!comm.empty(data)) {
+ if (!comm.emptyValue(data)) {
let show_vs = false;
let usd_totle1;
let usd_totle2;
@@ -185,7 +186,7 @@ const Credit_card_bill = () => {
title: "美金",
children: [
{
- title: show_vs ? comm.show_vs_tag(usd_vs, usd_diff, usd_totle1, usd_totle2) : usd_totle1,
+ title: show_vs ? show_vs_tag(usd_vs, usd_diff, usd_totle1, usd_totle2) : usd_totle1,
dataIndex: "cb_usd",
},
],
@@ -195,7 +196,7 @@ const Credit_card_bill = () => {
title: "人民币",
children: [
{
- title: show_vs ? comm.show_vs_tag(rmb_vs, rmb_diff, rmb_totle1, rmb_totle2) : rmb_totle1,
+ title: show_vs ? show_vs_tag(rmb_vs, rmb_diff, rmb_totle1, rmb_totle2) : rmb_totle1,
dataIndex: "cb_rmb",
},
],
@@ -231,8 +232,8 @@ const Credit_card_bill = () => {
return data.map(item => ({...item, cb_usd_number: parseFloat(item.cb_usd.replace(/,/g, ""))}));
};
- const credit_card_bills = !comm.empty(credit_card_data.data) ? format_data_detail(credit_card_data.data) : format_data_detail([]);
- const credit_card_bills_by_type = !comm.empty(credit_card_data.data_by_type) ? format_data(credit_card_data.data_by_type) : format_data([]);
+ const credit_card_bills = !comm.emptyValue(credit_card_data.data) ? format_data_detail(credit_card_data.data) : format_data_detail([]);
+ const credit_card_bills_by_type = !comm.emptyValue(credit_card_data.data_by_type) ? format_data(credit_card_data.data_by_type) : format_data([]);
const pie_config = {
appendPadding: 10,
diff --git a/src/views/DataPivot.jsx b/src/views/DataPivot.jsx
index 0b733d7..2f9b704 100644
--- a/src/views/DataPivot.jsx
+++ b/src/views/DataPivot.jsx
@@ -3,7 +3,7 @@ import { observer } from 'mobx-react';
import { useParams, useLocation } from 'react-router-dom';
import { stores_Context } from '../config';
import { Row, Col, Spin, Table, Select, Typography, Card, Button, Space, Divider, Alert } from 'antd';
-import { cloneDeep, groupBy, isEmpty, omit, pick, sortBy, unique, cartesianProductArray, fixTo2Decimals } from '../utils/commons';
+import { cloneDeep, groupBy, isEmpty, omit, pick, sortBy, unique, cartesianProductArray, fixTo2Decimals } from '@haina/utils-commons';
import { dataFieldAlias, pivotBy } from '../libs/ht';
import SearchForm from '../components/search/SearchForm';
import { Line } from '@ant-design/plots';
diff --git a/src/views/Detail.jsx b/src/views/Detail.jsx
index 8ba1c80..3762135 100644
--- a/src/views/Detail.jsx
+++ b/src/views/Detail.jsx
@@ -2,7 +2,7 @@ import { useContext, useEffect, useMemo } from 'react';
import { observer } from 'mobx-react';
import { stores_Context } from '../config';
import { Row, Col, Spin, Space, Radio, Tabs, Table } from 'antd';
-import { empty } from '../utils/commons';
+import { emptyValue } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
import Scatter from './../components/Scatter';
import SearchForm from './../components/search/SearchForm';
@@ -20,7 +20,7 @@ export default observer((props) => {
};
useEffect(() => {
- if (empty(detailData.dataSource)) {
+ if (emptyValue(detailData.dataSource)) {
detailRefresh();
}
}, []);
diff --git a/src/views/Distribution.jsx b/src/views/Distribution.jsx
index e884022..49766ee 100644
--- a/src/views/Distribution.jsx
+++ b/src/views/Distribution.jsx
@@ -4,7 +4,7 @@ import { stores_Context } from '../config';
import { Row, Col, Spin, Tabs, Table, Space, Typography, Divider } from 'antd';
import { RingProgress } from '@ant-design/plots';
import SearchForm from './../components/search/SearchForm';
-import { empty } from '../utils/commons';
+import { emptyValue } from '@haina/utils-commons';
import { dataFieldAlias } from '../libs/ht';
import { VSTag, TableExportBtn } from './../components/Data';
import MixYnQ from './../components/MixYnQ';
@@ -51,7 +51,7 @@ export default observer(() => {
const onTabsChange = (tab) => {
DistributionStore.setCurTab(tab);
- if (empty(DistributionStore[tab].dataSource)) {
+ if (emptyValue(DistributionStore[tab].dataSource)) {
pageRefresh();
}
};
diff --git a/src/views/Home.jsx b/src/views/Home.jsx
index f35e52c..2fe16ab 100644
--- a/src/views/Home.jsx
+++ b/src/views/Home.jsx
@@ -13,7 +13,7 @@ import LineWithKPI from '../components/LineWithKPI';
import DataFieldRadio from '../components/DataFieldRadio';
import { datePartOptions } from './../components/DateGroupRadio/date';
import SearchForm from './../components/search/SearchForm';
-import { empty, cloneDeep, isEmpty } from './../utils/commons';
+import { cloneDeep, isEmpty } from '@haina/utils-commons';
import { dataFieldAlias } from './../libs/ht';
import './home.css';
diff --git a/src/views/HostCaseCount.jsx b/src/views/HostCaseCount.jsx
index ce42b74..8cf4702 100644
--- a/src/views/HostCaseCount.jsx
+++ b/src/views/HostCaseCount.jsx
@@ -5,7 +5,7 @@ import { observer } from 'mobx-react';
import 'moment/locale/zh-cn';
import SearchForm from '../components/search/SearchForm';
import { TableExportBtn } from '../components/Data';
-import * as comm from '../utils/commons';
+import * as comm from '@haina/utils-commons';
const HostCaseCount = () => {
const { customer_store, date_picker_store } = useContext(stores_Context);
@@ -73,7 +73,7 @@ const HostCaseCount = () => {
title: '团名',
dataIndex: 'GroupBy',
key: 'GroupBy',
- },
+ },
{
title: '顾问名',
dataIndex: 'OPI_Name',
diff --git a/src/views/KPI.jsx b/src/views/KPI.jsx
index 1812046..6bcba34 100644
--- a/src/views/KPI.jsx
+++ b/src/views/KPI.jsx
@@ -2,7 +2,7 @@ import { useContext, useEffect, useState } from 'react';
import { stores_Context } from './../config';
import { observer } from 'mobx-react';
import { Row, Col, Tabs, Spin } from 'antd';
-import { flush, isEmpty, objectMapper, pick } from './../utils/commons';
+import { flush, isEmpty, objectMapper, pick } from '@haina/utils-commons';
import { KPIObjects } from './../libs/ht';
import ObjectPanel from '../components/kpi/ObjectPanel';
import OverviewPanel from './../components/kpi/OverviewPanel';
diff --git a/src/views/Meeting2024-GH.jsx b/src/views/Meeting2024-GH.jsx
index 5d57501..ac4a2e8 100644
--- a/src/views/Meeting2024-GH.jsx
+++ b/src/views/Meeting2024-GH.jsx
@@ -5,7 +5,7 @@ import { Table, Row, Col, Divider, Tooltip } from 'antd';
import { InfoCircleOutlined } from '@ant-design/icons';
import SearchForm from '../components/search/SearchForm';
import { TableExportBtn } from './../components/Data';
-import { fixTo2Decimals } from './../utils/commons';
+import { fixTo2Decimals } from '@haina/utils-commons';
const numberConvert10K = (number, scale = 10) => {
return fixTo2Decimals(number / (1000 * scale)) + '';
diff --git a/src/views/Meeting2025-GH.jsx b/src/views/Meeting2025-GH.jsx
index dfcbdc4..e645956 100644
--- a/src/views/Meeting2025-GH.jsx
+++ b/src/views/Meeting2025-GH.jsx
@@ -5,7 +5,7 @@ import { Table, Row, Col, Divider, Tooltip } from 'antd';
import { InfoCircleOutlined } from '@ant-design/icons';
import SearchForm from '../components/search/SearchForm';
import { TableExportBtn } from './../components/Data';
-import { fixTo2Decimals } from './../utils/commons';
+import { fixTo2Decimals } from '@haina/utils-commons';
const numberConvert10K = (number, scale = 10) => {
return fixTo2Decimals(number / (1000 * scale)) + '';
diff --git a/src/views/Orders.jsx b/src/views/Orders.jsx
index ebff1ec..9224ce0 100644
--- a/src/views/Orders.jsx
+++ b/src/views/Orders.jsx
@@ -6,7 +6,8 @@ import { Line, Pie, } from "@ant-design/charts";
import { observer } from "mobx-react";
import * as config from "../config";
import { NavLink } from "react-router-dom";
-import * as comm from "../utils/commons";
+import * as comm from '@haina/utils-commons';
+import { show_vs_tag } from './../utils/commons';
import { utils, writeFileXLSX } from "xlsx";
import DateGroupRadio from '../components/DateGroupRadio';
import SearchForm from './../components/search/SearchForm';
@@ -23,7 +24,7 @@ class Orders extends Component {
format_data(data) {
const { date_picker_store, orders_store } = this.context;
const result = { dataSource: [], columns: [] };
- if (!comm.empty(data)) {
+ if (!comm.emptyValue(data)) {
const ordercountTotal1 = data.ordercountTotal1;
const ordercountTotal2 = data.ordercountTotal2;
if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) {
@@ -57,7 +58,7 @@ class Orders extends Component {
title: '数量',
children: [
{
- title: comm.show_vs_tag(ordercountTotal1.OrderCount_vs, ordercountTotal1.OrderCount_diff, ordercountTotal1.OrderCount, ordercountTotal2.OrderCount),
+ title: show_vs_tag(ordercountTotal1.OrderCount_vs, ordercountTotal1.OrderCount_diff, ordercountTotal1.OrderCount, ordercountTotal2.OrderCount),
titleX: [ordercountTotal1.OrderCount, ordercountTotal2.OrderCount].join(' vs '),
dataIndex: 'OrderCount',
},
@@ -67,7 +68,7 @@ class Orders extends Component {
title: '成交数',
children: [
{
- title: comm.show_vs_tag(ordercountTotal1.CJCount_vs, ordercountTotal1.CJCount_diff, ordercountTotal1.CJCount, ordercountTotal2.CJCount),
+ title: show_vs_tag(ordercountTotal1.CJCount_vs, ordercountTotal1.CJCount_diff, ordercountTotal1.CJCount, ordercountTotal2.CJCount),
titleX: [ordercountTotal1.CJCount, ordercountTotal2.CJCount].join(' vs '),
dataIndex: 'CJCount',
},
@@ -77,7 +78,7 @@ class Orders extends Component {
title: '成交人数',
children: [
{
- title: comm.show_vs_tag(ordercountTotal1.CJPersonNum_vs, ordercountTotal1.CJPersonNum_diff, ordercountTotal1.CJPersonNum, ordercountTotal2.CJPersonNum),
+ title: show_vs_tag(ordercountTotal1.CJPersonNum_vs, ordercountTotal1.CJPersonNum_diff, ordercountTotal1.CJPersonNum, ordercountTotal2.CJPersonNum),
titleX: [ordercountTotal1.CJPersonNum, ordercountTotal2.CJPersonNum].join(' vs '),
dataIndex: 'CJPersonNum',
},
@@ -87,7 +88,7 @@ class Orders extends Component {
title: '成交率',
children: [
{
- title: comm.show_vs_tag(ordercountTotal1.CJrate_vs, ordercountTotal1.CJrate_diff, ordercountTotal1.CJrate, ordercountTotal2.CJrate),
+ title: show_vs_tag(ordercountTotal1.CJrate_vs, ordercountTotal1.CJrate_diff, ordercountTotal1.CJrate, ordercountTotal2.CJrate),
titleX: [ordercountTotal1.CJrate, ordercountTotal2.CJrate].join(' vs '),
dataIndex: 'CJrate',
},
@@ -97,7 +98,7 @@ class Orders extends Component {
title: '成交毛利(预计)',
children: [
{
- title: comm.show_vs_tag(ordercountTotal1.YJLY_vs, ordercountTotal1.YJLY_diff, ordercountTotal1.YJLY, ordercountTotal2.YJLY),
+ title: show_vs_tag(ordercountTotal1.YJLY_vs, ordercountTotal1.YJLY_diff, ordercountTotal1.YJLY, ordercountTotal2.YJLY),
titleX: [ordercountTotal1.YJLY, ordercountTotal2.YJLY].join(' vs '),
dataIndex: 'YJLY',
},
@@ -108,7 +109,7 @@ class Orders extends Component {
title: '单个订单价值',
children: [
{
- title: comm.show_vs_tag(ordercountTotal1.Ordervalue_vs, ordercountTotal1.Ordervalue_diff, ordercountTotal1.Ordervalue, ordercountTotal2.Ordervalue),
+ title: show_vs_tag(ordercountTotal1.Ordervalue_vs, ordercountTotal1.Ordervalue_diff, ordercountTotal1.Ordervalue, ordercountTotal2.Ordervalue),
titleX: [ordercountTotal1.Ordervalue, ordercountTotal2.Ordervalue].join(' vs '),
dataIndex: 'Ordervalue',
},
@@ -127,17 +128,17 @@ class Orders extends Component {
key: item.key,
OrderType: item.OrderType,
OrderTypeSN: item.OrderTypeSN,
- OrderCount: comm.show_vs_tag(item.OrderCount_vs, item.OrderCount_diff, item.OrderCount, item2.OrderCount),
+ OrderCount: show_vs_tag(item.OrderCount_vs, item.OrderCount_diff, item.OrderCount, item2.OrderCount),
OrderCount_X: ([item.OrderCount, item2.OrderCount].join(' vs ')),
- CJCount: comm.show_vs_tag(item.CJCount_vs, item.CJCount_diff, item.CJCount, item2.CJCount),
+ CJCount: show_vs_tag(item.CJCount_vs, item.CJCount_diff, item.CJCount, item2.CJCount),
CJCount_X: ([item.CJCount, item2.CJCount].join(' vs ')),
- CJPersonNum: comm.show_vs_tag(item.CJPersonNum_vs, item.CJPersonNum_diff, item.CJPersonNum, item2.CJPersonNum),
+ CJPersonNum: show_vs_tag(item.CJPersonNum_vs, item.CJPersonNum_diff, item.CJPersonNum, item2.CJPersonNum),
CJPersonNum_X: ([item.CJPersonNum, item2.CJPersonNum].join(' vs ')),
- CJrate: comm.show_vs_tag(item.CJrate_vs, item.CJrate_diff, item.CJrate, item2.CJrate),
+ CJrate: show_vs_tag(item.CJrate_vs, item.CJrate_diff, item.CJrate, item2.CJrate),
CJrate_X: ([item.CJrate, item2.CJrate].join(' vs ')),
- YJLY: comm.show_vs_tag(item.YJLY_vs, item.YJLY_diff, item.YJLY, item2.YJLY),
+ YJLY: show_vs_tag(item.YJLY_vs, item.YJLY_diff, item.YJLY, item2.YJLY),
YJLY_X: ([item.YJLY, item2.YJLY].join(' vs ')),
- Ordervalue: comm.show_vs_tag(item.Ordervalue_vs, item.Ordervalue_diff, item.Ordervalue, item2.Ordervalue),
+ Ordervalue: show_vs_tag(item.Ordervalue_vs, item.Ordervalue_diff, item.Ordervalue, item2.Ordervalue),
Ordervalue_X: ([item.Ordervalue, item2.Ordervalue].join(' vs ')),
});
}
@@ -148,17 +149,17 @@ class Orders extends Component {
key: item.key,
OrderType: item.OrderType,
OrderTypeSN: item.OrderTypeSN,
- OrderCount: comm.show_vs_tag(comm.formatPercent(item.OrderCount), item.OrderCount, item.OrderCount, 0),
+ OrderCount: show_vs_tag(comm.formatPercent(item.OrderCount), item.OrderCount, item.OrderCount, 0),
OrderCount_X: ([item.OrderCount, 0].join(' vs ')),
- CJCount: comm.show_vs_tag(comm.formatPercent(item.CJCount), item.CJCount, item.CJCount, 0),
+ CJCount: show_vs_tag(comm.formatPercent(item.CJCount), item.CJCount, item.CJCount, 0),
CJCount_X: ([item.CJCount, 0].join(' vs ')),
- CJPersonNum: comm.show_vs_tag(comm.formatPercent(item.CJPersonNum), item.CJPersonNum, item.CJPersonNum, 0),
+ CJPersonNum: show_vs_tag(comm.formatPercent(item.CJPersonNum), item.CJPersonNum, item.CJPersonNum, 0),
CJPersonNum_X: ([item.CJPersonNum, 0].join(' vs ')),
- CJrate: comm.show_vs_tag(item.CJrate, item.CJrate, item.CJrate, 0),
+ CJrate: show_vs_tag(item.CJrate, item.CJrate, item.CJrate, 0),
CJrate_X: ([item.CJrate, 0].join(' vs ')),
- YJLY: comm.show_vs_tag(comm.formatPercent(item.YJLY), item.YJLY, item.YJLY, 0),
+ YJLY: show_vs_tag(comm.formatPercent(item.YJLY), item.YJLY, item.YJLY, 0),
YJLY_X: ([item.YJLY, 0].join(' vs ')),
- Ordervalue: comm.show_vs_tag(comm.formatPercent(item.Ordervalue), item.Ordervalue, item.Ordervalue, 0),
+ Ordervalue: show_vs_tag(comm.formatPercent(item.Ordervalue), item.Ordervalue, item.Ordervalue, 0),
Ordervalue_X: ([item.Ordervalue, 0].join(' vs ')),
});
}
@@ -176,17 +177,17 @@ class Orders extends Component {
key: item2.key,
OrderType: item2.OrderType,
OrderTypeSN: item2.OrderTypeSN,
- OrderCount: comm.show_vs_tag(comm.formatPercent(-item2.OrderCount), -item2.OrderCount, 0, item2.OrderCount),
+ OrderCount: show_vs_tag(comm.formatPercent(-item2.OrderCount), -item2.OrderCount, 0, item2.OrderCount),
OrderCount_X: ([ 0, item2.OrderCount].join(' vs ')),
- CJCount: comm.show_vs_tag(comm.formatPercent(-item2.CJCount), -item2.CJCount, 0, item2.CJCount),
+ CJCount: show_vs_tag(comm.formatPercent(-item2.CJCount), -item2.CJCount, 0, item2.CJCount),
CJCount_X: ([ 0, item2.CJCount].join(' vs ')),
- CJPersonNum: comm.show_vs_tag(comm.formatPercent(-item2.CJPersonNum), -item2.CJPersonNum, 0, item2.CJPersonNum),
+ CJPersonNum: show_vs_tag(comm.formatPercent(-item2.CJPersonNum), -item2.CJPersonNum, 0, item2.CJPersonNum),
CJPersonNum_X: ([0, item2.CJPersonNum].join(' vs ')),
- CJrate: comm.show_vs_tag(-item2.CJrate, -item2.CJrate, 0, item2.CJrate),
+ CJrate: show_vs_tag(-item2.CJrate, -item2.CJrate, 0, item2.CJrate),
CJrate_X: ([ 0, item2.CJrate].join(' vs ')),
- YJLY: comm.show_vs_tag(comm.formatPercent(-item2.YJLY), -item2.YJLY, 0, item2.YJLY),
+ YJLY: show_vs_tag(comm.formatPercent(-item2.YJLY), -item2.YJLY, 0, item2.YJLY),
YJLY_X: ([0, item2.YJLY].join(' vs ')),
- Ordervalue: comm.show_vs_tag(comm.formatPercent(-item2.Ordervalue), -item2.Ordervalue, 0, item2.Ordervalue),
+ Ordervalue: show_vs_tag(comm.formatPercent(-item2.Ordervalue), -item2.Ordervalue, 0, item2.Ordervalue),
Ordervalue_X: ([ 0, item2.Ordervalue].join(' vs ')),
});
}
@@ -255,10 +256,10 @@ class Orders extends Component {
const table_data = orders_store.orderCountData_Form ? this.format_data(orders_store.orderCountData_Form) : [];
const data_source = orders_store.orderCountData ? orders_store.orderCountData : [];
const avg_line_y = Math.round(orders_store.avgLine1);
- const pie_data = comm.empty(orders_store.orderCountData_Form)
+ const pie_data = comm.emptyValue(orders_store.orderCountData_Form)
? []
: orders_store.orderCountData_Form.ordercount1.map((ele) => ({ ...ele, YJLYx: comm.price_to_number(ele.YJLY) })); // 饼图的显示
- const pie_data2 = comm.empty(orders_store.orderCountData_Form)
+ const pie_data2 = comm.emptyValue(orders_store.orderCountData_Form)
? []
: orders_store.orderCountData_Form.ordercount2.map((ele) => ({ ...ele, YJLYx: comm.price_to_number(ele.YJLY) }));
diff --git a/src/views/Orders_sub.jsx b/src/views/Orders_sub.jsx
index fc1e2db..19141cb 100644
--- a/src/views/Orders_sub.jsx
+++ b/src/views/Orders_sub.jsx
@@ -5,7 +5,7 @@ import { stores_Context } from "../config";
import { Line } from "@ant-design/charts";
import { observer } from "mobx-react";
import { NavLink, useParams } from "react-router-dom";
-import * as comm from "../utils/commons";
+import * as comm from '@haina/utils-commons';
import * as config from "../config";
import { utils, writeFileXLSX } from "xlsx";
import DateGroupRadio from '../components/DateGroupRadio';
@@ -80,7 +80,7 @@ const Orders_sub = () => {
const format_data = data => {
const result = { dataSource: [], columns: [] };
- if (!comm.empty(data)) {
+ if (!comm.emptyValue(data)) {
result.columns = [
{
title: "页面",
@@ -108,7 +108,7 @@ const Orders_sub = () => {
const format_data_detail = data => {
const result = { dataSource: [], columns: [] };
- if (!comm.empty(data)) {
+ if (!comm.emptyValue(data)) {
result.columns = [
{
title: "订单号",
diff --git a/src/views/Sale.jsx b/src/views/Sale.jsx
index c2381ff..08ab524 100644
--- a/src/views/Sale.jsx
+++ b/src/views/Sale.jsx
@@ -4,7 +4,7 @@ import { ContainerOutlined, UserSwitchOutlined } from '@ant-design/icons';
import { stores_Context } from '../config';
import { Column, Pie } from '@ant-design/charts';
import { observer } from 'mobx-react';
-import * as comm from '../utils/commons';
+import * as comm from '@haina/utils-commons';
import { utils, writeFileXLSX } from 'xlsx';
import SearchForm from './../components/search/SearchForm';
import { TableExportBtn } from './../components/Data';
@@ -13,7 +13,7 @@ const Sale = () => {
const { sale_store, date_picker_store } = useContext(stores_Context);
//const ml_data = sale_store.ml_data; // 毛利数据
- const type_data = comm.empty(sale_store.type_data) ? { dataSource: [], columns: [] } : sale_store.type_data; // 毛利数据
+ const type_data = comm.emptyValue(sale_store.type_data) ? { dataSource: [], columns: [] } : sale_store.type_data; // 毛利数据
const column_config_create = (tab_name) => {
let average_value = 0; //平均线的值
diff --git a/src/views/Sale_KPI.jsx b/src/views/Sale_KPI.jsx
index 25ab186..f8fa549 100644
--- a/src/views/Sale_KPI.jsx
+++ b/src/views/Sale_KPI.jsx
@@ -2,7 +2,7 @@ import React, { useContext, useState } from 'react';
import { Row, Col, Table, Select, Space, Typography, Progress, Spin, Divider, Button, Switch } from 'antd';
import { stores_Context } from '../config';
import { observer } from 'mobx-react';
-import * as comm from '../utils/commons';
+import * as comm from '@haina/utils-commons';
import SearchForm from './../components/search/SearchForm';
import { dataFieldAlias, overviewGroup } from '../libs/ht';
import Donut from './../components/Donut';
diff --git a/src/views/Sale_sub.jsx b/src/views/Sale_sub.jsx
index ccf50fa..c352680 100644
--- a/src/views/Sale_sub.jsx
+++ b/src/views/Sale_sub.jsx
@@ -6,7 +6,7 @@ import { Column, Pie } from "@ant-design/charts";
import { observer } from "mobx-react";
import DatePickerCharts from "../components/search/DatePickerCharts";
import { NavLink, useParams } from "react-router-dom";
-import * as comm from "../utils/commons";
+import * as comm from '@haina/utils-commons';
import * as config from "../config";
import GroupSelect from "../components/search/GroupSelect";
@@ -18,7 +18,7 @@ const Sale_sub = () => {
sale_store.get_department_order_ml_by_type_sub(date_picker_store, type_sub);
}, []);
- const type_data = comm.empty(sale_store.type_data_sub) ? { dataSource: [], columns: [] } : sale_store.type_data_sub;
+ const type_data = comm.emptyValue(sale_store.type_data_sub) ? { dataSource: [], columns: [] } : sale_store.type_data_sub;
return (
@@ -29,7 +29,7 @@ const Sale_sub = () => {
- {!comm.empty(type_data.dataSource) &&
+ {!comm.emptyValue(type_data.dataSource) &&
type_data.dataSource.map(item => {
return (
diff --git a/src/views/ServicePersonNum.jsx b/src/views/ServicePersonNum.jsx
index 2597b6d..371b5d5 100644
--- a/src/views/ServicePersonNum.jsx
+++ b/src/views/ServicePersonNum.jsx
@@ -4,7 +4,7 @@ import { stores_Context } from '../config';
import { Spin, Table, Row, Col, Tabs, Switch } from 'antd';
import SearchForm from './../components/search/SearchForm';
import { TableExportBtn } from './../components/Data';
-import { empty } from '../utils/commons';
+import { emptyValue } from '@haina/utils-commons';
import './kpi.css';
const apartOptions = [
@@ -75,7 +75,7 @@ export default observer((props) => {
activeKey={curTab}
onChange={(v) => {
financialStore.setCurTab(v);
- if (empty(servicePersonNum[v].dataSource)) {
+ if (emptyValue(servicePersonNum[v].dataSource)) {
pageRefresh();
}
}}
diff --git a/src/views/biz/BizOrder.jsx b/src/views/biz/BizOrder.jsx
index ee4d320..4edaaee 100644
--- a/src/views/biz/BizOrder.jsx
+++ b/src/views/biz/BizOrder.jsx
@@ -3,7 +3,8 @@ import { Row, Col, Tabs, Table, Divider, Spin, Checkbox, Space } from 'antd';
import { ContainerOutlined, BlockOutlined, SmileOutlined, MobileOutlined, CustomerServiceOutlined, IeOutlined } from '@ant-design/icons';
import { Line, Pie } from '@ant-design/charts';
import { NavLink } from 'react-router-dom';
-import * as comm from '../../utils/commons';
+import * as comm from '@haina/utils-commons';
+import { show_vs_tag } from './../../utils/commons';
import DateGroupRadio from '../../components/DateGroupRadio';
import SearchForm from '../../components/search/SearchForm';
import { TableExportBtn } from '../../components/Data';
@@ -144,10 +145,10 @@ const BizOrder = observer(() => {
{
title: !showDiff
? result.ordercountTotal1?.OrderCount
- : comm.show_vs_tag(result.ordercountTotal1?.OrderCount_vs, result.ordercountTotal1?.OrderCount_diff, result.ordercountTotal1?.OrderCount, result.ordercountTotal2?.OrderCount),
+ : show_vs_tag(result.ordercountTotal1?.OrderCount_vs, result.ordercountTotal1?.OrderCount_diff, result.ordercountTotal1?.OrderCount, result.ordercountTotal2?.OrderCount),
titleX: [result.ordercountTotal1?.OrderCount, result.ordercountTotal2?.OrderCount].join(' vs '),
dataIndex: 'OrderCount',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.OrderCount_vs, r.OrderCount_diff, r.OrderCount, r.diff?.OrderCount)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.OrderCount_vs, r.OrderCount_diff, r.OrderCount, r.diff?.OrderCount)),
},
],
},
@@ -157,10 +158,10 @@ const BizOrder = observer(() => {
{
title: !showDiff
? result.ordercountTotal1?.CJCount
- : comm.show_vs_tag(result.ordercountTotal1?.CJCount_vs, result.ordercountTotal1?.CJCount_diff, result.ordercountTotal1?.CJCount, result.ordercountTotal2?.CJCount),
+ : show_vs_tag(result.ordercountTotal1?.CJCount_vs, result.ordercountTotal1?.CJCount_diff, result.ordercountTotal1?.CJCount, result.ordercountTotal2?.CJCount),
titleX: [result.ordercountTotal1?.CJCount, result.ordercountTotal2?.CJCount].join(' vs '),
dataIndex: 'CJCount',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.CJCount_vs, r.CJCount_diff, r.CJCount, r.diff?.CJCount)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.CJCount_vs, r.CJCount_diff, r.CJCount, r.diff?.CJCount)),
},
],
},
@@ -170,10 +171,10 @@ const BizOrder = observer(() => {
{
title: !showDiff
? result.ordercountTotal1?.CJPersonNum
- : comm.show_vs_tag(result.ordercountTotal1?.CJPersonNum_vs, result.ordercountTotal1?.CJPersonNum_diff, result.ordercountTotal1?.CJPersonNum, result.ordercountTotal2?.CJPersonNum),
+ : show_vs_tag(result.ordercountTotal1?.CJPersonNum_vs, result.ordercountTotal1?.CJPersonNum_diff, result.ordercountTotal1?.CJPersonNum, result.ordercountTotal2?.CJPersonNum),
titleX: [result.ordercountTotal1?.CJPersonNum, result.ordercountTotal2?.CJPersonNum].join(' vs '),
dataIndex: 'CJPersonNum',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.CJPersonNum_vs, r.CJPersonNum_diff, r.CJPersonNum, r.diff?.CJPersonNum)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.CJPersonNum_vs, r.CJPersonNum_diff, r.CJPersonNum, r.diff?.CJPersonNum)),
},
],
},
@@ -183,10 +184,10 @@ const BizOrder = observer(() => {
{
title: !showDiff
? result.ordercountTotal1?.CJrate
- : comm.show_vs_tag(result.ordercountTotal1?.CJrate_vs, result.ordercountTotal1?.CJrate_diff, result.ordercountTotal1?.CJrate, result.ordercountTotal2?.CJrate),
+ : show_vs_tag(result.ordercountTotal1?.CJrate_vs, result.ordercountTotal1?.CJrate_diff, result.ordercountTotal1?.CJrate, result.ordercountTotal2?.CJrate),
titleX: [result.ordercountTotal1?.CJrate, result.ordercountTotal2?.CJrate].join(' vs '),
dataIndex: 'CJrate',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.CJrate_vs, r.CJrate_diff, r.CJrate, r.diff?.CJrate)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.CJrate_vs, r.CJrate_diff, r.CJrate, r.diff?.CJrate)),
},
],
},
@@ -196,10 +197,10 @@ const BizOrder = observer(() => {
{
title: !showDiff
? result.ordercountTotal1?.YJLY
- : comm.show_vs_tag(result.ordercountTotal1?.YJLY_vs, result.ordercountTotal1?.YJLY_diff, result.ordercountTotal1?.YJLY, result.ordercountTotal2?.YJLY),
+ : show_vs_tag(result.ordercountTotal1?.YJLY_vs, result.ordercountTotal1?.YJLY_diff, result.ordercountTotal1?.YJLY, result.ordercountTotal2?.YJLY),
titleX: [result.ordercountTotal1?.YJLY, result.ordercountTotal2?.YJLY].join(' vs '),
dataIndex: 'YJLY',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.YJLY_vs, r.YJLY_diff, r.YJLY, r.diff?.YJLY)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.YJLY_vs, r.YJLY_diff, r.YJLY, r.diff?.YJLY)),
},
],
},
@@ -210,10 +211,10 @@ const BizOrder = observer(() => {
{
title: !showDiff
? result.ordercountTotal1?.Ordervalue
- : comm.show_vs_tag(result.ordercountTotal1?.Ordervalue_vs, result.ordercountTotal1?.Ordervalue_diff, result.ordercountTotal1?.Ordervalue, result.ordercountTotal2?.Ordervalue),
+ : show_vs_tag(result.ordercountTotal1?.Ordervalue_vs, result.ordercountTotal1?.Ordervalue_diff, result.ordercountTotal1?.Ordervalue, result.ordercountTotal2?.Ordervalue),
titleX: [result.ordercountTotal1?.Ordervalue, result.ordercountTotal2?.Ordervalue].join(' vs '),
dataIndex: 'Ordervalue',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.Ordervalue_vs, r.Ordervalue_diff, r.Ordervalue, r.diff?.Ordervalue)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.Ordervalue_vs, r.Ordervalue_diff, r.Ordervalue, r.diff?.Ordervalue)),
},
],
},
diff --git a/src/views/biz/BizOrderSub.jsx b/src/views/biz/BizOrderSub.jsx
index 40df6ea..0572c77 100644
--- a/src/views/biz/BizOrderSub.jsx
+++ b/src/views/biz/BizOrderSub.jsx
@@ -3,7 +3,7 @@ import { Row, Col, Tabs, Table, Divider, Spin, Space } from 'antd';
import { ContainerOutlined, BlockOutlined, SmileOutlined, MobileOutlined } from '@ant-design/icons';
import { Line } from '@ant-design/charts';
import { NavLink, useParams } from 'react-router-dom';
-import * as comm from '../../utils/commons';
+import { getWeek } from '@haina/utils-commons';
import DateGroupRadio from '../../components/DateGroupRadio';
import SearchForm from '../../components/search/SearchForm';
import { TableExportBtn } from '../../components/Data';
@@ -187,7 +187,7 @@ const BizOrderSub = observer(({ ...props }) => {
let ret = title;
switch (activeDateGroupRadioSub) {
case 'day':
- ret = `${title} ${comm.getWeek(datum.xField)}`; // 显示周几
+ ret = `${title} ${getWeek(datum.xField)}`; // 显示周几
break;
default:
diff --git a/src/views/biz/reports/TrainsUpsell.jsx b/src/views/biz/reports/TrainsUpsell.jsx
index 203f355..13e7ac4 100644
--- a/src/views/biz/reports/TrainsUpsell.jsx
+++ b/src/views/biz/reports/TrainsUpsell.jsx
@@ -2,7 +2,8 @@ import { useContext } from 'react';
import { Row, Col, Table, Spin, Space, Divider } from 'antd';
import { Funnel, Pie, Sunburst } from '@ant-design/charts';
-import * as comm from '../../../utils/commons';
+import { isEmpty } from '@haina/utils-commons';
+import { show_vs_tag } from '../../../utils/commons';
import SearchForm from '../../../components/search/SearchForm';
import { observer } from 'mobx-react';
@@ -34,7 +35,7 @@ const buildFunnelData = (data1, data2) => {
{ stage: '火车票Upsell', number: (_getTrainUpsell(data1?.data)?.OrderCount || 0) + 0, dateRange: data1?.dateRangeStr },
{ stage: 'Upsell成行', number: _getTrainUpsell(data1?.data)?.CJCount, dateRange: data1?.dateRangeStr },
];
- const data02 = !comm.isEmpty(data2)
+ const data02 = !isEmpty(data2)
? [
{ stage: '火车票服务', number: _getTrainService(data2?.data)?.OrderCount || 0, dateRange: data2?.dateRangeStr },
{ stage: '成行出票', number: _getTrainService(data2?.data)?.CJCount || 0, dateRange: data2?.dateRangeStr },
@@ -47,13 +48,13 @@ const buildFunnelData = (data1, data2) => {
};
const buildPieData = (data1, data2) => {
- const data01 = !comm.isEmpty(data1)
+ const data01 = !isEmpty(data1)
? [
{ stage: '火车票出票', number: Number((data1?.data?.[0]?.YJLY || '0').replaceAll(',', '')), dateRange: data1?.dateRangeStr },
{ stage: 'Upsell成行', number: Number((data1?.data?.[1]?.YJLY || '0').replaceAll(',', '')), dateRange: data1?.dateRangeStr },
]
: [];
- const data02 = !comm.isEmpty(data2)
+ const data02 = !isEmpty(data2)
? [
{ stage: '火车票出票', number: Number((data2?.data?.[0]?.YJLY || '0').replaceAll(',', '')), dateRange: data2?.dateRangeStr },
{ stage: 'Upsell成行', number: Number((data2?.data?.[1]?.YJLY || '0').replaceAll(',', '')), dateRange: data2?.dateRangeStr },
@@ -70,7 +71,7 @@ const TrainsUpsell = observer(({ ...props }) => {
const [trainsOrdersSummary, compareData] = useTrainsStore((state) => state.trainsOrdersSummary);
const trainsUpsellOrdersDetail = useTrainsStore((state) => state.trainsUpsellOrdersDetail);
// const showDiff = !comm.isEmpty(searchValuesToSub.DateDiff2);
- const showDiff = !comm.isEmpty(compareData);
+ const showDiff = !isEmpty(compareData);
const getTrainsWithUpsell = useTrainsStore((state) => state.getTrainsWithUpsell);
const getTrainsOrderDetail = useTrainsStore((state) => state.getTrainsOrderDetail);
@@ -167,33 +168,33 @@ const TrainsUpsell = observer(({ ...props }) => {
{
title: '数量',
dataIndex: 'OrderCount',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.OrderCount_vs, r.OrderCount_diff, r.OrderCount, r.diff?.OrderCount)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.OrderCount_vs, r.OrderCount_diff, r.OrderCount, r.diff?.OrderCount)),
},
{
title: '成交数',
dataIndex: 'CJCount',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.CJCount_vs, r.CJCount_diff, r.CJCount, r.diff?.CJCount)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.CJCount_vs, r.CJCount_diff, r.CJCount, r.diff?.CJCount)),
},
{
title: '成交人数',
dataIndex: 'CJPersonNum',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.CJPersonNum_vs, r.CJPersonNum_diff, r.CJPersonNum, r.diff?.CJPersonNum)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.CJPersonNum_vs, r.CJPersonNum_diff, r.CJPersonNum, r.diff?.CJPersonNum)),
},
{
title: '成交率',
dataIndex: 'CJrate',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.CJrate_vs, r.CJrate_diff, r.CJrate, r.diff?.CJrate)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.CJrate_vs, r.CJrate_diff, r.CJrate, r.diff?.CJrate)),
},
{
title: '成交毛利(预计)',
dataIndex: 'YJLY',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.YJLY_vs, r.YJLY_diff, r.YJLY, r.diff?.YJLY)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.YJLY_vs, r.YJLY_diff, r.YJLY, r.diff?.YJLY)),
},
{
title: '单个订单价值',
dataIndex: 'Ordervalue',
- render: (text, r) => (!showDiff ? text : comm.show_vs_tag(r.Ordervalue_vs, r.Ordervalue_diff, r.Ordervalue, r.diff?.Ordervalue)),
+ render: (text, r) => (!showDiff ? text : show_vs_tag(r.Ordervalue_vs, r.Ordervalue_diff, r.Ordervalue, r.diff?.Ordervalue)),
},
];
return (
diff --git a/src/views/sales-crm/Dashboard.jsx b/src/views/sales-crm/Dashboard.jsx
index 14859bb..594b769 100644
--- a/src/views/sales-crm/Dashboard.jsx
+++ b/src/views/sales-crm/Dashboard.jsx
@@ -6,7 +6,7 @@ import moment from 'moment';
import { Row, Col, Table, Select, Spin, Tag } from 'antd';
import SearchForm from '../../components/search/SearchForm';
import MixFieldsDetail from '../../components/MixFieldsDetail';
-import { fixTo2Decimals, isEmpty, pick } from '../../utils/commons';
+import { fixTo2Decimals, isEmpty, pick } from '@haina/utils-commons';
import Column from '../../components/Column';
import { groupsMappedByKey } from '../../libs/ht';
diff --git a/src/views/sales-crm/Process.jsx b/src/views/sales-crm/Process.jsx
index b5f5eb2..0b94caa 100644
--- a/src/views/sales-crm/Process.jsx
+++ b/src/views/sales-crm/Process.jsx
@@ -5,7 +5,7 @@ import { stores_Context } from '../../config';
import { InfoCircleOutlined } from '@ant-design/icons';
import { Row, Col, Table, Tooltip } from 'antd';
import SearchForm from '../../components/search/SearchForm';
-import { pick } from '../../utils/commons';
+import { pick } from '@haina/utils-commons';
const COLOR_SETS = [
"#FFFFFF",
diff --git a/src/views/sales-crm/Risk.jsx b/src/views/sales-crm/Risk.jsx
index ba0aacb..ae694e0 100644
--- a/src/views/sales-crm/Risk.jsx
+++ b/src/views/sales-crm/Risk.jsx
@@ -4,7 +4,7 @@ import { observer } from 'mobx-react';
import { stores_Context, DATE_FORMAT, SMALL_DATETIME_FORMAT } from '../../config';
import { InfoCircleOutlined } from '@ant-design/icons';
import { Row, Col, Table, Divider, Button, Popover, Tooltip } from 'antd';
-import { fixTo2Decimals } from '../../utils/commons';
+import { fixTo2Decimals } from '@haina/utils-commons';
import MixFieldsDetail from '../../components/MixFieldsDetail';
const COLOR_SETS = [