dev3
Panzihang 2023-12-27 17:57:26 +08:00
parent 604bef43e9
commit 66f722197d
24 changed files with 450 additions and 285 deletions

View File

@ -541,8 +541,25 @@
<view class="testLine" v-for="item2 in item.shipSpace" :key="item2" <view class="testLine" v-for="item2 in item.shipSpace" :key="item2"
:style="{height:item.maxHeight+'px'}"> :style="{height:item.maxHeight+'px'}">
</view> </view>
<canvas class="mycanvas" :canvas-id="'mycanvas' + index" @:data-id="index" <view class="myArrList">
:style="{height:item.maxHeight+'px'}"></canvas> <view class="arrItem" @click="showItemDialog(item3)"
v-for="(item3, index3) in goodsInfo[index].stowageList"
:key="index3" :style="getDynamicStyle(item3, item.shipSpace)">
<zb-tooltip placement="bottom-start" color="white"
:visible.sync="item3.isShow">
{{item3.amount}} {{item3.potName}} {{item3.stowageNo,}}
<view slot="content">
<view class="tipBox">
<p style="color: #000;">
{{item3.amount}} {{item3.potName}} {{item3.stowageNo,}}
</p>
</view>
</view>
</zb-tooltip>
</view>
</view>
<!-- <canvas class="mycanvas" :canvas-id="'mycanvas' + index" @:data-id="index"
@click="handleClick" :style="{height:item.maxHeight+'px'}"></canvas> -->
</view> </view>
<!-- --> <!-- -->
<view class="imgSize leftTopImg" <view class="imgSize leftTopImg"
@ -1617,7 +1634,6 @@
}, },
method: 'GET', // method: 'GET', //
success: (res) => { success: (res) => {
if (res.data.status == "200") { if (res.data.status == "200") {
this.imgInfo = res.data.data this.imgInfo = res.data.data
// 162 10000 // 162 10000
@ -1645,6 +1661,9 @@
success: (res) => { success: (res) => {
if (res.data.status == "200") { if (res.data.status == "200") {
this.goodsInfo = res.data.data this.goodsInfo = res.data.data
if (this.imgInfo.whetherNormal == "0") {
this.goodsInfo.reverse()
}
this.goodsInfo.forEach((item, index) => { this.goodsInfo.forEach((item, index) => {
item.stowageList.forEach(ele => { item.stowageList.forEach(ele => {
let vertexPositionArr = ele.vertexPosition.split(',') let vertexPositionArr = ele.vertexPosition.split(',')
@ -1657,45 +1676,71 @@
...this.imgInfo.cabinInfoList[index], ...this.imgInfo.cabinInfoList[index],
maxHeight: bigNum maxHeight: bigNum
}) })
this.$set(ele, "isShow", false)
}) })
this.initCanvas(item, index) // this.initCanvas(item, index)
}) })
} }
} }
}) })
}, },
initCanvas(item, index) { // initCanvas(item, index) {
let canvas = 'mycanvas' + index // let canvas = 'mycanvas' + index
const ctx = uni.createCanvasContext(canvas, this) // const ctx = uni.createCanvasContext(canvas, this)
let sum = item.cabinNo // let sum = item.cabinNo
item.stowageList.forEach(ele => { // item.stowageList.forEach(ele => {
// 850 20 850/20 // // 850 20 850/20
let widthDw = (42.5 / sum).toFixed(5) // let widthDw = (42.5 / sum).toFixed(5)
let vertexPositionArr = ele.vertexPosition.split(',') // let vertexPositionArr = ele.vertexPosition.split(',')
let x = vertexPositionArr[0] * widthDw // let x = vertexPositionArr[0] * widthDw
let y = vertexPositionArr[1] * 35 // let y = vertexPositionArr[1] * 35
// let bigNum = (vertexPositionArr[1] + ele.blockLength) * 35 // // let bigNum = (vertexPositionArr[1] + ele.blockLength) * 35
// console.log(this.imgInfo.cabinInfoList[index]); // // console.log(this.imgInfo.cabinInfoList[index]);
// if (this.imgInfo.cabinInfoList[index].maxHeight < bigNum) { // // if (this.imgInfo.cabinInfoList[index].maxHeight < bigNum) {
// this.$set(this.imgInfo.cabinInfoList, index, { // // this.$set(this.imgInfo.cabinInfoList, index, {
// ...this.imgInfo.cabinInfoList[index], // // ...this.imgInfo.cabinInfoList[index],
// maxHeight: bigNum // // maxHeight: bigNum
// }) // // })
// } // // }
ctx.setFillStyle(ele.potColor); // ctx.setFillStyle(ele.potColor);
// // //
ctx.fillRect(x, y, widthDw * ele.blockWidth - 3, ele.blockLength * 35 - 3); // ctx.fillRect(x, y, widthDw * ele.blockWidth - 3, ele.blockLength * 35 - 3);
ctx.fillStyle = '#fff' // ctx.fillStyle = '#fff'
ctx.font = 'bold 18px Arial' // ctx.font = 'bold 18px Arial'
ctx.setFontSize(20); // ctx.setFontSize(20);
let stowageNo = '' // let stowageNo = ''
if (ele.stowageNo) { // if (ele.stowageNo) {
stowageNo = ',' + ele.stowageNo // stowageNo = ele.stowageNo
} // }
ctx.fillText(ele.potName + ',' + ele.amount + stowageNo, x, y + 22, widthDw * ele // ctx.fillText(ele.amount + ' ' + ele.potName + ' ' + stowageNo, x + 10, y + 22, widthDw * ele
.blockWidth, ele.blockLength * 35) // .blockWidth, ele.blockLength * 35)
}) // })
ctx.draw(); // ctx.draw();
// },
showItemDialog(item) {
console.log(item);
},
getDynamicStyle(item, sum) {
// \\
//
// 850 sum sun20 5sun px 850/20/5
let widthDw = (42.5 / sum).toFixed(5) //px
let vertexPositionArr = item.vertexPosition.split(',')
let y = vertexPositionArr[0] * widthDw
let x = vertexPositionArr[1] * 35
let potColor = "#000"
if (item.potColor) {
potColor = item.potColor
}
return {
top: x + 'px',
left: y + 'px',
width: (widthDw * item.blockWidth - 3) + 'px',
height: (item.blockLength * 35 - 3) + 'px',
color: '#fff',
background: potColor,
overflown: 'hidden'
};
}, },
// //
// //
@ -2414,6 +2459,17 @@
width: 850px; width: 850px;
} }
.myArrList {
position: absolute;
top: 0;
left: 0;
width: 850px;
.arrItem {
position: absolute;
}
}
} }
} }

