nxdt-uniapp/pages/violationManagenment/violationPenalty.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>