diff --git a/src/components/popupModal/index.tsx b/src/components/popupModal/index.tsx index e4d34f4..6f6d578 100644 --- a/src/components/popupModal/index.tsx +++ b/src/components/popupModal/index.tsx @@ -1,4 +1,4 @@ -import { Input, View } from '@tarojs/components' +import { CustomWrapper, Input, View } from '@tarojs/components' import { useEffect, useState } from 'react' import styles from './index.module.scss' @@ -44,7 +44,9 @@ export default (props: Param) => { {title} - + + + diff --git a/src/pages/codeSetting/components/colorItemSetting/index.module.scss b/src/pages/codeSetting/components/colorItemSetting/index.module.scss index 868ce86..9d8cd24 100644 --- a/src/pages/codeSetting/components/colorItemSetting/index.module.scss +++ b/src/pages/codeSetting/components/colorItemSetting/index.module.scss @@ -17,6 +17,8 @@ border-radius: 16px 16px 0 0; .product_title { margin-right: 8px; + @include common_ellipsis(); + width: 380px; } .mode_status { width: 60px; diff --git a/src/pages/codeSetting/components/colorSetting/productBlock/index.module.scss b/src/pages/codeSetting/components/colorSetting/productBlock/index.module.scss index 3da8649..a918300 100644 --- a/src/pages/codeSetting/components/colorSetting/productBlock/index.module.scss +++ b/src/pages/codeSetting/components/colorSetting/productBlock/index.module.scss @@ -9,6 +9,8 @@ border-bottom: 1px solid rgba(0, 0, 0, 0.1); .product_title { margin-right: 8px; + @include common_ellipsis(); + max-width: 380px; } .mode_status { width: 60px; diff --git a/src/pages/codeSetting/components/main/index.module.scss b/src/pages/codeSetting/components/main/index.module.scss index a3260de..3a66483 100644 --- a/src/pages/codeSetting/components/main/index.module.scss +++ b/src/pages/codeSetting/components/main/index.module.scss @@ -2,11 +2,17 @@ background-color: #f7f7f7; min-height: 100vh; padding-bottom: 150px; + display: flex; + flex-direction: column; .code_list__head { background-color: #fff; padding: 24px; box-sizing: border-box; } + .loading_card { + flex: 1; + height: calc(100vh - 300px); + } .code_list_con { padding: 0 24px; margin-top: 24px; diff --git a/src/pages/codeSetting/components/main/index.tsx b/src/pages/codeSetting/components/main/index.tsx index 41a4ef3..729efbd 100644 --- a/src/pages/codeSetting/components/main/index.tsx +++ b/src/pages/codeSetting/components/main/index.tsx @@ -1,6 +1,6 @@ import { Text, View } from '@tarojs/components' import { useDidShow, useRouter } from '@tarojs/taro' -import { useCallback, useEffect, useMemo, useRef, useState } from 'react' +import { useCallback, useEffect, useMemo, useRef, useState, useTransition } from 'react' import PayeeHead from '../payeeHead' import type { CompanyItem } from '../payeeHead' import WholeOrderSetting from '../wholeOrderSetting' @@ -14,6 +14,7 @@ import { CreateCustomCodeApi, CustomPrintCalculationApi, GetCustomCodeDetailApi, import { formatPriceDiv, formatWeightDiv } from '@/common/fotmat' import { useCurrenCode } from '@/context/ContextCodeSetting' import { alert } from '@/common/common' +import LoadingCard from '@/components/loadingCard' export default () => { const { productData, dispatch } = useCurrenCode() @@ -30,17 +31,21 @@ export default () => { const modelIndex = useRef(1) const getTypeSelect = useCallback((index) => { modelIndex.current = index - // dispatch({ type: 'changeAdjustType', data: index }) getDataInit() }, []) + const [loading, setLoading] = useState(false) + const [codeData, setCodeData] = useState(null) + const [isPending, startTransition] = useTransition() + // 获取新增码单详情 const { fetchData: getCustomCodeInit } = GetCustomCodeInitApi() const onCustomCodeInit = async() => { const res = await getCustomCodeInit({ id: submit_ids.current.sale_order_id }) setCodeData(() => res?.data) + setLoading(false) } // 获取码单编辑详情 @@ -48,22 +53,29 @@ export default () => { const onGetCustomCodeDetail = async() => { const res = await getCustomCodeDetail({ id: submit_ids.current.custom_print_id }) setCodeData(() => res?.data) + setLoading(false) } - const getDataInit = async() => { - if (submit_ids.current.custom_print_id) { - await onGetCustomCodeDetail() - } - else { - await onCustomCodeInit() - } - dispatch({ type: 'changeSaveStatus', data: false }) + const getDataInit = () => { + setLoading(true) + startTransition(() => { + if (submit_ids.current.custom_print_id) { + onGetCustomCodeDetail() + } + else { + onCustomCodeInit() + } + }) } useEffect(() => { getDataInit() }, []) + const logadingStatus = useMemo(() => { + return loading || isPending + }, [loading, isPending]) + useEffect(() => { if (codeData) { codeData && dispatch({ @@ -148,47 +160,49 @@ export default () => { - - - {productData?.adjust_type == 1 && } - - - {productData?.adjust_type == 2 && } - - - {productData?.adjust_type == 3 && } - - - 自定义单据信息 - {codeData?.sale_mode === 0 && - 合计空差 - {formatWeightDiv(customTotal.total_weight_error)}kg - } - - 合计重量 - {formatWeightDiv(customTotal.total_sale_weight)}kg + {logadingStatus + ? + : + + {productData?.adjust_type == 1 && } - - 合计金额 - ¥{formatPriceDiv(customTotal.total_amount)} + + {productData?.adjust_type == 2 && } - - - 原始单据信息 - {codeData?.sale_mode === 0 && - 合计空差 - {formatWeightDiv(productData?.data?.original_total_weight_error)}kg - } - - 合计重量 - {formatWeightDiv(productData?.data?.original_total_sale_weight)}kg + + {productData?.adjust_type == 3 && } - - 合计金额 - ¥{formatPriceDiv(productData?.data?.original_total_amount)} + + 自定义单据信息 + {codeData?.sale_mode === 0 && + 合计空差 + {formatWeightDiv(customTotal.total_weight_error)}kg + } + + 合计重量 + {formatWeightDiv(customTotal.total_sale_weight)}kg + + + 合计金额 + ¥{formatPriceDiv(customTotal.total_amount)} + - - + + 原始单据信息 + {codeData?.sale_mode === 0 && + 合计空差 + {formatWeightDiv(productData?.data?.original_total_weight_error)}kg + } + + 合计重量 + {formatWeightDiv(productData?.data?.original_total_sale_weight)}kg + + + 合计金额 + ¥{formatPriceDiv(productData?.data?.original_total_amount)} + + + } diff --git a/src/pages/codeSetting/components/productSetting/productBlock/index.module.scss b/src/pages/codeSetting/components/productSetting/productBlock/index.module.scss index 423b0d7..12991b2 100644 --- a/src/pages/codeSetting/components/productSetting/productBlock/index.module.scss +++ b/src/pages/codeSetting/components/productSetting/productBlock/index.module.scss @@ -7,6 +7,8 @@ align-items: center; .product_title { margin-right: 8px; + @include common_ellipsis(); + max-width: 380px; } .mode_status { width: 60px; diff --git a/src/pages/codeSetting/components/productSetting/productBlock/index.tsx b/src/pages/codeSetting/components/productSetting/productBlock/index.tsx index 91031dd..0d406b0 100644 --- a/src/pages/codeSetting/components/productSetting/productBlock/index.tsx +++ b/src/pages/codeSetting/components/productSetting/productBlock/index.tsx @@ -80,7 +80,6 @@ const Index = memo((props: IndexParam) => { const [showEdit, setShowEdit] = useState(false) const [upStatus, setStatus] = useState(false) const [title, setTitle] = useState('') - console.log('productInfo内容:::', productInfo) const onUpdate = () => { setTitle(productInfo.product_name) setShowEdit(true) diff --git a/src/pages/codeSetting/components/settingNumber/index.tsx b/src/pages/codeSetting/components/settingNumber/index.tsx index e2a7f7d..b5bf856 100644 --- a/src/pages/codeSetting/components/settingNumber/index.tsx +++ b/src/pages/codeSetting/components/settingNumber/index.tsx @@ -1,4 +1,4 @@ -import { View } from '@tarojs/components' +import { CustomWrapper, View } from '@tarojs/components' import { useContext, useEffect, useState } from 'react' import Counter from '../counter' import styles from './index.module.scss' @@ -42,15 +42,21 @@ export default (props: Props) => { return 重量 - getNumber(num, 'weight')} onBlue={num => getNumber(num, 'weight')} /> + + getNumber(num, 'weight')} onBlue={num => getNumber(num, 'weight')} /> + {sale_mode === 0 && 空差 - getNumber(num, 'weight_error')} onBlue={num => getNumber(num, 'weight_error')} /> + + getNumber(num, 'weight_error')} onBlue={num => getNumber(num, 'weight_error')} /> + } 单价 - getNumber(num, 'sale_price')} onBlue={num => getNumber(num, 'sale_price')} /> + + getNumber(num, 'sale_price')} onBlue={num => getNumber(num, 'sale_price')} /> + } diff --git a/src/pages/codeSetting/components/wholeOrderSetting/index.tsx b/src/pages/codeSetting/components/wholeOrderSetting/index.tsx index 77c6052..389634a 100644 --- a/src/pages/codeSetting/components/wholeOrderSetting/index.tsx +++ b/src/pages/codeSetting/components/wholeOrderSetting/index.tsx @@ -67,7 +67,7 @@ export default memo((props: Parma) => { }, [productList]) const defaultNum = useMemo(() => { - console.log('orderData::默认', orderData) + console.log('orderData::默认', productData) return { weight: Big(orderData?.weight_admin || 0).div(Big(1000)).toNumber(), sale_price: Big(orderData?.price_admin || 0).div(Big(100)).toNumber(), diff --git a/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.module.scss b/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.module.scss index f6fc705..0bb29c9 100644 --- a/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.module.scss +++ b/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.module.scss @@ -8,6 +8,8 @@ border-bottom: 1px solid rgba(0, 0, 0, 0.1); .product_title { margin-right: 8px; + @include common_ellipsis(); + max-width: 380px; } .mode_status { width: 60px; @@ -24,6 +26,7 @@ .product_list__item--con { transition: height 0.3s ease-in-out; overflow: hidden; + max-height: 5000px; } .open_up_icon { transform: rotate(180deg); diff --git a/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.tsx b/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.tsx index 991398c..ff57436 100644 --- a/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.tsx +++ b/src/pages/codeSetting/components/wholeOrderSetting/productBlock/index.tsx @@ -1,4 +1,4 @@ -import { Text, View } from '@tarojs/components' +import { CustomWrapper, Text, View } from '@tarojs/components' import { memo, useCallback, useContext, useState } from 'react' import classNames from 'classnames' import ProductItem from '../../productItem' @@ -58,5 +58,6 @@ const Index = memo((props: IndexParam) => { setStatus(!upStatus)}>{upStatus ? '查看更多' : '收起'} setShowEdit(false)} onConfirm={onConfirm} /> + }) diff --git a/src/reducers/codeData.ts b/src/reducers/codeData.ts index 05a9238..d71a31b 100644 --- a/src/reducers/codeData.ts +++ b/src/reducers/codeData.ts @@ -35,7 +35,6 @@ export interface CodeParam { custom_print_id: number // 自定义码单id sale_order_id: number // 销售码单id admin_data: adminParam|null // 需要传给后端的数据 - save_status: boolean // 是否保存了数据 color_item_data: any // 当前编辑的颜色数据 update_status: 0|1|2 purchaser_form_title: CompanyItem // 码单抬头