View File

@ -1202,19 +1202,21 @@
// //
select(e) { select(e) {
this.lotusLoadingData.isShow = true this.lotusLoadingData.isShow = true
uni.uploadFile({ e.tempFiles.forEach(v => {
url: `${this.$local}/api/file/upload`, //api uni.uploadFile({
header: { url: `${this.$local}/api/file/upload`, //api
'Authorization': `Bearer ${this.loginObj.access_token}` header: {
}, 'Authorization': `Bearer ${this.loginObj.access_token}`
filePath: e.tempFilePaths[0], },
name: 'file', filePath: v.path,
success: (res) => { name: 'file',
this.lotusLoadingData.isShow = false success: (res) => {
this.bcPhoto2.push(e.tempFiles[0]) this.lotusLoadingData.isShow = false
let data = JSON.parse(res.data).data this.bcPhoto2.push(v)
this.bcPhoto.push(data) let data = JSON.parse(res.data).data
}, this.bcPhoto.push(data)
},
})
}) })
}, },
// //
@ -1231,20 +1233,21 @@
// //
select2(e) { select2(e) {
this.lotusLoadingData.isShow = true this.lotusLoadingData.isShow = true
uni.uploadFile({ e.tempFiles.forEach(v => {
url: `${this.$local}/api/file/upload`, //api uni.uploadFile({
header: { url: `${this.$local}/api/file/upload`, //api
// "Content-Type": "multipart/form-data", header: {
'Authorization': `Bearer ${this.loginObj.access_token}` 'Authorization': `Bearer ${this.loginObj.access_token}`
}, },
filePath: e.tempFilePaths[0], filePath: v.path,
name: 'file', name: 'file',
success: (res) => { success: (res) => {
this.lotusLoadingData.isShow = false this.lotusLoadingData.isShow = false
this.bcLicense2.push(e.tempFiles[0]) this.bcLicense2.push(v)
let data = JSON.parse(res.data).data let data = JSON.parse(res.data).data
this.bcLicense.push(data) this.bcLicense.push(data)
}, },
})
}) })
}, },
// //
@ -1261,20 +1264,21 @@
// //
select3(e) { select3(e) {
this.lotusLoadingData.isShow = true this.lotusLoadingData.isShow = true
uni.uploadFile({ e.tempFiles.forEach(v => {
url: `${this.$local}/api/file/upload`, //api uni.uploadFile({
header: { url: `${this.$local}/api/file/upload`, //api
// "Content-Type": "multipart/form-data", header: {
'Authorization': `Bearer ${this.loginObj.access_token}` 'Authorization': `Bearer ${this.loginObj.access_token}`
}, },
filePath: e.tempFilePaths[0], filePath: v.path,
name: 'file', name: 'file',
success: (res) => { success: (res) => {
this.lotusLoadingData.isShow = false this.lotusLoadingData.isShow = false
this.zsPhoto2.push(e.tempFiles[0]) this.zsPhoto2.push(v)
let data = JSON.parse(res.data).data let data = JSON.parse(res.data).data
this.zsPhoto.push(data) this.zsPhoto.push(data)
}, },
})
}) })
}, },
// //
@ -1291,21 +1295,22 @@
// //
select4(e) { select4(e) {
this.lotusLoadingData.isShow = true this.lotusLoadingData.isShow = true
uni.uploadFile({ e.tempFiles.forEach(v => {
url: `${this.$local}/api/file/upload`, //api uni.uploadFile({
header: { url: `${this.$local}/api/file/upload`, //api
// "Content-Type": "multipart/form-data", header: {
'Authorization': `Bearer ${this.loginObj.access_token}` // "Content-Type": "multipart/form-data",
}, 'Authorization': `Bearer ${this.loginObj.access_token}`
filePath: e.tempFilePaths[0], },
name: 'file', filePath: v.path,
success: (res) => { name: 'file',
this.lotusLoadingData.isShow = false success: (res) => {
this.carPhoto2.push(e.tempFiles[0]) this.lotusLoadingData.isShow = false
let data = JSON.parse(res.data).data this.carPhoto2.push(v)
this.carPhoto.push(data) let data = JSON.parse(res.data).data
console.log(this.carPhoto) this.carPhoto.push(data)
}, },
})
}) })
}, },
// //

