206 lines
4.2 KiB
Vue
206 lines
4.2 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="page-wrap">
|
|||
|
|
<u-subsection class="sub-section" :list="sections" :current="currentSection" @change="handleChangeSection"></u-subsection>
|
|||
|
|
<view class="list-wrap">
|
|||
|
|
<view v-for="(item, key) in snapshotList" :key="key">
|
|||
|
|
<view class="album">
|
|||
|
|
<view class="album-avatar">
|
|||
|
|
<template>
|
|||
|
|
<u-avatar
|
|||
|
|
:text="item.CREATER_NAME ? item.CREATER_NAME.slice(0, 1) : ''"
|
|||
|
|
fontSize="18"
|
|||
|
|
randomBgColor
|
|||
|
|
></u-avatar>
|
|||
|
|
</template>
|
|||
|
|
</view>
|
|||
|
|
<view class="album-content">
|
|||
|
|
<u--text
|
|||
|
|
:text="`上报人:${item.CREATER_NAME || ''}`"
|
|||
|
|
type="primary"
|
|||
|
|
bold
|
|||
|
|
size="17"
|
|||
|
|
></u--text>
|
|||
|
|
<u--text
|
|||
|
|
margin="0 0 8px 0"
|
|||
|
|
:text="item.DESCRIPTION || ''"
|
|||
|
|
></u--text>
|
|||
|
|
<view class="field">
|
|||
|
|
<text class="label">上报时间:</text>
|
|||
|
|
<text class="value">{{item.CREATE_TIME}}</text>
|
|||
|
|
</view>
|
|||
|
|
<u-album :urls="item.urls"></u-album>
|
|||
|
|
<view class="ok-bar-wrap" v-if="item.STATUS === 10">
|
|||
|
|
<u-button type="primary" @click="handleOk(item)" size="small" :plain="true" :hairline="true" text="确认" style="width: 100px; margin: 0;"></u-button>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<u-gap height="20" bgColor="#fff"></u-gap>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import {
|
|||
|
|
initFilter,
|
|||
|
|
extendRule,
|
|||
|
|
extendInclude
|
|||
|
|
} from '../../../../utils/common'
|
|||
|
|
|
|||
|
|
import { handleOkSnapshot, getSnapshotList } from '../../../../services/apply/FMServices/FMServices'
|
|||
|
|
import config from '../../../../config/common'
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
currentStatus: 0,
|
|||
|
|
currentSection: 0,
|
|||
|
|
sourceUrl: config.uni_app_web_source_url,
|
|||
|
|
sections: [{ name: '全部', id: 0 }, { name: '确认中', id: 10 }, { name: '已归档', id: 30 }],
|
|||
|
|
snapshotList: [],
|
|||
|
|
lists: [],
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onShow() {
|
|||
|
|
this.loadData()
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
loadData() {
|
|||
|
|
const orgId = uni.getStorageSync('orgId')
|
|||
|
|
const json = initFilter(orgId, '', 'CREATE_TIME', '1')
|
|||
|
|
if (this.currentStatus !== 0) {
|
|||
|
|
extendRule(json, 'STATUS', 1, this.currentStatus)
|
|||
|
|
}
|
|||
|
|
extendInclude(json, "Nav_User")
|
|||
|
|
extendInclude(json, "Nav_Files.Nav_ImgFile")
|
|||
|
|
getSnapshotList(json).then(res => {
|
|||
|
|
if (res) {
|
|||
|
|
this.snapshotList = res.map(item => {
|
|||
|
|
return {
|
|||
|
|
...item,
|
|||
|
|
urls: item.Nav_Files.map(e => {
|
|||
|
|
return {
|
|||
|
|
src: e.Nav_ImgFile?.FILE_PATH ? this.sourceUrl + e.Nav_ImgFile?.FILE_PATH : ''
|
|||
|
|
}
|
|||
|
|
}).filter(o => o.src)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
handleOk(item) {
|
|||
|
|
handleOkSnapshot(item).then(res => {
|
|||
|
|
if (res) {
|
|||
|
|
this.loadData()
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
handleChangeSection(e) {
|
|||
|
|
const s = {
|
|||
|
|
0: 0,
|
|||
|
|
1: 10,
|
|||
|
|
2: 30
|
|||
|
|
}
|
|||
|
|
this.currentSection = e;
|
|||
|
|
this.currentStatus = s[e];
|
|||
|
|
this.loadData()
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
onReachBottom() {
|
|||
|
|
// 页码 +1
|
|||
|
|
if (this.total > 10 * this.pageIndex)
|
|||
|
|
this.pageIndex++
|
|||
|
|
},
|
|||
|
|
watch: {
|
|||
|
|
pageIndex(n, o) {
|
|||
|
|
this.loadData()
|
|||
|
|
},
|
|||
|
|
keyword(n, o) {
|
|||
|
|
this.pageIndex = 1
|
|||
|
|
this.keyword = n
|
|||
|
|
this.loadData()
|
|||
|
|
},
|
|||
|
|
searchStartTime(n, o) {
|
|||
|
|
this.pageIndex = 1
|
|||
|
|
this.searchStartTime = n
|
|||
|
|
this.loadData()
|
|||
|
|
},
|
|||
|
|
filterStatus(n, o) {
|
|||
|
|
this.pageIndex = 1
|
|||
|
|
this.filterStatus = n
|
|||
|
|
this.loadData()
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
computed: {}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
@import url("../../../../style/css/editTemplate.css");
|
|||
|
|
|
|||
|
|
.sub-section {
|
|||
|
|
margin-bottom: 16px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.album {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: flex-start;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.album-avatar {
|
|||
|
|
/*background-color: $u-bg-color;*/
|
|||
|
|
padding: 5px;
|
|||
|
|
border-radius: 3px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.album-content {
|
|||
|
|
margin-left: 10px;
|
|||
|
|
flex: 1;
|
|||
|
|
padding-bottom: 10px;
|
|||
|
|
border-bottom: 1px solid #e5e5e5;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.ok-bar-wrap {
|
|||
|
|
padding-top: 10px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn-groups button {
|
|||
|
|
width: 48%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.content .field {
|
|||
|
|
font-size: 14px;
|
|||
|
|
line-height: 18px;
|
|||
|
|
margin-bottom: 4px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.content .field .label {
|
|||
|
|
color: #666;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.content .field .value {
|
|||
|
|
color: #333333;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.card-title {
|
|||
|
|
margin-bottom: 6px;
|
|||
|
|
display: flex;
|
|||
|
|
font-weight: bold;
|
|||
|
|
flex-direction: row;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
width: 100%;
|
|||
|
|
font-size: 16px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.card-title .left {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.card-title .title-icon {
|
|||
|
|
margin-right: 4px;
|
|||
|
|
}
|
|||
|
|
</style>
|