135 lines
3.8 KiB
Vue
135 lines
3.8 KiB
Vue
<template>
|
|
<view>
|
|
<Navbar title="违章处罚审批" />
|
|
<div class="content">
|
|
<!-- 搜索 -->
|
|
<div class="search">
|
|
<u-input
|
|
placeholder="请输入关键字"
|
|
suffixIcon="search"
|
|
suffixIconStyle="color: #909399"
|
|
shape="circle"
|
|
@blur="handleSearch"
|
|
></u-input>
|
|
</div>
|
|
<!-- 列表 -->
|
|
<div>
|
|
<div v-for="(item, index) in tableList" :key="index" class="list-cont">
|
|
<div class="list-item">违章编号:{{ item.violationCode }}</div>
|
|
<div class="list-item">受罚工程:{{ item.proName }}</div>
|
|
<div class="list-item">审批状态:{{ updateStatus(item.intoStatus) }}</div>
|
|
<div class="list-btn">
|
|
<div><u-button type="primary" size="mini" @click="handleSeeEdit(1, item)">查看</u-button></div>
|
|
<div>
|
|
<u-button v-if="item.status == '1'" type="primary" size="mini" @click="handleSeeEdit(2, item)">
|
|
审批
|
|
</u-button>
|
|
</div>
|
|
<div><u-button type="warning" size="mini" @click="handleSeeEdit(3, item)">审批记录</u-button></div>
|
|
</div>
|
|
</div>
|
|
<u-empty mode="data" v-if="tableList.length == 0"></u-empty>
|
|
</div>
|
|
</div>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import { getViolationPunishApprovalList } from '@/api/hiddenDangerViolation'
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
userType: uni.getStorageSync('userInfo').userType,
|
|
personId: uni.getStorageSync('userInfo').userId,
|
|
searchValue: '',
|
|
tableList: [],
|
|
// 审批状态-下拉
|
|
approvalStatusOpts: [
|
|
{ label: '未提交', value: '0' },
|
|
{ label: '待审批', value: '1' },
|
|
{ label: '审批中', value: '2' },
|
|
{ label: '已审批', value: '3' },
|
|
{ label: '已驳回', value: '4' },
|
|
{ label: '已撤回', value: '5' }
|
|
]
|
|
}
|
|
},
|
|
onShow() {
|
|
this.getList()
|
|
},
|
|
methods: {
|
|
updateStatus(status) {
|
|
return this.approvalStatusOpts.find(item => item.value === status)?.label
|
|
},
|
|
// 搜索
|
|
handleSearch(value) {
|
|
console.log('🚀 ~ 搜索 ~ value:', value)
|
|
this.searchValue = value
|
|
this.getList()
|
|
},
|
|
// 列表
|
|
async getList() {
|
|
console.log('🚀 ~ 获取列表')
|
|
try {
|
|
const params = {
|
|
keyWord: this.searchValue,
|
|
pageNun: 1,
|
|
pageSize: 9999,
|
|
personId: this.personId,
|
|
userType: this.userType
|
|
}
|
|
console.log('🚀 ~ getList ~ params:', params)
|
|
const res = await getViolationPunishApprovalList(params)
|
|
console.log('🚀 ~ getList ~ res:', res)
|
|
this.tableList = res.rows
|
|
} catch (error) {
|
|
console.log('🚀 ~ error', error)
|
|
}
|
|
},
|
|
// 查看编辑
|
|
handleSeeEdit(type, item) {
|
|
console.log('🚀 ~ 查看编辑 ~ type:', type)
|
|
console.log('🚀 ~ 查看编辑 ~ item:', item)
|
|
let params = {}
|
|
if (type === 1) {
|
|
params = { isDetail: true, ...item, title: '处罚单详情' }
|
|
} else if (type === 2) {
|
|
params = { isApprove: true, ...item, title: '审批' }
|
|
} else if (type === 3) {
|
|
params = { isRecord: true, ...item, title: '审批记录' }
|
|
}
|
|
uni.navigateTo({
|
|
url: '/pages/violationManagenment/violationApprove?params=' + JSON.stringify(params)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.content {
|
|
padding-bottom: 20px;
|
|
word-break: break-all;
|
|
.search {
|
|
margin: 0 20px 10px;
|
|
}
|
|
.list-cont {
|
|
padding: 10px;
|
|
margin: 0 10px 10px;
|
|
background-color: #f5f7fa;
|
|
border-radius: 8px;
|
|
.list-item {
|
|
margin-bottom: 10px;
|
|
}
|
|
.list-btn {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
div {
|
|
margin-left: 10px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|