9 changed files with 451 additions and 103 deletions
@ -0,0 +1,9 @@
|
||||
import request from "./request"; |
||||
|
||||
|
||||
export function listNegativeHdjq(query) { |
||||
return request.get({ |
||||
url: `/negative/books/hdjq`, |
||||
query |
||||
}); |
||||
} |
||||
@ -0,0 +1,298 @@
|
||||
<template> |
||||
<div class="container"> |
||||
<header> |
||||
<el-form :label-width="120"> |
||||
<el-row> |
||||
<el-col :span="6"> |
||||
<el-form-item label="报警时间"> |
||||
<date-time-range-picker-ext |
||||
v-model="query.discoveryTime" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
<div class="form-row flex"> |
||||
<label class="text-center">基本信息</label> |
||||
<div class="flex wrap query-box"> |
||||
<el-input |
||||
placeholder="问题编号 / 样本源头编号" |
||||
v-model="query.originId" |
||||
clearable |
||||
style="width: 200px" |
||||
/> |
||||
<el-input |
||||
placeholder="警情编号" |
||||
v-model="query.caseNumber" |
||||
clearable |
||||
style="width: 200px" |
||||
/> |
||||
<el-input |
||||
placeholder="问题简要描述" |
||||
v-model="query.thingDesc" |
||||
clearable |
||||
style="width: 260px" |
||||
/> |
||||
<el-input |
||||
placeholder="期数" |
||||
style="width: 146px" |
||||
v-model="query.reportNumber" |
||||
clearable |
||||
/> |
||||
<div style="width: 180px"> |
||||
<depart-tree-select |
||||
v-model="query.involveDepartId" |
||||
placeholder="涉及单位" |
||||
/> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="form-row flex"> |
||||
<label class="text-center">核查情况</label> |
||||
<div class="flex wrap query-box"> |
||||
<div style="width: 200px"> |
||||
<depart-tree-select |
||||
v-model="query.handleDepartId" |
||||
placeholder="办理单位" |
||||
/> |
||||
</div> |
||||
<el-select |
||||
style="width: 120px" |
||||
placeholder="是否整改" |
||||
clearable |
||||
v-model="query.isRectifyCode" |
||||
> |
||||
<el-option |
||||
v-for="item in dict.isRectify" |
||||
:key="item.id" |
||||
:label="item.dictLabel" |
||||
:value="item.dictValue" |
||||
/> |
||||
</el-select> |
||||
<div class="flex gap-4"> |
||||
<el-select |
||||
v-model="query.blameKey" |
||||
style="width: 90px" |
||||
@change="delete query.blameValue" |
||||
> |
||||
<el-option value="name" label="姓名" /> |
||||
<el-option value="empNo" label="警号" /> |
||||
<el-option value="idCode" label="身份证" /> |
||||
</el-select> |
||||
<el-input |
||||
placeholder="问责人员(民警、辅警)" |
||||
v-model="query.blameValue" |
||||
clearable |
||||
style="width: 190px" |
||||
/> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="form-row flex"> |
||||
<label class="text-center">其他选项</label> |
||||
<div class="flex wrap query-box"> |
||||
<el-select |
||||
style="width: 200px" |
||||
placeholder="流程阶段" |
||||
clearable |
||||
v-model="query.flowKey" |
||||
> |
||||
<el-option |
||||
v-for="item in flowNodes" |
||||
:key="item.flowKey" |
||||
:label="item.flowName" |
||||
:value="item.flowKey" |
||||
/> |
||||
</el-select> |
||||
<el-select |
||||
style="width: 120px" |
||||
placeholder="办理状态" |
||||
clearable |
||||
v-model="query.processingStatus" |
||||
multiple |
||||
> |
||||
<el-option |
||||
v-for="item in dict.processingStatus" |
||||
:key="item.id" |
||||
:label="item.dictLabel" |
||||
:value="item.dictValue" |
||||
/> |
||||
</el-select> |
||||
|
||||
<el-select |
||||
style="width: 146px" |
||||
placeholder="自查或他查" |
||||
clearable |
||||
v-model="query.crtDepartLevel" |
||||
> |
||||
<el-option label="他查" :value="0" /> |
||||
<el-option label="自查" :value="2" /> |
||||
</el-select> |
||||
</div> |
||||
</div> |
||||
</el-form> |
||||
<div class="flex between mt-20 mb-26"> |
||||
<el-button type="primary" @click="handleExport" |
||||
>数据导出</el-button |
||||
> |
||||
<div> |
||||
<el-button type="primary" @click="getList"> |
||||
<template #icon |
||||
><icon name="el-icon-Search" |
||||
/></template> |
||||
查询</el-button |
||||
> |
||||
<el-button @click="reset">重置</el-button> |
||||
</div> |
||||
</div> |
||||
</header> |
||||
<main> |
||||
<div class="table-container" v-loading="loading"> |
||||
<el-table :data="list" ref="tableRef"> |
||||
<el-table-column |
||||
label="期数" |
||||
prop="reportNumber" |
||||
width="80" |
||||
/> |
||||
<el-table-column |
||||
label="涉及单位" |
||||
prop="involveDepartName" |
||||
width="160" |
||||
show-overflow-tooltip |
||||
/> |
||||
<el-table-column |
||||
label="办理单位" |
||||
show-overflow-tooltip |
||||
width="160" |
||||
> |
||||
<template #default="{ row }"> |
||||
<span |
||||
>{{ row.handleSecondDepartName |
||||
}}{{ row.handleThreeDepartName }}</span |
||||
> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column |
||||
label="报警时间" |
||||
prop="discoveryTime" |
||||
width="150" |
||||
/> |
||||
<el-table-column |
||||
label="警情编号" |
||||
prop="caseNumber" |
||||
width="220" |
||||
show-overflow-tooltip |
||||
/> |
||||
<el-table-column label="自查或他查" width="100" align="center"> |
||||
<template #default="{ row }"> |
||||
<span >{{ row.crtDepartLevel === 0? '他查' : '自查' }}</span> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column |
||||
label="问题简要描述" |
||||
prop="thingDesc" |
||||
show-overflow-tooltip |
||||
/> |
||||
<el-table-column label="办理状态" width="110"> |
||||
<template #default="{ row }"> |
||||
<el-tag |
||||
:type=" |
||||
row.processingStatus === |
||||
ProcessingStatus.COMPLETED |
||||
? 'success' |
||||
: 'primary' |
||||
" |
||||
v-if="row.processingStatus" |
||||
>{{ |
||||
getDictLable( |
||||
dict.processingStatus, |
||||
row.processingStatus |
||||
) |
||||
}}</el-tag |
||||
> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="操作" width="120"> |
||||
<template #default="{ row }"> |
||||
<el-button |
||||
type="primary" |
||||
link |
||||
@click="handleAction(row)" |
||||
>详情</el-button |
||||
> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</div> |
||||
<div class="flex end mt-8"> |
||||
<el-pagination |
||||
@size-change="getList" |
||||
@current-change="getList" |
||||
:current-page="query.current" |
||||
:page-sizes="[10, 20, 50]" |
||||
:page-size="query.size" |
||||
v-model:current-page="query.current" |
||||
layout="total, sizes, prev, pager, next" |
||||
:total="total" |
||||
> |
||||
</el-pagination> |
||||
</div> |
||||
</main> |
||||
</div> |
||||
|
||||
<negative-dialog |
||||
v-model="show" |
||||
:id="activeNegativeId" |
||||
@close="show = false" |
||||
ref="negativeDialogRef" |
||||
/> |
||||
</template> |
||||
<script setup> |
||||
import { ProcessingStatus } from "@/enums/flowEnums"; |
||||
import { listNegativeHdjq } from "@/api/books"; |
||||
import { getDictLable } from "@/utils/util"; |
||||
|
||||
import useCatchStore from "@/stores/modules/catch"; |
||||
|
||||
const catchStore = useCatchStore(); |
||||
const dict = catchStore.getDicts([ |
||||
"businessType", |
||||
"inspectCase", |
||||
"isRectify", |
||||
"processingStatus", |
||||
"suspectProblem", |
||||
"policeType", |
||||
"specialSupervision", |
||||
]); |
||||
|
||||
const query = ref({ |
||||
current: 1, |
||||
size: 10, |
||||
}); |
||||
|
||||
const list = ref([]); |
||||
const total = ref(0); |
||||
|
||||
const loading = ref(false); |
||||
function getList() { |
||||
loading.value = true; |
||||
listNegativeHdjq(query.value).then((data) => { |
||||
list.value = data.records; |
||||
total.value = data.total; |
||||
loading.value = false; |
||||
}); |
||||
} |
||||
|
||||
onMounted(() => { |
||||
getList(); |
||||
}); |
||||
|
||||
const show = ref(false); |
||||
const activeNegativeId = ref(""); |
||||
|
||||
function handleAction(row) { |
||||
show.value = true; |
||||
activeNegativeId.value = row.id; |
||||
} |
||||
</script> |
||||
<style lang="scss" scoped> |
||||
</style> |
||||
Loading…
Reference in new issue