修改bug

dev3
wuwx 2024-03-26 09:33:10 +08:00
parent 4022505655
commit ffd3238acb
14 changed files with 1757 additions and 192 deletions

View File

@ -314,6 +314,10 @@
this.onSearch()
this.$refs.showRight.close();
},
//
back() {
this.$refs.showRight.close();
},
//
changeLog(e) {
if(e.length) {

View File

@ -28,7 +28,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -219,7 +219,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>发送状态<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -436,7 +436,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -589,7 +589,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>堆场<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -793,6 +793,7 @@
<script>
import HeadView from '@/components/head-view/head-view.vue';
let timerId
export default {
data() {
return {
@ -1692,6 +1693,14 @@
} else if(type == 'fzl' || type == 'bzz') {
this.loadOtherOrder()
}
},
//
inputChange(e) {
clearTimeout(timerId)
timerId = setTimeout(() => {
this.mnfBl = e
this.confirm()
},1000)
}
}
};

View File

@ -26,7 +26,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -222,7 +222,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>发送状态<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -444,7 +444,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -629,6 +629,7 @@
import HeadView from '@/components/head-view/head-view.vue';
import HeadInfo from '@/components/head-info/head-info';
import place from './place.vue';
let timerId
export default {
data() {
return {
@ -1470,6 +1471,14 @@
this.filterType = 'POT_TYPE'
}
this.getJobProgress()
},
//
inputChange(e) {
clearTimeout(timerId)
timerId = setTimeout(() => {
this.mnfBl = e
this.confirm()
},1000)
}
}
};

View File

@ -326,6 +326,10 @@
this.onSearch()
this.$refs.showRight.close();
},
//
back() {
this.$refs.showRight.close();
},
//
changeLog(e) {
if(e.length) {

View File

@ -29,7 +29,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -181,6 +181,7 @@
</view>
<view class="details">
<view class="itemDetails" v-show="itemActive == item.index">
<!-- <view class="itemDetails" v-show="itemActive == item.index"> -->
<template v-for="(item2,index2) in item.infoList">
<view class="detailsBox" :key="index2">
<view class="title">
@ -225,7 +226,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>发送状态<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -448,7 +449,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -734,7 +735,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
placeholder="提单号" @iconClick="search"></uni-easyinput>
placeholder="提单号" @iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>品牌<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -926,6 +927,7 @@
import HeadView from '@/components/head-view/head-view.vue';
import HeadInfo from '@/components/head-info/head-info';
import place from './place.vue';
let timerId
export default {
data() {
return {
@ -1268,8 +1270,9 @@
},
method: 'GET', //
success: (res) => {
this.itemList.push(...res.data.data.records)
console.log(this.itemList)
// this.itemList.push(...res.data.data.records)
this.itemList = []
this.itemList = res.data.data.records
if (res.data.data.records.length == 10) {
this.current++
this.loadSumOrder()
@ -1324,7 +1327,19 @@
},
method: 'GET', //
success: (res) => {
this.$set(this.itemList[index], 'infoList', res.data.data)
let arr = []
res.data.data.forEach(item => {
arr.push({
mnfBl:item.mnfBl,
spsId:item.spsId,
transitPortName:item.transitPortName,
brdName:item.brdName,
goodsTypeName:item.goodsTypeName,
bvdName:item.bvdName,
})
})
this.$set(this.itemList[index], 'infoList', arr)
console.log('res.data.data',res.data.data);
}
})
},
@ -1992,6 +2007,14 @@
this.filterType = 'POT_TYPE'
}
this.getJobProgress()
},
//
inputChange(e) {
clearTimeout(timerId)
timerId = setTimeout(() => {
this.mnfBl = e
this.confirm()
},1000)
}
}
};

View File

