!34 分销提现完善,签到完善

Merge pull request !34 from Bluemark/master-vue3
pull/36/MERGE
芋道源码 2024-01-03 15:33:00 +00:00 committed by Gitee
commit 9e25f8e944
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
19 changed files with 933 additions and 623 deletions

View File

@ -1,36 +1,36 @@
{ {
"name" : "星品", "name": "星品",
"appid" : "__UNI__082C0BA", "appid": "__UNI__082C0BA",
"description" : "Shopro是由SheepJS团队开发使用Uniapp+Vue3技术驱动的在线商城系统内含诸多功能与丰富的活动期待您的使用和反馈。", "description": "Shopro是由SheepJS团队开发使用Uniapp+Vue3技术驱动的在线商城系统内含诸多功能与丰富的活动期待您的使用和反馈。",
"versionName" : "1.8.3", "versionName": "1.8.3",
"versionCode" : 183, "versionCode": 183,
"transformPx" : false, "transformPx": false,
"app-plus" : { "app-plus": {
"usingComponents" : true, "usingComponents": true,
"nvueCompiler" : "uni-app", "nvueCompiler": "uni-app",
"nvueStyleCompiler" : "uni-app", "nvueStyleCompiler": "uni-app",
"compilerVersion" : 3, "compilerVersion": 3,
"nvueLaunchMode" : "fast", "nvueLaunchMode": "fast",
"splashscreen" : { "splashscreen": {
"alwaysShowBeforeRender" : true, "alwaysShowBeforeRender": true,
"waiting" : true, "waiting": true,
"autoclose" : true, "autoclose": true,
"delay" : 0 "delay": 0
}, },
"safearea" : { "safearea": {
"bottom" : { "bottom": {
"offset" : "none" "offset": "none"
} }
}, },
"modules" : { "modules": {
"Payment" : {}, "Payment": {},
"Share" : {}, "Share": {},
"VideoPlayer" : {}, "VideoPlayer": {},
"OAuth" : {} "OAuth": {}
}, },
"distribute" : { "distribute": {
"android" : { "android": {
"permissions" : [ "permissions": [
"<uses-feature android:name=\"android.hardware.camera\"/>", "<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>", "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
@ -65,161 +65,176 @@
"<uses-permission android:name=\"android.permission.WRITE_SMS\"/>", "<uses-permission android:name=\"android.permission.WRITE_SMS\"/>",
"<uses-permission android:name=\"android.permission.RECEIVE_USER_PRESENT\"/>" "<uses-permission android:name=\"android.permission.RECEIVE_USER_PRESENT\"/>"
], ],
"minSdkVersion" : 21, "minSdkVersion": 21,
"schemes" : "shopro" "schemes": "shopro"
}, },
"ios" : { "ios": {
"urlschemewhitelist" : [ "baidumap", "iosamap" ], "urlschemewhitelist": [
"dSYMs" : false, "baidumap",
"privacyDescription" : { "iosamap"
"NSPhotoLibraryUsageDescription" : "需要同意访问您的相册选取图片才能完善该条目", ],
"NSPhotoLibraryAddUsageDescription" : "需要同意访问您的相册才能保存该图片", "dSYMs": false,
"NSCameraUsageDescription" : "需要同意访问您的摄像头拍摄照片才能完善该条目", "privacyDescription": {
"NSUserTrackingUsageDescription" : "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验" "NSPhotoLibraryUsageDescription": "需要同意访问您的相册选取图片才能完善该条目",
"NSPhotoLibraryAddUsageDescription": "需要同意访问您的相册才能保存该图片",
"NSCameraUsageDescription": "需要同意访问您的摄像头拍摄照片才能完善该条目",
"NSUserTrackingUsageDescription": "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验"
}, },
"urltypes" : "shopro", "urltypes": "shopro",
"capabilities" : { "capabilities": {
"entitlements" : { "entitlements": {
"com.apple.developer.associated-domains" : [ "applinks:shopro.sheepjs.com" ] "com.apple.developer.associated-domains": [
"applinks:shopro.sheepjs.com"
]
} }
}, },
"idfa" : true "idfa": true
}, },
"sdkConfigs" : { "sdkConfigs": {
"speech" : { "speech": {
"ifly" : {} "ifly": {}
}, },
"ad" : {}, "ad": {},
"oauth" : { "oauth": {
"apple" : {}, "apple": {},
"weixin" : { "weixin": {
"appid" : "wxae7a0c156da9383b", "appid": "wxae7a0c156da9383b",
"UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/" "UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
} }
}, },
"payment" : { "payment": {
"weixin" : { "weixin": {
"__platform__" : [ "ios", "android" ], "__platform__": [
"appid" : "wxae7a0c156da9383b", "ios",
"UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/" "android"
],
"appid": "wxae7a0c156da9383b",
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
}, },
"alipay" : { "alipay": {
"__platform__" : [ "ios", "android" ] "__platform__": [
"ios",
"android"
]
} }
}, },
"share" : { "share": {
"weixin" : { "weixin": {
"appid" : "wxae7a0c156da9383b", "appid": "wxae7a0c156da9383b",
"UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/" "UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
} }
} }
}, },
"orientation" : [ "portrait-primary" ], "orientation": [
"splashscreen" : { "portrait-primary"
"androidStyle" : "common", ],
"iosStyle" : "common", "splashscreen": {
"useOriginalMsgbox" : true "androidStyle": "common",
"iosStyle": "common",
"useOriginalMsgbox": true
}, },
"icons" : { "icons": {
"android" : { "android": {
"hdpi" : "unpackage/res/icons/72x72.png", "hdpi": "unpackage/res/icons/72x72.png",
"xhdpi" : "unpackage/res/icons/96x96.png", "xhdpi": "unpackage/res/icons/96x96.png",
"xxhdpi" : "unpackage/res/icons/144x144.png", "xxhdpi": "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png" "xxxhdpi": "unpackage/res/icons/192x192.png"
}, },
"ios" : { "ios": {
"appstore" : "unpackage/res/icons/1024x1024.png", "appstore": "unpackage/res/icons/1024x1024.png",
"ipad" : { "ipad": {
"app" : "unpackage/res/icons/76x76.png", "app": "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png", "app@2x": "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png", "notification": "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png", "notification@2x": "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png", "proapp@2x": "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png", "settings": "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png", "settings@2x": "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png", "spotlight": "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png" "spotlight@2x": "unpackage/res/icons/80x80.png"
}, },
"iphone" : { "iphone": {
"app@2x" : "unpackage/res/icons/120x120.png", "app@2x": "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png", "app@3x": "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png", "notification@2x": "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png", "notification@3x": "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png", "settings@2x": "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png", "settings@3x": "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png", "spotlight@2x": "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png" "spotlight@3x": "unpackage/res/icons/120x120.png"
} }
} }
} }
} }
}, },
"quickapp" : {}, "quickapp": {},
"quickapp-native" : { "quickapp-native": {
"icon" : "/static/logo.png", "icon": "/static/logo.png",
"package" : "com.example.demo", "package": "com.example.demo",
"features" : [ "features": [
{ {
"name" : "system.clipboard" "name": "system.clipboard"
} }
] ]
}, },
"quickapp-webview" : { "quickapp-webview": {
"icon" : "/static/logo.png", "icon": "/static/logo.png",
"package" : "com.example.demo", "package": "com.example.demo",
"minPlatformVersion" : 1070, "minPlatformVersion": 1070,
"versionName" : "1.0.0", "versionName": "1.0.0",
"versionCode" : 100 "versionCode": 100
}, },
"mp-weixin" : { "mp-weixin": {
"appid" : "wx63c280fe3248a3e7", "appid": "wx63c280fe3248a3e7",
"setting" : { "setting": {
"urlCheck" : false, "urlCheck": false,
"minified" : true, "minified": true,
"postcss" : true "postcss": true
}, },
"optimization" : { "optimization": {
"subPackages" : true "subPackages": true
}, },
"plugins" : {}, "plugins": {},
"lazyCodeLoading" : "requiredComponents", "lazyCodeLoading": "requiredComponents",
"usingComponents" : {}, "usingComponents": {},
"permission" : {}, "permission": {},
"requiredPrivateInfos" : [ "chooseAddress" ] "requiredPrivateInfos": [
"chooseAddress"
]
}, },
"mp-alipay" : { "mp-alipay": {
"usingComponents" : true "usingComponents": true
}, },
"mp-baidu" : { "mp-baidu": {
"usingComponents" : true "usingComponents": true
}, },
"mp-toutiao" : { "mp-toutiao": {
"usingComponents" : true "usingComponents": true
}, },
"mp-jd" : { "mp-jd": {
"usingComponents" : true "usingComponents": true
}, },
"h5" : { "h5": {
"template" : "index.html", "template": "index.html",
"router" : { "router": {
"mode" : "hash", "mode": "hash",
"base" : "./" "base": "./"
}, },
"sdkConfigs" : { "sdkConfigs": {
"maps" : {} "maps": {}
}, },
"async" : { "async": {
"timeout" : 20000 "timeout": 20000
}, },
"title" : "星品购", "title": "星品购",
"optimization" : { "optimization": {
"treeShaking" : { "treeShaking": {
"enable" : true "enable": true
} }
} }
}, },
"vueVersion" : "3", "vueVersion": "3",
"_spaceID" : "192b4892-5452-4e1d-9f09-eee1ece40639", "_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
"locale" : "zh-Hans", "locale": "zh-Hans",
"fallbackLocale" : "zh-Hans" "fallbackLocale": "zh-Hans"
} }