View File

@ -258,8 +258,6 @@
.mycanvas { .mycanvas {
margin: auto 0rpx; margin: auto 0rpx;
background-color: #fff;
border: 1px dashed #eee;
} }
.canvasBg { .canvasBg {

View File

@ -118,24 +118,28 @@
</view> </view>
<uni-popup ref="popup" background-color="#fff"> <uni-popup ref="popup" background-color="#fff">
<view class="table rowTable"> <view class="table rowTable">
<view class="tableTop"> <view class="popupTitle">残损具体情况</view>
<view class="tableHead" v-for="(item,index) in rowTableHead" :key="index"> <view class="tableContent">
<p>{{item}}</p> <view class="tableTop">
<view class="tableHead" v-for="(item,index) in rowTableHead" :key="index">
<p>{{item}}</p>
</view>
</view> </view>
</view> <view class="tableInfo" v-for="(item,index) in rowTableData" :key="index">
<view class="tableInfo" v-for="(item,index) in rowTableData" :key="index"> <view class="li">
<view class="li"> {{index + 1}}
{{index + 1}} </view>
</view> <view class="li">
<view class="li"> {{item.vinCode}}
{{item.vinCode}} </view>
</view> <view class="li">
<view class="li"> {{item.qdLinkName}}
{{item.qdLinkName}} </view>
</view> <view class="li">
<view class="li"> {{item.disposalSituationName}}
{{item.disposalSituationName}} </view>
</view> </view>
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
@ -361,7 +365,7 @@
flex-wrap: wrap; flex-wrap: wrap;
font-size: 14px; font-size: 14px;
color: #23262E; color: #23262E;
margin-top: 15.5px; margin-top: 16px;
padding: 0 60px; padding: 0 60px;
.li { .li {
@ -479,6 +483,20 @@
} }
.table { .table {
.popupTitle {
width: 100%;
height: 60px;
line-height: 60px;
font-size: 18px;
font-weight: bold;
border-bottom: 1px solid #999;
text-align: center;
}
.tableContent {
padding: 16px;
}
.tableTop { .tableTop {
display: flex; display: flex;
background: #F4F4F4; background: #F4F4F4;

View File

@ -13,9 +13,9 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>类型{{item.type}}</p> <p>类型<text>{{item.type}}</text></p>
<p>进出口{{item.importExportFlagName}}</p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
</view> </view>
</view> </view>
</view> </view>
@ -104,11 +104,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -148,14 +151,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }

View File

@ -313,6 +313,7 @@
padding: 0px 16px; padding: 0px 16px;
background: #FFFFFF; background: #FFFFFF;
border-radius: 8px; border-radius: 8px;
font-size: 16px;
.head { .head {
height: 85px; height: 85px;

View File

@ -215,7 +215,7 @@
.workBox { .workBox {
background-color: #fff; background-color: #fff;
margin-bottom: 20px; margin-bottom: 20px;
padding: 25px 16px; padding: 24px 16px;
} }
.title { .title {
@ -239,7 +239,8 @@
flex-wrap: wrap; flex-wrap: wrap;
.li { .li {
margin: 10px 20px; margin: 24px;
margin-left: 0;
width: 195px; width: 195px;
height: 70px; height: 70px;
line-height: 70px; line-height: 70px;

View File

@ -13,10 +13,10 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>马菲板号{{item.mafiBarcode}}</text></p> <p>马菲板号<text>{{item.mafiBarcode}}</text></p>
<p>尺码{{item.size}}</p> <p>尺码<text>{{item.size}}</text></p>
<p>类型{{item.type}}</p> <p>类型<text>{{item.type}}</text></p>
<p>装卸方式{{item.loadType}}</p> <p>装卸方式<text>{{item.loadType}}</text></p>
</view> </view>
<view class="status didNot" v-if="item.status == 0 || item.status == 'null'"> <view class="status didNot" v-if="item.status == 0 || item.status == 'null'">
<p>未提交审核</p> <p>未提交审核</p>
@ -123,11 +123,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -167,14 +170,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }

View File

@ -257,7 +257,7 @@
#t-mafi td { #t-mafi td {
padding: 0px 10px; padding: 0px 10px;
text-align: center; text-align: center;
height: 30px; height: 36px;
} }
.container { .container {
@ -295,7 +295,7 @@
.headTItle { .headTItle {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
padding: 24px 0; padding: 36px 0;
margin: 0 8px; margin: 0 8px;
border-bottom: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE;
@ -341,7 +341,7 @@
.ul { .ul {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
padding: 15px 0; padding: 16px 0;
.li { .li {
min-width: 33%; min-width: 33%;

View File

@ -39,6 +39,18 @@
<view class="li"> <view class="li">
<p>Date:</p><text>{{dateId}}</text> <p>Date:</p><text>{{dateId}}</text>
</view> </view>
<view class="li">
<p>Weather:</p><text>{{tqInfo}}</text>
</view>
<view class="li">
<p>Gangs:</p><text>{{zyzsInfo}}</text>
</view>
<view class="li">
<p>Foreman:</p><text>{{dcrsInfo}}</text>
</view>
<view class="li">
<p>Berthed at Haitong:</p><text>{{bwInfo}}</text>
</view>
</view> </view>
<table class="t-zx headZx"> <table class="t-zx headZx">
<tbody> <tbody>
@ -205,6 +217,15 @@
startTime: "", startTime: "",
// //
endTime: "", endTime: "",
//
peopleInfo: {},
peopleList: [],
peopleArr: [],
tqInfo: "",
bwArr: [],
bwInfo: "",
zyzsInfo: 0,
dcrsInfo: 0,
// //
tabsArr: [], tabsArr: [],
gbArr: [], gbArr: [],
@ -268,10 +289,24 @@
let arr = api.arrFrom(v.infoArr, "webId") let arr = api.arrFrom(v.infoArr, "webId")
that.$set(v, "infoArr", arr) that.$set(v, "infoArr", arr)
}) })
that.peopleList.forEach(v => {
let endT = v.jobEndTime.slice(0, 10)
if (endT == that.dateId) {
that.peopleArr.push(v)
}
})
console.log(that.peopleArr)
that.tqInfo = that.peopleArr[0].weatherType
that.peopleArr.forEach(v => {
that.zyzsInfo += Number(v.workSuite)
that.dcrsInfo += Number(v.shipPerson)
that.bwArr.push(v.bthIdName)
})
that.bwInfo = that.bwArr.join(",")
}, 300) }, 300)
}, },
methods: { methods: {
// // /
executeSql(tableName) { executeSql(tableName) {
let sql = `select * from ${tableName} WHERE vtpId = '${this.vtpId}'` let sql = `select * from ${tableName} WHERE vtpId = '${this.vtpId}'`
sqlite.executeSqlCeshi(sql).then((value) => { sqlite.executeSqlCeshi(sql).then((value) => {
@ -279,7 +314,7 @@
if (tableName == 'shipInfoTable') { if (tableName == 'shipInfoTable') {
this.shipInfo = value[0] this.shipInfo = value[0]
} else { } else {
console.log(value) this.peopleInfo = value[0]
} }
}).catch((error) => { }).catch((error) => {
// reject // reject
@ -308,10 +343,13 @@
this.executeSql22(sql2, index) this.executeSql22(sql2, index)
let sql3 = `SELECT * FROM retallyMessageRespList WHERE retallyMessageRespList.retallyStartTime>='${this.startTime}' and let sql3 = `SELECT * FROM retallyMessageRespList WHERE retallyMessageRespList.retallyStartTime>='${this.startTime}' and
retallyMessageRespList.retallyEndTime<'${this.endTime}' and vtpId = '${this.vtpId}'` retallyMessageRespList.retallyEndTime<'${this.endTime}' and vtpId = '${this.vtpId}'`
this.executeSql3(sql3, this.endTime) this.executeSql3(sql3)
let sql4 = `SELECT * FROM infoRespList WHERE infoRespList.startTm>='${this.startTime}' and let sql4 = `SELECT * FROM infoRespList WHERE infoRespList.startTm>='${this.startTime}' and
infoRespList.endTm<'${this.endTime}' and vtpId = '${this.vtpId}'` infoRespList.endTm<'${this.endTime}' and vtpId = '${this.vtpId}'`
this.executeSql4(sql4, this.endTime) this.executeSql4(sql4)
let sql5 = `SELECT * FROM messageRespList WHERE messageRespList.jobStartTime>='${this.startTime}' and
messageRespList.jobEndTime<'${this.endTime}' and vtpId = '${this.vtpId}'`
this.executeSql6(sql5)
}) })
let that = this let that = this
setTimeout(function() { setTimeout(function() {
@ -386,7 +424,7 @@
}); });
}, },
// //
executeSql3(sql, endTIme) { executeSql3(sql) {
sqlite.executeSqlCeshi(sql).then((value) => { sqlite.executeSqlCeshi(sql).then((value) => {
if (value.length > 0) { if (value.length > 0) {
this.fcList.push(...value) this.fcList.push(...value)
@ -398,7 +436,7 @@
}); });
}, },
// //
executeSql4(sql, endTIme) { executeSql4(sql) {
sqlite.executeSqlCeshi(sql).then((value) => { sqlite.executeSqlCeshi(sql).then((value) => {
// resolve // resolve
if (value.length > 0) { if (value.length > 0) {
@ -410,6 +448,19 @@
console.error(error); console.error(error);
}); });
}, },
//
executeSql6(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
if (value.length > 0) {
this.peopleList.push(...value)
}
this.peopleList = api.arrFrom(this.peopleList, "pmeId")
}).catch((error) => {
// reject
console.error(error);
});
},
// //
executeSql5() { executeSql5() {
let sql = `select * from workSignTable WHERE bizId = '${this.dateId}';` let sql = `select * from workSignTable WHERE bizId = '${this.dateId}';`
@ -480,6 +531,12 @@
this.shiftInf = [] this.shiftInf = []
this.fcArr = [] this.fcArr = []
this.qtArr = [] this.qtArr = []
this.peopleArr = []
this.tqInfo = ""
this.zyzsInfo = 0
this.dcrsInfo = 0
this.bwArr = []
this.bwInfo = ""
this.executeSql2(0) this.executeSql2(0)
this.executeSql5() this.executeSql5()
this.shiftInfo.forEach(v => { this.shiftInfo.forEach(v => {
@ -506,6 +563,19 @@
if (this.qtArr.length == 0) { if (this.qtArr.length == 0) {
this.qtArr.push({}) this.qtArr.push({})
} }
this.peopleList.forEach(v => {
let endT = v.jobEndTime.slice(0, 10)
if (endT == this.dateId) {
this.peopleArr.push(v)
}
})
this.tqInfo = this.peopleArr[0].weatherType
this.peopleArr.forEach(v => {
this.zyzsInfo += Number(v.workSuite)
this.dcrsInfo += Number(v.shipPerson)
this.bwArr.push(v.bthIdName)
})
this.bwInfo = this.bwArr.join(",")
}, },
// //
togoSign(signType) { togoSign(signType) {

View File

@ -18,7 +18,7 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
<p>进出口<text>{{item.importExportFlagName}}</text></p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>作业组数<text>{{item.workSuite}}</text></p> <p>作业组数<text>{{item.workSuite}}</text></p>
<p>单船人数<text>{{item.shipPerson}}</text></p> <p>单船人数<text>{{item.shipPerson}}</text></p>
@ -284,21 +284,25 @@
padding-right: 20px; padding-right: 20px;
.addBtn { .addBtn {
width: 80px; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
background-color: #2979ff; background-color: #2979ff;
color: #fff; color: #fff;
text-align: center;
padding: 10px;
margin-right: 10px; margin-right: 10px;
border-radius: 4px;
} }
.sign { .sign {
width: 80px; width: 86px;
height: 36px;
line-height: 36px;
text-align: center; text-align: center;
color: #2979ff; color: #2979ff;
padding: 10px; border: 1px solid #2979ff;
background: #fff; border-radius: 4px;
border: 1px solid #ccc; color: #2979ff;
} }
} }
@ -360,14 +364,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262E;
} }
} }
} }

View File

@ -13,9 +13,9 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>进出口{{item.importExportFlagName}}</p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
<p>作业日期{{item.workDate}}</p> <p>作业日期<text>{{item.workDate}}</text></p>
</view> </view>
</view> </view>
</view> </view>
@ -104,11 +104,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -148,14 +151,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }

View File

@ -13,9 +13,9 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>进出口{{item.importExportFlagName}}</p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
<p>作业日期{{item.operationDate}}</p> <p>作业日期<text>{{item.operationDate}}</text></p>
</view> </view>
</view> </view>
</view> </view>
@ -106,11 +106,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -150,14 +153,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }

View File

@ -808,13 +808,8 @@
} }
} }
#t-main { .t-main {
border-collapse: collapse; font-size: 16px;
border-spacing: 0px;
td {
padding: 0px 10px;
}
} }
.content { .content {

View File

@ -10,9 +10,9 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>类型{{item.type}}</text></p> <p>类型<text>{{item.type}}</text></p>
<p>贸易类型{{item.tradeTypeName}}</p> <p>贸易类型<text>{{item.tradeTypeName}}</text></p>
<p>进出口{{item.importExportName}}</p> <p>进出口<text>{{item.importExportName}}</text></p>
</view> </view>
<!-- <view class="status didNot"> <!-- <view class="status didNot">
<p>未上传</p> <p>未上传</p>
@ -151,69 +151,19 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }
.status {
padding: 5px;
position: absolute;
top: 16px;
right: 16px;
}
.didNot {
background-color: #FFF7EE;
color: #FC8300;
}
.success {
background: #F1F8FF;
color: #0067CF;
}
.fail {
background: #FFF0F0;
color: #E50101;
}
.shift {
display: flex;
padding: 16px 4px;
background-color: #f7f7f7;
margin: 5px 0;
text:first-child {
color: #0067CF;
margin: 0 12px;
}
.text {
color: #999;
}
.time {
color: #23262E;
margin-top: 3px;
margin-right: 15px;
}
}
.state {
display: flex;
flex-direction: column;
justify-content: center;
}
} }
.li:nth-of-type(3n - 1) { .li:nth-of-type(3n - 1) {

View File

@ -237,25 +237,27 @@
}, },
// //
select(e) { select(e) {
uni.uploadFile({ e.tempFiles.forEach(v => {
url: `${this.$local}/api/file/upload`, //api uni.uploadFile({
header: { url: `${this.$local}/api/file/upload`, //api
'Authorization': `Bearer ${this.loginObj.access_token}` header: {
}, 'Authorization': `Bearer ${this.loginObj.access_token}`
filePath: e.tempFilePaths[0], },
name: 'file', filePath: v.path,
success: (res) => { name: 'file',
this.urlList2.push(e.tempFiles[0]) success: (res) => {
let data = JSON.parse(res.data).data this.urlList2.push(v)
this.urlList.push(data.filePath) let data = JSON.parse(res.data).data
}, this.urlList.push(data.filePath)
fail(e) { },
uni.showToast({ fail(e) {
title: `${e.errMsg}`, uni.showToast({
icon: 'none', title: `${e.errMsg}`,
duration: 2000 icon: 'none',
}) duration: 2000
} })
}
})
}) })
}, },
// //

