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"
:style="{height:item.maxHeight+'px'}">
</view>
<canvas class="mycanvas" :canvas-id="'mycanvas' + index" @:data-id="index"
:style="{height:item.maxHeight+'px'}"></canvas>
<view class="myArrList">
<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 class="imgSize leftTopImg"
@ -1617,7 +1634,6 @@
},
method: 'GET', //
success: (res) => {
if (res.data.status == "200") {
this.imgInfo = res.data.data
// 162 10000
@ -1645,6 +1661,9 @@
success: (res) => {
if (res.data.status == "200") {
this.goodsInfo = res.data.data
if (this.imgInfo.whetherNormal == "0") {
this.goodsInfo.reverse()
}
this.goodsInfo.forEach((item, index) => {
item.stowageList.forEach(ele => {
let vertexPositionArr = ele.vertexPosition.split(',')
@ -1657,45 +1676,71 @@
...this.imgInfo.cabinInfoList[index],
maxHeight: bigNum
})
this.$set(ele, "isShow", false)
})
this.initCanvas(item, index)
// this.initCanvas(item, index)
})
}
}
})
},
initCanvas(item, index) {
let canvas = 'mycanvas' + index
const ctx = uni.createCanvasContext(canvas, this)
let sum = item.cabinNo
item.stowageList.forEach(ele => {
// 850 20 850/20
let widthDw = (42.5 / sum).toFixed(5)
let vertexPositionArr = ele.vertexPosition.split(',')
let x = vertexPositionArr[0] * widthDw
let y = vertexPositionArr[1] * 35
// let bigNum = (vertexPositionArr[1] + ele.blockLength) * 35
// console.log(this.imgInfo.cabinInfoList[index]);
// if (this.imgInfo.cabinInfoList[index].maxHeight < bigNum) {
// this.$set(this.imgInfo.cabinInfoList, index, {
// ...this.imgInfo.cabinInfoList[index],
// maxHeight: bigNum
// })
// initCanvas(item, index) {
// let canvas = 'mycanvas' + index
// const ctx = uni.createCanvasContext(canvas, this)
// let sum = item.cabinNo
// item.stowageList.forEach(ele => {
// // 850 20 850/20
// let widthDw = (42.5 / sum).toFixed(5)
// let vertexPositionArr = ele.vertexPosition.split(',')
// let x = vertexPositionArr[0] * widthDw
// let y = vertexPositionArr[1] * 35
// // let bigNum = (vertexPositionArr[1] + ele.blockLength) * 35
// // console.log(this.imgInfo.cabinInfoList[index]);
// // if (this.imgInfo.cabinInfoList[index].maxHeight < bigNum) {
// // this.$set(this.imgInfo.cabinInfoList, index, {
// // ...this.imgInfo.cabinInfoList[index],
// // maxHeight: bigNum
// // })
// // }
// ctx.setFillStyle(ele.potColor);
// //
// ctx.fillRect(x, y, widthDw * ele.blockWidth - 3, ele.blockLength * 35 - 3);
// ctx.fillStyle = '#fff'
// ctx.font = 'bold 18px Arial'
// ctx.setFontSize(20);
// let stowageNo = ''
// if (ele.stowageNo) {
// stowageNo = ele.stowageNo
// }
ctx.setFillStyle(ele.potColor);
//
ctx.fillRect(x, y, widthDw * ele.blockWidth - 3, ele.blockLength * 35 - 3);
ctx.fillStyle = '#fff'
ctx.font = 'bold 18px Arial'
ctx.setFontSize(20);
let stowageNo = ''
if (ele.stowageNo) {
stowageNo = ',' + ele.stowageNo
// ctx.fillText(ele.amount + ' ' + ele.potName + ' ' + stowageNo, x + 10, y + 22, widthDw * ele
// .blockWidth, ele.blockLength * 35)
// })
// 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
}
ctx.fillText(ele.potName + ',' + ele.amount + stowageNo, x, y + 22, widthDw * ele
.blockWidth, ele.blockLength * 35)
})
ctx.draw();
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;
}
.myArrList {
position: absolute;
top: 0;
left: 0;
width: 850px;
.arrItem {
position: absolute;
}
}
}
}

View File

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

View File

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

View File