@ -10,7 +10,7 @@
<view class="inputBox">
<view class="leftInput">
<uni-easyinput suffixIcon="search" v-model="vinCode" placeholder="车架号/备件号"
@iconClick="search"></uni-easyinput>
@iconClick="search" @input="inputChange"></uni-easyinput>
</view>
<view class="rightInput" @click="screen">
<p>船名<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
@ -532,7 +532,7 @@
港口
</view>
<superwei-combox :candidates="potList" :isJSON="true" keyName="potCnname" placeholder="港口"
v-model="potname" @select="potSelect"></superwei-combox>
v-model="potName" @select="potSelect"></superwei-combox>
<view class="drawerTitle">
作业状态
</view>
@ -556,6 +556,7 @@
<script>
import HeadInfo from '@/components/head-info/head-info';
import place from './place.vue';
let timerId
export default {
data() {
return {
@ -611,7 +612,7 @@
brandList: [],
//
potId: "",
potname: "",
potName: "",
potList: [],
//
workId: "",
@ -707,7 +708,7 @@
this.brdId = ""
this.brdName = ""
this.potId = ""
this.potname = ""
this.potName = ""
this.workId = ""
this.workName = ""
this.jckId = ""
@ -1080,6 +1081,14 @@
sortSelect(e) {
this.trendPlansOrderRule = e.id
this.getQy()
},
//
inputChange(e) {
clearTimeout(timerId)
timerId = setTimeout(() => {
this.vinCode = e
this.confirm()
},1000)
}
}
};

View File

@ -7,7 +7,7 @@
<view class="form">
<view class="left">
<uni-easyinput suffixIcon="search" v-model="carValue" placeholder="请输入车架号"
@iconClick="iconClick">
@iconClick="iconClick" @input="inputChange">
</uni-easyinput>
</view>
<view class="right" @click="screen">
@ -131,6 +131,7 @@
<script>
import HeadInfo from '@/components/head-info/head-info';
let timerId
export default {
data() {
return {
@ -395,6 +396,14 @@
this.current = e.current;
this.initData()
},
//
inputChange(e) {
clearTimeout(timerId)
timerId = setTimeout(() => {
this.carValue = e
this.confirm()
},1000)
}
}
};
</script>

View File

@ -284,7 +284,7 @@
toSign(type) {
this.shipInfo['type'] = type
const params = encodeURIComponent(JSON.stringify(this.shipInfo));
uni.reLaunch({
uni.redirectTo({
url: '/pages/receipt/sign?params=' + params
})
},

View File

@ -118,9 +118,9 @@
<uni-td align="center">{{ item.yardPos }}</uni-td>
</uni-tr>
</uni-table>
<view class="pagination">
<!-- <view class="pagination">
<uni-pagination :total="total" :pageSize="pageSize" :current="pageCurrent" @change="pageChange" />
</view>
</view> -->
</view>
</view>
</view>
@ -185,27 +185,27 @@
console.error(error);
});
},
initData() {
let newArr = this.getMapping(this.vinCodeDetails, this.pageSize)
this.vinCodeDetails = newArr[this.pageCurrent - 1];
},
//
pageChange(e) {
this.pageCurrent = e.current
this.initData()
},
// ()
getMapping(list, num) {
let len = list.length
let newList = []
if (len) {
var chunk = num
for (var i = 0, j = len; i < j; i += chunk) {
newList.push(list.slice(i, i + chunk))
}
}
return newList
},
// initData() {
// let newArr = this.getMapping(this.vinCodeDetails, this.pageSize)
// this.vinCodeDetails = newArr[this.pageCurrent - 1];
// },
// //
// pageChange(e) {
// this.pageCurrent = e.current
// this.initData()
// },
// // ()
// getMapping(list, num) {
// let len = list.length
// let newList = []
// if (len) {
// var chunk = num
// for (var i = 0, j = len; i < j; i += chunk) {
// newList.push(list.slice(i, i + chunk))
// }
// }
// return newList
// },
},
}
</script>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,896 @@
<template>
<view class="mixSign">
<head-view :title="title" url="/pages/shipWork/mixWork"></head-view>
<view class="contentFixedr">
<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 style="padding: 16px; padding-bottom: 0;">
<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>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="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 class="li">
<p>Weather:</p><text>{{tqInfo}}</text>
</view>
<view class="li">
<p>Gangs:</p><text>{{zyzsInfo}}</text>
</view>
<view class="li">
<p>Foreman:</p><text>{{dcrsInfo}}</text>
</view>
<view class="li">
<p>Berthed at Haitong:</p><text>{{bwInfo}}</text>
</view>
</view>
<table class="t-zx headZx">
<tbody>
<tr>
<td rowspan="2" style="width: 140px;"></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: 88.5px;">From</td>
<td colspan="3" style="width: 88.5px;">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 == '一工班' ? 'First Shift一工班' : item2.pwcTypeName == '二工班' ? 'Second Shift二工班' : item2.pwcTypeName == '三工班' ? 'Third Shift三工班' : ''}}</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">Rehangdling翻舱</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">Tech Stev</td>
<td>From</td>
<td>To</td>
<td>Weight/Measure</td>
<td colspan="3">Men</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>
</custom-tab-pane>
</custom-tabs>
</view>
<uni-popup ref="delPopup" type="dialog">
<uni-popup-dialog type="error" confirmText="确定" title="通知" content="是否删除此条数据"
@confirm="delConfirm"></uni-popup-dialog>
</uni-popup>
</view>
</template>
<script>
import sqlite from "../../common/sqlite.js"
import api from "../../common/api.js"
export default {
data() {
return {
title: "杂项单证签名",
tabsValue: 0,
tabsList: [],
vvyId: "",
vvyName: "",
webId: "",
aIdList: [],
aId: "",
vtpId: "",
//
timeArr: [],
//
startTime: "",
//
endTime: "",
//
peopleInfo: {},
peopleList: [],
peopleArr: [],
tqInfo: "",
bwArr: [],
bwInfo: "",
zyzsInfo: 0,
dcrsInfo: 0,
//
tabsArr: [],
gbArr: [],
//
shipInfo: {},
shiftInfo: [],
//
shiftList: [],
//
fcList: [],
fcArr: [],
//
qtList: [],
qtArr: [],
//
zdySign: {
url: "",
id: ""
},
dateId: "",
czSign: {
url: "",
id: ""
},
delId: "",
PTGR:{},
JSGR:{}
}
},
onLoad(option) {
if ('params' in option) {
this.tabsValue = JSON.parse(decodeURIComponent(option.params)).tabsValue
}
},
mounted() {
this.vtpId = uni.getStorageSync('vtpId')
let that = this
that.executeSql2()
that.executeSql('shipInfoTable')
that.aaa()
setTimeout(function() {
that.fcList.forEach(v => {
let endT = v.retallyEndTime.slice(0, 10)
if (endT == that.dateId) {
that.fcArr.push(v)
}
})
that.qtList.forEach(v => {
let endT = ""
if (v.endTm != "") {
endT = v.endTm.slice(0, 10)
} else if (v.endTmPt != "") {
endT = v.endTmPt.slice(0, 10)
}
if (endT == that.dateId) {
that.qtArr.push(v)
}
})
if (that.qtArr.length == 0) {
that.qtArr.push({})
}
that.shiftInfo.forEach(v => {
let arr = api.arrFrom(v.infoArr, "webId")
that.$set(v, "infoArr", arr)
})
that.peopleList.forEach(v => {
let endT = v.jobEndTime.slice(0, 10)
if (endT == that.dateId) {
that.peopleArr.push(v)
}
})
that.tqInfo = that.peopleArr[0].weatherType
that.peopleArr.forEach(v => {
that.zyzsInfo += Number(v.workSuite)
that.dcrsInfo += Number(v.shipPerson)
that.bwArr.push(v.bthIdName)
})
that.bwInfo = that.bwArr.join(",")
}, 300)
},
methods: {
// /
executeSql(tableName) {
let sql = `select * from ${tableName} WHERE vtpId = '${this.vtpId}'`
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
if (tableName == 'shipInfoTable') {
this.shipInfo = value[0]
} else {
this.peopleInfo = value[0]
}
}).catch((error) => {
// reject
console.error(error);
});
},
//
executeSql2(type) {
let sql = `SELECT
strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '0 day', 'start of day', '+22 hours')) || ',' || strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '1 day', 'start of day', '+22 hours')) AS work_shift
FROM workMessageRespList WHERE workMessageRespList.vtpId='${this.vtpId}'
GROUP BY work_shift
UNION SELECT strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '-1 day', 'start of day', '+22 hours')) || ',' || strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '0 day', 'start of day', '+22 hours')) AS work_shift
FROM workMessageRespList WHERE workMessageRespList.vtpId='${this.vtpId}'
GROUP BY work_shift;`
sqlite.executeSqlCeshi(sql).then((value) => {
this.timeArr = value
value.forEach((v, index) => {
this.startTime = v.work_shift.split(",")[0]
this.endTime = v.work_shift.split(",")[1]
let sql2 =
`Select COUNT(*),pwcTypeName,vvyId,vvyName,MIN(workStartTime) AS workStartTime, MAX(workEndTime)
AS workEndTime FROM (SELECT * FROM workMessageRespList WHERE workStartTime>='${this.startTime}' and
workEndTime<'${this.endTime}' and workMessageRespList.vtpId='${this.vtpId}')
GROUP BY pwcTypeName ORDER BY workStartTime asc;`
this.executeSql22(sql2, index)
let sql3 = `SELECT * FROM retallyMessageRespList WHERE retallyMessageRespList.retallyStartTime>='${this.startTime}' and
retallyMessageRespList.retallyEndTime<'${this.endTime}' and vtpId = '${this.vtpId}'`
this.executeSql3(sql3)
let sql4 = `SELECT MIN(startTmPt) AS minStartTimePt,MAX(endTmPt) AS maxEndTimePt,SUM(genNum) AS totalGenNum,SUM(weightPt) AS totalWeightPt,SUM(volumePt) AS totalvolumePt
FROM infoRespList WHERE vvyId = '${this.vvyId}' AND startTmPt>='${this.startTime}' AND endTmPt<='${this.endTime}'`
// let sql4 = `SELECT * FROM infoRespList WHERE infoRespList.startTm>='${this.startTime}' and
// infoRespList.endTm<'${this.endTime}' and vtpId = '${this.vtpId}'`
this.executeSql4(sql4)
let sql5 = `SELECT * FROM messageRespList WHERE messageRespList.jobStartTime>='${this.startTime}' and
messageRespList.jobEndTime<'${this.endTime}' and vtpId = '${this.vtpId}'`
this.executeSql6(sql5)
})
let that = this
setTimeout(function() {
if (type != 0) {
that.tabsArr.forEach((v, index) => {
let _index = index + 1
that.$set(v, "name", `杂项单证${_index}`)
})
}
that.tabsList = that.tabsArr
that.shiftInfo = that.tabsList[that.tabsValue].shiftArr
that.shiftList = that.tabsList[that.tabsValue].shiftArr
that.vvyId = that.tabsList[0].shiftArr[0].vvyId
that.vvyName = that.tabsList[0].shiftArr[0].vvyName
let dateId = that.tabsList[that.tabsValue].shiftArr[0].workEndTime
that.dateId = dateId.slice(0, 10)
that.executeSql5()
that.shiftList.forEach(v => {
that.executeSql222(v.workStartTime, v.workEndTime, v.pwcTypeName)
})
setTimeout(function() {
that.shiftList = that.shiftList
}, 100)
}, 100)
}).catch((error) => {
// reject
console.error(error);
});
},
executeSql22(sql, index) {
sqlite.executeSqlCeshi(sql).then((value) => {
if (value.length > 0) {
this.tabsArr.push({
shiftArr: value
})
}
}).catch((error) => {
// reject
console.error(error);
});
},
executeSql222(sTime, eTime, pwcTypeName) {
let sql = `SELECT * FROM workMessageRespList
WHERE workStartTime>='${sTime}'
and workEndTime<='${eTime}'
and workMessageRespList.vtpId='${this.vtpId}'
and workMessageRespList.pwcTypeName='${pwcTypeName}';`
sqlite.executeSqlCeshi(sql).then((value) => {
this.gbArr.push(...value)
this.shiftInfo.forEach((i, index) => {
this.$set(i, "infoArr", [])
this.gbArr.forEach((v, index2) => {
if (i.pwcTypeName == v.pwcTypeName) {
this.aaa(v.webId, index)
}
})
})
}).catch((error) => {
// reject
console.error(error);
});
},
aaa(id, index) {
let sql =
`SELECT * FROM workMessageRespInfoList WHERE workMessageRespInfoList.contactId = '${id}'`
sqlite.executeSqlCeshi(sql).then((value) => {
// this.$set(this.gbArr[index], "infoArr", value)
this.shiftInfo[index].infoArr.push(...value)
}).catch((error) => {
// reject
console.error(error);
});
},
//
executeSql3(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
if (value.length > 0) {
this.fcList.push(...value)
}
this.fcList = api.arrFrom(this.fcList, "webId")
}).catch((error) => {
// reject
console.error(error);
});
},
//
executeSql4(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
console.log('value',value);
if (value.length > 0) {
this.PTGR.push(...value)
}
// this.qtList = api.arrFrom(this.qtList, "webId")
}).catch((error) => {
// reject
console.error(error);
});
},
//
executeSql6(sql) {
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
if (value.length > 0) {
this.peopleList.push(...value)
}
this.peopleList = api.arrFrom(this.peopleList, "pmeId")
}).catch((error) => {
// reject
console.error(error);
});
},
//
executeSql5() {
let sql = `select * from workSignTable WHERE bizId = '${this.dateId}';`
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
let zdyList = []
let czList = []
if (value.length > 0) {
value.forEach(v => {
if (v.sort == 0) {
this.zdySign = {
url: v.signFile,
id: v.webId
}
zdyList.push(v)
} else {
this.czSign = {
url: v.signFile,
id: v.webId
}
czList.push(v)
}
})
}
if (zdyList.length == 0) {
this.zdySign = {
url: "",
id: ""
}
}
if (czList.length == 0) {
this.czSign = {
url: "",
id: ""
}
}
}).catch((error) => {
// reject
console.error(error);
});
},
//
delSign(id) {
this.$refs.delPopup.open()
this.delId = id
},
//
delConfirm() {
let sql = `DELETE FROM workSignTable WHERE webId = '${this.delId}';`
sqlite.executeSqlCeshi(sql).then((value) => {
// resolve
this.executeSql5()
}).catch((error) => {
// reject
console.error(error);
});
},
//
tabsChange(e) {
this.tabsValue = e.value
this.shiftList = this.tabsList[e.value].shiftArr
this.dateId = this.tabsList[e.value].shiftArr[0].workEndTime.slice(0, 10)
this.vvyName = this.tabsList[e.value].shiftArr[0].vvyName
this.gbArr = []
this.tabsArr = []
this.tabsList = []
this.shiftList = []
this.shiftInf = []
this.fcArr = []
this.qtArr = []
this.peopleArr = []
this.tqInfo = ""
this.zyzsInfo = 0
this.dcrsInfo = 0
this.bwArr = []
this.bwInfo = ""
this.executeSql2(0)
this.executeSql5()
this.shiftInfo.forEach(v => {
let arr = api.arrFrom(v.infoArr, "webId")
this.$set(v, "infoArr", arr)
})
this.fcList.forEach(v => {
let endT = v.retallyEndTime.slice(0, 10)
if (endT == this.dateId) {
this.fcArr.push(v)
}
})
this.qtList.forEach(v => {
let endT = ""
if (v.endTm != "") {
endT = v.endTm.slice(0, 10)
} else if (v.endTmPt != "") {
endT = v.endTmPt.slice(0, 10)
}
if (endT == this.dateId) {
this.qtArr.push(v)
}
})
if (this.qtArr.length == 0) {
this.qtArr.push({})
}
this.peopleList.forEach(v => {
let endT = v.jobEndTime.slice(0, 10)
if (endT == this.dateId) {
this.peopleArr.push(v)
}
})
this.tqInfo = this.peopleArr[0].weatherType
this.peopleArr.forEach(v => {
this.zyzsInfo += Number(v.workSuite)
this.dcrsInfo += Number(v.shipPerson)
this.bwArr.push(v.bthIdName)
})
this.bwInfo = this.bwArr.join(",")
},
//
togoSign(signType) {
let obj = {
id: this.dateId,
url: "mixSign",
signType: Number(signType), // 0 1 /
signTable: "2",
tabsValue: this.tabsValue,
vvyId: this.vvyId,
}
const params = encodeURIComponent(JSON.stringify(obj));
uni.navigateTo({
url: `/pages/shipWork/sign?params=${params}`
})
},
}
}
</script>
<style lang="less" scoped>
@import "../../style/css/main-dz.css";
.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 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;
}
}
.headZx {
background: #E9E9E9;
}
.t-zx td {
height: 36px;
}
/deep/.uni-scroll-view-content {
display: flex;
}
.rowBox {
width: calc(100% - 1px);
display: flex;
border: 1px solid #000;
box-sizing: border-box;
.name {
border-right: 1px solid #000;
width: 200px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
padding: 10px;
}
.time {
border-right: 1px solid #000;
width: 203px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.infoBox {
width: calc(100% - 476px);
display: flex;
flex-direction: column;
justify-items: center;
.iBox {
flex: 1;
display: flex;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
.carCss {
border-right: 1px solid #000;
width: 209px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.remark {
border-right: 1px solid #000;
width: 63px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.gx {
border-right: 1px solid #000;
width: 61px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.ro {
width: 87.5px;
}
.pr {
width: 139px;
}
.ot {
width: 90px;
border: none;
}
}
.iBox:first-child {
border-top: none;
}
.iBox:last-child {
border-bottom: none;
}
}
}
.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

@ -114,7 +114,7 @@
} else if (tableName == 'shipInfoTable') {
this.shipInfo = value[0]
if(this.obj.state == "edit" || this.obj.state == "add") {
if(this.shipInfo.actualBerthingTime) this.workDate = this.shipInfo.actualBerthingTime.split(' ')[0]
if(this.shipInfo.actualBerthingTime != 'null') this.workDate = this.shipInfo.actualBerthingTime.split(' ')[0]
}
} else if (tableName == 'voyageScheduleDataDetailRespDTOList') {
this.vvyInfo = value

View File

@ -9,7 +9,7 @@
<view class="container">
<view class="head">
<view class="leftHead">
<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>
<view class="rightHead">
<p>上海海通国际汽车码头有限公司</p>

View File

@ -37,7 +37,7 @@
</template>
<view class="pictureLook" v-else>
<view v-for="(item,index) in urlList2" :key="index">
<image :src="item.url" mode="widthFix" @click="clickImg(urlList2,index)">
<image :src="item.url" mode="widthFix" @click="clickImg(urlList2,index)" />
</view>
</view>
</view>
@ -215,6 +215,7 @@
method: 'GET', //
success: (res) => {
if (res.statusCode == 200) {
console.log('res',res.data);
this.urlList2.push(res.data)
}
}