zhaoyun 1 week ago
parent
commit
9faf8cce76

+ 28 - 0
mer_uniapp/api/rider.js

@@ -106,4 +106,32 @@ export function statisticsIndex() {
 */
 export function statisticsOperatingData() {
   return request.get(`rider/statistics/home/operating/data`);
+}
+
+/**
+ * 我的账户金额明细;
+ * 
+ */
+export function getMyAccountApi()
+{
+	return request.get("rider/my/account");
+}
+/**
+ * 用户结算申请
+ * @param object data
+*/
+export function extractCash(data){
+  return request.post('rider/closing/apply',data)
+}
+/*
+ * 用户结算配置
+ * */
+export function closingConfigApi() {
+  return request.get("rider/closing/config");
+}
+/*
+ * 佣金转入
+ * */
+export function transferIn(data) {
+  return request.post("rider/brokerage/to/yue", data,1);
 }

+ 21 - 0
mer_uniapp/pages.json

@@ -1647,6 +1647,27 @@
 					}
 				},
 				{
+					"path": "cashwithdrawal/index",
+					"style": {
+						"navigationBarTitleText": "提现",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "rider_transferOut/index",
+					"style": {
+						"navigationBarTitleText": "提现",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "rider_spread_out/index",
+					"style": {
+						"navigationBarTitleText": "转入",
+						"navigationStyle": "custom"
+					}
+				},
+				{
 					"path": "index",
 					"style": {
 						"navigationBarTitleText": "跑腿记录",

File diff suppressed because it is too large
+ 164 - 0
mer_uniapp/pages/rider_index/cashwithdrawal/index.vue


+ 2 - 2
mer_uniapp/pages/rider_index/components/footerPage/index.vue

@@ -2,7 +2,7 @@
 	<!-- 底部导航 -->
 	<view class="page-footer">
 		<view class="foot-item" :class="item.pagePath == activeRouter?'active':''" v-for="(item,index) in footerList"
-			:key="index" @click="goRouter(item)" v-if="!(item.role!='0'&&!selectMerchantRole.split(',').includes(item.role))">
+			:key="index" @click="goRouter(item)">
 			<block v-if="item.pagePath == activeRouter">
 				<image :src="item.selectedIconPath"></image>
 				<view class="txt">{{item.text}}</view>
@@ -49,7 +49,7 @@
 						role: '1'
 					},
 					{
-						pagePath: "/pages/users/user_spread_user/index",
+						pagePath: "/pages/rider_index/cashwithdrawal/index",
 						iconPath: require("../../static/shh.png"),
 						selectedIconPath: require("../../static/shl.png"),
 						text: "提现",

+ 449 - 0
mer_uniapp/pages/rider_index/rider_spread_out/index.vue

@@ -0,0 +1,449 @@
+<template>
+	<view :data-theme="theme" class="user_payment">
+		<workNavBar titleText="工作台" bagColor="#f5f5f5" :iconColor="iconColor" :textColor="iconColor" :isScrolling="isScrolling" showBack>
+			<view class="word_header_text">
+				<view class="text-box line1 wx-text-box">
+					资金转入
+				</view>
+			</view>
+		</workNavBar>
+		<form @submit="submitSub" report-submit='true'>
+			<view class="payment-top acea-row row-column row-center-wrapper">
+				<span class="name1">转入至</span>
+				<span class="name2"><text class="iconfont icon-yue"></text>余额</span>
+			</view>
+			<view class="payment">
+				<view class="tip">
+					<view class="pay-money">
+						转入金额
+					</view>
+					<view class='input'><text>¥</text>
+					<input placeholder="0.00" type='number' v-model="toPrice" placeholder-class='placeholder'></input></view>
+					<view class="tips-title">
+						<view style="font-weight: bold; font-size: 26rpx;">提示:</view>
+						<view style="margin-top: 10rpx;">
+							当前收益为 <text class=' mr10'>¥{{nowMoney || 0}}, </text>
+							<text class="font-color" @click="getAll">全部转入</text>
+						</view>
+					</view>
+					<view class="tips-box">
+						<view class="tips mt-30">注意事项:</view>
+						<view class="tips-samll" v-for="item in noticeList" :key="item">
+							{{ item }}
+						</view>
+					</view>
+				</view>
+				<button class='but' :class="parseFloat(this.nowMoney)<=0?'bg-color-hui':''" formType="submit"> 立即转入</button>
+				<view class="alipaysubmit" v-html="formContent"></view>
+			</view>
+		</form>
+	</view>
+</template>
+
+<script>
+	// +----------------------------------------------------------------------
+	// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+	// +----------------------------------------------------------------------
+	// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
+	// +----------------------------------------------------------------------
+	// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+	// +----------------------------------------------------------------------
+	// | Author: CRMEB Team <admin@crmeb.com>
+	// +----------------------------------------------------------------------
+	import workNavBar from '../components/workNavBar.vue';
+	import {
+		transferIn,
+		getRechargeApi
+	} from '@/api/user.js';
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import {Debounce} from '@/utils/validate.js'
+	let app = getApp();
+	export default {
+		components: {
+			workNavBar
+		},
+		data() {
+			let that = this;
+			return {
+				toPrice: '',
+				placeholder: "0.00",
+				packageList: [],
+				noticeList: [],
+				theme:app.globalData.theme,
+				formContent:'',
+				nowMoney: 0,
+				iconColor: '#000000'
+			};
+		},
+		watch:{
+			isLogin:{
+				handler:function(newV,oldV){
+					if(newV){
+						this.getRecharge();
+					}
+				},
+				deep:true
+			}
+		},
+		computed: mapGetters(['isLogin', 'systemPlatform','userInfo']),
+		onLoad(options) {
+			this.nowMoney = options.brokeragePrice
+			if (this.isLogin) {
+				this.getRecharge();
+			} else {
+				toLogin();
+			}
+		},
+		methods: {
+			/**
+			 * 充值额度选择
+			 */
+			getRecharge() {
+				getRechargeApi()
+					.then(res => {
+						this.noticeList = res.data.noticeList || [];
+					})
+					.catch(res => {
+						this.$dialog.toast({
+							mes: res
+						});
+					});
+			},
+			getAll(){
+				if(parseFloat(this.nowMoney)<=0) {
+					return this.$util.Tips({
+						title: '您暂无收益'
+					});
+				}
+				this.toPrice = this.nowMoney
+			},
+
+			navRecharges: function(index) {
+				this.active = index;
+			},
+			/*
+			 * 立即转入
+			 */
+			submitSub: Debounce(function(e) {
+				let that = this
+				if(parseFloat(that.nowMoney)<=0) {
+					return
+				}
+				// 转入余额
+				if (parseFloat(that.toPrice) < 0 || parseFloat(that.toPrice) == NaN || that.toPrice == undefined || that.toPrice == "") {
+					return that.$util.Tips({
+						title: '请输入金额'
+					});
+				}
+				uni.showModal({
+					title: '转入余额',
+					content: '转入余额后无法再次转出,确认是否转入余额',
+					success(res) {
+						if (res.confirm) {
+							transferIn({
+										price: parseFloat(that.toPrice)
+							}).then(res => {
+								return that.$util.Tips({
+									title: '转入成功',
+									icon: 'success'
+								}, {
+									tab: 5,
+									url: '/pages/rider_index/cashwithdrawal/index'
+								});
+							}).catch(err=>{
+								return that.$util.Tips({
+									title: err
+								});
+							})
+						} else if (res.cancel) {
+							return that.$util.Tips({
+								title: '已取消'
+							});
+						}
+					},
+				})
+			})
+		}
+	}
+</script>
+
+<style lang="scss">
+	.user_payment{
+		height: 100vh;
+		background-color: #fff;
+	}
+	.payment {
+		position: relative;
+		top: -60rpx;
+		width: 100%;
+		background-color: #fff;
+		border-radius: 10rpx;
+		padding-top: 25rpx;
+		border-top-right-radius: 14rpx;
+		border-top-left-radius: 14rpx;
+	}
+
+	.payment .nav {
+		height: 75rpx;
+		line-height: 75rpx;
+		padding: 0 100rpx;
+	}
+
+	.payment .nav .item {
+		font-size: 30rpx;
+		color: #333;
+	}
+
+	.payment .nav .item.on {
+		font-weight: bold;
+		@include tab_border_bottom(theme);
+	}
+
+	.payment .input {
+		display: flex;
+		align-items: center;
+		border-bottom: 1px dashed #dddddd;
+		margin: 32rpx auto 0 auto;
+		padding-bottom: 20rpx;
+		font-size: 56rpx;
+		color: #333333;
+		flex-wrap: nowrap;
+
+	}
+
+	.payment .input text {
+		// padding-left: 106rpx;
+	}
+
+	.payment .input input {
+		width: 310rpx;
+		height: 94rpx;
+		text-align: center;
+		font-size: 70rpx;
+	}
+
+	.payment .placeholder {
+		color: #d0d0d0;
+		height: 100%;
+		line-height: 94rpx;
+	}
+
+	.payment .tip {
+		font-size: 26rpx;
+		color: #888888;
+		padding: 0 30rpx;
+		// margin-top: 25rpx;
+	}
+
+	.payment .but {
+		color: #fff;
+		font-size: 30rpx;
+		width: 700rpx;
+		height: 86rpx;
+		border-radius: 43rpx;
+		margin: 50rpx auto 0 auto;
+		@include linear-gradient(theme);
+		line-height: 86rpx;
+	}
+
+	.payment-top {
+		width: 100%;
+		height: 278rpx;
+		@include main_bg_color(theme);
+
+		.name1 {
+			font-size: 26rpx;
+			color: rgba(255, 255, 255, 0.8);
+			margin-top: -38rpx;
+			margin-bottom: 16rpx;
+		}
+		.name2 {
+			font-size: 36rpx;
+			color: rgba(255, 255, 255, 0.8);
+		}
+		.icon-yue {
+			font-size: 42rpx;
+			margin-right: 8rpx;
+		}
+
+		.pic {
+			font-size: 32rpx;
+			color: #fff;
+		}
+
+		.pic-font {
+			font-size: 78rpx;
+			color: #fff;
+		}
+	}
+
+	.picList {
+		display: flex;
+		flex-wrap: wrap;
+		margin: 30rpx 0;
+
+		.pic-box {
+			width: 32%;
+			height: auto;
+			border-radius: 20rpx;
+			margin-top: 21rpx;
+			padding: 20rpx 0;
+			margin-right: 12rpx;
+
+			&:nth-child(3n) {
+				margin-right: 0;
+			}
+		}
+
+		.pic-box-color {
+			background-color: #f4f4f4;
+			color: #656565;
+		}
+
+		.pic-number {
+			font-size: 22rpx;
+		}
+
+		.pic-number-pic {
+			font-size: 38rpx;
+			margin-right: 10rpx;
+			text-align: center;
+		}
+
+	}
+    .pic-box-color-active {
+			@include linear-gradient(theme);
+			color: #fff !important;
+	}
+	.tips-box {
+		.tips {
+			font-size: 28rpx;
+			color: #333333;
+			font-weight: 800;
+			margin-bottom: 14rpx;
+			margin-top: 20rpx;
+		}
+
+		.tips-samll {
+			font-size: 24rpx;
+			color: #333333;
+			margin-bottom: 14rpx;
+		}
+
+		.tip-box {
+			margin-top: 30rpx;
+		}
+	}
+
+	.tips-title {
+		margin-top: 20rpx;
+		font-size: 24rpx;
+		color: #333;
+	}
+	.wrapper .item textarea {
+		background-color: #f9f9f9;
+		width: auto !important;
+		height: 140rpx;
+		border-radius: 14rpx;
+		margin-top: 30rpx;
+		padding: 15rpx;
+		box-sizing: border-box;
+		font-weight: 400;
+	}
+	.px-30{
+		padding-left: 30rpx;
+		padding-rigt: 30rpx;
+	}
+	 .wrapper .item .placeholder {
+		color: #ccc;
+	}
+
+	.wrapper .item .list {
+		margin-top: 35rpx;
+	}
+
+	.wrapper .item .list .payItem {
+		border: 1px solid #eee;
+		border-radius: 14rpx;
+		height: 86rpx;
+		width: 95%;
+		box-sizing: border-box;
+		margin-top: 20rpx;
+		font-size: 28rpx;
+		color: #282828;
+	}
+
+	.wrapper .item .list .payItem.on {
+		// border-color: #fc5445;
+		@include coupons_border_color(theme);
+		color: $theme-color;
+	}
+
+	.name {
+		width: 50%;
+		text-align: center;
+		border-right: 1px solid #eee;
+	}
+	.name .iconfont {
+		width: 44rpx;
+		height: 44rpx;
+		border-radius: 50%;
+		text-align: center;
+		line-height: 44rpx;
+		background-color: #fe960f;
+		color: #fff;
+		font-size: 30rpx;
+		margin-right: 15rpx;
+	}
+	.name .iconfont.icon-weixin2 {
+		background-color: #41b035;
+	}
+	.name .iconfont.icon-zhifubao {
+		background-color: #00AAEA;
+	}
+	.payItem .tip {
+		width: 49%;
+		text-align: center;
+		font-size: 26rpx;
+		color: #aaa;
+	}
+	.pay-money {
+		margin-top: 30rpx;
+		color: #333;
+	}
+	.word_header_text {
+		/* #ifdef H5 */
+		margin-top: 20rpx;
+		/* #endif */
+		color: #fff;
+		text-align: center;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	
+		.popup-box {
+			text-align: right;
+			width: 180rpx;
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+		}
+	
+		.icon-xiangxia {
+			font-size: 18rpx;
+		}
+	}
+	.wx-text-box{
+		max-width: 240rpx;
+	}
+	.text-box {
+		flex: 1;
+		padding-left: 16rpx;
+		color: #000000;
+	}
+</style>

+ 554 - 0
mer_uniapp/pages/rider_index/rider_transferOut/index.vue

@@ -0,0 +1,554 @@
+<template>
+	<view :data-theme="theme">
+		<workNavBar titleText="工作台" bagColor="#f5f5f5" :iconColor="iconColor" :textColor="iconColor" :isScrolling="isScrolling" showBack>
+			<view class="word_header_text">
+				<view class="text-box line1 wx-text-box">
+					结算申请
+				</view>
+			</view>
+		</workNavBar>
+		<view class='cash-withdrawal'>
+			<view class='nav acea-row'>
+				<view v-for="(item,index) in navList" :key="index" class='item font-color'
+					@click="swichNav(index,item)">
+					<view class='line bg_color' :class='currentTab==index ? "on":""'></view>
+					<view class='iconfont' :class='item.icon+" "+(currentTab==index ? "on":"")'></view>
+					<view class="tab_text">{{item.name}}</view>
+				</view>
+			</view>
+			<view class='wrapper'>
+				<view :hidden='currentTab != 0' class='list'>
+					<form @submit="subCash" report-submit='true'>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>姓名</view>
+							<view class='input'>
+								<input placeholder='请输入持卡人姓名' placeholder-class='placeholder' name="cardholder"
+									maxlength="20"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>卡号</view>
+							<view class='input'>
+								<input type='number' placeholder='请填写卡号' placeholder-class='placeholder'
+									name="bankCardNo" maxlength="19"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>Bank</view>
+							<view class='input'>
+								<picker @change="bindPickerChange" :value="index" :range="bankList">
+									<text class='Bank'>{{bankList[index]}}</text>
+									<text class='iconfont icon-qiepian38'></text>
+								</picker>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>结算</view>
+							<view class='input'><input
+									:placeholder='settlementConfig.minPrice? "最低结算金额"+ settlementConfig.minPrice:"最低结算金额"+ 0'
+									placeholder-class='placeholder' name="closingPrice" type='digit'></input></view>
+						</view>
+						<button formType="submit" class='bnt'
+							:class="parseFloat(settlementConfig.brokerage)>parseFloat(settlementConfig.minPrice) ?'bg-color': 'bg-color-hui'">结算申请</button>
+					</form>
+				</view>
+				<view :hidden='currentTab != 1' class='list'>
+					<form @submit="subCash" report-submit='true'>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>姓名</view>
+							<view class='input'>
+								<input placeholder='请填写您的真实姓名' placeholder-class='placeholder' name="realName"
+									maxlength="20"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>账号</view>
+							<view class='input'>
+								<input placeholder='请填写您的微信账号' placeholder-class='placeholder' name="wechatNo"
+									maxlength="20"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>结算</view>
+							<view class='input'>
+								<input :placeholder='"最低结算金额"+ settlementConfig.minPrice|| 0'
+									placeholder-class='placeholder' name="closingPrice" type='digit'
+									maxlength="5"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-top row-between'>
+							<view class='name'>收款码</view>
+							<view class="input acea-row">
+								<view class="picEwm" v-if="qrcodeUrlW">
+									<image :src="qrcodeUrlW"></image>
+									<text class='iconfont icon-guanbi1 font-color' @click='DelPicW'></text>
+								</view>
+								<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic("W")'
+									v-else>
+									<text class='iconfont icon-icon25201'></text>
+									<view>上传图片</view>
+								</view>
+							</view>
+						</view>
+						<button formType="submit" class='bnt'
+							:class="parseFloat(settlementConfig.brokerage)>parseFloat(settlementConfig.minPrice) ?'bg-color': 'bg-color-hui'">结算申请</button>
+					</form>
+				</view>
+				<view :hidden='currentTab != 2' class='list'>
+					<form @submit="subCash" report-submit='true'>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>姓名</view>
+							<view class='input'>
+								<input placeholder='请填写您的真实姓名' placeholder-class='placeholder' name="realName"
+									maxlength="20"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>账号</view>
+							<view class='input'>
+								<input placeholder='请填写您的支付宝账号' placeholder-class='placeholder' name="alipayAccount"
+									maxlength="20"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>结算</view>
+							<view class='input'>
+								<input :placeholder='"最低结算金额"+settlementConfig.minPrice' placeholder-class='placeholder'
+									name="closingPrice" type='digit' maxlength="5"></input>
+							</view>
+						</view>
+						<view class='item acea-row row-top row-between'>
+							<view class='name'>收款码</view>
+							<view class="input acea-row">
+								<view class="picEwm" v-if="qrcodeUrlZ">
+									<image :src="qrcodeUrlZ"></image>
+									<text class='iconfont icon-guanbi1 font-color' @click='DelPicZ'></text>
+								</view>
+								<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic("Z")'
+									v-else>
+									<text class='iconfont icon-icon25201'></text>
+									<view>上传图片</view>
+								</view>
+							</view>
+						</view>
+						<button formType="submit" class='bnt'
+							:class="parseFloat(settlementConfig.brokerage)>parseFloat(settlementConfig.minPrice) ?'bg-color': 'bg-color-hui'">结算申请</button>
+					</form>
+				</view>
+				<view class='tip'>
+					当前可提现金额: <text
+						class="price">¥{{settlementConfig.brokerage?settlementConfig.brokerage:0}},</text>冻结:¥{{settlementConfig.freezeBrokerage?settlementConfig.freezeBrokerage:0}}
+				</view>
+				<view class='tip'>
+					说明: 每笔佣金的冻结期为{{settlementConfig.freezeDay?settlementConfig.freezeDay:0}}天,到期后可提现
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	// +----------------------------------------------------------------------
+	// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+	// +----------------------------------------------------------------------
+	// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
+	// +----------------------------------------------------------------------
+	// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+	// +----------------------------------------------------------------------
+	// | Author: CRMEB Team <admin@crmeb.com>
+	// +----------------------------------------------------------------------
+	import workNavBar from '../components/workNavBar.vue';
+	import {
+		extractCash,closingConfigApi
+	} from '@/api/rider.js'
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import {
+		Debounce
+	} from '@/utils/validate.js'
+	let app = getApp();
+	export default {
+		components: {
+			workNavBar
+		},
+		data() {
+			return {
+				navList: [{
+						'name': '',
+						'icon': 'icon-yinhangqia',
+						'type': 'bank'
+					},
+					{
+						'name': '',
+						'icon': 'icon-weixin2',
+						'type': 'wechat'
+					},
+					{
+						'name': '',
+						'icon': 'icon-icon34',
+						'type': 'alipay'
+					}
+				],
+				type: 'bank',
+				currentTab: 0,
+				index: 0,
+				bankList: [], //提现银行
+				userInfo: [],
+				isClone: false,
+				settlementConfig: {}, //结算配置
+				qrcodeUrlW: "",
+				qrcodeUrlZ: "",
+				isCommitted: false, //防止多次提交
+				theme: app.globalData.theme,
+				iconColor: '#000000'
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		watch: {
+			isLogin: {
+				handler: function(newV, oldV) {
+					if (newV) {
+						this.getClosingConfig();
+					}
+				},
+				deep: true
+			}
+		},
+		onLoad(options) {
+			if (this.isLogin) {
+				this.getClosingConfig();
+			} else {
+				toLogin();
+			}
+		},
+		methods: {
+			uploadpic: function(type) {
+				let that = this;
+				that.$util.uploadImageOne({
+					url: 'upload/image',
+					name: 'multipart',
+					model: "user",
+					pid: 1
+				}, function(res) {
+					if (type === 'W') {
+						that.qrcodeUrlW = res;
+					} else {
+						that.qrcodeUrlZ = res;
+					}
+				});
+			},
+			/**
+			 * 删除图片
+			 *
+			 */
+			DelPicW: function() {
+				this.qrcodeUrlW = "";
+			},
+			DelPicZ: function() {
+				this.qrcodeUrlZ = "";
+			},
+			/**
+			 * 获取用户结算配置
+			 *
+			 */
+			getClosingConfig() {
+				closingConfigApi().then(res => {
+					let data = res.data;
+					this.$set(this, 'bankList', data.bankList);
+					this.settlementConfig = res.data;
+				})
+			},
+			swichNav: function(i, item) {
+				this.currentTab = i;
+				this.type = item.type;
+			},
+			bindPickerChange: function(e) {
+				this.index = e.detail.value;
+			},
+			moneyInput(e) {
+				//正则表达试
+				e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+				//重新赋值给input
+				this.$nextTick(() => {
+					this.money = e.target.value
+				})
+
+			},
+			subCash: Debounce(function(e) {
+				let that = this,
+					value = e.detail.value;
+				if(parseFloat(that.settlementConfig.brokerage) <=0) return;
+				switch (that.currentTab) {
+					case 0:
+						if (value.cardholder.length == 0) return this.$util.Tips({
+							title: '请填写持卡人姓名'
+						});
+						if (value.bankCardNo.length == 0) return this.$util.Tips({
+							title: '请填写卡号'
+						});
+						value.bankName = that.bankList[that.index];
+						break;
+					case 1:
+						if (value.wechatNo.length == 0) return this.$util.Tips({
+							title: '请填写微信号'
+						});
+						if (value.realName.length == 0) return this.$util.Tips({
+							title: '请填写真实姓名'
+						});
+						if (!that.qrcodeUrlW) return this.$util.Tips({
+							title: '请填写微信收款码'
+						});
+						value.paymentCode = that.qrcodeUrlW;
+						break;
+					default:
+						if (value.alipayAccount.length == 0) return this.$util.Tips({
+							title: '请填写支付宝账号'
+						});
+						if (value.realName.length == 0) return this.$util.Tips({
+							title: '请填写真实姓名'
+						});
+						if (!that.qrcodeUrlZ) return this.$util.Tips({
+							title: '请填写支付宝收款码'
+						});
+						value.paymentCode = that.qrcodeUrlZ;
+						break;
+				}
+				value.type = this.type;
+				if (value.closingPrice.length == 0) return this.$util.Tips({
+					title: '请填写结算金额'
+				});
+				if (!(/^(\d?)+(\.\d{0,2})?$/.test(value.closingPrice))) return this.$util.Tips({
+					title: '结算金额保留2位小数'
+				});
+				if (parseFloat(value.closingPrice) < parseFloat(that.settlementConfig.minPrice)) return this.$util
+					.Tips({
+						title: '结算金额不能低于' + that.settlementConfig.minPrice
+					});
+				if (this.isCommitted == false) {
+					this.isCommitted = true;
+					extractCash(value).then(res => {
+						return this.$util.Tips({
+							title: "申请成功",
+							icon: 'success'
+						}, {
+							tab: 2,
+							url: '/pages/rider_index/cashwithdrawal/index'
+						});
+						this.isCommitted = false;
+					}).catch(err => {
+						this.isCommitted = false;
+						return this.$util.Tips({
+							title: err
+						});
+					});
+				}
+			})
+		}
+	}
+</script>
+
+<style>
+	body {
+		height: 100% !important;
+	}
+</style>
+<style lang="scss">
+	page {
+		background-color: #fff !important;
+
+	}
+
+	.cash-withdrawal .nav {
+		height: 130rpx;
+		box-shadow: 0 10rpx 10rpx #f8f8f8;
+	}
+
+	.cash-withdrawal .nav .item {
+		font-size: 26rpx;
+		flex: 1;
+		text-align: center;
+	}
+
+	.cash-withdrawal .nav .item~.item {
+		border-left: 1px solid #f0f0f0;
+	}
+
+	.cash-withdrawal .nav .item .iconfont {
+		width: 40rpx;
+		height: 40rpx;
+		border-radius: 50%;
+		@include coupons_border_color(theme);
+		@include main_color(theme);
+		text-align: center;
+		line-height: 37rpx;
+		margin: 0 auto 6rpx auto;
+		font-size: 22rpx;
+		box-sizing: border-box;
+	}
+
+	.cash-withdrawal .nav .item .iconfont.on {
+		@include main_bg_color(theme);
+		color: #fff !important;
+		@include coupons_border_color(theme);
+		// border-color: $theme-color;
+	}
+
+	.cash-withdrawal .nav .item .line {
+		width: 2rpx;
+		height: 20rpx;
+		margin: 0 auto;
+		transition: height 0.3s;
+	}
+
+	.tab_text {
+		@include main_color(theme);
+	}
+
+	.bg_color {
+		@include main_bg_color(theme);
+	}
+
+	.cash-withdrawal .nav .item .line.on {
+		height: 39rpx;
+	}
+
+	.cash-withdrawal .wrapper .list {
+		padding: 0 30rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item {
+		border-bottom: 1rpx solid #eee;
+		min-height: 28rpx;
+		font-size: 30rpx;
+		color: #333;
+		padding: 39rpx 0;
+	}
+
+	.cash-withdrawal .wrapper .list .item .name {
+		width: 130rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .input {
+		width: 505rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .input .placeholder {
+		color: #bbb;
+	}
+
+	.cash-withdrawal .wrapper .list .item .picEwm,
+	.cash-withdrawal .wrapper .list .item .pictrue {
+		width: 140rpx;
+		height: 140rpx;
+		border-radius: 3rpx;
+		position: relative;
+		margin-right: 23rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .picEwm image {
+		width: 100%;
+		height: 100%;
+		border-radius: 3rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .picEwm .icon-guanbi1 {
+		position: absolute;
+		right: -14rpx;
+		top: -16rpx;
+		font-size: 40rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .pictrue {
+		border: 1px solid rgba(221, 221, 221, 1);
+		font-size: 22rpx;
+		color: #BBBBBB;
+	}
+
+	.cash-withdrawal .wrapper .list .item .pictrue .icon-icon25201 {
+		font-size: 47rpx;
+		color: #DDDDDD;
+		margin-bottom: 3px;
+	}
+
+	.cash-withdrawal .wrapper .tip {
+		font-size: 26rpx;
+		color: #999;
+		margin-top: 25rpx;
+		padding: 0 30rpx;
+	}
+
+	.cash-withdrawal .wrapper .bnt {
+		font-size: 32rpx;
+		color: #fff;
+		width: 690rpx;
+		height: 90rpx;
+		text-align: center;
+		border-radius: 50rpx;
+		line-height: 90rpx;
+		margin: 64rpx auto;
+	}
+
+	.cash-withdrawal .wrapper .tip2 {
+		font-size: 26rpx;
+		color: #999;
+		text-align: center;
+		margin: 44rpx 0 20rpx 0;
+	}
+
+	.cash-withdrawal .wrapper .value {
+		height: 135rpx;
+		line-height: 135rpx;
+		border-bottom: 1rpx solid #eee;
+		width: 690rpx;
+		margin: 0 auto;
+	}
+
+	.cash-withdrawal .wrapper .value input {
+		font-size: 80rpx;
+		color: #282828;
+		height: 135rpx;
+		text-align: center;
+	}
+
+	.cash-withdrawal .wrapper .list .value .placeholder2 {
+		color: #bbb;
+	}
+
+	.price {
+		@include price_color(theme);
+	}
+	.word_header_text {
+		/* #ifdef H5 */
+		margin-top: 20rpx;
+		/* #endif */
+		color: #fff;
+		text-align: center;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	
+		.popup-box {
+			text-align: right;
+			width: 180rpx;
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+		}
+	
+		.icon-xiangxia {
+			font-size: 18rpx;
+		}
+	}
+	.wx-text-box{
+		max-width: 240rpx;
+	}
+	.text-box {
+		flex: 1;
+		padding-left: 16rpx;
+		color: #000000;
+	}
+</style>

+ 12 - 12
mer_uniapp/pages/rider_index/work/index.vue

@@ -6,9 +6,9 @@
 				<view class="text-box line1 wx-text-box">
 					骑手接单
 				</view>
-				<view class="icon-box" v-if="merchantEmployeeList.length>1" @click="toggle('bottom')">
+				<!--view class="icon-box" @click="toggle('bottom')">
 					<text class="iconfont icon-xiangxia"></text>
-				</view>
+				</view-->
 			</view>
 		</workNavBar>
 		<!-- #endif -->
@@ -35,10 +35,10 @@
 					<view class="name">{{ riderSelected.name }}</view>
 					<view class="phone">{{ riderSelected.phone }}</view>
 				</view>
-				<navigator url="/pages/admin/cancel/index" hover-class="none"
+				<!--navigator url="/pages/admin/cancel/index" hover-class="none"
 					v-if="selectMerchantRole.split(',').includes('5')">
 					<text class="iconfont icon-ic_Scan"></text>
-				</navigator>
+				</navigator-->
 			</view>
 			<!-- 销售统计 -->
 			<view class="today">
@@ -108,7 +108,7 @@
 					<view class="title-box bottom-line">外卖订单</view>
 				</view>
 				 <view class="goods acea-row">
-				 	<navigator url="/pages/rider_index/order/index?type=await&orderType=0" hover-class="none" class="item" v-if="selectMerchantRole.split(',').includes('1')">
+				 	<navigator url="/pages/rider_index/order/index?type=await&orderType=0" hover-class="none" class="item">
 				 		<view class="img-box">
 				 			<view class="img positionImg">
 				 				<image class="positionImg" :src="urlDomain+'crmebimage/presets/adminImg/daifahuo.png'"
@@ -121,7 +121,7 @@
 				 		</view>
 				 		<view class="">去接单</view>
 				 	</navigator>
-				 	<navigator url="/pages/rider_index/order/index?type=pickUp&orderType=0" hover-class="none" class="item" v-if="selectMerchantRole.split(',').includes('1')">
+				 	<navigator url="/pages/rider_index/order/index?type=pickUp&orderType=0" hover-class="none" class="item" >
 				 		<view class="img-box">
 				 			<view class="img positionImg">
 				 				<image :src="urlDomain+'crmebimage/presets/adminImg/daihexiao.png'" mode=""></image>
@@ -132,7 +132,7 @@
 				 		</view>
 				 		<view class="">待取货</view>
 				 	</navigator>
-				 	<navigator url="/pages/rider_index/order/index?type=delivery&orderType=0" hover-class="none" class="item" v-if="selectMerchantRole.split(',').includes('2')">
+				 	<navigator url="/pages/rider_index/order/index?type=delivery&orderType=0" hover-class="none" class="item">
 				 		<view class="img-box">
 				 			<view class="img positionImg">
 				 				<image :src="urlDomain+'crmebimage/presets/adminImg/daishenhe.png'" mode=""></image>
@@ -152,7 +152,7 @@
 			 		<view class="title-box bottom-line">代取快递订单</view>
 			 	</view>
 			 	 <view class="goods acea-row">
-			 	 	<navigator url="/pages/rider_index/order/index?type=await&orderType=1" hover-class="none" class="item" v-if="selectMerchantRole.split(',').includes('1')">
+			 	 	<navigator url="/pages/rider_index/order/index?type=await&orderType=1" hover-class="none" class="item" >
 			 	 		<view class="img-box">
 			 	 			<view class="img positionImg">
 			 	 				<image class="positionImg" :src="urlDomain+'crmebimage/presets/adminImg/daifahuo.png'"
@@ -165,7 +165,7 @@
 			 	 		</view>
 			 	 		<view class="">去接单</view>
 			 	 	</navigator>
-			 	 	<navigator url="/pages/rider_index/order/index?type=pickUp&orderType=1" hover-class="none" class="item" v-if="selectMerchantRole.split(',').includes('1')">
+			 	 	<navigator url="/pages/rider_index/order/index?type=pickUp&orderType=1" hover-class="none" class="item">
 			 	 		<view class="img-box">
 			 	 			<view class="img positionImg">
 			 	 				<image :src="urlDomain+'crmebimage/presets/adminImg/daihexiao.png'" mode=""></image>
@@ -176,7 +176,7 @@
 			 	 		</view>
 			 	 		<view class="">待取货</view>
 			 	 	</navigator>
-			 	 	<navigator url="/pages/rider_index/order/index?type=delivery&orderType=1" hover-class="none" class="item" v-if="selectMerchantRole.split(',').includes('2')">
+			 	 	<navigator url="/pages/rider_index/order/index?type=delivery&orderType=1" hover-class="none" class="item" >
 			 	 		<view class="img-box">
 			 	 			<view class="img positionImg">
 			 	 				<image :src="urlDomain+'crmebimage/presets/adminImg/daishenhe.png'" mode=""></image>
@@ -344,8 +344,8 @@
 		width: 150%;
 		border-bottom-right-radius: 100%;
 		border-bottom-left-radius: 100%;
-		background: linear-gradient(270deg, #01ABF8 0%, #2A7EFB 100%);
-
+		background: linear-gradient(270deg, #ff5500 0%, #ff5500 100%);
+		//background: linear-gradient(270deg, #01ABF8 0%, #2A7EFB 100%);
 		.inner {
 			height: 356rpx;
 		}

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