<template>
|
<!-- 转发 -->
|
<view class="forward">
|
<view v-if="roleType == 1"><u-notice-bar :text="text" :fontSize="30" mode="link"></u-notice-bar></view>
|
<view v-else-if="roleType == 2"><u-notice-bar :text="text1" :fontSize="30" mode="link"></u-notice-bar></view>
|
<view class="forward-card" v-for="(val, index) in jhOrderPlanForwardList" :key="index">
|
<u--form labelPosition="top" :model="forwardForm" ref="form1">
|
<u-form-item label="转发对象" labelWidth="20%" ref="item1" @click="forwardObjectClick(index)">
|
<u--input v-model="val.name" placeholder="点击选择转发对象" :readonly="true"></u--input>
|
</u-form-item>
|
<u-form-item label="输入数量" labelWidth="20%" ref="item1">
|
<view class="forward-card-amount">
|
<view class="forward-card-amount-input"><u--input v-model="val.carNum" placeholder="请输入转发数量"></u--input></view>
|
<u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index)">
|
<u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="全部转发" name="全部转发"></u-checkbox>
|
</u-checkbox-group>
|
</view>
|
</u-form-item>
|
<u-form-item><u-button text="删除本组" :hairline="false" type="error" @click="deleteGroup(index, val)"></u-button></u-form-item>
|
</u--form>
|
</view>
|
<!-- 增加按钮 -->
|
<view class="AdddBtn"><u-button text="添加" :hairline="false" type="primary" :customStyle="{ marginBottom: '8px' }" @click="addForm"></u-button></view>
|
<!-- 按钮 -->
|
<view class="forwardBtn"><u-button text="提交" :hairline="false" type="warning" @click="submitForm"></u-button></view>
|
|
<!-- 选择货代或车队弹出框 -->
|
<view class="selectHuoDaiOrFleet-container">
|
<u-popup :show="selectPopupShow" mode="bottom" @close="selectPopupClose" @open="selectPopupOpen">
|
<view class="selectHuoDaiOrFleet-container-box">
|
<u-tabs :list="list1" @click="tabClick"></u-tabs>
|
<view class="" v-if="!tabHuoDai">
|
<u-cell-group>
|
<u-cell v-for="(item, index) in fleetData" :key="index" :title="item.name">
|
<view class="cell-util" slot="value"><u-button @click="forwardFleetObjectSelect(item)" text="选择" type="primary" size="mini"></u-button></view>
|
</u-cell>
|
</u-cell-group>
|
</view>
|
<view class="" v-else-if="tabHuoDai">
|
<u-cell-group>
|
<u-cell v-for="(item, index) in huoDaiData" :key="index" :title="item.name">
|
<view class="cell-util" slot="value"><u-button @click="forwardHuoDaiObjectSelect(item)" text="选择" type="primary" size="mini"></u-button></view>
|
</u-cell>
|
</u-cell-group>
|
</view>
|
</view>
|
</u-popup>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import { customerId } from '@/utils/status';
|
|
export default {
|
onLoad(params) {
|
// 客户
|
this.cars2 = Number(params.cars2);
|
this.carNumSurplus1 = Number(params.carNumSurplus1);
|
// 货代
|
this.carNum = Number(params.carNum);
|
this.carNumSurplusHuodai = this.forwardSurplus = Number(params.carNumSurplusHuodai);
|
this.orderPlanId = params.orderPlanId;
|
this.$reqGet('forwardList', { OrderPlanId: params.orderPlanId }).then(res => {
|
if (res.data.length !== 0 && this.roleType == 1) {
|
this.jhOrderPlanForwardList = res.data.map(item => {
|
return {
|
id: item.id,
|
orderPlanId: item.orderPlanId,
|
name: item.xsUserName === null ? item.fleetName : item.xsUserName,
|
carNum: item.carNum,
|
xsUserId: item.xsUserId === null ? 0 : item.xsUserId,
|
fleetId: item.fleetId === null ? 0 : item.fleetId,
|
checkboxValue1: ''
|
};
|
});
|
} else if (res.data.length !== 0 && this.roleType == 2) {
|
this.jhOrderPlanForwardList = res.data.map(item => {
|
return {
|
id: item.id,
|
orderPlanId: item.orderPlanId,
|
name: item.fleetName,
|
carNum: item.carNum,
|
xsUserId: item.xsUserId === null ? 0 : item.xsUserId,
|
fleetId: item.fleetId === null ? 0 : item.fleetId,
|
checkboxValue1: ''
|
};
|
});
|
} else {
|
this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => {
|
if (!v.orderPlanId) {
|
return {
|
...v,
|
orderPlanId: params.orderPlanId
|
};
|
}
|
});
|
}
|
});
|
},
|
data() {
|
return {
|
forwardSurplus: 0,
|
paramsName: {},
|
huoDaiData: [],
|
fleetData: [],
|
// 日计划id
|
orderPlanId: '',
|
jhOrderPlanForwardList: [
|
{
|
orderPlanId: '',
|
name: '',
|
carNum: null,
|
xsUserId: 0,
|
fleetId: 0,
|
checkboxValue1: ''
|
}
|
],
|
// 索引,利用索引正确显示
|
index: '',
|
checkboxValue1: '',
|
selectPopupShow: false,
|
list1: [
|
{
|
name: '车队'
|
},
|
{
|
name: '货代'
|
}
|
],
|
tabHuoDai: false,
|
carNumSurplus1: '',
|
cars2: '',
|
carNum: '',
|
carNumSurplusHuodai: '',
|
formNum: 1
|
};
|
},
|
onShow() {
|
this.init();
|
if (this.roleType == 2) {
|
this.list1.splice(1, 1);
|
this.tabHuoDai = false;
|
}
|
},
|
computed: {
|
roleType() {
|
return uni.getStorageSync('roleType');
|
},
|
text() {
|
return `已领取${this.cars2}张日计划单,剩余${this.carNumSurplus1}张日计划单`;
|
},
|
text1() {
|
return `已拥有${this.carNum}张日计划单,剩余${this.carNumSurplusHuodai}张日计划单`;
|
}
|
},
|
methods: {
|
init() {
|
console.log('roleType', this.roleType);
|
switch (this.roleType) {
|
case 1:
|
this.getAllHuoDaiByCustomerId();
|
this.getFleet();
|
break;
|
case 2:
|
this.getFleet();
|
break;
|
default:
|
break;
|
}
|
},
|
checkboxChange(value, index) {
|
console.log('复选框变化', value, index);
|
if (value.length != 0) {
|
console.log(this.forwardSurplus, '货代转发全部数量');
|
this.jhOrderPlanForwardList[index].carNum = this.forwardSurplus;
|
} else {
|
this.jhOrderPlanForwardList[index].carNum = null;
|
}
|
},
|
// 获取货代列表
|
getAllHuoDaiByCustomerId() {
|
this.$reqGet('getAllHuoDaiByCustomerId').then(res => {
|
this.huoDaiData = res.data;
|
console.log('货代列表', res);
|
});
|
},
|
// 获取车队列表
|
getFleet() {
|
this.$reqGet('getFleet').then(res => {
|
this.fleetData = res.data;
|
console.log('车队列表', res);
|
});
|
},
|
// 转发
|
forwardObjectClick(index) {
|
this.selectPopupShow = true;
|
this.index = index;
|
console.log(this.huoDaiData, this.fleetData, '转发');
|
},
|
selectPopupClose() {
|
this.selectPopupShow = false;
|
},
|
selectPopupOpen() {
|
console.log('弹出框打开了');
|
},
|
// 转发选择货代
|
forwardHuoDaiObjectSelect(item) {
|
this.selectPopupShow = false;
|
this.jhOrderPlanForwardList[this.index].xsUserId = item.userId;
|
this.jhOrderPlanForwardList[this.index].name = item.name;
|
this.jhOrderPlanForwardList[this.index].fleetId = 0;
|
console.log('货代选择', this.jhOrderPlanForwardList[this.index]);
|
},
|
// 转发选择车队
|
forwardFleetObjectSelect(item) {
|
this.selectPopupShow = false;
|
this.jhOrderPlanForwardList[this.index].fleetId = item.id;
|
this.jhOrderPlanForwardList[this.index].name = item.name;
|
this.jhOrderPlanForwardList[this.index].xsUserId = 0;
|
console.log('车队选择', this.jhOrderPlanForwardList[this.index]);
|
},
|
addForm() {
|
this.jhOrderPlanForwardList.push({
|
orderPlanId: this.orderPlanId,
|
name: '',
|
carNum: 0,
|
xsUserId: 0,
|
fleetId: 0,
|
checkboxValue1: ''
|
});
|
},
|
// 删除一组表单
|
deleteGroup(index, v) {
|
let tempcarNum = v.carNum;
|
if (v.id && this.jhOrderPlanForwardList[index].carNum !== tempcarNum) {
|
this.$reqPost('deleteForward', { id: v.id }, 'params').then(res => {
|
if (res.code === 0) {
|
this.jhOrderPlanForwardList.splice(index, 1);
|
this.$u.toast('删除成功');
|
} else if (res.code === 1) {
|
this.$u.toast(res.msg);
|
}
|
});
|
} else {
|
this.jhOrderPlanForwardList.splice(index, 1);
|
this.$u.toast('删除成功');
|
}
|
},
|
// 提交
|
submitForm() {
|
let isPass = false;
|
this.jhOrderPlanForwardList.forEach(v => {
|
if (isNaN(Number(v.carNum)) || Number(v.carNum) <= 0) {
|
this.$u.toast('请输入合法数字');
|
isPass = false;
|
return isPass;
|
}
|
// else if (Number(v.carNum) > Number(this.forwardSurplus)) {
|
// this.$u.toast('超过最大订单剩余量');
|
// isPass = false;
|
// return isPass;
|
// }
|
else {
|
isPass = true;
|
return isPass;
|
}
|
});
|
if (isPass) {
|
this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => {
|
console.log(res, 'zh');
|
if (res.code == 0) {
|
this.$u.toast('提交成功');
|
setTimeout(() => {
|
uni.navigateBack({ delta: 1 });
|
}, 1000);
|
} else {
|
this.$u.toast(res.msg);
|
}
|
});
|
}
|
},
|
tabClick(item) {
|
console.log('tab点击', item);
|
if (item.name == '货代') {
|
this.tabHuoDai = true;
|
} else {
|
this.tabHuoDai = false;
|
}
|
}
|
}
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
::v-deep.forward {
|
width: 90%;
|
margin: 0 auto;
|
|
// 卡片
|
.forward-card {
|
margin-top: vww(10);
|
.notice-bar {
|
width: 100%;
|
height: vww(24);
|
}
|
.u-form {
|
.u-form-item {
|
.u-form-item__body {
|
.u-form-item__body__right {
|
.u-form-item__body__right__content {
|
.u-form-item__body__right__content__slot {
|
.forward-card-amount {
|
display: flex;
|
justify-content: space-between;
|
align-items: flex-end;
|
.forward-card-amount-input {
|
width: vww(245);
|
}
|
}
|
.u-input {
|
border: 1px solid #dddddd;
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
.forward-card-amount {
|
display: flex;
|
}
|
}
|
|
.forwardBtn {
|
width: 100%;
|
// position: fixed;
|
bottom: vww(50);
|
}
|
|
.selectHuoDaiOrFleet-container {
|
.u-popup {
|
.u-transition {
|
height: 95%;
|
|
.u-popup__content {
|
overflow: scroll !important;
|
.selectHuoDaiOrFleet-container-box {
|
width: 90%;
|
margin: 0 auto;
|
}
|
}
|
}
|
}
|
}
|
}
|
</style>
|