View File

@ -1195,7 +1195,7 @@
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
showCancel: false, showCancel: false,
content: '请输入必填项' content: '请输入航次,装卸类型'
}) })
} else { } else {
let date = new Date().getTime() let date = new Date().getTime()

View File

@ -31,7 +31,7 @@
<van-tab title="工班信息"> <van-tab title="工班信息">
<view class="shiftCss"> <view class="shiftCss">
<view class="smasonry"> <view class="smasonry">
<view class="ul smasonryLi" v-for="(item,index) in shiftInfo1" :key="index + 'a'"> <view class="ul" v-for="(item,index) in shiftInfo1" :key="index + 'a'">
<view class="li"> <view class="li">
<p>工班</p> <p>工班</p>
<text> {{item.pwcTypeName}}</text> <text> {{item.pwcTypeName}}</text>
@ -61,7 +61,7 @@
</view> </view>
</view> </view>
<view class="smasonry"> <view class="smasonry">
<view class="ul smasonryLi" v-for="(item,index) in shiftInfo2" :key="index + 'c'"> <view class="ul" v-for="(item,index) in shiftInfo2" :key="index + 'c'">
<view class="li"> <view class="li">
<p>工班</p> <p>工班</p>
<text> {{item.pwcTypeName}}</text> <text> {{item.pwcTypeName}}</text>
@ -461,6 +461,7 @@
justify-content: space-between; justify-content: space-between;
flex-wrap: wrap; flex-wrap: wrap;
padding: 0 16px 16px; padding: 0 16px 16px;
margin-bottom: 16px;
.li { .li {
width: 100%; width: 100%;

View File

@ -13,10 +13,10 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>类型{{item.supplyTypeNm}}</p> <p>类型<text>{{item.supplyTypeNm}}</text></p>
<p>进出口{{item.importExportFlagName}}</p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
<p>日期{{item.supplyDate}}</p> <p>日期<text>{{item.supplyDate}}</text></p>
</view> </view>
<view class="status didNot" v-if="item.status == 0 || item.status == 'null'"> <view class="status didNot" v-if="item.status == 0 || item.status == 'null'">
<p>未提交审核</p> <p>未提交审核</p>
@ -123,11 +123,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -167,14 +170,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }

View File

@ -64,10 +64,11 @@
</uni-popup> </uni-popup>
<view class="btnList"> <view class="btnList">
<view class="btn qx" @click="cancel"></view> <view class="btn qx" @click="cancel"></view>
<view class="btn sc" v-if="obj.state == 'look'" @click="del"></view>
<view class="btn bc" v-if="obj.state == 'look'" @click="toGo('edit')"></view>
<view class="btn bc" v-if="obj.state == 'add' || obj.state == 'edit'" @click="save"></view>
<template v-if="status == 0 || status == 4 || status == 5 || status == 'null'"> <template v-if="status == 0 || status == 4 || status == 5 || status == 'null'">
<view class="btn sc" v-if="obj.state == 'look'" @click="del"></view>
<view class="btn bc" v-if="obj.state == 'look'" @click="toGo('edit')"></view>
<view class="btn bc" v-if="obj.state == 'add' || obj.state == 'edit'" @click="save"></view>
</template> </template>
</view> </view>
</view> </view>
@ -211,8 +212,16 @@
} else { } else {
this.shiftingBerthTime = this.untieRow.shiftingBerthTime this.shiftingBerthTime = this.untieRow.shiftingBerthTime
} }
this.noProductBerthStTime = this.untieRow.noProductBerthStTime if (this.untieRow.noProductBerthStTime == "null") {
this.noProductBerthEdTime = this.untieRow.noProductBerthEdTime this.untieRow.noProductBerthStTime = ""
} else {
this.noProductBerthStTime = this.untieRow.noProductBerthStTime
}
if (this.untieRow.noProductBerthEdTime == "null") {
this.untieRow.noProductBerthEdTime = ""
} else {
this.noProductBerthEdTime = this.untieRow.noProductBerthEdTime
}
this.noProductBerthTime = [this.noProductBerthStTime, this.noProductBerthEdTime] this.noProductBerthTime = [this.noProductBerthStTime, this.noProductBerthEdTime]
this.status = this.untieRow.status this.status = this.untieRow.status
}, },

