init
This commit is contained in:
22
pages/attendance/attendance.vue
Normal file
22
pages/attendance/attendance.vue
Normal file
@ -0,0 +1,22 @@
|
||||
<template>
|
||||
<view>
|
||||
<h1>考勤管理</h1>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
52
pages/index/index.vue
Normal file
52
pages/index/index.vue
Normal file
@ -0,0 +1,52 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<image class="logo" src="/static/logo.png"></image>
|
||||
<view class="text-area">
|
||||
<text class="title">{{title}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: 'Hello'
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 200rpx;
|
||||
width: 200rpx;
|
||||
margin-top: 200rpx;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 50rpx;
|
||||
}
|
||||
|
||||
.text-area {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
color: #8f8f94;
|
||||
}
|
||||
</style>
|
55
pages/mobile_inspection/mobile_inspection.vue
Normal file
55
pages/mobile_inspection/mobile_inspection.vue
Normal file
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-tabs class="tabs" :list="tabList" @change="handleTabClick"></u-tabs>
|
||||
<!-- <scroll-view scroll-y="true"> -->
|
||||
<!-- <view> -->
|
||||
<QualityInspection v-if="activeIndex==0"></QualityInspection>
|
||||
<SecurityInspection v-else-if="activeIndex==1"></SecurityInspection>
|
||||
<!-- </view> -->
|
||||
<!-- </scroll-view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import QualityInspection from './quality_inspection/quality_inspection.vue'
|
||||
import SecurityInspection from './security_inspection/security_inspection.vue'
|
||||
export default {
|
||||
name: 'MobileInspection',
|
||||
components: {
|
||||
QualityInspection,
|
||||
SecurityInspection
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeIndex: 0,
|
||||
tabList: [{
|
||||
name: '质量巡检',
|
||||
}, {
|
||||
name: '安全巡检',
|
||||
}, ]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleTabClick(item) {
|
||||
console.log(item);
|
||||
this.activeIndex = item.index;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .u-tabs__wrapper__nav {
|
||||
justify-content: space-between;
|
||||
|
||||
.u-tabs__wrapper__nav__item {
|
||||
width: 320rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.test {
|
||||
width: 370rpx;
|
||||
height: 100rpx;
|
||||
background-color: indianred;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="filter-bar">
|
||||
|
||||
</view>
|
||||
<view class="task-item" v-for="(item,index) in taskList" :key="index">
|
||||
<view class="task-status" :style="`background-color:${item.status==1?'#60a7e9':'#c85449'}`">
|
||||
<text>
|
||||
{{item.status==1?'正常':'异常'}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="task-title">
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="task-content">
|
||||
<image src="@/static/inspector/inspector_example.png" mode=""></image>
|
||||
<view class="desc-list">
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">检查部位: </text>
|
||||
<text class="desc-value">{{item.part}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">巡检单位: </text>
|
||||
<text class="desc-value">{{item.unit}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">检查情况: </text>
|
||||
<text class="desc-value">{{item.situation}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">巡检人员: </text>
|
||||
<text class="desc-value">{{item.staff}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">纠正预防措施: </text>
|
||||
<text class="desc-value">{{item.measure}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">巡检日期: </text>
|
||||
<text class="desc-value">{{item.date}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
// 质量巡检任务列表
|
||||
taskList: [{
|
||||
name: '巡检任务1',
|
||||
part: '南侧立柱',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
part: '南侧立柱',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 0
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
part: '南侧立柱',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
part: '南侧立柱',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
part: '南侧立柱',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, ]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.task-item {
|
||||
margin: 0 16rpx 0;
|
||||
border-radius: 20rpx;
|
||||
position: relative;
|
||||
padding: 22rpx 34rpx 34rpx;
|
||||
box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.4);
|
||||
|
||||
.task-status {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
border-radius: 0px 10px 1px 26px;
|
||||
box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.4);
|
||||
background-color: #60a7e9;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
text {
|
||||
color: #EFEFEF;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.task-title {
|
||||
font-size: 32rpx;
|
||||
margin-left: 14rpx;
|
||||
}
|
||||
|
||||
.task-content {
|
||||
margin-top: 16rpx;
|
||||
display: flex;
|
||||
|
||||
image {
|
||||
height: 182rpx;
|
||||
width: 132rpx;
|
||||
}
|
||||
|
||||
.desc-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-left: 8rpx;
|
||||
width: 510rpx;
|
||||
|
||||
.desc-item {
|
||||
width: 50%;
|
||||
|
||||
.desc-key {
|
||||
color: #9a9a9a;
|
||||
font-size: 12rpx;
|
||||
}
|
||||
|
||||
.desc-value {
|
||||
color: #101010;
|
||||
font-size: 13rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.task-item:not(:last-child) {
|
||||
margin-bottom: 34rpx;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="filter-bar">
|
||||
|
||||
</view>
|
||||
<view class="task-item" v-for="(item,index) in taskList" :key="index">
|
||||
<view class="task-status" :style="`background-color:${item.status==1?'#50c2b0':'#c85449'}`">
|
||||
<text>
|
||||
{{item.status==1?'已整改':'未整改'}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="task-title">
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="task-content">
|
||||
<image src="@/static/inspector/inspector_example.png" mode=""></image>
|
||||
<view class="desc-list">
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">检查内容: </text>
|
||||
<text class="desc-value">{{item.content}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">巡检单位: </text>
|
||||
<text class="desc-value">{{item.unit}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">检查情况: </text>
|
||||
<text class="desc-value">{{item.situation}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">巡检人员: </text>
|
||||
<text class="desc-value">{{item.staff}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">纠正预防措施: </text>
|
||||
<text class="desc-value">{{item.measure}}</text>
|
||||
</view>
|
||||
<view class="desc-item">
|
||||
<text class="desc-key">巡检日期: </text>
|
||||
<text class="desc-value">{{item.date}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
// 质量巡检任务列表
|
||||
taskList: [{
|
||||
name: '巡检任务1',
|
||||
content: '头盔佩戴',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
content: '头盔佩戴',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 0
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
content: '头盔佩戴',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
content: '头盔佩戴',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, {
|
||||
name: '巡检任务1',
|
||||
content: '头盔佩戴',
|
||||
unit: '遵宜科技',
|
||||
situation: '正常',
|
||||
staff: '金一南',
|
||||
measure: '无',
|
||||
date: '2020-06-13',
|
||||
status: 1
|
||||
}, ]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.task-item {
|
||||
margin: 0 16rpx 0;
|
||||
border-radius: 20rpx;
|
||||
position: relative;
|
||||
padding: 22rpx 34rpx 34rpx;
|
||||
box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.4);
|
||||
|
||||
.task-status {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
border-radius: 0px 10px 1px 26px;
|
||||
box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.4);
|
||||
background-color: #60a7e9;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
text {
|
||||
color: #EFEFEF;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.task-title {
|
||||
font-size: 32rpx;
|
||||
margin-left: 14rpx;
|
||||
}
|
||||
|
||||
.task-content {
|
||||
margin-top: 16rpx;
|
||||
display: flex;
|
||||
|
||||
image {
|
||||
height: 182rpx;
|
||||
width: 132rpx;
|
||||
}
|
||||
|
||||
.desc-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-left: 8rpx;
|
||||
width: 510rpx;
|
||||
|
||||
.desc-item {
|
||||
width: 50%;
|
||||
|
||||
.desc-key {
|
||||
color: #9a9a9a;
|
||||
font-size: 12rpx;
|
||||
}
|
||||
|
||||
.desc-value {
|
||||
color: #101010;
|
||||
font-size: 13rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.task-item:not(:last-child) {
|
||||
margin-bottom: 34rpx;
|
||||
}
|
||||
</style>
|
210
pages/monitor/monitor.vue
Normal file
210
pages/monitor/monitor.vue
Normal file
@ -0,0 +1,210 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="search-bar">
|
||||
<input type="text">
|
||||
</view>
|
||||
<view class="site-list">
|
||||
<view class="site-item" v-for="item in siteList" :key="item.id">
|
||||
<view class="site-title">
|
||||
<text>{{item.name}}</text>
|
||||
</view>
|
||||
<view class="camera-list">
|
||||
<view class="camera-item" v-for="(cameraItem,index) in item.camera_list" :key="index">
|
||||
<image class="camera-image" src="../../static/camera_example.png" mode=""></image>
|
||||
<view class="camera-title">
|
||||
{{cameraItem.name}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="site-time">
|
||||
<text>{{item.time}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
siteList: [{
|
||||
id: 1,
|
||||
name: '项目场地1',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}, {
|
||||
id: 3,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}, {
|
||||
id: 4,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}, {
|
||||
id: 5,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}, {
|
||||
id: 6,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}, {
|
||||
id: 7,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}, {
|
||||
id: 8,
|
||||
name: '项目场地2',
|
||||
time: '2022-09-12 12:12:12',
|
||||
camera_list: [{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
},
|
||||
{
|
||||
name: 'camera1'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.site-list {
|
||||
.site-item {
|
||||
box-shadow: 0 6rpx 0 rgba(0, 0, 0, 0.4);
|
||||
margin-left: 16rpx;
|
||||
margin-right: 16rpx;
|
||||
margin-bottom: 40rpx;
|
||||
border-radius: 20rpx;
|
||||
|
||||
.site-title {
|
||||
background-color: rgb(153, 153, 153);
|
||||
width: 92px;
|
||||
height: 30px;
|
||||
line-height: 20px;
|
||||
border-radius: 20rpx 0rpx 18rpx 0rpx;
|
||||
|
||||
uni-text {
|
||||
font-family: YSBiaoTiHei-regular;
|
||||
color: white;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.camera-list {
|
||||
margin-top: 12rpx;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.camera-item {
|
||||
background-color: aquamarine;
|
||||
// margin-right: 20rpx;
|
||||
|
||||
.camera-image {
|
||||
width: 200rpx;
|
||||
height: 140rpx;
|
||||
}
|
||||
|
||||
.camera-title {
|
||||
font-size: 20rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.site-time {
|
||||
margin-top: 26rpx;
|
||||
text-align: right;
|
||||
height: 30rpx;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
background-color: #d7d7d7;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
126
pages/personal/personal.vue
Normal file
126
pages/personal/personal.vue
Normal file
@ -0,0 +1,126 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="avatar_name">
|
||||
<view class="avatar">
|
||||
<image src="../../static/personal/avatar_sample.png" mode=""></image>
|
||||
</view>
|
||||
<text class="username">
|
||||
张三
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info">
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
性别:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.gender}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
年龄:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.age}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
所属单位:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.unit}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
部门:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.department}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
岗位:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.post}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
负责项目:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.project}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="user-info-item">
|
||||
<text class="key">
|
||||
项目角色:
|
||||
</text>
|
||||
<text class="value">
|
||||
{{userInfo.role}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
userInfo: {
|
||||
name: '张三',
|
||||
gender: '男',
|
||||
age: 26,
|
||||
unit: '航天科工六院',
|
||||
department: '**部',
|
||||
post: '**经理',
|
||||
project: '负责项目',
|
||||
role: '**项目经理'
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.avatar_name {
|
||||
border: 1px solid rgb(186, 186, 186);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 180rpx;
|
||||
padding-left: 38rpx;
|
||||
|
||||
.avatar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
uni-image {
|
||||
width: 114rpx;
|
||||
height: 114rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.username {
|
||||
margin-left: 100rpx;
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.user-info {
|
||||
.user-info-item {
|
||||
display: flex;
|
||||
height: 120rpx;
|
||||
align-items: center;
|
||||
border: 1px solid #bbb;
|
||||
}
|
||||
}
|
||||
</style>
|
36
pages/project_supervision/project_detail/project_detail.vue
Normal file
36
pages/project_supervision/project_detail/project_detail.vue
Normal file
@ -0,0 +1,36 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-tabs :list="tabList"></u-tabs>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabList: [{
|
||||
text: '主页'
|
||||
}, {
|
||||
text: '进度管理'
|
||||
},
|
||||
{
|
||||
text: '质量管理'
|
||||
},
|
||||
{
|
||||
text: '安全管理'
|
||||
},
|
||||
{
|
||||
text: '材料管理'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
359
pages/project_supervision/project_supervision.vue
Normal file
359
pages/project_supervision/project_supervision.vue
Normal file
@ -0,0 +1,359 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="page-top" style="background-color: aqua">
|
||||
<u-navbar title="个人中心" placeholder bgColor="transparent" :leftIcon="null" titleStyle="color:white">
|
||||
</u-navbar>
|
||||
<view class="search-bar">
|
||||
<u--input placeholder="请输入项目名称" prefixIcon="search" prefixIconStyle="font-size: 32px;color: #909399">
|
||||
</u--input>
|
||||
</view>
|
||||
|
||||
<u-tabs :list="tabList" itemStyle="width:18%;height:80rpx" activeStyle="color:white"
|
||||
inactiveStyle="color:white"></u-tabs>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="filter-bar">
|
||||
<view class="filter-item">
|
||||
<text>时间</text>
|
||||
<u-icon name="arrow-down-fill" color="#8F959E" size="14"></u-icon>
|
||||
</view>
|
||||
<view class="filter-item">
|
||||
<text>金额</text>
|
||||
<u-icon name="arrow-down-fill" color="#8F959E" size="14"></u-icon>
|
||||
</view>
|
||||
<view class="filter-item">
|
||||
<text>级别</text>
|
||||
<u-icon name="arrow-down-fill" color="#8F959E" size="14"></u-icon>
|
||||
</view>
|
||||
<view class="filter-item">
|
||||
<text>筛选</text>
|
||||
<u-icon name="arrow-down-fill" color="#8F959E" size="14"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="scroll-y">
|
||||
<u-swipe-action class="swiper-item" v-for="item in projectList" :key="item.id">
|
||||
<u-swipe-action-item :options="options">
|
||||
<!-- <navigator url='pages/project_supervision/project_detail/project_detail'> -->
|
||||
<view class="project-item" @tap="goDetail">
|
||||
<view class="project-status"
|
||||
:style="`background-image: linear-gradient(219deg, ${statusDict[item.status].color1} 0%, ${statusDict[item.status].color2} 99%)`">
|
||||
<text>{{statusDict[item.status].name}}</text>
|
||||
</view>
|
||||
<text>{{item.name}}</text>
|
||||
<view class="project-desc">
|
||||
|
||||
<view class="project-desc-item">
|
||||
<text class="project-desc-key">
|
||||
建设性质
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.type}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="project-desc-item" style="text-align: end;">
|
||||
<text class="project-desc-key">
|
||||
施工单位
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.unit}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="project-desc-item">
|
||||
<text class="project-desc-key">
|
||||
监理单位
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.supervisorUnit}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="project-desc-item" style="text-align: end;">
|
||||
<text class="project-desc-key">
|
||||
总面积
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.area}}平方
|
||||
</text>
|
||||
</view>
|
||||
<view class="project-desc-item">
|
||||
<text class="project-desc-key">
|
||||
总投资
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.invest}}万元
|
||||
</text>
|
||||
</view>
|
||||
<view class="project-desc-item" style="text-align: end;">
|
||||
<text class="project-desc-key">
|
||||
建设性质
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.responsible}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="divider"></view>
|
||||
<!-- <divider></divider> -->
|
||||
<view class="project-desc-item">
|
||||
<text class="project-desc-key">
|
||||
项目编号
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.id}}
|
||||
</text>
|
||||
</view>
|
||||
<view class="project-desc-item" style="text-align: end;">
|
||||
<text class="project-desc-key">
|
||||
立项时间
|
||||
</text>
|
||||
<text class="project-desc-value">
|
||||
{{item.createTime}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- </navigator> -->
|
||||
</u-swipe-action-item>
|
||||
</u-swipe-action>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
statusDict: {
|
||||
0: {
|
||||
name: '已立项',
|
||||
color1: '#39DAAA',
|
||||
color2: '#02C489'
|
||||
},
|
||||
1: {
|
||||
name: '进行中',
|
||||
color1: '#FD934E',
|
||||
color2: '#FF7442'
|
||||
},
|
||||
2: {
|
||||
name: '已完成',
|
||||
color1: '#39DAAA',
|
||||
color2: '#02C489'
|
||||
}
|
||||
},
|
||||
options: [{
|
||||
text: '编辑',
|
||||
style: {
|
||||
backgroundColor: '#e99d42'
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '删除',
|
||||
style: {
|
||||
backgroundColor: '#f56c6c'
|
||||
}
|
||||
}
|
||||
],
|
||||
tabList: [{
|
||||
name: '全部'
|
||||
},
|
||||
{
|
||||
name: '已立项'
|
||||
},
|
||||
{
|
||||
name: '进行中'
|
||||
},
|
||||
{
|
||||
name: '已验收'
|
||||
},
|
||||
],
|
||||
projectList: [{
|
||||
name: '六院信息化项目',
|
||||
type: '商用',
|
||||
unit: '内蒙航天建工集团',
|
||||
supervisorUnit: '建华监理单位',
|
||||
area: 1500,
|
||||
invest: 200,
|
||||
status: 0, //0:已立项, 1:进行中, 2:已完成
|
||||
responsible: '郝昊',
|
||||
id: "0e13werwr313",
|
||||
createTime: '2022-02-32'
|
||||
},
|
||||
{
|
||||
name: '工棚改造项目',
|
||||
type: '商用',
|
||||
unit: '内蒙航天建工集团',
|
||||
supervisorUnit: '建华监理单位',
|
||||
area: 1500,
|
||||
invest: 200,
|
||||
status: 0, //0:已立项, 1:进行中, 2:已完成
|
||||
responsible: '郝昊',
|
||||
id: "0e1rwerw748313",
|
||||
createTime: '2022-02-32'
|
||||
},
|
||||
{
|
||||
name: '工棚改造项目',
|
||||
type: '商用',
|
||||
unit: '内蒙航天建工集团',
|
||||
supervisorUnit: '建华监理单位',
|
||||
area: 1500,
|
||||
invest: 200,
|
||||
status: 0, //0:已立项, 1:进行中, 2:已完成
|
||||
responsible: '郝昊',
|
||||
id: "0e13wrw77587err",
|
||||
createTime: '2022-02-32'
|
||||
},
|
||||
{
|
||||
name: '工棚改造项目',
|
||||
type: '商用',
|
||||
unit: '内蒙航天建工集团',
|
||||
supervisorUnit: '建华监理单位',
|
||||
area: 1500,
|
||||
invest: 200,
|
||||
status: 0, //0:已立项, 1:进行中, 2:已完成
|
||||
responsible: '郝昊',
|
||||
id: "0e13wrw643542err",
|
||||
createTime: '2022-02-32'
|
||||
},
|
||||
{
|
||||
name: '工棚改造项目',
|
||||
type: '商用',
|
||||
unit: '内蒙航天建工集团',
|
||||
supervisorUnit: '建华监理单位',
|
||||
area: 1500,
|
||||
invest: 200,
|
||||
status: 0, //0:已立项, 1:进行中, 2:已完成
|
||||
responsible: '郝昊',
|
||||
id: "0e1335626wrwerr",
|
||||
createTime: '2022-02-32'
|
||||
},
|
||||
{
|
||||
name: '工棚改造项目',
|
||||
type: '商用',
|
||||
unit: '内蒙航天建工集团',
|
||||
supervisorUnit: '建华监理单位',
|
||||
area: 1500,
|
||||
invest: 200,
|
||||
status: 0, //0:已立项, 1:进行中, 2:已完成
|
||||
responsible: '郝昊',
|
||||
id: "0e312313wrwerr",
|
||||
createTime: '2022-02-32'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goDetail() {
|
||||
console.log('跳转')
|
||||
uni.navigateTo({
|
||||
url: '/pages/project_supervision/project_detail/project_detail',
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
page {
|
||||
background-color: #f6f6f6;
|
||||
}
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.page-top {
|
||||
background: linear-gradient(to top right, #496df6, #2e9ee8);
|
||||
}
|
||||
|
||||
.search-bar {
|
||||
margin: 0 32rpx 0;
|
||||
|
||||
.u-input {
|
||||
height: 48rpx;
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
|
||||
.filter-bar {
|
||||
height: 80rpx;
|
||||
padding: 0 40rpx 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.filter-item {
|
||||
display: flex;
|
||||
|
||||
text {
|
||||
color: #8F959E;
|
||||
// margin-right: 8rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.scroll-y {
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.swiper-item {
|
||||
margin: 0rpx 16rpx 0rpx;
|
||||
}
|
||||
|
||||
.swiper-item:not(:last-child) {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.project-item {
|
||||
position: relative;
|
||||
background-color: white;
|
||||
|
||||
padding: 28rpx 20rpx 28rpx;
|
||||
border-radius: 8rpx;
|
||||
|
||||
.project-status {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 112rpx;
|
||||
height: 48rpx;
|
||||
background-image: linear-gradient(219deg, #FD934E 0%, #FF7442 99%);
|
||||
border-radius: 0 8rpx 0 32rpx;
|
||||
|
||||
text {
|
||||
font-size: 12rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.project-desc {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.project-desc-item {
|
||||
width: 50%;
|
||||
|
||||
.project-desc-key {
|
||||
color: #8F959E;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.project-desc-value {
|
||||
margin-left: 8rpx;
|
||||
color: #333;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.divider {
|
||||
margin: 15rpx 0 15rpx;
|
||||
width: 100%;
|
||||
height: 3rpx;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user