Browse Source

finish ui

gongyingshang
赵明涛 2 years ago
parent
commit
8f70ec3df5
  1. 10
      src/manifest.json
  2. 106
      src/pages.json
  3. 72
      src/pages/index/index.vue
  4. 52
      src/pages/login/login.vue
  5. BIN
      src/static/images/icon/index/green_bg_circle.png
  6. BIN
      src/static/images/icon/index/scan_icon_white.png
  7. BIN
      src/static/images/icon/index/tab_11.png
  8. 2
      src/store/index.js
  9. 2
      src/subpackage/device/pages/audio_manage/audio_manage.vue
  10. 40
      src/subpackage/party/js/api.js
  11. 10
      src/subpackage/party/js/server.js
  12. 233
      src/subpackage/party/pages/index/index.vue
  13. 180
      src/subpackage/party/pages/login/leave_message.vue
  14. 180
      src/subpackage/party/pages/login/login.vue
  15. 284
      src/subpackage/party/pages/login/regist.vue
  16. 127
      src/subpackage/party/pages/login/reviewing.vue
  17. 384
      src/subpackage/party/pages/miniapp/auth.vue
  18. 416
      src/subpackage/party/pages/miniapp/certify.vue
  19. 156
      src/subpackage/party/pages/miniapp/certify_res.vue
  20. 523
      src/subpackage/party/pages/miniapp/record.vue
  21. 104
      src/subpackage/party/pages/miniapp/record_pre.vue
  22. 178
      src/subpackage/party/pages/miniapp/record_res.vue
  23. 541
      src/subpackage/party/pages/miniapp/regist.vue
  24. 336
      src/subpackage/party/pages/miniapp/regular.vue
  25. 111
      src/subpackage/party/pages/miniapp/unauth.vue
  26. 180
      src/subpackage/party/pages/miniapp/wx_auth_select.vue
  27. BIN
      src/subpackage/party/static/index/p-arrow-white.png
  28. BIN
      src/subpackage/party/static/index/p-arrow.png
  29. BIN
      src/subpackage/party/static/index/p-bg-1.png
  30. BIN
      src/subpackage/party/static/index/p-bg-2.png
  31. BIN
      src/subpackage/party/static/index/p-bg-3.png
  32. BIN
      src/subpackage/party/static/index/p-bg-s-1.png
  33. BIN
      src/subpackage/party/static/index/p-bg-s-2.png
  34. BIN
      src/subpackage/party/static/index/p-bg-s-3.png
  35. BIN
      src/subpackage/party/static/index/qr-img.png
  36. BIN
      src/subpackage/party/static/login/check.png
  37. BIN
      src/subpackage/party/static/login/kuang.png
  38. BIN
      src/subpackage/party/static/login/logo.png
  39. BIN
      src/subpackage/party/static/login/slogn.png
  40. BIN
      src/subpackage/party/static/miniapp/can_auth_bg.png
  41. BIN
      src/subpackage/party/static/miniapp/no_can_auth_bg.png
  42. BIN
      src/subpackage/party/static/miniapp/regular_success.png
  43. BIN
      src/subpackage/party/static/regist/camera.png
  44. BIN
      src/subpackage/party/static/regist/daojishi.png
  45. BIN
      src/subpackage/party/static/regist/id_guohui.png
  46. BIN
      src/subpackage/party/static/regist/id_people.png
  47. BIN
      src/subpackage/party/static/regist/upload_bg.png
  48. BIN
      src/subpackage/party/static/upload/icon-bg.png
  49. BIN
      src/subpackage/party/static/upload/icon-camera.png
  50. 33
      src/subpackage/party/ui/basic/basic.scss
  51. 132
      src/subpackage/party/ui/basic/button.scss
  52. 28
      src/subpackage/party/ui/basic/color.scss
  53. 206
      src/subpackage/party/ui/basic/flex.scss
  54. 64
      src/subpackage/party/ui/basic/grid.scss
  55. 1418
      src/subpackage/party/ui/basic/iconfont.css
  56. 92
      src/subpackage/party/ui/basic/layout.scss
  57. 55
      src/subpackage/party/ui/basic/text.scss
  58. 61
      src/subpackage/party/ui/basic/theme.scss
  59. 38
      src/subpackage/party/ui/busine/album.scss
  60. 31
      src/subpackage/party/ui/busine/list-goods.scss
  61. 111
      src/subpackage/party/ui/busine/list-user.scss
  62. 73
      src/subpackage/party/ui/busine/nav-bar.scss
  63. 38
      src/subpackage/party/ui/extend/avatar.scss
  64. 89
      src/subpackage/party/ui/extend/collapse.scss
  65. 41
      src/subpackage/party/ui/extend/dot.scss
  66. 157
      src/subpackage/party/ui/extend/form.scss
  67. 70
      src/subpackage/party/ui/extend/panel.scss
  68. 192
      src/subpackage/party/ui/extend/popup.scss
  69. 56
      src/subpackage/party/ui/extend/progress-bar.scss
  70. 25
      src/subpackage/party/ui/extend/swiper.scss
  71. 59
      src/subpackage/party/ui/extend/tabs.scss
  72. 46
      src/subpackage/party/ui/extend/tag.scss
  73. 49
      src/subpackage/party/ui/maincss.scss
  74. 40
      src/uni_modules/uni-icons/changelog.md
  75. 91
      src/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue
  76. 110
      src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
  77. 664
      src/uni_modules/uni-icons/components/uni-icons/uniicons.css
  78. BIN
      src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
  79. 664
      src/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts
  80. 649
      src/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js
  81. 88
      src/uni_modules/uni-icons/package.json
  82. 8
      src/uni_modules/uni-icons/readme.md
  83. 8
      src/uni_modules/uni-scss/changelog.md
  84. 1
      src/uni_modules/uni-scss/index.scss
  85. 82
      src/uni_modules/uni-scss/package.json
  86. 4
      src/uni_modules/uni-scss/readme.md
  87. 7
      src/uni_modules/uni-scss/styles/index.scss
  88. 3
      src/uni_modules/uni-scss/styles/setting/_border.scss
  89. 66
      src/uni_modules/uni-scss/styles/setting/_color.scss
  90. 55
      src/uni_modules/uni-scss/styles/setting/_radius.scss
  91. 56
      src/uni_modules/uni-scss/styles/setting/_space.scss
  92. 167
      src/uni_modules/uni-scss/styles/setting/_styles.scss
  93. 24
      src/uni_modules/uni-scss/styles/setting/_text.scss
  94. 146
      src/uni_modules/uni-scss/styles/setting/_variables.scss
  95. 19
      src/uni_modules/uni-scss/styles/tools/functions.scss
  96. 31
      src/uni_modules/uni-scss/theme.scss
  97. 62
      src/uni_modules/uni-scss/variables.scss
  98. 16
      src/uni_modules/uni-steps/changelog.md
  99. 269
      src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue
  100. 89
      src/uni_modules/uni-steps/package.json

10
src/manifest.json