View File

@ -13,10 +13,10 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>进出口{{item.importExportFlagName}}</p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
<p>泊位{{item.bthIdName}}</p> <p>泊位<text>{{item.bthIdName}}</text></p>
<p>系缆时间{{item.attachTime}}</p> <p>系缆时间<text>{{item.attachTime}}</text></p>
</view> </view>
<view class="status didNot" v-if="item.status == 0 || item.status == 'null'"> <view class="status didNot" v-if="item.status == 0 || item.status == 'null'">
<p>未提交审核</p> <p>未提交审核</p>
@ -123,11 +123,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -167,14 +170,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }
} }

View File

@ -48,20 +48,33 @@
</view> </view>
<view class="li"> <view class="li">
<p>系缆时间/Time of Moonring:</p> <p>系缆时间/Time of Moonring:</p>
<p>{{tableInfo.attachTime}}</p> <p>
<text v-if="tableInfo.attachTime != 'null'">{{tableInfo.attachTime}}</text>
</p>
</view> </view>
<view class="li"> <view class="li">
<p>解缆时间/Time of Unmoonring:</p> <p>解缆时间/Time of Unmoonring:</p>
<p>{{tableInfo.unmoorTime}}</p> <p>
<text v-if="tableInfo.unmoorTime != 'null'">{{tableInfo.unmoorTime}}</text>
</p>
</view> </view>
<view class="li"> <view class="li">
<p>移泊时间/Time of Shifting:</p> <p>移泊时间/Time of Shifting:</p>
<p>{{tableInfo.shiftingBerthTime}}</p> <p>
<text
v-if="tableInfo.shiftingBerthTime != 'null'">{{tableInfo.shiftingBerthTime}}
</text>
</p>
</view> </view>
<view class="li"> <view class="li">
<p>停泊时间/Time of Shifting:</p> <p>停泊时间/Time of Shifting:</p>
<p>{{tableInfo.noProductBerthStTime}} - <p>
{{tableInfo.noProductBerthEdTime}} <text v-if="tableInfo.noProductBerthStTime != 'null'">
{{tableInfo.noProductBerthStTime}}
</text>-
<text v-if="tableInfo.noProductBerthEdTime != 'null'">
{{tableInfo.noProductBerthEdTime}}
</text>
</p> </p>
</view> </view>
</view> </view>

