--增加判断对象为空方法

--增加表单检索方法
--增加公司资料编辑页面
--增加码单管理页面
--增加码单添加页面
--编辑个人资料、地址管理、码单管理引入图标
This commit is contained in:
li tong bao
2022-04-25 18:09:23 +08:00
parent fa9a6b5d98
commit c6c3b8e21c
27 changed files with 8807 additions and 8643 deletions
+12 -2
View File
@@ -16,6 +16,7 @@
padding: 30px;
box-sizing: border-box;
margin: 18px auto 0;
border: 1px solid #ffffff;
}
.address-list:hover{
border: 1px solid #68b4ff;
@@ -50,8 +51,8 @@
color: #ababab;
margin-left: 30px;
}
.address-edit{
font-size: 26px;
.address-edit .icon-bianji{
font-size: 40px;
}
.address-list-info{
@@ -75,4 +76,13 @@
position: absolute;bottom: 8%;left: 50%;
transform: translateX(-50%);
}
.address-no-data{
font-size: 24px;
font-weight: 400;
text-align: center;
color: #707070;
height: 100%;
padding-top: 40%;
box-sizing: border-box;
}
}
+13 -9
View File
@@ -1,6 +1,6 @@
import { Button, Navigator, ScrollView, Text, View } from "@tarojs/components"
import { useState } from "react"
import { memo, useState } from "react"
import "./index.scss"
interface Params{
@@ -10,22 +10,23 @@ interface Params{
}
// 地址列表
const AddressList = (props:Params)=>{
const AddressList = memo((props:Params)=>{
// 处理刷新
const [refreshState, setRefreshState] = useState(false);
const handleRefresh = ()=>{
setRefreshState(true);
setTimeout(()=>{
setRefreshState(false);
},3000)
},500)
}
const data = Array.from({length:15});
return (
<View className="address-scroll-view">
<ScrollView scrollY refresherEnabled={props.refresherEnabled} enhanced refresherTriggered={refreshState} onRefresherRefresh={handleRefresh}>
{
Array.from({length:15}).map((item,index)=>{
data.length>0?
data.map((item,index)=>{
return(
<View onClick={()=>props.onSelect&&props.onSelect(item,index)} className="address-list">
<View className="address-user">
@@ -38,16 +39,19 @@ const AddressList = (props:Params)=>{
**省**市**区**街道****仓库
<Text className="address-list-phone">181****9790</Text>
</View>
<Navigator url="/pages/addAddress/index" hoverClass="none" className="address-edit">编辑</Navigator>
<Navigator url="/pages/addressAdd/index?type=edit" hoverClass="none" className="address-edit">
<Text className="iconfont icon-bianji"></Text>
</Navigator>
</View>
</View>
);
})
}):
<View className="address-no-data">暂未添加地址</View>
}
</ScrollView>
<Navigator url="/pages/addAddress/index" hoverClass="none" className="add-address">添加收货地址</Navigator>
<Navigator url="/pages/addressAdd/index?type=add" hoverClass="none" className="add-address">添加收货地址</Navigator>
</View>
)
}
})
export default AddressList;
+66
View File
@@ -0,0 +1,66 @@
.form-list{
display: flex;
justify-content: space-between;
margin: 30px 30px 0;
.form-list-label{
font-size: 28px;
font-weight: 700;
color: #000000;
margin-top: 20px;
}
.form-list-right{
width: 506px;
font-size: 26px;
font-weight: 400;
}
.form-list-right-meet{
background: #f6f6f6;
width: 506px;
min-height: 80px;
border-radius: 20px;
box-sizing: border-box;
padding: 10px 20px;
display: flex;justify-content: space-between;
align-items: center;
}
.form-list-right input,.form-list-right textarea{
flex: 0 0 auto;
min-height: 100%;
width: 100%;
color: #000000;
}
.form-list-right textarea{
height: 186px;
border-radius: 10px;
padding: 10px 0;
}
.form-list-right .phcolor{
color: #ababab;
}
.form-list-right-placeholder{
color: #ababab;
}
.form-list-right-enter .icon-a-moreback{
font-size: 28px;
}
.add-address-default{
display: flex;align-items: center;justify-content: space-between;
margin: 70px 30px 0;
font-size: 26px;
font-weight: 700;
color: #000000;
}
.add-address-save{
width: 668px;
height: 82px;
background: #007aff;
border-radius: 40px;
font-size: 32px;
font-weight: 400;
color: #ffffff;
display: flex;align-items: center;justify-content: center;
margin: 620px auto 0;
}
}
+46
View File
@@ -0,0 +1,46 @@
import { Input, Text, Textarea, View } from "@tarojs/components"
import { memo } from "react"
import "./index.scss"
interface ListParams{
label: string, //左边label
onInput?: ()=>any, // 输入框输入
onClick?:()=>any, //点击列表
placeholder?:string, // 提示文本
children?: any, // 插槽
type?: string // 类型:1.input,2.textarea,3.select
value?: any
}
// 表单列表
const FromList = memo((props:ListParams)=>{
const {type="input",value=""} = props;
return (
<View className="form-list">
<View className="form-list-label">{props.label}</View>
<View onClick={props?.onClick} className="form-list-right">
{
props.children??
<View onClick={props?.onClick} className="form-list-right-meet">
{
type=="input"?<Input value={value} placeholder-class="phcolor" onInput={props?.onInput} placeholder={props.placeholder} />:
type=="textarea"?<Textarea value={value} placeholder-class="phcolor" onInput={props?.onInput} placeholder={props.placeholder} />:
<>
{
props.value?<View>{value}</View>:
<View className="form-list-right-placeholder">
{props.placeholder}
</View>
}
<View className="form-list-right-enter"><Text className="iconfont icon-a-moreback"></Text></View>
</>
}
</View>
}
</View>
</View>
)
})
export default FromList;