pad-app/pages/shipWork/mixWork.vue

173 lines
3.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="mixWork">
<view class="container">
<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>
<!-- 人员信息列表 -->
<view class="ul" v-if="tabsType == 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>
</view>
<!-- 工班信息列表 -->
<view class="ul" v-if="tabsType == 1">
<view class="li" v-for="(item,index) in shiftInfo" :key="index" @click="lookShift(item,index)">
<view class="title">航次:{{item.vvyName}}</view>
<view class="shift" v-for="(item2,index2) in item.shiftList" :key="index2">
<p>{{item2.gbTextValue}}</p>
<span>作业开始时间{{item2.startTime}}</span>
</view>
<view class="state">状态未上传</view>
</view>
</view>
<view class="addBtn" @click="add('add')">+ </view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
shipInfo: [],
tabsList: ["人员信息", "工班信息"],
tabsType: 0, // 0是人员信息 1是工班信息
tabsIndex: 0,
// 人员信息列表
peopleInfo: [],
// 工班信息列表
shiftInfo: []
}
},
mounted() {
this.tabsType = this.$route.query.infoType
if (this.tabsType != 0 || this.tabsType != 1) {
this.tabsType = 0
this.tabsIndex = 0
} else {
this.tabsIndex = this.tabsType
}
this.peopleInfo = uni.getStorageSync('addPeopleArr')
this.shiftInfo = uni.getStorageSync('addShiftArr')
console.log(this.shiftInfo)
this.shipInfo = uni.getStorageSync('shipInfo')
},
methods: {
tabsClick(item, index) {
this.tabsIndex = index;
if (item == "人员信息") {
this.tabsType = 0;
} else {
this.tabsType = 1;
}
},
add(state, item, index) {
uni.setStorageSync('peopleRow', item);
uni.setStorageSync('peopleRowIndex', index);
let obj = {
state: state
}
const params = encodeURIComponent(JSON.stringify(obj));
if (this.tabsType == 0) {
uni.navigateTo({
url: `/pages/shipWork/peopleAdd?params=${params}`
})
} else {
uni.navigateTo({
url: `/pages/shipWork/shiftAdd?params=${params}`
})
}
},
lookShift(item, index) {
uni.setStorageSync('shiftRow', item);
uni.setStorageSync('shiftRowIndex', index);
uni.navigateTo({
url: `/pages/shipWork/shiftDetails`
})
},
}
}
</script>
<style lang="less" scoped>
.mixWork {
.container {
padding: 30px 20px;
.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;
}
}
.ul {
padding: 20px 0;
.li {
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>