2023-07-11 15:28:40 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="mixWork">
|
|
|
|
|
<view class="container">
|
2023-07-24 16:56:46 +08:00
|
|
|
|
<view class="signBox">
|
|
|
|
|
<p class="sign" @click="sign">点击签名</p>
|
|
|
|
|
</view>
|
2023-07-11 15:28:40 +08:00
|
|
|
|
<view class="tabsList">
|
|
|
|
|
<view class="tabsBox" v-for="(item,index) in tabsList" :key="index" :class="{active:tabsIndex == index}"
|
|
|
|
|
@click="tabsClick(item,index)">{{item}}</view>
|
|
|
|
|
</view>
|
2023-07-11 17:29:53 +08:00
|
|
|
|
<!-- 人员信息列表 -->
|
2023-07-19 18:12:19 +08:00
|
|
|
|
<view class="ul" v-if="tabsType == 0">
|
2023-07-24 16:56:46 +08:00
|
|
|
|
<template v-if="peopleInfo.length > 0">
|
|
|
|
|
<view class="li" v-for="(item,index) in peopleInfo" :key="index" @click="add('look',item,index)">
|
|
|
|
|
<view class="title">航次:{{item.vvyName}}</view>
|
|
|
|
|
<p>贸易类型:{{item.tradeTypeName}}</p>
|
|
|
|
|
<p>进出口:{{item.importExportFlagName}}</p>
|
|
|
|
|
<p>作业组数:{{item.workSuite}}</p>
|
|
|
|
|
<p>单船人数:{{item.shipPerson}}</p>
|
|
|
|
|
<p>状态:未上传</p>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
2023-07-18 17:37:15 +08:00
|
|
|
|
</view>
|
2023-08-15 09:18:52 +08:00
|
|
|
|
|
2023-07-11 17:29:53 +08:00
|
|
|
|
<!-- 工班信息列表 -->
|
2023-07-19 18:12:19 +08:00
|
|
|
|
<view class="ul" v-if="tabsType == 1">
|
2023-07-24 16:56:46 +08:00
|
|
|
|
<template v-if="shiftInfo.length > 0">
|
|
|
|
|
<view class="li" v-for="(item,index) in shiftInfo" :key="index" @click="lookShift(item,index)">
|
2023-08-15 09:18:52 +08:00
|
|
|
|
<view class="title">航次:{{item[0].vvyName}}</view>
|
|
|
|
|
<view class="shift" v-for="(item2,index2) in item" :key="index2">
|
|
|
|
|
<p>{{item2.pwcTypeName}}</p>
|
|
|
|
|
<span>作业开始时间:{{item2.workStartTime}}</span>
|
2023-07-24 16:56:46 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="state">状态:未上传</view>
|
2023-07-11 15:28:40 +08:00
|
|
|
|
</view>
|
2023-07-24 16:56:46 +08:00
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
2023-07-18 17:37:15 +08:00
|
|
|
|
</view>
|
2023-07-11 17:29:53 +08:00
|
|
|
|
<view class="addBtn" @click="add('add')">+ 新增</view>
|
2023-07-11 15:28:40 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2023-08-01 09:32:45 +08:00
|
|
|
|
import sqlite from "../../common/sqlite.js"
|
2023-07-11 15:28:40 +08:00
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
2023-07-18 17:37:15 +08:00
|
|
|
|
shipInfo: [],
|
2023-07-11 15:28:40 +08:00
|
|
|
|
tabsList: ["人员信息", "工班信息"],
|
2023-07-19 18:12:19 +08:00
|
|
|
|
tabsType: 0, // 0是人员信息 1是工班信息
|
2023-07-11 15:28:40 +08:00
|
|
|
|
tabsIndex: 0,
|
2023-07-11 17:29:53 +08:00
|
|
|
|
// 人员信息列表
|
2023-07-18 17:37:15 +08:00
|
|
|
|
peopleInfo: [],
|
2023-07-11 17:29:53 +08:00
|
|
|
|
// 工班信息列表
|
2023-08-15 09:18:52 +08:00
|
|
|
|
shiftInfo: [],
|
2023-07-11 15:28:40 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
2023-07-18 17:37:15 +08:00
|
|
|
|
mounted() {
|
2023-07-26 14:34:20 +08:00
|
|
|
|
this.tabsType = uni.getStorageSync('tabsType')
|
2023-08-15 09:18:52 +08:00
|
|
|
|
this.executeSql1('shipInfoTable')
|
2023-07-20 17:16:08 +08:00
|
|
|
|
if (this.tabsType != 0 && this.tabsType != 1) {
|
2023-07-19 18:12:19 +08:00
|
|
|
|
this.tabsType = 0
|
|
|
|
|
this.tabsIndex = 0
|
|
|
|
|
} else {
|
|
|
|
|
this.tabsIndex = this.tabsType
|
|
|
|
|
}
|
2023-08-01 09:32:45 +08:00
|
|
|
|
if (this.tabsType == 0) {
|
|
|
|
|
this.executeSql1('messageRespList')
|
2023-08-04 17:06:33 +08:00
|
|
|
|
} else {
|
|
|
|
|
this.executeSql1('workMessageRespList')
|
|
|
|
|
this.executeSql1('workMessageRespInfoList')
|
2023-08-15 09:18:52 +08:00
|
|
|
|
this.executeSql1('retallyMessageRespList')
|
|
|
|
|
this.executeSql1('infoRespList')
|
2023-08-01 09:32:45 +08:00
|
|
|
|
}
|
2023-07-17 17:10:05 +08:00
|
|
|
|
},
|
2023-07-11 15:28:40 +08:00
|
|
|
|
methods: {
|
2023-08-01 09:32:45 +08:00
|
|
|
|
// 查
|
2023-08-01 14:35:05 +08:00
|
|
|
|
executeSql1(tableName) {
|
|
|
|
|
let sql = `select * from ${tableName}`
|
2023-08-01 09:32:45 +08:00
|
|
|
|
sqlite.executeSqlCeshi(sql).then((value) => {
|
2023-08-15 09:18:52 +08:00
|
|
|
|
if (tableName == 'shipInfoTable') {
|
|
|
|
|
this.shipInfo = value
|
|
|
|
|
}
|
2023-08-01 09:32:45 +08:00
|
|
|
|
if (this.tabsType == 0) {
|
|
|
|
|
this.peopleInfo = value
|
2023-08-04 17:06:33 +08:00
|
|
|
|
} else {
|
2023-08-15 09:18:52 +08:00
|
|
|
|
// console.log(value)
|
|
|
|
|
if (tableName == 'workMessageRespList' && value.length > 0) {
|
|
|
|
|
this.shiftInfo = Object.values(value.reduce((res, item) => {
|
|
|
|
|
res[item.contactId] ? res[item.contactId].push(item) : res[item
|
|
|
|
|
.contactId] = [item];
|
|
|
|
|
return res;
|
|
|
|
|
}, {}));
|
|
|
|
|
}
|
2023-08-01 09:32:45 +08:00
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
// 在reject时执行的回调函数
|
|
|
|
|
console.error(error);
|
|
|
|
|
});
|
|
|
|
|
},
|
2023-07-24 16:56:46 +08:00
|
|
|
|
// 点击签名
|
|
|
|
|
sign() {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/shipWork/sign'
|
|
|
|
|
})
|
|
|
|
|
},
|
2023-07-11 15:28:40 +08:00
|
|
|
|
tabsClick(item, index) {
|
|
|
|
|
this.tabsIndex = index;
|
|
|
|
|
if (item == "人员信息") {
|
2023-07-19 18:12:19 +08:00
|
|
|
|
this.tabsType = 0;
|
2023-08-04 17:06:33 +08:00
|
|
|
|
this.executeSql1('messageRespList')
|
2023-07-11 15:28:40 +08:00
|
|
|
|
} else {
|
2023-07-19 18:12:19 +08:00
|
|
|
|
this.tabsType = 1;
|
2023-08-04 17:06:33 +08:00
|
|
|
|
this.executeSql1('workMessageRespList')
|
|
|
|
|
this.executeSql1('workMessageRespInfoList')
|
2023-08-15 09:18:52 +08:00
|
|
|
|
this.executeSql1('retallyMessageRespList')
|
|
|
|
|
this.executeSql1('infoRespList')
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2023-07-24 16:56:46 +08:00
|
|
|
|
// 点击新增
|
2023-07-18 17:37:15 +08:00
|
|
|
|
add(state, item, index) {
|
2023-07-20 17:16:08 +08:00
|
|
|
|
if (state != 'add') {
|
|
|
|
|
uni.setStorageSync('peopleRow', item);
|
|
|
|
|
uni.setStorageSync('peopleRowIndex', index);
|
|
|
|
|
}
|
2023-07-18 17:37:15 +08:00
|
|
|
|
let obj = {
|
|
|
|
|
state: state
|
|
|
|
|
}
|
|
|
|
|
const params = encodeURIComponent(JSON.stringify(obj));
|
2023-07-19 18:12:19 +08:00
|
|
|
|
if (this.tabsType == 0) {
|
2023-07-11 17:29:53 +08:00
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: `/pages/shipWork/peopleAdd?params=${params}`
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: `/pages/shipWork/shiftAdd?params=${params}`
|
|
|
|
|
})
|
|
|
|
|
}
|
2023-07-11 15:28:40 +08:00
|
|
|
|
},
|
2023-07-19 18:12:19 +08:00
|
|
|
|
lookShift(item, index) {
|
2023-08-15 09:18:52 +08:00
|
|
|
|
console.log(item)
|
2023-07-19 18:12:19 +08:00
|
|
|
|
uni.setStorageSync('shiftRow', item);
|
2023-07-12 13:48:01 +08:00
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: `/pages/shipWork/shiftDetails`
|
|
|
|
|
})
|
2023-07-18 17:37:15 +08:00
|
|
|
|
},
|
2023-08-01 09:32:45 +08:00
|
|
|
|
onBackPress(event) {
|
2023-08-01 17:26:06 +08:00
|
|
|
|
uni.setStorageSync('tabsType', 0);
|
2023-08-01 09:32:45 +08:00
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/shipWork/documentList'
|
|
|
|
|
})
|
|
|
|
|
return true;
|
|
|
|
|
},
|
2023-07-26 14:34:20 +08:00
|
|
|
|
},
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
.mixWork {
|
|
|
|
|
.container {
|
|
|
|
|
padding: 30px 20px;
|
|
|
|
|
|
2023-07-24 16:56:46 +08:00
|
|
|
|
.signBox {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
|
|
|
|
|
.sign {
|
|
|
|
|
text-align: right;
|
|
|
|
|
color: #2979ff;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-11 15:28:40 +08:00
|
|
|
|
.tabsList {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
|
|
|
|
.tabsBox {
|
|
|
|
|
width: 100px;
|
|
|
|
|
height: 50px;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
margin: 0px 10px;
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 50px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.active {
|
|
|
|
|
background: #2979ff;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-18 17:37:15 +08:00
|
|
|
|
.ul {
|
2023-07-11 15:28:40 +08:00
|
|
|
|
padding: 20px 0;
|
|
|
|
|
|
2023-07-18 17:37:15 +08:00
|
|
|
|
.li {
|
2023-07-11 15:28:40 +08:00
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
border-bottom: 1px solid #ccc;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.shift {
|
|
|
|
|
p {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.state {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.addBtn {
|
|
|
|
|
position: fixed;
|
|
|
|
|
right: 50px;
|
|
|
|
|
bottom: 50px;
|
|
|
|
|
width: 100px;
|
|
|
|
|
height: 100px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background-color: #2979ff;
|
|
|
|
|
color: #fff;
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 100px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|