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