pad-app/pages/shipWork/index.vue

520 lines
14 KiB
Vue
Raw Normal View History

2023-07-05 10:56:11 +08:00
<template>
<view class="app">
<head-info></head-info>
<view class="container">
<side-bar path='3'></side-bar>
<view class="content">
<view class="form">
2023-07-13 16:46:06 +08:00
<view class="select">
2023-07-17 17:10:05 +08:00
<superwei-combox :candidates="shipList" :isJSON="true" keyName="spmName" placeholder="请选择船名航次"
v-model="shipName" @input="input_json" @select="select_json"></superwei-combox>
2023-07-06 17:08:59 +08:00
</view>
2023-07-25 13:18:37 +08:00
<button class="searchBtn" type="default" @click="search"></button>
2023-07-05 10:56:11 +08:00
</view>
<view class="itemList">
2023-07-25 13:18:37 +08:00
<template v-if="itemList.length > 0">
2023-07-17 17:10:05 +08:00
<view v-for="(item, index) in itemList" :key="index" class="item" @click="toGo(item)">
<view class="title">
<view class="name">
{{item.spmName}}
2023-07-06 17:08:59 +08:00
</view>
</view>
2023-07-17 17:10:05 +08:00
<view class="table">
<view class="row">
<view class="nitem">
进口航次: <text>{{item.inVvyName}}</text>
</view>
<view class="nitem">
进口贸易类型: <text>{{item.inTradeTypeName}}</text>
</view>
2023-07-06 17:08:59 +08:00
</view>
2023-07-17 17:10:05 +08:00
<view class="row">
<view class="nitem">
出口航次: <text>{{item.outVvyName}}</text>
</view>
<view class="nitem">
出口贸易类型: <text>{{item.outTradeTypeName}}</text>
</view>
2023-07-06 17:08:59 +08:00
</view>
2023-07-17 17:10:05 +08:00
<view class="row">
<view class="nitem">
计划泊位: <text>{{item.planBerthageName}}</text>
</view>
<view class="nitem">
实际泊位: <text>{{item.actualBerthageName}}</text>
</view>
2023-07-06 17:08:59 +08:00
</view>
2023-07-17 17:10:05 +08:00
<view class="row">
<view class="nitem">
<text>{{item.uploadStatusDesc}}</text>
<text>{{item.uploadTime}}</text>
</view>
<!-- <view class="nitem" v-if="item==1">
<text class="green"></text> 已下载
<text>2023/09/21 12:00</text>
</view>
<view class="nitem" v-if="item==2">
<text></text> 未下载
</view>
<view class="nitem" v-if="item==1">
<text class="green"></text> 已上传
<text>2023/09/21 12:00</text>
</view>
<view class="nitem" v-if="item==2">
<text></text> 未上传
</view> -->
2023-07-05 10:56:11 +08:00
</view>
2023-07-17 17:10:05 +08:00
<view class="footer">
<view class="footer">
2023-07-25 13:18:37 +08:00
<button class="fitem" type="default" @click.stop="download(item)">下载</button>
<button class="fitem" type="default" @click.stop="upload(item)">上传</button>
2023-07-17 17:10:05 +08:00
</view>
2023-07-05 10:56:11 +08:00
</view>
</view>
</view>
2023-07-17 17:10:05 +08:00
</template>
<o-empty v-else height="70vh" bg="#f5f6fa" />
</view>
2023-07-25 13:18:37 +08:00
<view class="pageBox" v-if="itemList.length > 0">
2023-07-17 17:10:05 +08:00
<uni-pagination :show-icon="true" :total="total" :pageSize="pageSize" :current="current"
@change="changePage" />
2023-07-05 10:56:11 +08:00
</view>
</view>
</view>
</view>
</template>
<script>
import SideBar from '@/components/sider-bar/slider-bar';
import HeadInfo from '@/components/head-info/head-info';
export default {
data() {
return {
2023-07-13 16:46:06 +08:00
// 港口
pamValue: "",
// pamList: [],
2023-07-13 16:46:06 +08:00
// 船名航次
2023-07-17 17:10:05 +08:00
shipName: "",
2023-07-13 16:46:06 +08:00
shipValue: '',
shipList: [],
2023-07-17 17:10:05 +08:00
shipInput: "",
itemList: [],
// 分页
total: 0,
pageSize: 4,
current: 1,
2023-07-05 10:56:11 +08:00
}
},
onLoad() {
},
components: {
SideBar,
2023-07-13 16:46:06 +08:00
HeadInfo,
},
mounted() {
this.pamValue = uni.getStorageSync('portObj').portId
2023-07-05 10:56:11 +08:00
},
methods: {
2023-07-13 16:46:06 +08:00
// 获取船的数据
initData() {
uni.request({
url: this.$local + '/api/shipOperate/select?pamId=' + this.pamValue + "&vvyId=" + this
.shipValue,
header: {
'Content-Type': 'application/json' //自定义请求头信息
},
method: 'GET', //请求方式,必须为大写
success: (res) => {
console.log('接口返回------', res);
if (res.statusCode === 200) {
2023-07-17 17:10:05 +08:00
this.total = res.data.data.records.length
2023-07-18 17:37:15 +08:00
let newArr = this.getMapping(res.data.data.records, this.pageSize)
2023-07-17 17:10:05 +08:00
this.itemList = newArr[this.current - 1];
2023-07-13 16:46:06 +08:00
}
}
})
},
2023-07-17 17:10:05 +08:00
// 分页切割数组(数组,分割个数)
getMapping(list, num) {
let len = list.length
let newList = []
if (len) {
var chunk = num
for (var i = 0, j = len; i < j; i += chunk) {
newList.push(list.slice(i, i + chunk))
}
}
return newList
},
// 点击页面
changePage(e) {
this.current = e.current;
this.initData()
},
2023-07-13 16:46:06 +08:00
// 获取船名航次下拉数据
getShip() {
uni.request({
2023-07-17 17:10:05 +08:00
url: this.$local + '/api/shipOperate/queryShipmentVoyageData?key=' + this.shipInput,
2023-07-13 16:46:06 +08:00
header: {
'Content-Type': 'application/json' //自定义请求头信息
},
method: 'GET', //请求方式,必须为大写
success: (res) => {
console.log('接口返回------', res);
if (res.statusCode === 200) {
2023-07-17 17:10:05 +08:00
this.shipList = res.data.data
2023-07-13 16:46:06 +08:00
}
}
})
},
2023-07-17 17:10:05 +08:00
// 船名航次下拉模糊查询
input_json(e) {
this.shipInput = e;
this.getShip();
},
// 船名航次下拉选项
select_json(e) {
this.shipValue = e.vvyId
this.shipName = e.spmName
},
2023-07-13 16:46:06 +08:00
// 点击搜索
search() {
2023-07-25 13:18:37 +08:00
this.itemList = [{
2023-07-25 17:15:05 +08:00
uploadTime: "2022-12-11 12:00:08",
uploadStatusDesc: "已上传",
2023-07-25 13:18:37 +08:00
actualBerthageName: "3",
planBerthageName: "4",
outTradeTypeName: "5",
outVvyName: "6",
inTradeTypeName: "7",
inVvyName: "8"
}]
// this.initData()
2023-07-05 10:56:11 +08:00
},
2023-07-17 17:10:05 +08:00
// 下载
2023-07-13 16:46:06 +08:00
download(item) {
2023-07-17 17:10:05 +08:00
let ids = []
if (item.inVvyId != null && item.outVvyId == null) {
ids.push(item.inVvyId)
} else if (item.outVvyId != null && item.inVvyId == null) {
ids.push(item.outVvyId)
} else if (item.inVvyId != null && item.outVvyId != null) {
ids.push(item.inVvyId)
ids.push(item.outVvyId)
}
2023-07-13 16:46:06 +08:00
console.log(ids)
uni.request({
url: this.$local + '/api/shipOperate/download?vvyIds=' + ids,
header: {
'Content-Type': 'application/json' //自定义请求头信息
},
method: 'GET', //请求方式,必须为大写
success: (res) => {
console.log('接口返回------', res);
2023-07-18 17:37:15 +08:00
if (res.statusCode == 200) {
// 存储数据
uni.setStorageSync('shipInfo', res.data.data);
}
2023-07-13 16:46:06 +08:00
}
})
},
2023-07-17 17:10:05 +08:00
// 上传
upload(item) {
let workDataInfo = {
"adviserLayoutReqList": [{
"altId": "33333333333",
"bthId": "2f166d975bdc58e6a461e3d01de11289",
"createTime": "",
"createUser": "",
"endTime": "2023-07-14 10:00",
"loaderType": "装货",
"personNumber": 10,
"pwcType": "123321",
"remark": "12312312",
"sparePart": 10,
"startTime": "2023-07-13 12:00",
"tenantId": "",
"termcd": "",
"updateTime": "",
"updateUser": "",
"valid": "",
"vehicleSize": 20,
"version": "",
"vvyId": "6cb63df0526f20ecbaa43795774a1299"
}],
"conditionReqList": [{
"operationDate": "2023-07-14",
"remark": "123123",
"type": "2321312",
"vacId": "333333",
"vvyId": "6cb63df0526f20ecbaa43795774a1299"
}],
"consultationReqList": [{
"bthId": "2f166d975bdc58e6a461e3d01de11289",
"handlingType": "装货",
"operationDate": "2023-07-14",
"spareNumber": "12",
"vehiclesNumber": "22",
"vqcId": "123132132131321",
"vvyId": "6cb63df0526f20ecbaa43795774a1299"
}],
"delAlIds": [],
"delCsIds": [],
"delCtIds": [],
"delLnIds": [],
"delMfIds": [],
"delPmIds": [],
"delSauIds": [],
"delSiIds": [],
"delSoiIds": [],
"delSrmIds": [],
"delSsIds": [],
"delSwmIds": [],
"inVvyId": "6cb63df0526f20ecbaa43795774a1299",
"loadUnloadNoticeReqList": [{
"sluId": "11111",
"vbtId": "22222222",
"vvyId": "6cb63df0526f20ecbaa43795774a1299",
"workDate": "2023-07-14"
}],
"outVvyId": "6cb63df0526f20ecbaa43795774a1299",
"personMessageReqList": [{
"bthId": "2f166d975bdc58e6a461e3d01de11289",
"jobEndTime": "2023-7-14 10:00",
"jobStartTime": "2023-7-13 12:00",
"pmeId": "111",
"remark": "123123123remark",
"shipPerson": 0,
"termcd": "2222",
"valid": "33333",
"vbtId": "44444",
"vvyId": "6cb63df0526f20ecbaa43795774a1299",
"weatherType": "晴",
"workSuite": 0
}],
"shipmentAttachUnmoorReqList": [{
"attachTime": "2023-07-13 12:00",
"bthId": "2f166d975bdc58e6a461e3d01de11289",
"createTime": "",
"createUser": "",
"noProductBerthTime": "2023-07-13 12:00",
"remark": "23123123",
"sauId": "333333",
"shiftingBerthTime": "2023-07-13 12:00",
"shipDeadWeight": 30,
"tenantId": "11122222",
"termcd": "111222",
"unmoorTime": "2023-07-13 12:00",
"updateTime": "2023-07-13 12:00",
"updateUser": "111111",
"valid": "2222222",
"version": 20,
"vvyId": "6cb63df0526f20ecbaa43795774a1299"
}],
"shipmentMafiListReqList": [{
"loadType": "卸货",
"mafiBarcode": "000002",
"pamId": "ac9b606e04a2bc71b876914a64ccb0b6",
"size": 10,
"smlId": "1111",
"type": "FULL",
"vtpId": "222222",
"vvyId": "6cb63df0526f20ecbaa43795774a1299",
"workDate": "2023-07-14"
}],
"shipmentOtherInfoReqList": [{
"auxRemark": "111111",
"endTm": "2023-07-14 10:00:00",
"genNum": 20,
"remark": "12312321",
"soiId": "222222",
"startTm": "2023-07-13 12:00:00",
"tecNum": 30,
"volume": 20,
"vvyId": "6cb63df0526f20ecbaa43795774a1299",
"waitRemark": "123123",
"weight": 40,
"workRemark": "1231231"
}],
"shipmentRetallyMessageReqList": [{
"remId": "123123",
"retallyReqDTOS": [{
"remId": "1231231312",
"retallyDetailReqDTOS": [{
"carType": "中型车",
"goodsNumber": 10,
"goodsVolume": 20,
"goodsWeight": 30,
"retallyEndTime": "2023-07-14 10:00:00",
"retallyOrigin": "123123",
"retallyStartTime": "2023-07-13 12:00:00",
"retallyTerminus": "1231321",
"reyId": "1231321",
"rydId": "23123123"
}],
"retallyType": "",
"reyId": ""
}],
"vvyId": "6cb63df0526f20ecbaa43795774a1299"
}],
"shipmentSafetyInspectionReqList": [{
"importExport": "1231312",
"remark": "123123",
"spmId": "32131",
"tradeType": "123213",
"type": "123123",
"uploadStatus": "未上传",
"url": [],
"vsiId": "123123",
"vvyId": "6cb63df0526f20ecbaa43795774a1299"
}],
"shipmentShipSupplyReqList": [{
"sssId": "",
"stopBerthage": "2f166d975bdc58e6a461e3d01de11289",
"supplyAmount": 8,
"supplyDate": "2023-07-14",
"supplyType": "",
"vvyId": "6cb63df0526f20ecbaa43795774a1299",
"vvyName": "511I"
}],
"shipmentWorkMessageReqList": [{
"loadType": "自装",
"pwcType": "123",
"remark": "132311231",
"vvyId": "6cb63df0526f20ecbaa43795774a1299",
"wkmId": "123123",
"workEndTime": "2023-07-13 10:00:00",
"workStartTime": "2023-07-13 12:00:00",
"workMessageDetailReqDTOS": [{
"carType": "中型车",
"goodsNumber": 3,
"loadingType": "自装",
"remark": "",
"tenantId": "",
"termcd": "",
"valid": "",
"wkdId": "",
"wkmId": ""
}],
}],
"vtpId": "123123"
}
uni.request({
url: this.$local + '/api/shipOperate/upload',
data: workDataInfo,
header: {
'Content-Type': 'application/json' //自定义请求头信息
},
method: 'POST', //请求方式,必须为大写
success: (res) => {
console.log('接口返回------', res);
}
})
},
toGo(item) {
2023-07-13 11:18:17 +08:00
uni.navigateTo({
2023-07-18 17:37:15 +08:00
url: `/pages/shipWork/documentList`
2023-07-13 11:18:17 +08:00
})
}
2023-07-05 10:56:11 +08:00
}
};
</script>
2023-07-13 16:46:06 +08:00
<style lang="less" scoped>
2023-07-05 10:56:11 +08:00
.container {
background-color: #f5f6fa;
display: flex;
2023-07-13 16:46:06 +08:00
min-height: calc(100vh - 44px - 40px);
2023-07-05 10:56:11 +08:00
}
.content {
padding: 20px;
2023-07-13 16:46:06 +08:00
min-height: calc(100vh - 44px - 40px);
2023-07-06 17:08:59 +08:00
2023-07-05 10:56:11 +08:00
.form {
display: flex;
2023-07-06 17:08:59 +08:00
2023-07-05 10:56:11 +08:00
.select {
2023-07-13 16:46:06 +08:00
width: 200px;
margin-right: 20px;
2023-07-05 10:56:11 +08:00
}
2023-07-06 17:08:59 +08:00
2023-07-05 10:56:11 +08:00
.input {
width: 200px;
height: 35px;
line-height: 35px;
margin-left: 15px;
}
2023-07-13 16:46:06 +08:00
2023-07-25 13:18:37 +08:00
.searchBtn {
2023-07-13 16:46:06 +08:00
height: 35px;
line-height: 35px;
2023-07-25 13:18:37 +08:00
margin-left: 0;
2023-07-13 16:46:06 +08:00
}
2023-07-05 10:56:11 +08:00
}
.itemList {
width: 100%;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
2023-07-06 17:08:59 +08:00
2023-07-17 17:10:05 +08:00
/deep/.o-empty {
width: 100%;
margin-top: 15px;
}
2023-07-05 10:56:11 +08:00
.item {
2023-07-06 17:08:59 +08:00
width: 49%;
2023-07-05 10:56:11 +08:00
margin-top: 15px;
2023-07-06 17:08:59 +08:00
margin-right: 2%;
2023-07-05 10:56:11 +08:00
border: 1px solid #c9cacb;
.title {
display: flex;
justify-content: space-between;
font-size: 21px;
2023-07-06 17:08:59 +08:00
padding: 10px 20px;
2023-07-05 10:56:11 +08:00
font-weight: 700;
}
.row {
display: flex;
justify-content: space-between;
2023-07-17 17:10:05 +08:00
font-size: 14px;
2023-07-06 17:08:59 +08:00
padding: 10px 20px;
2023-07-05 10:56:11 +08:00
2023-07-06 17:08:59 +08:00
.nitem {
width: 46%;
.text {
color: #929292;
}
2023-07-05 10:56:11 +08:00
}
}
2023-07-06 17:08:59 +08:00
.footer {
2023-07-17 17:10:05 +08:00
width: 100%;
2023-07-06 17:08:59 +08:00
display: flex;
2023-07-17 17:10:05 +08:00
justify-content: space-around;
2023-07-06 17:08:59 +08:00
.fitem {
2023-07-17 17:10:05 +08:00
flex: 1;
margin: 10px 20px;
2023-07-25 17:15:05 +08:00
background-color: #fff;
2023-07-06 17:08:59 +08:00
}
}
2023-07-05 10:56:11 +08:00
}
.item:nth-child(2n) {
margin-right: 0;
}
}
2023-07-17 17:10:05 +08:00
.pageBox {
margin-top: 20px;
}
2023-07-05 10:56:11 +08:00
}
2023-07-13 11:18:17 +08:00
</style>