View File

@ -13,9 +13,9 @@
<text>航次{{item.vvyName}}</text> <text>航次{{item.vvyName}}</text>
</view> </view>
<view class="liInfo"> <view class="liInfo">
<p>进出口{{item.importExportFlagName}}</p> <p>进出口<text>{{item.importExportFlagName}}</text></p>
<p>贸易类型{{shipInfo.spmTradeName}}</p> <p>贸易类型<text>{{shipInfo.spmTradeName}}</text></p>
<p>作业时间{{item.startTime}} - {{item.endTime}}</p> <p>作业时间<text>{{item.startTime}} - {{item.endTime}}</text></p>
</view> </view>
</view> </view>
</view> </view>
@ -104,11 +104,14 @@
justify-content: flex-end; justify-content: flex-end;
.sign { .sign {
text-align: right; width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
color: #2979ff;
border: 1px solid #2979ff;
border-radius: 4px;
color: #2979ff; color: #2979ff;
padding: 10px;
background: #fff;
border: 1px solid #ccc;
} }
} }
@ -148,14 +151,16 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-top: 16px; margin-top: 24px;
p { p {
width: 49%; width: 49%;
margin-bottom: 12px; margin-bottom: 12px;
color: #999;
text { text {
font-weight: bold; font-weight: bold;
color: #23262e;
} }
} }

View File

@ -607,6 +607,7 @@
} }
#t-main { #t-main {
font-size: 16px;
border-collapse: collapse; border-collapse: collapse;
border-spacing: 0px; border-spacing: 0px;
@ -614,6 +615,10 @@
background: #FAFAFA; background: #FAFAFA;
} }
.content {
font-size: 16px;
}
.content:nth-of-type(2n-1) { .content:nth-of-type(2n-1) {
background: #FAFAFA; background: #FAFAFA;
} }