钱包细节修改和发货记录

version/0412
fanfan 1 year ago
parent b4b5bacd00
commit 297aee5683
  1. 13
      pages/news/user/rechargeList.vue
  2. 46
      pages/news/user/withdrawal.vue
  3. 68
      pages/news1/wallet.vue
  4. 29
      pages/news3/LogisticsDetails.vue
  5. 53
      pages/news3/ManualEntry.vue
  6. 149
      pages/news3/seasoningCondimentsRecord.vue
  7. 39
      pages/news3/setOutRecords.vue

@ -13,7 +13,7 @@
</view>
</view>
<view class="empty" v-if="list.length==0">
<image :src="$picUrl+'/static/news1/walletEmpty.png'" mode="widthFix"></image>
<image :src="$picUrl+'/static/news1/walletEmpty.png'" mode="widthFix"></image>
<text>暂无数据显示哦</text>
</view>
</view>
@ -35,12 +35,11 @@
let that = this;
wallet.list()
.then(res => {
if (res.data.list.data.length > 0) {
if (res.data.list.data.length == 0) {
res.data.list.data.forEach((elem) => {
elem.created_at = that.timestampToYds(elem.created_at)
});
}
console.log(res.data.list.data)
that.list = res.data.list.data
})
.finally()
@ -63,11 +62,11 @@
<style lang="scss" scoped>
.recharge {
padding: 20rpx;
padding: 25rpx;
overflow: hidden;
&-bd {
padding: 0 30rpx;
padding: 0 28rpx;
background-color: #fff;
border-radius: 12rpx;
overflow: hidden;
@ -88,6 +87,7 @@
.a {
padding: 20rpx 0;
margin:0 6rpx;
font-size: 28rpx;
font-weight: 400;
color: #595959;
@ -97,6 +97,7 @@
font-size: 28rpx;
font-weight: 400;
color: #A3A3A3;
margin:0 6rpx
}
}
@ -114,8 +115,8 @@
font-size: 28rpx;
font-weight: 400;
color: #A3A3A3;
}
}
}
}
}
}

@ -15,7 +15,7 @@
<view class="r">
<view class="p"><input type="number" @input="onCheck" v-model="obj.money" placeholder="请输入金额" />
</view>
<view class="w" @click="allMoeny">全部提现</view>
<view class="w" @click="allMoeny" style="color:#FF3126 ;">全部提现</view>
</view>
</view>
<view class="b">
@ -106,11 +106,11 @@
</template>
</view>
</view>
<u-modal v-model="show" :content="content" :show-cancel-button="true" :show-title="false"
confirm-color="#F55349"></u-modal>
<view class="invoice-fd" @click="submit">
提交
</view>
<u-modal v-model="show" :content="content" :show-cancel-button="true" :show-title="false"
confirm-color="#F55349"></u-modal>
</view>
</template>
@ -306,7 +306,13 @@
</script>
<style lang="scss" scoped>
page {
min-height: 100%;
}
.invoice {
overflow: hidden;
padding-bottom: 60rpx;
&-goods {
padding: 0 60rpx;
overflow: hidden;
@ -472,23 +478,6 @@
}
}
&-fd {
width: 664rpx;
height: 104rpx;
background: #F55349;
border-radius: 8rpx;
text-align: center;
margin: 0 auto;
margin-top: 60rpx;
font-size: 32rpx;
font-weight: 500;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
}
&-company {
width: 710rpx;
background: #F55349;
@ -504,7 +493,7 @@
padding: 35rpx 50rpx 0;
font-size: 28rpx;
font-weight: 500;
color: #FF3126;
color: #414141;
.r {
display: flex;
@ -580,4 +569,19 @@
}
}
}
.invoice-fd {
width: 664rpx;
height: 104rpx;
background: #F55349;
border-radius: 8rpx;
text-align: center;
margin: 0 auto;
margin-top: -150rpx;
font-size: 32rpx;
font-weight: 500;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
}
</style>