@ -118,6 +118,8 @@
</view>
<uni-popup ref="popup" background-color="#fff">
<view class="table rowTable">
<view class="popupTitle">残损具体情况</view>
<view class="tableContent">
<view class="tableTop">
<view class="tableHead" v-for="(item,index) in rowTableHead" :key="index">
<p>{{item}}</p>
@ -137,6 +139,8 @@
{{item.disposalSituationName}}
</view>
</view>
</view>
</view>
</uni-popup>
</view>
@ -361,7 +365,7 @@
flex-wrap: wrap;
font-size: 14px;
color: #23262E;
margin-top: 15.5px;
margin-top: 16px;
padding: 0 60px;
.li {
@ -479,6 +483,20 @@
}
.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 {
display: flex;
background: #F4F4F4;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -39,6 +39,18 @@
<view class="li">
<p>Date:</p><text>{{dateId}}</text>
</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>
<table class="t-zx headZx">
<tbody>
@ -205,6 +217,15 @@
startTime: "",
//
endTime: "",
//
peopleInfo: {},
peopleList: [],
peopleArr: [],
tqInfo: "",
bwArr: [],
bwInfo: "",
zyzsInfo: 0,
dcrsInfo: 0,
//
tabsArr: [],
gbArr: [],
@ -268,10 +289,24 @@
let arr = api.arrFrom(v.infoArr, "webId")
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)
},
methods: {
//
// /
executeSql(tableName) {
let sql = `select * from ${tableName} WHERE vtpId = '${this.vtpId}'`
sqlite.executeSqlCeshi(sql).then((value) => {
@ -279,7 +314,7 @@
if (tableName == 'shipInfoTable') {
this.shipInfo = value[0]
} else {
console.log(value)
this.peopleInfo = value[0]
}
}).catch((error) => {
// reject
@ -308,10 +343,13 @@
this.executeSql22(sql2, index)
let sql3 = `SELECT * FROM retallyMessageRespList WHERE retallyMessageRespList.retallyStartTime>='${this.startTime}' and
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
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
setTimeout(function() {
@ -386,7 +424,7 @@
});
},
//
executeSql3(sql, endTIme) {
executeSql3(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
if (value.length > 0) {
this.fcList.push(...value)
@ -398,7 +436,7 @@
});
},
//
executeSql4(sql, endTIme) {
executeSql4(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
if (value.length > 0) {
@ -410,6 +448,19 @@
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() {
let sql = `select * from workSignTable WHERE bizId = '${this.dateId}';`
@ -480,6 +531,12 @@
this.shiftInf = []
this.fcArr = []
this.qtArr = []
this.peopleArr = []
this.tqInfo = ""
this.zyzsInfo = 0
this.dcrsInfo = 0
this.bwArr = []
this.bwInfo = ""
this.executeSql2(0)
this.executeSql5()
this.shiftInfo.forEach(v => {
@ -506,6 +563,19 @@
if (this.qtArr.length == 0) {
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) {

View File

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

View File

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

View File

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

View File

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

View File

@ -10,9 +10,9 @@
<text>航次{{item.vvyName}}</text>
</view>
<view class="liInfo">
<p>类型{{item.type}}</text></p>
<p>贸易类型{{item.tradeTypeName}}</p>
<p>进出口{{item.importExportName}}</p>
<p>类型<text>{{item.type}}</text></p>
<p>贸易类型<text>{{item.tradeTypeName}}</text></p>
<p>进出口<text>{{item.importExportName}}</text></p>
</view>
<!-- <view class="status didNot">
<p>未上传</p>
@ -151,69 +151,19 @@
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 16px;
margin-top: 24px;
p {
width: 49%;
margin-bottom: 12px;
color: #999;
text {
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) {

View File

@ -237,15 +237,16 @@
},
//
select(e) {
e.tempFiles.forEach(v => {
uni.uploadFile({
url: `${this.$local}/api/file/upload`, //api
header: {
'Authorization': `Bearer ${this.loginObj.access_token}`
},
filePath: e.tempFilePaths[0],
filePath: v.path,
name: 'file',
success: (res) => {
this.urlList2.push(e.tempFiles[0])
this.urlList2.push(v)
let data = JSON.parse(res.data).data
this.urlList.push(data.filePath)
},
@ -257,6 +258,7 @@
})
}
})
})
},
//
delUrl(e) {

View File

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

View File

@ -31,7 +31,7 @@
<van-tab title="工班信息">
<view class="shiftCss">
<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">
<p>工班</p>
<text> {{item.pwcTypeName}}</text>
@ -61,7 +61,7 @@
</view>
</view>
<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">
<p>工班</p>
<text> {{item.pwcTypeName}}</text>
@ -461,6 +461,7 @@
justify-content: space-between;
flex-wrap: wrap;
padding: 0 16px 16px;
margin-bottom: 16px;
.li {
width: 100%;

View File

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

View File

@ -64,10 +64,11 @@
</uni-popup>
<view class="btnList">
<view class="btn qx" @click="cancel"></view>
<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 v-if="status == 0 || status == 4 || status == 5 || status == 'null'">
</template>
</view>
</view>
@ -211,8 +212,16 @@
} else {
this.shiftingBerthTime = this.untieRow.shiftingBerthTime
}
if (this.untieRow.noProductBerthStTime == "null") {
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.status = this.untieRow.status
},

View File

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

View File

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

View File

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

View File

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