Commit a4a4a4c2 authored by xiangzj's avatar xiangzj

以酒促酒功能

parent d4d6c62f
......@@ -303,8 +303,8 @@
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "#fff",
"titleText": "未发货产品",
"backgroundColor": "transparent",
"titleText": "选择要货类型",
"autoBackButton": false,
"splitLine": true
}
......@@ -324,7 +324,22 @@
// }
// }
// }
}, {
},{
"path": "pages/purchase/purchase-list",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "#fff",
"titleText": "未发货产品",
"autoBackButton": true
}
}
}
},
{
"path": "pages/purchase/purchase-apply",
"style": {
"app-plus": {
......
......@@ -65,6 +65,10 @@
<text class="detal-item-label">未发货件数</text>
<text class="detal-item-value">{{ele.undeliveredQuantity}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">未发货瓶数</text>
<text class="detal-item-value">{{ele.availableBot}}</text>
</view>
<!-- <view class="block-detal-item">
<text class="detal-item-label">传统当月计划量</text>
<text class="detal-item-value">{{ele.applyNum}}</text>
......@@ -207,7 +211,7 @@
receiveInfoHeightComputed() {
console.log(this.receiveInfoHeight - 0,'[][]')
if(this.receiveInfoHeight - 0 === 0){
const height = this.allFiles.length > 0 ? 485 : 385
const height = this.allFiles.length > 0 ? 485 : 0
return { "minHeight": height + "px" }
}else{
return {
......@@ -242,8 +246,8 @@
// 获取arraybuffer格式数据
let res = await uni.request({
method: "POST",
url: `https://crm.wuliangye.com.cn/crm-app/attachmentDownFile?id=`+item.id, //生产
// url: `http://221.10.127.60:5000/crm-app/attachmentDownFile?id=`+item.id,
//url: `https://crm.wuliangye.com.cn/crm-app/attachmentDownFile?id=`+item.id, //生产
url: `http://221.10.127.60:5000/crm-app/attachmentDownFile?id=`+item.id,
params: {
id: item.id
},
......@@ -500,8 +504,7 @@
display: flex;
flex-direction: column;
margin-top: 40rpx;
height: 240rpx;
overflow: hidden;
min-height: 240rpx;
// padding-bottom: 96rpx;
}
......@@ -556,7 +559,7 @@
}
.upload-block {
display: flex;
height: 388rpx;
height: 88rpx;
border-radius: 4px;
margin-top: 20rpx;
flex-direction: column;
......
......@@ -64,17 +64,29 @@
<text class="detal-item-value">{{item.ZZFLD00000F}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">总计划量</text>
<text class="detal-item-label">总计划量(件)</text>
<text class="detal-item-value">{{item.ZZFLD00000H}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">本次占用计划数量</text>
<text class="detal-item-label">本次占用计划数量(件)</text>
<text class="detal-item-value">{{item.ZZFLD00000R}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">剩余可用计划量</text>
<text class="detal-item-label">剩余可用计划量(件)</text>
<text class="detal-item-value">{{item.ZZFLD00000P}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">总计划量(瓶)</text>
<text class="detal-item-value">{{item.TOTAL_BOT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">本次占用计划数量(瓶)</text>
<text class="detal-item-value">{{item.CURNT_ATPBOT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">剩余可用计划量(瓶)</text>
<text class="detal-item-value">{{item.REMAIN_BOT}}</text>
</view>
</view>
</view>
<view class="order-middle view" :class="{'order-middle-auto':ishowReceiveDetail}"
......@@ -100,9 +112,13 @@
<text class="detal-item-label">件数</text>
<text class="detal-item-value">{{item.ZZFLD000009}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">瓶数</text>
<text class="detal-item-value">{{item.USE_BOT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">数量</text>
<text class="detal-item-value">{{item.ZZFLD000009*item.ZZFLD00002W}}</text>
<text class="detal-item-value">{{item.QUANTITY}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">单价</text>
......
......@@ -33,7 +33,8 @@
async getClientByApp(){
const res = await getClientByApp({code: this.userInfo.code})
if(res){
this.src = 'https://yingxiao.wuliangye.com.cn/webroot/login/jxsLogin.html?'+res
this.src = 'https://yingxiao.wuliangye.com.cn/webroot/login/jxsLogin_test.html?'+res //测试环境
// this.src = 'https://yingxiao.wuliangye.com.cn/webroot/login/jxsLogin.html?'+res //生产环境
}else{
uni.showToast({
title: '权限校验不通过',
......
......@@ -112,6 +112,10 @@
<text class="middle-date">未发货件数</text>
<text class="middle-date-des">{{ele.undeliveredQuantity}}</text>
</view>
<view class="text-block">
<text class="middle-date">未发货瓶数</text>
<text class="middle-date-des">{{ele.availableBot}}</text>
</view>
<!-- <view class="text-block">
<text class="middle-date">传统当月计划量</text>
<text class="middle-date-des">{{ele.planQuantity}}</text>
......
......@@ -127,6 +127,56 @@
</view>
</view>
</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">
<text class="uni-input">{{clueDetail.total_bot}}</text>
</view>
</view>
</view>
</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">
<text class="uni-input">{{clueDetail.initplan_bot}}</text>
</view>
</view>
</view>
</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">
<text class="uni-input">{{clueDetail.billing_bot}}</text>
</view>
</view>
</view>
</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">
<text class="uni-input">{{clueDetail.atp_bot}}</text>
</view>
</view>
</view>
</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">
<text class="uni-input">{{clueDetail.remain_bot}}</text>
</view>
</view>
</view>
</view>
<view class="text-block">
<text class="middle-date">总计划额(万元)</text>
<view class="middle-date-des uni-list picker-year">
......
......@@ -106,10 +106,26 @@
<text class="detal-item-label">已开票计划(件)</text>
<text class="detal-item-value">{{item.billing_qty}}</text>
</view>
<view class="block-detal-item block-detal-item-last">
<view class="block-detal-item">
<text class="detal-item-label">已占用计划(件)</text>
<text class="detal-item-value">{{item.atp_qty}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">总计划(瓶)</text>
<text class="detal-item-value">{{item.total_bot}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">初始计划(瓶)</text>
<text class="detal-item-value">{{item.initplan_bot}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">已开票计划(瓶)</text>
<text class="detal-item-value">{{item.billing_bot}}</text>
</view>
<view class="block-detal-item block-detal-item-last">
<text class="detal-item-label">已占用计划(瓶)</text>
<text class="detal-item-value">{{item.atp_bot}}</text>
</view>
</view>
</view>
</cell>
......
......@@ -350,8 +350,8 @@
// 获取arraybuffer格式数据
let res = await uni.request({
method: "POST",
url: `https://crm.wuliangye.com.cn/crm-app/attachmentDownFile?id=`+item.id, // 生产
// url: `http://221.10.127.60:5000/crm-app/attachmentDownFile?id=`+item.id,
// url: `https://crm.wuliangye.com.cn/crm-app/attachmentDownFile?id=`+item.id, // 生产
url: `http://221.10.127.60:5000/crm-app/attachmentDownFile?id=`+item.id,
params: {
id: item.id
},
......@@ -506,8 +506,8 @@
data.tempFilePaths.forEach((item,idx) => {
console.log('idx',data.tempFilePaths[idx],data.tempFiles[idx].file.name)
uni.uploadFile({
url: `https://crm.wuliangye.com.cn/crm-app/webUpload/ajaxUpload`, //生产
// url: `http://221.10.127.60:5000/crm-app/webUpload/ajaxUpload`,
// url: `https://crm.wuliangye.com.cn/crm-app/webUpload/ajaxUpload`, //生产
url: `http://221.10.127.60:5000/crm-app/webUpload/ajaxUpload`,
filePath: data.tempFilePaths[idx],
name: 'file',
formData: {
......@@ -918,6 +918,7 @@
padding: 0 32rpx;
justify-content: space-between;
align-items: center;
background: #fff;
}
.btn {
......
This diff is collapsed.
This diff is collapsed.
......@@ -37,6 +37,10 @@
<text class="detal-item-label">数量(件)</text>
<text class="detal-item-value">{{item.quantity}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">数量(瓶)</text>
<text class="detal-item-value">{{item.USE_BOT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">单价</text>
<text class="detal-item-value">{{item.NET_PRICE}}</text>
......@@ -84,17 +88,29 @@
<text class="detal-item-value">{{item.ZZFLD00000F}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">总计划量</text>
<text class="detal-item-label">总计划量(件)</text>
<text class="detal-item-value">{{item.ZZFLD00000H}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">本次占用计划数量</text>
<text class="detal-item-label">本次占用计划数量(件)</text>
<text class="detal-item-value">{{item.ZZFLD00000R}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">剩余可用计划量</text>
<text class="detal-item-label">剩余可用计划量(件)</text>
<text class="detal-item-value">{{item.ZZFLD00000P}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">总计划量(瓶)</text>
<text class="detal-item-value">{{item.TOTAL_BOT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">本次占用计划数量(瓶)</text>
<text class="detal-item-value">{{item.CURNT_ATPBOT}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">剩余可用计划量(瓶)</text>
<text class="detal-item-value">{{item.REMAIN_BOT}}</text>
</view>
</view>
<view class="middle summary">
<view class="summary-block">
......
......@@ -93,7 +93,18 @@
<!-- <text class="mustPosIcon">*</text> -->
<!-- <text class="middle-date">数量(件)</text> -->
<input class="middle-date-des" type="number" :value="item.quantity"
@input="calcInnerTotal($event,item,index)"
@input="calcInnerTotal($event,item,index,'qty')"
@blur="updateQuotaData(index,'inner',item)" placeholder="请填写" />
</view>
<view class="text-block">
<view class="middle-date">
<text class="mustPosIcon">*</text>
<text class="middle-date">数量(瓶)</text>
</view>
<!-- <text class="mustPosIcon">*</text> -->
<!-- <text class="middle-date">数量(件)</text> -->
<input class="middle-date-des" type="number" :value="item.USE_BOT"
@input="calcInnerTotal($event,item,index,'bot')"
@blur="updateQuotaData(index,'inner',item)" placeholder="请填写" />
</view>
<view class="text-block">
......@@ -372,7 +383,7 @@
// 销售计划编号、产品编号和件数 都有才请求
if (!(productAfterInit?.product_info?.PRODUCT_ID && productAfterInit?.salesplan_info?.PLAN_NUMBER &&
productAfterInit?.ZZFLD000009)) {
(productAfterInit?.ZZFLD000009 || productAfterInit?.USE_BOT))) {
return
}
......@@ -492,8 +503,8 @@
return obj
},
// 计算小计
calcInnerTotal(e, item, i) {
// console.log('sss', item, e)
calcInnerTotal(e, item, i,type) {
console.log('sss', e, item, i)
let value = 0
if (e.target.value) {
value = e.target.value
......@@ -502,13 +513,23 @@
value = e.detail.value
e.detail.value = value * 1
}
if(type === 'qty'){
// 件数
this.planinnerLists.forEach((product, index) => {
if (i === index) {
product.quantity = value * 1
product.total = value * item.NET_VALUE * 1 || 0
product.total = (value * product.ZZFLD00002W + product.USE_BOT) * item.NET_PRICE * 1 || 0
}
})
}else{
// 瓶数
this.planinnerLists.forEach((product, index) => {
if (i === index) {
product.USE_BOT = value * 1
product.total = (value + product.quantity * product.ZZFLD00002W) * item.NET_PRICE * 1 || 0
}
})
}
// value = `${value}`.replace(/[^0-9]/g, '') // 正则判断只能输入数字
},
// 计算小计
......
......@@ -99,6 +99,10 @@
<text class="middle-date">可用件数</text>
<text class="middle-date-des">{{item.REMAIN_QTY}}</text>
</view>
<view class="text-block text-block-last">
<text class="middle-date">可用瓶数</text>
<text class="middle-date-des">{{item.REMAIN_BOT}}</text>
</view>
</view>
<!-- </uni-swipe-action-item>
......
......@@ -37,33 +37,44 @@
</view>
<view class="text-block-2">
<view class="text-block text-block-1">
<text class="middle-date-des">开票件数({{item.zzfld00002t}})</text>
<text class="middle-date-des">开票件数</text>
<text class="middle-date">{{item.use_zzfld9}}</text>
</view>
<view class="text-block">
<text class="middle-date-des">数量(瓶)</text>
<text class="middle-date">{{item.use_quantity}}</text>
<text class="middle-date-des">开票瓶数</text>
<text class="middle-date">{{item.use_bot}}</text>
</view>
</view>
<view class="text-block-2">
<view class="text-block text-block-1">
<text class="middle-date-des">单价</text>
<text class="middle-date">{{item.net_price}}</text>
<text class="middle-date-des">总共数量(瓶)</text>
<text class="middle-date">{{item.use_quantity}}</text>
</view>
<view class="text-block">
<text class="middle-date-des">价税合计</text>
<text class="middle-date">{{item.net_value}}</text>
<text class="middle-date-des">单价</text>
<text class="middle-date">{{item.net_price}}</text>
</view>
</view>
<view class="text-block-2">
<view class="text-block text-block-1">
<text class="middle-date-des">价税合计</text>
<text class="middle-date">{{item.net_value}}</text>
</view>
<view class="text-block">
<text class="middle-date-des">税率</text>
<text class="middle-date">{{item.zzfld00002e}}</text>
</view>
<view class="text-block">
</view>
<view class="text-block-2">
<view class="text-block text-block-1">
<text class="middle-date-des">剩余开票件数</text>
<text class="middle-date">{{item.remain_zzfld9}}</text>
</view>
<view class="text-block">
<text class="middle-date-des">剩余开票瓶数</text>
<text class="middle-date">{{item.remain_bot}}</text>
</view>
</view>
<!-- <view class="text-block-2"> -->
<!-- <view class="text-block text-block-1">
......
......@@ -10,6 +10,11 @@ export async function apiPurchaseList(params) {
const res = await apiHelper.post('/crm-app/Invinfo/getUnFinishedInv'+params)
return res
}
// 以酒促酒
export async function apiGetUnFinishedInvByPromote(params) {
const res = await apiHelper.post('/crm-app/Invinfo/getUnFinishedInvByPromote'+params)
return res
}
export async function querySysDictionaryDetailsByCode(params) {
const res = await apiHelper.post('/crm-app/dictionary/querySysDictionaryDetailsByCode', params, {
......
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