@ -6,14 +6,13 @@
<image :src="$picUrl+'/static/news1/walletBg.png'" class="bgImg" mode="widthFix"></image>
<view class="walletContainer">
<view class="section1">
<!-- <image src="../../static/news1/walletBgItem.png" class="topBg" mode=""></image> -->
<view class="yue" @click="introShow=true">余额说明</view>
<view class="accountNum">
<text>账户余额</text>
<image :src="$picUrl+'/static/news1/eye.png'" mode="widthFix"></image>
<view style="margin-left: 5px;" @click="isEye=!isEye"><u-icon :name="isEye?'eye':'eye-off'" color="#652F17" size="34"></u-icon></view>
</view>
<view class="walletHandle">
<text>{{infor.balance}}</text>
<text>{{isEye?infor.balance:'****'}}</text>
<view class="chongzhiBtn" @click="onRecharge">
充值
</view>
@ -73,15 +72,17 @@
</view>
</view>
<u-picker mode="time" v-model="timeShow" :params="timeParams" @confirm="getTime"></u-picker>
<u-dropdown class="dropdownStyle" ref="dropdown1" height="100">
<u-dropdown-item title="属性" >
<u-dropdown class="dropdownStyle" ref="dropdown1" height="100" active-color="#FE422B" @open="dropOpen"
@close="dropClose">
<u-dropdown-item title="属性" @update:modelValue="open()">
<view class="slot-content">
<view class="slotItem">
<view class="title">时间</view>
<view class="timecontainer">
<u-input border v-model="start_at" type="select" @click="onTime(1)" />
<u-input border v-model="start_at" placeholder="开始日期" type="select"
@click="onTime(1)" />
<text style="margin:0 20rpx;">-</text>
<u-input border v-model="end_at" type="select" @click="onTime(2)" />
<u-input border v-model="end_at" type="select" placeholder="结束日期" @click="onTime(2)" />
</view>
</view>
@ -101,18 +102,18 @@
</u-dropdown-item>
</u-dropdown>
</view>
<view class="dataList" style="margin: 0 30rpx;">
<view class="dataList" style="margin: 0 36rpx;">
<view class="item" v-for="item in list" :key="i" v-if="list.length>0">
<view class="l">
<view class="a">{{item.describe}}</view>
<view class="b">{{item.create_time}}</view>
</view>
<view class="r">
<view class="a">-{{item.money}}</view>
<view class="a">{{item.money}}</view>
</view>
</view>
<view class="empty" v-else>
<image :src="$picUrl+'/static/news1/walletEmpty.png'" mode="widthFix"></image>
<image :src="$picUrl+'/static/news1/walletEmpty.png'" mode="widthFix"></image>
<text>暂无数据显示哦</text>
</view>
</view>
@ -138,6 +139,7 @@
background: 'url(' + img + ') center top no-repeat',
backgroundSize: '100% auto',
},
isEye:true,
OrderType: 0,
timeShow: false,
timeParams: {
@ -164,7 +166,8 @@
list: [],
start_at: '',
end_at: '',
paramsIndex: 0
paramsIndex: 0,
isDropShow: true
}
},
@ -178,7 +181,14 @@
})
},
methods: {
onRecharge(){
dropOpen() {
this.OrderType = 999
},
dropClose() {
this.OrderType =''
this.getBalance('')
},
onRecharge() {
uni.navigateTo({
url: '/pages/wallet/recharge/index'
})
@ -214,12 +224,13 @@
},
resetting() {
this.paramsIndex = 0;
this.start_at='';
this.end_at='';
this.start_at = '';
this.end_at = '';
this.getBalance('');
this.timeShow = false
},
onOrderTab(type) {
this.$refs.dropdown1.close();
this.OrderType = type;
this.getBalance(type)
},
@ -306,8 +317,8 @@
font-weight: 400;
color: #9C715E;
position: absolute;
top: 20rpx;
right: 20rpx;
top: 32rpx;
right: 36rpx;
z-index: 9;
}
@ -370,6 +381,7 @@
padding: 30rpx 0;
box-shadow: 0px 4px 9px 0px rgba(0, 0, 0, 0.12);
opacity: 1;
border-radius: 0 0 6px 6px;
.accountItem {
flex: 1;
@ -441,6 +453,7 @@
.getData {
position: relative;
background-color: #fff;
.dropdownStyle {
position: absolute;
@ -478,7 +491,7 @@
.btnText {
flex: 1;
margin: 0 10rpx;
margin-right: 20rpx;
background-color: #F3F4F6;
border-radius: 50rpx;
padding: 20rpx 40rpx;
@ -529,12 +542,28 @@
}
::v-deep .u-dropdown__menu {
height: 100% !important;
height: 100upx !important;
}
::v-deep .u-dropdown__menu__item {
justify-content: flex-end;
padding-right: 20rpx;
align-items: stretch;
}
// ::v-deep .u-dropdown__menu__item__text,
// ::v-deep .u-flex .u-icon__icon {
// color: #FE422B !important;
// }
::v-deep .u-input__right-icon {
display: none !important;
}
::v-deep .u-input {
text-align: center !important;
background-color: #F3F4F6 !important;
border-color: #F3F4F6 !important;
}
.order-tab {
@ -668,7 +697,6 @@
}
.l {
flex: 1;
.a {
padding: 20rpx 0;
@ -678,7 +706,7 @@
}
.b {
font-size: 28rpx;
font-size: 26rpx;
font-weight: 400;
color: #A3A3A3;
}

@ -36,7 +36,10 @@
</view>
</view>
</view>
<view class="all-details" style="padding: 50px 0;font-size: 16px;background: #fff;" v-else>暂无物流信息</view>
<view class="empty" v-else>
<image :src="$picUrl+'/static/news1/walletEmpty.png'" mode="widthFix"></image>
<text>暂无物流信息</text>
</view>
</view>
</template>
@ -217,17 +220,21 @@
padding: 10rpx 20rpx;
box-sizing: border-box;
color: #999;
// &:after {
// content: '';
// display: inline-block;
// position: absolute;
// left: -10px;
// top: 18px;
// border-left: 10px solid #fff;
// border-bottom: 10px solid #f3f3f3;
// }
}
}
}
.empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 400rpx;
background-color: #fff;
image {
width: 114rpx;
height: auto;
margin-top: 90 0rpx;
}
}
</style>

@ -1,5 +1,5 @@
<template>
<view style="padding-bottom: 60upx;">
<view style="padding-bottom: 60rpx;">
<view class="section">
<u-field v-model="form.goods_name" label="商品名称" placeholder="请输入商品名称">
</u-field>
@ -10,7 +10,7 @@
<u-field v-model="form.goods_num" type="number" label="商品数量" placeholder="请输入商品数量">
</u-field>
</view>
<view class="section">
<view class="section" style="padding-top: 26upx;">
<u-input class="realAddr" type="textarea" placeholder="请粘贴或输入文本,点击“识别”自动识别姓名、电话和地址" v-model="content">
</u-input>
<view class="btnContent">
@ -22,7 +22,7 @@
<view class="section">
<u-field v-model="form.receiver" label="收货人" placeholder="请输入收货人姓名">
</u-field>
<u-field v-model="form.receiver_phone" label="手机号" maxlength="11" type="number" placeholder="请输入收货人手机号">
<u-field v-model="form.receiver_phone" label="手机号" @input="handleInput" maxlength="11" type="number" placeholder="请输入收货人手机号">
</u-field>
<u-field @click="cityShow=true" v-model="city" :disabled="true" label="所属城市" placeholder="请选择所属城市"
right-icon="arrow-right">
@ -45,7 +45,7 @@
</u-field>
<u-field v-model="form.sender" label="发货人" placeholder="请输入发货人">
</u-field>
<u-field v-model="form.send_phone" label="发货人电话" type="number" maxlength="11" placeholder="请输入发货人电话">
<u-field v-model="form.send_phone" label="发货人电话" type="number" @input="handleSendInput" maxlength="11" placeholder="请输入发货人电话">
</u-field>
<picker @change="changeOption" mode="selector" range-key="express_name" :value="index" :range="expressList">
<u-field v-model="form.express_name" :disabled="true" label="物流公司" placeholder="请选择物流公司"
@ -134,6 +134,7 @@
chatList: [],
expressList: [],
action: '',
action:'',
}
},
onReady() {
@ -233,11 +234,35 @@
uni.showToast({
title: "录入成功"
})
return
uni.$emit('refreshData');
uni.navigateBack({
delta: 1
})
setTimeout(function() {
uni.$emit('refreshData');
uni.navigateBack({
delta: 1
})
}, 2000);
}
},
handleSendInput(e) {
if (this.validatePhoneNumber(event.target.value)) {
this.form.send_phone = event.target.value
} else {
this.form.send_phone = ''
}
},
handleInput(e) {
if (this.validatePhoneNumber(event.target.value)) {
this.form.receiver_phone = event.target.value
} else {
this.form.receiver_phone = ''
}
},
validatePhoneNumber(phone) {
var regExp = /^1[3456789]\d{9}$/;
if (regExp.test(phone)) {
return true;
} else {
return this.$toast('手机号不合法')
return false;
}
},
changeMode(e) {
@ -319,7 +344,7 @@
.section {
background-color: #fff;
padding: 0 24upx;
padding: 0 36upx;
margin-top: 16upx;
.realAddr {
@ -377,7 +402,7 @@
}
::v-deep .u-field {
padding: 20upx 10upx !important;
padding: 20upx !important;
}
::v-deep .uni-input-wrapper {
@ -397,7 +422,9 @@
text-align: right;
margin: 0 !important;
}
::v-deep .u-input__textarea{
padding: 40upx 0 20upx 0 !important;
}
.recordList {
padding: 30upx;
background-color: #fff;
@ -452,7 +479,7 @@
color: #FFFFFF;
line-height: 88upx;
text-align: center;
margin: 96upx auto;
margin: 76upx auto 0upx auto;
}

@ -1,5 +1,5 @@
<template>
<view>
<view style="padding-bottom: 42rpx;">
<view class="selectContent" style="border:none;background-color: #fff;">
<picker @change="changeMode" mode="selector" range-key="text" :value="index" :range="modeList">
<u-field v-model="send_name" :disabled="true" label="发货模式" placeholder="请选择发货模式"
@ -8,9 +8,10 @@
</picker>
<u-field v-model="form.send_company" label="发货公司" placeholder="请输入发货公司">
</u-field>
<u-field v-model="form.receiver" label="发货人" placeholder="请输入发货人名称">
<u-field v-model="form.sender" label="发货人" placeholder="请输入发货人名称">
</u-field>
<u-field v-model="form.receiver_phone" type="number" maxlength="13" label="发货人电话" placeholder="请输入发货人手机号">
<u-field v-model="form.send_phone" type="number" @input="handleInput" maxlength="13" label="发货人电话"
placeholder="请输入发货人手机号">
</u-field>
<picker @change="changeOption" mode="selector" range-key="express_name" :value="index" :range="expressList">
<u-field v-model="express_name" :disabled="true" label="物流公司" placeholder="请选择物流公司"
@ -30,8 +31,9 @@
<view class="recordTitle">
转账记录<text class="intro">最多上传6张</text>
</view>
<u-upload :action="action" :header="header" @on-uploaded="transferSuccess" name="file_path"
width="180" height="180" :file-list="transferList" :custom-btn="true" max-count="6">
<u-upload :action="action" :header="header" @on-uploaded="transferSuccess"
@on-remove="onRemoveTransfer" width="180" height="180" :file-list="transferList"
:custom-btn="true" max-count="6">
<template v-slot:addBtn>
<view class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
<image src="/static/news/icon-upload.png"></image>
@ -44,8 +46,8 @@
<view class="recordTitle">
聊天记录<text class="intro">最多上传6张</text>
</view>
<u-upload :action="action" :header="header" @on-uploaded="chatSuccess" name="file_path" width="180"
height="180" :file-list="chatList" :custom-btn="true" max-count="6">
<u-upload :action="action" :header="header" @on-uploaded="chatSuccess" width="180"
@on-remove="onRemoveChat" height="180" :file-list="chatList" :custom-btn="true" max-count="6">
<template v-slot:addBtn>
<view class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
<image src="/static/news/icon-upload.png"></image>
@ -55,13 +57,10 @@
</u-upload>
</view>
</view>
<view class="footerBtn" @click="onSubmit">
保存
</view>
</view>
<view class="footerBtn" @click="onSubmit">
保存
</view>
</view>
</template>
@ -85,7 +84,9 @@
action: '',
action: '',
transferList: [],
handleList: [],
chatList: [],
handChatList: [],
}
},
onLoad(o) {
@ -97,18 +98,17 @@
if (this.form.transfer_image_ids) {
let list = this.form.transfer_image_ids
list.forEach(item => {
item.url = item.file_path
item.url = item.file_path;
});
this.transferList = list
}
if (this.form.chat_image_ids) {
let list = this.form.chat_image_ids
list.forEach(item => {
item.url = item.file_path
item.url = item.file_path;
});
this.chatList = list
}
console.log(this.chatList, this.transferList)
},
onReady() {
this.action = (Config.get('apiUrl') + 'upload/image').replace("index.php?s=/", "")
@ -120,9 +120,39 @@
this.getExpressAll()
},
methods: {
handleInput(e) {
if (this.validatePhoneNumber(event.target.value)) {
this.form.send_phone = event.target.value
} else {
this.form.send_phone = ''
}
},
validatePhoneNumber(phone) {
var regExp = /^1[3456789]\d{9}$/;
if (regExp.test(phone)) {
return true;
} else {
return this.$toast('手机号不合法')
return false;
}
},
//
async onSubmit() {
const that = this;
//
let trList = []
this.transferList = this.transferList.concat(this.handleList);
this.transferList.forEach(item => {
trList.push(item.file_id)
});
this.form.transfer_image_id = trList.join(',');
//
let atList = []
this.chatList = this.chatList.concat(this.handChatList);
this.chatList.forEach(item => {
atList.push(item.file_id)
});
this.form.chat_image_id = atList.join(',');
console.log(that.form)
if (!that.send_name) {
return that.$toast('请选择发货模式')
@ -145,20 +175,32 @@
if (!that.form.transfer_image_id) {
return that.$toast('请上传转账记录')
}
let parmes = {
id: that.form.id,
send_type: that.form.send_type,
send_company: that.form.send_company,
sender: that.form.sender,
send_phone: that.form.send_phone,
express_no: that.form.express_no,
express_id: that.form.express_id,
chat_image_id: that.form.chat_image_id,
transfer_image_id: that.form.transfer_image_id,
}
let {
status,
message,
data
} = await newFunApi.editTransfer(that.form);
} = await newFunApi.editTransfer(parmes);
if (status == 200) {
uni.showToast({
title: "录入成功"
})
return
uni.$emit('refreshData');
uni.navigateBack({
delta: 1
})
setTimeout(function() {
uni.$emit('refreshData');
uni.navigateBack({
delta: 1
})
}, 2000);
}
},
changeMode(e) {
@ -194,32 +236,57 @@
url: "/pages/news3/LogisticsDetails?logisticsNum=" + this.form.express_no
})
},
onRemoveTransfer(index) {
this.transferList.splice(index, 1)
},
onRemoveChat(index) {
this.chatList.splice(index, 1)
},
//
transferSuccess(list) {
console.log(list)
let nList = []
list.forEach(item => {
if (item.response) {
nList.push(item)
}
});
list = nList
if (list.length > 0) {
uni.showToast({
title: "上传成功"
})
let idList = []
list.forEach(item => {
idList.push(item.response.data.fileInfo.file_id)
});
this.form.transfer_image_id = idList.join(',');
const {
response
} = list[0];
if (response.status == 200) {
uni.showToast({
title: "上传成功"
})
this.handleList = []
list.forEach(item => {
this.handleList.push(item.response.data.fileInfo)
});
}
}
},
//
chatSuccess(list) {
let nList = []
list.forEach(item => {
if (item.response) {
nList.push(item)
}
});
list = nList
if (list.length > 0) {
if (response) {
const {
response
} = list[0];
if (response.status == 200) {
uni.showToast({
title: "上传成功"
})
let idList = []
this.handChatList = []
list.forEach(item => {
idList.push(item.response.data.fileInfo.file_id)
this.handChatList.push(item.response.data.fileInfo)
});
this.form.chat_image_id = idList.join(',');
}
}
},
@ -237,7 +304,7 @@
.selectContent {
border-top: 1px solid transparent;
margin-top: 6upx;
padding-bottom: 100upx;
padding: 0 40upx !important;
}
::v-deep .u-border-bottom:after {
@ -245,7 +312,7 @@
}
::v-deep .u-field {
padding: 20upx 40upx !important;
padding: 20upx 0 !important;
}
::v-deep .uni-input-wrapper {
@ -259,6 +326,8 @@
::v-deep .u-flex-1 {
width: 360upx !important;
text-align: right !important;
color: #B0B0B0 !important;
margin: 0 !important;
}
.wuliu {
@ -283,13 +352,13 @@
color: #F55349;
line-height: 52upx;
text-align: center;
margin-right: 30upx;
margin-left: 10upx;
}
}
.recordList {
padding: 30upx;
padding: 0 0 30upx 0;
.recordItem {
.recordTitle {
@ -330,7 +399,7 @@
color: #FFFFFF;
line-height: 88upx;
text-align: center;
margin: 96upx auto 0 auto;
margin: 42upx auto 0 auto;
}

@ -14,7 +14,7 @@
只属于非商城订单
</view>
</view>
<view style="padding-bottom: 120upx;">
<view style="padding-bottom: 120upx;" v-if="goodsList.length>0">
<view class="dispatchContent" v-for="(item, index) in goodsList" :key="index">
<view class="orderNum">
订单号{{item.express_no}}
@ -38,8 +38,8 @@
</view>
</view>
<view class="totalNum">
<text>共计</text>
<text>¥{{item.total_price}}</text>
<text>共计:</text>
<text style="color: #F21A1C;">¥{{item.total_price}}</text>
</view>
<view class="footerBtn">
<view class="wuliuBtn" @click="onCondiments(item)">
@ -48,6 +48,10 @@
</view>
</view>
</view>
<view class="empty" v-else>
<image :src="$picUrl+'/static/news1/walletEmpty.png'" mode="widthFix"></image>
<text>暂无物流信息</text>
</view>
<view class="footerBtns" @click="manualEntry">
手动录入
</view>
@ -246,7 +250,7 @@
font-size: 28upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #3B3B3B;
color: #000000;
margin-bottom: 18upx;
}
@ -276,8 +280,7 @@
font-size: 32upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #F21A1C;
color: #FF584D;
}
}
@ -288,17 +291,16 @@
margin-top: 26upx;
text:first-child {
font-size: 24upx;
font-size: 32upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #B7B7B7;
font-weight: 700;
color: #3B3B3B;
}
text:nth-child(2) {
font-size: 32upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-weight: 700;
color: #3B3B3B;
margin: 0 10upx;
@ -340,7 +342,7 @@
width: 86%;
height: 88upx;
background: #F55349;
border-radius: 36px 36px 36px 36px;
border-radius: 6px;
opacity: 1;
font-size: 28upx;
font-family: PingFang SC, PingFang SC;
@ -352,4 +354,17 @@
bottom: 20rpx;
left: 7%;
}
.empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
image {
width: 114rpx;
height: auto;
margin-top: 200rpx;
}
}
</style>

Loading…
Cancel
Save