|
|
@@ -1,4 +1,6 @@
|
|
|
import {previewMedia} from '@tarojs/taro';
|
|
|
+import dayjs from 'dayjs';
|
|
|
+import {useEffect, useState} from 'react';
|
|
|
|
|
|
export function usePreview() {
|
|
|
return function (files) {
|
|
|
@@ -13,3 +15,37 @@ export function usePreview() {
|
|
|
};
|
|
|
};
|
|
|
}
|
|
|
+
|
|
|
+export function useOrderState(states, anomaly, {time}) {
|
|
|
+ const [state, setState] = useState({className: '', msg: ''});
|
|
|
+
|
|
|
+ useEffect(
|
|
|
+ function () {
|
|
|
+ switch (true) {
|
|
|
+ case states === '0': {
|
|
|
+ const diffDay = dayjs(time).diff(
|
|
|
+ dayjs(dayjs().format('YYYY-MM-DD')),
|
|
|
+ 'd',
|
|
|
+ );
|
|
|
+
|
|
|
+ if (diffDay < 0) {
|
|
|
+ setState({className: 'bg-red-400', msg: '送货逾期'});
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ setState({className: 'bg-gray-400', msg: '正在送货'});
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case states === '1':
|
|
|
+ setState({
|
|
|
+ className: anomaly === '1' ? 'bg-red-500' : 'bg-primary',
|
|
|
+ msg: anomaly === '1' ? '订单异常' : '已送达',
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ [states, anomaly, time],
|
|
|
+ );
|
|
|
+
|
|
|
+ return state;
|
|
|
+}
|