@ -54,7 +54,14 @@
"quickapp" : {},
/* */
"mp-weixin" : {
/* */
/* */
"plugins": {
"miniprogram-thirdparty-plugin": {
"version": "0.3.13",
"provider": "wxb8b928431b8c56d8",
"export": ""
}
},
/* wxf1294b279ad1b845 */
"appid" : "wx7106e84614cf0060",
"setting" : {
@ -65,6 +72,7 @@
"optimization": {
"subPackages": true
}
},
"mp-alipay" : {
"usingComponents" : true

106
src/pages.json

@ -9,6 +9,11 @@
{
"path": "pages/login/login",
"style": {
"mp-weixin": {
"usingComponents": {
"miniprogram-thirdparty-plugin": "plugin://myPlugin/miniprogram-thirdparty-plugin"
}
}
}
},
{
@ -711,6 +716,107 @@
}
}
]
},
{
"root": "subpackage/party",
"pages": [
{
"path": "pages/index/index",
"style" : {
"navigationBarTitleText": "工具首页"
}
},
{
"path": "pages/miniapp/regist",
"style" : {
"navigationBarTitleText": "注册"
}
},
{
"path": "pages/miniapp/wx_auth_select",
"style" : {
"navigationBarTitleText": "选择注册方式"
}
},
{
"path": "pages/miniapp/auth",
"style" : {
"navigationBarTitleText": "授权"
}
},
{
"path": "pages/miniapp/unauth",
"style" : {
"navigationBarTitleText": "无法授权"
}
},
{
"path": "pages/miniapp/regular",
"style" : {
"navigationBarTitleText": "转正"
}
},
{
"path": "pages/miniapp/regist",
"style" : {
"navigationBarTitleText": "注册留资"
}
},
{
"path": "pages/miniapp/certify",
"style" : {
"navigationBarTitleText": "认证"
}
},
{
"path": "pages/miniapp/certify_res",
"style" : {
"navigationBarTitleText": "认证状态"
}
},
{
"path": "pages/miniapp/record",
"style" : {
"navigationBarTitleText": "备案信息填写"
}
},
{
"path": "pages/miniapp/record_pre",
"style" : {
"navigationBarTitleText": "备案核验"
}
},
{
"path": "pages/miniapp/record_res",
"style" : {
"navigationBarTitleText": "备案状态"
}
},
{
"path": "pages/login/login",
"style" : {
"navigationBarTitleText": "登录注册"
}
},
{
"path": "pages/login/regist",
"style" : {
"navigationBarTitleText": "资料填写"
}
},
{
"path": "pages/login/reviewing",
"style" : {
"navigationBarTitleText": "审核中"
}
},
{
"path": "pages/login/leave_message",
"style" : {
"navigationBarTitleText": "leave_message"
}
}
]
}
],
"globalStyle": {

72
src/pages/index/index.vue

@ -44,6 +44,10 @@
</view>
</view>
</block>
<view class="hold-place-blank">
<navigator url="/subpackage/party/pages/index/index">party/pages/index/index</navigator>
<navigator url="/subpackage/party/pages/login/login">party/pages/login/login</navigator>
</view>
</view>
<view class="ox-dark-mask" v-if="isShowAuthorModal">
<view class="ic-author-modal">
@ -70,6 +74,13 @@
</view>
</view>
</view>
<view class="fly_btn" @click="toPageInfo(tabList[4])">
<image class="f_bg" src="/static/images/icon/index/green_bg_circle.png" mode="scaleToFill"/>
<image class="f_icon" src="/static/images/icon/index/scan_icon_white.png" mode="scaleToFill"/>
<text>核销</text>
</view>
</view>
</template>
<script>
@ -133,6 +144,12 @@
path: '/subpackage/course/pages/index/index',
serverKey: 1013 // 1013
},
{//ICON
id: 11,
name: '系统工具',
path: '/subpackage/party/pages/abnormal_list/abnormal_list',
serverKey: 1015 // 1015
},
{
id: 9,
name: '储值卡管理',
@ -145,18 +162,24 @@
path: '/subpackage/blacklist/pages/abnormal_list/abnormal_list',
serverKey: 1015 // 1015
},
];
const app = getApp();
//#ifndef H5
// #ifndef H5
const uniGetSetting = util.promisify(uni.getSetting);
const uniLogin = util.promisify(uni.login);
const uniGetUserInfo= util.promisify(uni.getUserInfo);
const APPID = uni.getAccountInfoSync().miniProgram.appId;
//#endif
// #endif
// #ifdef H5
const APPID = "wx7106e84614cf0060" //TODO
// #endif
export default {
computed: {
isProfile: _=>util.isProfile(),
@ -239,12 +262,22 @@
// token
async checkUserAuthor(){
try{
let loginRes = await uniLogin();
return servers.post({
let loginRes =""
// #ifndef H5
loginRes = await uniLogin();
// #endif
// #ifdef H5
loginRes = {errMsg: "login:ok", code: "0c3xEi0w3kr1t23zcU3w3ZQR3w3xEi0h"} //TODO H5
// #endif
console.log(loginRes)
return servers.get({
url: API.wechatMiniAppLoginAndSync,
data: {
code: loginRes.code,
appid: APPID,
// #ifdef H5
token:"3d2b0092-e761-11ee-8a66-5254005df464", //TODO
// #endif
},
isDefaultGet: false,
})
@ -589,4 +622,33 @@
}
}
// fly_btn
.fly_btn{
position: fixed;
bottom: 100rpx;
right: 80rpx;
@include centerFlex(center);
flex-direction: column;
.f_bg{
position: absolute;
width: 148upx;
height: 148upx;
}
.f_icon{
z-index: 3;
width: 40rpx;
height: 40rpx;
}
>text{
z-index: 3;
font-size: 20rpx;
color: #fff;
}
}
.hold-place-blank{
height:250rpx;
width: 1rpx;
}
</style>

52
src/pages/login/login.vue

@ -27,7 +27,15 @@
<view class="lf-tip">提示请联系管理员添加您为员工账号</view>
<view class="lf-bot-btn" @click="toWebView">成为商家</view>
<!-- <view class="lf-bot-btn" @click="thirdPartyAuthor">test请求商家授权authorize</view> -->
<!-- <view class="lf-bot-btn" @click="thirdPartyOpenTrial">test打开试用小程序</view> -->
<!-- <view class="lf-bot-btn" @click="">
<navigator url="plugin://myPlugin/miniprogram-thirdparty-plugin">
小程序内注册/成为商家
</navigator>
</view> -->
</view>
</template>
@ -35,9 +43,12 @@
import { API } from '../../js/api';
import { servers } from '../../js/server';
import util from '../../utils/util';
// import wxplugin from '../../utils/wx_plugin';
const uniGetSetting = util.promisify(uni.getSetting);
const uniLogin = util.promisify(uni.login);
const APPID = uni.getAccountInfoSync().miniProgram.appId;
const MiniprogramThirdpartyPlugin = requirePlugin('miniprogram-thirdparty-plugin')
export default {
computed: {
isProfile: _=> util.isProfile(),
@ -51,7 +62,46 @@ export default {
}
}
},
onReady(){
//
MiniprogramThirdpartyPlugin.init(wx)
},
methods: {
thirdPartyAuthor(){
//
// let token = "iQhrBPQszUtqc-W59-gnfLTSL-OpZRCKoe89VKGBKvOTQ9BXeLc5q3F4a_Nl7Vpm"
let token = "4sfXTSZZA-WXWx-cnC3MTDDn6PMc2v2xO6HtWOAYv5bjWQmuGo5DGHBoe1gZpTSZ"
MiniprogramThirdpartyPlugin.authorize({
token: token, // create_tokenfastregisterbetaweappauthorize_urlurlcreate_token
success(res) {
//
wx.showToast({
title: '授权成功',
})
},
fail(err) {
console.error(err)
//
wx.showToast({
title: '授权失败',
})
}
})
},
thirdPartyOpenTrial(){
//
MiniprogramThirdpartyPlugin.openTrial({
appid: 'appid', // appid
platformAppID: 'platform_appid', // appid
fail() {
//
}
})
},
profileSubmit(){
uni.getUserProfile({
lang: 'zh_CN', desc: '用户绑定',

BIN
src/static/images/icon/index/green_bg_circle.png

After

Width: 296  |  Height: 296  |  Size: 51 KiB

BIN
src/static/images/icon/index/scan_icon_white.png

After

Width: 80  |  Height: 80  |  Size: 501 B

BIN
src/static/images/icon/index/tab_11.png

After

Width: 52  |  Height: 52  |  Size: 2.4 KiB

2
src/store/index.js

@ -10,7 +10,7 @@ export default new Vuex.Store({
device
},
state: {
// #ifdef H5
// #ifndef H5
APPID: uni.getAccountInfoSync().miniProgram.appId,
// #endif
brandInfo: {

2
src/subpackage/device/pages/audio_manage/audio_manage.vue

@ -63,7 +63,7 @@
<!-- 录音 -->
<view class="v_box" v-else>
<view class="voice_title">{{getVoiceTxt(voicePadConfig.step)}}</view>
<image class="voice_img" src="../../static/images/i_voice.png" :src="getVoiceIcon(voicePadConfig.step)"
<image class="voice_img" src="" :src="getVoiceIcon(voicePadConfig.step)"
:class="voicePadConfig.step==2||voicePadConfig.step==4?'voice_img_playing':''"></image>
<view class="voice_btn " @longpress="longPressHandle" @touchend="touchEndHandle"
hover-class="btn_active" v-if="voicePadConfig.step<3">按住说话</view>

40
src/subpackage/party/js/api.js

@ -0,0 +1,40 @@
import { ORIGIN } from '../../../js/api';
export const ORDER_API = {
venueCourse_orderInfo:`${ORIGIN}/admin/venueCourse/orderInfo`, // 课程订单 - 详情
userValueCardInfo:`${ORIGIN}/admin/userValueCard/get`, // 用户储值卡详情_copy
userValueCardConsumes:`${ORIGIN}/admin/userValueCard/consumes`, // 用户储值卡消费记录_copy
consumeTypeList:`${ORIGIN}/valueCard/consumeType/list`, // 用户储值卡消费场景列表
userValueCardDeduct:`${ORIGIN}/admin/userValueCard/deduct`, // 用户储值卡-扣费_copy
userValueCardRecharge:`${ORIGIN}/admin/userValueCard/recharge`, // 用户储值卡-充值_copy
momentOrderInfo:`${ORIGIN}/admin/perfect/moment/order/get`, // 后台-高光时刻订单详情_copy
hardwareOrderInfo:`${ORIGIN}/admin/assistant/hardware/order/get`, // 硬件管理-订单详情_copy
rentballRefundDeposit:`${ORIGIN}/admin/assistant/rentball/refundDeposit`, // 退押金-后台
hardwareOrderGet:`${ORIGIN}/admin/assistant/hardware/order/get`, // 硬件订单详情 储物柜/售货柜/水阀/咖啡机/租售柜
lockEndBill:`${ORIGIN}/admin/stadium/locker/endBill`, // 储物柜-结束计费
currentUser:`${ORIGIN}/admin/assistant/currentUser`, // 获取当前用户信息
appointmentOrderInfo:`${ORIGIN}/admin/gameAppointment/orderInfo`, // 赛事订单详情
matchOrderSonList:`${ORIGIN}/gameAppointment/match/orderSonList`, // 赛事订单-参赛成员列表
matchGetOrderSon:`${ORIGIN}/gameAppointment/match/getOrderSon`, // 赛事订单_参赛成员详情
shop2OrderInfo:`${ORIGIN}/admin/shop2/orderInfo`, // 商城订单 - 详情
erpshList:`${ORIGIN}/stadium/erpsh/newList`, // 商城订单管理-统一的仓库列表
shop2OrderLogistics:`${ORIGIN}/admin/shop2/orderLogistics`, // 商城订单管理 - 发货_
logisticsCompanyLs:`${ORIGIN}/shop2/logisticsCompany/List`, // 商城订单管理 - 快递公司列表
orderGoodsRefund:`${ORIGIN}/admin/shop2/orderGoodsRefund`, // 商城-商品退款_copy
rentballOrderEnd:`${ORIGIN}/admin/assistant/rentball/order/end`, // 租球机-结束计费
leaseOrderEnd:`${ORIGIN}/admin/stadium/leaseOrder/endBill`, // 租售柜-结束计费
retailOrderInfo:`${ORIGIN}/admin/erp/retailOrder/info`, // 订单管理-零售订单详情
retailOrderInfoRefundList: `${ORIGIN}/admin/stadium/order/refundList`, // 订单管理-零售订单详情退款列表
userMonthlyCardInfo:`${ORIGIN}/admin/userMonthlyCard/get`, // 详情用户年月卡-后台
ymCardInfoFace:`${ORIGIN}/upload/file/ym_card_face`, // 年月卡用户头像上传
ymCardInfoFaceSave:`${ORIGIN}/admin/userMonthlyCard/updateFace`, // 年月卡用户头像保存
ymCardUsage:`${ORIGIN}/admin/userMonthlyCard/usages`, // 用户年月卡使用记录-后台
// 20220725
userValueOrderGet:`${ORIGIN}/admin/userValueOrder/get`, // 储值卡订单详情
// 20220726
rentballEndBilling:`${ORIGIN}/admin/stadium/rentball/order/end`, // 结束订单-后台
// 20220727
rentBallOrderDetails:`${ORIGIN}/admin/stadium/hardware/order/rentBallOrderDetails`, // 硬件管理-订单详情_copy
}
export default ORDER_API;

10
src/subpackage/party/js/server.js

@ -0,0 +1,10 @@
import { Server } from '../../../js/server';
class DeviceServer extends Server {
constructor(props){
super(props)
}
}
export default new DeviceServer();

233
src/subpackage/party/pages/index/index.vue

@ -0,0 +1,233 @@
<template>
<view class="party-index-page">
<view class="p-main-view b-flex-y b-flex-c b-mt-32 b-pl-20 ">
<view class="p-box-title b-flex-as-s b-t-B b-t-32 b-pb-20 b-ml-40 b-mt-60 b-mb-20">管理后台</view>
<view class="p-box b-flex-x b-flex-b">
<view class="b-flex-y b-flex-c">
<text class="b-t-white b-t-24 p-index-2">访问手机端</text>
<image class="pb-img-arrow-white b-mt-20 p-index-2" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" src="../../static/index/p-bg-1.png"></image>
</view>
<view class="b-flex-y b-flex-c">
<text class="b-t-white b-t-24 p-index-2">复制到电脑端打开</text>
<text class="b-t-white b-t-24 p-index-2">admin.ouxuanzhineng.cn</text>
<image class="pb-bg" src="../../static/index/p-bg-1.png"></image>
</view>
</view>
<view class="p-box-title b-flex-as-s b-t-B b-mb-20">
<view class="b-flex-x b-flex-s ">
<view class="b-t-32 b-pb-20 ">教练助手</view>
<view class="b-t-32 b-pb-20 b-ml-40 ">收银系统</view>
</view>
</view>
<view class="p-box b-flex-x b-flex-b">
<view class="b-flex-y b-flex-c">
<text class="b-t-white b-t-24 p-index-2">访问手机端</text>
<image class="pb-img-arrow-white b-mt-20 p-index-2" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" src="../../static/index/p-bg-1.png"></image>
</view>
<view class="b-flex-y b-flex-c">
<text class="b-t-white b-t-24 p-index-2">复制到电脑端打开</text>
<text class="b-t-white b-t-24 p-index-2">admin.ouxuanzhineng.cn</text>
<image class="pb-bg" src="../../static/index/p-bg-1.png"></image>
</view>
</view>
<view class="p-tip">可在后台设置教练账户</view>
<view class="p-box-title b-flex-as-s b-t-B b-t-32 b-pb-20 b-ml-40 b-mt-60 b-mb-20">小程序管理</view>
<view class="p-box b-flex-x b-flex-b">
<view class="b-flex-y b-flex-c p-guanli" style="width: 176rpx;" >
<text class="b-t-white b-t-24 p-index-2">小程序信息\n去填写</text>
<image class="pb-img-arrow-white b-mt-10 b-mr-50 p-index-2" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" style="width: 176rpx;" src="../../static/index/p-bg-s-1.png"></image>
</view>
<image class="pb-img-arrow-green"
src="../../static/index/p-arrow.png"
mode="scaleToFill"
/>
<view class="b-flex-y b-flex-c p-guanli" style="width: 176rpx;">
<text class="b-t-white b-t-24 p-index-2">小程序认证\n去填写</text>
<image class="pb-img-arrow-white b-mt-10 b-mr-50 p-index-2" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" style="width: 176rpx;" src="../../static/index/p-bg-s-2.png"></image>
</view>
<image class="pb-img-arrow-green"
src="../../static/index/p-arrow.png"
mode="scaleToFill"
/>
<view class="b-flex-y b-flex-c p-guanli" style="width: 176rpx;">
<text class="b-t-white b-t-24 p-index-2">小程序备案\n去填写</text>
<image class="pb-img-arrow-white b-mt-10 b-mr-50 p-index-2" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" style="width: 176rpx;" src="../../static/index/p-bg-s-3.png"></image>
</view>
</view>
<view class="p-box-title b-flex-as-s b-t-B b-t-32 b-pb-20 b-ml-40 b-mt-60 b-mb-20">收款账户申请商户号</view>
<view class="p-box b-flex-x b-flex-b b-mb-60" style="width: 670rpx;">
<view class="b-flex-y b-flex-c " style="width: 670rpx;">
<text class="b-t-white b-t-24 p-index-2 b-flex-as-s b-ml-60">去申请</text>
<image class="pb-img-arrow-white b-mt-20 p-index-2 b-flex-as-s b-ml-60" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" src="../../static/index/p-bg-3.png" style="width: 670rpx;"></image>
</view>
</view>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
// categoryBtnStyle: { //
// default: { fontWeight:"normal", color:"#9A9A9D", backgroundColor:"rgba(0,0,0,0)" },
// click: { fontWeight:"600", color:"#009874", backgroundColor:"rgba(0,152,116,0.2)" },
// },
// categoryScrollTop: 0, //
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
// this.params.brand_id = this.brandInfo.brand.id;
// this.deleteSearchLocal(); //
// this.getStoreList(); //
// this.fixMainHeight(); //
},
onShow() {
// this.getSearchLocal(); //
// this.getRetailStatus(); //
},
computed: {
...mapState(['brandInfo', ])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
//
getRetailStatus() {
let _this = this;
uni.getStorage({
key: 'retailStatus',
success: (res) => {
_this.searchText = '';
_this.params.page = 1;
_this.params.type_key = '';
_this.params.key = '';
_this.getCategoryInfo(); //
_this.deleteRetailLocal(); //
},
fail: (err) => {
_this.deleteRetailLocal();
},
});
},
//
deleteRetailLocal() {
this.searchData = null;
uni.removeStorage({
key: 'retailStatus',
success: (res) => {}
});
},
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
$orange: #FF873D;
page {
background-color: white;
}
.party-index-page{
.p-main-view{
.p-box-title{
// width: 100%;
width: 670rpx;
>view{
margin-top: 58rpx;
width: 100%;
>view{
width: 50%;
padding-left: 40rpx;
}
}
}
.p-tip{
font-size: 24rpx;
color: #9A9A9D;
margin-top: 25rpx;
margin-left: 60rpx;
width: 100%;
}
.p-box-title-2{
position: absolute;
}
.p-index-2{
z-index: 2;
}
.p-box{
width: 670rpx;
>view{
width: 320rpx;
height: 176rpx;
}
.pb-bg{
width: 320rpx;
height: 176rpx;
position: absolute;
}
.pb-img-arrow-white{
width: 65.74rpx;
height: 12.12rpx;
}
.pb-img-arrow{
width: 47.76rpx;
height: 48.08rpx;
}
.pb-img-arrow-green{
width: 47.76rpx;
height: 48.08rpx;
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

180
src/subpackage/party/pages/login/leave_message.vue

@ -0,0 +1,180 @@
<template>
<view class="login-page">
<view class="p-main-view b-flex-y b-flex-c">
<view class="p-header b-flex-y b-flex-c">
<text class="b-t-U">返回首页</text>
<image class="p-slogn" src="../../static/login/slogn.png"></image>
<image class="p-logo" src="../../static/login/logo.png"></image>
</view>
<!-- 输入手机号码, 验证码, 获取验证码 -->
<view class="p-input-box">
<input class="p-input" type="number" placeholder="请输入手机号码" placeholder-class="input-hold-class"></input>
<view class="p-input-code b-flex-x b-flex-b">
<input class="p-input" type="number" placeholder="请输入验证码" placeholder-class="input-hold-class"></input>
<view class="p-get-code">获取验证码</view>
</view>
</view>
<!-- 同意隐私协议 -->
<view class="b-flex-x b-flex-s b-flex-as-s b-ml-40 b-mt-60">
<checkbox-group>
<checkbox value="agree" activeBackgroundColor="#009876"
style="transform:scale(0.8)"
checked="true" color="#009876" iconColor="#ffffff"></checkbox>
</checkbox-group>
同意<text class="b-t-28 b-color-green">用户协议</text>
<text class="b-t-28 b-color-green">隐私协议</text>
</view>
<!-- 登录按钮 -->
<button class="p-login-btn b-btn b-btn-green b-mt-60 b-mb-60">登录</button>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo', ])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: white;
}
.login-page {
.p-main-view {
// width: 100%;
// height: 100%;
// background-color: white;
.p-header {
width: 100%;
> text {
font-size: 28rpx;
color: #1A1A1A;
z-index: 2;
position: absolute;
right: 40rpx;
top: 40rpx;
}
.p-slogn {
margin-top: 38rpx;
width: 700rpx;
height: 550rpx;
}
.p-logo {
margin: 62rpx;
width: 112rpx;
height: 112rpx;
}
}
.p-input-box{
.input-hold-class{
font-size: 28rpx;
color: $b-color-gray;
padding-left: 30rpx;
}
> input{
width: 668rpx;
height: 88rpx;
opacity: 0.5;
background: #DDE7E5;
border-radius: 10rpx;
}
> view{
margin-top: 20rpx;
>input{
width: 420rpx;
height: 88rpx;
opacity: 0.5;
background: #DDE7E5;
border-radius: 10rpx;
}
.p-get-code{
width: 218rpx;
height: 88rpx;
background: #FFFFFF;
border: 2rpx solid #009876;
border-radius: 10rpx;
font-size: 28rpx;
text-align: center;
line-height: 88rpx;
color: #009876;
}
}
}
.p-login-btn{
width: 668rpx;
height: 88rpx;
border-radius: 10rpx;
font-size: 28rpx;
text-align: center;
line-height: 88rpx;
}
}
.p-check{
margin-top: 40rpx;
font-size: 28rpx;
// color: $b-color-gray;
.b-color-green{
color: $b-color-green;
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

180
src/subpackage/party/pages/login/login.vue

@ -0,0 +1,180 @@
<template>
<view class="login-page">
<view class="p-main-view b-flex-y b-flex-c">
<view class="p-header b-flex-y b-flex-c">
<text class="b-t-U">返回首页</text>
<image class="p-slogn" src="../../static/login/slogn.png"></image>
<image class="p-logo" src="../../static/login/logo.png"></image>
</view>
<!-- 输入手机号码, 验证码, 获取验证码 -->
<view class="p-input-box">
<input class="p-input" type="number" placeholder="请输入手机号码" placeholder-class="input-hold-class"></input>
<view class="p-input-code b-flex-x b-flex-b">
<input class="p-input" type="number" placeholder="请输入验证码" placeholder-class="input-hold-class"></input>
<view class="p-get-code">获取验证码</view>
</view>
</view>
<!-- 同意隐私协议 -->
<view class="b-flex-x b-flex-s b-flex-as-s b-ml-40 b-mt-60">
<checkbox-group>
<checkbox value="agree" activeBackgroundColor="#009876"
style="transform:scale(0.8)"
checked="true" color="#009876" iconColor="#ffffff"></checkbox>
</checkbox-group>
同意<text class="b-t-28 b-color-green">用户协议</text>
<text class="b-t-28 b-color-green">隐私协议</text>
</view>
<!-- 登录按钮 -->
<button class="p-login-btn b-btn b-btn-green b-mt-60 b-mb-60" style="height: 112rpx;">登录</button>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo', ])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: white;
}
.login-page {
.p-main-view {
// width: 100%;
// height: 100%;
// background-color: white;
.p-header {
width: 100%;
> text {
font-size: 28rpx;
color: #1A1A1A;
z-index: 2;
position: absolute;
right: 40rpx;
top: 40rpx;
}
.p-slogn {
margin-top: 38rpx;
width: 700rpx;
height: 550rpx;
}
.p-logo {
margin: 62rpx;
width: 112rpx;
height: 112rpx;
}
}
.p-input-box{
.input-hold-class{
font-size: 28rpx;
color: $b-color-gray;
padding-left: 30rpx;
}
> input{
width: 668rpx;
height: 88rpx;
opacity: 0.5;
background: #DDE7E5;
border-radius: 10rpx;
}
> view{
margin-top: 20rpx;
>input{
width: 420rpx;
height: 88rpx;
opacity: 0.5;
background: #DDE7E5;
border-radius: 10rpx;
}
.p-get-code{
width: 218rpx;
height: 88rpx;
background: #FFFFFF;
border: 2rpx solid #009876;
border-radius: 10rpx;
font-size: 28rpx;
text-align: center;
line-height: 88rpx;
color: #009876;
}
}
}
.p-login-btn{
width: 668rpx;
height: 88rpx;
border-radius: 10rpx;
font-size: 28rpx;
text-align: center;
line-height: 88rpx;
}
}
.p-check{
margin-top: 40rpx;
font-size: 28rpx;
// color: $b-color-gray;
.b-color-green{
color: $b-color-green;
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

284
src/subpackage/party/pages/login/regist.vue

@ -0,0 +1,284 @@
<template>
<view class="regist-page b-flex-y b-flex-c">
<view class="r-main-view b-flex-y b-flex-c">
<!-- 注册资料填写 -->
<view class="r-box">
<text class="rb-title">品牌信息</text>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">品牌名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入品牌名称"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- 企业名称,企业类型,主体类型,信用代码,证件有效期,注册地址,注册资本,法人姓名 -->
<view class="r-box">
<text class="rb-title">企业信息</text>
<view class="rb-upload-box b-flex-y b-flex-s">
<view class="rb-upload-title b-flex-x">营业执照<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入企业名称"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业类型<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入企业类型"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">主体类型<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入主体类型"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">信用代码<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入信用代码"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">证件有效期<text>*</text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">长期</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">短期</radio>
</radio-group>
</view>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">注册地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入注册地址"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">注册资本<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入注册资本"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">法人姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入法人姓名"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- 运营人员信息:姓名,身份证号,手机号 -->
<view class="r-box">
<text class="rb-title">运营人员信息</text>
<view class="rb-upload-box b-flex-y b-flex-s">
<view class="rb-upload-title b-flex-x">运营人员身份证正反面<text>*</text></view>
<view class="rb-upload-list b-flex-x b-flex-a">
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_people.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证头像面</text>
</view>
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_guohui.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证国徽面</text>
</view>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入姓名" placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">身份证号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入身份证号"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">手机号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入手机号" placeholder-class="input-hold-class"></input>
</view>
</view>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">提交审核</button>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.regist-page {
.r-main-view {
width: 700rpx;
.r-box {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 20rpx;
padding: 28rpx;
.rb-title {
font-size: 32rpx;
color: #333333;
font-weight: 600;
}
.input-hold-class {
font-size: 28rpx;
color: #999999;
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-box{
.rb-upload-title{
font-size: 28rpx;
color: #333333;
font-weight: 500;
margin: 46rpx 0 28rpx 0;
>text {
color: $b-color-red;
}
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
.rb-input-box {
padding: 8rpx 0;
.rb-input-title {
font-size: 28rpx;
color: #333333;
font-weight: 500;
width: 168rpx;
position: absolute;
>text {
color: $b-color-red;
}
}
.rb-input {
margin-left: 240rpx;
height: 80rpx;
font-size: 28rpx;
color: #333333;
}
.rb-radio{
margin-left: 240rpx;
height: 80rpx;
}
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

127
src/subpackage/party/pages/login/reviewing.vue

@ -0,0 +1,127 @@
<template>
<view class="reviewing-page">
<view class="re-view b-flex-y b-flex-c ">
<image
src="../../static/regist/daojishi.png"
mode="scaleToFill"/>
<view class="txt1">提交完成后台审核中</view>
<view class="txt2">审核通过后获得管理账户</view>
<button
class="b-btn b-btn-green b-mt-60 b-mb-60"
hover-class="button-hover"
@click="SubmitEvent"
>
修改审核资料
</button>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
// categoryBtnStyle: { //
// default: { fontWeight:"normal", color:"#9A9A9D", backgroundColor:"rgba(0,0,0,0)" },
// click: { fontWeight:"600", color:"#009874", backgroundColor:"rgba(0,152,116,0.2)" },
// },
// categoryScrollTop: 0, //
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
// this.params.brand_id = this.brandInfo.brand.id;
// this.deleteSearchLocal(); //
// this.getStoreList(); //
// this.fixMainHeight(); //
},
onShow() {
// this.getSearchLocal(); //
// this.getRetailStatus(); //
},
computed: {
...mapState(['brandInfo', ])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/regist","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
$orange: #FF873D;
page {
background-color: white;
}
.reviewing-page{
.re-view{
>image{
width: 100rpx;
height: 100rpx;
margin: 200rpx auto 54rpx auto;
}
.txt1 {
font-size: 44rpx;
color: #333333;
margin-top: 54rpx;
margin-bottom: 82rpx;
}
.txt2 {
font-size: 28rpx;
color: #9A9A9D;
margin-bottom: 200rpx;
}
button{
width: 430rpx;
height: 112rpx;
border: 1rpx solid #009874;
border-radius: 10rpx;
background-color: white;
color: #009874;
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

384
src/subpackage/party/pages/miniapp/auth.vue

@ -0,0 +1,384 @@
<template>
<view class="regist-page b-flex-y b-flex-c">
<view class="a-main-view b-flex-y">
<text class="am-title">小程序名称</text>
<input class="am-input am-line" type="text" placeholder="请输入" placeholder-class="input-hold-class"></input>
<button @click="SubmitEvent"class="am-auth-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">开始申请</button>
</view>
<view class="auth-result-view b-flex-y b-flex-c ">
<view class="txt1">体验小程序创建成功</view>
<text class="txt2">请将点击下方按钮将小程序进行授权</text>
<text class="txt2" >请勾选全部权限</text>
<button
class="b-btn b-btn-green b-mt-60 b-mb-60"
hover-class="button-hover"
@click="SubmitEvent"
>
修改审核资料
</button>
</view>
<view class="r-main-view b-flex-y b-flex-c">
<!-- 注册资料填写 -->
<view class="r-box">
<text class="rb-title">小程序名称</text>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">品牌名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入品牌名称"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- 注册资料填写 -->
<view class="r-box">
<text class="rb-title">小程序名称</text>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">品牌名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入品牌名称"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- 企业名称,企业类型,主体类型,信用代码,证件有效期,注册地址,注册资本,法人姓名 -->
<view class="r-box">
<text class="rb-title">企业信息</text>
<view class="rb-upload-box b-flex-y b-flex-s">
<view class="rb-upload-title b-flex-x">营业执照<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入企业名称"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业类型<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入企业类型"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">主体类型<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入主体类型"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">信用代码<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入信用代码"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">证件有效期<text>*</text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">长期</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">短期</radio>
</radio-group>
</view>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">注册地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入注册地址"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">注册资本<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入注册资本"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">法人姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入法人姓名"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- 运营人员信息:姓名,身份证号,手机号 -->
<view class="r-box">
<text class="rb-title">运营人员信息</text>
<view class="rb-upload-box b-flex-y b-flex-s">
<view class="rb-upload-title b-flex-x">运营人员身份证正反面<text>*</text></view>
<view class="rb-upload-list b-flex-x b-flex-a">
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_people.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证头像面</text>
</view>
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_guohui.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证国徽面</text>
</view>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入姓名" placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">身份证号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入身份证号"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">手机号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入手机号" placeholder-class="input-hold-class"></input>
</view>
</view>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">开始申请</button>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.regist-page {
.a-main-view{
width: 750rpx;
padding: 25rpx;
// background-color: #E5E5E5;
background-color: #FFFFFF;
.am-title{
font-size: 32rpx;
color: #333333;
font-weight: 600;
margin-top: 50rpx;
}
.am-input{
width: 100%;
height: 80rpx;
font-size: 28rpx;
padding: 20rpx 0 20rpx 0rpx;
color: #333333;
border-bottom: 1rpx solid #E5E5E5;
}
.am-line{
border-bottom: 1rpx solid #E5E5E5;
}
.am-auth-btn{
margin-top: 246rpx;
}
}
.auth-result-view{
width: 750rpx;
background-color: #FFFFFF;
padding-top: 162rpx;
>image{
width: 100rpx;
height: 100rpx;
margin: 200rpx auto 54rpx auto;
}
.txt1 {
font-size: 44rpx;
color: #333333;
margin-top: 54rpx;
margin-bottom: 42rpx;
font-weight: 800;
}
.txt2 {
font-size: 28rpx;
color: #1A1A1A;
padding-bottom: 10rpx;
}
button{
margin-top: 118rpx;
width: 430rpx;
height: 112rpx;
border: 1rpx solid #009874;
border-radius: 10rpx;
color: #fff;
font-weight: border;
}
}
.r-main-view {
width: 700rpx;
.r-box {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 20rpx;
padding: 28rpx;
.rb-title {
font-size: 32rpx;
color: #333333;
font-weight: 600;
}
.input-hold-class {
font-size: 28rpx;
color: #999999;
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-box{
.rb-upload-title{
font-size: 28rpx;
color: #333333;
font-weight: 500;
margin: 46rpx 0 28rpx 0;
>text {
color: $b-color-red;
}
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
.rb-input-box {
padding: 8rpx 0;
.rb-input-title {
font-size: 28rpx;
color: #333333;
font-weight: 500;
width: 168rpx;
position: absolute;
>text {
color: $b-color-red;
}
}
.rb-input {
margin-left: 240rpx;
height: 80rpx;
font-size: 28rpx;
color: #333333;
}
.rb-radio{
margin-left: 240rpx;
height: 80rpx;
}
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

416
src/subpackage/party/pages/miniapp/certify.vue

@ -0,0 +1,416 @@
<template>
<view class="certify-page b-flex-y b-flex-c">
<view class="c-main-view b-flex-y b-flex-c">
<view class="r-box">
<!-- <text class="rb-title">品牌信息</text> -->
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">小程序名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入品牌名称"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">命名类型<text></text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">自选词汇</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">商标命名</radio>
</radio-group>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">认证类型<text></text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">企业</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">个体户</radio>
</radio-group>
</view>
</view>
<view class="rb-upload-box rb-line b-flex-y b-flex-s b-mt-0 b-pb-50">
<view class="rb-upload-title b-flex-x">主体资质材料(营业执照)<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
<!-- <view class="b-flex-as-e b-ml-40 b-t-24 b-t-green b-t-B b-t-U">重新上传</view> -->
</view>
</view>
<view class="rb-upload-box rb-line b-flex-y b-flex-s b-mt-0 b-pb-50">
<view class="rb-upload-title b-flex-x">名称涉及关键词(补充材料)<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
</view>
<view class="rb-upload-box b-flex-y b-flex-s b-mt-0 b-pb-20">
<view class="rb-upload-title b-flex-x">主体资质其他证明材料<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
</view>
</view>
<view class="r-box">
<text class="rb-title b-t-B">认证联系人</text>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入联系人姓名"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">邮箱<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入联系人邮箱"
placeholder-class="input-hold-class"></input>
</view>
</view>
<view class="r-box">
<text class="rb-title b-t-B">发票信息</text>
<view class="rb-radio b-flex-x b-mt-50 b-mb-10">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">不开发票</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">电子普票</radio>
<radio value="3" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">增值税发票</radio>
</radio-group>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业电话<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">纳税识别号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业注册地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业开户银行<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业银行账号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">发票邮寄地址邮编<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">街道地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">联系人<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">联系电话<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">省份<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">城市<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">县区<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">发票备注<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
</view>
<view class="b-mt-40 b-mb-60">
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mr-10" style="width: 340rpx;height: 112rpx;">保存草稿</button>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-ml-10" style="width: 340rpx;height: 112rpx;">下一步</button>
</view>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.certify-page {
.c-main-view {
width: 700rpx;
.r-box {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 20rpx;
padding: 28rpx;
.rb-title {
font-size: 32rpx;
color: #333333;
}
.input-hold-class {
font-size: 28rpx;
color: #999999;
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-box{
.rb-upload-title{
font-size: 28rpx;
color: #333333;
margin: 26rpx 0 28rpx 0;
>text {
color: $b-color-red;
}
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
.rb-regist-box{
width: 100%;
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
>view{
// background-color: #9C9C9F;
width: 100%;
padding: 20rpx 0rpx 30rpx;
.rr-status{
font-size: 24rpx;
color: #EA5061;
width: 72rpx;
margin-left: 60rpx;
}
}
.rr-text{
padding-bottom: 40rpx;
font-size: 28rpx;
color: #1A1A1A;
}
.rb-class{
background: #F2F5F7;
border-radius: 10rpx;
padding-left: 32rpx;
margin-top: 20rpx;
>view{
font-size: 24rpx;
color: #333333;
padding: 10rpx 0;
>text{
margin-left: 15rpx;
}
}
}
}
.rb-input-box {
padding: 8rpx 0;
width: 100%;
// background-color: #E5E5E5;
.rb-input-title {
font-size: 28rpx;
color: #333333;
width: 188rpx;
position: absolute;
>text:last-child {
color: $b-color-red;
}
}
.rb-box-right{
// background-color: #999999;
>view{
color: $b-color-red;
margin-right: 20rpx;
}
}
.input-width-more{
font-size: 28rpx;
color: #333333;
// width: 168rpx;
// position: absolute;
>text:last-child {
color: $b-color-red;
}
width: 280rpx;
.certify-yes {
padding: 10rpx;
margin-left: 10rpx;
font-weight: 400;
font-size: 22rpx;
color: $b-color-green;
border: 1rpx solid $b-color-green;
border-radius: 6rpx;
}
.certify-no{
padding: 10rpx;
margin-left: 10rpx;
font-weight: 400;
font-size: 22rpx;
color: #9C9C9F;
border: 1rpx solid #9C9C9F;
border-radius: 6rpx;
}
}
.rb-input {
margin-left: 240rpx;
height: 80rpx;
font-size: 28rpx;
color: #333333;
}
.rb-radio{
margin-left: 240rpx;
height: 80rpx;
}
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

156
src/subpackage/party/pages/miniapp/certify_res.vue

@ -0,0 +1,156 @@
<template>
<view class="cr-page b-flex-y b-flex-c">
<view class="cr-box-top b-flex-y b-flex-c">
<view class="cr-box-top-title b-t-B">查询结果</view>
<view class="cr-box-top-content">
<view class="cr-box-top-item b-flex-x b-flex-s">
<text class="b-t-28">任务状态:</text>
<text class="b-t-28 ">创建小程序认证</text>
</view>
<view class="cr-box-top-item b-flex-x b-flex-s">
<text class="b-t-28">审核单状态:</text>
<text class="b-t-28 b-t-red">审核中</text>
</view>
<view class="cr-box-top-item b-flex-x b-flex-s">
<text class="b-t-28">认证订单号:</text>
<text class="b-t-28 ">16976943080589765000</text>
</view>
<view class="cr-box-top-item b-flex-x b-flex-s">
<text class="b-t-28">打回重填原因:</text>
<text class="b-t-28 "></text>
</view>
<view class="cr-box-top-item b-flex-x b-flex-s">
<text class="b-t-28">认证失败原因:</text>
<text class="b-t-28 "></text>
</view>
</view>
</view>
<view class="hold-place"></view>
<view class="cr-box-bottom ">
<!-- qr-code -->
<view class="cr-box-bottom-item b-flex-y b-flex-c">
<image class="cr-box-bottom-img" src="../../static/index/qr-img.png"></image>
<view class="b-t-28 b-t-gray">可截图扫码</view>
</view>
<view class="cr-box-bottom-item b-flex-y b-flex-c">
<text class="b-t-32 b-mt-60">查询请用与创建信息致的微信扫验证,完成授权确认</text>
</view>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-white;
}
.cr-page {
.cr-box-top {
width: 100%;
background-color: $b-color-white;
padding: 89rpx 96rpx 40rpx;
.cr-box-top-title {
font-size: 44rpx;
margin-bottom: 20rpx;
}
.cr-box-top-content {
background-color: $b-color-white;
font-size: 28rpx;
padding: 10rpx 0;
width: 100%;
.cr-box-top-item {
padding: 20rpx 0;
// border-bottom: 1rpx solid $b-color-gray-dd;
&:last-child {
border-bottom: none;
}
}
}
}
.hold-place {
height: 20rpx;
width: 100%;
background-color: $b-color-gray-dd;
}
.cr-box-bottom {
width: 100%;
background-color: $b-color-white;
padding: 40rpx 96rpx;
.cr-box-bottom-item {
padding: 20rpx 0;
.cr-box-bottom-img {
width: 332rpx;
height: 332rpx;
margin-bottom: 20rpx;
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

523
src/subpackage/party/pages/miniapp/record.vue

@ -0,0 +1,523 @@
<template>
<view class="certify-page b-flex-y b-flex-c">
<view class="c-main-view b-flex-y b-flex-c">
<view class="r-box">
<text class="rb-title b-t-B">主体信息</text>
<view class="rb-input-box rb-line b-flex-x b-flex-b b-mt-20">
<view class="rb-input-title b-flex-x">小程序名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入品牌名称"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">主体类型<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class" value="智能"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">备案省份<text>*</text></view>
<input class="rb-input" disabled type="text" value="广东" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">通讯地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="(不可携带省份)"
placeholder-class="input-hold-class"></input>
</view>
<!-- 多行输入 -->
<view class="rb-input-box b-flex-y b-mb-40">
<view class="rb-input-title b-flex-x b-pt-30">主体信息备注<text>*</text></view>
<view class="rb-textarea " style="margin-top:90rpx">
<!-- auto-height="false" -->
<!-- placeholder-style="color:#F76260" -->
<textarea @blur="bindTextAreaBlur" placeholder="多行输入"/>
</view>
</view>
</view>
<view class="r-box">
<text class="rb-title b-t-B">主体负责人信息</text>
<view class="rb-input-box rb-line b-flex-x b-flex-b b-mt-20">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入联系人姓名"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入联系人姓名"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">联系方式<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">电子邮件<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">应急人联系方式<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">证件类型<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">证件号码<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">证件有效期起始日期<text>*</text></view>
<input class="rb-input" type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-insertrowabove b-t-green b-t-44"></text>
</view>
<view class="rb-input-box b-flex-x b-flex-b ">
<view class="rb-input-title b-flex-x">证件有效期终止日期<text>*</text></view>
<input class="rb-input" type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-insertrowbelow b-t-green b-t-44"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<!-- <view class="rb-input-title b-flex-x">命名类型<text></text></view> -->
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">长期</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">非长期</radio>
</radio-group>
</view>
</view>
<!-- <text class="rb-title">运营人员信息</text> -->
<view class="rb-upload-box rb-line b-flex-y b-flex-s b-pb-40">
<view class="rb-upload-title b-flex-x">负责人证件照片<text>*</text></view>
<view class="rb-upload-list b-flex-x b-flex-a">
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_people.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证头像面</text>
</view>
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_guohui.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证国徽面</text>
</view>
</view>
</view>
<!-- <view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">命名类型<text></text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">自选词汇</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">商标命名</radio>
</radio-group>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">认证类型<text></text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">企业</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">个体户</radio>
</radio-group>
</view>
</view> -->
<view class="rb-upload-box b-flex-y b-flex-s b-mt-0 b-pb-20">
<view class="rb-upload-title b-flex-x">授权书上传<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
</view>
</view>
<view class="r-box">
<text class="rb-title b-t-B">法人信息<text class="b-t-red b-pl-20" style="font-size: 24rpx;">(主体负责人不是法人时必须填)</text></text>
<view class="rb-input-box rb-line b-flex-x b-flex-b b-mt-20">
<view class="rb-input-title b-flex-x">法人姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入联系人姓名"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">法人证件号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入联系人邮箱"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- <view class="r-box">
<text class="rb-title b-t-B">发票信息</text>
<view class="rb-radio b-flex-x b-mt-50 b-mb-10">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">不开发票</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">电子普票</radio>
<radio value="3" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">增值税发票</radio>
</radio-group>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业电话<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">纳税识别号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业注册地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业开户银行<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">企业银行账号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">发票邮寄地址邮编<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">街道地址<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">联系人<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">联系电话<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">省份<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">城市<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">县区<text>*</text></view>
<input class="rb-input" disabled type="text" placeholder="请选择"
placeholder-class="input-hold-class"></input>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">发票备注<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
</view>
</view> -->
<view class="b-mt-40 b-mb-60">
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mr-10" style="width: 340rpx;height: 112rpx;">保存草稿</button>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-ml-10" style="width: 340rpx;height: 112rpx;">下一步</button>
</view>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.certify-page {
.c-main-view {
width: 700rpx;
.r-box {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 20rpx;
padding: 28rpx;
.rb-title {
font-size: 32rpx;
color: #333333;
}
.input-hold-class {
font-size: 28rpx;
color: #999999;
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-box{
.rb-upload-title{
font-size: 28rpx;
color: #333333;
margin: 26rpx 0 28rpx 0;
>text {
color: $b-color-red;
}
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
.rb-regist-box{
width: 100%;
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
>view{
// background-color: #9C9C9F;
width: 100%;
padding: 20rpx 0rpx 30rpx;
.rr-status{
font-size: 24rpx;
color: #EA5061;
width: 72rpx;
margin-left: 60rpx;
}
}
.rr-text{
padding-bottom: 40rpx;
font-size: 28rpx;
color: #1A1A1A;
}
.rb-class{
background: #F2F5F7;
border-radius: 10rpx;
padding-left: 32rpx;
margin-top: 20rpx;
>view{
font-size: 24rpx;
color: #333333;
padding: 10rpx 0;
>text{
margin-left: 15rpx;
}
}
}
}
.rb-input-box {
padding: 8rpx 0;
width: 100%;
// background-color: #E5E5E5;
.rb-input-title {
font-size: 28rpx;
color: #333333;
width: 188rpx;
position: absolute;
>text:last-child {
color: $b-color-red;
}
}
.rb-textarea{
width: 100%;
height: 200rpx;
// background-color: #999999;
textarea{
width: 100%;
height: 200rpx;
font-size: 28rpx;
color: #333333;
border: 1rpx solid #E5E5E5;
border-radius: 6rpx;
padding: 20rpx;
}
}
.rb-box-right{
// background-color: #999999;
>view{
color: $b-color-red;
margin-right: 20rpx;
}
}
.input-width-more{
font-size: 28rpx;
color: #333333;
// width: 168rpx;
// position: absolute;
>text:last-child {
color: $b-color-red;
}
width: 280rpx;
.certify-yes {
padding: 10rpx;
margin-left: 10rpx;
font-weight: 400;
font-size: 22rpx;
color: $b-color-green;
border: 1rpx solid $b-color-green;
border-radius: 6rpx;
}
.certify-no{
padding: 10rpx;
margin-left: 10rpx;
font-weight: 400;
font-size: 22rpx;
color: #9C9C9F;
border: 1rpx solid #9C9C9F;
border-radius: 6rpx;
}
}
.rb-input {
margin-left: 240rpx;
height: 80rpx;
font-size: 28rpx;
color: #333333;
}
.rb-radio{
margin-left: 240rpx;
height: 80rpx;
}
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

104
src/subpackage/party/pages/miniapp/record_pre.vue

@ -0,0 +1,104 @@
<template>
<view class="rp-page b-flex-y b-flex-c">
<view class="u-tips">
<text>微信要求先对法人发起人身核验请先点击发起核验微信系统将会发起成功后再点击下一步操作</text>
<!-- <text class="b-t-B b-t-I">验证公户信息</text> -->
<!-- <text>请复制下方网址打开查看教程</text> -->
<view class="b-t-B b-mt-40 b-t-red">人身核验需要背景为纯白色其他颜色不通过</view>
</view>
<!-- <view class="u-url">http://www.ouxuanzhineng.cn<text class="b-t-U "></text></view> -->
<view style="height: 200rpx;"></view>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-orange b-mt-60 b-mb-60" style="width: 340rpx;height: 112rpx;">发起人身核验</button>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 340rpx;height: 112rpx;">下一步</button>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.rp-page {
.u-tips{
background: #ea506126;
padding: 30rpx 52rpx;
> text{
font-size: 28rpx;
color: #EA5061;
line-height: 55rpx;
}
}
.u-url{
margin-top: 88rpx;
font-size: 28rpx;
color: #1A1A1A;
text{
font-size: 32rpx;
color: #009874;
margin-left: 24rpx;
}
}
}
</style>

178
src/subpackage/party/pages/miniapp/record_res.vue

@ -0,0 +1,178 @@
<template>
<view class="unauth-page b-flex-y b-flex-c">
<!-- <view class="u-tips">
<text>按照微信官方规定如法人无法配合人脸识别需要使用电脑登录进行注册且需要</text>
<text class="b-t-B b-t-I">验证公户信息</text>
<text>请复制下方网址打开查看教程</text>
</view> -->
<view class="regular-result-view b-flex-y b-flex-c">
<image src="../../static/miniapp/regular_success.png"></image>
<text class="txt1">备案已经提交</text>
<!-- <text class="txt2">您的微信将收到微信消息请进行小程序法人确认</text> -->
</view>
<!-- <view class="u-url">http://www.ouxuanzhineng.cn<text class="b-t-U "></text></view> -->
<!-- <button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">开始申请</button> -->
<view class="u-steps">
<uni-steps :options="options" :active="2" direction="column" activeColor="#009874" activeIcon="circle-filled"></uni-steps>
</view>
<view class="b-t-red">验证超时则需要重新走备案流程</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
options:[{
title:"平台初审",
desc:"微信平台进行初审"
},{
title:"审核结果",
desc:"等待审核通过"
},{
title:"接收验证码",
desc:"收到工信部发送的验证码"
},{
title:"自主验证",
desc:"24小时内点击进入验证"
}]
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-white;
}
.unauth-page {
.u-tips{
background: #ea506126;
padding: 30rpx 52rpx;
> text{
font-size: 28rpx;
color: #EA5061;
line-height: 55rpx;
}
}
.u-url{
margin-top: 88rpx;
font-size: 28rpx;
color: #1A1A1A;
text{
font-size: 32rpx;
color: #009874;
margin-left: 24rpx;
}
}
.regular-result-view{
// width: 750rpx;
// height: 100vh;
background-color: #FFFFFF;
justify-content: flex-start;
>image{
width: 100rpx;
height: 100rpx;
margin: 100rpx auto 40rpx auto;
}
.txt1 {
font-size: 44rpx;
color: #333333;
margin-bottom: 40rpx;
font-weight: 800;
}
.txt2 {
font-size: 28rpx;
color: #1A1A1A;
// padding-bottom:234rpx;
}
button{
width: 430rpx;
height: 112rpx;
border: 1rpx solid #009874;
border-radius: 10rpx;
color: #fff;
font-weight: border;
}
.c-green{
color: #009874;
font-weight: 700;
}
}
.u-steps{
align-self: flex-start;
padding-left: 155rpx;
margin-top: 88rpx;
margin-bottom: 40rpx;
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

541
src/subpackage/party/pages/miniapp/regist.vue

@ -0,0 +1,541 @@
<template>
<view class="regist-page b-flex-y b-flex-c">
<view class="r-main-view b-flex-y b-flex-c">
<!-- 品牌认证 -->
<view class="r-box">
<view class="rb-input-box b-flex-x b-flex-b">
<view class="input-width-more b-flex-x b-t-B">
<text class="b-t-32">品牌名称</text><text>*</text>
<view class="certify-yes">已认证</view>
</view>
<view class="rb-box-right b-flex-x b-flex-c">
<!-- <view>去认证</view> -->
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
</view>
</view>
<!-- 备案状态 -->
<view class="r-box">
<view class="rb-input-box b-flex-x b-flex-b">
<view class="input-width-more b-flex-x b-t-B">
<text class="b-t-32">备案状态</text><text>*</text>
<view class="certify-no">未备案</view>
</view>
<view class="rb-box-right b-flex-x b-flex-c">
<view>去备案</view>
<text class="b-icon icon-right b-text-black-dd"></text>
</view>
</view>
</view>
<!-- 企业名称,企业类型,主体类型,信用代码,证件有效期,注册地址,注册资本,法人姓名 -->
<view class="r-box">
<!-- <text class="rb-title b-t-B">小程序头像</text> -->
<view class="rb-upload-box rb-line b-flex-y b-flex-s b-mt-0 b-pb-50">
<view class="rb-upload-title b-flex-x b-t-B">小程序头像<text>*</text></view>
<view class="rb-upload-list b-flex-x">
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
<view class="b-flex-as-e b-ml-40 b-t-24 b-t-green b-t-B b-t-U">重新上传</view>
</view>
</view>
<!-- 小程序名称 -->
<view class="rb-regist-box ">
<view class="b-flex-x">
<view class="b-t-B">小程序名称</view>
<button class="b-btn b-btn-green b-btn-sm b-mr-40" @click="setDirection('')">设置</button>
</view>
<view class="rr-text rb-line">MJ智能天空篮球公馆</view>
</view>
<!-- 小程序简介 -->
<view class="rb-regist-box ">
<view class="b-flex-x">
<view class="b-t-B">小程序简介<text class="rr-status">审核中</text></view>
<button class="b-btn b-btn-green b-btn-sm b-mr-40">设置</button>
</view>
<view class="rr-text rb-line">智能设备的篮球馆线上订场线上买票线下扫码进场智能设备的篮球馆线上订场线上买票线下扫码进场智能设备的篮球馆线上订场线上买票线下扫码进场智能设备的篮球馆线上订场线上买票线下扫码进场</view>
</view>
<!-- 小程序类目 -->
<view class="rb-regist-box ">
<view class="b-flex-x">
<view class="b-t-B">小程序类目<text class="rr-status">审核中</text></view>
<button class="b-btn b-btn-green b-btn-sm b-mr-40">设置</button>
</view>
<view class="rb-class">
<view class="b-flex-x">类目名称: <text>体育场馆</text></view>
<view class="b-flex-x">类目状态: <text class="b-t-green">审核通过</text></view>
</view>
<view class="rb-class">
<view class="b-flex-x">类目名称: <text>体育场馆</text></view>
<view class="b-flex-x">类目状态: <text class="b-t-red">审核中</text></view>
</view>
</view>
</view>
<!-- 运营人员信息:姓名,身份证号,手机号 -->
<view class="r-box">
<text class="rb-title">运营人员信息</text>
<view class="rb-upload-box b-flex-y b-flex-s">
<view class="rb-upload-title b-flex-x">运营人员身份证正反面<text>*</text></view>
<view class="rb-upload-list b-flex-x b-flex-a">
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_people.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证头像面</text>
</view>
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_guohui.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证国徽面</text>
</view>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入姓名" placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">身份证号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入身份证号"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">手机号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入手机号" placeholder-class="input-hold-class"></input>
</view>
</view>
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">提交审核</button>
</view>
<!-- 弹窗 -->
<view class="m-popup b-popup " v-if="showPopup" :class="[directionClass,{'b-popup-round':round},{'b-popup-animation':animation}]">
<view class="b-popup-shade" @click="showPopup = false"></view>
<view class="b-popup-content">
<view class="b-content-view b-flex-y b-flex-c">
<!-- 右上角关闭按钮 -->
<view class="b-flex-x b-flex-e b-mb-20 b-flex-as-e">
<text class="b-icon icon-close b-t-gray b-t-44" @click="showPopup = false"></text>
</view>
<view class="b-t-B b-t-36 b-mb-40">小程序名称设置</view>
<input class="bc-input b-mb-50" type="text" placeholder="请输入"
placeholder-class="input-hold-class"></input>
<view class="rb-radio b-flex-x b-mb-40">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">组织号</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">个人号</radio>
</radio-group>
</view>
<view class="rb-line"></view>
<view class="rb-text b-t-24 b-t-red b-p-40">
<text>你申请的名称涉及特定地域范围或地理名称需要经过平台审核后才可使用你可以直接提交审核或提供商标注册证等材料以证明你可使用该地域范围或地理名称作为账号名称否则可能审核不通过</text>
</view>
<view class="rb-upload-list b-flex-x b-flex-a b-mt-50">
<view class="b-flex-y b-flex-c">
<view class="b-mb-30">拍照上传</view>
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
<view class="b-flex-y b-flex-c">
<view class="b-mb-30">关键词补充材料</view>
<view class="rb-upload-item b-flex-y b-flex-c">
<image class="rb-upload-bg" src="../../static/regist/upload_bg.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">点击上传</text>
</view>
</view>
<!-- <view class="b-flex-as-e b-ml-40 b-t-24 b-t-green b-t-B b-t-U">重新上传</view> -->
</view>
<view class="rb-btns b-flex-x b-mt-40 b-mb-50">
<button class="b-btn b-btn-green b-mr-40" @click="showPopup = false">取消</button>
<button class="b-btn b-btn-green " @click="showPopup = false">确定</button>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
showPopup:true,
directionClass:"",
round:false,
animation:true
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
show(status = true){
this.showPopup = status;
},
setDirection(value){
this.directionClass = value;
this.show(true);
},
onRoundChange(e){
this.round = e.detail.value;
},
onAnimationChange(e){
this.animation = e.detail.value;
},
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.m-popup{
.b-popup-shade{
background: rgba(0,0,0,0.5);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
}
.b-popup-content{
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
background: #fff;
border-radius: 5rpx;
z-index: 101;
.b-content-view{
width: 620rpx;
padding: 20rpx;
.b-content-title{
}
.bc-input{
width: 538rpx;
height: 88rpx;
background: #FFFFFF;
border: 2rpx solid #D8D8D8;
border-radius: 10rpx;
padding-left: 30rpx;
}
.input-hold-class{
font-size: 28rpx;
}
.rb-line{
border-bottom: 1rpx solid #E5E5E5;
width: 100%;
}
.rb-btns{
>button{
width: 240rpx;
height: 88rpx;
}
>button:first-child{
background: #fff;
color: $b-color-green;
// border: 1rpx solid $b-color-green;
}
}
.rb-text{
>text{
line-height: 40rpx;
}
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
}
.popup-demo{
font-size: 32rpx;
color: #333333;
}
}
.regist-page {
.r-main-view {
width: 700rpx;
.r-box {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 20rpx;
padding: 28rpx;
.rb-title {
font-size: 32rpx;
color: #333333;
}
.input-hold-class {
font-size: 28rpx;
color: #999999;
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-box{
.rb-upload-title{
font-size: 28rpx;
color: #333333;
margin: 26rpx 0 28rpx 0;
>text {
color: $b-color-red;
}
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
.rb-regist-box{
width: 100%;
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
>view{
// background-color: #9C9C9F;
width: 100%;
padding: 20rpx 0rpx 30rpx;
.rr-status{
font-size: 24rpx;
color: #EA5061;
width: 72rpx;
margin-left: 60rpx;
}
}
.rr-text{
padding-bottom: 40rpx;
font-size: 28rpx;
color: #1A1A1A;
}
.rb-class{
background: #F2F5F7;
border-radius: 10rpx;
padding-left: 32rpx;
margin-top: 20rpx;
>view{
font-size: 24rpx;
color: #333333;
padding: 10rpx 0;
>text{
margin-left: 15rpx;
}
}
}
}
.rb-input-box {
padding: 8rpx 0;
width: 100%;
// background-color: #E5E5E5;
.rb-input-title {
font-size: 28rpx;
color: #333333;
width: 168rpx;
position: absolute;
>text:last-child {
color: $b-color-red;
}
}
.rb-box-right{
// background-color: #999999;
>view{
color: $b-color-red;
margin-right: 20rpx;
}
}
.input-width-more{
font-size: 28rpx;
color: #333333;
// width: 168rpx;
// position: absolute;
>text:last-child {
color: $b-color-red;
}
width: 280rpx;
.certify-yes {
padding: 10rpx;
margin-left: 10rpx;
font-weight: 400;
font-size: 22rpx;
color: $b-color-green;
border: 1rpx solid $b-color-green;
border-radius: 6rpx;
}
.certify-no{
padding: 10rpx;
margin-left: 10rpx;
font-weight: 400;
font-size: 22rpx;
color: #9C9C9F;
border: 1rpx solid #9C9C9F;
border-radius: 6rpx;
}
}
.rb-input {
margin-left: 240rpx;
height: 80rpx;
font-size: 28rpx;
color: #333333;
}
.rb-radio{
margin-left: 240rpx;
height: 80rpx;
}
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

336
src/subpackage/party/pages/miniapp/regular.vue

@ -0,0 +1,336 @@
<template>
<view class="regist-page b-flex-y b-flex-c">
<view class="r-main-view b-flex-y b-flex-c" v-if="showRegular">
<view class="rm-title b-t-B b-mt-60 b-mb-50">请验证信息的准确性否则将导致注册失败</view>
<!-- 企业名称,企业类型,主体类型,信用代码,证件有效期,注册地址,注册资本,法人姓名 -->
<view class="r-box">
<!-- <text class="rb-title">企业信息</text> -->
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">公司名称<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入企业名称"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">证件类型<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入证件类型"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">证件号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入证件号"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">法人姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入法人姓名"
placeholder-class="input-hold-class"></input>
</view>
<!-- <view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">证件有效期<text>*</text></view>
<view class="rb-radio b-flex-x">
<radio-group @change="idTimeChange">
<radio value="1" checked style="transform:scale(0.9)" color="#009876">长期</radio>
<radio value="2" style="transform:scale(0.9);margin-left: 40rpx;" color="#009876">短期</radio>
</radio-group>
</view>
</view> -->
<view class="rb-input-box b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">法人微信号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入法人微信号"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">法人身份证<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入法人身份证"
placeholder-class="input-hold-class"></input>
</view>
</view>
<!-- 运营人员信息:姓名,身份证号,手机号 -->
<!-- <view class="r-box">
<text class="rb-title">运营人员信息</text>
<view class="rb-upload-box b-flex-y b-flex-s">
<view class="rb-upload-title b-flex-x">运营人员身份证正反面<text>*</text></view>
<view class="rb-upload-list b-flex-x b-flex-a">
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_people.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证头像面</text>
</view>
<view class="rb-upload-item idcard-width-170 b-flex-y b-flex-c">
<image class="rb-upload-bg " src="../../static/regist/id_guohui.png"></image>
<image class="rb-upload-cam" src="../../static/regist/camera.png"></image>
<text class="rb-input-img-text">上传身份证国徽面</text>
</view>
</view>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">姓名<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入姓名" placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">身份证号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入身份证号"
placeholder-class="input-hold-class"></input>
</view>
<view class="rb-input-box rb-line b-flex-x b-flex-b">
<view class="rb-input-title b-flex-x">手机号<text>*</text></view>
<input class="rb-input" type="text" placeholder="请输入手机号" placeholder-class="input-hold-class"></input>
</view>
</view> -->
<button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">提交转正</button>
</view>
<view v-else>
<view class="regular-result-view b-flex-y b-flex-c">
<image src="../../static/miniapp/regular_success.png"></image>
<text class="txt1">转正成功</text>
<text class="txt2">您的微信将收到微信消息请进行小程序法人确认</text>
<button class="b-btn b-btn-white c-green" style="width: 500rpx;height: 112rpx;">重新填写资料</button>
<button class="b-btn b-btn-green b-mt-60" style="width: 500rpx;height: 112rpx;">确认完成前往认证</button>
</view>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
showRegular:false
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.regist-page {
.a-main-view{
width: 750rpx;
padding: 25rpx;
background-color: #FFFFFF;
.am-title{
font-size: 32rpx;
color: #333333;
font-weight: 600;
margin-top: 50rpx;
}
.am-input{
width: 100%;
height: 80rpx;
font-size: 28rpx;
padding: 20rpx 0 20rpx 0rpx;
color: #333333;
border-bottom: 1rpx solid #E5E5E5;
}
.am-line{
border-bottom: 1rpx solid #E5E5E5;
}
.am-auth-btn{
margin-top: 246rpx;
}
}
.regular-result-view{
width: 750rpx;
height: 100vh;
background-color: #FFFFFF;
justify-content: flex-start;
>image{
width: 100rpx;
height: 100rpx;
margin: 100rpx auto 40rpx auto;
}
.txt1 {
font-size: 44rpx;
color: #333333;
margin-bottom: 100rpx;
font-weight: 800;
}
.txt2 {
font-size: 28rpx;
color: #1A1A1A;
padding-bottom:234rpx;
}
button{
width: 430rpx;
height: 112rpx;
border: 1rpx solid #009874;
border-radius: 10rpx;
color: #fff;
font-weight: border;
}
.c-green{
color: #009874;
font-weight: 700;
}
}
.r-main-view {
width: 700rpx;
.r-box {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx;
margin-top: 20rpx;
padding: 28rpx;
.rb-title {
font-size: 32rpx;
color: #333333;
font-weight: 600;
}
.input-hold-class {
font-size: 28rpx;
color: #999999;
}
.rb-line {
border-bottom: 1rpx solid #E5E5E5;
}
.rb-upload-box{
.rb-upload-title{
font-size: 28rpx;
color: #333333;
font-weight: 500;
margin: 46rpx 0 28rpx 0;
>text {
color: $b-color-red;
}
}
.rb-upload-list{
width: 100%;
.rb-upload-item{
width: 168rpx;
height: 168rpx;
// position: relative;
.rb-upload-bg{
width: 168rpx;
height: 168rpx;
position: absolute;
}
.rb-upload-cam{
width: 48rpx;
height: 40rpx;
}
.rb-input-img-text{
font-size: 24rpx;
margin-top: 24rpx;
color: #1A1A1A;
z-index: 2;
}
}
.idcard-width-170{
width: 280rpx;
height: 170rpx;
.rb-upload-bg{
width: 280rpx;
height: 170rpx;
position: absolute;
}
}
}
}
.rb-input-box {
padding: 8rpx 0;
.rb-input-title {
font-size: 28rpx;
color: #333333;
font-weight: 500;
width: 168rpx;
position: absolute;
>text {
color: $b-color-red;
}
}
.rb-input {
margin-left: 240rpx;
height: 80rpx;
font-size: 28rpx;
color: #333333;
}
.rb-radio{
margin-left: 240rpx;
height: 80rpx;
}
}
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

111
src/subpackage/party/pages/miniapp/unauth.vue

@ -0,0 +1,111 @@
<template>
<view class="unauth-page b-flex-y b-flex-c">
<view class="u-tips">
<text>按照微信官方规定如法人无法配合人脸识别需要使用电脑登录进行注册且需要</text>
<text class="b-t-B b-t-I">验证公户信息</text>
<text>请复制下方网址打开查看教程</text>
</view>
<view class="u-url">http://www.ouxuanzhineng.cn<text class="b-t-U "></text></view>
<!-- <button @click="SubmitEvent"class="rb-regist-btn b-btn b-btn-green b-mt-60 b-mb-60" style="width: 100%;height: 112rpx;">开始申请</button> -->
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
},
onShow() {
},
computed: {
...mapState(['brandInfo',])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
idTimeChange(e){
console.log(e.detail)
},
SubmitEvent(){
util.routeTo("/subpackage/party/pages/login/reviewing","nT")
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
page {
background-color: $b-color-gray-dd;
}
.unauth-page {
.u-tips{
background: #ea506126;
padding: 30rpx 52rpx;
> text{
font-size: 28rpx;
color: #EA5061;
line-height: 55rpx;
}
}
.u-url{
margin-top: 88rpx;
font-size: 28rpx;
color: #1A1A1A;
text{
font-size: 32rpx;
color: #009874;
margin-left: 24rpx;
}
}
}
.container {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
padding-bottom: 0rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom));
/* 兼容 iOS < 11.2 */
padding-bottom: calc(0rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */
}
</style>

180
src/subpackage/party/pages/miniapp/wx_auth_select.vue

@ -0,0 +1,180 @@
<template>
<view class="auth-select-page">
<view class="as-main-view b-flex-y b-flex-c b-mt-32 b-pl-20 ">
<view class="b-flex-as-s">
<view class="b-flex-y b-flex-s ">
<view class="b-t-32 b-t-B b-ml-40 b-mt-60 b-pb-10">欧轩为您快速注册小程序</view>
<view class="b-t-32 b-t-B b-pb-20 b-ml-40 b-mb-40">请按照实际情况选择并填写</view>
</view>
</view>
<view class="p-box b-flex-x b-flex-b b-mb-30" style="width: 670rpx;">
<view class="b-flex-y b-flex-c " style="width: 670rpx;">
<text class="b-t-white b-t-24 p-index-2 b-flex-as-s b-ml-60">法人可配合人脸识别</text>
<image class="pb-img-arrow-white b-mt-20 p-index-2 b-flex-as-s b-ml-60" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" src="../../static/miniapp/no_can_auth_bg.png" style="width: 670rpx;"></image>
</view>
</view>
<view class="p-box b-flex-x b-flex-b b-mb-40" style="width: 670rpx;">
<view class="b-flex-y b-flex-c " style="width: 670rpx;">
<text class="b-t-white b-t-24 p-index-2 b-flex-as-s b-ml-60">法人无法配合人脸识别</text>
<image class="pb-img-arrow-white b-mt-20 p-index-2 b-flex-as-s b-ml-60" src="../../static/index/p-arrow-white.png"></image>
<image class="pb-bg" src="../../static/miniapp/can_auth_bg.png" style="width: 670rpx;"></image>
</view>
</view>
<view class="p-tip">如您已有小程序请直接联系售后进行扫码授权即可</view>
</view>
<view class="fly_btn" @click="toPageInfo(tabList[4])">
<image class="f_bg" src="/static/images/icon/index/green_bg_circle.png" mode="scaleToFill"/>
<!-- <image class="f_icon" src="/static/images/icon/index/scan_icon_white.png" mode="scaleToFill"/> -->
<text>我的申请</text>
</view>
</view>
</template>
<script>
import util from '@/utils/util.js';
// import tools from '../../js/tools';
// import retailServer from '../../js/retail_server';
// import retailApi from '../../js/retail_api';
// import hoverCartList from '../../components/hover_cart_list/hover_cart_list';
import {
mapState
} from 'vuex'
export default {
components: {
// 'hoverCartList': hoverCartList ,
},
data() {
return {
// categoryBtnStyle: { //
// default: { fontWeight:"normal", color:"#9A9A9D", backgroundColor:"rgba(0,0,0,0)" },
// click: { fontWeight:"600", color:"#009874", backgroundColor:"rgba(0,152,116,0.2)" },
// },
// categoryScrollTop: 0, //
}
},
onLoad() {
console.log("onload-", this.brandInfo.brand.id)
util.showNone("onLoad")
// this.params.brand_id = this.brandInfo.brand.id;
// this.deleteSearchLocal(); //
// this.getStoreList(); //
// this.fixMainHeight(); //
},
onShow() {
// this.getSearchLocal(); //
// this.getRetailStatus(); //
},
computed: {
...mapState(['brandInfo', ])
},
watch: {
cartList() {
this.setCartConfirmStyle();
},
},
methods: {
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
@import '../../ui/maincss.scss';
$orange: #FF873D;
page {
background-color: white;
}
.auth-select-page{
.as-main-view{
.p-box-title{
// width: 100%;
width: 670rpx;
>view{
margin-top: 58rpx;
width: 100%;
>view{
width: 50%;
padding-left: 40rpx;
}
}
}
.p-tip{
font-size: 24rpx;
color: #9A9A9D;
margin-top: 25rpx;
margin-left: 60rpx;
width: 100%;
}
.p-box-title-2{
position: absolute;
}
.p-index-2{
z-index: 2;
}
.p-box{
width: 670rpx;
>view{
width: 320rpx;
height: 176rpx;
}
.pb-bg{
width: 320rpx;
height: 176rpx;
position: absolute;
}
.pb-img-arrow-white{
width: 65.74rpx;
height: 12.12rpx;
}
.pb-img-arrow{
width: 47.76rpx;
height: 48.08rpx;
}
.pb-img-arrow-green{
width: 47.76rpx;
height: 48.08rpx;
}
}
}
}
// fly_btn
.fly_btn{
position: fixed;
bottom: 300rpx;
right: 60rpx;
@include centerFlex(center);
flex-direction: column;
.f_bg{
position: absolute;
width: 148upx;
height: 148upx;
}
.f_icon{
z-index: 3;
width: 40rpx;
height: 40rpx;
}
>text{
z-index: 3;
font-size: 20rpx;
color: #fff;
}
}
</style>

BIN
src/subpackage/party/static/index/p-arrow-white.png

After

Width: 72  |  Height: 10  |  Size: 321 B

BIN
src/subpackage/party/static/index/p-arrow.png

After

Width: 24  |  Height: 25  |  Size: 1.1 KiB

BIN
src/subpackage/party/static/index/p-bg-1.png

After

Width: 160  |  Height: 88  |  Size: 7.0 KiB

BIN
src/subpackage/party/static/index/p-bg-2.png

After

Width: 160  |  Height: 88  |  Size: 7.9 KiB

BIN
src/subpackage/party/static/index/p-bg-3.png

After

Width: 335  |  Height: 88  |  Size: 13 KiB

BIN
src/subpackage/party/static/index/p-bg-s-1.png

After

Width: 88  |  Height: 88  |  Size: 4.7 KiB

BIN
src/subpackage/party/static/index/p-bg-s-2.png

After

Width: 88  |  Height: 88  |  Size: 4.8 KiB

BIN
src/subpackage/party/static/index/p-bg-s-3.png

After

Width: 88  |  Height: 88  |  Size: 4.6 KiB

BIN
src/subpackage/party/static/index/qr-img.png

After

Width: 424  |  Height: 434  |  Size: 26 KiB

BIN
src/subpackage/party/static/login/check.png

After

Width: 40  |  Height: 40  |  Size: 369 B

BIN
src/subpackage/party/static/login/kuang.png

After

Width: 40  |  Height: 40  |  Size: 437 B

BIN
src/subpackage/party/static/login/logo.png

After

Width: 112  |  Height: 112  |  Size: 6.4 KiB

BIN
src/subpackage/party/static/login/slogn.png

After

Width: 700  |  Height: 550  |  Size: 130 KiB

BIN
src/subpackage/party/static/miniapp/can_auth_bg.png

After

Width: 670  |  Height: 176  |  Size: 56 KiB

BIN
src/subpackage/party/static/miniapp/no_can_auth_bg.png

After

Width: 670  |  Height: 176  |  Size: 66 KiB

BIN
src/subpackage/party/static/miniapp/regular_success.png

After

Width: 100  |  Height: 102  |  Size: 3.6 KiB

BIN
src/subpackage/party/static/regist/camera.png

After

Width: 48  |  Height: 40  |  Size: 780 B

BIN
src/subpackage/party/static/regist/daojishi.png

After

Width: 100  |  Height: 100  |  Size: 3.5 KiB

BIN
src/subpackage/party/static/regist/id_guohui.png

After

Width: 280  |  Height: 170  |  Size: 2.5 KiB

BIN
src/subpackage/party/static/regist/id_people.png

After

Width: 280  |  Height: 170  |  Size: 2.0 KiB

BIN
src/subpackage/party/static/regist/upload_bg.png

After

Width: 168  |  Height: 168  |  Size: 1.7 KiB

BIN
src/subpackage/party/static/upload/icon-bg.png

After

Width: 84  |  Height: 84  |  Size: 822 B

BIN
src/subpackage/party/static/upload/icon-camera.png

After

Width: 24  |  Height: 20  |  Size: 445 B

33
src/subpackage/party/ui/basic/basic.scss

@ -0,0 +1,33 @@
/*
* B-ui 依赖基础文件
* B-ui 基础的依赖字体主题图标颜色布局文本按钮集成
*/
// 字体图标scss 导入 css 文件不需要文件扩展名
@import './iconfont';
// flex布局
@import './flex.scss';
// 主题颜色
@import './theme.scss';
// 颜色相关
@import './color.scss';
// 布局相关
@import './layout.scss';
// 文本相关
@import './text.scss';
// 宫格布局
// @import './grid.scss';
// 宫格布局
@import './button.scss';
// 根元素样式 设置页面背景字体大小字体颜色字符间距长单词换行
page {
background-color: $b-color-gray-dd;
font-size: 28rpx;
box-sizing: border-box;
color: $b-color-black;
letter-spacing: 0;
word-wrap: break-word;
line-height: 1.25;
}

132
src/subpackage/party/ui/basic/button.scss

@ -0,0 +1,132 @@
/*
* B-ui 按钮样式文件
* 提供常用的按钮相关类
*/
.b-btn{
@include flex-center();
display: inline-flex;
box-sizing: border-box;
font-size: 28rpx;
background-color: $b-color-white;
color: $b-color-black;
line-height: 1.2;
border-radius: 4px;
padding: 0 32rpx;
height: 80rpx;
// 覆盖按钮默认的边框线效果
&::after{
content: '';
display: block;
position: absolute;
box-sizing: border-box;
top: 0;
left: 0;
width: 100%;
height: 100%;
transform: scale(1);
border: $b-color-gray solid 1px;
border-radius: 4px;
z-index: 1;
}
// 按下样式
&:active{
&::before{
content: '';
display: block;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(222, 222, 222, 0.2);
z-index: 2;
}
}
// 按钮主题
@each $k in $map-rgb-color-all-keys {
$item:map-get($map-rgb-color-all,$k);
&.b-btn-#{$k}{
background-color: map-get($item,color);
color: $b-color-white;
&::after{
border-color: map-get($item,color);
}
// 线性按钮
&.b-btn-line{
background-color: $b-color-white;
color: map-get($item,color);
&:active{
&:before{
background-color: map-get($item,color);
opacity: 0.1;
}
}
}
}
}
// 尺寸
&.b-btn-sm{
font-size: 24rpx;
height: 64rpx;
padding: 0 28rpx;
}
// 大尺寸
&.b-btn-lg{
font-size: 32rpx;
height: 96rpx;
padding: 0 36rpx;
}
// 块状
&.b-btn-block{
width: 100%;
}
// 圆角
&.b-btn-round{
border-radius: 1000px;
&::before,&::after{
border-radius: 1000px;
}
}
// 直角
&.b-btn-straight{
border-radius: 0;
&::before,&::after{
border-radius: 0;
}
}
// 覆盖默认禁用样式
&[disabled]{
background-color: $b-color-white !important;
color: $b-color-black !important;
&::before{
content: '';
display: block;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(100, 100, 100, 0.1) !important;
opacity: 1 !important;
z-index: 2;
}
&::after{
border: $b-color-gray solid 1px !important;
}
}
}

28
src/subpackage/party/ui/basic/color.scss

@ -0,0 +1,28 @@
/*
* B-ui 按钮样式文件
* 提供常用的文本颜色背景颜色阴影颜色相关类
*/
// 阴影混入
@mixin shadow-color($color, $opacity: 0.25) {
box-shadow: 6rpx 6rpx 8rpx rgba($color, $opacity);
}
/* 生成 文本颜色 和 背景颜色 */
@each $k in $map-rgb-color-all-keys {
$item:map-get($map-rgb-color-all,$k);
// 文本颜色
.b-t-#{$k}{
color: map-get($item,color);
}
// 背景颜色
.b-bg-#{$k}{
background-color: map-get($item,color);
}
// 按钮阴影
.b-shadow-#{$k}{
@include shadow-color(map-get($item,color));
}
}

206
src/subpackage/party/ui/basic/flex.scss

@ -0,0 +1,206 @@
/*
* B-ui Flex布局样式文件
* 提供常用Flex布局相关类
*/
/* 分列式弹性盒子,以X轴从左到右排列 */
.b-flex-x{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
align-content: center;
/*[相邻元素的子元素]*/
&>.b-flex-as-s{
align-self: flex-start;
}
&>.b-flex-as-e{
align-self: flex-end;
}
/* 水平左对齐 */
&.b-flex-s{
justify-content: flex-start;
}
/* 水平居中对齐 */
&.b-flex-c{
justify-content: center;
}
/* 水平右对齐 */
&.b-flex-e{
justify-content: flex-end;
}
/* 水平两端对齐 */
&.b-flex-b{
justify-content: space-between;
}
/*均匀分布对齐*/
&.b-flex-a{
justify-content: space-around;
}
/* 垂直顶部对齐 */
&.b-flex-top{
align-items: flex-start;
align-content: flex-start;
}
/* 垂直底部对齐 */
&.b-flex-bottom{
align-items: flex-end;
align-content: flex-end;
}
/* 允许换行 */
&.b-flex-wrap{
flex-wrap: wrap;
}
/* 等比分列,2-6列 */
@for $i from 2 through 6
{
&.b-flex-#{$i}{
& > .b-flex-col{
width:calc(100% / $i);
}
}
}
/* 弹性元素 */
& > .b-flex-grow{
flex-grow: 1;
width: 0;
}
/* 禁止压缩 */
& > .b-flex-shrink{
flex-shrink:0;
}
/* 弹性元素的通用类 */
& > .b-flex-item{
flex: 1 0 auto;
width: 0;
}
}
/* 分行式弹性盒子,以Y轴从上到下排列 */
.b-flex-y{
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: flex-start;
align-content: flex-start;
/*[相邻元素的子元素]*/
&>.b-flex-as-s{
align-self: flex-start;
}
&>.b-flex-as-e{
align-self: flex-end;
}
/*[相邻元素]*
/* 垂直居中对齐 */
&.b-flex-c{
justify-content: center;
align-items: center;
align-content: center;
}
/* 水平左对齐 */
&.b-flex-s{
align-items: flex-start;
align-content: flex-start;
}
/* 水平右对齐 */
&.b-flex-e{
align-items: flex-end;
align-content: flex-end;
}
/* 垂直两端对齐 */
&.b-flex-b{
justify-content: space-between;
}
/* 垂直顶部对齐 */
&.b-flex-top{
justify-content: flex-start;
}
/* 垂直底部对齐 */
&.b-flex-bottom{
justify-content: flex-end;
}
/* 等比分行,2-6行 */
@for $i from 2 through 6
{
&.b-flex-#{$i}{
& > .b-flex-row{
height:calc(100% / $i);
}
}
}
/* 弹性元素 */
& > .b-flex-grow{
flex-grow: 1;
height: 0;
}
/* 禁止压缩 */
& > .b-flex-shrink{
flex-shrink:0;
}
/* 弹性元素的通用类 */
& > .b-flex-item{
flex: 1 0 auto;
height: 0;
}
}
// flex 引用
// X左对齐
@mixin flex-left() {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
align-content: center;
}
// X轴居中对齐
@mixin flex-center() {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
align-content: center;
}
// X轴两端对齐
@mixin flex-between() {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
align-content: center;
}

64
src/subpackage/party/ui/basic/grid.scss

@ -0,0 +1,64 @@
/*
* B-ui 宫格布局样式文件
* 提供常用宫格布局相关类
*/
// 项边框线
@mixin grid-item-border() {
border-color: $b-color-gray-d;
border-width: 0 1px 1px 0;
}
.b-grid{
display: grid;
grid-template-rows: auto;
grid-gap:0 0;
grid-auto-flow: row dense;
place-items:stretch stretch;
place-content: stretch stretch;
box-sizing: border-box;
text-align: center;
position: relative;
&-item{
box-sizing: border-box;
padding: 32rpx 16rpx;
&:active{
background-color: $b-color-gray-d;
}
}
&-line{
.b-grid-item{
@include grid-item-border();
border-style: solid;
}
}
&-dashed{
.b-grid-item{
@include grid-item-border();
border-style: dashed;
}
}
@for $i from 2 to 7{
&-#{$i} {
grid-template-columns: repeat($i, 1 / $i * 100%);
.b-grid-item:nth-child(#{$i}n){
border-right-width:0;
}
}
&-cancel-bottom-line-#{$i} {
@for $j from 0 to $i{
.b-grid-item:nth-last-child(#{$j+1}){
border-bottom-width:0;
}
}
}
}
}

1418
src/subpackage/party/ui/basic/iconfont.css
File diff suppressed because it is too large
View File

92
src/subpackage/party/ui/basic/layout.scss

@ -0,0 +1,92 @@
/*
* B-ui 布局相关样式文件
* 提供常用的不惧相关类圆角盒子模型定位面板
*/
/* 外边距 10 - 80 以 10 的倍数递增 */
@for $i from 1 to 11{
.b-m-#{$i*10} {
margin: $i * 8rpx;
}
.b-mt-#{$i*10} {
margin-top: $i * 8rpx;
}
.b-mr-#{$i*10} {
margin-right: $i * 8rpx;
}
.b-mb-#{$i*10} {
margin-bottom: $i * 8rpx;
}
.b-ml-#{$i*10} {
margin-left: $i * 8rpx;
}
}
/* 内补 10 - 80 以 10 的倍数递增 */
@for $i from 1 to 11{
.b-p-#{$i*10} {
padding: $i * 8rpx;
}
.b-pt-#{$i*10} {
padding-top: $i * 8rpx;
}
.b-pr-#{$i*10} {
padding-right: $i * 8rpx;
}
.b-pb-#{$i*10} {
padding-bottom: $i * 8rpx;
}
.b-pl-#{$i*10} {
padding-left: $i * 8rpx;
}
}
// 圆角 4 ~ 40 4 的倍数递增
@for $i from 1 to 11{
.b-radius-#{$i*4} {
border-radius: $i * 4rpx;
}
}
// 底部安全区域
@mixin safe-area-inset-bottom-mixin {
box-sizing: content-box;
padding-bottom: 0;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
// 底部固定的面板
.b-fixed-panel-bottom{
position: fixed;
width: 100%;
height: auto;
left: 0;
bottom: 0;
background-color: $b-color-white;;
z-index: 19;
@include safe-area-inset-bottom-mixin;
}
// 底部面板占位元素使用该类名后再添加具体的占位高度即可
.b-safe-area-placeholder-bottom{
@include safe-area-inset-bottom-mixin;
}
// 顶部固定的面板
.b-fixed-panel-top{
position: fixed;
width: 100%;
height: auto;
left: 0;
top:0;
top: var(--window-top);
z-index: 19;
background-color: $b-color-white;
}
// 充满页面可用高度
.b-page-height-full{
height: calc(100vh - var(--window-top) - var(--window-bottom));
}

55
src/subpackage/party/ui/basic/text.scss

@ -0,0 +1,55 @@
/*
* B-ui 文本相关样式文件
* 提供常用的文本相关类颜色对齐超出隐藏
*/
// 字体状态
// 下滑线
.b-t-U {
text-decoration: underline;
}
// 加粗
.b-t-B {
font-weight: bold;
}
// 倾斜
.b-t-I {
font-style: italic;
}
// 文本对齐方式
// 居中
.b-t-c{
text-align: center;
}
// 居左
.b-t-l{
text-align: left;
}
// 居右
.b-t-r{
text-align: right;
}
// 超出省略 1~5 以1的倍数递增
@for $i from 1 to 6{
.b-ellipsis-#{$i} {
overflow: hidden;
text-overflow: ellipsis;
@if $i == 1 {
white-space: nowrap;
}@else{
display: -webkit-box;
-webkit-line-clamp: $i;
-webkit-box-orient: vertical;
}
}
}
/* 字体大小 20rpx ~ 80rpx */
@for $i from 0 to 16{
.b-t-#{$i*4+20} {
font-size: $i * 4 + 20rpx;
}
}

61
src/subpackage/party/ui/basic/theme.scss

@ -0,0 +1,61 @@
/*
* B-ui 皮肤设置文件
* 提供常用颜色值
*/
$b-color-green:#009874;
$b-color-green-dd:#00B500;
$b-color-red:#EA5061;
$b-color-orange:#f37b1d;
$b-color-white:#ffffff;
$b-color-gray:#9C9C9F;
$b-color-gray-dd:#F2F2F7;
$b-color-gray-ddd:lightgray;
$b-color-yellow:yellow;
$b-color-cyan:cyan;
$b-color-black:#1A1A1A;
// 全部颜色Map
$map-rgb-color-all:(
"white":(color:$b-color-white),
"gray":(color:$b-color-gray),
"gray-dd":(color:$b-color-gray-dd),
"gray-ddd":(color:$b-color-gray-ddd),
"red":(color:$b-color-red),
"orange":(color:$b-color-orange),
"yellow":(color:$b-color-yellow),
"green":(color:$b-color-green),
"cyan":(color:$b-color-cyan),
"black":(color:$b-color-black)
);
// 全部颜色Map-keys
$map-rgb-color-all-keys:map-keys($map-rgb-color-all);
// 高亮颜色Map
$map-rgb-high-color:(
"red":(color:$b-color-red),
"orange":(color:$b-color-orange),
"yellow":(color:$b-color-yellow),
"green":(color:$b-color-green),
"cyan":(color:$b-color-cyan),
"white":(color:$b-color-white),
"gray":(color:$b-color-gray),
"gray-dd":(color:$b-color-gray-dd),
"gray-ddd":(color:$b-color-gray-ddd),
"black":(color:$b-color-black)
);
// 高亮颜色Map-keys
$map-rgb-high-color-keys:map-keys($map-rgb-high-color);

38
src/subpackage/party/ui/busine/album.scss

@ -0,0 +1,38 @@
/*
* B-ui 相册样式文件
*/
.b-album{
@include flex-left();
flex-wrap:wrap;
&-1{
.b-album-item{
display: block;
width: 496rpx;
height: 300rpx;
}
}
&-2{
margin: 0 -8rpx -8rpx 0;
.b-album-item{
display: block;
width: 244rpx;
height: 244rpx;
margin: 0 8rpx 8rpx 0;
}
}
&-3{
margin: 0 -8rpx -8rpx 0;
.b-album-item{
display: block;
width: 160rpx;
height: 160rpx;
margin: 0 8rpx 8rpx 0;
}
}
}

31
src/subpackage/party/ui/busine/list-goods.scss

@ -0,0 +1,31 @@
/*
* B-ui 商品列表(淘宝/京东)样式文件
* 提供常用的按钮相关类
*/
.b-list-goods{
padding: 0 16rpx;
@include flex-left();
flex-wrap: wrap;
box-sizing: border-box;
.b-list-item{
padding: 0 16rpx;
box-sizing: border-box;
width: 50%;
margin-bottom: 24rpx;
}
.b-list-content{
background-color: $b-color-white;
border-radius: 16rpx;
padding: 16rpx;
}
// 封面图片
.b-list-cover{
width: 100%;
height: 320rpx;
}
}

111
src/subpackage/party/ui/busine/list-user.scss

@ -0,0 +1,111 @@
/*
* B-ui 用户列表(QQ/微信/电话簿)样式文件
* 提供常用的按钮相关类
*/
.b-list-user{
.b-list-item{
@include flex-space();
box-sizing: border-box;
min-height: 86rpx;
padding: 16rpx 32rpx;
position: relative;
// 分割线
& + .b-list-item::before{
content: '';
height: 1px;
background-color: $b-color-gray-d;
width: auto;
position: absolute;
z-index: 1;
top: 0;
left: 32rpx;
right: 32rpx;
transform: scaleY(0.5);
}
// 按下激活样式
&:active{
background-color: $b-color-gray-d;
}
}
// 隐藏分割线
&.b-list-line-hide{
.b-list-item::before{
display: none;
}
}
.b-list-tag{
@include flex-left();
box-sizing: border-box;
min-height: 86rpx;
padding: 16rpx 32rpx;
background-color: $b-color-gray-dd;
position: sticky;
left: 0;
top: 0;
width: 100%;
z-index: 5;
}
}
// 用户列表索引
.b-list-user-indexes{
position: fixed;
right: 0;
top: var(--window-top);
bottom: var(--window-bottom);
z-index: 10;
&-item{
padding: 4rpx 12px;
color: $b-color-black-d;
position: relative;
&::before{
@include flex-center();
content: attr(data-tag);
position: absolute;
top: 50%;
background-color: transparent;
color: $b-color-white;
margin-top: -46rpx;
left: -112rpx;
width: 92rpx;
height: 92rpx;
z-index: 2;
font-size: 36rpx;
display: none;
font-weight: bold;
}
&::after{
@include flex-center();
content: '';
position: absolute;
top: 50%;
background-color: $b-color-gray-d;
margin-top: -46rpx;
left: -112rpx;
width: 92rpx;
height: 92rpx;
border-radius: 100px 100px 0 100px;
transform: rotate(-45deg);
display: none;
z-index: 1;
}
&.indexes-show{
color: $b-color-black;
font-weight: bold;
&::after,&::before{
display: flex;
}
}
}
}

73
src/subpackage/party/ui/busine/nav-bar.scss

@ -0,0 +1,73 @@
/*
* B-ui 顶部导航栏样式文件
*/
.b-nav-bar{
font-size: 14px;
&::before{
content: '';
display: block;
width: 100%;
height: 44px;
box-sizing: content-box;
padding-top: var(--status-bar-height);
}
// 取消安全区域
&-cancel-safe-area{
&::before{
display: none;
}
}
&-fixed{
position: fixed;
width: 100%;
height: auto;
left: 0;
top:0;
top: 0;
z-index: 100;
}
&-container{
height: 44px;
box-sizing: content-box;
padding-top: var(--status-bar-height);
background-color: $b-color-white;
}
&-title{
@include flex-center();
width: 350rpx;
height: 100%;
font-size: 16px;
color: $b-color-black;
margin: 0 auto;
}
&-slot-left{
@include flex-left();
height: 44px;
position: absolute;
z-index: 1;
bottom: 0;
left: 0;
}
&-slot-right{
@include flex-left();
height: 44px;
position: absolute;
z-index: 1;
bottom: 0;
right: 0;
}
&-back{
@include flex-left();
height: 44px;
padding: 0 24rpx;
}
}

38
src/subpackage/party/ui/extend/avatar.scss

@ -0,0 +1,38 @@
/*
* B-ui 头像样式文件
*/
// 头像
// 60 ~ 120 rpx 12 梯度递增
@for $i from 0 to 6{
// 文字头像
.b-avatar-#{$i*12+60} {
@include flex-center();
display: inline-flex;
box-sizing: border-box;
width: $i*12+60rpx;
height: $i*12+60rpx;
border-radius: 8rpx;
position: relative;
background-color: $b-color-gray;
color: $b-color-white;
}
}
// 圆角
.b-avatar-round{
border-radius: 1000px;
}
// 头像组
.b-avatar-group{
@include flex-left();
@for $i from 0 to 6{
.b-avatar-#{$i*12+60} + .b-avatar-#{$i*12+60}{
margin-left: $i * -6 - 20rpx;
border: $b-color-white solid 2px;
}
}
}

89
src/subpackage/party/ui/extend/collapse.scss

@ -0,0 +1,89 @@
/*
* B-ui 红点样式文件
*/
.b-collapse{
background-color: $b-color-white;
// 标题
&-title{
@include flex-space();
box-sizing: border-box;
min-height: 86rpx;
padding: 16rpx 32rpx;
position: relative;
&:active{
background-color: $b-color-gray-d;
}
}
// 内容
&-content{
// 内容容器元素是禁止设置 padding 值的
padding: 0 !important;
max-height: 0;
overflow: hidden;
}
// 方向
&-direction{
transition: transform 0.3s ease 0s;
transform:rotate(0deg);
}
&-item{
position: relative;
// 分割线
& + .b-collapse-item::before{
content: '';
height: 1px;
background-color: $b-color-gray-d;
width: auto;
position: absolute;
z-index: 1;
top: 0;
left: 0;
right: 0;
transform: scaleY(0.5);
}
}
// 动画
&-animation{
.b-collapse-content{
// transition: max-height 0.5s linear 0s;
}
}
// 展开时效果
&-open{
.b-collapse-title{
// 标题下划线
&::after{
content: '';
height: 1px;
background-color: $b-color-gray-d;
width: auto;
position: absolute;
z-index: 1;
bottom: 0;
left: 32rpx;
right: 32rpx;
transform: scaleY(0.5);
}
}
// 内容区域显示
.b-collapse-content{
max-height: 9999px;
}
// 方向旋转
.b-collapse-direction{
transform:rotate(-180deg);
}
}
}

41
src/subpackage/party/ui/extend/dot.scss

@ -0,0 +1,41 @@
/*
* B-ui 红点样式文件
*/
.b-dot{
width: 8px;
height: 8px;
position: absolute;
top: -2px;
right: -2px;
border-radius: 50%;
z-index: 1;
background-color: $b-color-red;
// 数字红点
&-number{
@include flex-center();
min-width: 16px;
height: 16px;
position: absolute;
top: -4px;
right: -4px;
border-radius: 16px;
z-index: 1;
background-color: $b-color-red;
font-size: 10px;
line-height: 1.2;
box-sizing: border-box;
padding: 0 4px;
}
// 取消定位
&-cancel-absolute{
position: initial;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: auto;
}
}

157
src/subpackage/party/ui/extend/form.scss

@ -0,0 +1,157 @@
/*
* B-ui 表单样式文件
*/
.b-form{
display: block;
width: 100%;
box-sizing: border-box;
&-item{
box-sizing: border-box;
min-height: 100rpx;
padding: 16rpx 32rpx;
position: relative;
// 分割线
& + .b-form-item::before{
content: '';
height: 1px;
background-color: $b-color-gray-d;
width: auto;
position: absolute;
z-index: 1;
top: 0;
left: 32rpx;
right: 32rpx;
transform: scaleY(0.5);
}
& > radio-group, & > checkbox-group{
margin: 0 -24rpx -16rpx 0;
& > label{
margin: 0 24rpx 16rpx 0;
}
}
}
// 必填项
&-required{
&:before{
content: '*';
font-size: 36rpx;
color: $b-color-red;
}
}
&-input{
display: block;
width: 100%;
height: 68rpx;
color: $b-color-black;
font-size: 28rpx;
box-sizing: border-box;
// 输入框默认提示颜色值
.input-placeholder{
color: $b-color-black-dd;
}
}
&-textarea{
display: block;
width: 100%;
height: 180rpx;
color: $b-color-black;
font-size: 28rpx;
box-sizing: border-box;
// 输入框默认提示颜色值
.textarea-placeholder{
color: $b-color-black-dd;
}
}
// 选择器
&-picker{
height: 68rpx;
}
// 上传
&-upload{
margin: 0 -16rpx -16rpx 0;
&-item{
margin: 0 16rpx 16rpx 0;
position: relative;
width: 180rpx;
height: 180rpx;
border-color: $b-color-gray-d;
border-style: solid;
border-width: 1px;
box-sizing: border-box;
}
&-cover{
display: block;
width: 100%;
height: 100%;
}
&-loading{
&:before{
content: '';
background-color: $b-color-black;
opacity: 0.5;
position: absolute;
z-index: 5;
left: 0;
bottom: 0;
width: 100%;
height: 100%;
}
&:after{
content: '';
position: absolute;
z-index: 6;
left: 0;
bottom: 0;
right: 0;
top: 0;
margin: auto;
width: 40rpx;
height: 40rpx;
border-color: $b-color-white;
border-width: 3px;
border-top-color: transparent;
border-style: solid;
border-radius: 50%;
animation: b_FormUploadLoading 1.5s linear 0s infinite normal;
}
}
&-delete{
@include flex-center();
position: absolute;
z-index: 4;
top: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.7);
width: 48rpx;
height: 36rpx;
font-size: 20rpx;
color: $b-color-white;
border-bottom-left-radius: 8px;
}
}
}
@keyframes b_FormUploadLoading {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}

70
src/subpackage/party/ui/extend/panel.scss

@ -0,0 +1,70 @@
/*
* B-ui 面板样式文件
*/
@mixin panel-line() {
content: '';
height: 1px;
background-color: $b-color-gray-d;
width: auto;
position: absolute;
z-index: 1;
left: 24rpx;
right: 24rpx;
transform: scaleY(0.5);
}
.b-panel{
background-color: $b-color-white;
&-head{
@include flex-space();
padding: 24rpx;
position: relative;
&::after{
@include panel-line();
bottom: 0;
}
}
&-body{
padding: 24rpx;
position: relative;
}
&-footer{
@include flex-space();
padding: 24rpx;
position: relative;
&::before{
@include panel-line();
top: 0;
}
}
&-cancel-head-line{
.b-panel-head{
padding-bottom: 0;
&::after{
display: none;
}
}
}
&-cancel-footer-line{
.b-panel-footer{
padding-top: 0;
&::before{
display: none;
}
}
}
&-round{
border-radius: 16rpx;
}
}

192
src/subpackage/party/ui/extend/popup.scss

@ -0,0 +1,192 @@
/*
* B-ui 弹窗样式文件
*/
.b-popup{
@include flex-center();
position: fixed;
z-index: 100;
top: var(--window-top);
bottom: 0;
left: 0;
right: 0;
width: auto;
height: auto;
&-shade{
background-color: $b-color-black;
opacity: 0.65;
width: 100%;
height: 100%;
position: absolute;
z-index: -1;
}
&-content{
background-color: $b-color-white;
}
&-animation{
.b-popup-shade{
animation: fadeIn 0.3s ease 0s 1 normal;
}
.b-popup-content{
animation: bounceIn 0.3s ease 0s 1 normal;
}
}
&-round{
.b-popup-content{
border-radius: 16rpx;
}
}
&-left{
.b-popup-content{
position: absolute;
left: 0;
top: 0;
height: 100%;
width: auto;
}
&.b-popup-round{
.b-popup-content{
border-radius: 0 16rpx 16rpx 0;
}
}
&.b-popup-animation{
.b-popup-content{
animation: bounceInLeft 0.3s ease 0s 1 normal;
}
}
}
&-right{
.b-popup-content{
position: absolute;
right: 0;
top: 0;
height: 100%;
width: auto;
}
&.b-popup-round{
.b-popup-content{
border-radius: 16rpx 0 0 16rpx;
}
}
&.b-popup-animation{
.b-popup-content{
animation: bounceInRight 0.3s ease 0s 1 normal;
}
}
}
&-top{
.b-popup-content{
position: absolute;
left: 0;
top: 0;
height: auto;
width: 100%;
}
&.b-popup-round{
.b-popup-content{
border-radius: 0 0 16rpx 16rpx;
}
}
&.b-popup-animation{
.b-popup-content{
animation: bounceInDown 0.3s ease 0s 1 normal;
}
}
}
&-bottom{
.b-popup-content{
@include safe-area-inset-bottom-mixin;
position: absolute;
left: 0;
bottom: 0;
height: auto;
width: 100%;
}
&.b-popup-round{
.b-popup-content{
border-radius: 16rpx 16rpx 0 0;
}
}
&.b-popup-animation{
.b-popup-content{
animation: bounceInUp 0.3s ease 0s 1 normal;
}
}
}
}
@keyframes fadeIn
{
from {
opacity: 0;
}
to {
opacity: 0.65;
}
}
@keyframes bounceIn
{
from {
opacity: 0;
transform: scale(0.3,0.3);
}
to {
opacity: 1;
transform: scale(1,1);
}
}
@keyframes bounceInLeft
{
from {
transform: translateX(-100vw);
}
to {
transform: translateX(0);
}
}
@keyframes bounceInRight
{
from {
transform: translateX(100vw);
}
to {
transform: translateX(0);
}
}
@keyframes bounceInUp
{
from {
transform: translateY(100vh);
}
to {
transform: translateY(0);
}
}
@keyframes bounceInDown
{
from {
transform: translateY(-100vh);
}
to {
transform: translateY(0);
}
}

56
src/subpackage/party/ui/extend/progress-bar.scss

@ -0,0 +1,56 @@
/*
* B-ui 进度条样式文件
*/
// 阴影混入
@mixin progress-bg($color, $opacity: 0.3) {
background-color: rgba($color, $opacity);
}
.b-progress{
width: 100%;
height: 24rpx;
box-sizing: border-box;
.b-progress-pathway{
display: block;
box-sizing: border-box;
height: 100%;
width: 0%;
}
&-round{
border-radius: 100px;
.b-progress-pathway{
border-radius: 100px;
}
}
&-sm{
height: 16rpx;
}
&-lg{
height: 32rpx;
}
&-animation{
.b-progress-pathway{
transition: width 0.3s linear 0s;
}
}
@each $k in $map-rgb-high-color-keys {
$item:map-get($map-rgb-high-color,$k);
// 文本颜色
&.b-progress-#{$k}{
@include progress-bg(map-get($item,color));
.b-progress-pathway{
background-color: map-get($item,color);
}
}
}
}

25
src/subpackage/party/ui/extend/swiper.scss

@ -0,0 +1,25 @@
/*
* B-ui 轮播图样式文件
*/
.b-swiper{
height: 420rpx;
&-image{
width: 100%;
height: 100%;
}
&-card{
.b-swiper-image{
border-radius: 16rpx;
transform: scale(0.9,0.9);
transition: transform 0.3s ease 0s;
&.b-swiper-image-active{
transform: scale(1,1);
}
}
}
}

59
src/subpackage/party/ui/extend/tabs.scss

@ -0,0 +1,59 @@
/*
* B-ui 选项卡样式文件
*/
.b-tabs{
height: 90rpx;
width: 100%;
overflow: hidden;
text-align: center;
font-size: 28rpx;
&-container{
@include flex-left();
padding-bottom: 20px;
box-sizing: content-box;
min-width: 100%;
}
&-item{
height: 90rpx;
flex: 1 0 auto;
width: 0;
box-sizing: border-box;
@include flex-center();
position: relative;
color: $b-color-black-d;
padding: 0 16rpx;
&.b-tabs-active{
color: $b-color-blue;
font-weight: 600;
&::after{
content: '';
display: block;
width: 48rpx;
height: 6rpx;
position: absolute;
bottom: 1px;
left: 50%;
margin-left: -24rpx;
background-color: $b-color-blue;
border-radius: 10px;
}
}
}
&-scroll{
.b-tabs-item{
flex-shrink:0;
white-space: nowrap;
width: auto;
& + .b-tabs-item{
margin-left: 16rpx;
}
}
}
}

46
src/subpackage/party/ui/extend/tag.scss

@ -0,0 +1,46 @@
/*
* B-ui 标签样式文件
* 提供常用的标签相关类
*/
.b-tag{
@include flex-center();
display: inline-flex;
box-sizing: border-box;
font-size: 24rpx;
background-color: $b-color-gray-d;
color: $b-color-black-d;
line-height: 1.6;
border-radius: 2px;
padding: 0 20rpx;
// 标签主题
@each $k in $map-rgb-color-all-keys {
$item:map-get($map-rgb-color-all,$k);
&.b-tag-#{$k}{
background-color: map-get($item,color);
color: $b-color-white;
@if $k == 'white' { color:$b-color-black-d }
@if $k == 'gray-d' { color:$b-color-black-d }
}
}
// 尺寸
&.b-tag-sm{
font-size: 20rpx;
padding: 0 16rpx;
}
// 大尺寸
&.b-tag-lg{
font-size: 28rpx;
padding: 0 24rpx;
}
// 圆角
&.b-tag-round{
border-radius: 1000px;
}
}

49
src/subpackage/party/ui/maincss.scss

@ -0,0 +1,49 @@
/*
* B-ui CSS依赖打包文件
* B-ui 所有的CSS依赖全部集成
*/
// 全局基础样式
@import './basic/basic.scss';
// 头像
// @import './extend/avatar.scss';
// 面板
// @import './extend/panel.scss';
// 表单
// @import './extend/form.scss';
// // 用户列表
// @import './busine/list-user.scss';
// // 商品列表
// @import './busine/list-goods.scss';
// // 选项卡
// @import './extend/tabs.scss';
// // 弹窗
// @import './extend/popup.scss';
// // 轮播图
// @import './extend/swiper.scss';
// // 进度条
// @import './extend/progress-bar.scss';
// // 相册
// @import './busine/album.scss';
// // 顶部导航栏
// @import './busine/nav-bar.scss';
// // 红点
// @import './extend/dot.scss';
// // 折叠面板
// @import './extend/collapse.scss';
// // 标签
// @import './extend/tag.scss';

40
src/uni_modules/uni-icons/changelog.md

@ -0,0 +1,40 @@
## 2.0.9(2024-01-12)
fix: 修复图标大小默认值错误的问题
## 2.0.8(2023-12-14)
- 修复 项目未使用 ts 情况下,打包报错的bug
## 2.0.7(2023-12-14)
- 修复 size 属性为 string 时,不加单位导致尺寸异常的bug
## 2.0.6(2023-12-11)
- 优化 兼容老版本icon类型,如 top ,bottom 等
## 2.0.5(2023-12-11)
- 优化 兼容老版本icon类型,如 top ,bottom 等
## 2.0.4(2023-12-06)
- 优化 uni-app x 下示例项目图标排序
## 2.0.3(2023-12-06)
- 修复 nvue下引入组件报错的bug
## 2.0.2(2023-12-05)
-优化 size 属性支持单位
## 2.0.1(2023-12-05)
- 新增 uni-app x 支持定义图标
## 1.3.5(2022-01-24)
- 优化 size 属性可以传入不带单位的字符串数值
## 1.3.4(2022-01-24)
- 优化 size 支持其他单位
## 1.3.3(2022-01-17)
- 修复 nvue 有些图标不显示的bug,兼容老版本图标
## 1.3.2(2021-12-01)
- 优化 示例可复制图标名称
## 1.3.1(2021-11-23)
- 优化 兼容旧组件 type 值
## 1.3.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-icons](https://uniapp.dcloud.io/component/uniui/uni-icons)
## 1.1.7(2021-11-08)
## 1.2.0(2021-07-30)
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
## 1.1.5(2021-05-12)
- 新增 组件示例地址
## 1.1.4(2021-02-05)
- 调整为uni_modules目录规范

91
src/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue

@ -0,0 +1,91 @@
<template>
<text class="uni-icons" :style="styleObj">
<slot>{{unicode}}</slot>
</text>
</template>
<script>
import { fontData, IconsDataItem } from './uniicons_file'
/**
* Icons 图标
* @description 用于展示 icon 图标
* @tutorial https://ext.dcloud.net.cn/plugin?id=28
* @property {Number} size 图标大小
* @property {String} type 图标图案,参考示例
* @property {String} color 图标颜色
* @property {String} customPrefix 自定义图标
* @event {Function} click 点击 Icon 触发事件
*/
export default {
name: "uni-icons",
props: {
type: {
type: String,
default: ''
},
color: {
type: String,
default: '#333333'
},
size: {
type: Object,
default: 16
},
fontFamily: {
type: String,
default: ''
}
},
data() {
return {};
},
computed: {
unicode() : string {
let codes = fontData.find((item : IconsDataItem) : boolean => { return item.font_class == this.type })
if (codes !== null) {
return codes.unicode
}
return ''
},
iconSize() : string {
const size = this.size
if (typeof size == 'string') {
const reg = /^[0-9]*$/g
return reg.test(size as string) ? '' + size + 'px' : '' + size;
// return '' + this.size
}
return this.getFontSize(size as number)
},
styleObj() : UTSJSONObject {
if (this.fontFamily !== '') {
return { color: this.color, fontSize: this.iconSize, fontFamily: this.fontFamily }
}
return { color: this.color, fontSize: this.iconSize }
}
},
created() { },
methods: {
/**
* 字体大小
*/
getFontSize(size : number) : string {
return size + 'px';
},
},
}
</script>
<style scoped>
@font-face {
font-family: UniIconsFontFamily;
src: url('./uniicons.ttf');
}
.uni-icons {
font-family: UniIconsFontFamily;
font-size: 18px;
font-style: normal;
color: #333;
}
</style>

110
src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue

@ -0,0 +1,110 @@
<template>
<!-- #ifdef APP-NVUE -->
<text :style="styleObj" class="uni-icons" @click="_onClick">{{unicode}}</text>
<!-- #endif -->
<!-- #ifndef APP-NVUE -->
<text :style="styleObj" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick">
<slot></slot>
</text>
<!-- #endif -->
</template>
<script>
import { fontData } from './uniicons_file_vue.js';
const getVal = (val) => {
const reg = /^[0-9]*$/g
return (typeof val === 'number' || reg.test(val)) ? val + 'px' : val;
}
// #ifdef APP-NVUE
var domModule = weex.requireModule('dom');
import iconUrl from './uniicons.ttf'
domModule.addRule('fontFace', {
'fontFamily': "uniicons",
'src': "url('" + iconUrl + "')"
});
// #endif
/**
* Icons 图标
* @description 用于展示 icons 图标
* @tutorial https://ext.dcloud.net.cn/plugin?id=28
* @property {Number} size 图标大小
* @property {String} type 图标图案参考示例
* @property {String} color 图标颜色
* @property {String} customPrefix 自定义图标
* @event {Function} click 点击 Icon 触发事件
*/
export default {
name: 'UniIcons',
emits: ['click'],
props: {
type: {
type: String,
default: ''
},
color: {
type: String,
default: '#333333'
},
size: {
type: [Number, String],
default: 16
},
customPrefix: {
type: String,
default: ''
},
fontFamily: {
type: String,
default: ''
}
},
data() {
return {
icons: fontData
}
},
computed: {
unicode() {
let code = this.icons.find(v => v.font_class === this.type)
if (code) {
return code.unicode
}
return ''
},
iconSize() {
return getVal(this.size)
},
styleObj() {
if (this.fontFamily !== '') {
return `color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`
}
return `color: ${this.color}; font-size: ${this.iconSize};`
}
},
methods: {
_onClick() {
this.$emit('click')
}
}
}
</script>
<style lang="scss">
/* #ifndef APP-NVUE */
@import './uniicons.css';
@font-face {
font-family: uniicons;
src: url('./uniicons.ttf');
}
/* #endif */
.uni-icons {
font-family: uniicons;
text-decoration: none;
text-align: center;
}
</style>

664
src/uni_modules/uni-icons/components/uni-icons/uniicons.css

@ -0,0 +1,664 @@
.uniui-cart-filled:before {
content: "\e6d0";
}
.uniui-gift-filled:before {
content: "\e6c4";
}
.uniui-color:before {
content: "\e6cf";
}
.uniui-wallet:before {
content: "\e6b1";
}
.uniui-settings-filled:before {
content: "\e6ce";
}
.uniui-auth-filled:before {
content: "\e6cc";
}
.uniui-shop-filled:before {
content: "\e6cd";
}
.uniui-staff-filled:before {
content: "\e6cb";
}
.uniui-vip-filled:before {
content: "\e6c6";
}
.uniui-plus-filled:before {
content: "\e6c7";
}
.uniui-folder-add-filled:before {
content: "\e6c8";
}
.uniui-color-filled:before {
content: "\e6c9";
}
.uniui-tune-filled:before {
content: "\e6ca";
}
.uniui-calendar-filled:before {
content: "\e6c0";
}
.uniui-notification-filled:before {
content: "\e6c1";
}
.uniui-wallet-filled:before {
content: "\e6c2";
}
.uniui-medal-filled:before {
content: "\e6c3";
}
.uniui-fire-filled:before {
content: "\e6c5";
}
.uniui-refreshempty:before {
content: "\e6bf";
}
.uniui-location-filled:before {
content: "\e6af";
}
.uniui-person-filled:before {
content: "\e69d";
}
.uniui-personadd-filled:before {
content: "\e698";
}
.uniui-arrowthinleft:before {
content: "\e6d2";
}
.uniui-arrowthinup:before {
content: "\e6d3";
}
.uniui-arrowthindown:before {
content: "\e6d4";
}
.uniui-back:before {
content: "\e6b9";
}
.uniui-forward:before {
content: "\e6ba";
}
.uniui-arrow-right:before {
content: "\e6bb";
}
.uniui-arrow-left:before {
content: "\e6bc";
}
.uniui-arrow-up:before {
content: "\e6bd";
}
.uniui-arrow-down:before {
content: "\e6be";
}
.uniui-arrowthinright:before {
content: "\e6d1";
}
.uniui-down:before {
content: "\e6b8";
}
.uniui-bottom:before {
content: "\e6b8";
}
.uniui-arrowright:before {
content: "\e6d5";
}
.uniui-right:before {
content: "\e6b5";
}
.uniui-up:before {
content: "\e6b6";
}
.uniui-top:before {
content: "\e6b6";
}
.uniui-left:before {
content: "\e6b7";
}
.uniui-arrowup:before {
content: "\e6d6";
}
.uniui-eye:before {
content: "\e651";
}
.uniui-eye-filled:before {
content: "\e66a";
}
.uniui-eye-slash:before {
content: "\e6b3";
}
.uniui-eye-slash-filled:before {
content: "\e6b4";
}
.uniui-info-filled:before {
content: "\e649";
}
.uniui-reload:before {
content: "\e6b2";
}
.uniui-micoff-filled:before {
content: "\e6b0";
}
.uniui-map-pin-ellipse:before {
content: "\e6ac";
}
.uniui-map-pin:before {
content: "\e6ad";
}
.uniui-location:before {
content: "\e6ae";
}
.uniui-starhalf:before {
content: "\e683";
}
.uniui-star:before {
content: "\e688";
}
.uniui-star-filled:before {
content: "\e68f";
}
.uniui-calendar:before {
content: "\e6a0";
}
.uniui-fire:before {
content: "\e6a1";
}
.uniui-medal:before {
content: "\e6a2";
}
.uniui-font:before {
content: "\e6a3";
}
.uniui-gift:before {
content: "\e6a4";
}
.uniui-link:before {
content: "\e6a5";
}
.uniui-notification:before {
content: "\e6a6";
}
.uniui-staff:before {
content: "\e6a7";
}
.uniui-vip:before {
content: "\e6a8";
}
.uniui-folder-add:before {
content: "\e6a9";
}
.uniui-tune:before {
content: "\e6aa";
}
.uniui-auth:before {
content: "\e6ab";
}
.uniui-person:before {
content: "\e699";
}
.uniui-email-filled:before {
content: "\e69a";
}
.uniui-phone-filled:before {
content: "\e69b";
}
.uniui-phone:before {
content: "\e69c";
}
.uniui-email:before {
content: "\e69e";
}
.uniui-personadd:before {
content: "\e69f";
}
.uniui-chatboxes-filled:before {
content: "\e692";
}
.uniui-contact:before {
content: "\e693";
}
.uniui-chatbubble-filled:before {
content: "\e694";
}
.uniui-contact-filled:before {
content: "\e695";
}
.uniui-chatboxes:before {
content: "\e696";
}
.uniui-chatbubble:before {
content: "\e697";
}
.uniui-upload-filled:before {
content: "\e68e";
}
.uniui-upload:before {
content: "\e690";
}
.uniui-weixin:before {
content: "\e691";
}
.uniui-compose:before {
content: "\e67f";
}
.uniui-qq:before {
content: "\e680";
}
.uniui-download-filled:before {
content: "\e681";
}
.uniui-pyq:before {
content: "\e682";
}
.uniui-sound:before {
content: "\e684";
}
.uniui-trash-filled:before {
content: "\e685";
}
.uniui-sound-filled:before {
content: "\e686";
}
.uniui-trash:before {
content: "\e687";
}
.uniui-videocam-filled:before {
content: "\e689";
}
.uniui-spinner-cycle:before {
content: "\e68a";
}
.uniui-weibo:before {
content: "\e68b";
}
.uniui-videocam:before {
content: "\e68c";
}
.uniui-download:before {
content: "\e68d";
}
.uniui-help:before {
content: "\e679";
}
.uniui-navigate-filled:before {
content: "\e67a";
}
.uniui-plusempty:before {
content: "\e67b";
}
.uniui-smallcircle:before {
content: "\e67c";
}
.uniui-minus-filled:before {
content: "\e67d";
}
.uniui-micoff:before {
content: "\e67e";
}
.uniui-closeempty:before {
content: "\e66c";
}
.uniui-clear:before {
content: "\e66d";
}
.uniui-navigate:before {
content: "\e66e";
}
.uniui-minus:before {
content: "\e66f";
}
.uniui-image:before {
content: "\e670";
}
.uniui-mic:before {
content: "\e671";
}
.uniui-paperplane:before {
content: "\e672";
}
.uniui-close:before {
content: "\e673";
}
.uniui-help-filled:before {
content: "\e674";
}
.uniui-paperplane-filled:before {
content: "\e675";
}
.uniui-plus:before {
content: "\e676";
}
.uniui-mic-filled:before {
content: "\e677";
}
.uniui-image-filled:before {
content: "\e678";
}
.uniui-locked-filled:before {
content: "\e668";
}
.uniui-info:before {
content: "\e669";
}
.uniui-locked:before {
content: "\e66b";
}
.uniui-camera-filled:before {
content: "\e658";
}
.uniui-chat-filled:before {
content: "\e659";
}
.uniui-camera:before {
content: "\e65a";
}
.uniui-circle:before {
content: "\e65b";
}
.uniui-checkmarkempty:before {
content: "\e65c";
}
.uniui-chat:before {
content: "\e65d";
}
.uniui-circle-filled:before {
content: "\e65e";
}
.uniui-flag:before {
content: "\e65f";
}
.uniui-flag-filled:before {
content: "\e660";
}
.uniui-gear-filled:before {
content: "\e661";
}
.uniui-home:before {
content: "\e662";
}
.uniui-home-filled:before {
content: "\e663";
}
.uniui-gear:before {
content: "\e664";
}
.uniui-smallcircle-filled:before {
content: "\e665";
}
.uniui-map-filled:before {
content: "\e666";
}
.uniui-map:before {
content: "\e667";
}
.uniui-refresh-filled:before {
content: "\e656";
}
.uniui-refresh:before {
content: "\e657";
}
.uniui-cloud-upload:before {
content: "\e645";
}
.uniui-cloud-download-filled:before {
content: "\e646";
}
.uniui-cloud-download:before {
content: "\e647";
}
.uniui-cloud-upload-filled:before {
content: "\e648";
}
.uniui-redo:before {
content: "\e64a";
}
.uniui-images-filled:before {
content: "\e64b";
}
.uniui-undo-filled:before {
content: "\e64c";
}
.uniui-more:before {
content: "\e64d";
}
.uniui-more-filled:before {
content: "\e64e";
}
.uniui-undo:before {
content: "\e64f";
}
.uniui-images:before {
content: "\e650";
}
.uniui-paperclip:before {
content: "\e652";
}
.uniui-settings:before {
content: "\e653";
}
.uniui-search:before {
content: "\e654";
}
.uniui-redo-filled:before {
content: "\e655";
}
.uniui-list:before {
content: "\e644";
}
.uniui-mail-open-filled:before {
content: "\e63a";
}
.uniui-hand-down-filled:before {
content: "\e63c";
}
.uniui-hand-down:before {
content: "\e63d";
}
.uniui-hand-up-filled:before {
content: "\e63e";
}
.uniui-hand-up:before {
content: "\e63f";
}
.uniui-heart-filled:before {
content: "\e641";
}
.uniui-mail-open:before {
content: "\e643";
}
.uniui-heart:before {
content: "\e639";
}
.uniui-loop:before {
content: "\e633";
}
.uniui-pulldown:before {
content: "\e632";
}
.uniui-scan:before {
content: "\e62a";
}
.uniui-bars:before {
content: "\e627";
}
.uniui-checkbox:before {
content: "\e62b";
}
.uniui-checkbox-filled:before {
content: "\e62c";
}
.uniui-shop:before {
content: "\e62f";
}
.uniui-headphones:before {
content: "\e630";
}
.uniui-cart:before {
content: "\e631";
}

BIN
src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf

664
src/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts

@ -0,0 +1,664 @@
export type IconsData = {
id : string
name : string
font_family : string
css_prefix_text : string
description : string
glyphs : Array<IconsDataItem>
}
export type IconsDataItem = {
font_class : string
unicode : string
}
export const fontData = [
{
"font_class": "arrow-down",
"unicode": "\ue6be"
},
{
"font_class": "arrow-left",
"unicode": "\ue6bc"
},
{
"font_class": "arrow-right",
"unicode": "\ue6bb"
},
{
"font_class": "arrow-up",
"unicode": "\ue6bd"
},
{
"font_class": "auth",
"unicode": "\ue6ab"
},
{
"font_class": "auth-filled",
"unicode": "\ue6cc"
},
{
"font_class": "back",
"unicode": "\ue6b9"
},
{
"font_class": "bars",
"unicode": "\ue627"
},
{
"font_class": "calendar",
"unicode": "\ue6a0"
},
{
"font_class": "calendar-filled",
"unicode": "\ue6c0"
},
{
"font_class": "camera",
"unicode": "\ue65a"
},
{
"font_class": "camera-filled",
"unicode": "\ue658"
},
{
"font_class": "cart",
"unicode": "\ue631"
},
{
"font_class": "cart-filled",
"unicode": "\ue6d0"
},
{
"font_class": "chat",
"unicode": "\ue65d"
},
{
"font_class": "chat-filled",
"unicode": "\ue659"
},
{
"font_class": "chatboxes",
"unicode": "\ue696"
},
{
"font_class": "chatboxes-filled",
"unicode": "\ue692"
},
{
"font_class": "chatbubble",
"unicode": "\ue697"
},
{
"font_class": "chatbubble-filled",
"unicode": "\ue694"
},
{
"font_class": "checkbox",
"unicode": "\ue62b"
},
{
"font_class": "checkbox-filled",
"unicode": "\ue62c"
},
{
"font_class": "checkmarkempty",
"unicode": "\ue65c"
},
{
"font_class": "circle",
"unicode": "\ue65b"
},
{
"font_class": "circle-filled",
"unicode": "\ue65e"
},
{
"font_class": "clear",
"unicode": "\ue66d"
},
{
"font_class": "close",
"unicode": "\ue673"
},
{
"font_class": "closeempty",
"unicode": "\ue66c"
},
{
"font_class": "cloud-download",
"unicode": "\ue647"
},
{
"font_class": "cloud-download-filled",
"unicode": "\ue646"
},
{
"font_class": "cloud-upload",
"unicode": "\ue645"
},
{
"font_class": "cloud-upload-filled",
"unicode": "\ue648"
},
{
"font_class": "color",
"unicode": "\ue6cf"
},
{
"font_class": "color-filled",
"unicode": "\ue6c9"
},
{
"font_class": "compose",
"unicode": "\ue67f"
},
{
"font_class": "contact",
"unicode": "\ue693"
},
{
"font_class": "contact-filled",
"unicode": "\ue695"
},
{
"font_class": "down",
"unicode": "\ue6b8"
},
{
"font_class": "bottom",
"unicode": "\ue6b8"
},
{
"font_class": "download",
"unicode": "\ue68d"
},
{
"font_class": "download-filled",
"unicode": "\ue681"
},
{
"font_class": "email",
"unicode": "\ue69e"
},
{
"font_class": "email-filled",
"unicode": "\ue69a"
},
{
"font_class": "eye",
"unicode": "\ue651"
},
{
"font_class": "eye-filled",
"unicode": "\ue66a"
},
{
"font_class": "eye-slash",
"unicode": "\ue6b3"
},
{
"font_class": "eye-slash-filled",
"unicode": "\ue6b4"
},
{
"font_class": "fire",
"unicode": "\ue6a1"
},
{
"font_class": "fire-filled",
"unicode": "\ue6c5"
},
{
"font_class": "flag",
"unicode": "\ue65f"
},
{
"font_class": "flag-filled",
"unicode": "\ue660"
},
{
"font_class": "folder-add",
"unicode": "\ue6a9"
},
{
"font_class": "folder-add-filled",
"unicode": "\ue6c8"
},
{
"font_class": "font",
"unicode": "\ue6a3"
},
{
"font_class": "forward",
"unicode": "\ue6ba"
},
{
"font_class": "gear",
"unicode": "\ue664"
},
{
"font_class": "gear-filled",
"unicode": "\ue661"
},
{
"font_class": "gift",
"unicode": "\ue6a4"
},
{
"font_class": "gift-filled",
"unicode": "\ue6c4"
},
{
"font_class": "hand-down",
"unicode": "\ue63d"
},
{
"font_class": "hand-down-filled",
"unicode": "\ue63c"
},
{
"font_class": "hand-up",
"unicode": "\ue63f"
},
{
"font_class": "hand-up-filled",
"unicode": "\ue63e"
},
{
"font_class": "headphones",
"unicode": "\ue630"
},
{
"font_class": "heart",
"unicode": "\ue639"
},
{
"font_class": "heart-filled",
"unicode": "\ue641"
},
{
"font_class": "help",
"unicode": "\ue679"
},
{
"font_class": "help-filled",
"unicode": "\ue674"
},
{
"font_class": "home",
"unicode": "\ue662"
},
{
"font_class": "home-filled",
"unicode": "\ue663"
},
{
"font_class": "image",
"unicode": "\ue670"
},
{
"font_class": "image-filled",
"unicode": "\ue678"
},
{
"font_class": "images",
"unicode": "\ue650"
},
{
"font_class": "images-filled",
"unicode": "\ue64b"
},
{
"font_class": "info",
"unicode": "\ue669"
},
{
"font_class": "info-filled",
"unicode": "\ue649"
},
{
"font_class": "left",
"unicode": "\ue6b7"
},
{
"font_class": "link",
"unicode": "\ue6a5"
},
{
"font_class": "list",
"unicode": "\ue644"
},
{
"font_class": "location",
"unicode": "\ue6ae"
},
{
"font_class": "location-filled",
"unicode": "\ue6af"
},
{
"font_class": "locked",
"unicode": "\ue66b"
},
{
"font_class": "locked-filled",
"unicode": "\ue668"
},
{
"font_class": "loop",
"unicode": "\ue633"
},
{
"font_class": "mail-open",
"unicode": "\ue643"
},
{
"font_class": "mail-open-filled",
"unicode": "\ue63a"
},
{
"font_class": "map",
"unicode": "\ue667"
},
{
"font_class": "map-filled",
"unicode": "\ue666"
},
{
"font_class": "map-pin",
"unicode": "\ue6ad"
},
{
"font_class": "map-pin-ellipse",
"unicode": "\ue6ac"
},
{
"font_class": "medal",
"unicode": "\ue6a2"
},
{
"font_class": "medal-filled",
"unicode": "\ue6c3"
},
{
"font_class": "mic",
"unicode": "\ue671"
},
{
"font_class": "mic-filled",
"unicode": "\ue677"
},
{
"font_class": "micoff",
"unicode": "\ue67e"
},
{
"font_class": "micoff-filled",
"unicode": "\ue6b0"
},
{
"font_class": "minus",
"unicode": "\ue66f"
},
{
"font_class": "minus-filled",
"unicode": "\ue67d"
},
{
"font_class": "more",
"unicode": "\ue64d"
},
{
"font_class": "more-filled",
"unicode": "\ue64e"
},
{
"font_class": "navigate",
"unicode": "\ue66e"
},
{
"font_class": "navigate-filled",
"unicode": "\ue67a"
},
{
"font_class": "notification",
"unicode": "\ue6a6"
},
{
"font_class": "notification-filled",
"unicode": "\ue6c1"
},
{
"font_class": "paperclip",
"unicode": "\ue652"
},
{
"font_class": "paperplane",
"unicode": "\ue672"
},
{
"font_class": "paperplane-filled",
"unicode": "\ue675"
},
{
"font_class": "person",
"unicode": "\ue699"
},
{
"font_class": "person-filled",
"unicode": "\ue69d"
},
{
"font_class": "personadd",
"unicode": "\ue69f"
},
{
"font_class": "personadd-filled",
"unicode": "\ue698"
},
{
"font_class": "personadd-filled-copy",
"unicode": "\ue6d1"
},
{
"font_class": "phone",
"unicode": "\ue69c"
},
{
"font_class": "phone-filled",
"unicode": "\ue69b"
},
{
"font_class": "plus",
"unicode": "\ue676"
},
{
"font_class": "plus-filled",
"unicode": "\ue6c7"
},
{
"font_class": "plusempty",
"unicode": "\ue67b"
},
{
"font_class": "pulldown",
"unicode": "\ue632"
},
{
"font_class": "pyq",
"unicode": "\ue682"
},
{
"font_class": "qq",
"unicode": "\ue680"
},
{
"font_class": "redo",
"unicode": "\ue64a"
},
{
"font_class": "redo-filled",
"unicode": "\ue655"
},
{
"font_class": "refresh",
"unicode": "\ue657"
},
{
"font_class": "refresh-filled",
"unicode": "\ue656"
},
{
"font_class": "refreshempty",
"unicode": "\ue6bf"
},
{
"font_class": "reload",
"unicode": "\ue6b2"
},
{
"font_class": "right",
"unicode": "\ue6b5"
},
{
"font_class": "scan",
"unicode": "\ue62a"
},
{
"font_class": "search",
"unicode": "\ue654"
},
{
"font_class": "settings",
"unicode": "\ue653"
},
{
"font_class": "settings-filled",
"unicode": "\ue6ce"
},
{
"font_class": "shop",
"unicode": "\ue62f"
},
{
"font_class": "shop-filled",
"unicode": "\ue6cd"
},
{
"font_class": "smallcircle",
"unicode": "\ue67c"
},
{
"font_class": "smallcircle-filled",
"unicode": "\ue665"
},
{
"font_class": "sound",
"unicode": "\ue684"
},
{
"font_class": "sound-filled",
"unicode": "\ue686"
},
{
"font_class": "spinner-cycle",
"unicode": "\ue68a"
},
{
"font_class": "staff",
"unicode": "\ue6a7"
},
{
"font_class": "staff-filled",
"unicode": "\ue6cb"
},
{
"font_class": "star",
"unicode": "\ue688"
},
{
"font_class": "star-filled",
"unicode": "\ue68f"
},
{
"font_class": "starhalf",
"unicode": "\ue683"
},
{
"font_class": "trash",
"unicode": "\ue687"
},
{
"font_class": "trash-filled",
"unicode": "\ue685"
},
{
"font_class": "tune",
"unicode": "\ue6aa"
},
{
"font_class": "tune-filled",
"unicode": "\ue6ca"
},
{
"font_class": "undo",
"unicode": "\ue64f"
},
{
"font_class": "undo-filled",
"unicode": "\ue64c"
},
{
"font_class": "up",
"unicode": "\ue6b6"
},
{
"font_class": "top",
"unicode": "\ue6b6"
},
{
"font_class": "upload",
"unicode": "\ue690"
},
{
"font_class": "upload-filled",
"unicode": "\ue68e"
},
{
"font_class": "videocam",
"unicode": "\ue68c"
},
{
"font_class": "videocam-filled",
"unicode": "\ue689"
},
{
"font_class": "vip",
"unicode": "\ue6a8"
},
{
"font_class": "vip-filled",
"unicode": "\ue6c6"
},
{
"font_class": "wallet",
"unicode": "\ue6b1"
},
{
"font_class": "wallet-filled",
"unicode": "\ue6c2"
},
{
"font_class": "weibo",
"unicode": "\ue68b"
},
{
"font_class": "weixin",
"unicode": "\ue691"
}
] as IconsDataItem[]
// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)

649
src/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js

@ -0,0 +1,649 @@
export const fontData = [
{
"font_class": "arrow-down",
"unicode": "\ue6be"
},
{
"font_class": "arrow-left",
"unicode": "\ue6bc"
},
{
"font_class": "arrow-right",
"unicode": "\ue6bb"
},
{
"font_class": "arrow-up",
"unicode": "\ue6bd"
},
{
"font_class": "auth",
"unicode": "\ue6ab"
},
{
"font_class": "auth-filled",
"unicode": "\ue6cc"
},
{
"font_class": "back",
"unicode": "\ue6b9"
},
{
"font_class": "bars",
"unicode": "\ue627"
},
{
"font_class": "calendar",
"unicode": "\ue6a0"
},
{
"font_class": "calendar-filled",
"unicode": "\ue6c0"
},
{
"font_class": "camera",
"unicode": "\ue65a"
},
{
"font_class": "camera-filled",
"unicode": "\ue658"
},
{
"font_class": "cart",
"unicode": "\ue631"
},
{
"font_class": "cart-filled",
"unicode": "\ue6d0"
},
{
"font_class": "chat",
"unicode": "\ue65d"
},
{
"font_class": "chat-filled",
"unicode": "\ue659"
},
{
"font_class": "chatboxes",
"unicode": "\ue696"
},
{
"font_class": "chatboxes-filled",
"unicode": "\ue692"
},
{
"font_class": "chatbubble",
"unicode": "\ue697"
},
{
"font_class": "chatbubble-filled",
"unicode": "\ue694"
},
{
"font_class": "checkbox",
"unicode": "\ue62b"
},
{
"font_class": "checkbox-filled",
"unicode": "\ue62c"
},
{
"font_class": "checkmarkempty",
"unicode": "\ue65c"
},
{
"font_class": "circle",
"unicode": "\ue65b"
},
{
"font_class": "circle-filled",
"unicode": "\ue65e"
},
{
"font_class": "clear",
"unicode": "\ue66d"
},
{
"font_class": "close",
"unicode": "\ue673"
},
{
"font_class": "closeempty",
"unicode": "\ue66c"
},
{
"font_class": "cloud-download",
"unicode": "\ue647"
},
{
"font_class": "cloud-download-filled",
"unicode": "\ue646"
},
{
"font_class": "cloud-upload",
"unicode": "\ue645"
},
{
"font_class": "cloud-upload-filled",
"unicode": "\ue648"
},
{
"font_class": "color",
"unicode": "\ue6cf"
},
{
"font_class": "color-filled",
"unicode": "\ue6c9"
},
{
"font_class": "compose",
"unicode": "\ue67f"
},
{
"font_class": "contact",
"unicode": "\ue693"
},
{
"font_class": "contact-filled",
"unicode": "\ue695"
},
{
"font_class": "down",
"unicode": "\ue6b8"
},
{
"font_class": "bottom",
"unicode": "\ue6b8"
},
{
"font_class": "download",
"unicode": "\ue68d"
},
{
"font_class": "download-filled",
"unicode": "\ue681"
},
{
"font_class": "email",
"unicode": "\ue69e"
},
{
"font_class": "email-filled",
"unicode": "\ue69a"
},
{
"font_class": "eye",
"unicode": "\ue651"
},
{
"font_class": "eye-filled",
"unicode": "\ue66a"
},
{
"font_class": "eye-slash",
"unicode": "\ue6b3"
},
{
"font_class": "eye-slash-filled",
"unicode": "\ue6b4"
},
{
"font_class": "fire",
"unicode": "\ue6a1"
},
{
"font_class": "fire-filled",
"unicode": "\ue6c5"
},
{
"font_class": "flag",
"unicode": "\ue65f"
},
{
"font_class": "flag-filled",
"unicode": "\ue660"
},
{
"font_class": "folder-add",
"unicode": "\ue6a9"
},
{
"font_class": "folder-add-filled",
"unicode": "\ue6c8"
},
{
"font_class": "font",
"unicode": "\ue6a3"
},
{
"font_class": "forward",
"unicode": "\ue6ba"
},
{
"font_class": "gear",
"unicode": "\ue664"
},
{
"font_class": "gear-filled",
"unicode": "\ue661"
},
{
"font_class": "gift",
"unicode": "\ue6a4"
},
{
"font_class": "gift-filled",
"unicode": "\ue6c4"
},
{
"font_class": "hand-down",
"unicode": "\ue63d"
},
{
"font_class": "hand-down-filled",
"unicode": "\ue63c"
},
{
"font_class": "hand-up",
"unicode": "\ue63f"
},
{
"font_class": "hand-up-filled",
"unicode": "\ue63e"
},
{
"font_class": "headphones",
"unicode": "\ue630"
},
{
"font_class": "heart",
"unicode": "\ue639"
},
{
"font_class": "heart-filled",
"unicode": "\ue641"
},
{
"font_class": "help",
"unicode": "\ue679"
},
{
"font_class": "help-filled",
"unicode": "\ue674"
},
{
"font_class": "home",
"unicode": "\ue662"
},
{
"font_class": "home-filled",
"unicode": "\ue663"
},
{
"font_class": "image",
"unicode": "\ue670"
},
{
"font_class": "image-filled",
"unicode": "\ue678"
},
{
"font_class": "images",
"unicode": "\ue650"
},
{
"font_class": "images-filled",
"unicode": "\ue64b"
},
{
"font_class": "info",
"unicode": "\ue669"
},
{
"font_class": "info-filled",
"unicode": "\ue649"
},
{
"font_class": "left",
"unicode": "\ue6b7"
},
{
"font_class": "link",
"unicode": "\ue6a5"
},
{
"font_class": "list",
"unicode": "\ue644"
},
{
"font_class": "location",
"unicode": "\ue6ae"
},
{
"font_class": "location-filled",
"unicode": "\ue6af"
},
{
"font_class": "locked",
"unicode": "\ue66b"
},
{
"font_class": "locked-filled",
"unicode": "\ue668"
},
{
"font_class": "loop",
"unicode": "\ue633"
},
{
"font_class": "mail-open",
"unicode": "\ue643"
},
{
"font_class": "mail-open-filled",
"unicode": "\ue63a"
},
{
"font_class": "map",
"unicode": "\ue667"
},
{
"font_class": "map-filled",
"unicode": "\ue666"
},
{
"font_class": "map-pin",
"unicode": "\ue6ad"
},
{
"font_class": "map-pin-ellipse",
"unicode": "\ue6ac"
},
{
"font_class": "medal",
"unicode": "\ue6a2"
},
{
"font_class": "medal-filled",
"unicode": "\ue6c3"
},
{
"font_class": "mic",
"unicode": "\ue671"
},
{
"font_class": "mic-filled",
"unicode": "\ue677"
},
{
"font_class": "micoff",
"unicode": "\ue67e"
},
{
"font_class": "micoff-filled",
"unicode": "\ue6b0"
},
{
"font_class": "minus",
"unicode": "\ue66f"
},
{
"font_class": "minus-filled",
"unicode": "\ue67d"
},
{
"font_class": "more",
"unicode": "\ue64d"
},
{
"font_class": "more-filled",
"unicode": "\ue64e"
},
{
"font_class": "navigate",
"unicode": "\ue66e"
},
{
"font_class": "navigate-filled",
"unicode": "\ue67a"
},
{
"font_class": "notification",
"unicode": "\ue6a6"
},
{
"font_class": "notification-filled",
"unicode": "\ue6c1"
},
{
"font_class": "paperclip",
"unicode": "\ue652"
},
{
"font_class": "paperplane",
"unicode": "\ue672"
},
{
"font_class": "paperplane-filled",
"unicode": "\ue675"
},
{
"font_class": "person",
"unicode": "\ue699"
},
{
"font_class": "person-filled",
"unicode": "\ue69d"
},
{
"font_class": "personadd",
"unicode": "\ue69f"
},
{
"font_class": "personadd-filled",
"unicode": "\ue698"
},
{
"font_class": "personadd-filled-copy",
"unicode": "\ue6d1"
},
{
"font_class": "phone",
"unicode": "\ue69c"
},
{
"font_class": "phone-filled",
"unicode": "\ue69b"
},
{
"font_class": "plus",
"unicode": "\ue676"
},
{
"font_class": "plus-filled",
"unicode": "\ue6c7"
},
{
"font_class": "plusempty",
"unicode": "\ue67b"
},
{
"font_class": "pulldown",
"unicode": "\ue632"
},
{
"font_class": "pyq",
"unicode": "\ue682"
},
{
"font_class": "qq",
"unicode": "\ue680"
},
{
"font_class": "redo",
"unicode": "\ue64a"
},
{
"font_class": "redo-filled",
"unicode": "\ue655"
},
{
"font_class": "refresh",
"unicode": "\ue657"
},
{
"font_class": "refresh-filled",
"unicode": "\ue656"
},
{
"font_class": "refreshempty",
"unicode": "\ue6bf"
},
{
"font_class": "reload",
"unicode": "\ue6b2"
},
{
"font_class": "right",
"unicode": "\ue6b5"
},
{
"font_class": "scan",
"unicode": "\ue62a"
},
{
"font_class": "search",
"unicode": "\ue654"
},
{
"font_class": "settings",
"unicode": "\ue653"
},
{
"font_class": "settings-filled",
"unicode": "\ue6ce"
},
{
"font_class": "shop",
"unicode": "\ue62f"
},
{
"font_class": "shop-filled",
"unicode": "\ue6cd"
},
{
"font_class": "smallcircle",
"unicode": "\ue67c"
},
{
"font_class": "smallcircle-filled",
"unicode": "\ue665"
},
{
"font_class": "sound",
"unicode": "\ue684"
},
{
"font_class": "sound-filled",
"unicode": "\ue686"
},
{
"font_class": "spinner-cycle",
"unicode": "\ue68a"
},
{
"font_class": "staff",
"unicode": "\ue6a7"
},
{
"font_class": "staff-filled",
"unicode": "\ue6cb"
},
{
"font_class": "star",
"unicode": "\ue688"
},
{
"font_class": "star-filled",
"unicode": "\ue68f"
},
{
"font_class": "starhalf",
"unicode": "\ue683"
},
{
"font_class": "trash",
"unicode": "\ue687"
},
{
"font_class": "trash-filled",
"unicode": "\ue685"
},
{
"font_class": "tune",
"unicode": "\ue6aa"
},
{
"font_class": "tune-filled",
"unicode": "\ue6ca"
},
{
"font_class": "undo",
"unicode": "\ue64f"
},
{
"font_class": "undo-filled",
"unicode": "\ue64c"
},
{
"font_class": "up",
"unicode": "\ue6b6"
},
{
"font_class": "top",
"unicode": "\ue6b6"
},
{
"font_class": "upload",
"unicode": "\ue690"
},
{
"font_class": "upload-filled",
"unicode": "\ue68e"
},
{
"font_class": "videocam",
"unicode": "\ue68c"
},
{
"font_class": "videocam-filled",
"unicode": "\ue689"
},
{
"font_class": "vip",
"unicode": "\ue6a8"
},
{
"font_class": "vip-filled",
"unicode": "\ue6c6"
},
{
"font_class": "wallet",
"unicode": "\ue6b1"
},
{
"font_class": "wallet-filled",
"unicode": "\ue6c2"
},
{
"font_class": "weibo",
"unicode": "\ue68b"
},
{
"font_class": "weixin",
"unicode": "\ue691"
}
]
// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)

88
src/uni_modules/uni-icons/package.json

@ -0,0 +1,88 @@
{
"id": "uni-icons",
"displayName": "uni-icons 图标",
"version": "2.0.9",
"description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。",
"keywords": [
"uni-ui",
"uniui",
"icon",
"图标"
],
"repository": "https://github.com/dcloudio/uni-ui",
"engines": {
"HBuilderX": "^3.2.14"
},
"directories": {
"example": "../../temps/example_temps"
},
"dcloudext": {
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": ""
},
"declaration": {
"ads": "无",
"data": "无",
"permissions": "无"
},
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
"type": "component-vue"
},
"uni_modules": {
"dependencies": ["uni-scss"],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "y"
},
"client": {
"App": {
"app-vue": "y",
"app-nvue": "y",
"app-uvue": "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",
"飞书": "y",
"京东": "y"
},
"快应用": {
"华为": "y",
"联盟": "y"
},
"Vue": {
"vue2": "y",
"vue3": "y"
}
}
}
}
}

8
src/uni_modules/uni-icons/readme.md

@ -0,0 +1,8 @@
## Icons 图标
> **组件名:uni-icons**
> 代码块: `uIcons`
用于展示 icons 图标 。
### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons)
#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839

8
src/uni_modules/uni-scss/changelog.md

@ -0,0 +1,8 @@
## 1.0.3(2022-01-21)
- 优化 组件示例
## 1.0.2(2021-11-22)
- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题
## 1.0.1(2021-11-22)
- 修复 vue3中scss语法兼容问题
## 1.0.0(2021-11-18)
- init

1
src/uni_modules/uni-scss/index.scss

@ -0,0 +1 @@
@import './styles/index.scss';

82
src/uni_modules/uni-scss/package.json

@ -0,0 +1,82 @@
{
"id": "uni-scss",
"displayName": "uni-scss 辅助样式",
"version": "1.0.3",
"description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。",
"keywords": [
"uni-scss",
"uni-ui",
"辅助样式"
],
"repository": "https://github.com/dcloudio/uni-ui",
"engines": {
"HBuilderX": "^3.1.0"
},
"dcloudext": {
"category": [
"JS SDK",
"通用 SDK"
],
"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": "u"
},
"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"
},
"快应用": {
"华为": "n",
"联盟": "n"
},
"Vue": {
"vue2": "y",
"vue3": "y"
}
}
}
}
}

4
src/uni_modules/uni-scss/readme.md

@ -0,0 +1,4 @@
`uni-sass``uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。
### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass)
#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839

7
src/uni_modules/uni-scss/styles/index.scss

@ -0,0 +1,7 @@
@import './setting/_variables.scss';
@import './setting/_border.scss';
@import './setting/_color.scss';
@import './setting/_space.scss';
@import './setting/_radius.scss';
@import './setting/_text.scss';
@import './setting/_styles.scss';

3
src/uni_modules/uni-scss/styles/setting/_border.scss

@ -0,0 +1,3 @@
.uni-border {
border: 1px $uni-border-1 solid;
}

66
src/uni_modules/uni-scss/styles/setting/_color.scss

@ -0,0 +1,66 @@
// TODO 暂时不需要 class 需要用户使用变量实现 如果使用类名其实并不推荐
// @mixin get-styles($k,$c) {
// @if $k == size or $k == weight{
// font-#{$k}:#{$c}
// }@else{
// #{$k}:#{$c}
// }
// }
$uni-ui-color:(
// 主色
primary: $uni-primary,
primary-disable: $uni-primary-disable,
primary-light: $uni-primary-light,
// 辅助色
success: $uni-success,
success-disable: $uni-success-disable,
success-light: $uni-success-light,
warning: $uni-warning,
warning-disable: $uni-warning-disable,
warning-light: $uni-warning-light,
error: $uni-error,
error-disable: $uni-error-disable,
error-light: $uni-error-light,
info: $uni-info,
info-disable: $uni-info-disable,
info-light: $uni-info-light,
// 中性色
main-color: $uni-main-color,
base-color: $uni-base-color,
secondary-color: $uni-secondary-color,
extra-color: $uni-extra-color,
// 背景色
bg-color: $uni-bg-color,
// 边框颜色
border-1: $uni-border-1,
border-2: $uni-border-2,
border-3: $uni-border-3,
border-4: $uni-border-4,
// 黑色
black:$uni-black,
// 白色
white:$uni-white,
// 透明
transparent:$uni-transparent
) !default;
@each $key, $child in $uni-ui-color {
.uni-#{"" + $key} {
color: $child;
}
.uni-#{"" + $key}-bg {
background-color: $child;
}
}
.uni-shadow-sm {
box-shadow: $uni-shadow-sm;
}
.uni-shadow-base {
box-shadow: $uni-shadow-base;
}
.uni-shadow-lg {
box-shadow: $uni-shadow-lg;
}
.uni-mask {
background-color:$uni-mask;
}

55
src/uni_modules/uni-scss/styles/setting/_radius.scss

@ -0,0 +1,55 @@
@mixin radius($r,$d:null ,$important: false){
$radius-value:map-get($uni-radius, $r) if($important, !important, null);
// Key exists within the $uni-radius variable
@if (map-has-key($uni-radius, $r) and $d){
@if $d == t {
border-top-left-radius:$radius-value;
border-top-right-radius:$radius-value;
}@else if $d == r {
border-top-right-radius:$radius-value;
border-bottom-right-radius:$radius-value;
}@else if $d == b {
border-bottom-left-radius:$radius-value;
border-bottom-right-radius:$radius-value;
}@else if $d == l {
border-top-left-radius:$radius-value;
border-bottom-left-radius:$radius-value;
}@else if $d == tl {
border-top-left-radius:$radius-value;
}@else if $d == tr {
border-top-right-radius:$radius-value;
}@else if $d == br {
border-bottom-right-radius:$radius-value;
}@else if $d == bl {
border-bottom-left-radius:$radius-value;
}
}@else{
border-radius:$radius-value;
}
}
@each $key, $child in $uni-radius {
@if($key){
.uni-radius-#{"" + $key} {
@include radius($key)
}
}@else{
.uni-radius {
@include radius($key)
}
}
}
@each $direction in t, r, b, l,tl, tr, br, bl {
@each $key, $child in $uni-radius {
@if($key){
.uni-radius-#{"" + $direction}-#{"" + $key} {
@include radius($key,$direction,false)
}
}@else{
.uni-radius-#{$direction} {
@include radius($key,$direction,false)
}
}
}
}

56
src/uni_modules/uni-scss/styles/setting/_space.scss

@ -0,0 +1,56 @@
@mixin fn($space,$direction,$size,$n) {
@if $n {
#{$space}-#{$direction}: #{$size*$uni-space-root}px
} @else {
#{$space}-#{$direction}: #{-$size*$uni-space-root}px
}
}
@mixin get-styles($direction,$i,$space,$n){
@if $direction == t {
@include fn($space, top,$i,$n);
}
@if $direction == r {
@include fn($space, right,$i,$n);
}
@if $direction == b {
@include fn($space, bottom,$i,$n);
}
@if $direction == l {
@include fn($space, left,$i,$n);
}
@if $direction == x {
@include fn($space, left,$i,$n);
@include fn($space, right,$i,$n);
}
@if $direction == y {
@include fn($space, top,$i,$n);
@include fn($space, bottom,$i,$n);
}
@if $direction == a {
@if $n {
#{$space}:#{$i*$uni-space-root}px;
} @else {
#{$space}:#{-$i*$uni-space-root}px;
}
}
}
@each $orientation in m,p {
$space: margin;
@if $orientation == m {
$space: margin;
} @else {
$space: padding;
}
@for $i from 0 through 16 {
@each $direction in t, r, b, l, x, y, a {
.uni-#{$orientation}#{$direction}-#{$i} {
@include get-styles($direction,$i,$space,true);
}
.uni-#{$orientation}#{$direction}-n#{$i} {
@include get-styles($direction,$i,$space,false);
}
}
}
}

167
src/uni_modules/uni-scss/styles/setting/_styles.scss

@ -0,0 +1,167 @@
/* #ifndef APP-NVUE */
$-color-white:#fff;
$-color-black:#000;
@mixin base-style($color) {
color: #fff;
background-color: $color;
border-color: mix($-color-black, $color, 8%);
&:not([hover-class]):active {
background: mix($-color-black, $color, 10%);
border-color: mix($-color-black, $color, 20%);
color: $-color-white;
outline: none;
}
}
@mixin is-color($color) {
@include base-style($color);
&[loading] {
@include base-style($color);
&::before {
margin-right:5px;
}
}
&[disabled] {
&,
&[loading],
&:not([hover-class]):active {
color: $-color-white;
border-color: mix(darken($color,10%), $-color-white);
background-color: mix($color, $-color-white);
}
}
}
@mixin base-plain-style($color) {
color:$color;
background-color: mix($-color-white, $color, 90%);
border-color: mix($-color-white, $color, 70%);
&:not([hover-class]):active {
background: mix($-color-white, $color, 80%);
color: $color;
outline: none;
border-color: mix($-color-white, $color, 50%);
}
}
@mixin is-plain($color){
&[plain] {
@include base-plain-style($color);
&[loading] {
@include base-plain-style($color);
&::before {
margin-right:5px;
}
}
&[disabled] {
&,
&:active {
color: mix($-color-white, $color, 40%);
background-color: mix($-color-white, $color, 90%);
border-color: mix($-color-white, $color, 80%);
}
}
}
}
.uni-btn {
margin: 5px;
color: #393939;
border:1px solid #ccc;
font-size: 16px;
font-weight: 200;
background-color: #F9F9F9;
// TODO 暂时处理边框隐藏一边的问题
overflow: visible;
&::after{
border: none;
}
&:not([type]),&[type=default] {
color: #999;
&[loading] {
background: none;
&::before {
margin-right:5px;
}
}
&[disabled]{
color: mix($-color-white, #999, 60%);
&,
&[loading],
&:active {
color: mix($-color-white, #999, 60%);
background-color: mix($-color-white,$-color-black , 98%);
border-color: mix($-color-white, #999, 85%);
}
}
&[plain] {
color: #999;
background: none;
border-color: $uni-border-1;
&:not([hover-class]):active {
background: none;
color: mix($-color-white, $-color-black, 80%);
border-color: mix($-color-white, $-color-black, 90%);
outline: none;
}
&[disabled]{
&,
&[loading],
&:active {
background: none;
color: mix($-color-white, #999, 60%);
border-color: mix($-color-white, #999, 85%);
}
}
}
}
&:not([hover-class]):active {
color: mix($-color-white, $-color-black, 50%);
}
&[size=mini] {
font-size: 16px;
font-weight: 200;
border-radius: 8px;
}
&.uni-btn-small {
font-size: 14px;
}
&.uni-btn-mini {
font-size: 12px;
}
&.uni-btn-radius {
border-radius: 999px;
}
&[type=primary] {
@include is-color($uni-primary);
@include is-plain($uni-primary)
}
&[type=success] {
@include is-color($uni-success);
@include is-plain($uni-success)
}
&[type=error] {
@include is-color($uni-error);
@include is-plain($uni-error)
}
&[type=warning] {
@include is-color($uni-warning);
@include is-plain($uni-warning)
}
&[type=info] {
@include is-color($uni-info);
@include is-plain($uni-info)
}
}
/* #endif */

24
src/uni_modules/uni-scss/styles/setting/_text.scss

@ -0,0 +1,24 @@
@mixin get-styles($k,$c) {
@if $k == size or $k == weight{
font-#{$k}:#{$c}
}@else{
#{$k}:#{$c}
}
}
@each $key, $child in $uni-headings {
/* #ifndef APP-NVUE */
.uni-#{$key} {
@each $k, $c in $child {
@include get-styles($k,$c)
}
}
/* #endif */
/* #ifdef APP-NVUE */
.container .uni-#{$key} {
@each $k, $c in $child {
@include get-styles($k,$c)
}
}
/* #endif */
}

146
src/uni_modules/uni-scss/styles/setting/_variables.scss

@ -0,0 +1,146 @@
// @use "sass:math";
@import '../tools/functions.scss';
// 间距基础倍数
$uni-space-root: 2 !default;
// 边框半径默认值
$uni-radius-root:5px !default;
$uni-radius: () !default;
// 边框半径断点
$uni-radius: map-deep-merge(
(
0: 0,
// TODO 当前版本暂时不支持 sm 属性
// 'sm': math.div($uni-radius-root, 2),
null: $uni-radius-root,
'lg': $uni-radius-root * 2,
'xl': $uni-radius-root * 6,
'pill': 9999px,
'circle': 50%
),
$uni-radius
);
// 字体家族
$body-font-family: 'Roboto', sans-serif !default;
// 文本
$heading-font-family: $body-font-family !default;
$uni-headings: () !default;
$letterSpacing: -0.01562em;
$uni-headings: map-deep-merge(
(
'h1': (
size: 32px,
weight: 300,
line-height: 50px,
// letter-spacing:-0.01562em
),
'h2': (
size: 28px,
weight: 300,
line-height: 40px,
// letter-spacing: -0.00833em
),
'h3': (
size: 24px,
weight: 400,
line-height: 32px,
// letter-spacing: normal
),
'h4': (
size: 20px,
weight: 400,
line-height: 30px,
// letter-spacing: 0.00735em
),
'h5': (
size: 16px,
weight: 400,
line-height: 24px,
// letter-spacing: normal
),
'h6': (
size: 14px,
weight: 500,
line-height: 18px,
// letter-spacing: 0.0125em
),
'subtitle': (
size: 12px,
weight: 400,
line-height: 20px,
// letter-spacing: 0.00937em
),
'body': (
font-size: 14px,
font-weight: 400,
line-height: 22px,
// letter-spacing: 0.03125em
),
'caption': (
'size': 12px,
'weight': 400,
'line-height': 20px,
// 'letter-spacing': 0.03333em,
// 'text-transform': false
)
),
$uni-headings
);
// 主色
$uni-primary: #2979ff !default;
$uni-primary-disable:lighten($uni-primary,20%) !default;
$uni-primary-light: lighten($uni-primary,25%) !default;
// 辅助色
// 除了主色外的场景色需要在不同的场景中使用例如危险色表示危险的操作
$uni-success: #18bc37 !default;
$uni-success-disable:lighten($uni-success,20%) !default;
$uni-success-light: lighten($uni-success,25%) !default;
$uni-warning: #f3a73f !default;
$uni-warning-disable:lighten($uni-warning,20%) !default;
$uni-warning-light: lighten($uni-warning,25%) !default;
$uni-error: #e43d33 !default;
$uni-error-disable:lighten($uni-error,20%) !default;
$uni-error-light: lighten($uni-error,25%) !default;
$uni-info: #8f939c !default;
$uni-info-disable:lighten($uni-info,20%) !default;
$uni-info-light: lighten($uni-info,25%) !default;
// 中性色
// 中性色用于文本背景和边框颜色通过运用不同的中性色来表现层次结构
$uni-main-color: #3a3a3a !default; // 主要文字
$uni-base-color: #6a6a6a !default; // 常规文字
$uni-secondary-color: #909399 !default; // 次要文字
$uni-extra-color: #c7c7c7 !default; // 辅助说明
// 边框颜色
$uni-border-1: #F0F0F0 !default;
$uni-border-2: #EDEDED !default;
$uni-border-3: #DCDCDC !default;
$uni-border-4: #B9B9B9 !default;
// 常规色
$uni-black: #000000 !default;
$uni-white: #ffffff !default;
$uni-transparent: rgba($color: #000000, $alpha: 0) !default;
// 背景色
$uni-bg-color: #f7f7f7 !default;
/* 水平间距 */
$uni-spacing-sm: 8px !default;
$uni-spacing-base: 15px !default;
$uni-spacing-lg: 30px !default;
// 阴影
$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default;
$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default;
$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default;
// 蒙版
$uni-mask: rgba($color: #000000, $alpha: 0.4) !default;

19
src/uni_modules/uni-scss/styles/tools/functions.scss

@ -0,0 +1,19 @@
// 合并 map
@function map-deep-merge($parent-map, $child-map){
$result: $parent-map;
@each $key, $child in $child-map {
$parent-has-key: map-has-key($result, $key);
$parent-value: map-get($result, $key);
$parent-type: type-of($parent-value);
$child-type: type-of($child);
$parent-is-map: $parent-type == map;
$child-is-map: $child-type == map;
@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){
$result: map-merge($result, ( $key: $child ));
}@else {
$result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) ));
}
}
@return $result;
};

31
src/uni_modules/uni-scss/theme.scss

@ -0,0 +1,31 @@
// 间距基础倍数
$uni-space-root: 2;
// 边框半径默认值
$uni-radius-root:5px;
// 主色
$uni-primary: #2979ff;
// 辅助色
$uni-success: #4cd964;
// 警告色
$uni-warning: #f0ad4e;
// 错误色
$uni-error: #dd524d;
// 描述色
$uni-info: #909399;
// 中性色
$uni-main-color: #303133;
$uni-base-color: #606266;
$uni-secondary-color: #909399;
$uni-extra-color: #C0C4CC;
// 背景色
$uni-bg-color: #f5f5f5;
// 边框颜色
$uni-border-1: #DCDFE6;
$uni-border-2: #E4E7ED;
$uni-border-3: #EBEEF5;
$uni-border-4: #F2F6FC;
// 常规色
$uni-black: #000000;
$uni-white: #ffffff;
$uni-transparent: rgba($color: #000000, $alpha: 0);

62
src/uni_modules/uni-scss/variables.scss

@ -0,0 +1,62 @@
@import './styles/setting/_variables.scss';
// 间距基础倍数
$uni-space-root: 2;
// 边框半径默认值
$uni-radius-root:5px;
// 主色
$uni-primary: #2979ff;
$uni-primary-disable:mix(#fff,$uni-primary,50%);
$uni-primary-light: mix(#fff,$uni-primary,80%);
// 辅助色
// 除了主色外的场景色需要在不同的场景中使用例如危险色表示危险的操作
$uni-success: #18bc37;
$uni-success-disable:mix(#fff,$uni-success,50%);
$uni-success-light: mix(#fff,$uni-success,80%);
$uni-warning: #f3a73f;
$uni-warning-disable:mix(#fff,$uni-warning,50%);
$uni-warning-light: mix(#fff,$uni-warning,80%);
$uni-error: #e43d33;
$uni-error-disable:mix(#fff,$uni-error,50%);
$uni-error-light: mix(#fff,$uni-error,80%);
$uni-info: #8f939c;
$uni-info-disable:mix(#fff,$uni-info,50%);
$uni-info-light: mix(#fff,$uni-info,80%);
// 中性色
// 中性色用于文本背景和边框颜色通过运用不同的中性色来表现层次结构
$uni-main-color: #3a3a3a; // 主要文字
$uni-base-color: #6a6a6a; // 常规文字
$uni-secondary-color: #909399; // 次要文字
$uni-extra-color: #c7c7c7; // 辅助说明
// 边框颜色
$uni-border-1: #F0F0F0;
$uni-border-2: #EDEDED;
$uni-border-3: #DCDCDC;
$uni-border-4: #B9B9B9;
// 常规色
$uni-black: #000000;
$uni-white: #ffffff;
$uni-transparent: rgba($color: #000000, $alpha: 0);
// 背景色
$uni-bg-color: #f7f7f7;
/* 水平间距 */
$uni-spacing-sm: 8px;
$uni-spacing-base: 15px;
$uni-spacing-lg: 30px;
// 阴影
$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5);
$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2);
$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5);
// 蒙版
$uni-mask: rgba($color: #000000, $alpha: 0.4);

16
src/uni_modules/uni-steps/changelog.md

@ -0,0 +1,16 @@
## 1.1.1(2021-11-22)
- 修复 vue3中某些scss变量无法找到的问题
## 1.1.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-steps](https://uniapp.dcloud.io/component/uniui/uni-steps)
## 1.0.8(2021-05-12)
- 新增 项目示例地址
## 1.0.7(2021-05-06)
- 修复 uni-steps 横向布局时,多行文字高度不合理的 bug
## 1.0.6(2021-04-21)
- 优化 添加依赖 uni-icons, 导入后自动下载依赖
## 1.0.5(2021-02-05)
- 优化 组件引用关系,通过uni_modules引用组件
## 1.0.4(2021-02-05)
- 调整为uni_modules目录规范

269
src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue

@ -0,0 +1,269 @@
<template>
<view class="uni-steps">
<view :class="[direction==='column'?'uni-steps__column':'uni-steps__row']">
<view :class="[direction==='column'?'uni-steps__column-text-container':'uni-steps__row-text-container']">
<view v-for="(item,index) in options" :key="index"
:class="[direction==='column'?'uni-steps__column-text':'uni-steps__row-text']">
<text :style="{color:index === active?activeColor:deactiveColor}"
:class="[direction==='column'?'uni-steps__column-title':'uni-steps__row-title']">{{item.title}}</text>
<text :style="{color: deactiveColor}"
:class="[direction==='column'?'uni-steps__column-desc':'uni-steps__row-desc']">{{item.desc}}</text>
</view>
</view>
<view :class="[direction==='column'?'uni-steps__column-container':'uni-steps__row-container']">
<view :class="[direction==='column'?'uni-steps__column-line-item':'uni-steps__row-line-item']"
v-for="(item,index) in options" :key="index">
<view
:class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--before':'uni-steps__row-line--before']"
:style="{backgroundColor:index<=active&&index!==0?activeColor:index===0?'transparent':deactiveColor}">
</view>
<view :class="[direction==='column'?'uni-steps__column-check':'uni-steps__row-check']"
v-if="index === active">
<uni-icons :color="activeColor" :type="activeIcon" size="14"></uni-icons>
</view>
<view v-else :class="[direction==='column'?'uni-steps__column-circle':'uni-steps__row-circle']"
:style="{backgroundColor:index<active?activeColor:deactiveColor}"></view>
<view
:class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--after':'uni-steps__row-line--after']"
:style="{backgroundColor:index<active&&index!==options.length-1?activeColor:index===options.length-1?'transparent':deactiveColor}">
</view>
</view>
</view>
</view>
</view>
</template>
<script>
/**
* Steps 步骤条
* @description 评分组件
* @tutorial https://ext.dcloud.net.cn/plugin?id=34
* @property {Number} active 当前步骤
* @property {String} direction = [row|column] 当前步骤
* @value row 横向
* @value column 纵向
* @property {String} activeColor 选中状态的颜色
* @property {Array} options 数据源格式为[{title:'xxx',desc:'xxx'},{title:'xxx',desc:'xxx'}]
*/
export default {
name: 'UniSteps',
props: {
direction: {
// row column
type: String,
default: 'row'
},
activeColor: {
//
type: String,
default: '#2979FF'
},
deactiveColor: {
//
type: String,
default: '#B7BDC6'
},
active: {
//
type: Number,
default: 0
},
activeIcon: {
//
type: String,
default: 'checkbox-filled'
},
options: {
type: Array,
default () {
return []
}
} //
},
data() {
return {}
}
}
</script>
<style lang="scss">
$uni-primary: #2979ff !default;
$uni-border-color:#EDEDED;
.uni-steps {
/* #ifndef APP-NVUE */
display: flex;
width: 100%;
/* #endif */
/* #ifdef APP-NVUE */
flex: 1;
/* #endif */
flex-direction: column;
}
.uni-steps__row {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
}
.uni-steps__column {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: row-reverse;
}
.uni-steps__row-text-container {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: row;
align-items: flex-end;
margin-bottom: 8px;
}
.uni-steps__column-text-container {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
flex: 1;
}
.uni-steps__row-text {
/* #ifndef APP-NVUE */
display: inline-flex;
/* #endif */
flex: 1;
flex-direction: column;
}
.uni-steps__column-text {
padding: 6px 0px;
border-bottom-style: solid;
border-bottom-width: 1px;
border-bottom-color: $uni-border-color;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
}
.uni-steps__row-title {
font-size: 14px;
line-height: 16px;
text-align: center;
}
.uni-steps__column-title {
font-size: 14px;
text-align: left;
line-height: 18px;
}
.uni-steps__row-desc {
font-size: 12px;
line-height: 14px;
text-align: center;
}
.uni-steps__column-desc {
font-size: 12px;
text-align: left;
line-height: 18px;
}
.uni-steps__row-container {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: row;
}
.uni-steps__column-container {
/* #ifndef APP-NVUE */
display: inline-flex;
/* #endif */
width: 30px;
flex-direction: column;
}
.uni-steps__row-line-item {
/* #ifndef APP-NVUE */
display: inline-flex;
/* #endif */
flex-direction: row;
flex: 1;
height: 14px;
line-height: 14px;
align-items: center;
justify-content: center;
}
.uni-steps__column-line-item {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
flex: 1;
align-items: center;
justify-content: center;
}
.uni-steps__row-line {
flex: 1;
height: 1px;
background-color: #B7BDC6;
}
.uni-steps__column-line {
width: 1px;
background-color: #B7BDC6;
}
.uni-steps__row-line--after {
transform: translateX(1px);
}
.uni-steps__column-line--after {
flex: 1;
transform: translate(0px, 1px);
}
.uni-steps__row-line--before {
transform: translateX(-1px);
}
.uni-steps__column-line--before {
height: 6px;
transform: translate(0px, -13px);
}
.uni-steps__row-circle {
width: 5px;
height: 5px;
border-radius: 50%;
background-color: #B7BDC6;
margin: 0px 3px;
}
.uni-steps__column-circle {
width: 5px;
height: 5px;
border-radius: 50%;
background-color: #B7BDC6;
margin: 4px 0px 5px 0px;
}
.uni-steps__row-check {
margin: 0px 6px;
}
.uni-steps__column-check {
height: 14px;
line-height: 14px;
margin: 2px 0px;
}
</style>

89
src/uni_modules/uni-steps/package.json

@ -0,0 +1,89 @@
{
"id": "uni-steps",
"displayName": "uni-steps 步骤条",
"version": "1.1.1",
"description": "步骤条组件,提供横向和纵向两种布局格式。",
"keywords": [
"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": [
"uni-scss",
"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"
}
}
}
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save