Browse Source

add income api

tags/v1.1.30
刘嘉炜 3 years ago
parent
commit
21e0660b32
  1. 167
      src/pages/turnover/turnover.vue
  2. BIN
      src/static/images/icon/triangle_c33.png
  3. 5
      src/subpackage/income/pages/details_record/details_record.vue
  4. 65
      src/subpackage/income/pages/search/search.vue

167
src/pages/turnover/turnover.vue

@ -5,7 +5,6 @@
<view :class="[tabID == 3?'active':'']" @click="tabChange(3)">门店统计</view> <view :class="[tabID == 3?'active':'']" @click="tabChange(3)">门店统计</view>
</view> </view>
<view class="tc-total-section"> <view class="tc-total-section">
<!-- 品牌 --> <!-- 品牌 -->
<view class="tts-address" v-if="tabID == 4&&storeList.length > 1"> <view class="tts-address" v-if="tabID == 4&&storeList.length > 1">
<image class="ta-logo" :src="totalData.logo" mode="aspectFit"></image> <image class="ta-logo" :src="totalData.logo" mode="aspectFit"></image>
@ -31,10 +30,30 @@
</view> </view>
<view><text>¥</text>{{totalData.count_type_actual_income_amount || '0'}}</view> <view><text>¥</text>{{totalData.count_type_actual_income_amount || '0'}}</view>
</view> </view>
<view class="tts-preview">
<view>线上 ¥{{totalData.online_actual_income_amount || '0'}}</view>
<view>线下 ¥{{totalData.offline_actual_income_amount || '0'}}</view>
<view class="tts-preview-ls">
<view class="tpl-item">
<view class="ti-name">
<text>线上</text>
<image mode="aspectFit" src="/static/images/icon/question_mark.png"></image>
</view>
<view class="ti-price">¥{{totalData.online_actual_income_amount || '0'}}</view>
</view>
<view class="tpl-item">
<view class="ti-name">
<text>线下</text>
<image mode="aspectFit" src="/static/images/icon/question_mark.png"></image>
</view>
<view class="ti-price">¥{{totalData.offline_actual_income_amount || '0'}}</view>
</view>
<view class="tpl-item">
<view class="ti-name">
<text>联营</text>
<image mode="aspectFit" src="/static/images/icon/question_mark.png"></image>
</view> </view>
<view class="ti-price">¥{{totalData.joint_actual_income_amount || '0'}}</view>
</view>
</view>
</view> </view>
<view class="tc-info-section"> <view class="tc-info-section">
<view class="tis-tab"> <view class="tis-tab">
@ -57,36 +76,32 @@
<view class="td-tip">总收入</view> <view class="td-tip">总收入</view>
<view class="td-price"><text>¥</text>{{botData.count_type_actual_income_amount || 0}}</view> <view class="td-price"><text>¥</text>{{botData.count_type_actual_income_amount || 0}}</view>
<view class="td-detail">
<view>
<view class="td-first">
线上 ¥{{ botData.online_actual_income_amount || '0' }}
<view class="td-check-btn">
<text>查看收款明细</text>
<image mode="aspectFit" src="/static/images/icon/triangle_c33.png"></image>
</view> </view>
<view>
<text class="margin">收款{{ botData.online_income_num || '0' }} </text>
{{ botData.online_income_amount || '0' }}
<view class="td-income-info">
<view class="tii-line">
<view class="tl-tit">线上 ¥{{ botData.online_actual_income_amount || '0' }}</view>
<view class="tl-detail">
<view class="td-item">收款{{ botData.online_income_num || '0' }}{{ botData.online_income_amount || '0' }}</view>
<view class="td-item">退款{{ botData.online_refund_num || '0' }}<text>{{ botData.online_refund_amount || '0' }}</text></view>
</view> </view>
<view>
<text class="margin">退款{{ botData.online_refund_num || '0' }} </text>
<text class="orange"> {{ botData.online_refund_amount || '0' }} </text>
</view> </view>
<view class="tii-line">
<view class="tl-tit">线下 ¥{{ botData.offline_actual_income_amount || '0' }}</view>
<view class="tl-detail">
<view class="td-item">收款{{ botData.offline_income_num || '0' }}{{ botData.offline_income_amount || '0' }}</view>
<view class="td-item">退款{{ botData.offline_refund_num || '0' }}<text>{{ botData.offline_refund_amount || '0' }}</text></view>
</view> </view>
<view>
<view class="td-first">
线下 ¥{{ botData.offline_actual_income_amount || '0' }}
</view> </view>
<view>
<text class="margin">收款{{ botData.offline_income_num || '0' }} </text>
{{botData.offline_income_amount || '0'}}
</view>
<view>
<text class="margin">退款{{ botData.offline_refund_num || '0' }} </text>
<text class="orange"> {{ botData.offline_refund_amount || '0' }} </text>
<view class="tii-line">
<view class="tl-tit">联营 ¥{{ botData.joint_actual_income_amount || '0' }}</view>
<view class="tl-detail">
<view class="td-item">收款{{ botData.joint_income_num || '0' }}{{ botData.joint_income_amount || '0' }}</view>
<view class="td-item">退款{{ botData.joint_refund_num || '0' }}<text>{{ botData.joint_refund_amount || '0' }}</text></view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
@ -387,7 +402,9 @@ export default {
background-color: #fff; background-color: #fff;
} }
.turnover-container{ .turnover-container{
padding-bottom: 40upx;
padding-bottom: calc( 40upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
padding-bottom: calc( 40upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
} }
.tc-tab{ .tc-tab{
height: 134upx; height: 134upx;
@ -445,7 +462,6 @@ export default {
} }
.tts-money{ .tts-money{
padding-top: 48upx; padding-top: 48upx;
>view{ >view{
margin-bottom: 34upx; margin-bottom: 34upx;
text-align: center; text-align: center;
@ -481,20 +497,38 @@ export default {
} }
} }
} }
.tts-preview{
padding-bottom: 70upx;
.tts-preview-ls{
padding-top: 50upx;
padding-bottom: 36upx;
@include centerFlex(space-between); @include centerFlex(space-between);
>view{
width: 50%;
padding: 0 24upx;
line-height: 40upx;
.tpl-item{
padding: 0 10upx;
flex-shrink: 0;
flex-grow: 1;
width: 33.33%;
.ti-name{
@include centerFlex(center);
margin-bottom: 6upx;
line-height: 34upx;
font-weight: 500;
font-size: 24upx;
color: #1A1A1A;
>image{
margin-left: 10upx;
flex-shrink: 0;
width: 28upx;
height: 28upx;
}
}
.ti-price{
text-align: center; text-align: center;
font-size: 28upx;
line-height: 34upx;
font-size: 24upx;
font-weight: 500; font-weight: 500;
color: #1a1a1a;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color: #1A1A1A;
@include textHide(1);
}
} }
} }
@ -577,37 +611,46 @@ export default {
} }
@include textHide(1); @include textHide(1);
} }
.td-detail{
padding: 0 24upx;
width: 100%;
@include centerFlex(center);
>view{
max-width: 50%;
flex-shrink: 0;
.td-first{
margin-bottom: 24upx;
color: #1A1A1A;
font-weight: 500;
.td-check-btn{
padding-bottom: 12upx;
width: 642upx;
line-height: 40upx;
font-size: 28upx; font-size: 28upx;
border-bottom: 2upx solid #D8D8D8;
color: #9C9C9F;
@include centerFlex(flex-end);
>image{
margin-left: 6upx;
width: 22upx;
height: 22upx;
} }
&:first-child{
margin-right: 24upx;
} }
&+view{
margin-left: 24upx;
.td-income-info{
padding: 40upx 0 0;
width: 642upx;
.tii-line{
margin-bottom: 50upx;
.tl-tit{
margin-bottom: 24upx;
line-height: 40upx;
font-size: 28upx;
font-weight: 500;
color: #1A1A1A;
@include textHide(1);
} }
>view{
.tl-detail{
@include centerFlex(space-between);
flex-wrap: nowrap;
.td-item{
width: 50%;
flex-grow: 0;
flex-shrink: 0;
font-size: 24upx; font-size: 24upx;
color: #9C9C9F; color: #9C9C9F;
@include textHide(1);
>text{ >text{
}
.orange{
color: #F6843E; color: #F6843E;
} }
.margin{
margin-right: 12upx;
} }
} }
} }

BIN
src/static/images/icon/triangle_c33.png

After

Width: 44  |  Height: 44  |  Size: 339 B

5
src/subpackage/income/pages/details_record/details_record.vue

@ -42,8 +42,8 @@
<view class="dr-ls" v-if="incomeLs&&incomeLs.length"> <view class="dr-ls" v-if="incomeLs&&incomeLs.length">
<details-item <details-item
v-for="(e, i) in incomeLs" v-for="(e, i) in incomeLs"
:key="i"
:income-info="e"
:key = "i"
:income-info = "e"
></details-item> ></details-item>
</view> </view>
@ -376,6 +376,7 @@
>input{ >input{
flex-grow: 1; flex-grow: 1;
height: 100%; height: 100%;
font-weight: 400;
font-size: 28upx; font-size: 28upx;
color: #1a1a1a; color: #1a1a1a;
} }

65
src/subpackage/income/pages/search/search.vue

@ -2,20 +2,38 @@
<view class="income-search"> <view class="income-search">
<view class="is-search-bar"> <view class="is-search-bar">
<view class="isb-frame"> <view class="isb-frame">
<image class="if-search-icon" mode="aspectFit" src="/subpackage/income/static/images/search.png"></image>
<input confirm-type="search" />
<image class="if-close-icon" mode="aspectFit" src="/subpackage/income/static/images/close.png"></image>
<view class="if-search-icon" >
<image
mode="aspectFit"
src="/subpackage/income/static/images/search.png"
></image>
</view>
<input
confirm-type = "search"
v-model = "searchKey"
@focus = 'iptFocus'
@blur = 'iptBlur'
@confirm = 'searchConfirm'
hold-keyboard
/>
<view class="if-close-icon" >
<image
mode="aspectFit"
src="/subpackage/income/static/images/close.png"
v-if="isFocus&&searchKey!=''"
@click="searchKey = ''"
></image>
</view>
</view> </view>
</view> </view>
<view class="is-main"> <view class="is-main">
<view class="im-ls" v-if="incomeLs.length"> <view class="im-ls" v-if="incomeLs.length">
<details-item v-for="i in 20" :key="i"></details-item>
<details-item v-for="(e, i) in incomeLs" :key = "i" :income-info = "e"></details-item>
</view> </view>
<view class="im-null" v-else> <view class="im-null" v-else>
<image mode="aspectFit" src="/subpackage/income/static/images/account_null.png"></image> <image mode="aspectFit" src="/subpackage/income/static/images/account_null.png"></image>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
@ -32,12 +50,36 @@ export default {
data(){ data(){
return { return {
incomeLs: [], incomeLs: [],
isFocus: false,
searchKey: '',
page: 1,
} }
}, },
onLoad(){ onLoad(){
this.getRecordLs({});
},
onReachBottom(){
let { searchKey, page } = this;
this.getRecordLs({
page: ++page,
key: searchKey,
})
}, },
methods: { methods: {
searchConfirm(e){
console.warn(e);
this.page = 1;
this.incomeLs = [];
this.getRecordLs({
key: e.detail.value || ''
})
},
iptFocus(){
this.isFocus = true;
},
iptBlur(){
this.isFocus = false;
},
getRecordLs({ getRecordLs({
brand_id = '', brand_id = '',
stadium_id = '', // -1 id stadium_id = '', // -1 id
@ -47,7 +89,7 @@ export default {
income_type = '', // online 线 offline线 joint income_type = '', // online 线 offline线 joint
page = 1, page = 1,
page_size = 20, page_size = 20,
order_no= '',
key= '',
}){ }){
util.showLoad(); util.showLoad();
server.get({ server.get({
@ -61,7 +103,7 @@ export default {
scene, scene,
type, type,
income_type, income_type,
order_no
key
}, },
failMsg: '加载失败!', failMsg: '加载失败!',
}) })
@ -99,10 +141,15 @@ export default {
font-size: 28upx; font-size: 28upx;
color: #1a1a1a; color: #1a1a1a;
} }
>image{
>view{
flex-shrink: 0; flex-shrink: 0;
width: 30upx; width: 30upx;
height: 30upx; height: 30upx;
font-size: 0;
>image{
width: 100%;
height: 100%;
}
} }
.if-search-icon{ .if-search-icon{
margin-right: 24upx; margin-right: 24upx;

Loading…
Cancel
Save