🌈 style(eslint): add eslint rules

This commit is contained in:
xuan
2022-11-26 14:35:05 +08:00
parent f3aa20f049
commit 99a920975f
245 changed files with 14909 additions and 14349 deletions
@@ -1,13 +1,13 @@
import SegmentedControl from '@/components/segmentedControl'
import { FC, memo, useCallback, useEffect, useState } from 'react'
import SegmentedControl from '@/components/segmentedControl'
import { EnumSaleorderStatus } from '@/api/index'
type PropsType = {
onChangeStatus?: (data: {id: number, name: string}) => void
interface PropsType {
onChangeStatus?: (data: { id: number; name: string }) => void
}
const DeliveryStatusList = memo<PropsType>((props) => {
const { onChangeStatus } = props
const { onChangeStatus } = props
const { fetchData } = EnumSaleorderStatus()
const [statusList, setStatusList] = useState([
{
@@ -16,12 +16,12 @@ const DeliveryStatusList = memo<PropsType>((props) => {
},
])
// 请求
const getDeliveryStatusList = async () => {
const getDeliveryStatusList = async() => {
const res = await fetchData()
console.log(res.data.list);
console.log(res.data.list)
setStatusList(
res.data.list.filter((item) => {
return item.id === 3 || item.id === 4 // 待发货 已完成
return item.id === 3 || item.id === 4 // 待发货 已完成
}),
)
}
@@ -32,8 +32,8 @@ const DeliveryStatusList = memo<PropsType>((props) => {
// //状态改变
const changeStatus = useCallback(
(data: {id:number, name: string}) => {
onChangeStatus && onChangeStatus({ id: data.id, name: data.name })
(data: { id: number; name: string }) => {
onChangeStatus && onChangeStatus({ id: data.id, name: data.name })
},
[onChangeStatus],
)
+22 -23
View File
@@ -1,15 +1,16 @@
import { View } from '@tarojs/components'
import Taro from '@tarojs/taro'
import classnames from 'classnames'
import type { FC } from 'react'
import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import dayjs from 'dayjs'
import styles from './index.module.scss'
import NormalButton from '@/components/normalButton'
import Popup from '@/components/popup'
import { View } from '@tarojs/components'
import classnames from 'classnames'
import styles from './index.module.scss'
import React, { FC, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import Search from '@/components/search'
import IconFont from '@/components/iconfont/iconfont'
import { EnumDeliveryNoticeTypeList } from '@/api/index'
import dayjs from 'dayjs'
import { getFilterData } from '@/common/util'
import Taro from '@tarojs/taro'
interface SearchFilter {
type?: number
@@ -80,25 +81,25 @@ const DeliveryFilter = memo<DeliveryPropsType>((props) => {
const handleSelectedType = (type: string | number) => {
console.log('type==>', type)
if (typeof type === 'string' && type === 'default') {
setSearchFilter((e) => ({ ...e, type: undefined }))
} else {
setSearchFilter((e) => ({ ...e, type: type as number }))
setSearchFilter(e => ({ ...e, type: undefined }))
}
else {
setSearchFilter(e => ({ ...e, type: type as number }))
}
}
const typeList = useMemo<{ id: number; name: string }[]>(() => {
return state.data.list
}, [state])
useEffect(() => {
if (!!!typeList?.length) {
if (!typeList?.length) {
getEnumData()
console.log('getEnumData')
}
}, [typeList])
const getEnumData = async () => {
const getEnumData = async() => {
await fetchData()
}
@@ -107,18 +108,16 @@ const DeliveryFilter = memo<DeliveryPropsType>((props) => {
date_max: undefined,
})
const handleSelectedTime = (timeOptionId) => {
setSearchFilter((e) => ({ ...e, timeKey: timeOptionId }))
setSearchFilter(e => ({ ...e, timeKey: timeOptionId }))
// 不是设置了自定义时间
if (timeOptionId !== '6') {
setCustomTime({
date_min: filterTimeOptions[timeOptionId]['date_min'],
date_max: filterTimeOptions[timeOptionId]['date_max'],
date_min: filterTimeOptions[timeOptionId].date_min,
date_max: filterTimeOptions[timeOptionId].date_max,
})
return
}
}
onSearchTime?.()
}
@@ -144,8 +143,8 @@ const DeliveryFilter = memo<DeliveryPropsType>((props) => {
<FilterButton isActive={searchFilter.type == undefined} onClick={() => handleSelectedType('default')}>
不限
</FilterButton>
{!!typeList?.length &&
typeList?.map(item => {
{!!typeList?.length
&& typeList?.map((item) => {
return (
<FilterButton isActive={searchFilter.type === item?.id} onClick={() => handleSelectedType(item?.id)}>
{item.name}
@@ -166,15 +165,15 @@ const DeliveryFilter = memo<DeliveryPropsType>((props) => {
)
})}
<FilterButton isActive={searchFilter.timeKey === '6'} customClassName={styles.filterTimeButton} onClick={() => handleSelectedTime('6')}>
自定义时间<IconFont name='icon-chakanquanbukehu' size={40} color={searchFilter.timeKey === '6' ? '#4581ff' : '#909090'}></IconFont>
自定义时间<IconFont name="icon-chakanquanbukehu" size={40} color={searchFilter.timeKey === '6' ? '#4581ff' : '#909090'}></IconFont>
</FilterButton>
</View>
</View>
<View className={styles.filterController}>
<NormalButton plain type='primary' round customClassName={classnames(styles.btn, styles.rest_btn)} onClick={handleReset}>
<NormalButton plain type="primary" round customClassName={classnames(styles.btn, styles.rest_btn)} onClick={handleReset}>
重置
</NormalButton>
<NormalButton type='primary' round customClassName={classnames(styles.btn, styles.verify_btn)} onClick={handleConfirm}>
<NormalButton type="primary" round customClassName={classnames(styles.btn, styles.verify_btn)} onClick={handleConfirm}>
确认
</NormalButton>
</View>
@@ -1,10 +1,10 @@
import { Text, View } from '@tarojs/components'
import type { FC } from 'react'
import classnames from 'classnames'
import styles from './index.module.scss'
import LayoutBlock from '@/components/layoutBlock'
import Divider from '@/components/divider'
import { View, Text } from '@tarojs/components'
import { FC } from 'react'
import NormalButton from '@/components/normalButton'
import styles from './index.module.scss'
import classnames from 'classnames'
import { EnumSaleMode } from '@/common/Enumerate'
import { formatDateTime, formatMeterDiv } from '@/common/format'
import { goLink } from '@/common/common'
@@ -13,12 +13,12 @@ import { goLink } from '@/common/common'
import SaleModeTag from '@/components/saleModeTag'
// import { alert } from '@/common/common'
type PropsType = {
interface PropsType {
itemData: Record<string, any>
onSuccess?: Function
}
const ItemList:FC<PropsType> = (props) => {
const ItemList: FC<PropsType> = (props) => {
const { itemData, onSuccess } = props
// 查看详情
const handleDetail = (itemData: Record<string, any>) => {
@@ -41,7 +41,7 @@ const ItemList:FC<PropsType> = (props) => {
// confirmColor: '#337FFF',
// success: async (res) => {
// if (res.confirm) {
// const res = await fetchData({ id })
// const res = await fetchData({ id })
// if (res.success) {
// Taro.showToast({ title: '审核成功', icon: 'success' })
// onSuccess?.()
@@ -63,12 +63,12 @@ const ItemList:FC<PropsType> = (props) => {
</View>
<Text className={styles.topBar__orderType}>{itemData?.type_name}</Text>
</View>
<Divider direction='horizontal' customStyles={{ margin: '20rpx 0 10rpx 0' }}></Divider>
<Divider direction="horizontal" customStyles={{ margin: '20rpx 0 10rpx 0' }}></Divider>
<View className={styles.content}>
<View className={classnames(styles.content__row, styles.bord)}>
<View className={styles.content__row__left}>货品信息:</View>
<View className={styles.content__row__right}>
<SaleModeTag saleMode={itemData.sale_mode} size='small' customClassName={styles.tag}></SaleModeTag>
<SaleModeTag saleMode={itemData.sale_mode} size="small" customClassName={styles.tag}></SaleModeTag>
{itemData.delivery_product_nums}种面料,{itemData.delivery_product_color_nums}种颜色,共
{itemData?.sale_mode === EnumSaleMode.Bulk ? `${itemData?.delivery_roll}条` : `${formatMeterDiv(itemData?.delivery_length)}米`}
</View>
@@ -86,10 +86,11 @@ const ItemList:FC<PropsType> = (props) => {
<NormalButton
customClassName={styles.bottomBar__button}
plain
type='info'
type="info"
customStyles={{ color: '#636363', borderColor: '#c8c8c8' }}
round
onClick={() => handleDetail(itemData)}>
onClick={() => handleDetail(itemData)}
>
查看详情
</NormalButton>
{/* {itemData?.status === 0 && (
+37 -35
View File
@@ -1,21 +1,22 @@
import { View, Text } from '@tarojs/components'
import { useCallback, useEffect, useMemo, useRef, useState, FC, memo } from 'react'
import { Text, View } from '@tarojs/components'
import Taro, { useDidShow, useRouter } from '@tarojs/taro'
import type { FC } from 'react'
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import styles from './index.module.scss'
import ItemList from './components/ItemList'
import DeliveryStatusList from './components/DeliveryStatusList'
import type { SearchField } from './components/Filter'
import DeliveryFilter from './components/Filter'
import Search from '@/components/search'
import { DeliverNoticeOrderList, EnumSaleorderStatus } from '@/api/index'
import Taro, { useDidShow } from '@tarojs/taro'
import { useRouter } from '@tarojs/taro'
import InfiniteScroll from '@/components/infiniteScroll'
import { dataLoadingStatus, getFilterData } from '@/common/util'
import IconText from '@/components/iconText'
import IconFont from '@/components/iconfont/iconfont'
import ItemList from './components/ItemList'
import DeliveryStatusList from './components/DeliveryStatusList'
import Popup from '@/components/popup'
import DeliveryFilter, { SearchField } from './components/Filter'
import TimePickerPopup from '@/components/timePickerPopup'
type SearchData = {
interface SearchData {
delivery_notice_order_no?: string // 发货单号
delivery_notice_order_status?: number | string // 发货状态
date_min?: string // 开始时间
@@ -25,8 +26,6 @@ type SearchData = {
size: number
}
const defaultSearchFields = {
delivery_notice_order_status: 0, // 待发货
page: 1,
@@ -41,51 +40,51 @@ const Delivery: FC = () => {
const isFirst = useRef(true)
const { fetchData: FetchDeliveryOrderList, state: orderState } = DeliverNoticeOrderList()
//数据加载状态
// 数据加载状态
const statusMore = useMemo(() => {
return dataLoadingStatus({ list: deliveryOrderList.list, total: deliveryOrderList.total, status: orderState.loading! })
}, [deliveryOrderList, orderState])
//输入搜索关键字
// 输入搜索关键字
const getSearchData = useCallback((searchValue: string) => {
setSearch((prevProps) => ({ ...prevProps, delivery_notice_order_no: searchValue }))
setSearch(prevProps => ({ ...prevProps, delivery_notice_order_no: searchValue }))
console.log('searchValue==>', searchValue)
}, [])
useEffect(() => {
if(!isFirst.current){
if (!isFirst.current) {
getData()
}
}, [search])
useDidShow(()=>{
useDidShow(() => {
getData()
})
//上拉加载数据
// 上拉加载数据
const pageNum = useRef({ size: search.size, page: search.page })
const getScrollToLower = useCallback(() => {
if (deliveryOrderList.list.length < deliveryOrderList.total) {
pageNum.current.page++
const size = pageNum.current.size * pageNum.current.page
setSearch((e) => ({ ...e, size }))
setSearch(e => ({ ...e, size }))
console.log(search, 11111)
}
}, [deliveryOrderList])
//列表下拉刷新
// 列表下拉刷新
const [refresherTriggeredStatus, setRefresherTriggeredStatus] = useState(false)
const getRefresherRefresh = async () => {
const getRefresherRefresh = async() => {
pageNum.current.size = 1
setRefresherTriggeredStatus(true)
setSearch((val) => ({ ...val, size: 10 }))
setSearch(val => ({ ...val, size: 10 }))
}
const getData = async () => {
const getData = async() => {
const res = await FetchDeliveryOrderList(getFilterData(search))
setDeliveryOrderList((e) => ({ ...e, list: res.data?.list, total: res.data?.total }))
setDeliveryOrderList(e => ({ ...e, list: res.data?.list, total: res.data?.total }))
setRefresherTriggeredStatus(() => false)
}
@@ -95,11 +94,12 @@ const Delivery: FC = () => {
let fuckingBadCodeId: string | number = 0
if (statusId === 3) {
fuckingBadCodeId = 0
} else if (statusId === 4) {
}
else if (statusId === 4) {
fuckingBadCodeId = '1,2'
}
setCurrentStatus(statusName)
setSearch((e) => ({ ...e, delivery_notice_order_status: fuckingBadCodeId }))
setSearch(e => ({ ...e, delivery_notice_order_status: fuckingBadCodeId }))
}
const handleAuditSuccess = () => {
@@ -142,9 +142,10 @@ const Delivery: FC = () => {
console.log('changedFields==>changedFields', changedFields)
// 自定义时间
if (timeKey === '6') {
setSearch((prevProps) => ({ ...prevProps, ...changedFields, date_min: start, date_max: end }))
} else {
setSearch((prevProps) => ({ ...prevProps, ...changedFields }))
setSearch(prevProps => ({ ...prevProps, ...changedFields, date_min: start, date_max: end }))
}
else {
setSearch(prevProps => ({ ...prevProps, ...changedFields }))
}
handlePopupClose()
}
@@ -159,7 +160,7 @@ const Delivery: FC = () => {
const handleScan = () => {
Taro.scanCode({
success(res) {
setSearch((e) => ({ ...e, delivery_notice_order_no: res.result }))
setSearch(e => ({ ...e, delivery_notice_order_no: res.result }))
},
fail(res) {
console.log(res)
@@ -168,7 +169,7 @@ const Delivery: FC = () => {
}
return (
<View onClick={handleScan} className={styles.scanHandler}>
<IconFont name='icon-saomiao' size={40}></IconFont>
<IconFont name="icon-saomiao" size={40}></IconFont>
</View>
)
}
@@ -176,9 +177,9 @@ const Delivery: FC = () => {
return (
<View className={styles.delivery}>
<View className={styles.searchBox}>
<Search placeholder='请输入或扫描条形码' showBtn={false} changeOnSearch={getSearchData} debounceTime={300} customRightSlot={scanIcon()}>
<Search placeholder="请输入或扫描条形码" showBtn={false} changeOnSearch={getSearchData} debounceTime={300} customRightSlot={scanIcon()}>
<View onClick={onShowFilter} className={styles.icon__filter}>
<IconText svg iconName='icon-shaixuan' text='筛选' customClass={styles['icon--filter']} />
<IconText svg iconName="icon-shaixuan" text="筛选" customClass={styles['icon--filter']} />
</View>
</Search>
</View>
@@ -189,9 +190,10 @@ const Delivery: FC = () => {
<InfiniteScroll
statusMore={statusMore}
selfonScrollToLower={getScrollToLower}
refresherEnabled={true}
refresherEnabled
refresherTriggered={refresherTriggeredStatus}
selfOnRefresherRefresh={getRefresherRefresh}>
selfOnRefresherRefresh={getRefresherRefresh}
>
<Text className={styles['listBox--total']}>
{currentStatus}共 {deliveryOrderList.total} 单
</Text>
@@ -200,10 +202,10 @@ const Delivery: FC = () => {
})}
</InfiniteScroll>
</View>
<Popup show={showFilter} title='筛选列表' onClose={handlePopupClose}>
<Popup show={showFilter} title="筛选列表" onClose={handlePopupClose}>
<DeliveryFilter onSearchTime={handleSearchTime} onConfirm={handleConfirm} onReset={handleReset} />
</Popup>
<TimePickerPopup start={start} end={end} showTime={showTime} closePopup={handClose} onSelectDate={(e) => handTime(e)}></TimePickerPopup>
<TimePickerPopup start={start} end={end} showTime={showTime} closePopup={handClose} onSelectDate={e => handTime(e)}></TimePickerPopup>
</View>
)
}