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) { executeSql(sql) {
sqlite.executeSqlCeshi(sql).then((value) => { sqlite.executeSqlCeshi(sql).then((value) => {
value.forEach(v => { value.forEach(v => {
this.inVvyId = ""
this.inVvyName = ""
this.outVvyId = ""
this.outVvyName = ""
if (v.importExportFlagName == '出口') { if (v.importExportFlagName == '出口') {
this.inVvyId = v.vvyId this.inVvyId = v.vvyId
this.inVvyName = v.vvyName this.inVvyName = v.vvyName

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="documentList"> <view class="documentList">
<head-view :title="title" :type="true" url="/pages/shipWork/index"></head-view> <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="container">
<view class="workBox"> <view class="workBox">
<view class="title"> <view class="title">
@ -207,6 +207,7 @@
.container { .container {
padding: 30px 20px; padding: 30px 20px;
min-height: calc(100vh - 119px); min-height: calc(100vh - 119px);
margin-top: 68px;
.workBox { .workBox {
background-color: #fff; background-color: #fff;

View File

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

View File

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

View File

@ -156,7 +156,7 @@
}, },
// //
executeSql2(vvyId) { 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) => { sqlite.executeSqlCeshi(sql).then((value) => {
// resolve // resolve
let zdyList = [] let zdyList = []

View File

@ -5,178 +5,172 @@
<custom-tabs type="c1" :value="tabsValue" @change="tabsChange"> <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"> <custom-tab-pane :label="item.name" v-for="(item,index) in tabsList" :name="'c1_'+index" :key="index">
<view></view> <view></view>
<view class="container"> <view style="padding: 16px;">
<table> <view class="container">
<tbody> <view class="head">
<tr> <view class="leftHead">
<td class="h-l1r1"> <image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix">
<image id="HT-logo" src="../../static/images/theme/logo.png" mode="widthFix"> </view>
</image> <view class="rightHead">
</td> <p>上海海通国际汽车码头有限公司</p>
<td class="h-l1r2">&nbsp;</td> <text>SHANGHAI HAITONG INTERNATIONAL AUTOMOTIVE TERMINAL CO. LTD.</text>
<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> </view>
</view> </view>
</view> <view class="headTItle">
<table class="t-zx"> <view class="titleLeft"></view>
<tbody> <view class="title">
<tr> <p>海通码头装卸和杂项作业单</p>
<td :rowspan="fcList.length + 2">翻仓信息</td> <text>SHANGHAI HARBOUR BUREAU STEVEDORE WORKING RECORD</text>
<td colspan="2" rowspan="2">Kind of Rehangdling</td> </view>
<td colspan="2">DK/H</td> <view class="titleRight">
<td colspan="6">Working time</td> <view>
<td colspan="4">Weight/Measure</td> <text>编号/N0:</text>
</tr> <text>QR-7.5.1-01-05-M</text>
<tr> </view>
<td>From</td> </view>
<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> </view>
<view class="box"> <view class="ul">
<p>Capt/Chief Mate(船长/大副):</p> <view class="li">
<p class="sign" @click="togoSign('1')" v-if="czSign.url == ''"></p> <p>Name of ship:</p><text>{{shipInfo.vslCnname}}</text>
<template v-else> </view>
<image :src="czSign.url" mode="widthFix"></image> <view class="li">
<!-- <text class="del" @click="delSign(czSign.id)"></text> --> <p>Voy No:</p><text>{{vvyName}}</text>
</template> </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> </view>
</view> </view>
@ -532,18 +526,147 @@
.contentFixedr { .contentFixedr {
margin-top: 68px !important; 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 { .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 { table {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
} }
.td-b-b1 { .headZx {
border-bottom: #000000 solid 1px; background: #E9E9E9;
} }
.t-zx td { .t-zx td {
@ -554,28 +677,8 @@
display: flex; 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 { .rowBox {
width: 100%; width: calc(100% - 1px);
display: flex; display: flex;
border: 1px solid #000; border: 1px solid #000;
box-sizing: border-box; box-sizing: border-box;
@ -592,7 +695,7 @@
.time { .time {
border-right: 1px solid #000; border-right: 1px solid #000;
width: 200px; width: 203px;
text-align: center; text-align: center;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -600,6 +703,7 @@
} }
.infoBox { .infoBox {
width: calc(100% - 476px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-items: center; justify-items: center;
@ -612,7 +716,7 @@
.carCss { .carCss {
border-right: 1px solid #000; border-right: 1px solid #000;
width: 245px; width: 209px;
text-align: center; text-align: center;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -621,7 +725,7 @@
.remark { .remark {
border-right: 1px solid #000; border-right: 1px solid #000;
width: 61px; width: 63px;
text-align: center; text-align: center;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -638,11 +742,11 @@
} }
.ro { .ro {
width: 86px; width: 87.5px;
} }
.pr { .pr {
width: 137px; width: 139px;
} }
.ot { .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; display: flex;
margin-top: 20px; justify-content: flex-end;
padding: 0 70px;
.box { .row {
flex: 1; width: 1px;
height: 30px;
background-color: #ccc;
margin-top: 18px;
}
.signContent {
display: flex; display: flex;
margin: 0 54px;
image { .signTitle {
width: 200px; display: flex;
height: 50px; flex-direction: column;
justify-content: center;
text-align: right;
} }
.del { .signInfo {
color: red; 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 { .signContent:last-child {
color: #2979ff; margin-right: 0;
margin-left: 10px; }
} }
</style> </style>

View File

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

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB