| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 | <template>	<dmDialog ref='popView' :isShowTitle="true" title="提现" :isShowClose="true" :isShowConfirm="false" marginSize="60rpx">		<view class="content">			<view class="report_title">				<text class="report_title_">提现到:</text>				<image class="icon_weichart" src="../../static/icons/icon_weichat.png" mode=""></image>				<text class="report_title_money">微信零钱</text>			</view>			<view class="withDrawal_content">				<view class="report_title_">					提现金额				</view>				<view class="report_title_desc">					(可提现金额¥{{canCashOut||'0.00'}})				</view>			</view>			<view class="input_money">				<text class="money_bz">¥</text>				<input class="money" type="digit" v-model="money" @input="onKeyInput" :maxlength="moneyMaxLeng"/>				<image class="icon_close" v-if="money" src="../../static/icons/icon_close_full.png" mode="" @click="clearMoney"></image>			</view>			<view class="line">							</view>			<text class="notice_red" v-if="Number(money)>Number(canCashOut)">输入金额超过可提现金额</text>			<text class="notice" v-else>单笔限额200元</text>			<view class="btn">				<view class="btn_cancel" @click="cancel">					取消				</view>								<view class="btn_confirm" @click="confirmWithDrawal">					确认提现				</view>			</view>		</view>		 	</dmDialog></template><script>	import dmDialog from "./dmDialog.vue"	export default{		props:{			canCashOut:[String,Number],					},		data(){			return {				moneyMaxLeng:11,				money:""			}		},		methods:{			show() {				this.$refs.popView.show()			},			knowAction(){				this.money = ""				this.$refs.popView.hide()			},			onKeyInput(e){				let val = e.target.value;				val = val.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符				val = val.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的	            val = val.replace(/^0+\./g, '0.');				val = val.match(/^0+[1-9]+/) ? val = val.replace(/^0+/g, '') : val				val = (val.match(/^\d*(\.?\d{0,2})/g)[0]) || ''				 if (val.includes(".")) {					let numDian = val.toString().split(".")[1].length;					if (numDian === 2) {					  this.moneyMaxLeng = val.length;					}				  } else {					this.moneyMaxLeng = 8;				  }				this.money = val			},			clearMoney(){				this.money = ""			},			cancel(){				this.money = ""				this.$refs.popView.hide()			},			async confirmWithDrawal(){				if(!this.money||this.money==0){					uni.showToast({						icon:"none",						title:"请输入提现金额"					})					return				}				let param = {					"amount": this.money				}				const res = await this.$myRequest({					url: '/cash/apply',					data:param,				});				if (res && res.data.success) {					uni.showToast({						icon:"none",						title:"提现成功"					});					this.$emit("updata")					this.knowAction()				}else{					uni.showToast({						icon:"none",						title:res.data.message					})				}			}		},		mounted() {					},		components:{			dmDialog		}			}</script><style scoped lang="scss">	.content{		width: 100%;		height: 490rpx;		padding-left: 40rpx;		padding-right: 40rpx;		box-sizing: border-box;	}	.report_title{		display: flex;		align-items: center;		margin-top: 52rpx;		margin-bottom: 40rpx;				.report_title_{			font-size: 28rpx;			font-family: Verdana, Verdana-Regular;			font-weight: 400;			text-align: left;			color: #262626;		}				.icon_weichart {			width: 34rpx;			height: 28rpx;			margin-right: 8rpx;		}				.report_title_money{			font-size: 28rpx;			font-family: Verdana, Verdana-Regular;			font-weight: 400;			text-align: left;			color: #262626;		}	}		.withDrawal_content{		display: flex;		align-items: center;		.report_title_{			font-size: 28rpx;			font-family: Verdana, Verdana-Regular;			font-weight: 400;			text-align: left;			color: #262626;		}		.report_title_desc{			font-size: 28rpx;			font-family: Verdana, Verdana-Regular;			font-weight: 400;			text-align: left;			color: #b1b1b1;		}	}	.input_money{		margin-top: 12rpx;		margin-bottom: 19rpx;		display: flex;		align-items: center;		.money_bz{			font-size: 52rpx;			font-family: DIN Alternate, DIN Alternate-Bold;			font-weight: 700;			text-align: left;			color: #262626;		}		.money{			font-size: 52rpx;			font-family: DIN Alternate, DIN Alternate-Bold;			font-weight: 700;			text-align: left;			color: #262626;			padding-right: 10rpx;		}		.icon_close{			width: 40rpx;			height: 40rpx;			min-width: 40rpx;		}	}	.line{		height: 1px;		background: rgba(127,127,127,0.1);	}	.notice{		font-size: 28rpx;		font-family: Verdana, Verdana-Regular;		font-weight: 400;		text-align: left;		color: #b1b1b1;		margin-top: 15rpx;	}	.notice_red{		font-size: 28rpx;		font-family: Verdana, Verdana-Regular;		font-weight: 400;		text-align: left;		color: rgba(206,21,21,0.8);	}	.btn{		display: flex;		align-items: center;		justify-content: space-between;		margin-top: 40rpx;		.btn_cancel{			width: 250rpx;			height: 80rpx;			line-height: 80rpx;			background: #ffffff;			border: 2rpx solid #f07423;			border-radius: 42rpx;			text-align: center;			font-size: 28rpx;			font-family: Verdana, Verdana-Bold;			font-weight: 700;			color: #f07423;		}		.btn_confirm{			width: 250rpx;			height: 80rpx;			line-height: 80rpx;			background: #f07423;			border-radius: 40rpx;			box-shadow: 0rpx 2rpx 12rpx 0rpx rgba(240,116,35,0.37); 			text-align: center;			font-size: 28rpx;			font-family: Verdana, Verdana-Bold;			font-weight: 700;			color: #ffffff;		}	}	</style>
 |