Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
wly-APP
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘川
wly-APP
Commits
421dd34e
Commit
421dd34e
authored
May 20, 2022
by
chuan.liu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
配额订单 新增初始化接口联调
parent
1bfc2e7f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
256 additions
and
309 deletions
+256
-309
manifest.json
manifest.json
+4
-0
order-upload.nvue
pages/group-buy/order-upload.nvue
+1
-6
login.nvue
pages/login/login.nvue
+39
-13
quota-order.nvue
pages/quota/quota-order.nvue
+144
-159
select-product.vue
pages/select-product/select-product.vue
+23
-25
select-sale-plan.vue
pages/select-sale-plan/select-sale-plan.vue
+17
-89
quotaOrder.js
servers/quotaOrder.js
+11
-0
user.js
servers/user.js
+14
-15
index.js
store/index.js
+3
-2
No files found.
manifest.json
View file @
421dd34e
...
...
@@ -102,6 +102,10 @@
"/sap"
:
{
"target"
:
"http://10.0.134.45:8000"
,
"changeOrigin"
:
true
},
"/crm-app"
:
{
"target"
:
"http://10.0.135.139:8080"
,
"changeOrigin"
:
true
}
}
}
...
...
pages/group-buy/order-upload.nvue
View file @
421dd34e
...
...
@@ -48,11 +48,6 @@
apiUpdateGroupOrder
} from '@/servers/groupOrder.js'
import {
mapMutations,
mapState
} from 'vuex'
export default {
data() {
return {
...
...
@@ -62,7 +57,7 @@
}
},
computed: {
...mapState(['
group
Order']),
...mapState(['
noQuota
Order']),
imageStyles() {
return {
width: 64,
...
...
pages/login/login.nvue
View file @
421dd34e
...
...
@@ -49,13 +49,17 @@
mapState
} from 'vuex'
import {
apiLogin
} from '@/servers/user.js'
export default {
data() {
return {
account: '',
password: '',
phone: '',
phone: '',
code: '',
loginType: 'password',
passwordVisible: false,
...
...
@@ -89,14 +93,17 @@
},
onLoad(option) {
console.log('login-option', option)
this.loginType = this.option?.loginType || 'password'
if(this.loginType === 'password'){
const {account,password} = this.userInfo
this.account = account
this.password = password
// this.goLogin()
}else{
this.code = this.option.code
this.loginType = this.option?.loginType || 'password'
if (this.loginType === 'password') {
const {
account,
password
} = this.userInfo
this.account = account
this.password = password
// this.goLogin()
} else {
this.code = this.option.code
}
},
methods: {
...
...
@@ -113,9 +120,27 @@
} else {
const ispass = await this.validate();
if (!ispass) return;
uni.switchTab({
url: '/pages/home/home'
});
const parmas = {
username: '0050000215',
password: 'DO1tjHPW0Z',
loginType: 'App'
}
// const res = await apiLogin(parmas)
const res = {
status: 1
}
if (res) {
this.$uStore({
name: 'userInfo',
value: {
customerCode: '0050000215'
}
});
uni.switchTab({
url: '/pages/home/home'
});
}
}
},
fnChangeLogin() {
...
...
@@ -150,7 +175,8 @@
resolve(flag);
})
}
},
...mapMutations(["$uStore"]),
}
}
</script>
...
...
pages/quota/quota-order.nvue
View file @
421dd34e
...
...
@@ -10,14 +10,16 @@
</view>
</view>
<view class="middle
upload summary
">
<view class="middle
summary upload salescenter
">
<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="bindPickerTypesChange" range-key='VALUE' mode="selector"
:value="typesIndex" :range="selectedSalePlanTypes">
<view class="uni-input">{{selectedSalePlanTypes[typesIndex].VALUE}}</view>
<picker class="picker-block" @change="bindPickerSalesCenterChange" mode="selector"
:value="salesCenterIndex" range-key='VALUE' :range="selectedSalesCenterArr">
<view class="uni-input">
{{selectedSalesCenterArr[salesCenterIndex] && selectedSalesCenterArr[salesCenterIndex].VALUE || '请选择'}}
</view>
</picker>
</view>
</view>
...
...
@@ -38,34 +40,36 @@
<view class="text-block title-first">
<text class="middle-date title-first__text">{{index+1}}</text>
</view>
<view class="text-block" @click="selectP
roduct(index,'inner'
)">
<text class="middle-date">
产品
</text>
<view class="text-block" @click="selectP
lanOrder(item,index
)">
<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">
<text class="middle-date-des">{{item.
SHORT_TEXT
}}</text>
<text class="middle-date-des">{{item.
ZZFLD000005
}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit">
</image>
</view>
</view>
<view class="text-block" @click="selectP
lanOrder(item,index
)">
<text class="middle-date">
计划编号
</text>
<view class="text-block" @click="selectP
roduct(index,'inner'
)">
<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">
<text class="middle-date-des">{{item.
ZZFLD000005
}}</text>
<text class="middle-date-des">{{item.
DESCRIPTION
}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit">
</image>
</view>
</view>
<view class="text-block">
<text class="middle-date">数量(件)</text>
<input class="middle-date-des" type="number" :value="item.quantity"
@input="calcInnerTotal($event,item,index)" placeholder="请填写" />
@input="calcInnerTotal($event,item,index)"
@blur="updateQuotaData(index,'inner',item)" placeholder="请填写" />
</view>
<view class="text-block">
<text class="middle-date">单价</text>
...
...
@@ -115,7 +119,8 @@
<view class="text-block">
<text class="middle-date">数量(件)</text>
<input class="middle-date-des" type="number" :value="item.quantity"
@input="calcOuterTotal($event,item,index)" placeholder="请填写" />
@input="calcOuterTotal($event,item,index)"
@blur="updateQuotaData(index,'outer',item)" placeholder="请填写" />
</view>
<view class="text-block">
<text class="middle-date">单价</text>
...
...
@@ -123,7 +128,7 @@
</view>
<view class="text-block text-block-last">
<text class="middle-date">小计</text>
<text class="middle-date-des">{{item.
total
}}</text>
<text class="middle-date-des">{{item.
NET_VALUE
}}</text>
</view>
</view>
<template v-slot:right>
...
...
@@ -187,6 +192,7 @@
<script>
import {
apiInitQuotaData,
apiUpdateQuotaData
} from '@/servers/quotaOrder.js'
...
...
@@ -200,29 +206,26 @@
return {
scrollTop: 0,
mode: 'inner',
selectedSale
PlanTypes
: [{
KEY:
'22'
,
VALUE: '
dasd
'
selectedSale
sCenterArr
: [{
KEY:
-1
,
VALUE: ''
}],
typesIndex: 0,
selectedSalesCenter: {},
salesCenterIndex: -1,
planoutLists: [],
planinnerLists: [{
checked: false,
"PRODUCT_ID": "",
"ORDERED_PROD": "",
"DESCRIPTION": "",
"SHORT_TEXT": "",
'NET_PRICE': '',
'NET_VALUE': '',
'quantity': 0,
'total': 0,
'product_info': {},
'salesplan_info': {}
}]
}],
HEADINFO: {},
productInitInfo: {}
}
},
computed: {
...mapState(['quotaOrder']),
...mapState(['quotaOrder'
, 'userInfo'
]),
intotalComputed() {
let money = 0
this.planinnerLists.forEach((item) => {
...
...
@@ -234,11 +237,14 @@
return money
}
},
created() {
this.initQuotaData()
},
mounted() {
console.log('监听到事件来自 onShow');
let _this = this
uni.$on('selectedSalePlan', function(data) {
console.log('监听到事件来自 selectedSalePlan ,携带参数 msg 为:', data);
console.log('监听到事件来自 selectedSalePlan ,携带参数 msg 为:', data
, _this.planinnerLists
);
const fromIndex = data.index * 1
let selectedSalePlan = data.selectedSalePlan
let selectedProductSalePlan = {}
...
...
@@ -247,6 +253,7 @@
item.salesplan_info = {
...selectedSalePlan
}
item.ZZFLD000005 = selectedSalePlan.PLAN_NUMBER
selectedProductSalePlan = {
...item
}
...
...
@@ -262,7 +269,20 @@
const selectedProduct = data.selectedProduct
_this.mode = data.mode
_this.updateQuotaData(fromIndex, data.mode, selectedProduct);
let product = {}
_this.planinnerLists = _this.planinnerLists.map((item, i) => {
if (i === fromIndex) {
item.product_info = {
...selectedProduct
}
product = {
...item
}
}
return item
})
_this.updateQuotaData(fromIndex, data.mode, product);
})
},
...
...
@@ -271,146 +291,57 @@
uni.$off('selectedProduct')
},
methods: {
// 初始化订单数据
async initQuotaData() {
const params = {
'PARTNER': this.userInfo.customerCode
}
const res = await apiInitQuotaData(params)
const {
HEAD,
YXDY,
ITEM_INNER
} = res
this.selectedSalesCenterArr = YXDY
this.planinnerLists[0] = {
...this.planinnerLists[0],
...ITEM_INNER[0]
}
this.HEADINFO = HEAD
this.productInitInfo = ITEM_INNER[0]
},
// 更新行项目信息
async updateQuotaData(productIndex, mode, product) {
console.log('updateQuotaData---entry', productIndex, mode, product)
let productId = ''
let item_type = ''
let item_inner = []
let item_outer = []
let productAfterInit = this.updateProductByInit(productIndex, mode, product)
console.log('2222', productAfterInit)
// 销售计划编号、产品编号和件数 都有才请求
if (!(productAfterInit?.product_info?.PRODUCT_ID && productAfterInit?.salesplan_info?.PLAN_NUMBER &&
productAfterInit?.ZZFLD000009)) {
return
}
if (mode === 'inner') {
productId = product.PRODUCT_ID
item_type = "ITEM_INNER"
item_outer = []
item_inner = [{
"GUID": "00000000000000000000000000000000",
"HEADER": "00000000000000000000000000000000",
"NUMBER_INT": "0000000010",
"ITM_TYPE": "",
"ZZFLD000029": "V001",
"ZZFLD000005": product?.ZZFLD000005 ? product?.ZZFLD000005 : '',
"ZZFLD000005_Z1": "",
"ZZFLD000006": "20220322",
"ZZFLD00002Q": "V001",
"ZZFLD00002Q_Z1": "",
"ORDERED_PROD": productId,
"DESCRIPTION": product.SHORT_TEXT,
"ZZFLD00002S": product.NORMS,
"UNIT": "",
"ZZFLD00002T": "盒",
"QUANTITY": "",
"ZZFLD00002U": "",
"ZZFLD00002W": "",
"ZZFLD000009": "1.00",
"INVENTORY": "",
"ZZFLD00002E": "",
"NET_PRICE": "",
"ZZFLD00002X": "",
"NET_VALUE": "",
"ZZFLD00002Z": "",
"ZZFLD00002A": "",
"ZZFLD00002F": "",
"ZZFLD00002G": "",
"ZZFLD00002I": "",
"ZZFLD000007": "",
"ZZFLD000032": "",
"ZZFLD00002O": "",
"ZZFLD000035": "",
"ZZFLD00002B": "",
"ZZFLD000008": "",
"ZZFLD00002P": "",
"CURRENCY": "",
"MODE": "",
"WAREHOUSE": "",
"PRDTYPE": "",
"YEAR": "",
"ZZFLD00002Q_D": ""
}]
item_inner = [productAfterInit]
} else {
productId = product.PRODUCT_ID
item_type = "ITEM_OUTER"
item_inner = []
item_outer = [{
"GUID": "00000000000000000000000000000000",
"HEADER": "00000000000000000000000000000000",
"NUMBER_INT": "0000000010",
"ITM_TYPE": "",
"ZZFLD000029": "V001",
"ZZFLD000005": "3800000826",
"ZZFLD000005_Z1": "",
"ZZFLD000006": "20220322",
"ZZFLD00002Q": "V001",
"ZZFLD00002Q_Z1": "",
"ORDERED_PROD": productId,
"DESCRIPTION": "五粮液.1618(131) 52%618mL×6",
"ZZFLD00002S": "52%618ML×6",
"UNIT": "",
"ZZFLD00002T": "盒",
"QUANTITY": "",
"ZZFLD00002U": "",
"ZZFLD00002W": "",
"ZZFLD000009": "1.00",
"INVENTORY": "",
"ZZFLD00002E": "",
"NET_PRICE": "",
"ZZFLD00002X": "",
"NET_VALUE": "",
"ZZFLD00002Z": "",
"ZZFLD00002A": "",
"ZZFLD00002F": "",
"ZZFLD00002G": "",
"ZZFLD00002I": "",
"ZZFLD000007": "",
"ZZFLD000032": "",
"ZZFLD00002O": "",
"ZZFLD000035": "",
"ZZFLD00002B": "",
"ZZFLD000008": "",
"ZZFLD00002P": "",
"CURRENCY": "",
"MODE": "",
"WAREHOUSE": "",
"PRDTYPE": "",
"YEAR": "",
"ZZFLD00002Q_D": ""
}]
item_outer = []
}
const params = {
"item_type": item_type,
"info": {
"GUID": "00000000000000000000000000000000",
"OBJECT_ID": "",
"PROCESS_TYPE": "ZS01",
"CUSTOMER": "0050000215",
"CUST_NAME": "崇州顺辰商贸有限公司",
"CUSTOMER_TYPE": "V003",
"ZZFLD000000": "",
"ZZFLD000028": "",
"ZZFLD00002D": "81000010",
"ZZFLD00002D_DSCR": "董平",
"POSTING_DATE": "20220321",
"STATUS": "E0001",
"ZZFLD000001": "0005000006",
"ZZFLD00003E": "",
"ZZFLD000002": "230",
"ZZFLD000003": "000000510100",
"ZZFLD000004": "",
"ZZFLD000004_DSCR": "",
"ZZFLD00002J": "",
"ZZFLD00002K": "",
"ZZFLD00002L": "",
"ZZFLD00002M": "",
"ZZFLD00002N": "",
"SALES_ORG": "",
"CHANNEL": "",
"DIVISION": "",
"CUST_PRIC_PROC": "",
"TAX_GROUP_BP_01": "",
"ZZFLD00003C": "",
"ZZFLD00009O": 0.00,
"ZZFLD00009Q": 0.00,
"ZHKYE": 0.00
},
"info": this.HEADINFO,
"item_inner": item_inner,
"item_outer": item_outer
}
...
...
@@ -433,6 +364,7 @@
return item
})
// 1对1
if (ITEM_OUTER && ITEM_OUTER[0] && product && product.salesplan_info) {
if (this.planoutLists.length > 0) {
let isHasOutTargetIndex = this.planoutLists.findIndex((out) => {
...
...
@@ -471,6 +403,37 @@
}
},
// 更新选中的产品
updateProductByInit(productIndex, mode, product) {
const {
PRODUCT_ID,
SHORT_TEXT
} = product.product_info
let obj = {}
if (mode === 'inner') {
this.planinnerLists = this.planinnerLists.map((item, i) => {
if (i === productIndex) {
item.ORDERED_PROD = PRODUCT_ID
item.DESCRIPTION = SHORT_TEXT
item.ZZFLD000009 = item.quantity
obj = item
}
return item
})
} else if (mode === 'outer') {
this.planoutLists = this.planoutLists.map((item, i) => {
if (i === productIndex) {
item.ORDERED_PROD = PRODUCT_ID
item.DESCRIPTION = SHORT_TEXT
item.ZZFLD000009 = item.quantity
obj = item
}
return item
})
}
return obj
},
// 计算小计
calcInnerTotal(e, item, i) {
console.log('sss', item, e)
let value = e.target.value
...
...
@@ -483,17 +446,21 @@
})
// value = `${value}`.replace(/[^0-9]/g, '') // 正则判断只能输入数字
},
// 计算小计
calcOuterTotal(e, item, i) {
console.log('sss', item, e)
let value = e.target.value
e.target.value = value * 1
this.planoutLists.forEach((product, index) => {
if (i === index) {
if (i === index && item.NET_VALUE) {
// TODO 可优化接口处理 目前暂时前端处理
product.ZZFLD000009 = value * 1
product.quantity = value * 1
product.total = value * item.NET_VALUE * 1 || 0
}
})
},
// 移除某个产品
handleDel(index, mode = 'inner') {
if (mode === 'inner') {
this.planinnerLists.splice(index, 1)
...
...
@@ -501,10 +468,11 @@
this.planoutLists.splice(index, 1)
}
},
// 选择销售计划
selectPlanOrder(product, index, mode = 'inner') {
if (this.planinnerLists && this.planinnerLists
.length > 0
) {
if (this.planinnerLists && this.planinnerLists
[0] && this.planinnerLists[0].ORDERED_PROD
) {
uni.navigateTo({
url: `/pages/select-sale-plan/select-sale-plan?from=quotaOrder&product=${JSON.stringify((product))}&index=${index}`
url: `/pages/select-sale-plan/select-sale-plan?from=quotaOrder&product=${JSON.stringify((product))}&index=${index}
&head=${JSON.stringify(this.HEADINFO)}
`
});
} else {
uni.showToast({
...
...
@@ -514,12 +482,22 @@
});
}
},
// 选择产品
selectProduct(index, mode = 'inner') {
this.mode = mode
uni.navigateTo({
url: `/pages/select-product/select-product?from='quotaOrder'&mode=${mode}&index=${index}`
});
if (this.salesCenterIndex !== -1) {
uni.navigateTo({
url: `/pages/select-product/select-product?from=quotaOrder&mode=${mode}&index=${index*1}&head=${JSON.stringify(this.HEADINFO)}`
});
} else {
uni.showToast({
title: '请先选择营销中心',
duration: 2000,
icon: 'none'
});
}
},
// 新增产品
addPlanout() {
let product = {
checked: false,
...
...
@@ -536,9 +514,12 @@
}
this.planinnerLists.unshift(product)
},
bindPickerTypesChange(e) {
// 选择营销中心
bindPickerSalesCenterChange(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.typesIndex = e.detail.value
this.salesCenterIndex = e.detail.value
this.selectedSalesCenter = this.selectedSalesCenterArr[this.salesCenterIndex]
this.HEADINFO.ZZFLD000001 = this.selectedSalesCenter.KEY
},
nextStep() {
let quotaOrder = {
...
...
@@ -676,6 +657,10 @@
justify-content: space-between;
}
.salescenter {
height: 100rpx;
}
.icon_plan {
width: 36rpx;
height: 36rpx;
...
...
pages/select-product/select-product.vue
View file @
421dd34e
...
...
@@ -6,19 +6,12 @@
<view
class=
"middle view"
>
<view
class=
"text-block "
>
<text
class=
"middle-date"
>
产品名称
</text>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.product"
placeholder=
"请填写"
/>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.product"
placeholder=
"模糊查询,请手动加*"
/>
</view>
<view
class=
"text-block text-block-last"
>
<text
class=
"middle-date"
>
产品编码
</text>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.code"
placeholder=
"请输入"
/>
</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"
>
<text
class=
"middle-date-des"
>
请选择
</text>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
"aspectFit"
></image>
</view>
</view>
-->
</view>
<view
class=
"planout-block"
>
...
...
@@ -83,7 +76,12 @@
array
:
[
'2021'
,
'2020'
,
'2019'
,
'2018'
],
index
:
0
,
condition
:
{
product
:
''
product
:
''
,
code
:
''
,
},
page
:
{
"PAGE"
:
"1"
,
"PAGESIZE"
:
"10"
,
},
lists
:
[{
checked
:
false
,
...
...
@@ -100,7 +98,8 @@
toPageParams
:
{
page
:
''
,
mode
:
''
,
index
:
0
index
:
0
,
head
:
{}
}
}
},
...
...
@@ -147,35 +146,34 @@
const
{
from
,
mode
,
index
index
,
head
}
=
option
this
.
toPageParams
.
index
=
index
this
.
toPageParams
.
mode
=
mode
this
.
toPageParams
.
page
=
from
this
.
toPageParams
.
head
=
JSON
.
parse
(
head
)
},
created
()
{
this
.
getProduct
();
},
methods
:
{
search
()
{
this
.
page
.
PAGE
=
1
this
.
getProduct
()
},
async
getProduct
()
{
const
params
=
{
"PAGE"
:
"1"
,
"PAGESIZE"
:
"10"
,
...
this
.
page
,
"MODE"
:
modeMap
[
this
.
toPageParams
.
page
],
"INFO"
:
{
"PROCESS_TYPE"
:
"ZS02"
,
"CUSTOMER"
:
"0050000215"
,
"ZZFLD00002J"
:
"V013"
},
"INFO"
:
this
.
toPageParams
.
head
,
"input"
:
{
"SHORT_TEXT"
:
this
.
condition
.
product
"SHORT_TEXT"
:
this
.
condition
.
product
,
"PRODUCT_ID"
:
this
.
condition
.
code
,
},
}
const
res
=
await
apiProductSelect
(
params
)
console
.
log
(
'ddd2'
,
res
)
this
.
lists
=
res
&&
res
.
DATA
.
map
((
item
)
=>
{
item
.
checked
=
false
return
item
...
...
pages/select-sale-plan/select-sale-plan.vue
View file @
421dd34e
...
...
@@ -39,7 +39,9 @@
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerTypesChange"
range-key=
'VALUE'
mode=
"selector"
:value=
"typesIndex"
:range=
"selectedSalePlanTypes"
>
<view
class=
"uni-input"
>
{{
selectedSalePlanTypes
[
typesIndex
].
VALUE
}}
</view>
<view
class=
"uni-input"
>
{{
selectedSalePlanTypes
[
typesIndex
]
&&
selectedSalePlanTypes
[
typesIndex
].
VALUE
||
'请选择'
}}
</view>
</picker>
</view>
</view>
...
...
@@ -107,6 +109,10 @@
MONAT
:
''
,
PLAN_TYPE
:
''
},
page
:
{
"PAGE"
:
"1"
,
"PAGESIZE"
:
"10"
,
},
lists
:
[{
checked
:
false
,
"REPORT_TYPE"
:
"正式提报"
,
...
...
@@ -123,11 +129,12 @@
},
],
selectedSalePlan
:
{},
selectedSalePlanTypes
:
[],
typesIndex
:
0
,
typesIndex
:
-
1
,
toPageParams
:
{
page
:
''
,
index
:
0
,
product
:
{}
product
:
{},
head
:
{}
}
}
},
...
...
@@ -173,10 +180,12 @@
if
(
option
&&
option
.
from
)
{
const
{
from
,
product
product
,
head
}
=
option
this
.
toPageParams
.
product
=
JSON
.
parse
(
product
)
this
.
toPageParams
.
page
=
from
this
.
toPageParams
.
head
=
JSON
.
parse
(
head
)
}
},
created
()
{
...
...
@@ -192,89 +201,10 @@
PLAN_TYPE
}
=
this
.
condition
const
params
=
{
'page'
:
1
,
'pagesize'
:
'10'
,
"info"
:
{
"GUID"
:
"00000000000000000000000000000000"
,
"OBJECT_ID"
:
""
,
"PROCESS_TYPE"
:
"ZS01"
,
"CUSTOMER"
:
"0050000215"
,
"CUST_NAME"
:
"崇州顺辰商贸有限公司"
,
"CUSTOMER_TYPE"
:
"V003"
,
"ZZFLD000000"
:
""
,
"ZZFLD000028"
:
""
,
"ZZFLD00002D"
:
"81000010"
,
"ZZFLD00002D_DSCR"
:
"董平"
,
"POSTING_DATE"
:
"20220321"
,
"STATUS"
:
"E0001"
,
"ZZFLD000001"
:
"0005000006"
,
"ZZFLD00003E"
:
""
,
"ZZFLD000002"
:
"230"
,
"ZZFLD000003"
:
"000000510100"
,
"ZZFLD000004"
:
""
,
"ZZFLD000004_DSCR"
:
""
,
"ZZFLD00002J"
:
""
,
"ZZFLD00002K"
:
""
,
"ZZFLD00002L"
:
""
,
"ZZFLD00002M"
:
""
,
"ZZFLD00002N"
:
""
,
"SALES_ORG"
:
"0 50000025"
,
"CHANNEL"
:
""
,
"DIVISION"
:
""
,
"CUST_PRIC_PROC"
:
"1"
,
"TAX_GROUP_BP_01"
:
"FULL"
,
"ZZFLD00003C"
:
""
,
"ZZFLD00009O"
:
"0.00"
,
"ZZFLD00009Q"
:
"0.00"
,
"ZHKYE"
:
"0.00"
},
"item"
:
{
"GUID"
:
""
,
"HEADER"
:
""
,
"NUMBER_INT"
:
"0000000010"
,
"ITM_TYPE"
:
""
,
"ZZFLD000029"
:
"V001"
,
"ZZFLD000005"
:
""
,
"ZZFLD000005_Z1"
:
""
,
"ZZFLD000006"
:
"20220322"
,
"ZZFLD00002Q"
:
""
,
"ZZFLD00002Q_Z1"
:
""
,
"ORDERED_PROD"
:
this
.
toPageParams
.
product
.
PRODUCT_ID
,
"DESCRIPTION"
:
"五粮液.1618(131) 52%618mL×6"
,
"ZZFLD00002S"
:
"52%618ML×6"
,
"UNIT"
:
"KAR"
,
"ZZFLD00002T"
:
"盒"
,
"QUANTITY"
:
""
,
"ZZFLD00002U"
:
""
,
"ZZFLD00002W"
:
""
,
"ZZFLD000009"
:
""
,
"INVENTORY"
:
""
,
"ZZFLD00002E"
:
"13.00%"
,
"NET_PRICE"
:
""
,
"ZZFLD00002X"
:
""
,
"NET_VALUE"
:
""
,
"ZZFLD00002Z"
:
"100%"
,
"ZZFLD00002A"
:
""
,
"ZZFLD00002F"
:
""
,
"ZZFLD00002G"
:
""
,
"ZZFLD00002I"
:
""
,
"ZZFLD000007"
:
""
,
"ZZFLD000032"
:
""
,
"ZZFLD00002O"
:
""
,
"ZZFLD000035"
:
""
,
"ZZFLD00002B"
:
""
,
"ZZFLD000008"
:
""
,
"ZZFLD00002P"
:
""
,
"CURRENCY"
:
""
,
"MODE"
:
""
,
"WAREHOUSE"
:
""
,
"PRDTYPE"
:
""
,
"YEAR"
:
""
,
"ZZFLD00002Q_D"
:
""
},
"input"
:
{
},
...
this
.
page
,
"INFO"
:
this
.
toPageParams
.
head
,
"ITEM"
:
this
.
toPageParams
.
product
,
"INPUT"
:
{},
"INPUT_APP"
:
{
GJAHR
,
MONAT
,
...
...
@@ -286,12 +216,10 @@
item
.
checked
=
false
return
item
})
console
.
log
(
'ddd2'
,
res
)
},
async
getSalesPlanTypes
()
{
const
res
=
await
apiSalesPlanTypesSelect
()
this
.
selectedSalePlanTypes
=
res
.
DATA
console
.
log
(
'getSalesPlanTypes'
,
res
)
},
search
()
{
this
.
getSalesPlan
();
...
...
servers/quotaOrder.js
View file @
421dd34e
import
apiHelper
from
'./api.helper.js'
/**
* 配额酒销售订单初始化数据
* @param
* @returns {Promise<AxiosResponse<T>>}
*/
export
async
function
apiInitQuotaData
(
params
)
{
const
res
=
await
apiHelper
.
post
(
'/sap/bc/ztpm/to_new_crm/transdata/so_quota_init'
,
params
)
return
res
}
/**
* 销售订单行项目选择或修改后进行页面数据更新
* @param
...
...
@@ -21,6 +31,7 @@ export async function apiUpdateQuotaOrder(params) {
}
export
default
{
apiInitQuotaData
,
apiUpdateQuotaData
,
apiUpdateQuotaOrder
}
servers/user.js
View file @
421dd34e
import
{
LOGIN
}
from
'./base.api.js'
import
apiHelper
from
'./api.helper.js'
/**
* 登录服务
* @param name 账户名
* @param password 账户密码
* @param captcha 验证码
* @returns {Promise<AxiosResponse<T>>}
*/
export
async
function
login
(
params
)
{
const
{
status
,
data
}
=
await
apiHelper
.
get
(
LOGIN
,
params
,
false
)
return
data
import
apiHelper
from
'./api.helper.js'
/**
* 登录服务
* @param
* @returns {Promise<AxiosResponse<T>>}
*/
export
async
function
apiLogin
(
params
)
{
const
res
=
await
apiHelper
.
post
(
'/crm-app/login'
,
params
)
return
res
}
export
default
{
apiLogin
}
export
default
{
login
}
store/index.js
View file @
421dd34e
...
...
@@ -39,8 +39,9 @@ const store = new Vuex.Store({
vuex_version
:
'1.0.1'
,
vuex_demo
:
'绛紫'
,
userInfo
:
{
account
:
''
,
password
:
''
username
:
''
,
password
:
''
,
customerCode
:
''
||
'0050000215'
},
quotaOrder
:
{
'ITEM_INNER'
:
[],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment