Commit 2aa10059 authored by 吴春's avatar 吴春

1

parent 4a44d3fd
<style lang="scss" scoped> <style lang="scss" scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.reimbursementInfor{
height: 100vh;
}
.reimbursementInforHeaderBox{
background: linear-gradient(-30deg, #4FA9FF, #4779FF);
}
.reimbursementInforTitle{
position: relative;
z-index: 3
}
.reimbursementInforTitle.fixed{
position: fixed;
left: 0;
top: 0;
right: 0;
z-index: 3;
background: linear-gradient(-30deg, #4FA9FF, #4779FF);
}
.reimbursementInforTitle.fixed .reimbursementInforTsBox{
// top: 22rpx;
}
.reimbursementInforTsBox{
width: 60%;
position: absolute;
top: 118rpx;
left: 80rpx;
right: 300rpx;
overflow: hidden;
}
.reimbursementInforT-text{
} .reimbursementInfor {
.reimbursementInforText{ height: 100vh;
font-weight: 500; }
font-size: 32rpx;
color: #FFFFFF; .reimbursementInforHeaderBox {
white-space: nowrap; background: linear-gradient(-30deg, #4FA9FF, #4779FF);
margin: 0 22rpx 20rpx; }
}
.reimbursementInforText.active{ .reimbursementInforTitle {
color: #257BF1; position: relative;
background: #FFFFFF; z-index: 3
border-radius: 6rpx; }
padding: 5rpx 20rpx;
} .reimbursementInforTitle.fixed {
.saveBox{ position: fixed;
position: fixed; left: 0;
right: 50rpx; top: 0;
bottom: 50rpx; right: 0;
z-index: 2; z-index: 3;
} background: linear-gradient(-30deg, #4FA9FF, #4779FF);
.saveBox view{ }
background: #257BF2;
box-shadow: 0rpx 0rpx 10rpx #fff; .reimbursementInforTitle.fixed .reimbursementInforTsBox {
color: #fff; // top: 22rpx;
width: 100rpx; }
height: 100rpx;
border-radius: 50%; .reimbursementInforTsBox {
} width: 60%;
position: absolute;
top: 118rpx;
left: 80rpx;
right: 300rpx;
overflow: hidden;
}
.reimbursementInforT-text {}
.reimbursementInforText {
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
white-space: nowrap;
margin: 0 22rpx 20rpx;
}
.reimbursementInforText.active {
color: #257BF1;
background: #FFFFFF;
border-radius: 6rpx;
padding: 5rpx 20rpx;
}
.saveBox {
position: fixed;
right: 50rpx;
bottom: 50rpx;
z-index: 2;
}
.saveBox view {
background: #257BF2;
box-shadow: 0rpx 0rpx 10rpx #fff;
color: #fff;
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
</style> </style>
<template> <template>
<view style="height: 100vh;"> <view style="height: 100vh;">
<scroll-view class="reimbursementInforBox" scroll-y="true" <scroll-view class="reimbursementInforBox" scroll-y="true" :enable-back-to-top="true" :enable-flex="true"
:enable-back-to-top="true" :enable-flex="true" @scroll="scroll" style="height: 100vh;">
@scroll="scroll" style="height: 100vh;"> <view class="reimbursementInforHeaderBox">
<view class="reimbursementInforHeaderBox"> <view class="reimbursementInforTitle" :class="[boxOption>0?'fixed':'']"
<view class="reimbursementInforTitle" :style="[boxOption>0?'titleStyle':'']">
:class="[boxOption>0?'fixed':'']" <headers textAlign="left" :title="pageTitle" color="#fff"></headers>
:style="[boxOption>0?'titleStyle':'']"> <scroll-view class="reimbursementInforTsBox" :scroll-x="true" :scroll-left="scrollLeft">
<headers textAlign="left" :title="pageTitle" color="#fff"></headers> <view class="reimbursementInforT-text row-aic-n">
<scroll-view class="reimbursementInforTsBox" :scroll-x="true" <view class="reimbursementInforText" :class="[params.type==item.id?'active':'']"
:scroll-left="scrollLeft"> v-for="(item,index) in titles" :id="`refs_${index+1}`" :key="index"
<view class="reimbursementInforT-text row-aic-n"> @click="getType(item)">{{ item.name }}</view>
<view class="reimbursementInforText" </view>
:class="[params.type==item.id?'active':'']" </scroll-view>
v-for="(item,index) in titles" </view>
:id="`refs_${index+1}`" <headeDatas v-show="params.type<5" :currencyList="currencyList" :data="params" @change="getNewData">
:key="index" </headeDatas>
@click="getType(item)">{{ item.name }}</view> </view>
</view> <!-- 车信息-->
</scroll-view> <productInfor1 :data="params" v-show="params.type==1" @change="getNewData" :optionList="busTypeList">
</view> </productInfor1>
<headeDatas v-show="params.type<5" :currencyList="currencyList" :data="params" @change="getNewData"></headeDatas> <!-- 酒店信息-->
</view> <productInfor2 :data="params" v-if="params.type==2" @change="getNewData" :optionList="hotelTypeList">
<!-- 车信息--> </productInfor2>
<productInfor1 :data="params" v-show="params.type==1" @change="getNewData" :optionList="busTypeList"></productInfor1> <!-- 餐食信息-->
<!-- 酒店信息--> <productInfor3 :data="params" v-else-if="params.type==3" @change="getNewData" :optionList="diningTypeList">
<productInfor2 :data="params" v-if="params.type==2" @change="getNewData" :optionList="hotelTypeList"></productInfor2> </productInfor3>
<!-- 餐食信息--> <!-- 门票信息-->
<productInfor3 :data="params" v-else-if="params.type==3" @change="getNewData" :optionList="diningTypeList"></productInfor3> <productInfor4 :data="params" v-else-if="params.type==4" @change="getNewData" :optionList="scenicTypeList">
<!-- 门票信息--> </productInfor4>
<productInfor4 :data="params" v-else-if="params.type==4" @change="getNewData" :optionList="scenicTypeList"></productInfor4> <!-- 其它信息-->
<!-- 其它信息--> <otherInfor1 :currencyList="currencyList" :data="params" v-else-if="params.type==5" @change="getNewData"
<otherInfor1 :currencyList="currencyList" :data="params" v-else-if="params.type==5" @change="getNewData" :options="otherTypeList"></otherInfor1> :options="otherTypeList"></otherInfor1>
<!-- 小费收入--> <!-- 小费收入-->
<otherInfor2 :currencyList="currencyList" :data="params" v-else-if="params.type==6" @change="getNewData"></otherInfor2> <otherInfor2 :currencyList="currencyList" :data="params" v-else-if="params.type==6" @change="getNewData">
<!-- 团费小计--> </otherInfor2>
<otherInfor3 :currencyList="currencyList" :data="params" v-else-if="params.type==7" @change="getNewData"></otherInfor3> <!-- 团费小计-->
<!-- 自费收入--> <otherInfor3 :currencyList="currencyList" :data="params" v-else-if="params.type==7" @change="getNewData">
<otherInfor4 :currencyList="currencyList" :data="params" v-else-if="params.type==8" @change="getNewData"></otherInfor4> </otherInfor3>
<!-- 自费支出--> <!-- 自费收入-->
<otherInfor5 :currencyList="currencyList" :data="params" v-else-if="params.type==9" @change="getNewData"></otherInfor5> <otherInfor4 :currencyList="currencyList" :data="params" v-else-if="params.type==8" @change="getNewData">
<!-- 购物报账--> </otherInfor4>
<otherInfor6 :currencyList="currencyList" :data="params" v-else-if="params.type==10" @change="getNewData" :options="shopTypeList"></otherInfor6> <!-- 自费支出-->
</scroll-view> <otherInfor5 :currencyList="currencyList" :data="params" v-else-if="params.type==9" @change="getNewData">
<view v-if="params.IsOperation==0" class="saveBox" @click="saveData"> </otherInfor5>
<view class="row justify-center items-center"> <!-- 购物报账-->
<text>保存</text> <otherInfor6 :currencyList="currencyList" :data="params" v-else-if="params.type==10" @change="getNewData"
</view> :options="shopTypeList"></otherInfor6>
</view> </scroll-view>
</view> <view v-if="params.IsOperation==0" class="saveBox" @click="saveData">
<view class="row justify-center items-center">
<text>保存</text>
</view>
</view>
</view>
</template> </template>
<script> <script>
import headers from "@/components/header/header"; import headers from "@/components/header/header";
import headeDatas from "./components/headeDatas"; import headeDatas from "./components/headeDatas";
import productInfor1 from "./components/report/productInfor1"; import productInfor1 from "./components/report/productInfor1";
import productInfor2 from "./components/report/productInfor2"; import productInfor2 from "./components/report/productInfor2";
import productInfor3 from "./components/report/productInfor3"; import productInfor3 from "./components/report/productInfor3";
import productInfor4 from "./components/report/productInfor4"; import productInfor4 from "./components/report/productInfor4";
import otherInfor1 from "./components/report/otherInfor1"; import otherInfor1 from "./components/report/otherInfor1";
import otherInfor2 from "./components/report/otherInfor2"; import otherInfor2 from "./components/report/otherInfor2";
import otherInfor3 from "./components/report/otherInfor3"; import otherInfor3 from "./components/report/otherInfor3";
import otherInfor4 from "./components/report/otherInfor4"; import otherInfor4 from "./components/report/otherInfor4";
import otherInfor5 from "./components/report/otherInfor5"; import otherInfor5 from "./components/report/otherInfor5";
import otherInfor6 from "./components/report/otherInfor6"; import otherInfor6 from "./components/report/otherInfor6";
export default { export default {
components: { components: {
headers, headers,
headeDatas, headeDatas,
productInfor1, productInfor1,
productInfor2, productInfor2,
productInfor3, productInfor3,
productInfor4, productInfor4,
otherInfor1, otherInfor1,
otherInfor2, otherInfor2,
otherInfor3, otherInfor3,
otherInfor4, otherInfor4,
otherInfor5, otherInfor5,
otherInfor6, otherInfor6,
}, },
data() { data() {
return { return {
pageTitle: '', pageTitle: '',
boxOption: 0, boxOption: 0,
titleStyle: { titleStyle: {
opacity: 0, opacity: 0,
}, },
scrollTop: 100, scrollTop: 100,
old: { old: {
scrollTop: 0 scrollTop: 0
}, },
titles:[ titles: [{
{ name: '车辆',
name:'车辆', id: 1,
id: 1, val: 'refs1',
val: 'refs1', left: 0,
left: 0, },
}, {
{ name: '酒店',
name:'酒店', id: 2,
id: 2, val: 'refs2',
val: 'refs2', left: 0,
left: 0, },
}, {
{ name: '餐食',
name:'餐食', id: 3,
id: 3, val: 'refs3',
val: 'refs3', left: 0,
left: 0, },
}, {
{ name: '门票',
name:'门票', id: 4,
id: 4, val: 'refs4',
val: 'refs4', left: 0,
left: 0, },
}, {
{ name: '其他费用',
name:'其他费用', id: 5,
id: 5, val: 'refs5',
val: 'refs5', left: 0,
left: 0, },
}, {
{ name: '小费收入',
name:'小费收入', id: 6,
id: 6, val: 'refs6',
val: 'refs6', left: 0,
left: 0, },
}, {
{ name: '团费小计',
name:'团费小计', id: 7,
id: 7, val: 'refs7',
val: 'refs7', left: 0,
left: 0, },
}, {
{ name: '自费收入',
name:'自费收入', id: 8,
id: 8, val: 'refs8',
val: 'refs8', left: 0,
left: 0, },
}, {
{ name: '自费支出',
name:'自费支出', id: 9,
id: 9, val: 'refs9',
val: 'refs9', left: 0,
left: 0, },
}, {
{ name: '购物报账',
name:'购物报账', id: 10,
id: 10, val: 'refs10',
val: 'refs10', left: 0,
left: 0, },
}, ],
], currencyVisible: false,
currencyVisible: false, oldDataIndex: 1,
oldDataIndex: 1, loading: false,
loading: false, msg: {
msg:{ TCIDs: ''
TCIDs: '' },
}, datas: {},
datas: {}, params: {
params:{ IsOperation: 0, //0-可以操作,1-已制单,不能操作
IsOperation: 0,//0-可以操作,1-已制单,不能操作 IsEditHotel: 0, //是否有修改酒店价格、付款方式权限
IsEditHotel: 0,//是否有修改酒店价格、付款方式权限 IsEditHotelPeople: 0, //是否有修改酒店人数权限
IsEditHotelPeople: 0,//是否有修改酒店人数权限 CreateBy: null, //线路负责人
CreateBy: null,//线路负责人 CreateByName: null, //线路负责人
CreateByName: null,//线路负责人 CreateByPhoto: null, //电话
CreateByPhoto: null,//电话 CreateByAccount: null, //联系方式
CreateByAccount: null,//联系方式 BusOrderState: 0, //车订单信息
BusOrderState: 0,//车订单信息 Complain_Extend: null, //供应商投诉信息
Complain_Extend: null,//供应商投诉信息 HotelOrderListReport: [], //酒店信息,合团
HotelOrderListReport: [],//酒店信息,合团 BusPlanListReport: null, //车信息
BusPlanListReport: null,//车信息 HotelList: [], //酒店列表
HotelList: [],//酒店列表 PriceHotelResult: [], //酒店团情况
PriceHotelResult: [],//酒店团情况 ScenicList: [], //景点
ScenicList: [],//景点 DiningList: [], //餐厅
DiningList: [],//餐厅 PriceShopList: null, //购物店列表
PriceShopList: null,//购物店列表 HouseStatistics: {}, //房间信息
HouseStatistics: {},//房间信息 BusList: [], //车
BusList: [],//车 OtherOrderInfo: {
OtherOrderInfo: { OtherList: [], //其他费用
OtherList:[],//其他费用 TipList: [], //小费收入
TipList:[],//小费收入 TeamList: [], //团费小计
TeamList:[],//团费小计 SelfPlayingIncomeList: [], //自费收入
SelfPlayingIncomeList:[],//自费收入 SelfPlayingExpendList: [], //自费支出
SelfPlayingExpendList:[],//自费支出 }, //其他订单信息
},//其他订单信息 LeaderApply: {}, //领队用款
LeaderApply: {},//领队用款 LeaderShopList: [], // 购物店信息(领队报账的时候填写)
LeaderShopList: [],// 购物店信息(领队报账的时候填写) },
}, busTypeList: [],
busTypeList:[], hotelTypeList: [],
hotelTypeList:[], diningTypeList: [],
diningTypeList:[], scenicTypeList: [],
scenicTypeList:[], otherTypeList: [{
otherTypeList:[ name: '导游津贴',
{ id: 1,
name:'导游津贴', },
id: 1, {
}, name: '司机津贴',
{ id: 2,
name:'司机津贴', },
id: 2, {
}, name: '其他支出',
{ id: 0,
name:'其他支出', },
id: 0, ],
}, scrollLeft: 0,
], currencyList: [],
scrollLeft: 0, shopTypeList: [],
currencyList: [], }
shopTypeList: [], },
} onLoad(option) {
}, if (option.TCIDs) {
onLoad(option){ this.msg.TCIDs = option.TCIDs
if(option.TCIDs){ }
this.msg.TCIDs = option.TCIDs this.b2b_user_info = uni.getStorageSync('b2b_user')
} this.init()
this.b2b_user_info = uni.getStorageSync('b2b_user') },
this.init() created() {
}, this.contentHeight = this.$utils.calcContentHeight(-40) + "px";
created() { this.mainColor = this.$uiConfig.mainColor;
this.contentHeight = this.$utils.calcContentHeight(-40) + "px"; },
this.mainColor = this.$uiConfig.mainColor; mounted() {
}, const that = this
mounted() { uni.getSystemInfo({
const that = this success(res) {
uni.getSystemInfo({ that.titleStyle = {
success(res) { paddingTop: `${res.statusBarHeight}px`
that.titleStyle = { };
paddingTop: `${res.statusBarHeight}px` },
}; });
}, this.getOptionData()
}); this.getCurrencyList()
this.getOptionData() this.$nextTick(() => {
this.getCurrencyList() this.titles.forEach((x, index) => {
this.$nextTick(() => { // 查询当前元素的位置
this.titles.forEach((x, index) => { uni.createSelectorQuery()
// 查询当前元素的位置 .in(this) // 限定在当前组件内查询(关键!)
uni.createSelectorQuery() .select(`#refs_${index + 1}`) // 匹配元素的 id
.in(this) // 限定在当前组件内查询(关键!) .fields({
.select(`#refs_${index + 1}`) // 匹配元素的 id position: true, // 获取位置信息(left/top)
.fields({ size: true // 获取尺寸(width/height)
position: true, // 获取位置信息(left/top) })
size: true // 获取尺寸(width/height) .exec((res) => {
}) if (res[0]) {
.exec((res) => { const {
if (res[0]) { left,
const { left, top, width, height } = res[0]; top,
// console.log(`元素 ${index} 的横向位置(left):`, left); // 单位:px width,
// console.log(`元素 ${index} 的宽度:`, width); height
x.left = width*(index) } = res[0];
} else { // console.log(`元素 ${index} 的横向位置(left):`, left); // 单位:px
console.log(`未找到元素 refs_${index + 1}`); // console.log(`元素 ${index} 的宽度:`, width);
} x.left = width * (index)
}); } else {
}); console.log(`未找到元素 refs_${index + 1}`);
}); }
}, });
methods: { });
VerificationBusList(){ });
let msg = '' },
for(let i=0;i<this.params.BusList.length;i++){ methods: {
let obj = this.params.BusList[i] VerificationBusList() {
for(let j=0;j<obj.ReimburseList.ReimburseDetailsList.length;j++){ let msg = ''
let child = obj.ReimburseList.ReimburseDetailsList[j] for (let i = 0; i < this.params.BusList.length; i++) {
if(msg==''&& let obj = this.params.BusList[i]
(obj.ReimburseList.CurrencyId==0||obj.ReimburseList.CurrencyId==null)&& for (let j = 0; j < obj.ReimburseList.ReimburseDetailsList.length; j++) {
(obj.ReimburseList.SettlementType>0||obj.ReimburseList.Remarks!=''|| let child = obj.ReimburseList.ReimburseDetailsList[j]
obj.ReimburseList.VoucherPicList.length>0||child.StartPlace!=''|| if (msg == '' &&
child.EndPlace!=''||child.UserNum>0||child.UnitPrice>0||child.UserType) (obj.ReimburseList.CurrencyId == 0 || obj.ReimburseList.CurrencyId == null) &&
){ (obj.ReimburseList.SettlementType > 0 || obj.ReimburseList.Remarks != '' ||
msg = `请选择车辆币种`//日期:${obj.PlanDateStr} obj.ReimburseList.VoucherPicList.length > 0 || child.StartPlace != '' ||
} child.EndPlace != '' || child.UserNum > 0 || child.UnitPrice > 0 || child.UserType)
// if(msg==''&&child.UserType==0&& ) {
// (obj.ReimburseList.SettlementType>0||obj.ReimburseList.Remarks!=''|| msg = `请选择车辆币种` //日期:${obj.PlanDateStr}
// obj.ReimburseList.VoucherPicList.length>0||child.StartPlace!=''|| }
// child.EndPlace!=''||obj.ReimburseList.CurrencyId||child.UserNum>0||child.UnitPrice>0) // if(msg==''&&child.UserType==0&&
// (obj.ReimburseList.SettlementType>0||obj.ReimburseList.Remarks!=''||
// obj.ReimburseList.VoucherPicList.length>0||child.StartPlace!=''||
// child.EndPlace!=''||obj.ReimburseList.CurrencyId||child.UserNum>0||child.UnitPrice>0)
// ){
// msg = `请输入车辆类型`
// }
if (msg == '' && child.StartPlace == '' &&
(obj.ReimburseList.SettlementType > 0 || obj.ReimburseList.Remarks != '' ||
obj.ReimburseList.VoucherPicList.length > 0 || obj.ReimburseList.CurrencyId ||
child.EndPlace != '' || child.UserNum > 0 || child.UnitPrice > 0 || child.UserType)
) {
msg = `请输入车辆出发地`
}
if (msg == '' && child.EndPlace == '' &&
(obj.ReimburseList.SettlementType > 0 || obj.ReimburseList.Remarks != '' ||
obj.ReimburseList.VoucherPicList.length > 0 || child.StartPlace != '' ||
obj.ReimburseList.CurrencyId || child.UserNum > 0 || child.UnitPrice > 0 || child.UserType)
) {
msg = `请输入车辆目的地`
}
}
}
return msg
},
VerificationHotel() {
let msg = ''
for (let i = 0; i < this.params.HotelOrderListReport.length; i++) {
let obj = this.params.HotelOrderListReport[i]
for (let j = 0; j < obj.HotelOrderList.length; j++) {
let child = obj.HotelOrderList[j]
for (let x = 0; x < child.ReimburseList.ReimburseDetailsList.length; x++) {
let grandson = child.ReimburseList.ReimburseDetailsList[x]
if (msg == '' && (child.ReimburseList.CurrencyId == 0 || child.ReimburseList.CurrencyId ==
null) &&
(child.ReimburseList.SettlementType > 0 || child.ReimburseList.Remarks != '' ||
child.ReimburseList.VoucherPicList.length > 0 || grandson.UserNum > 0 ||
grandson.UnitPrice > 0 || grandson.UserType)
) {
msg = `请选择酒店币种`
}
// if(msg==''&&grandson.UserType==0&&
// (child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
// child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
// grandson.UnitPrice>0||child.ReimburseList.CurrencyId)
// ){
// msg = `请选择酒店类型`
// }
}
}
}
return msg
},
VerificationDining() {
let msg = ''
for (let i = 0; i < this.params.DiningList.length; i++) {
let obj = this.params.DiningList[i]
for (let j = 0; j < obj.DiningSummaryList.length; j++) {
let child = obj.DiningSummaryList[j]
for (let x = 0; x < child.ReimburseList.ReimburseDetailsList.length; x++) {
let grandson = child.ReimburseList.ReimburseDetailsList[x]
if (msg == '' && (child.ReimburseList.CurrencyId == 0 || child.ReimburseList.CurrencyId ==
null) &&
(child.ReimburseList.SettlementType > 0 || child.ReimburseList.Remarks != '' ||
child.ReimburseList.VoucherPicList.length > 0 || grandson.UserNum > 0 ||
grandson.UnitPrice > 0 || grandson.UserType)
) {
msg = `请选择餐币种`
}
// if(msg==''&&grandson.UserType==0&&
// (child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
// child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
// grandson.UnitPrice>0||child.ReimburseList.CurrencyId)
// ){
// msg = `请选择餐类型`
// }
}
}
}
return msg
},
VerificationScenic() {
let msg = ''
for (let i = 0; i < this.params.ScenicList.length; i++) {
let obj = this.params.ScenicList[i]
for (let j = 0; j < obj.ScenicStatisticsList.length; j++) {
let child = obj.ScenicStatisticsList[j]
for (let x = 0; x < child.ReimburseList.ReimburseDetailsList.length; x++) {
let grandson = child.ReimburseList.ReimburseDetailsList[x]
if (msg == '' && (child.ReimburseList.CurrencyId == 0 || child.ReimburseList.CurrencyId ==
null) &&
(child.ReimburseList.SettlementType > 0 || child.ReimburseList.Remarks != '' ||
child.ReimburseList.VoucherPicList.length > 0 || grandson.UserNum > 0 ||
grandson.UnitPrice > 0 || grandson.UserType)
) {
msg = `请选择门票币种`
}
// if(msg==''&&grandson.UserType==0&&
// (child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
// child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
// grandson.UnitPrice>0||child.ReimburseList.CurrencyId)
// ){
// msg = `请选择门票类型`
// }
}
}
}
return msg
},
VerificationOther() {
let msg = ''
for (let i = 0; i < this.params.OtherOrderInfo.OtherList.length; i++) {
let obj = this.params.OtherOrderInfo.OtherList[i]
console.log("obj", obj)
if (msg == '' && obj.UseDate == null &&
(obj.UnitPrice > 0 || obj.Rebate > 0 || obj.VoucherPicList.length > 0 ||
obj.Remark != '' || obj.Currency!=0)
) {
msg = `请选择其他费用使用时间`
}
if (msg == '' && obj.CostProjectStr == '' &&
(obj.UnitPrice > 0 || obj.Rebate > 0 || obj.VoucherPicList.length > 0 ||
obj.Remark != '' || obj.Currency || obj.UseDate != null)
) {
msg = `请选择其他费用费用项目`
}
if (msg == '' && (obj.Currency == 0 || obj.Currency == null) &&
(obj.UnitPrice > 0 || obj.Rebate > 0 || obj.VoucherPicList.length > 0 ||
obj.Remark != '' || obj.UseDate != null)
) {
msg = `请选择其他费用币种`
}
}
return msg
},
VerificationIncome() {
let msg = ''
for (let i = 0; i < this.params.OtherOrderInfo.SelfPlayingIncomeList.length; i++) {
let obj = this.params.OtherOrderInfo.SelfPlayingIncomeList[i]
if (msg == '' && obj.UseDate == null &&
(obj.UnitPrice > 0 || obj.VoucherPicList.length > 0 ||
obj.Remark != '' || obj.Currency)
) {
msg = `请选择自费收入使用时间`
}
if (msg == '' && (obj.Currency == 0 || obj.Currency == null) &&
(obj.UnitPrice > 0 || obj.VoucherPicList.length > 0 ||
obj.Remark != '' || obj.UseDate != null)
) {
msg = `请选择自费收入币种`
}
}
return msg
},
VerificationExpend() {
let msg = ''
for (let i = 0; i < this.params.OtherOrderInfo.SelfPlayingExpendList.length; i++) {
let obj = this.params.OtherOrderInfo.SelfPlayingExpendList[i]
if (msg == '' && obj.UseDate == null &&
(obj.UnitPrice > 0 || obj.Rebate > 0 || obj.VoucherPicList.length > 0 ||
obj.Remark != '')
) {
msg = `请选择自费支出使用时间`
}
}
return msg
},
VerificationShop() {
let msg = ''
for (let i = 0; i < this.params.LeaderShopList.length; i++) {
let obj = this.params.LeaderShopList[i]
if (msg == '' && obj.EnterTime == null &&
(obj.ShopMoney > 0 || obj.ShopId != null || obj.VoucherPicList.length > 0 ||
obj.Remark != null || obj.CurrencyId)
) {
msg = `请选择购物报账进店时间`
}
if (msg == '' && obj.ShopId == null &&
(obj.ShopMoney > 0 || obj.CurrencyId || obj.VoucherPicList.length > 0 ||
obj.Remark != null || obj.EnterTime != null)
) {
msg = `请选择购物名称`
}
if (msg == '' && (obj.CurrencyId == 0 || obj.CurrencyId == null) &&
(obj.ShopMoney > 0 || obj.ShopId != null || obj.VoucherPicList.length > 0 ||
obj.Remark != null || obj.EnterTime != null)
) {
msg = `请选择购物报账币种`
}
}
return msg
},
saveData() {
let msg = ''
if (msg == '') msg = this.VerificationBusList()
if (msg == '') msg = this.VerificationHotel()
if (msg == '') msg = this.VerificationDining()
if (msg == '') msg = this.VerificationScenic()
if (msg == '') msg = this.VerificationOther()
if (msg == '') msg = this.VerificationIncome()
if (msg == '') msg = this.VerificationExpend()
if (msg == '') msg = this.VerificationShop()
if (msg) {
return uni.showToast({
title: msg,
icon: "none",
})
}
// console.log(this.params,'-----')
// return
if (this.loading) return
this.loading = true
uni.showLoading()
this.apipost("dmcstatistics_post_SetNewLeaderApplyList_V2", this.params, (res) => {
if (res.resultCode == 1) {
this.loading = false
uni.hideLoading()
this.init()
}
}, (failed) => {
this.loading = false
uni.showToast({
title: failed.message,
icon: "none",
});
}, (error) => {
this.loading = false
})
},
getNewData(params) {
this.params = JSON.parse(JSON.stringify(params))
},
getType(item) {
this.params.type = item.id
this.oldDataIndex = item.id
this.scrollLeft = item.left
},
init() {
uni.showLoading()
this.apipost("dmcstatistics_post_GetNewLeaderPayMoneyStatics", this.msg, (res) => {
if (res.resultCode == 1) {
this.params = res.data;
for (let i = 1; i < 5; i++) {
this.$set(this.params, `dataIndex${i}`, 0);
}
this.$set(this.params, `type`, this.oldDataIndex);
for (let i = 0; i < this.params.ScenicList.length; i++) {
this.$set(this.params.ScenicList[i], `TotalMoney`, 0);
this.$set(this.params.ScenicList[i], `scenicIndex`, 0);
}
for (let i = 0; i < this.params.DiningList.length; i++) {
this.$set(this.params.DiningList[i], `TotalMoney`, 0);
this.$set(this.params.DiningList[i], `diningIndex`, 0);
}
for (let i = 0; i < this.params.HotelOrderListReport.length; i++) {
this.$set(this.params.HotelOrderListReport[i], `TotalMoney`, 0);
this.$set(this.params.HotelOrderListReport[i], `hotelIndex`, 0);
}
if (res.data.CountryIds) this.getShoppingType(res.data.CountryIds)
// console.log(this.params.HotelOrderListReport,'-----酒店')
// console.log(this.params.BusList,'-----车信息')
// console.log(this.params.ScenicList,'-----景点')
// console.log(this.params.DiningList,'-----餐厅')
// console.log(this.params.LeaderShopList ,'-----购物店信息')
// console.log(this.params.LeaderApply ,'-----领队用款申请信息')
console.log(this.params.OtherOrderInfo, '-----其他信息')
for (let i = 0; i < this.params.OtherOrderInfo.OtherList.length; i++) {
let obj = this.params.OtherOrderInfo.OtherList[i]
console.log("obj", obj)
if ( obj.UseDate == null &&obj.UnitPrice==0&&obj.Rebate==0&&obj.VoucherPic !=""&&obj.Remark == '' && obj.Currency==0) {
obj.CostProject = -1
}
}
setTimeout(() => {
uni.hideLoading()
}, 1000)
}
}, (failed) => {
uni.hideLoading()
uni.showToast({
title: failed.message,
icon: "none",
});
}, (error) => {
uni.hideLoading()
})
},
getShoppingType(id) {
this.apipost("Shopping_Post_GetList", {
QCountry: id
}, (res) => {
if (res.resultCode == 1) {
this.shopTypeList = []
res.data.forEach(x => {
this.shopTypeList.push({
id: x.ID,
name: x.Name,
})
})
}
})
},
scroll(e) {
this.old.scrollTop = e.detail.scrollTop
this.boxOption = Math.floor((e.detail.scrollTop - 100) / 1.5);
this.titleStyle.opacity =
e.detail.scrollTop - 200 < 0 ?
0 :
Math.floor(e.detail.scrollTop - 100) / 100 > 1 ?
1 :
Math.floor(e.detail.scrollTop - 100) / 100;
// ){ this.$forceUpdate();
// msg = `请输入车辆类型` },
// } getOptionData() {
if(msg==''&&child.StartPlace==''&& this.apipost("dmcstatistics_post_GetReimburseTypeList", {
(obj.ReimburseList.SettlementType>0||obj.ReimburseList.Remarks!=''|| Type: ''
obj.ReimburseList.VoucherPicList.length>0||obj.ReimburseList.CurrencyId|| }, (res) => {
child.EndPlace!=''||child.UserNum>0||child.UnitPrice>0||child.UserType) if (res.resultCode == 1) {
){ res.data.forEach(x => {
msg = `请输入车辆出发地` x.name = x.TypeName
} x.id = x.ID
if(msg==''&&child.EndPlace==''&& });
(obj.ReimburseList.SettlementType>0||obj.ReimburseList.Remarks!=''|| this.busTypeList = res.data.filter(x => {
obj.ReimburseList.VoucherPicList.length>0||child.StartPlace!=''|| return x.UserTypeId == 4
obj.ReimburseList.CurrencyId||child.UserNum>0||child.UnitPrice>0||child.UserType) })
){ this.hotelTypeList = res.data.filter(x => {
msg = `请输入车辆目的地` return x.UserTypeId == 1
} })
} this.diningTypeList = res.data.filter(x => {
} return x.UserTypeId == 2
return msg })
}, this.scenicTypeList = res.data.filter(x => {
VerificationHotel(){ return x.UserTypeId == 3
let msg = '' })
for(let i=0;i<this.params.HotelOrderListReport.length;i++){ }
let obj = this.params.HotelOrderListReport[i] }, (failed) => {
for(let j=0;j<obj.HotelOrderList.length;j++){ uni.showToast({
let child = obj.HotelOrderList[j] title: failed.message,
for(let x=0;x<child.ReimburseList.ReimburseDetailsList.length;x++){ icon: "none",
let grandson = child.ReimburseList.ReimburseDetailsList[x] });
if(msg==''&&(child.ReimburseList.CurrencyId==0||child.ReimburseList.CurrencyId==null)&& }, (error) => {
(child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
grandson.UnitPrice>0||grandson.UserType)
){
msg = `请选择酒店币种`
}
// if(msg==''&&grandson.UserType==0&&
// (child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
// child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
// grandson.UnitPrice>0||child.ReimburseList.CurrencyId)
// ){
// msg = `请选择酒店类型`
// }
}
}
}
return msg
},
VerificationDining(){
let msg = ''
for(let i=0;i<this.params.DiningList.length;i++){
let obj = this.params.DiningList[i]
for(let j=0;j<obj.DiningSummaryList.length;j++){
let child = obj.DiningSummaryList[j]
for(let x=0;x<child.ReimburseList.ReimburseDetailsList.length;x++){
let grandson = child.ReimburseList.ReimburseDetailsList[x]
if(msg==''&&(child.ReimburseList.CurrencyId==0||child.ReimburseList.CurrencyId==null)&&
(child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
grandson.UnitPrice>0||grandson.UserType)
){
msg = `请选择餐币种`
}
// if(msg==''&&grandson.UserType==0&&
// (child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
// child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
// grandson.UnitPrice>0||child.ReimburseList.CurrencyId)
// ){
// msg = `请选择餐类型`
// }
}
}
}
return msg
},
VerificationScenic(){
let msg = ''
for(let i=0;i<this.params.ScenicList.length;i++){
let obj = this.params.ScenicList[i]
for(let j=0;j<obj.ScenicStatisticsList.length;j++){
let child = obj.ScenicStatisticsList[j]
for(let x=0;x<child.ReimburseList.ReimburseDetailsList.length;x++){
let grandson = child.ReimburseList.ReimburseDetailsList[x]
if(msg==''&&(child.ReimburseList.CurrencyId==0||child.ReimburseList.CurrencyId==null)&&
(child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
grandson.UnitPrice>0||grandson.UserType)
){
msg = `请选择门票币种`
}
// if(msg==''&&grandson.UserType==0&&
// (child.ReimburseList.SettlementType>0||child.ReimburseList.Remarks!=''||
// child.ReimburseList.VoucherPicList.length>0||grandson.UserNum>0||
// grandson.UnitPrice>0||child.ReimburseList.CurrencyId)
// ){
// msg = `请选择门票类型`
// }
}
}
}
return msg
},
VerificationOther(){
let msg = ''
for(let i=0;i<this.params.OtherOrderInfo.OtherList.length;i++){
let obj = this.params.OtherOrderInfo.OtherList[i]
if(msg==''&&obj.UseDate==null&&
(obj.UnitPrice>0||obj.Rebate>0||obj.VoucherPicList.length>0||
obj.Remark!=''||obj.CostProjectStr!=''||obj.Currency)
){
msg = `请选择其他费用使用时间`
}
if(msg==''&&obj.CostProjectStr==''&&
(obj.UnitPrice>0||obj.Rebate>0||obj.VoucherPicList.length>0||
obj.Remark!=''||obj.Currency||obj.UseDate!=null)
){
msg = `请选择其他费用费用项目`
}
if(msg==''&&(obj.Currency==0||obj.Currency==null)&&
(obj.UnitPrice>0||obj.Rebate>0||obj.VoucherPicList.length>0||
obj.Remark!=''||obj.CostProjectStr!=''||obj.UseDate!=null)
){
msg = `请选择其他费用币种`
}
}
return msg
},
VerificationIncome(){
let msg = ''
for(let i=0;i<this.params.OtherOrderInfo.SelfPlayingIncomeList.length;i++){
let obj = this.params.OtherOrderInfo.SelfPlayingIncomeList[i]
if(msg==''&&obj.UseDate==null&&
(obj.UnitPrice>0||obj.VoucherPicList.length>0||
obj.Remark!=''||obj.Currency)
){
msg = `请选择自费收入使用时间`
}
if(msg==''&&(obj.Currency==0||obj.Currency==null)&&
(obj.UnitPrice>0||obj.VoucherPicList.length>0||
obj.Remark!=''||obj.UseDate!=null)
){
msg = `请选择自费收入币种`
}
}
return msg
},
VerificationExpend(){
let msg = ''
for(let i=0;i<this.params.OtherOrderInfo.SelfPlayingExpendList.length;i++){
let obj = this.params.OtherOrderInfo.SelfPlayingExpendList[i]
if(msg==''&&obj.UseDate==null&&
(obj.UnitPrice>0||obj.Rebate>0||obj.VoucherPicList.length>0||
obj.Remark!='')
){
msg = `请选择自费支出使用时间`
}
}
return msg
},
VerificationShop(){
let msg = ''
for(let i=0;i<this.params.LeaderShopList.length;i++){
let obj = this.params.LeaderShopList[i]
if(msg==''&&obj.EnterTime==null&&
(obj.ShopMoney>0||obj.ShopId!=null||obj.VoucherPicList.length>0||
obj.Remark!=null||obj.CurrencyId)
){
msg = `请选择购物报账进店时间`
}
if(msg==''&&obj.ShopId==null&&
(obj.ShopMoney>0||obj.CurrencyId||obj.VoucherPicList.length>0||
obj.Remark!=null||obj.EnterTime!=null)
){
msg = `请选择购物名称`
}
if(msg==''&&(obj.CurrencyId==0||obj.CurrencyId==null)&&
(obj.ShopMoney>0||obj.ShopId!=null||obj.VoucherPicList.length>0||
obj.Remark!=null||obj.EnterTime!=null)
){
msg = `请选择购物报账币种`
}
}
return msg
},
saveData(){
let msg = ''
if(msg=='') msg = this.VerificationBusList()
if(msg=='') msg = this.VerificationHotel()
if(msg=='') msg = this.VerificationDining()
if(msg=='') msg = this.VerificationScenic()
if(msg=='') msg = this.VerificationOther()
if(msg=='') msg = this.VerificationIncome()
if(msg=='') msg = this.VerificationExpend()
if(msg=='') msg = this.VerificationShop()
if(msg) {
return uni.showToast({
title: msg,
icon: "none",
})
}
// console.log(this.params,'-----')
// return
if(this.loading) return
this.loading = true
uni.showLoading()
this.apipost("dmcstatistics_post_SetNewLeaderApplyList_V2", this.params, (res) => {
if(res.resultCode == 1) {
this.loading = false
uni.hideLoading()
this.init()
}
}, (failed) => {
this.loading = false
uni.showToast({
title: failed.message,
icon: "none",
});
}, (error) => {
this.loading = false
})
},
getNewData(params){
this.params = JSON.parse(JSON.stringify(params))
},
getType(item){
this.params.type = item.id
this.oldDataIndex = item.id
this.scrollLeft = item.left
},
init() {
uni.showLoading()
this.apipost("dmcstatistics_post_GetNewLeaderPayMoneyStatics", this.msg, (res) => {
if (res.resultCode == 1) {
this.params = res.data;
for(let i=1;i<5;i++){
this.$set(this.params, `dataIndex${i}`, 0);
}
this.$set(this.params, `type`, this.oldDataIndex);
for(let i=0;i<this.params.ScenicList.length;i++){
this.$set(this.params.ScenicList[i], `TotalMoney`, 0);
this.$set(this.params.ScenicList[i], `scenicIndex`, 0);
}
for(let i=0;i<this.params.DiningList.length;i++){
this.$set(this.params.DiningList[i], `TotalMoney`, 0);
this.$set(this.params.DiningList[i], `diningIndex`, 0);
}
for(let i=0;i<this.params.HotelOrderListReport.length;i++){
this.$set(this.params.HotelOrderListReport[i], `TotalMoney`, 0);
this.$set(this.params.HotelOrderListReport[i], `hotelIndex`, 0);
}
if(res.data.CountryIds) this.getShoppingType(res.data.CountryIds)
// console.log(this.params.HotelOrderListReport,'-----酒店')
// console.log(this.params.BusList,'-----车信息')
// console.log(this.params.ScenicList,'-----景点')
// console.log(this.params.DiningList,'-----餐厅')
// console.log(this.params.LeaderShopList ,'-----购物店信息')
// console.log(this.params.LeaderApply ,'-----领队用款申请信息')
// console.log(this.params.OtherOrderInfo,'-----其他信息')
setTimeout(()=>{
uni.hideLoading()
},1000)
}
}, (failed) => {
uni.hideLoading()
uni.showToast({
title: failed.message,
icon: "none",
});
}, (error) => {
uni.hideLoading()
})
},
getShoppingType(id){
this.apipost("Shopping_Post_GetList", {
QCountry: id
}, (res) => {
if (res.resultCode == 1) {
this.shopTypeList = []
res.data.forEach(x=>{
this.shopTypeList.push({
id: x.ID,
name: x.Name,
})
})
}
})
},
scroll(e) {
this.old.scrollTop = e.detail.scrollTop
this.boxOption = Math.floor((e.detail.scrollTop - 100) / 1.5);
this.titleStyle.opacity =
e.detail.scrollTop - 200 < 0 ?
0 :
Math.floor(e.detail.scrollTop - 100) / 100 > 1 ?
1 :
Math.floor(e.detail.scrollTop - 100) / 100;
this.$forceUpdate();
},
getOptionData(){
this.apipost("dmcstatistics_post_GetReimburseTypeList", {
Type: ''
}, (res) => {
if (res.resultCode == 1) {
res.data.forEach(x => {
x.name = x.TypeName
x.id = x.ID
});
this.busTypeList = res.data.filter(x=>{return x.UserTypeId==4})
this.hotelTypeList = res.data.filter(x=>{return x.UserTypeId==1})
this.diningTypeList = res.data.filter(x=>{return x.UserTypeId==2})
this.scenicTypeList = res.data.filter(x=>{return x.UserTypeId==3})
}
}, (failed) => {
uni.showToast({
title: failed.message,
icon: "none",
});
}, (error) => {
}) })
}, },
getCurrencyList(){ getCurrencyList() {
this.apipost("financeinfo_post_GetList", { this.apipost("financeinfo_post_GetList", {
Name: '', Name: '',
}, (res) => { }, (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
for(let i=0;i<res.data.length;i++){ for (let i = 0; i < res.data.length; i++) {
let data = res.data[i] let data = res.data[i]
this.currencyList.push({ this.currencyList.push({
name: data.Name, name: data.Name,
id: data.ID, id: data.ID,
}) })
} }
} }
}, (failed) => { }, (failed) => {
uni.showToast({ uni.showToast({
title: failed.message, title: failed.message,
icon: "none", icon: "none",
}); });
}, (error) => { }, (error) => {
}) })
} }
} }
} }
</script> </script>
\ No newline at end of file
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