Commit 5d97187d authored by chuan.liu's avatar chuan.liu

新增账票查询模块

parent 8faaf623
......@@ -610,6 +610,57 @@
}
}
}
},
{
"path": "pages/billing-invoice/billing-invoice",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "#fff",
"titleText": "账票查询",
"autoBackButton": false,
"splitLine": {
"color": "#ccc",
"height": "0.5px"
}
}
}
}
},
{
"path": "pages/account-inquiry/account-inquiry",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "transparent",
"titleText": "账款查询",
"autoBackButton": true
},
"bounce": "none"
}
}
},
{
"path": "pages/marketsupportfee-select/marketsupportfee-select",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "transparent",
"titleText": "市场支持费用查询",
"autoBackButton": true
},
"bounce": "none"
}
}
}
],
"globalStyle": {
......
<template>
<view class="lists" :style="mainHeight">
<list class="list-wrapper">
<view class="status_bar" :style="navHeight"></view>
<view class="header-bg"></view>
<cell class="order view" v-for="(item,index) in lists" :key="index">
<view class="listview">
<view class="cell-list">
<view class="middle view planout-block-item">
<view class="item-block item-block-code">
<text class="item-block-label">开票方编号:{{item.BILLTO_BP}}</text>
</view>
<view class="item-block item-block-name">
<text class="item-block-label item-block__label">{{item.BILLTO_NAME}}</text>
</view>
<view class="item-block item-block-date">
<text class="detal-item-label">开票方名称</text>
</view>
<view class="block-detal block-detal-last">
<view class="block-detal-item">
<text class="detal-item-label">贷款</text>
<text class="detal-item-value">{{item.GOODS_AMOUNT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">随量保证金</text>
<text class="detal-item-value">{{item.FORWARD_AMOUNT}}</text>
</view>
<view class="block-detal-item block-detal-item-last">
<text class="detal-item-label">经销商保证金</text>
<text class="detal-item-value">{{item.DEALING_AMOUNT}}</text>
</view>
</view>
</view>
</view>
</view>
<view class="empty-block">
</view>
</cell>
</list>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import {
apiAccountInquiry
} from '@/servers/billingInvoice.js'
export default {
data() {
return {
itemHead: {},
lists: []
}
},
computed: {
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
mainHeight() {
return {
'height': `${this.sysinfo.safeArea.height }px`,
}
},
...mapState(['sysinfo', 'userInfo'])
},
created() {
this.accountInquiry();
},
methods: {
async accountInquiry() {
let CUSTOMER = []
if (this.userInfo.role !== 'WLY001') {
CUSTOMER = [{
SIGN: 'I',
OPTION: 'EQ',
LOW: this.userInfo.customerCode,
HIGH: ''
}]
}
const params = {
'USER_BP': '0050000215' || this.userInfo.customerCode,
ROLE: 'WLY001',
CUSTOMER,
}
const res = await apiAccountInquiry(params)
this.lists = res.DATA
}
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.header-bg {
height: 284rpx;
margin-top: -88rpx;
margin-bottom: -85px;
background: linear-gradient(232deg, #f4e2e2 25%, #faf3f3 98%);
}
.lists {
width: 750rpx;
position: relative;
overflow-y: scroll;
background: #f0f4f5;
}
.list-wrapper {
flex: 1;
}
.order {
display: flex;
padding: 0 16rpx;
background: #f0f4f5;
}
.listview {
flex: 1;
flex-direction: column;
}
.empty-block {
height: 14px;
background: #f0f4f5;
}
.cell-list {
flex-direction: column;
}
.date {
font-size: 28rpx;
color: #999999;
font-size: 28rpx;
text-align: center;
margin-bottom: 24rpx;
}
.icon-address {
width: 44rpx;
height: 44rpx;
margin-right: 16rpx;
}
.cell-list-block__content {
display: flex;
flex: 1;
flex-direction: column;
margin-bottom: 40rpx;
}
.cell-list-block__title {
color: #333;
font-size: 30rpx;
flex: 1;
align-items: center;
margin-bottom: 4rpx;
}
.cell-list-block {
overflow: hidden;
display: flex;
flex-direction: column;
background: #fff;
padding: 20rpx 24rpx;
border-radius: 20rpx;
margin-bottom: 56rpx;
}
.list-block-title {
display: flex;
align-items: center;
margin-bottom: 16rpx;
}
.list-block-title__text {
color: #999999;
font-size: 26rpx;
}
.planout-block-item {
flex: 1;
padding: 40rpx 32rpx;
background-color: #fff;
border-radius: 16rpx 100rpx 16rpx 16rpx;
}
.item-block {
overflow: hidden;
background-color: #fff;
padding: 0 16rpx;
}
.item-block-label {
font-size: 24rpx;
color: #333;
}
.item-block__label {
flex: 1;
text-align: left;
font-size: 32rpx;
color: #333;
font-weight: 500;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.item-block-code {
display: flex;
align-items: center;
justify-content: space-between;
}
.item-block-name {
margin-top: 32rpx;
margin-bottom: 8rpx;
}
.item-block-date {
margin-top: 12rpx;
margin-bottom: 48rpx;
}
.item-block-label-des {
flex: 1;
text-align: left;
font-size: 28rpx;
color: #333;
}
.block-detal {
display: flex;
flex-direction: column;
background: #f8f8f8;
border-radius: 20rpx;
padding: 28rpx 32rpx;
margin-bottom: 52rpx;
}
.block-detal-last {
margin-bottom: 32rpx;
}
.block-detal-item {
display: flex;
margin-bottom: 32rpx;
justify-content: space-between;
}
.block-detal-item-last {
margin-bottom: 0;
}
.detal-item-label {
color: #999;
font-size: 24rpx;
}
.detal-item-value {
color: #333;
font-size: 28rpx;
}
</style>
<template>
<view class="order view">
<view class="status_bar" :style="navHeight"></view>
<view class="listview">
<view class="cell-list">
<view class="cell-list-block" @click="goOrder('account-inquiry')">
<image class="icon-address" src="@/static/image/uc_address@3x.png" mode="aspectFit"></image>
<view class="cell-list-block__content">
<text class="cell-list-block__title">账款查询</text>
<text class="cell-list-block__desc">Account inquiry</text>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
<view class="cell-list-block" @click="goOrder('marketsupportfee-select')">
<image class="icon-address" src="@/static/image/uc_setting@3x.png" mode="aspectFit"></image>
<view class="cell-list-block__content">
<text class="cell-list-block__title">市场支持费用查询</text>
<text class="cell-list-block__desc">Market support fee inquiry</text>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
export default {
data() {
return {
}
},
computed: {
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
...mapState(['sysinfo'])
},
methods: {
goOrder(type) {
uni.navigateTo({
url: `/pages/${type}/${type}`
});
}
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
/* #ifndef APP-PLUS */
page {
width: 100%;
min-height: 100%;
display: flex;
background: #fff;
}
.status_bar {
height: var(--status-bar-height);
}
/* #endif */
.order {
flex: 1;
background: #fff;
padding: 0 32rpx;
}
.listview {
flex: 1;
flex-direction: column;
padding-top: 64rpx;
}
.cell-list {
flex-direction: column;
}
.icon-address {
width: 88rpx;
height: 88rpx;
margin-right: 24rpx;
}
.cell-list-block__content {
display: flex;
flex: 1;
flex-direction: column;
}
.cell-list-block__title {
color: #333;
font-size: 28rpx;
font-weight: 500;
flex: 1;
align-items: center;
margin-bottom: 4rpx;
}
.cell-list-block__desc {
color: #acacac;
font-size: 12px;
}
.icon-arrow {
width: 12rpx;
height: 20rpx;
}
.cell-list-block {
display: flex;
height: 77px;
margin-bottom: 24rpx;
background: #f8f9fa;
border-radius: 8px;
padding: 0 36rpx 0 16rpx;
align-items: center;
}
</style>
<template>
<view class="lists">
<view class="status_bar" :style="navHeight"></view>
<view class="header-bg"></view>
<view class="main">
<view class="middle view">
<view class="text-block">
<text class="middle-date">开始日期</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerYearStartChange" mode="date"
:value="condition.start" fields='day'>
<text class="uni-input">{{condition.start}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view>
<view class="text-block text-block-last">
<text class="middle-date">截止日期</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerYearEndChange" mode="date"
:value="condition.end" fields='day'>
<text class="uni-input">{{condition.end}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view>
</view>
<view class="planout-block">
<button class="btn" type="default" @tap="search">
<text class="btn-text">查询</text>
</button>
</view>
<view class="planout-block-lists">
<view class="middle view planout-block-item" v-for="(item,index) in lists" :key='item.index'>
<view class="text-block">
<text class="middle-date middle-date-select">客户编码</text>
<text class="middle-date-des middle-date-des-select">{{item.CUSTOMER}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">客户名称</text>
<text class="middle-date-des middle-date-des-select">{{item.CUSTOMER_NAME}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">上账日期</text>
<text class="middle-date-des middle-date-des-select">{{item.POSTING_DATE}}</text>
</view>
<view class="text-block text-block-last">
<text class="middle-date middle-date-select">金额</text>
<text class="middle-date-des middle-date-des-select">{{item.GOODS_AMOUNT}}</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import {
apiGetMarketSupportFee
} from '@/servers/billingInvoice.js'
import timeFormat from '@/uview-ui/libs/function/timeFormat.js'
export default {
data() {
return {
isOpened: 'none',
condition: {
start: '',
end: ''
},
lists: [],
}
},
computed: {
...mapState(['sysinfo', 'userInfo']),
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
}
},
created() {
this.condition.start = timeFormat(new Date(), 'yyyy-mm-dd')
this.condition.end = timeFormat(new Date(), 'yyyy-mm-dd')
this.getMarketSupportFee();
},
methods: {
search() {
this.getMarketSupportFee()
},
async getMarketSupportFee() {
let CUSTOMER = []
let POSTING_DATE = []
if (this.condition.start) {
POSTING_DATE = [{
SIGN: 'I',
OPTION: 'BT',
LOW: '20220401' || this.condition.start.replaceAll('-', ''),
HIGH: '20220530' || this.condition.end.replaceAll('-', '')
}]
}
if (this.userInfo.role !== 'WLY001') {
CUSTOMER = [{
SIGN: 'I',
OPTION: 'EQ',
LOW: this.userInfo.customerCode,
HIGH: ''
}]
}
const params = {
'USER_BP': '4000000105' || this.userInfo.customerCode,
ROLE: 'WLY001',
CUSTOMER,
POSTING_DATE,
}
const res = await apiGetMarketSupportFee(params)
this.lists = res.DATA
},
bindPickerYearStartChange(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.condition.start = e.detail.value
},
bindPickerYearEndChange(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.condition.end = e.detail.value
},
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.header-bg {
height: 284rpx;
margin-top: -88rpx;
background: linear-gradient(232deg, #f4e2e2 25%, #faf3f3 98%);
}
.lists {
position: relative;
flex-direction: column;
overflow-y: scroll;
background: #f0f4f5;
overflow-x: hidden;
height: 100%;
}
.main {
flex-direction: column;
margin-top: -164rpx;
padding: 0 16rpx;
}
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 32rpx 64rpx 32rpx 48rpx;
}
.text-block {
display: flex;
overflow: hidden;
height: 96rpx;
margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6;
}
.text-block-last {
margin-bottom: 0;
border-bottom: 0;
}
.middle-date {
flex: 2;
font-size: 28rpx;
line-height: 96rpx;
color: #333;
margin-bottom: 8rpx;
}
.middle-date-des {
flex: 3;
font-size: 28rpx;
line-height: 96rpx;
height: 96rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #888;
}
.middle-date-select {
color: #888;
}
.middle-date-des-select {
color: #333;
}
.picker-year {
position: relative;
border-radius: 4px;
align-items: center;
}
.uni-list-cell {
flex: 1;
}
.uni-list-cell-db {
flex: 1;
}
.picker-block {
flex: 1;
}
.icon-arrow {
position: absolute;
right: 0;
top: 16px;
width: 12rpx;
height: 20rpx;
z-index: 10;
}
.planout-block-lists {
display: flex;
flex-direction: column;
overflow: hidden;
}
.planout-block {
display: flex;
justify-content: space-between;
height: 84rpx;
margin-top: 64rpx;
margin-bottom: 48rpx;
padding: 0 24rpx;
}
.planout-block-item {
flex: 1;
width: 750rpx;
margin-bottom: 26rpx;
}
.btn {
flex: 1;
height: 92rpx;
background: $wly-primary-color;
border-radius: 46rpx;
}
.btn-text {
color: #fff;
font-size: 34rpx;
}
</style>
......@@ -184,7 +184,6 @@
flex-direction: column;
overflow-y: scroll;
background: #f0f4f5;
height: 100%;
}
.main {
......
......@@ -42,29 +42,36 @@
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">我的开票</text>
</view>
<view class="entry-block" @click="goPage('produce-material')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">生产备料</text>
</view>
<view class="entry-block" @click="goPage('my-purchase')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">我的要货</text>
</view>
<view class="entry-block" @click="goPage('my-order')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">我的订单</text>
</view>
</view>
<view class="entry-block" @click="goPage('produce-material')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">生产备料</text>
</view>
<view class="entry-block" @click="goPage('my-purchase')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">我的要货</text>
</view>
<view class="entry-block" @click="goPage('my-order')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">我的订单</text>
</view>
<view class="entry-block" @click="goPage('billing-invoice')">
<view class="entry-bill">
<image class="entry-bill-icon" src="@/static/image/uc_company@3x.png" mode=""></image>
</view>
<text class="entry-bill-text">账票查询</text>
</view>
</view>
<!-- <view class="bottom">
<view class="cell-list">
......@@ -79,7 +86,7 @@
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view> -->
</view>
</view>
</view>
</template>
......@@ -99,18 +106,18 @@
},
computed: {
...mapState(['sysinfo'])
},
methods:{
goPage(page){
uni.navigateTo({
url:`/pages/${page}/${page}`
})
},
checkApplyOrder(){
uni.navigateTo({
url:"/pages/apply-order/apply-order"
})
}
},
methods: {
goPage(page) {
uni.navigateTo({
url: `/pages/${page}/${page}`
})
},
checkApplyOrder() {
uni.navigateTo({
url: "/pages/apply-order/apply-order"
})
}
}
}
</script>
......@@ -216,25 +223,24 @@
border: 1px solid #fde5e1;
}
.middle {
.middle {
display: flex;
flex-direction: row;
background-color: #fff;
padding: 50rpx 48rpx 0;
padding: 50rpx 48rpx 0;
flex-wrap: wrap;
}
.entry-block {
width: 160rpx;
.entry-block {
width: 160rpx;
flex-direction: column;
align-items: center;
justify-content: center;
margin-bottom: 48rpx;
}
.entry-block-tail{
justify-content: center;
margin-bottom: 48rpx;
}
.entry-block-tail {}
.entry-bill {
position: relative;
}
......@@ -269,13 +275,13 @@
margin-top: 24rpx;
}
.cell-list {
.cell-list {
flex-direction: column;
}
.cell-list-block {
width: 750rpx;
height: 100rpx;
height: 100rpx;
padding: 0 32rpx;
margin-bottom: 4rpx;
background-color: #fff;
......@@ -291,7 +297,7 @@
.cell-list-block__title {
color: #333;
font-size: 28rpx;
flex: 1;
flex: 1;
align-items: center;
}
......
import apiHelper from './api.helper.js'
/**
* 经销商市场支持费用查询。
* @param name 账户名
* @returns {Promise<AxiosResponse<T>>}
*/
export async function apiGetMarketSupportFee(params) {
const res = await apiHelper.post('/sap/bc/ztpm/to_new_crm/transdata/get_dealer_msc', params)
return res
}
/**
* 经销商账款查询
* @param name 账户名
* @returns {Promise<AxiosResponse<T>>}
*/
export async function apiAccountInquiry(params) {
const res = await apiHelper.post('/sap/bc/ztpm/to_new_crm/transdata/get_da', params)
return res
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment