Files
dvcp_v2_wxcp_app/src/apps/AppWorkonline/AppWorkonline.vue

194 lines
5.1 KiB
Vue
Raw Normal View History

2021-12-15 15:22:23 +08:00
<template>
<div class="workonline">
<div class="search">
<u-search class="serach_content" placeholder="请输入标题" :show-action="false" v-model="keyword" @clear="clearSearch" @search="search"></u-search>
</div>
2021-12-15 18:37:15 +08:00
<u-tabs :list="list" :is-scroll="false" :current="currentType" @change="change"></u-tabs>
<template v-if="datas.length > 0">
<u-card v-for="(item, index) in datas" :key="index" :foot-border-top="false" :head-border-bottom="false" :show-head="false" @click="goDetail(item, 1)">
2021-12-15 15:22:23 +08:00
<view class="body" slot="body">
2021-12-15 18:37:15 +08:00
<!-- 审批名称 -->
2021-12-15 15:22:23 +08:00
<view class="u-body-item">
2021-12-15 18:37:15 +08:00
<div class="title">{{ item.processName }}</div>
2021-12-15 15:22:23 +08:00
</view>
<view class="u-body-item">
<div class="plan">
<span>审批进度</span>
2021-12-15 18:37:15 +08:00
<span class="business_status" v-if="item.approvalStatus == 0"> {{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}</span>
<!-- end -->
<span class="business_status_blue" v-if="item.approvalStatus == 1"> {{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}</span>
<!-- false -->
<span class="business_status_gray" v-if="item.approvalStatus == 2">
{{ $dict.getLabel('listApprovalStatusHb', item.approvalStatus) }}
</span>
2021-12-15 15:22:23 +08:00
</div>
</view>
<view class="u-body-item">
<div class="modetpye">
<span>申请类型</span>
2021-12-15 18:37:15 +08:00
<span>{{ item.classificationName }}</span>
2021-12-15 15:22:23 +08:00
</div>
</view>
<view class="u-body-item">
<div class="applytime">
<span>申请日期</span>
2021-12-15 18:37:15 +08:00
<span class="timeContent">{{ item.createTime }}</span>
2021-12-15 15:22:23 +08:00
</div>
</view>
<view class="u-body-item">
<div class="overtime">
<span>完成日期</span>
2021-12-15 18:37:15 +08:00
<span class="timeContent">{{ item.overTime }}</span>
2021-12-15 15:22:23 +08:00
</div>
</view>
2021-12-15 18:37:15 +08:00
<span class="icon">
<!-- ing -->
<img src="./components/ing.png" alt="" v-if="item.approvalStatus == 0" />
<!-- end -->
<img src="./components/end.png" alt="" v-if="item.approvalStatus == 1" />
<!-- false -->
<img src="./components/reject.png" alt="" v-if="item.approvalStatus == 2" />
</span>
2021-12-15 15:22:23 +08:00
</view>
</u-card>
<u-loadmore status="nomore" color="#999" font-size="24" margin-top="32" margin-bottom="80" />
</template>
<AiEmpty description="没有数据" v-else> </AiEmpty>
</div>
</template>
<script>
export default {
2021-12-15 18:37:15 +08:00
name: 'WorkOnline',
2021-12-15 15:22:23 +08:00
appName: '网上办事',
2021-12-15 18:37:15 +08:00
// 组件
2021-12-15 15:22:23 +08:00
components: {},
props: {},
data() {
return {
2021-12-15 18:37:15 +08:00
list: [
{ name: '待我审批', type: 0 },
{ name: '我已审批', type: 1 },
{ name: '抄送我的', type: 3 },
{ name: '超时督办', type: 4 },
],
currentType: 0, // 0待我审批 1已审批 2抄送我的 3超时
2021-12-15 15:22:23 +08:00
keyword: '',
2021-12-15 18:37:15 +08:00
datas: {},
listType: 0,
current: 1,
2021-12-15 15:22:23 +08:00
}
},
2021-12-15 18:37:15 +08:00
// 计算
2021-12-15 15:22:23 +08:00
computed: {},
2021-12-15 18:37:15 +08:00
// 监听
2021-12-15 15:22:23 +08:00
watch: {},
2021-12-15 18:37:15 +08:00
// 实例创建后
2021-12-15 15:22:23 +08:00
created() {
2021-12-15 18:37:15 +08:00
// 字典
this.$dict.load('listApprovalStatusHb').then(() => {
this.dictList = this.$dict.getDict('listApprovalStatusHb')
2021-12-15 15:22:23 +08:00
this.getList()
})
},
2021-12-15 18:37:15 +08:00
// 实例渲染后
2021-12-15 15:22:23 +08:00
mounted() {},
2021-12-15 18:37:15 +08:00
// 方法
2021-12-15 15:22:23 +08:00
methods: {
2021-12-15 18:37:15 +08:00
getList() {
this.$http.post(`/app/approv-alapply-info/list?listType=${this.listType}&current=${this.current}&param=${this.keyword}`).then((res) => {
if (res?.code == 0) {
this.datas = this.current > 1 ? [...this.datas, ...res.data.records] : res.data.records
}
})
},
2021-12-15 15:22:23 +08:00
2021-12-15 18:37:15 +08:00
// 跳转页面的id
goDetail(item) {
console.log(1)
uni.navigateTo({ url: `./detail?id=${item.id}&listType=${this.listType}` })
2021-12-15 15:22:23 +08:00
},
2021-12-15 18:37:15 +08:00
change(index) {
this.currentType = index
this.listType = this.list[index].type
this.getListInit()
},
getListInit() {
2021-12-15 15:22:23 +08:00
this.current = 1
this.getList()
},
2021-12-15 18:37:15 +08:00
search(e) {
this.keyword = e
this.getListInit()
},
2021-12-15 15:22:23 +08:00
clearSearch() {
this.keyword = ''
2021-12-15 18:37:15 +08:00
this.getListInit()
2021-12-15 15:22:23 +08:00
},
},
}
</script>
<style scoped lang="scss">
.workonline {
.search {
.serach_content {
2021-12-15 18:37:15 +08:00
background-color: #fff;
2021-12-15 15:22:23 +08:00
height: 104px;
line-height: 104px;
box-sizing: border-box;
padding: 0 32px;
}
}
.u-card {
::v-deep .u-card__body {
.body {
position: relative;
.u-body-item {
.title {
font-size: 32px;
font-weight: 500;
margin-bottom: 16px;
}
.plan,
.modetpye,
.applytime,
.overtime {
margin-top: 16px;
font-size: 30px;
color: #999999;
.timeContent {
color: #343d65;
}
}
}
img {
position: absolute;
right: 0;
top: 0;
width: 113px;
height: 113px;
}
}
}
}
}
</style>