dev4
Panzihang 2023-11-24 15:55:58 +08:00
parent c3e507747c
commit 95abe8ec2a
18 changed files with 1064 additions and 541 deletions

View File

@ -95,6 +95,10 @@
executeSql(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
value.forEach(v => {
this.inVvyId = ""
this.inVvyName = ""
this.outVvyId = ""
this.outVvyName = ""
if (v.importExportFlagName == '出口') {
this.inVvyId = v.vvyId
this.inVvyName = v.vvyName

View File

@ -820,12 +820,16 @@
// tabs
changeTabs(e) {
this.mnfBl = ''
this.brdId = ''
this.brdName = ''
this.bvmId = ''
this.bvmName = ''
this.sendValue = ''
this.itemList = []
this.tabsValue = e.value
this.current = 1
this.zTjActive = -1
this.zTjType = true
if (e.value == 1 || e.value == 2) {
this.loadOtherOrder()
} else if (e.value == 0) {
@ -835,11 +839,6 @@
this.getRoleId()
},
// tabs
changeTabs2(e) {
this.tabsValue2 = e.value
this.itemList = []
this.loadOtherOrder()
},
//
search() {
if (this.tabsValue == 1) {
@ -847,21 +846,20 @@
} else if (this.tabsValue == 0) {
this.loadSumOrder()
}
},
//
changePage(e) {
console.log(e)
this.current = e.current;
if (this.tabsValue == 1) {
this.loadOtherOrder()
} else if (this.tabsValue == 0) {
this.loadSumOrder()
}
this.getStatistics()
},
//
clickTjHead(type) {
this.zTjActive = -1
this.brdId = ""
this.mnfBl = ''
this.brdId = ''
this.brdName = ''
this.bvmId = ''
this.bvmName = ''
this.sendValue = ''
this.itemList = []
this.current = 1
this.zTjType = true
if (type == 'zzl') {
this.loadSumOrder()
} else if (type == 'fzl') {
@ -871,6 +869,9 @@
//
clickTjList(item, index, type) {
this.zTjActive = index
this.itemList = []
this.current = 1
this.zTjType = false
if (type == 'zzl') {
this.loadSumOrder(item.brdId)
} else if (type == 'fzl') {
@ -899,7 +900,6 @@
let fsum = v.branchSentCount + v.branchNotSentCount
this.$set(v, "fsum", fsum)
})
console.log(this.zTjList)
}
})
},
@ -1284,7 +1284,13 @@
this.brandItem = e
this.brdId = e.brdId
this.brdName = e.brdName
this.loadSumOrder()
this.itemList = []
this.current = 1
if (this.tabsValue == 0) {
this.loadSumOrder()
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
this.loadOtherOrder()
}
},
//
getBvm() {
@ -1307,7 +1313,13 @@
this.bvmItem = e
this.bvmId = e.id
this.bvmName = e.name
this.loadSumOrder()
this.itemList = []
this.current = 1
if (this.tabsValue == 0) {
this.loadSumOrder()
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
this.loadOtherOrder()
}
},
toDetails(item, item2) {
console.log(item, item2)

View File

@ -147,6 +147,7 @@
this.shipName = e.vslCnname
this.vvyId = e.vvyId
this.vvyShip = e.vvyShip
this.getShip()
},
//
shipInput(e) {

View File

@ -8,6 +8,7 @@
<button class="button" type="default" @click="distribute('center','all')"></button>
</template>
<template v-if="tabsValue == 1">
<!-- <button class="button" type="default" @click="ask"></button> -->
<button class="button" type="default" @click="distribute('center','solo')"></button>
</template>
<template v-if="tabsValue == 2">
@ -517,11 +518,7 @@
</custom-tab-pane>
<custom-tab-pane label="配载图" name="c1_3">
<view></view>
<view class="main">
<!-- <view class="buttonlist buttonlist2">
<button class="button" type="default">刷新</button>
<button class="button" type="default">显示</button>
</view> -->
<view class="main main2">
<view class="pzPot">
<view class="title">
PORT OF DESTINATION
@ -547,10 +544,8 @@
<text class="text">是否有跳板: {{item.whetherJumpName}}</text>
</view>
<view class="imgLi">
<!-- <image class="shipImg" src="@/static/images/ship-split.svg" mode="widthFix"></image> -->
<view class="maskBox">
<view class="line">
<!-- {{item.maxHeight}} -->
<view class="testLine" v-for="item2 in item.shipSpace" :key="item2"
:style="{height:item.maxHeight+'px'}">
</view>
@ -580,11 +575,12 @@
</view>
</view>
<view class="tableHead">
<view class="tableHead" @click="clickShow(item)">
<text>货物明细</text>
<uni-icons class="jt" type="bottom" size="24"></uni-icons>
<uni-icons class="jt" type="bottom" size="24" v-if="item.isShow"></uni-icons>
<uni-icons class="jt" type="top" size="24" v-if="!item.isShow"></uni-icons>
</view>
<uni-table border stripe emptyText="暂无更多数据">
<uni-table border stripe emptyText="暂无更多数据" v-if="item.isShow">
<!-- 表头行 -->
<uni-tr class="gray">
<uni-th align="center" width="20">积载编号</uni-th>
@ -805,7 +801,8 @@
<view class="popupTitle">
装船要求
</view>
<uni-easyinput type="textarea" v-model="askValue" placeholder="请输入内容..."></uni-easyinput>
<uni-easyinput type="textarea" v-model="askValue" placeholder="请输入内容..."
:disabled="askDisabled"></uni-easyinput>
<view class="popupBtn">
<view class="btnList">
<button class="button" type="default" @click="zcCancel"> </button>
@ -868,6 +865,7 @@
//
askValue: "",
askDisabled: false,
itemList: [],
current: 0,
active: 1,
@ -942,6 +940,7 @@
this.loginObj = uni.getStorageSync('loginObj')
if (this.tabsValue == 0) {
this.loadSumOrder() //
this.askDisabled = false
}
this.getPot() //
this.getBrand() //
@ -949,21 +948,24 @@
this.getRoleId() // ID
this.initAsk() //
this.getStatistics() //
this.getPotList()
this.getImgInfo()
this.getGoodsInfo()
},
components: {
HeadView,
HeadInfo,
place,
},
onReachBottom() {
console.log(this.itemList)
},
methods: {
// tabs
changeTabs(e) {
this.mnfBl = ''
this.brdId = ''
this.brdName = ''
this.bvmId = ''
this.bvmName = ''
this.potId = ''
this.potName = ''
this.itemList = []
this.sendValue = ''
@ -971,10 +973,13 @@
this.zTjActive = -1
this.shipDeck = ""
this.current = 1
this.zTjType = true
if (e.value == 1 || e.value == 2) {
this.loadOtherOrder()
// this.askDisabled = true
} else if (e.value == 0) {
this.loadSumOrder()
// this.askDisabled = false
} else if (e.value == 3) {
this.getPotList()
this.getImgInfo()
@ -992,20 +997,21 @@
}
this.getStatistics()
},
//
changePage(e) {
console.log(e)
this.current = e.current;
if (this.tabsValue == 1 || this.tabsValue == 2) {
this.loadOtherOrder()
} else if (this.tabsValue == 0) {
this.loadSumOrder()
}
},
//
clickTjHead(type) {
this.zTjActive = -1
this.shipDeck = ""
this.mnfBl = ''
this.brdId = ''
this.brdName = ''
this.bvmId = ''
this.bvmName = ''
this.potId = ''
this.potName = ''
this.sendValue = ''
this.itemList = []
this.current = 1
this.zTjType = true
if (type == 'zzl') {
this.loadSumOrder()
} else if (type == 'fzl') {
@ -1016,6 +1022,9 @@
clickTjList(item, index, type) {
this.zTjActive = index
this.shipDeck = item.shipDeck
this.itemList = []
this.current = 1
this.zTjType = false
if (type == 'zzl') {
this.loadSumOrder()
} else if (type == 'fzl') {
@ -1074,6 +1083,7 @@
// }
this.getBottomInfo(v.lwpId, index)
})
console.log(this.itemList)
}
})
},
@ -1423,6 +1433,8 @@
sendSelect(e) {
this.sendText = e.text
this.sendValue = e.vale
this.itemList = []
this.current = 1
this.loadOtherOrder()
},
//
@ -1446,7 +1458,13 @@
this.brandItem = e
this.brdId = e.brdId
this.brdName = e.brdName
this.loadSumOrder()
this.itemList = []
this.current = 1
if (this.tabsValue == 0) {
this.loadSumOrder()
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
this.loadOtherOrder()
}
},
//
getPot() {
@ -1469,7 +1487,13 @@
this.potItem = e
this.potName = e.potCnname
this.potId = e.potId
this.loadSumOrder()
this.itemList = []
this.current = 1
if (this.tabsValue == 0) {
this.loadSumOrder()
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
this.loadOtherOrder()
}
},
//
getBvm() {
@ -1492,7 +1516,13 @@
this.bvmItem = e
this.bvmId = e.id
this.bvmName = e.name
this.loadSumOrder()
this.itemList = []
this.current = 1
if (this.tabsValue == 0) {
this.loadSumOrder()
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
this.loadOtherOrder()
}
},
toDetails(id) {
let obj = {
@ -1525,7 +1555,6 @@
this.pzPotList.forEach(v => {
this.$set(v, 'background', `background:${v.potColor}`)
})
// console.log(this.pzPotList, ', ')
}
}
})
@ -1545,13 +1574,17 @@
this.imgInfo = res.data.data
// 162 10000
this.imgInfo.cabinInfoList.forEach(item => {
//
this.$set(item, "isShow", true)
item.maxHeight = 10000
})
}
}
})
},
//
clickShow(item) {
item.isShow = !item.isShow
},
//
getGoodsInfo() {
uni.request({
@ -1589,7 +1622,7 @@
let sum = item.cabinNo
item.stowageList.forEach(ele => {
// 850 20 850/20
let widthDw = (42 / sum).toFixed(2)
let widthDw = (42.5 / sum).toFixed(5)
let vertexPositionArr = ele.vertexPosition.split(',')
let x = vertexPositionArr[0] * widthDw
let y = vertexPositionArr[1] * 35
@ -1601,7 +1634,6 @@
// maxHeight: bigNum
// })
// }
console.log(this.imgInfo.cabinInfoList[index].maxHeight);
ctx.setFillStyle(ele.potColor);
//
ctx.fillRect(x, y, widthDw * ele.blockWidth - 3, ele.blockLength * 35 - 3);
@ -1679,6 +1711,10 @@
overflow: hidden;
}
.main2 {
overflow: auto;
}
.askBox {
width: 97%;
padding: 20px;
@ -2241,7 +2277,7 @@
.imgTable {
margin-top: 20px;
padding: 0 20px;
padding: 0 20px 20px;
.title {
font-size: 20px;
@ -2257,10 +2293,10 @@
display: flex;
.maskBox {
width: 1060px;
height: 191px;
width: 1054px;
height: 171px;
margin: 0 auto;
background: url('@/static/images/ship-split.svg');
background: url('@/static/images/ship-shplit-right.svg');
background-repeat: no-repeat;
background-size: contain;
position: relative;
@ -2268,9 +2304,9 @@
.line {
position: absolute;
width: 850px;
height: 85%;
top: 15px;
left: 60px;
height: 95%;
top: 5px;
left: 168px;
display: flex;
overflow-y: auto;
@ -2307,9 +2343,9 @@
}
.leftTopImg {
transform: rotate(90deg);
top: 5px;
left: -5px;
transform: rotate(180deg);
top: -15px;
right: -10px;
}
.imgSize2 {
@ -2318,19 +2354,20 @@
}
.leftBotImg {
bottom: 2px;
left: -1px;
transform: rotate(-90deg);
bottom: -10px;
right: -15px;
}
.topImg {
top: 0;
left: 40%;
top: -10px;
left: 50%;
}
.botImg {
transform: rotate(180deg);
bottom: 0;
left: 40%;
bottom: -10px;
left: 50%;
}
}

View File

@ -17,7 +17,11 @@
</view>
<view class="loginInput">
<uni-easyinput prefixIcon="person-filled" v-model="account" placeholder="请输入账号"></uni-easyinput>
<uni-easyinput type="password" prefixIcon="locked-filled" v-model="password" placeholder="请输入密码">
<uni-easyinput type="password" prefixIcon="locked-filled" suffixIcon="eye-slash-filled"
:passwordIcon="false" v-model="password" placeholder="请输入密码" v-if="!pwdShow" @iconClick="iconC">
</uni-easyinput>
<uni-easyinput prefixIcon="locked-filled" suffixIcon="eye-filled" v-model="password"
placeholder="请输入密码" v-if="pwdShow" @iconClick="iconC">
</uni-easyinput>
<button class="button" @click="loginGo('center')"></button>
</view>
@ -61,9 +65,9 @@
data() {
return {
// rtoswuhan1 wuhan_ceshi1
account: '',
account: 'rtoswuhan1',
// q123456
password: '',
password: 'q123456',
// pad
mediaType: "pad",
//
@ -78,13 +82,18 @@
loginObj: {},
lotusLoadingData: {
isShow: false //truefalse
}
},
pwdShow: false
}
},
components: {
LotusLoading
},
methods: {
//
iconC() {
this.pwdShow = !this.pwdShow
},
//
loginGo(type) {
this.lotusLoadingData.isShow = true

View File

@ -79,7 +79,7 @@
<p>质损货物品类</p>
<view class="rightInfo">
<p>{{infoData.qdGodsCategory}}</p>
<p v-if="infoData.qdGcOther != null">
<p v-if="infoData.qdGcOther != null && infoData.qdGcOther != ''">
备注{{infoData.qdGcOther}}
</p>
</view>
@ -91,7 +91,7 @@
<p>质损概况</p>
<view class="rightInfo">
<p>{{infoData.qualityDamageSituationName}}</p>
<p v-if="infoData.qdsOther != null">
<p v-if="infoData.qdsOther != null && infoData.qdsOther != ''">
备注{{infoData.qdsOther}}
</p>
</view>
@ -100,7 +100,7 @@
<p>损伤情况</p>
<view class="rightInfo">
<p>{{infoData.damageSituationName}}</p>
<p v-if="infoData.dsOther != null">
<p v-if="infoData.dsOther != null && infoData.dsOther != ''">
备注{{infoData.dsOther}}
</p>
</view>
@ -109,7 +109,7 @@
<p>处置情况</p>
<view class="rightInfo">
<p>{{infoData.disposalSituationName}}</p>
<p v-if="infoData.dpsOther != null">
<p v-if="infoData.dpsOther != null && infoData.dpsOther != ''">
备注{{infoData.dpsOther}}
</p>
</view>

View File

@ -1347,11 +1347,11 @@
if (this.current2 != '其他') {
this.other = ""
}
let editComplete = ""
let removableFlag = ""
if (this.type == 'add') {
editComplete = "1"
removableFlag = "1"
} else if (this.type == "edit") {
editComplete = "0"
removableFlag = "0"
}
let editReqDTO = {
"boardCarLicensePlates": this.bcLicense, //
@ -1362,7 +1362,7 @@
"dsOther": this.other2, //
"dispList": this.checkData3, //
"dpsOther": this.other3, //
"editComplete": editComplete, // pad 1
"editComplete": "1", // pad 1
"godId": this.godId, // id
"goodsType": this.carId, // id
"linkFeedback": this.feed, //
@ -1376,7 +1376,7 @@
"qualityDamagePhotos": this.zsPhoto, //
"qualityDamageTime": this.zsDate, //
"refImageUrl": this.zsBase, //
"removableFlag": "1", // pad 1
"removableFlag": removableFlag, // pad 1
"signUrl": this.signBase, //
"spmId": this.shipId, // id
"storeArea": this.storeArea, //
@ -1606,7 +1606,7 @@
/deep/.uni-stat-box {
flex: none;
width: 45%;
width: 60%;
}
/deep/.uni-select {

View File

@ -177,7 +177,6 @@
},
method: 'GET', //
success: (res) => {
console.log('接口返回------', res);
if (res.statusCode == 200) {
this.itemList = res.data.data.records
this.total = res.data.data.total
@ -233,7 +232,6 @@
method: 'GET', //
success: (res) => {
if (res.data.status == 200) {
console.log(res)
res.data.data.forEach(v => {
this.zshjList.push({
value: v.ptrCode,
@ -281,7 +279,7 @@
modify(type, item) {
if (type == 'edit') {
let obj = {
type: type,
type: "edit",
ygqId: item.ygqId
}
const params = encodeURIComponent(JSON.stringify(obj));
@ -289,8 +287,13 @@
url: `/pages/quality/edit?params=${params}`
})
} else {
let obj = {
type: "add",
ygqId: ""
}
const params = encodeURIComponent(JSON.stringify(obj));
uni.navigateTo({
url: `/pages/quality/edit`
url: `/pages/quality/edit?params=${params}`
})
}
},

View File

@ -1,7 +1,7 @@
<template>
<view class="documentList">
<head-view :title="title" :type="true" url="/pages/shipWork/index"></head-view>
<uni-notice-bar show-icon single :text="noticeText" style="margin-top: 68px;" />
<!-- <uni-notice-bar show-icon single :text="noticeText" style="margin-top: 68px;" /> -->
<view class="container">
<view class="workBox">
<view class="title">
@ -207,6 +207,7 @@
.container {
padding: 30px 20px;
min-height: calc(100vh - 119px);
margin-top: 68px;
.workBox {
background-color: #fff;

View File

@ -12,8 +12,8 @@
<button class="searchBtn" type="default" @click="search"></button>
<!-- <button class="searchBtn" type="default" @click="dropTable"></button> -->
<!-- <button class="searchBtn" type="default" @click="dropData"></button>
<button class="searchBtn" type="default" @click="createTable"></button> -->
<button class="searchBtn" type="default" @click="dropData"></button>
<!-- <button class="searchBtn" type="default" @click="createTable"></button> -->
<!-- <button class="searchBtn" type="default" @click="delAll"></button>
<button class="searchBtn" type="default" @click="delAllData"></button> -->
</view>
@ -159,6 +159,8 @@
shipmentLoadUnloadNoticeRespList: [],
//
shipmentQualityConsultationRespList: [],
//
evaluateTable: [],
//
abnormalConditionRespList: [],
// mafi
@ -181,7 +183,7 @@
"retallyMessageRespList", "infoRespList", "attachUnmoorRespList", "shipmentShipSupplyRespList",
"shipmentAdviserLayoutRespList", "shipmentLoadUnloadNoticeRespList",
"shipmentQualityConsultationRespList", "abnormalConditionRespList", "mafiListRespList",
"workSignTable"
"workSignTable", "evaluateTable"
],
//
jcList: ["shipInfoTable", "voyageScheduleDataPadRespDTO", "voyageScheduleDataDetailRespDTOList",
@ -245,7 +247,7 @@
},
dropData() {
console.log('删除数据');
let sql = "delete from shipInfoTable"
let sql = "delete from evaluateTable"
this.executeSql(sql)
},
//
@ -341,7 +343,6 @@
},
//
shipDataInfo(info, vtpId) {
console.log(info)
let date = new Date().getTime()
let webId = uuidv4()
let webDate = api.getDate(date)
@ -403,7 +404,6 @@
vvyIds.push(item.inVvyId)
vvyIds.push(item.outVvyId)
}
console.log(vvyIds)
uni.request({
url: `${this.$local}/api/shipOperate/download?vvyIds=${vvyIds}`,
header: {
@ -626,11 +626,16 @@
//
if (this.downloadData.shipmentQualityConsultationRespList.length > 0) {
this.downloadData.shipmentQualityConsultationRespList.forEach(v => {
let webId = uuidv4()
let sql =
`insert into shipmentQualityConsultationRespList values('${v.vqcId}','${this.vtpId}','${v.vvyId}','${v.vvyName}','${v.importExportFlagName}',
'${v.bthId}','${v.berth}','${v.handlingType}','${v.handlingName}','${v.vehiclesNumber}','${v.spareNumber}',
'${v.operationDate}','${webStatus}','${v.createTime}')`
this.executeSql(sql)
let sql2 =
`insert into evaluateTable values('${webId}','${this.vtpId}','${v.vqcId }','${v.evaluateOperate}','${v.evaluateSpeedSpecs}',
'${v.evaluateNoRude}','${v.evaluateAttitude}','${v.otherComents}','${webStatus}','${v.createTime}')`
this.executeSql(sql2)
})
}
//
@ -655,7 +660,7 @@
//
this.shipPlanInfo(this.downloadData.voyageScheduleDataPadRespDTO)
//
if (this.downloadData.shipmentShipLoadPlansRespList.length > 0) {
if (this.downloadData.shipmentShipLoadPlansRespList != null) {
this.downloadData.shipmentShipLoadPlansRespList.forEach(v => {
let sql =
`insert into shipmentShipLoadPlansRespList values('${v.splId}','${this.vtpId}','${v.agentId}','${v.agentName}',
@ -685,7 +690,7 @@
this.downloadData.signAppendixRespList.forEach(v => {
let sql =
`insert into workSignTable values('${v.swsId}','${this.vtpId}','${v.bizId}','${v.signFile}','${v.bizType}','${v.sort}',
'${v.vvyId}','${v.webDate}')`
'${v.vvyId}','${webDate}')`
this.executeSql(sql)
})
}
@ -738,7 +743,6 @@
},
//
upload(item) {
console.log(item)
if (item.padLockStatus == 0) {
this.lotusLoadingData.isShow = true
this.allArr.forEach(v => {
@ -754,6 +758,17 @@
}
})
})
that.shipmentQualityConsultationRespList.forEach(v => {
that.evaluateTable.forEach(v2 => {
if (v.vqcId == v2.signId) {
that.$set(v, "evaluateOperate", v2.evaluate)
that.$set(v, "evaluateSpeedSpecs", v2.evaluate2)
that.$set(v, "evaluateNoRude", v2.evaluate3)
that.$set(v, "evaluateAttitude", v2.evaluate4)
that.$set(v, "otherComents", v2.remake)
}
})
})
let delPmIds = uni.getStorageSync("delPmIds")
if (delPmIds == null || delPmIds == "") {
delPmIds = []
@ -923,6 +938,12 @@
that.retallyMessageRespList = value
that.retallyMessageRespList.forEach(v => {
that.$set(v, "reyId", v.webId)
if (v.retallyStartTime == "null") {
that.$set(v, "retallyStartTime", null)
}
if (v.retallyEndTime == "null") {
that.$set(v, "retallyEndTime", null)
}
})
} else if (tableName == "infoRespList") {
value.forEach(v => {
@ -949,7 +970,8 @@
that.mafiListRespList = value
} else if (tableName == "workSignTable") {
that.workSignTable = value
console.log(that.workSignTable)
} else if (tableName == 'evaluateTable') {
that.evaluateTable = value
}
}).catch((error) => {
// reject

View File

@ -100,11 +100,11 @@
type: "",
lxList: [{
value: "FULL",
text: "板"
text: "板"
},
{
value: "EMPTY",
text: "板"
text: "板"
},
],
//

View File

@ -156,7 +156,7 @@
},
//
executeSql2(vvyId) {
let sql = `select * from workSignTable WHERE bizId = '${vvyId}' and bizType = '9';`
let sql = `select * from workSignTable WHERE vtpId = '${this.vtpId}' and bizType = '9';`
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
let zdyList = []

View File

@ -5,178 +5,172 @@
<custom-tabs type="c1" :value="tabsValue" @change="tabsChange">
<custom-tab-pane :label="item.name" v-for="(item,index) in tabsList" :name="'c1_'+index" :key="index">
<view></view>
<view class="container">
<table>
<tbody>
<tr>
<td class="h-l1r1">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
</image>
</td>
<td class="h-l1r2">&nbsp;</td>
<td class="h-l1r3">
<p>上海海通国际汽车码头有限公司</p>
<p>Shanghai HaiTong International Automotive Terminal Co.,Ltd.</p>
</td>
</tr>
<tr>
<td colspan="3">
<p class="bh-dz">QR-7.5.1-01-11-M</p>
</td>
</tr>
<tr>
<td colspan="3" class="h-l2r1">
<p class="name-dz">海通码头装卸和杂项作业单</p>
<p class="ename-dz">SHANGHAI HARBOUR BUREAU STEVEDORE WORKING RECORD</p>
</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr class="top">
<td class="topTitle">Name of ship:<p>{{shipInfo.vslCnname}}</p>
</td>
<td class="topTitle">Voy No:<p>{{vvyName}}</p>
</td>
</tr>
<tr class="top">
<td class="topTitle">Date:<p>{{dateId}}</p>
</td>
<!-- <td>Weather:</td>
<td></td> -->
<!-- <td>Gangs:</td>
<td></td>
<td>Foreman:</td>
<td></td> -->
</tr>
<!-- <tr>
<td>Foreman Working time:</td>
<td class="td-b-b0"></td>
<td>Berthed at Haitong:</td>
<td></td>
</tr> -->
</tbody>
</table>
<table class="t-zx">
<tbody>
<tr>
<td rowspan="2" style="width: 50px;"></td>
<td colspan="6">Working time</td>
<td colspan="4">Kind Of Works</td>
<td rowspan="2">B/L</td>
<td colspan="3">Handling method</td>
</tr>
<tr>
<td colspan="3" style="width: 120px;">From</td>
<td colspan="3" style="width: 120px;">To</td>
<td colspan="4">Loading/UnLoading</td>
<td>Ro/Ro</td>
<td>PortDevices</td>
<td>Others</td>
</tr>
</tbody>
</table>
<view v-for="(item2,index2) in shiftInfo" :key="index2 + 'shift'" class="rowBox">
<view class="name">{{item2.pwcTypeName}}</view>
<view class="time">{{item2.workStartTime}}</view>
<view class="time">{{item2.workEndTime}}</view>
<view class="infoBox">
<view class="iBox" v-for="(item3,index3) in item2.infoArr">
<view colspan="4" class="carCss">
车型:{{item3.carTypeName}},数量:{{item3.goodsNumber}}
</view>
<view class="remark">{{item3.remark}}</view>
<view class="ro gx"><text v-if="item3.loadingType == 'RO'"></text></view>
<view class="pr gx"><text v-if="item3.loadingType == 'PR'"></text></view>
<view class="ot gx"><text v-if="item3.loadingType == 'OT'"></text></view>
<view style="padding: 16px;">
<view class="container">
<view class="head">
<view class="leftHead">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
</view>
<view class="rightHead">
<p>上海海通国际汽车码头有限公司</p>
<text>SHANGHAI HAITONG INTERNATIONAL AUTOMOTIVE TERMINAL CO. LTD.</text>
</view>
</view>
</view>
<table class="t-zx">
<tbody>
<tr>
<td :rowspan="fcList.length + 2">翻仓信息</td>
<td colspan="2" rowspan="2">Kind of Rehangdling</td>
<td colspan="2">DK/H</td>
<td colspan="6">Working time</td>
<td colspan="4">Weight/Measure</td>
</tr>
<tr>
<td>From</td>
<td>To</td>
<td colspan="3">From</td>
<td colspan="3">To</td>
<td colspan="2">Vehicle type/Quantity</td>
<td colspan="2">Total W/M</td>
</tr>
<tr v-for="(item,index) in fcArr" :key="index + 'fc'">
<td colspan="2">{{item.retallyTypeName}}</td>
<td>{{item.retallyOrigin}}</td>
<td>{{item.retallyTerminus}}</td>
<td colspan="3">{{item.retallyStartTime}}</td>
<td colspan="3">{{item.retallyEndTime}}</td>
<td colspan="2">车型:{{item.carTypeName}},数量:{{item.goodsNumber}}</td>
<td colspan="2">重量:{{item.goodsWeight}},体积:{{item.goodsVolume}}</td>
</tr>
</tbody>
</table>
<table class="t-zx" v-for="(v,indexv) in qtArr" :key="indexv">
<tbody>
<tr>
<td>&nbsp;</td>
<!-- <td colspan="2">Reason</td> -->
<td colspan="3">技术工人</td>
<td>From</td>
<td>To</td>
<td>Weight/Measure</td>
<td colspan="3">普通工人</td>
<td>From</td>
<td>To</td>
<td>Weight/Measure</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3">{{v.tecNum}}</td>
<td>{{v.startTm}}</td>
<td>{{v.endTm}}</td>
<td>重量:{{v.weight}},体积:{{v.volume}}</td>
<td colspan="3">{{v.genNum}}</td>
<td>{{v.startTmPt}}</td>
<td>{{v.endTmPt}}</td>
<td>重量:{{v.weightPt}},体积:{{v.volumePt}}</td>
</tr>
<tr>
<td>Extra Labour辅助作业</td>
<td colspan="15">{{v.auxRemark}}</td>
</tr>
<tr>
<td>Stand by待工</td>
<td colspan="15">{{v.waitRemark}}</td>
</tr>
<tr>
<td>Remark备注</td>
<td colspan="15">{{v.workRemark}}</td>
</tr>
</tbody>
</table>
<view class="sginBox">
<view class="box">
<p>Foreman(指导员):</p>
<p class="sign" @click="togoSign('0')" v-if="zdySign.url == ''"></p>
<template v-else>
<image :src="zdySign.url" mode="widthFix"></image>
<!-- <text class="del" @click="delSign(zdySign.id)"></text> -->
</template>
<view class="headTItle">
<view class="titleLeft"></view>
<view class="title">
<p>海通码头装卸和杂项作业单</p>
<text>SHANGHAI HARBOUR BUREAU STEVEDORE WORKING RECORD</text>
</view>
<view class="titleRight">
<view>
<text>编号/N0:</text>
<text>QR-7.5.1-01-05-M</text>
</view>
</view>
</view>
<view class="box">
<p>Capt/Chief Mate(船长/大副):</p>
<p class="sign" @click="togoSign('1')" v-if="czSign.url == ''"></p>
<template v-else>
<image :src="czSign.url" mode="widthFix"></image>
<!-- <text class="del" @click="delSign(czSign.id)"></text> -->
</template>
<view class="ul">
<view class="li">
<p>Name of ship:</p><text>{{shipInfo.vslCnname}}</text>
</view>
<view class="li">
<p>Voy No:</p><text>{{vvyName}}</text>
</view>
<view class="li">
<p>Date:</p><text>{{dateId}}</text>
</view>
</view>
<table class="t-zx headZx">
<tbody>
<tr>
<td rowspan="2" style="width: 50px;"></td>
<td colspan="6">Working time</td>
<td colspan="4">Kind Of Works</td>
<td rowspan="2">B/L</td>
<td colspan="3">Handling method</td>
</tr>
<tr>
<td colspan="3" style="width: 120px;">From</td>
<td colspan="3" style="width: 120px;">To</td>
<td colspan="4">Loading/UnLoading</td>
<td>Ro/Ro</td>
<td>PortDevices</td>
<td>Others</td>
</tr>
</tbody>
</table>
<view v-for="(item2,index2) in shiftInfo" :key="index2 + 'shift'" class="rowBox">
<view class="name">{{item2.pwcTypeName}}</view>
<view class="time">{{item2.workStartTime}}</view>
<view class="time">{{item2.workEndTime}}</view>
<view class="infoBox">
<view class="iBox" v-for="(item3,index3) in item2.infoArr">
<view colspan="4" class="carCss">
车型:{{item3.carTypeName}},数量:{{item3.goodsNumber}}
</view>
<view class="remark">{{item3.remark}}</view>
<view class="ro gx"><text v-if="item3.loadingType == 'RO'"></text></view>
<view class="pr gx"><text v-if="item3.loadingType == 'PR'"></text></view>
<view class="ot gx"><text v-if="item3.loadingType == 'OT'"></text></view>
</view>
</view>
</view>
<table class="t-zx">
<tbody>
<tr>
<td :rowspan="fcList.length + 2">翻仓信息</td>
<td colspan="2" rowspan="2">Kind of Rehangdling</td>
<td colspan="2">DK/H</td>
<td colspan="6">Working time</td>
<td colspan="4">Weight/Measure</td>
</tr>
<tr>
<td>From</td>
<td>To</td>
<td colspan="3">From</td>
<td colspan="3">To</td>
<td colspan="2">Vehicle type/Quantity</td>
<td colspan="2">Total W/M</td>
</tr>
<tr v-for="(item,index) in fcArr" :key="index + 'fc'">
<td colspan="2">{{item.retallyTypeName}}</td>
<td>{{item.retallyOrigin}}</td>
<td>{{item.retallyTerminus}}</td>
<td colspan="3">{{item.retallyStartTime}}</td>
<td colspan="3">{{item.retallyEndTime}}</td>
<td colspan="2">车型:{{item.carTypeName}},数量:{{item.goodsNumber}}</td>
<td colspan="2">重量:{{item.goodsWeight}},体积:{{item.goodsVolume}}</td>
</tr>
</tbody>
</table>
<table class="t-zx" v-for="(v,indexv) in qtArr" :key="indexv">
<tbody>
<tr>
<td>&nbsp;</td>
<!-- <td colspan="2">Reason</td> -->
<td colspan="3">技术工人</td>
<td>From</td>
<td>To</td>
<td>Weight/Measure</td>
<td colspan="3">普通工人</td>
<td>From</td>
<td>To</td>
<td>Weight/Measure</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3">{{v.tecNum}}</td>
<td>{{v.startTm}}</td>
<td>{{v.endTm}}</td>
<td>重量:{{v.weight}},体积:{{v.volume}}</td>
<td colspan="3">{{v.genNum}}</td>
<td>{{v.startTmPt}}</td>
<td>{{v.endTmPt}}</td>
<td>重量:{{v.weightPt}},体积:{{v.volumePt}}</td>
</tr>
<tr>
<td>Extra Labour辅助作业</td>
<td colspan="15">{{v.auxRemark}}</td>
</tr>
<tr>
<td>Stand by待工</td>
<td colspan="15">{{v.waitRemark}}</td>
</tr>
<tr>
<td>Remark备注</td>
<td colspan="15">{{v.workRemark}}</td>
</tr>
</tbody>
</table>
</view>
</view>
<view class="signBox">
<view class="signContent">
<view class="signTitle">
<p>指导员:</p>
<p>Foreman:</p>
</view>
<view class="signInfo" v-if="zdySign.url == ''" @click="togoSign('0')">
去签名
</view>
<view class="signImg" v-else>
<image :src="zdySign.url"></image>
<!-- <text class="del" @click="delSign(zdySign.id)"></text> -->
</view>
</view>
<view class="row"></view>
<view class="signContent">
<view class="signTitle">
<p>船长/大副:</p>
<p>Capt/Chief Mate:</p>
</view>
<view class="signInfo" v-if="czSign.url == ''" @click="togoSign('1')">
去签名
</view>
<view class="signImg" v-else>
<image :src="czSign.url"></image>
<!-- <text class="del" @click="delSign(czSign.id)"></text> -->
</view>
</view>
</view>
@ -532,18 +526,147 @@
.contentFixedr {
margin-top: 68px !important;
/deep/.tab .tab-bar {
height: 66px;
line-height: 66px;
position: relative;
}
/deep/.tab .tab-bar-item {
height: 66px;
line-height: 66px;
font-size: 18px;
color: #23262E;
font-weight: bold;
font-family: PingFangSC-Semibold;
padding: 0 24px !important;
}
/deep/.tab .tab-bar-item.active {
color: #0067CF
}
/deep/.tab .tab-bar-item .active-line {
color: #0067CF;
width: 54px;
height: 4px;
}
/deep/.tab-pane {
width: 100%;
}
/deep/.tab .tab-cont {
padding-bottom: 0;
}
}
.container {
padding: 0px 20px;
padding: 0px 16px;
background: #FFFFFF;
border-radius: 8px;
.head {
height: 85px;
padding: 16px 0;
margin: 0 8px;
border-bottom: 1px solid #999;
display: flex;
justify-content: space-between;
.rightHead {
display: flex;
flex-direction: column;
justify-content: center;
text-align: right;
p {
font-size: 22px;
color: #0052A4;
font-weight: bold;
}
text {
font-size: 14px;
color: #666666;
}
}
}
.headTItle {
display: flex;
justify-content: space-around;
padding: 24px 0;
margin: 0 8px;
border-bottom: 1px solid #EEEEEE;
.title {
flex: 3;
text-align: center;
p {
font-size: 24px;
color: #23262E;
font-weight: bold;
}
text {
font-size: 18px;
color: #23262E;
}
}
.titleLeft {
flex: 1;
}
.titleRight {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-end;
text:first-child {
font-size: 14px;
color: #666666;
}
text:last-child {
font-size: 18px;
color: #0052A4;
font-weight: bold;
}
}
}
.ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 15px 0;
.li {
width: 33%;
display: flex;
justify-content: center;
text {
color: #23262E;
font-weight: bold;
font-size: 14px;
margin-left: 8px;
}
}
}
table {
margin-bottom: 0 !important;
}
}
.td-b-b1 {
border-bottom: #000000 solid 1px;
.headZx {
background: #E9E9E9;
}
.t-zx td {
@ -554,28 +677,8 @@
display: flex;
}
.top {
display: flex;
margin-bottom: 16px;
}
.topTitle {
width: calc(50% - 20px);
display: flex;
margin-left: 20px;
p {
width: 80%;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
border-bottom: 1px solid #000000;
}
}
.rowBox {
width: 100%;
width: calc(100% - 1px);
display: flex;
border: 1px solid #000;
box-sizing: border-box;
@ -592,7 +695,7 @@
.time {
border-right: 1px solid #000;
width: 200px;
width: 203px;
text-align: center;
display: flex;
flex-direction: column;
@ -600,6 +703,7 @@
}
.infoBox {
width: calc(100% - 476px);
display: flex;
flex-direction: column;
justify-items: center;
@ -612,7 +716,7 @@
.carCss {
border-right: 1px solid #000;
width: 245px;
width: 209px;
text-align: center;
display: flex;
flex-direction: column;
@ -621,7 +725,7 @@
.remark {
border-right: 1px solid #000;
width: 61px;
width: 63px;
text-align: center;
display: flex;
flex-direction: column;
@ -638,11 +742,11 @@
}
.ro {
width: 86px;
width: 87.5px;
}
.pr {
width: 137px;
width: 139px;
}
.ot {
@ -661,27 +765,53 @@
}
}
.sginBox {
.signBox {
width: 100%;
height: 66px;
background: #FFFFFF;
border: 1px solid #E1E5ED;
box-shadow: 0 -1px 4px 0 rgba(0, 0, 0, 0.05);
display: flex;
margin-top: 20px;
justify-content: flex-end;
padding: 0 70px;
.box {
flex: 1;
.row {
width: 1px;
height: 30px;
background-color: #ccc;
margin-top: 18px;
}
.signContent {
display: flex;
margin: 0 54px;
image {
width: 200px;
height: 50px;
.signTitle {
display: flex;
flex-direction: column;
justify-content: center;
text-align: right;
}
.del {
color: red;
.signInfo {
display: flex;
flex-direction: column;
justify-content: center;
font-size: 18px;
color: #0052A4;
margin-left: 16px;
}
.signImg {
width: 100px;
height: 54px;
margin-top: 5px;
margin-left: 10px;
}
}
}
.sign {
color: #2979ff;
margin-left: 10px;
.signContent:last-child {
margin-right: 0;
}
}
</style>

View File

@ -1435,13 +1435,13 @@
}
}
.masonryLi:nth-of-type(2n + 1) {
grid-row: auto / span 1;
}
// .masonryLi:nth-of-type(2n + 1) {
// grid-row: auto / span 1;
// }
.masonryLi:nth-of-type(2n + 2) {
grid-row: auto / span 2;
}
// .masonryLi:nth-of-type(2n + 2) {
// grid-row: auto / span 2;
// }
}
.delBox {

View File

@ -46,7 +46,6 @@
height: 0,
sginId: "",
signImgUrl: "",
shipInfo: {},
nextUrl: "",
signType: "",
signTable: "",
@ -55,9 +54,6 @@
vvyId: "",
};
},
mounted() {
this.executeSql1('shipInfoTable')
},
onLoad(option) {
this.sginId = JSON.parse(decodeURIComponent(option.params)).id
this.nextUrl = JSON.parse(decodeURIComponent(option.params)).url
@ -65,8 +61,8 @@
this.signTable = JSON.parse(decodeURIComponent(option.params)).signTable
this.tabsValue = JSON.parse(decodeURIComponent(option.params)).tabsValue
this.vvyId = JSON.parse(decodeURIComponent(option.params)).vvyId
console.log(this.vvyId)
this.backUrl = `/pages/shipWork/${this.nextUrl}`
this.vtpId = uni.getStorageSync('vtpId')
that = this;
id = option.id;
type = option.type;
@ -177,8 +173,7 @@
let webId = uuidv4()
let webDate = api.getDate(date)
let sql =
`insert into workSignTable values('${webId}','${that.shipInfo.vtpId}','${signId}','${that.signImgUrl}','${that.signTable}','${that.signType}','${that.vvyId}','${webDate}')`
console.log(sql)
`insert into workSignTable values('${webId}','${that.vtpId}','${signId}','${that.signImgUrl}','${that.signTable}','${that.signType}','${that.vvyId}','${webDate}')`
sqlite.executeSqlCeshi(sql).then((
value) => {
// resolve
@ -206,20 +201,6 @@
});
}
},
//
executeSql1(tableName) {
let sql = `select * from ${tableName}`
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
if (tableName == 'shipInfoTable') {
this.shipInfo = value[0]
console.log(this.shipInfo)
}
}).catch((error) => {
// reject
console.error(error);
});
},
}
};
</script>

View File

@ -5,81 +5,67 @@
<custom-tabs type="c1" :value="tabsValue" @change="tabsChange">
<custom-tab-pane :label="item.name" v-for="(item,index) in tabsList" :name="'c1_'+index" :key="index">
<view></view>
<view class="container">
<table>
<tbody>
<tr>
<td class="h-l1r1">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
</image>
</td>
<td class="h-l1r2">&nbsp;</td>
<td class="h-l1r3">
<p>上海海通国际汽车码头有限公司</p>
<p>Shanghai HaiTong International Automotive Terminal Co.,Ltd.</p>
</td>
</tr>
<tr>
<td colspan="3">
<p class="bh-dz">QR-7.5.1-01-11-M</p>
</td>
</tr>
<tr>
<td colspan="3" class="h-l2r1">
<p class="name-dz">供给作业单</p>
<p class="ename-dz">FRESH WTAER SUPPLIED EX WHARF</p>
</td>
</tr>
</tbody>
</table>
<table id="t-main2">
<tbody>
<tr>
<td class="td1">
<p>船名</p>
<p>Name of Ship&nbsp;&nbsp;</p>
</td>
<td class="td2">{{shipInfo.vslCnname}}</td>
<td class="td1">
<p>{{tableInfo.supplyType}}</p>
<p>Fresh Supply</p>
</td>
<td class="td2">{{tableInfo.supplyAmount}}</td>
<td class="td3">
<p></p>
<p>Tons</p>
</td>
</tr>
<tr>
<td colspan="6" class="tr0">&nbsp;</td>
</tr>
<tr>
<td class="td1">
<p>航次</p>
<p>voy No&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.vvyName}}</td>
<td class="td1">
<p>泊位</p>
<p>Berth&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.stopBerthageName}}</td>
<td class="td1">
<p>日期</p>
<p>Date&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.supplyDate}}</td>
</tr>
</tbody>
</table>
<view class="sginBox">
<view class="box">
<p>Capt/Chief Mate(船长/大副):</p>
<p class="sign" @click="togoSign('1')" v-if="czSign.signFile == ''"></p>
<template v-else>
<image :src="czSign.signFile" mode="widthFix"></image>
<!-- <text class="del" @click="delSign(czSign.webId)"></text> -->
</template>
<view style="padding: 16px; padding-bottom: 0; height: calc(100% - 66px);">
<view class="container">
<view class="head">
<view class="leftHead">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
</view>
<view class="rightHead">
<p>上海海通国际汽车码头有限公司</p>
<text>SHANGHAI HAITONG INTERNATIONAL AUTOMOTIVE TERMINAL CO. LTD.</text>
</view>
</view>
<view class="headTItle">
<view class="titleLeft"></view>
<view class="title">
<p>供给作业单</p>
<text>FRESH WTAER SUPPLIED EX WHARF</text>
</view>
<view class="titleRight">
<view>
<text>编号/N0:</text>
<text>QR-7.5.1-01-05-M</text>
</view>
</view>
</view>
<view class="ul">
<view class="li">
<p>船名/Name of Ship:</p>
<p>{{shipInfo.vslCnname}}</p>
</view>
<view class="li">
<p>{{tableInfo.supplyType}}/Fresh Supply:</p>
<p>{{tableInfo.supplyAmount}}</p>
</view>
<view class="li">
<p>航次/voy No:</p>
<p>{{tableInfo.vvyName}}</p>
</view>
<view class="li">
<p>泊位/Berth:</p>
<p>{{tableInfo.bthIdName}}</p>
</view>
<view class="li">
<p>日期/Date:</p>
<p>{{tableInfo.supplyDate}}</p>
</view>
</view>
</view>
</view>
<view class="signBox">
<view class="signContent">
<view class="signTitle">
<p>船长/大副:</p>
<p>Capt/Chief Mate:</p>
</view>
<view class="signInfo" v-if="czSign.signFile == ''" @click="togoSign('1')">
去签名
</view>
<view class="signImg" v-else>
<image :src="czSign.signFile"></image>
<!-- <text class="del" @click="delSign(czSign.id)"></text> -->
</view>
</view>
</view>
@ -212,32 +198,199 @@
<style lang="less" scoped>
@import "../../style/css/main-dz.css";
.container {
padding: 0px 20px;
.contentFixed {
margin-top: 68px !important;
/deep/.tab .tab-bar {
height: 66px;
line-height: 66px;
position: relative;
}
/deep/.tab .tab-bar-item {
height: 66px;
line-height: 66px;
font-size: 18px;
color: #23262E;
font-weight: bold;
font-family: PingFangSC-Semibold;
padding: 0 24px !important;
}
/deep/.tab .tab-bar-item.active {
color: #0067CF
}
/deep/.tab .tab-bar-item .active-line {
color: #0067CF;
width: 54px;
height: 4px;
}
/deep/.tab-pane {
width: 100%;
height: calc(100vh - 66px - 68px);
overflow: hidden;
}
/deep/.tab .tab-cont {
padding-bottom: 0;
}
}
.sginBox {
width: 100%;
display: flex;
justify-content: flex-end;
.container {
padding: 0px 16px;
background: #FFFFFF;
border-radius: 8px;
.box {
.head {
height: 85px;
padding: 16px 0;
margin: 0 8px;
border-bottom: 1px solid #999;
display: flex;
margin-right: 80px;
justify-content: space-between;
image {
width: 200px;
height: 50px;
}
.rightHead {
display: flex;
flex-direction: column;
justify-content: center;
text-align: right;
.del {
color: red;
p {
font-size: 22px;
color: #0052A4;
font-weight: bold;
}
text {
font-size: 14px;
color: #666666;
}
}
}
.sign {
color: #2979ff;
margin-left: 10px;
.headTItle {
display: flex;
justify-content: space-around;
padding: 24px 0;
margin: 0 8px;
border-bottom: 1px solid #EEEEEE;
.title {
flex: 3;
text-align: center;
p {
font-size: 24px;
color: #23262E;
font-weight: bold;
}
text {
font-size: 18px;
color: #23262E;
}
}
.titleLeft {
flex: 1;
}
.titleRight {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-end;
text:first-child {
font-size: 14px;
color: #666666;
}
text:last-child {
font-size: 18px;
color: #0052A4;
font-weight: bold;
}
}
}
.ul {
display: flex;
flex-wrap: wrap;
padding: 15px 0;
.li {
min-width: 33%;
display: flex;
justify-content: center;
margin-bottom: 24px;
p {
display: flex;
flex-direction: column;
justify-content: center;
}
p:last-child {
color: #23262E;
font-weight: bold;
font-size: 14px;
margin-left: 8px;
}
}
}
}
.signBox {
width: 100%;
height: 66px;
background: #FFFFFF;
border: 1px solid #E1E5ED;
box-shadow: 0 -1px 4px 0 rgba(0, 0, 0, 0.05);
display: flex;
justify-content: flex-end;
padding: 0 70px;
.row {
width: 1px;
height: 30px;
background-color: #ccc;
margin-top: 18px;
}
.signContent {
display: flex;
margin: 0 54px;
.signTitle {
display: flex;
flex-direction: column;
justify-content: center;
text-align: right;
}
.signInfo {
display: flex;
flex-direction: column;
justify-content: center;
font-size: 18px;
color: #0052A4;
margin-left: 16px;
}
.signImg {
width: 100px;
height: 54px;
margin-top: 5px;
margin-left: 10px;
}
}
.signContent:last-child {
margin-right: 0;
}
}
</style>

View File

@ -5,103 +5,81 @@
<custom-tabs type="c1" :value="tabsValue" @change="tabsChange">
<custom-tab-pane :label="item.name" v-for="(item,index) in tabsList" :name="'c1_'+index" :key="index">
<view></view>
<view class="container">
<table>
<tbody>
<tr>
<td class="h-l1r1">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
</image>
</td>
<td class="h-l1r2">&nbsp;</td>
<td class="h-l1r3">
<p>上海海通国际汽车码头有限公司</p>
<p>Shanghai HaiTong International Automotive Terminal Co.,Ltd.</p>
</td>
</tr>
<tr>
<td colspan="3">
<p class="bh-dz">QR-7.5.1-01-11-M</p>
</td>
</tr>
<tr>
<td colspan="3" class="h-l2r1">
<p class="name-dz">海通码头系解缆签证单</p>
<p class="ename-dz">MOONRING AND UNMOONRING RECORD</p>
</td>
</tr>
</tbody>
</table>
<table id="t-main2">
<tbody>
<tr>
<td class="td1">
<p>船名</p>
<p>Name of Ship&nbsp;&nbsp;</p>
</td>
<td class="td2">{{shipInfo.vslCnname}}</td>
<td class="td1">
<p>船舶净吨</p>
<p>Net tonnage&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.shipDeadWeight}}</td>
<td class="td3">
<p></p>
<p>Tons</p>
</td>
</tr>
<tr>
<td colspan="6" class="tr0">&nbsp;</td>
</tr>
<tr>
<td class="td1">
<p>航次</p>
<p>voy No&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.vvyName}}</td>
<td class="td1">
<p>泊位</p>
<p>Berth&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.bthIdName}}</td>
<td class="td1">
<p>系缆时间</p>
<p>Time of Moonring&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.attachTime}}</td>
</tr>
<tr>
<td colspan="6" class="tr0">&nbsp;</td>
</tr>
<tr>
<td class="td1">
<p>解缆时间</p>
<p>Time of Unmoonring&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.unmoorTime}}</td>
<td class="td1">
<p>移泊时间</p>
<p>Time of Shifting&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.shiftingBerthTime}}</td>
<td class="td1">
<p>停泊时间</p>
<p>Time of Shifting&nbsp;&nbsp;</p>
</td>
<td class="td2">{{tableInfo.noProductBerthStTime}} -
<view style="padding: 16px; padding-bottom: 0; height: calc(100% - 66px);">
<view class="container">
<view class="head">
<view class="leftHead">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
</view>
<view class="rightHead">
<p>上海海通国际汽车码头有限公司</p>
<text>SHANGHAI HAITONG INTERNATIONAL AUTOMOTIVE TERMINAL CO. LTD.</text>
</view>
</view>
<view class="headTItle">
<view class="titleLeft"></view>
<view class="title">
<p>海通码头系解缆签证单</p>
<text>MOONRING AND UNMOONRING RECORD</text>
</view>
<view class="titleRight">
<view>
<text>编号/N0:</text>
<text>QR-7.5.1-01-05-M</text>
</view>
</view>
</view>
<view class="ul">
<view class="li">
<p>船名/Name of Ship:</p>
<p>{{shipInfo.vslCnname}}</p>
</view>
<view class="li">
<p>船舶净吨/Net tonnage:</p>
<p>{{tableInfo.shipDeadWeight}}</p>
</view>
<view class="li">
<p>航次/voy No:</p>
<p>{{tableInfo.vvyName}}</p>
</view>
<view class="li">
<p>泊位/Berth:</p>
<p>{{tableInfo.bthIdName}}</p>
</view>
<view class="li">
<p>系缆时间/Time of Moonring:</p>
<p>{{tableInfo.attachTime}}</p>
</view>
<view class="li">
<p>解缆时间/Time of Unmoonring:</p>
<p>{{tableInfo.unmoorTime}}</p>
</view>
<view class="li">
<p>移泊时间/Time of Shifting:</p>
<p>{{tableInfo.shiftingBerthTime}}</p>
</view>
<view class="li">
<p>停泊时间/Time of Shifting:</p>
<p>{{tableInfo.noProductBerthStTime}} -
{{tableInfo.noProductBerthEdTime}}
</td>
</tr>
</tbody>
</table>
<view class="sginBox">
<view class="box">
<p>Capt/Chief Mate(船长/大副):</p>
<p class="sign" @click="togoSign('1')" v-if="czSign.signFile == ''"></p>
<template v-else>
<image :src="czSign.signFile" mode="widthFix"></image>
<!-- <text class="del" @click="delSign(czSign.webId)"></text> -->
</template>
</p>
</view>
</view>
</view>
</view>
<view class="signBox">
<view class="signContent">
<view class="signTitle">
<p>船长/大副:</p>
<p>Capt/Chief Mate:</p>
</view>
<view class="signInfo" v-if="czSign.signFile == ''" @click="togoSign('1')">
去签名
</view>
<view class="signImg" v-else>
<image :src="czSign.signFile"></image>
<!-- <text class="del" @click="delSign(czSign.id)"></text> -->
</view>
</view>
</view>
@ -235,32 +213,199 @@
<style lang="less" scoped>
@import "../../style/css/main-dz.css";
.container {
padding: 0px 20px;
.contentFixed {
margin-top: 68px !important;
/deep/.tab .tab-bar {
height: 66px;
line-height: 66px;
position: relative;
}
/deep/.tab .tab-bar-item {
height: 66px;
line-height: 66px;
font-size: 18px;
color: #23262E;
font-weight: bold;
font-family: PingFangSC-Semibold;
padding: 0 24px !important;
}
/deep/.tab .tab-bar-item.active {
color: #0067CF
}
/deep/.tab .tab-bar-item .active-line {
color: #0067CF;
width: 54px;
height: 4px;
}
/deep/.tab-pane {
width: 100%;
height: calc(100vh - 66px - 68px);
overflow: hidden;
}
/deep/.tab .tab-cont {
padding-bottom: 0;
}
}
.sginBox {
width: 100%;
display: flex;
justify-content: flex-end;
.container {
padding: 0px 16px;
background: #FFFFFF;
border-radius: 8px;
.box {
.head {
height: 85px;
padding: 16px 0;
margin: 0 8px;
border-bottom: 1px solid #999;
display: flex;
margin-right: 80px;
justify-content: space-between;
image {
width: 200px;
height: 50px;
}
.rightHead {
display: flex;
flex-direction: column;
justify-content: center;
text-align: right;
.del {
color: red;
p {
font-size: 22px;
color: #0052A4;
font-weight: bold;
}
text {
font-size: 14px;
color: #666666;
}
}
}
.sign {
color: #2979ff;
margin-left: 10px;
.headTItle {
display: flex;
justify-content: space-around;
padding: 24px 0;
margin: 0 8px;
border-bottom: 1px solid #EEEEEE;
.title {
flex: 3;
text-align: center;
p {
font-size: 24px;
color: #23262E;
font-weight: bold;
}
text {
font-size: 18px;
color: #23262E;
}
}
.titleLeft {
flex: 1;
}
.titleRight {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-end;
text:first-child {
font-size: 14px;
color: #666666;
}
text:last-child {
font-size: 18px;
color: #0052A4;
font-weight: bold;
}
}
}
.ul {
display: flex;
flex-wrap: wrap;
padding: 15px 0;
.li {
min-width: 33%;
display: flex;
justify-content: center;
margin-bottom: 24px;
p {
display: flex;
flex-direction: column;
justify-content: center;
}
p:last-child {
color: #23262E;
font-weight: bold;
font-size: 14px;
margin-left: 8px;
}
}
}
}
.signBox {
width: 100%;
height: 66px;
background: #FFFFFF;
border: 1px solid #E1E5ED;
box-shadow: 0 -1px 4px 0 rgba(0, 0, 0, 0.05);
display: flex;
justify-content: flex-end;
padding: 0 70px;
.row {
width: 1px;
height: 30px;
background-color: #ccc;
margin-top: 18px;
}
.signContent {
display: flex;
margin: 0 54px;
.signTitle {
display: flex;
flex-direction: column;
justify-content: center;
text-align: right;
}
.signInfo {
display: flex;
flex-direction: column;
justify-content: center;
font-size: 18px;
color: #0052A4;
margin-left: 16px;
}
.signImg {
width: 100px;
height: 54px;
margin-top: 5px;
margin-left: 10px;
}
}
.signContent:last-child {
margin-right: 0;
}
}
</style>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB