From d0c36b46bbd89b67d70691a6c4a1404dba602ce7 Mon Sep 17 00:00:00 2001 From: buffeyu Date: Wed, 5 Jan 2022 16:56:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/u-gap/u-gap.vue | 24 + pages.json | 276 ++++++----- pages/client-detail/base-paper-deals.vue | 22 + pages/client-detail/basic-information.vue | 238 +++++++++ pages/client-detail/custom-header.vue | 45 ++ pages/client-detail/equipment-information.vue | 22 + pages/client-detail/index.vue | 80 +++ pages/client-detail/news-item.nvue | 464 ++++++++++++++++++ pages/client-detail/waste-paper-trading.vue | 22 + .../uni-segmented-control/changelog.md | 9 + .../uni-segmented-control.vue | 146 ++++++ .../uni-segmented-control/package.json | 87 ++++ uni_modules/uni-segmented-control/readme.md | 13 + 13 files changed, 1335 insertions(+), 113 deletions(-) create mode 100644 components/u-gap/u-gap.vue create mode 100644 pages/client-detail/base-paper-deals.vue create mode 100644 pages/client-detail/basic-information.vue create mode 100644 pages/client-detail/custom-header.vue create mode 100644 pages/client-detail/equipment-information.vue create mode 100644 pages/client-detail/index.vue create mode 100644 pages/client-detail/news-item.nvue create mode 100644 pages/client-detail/waste-paper-trading.vue create mode 100644 uni_modules/uni-segmented-control/changelog.md create mode 100644 uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue create mode 100644 uni_modules/uni-segmented-control/package.json create mode 100644 uni_modules/uni-segmented-control/readme.md diff --git a/components/u-gap/u-gap.vue b/components/u-gap/u-gap.vue new file mode 100644 index 0000000..bd518a2 --- /dev/null +++ b/components/u-gap/u-gap.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/pages.json b/pages.json index fd9bbc4..d89f894 100644 --- a/pages.json +++ b/pages.json @@ -1,115 +1,165 @@ { - "pages": [ - //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages - { - "path": "pages/client/index", - "style": { - "navigationBarTitleText": "客户", - "navigationStyle": "custom" - } - }, - { - "path": "pages/client-list/index", - "style": { - "navigationBarTitleText": "客户列表", - "navigationStyle": "custom" - } - }, - { - "path": "pages/search/index", - "style": { - "navigationBarTitleText": "客户搜索", - "navigationStyle": "custom" - } - }, - { - "path": "pages/add-user/index", - "style": { - "navigationBarTitleText": "添加客户", - "navigationStyle": "custom" - } - }, - { - "path": "pages/trade/index", - "style": { - "navigationBarTitleText": "交易" - } - }, - { - "path": "pages/mall/index", - "style": { - "navigationBarTitleText": "商城" - } - }, - { - "path": "pages/mine/index", - "style": { - "navigationBarTitleText": "我的" - } - }, - { - "path": "pages/login/index", - "style": { - "navigationBarTitleText": "登录", - "enablePullDownRefresh": false, - "navigationStyle": "custom" - } - }, - { - "path": "pages/agreement/index", - "style": { - "navigationBarTitleText": "用户与隐私协议" - } - } - ], - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "uni-app", - "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8", - "backgroundColorTop": "#FFFFFF" - }, - "tabBar": { - "color": "#888", - "selectedColor": "#007AFF", - "borderStyle": "white", - "backgroundColor": "#f9f9f9", - "list": [ - { - "pagePath": "pages/client/index", - "iconPath": "static/imgs/tabbar/client-gray.png", - "selectedIconPath": "static/imgs/tabbar/client-blue.png", - "text": "客户" - }, - { - "pagePath": "pages/trade/index", - "iconPath": "static/imgs/tabbar/trade-gray.png", - "selectedIconPath": "static/imgs/tabbar/trade-blue.png", - "text": "交易" - }, - { - "pagePath": "pages/mall/index", - "iconPath": "static/imgs/tabbar/mall-gray.png", - "selectedIconPath": "static/imgs/tabbar/mall-blue.png", - "text": "纸商城" - }, - { - "pagePath": "pages/mine/index", - "iconPath": "static/imgs/tabbar/mine-gray.png", - "selectedIconPath": "static/imgs/tabbar/mine-blue.png", - "text": "我的" - } - ] - }, - "condition": { - //模式配置,仅开发期间生效 - "current": 0, //当前激活的模式(list 的索引项) - "list": [ - { - "name": "", //模式名称 - "path": "", //启动页面,必选 - "query": "" //启动参数,在页面的onLoad函数里面得到 - } - ] - } + "pages": [ + //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + + { + "path": "pages/client/index", + "style": { + "navigationBarTitleText": "客户", + "navigationStyle": "custom" + } + }, + { + "path": "pages/client-list/index", + "style": { + "navigationBarTitleText": "客户列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/search/index", + "style": { + "navigationBarTitleText": "客户搜索", + "navigationStyle": "custom" + } + }, + { + "path": "pages/add-user/index", + "style": { + "navigationBarTitleText": "添加客户", + "navigationStyle": "custom" + } + }, + { + "path": "pages/trade/index", + "style": { + "navigationBarTitleText": "交易" + } + }, + { + "path": "pages/mall/index", + "style": { + "navigationBarTitleText": "商城" + } + }, + { + "path": "pages/mine/index", + "style": { + "navigationBarTitleText": "我的" + } + }, + { + "path": "pages/login/index", + "style": { + "navigationBarTitleText": "登录", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path": "pages/agreement/index", + "style": { + "navigationBarTitleText": "用户与隐私协议" + } + }, + { + "path": "pages/client-detail/index", + "style": { + "navigationBarTitleText": "客户详情", + "navigationStyle": "custom" + } + } + ,{ + "path" : "pages/client-detail/basic-information", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/client-detail/equipment-information", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/client-detail/base-paper-deals", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/client-detail/waste-paper-trading", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "components/u-gap/u-gap", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8", + "backgroundColorTop": "#FFFFFF" + }, + "tabBar": { + "color": "#888", + "selectedColor": "#007AFF", + "borderStyle": "white", + "backgroundColor": "#f9f9f9", + "list": [{ + "pagePath": "pages/client/index", + "iconPath": "static/imgs/tabbar/client-gray.png", + "selectedIconPath": "static/imgs/tabbar/client-blue.png", + "text": "客户" + }, + { + "pagePath": "pages/trade/index", + "iconPath": "static/imgs/tabbar/trade-gray.png", + "selectedIconPath": "static/imgs/tabbar/trade-blue.png", + "text": "交易" + }, + { + "pagePath": "pages/mall/index", + "iconPath": "static/imgs/tabbar/mall-gray.png", + "selectedIconPath": "static/imgs/tabbar/mall-blue.png", + "text": "纸商城" + }, + { + "pagePath": "pages/mine/index", + "iconPath": "static/imgs/tabbar/mine-gray.png", + "selectedIconPath": "static/imgs/tabbar/mine-blue.png", + "text": "我的" + } + ] + }, + "condition": { + //模式配置,仅开发期间生效 + "current": 0, //当前激活的模式(list 的索引项) + "list": [{ + "name": "", //模式名称 + "path": "", //启动页面,必选 + "query": "" //启动参数,在页面的onLoad函数里面得到 + }] + } } diff --git a/pages/client-detail/base-paper-deals.vue b/pages/client-detail/base-paper-deals.vue new file mode 100644 index 0000000..d85bbbd --- /dev/null +++ b/pages/client-detail/base-paper-deals.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/pages/client-detail/basic-information.vue b/pages/client-detail/basic-information.vue new file mode 100644 index 0000000..cdbbec7 --- /dev/null +++ b/pages/client-detail/basic-information.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/pages/client-detail/custom-header.vue b/pages/client-detail/custom-header.vue new file mode 100644 index 0000000..e91175a --- /dev/null +++ b/pages/client-detail/custom-header.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/pages/client-detail/equipment-information.vue b/pages/client-detail/equipment-information.vue new file mode 100644 index 0000000..f36a8bd --- /dev/null +++ b/pages/client-detail/equipment-information.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/pages/client-detail/index.vue b/pages/client-detail/index.vue new file mode 100644 index 0000000..7484083 --- /dev/null +++ b/pages/client-detail/index.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/pages/client-detail/news-item.nvue b/pages/client-detail/news-item.nvue new file mode 100644 index 0000000..18973ed --- /dev/null +++ b/pages/client-detail/news-item.nvue @@ -0,0 +1,464 @@ + + + + diff --git a/pages/client-detail/waste-paper-trading.vue b/pages/client-detail/waste-paper-trading.vue new file mode 100644 index 0000000..5b96d08 --- /dev/null +++ b/pages/client-detail/waste-paper-trading.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/uni_modules/uni-segmented-control/changelog.md b/uni_modules/uni-segmented-control/changelog.md new file mode 100644 index 0000000..a44385d --- /dev/null +++ b/uni_modules/uni-segmented-control/changelog.md @@ -0,0 +1,9 @@ +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-segmented-control](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.5(2021-05-12) +- 新增 项目示例地址 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue b/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue new file mode 100644 index 0000000..1cc9d69 --- /dev/null +++ b/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/uni_modules/uni-segmented-control/package.json b/uni_modules/uni-segmented-control/package.json new file mode 100644 index 0000000..6cae41d --- /dev/null +++ b/uni_modules/uni-segmented-control/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-segmented-control", + "displayName": "uni-segmented-control 分段器", + "version": "1.2.0", + "description": "分段器由至少 2 个分段控件组成,用作不同视图的显示", + "keywords": [ + "uni-ui", + "uniui", + "分段器", + "segement", + "顶部选择" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-segmented-control/readme.md b/uni_modules/uni-segmented-control/readme.md new file mode 100644 index 0000000..3527b03 --- /dev/null +++ b/uni_modules/uni-segmented-control/readme.md @@ -0,0 +1,13 @@ + + +## SegmentedControl 分段器 +> **组件名:uni-segmented-control** +> 代码块: `uSegmentedControl` + + +用作不同视图的显示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + From 6b8871f08973fcf1fc846af16ade425bf76c7146 Mon Sep 17 00:00:00 2001 From: buffeyu Date: Wed, 5 Jan 2022 17:12:30 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E3=80=90up=E3=80=91=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/client-detail/basic-information.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/client-detail/basic-information.vue b/pages/client-detail/basic-information.vue index cdbbec7..f066cba 100644 --- a/pages/client-detail/basic-information.vue +++ b/pages/client-detail/basic-information.vue @@ -139,7 +139,7 @@ width: 750rpx; display: flex; flex-direction: row; - padding: 30rpx 32rpx 48rpx; + padding: 20rpx 32rpx; .image { width: 140rpx; @@ -186,7 +186,7 @@ justify-content: space-around; align-items: center; text-align: center; - padding-bottom: 34rpx; + padding: 34rpx 0rpx; .title { font-size: 24rpx; From 2d578ec159684c5280a02c4458da5b773dfc690d Mon Sep 17 00:00:00 2001 From: buffeyu Date: Thu, 6 Jan 2022 17:34:04 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E3=80=90up=E3=80=91=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apis/clientDetailApi.js | 12 + common/css/reset.scss | 9 + pages.json | 45 -- pages/client-detail/basic-information.vue | 658 +++++++++++++----- pages/client-detail/custom-header.vue | 61 +- pages/client-detail/index.vue | 128 ++-- static/imgs/client-detail/address-icon.png | Bin 0 -> 1537 bytes static/imgs/client-detail/arrow-down-icon.png | Bin 0 -> 446 bytes static/imgs/client-detail/arrow-up-icon.png | Bin 0 -> 421 bytes 9 files changed, 595 insertions(+), 318 deletions(-) create mode 100644 apis/clientDetailApi.js create mode 100644 static/imgs/client-detail/address-icon.png create mode 100644 static/imgs/client-detail/arrow-down-icon.png create mode 100644 static/imgs/client-detail/arrow-up-icon.png diff --git a/apis/clientDetailApi.js b/apis/clientDetailApi.js new file mode 100644 index 0000000..7969932 --- /dev/null +++ b/apis/clientDetailApi.js @@ -0,0 +1,12 @@ +import http from '../utils/http/index.js' + +// 纸掌柜--客户详情--基础信息 +export function getBaseInfo(data) { + return http.get( + { + url: '/yyt-uec/get/customer/detail/base-info', + data + } + ) +} + diff --git a/common/css/reset.scss b/common/css/reset.scss index 67d551f..5a8a843 100644 --- a/common/css/reset.scss +++ b/common/css/reset.scss @@ -44,4 +44,13 @@ button::after { height: 0; clear: both; visibility: hidden; +} +// 两行省略号 +.u-line-2 { + -webkit-line-clamp: 2; + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; // 弹性伸缩盒 + -webkit-box-orient: vertical; // 设置伸缩盒子元素排列方式 } \ No newline at end of file diff --git a/pages.json b/pages.json index d89f894..70c1559 100644 --- a/pages.json +++ b/pages.json @@ -69,51 +69,6 @@ "navigationStyle": "custom" } } - ,{ - "path" : "pages/client-detail/basic-information", - "style" : - { - "navigationBarTitleText": "", - "enablePullDownRefresh": false - } - - } - ,{ - "path" : "pages/client-detail/equipment-information", - "style" : - { - "navigationBarTitleText": "", - "enablePullDownRefresh": false - } - - } - ,{ - "path" : "pages/client-detail/base-paper-deals", - "style" : - { - "navigationBarTitleText": "", - "enablePullDownRefresh": false - } - - } - ,{ - "path" : "pages/client-detail/waste-paper-trading", - "style" : - { - "navigationBarTitleText": "", - "enablePullDownRefresh": false - } - - } - ,{ - "path" : "components/u-gap/u-gap", - "style" : - { - "navigationBarTitleText": "", - "enablePullDownRefresh": false - } - - } ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/client-detail/basic-information.vue b/pages/client-detail/basic-information.vue index f066cba..db9e96e 100644 --- a/pages/client-detail/basic-information.vue +++ b/pages/client-detail/basic-information.vue @@ -1,238 +1,540 @@ diff --git a/pages/client-detail/custom-header.vue b/pages/client-detail/custom-header.vue index e91175a..687c3c9 100644 --- a/pages/client-detail/custom-header.vue +++ b/pages/client-detail/custom-header.vue @@ -1,45 +1,42 @@ diff --git a/pages/client-detail/index.vue b/pages/client-detail/index.vue index 7484083..ecb4a44 100644 --- a/pages/client-detail/index.vue +++ b/pages/client-detail/index.vue @@ -1,80 +1,82 @@ diff --git a/static/imgs/client-detail/address-icon.png b/static/imgs/client-detail/address-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5184a40173c679a06ed94c5eaac86cb9f9579884 GIT binary patch literal 1537 zcmV+c2LAbpP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$^Ye_^wR9FecS8Hq(RTMtwZXdf- zc~lfkeWb)_#2;cbqLGkbNJJ14XuCWl5Hyij2nMAOG5Q0mOFkjzd4JjUc&`Td#B)Ah$4V0u()aT3g?z0Kn!uuMGU`m${v2f=?Gu^b zQHjLt^eX-(Dp1&#OxY7$k(Xf`)8|XCW*RG|hdBl-0}5sKjPrn*9BFv`CiFT3Jq$@RkFXQr!_^}^`5Yvf}=0hPhEU*dp$ITfd6F}jD zlglNU5CrH4t^F{E7;joeFBaN84pmD@5ZCY`6Hp|t83K00k^tub@1U1R(R`?%q02k) zw;w%l3vZ?G!`x&uzLet4HMSCp9WvO+0b558EPh-@p6+%|VsgKHG3F!=mv-Y+tgKDh z&GJdb^fw(<*k;JC(8fESluDx)BlU5NZF!&Jsu-^~I4mO*(1i0x zS`VWazU?DRb=PTU?~?6O+NTfwJHJ)NxI`K3%@WPTk-W3LK5-<S;ALzA`sp-W zu_bR*N-Zr+Y(Nvb4Kv@6qOEew;-7SDaOdwg$i?+2(v zDSE`URH6#ai~pvG{FBNA#yW*A88RAY`EzFMzer4u-X(pTu0j&AtT~YBlz=g zHE_5UeE{{`KB(*&ixbC8)Vv-TRhig|674aA=UQUD@n4jx(`Sc?o!0}#=-*y@)YV2m nCsM?ztc)MUH^%?An3#V9^TXeh{9a+}00000NkvXXu0mjf%aXiO literal 0 HcmV?d00001 diff --git a/static/imgs/client-detail/arrow-down-icon.png b/static/imgs/client-detail/arrow-down-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc82fe419ea1ead32043a55013d5db1582b0a3cc GIT binary patch literal 446 zcmV;v0YUzWP)Px#1ZP1_K>z@;j|==^1poj6Xh}ptR9Hu27zLwX6pR950V4}XAg_|wN+6RJB7z$* zvGFBvN!!c?F(D!p0!C(bU(LJ^zqCvK|L0Q+Tn7}w=?IYJ+C@MAg49ACffo?v!vBAN zUH|s<*eeiQ)^A-P&=FWe0%W;n&g;2A1{1@-U;lo*zH}HWMGe5HA|Jf%3CL&ILIT<6 zAR5GnN>LMFcLXJtGeT(+0LT$r5AY~@N`rW>k2RbYwWub|V1S$;*@V

Px#1ZP1_K>z@;j|==^1poj6Pf0{UR9Hu27zLwX6i^7bpfvpfyO3J4QuOhMj7+R5 zP$BvOc44h_?UKL$v`hZ~SB^dNgc3(EL204^hp2A0O5)||K&^~mzPPb8FeDC;>j;t@ zz#(RkuN;4A3fS`hfBt>Ey6`kuoI*zs1vn*4OF%&m#>Kz?vI(jr0EJma%*)ro#3_vq zoPbNpq5_NMFhE;JaLd@%;;|eC$aVz5G{DHp!wqHtJuyMgk79OcUD4#X}WH~50s1fJj zyi5uJS+1INeJ%qd3q1OMygd8#-cn14|Nnm9feH}~NGb Date: Thu, 6 Jan 2022 18:03:43 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BA=A4=E6=98=93-=E6=8A=A5=E4=BB=B7?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=8C=E8=AE=A2=E5=8D=95=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apis/trade.js | 23 + components/not-logged/not-logged.vue | 65 +++ pages.json | 39 +- pages/trade/index.vue | 128 ++++- pages/trade/my-offer.vue | 208 +++++++ pages/trade/orderList.vue | 201 +++++++ pages/trade/quotationList.vue | 268 +++++++++ static/imgs/trade/not-login.png | Bin 0 -> 73984 bytes uni_modules/uni-badge/changelog.md | 29 + .../components/uni-badge/uni-badge.vue | 268 +++++++++ uni_modules/uni-badge/package.json | 88 +++ uni_modules/uni-badge/readme.md | 10 + uni_modules/uni-list/changelog.md | 18 + .../components/uni-list-ad/uni-list-ad.vue | 107 ++++ .../uni-list-chat/uni-list-chat.scss | 58 ++ .../uni-list-chat/uni-list-chat.vue | 538 ++++++++++++++++++ .../uni-list-item/uni-list-item.vue | 474 +++++++++++++++ .../components/uni-list/uni-list - 副本.vue | 106 ++++ .../uni-list/components/uni-list/uni-list.vue | 108 ++++ .../components/uni-list/uni-refresh.vue | 65 +++ .../components/uni-list/uni-refresh.wxs | 87 +++ uni_modules/uni-list/package.json | 91 +++ uni_modules/uni-list/readme.md | 347 +++++++++++ 23 files changed, 3301 insertions(+), 25 deletions(-) create mode 100644 apis/trade.js create mode 100644 components/not-logged/not-logged.vue create mode 100644 pages/trade/my-offer.vue create mode 100644 pages/trade/orderList.vue create mode 100644 pages/trade/quotationList.vue create mode 100644 static/imgs/trade/not-login.png create mode 100644 uni_modules/uni-badge/changelog.md create mode 100644 uni_modules/uni-badge/components/uni-badge/uni-badge.vue create mode 100644 uni_modules/uni-badge/package.json create mode 100644 uni_modules/uni-badge/readme.md create mode 100644 uni_modules/uni-list/changelog.md create mode 100644 uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue create mode 100644 uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss create mode 100644 uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue create mode 100644 uni_modules/uni-list/components/uni-list-item/uni-list-item.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-list - 副本.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-list.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-refresh.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-refresh.wxs create mode 100644 uni_modules/uni-list/package.json create mode 100644 uni_modules/uni-list/readme.md diff --git a/apis/trade.js b/apis/trade.js new file mode 100644 index 0000000..a5e2e40 --- /dev/null +++ b/apis/trade.js @@ -0,0 +1,23 @@ +import http from '../utils/http/index.js' + +// 交易大厅-报价 +export function getEnterpriseList(data) { + return http.get( + { + url: '/base-paper-trading/get/supplier/enquiry-reply/wait-reply-list', + data + }, + { hideLoading: true } + ) +} +// 交易大厅-订单 +export function gettradingHallList(data) { + return http.get( + { + url: '/base-paper-trading/get/trading-hall/supplier-order-page', + data + }, + { hideLoading: true } + ) +} + diff --git a/components/not-logged/not-logged.vue b/components/not-logged/not-logged.vue new file mode 100644 index 0000000..2a0fae4 --- /dev/null +++ b/components/not-logged/not-logged.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/pages.json b/pages.json index d89f894..b16841f 100644 --- a/pages.json +++ b/pages.json @@ -33,7 +33,8 @@ { "path": "pages/trade/index", "style": { - "navigationBarTitleText": "交易" + "navigationBarTitleText": "交易", + "navigationStyle": "custom" } }, { @@ -114,6 +115,42 @@ } } + ,{ + "path" : "components/not-logged/not-logged", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/trade/quotationList", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/trade/orderList", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/trade/my-offer", + "style" : + { + "navigationBarTitleText": "我的报价", + "enablePullDownRefresh": false + } + + } ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/trade/index.vue b/pages/trade/index.vue index c9cc50c..5555e0a 100644 --- a/pages/trade/index.vue +++ b/pages/trade/index.vue @@ -1,40 +1,120 @@ - diff --git a/pages/trade/my-offer.vue b/pages/trade/my-offer.vue new file mode 100644 index 0000000..fd75c55 --- /dev/null +++ b/pages/trade/my-offer.vue @@ -0,0 +1,208 @@ + + + + + diff --git a/pages/trade/orderList.vue b/pages/trade/orderList.vue new file mode 100644 index 0000000..edd927e --- /dev/null +++ b/pages/trade/orderList.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/pages/trade/quotationList.vue b/pages/trade/quotationList.vue new file mode 100644 index 0000000..1a795d5 --- /dev/null +++ b/pages/trade/quotationList.vue @@ -0,0 +1,268 @@ + + + + + diff --git a/static/imgs/trade/not-login.png b/static/imgs/trade/not-login.png new file mode 100644 index 0000000000000000000000000000000000000000..01af3900b7415662edda2036b2fa82a01a7224e1 GIT binary patch literal 73984 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

A?3HE2~&I-kJD!X~^I8>&D+Kr(t%x5R2UrE)H9f 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 + + + {{displayValue}} + + + + + + diff --git a/uni_modules/uni-badge/package.json b/uni_modules/uni-badge/package.json new file mode 100644 index 0000000..7ba6d2f --- /dev/null +++ b/uni_modules/uni-badge/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-badge", + "displayName": "uni-badge 数字角标", + "version": "1.2.0", + "description": "数字角标(徽章)组件,在元素周围展示消息提醒,一般用于列表、九宫格、按钮等地方。", + "keywords": [ + "", + "badge", + "uni-ui", + "uniui", + "数字角标", + "徽章" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-badge/readme.md b/uni_modules/uni-badge/readme.md new file mode 100644 index 0000000..bdf175d --- /dev/null +++ b/uni_modules/uni-badge/readme.md @@ -0,0 +1,10 @@ +## Badge 数字角标 +> **组件名:uni-badge** +> 代码块: `uBadge` + +数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-badge) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-list/changelog.md b/uni_modules/uni-list/changelog.md new file mode 100644 index 0000000..64513ef --- /dev/null +++ b/uni_modules/uni-list/changelog.md @@ -0,0 +1,18 @@ +## 1.2.0(2021-11-23) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-list](https://uniapp.dcloud.io/component/uniui/uni-list) +## 1.1.3(2021-08-30) +- 修复 在vue3中to属性在发行应用的时候报错的bug +## 1.1.2(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.1(2021-07-21) +- 修复 与其他组件嵌套使用时,点击失效的Bug +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.17(2021-05-12) +- 新增 组件示例地址 +## 1.0.16(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.15(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 uni-list-chat 角标显示不正常的问题 diff --git a/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue b/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue new file mode 100644 index 0000000..e256e4c --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss new file mode 100644 index 0000000..311f8d9 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss @@ -0,0 +1,58 @@ +/** + * 这里是 uni-list 组件内置的常用样式变量 + * 如果需要覆盖样式,这里提供了基本的组件样式变量,您可以尝试修改这里的变量,去完成样式替换,而不用去修改源码 + * + */ + +// 背景色 +$background-color : #fff; +// 分割线颜色 +$divide-line-color : #e5e5e5; + +// 默认头像大小,如需要修改此值,注意同步修改 js 中的值 const avatarWidth = xx ,目前只支持方形头像 +// nvue 页面不支持修改头像大小 +$avatar-width : 45px ; + +// 头像边框 +$avatar-border-radius: 5px; +$avatar-border-color: #eee; +$avatar-border-width: 1px; + +// 标题文字样式 +$title-size : 16px; +$title-color : #3b4144; +$title-weight : normal; + +// 描述文字样式 +$note-size : 12px; +$note-color : #999; +$note-weight : normal; + +// 右侧额外内容默认样式 +$right-text-size : 12px; +$right-text-color : #999; +$right-text-weight : normal; + +// 角标样式 +// nvue 页面不支持修改圆点位置以及大小 +// 角标在左侧时,角标的位置,默认为 0 ,负数左/下移动,正数右/上移动 +$badge-left: 0px; +$badge-top: 0px; + +// 显示圆点时,圆点大小 +$dot-width: 10px; +$dot-height: 10px; + +// 显示角标时,角标大小和字体大小 +$badge-size : 18px; +$badge-font : 12px; +// 显示角标时,角标前景色 +$badge-color : #fff; +// 显示角标时,角标背景色 +$badge-background-color : #ff5a5f; +// 显示角标时,角标左右间距 +$badge-space : 6px; + +// 状态样式 +// 选中颜色 +$hover : #f5f5f5; diff --git a/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue new file mode 100644 index 0000000..0c8519e --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue @@ -0,0 +1,538 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue b/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue new file mode 100644 index 0000000..c3a942a --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue @@ -0,0 +1,474 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list/uni-list - 副本.vue b/uni_modules/uni-list/components/uni-list/uni-list - 副本.vue new file mode 100644 index 0000000..1c85003 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-list - 副本.vue @@ -0,0 +1,106 @@ + + + + diff --git a/uni_modules/uni-list/components/uni-list/uni-list.vue b/uni_modules/uni-list/components/uni-list/uni-list.vue new file mode 100644 index 0000000..976a80d --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-list.vue @@ -0,0 +1,108 @@ + + + + diff --git a/uni_modules/uni-list/components/uni-list/uni-refresh.vue b/uni_modules/uni-list/components/uni-list/uni-refresh.vue new file mode 100644 index 0000000..3b4c5a2 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-refresh.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list/uni-refresh.wxs b/uni_modules/uni-list/components/uni-list/uni-refresh.wxs new file mode 100644 index 0000000..818a6b7 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-refresh.wxs @@ -0,0 +1,87 @@ +var pullDown = { + threshold: 95, + maxHeight: 200, + callRefresh: 'onrefresh', + callPullingDown: 'onpullingdown', + refreshSelector: '.uni-refresh' +}; + +function ready(newValue, oldValue, ownerInstance, instance) { + var state = instance.getState() + state.canPullDown = newValue; + // console.log(newValue); +} + +function touchStart(e, instance) { + var state = instance.getState(); + state.refreshInstance = instance.selectComponent(pullDown.refreshSelector); + state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined); + if (!state.canPullDown) { + return + } + + // console.log("touchStart"); + + state.height = 0; + state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY; + state.refreshInstance.setStyle({ + 'height': 0 + }); + state.refreshInstance.callMethod("onchange", true); +} + +function touchMove(e, ownerInstance) { + var instance = e.instance; + var state = instance.getState(); + if (!state.canPullDown) { + return + } + + var oldHeight = state.height; + var endY = e.touches[0].pageY || e.changedTouches[0].pageY; + var height = endY - state.touchStartY; + if (height > pullDown.maxHeight) { + return; + } + + var refreshInstance = state.refreshInstance; + refreshInstance.setStyle({ + 'height': height + 'px' + }); + + height = height < pullDown.maxHeight ? height : pullDown.maxHeight; + state.height = height; + refreshInstance.callMethod(pullDown.callPullingDown, { + height: height + }); +} + +function touchEnd(e, ownerInstance) { + var state = e.instance.getState(); + if (!state.canPullDown) { + return + } + + state.refreshInstance.callMethod("onchange", false); + + var refreshInstance = state.refreshInstance; + if (state.height > pullDown.threshold) { + refreshInstance.callMethod(pullDown.callRefresh); + return; + } + + refreshInstance.setStyle({ + 'height': 0 + }); +} + +function propObserver(newValue, oldValue, instance) { + pullDown = newValue; +} + +module.exports = { + touchmove: touchMove, + touchstart: touchStart, + touchend: touchEnd, + propObserver: propObserver +} diff --git a/uni_modules/uni-list/package.json b/uni_modules/uni-list/package.json new file mode 100644 index 0000000..9d20a73 --- /dev/null +++ b/uni_modules/uni-list/package.json @@ -0,0 +1,91 @@ +{ + "id": "uni-list", + "displayName": "uni-list 列表", + "version": "1.2.0", + "description": "List 组件 ,帮助使用者快速构建列表。", + "keywords": [ + "", + "uni-ui", + "uniui", + "列表", + "", + "list" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-list/readme.md b/uni_modules/uni-list/readme.md new file mode 100644 index 0000000..e4a5d73 --- /dev/null +++ b/uni_modules/uni-list/readme.md @@ -0,0 +1,347 @@ + + +## List 列表 +> **组件名:uni-list** +> 代码块: `uList`、`uListItem` +> 关联组件:`uni-list-item`、`uni-badge`、`uni-icons`、`uni-list-chat`、`uni-list-ad` + + +List 列表组件,包含基本列表样式、可扩展插槽机制、长列表性能优化、多端兼容。 + +在vue页面里,它默认使用页面级滚动。在app-nvue页面里,它默认使用原生list组件滚动。这样的长列表,在滚动出屏幕外后,系统会回收不可见区域的渲染内存资源,不会造成滚动越长手机越卡的问题。 + +uni-list组件是父容器,里面的核心是uni-list-item子组件,它代表列表中的一个可重复行,子组件可以无限循环。 + +uni-list-item有很多风格,uni-list-item组件通过内置的属性,满足一些常用的场景。当内置属性不满足需求时,可以通过扩展插槽来自定义列表内容。 + +内置属性可以覆盖的场景包括:导航列表、设置列表、小图标列表、通信录列表、聊天记录列表。 + +涉及很多大图或丰富内容的列表,比如类今日头条的新闻列表、类淘宝的电商列表,需要通过扩展插槽实现。 + +下文均有样例给出。 + +uni-list不包含下拉刷新和上拉翻页。上拉翻页另见组件:[uni-load-more](https://ext.dcloud.net.cn/plugin?id=29) + + +### 安装方式 + +本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 + +如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) + +> **注意事项** +> 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。 +> - 组件需要依赖 `sass` 插件 ,请自行手动安装 +> - 组件内部依赖 `'uni-icons'` 、`uni-badge` 组件 +> - `uni-list` 和 `uni-list-item` 需要配套使用,暂不支持单独使用 `uni-list-item` +> - 只有开启点击反馈后,会有点击选中效果 +> - 使用插槽时,可以完全自定义内容 +> - note 、rightText 属性暂时没做限制,不支持文字溢出隐藏,使用时应该控制长度显示或通过默认插槽自行扩展 +> - 支付宝小程序平台需要在支付宝小程序开发者工具里开启 component2 编译模式,开启方式: 详情 --> 项目配置 --> 启用 component2 编译 +> - 如果需要修改 `switch`、`badge` 样式,请使用插槽自定义 +> - 在 `HBuilderX` 低版本中,可能会出现组件显示 `undefined` 的问题,请升级最新的 `HBuilderX` 或者 `cli` +> - 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + +### 基本用法 + +- 设置 `title` 属性,可以显示列表标题 +- 设置 `disabled` 属性,可以禁用当前项 + +```html + + + + + +``` + +### 多行内容显示 + +- 设置 `note` 属性 ,可以在第二行显示描述文本信息 + +```html + + + + + +``` + +### 右侧显示角标、switch + +- 设置 `show-badge` 属性 ,可以显示角标内容 +- 设置 `show-switch` 属性,可以显示 switch 开关 + +```html + + + + + +``` + +### 左侧显示略缩图、图标 + +- 设置 `thumb` 属性 ,可以在列表左侧显示略缩图 +- 设置 `show-extra-icon` 属性,并指定 `extra-icon` 可以在左侧显示图标 + +```html + + + + +``` + +### 开启点击反馈和右侧箭头 +- 设置 `clickable` 为 `true` ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 `click` 事件 +- 设置 `link` 属性,会自动开启点击反馈,并给列表右侧添加一个箭头 +- 设置 `to` 属性,可以跳转页面,`link` 的值表示跳转方式,如果不指定,默认为 `navigateTo` + +```html + + + + + + + +``` + + +### 聊天列表示例 +- 设置 `clickable` 为 `true` ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 `click` 事件 +- 设置 `link` 属性,会自动开启点击反馈,`link` 的值表示跳转方式,如果不指定,默认为 `navigateTo` +- 设置 `to` 属性,可以跳转页面 +- `time` 属性,通常会设置成时间显示,但是这个属性不仅仅可以设置时间,你可以传入任何文本,注意文本长度可能会影响显示 +- `avatar` 和 `avatarList` 属性同时只会有一个生效,同时设置的话,`avatarList` 属性的长度大于1 ,`avatar` 属性将失效 +- 可以通过默认插槽自定义列表右侧内容 + +```html + + + + + + + + + + + + + + + + + 刚刚 + + + + + + + +``` + +```javascript + +export default { + components: {}, + data() { + return { + avatarList: [{ + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }, { + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }, { + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }] + } + } +} + +``` + + +```css + +.chat-custom-right { + flex: 1; + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: column; + justify-content: space-between; + align-items: flex-end; +} + +.chat-custom-text { + font-size: 12px; + color: #999; +} + +``` + +## API + +### List Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +border |Boolean |true | 是否显示边框 + + +### ListItem Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +title |String |- | 标题 +note |String |- | 描述 +ellipsis |Number |0 | title 是否溢出隐藏,可选值,0:默认; 1:显示一行; 2:显示两行;【nvue 暂不支持】 +thumb |String |- | 左侧缩略图,若thumb有值,则不会显示扩展图标 +thumbSize |String |medium | 略缩图尺寸,可选值,lg:大图; medium:一般; sm:小图; +showBadge |Boolean |false | 是否显示数字角标 +badgeText |String |- | 数字角标内容 +badgeType |String |- | 数字角标类型,参考[uni-icons](https://ext.dcloud.net.cn/plugin?id=21) +rightText |String |- | 右侧文字内容 +disabled |Boolean |false | 是否禁用 +showArrow |Boolean |true | 是否显示箭头图标 +link |String |navigateTo | 新页面跳转方式,可选值见下表 +to |String |- | 新页面跳转地址,如填写此属性,click 会返回页面是否跳转成功 +clickable |Boolean |false | 是否开启点击反馈 +showSwitch |Boolean |false | 是否显示Switch +switchChecked |Boolean |false | Switch是否被选中 +showExtraIcon |Boolean |false | 左侧是否显示扩展图标 +extraIcon |Object |- | 扩展图标参数,格式为 ``{color: '#4cd964',size: '22',type: 'spinner'}``,参考 [uni-icons](https://ext.dcloud.net.cn/plugin?id=28) +direction | String |row | 排版方向,可选值,row:水平排列; column:垂直排列; 3个插槽是水平排还是垂直排,也受此属性控制 + + +#### Link Options + +属性名 | 说明 +:-: | :-: +navigateTo | 同 uni.navigateTo() +redirectTo | 同 uni.reLaunch() +reLaunch | 同 uni.reLaunch() +switchTab | 同 uni.switchTab() + +### ListItem Events + +事件称名 |说明 |返回参数 +:-: |:-: |:-: +click |点击 uniListItem 触发事件,需开启点击反馈 |- +switchChange |点击切换 Switch 时触发,需显示 switch |e={value:checked} + + + +### ListItem Slots + +名称 | 说明 +:-: | :-: +header | 左/上内容插槽,可完全自定义默认显示 +body | 中间内容插槽,可完全自定义中间内容 +footer | 右/下内容插槽,可完全自定义右侧内容 + + +> **通过插槽扩展** +> 需要注意的是当使用插槽时,内置样式将会失效,只保留排版样式,此时的样式需要开发者自己实现 +> 如果 `uni-list-item` 组件内置属性样式无法满足需求,可以使用插槽来自定义uni-list-item里的内容。 +> uni-list-item提供了3个可扩展的插槽:`header`、`body`、`footer` +> - 当 `direction` 属性为 `row` 时表示水平排列,此时 `header` 表示列表的左边部分,`body` 表示列表的中间部分,`footer` 表示列表的右边部分 +> - 当 `direction` 属性为 `column` 时表示垂直排列,此时 `header` 表示列表的上边部分,`body` 表示列表的中间部分,`footer` 表示列表的下边部分 +> 开发者可以只用1个插槽,也可以3个一起使用。在插槽中可自主编写view标签,实现自己所需的效果。 + + +**示例** + +```html + + + + + + + + + 自定义插槽 + + + + +``` + + + + + +### ListItemChat Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +title |String |- | 标题 +note |String |- | 描述 +clickable |Boolean |false | 是否开启点击反馈 +badgeText |String |- | 数字角标内容,设置为 `dot` 将显示圆点 +badgePositon |String |right | 角标位置 +link |String |navigateTo | 是否展示右侧箭头并开启点击反馈,可选值见下表 +clickable |Boolean |false | 是否开启点击反馈 +to |String |- | 跳转页面地址,如填写此属性,click 会返回页面是否跳转成功 +time |String |- | 右侧时间显示 +avatarCircle |Boolean |false | 是否显示圆形头像 +avatar |String |- | 头像地址,avatarCircle 不填时生效 +avatarList |Array |- | 头像组,格式为 [{url:''}] + +#### Link Options + +属性名 | 说明 +:-: | :-: +navigateTo | 同 uni.navigateTo() +redirectTo | 同 uni.reLaunch() +reLaunch | 同 uni.reLaunch() +switchTab | 同 uni.switchTab() + +### ListItemChat Slots + +名称 | 说明 +:- | :- +default | 自定义列表右侧内容(包括时间和角标显示) + +### ListItemChat Events +事件称名 | 说明 | 返回参数 +:-: | :-: | :-: +@click | 点击 uniListChat 触发事件 | {data:{}} ,如有 to 属性,会返回页面跳转信息 + + + + + + +## 基于uni-list扩展的页面模板 + +通过扩展插槽,可实现多种常见样式的列表 + +**新闻列表类** + +1. 云端一体混合布局:[https://ext.dcloud.net.cn/plugin?id=2546](https://ext.dcloud.net.cn/plugin?id=2546) +2. 云端一体垂直布局,大图模式:[https://ext.dcloud.net.cn/plugin?id=2583](https://ext.dcloud.net.cn/plugin?id=2583) +3. 云端一体垂直布局,多行图文混排:[https://ext.dcloud.net.cn/plugin?id=2584](https://ext.dcloud.net.cn/plugin?id=2584) +4. 云端一体垂直布局,多图模式:[https://ext.dcloud.net.cn/plugin?id=2585](https://ext.dcloud.net.cn/plugin?id=2585) +5. 云端一体水平布局,左图右文:[https://ext.dcloud.net.cn/plugin?id=2586](https://ext.dcloud.net.cn/plugin?id=2586) +6. 云端一体水平布局,左文右图:[https://ext.dcloud.net.cn/plugin?id=2587](https://ext.dcloud.net.cn/plugin?id=2587) +7. 云端一体垂直布局,无图模式,主标题+副标题:[https://ext.dcloud.net.cn/plugin?id=2588](https://ext.dcloud.net.cn/plugin?id=2588) + +**商品列表类** + +1. 云端一体列表/宫格视图互切:[https://ext.dcloud.net.cn/plugin?id=2651](https://ext.dcloud.net.cn/plugin?id=2651) +2. 云端一体列表(宫格模式):[https://ext.dcloud.net.cn/plugin?id=2671](https://ext.dcloud.net.cn/plugin?id=2671) +3. 云端一体列表(列表模式):[https://ext.dcloud.net.cn/plugin?id=2672](https://ext.dcloud.net.cn/plugin?id=2672) + +## 组件示例 + +点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/list/list](https://hellouniapp.dcloud.net.cn/pages/extUI/list/list) \ No newline at end of file