View File

@ -622,7 +622,7 @@
} }
}, },
{ {
"path": "bargainingList", "path": "bargain/list",
"style": { "style": {
"navigationBarTitleText": "砍价列表" "navigationBarTitleText": "砍价列表"
}, },
@ -633,7 +633,7 @@
} }
}, },
{ {
"path": "bargainingDetail", "path": "bargain/detail",
"style": { "style": {
"navigationBarTitleText": "砍价详情" "navigationBarTitleText": "砍价详情"
}, },

View File

@ -138,28 +138,18 @@
}); });
function getBargainDetails() { async function getBargainDetails() {
sheep.$api.activity.getBargainActivityDetail({ let {
data,
code
} = await sheep.$api.activity.getBargainActivityDetail({
id: state.id id: state.id
}).then(res => {
state.bargainInfo = res.data;
state.buyPrice = state.bargainInfo.bargainFirstPrice;
// state.pages = '/pages/activity/goods_bargain_details/index?id=' + state.id +
// '&startBargainUid=' + state.uid + '&scene=' + state.uid + '&storeBargainId=' + state
// .storeBargainId;
// uni.setNavigationBarTitle({
// title: bargainInfo.name.substring(0, 13) + '...'
// })
//
// this.gobargainUserInfo();
//#ifdef H5
// this.getImageBase64(bargainInfo.picUrl);
//#endif
}).catch(function(err) {
//
}) })
if (code == 0) {
state.bargainInfo = data;
state.buyPrice = state.bargainInfo.bargainFirstPrice;
}
} }
onLoad(function(options) { onLoad(function(options) {
if (options.hasOwnProperty('id')) { if (options.hasOwnProperty('id')) {

View File

@ -1,4 +1,3 @@
<!-- 砍价列表 TODO @科举新建一个 bargain 然后这个页面挪进去改成 list.vue写的时候要思考怎么更好的融入到当前项目 -->
<template> <template>
<!-- TODO @科举参考 groupon/list.vue seckill/list.vue 界面调整下头部就是从 5 11 行的 --> <!-- TODO @科举参考 groupon/list.vue seckill/list.vue 界面调整下头部就是从 5 11 行的 -->
<s-layout navbar="inner" title='砍价列表'> <s-layout navbar="inner" title='砍价列表'>
@ -14,8 +13,8 @@
<view class='header'> <view class='header'>
<view class="pic"> <view class="pic">
<view class='swipers'> <view class='swipers'>
<swiper indicator-dots="true" autoplay="true" interval="2500" <swiper indicator-dots="true" autoplay="true" interval="2500" duration="500" vertical="true"
duration="500" vertical="true" circular="true"> circular="true">
<block v-for="(item,index) in state.bargainSuccessList" :key='index'> <block v-for="(item,index) in state.bargainSuccessList" :key='index'>
<swiper-item> <swiper-item>
<view class="acea-row row-middle" style='display:flex'> <view class="acea-row row-middle" style='display:flex'>
@ -36,7 +35,7 @@
<view class='list'> <view class='list'>
<block v-for="(item,index) in state.bargainList" :key="index"> <block v-for="(item,index) in state.bargainList" :key="index">
<view style='display:flex' class='item acea-row row-between-wrapper' <view style='display:flex' class='item acea-row row-between-wrapper'
@tap="openSubscribe('/pages/activity/bargainingDetail?id='+ item.id)"> @tap="openSubscribe('/pages/activity/bargain/detail?id='+ item.id)">
<view class='pictrue'> <view class='pictrue'>
<image :src='item.picUrl'></image> <image :src='item.picUrl'></image>
</view> </view>
@ -71,12 +70,19 @@
</template> </template>
<script setup> <script setup>
import { reactive } from 'vue'; import {
reactive
} from 'vue';
import sheep from '@/sheep'; import sheep from '@/sheep';
import _ from 'lodash'; import _ from 'lodash';
import { onLoad, onReachBottom } from '@dcloudio/uni-app'; import {
import { fen2yuan } from '@/sheep/hooks/useGoods'; onLoad,
onReachBottom
} from '@dcloudio/uni-app';
import {
fen2yuan
} from '@/sheep/hooks/useGoods';
import BargainApi from '@/sheep/api/activity'
const state = reactive({ const state = reactive({
navH: '', navH: '',
returnShow: true, returnShow: true,
@ -101,53 +107,58 @@
loadTitle: '加载更多', loadTitle: '加载更多',
}); });
function getBargainHeader() { async function getBargainHeader() {
// TODO @ BargainApi.getBargainRecordSummary使 await let {
sheep.$api.activity.getBargainRecordSummary().then(res => { code,
state.bargainTotal = res.data.successUserCount; data
state.bargainSuccessList = res.data.successList; } = await BargainApi.getBargainRecordSummary()
}).catch(err => { if (code == 0) {
return state.$util.Tips({ state.bargainTotal = data.successUserCount;
title: err state.bargainSuccessList = data.successList;
} else {
state.$util.Tips({
title: data
}); });
}) }
} }
function getBargainList() { async function getBargainList() {
// TODO @loading loadTitle 使 uni-load-more // TODO @loading loadTitle 使 uni-load-more
if (state.loadend || state.loading) { if (state.loadend || state.loading) {
return; return;
} }
state.loading = true; state.loading = true;
state.loadTitle = ''; state.loadTitle = '';
// TODO @ BargainApi.getBargainRecordSummary使 await let {
sheep.$api.activity.getBargainActivityPage({ data,
code
} = await BargainApi.getBargainActivityPage({
pageNo: state.page, pageNo: state.page,
pageSize: state.limit pageSize: state.limit
}).then(res => { })
const list = res.data.list; if (code == 0) {
const list = data.list;
const bargainList = _.concat(state.bargainList, list); const bargainList = _.concat(state.bargainList, list);
const loadend = list.length < state.limit; const loadend = list.length < state.limit;
state.loadend = loadend; state.loadend = loadend;
state.loading = false; state.loading = false;
state.loadTitle = loadend ? '已全部加载' : '加载更多'; state.loadTitle = loadend ? '已全部加载' : '加载更多';
// this.$set(this, 'bargainList', bargainList); // this.$set(this, 'bargainList', bargainList);
state.bargainList = res.data.list state.bargainList = data.list
// this.$set(this, 'page', this.page + 1); // this.$set(this, 'page', this.page + 1);
state.page = state.page + 1; state.page = state.page + 1;
}).catch(res => {
} else {
state.loading = false; state.loading = false;
state.loadTitle = '加载更多'; state.loadTitle = '加载更多';
}); }
} }
function openSubscribe(e) { function openSubscribe(e) {
console.log('跳转')
console.log(e) console.log(e)
// TODO @ pages/pay/result.vue subscribeMessage // TODO @ pages/pay/result.vue subscribeMessage
// TODO @navigateTo sheep.$router.go sheep.$router.go(e)
uni.navigateTo({
url: page,
});
return; return;
let page = e; let page = e;
// #ifndef MP // #ifndef MP

View File

@ -22,11 +22,10 @@
align-items: center; align-items: center;
" "
> >
<!-- TODO @科举1这里已签到的样式不太对2最后一天 7 的大奖样式不太对 -->
<view class="item" v-for="(item, index) in state.signConfigList" :key="index"> <view class="item" v-for="(item, index) in state.signConfigList" :key="index">
<view <view
:class=" :class="
(index + 1 === state.signConfigList.length ? 'reward' : '') + (index === state.signConfigList.length ? 'reward' : '') +
' ' + ' ' +
(state.signInfo.continuousDay >= item.day ? 'rewardTxt' : '') (state.signInfo.continuousDay >= item.day ? 'rewardTxt' : '')
" "
@ -66,7 +65,7 @@
<!-- 签到说明 TODO @科举这里改成已累计签到 --> <!-- 签到说明 TODO @科举这里改成已累计签到 -->
<view class="bg-white ss-m-t-16 ss-p-t-30 ss-p-b-60 ss-p-x-40"> <view class="bg-white ss-m-t-16 ss-p-t-30 ss-p-b-60 ss-p-x-40">
<view class="activity-title ss-m-b-30">签到说明</view> <view class="activity-title ss-m-b-30">签到说明</view>
<view class="activity-des">1每天签到可获得积分或经验</view> <view class="activity-des">1已累计签到{{state.signInfo.totalDay}}</view>
<view class="activity-des"> <view class="activity-des">
2据说连续签到第 {{ state.maxDay }} 天可获得超额积分一定要坚持签到哦~~~ 2据说连续签到第 {{ state.maxDay }} 天可获得超额积分一定要坚持签到哦~~~
</view> </view>

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,104 @@
<!-- 页面 TODO 芋艿检查未开发 --> <!-- 页面 TODO 芋艿检查未开发 -->
<template> <template>
<s-layout title="我的团队" :class="state.scrollTop ? 'team-wrap' : ''" navbar="inner"> <s-layout title="我的团队" :class="state.scrollTop ? 'team-wrap' : ''" navbar="inner">
<view class="header-box" :style="[ <view class="promoter-list">
<view class='promoterHeader bg-color' style='backgroundColor:#e93323!important;height:218rpx;color:#fff'>
<view class='headerCon acea-row row-between' style='padding: 28px 29px 0 29px;'>
<view>
<view class='name' style="color:#fff">推广人数</view>
<view><text class='num'
style="color:#fff">{{(state.getSummary.firstBrokerageUserCount+ state.getSummary.secondBrokerageUserCount)|| 0 }}</text>
</view>
</view>
<view class='iconfont icon-tuandui'></view>
</view>
</view>
<view style='padding: 0 30rpx;'>
<view class='nav acea-row row-around l1'>
<view :class="state.level == 1 ? 'item on' : 'item'" @click='setType(1)'>
一级({{state.getSummary.firstBrokerageUserCount || 0 }})</view>
<view :class="state.level == 2 ? 'item on' : 'item'" @click='setType(2)'>
二级({{state.getSummary.secondBrokerageUserCount || 0 }})
</view>
</view>
<view class='search acea-row row-between-wrapper'
style="display: flex;height: 100rpx;align-items: center;">
<view class='input'>
<input placeholder='点击搜索会员名称' v-model="state.nickname" confirm-type='search' name="search"
@confirm="submitForm" />
</view>
<image src="/static/images/search.png" mode="" style='width: 60rpx;height: 64rpx;' @click="submitForm"></image>
</view>
<view class='list'>
<view class="sortNav acea-row row-middle" style="display: flex;align-items: center;">
<view class="sortItem" @click='setSort("userCount","asc")' v-if="sort === 'userCountDESC'">
团队排序
<image src='/static/images/sort1.png'></image>
</view>
<view class="sortItem" @click='setSort("userCount", "desc")'
v-else-if="sort === 'userCountASC'">团队排序
<image src='/static/images/sort3.png'></image>
</view>
<view class="sortItem" @click='setSort("userCount","desc")' v-else>
<image src='/static/images/sort2.png'></image>
</view>
<view class="sortItem" @click='setSort("price","asc")' v-if="sort === 'priceDESC'">
金额排序
<image src='/static/images/sort1.png'></image>
</view>
<view class="sortItem" @click='setSort("price", "desc")' v-else-if="sort === 'priceASC'">
金额排序
<image src='/static/images/sort3.png'></image>
</view>
<view class="sortItem" @click='setSort("price","desc")' v-else>
<image src='/static/images/sort2.png'></image>
</view>
<view class="sortItem" @click='setSort("orderCount","asc")' v-if="sort === 'orderCountDESC'">
订单排序
<image src='/static/images/sort1.png'></image>
</view>
<view class="sortItem" @click='setSort("orderCount", "desc")'
v-else-if="sort === 'orderCountASC'">订单排序
<image src='/static/images/sort3.png'></image>
</view>
<view class="sortItem" @click='setSort("orderCount","desc")' v-else>
<image src='/static/images/sort2.png'></image>
</view>
</view>
<block v-for="(item,index) in state.pagination.data" :key="index">
<view class='item acea-row row-between-wrapper' style="display: flex;">
<view class="picTxt acea-row row-between-wrapper" style="display: flex;align-items: center;">
<view class='pictrue'>
<image :src='item.avatar'></image>
</view>
<view class='text'>
<view class='name line1'>{{item.nickname}}</view>
<view>加入时间: {{ sheep.$helper.timeFormat(item.brokerageTime, 'yyyy-mm-dd hh:MM:ss') }}</view>
</view>
</view>
<view class="right" style='justify-content:center;flex-direction: column;display: flex;margin-left: auto;'>
<view><text class='num font-color'>{{ item.brokerageUserCount || 0}}</text>
</view>
<view><text class="num">{{ item.orderCount|| 0}}</text></view>
<view><text class="num">{{ item.brokeragePrice || 0 }}</text></view>
</view>
</view>
</block>
<block v-if="state.pagination.data.length == 0">
<view style='text-align: center;'>暂无推广人数</view>
</block>
</view>
</view>
</view>
<!-- <home></home> -->
<!-- <view class="header-box" :style="[
{ {
marginTop: '-' + Number(statusBarHeight + 88) + 'rpx', marginTop: '-' + Number(statusBarHeight + 88) + 'rpx',
paddingTop: Number(statusBarHeight + 108) + 'rpx', paddingTop: Number(statusBarHeight + 108) + 'rpx',
}, },
]"> ]">
<!-- 推荐人 -->
<view v-if="userInfo.parent_user" class="referrer-box ss-flex ss-col-center"> <view v-if="userInfo.parent_user" class="referrer-box ss-flex ss-col-center">
推荐人 推荐人
<image class="referrer-avatar ss-m-r-10" :src="sheep.$url.cdn(userInfo.parent_user.avatar)" <image class="referrer-avatar ss-m-r-10" :src="sheep.$url.cdn(userInfo.parent_user.avatar)"
@ -15,7 +106,6 @@
</image> </image>
{{ userInfo.parent_user.nickname }} {{ userInfo.parent_user.nickname }}
</view> </view>
<!-- 团队数据总览 -->
<view class="team-data-box ss-flex ss-col-center ss-row-between"> <view class="team-data-box ss-flex ss-col-center ss-row-between">
<view class="data-card"> <view class="data-card">
<view class="total-item"> <view class="total-item">
@ -38,16 +128,16 @@
<view class="data-card"> <view class="data-card">
<view class="total-item"> <view class="total-item">
<view class="item-title">团队分销商人数</view> <view class="item-title">团队分销商人数</view>
<view class="total-num">{{ agentInfo.child_agent_count_all || 0 }}</view> <view class="total-num">{{ agentInfo?.child_agent_count_all || 0 }}</view>
</view> </view>
<view class="category-item ss-flex"> <view class="category-item ss-flex">
<view class="ss-flex-1"> <view class="ss-flex-1">
<view class="item-title">一级分销商</view> <view class="item-title">一级分销商</view>
<view class="category-num">{{ agentInfo.child_agent_count_1 || 0 }}</view> <view class="category-num">{{ agentInfo?.child_agent_count_1 || 0 }}</view>
</view> </view>
<view class="ss-flex-1"> <view class="ss-flex-1">
<view class="item-title">二级分销商</view> <view class="item-title">二级分销商</view>
<view class="category-num">{{ agentInfo.child_agent_count_2 || 0 }}</view> <view class="category-num">{{ agentInfo?.child_agent_count_2 || 0 }}</view>
</view> </view>
</view> </view>
</view> </view>
@ -71,7 +161,7 @@
</uni-list> </uni-list>
</view> </view>
<s-empty v-if="state.pagination.total === 0" icon="/static/data-empty.png" text="暂无团队信息"> <s-empty v-if="state.pagination.total === 0" icon="/static/data-empty.png" text="暂无团队信息">
</s-empty> </s-empty> -->
</s-layout> </s-layout>
</template> </template>
@ -83,13 +173,18 @@
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
import { import {
computed, computed,
reactive reactive,
ref
} from 'vue'; } from 'vue';
import _ from 'lodash'; import _ from 'lodash';
import { import {
onPageScroll onPageScroll
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2; const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
const agentInfo = computed(() => sheep.$store('user').agentInfo); const agentInfo = computed(() => sheep.$store('user').agentInfo);
const userInfo = computed(() => sheep.$store('user').userInfo); const userInfo = computed(() => sheep.$store('user').userInfo);
@ -102,6 +197,7 @@
state.scrollTop = true; state.scrollTop = true;
} }
}); });
let sort=ref();
const state = reactive({ const state = reactive({
getSummary: {}, getSummary: {},
pagination: { pagination: {
@ -111,8 +207,14 @@
last_page: 1, last_page: 1,
}, },
loadStatus: '', loadStatus: '',
// ui
level: 1,
nickname: ref(''),
sortKey:'',
isAsc:''
}); });
function filterUserNum(num) { function filterUserNum(num) {
if (_.isNil(num)) { if (_.isNil(num)) {
return ''; return '';
@ -120,6 +222,10 @@
return `下级团队${num}`; return `下级团队${num}`;
} }
function submitForm() {
state.pagination.data = []
getTeamList();
}
async function getTeamList(page = 1, list_rows = 8) { async function getTeamList(page = 1, list_rows = 8) {
state.loadStatus = 'loading'; state.loadStatus = 'loading';
// nickname: this.nickname, // nickname: this.nickname,
@ -128,10 +234,10 @@
let res = await sheep.$api.commission.team({ let res = await sheep.$api.commission.team({
pageSize: list_rows, pageSize: list_rows,
pageNo: page, pageNo: page,
level: '1', level: state.level,
'sortingField.order': 'desc', 'sortingField.order': 'desc',
'sortingField.field': 'userCount', 'sortingField.field': 'userCount',
nickname: '' nickname: state.nickname
}); });
console.log(res, '分销团队列表'); console.log(res, '分销团队列表');
if (res.code === 0) { if (res.code === 0) {
@ -148,6 +254,19 @@
} }
} }
function setType(e) {
state.pagination.data = []
state.level = e + '';
getTeamList( )
}
function setSort(sortKey, isAsc) {
state.pagination.data = []
sort = sortKey + isAsc.toUpperCase();
state.isAsc=isAsc;
state.sortKey=sortKey;
getTeamList();
}
onLoad(async () => { onLoad(async () => {
getTeamList(); getTeamList();
let res = await sheep.$api.commission.getSummary(); let res = await sheep.$api.commission.getSummary();
@ -168,6 +287,19 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.l1 {
background-color: #fff;
height: 86rpx;
line-height: 86rpx;
font-size: 28rpx;
color: #282828;
border-bottom: 1rpx solid #eee;
border-top-left-radius: 14rpx;
border-top-right-radius: 14rpx;
display: flex;
justify-content: space-around;
}
.header-box { .header-box {
box-sizing: border-box; box-sizing: border-box;
padding: 0 20rpx 20rpx 20rpx; padding: 0 20rpx 20rpx 20rpx;
@ -263,4 +395,142 @@
border-radius: 50%; border-radius: 50%;
} }
} }
.promoter-list .nav {
background-color: #fff;
height: 86rpx;
line-height: 86rpx;
font-size: 28rpx;
color: #282828;
border-bottom: 1rpx solid #eee;
border-top-left-radius: 14rpx;
border-top-right-radius: 14rpx;
margin-top: -30rpx;
}
.promoter-list .nav .item.on {
border-bottom: 5rpx solid;
// $theme-color
color: red;
// $theme-color
}
.promoter-list .search {
width: 100%;
background-color: #fff;
height: 100rpx;
padding: 0 24rpx;
box-sizing: border-box;
border-bottom-left-radius: 14rpx;
border-bottom-right-radius: 14rpx;
}
.promoter-list .search .input {
width: 592rpx;
height: 60rpx;
border-radius: 50rpx;
background-color: #f5f5f5;
text-align: center;
position: relative;
}
.promoter-list .search .input input {
height: 100%;
font-size: 26rpx;
width: 610rpx;
text-align: center;
}
.promoter-list .search .input .placeholder {
color: #bbb;
}
.promoter-list .search .input .iconfont {
position: absolute;
right: 28rpx;
color: #999;
font-size: 28rpx;
top: 50%;
transform: translateY(-50%);
}
.promoter-list .search .iconfont {
font-size: 32rpx;
color: #515151;
height: 60rpx;
line-height: 60rpx;
}
.promoter-list .list {
margin-top: 20rpx;
}
.promoter-list .list .sortNav {
background-color: #fff;
height: 76rpx;
border-bottom: 1rpx solid #eee;
color: #333;
font-size: 28rpx;
border-top-left-radius: 14rpx;
border-top-right-radius: 14rpx;
}
.promoter-list .list .sortNav .sortItem {
text-align: center;
flex: 1;
}
.promoter-list .list .sortNav .sortItem image {
width: 24rpx;
height: 24rpx;
margin-left: 6rpx;
vertical-align: -3rpx;
}
.promoter-list .list .item {
background-color: #fff;
border-bottom: 1rpx solid #eee;
height: 152rpx;
padding: 0 24rpx;
font-size: 24rpx;
color: #666;
}
.promoter-list .list .item .picTxt .pictrue {
width: 106rpx;
height: 106rpx;
border-radius: 50%;
}
.promoter-list .list .item .picTxt .pictrue image {
width: 100%;
height: 100%;
border-radius: 50%;
border: 3rpx solid #fff;
box-shadow: 0 0 10rpx #aaa;
box-sizing: border-box;
}
.promoter-list .list .item .picTxt .text {
// width: 304rpx;
font-size: 24rpx;
color: #666;
margin-left: 14rpx;
}
.promoter-list .list .item .picTxt .text .name {
font-size: 28rpx;
color: #333;
margin-bottom: 13rpx;
}
.promoter-list .list .item .right {
text-align: right;
font-size: 22rpx;
color: #333;
}
.promoter-list .list .item .right .num {
margin-right: 7rpx;
}
</style> </style>

View File

@ -30,7 +30,8 @@
import { import {
reactive, reactive,
onBeforeMount, onBeforeMount,
nextTick nextTick,
ref
} from 'vue'; } from 'vue';
import sheep from '@/sheep'; import sheep from '@/sheep';
@ -52,7 +53,7 @@
const state = reactive({ const state = reactive({
currentValue: '0', currentValue: '0',
}); });
const typeList = [{ const typeList = reactive([{
// icon: '/static/img/shop/pay/wechat.png', // icon: '/static/img/shop/pay/wechat.png',
title: '工商银行', title: '工商银行',
value: '0', value: '0',
@ -67,7 +68,7 @@
title: '农业', title: '农业',
value: '2', value: '2',
}, },
]; ])
const getWalletAccountInfo = async () => { const getWalletAccountInfo = async () => {
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
let res = await sheep.$api.user.account.info({ let res = await sheep.$api.user.account.info({

View File

@ -21,29 +21,44 @@
<uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.amount" type="number" <uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.amount" type="number"
placeholder="请输入提现金额" /> placeholder="请输入提现金额" />
</view> </view>
<view class="card-title">持卡人</view> <view class="card-title" v-show='txfag==1'>持卡人</view>
<view class="input-box ss-flex ss-col-center border-bottom"> <view class="input-box ss-flex ss-col-center border-bottom" v-show='txfag==1'>
<view class="unit"></view> <view class="unit"></view>
<uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.name" <uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.name"
placeholder="请输入持卡人姓名" /> placeholder="请输入持卡人姓名" />
</view> </view>
<view class="card-title">卡号</view> <view class="card-title" v-show='txfag==1'>卡号</view>
<view class="input-box ss-flex ss-col-center border-bottom"> <view class="input-box ss-flex ss-col-center border-bottom" v-show='txfag==1'>
<view class="unit"></view> <view class="unit"></view>
<uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.accountNo" <uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.accountNo"
placeholder="请输卡号" /> placeholder="请输卡号" />
</view> </view>
<view class="bank-box ss-flex ss-col-center ss-row-between ss-m-b-30"> <view class="card-title">收款码</view>
<view class="input-box ss-flex ss-col-center border-bottom">
<view class="unit"></view>
<uni-easyinput :inputBorder="false" class="ss-flex-1 ss-p-l-10" v-model="state.accountQrCodeUrl"
placeholder="请输收款码地址" />
</view>
<view class="bank-box ss-flex ss-col-center ss-row-between ss-m-b-30" style='display:block'>
<view class="name">选择提现方式</view>
<!-- <view class="bank-list ss-flex ss-col-center" style="margin-left:auto" >
<view class="empty-text">请选择提现方式</view>
<text class="cicon-forward"></text>
</view> -->
<uni-section title="单选" type="line">
<view class="uni-px-5 uni-pb-5" style='font-size:28rpx'>
<uni-data-checkbox v-model="txfag" :localdata="txList"></uni-data-checkbox>
</view>
</uni-section>
</view>
<view class="bank-box ss-flex ss-col-center ss-row-between ss-m-b-30" v-show='txfag==1'>
<view class="name">选择银行</view> <view class="name">选择银行</view>
<view class="bank-list ss-flex ss-col-center" @tap="onAccountSelect(true)"> <view class="bank-list ss-flex ss-col-center" @tap="onAccountSelect(true)">
<view v-if="!state.accountInfo.type" class="empty-text"></view> <view v-if="!state.accountInfo.type" class="empty-text"></view>
<view v-if="state.accountInfo.type === '0'" class="empty-text"></view> <view v-if="state.accountInfo.type === '0'" class="empty-text"></view>
<view v-if="state.accountInfo.type === '1'" class="empty-text"></view> <view v-if="state.accountInfo.type === '1'" class="empty-text"></view>
<view v-if="state.accountInfo.type === '2'" class="empty-text"></view> <view v-if="state.accountInfo.type === '2'" class="empty-text"></view>
<!-- <view v-if="!state.accountInfo.type" class="empty-text"></view>
<view v-if="state.accountInfo.type === 'wechat'" class="empty-text"></view>
<view v-if="state.accountInfo.type === 'alipay'" class="empty-text"></view>
<view v-if="state.accountInfo.type === 'bank'" class="empty-text"></view> -->
<text class="cicon-forward"></text> <text class="cicon-forward"></text>
</view> </view>
</view> </view>
@ -51,10 +66,6 @@
<view class="placeholder-text" v-if="state.accountInfo.account_name"> <view class="placeholder-text" v-if="state.accountInfo.account_name">
{{ state.accountInfo.account_header }}|{{ state.accountInfo.account_name }} {{ state.accountInfo.account_header }}|{{ state.accountInfo.account_name }}
</view> </view>
<!-- <view class="placeholder-text" v-else></view>
<button class="add-btn ss-reset-button" @tap="onAccountEdit(true)">
{{ state.accountInfo.account_name ? '修改' : '添加' }}
</button> -->
</view> </view>
<button class="ss-reset-button save-btn ui-BG-Main-Gradient ui-Shadow-Main" @tap="onConfirm"> <button class="ss-reset-button save-btn ui-BG-Main-Gradient ui-Shadow-Main" @tap="onConfirm">
确认提现 确认提现
@ -91,7 +102,7 @@
import { import {
computed, computed,
reactive, reactive,
onBeforeMount onBeforeMount,ref
} from 'vue'; } from 'vue';
import sheep from '@/sheep'; import sheep from '@/sheep';
import accountTypeSelect from './components/account-type-select.vue'; import accountTypeSelect from './components/account-type-select.vue';
@ -130,7 +141,11 @@
return list; return list;
} }
let txfag=ref(1)
const txList=[{text:'银行卡提现',value:1},{text:'微信提现',value:2},{text:'支付宝提现',value:3}]
function tixian(v){
console.log(v)
}
const userStore = sheep.$store('user'); const userStore = sheep.$store('user');
const userInfo = computed(() => userStore.userInfo); const userInfo = computed(() => userStore.userInfo);
const state = reactive({ const state = reactive({
@ -152,6 +167,7 @@
methods: [], methods: [],
}, },
rulesList: [], rulesList: [],
accountQrCodeUrl:''
}); });
const onAccountEdit = (e) => { const onAccountEdit = (e) => {
@ -167,8 +183,9 @@
accountNo: state.accountNo, accountNo: state.accountNo,
name: state.name, name: state.name,
bankName: state.accountInfo.type, bankName: state.accountInfo.type,
type: '2', type: txfag.value,
price: state.amount * 100 price: state.amount * 100,
accountQrCodeUrl:state.accountQrCodeUrl
}; };
console.log(payload); console.log(payload);
// return; // return;

View File

@ -1,12 +1,12 @@
import request from '@/sheep/request'; import request from '@/sheep/request';
const DiyTemplateApi = { const DiyTemplateApi = {
getUsedDiyTemplate: () => { // getUsedDiyTemplate: () => {
return request({ // return request({
url: '/app-api/promotion/diy-template/used', // url: '/app-api/promotion/diy-template/used',
method: 'GET', // method: 'GET',
}); // });
}, // },
getDiyTemplate: (id) => { getDiyTemplate: (id) => {
return request({ return request({
url: '/app-api/promotion/diy-template/get', url: '/app-api/promotion/diy-template/get',

View File

@ -95,6 +95,7 @@ http.interceptors.request.use(
config.header['Accept'] = '*/*' config.header['Accept'] = '*/*'
config.header['tenant-id'] = '1'; config.header['tenant-id'] = '1';
config.header['terminal'] = '20'; config.header['terminal'] = '20';
config.header['Authorization'] = 'Bearer test247';
} }
return config; return config;
}, },
@ -126,7 +127,7 @@ http.interceptors.response.use(
// 成功时的提示 // 成功时的提示
if ( if (
(response.data.error === 0 || response.data.code === 0) && (response.data.error === 0 || response.data.code === 0) &&
( response.data.msg !== '' || response.config.custom.successMsg !== '' ) && (response.data.msg !== '' || response.config.custom.successMsg !== '') &&
response.config.custom.showSuccess response.config.custom.showSuccess
) { ) {
uni.showToast({ uni.showToast({
@ -213,8 +214,8 @@ const request = (config) => {
} }
// TODO 芋艿:额外拼接 // TODO 芋艿:额外拼接
if (config.url.indexOf('/app-api/') >= 0) { if (config.url.indexOf('/app-api/') >= 0) {
// config.url = 'http://api-dashboard.yudao.iocoder.cn' + config.url; // 调用【云端】 config.url = 'http://api-dashboard.yudao.iocoder.cn' + config.url; // 调用【云端】
config.url = 'http://127.0.0.1:48080' + config.url; // 调用【本地】 // config.url = 'http://127.0.0.1:48080' + config.url; // 调用【本地】
// config.url = 'http://yunai.natapp1.cc' + config.url; // 调用【natapp】 // config.url = 'http://yunai.natapp1.cc' + config.url; // 调用【natapp】
} }
return http.middleware(config); return http.middleware(config);

BIN
static/images/search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
static/images/sort1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/images/sort2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/images/sort3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,3 +1,7 @@
## 1.0.32022-09-16
- 可以使用 uni-scss 控制主题色
## 1.0.22022-06-30
- 优化 在 uni-forms 中的依赖注入方式
## 1.0.12022-02-07 ## 1.0.12022-02-07
- 修复 multiple 为 true 时v-model 的值为 null 报错的 bug - 修复 multiple 为 true 时v-model 的值为 null 报错的 bug
## 1.0.02021-11-19 ## 1.0.02021-11-19

View File

@ -155,17 +155,17 @@
value(newVal) { value(newVal) {
this.dataList = this.getDataList(newVal) this.dataList = this.getDataList(newVal)
// fix by mehaotian is_reset uni-forms // fix by mehaotian is_reset uni-forms
if(!this.is_reset){ // if(!this.is_reset){
this.is_reset = false // this.is_reset = false
this.formItem && this.formItem.setValue(newVal) // this.formItem && this.formItem.setValue(newVal)
} // }
}, },
modelValue(newVal) { modelValue(newVal) {
this.dataList = this.getDataList(newVal); this.dataList = this.getDataList(newVal);
if(!this.is_reset){ // if(!this.is_reset){
this.is_reset = false // this.is_reset = false
this.formItem && this.formItem.setValue(newVal) // this.formItem && this.formItem.setValue(newVal)
} // }
} }
}, },
data() { data() {
@ -193,22 +193,22 @@
} }
}, },
created() { created() {
this.form = this.getForm('uniForms') // this.form = this.getForm('uniForms')
this.formItem = this.getForm('uniFormsItem') // this.formItem = this.getForm('uniFormsItem')
// this.formItem && this.formItem.setValue(this.value) // this.formItem && this.formItem.setValue(this.value)
if (this.formItem) { // if (this.formItem) {
this.isTop = 6 // this.isTop = 6
if (this.formItem.name) { // if (this.formItem.name) {
// name,formData // // name,formData
if(!this.is_reset){ // if(!this.is_reset){
this.is_reset = false // this.is_reset = false
this.formItem.setValue(this.dataValue) // this.formItem.setValue(this.dataValue)
} // }
this.rename = this.formItem.name // this.rename = this.formItem.name
this.form.inputChildrens.push(this) // this.form.inputChildrens.push(this)
} // }
} // }
if (this.localdata && this.localdata.length !== 0) { if (this.localdata && this.localdata.length !== 0) {
this.isLocal = true this.isLocal = true
@ -273,7 +273,7 @@
} }
} }
} }
this.formItem && this.formItem.setValue(detail.value) // this.formItem && this.formItem.setValue(detail.value)
// TODO vue2 // TODO vue2
this.$emit('input', detail.value); this.$emit('input', detail.value);
// // TOTO vue3 // // TOTO vue3
@ -375,7 +375,7 @@
selectedArr.push(item[this.map.value]) selectedArr.push(item[this.map.value])
} }
}) })
return this.dataValue && this.dataValue.length > 0 ? this.dataValue : selectedArr return this.dataValue.length > 0 ? this.dataValue : selectedArr
}, },
/** /**
@ -384,12 +384,14 @@
setStyleBackgroud(item) { setStyleBackgroud(item) {
let styles = {} let styles = {}
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff' let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
if (this.selectedColor) {
if (this.mode !== 'list') { if (this.mode !== 'list') {
styles['border-color'] = item.selected?selectedColor:'#DCDFE6' styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
} }
if (this.mode === 'tag') { if (this.mode === 'tag') {
styles['background-color'] = item.selected? selectedColor:'#f5f5f5' styles['background-color'] = item.selected? selectedColor:'#f5f5f5'
} }
}
let classles = '' let classles = ''
for (let i in styles) { for (let i in styles) {
classles += `${i}:${styles[i]};` classles += `${i}:${styles[i]};`
@ -399,6 +401,7 @@
setStyleIcon(item) { setStyleIcon(item) {
let styles = {} let styles = {}
let classles = '' let classles = ''
if (this.selectedColor) {
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff' let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
styles['background-color'] = item.selected?selectedColor:'#fff' styles['background-color'] = item.selected?selectedColor:'#fff'
styles['border-color'] = item.selected?selectedColor:'#DCDFE6' styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
@ -407,7 +410,7 @@
styles['background-color'] = '#F2F6FC' styles['background-color'] = '#F2F6FC'
styles['border-color'] = item.selected?selectedColor:'#DCDFE6' styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
} }
}
for (let i in styles) { for (let i in styles) {
classles += `${i}:${styles[i]};` classles += `${i}:${styles[i]};`
} }
@ -416,6 +419,7 @@
setStyleIconText(item) { setStyleIconText(item) {
let styles = {} let styles = {}
let classles = '' let classles = ''
if (this.selectedColor) {
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff' let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
if (this.mode === 'tag') { if (this.mode === 'tag') {
styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666' styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666'
@ -425,7 +429,7 @@
if(!item.selected && item.disabled){ if(!item.selected && item.disabled){
styles.color = '#999' styles.color = '#999'
} }
}
for (let i in styles) { for (let i in styles) {
classles += `${i}:${styles[i]};` classles += `${i}:${styles[i]};`
} }
@ -448,7 +452,7 @@
</script> </script>
<style lang="scss"> <style lang="scss">
$checked-color: #2979ff; $uni-primary: #2979ff !default;
$border-color: #DCDFE6; $border-color: #DCDFE6;
$disable:0.4; $disable:0.4;
@ -614,8 +618,8 @@
// //
&.is-checked { &.is-checked {
.checkbox__inner { .checkbox__inner {
border-color: $checked-color; border-color: $uni-primary;
background-color: $checked-color; background-color: $uni-primary;
.checkbox__inner-icon { .checkbox__inner-icon {
opacity: 1; opacity: 1;
@ -623,14 +627,14 @@
} }
} }
.radio__inner { .radio__inner {
border-color: $checked-color; border-color: $uni-primary;
.radio__inner-icon { .radio__inner-icon {
opacity: 1; opacity: 1;
background-color: $checked-color; background-color: $uni-primary;
} }
} }
.checklist-text { .checklist-text {
color: $checked-color; color: $uni-primary;
} }
// //
&.is-disable { &.is-disable {
@ -683,10 +687,10 @@
} }
&.is-checked { &.is-checked {
border-color: $checked-color; border-color: $uni-primary;
.checkbox__inner { .checkbox__inner {
border-color: $checked-color; border-color: $uni-primary;
background-color: $checked-color; background-color: $uni-primary;
.checkbox__inner-icon { .checkbox__inner-icon {
opacity: 1; opacity: 1;
transform: rotate(45deg); transform: rotate(45deg);
@ -694,16 +698,16 @@
} }
.radio__inner { .radio__inner {
border-color: $checked-color; border-color: $uni-primary;
.radio__inner-icon { .radio__inner-icon {
opacity: 1; opacity: 1;
background-color: $checked-color; background-color: $uni-primary;
} }
} }
.checklist-text { .checklist-text {
color: $checked-color; color: $uni-primary;
} }
// //
@ -735,8 +739,8 @@
} }
&.is-checked { &.is-checked {
background-color: $checked-color; background-color: $uni-primary;
border-color: $checked-color; border-color: $uni-primary;
.checklist-text { .checklist-text {
color: #fff; color: #fff;
@ -775,8 +779,8 @@
&.is-checked { &.is-checked {
.checkbox__inner { .checkbox__inner {
border-color: $checked-color; border-color: $uni-primary;
background-color: $checked-color; background-color: $uni-primary;
.checkbox__inner-icon { .checkbox__inner-icon {
opacity: 1; opacity: 1;
@ -789,13 +793,13 @@
} }
} }
.checklist-text { .checklist-text {
color: $checked-color; color: $uni-primary;
} }
.checklist-content { .checklist-content {
.checkobx__list { .checkobx__list {
opacity: 1; opacity: 1;
border-color: $checked-color; border-color: $uni-primary;
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"id": "uni-data-checkbox", "id": "uni-data-checkbox",
"displayName": "uni-data-checkbox 数据选择器", "displayName": "uni-data-checkbox 数据选择器",
"version": "1.0.1", "version": "1.0.3",
"description": "通过数据驱动的单选框和复选框", "description": "通过数据驱动的单选框和复选框",
"keywords": [ "keywords": [
"uni-ui", "uni-ui",
@ -17,11 +17,7 @@
"directories": { "directories": {
"example": "../../temps/example_temps" "example": "../../temps/example_temps"
}, },
"dcloudext": { "dcloudext": {
"category": [
"前端组件",
"通用组件"
],
"sale": { "sale": {
"regular": { "regular": {
"price": "0.00" "price": "0.00"
@ -38,7 +34,8 @@
"data": "无", "data": "无",
"permissions": "无" "permissions": "无"
}, },
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
"type": "component-vue"
}, },
"uni_modules": { "uni_modules": {
"dependencies": ["uni-load-more","uni-scss"], "dependencies": ["uni-load-more","uni-scss"],