|
@@ -1,69 +1,58 @@
|
|
|
<template>
|
|
|
- <view class="content">
|
|
|
- <view class="content1-top">
|
|
|
- <view class="top2">
|
|
|
- <!-- <view class="left top-content"> -->
|
|
|
- <view @click='tabcarchange(0)' class='line' :class='searchType==0?"active":""'>全部</view>
|
|
|
- <view @click='tabcarchange(1)' class='line' :class='searchType==1?"active":""'>未完成</view>
|
|
|
- <view @click='tabcarchange(3)' class='line' :class='searchType==3?"active":""'>已完成</view>
|
|
|
- <!-- </view> -->
|
|
|
-
|
|
|
+ <view>
|
|
|
+ <view class="content">
|
|
|
+ <view class="content1-top">
|
|
|
+ <view class="top2">
|
|
|
+ <view class="left">
|
|
|
+ <view @click='tabcarchange(1)' class='line' :class='searchType==1?"active":""'>未完成</view>
|
|
|
+ <view @click='tabcarchange(3)' class='line' :class='searchType==3?"active":""'>已完成</view>
|
|
|
+ </view>
|
|
|
+ <view class="right uni-button">
|
|
|
+ <button v-if="searchType==3" style="line-height: 28px;margin-right: 5px;"
|
|
|
+ class="right-contrent1" @click="requestFunds">请款</button>
|
|
|
+ <button style="line-height: 28px;" class="right-contrent1" @click="trackAddition">添加</button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <mescroll-body ref="mescrollRef" :down="downOption" @down="downCallback" @up="upCallback">
|
|
|
- <checkbox-group>
|
|
|
- <view v-for="(item,index) in shortDetail.shortFillingList" :key="index" @click="getInfo(item)"
|
|
|
- class="list-content">
|
|
|
- <view class="fuxuankuang" @click.stop="checkedChange(item)" v-if="isShowCheck">
|
|
|
- <checkbox value="cb" style="transform:scale(0.7)" :disabled="item.travelStatus == '已报销'"
|
|
|
- :checked="item.check" />
|
|
|
- </view>
|
|
|
- <view class="good-list">
|
|
|
- <view style="padding: 0 35rpx 20rpx 35rpx;position: relative;">
|
|
|
- <view class="flex top">
|
|
|
- <view class="flex left">
|
|
|
- <view class="item1">
|
|
|
- <view class="ssx">{{$helper.getProvinceAbbreviation(item.originProvince)}}
|
|
|
- </view>
|
|
|
- <view class="level2-title" style="font-size: 14px;">
|
|
|
- {{$helper.filterUrban(item.originCity)}}
|
|
|
- {{$helper.filterArea(item.originArea)}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <image class="jt-icon item2" src="@/static/images/fuel/jt.png" mode='widthFix'>
|
|
|
- </image>
|
|
|
- <view class="item3">
|
|
|
- <view class="ssx">{{$helper.getProvinceAbbreviation(item.destinationProvince)}}
|
|
|
- </view>
|
|
|
- <view class="level2-title">{{$helper.filterUrban(item.destinationCity)}}
|
|
|
- {{$helper.filterArea(item.destinationArea)}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="flex">
|
|
|
- <view class="audit1" v-if="item.travelStatus == '已开始'">已开始</view>
|
|
|
- <view class="audit2" v-if="item.travelStatus == '已结束'">已结束</view>
|
|
|
- <view class="audit3" v-if="item.travelStatus == '已报销'">已报销</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="car-info">
|
|
|
- <view style="display: flex;">
|
|
|
- <view class="car-num">车牌号 : {{item.carNo}}</view>
|
|
|
- <view style="margin-left: 20rpx;" v-if="item.travelStatus != '已开始'">
|
|
|
- {{item.mileage}}km
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <view v-for="(item,index) in shortDetail.shortFillingList" :key="index" @click="getInfo(item)">
|
|
|
+ <view class="good-list flex">
|
|
|
+ <view style="margin-top: 20px;width: 30px;">
|
|
|
+ <label v-model="show2" class="fuxuankuang" @click.stop="checkedChange(item)" v-if="searchType==3">
|
|
|
+ <checkbox value="cb" style="transform:scale(0.7)" :disabled="item.travelStatus == '已申请'" />
|
|
|
+ </label>
|
|
|
+ </view>
|
|
|
|
|
|
- <view class="car-date">{{item.createDate.split(" ")[0]}}</view>
|
|
|
+ <view style="padding: 0 35rpx 20rpx 0rpx;">
|
|
|
+ <view class="flex align-center" style="width: 103%;margin-left: 12px;">
|
|
|
+ <view class="item1">
|
|
|
+ <view class="ssx">{{$helper.getProvinceAbbreviation(item.originProvince)}}</view>
|
|
|
+ <view class="level2-title" style="font-size: 14px;">{{$helper.filterUrban(item.originCity)}}
|
|
|
+ {{$helper.filterArea(item.originArea)}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <image class="jt-icon item2" src="@/static/images/fuel/jt.png" mode='widthFix'>
|
|
|
+ </image>
|
|
|
+ <view class="item3">
|
|
|
+ <view class="ssx">{{$helper.getProvinceAbbreviation(item.destinationProvince)}}</view>
|
|
|
+ <view class="level2-title">{{$helper.filterUrban(item.destinationCity)}}
|
|
|
+ {{$helper.filterArea(item.destinationArea)}}
|
|
|
</view>
|
|
|
- <view class="qk" v-if="item.travelStatus == '已结束'">
|
|
|
- <view class="qkbtn" @click="qkClick(item)">请款</view>
|
|
|
+ </view>
|
|
|
+ <view class="wenzi audit1" v-if="item.travelStatus">{{item.travelStatus}}</view>
|
|
|
+ </view>
|
|
|
+ <view class="yf-style">
|
|
|
+ <view class="left">
|
|
|
+ <view style='justify-content:space-between;' class="flex">
|
|
|
+ <view style="min-width: 130px;margin-top: 10px;">车牌号 : {{item.carNo}}</view>
|
|
|
+ <view style="width: 90px;margin-top: 12px;">{{item.createDate.split(" ")[0]}}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </checkbox-group>
|
|
|
- </mescroll-body>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
<view v-if='show1' class="shade">
|
|
|
<view class="wrap1">
|
|
|
<view class="alert-top">
|
|
@@ -75,14 +64,15 @@
|
|
|
<view class="c-row">
|
|
|
<view class="title2">请款金额</view>
|
|
|
<view class="con-list">
|
|
|
- <input type="digit" v-model='shortDetail.amountRequested' placeholder="请输入请款金额(元)">
|
|
|
- <view style="width: 0px;margin-left: 162px;margin-top: -20px;"></view></input>
|
|
|
+ <input type="digit" style="width: 100px;margin-left: 60px;"
|
|
|
+ v-model='shortDetail.amountRequested' placeholder="请输入请款金额">
|
|
|
+ <view style="width: 0px;margin-left: 162px;margin-top: -20px;">元</view></input>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="c-row">
|
|
|
<view class="title2">仓库名称</view>
|
|
|
<view class="con-list">
|
|
|
- <view @click='show=true'>{{shortDetail.warehouseName?shortDetail.warehouseName:"请选择仓库"}}</view>
|
|
|
+ <view @click='show=true'>{{shortDetail.warehouseName}}</view>
|
|
|
<u-picker :range="warehouseBaseInfoList" range-key="warehouseName"
|
|
|
@confirm='targetLPicker($event)' v-model="show" mode="selector">
|
|
|
</u-picker>
|
|
@@ -94,149 +84,72 @@
|
|
|
<view class="con-list">
|
|
|
<u-input class='textarea' v-model="shortDetail.remark" :type="type" :border="border"
|
|
|
:height="height" :auto-height="autoHeight" />
|
|
|
- <!-- <view style='right:10px;bottom:20px;color:#AFB3BF;'>
|
|
|
+ <view style='right:10px;bottom:20px;color:#AFB3BF;'>
|
|
|
{{shortDetail.remark.length}}/150个字
|
|
|
- </view> -->
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view @click="close()" class="cancel">取消</view>
|
|
|
<view @click='requestFundsSubmit()' class="confirm">确定</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="bottom-view">
|
|
|
- <!-- <button v-if="searchType==3" style="line-height: 28px;margin-right: 5px;"
|
|
|
- class="right-contrent1" @click="requestFunds">请款</button> -->
|
|
|
- <view class="bottom-btn" @click="trackAddition" v-if="!isShowCheck">添加</view>
|
|
|
- <view class="row2" v-if="isShowCheck">
|
|
|
- <view class="left" v-if="!isSelectChecked">
|
|
|
- 请选择要请款的记录
|
|
|
- </view>
|
|
|
- <view class="left" v-if="isSelectChecked">
|
|
|
- 已选择{{selectTotal}}个
|
|
|
- </view>
|
|
|
- <view class="right" v-if="!isSelectChecked">
|
|
|
- 一键请款
|
|
|
- </view>
|
|
|
- <view class="right green" @click="yjqkClick" v-if="isSelectChecked">
|
|
|
- 一键请款
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
|
|
|
export default {
|
|
|
- mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
|
|
|
data() {
|
|
|
return {
|
|
|
- downOption: {
|
|
|
- auto: false //是否在初始化后,自动执行downCallback; 默认true
|
|
|
- },
|
|
|
- selectTotal: 0,
|
|
|
- isSelectChecked: false,
|
|
|
- isShowCheck: false,
|
|
|
show2: false,
|
|
|
- searchType: 0,
|
|
|
+ searchType: 1,
|
|
|
pageSize: 10,
|
|
|
show1: false,
|
|
|
show: false,
|
|
|
currentPage: 1,
|
|
|
shortDetail: {
|
|
|
- shortFillingList: []
|
|
|
+ shortFillingList: [{
|
|
|
+ destinationProvince: "",
|
|
|
+ carNo: "",
|
|
|
+ originProvince: "",
|
|
|
+ createDate: "",
|
|
|
+ travelStatus: "",
|
|
|
+ mileage: "",
|
|
|
+ sendWarehouse: "",
|
|
|
+ receiveWarehouse: "",
|
|
|
+ }],
|
|
|
+ amountRequested: '',
|
|
|
+ warehouseName: '请选择仓库名称',
|
|
|
+ remark: '',
|
|
|
},
|
|
|
- // shortDetail: {
|
|
|
- // shortFillingList: [{
|
|
|
- // destinationProvince: "辽宁省",
|
|
|
- // destinationCity: "营口市",
|
|
|
- // destinationArea: "鲅鱼圈区",
|
|
|
- // destinationAddress: '鲅鱼圈5号门',
|
|
|
- // carNo: "辽H11111",
|
|
|
- // originProvince: "辽宁省",
|
|
|
- // originCity: "营口",
|
|
|
- // originArea: "鲅鱼圈区",
|
|
|
- // originAddress: '中天昊元',
|
|
|
- // createDate: "2022-01-01 15:30:20",
|
|
|
- // travelStatus: "已开始",
|
|
|
- // totalCost: "233.20",
|
|
|
- // tfc: "60L",
|
|
|
- // check: false
|
|
|
- // }],
|
|
|
- // amountRequested: '',
|
|
|
- // warehouseName: '请选择仓库名称',
|
|
|
- // remark: '',
|
|
|
- // },
|
|
|
warehouseType: '1',
|
|
|
warehouseBaseInfoList: [],
|
|
|
type: 'textarea',
|
|
|
border: true,
|
|
|
height: 150,
|
|
|
autoHeight: true,
|
|
|
-
|
|
|
- // infoList:[],
|
|
|
+
|
|
|
+ infoList:[],
|
|
|
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
- onLoad() {},
|
|
|
- onShow() {
|
|
|
- // this.getList()
|
|
|
+ onLoad() {
|
|
|
+ this.getWarehouse()
|
|
|
},
|
|
|
- onNavigationBarButtonTap(e) {
|
|
|
- console.log(e)
|
|
|
- this.isShowCheck = !this.isShowCheck
|
|
|
- // this.isSelectChecked = false
|
|
|
- // const index = e.index;
|
|
|
- // if (index == 1) {
|
|
|
- // uni.navigateBack()
|
|
|
- // } else {
|
|
|
-
|
|
|
- // this.naviageToPage("/pages/user/depotAcquisition/grainDeliveryRecord")
|
|
|
- // }
|
|
|
+ onShow() {
|
|
|
+ this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
- // 单条请款
|
|
|
- qkClick(item) {
|
|
|
- this.infoList = []
|
|
|
- this.infoList.push(item)
|
|
|
- this.show1 = true
|
|
|
-
|
|
|
- },
|
|
|
- // 一键请款
|
|
|
- yjqkClick() {
|
|
|
- // this.requestFundsSubmit()
|
|
|
- this.show1 = true
|
|
|
- },
|
|
|
- /*下拉刷新的回调 */
|
|
|
- downCallback() {
|
|
|
- this.getList(10, 1, 'down')
|
|
|
- },
|
|
|
- /*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
|
|
|
- upCallback(page) {
|
|
|
- //联网加载数据
|
|
|
- this.getList(page.size, page.num, 'up')
|
|
|
- },
|
|
|
checkedChange(item) {
|
|
|
- item.check = !item.check
|
|
|
- this.isSelectChecked = false
|
|
|
- this.selectTotal = 0
|
|
|
- for (let i = 0; i < this.shortDetail.shortFillingList.length; i++) {
|
|
|
- if (this.shortDetail.shortFillingList[i].check) {
|
|
|
- this.isSelectChecked = true
|
|
|
- this.selectTotal++
|
|
|
- }
|
|
|
- }
|
|
|
if (item.travelStatus == '已报销') {
|
|
|
this.show2 = false
|
|
|
this.$api.msg('已报销的不可再选')
|
|
|
return
|
|
|
- } else {
|
|
|
-
|
|
|
+ }else{
|
|
|
this.infoList.push(item)
|
|
|
}
|
|
|
},
|
|
|
tabcarchange(searchType) {
|
|
|
this.searchType = searchType
|
|
|
+ this.pageSize = 10
|
|
|
this.getList()
|
|
|
},
|
|
|
trackAddition() {
|
|
@@ -244,35 +157,17 @@
|
|
|
url: '/pages/shortDistance/short_track_addition'
|
|
|
})
|
|
|
},
|
|
|
- getList(size, page, type) {
|
|
|
+ getList() {
|
|
|
this.$api.doRequest('get', '/shortFillingInfo/selectShortFilling', {
|
|
|
- pageSize: size,
|
|
|
- currentPage: page,
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ currentPage: this.currentPage,
|
|
|
// pcFlag: 0,
|
|
|
searchType: this.searchType,
|
|
|
compId: uni.getStorageSync('pcUserInfo').compId,
|
|
|
commonId: uni.getStorageSync('pcUserInfo').userId,
|
|
|
}).then(res => {
|
|
|
if (res.data.code == 200) {
|
|
|
- uni.showLoading({
|
|
|
- mask: true,
|
|
|
- title: '加载中'
|
|
|
- })
|
|
|
- this.getWarehouse()
|
|
|
- if (type == 'down') {
|
|
|
- this.mescroll.endSuccess();
|
|
|
- this.shortDetail.shortFillingList = []
|
|
|
- } else {
|
|
|
- console.log(res.data)
|
|
|
- this.mescroll.endBySize(res.data.data.records.length, res.data.data.total
|
|
|
- .length); //必传参数(当前页的数据个数, 总数据量)
|
|
|
- }
|
|
|
-
|
|
|
- this.shortDetail.shortFillingList = this.shortDetail.shortFillingList.concat(res.data.data
|
|
|
- .records)
|
|
|
- for (let i = 0; i < this.shortDetail.shortFillingList.length; i++) {
|
|
|
- this.shortDetail.shortFillingList[i].check = false
|
|
|
- }
|
|
|
+ this.shortDetail.shortFillingList = res.data.data.records
|
|
|
|
|
|
}
|
|
|
})
|
|
@@ -283,7 +178,6 @@
|
|
|
warehouseType: '1'
|
|
|
}).then(res => {
|
|
|
if (res.data.data.length != 0) {
|
|
|
- uni.hideLoading()
|
|
|
this.warehouseBaseInfoList = res.data.data
|
|
|
}
|
|
|
})
|
|
@@ -292,6 +186,10 @@
|
|
|
this.shortDetail.warehouseName = this.warehouseBaseInfoList[e[0]].warehouseName
|
|
|
},
|
|
|
requestFunds() {
|
|
|
+ if(this.infoList.length==0){
|
|
|
+ this.$api.msg('请选择一条要请款的条目')
|
|
|
+ return
|
|
|
+ }
|
|
|
this.show1 = true
|
|
|
|
|
|
},
|
|
@@ -308,6 +206,7 @@
|
|
|
}
|
|
|
},
|
|
|
requestFundsSubmit() {
|
|
|
+
|
|
|
var that = this
|
|
|
uni.showModal({
|
|
|
content: "确定提交请款信息?",
|
|
@@ -318,8 +217,8 @@
|
|
|
// that.shortDetail.remark = that.remark
|
|
|
// that.shortDetail.amountRequested = that.amountRequested
|
|
|
// that.shortDetail.warehouseName = that.warehouseName
|
|
|
- let dataInfo = {}
|
|
|
- dataInfo.amountRequested = that.shortDetail.amountRequested
|
|
|
+ let dataInfo={}
|
|
|
+ dataInfo.amountRequested = that.shortDetail.amountRequested
|
|
|
dataInfo.warehouseName = that.shortDetail.warehouseName
|
|
|
dataInfo.remark = that.shortDetail.remark
|
|
|
// dataInfo.compId = uni.getStorageSync('pcUserInfo').compId
|
|
@@ -347,7 +246,7 @@
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.content {
|
|
|
- padding-bottom: 180rpx;
|
|
|
+ padding-bottom: 50rpx;
|
|
|
}
|
|
|
|
|
|
.tag {
|
|
@@ -422,7 +321,6 @@
|
|
|
padding: 10px 16px 0 10px;
|
|
|
border-radius: 0 0 15px 15px;
|
|
|
padding-bottom: 10px;
|
|
|
- margin-bottom: 20rpx;
|
|
|
}
|
|
|
|
|
|
.top2 {
|
|
@@ -447,13 +345,13 @@
|
|
|
}
|
|
|
|
|
|
.good-list {
|
|
|
+ width: 95%;
|
|
|
+ margin: 0 auto;
|
|
|
background-color: white;
|
|
|
- // margin: -10px 10px 20px 10px;
|
|
|
- padding: 20px 0px;
|
|
|
- width: 100%;
|
|
|
- margin: 10rpx 20rpx;
|
|
|
+ padding: 33px 0px 25px 0px;
|
|
|
border-radius: 30rpx;
|
|
|
box-shadow: 0px 5rpx 20rpx #E3E3E3;
|
|
|
+ margin-bottom: 10px;
|
|
|
|
|
|
.item1,
|
|
|
.item3 {
|
|
@@ -476,49 +374,6 @@
|
|
|
text-align: right;
|
|
|
}
|
|
|
|
|
|
- .top {
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
-
|
|
|
- .left {
|
|
|
- align-items: center;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .car-info {
|
|
|
- background: #F9F9FA;
|
|
|
- padding: 20rpx;
|
|
|
- display: flex;
|
|
|
- border-radius: 20rpx;
|
|
|
- flex-direction: column;
|
|
|
-
|
|
|
- .car-num {
|
|
|
- font-size: 26rpx;
|
|
|
- // font-weight: 700;
|
|
|
- }
|
|
|
-
|
|
|
- .car-date {
|
|
|
- margin-top: 10rpx;
|
|
|
- color: #878C9C;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .qk {
|
|
|
- display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
- }
|
|
|
-
|
|
|
- .qkbtn {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- background: #FFFFFF;
|
|
|
- border-radius: 33px;
|
|
|
- border: 1px solid #CDCDCD;
|
|
|
- padding: 15rpx 40rpx;
|
|
|
- box-sizing: border-box;
|
|
|
- margin-top: 20rpx;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
.fuxuankuang {
|
|
@@ -578,7 +433,7 @@
|
|
|
}
|
|
|
|
|
|
.audit2 {
|
|
|
- color: #ff0000;
|
|
|
+ color: #22C572;
|
|
|
}
|
|
|
|
|
|
.audit3 {
|
|
@@ -611,7 +466,7 @@
|
|
|
margin: auto;
|
|
|
background: #fff;
|
|
|
width: calc(100% - 198rpx);
|
|
|
- height: 340px;
|
|
|
+ height: 320px;
|
|
|
border-radius: 20rpx;
|
|
|
|
|
|
input {
|
|
@@ -715,56 +570,6 @@
|
|
|
.textarea {
|
|
|
background: #F9F9FA;
|
|
|
border: 1px solid #EEEEEE;
|
|
|
- margin: 20rpx;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- // .top-content{
|
|
|
- // display: flex;
|
|
|
- // // justify-content: ;
|
|
|
- // }
|
|
|
- .list-content {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- }
|
|
|
-
|
|
|
- .bottom-view {
|
|
|
- position: fixed;
|
|
|
- bottom: 0;
|
|
|
- width: 100%;
|
|
|
- padding: 40rpx;
|
|
|
- background-color: #fff;
|
|
|
-
|
|
|
- .bottom-btn {
|
|
|
- background-color: #22C572;
|
|
|
- width: 100%;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- color: #fff;
|
|
|
- font-size: 32rpx;
|
|
|
- padding: 20rpx;
|
|
|
- border-radius: 50rpx;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- .row2 {
|
|
|
- display: flex;
|
|
|
- justify-content: space-around;
|
|
|
- align-items: center;
|
|
|
- color: #ACAFB6;
|
|
|
-
|
|
|
- .right {
|
|
|
- background-color: #F7F8FA;
|
|
|
- padding: 20rpx 60rpx;
|
|
|
- border-radius: 50rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .green {
|
|
|
- background: #22C572;
|
|
|
- color: #fff;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ margin-left: 10px;
|
|
|
}
|
|
|
</style>
|