Browse Source

fix: 移动督察 BUG修复

master
wxc 1 month ago
parent
commit
5655d4f04b
  1. 15
      src/views/mobileSupervise/Inspection.vue
  2. 454
      src/views/mobileSupervise/Inspection2.vue
  3. 33
      src/views/mobileSupervise/TaskProblem.vue
  4. 1
      src/views/rightsComfort/Supervision.vue

15
src/views/mobileSupervise/Inspection.vue

@ -76,7 +76,7 @@
<span>{{ row.endTime }}</span>
</template>
</el-table-column>
<el-table-column label="任务状态" width="100">
<el-table-column label="任务状态" width="100" align="center">
<template #default="{ row }">
<span v-if="row.taskStatus === 'todo'">执行中</span>
<span v-if="row.taskStatus === 'done'">已完成</span>
@ -1140,7 +1140,7 @@
/>
<el-table-column
prop="createName"
label="问题录入人"
label="录入人"
width="80"
/>
<el-table-column label="下发状态" >
@ -1404,7 +1404,7 @@
prop="testingTime"
width="160"
/>
<el-table-column label="饮酒情况/未检测原因" show-overflow-tooltip>
<el-table-column label="饮酒情况/未检测原因" show-overflow-tooltip align="center">
<template #default="{ row }">
<el-tag type="success" v-if="row.drinkResult === '未饮酒'">未饮酒</el-tag>
<el-tag type="error" v-if="row.drinkResult === '饮酒'">饮酒</el-tag>
@ -1412,7 +1412,7 @@
<span>{{ row.unTestingDesc }}</span>
</template>
</el-table-column>
<el-table-column label="下发状态" >
<el-table-column label="下发状态" align="center">
<template #default="{row}">
<el-tag type="info" v-if=" row.drinkResult === '饮酒' && row.distributionState == '0' ">未下发</el-tag>
<el-tag type="primary" v-if="row.drinkResult === '饮酒' && row.distributionState == '1' ">已分发</el-tag>
@ -1468,8 +1468,8 @@
<span>{{ activePeople.empNo }}</span>
</div>
<div class="col col-24">
<label>警号</label>
<span>{{ activePeople.idCode }}</span>
<label>身份证</label>
<span>{{ activePeople.idCode || '/' }}</span>
</div>
<div class="col col-24">
<label>单位</label>
@ -1494,7 +1494,7 @@
</div>
<div class="col col-24" v-if="activePeople.unTestingDesc">
<label>未检测原因</label>
<span>{{ activePeople.unTestingDesc }} mg/100ml</span>
<span>{{ activePeople.unTestingDesc }}</span>
</div>
</div>
<div v-if="activePeople.testingFileList.length">
@ -2351,6 +2351,7 @@ function peopleReset() {
size: 10,
current: 1,
};
getTestingAlcoholPeople()
}
//

454
src/views/mobileSupervise/Inspection2.vue

@ -1,454 +0,0 @@
<template>
<div class="container">
<header class="mb-20">
<el-form :label-width="114">
<el-row>
<el-col :span="6">
<el-form-item label="督察单位">
<depart-tree-select v-model="query.departId" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="任务名称">
<el-input
placeholder="请输入任务名称"
v-model="query.nickName"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="督察类型">
<el-select v-model="form.supervisionType" clearable>
<el-option
v-for="item in dict.supervisionType"
:key="item.id"
:label="item.dictLabel"
:value="item.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="flex between">
<el-button type="primary" @click="handleShowAdd">
<template #icon>
<icon name="el-icon-Plus" />
</template>
发布任务</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>
<div class="table-container">
<el-table :data="list">
<el-table-column label="任务名称" prop="taskName" />
<el-table-column
label="督察单位"
prop="supDepartName"
width="120"
/>
<el-table-column
label="参与人员"
prop="persons"
show-overflow-tooltip
/>
<el-table-column
label="任务类型"
prop="supervisionType"
width="100"
align="center"
/>
<el-table-column
label="任务内容"
prop="taskContent"
show-overflow-tooltip
/>
<el-table-column label="督察时间" prop="updateTime" width="280">
<template #default="{ row }">
<span>{{ row.beginTime }}</span>
<span>-</span>
<span>{{ row.endTime }}</span>
</template>
</el-table-column>
<el-table-column label="任务状态">
<template #default="{ row }">
<span v-if="row.taskStatus === 'todo'">执行中</span>
<span v-if="row.taskStatus === 'done'">已完成</span>
</template>
</el-table-column>
<el-table-column label="被督察单位数" prop="departNumber" align="center" />
<el-table-column label="发现问题数" prop="problemNumber" align="center" />
<el-table-column label="操作" width="200">
<template #default="{ row }">
<el-button
type="primary"
link
@click="handleShowDetail(row)"
>查看详情</el-button
>
<el-button
type="primary"
link
@click="handleProblemsShow(row)"
>督察详情</el-button
>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex end mt-8">
<el-pagination
@size-change="getList"
@current-change="getList"
:page-sizes="[10, 20, 50]"
v-model:page-size="query.size"
v-model:current-page="query.current"
layout="total, sizes, prev, pager, next"
:total="total"
>
</el-pagination>
</div>
</div>
<el-dialog
title="发布任务"
v-model="show"
width="1076px"
top="5vh"
style="margin-bottom: 0"
>
<el-scrollbar max-height="76vh">
<el-form
:label-width="150"
ref="formRef"
:model="form"
style="min-height: 66vh"
>
<el-form-item
label="任务名称"
:rules="{
required: true,
message: '请输入任务名称',
trigger: ['blur'],
}"
prop="taskName"
>
<el-input
v-model="form.taskName"
placeholder="请输入任务名称"
/>
</el-form-item>
<el-form-item
label="督察单位"
:rules="{
required: true,
message: '请选择',
}"
prop="supDepartId"
>
<div style="width: 300px">
<depart-tree-select v-model="form.supDepartId" />
</div>
</el-form-item>
<el-form-item
label="督察人员"
:rules="{
required: true,
message: '请选择',
}"
prop="persons"
>
<police-picker v-model="form.persons" />
</el-form-item>
<el-form-item
label="督察类型"
:rules="{
required: true,
message: '请选择',
}"
prop="supervisionType"
>
<el-select
v-model="form.supervisionType"
clearable
style="width: 300px"
>
<el-option
v-for="item in dict.supervisionType"
:key="item.id"
:label="item.dictLabel"
:value="item.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item
label="督察时间"
prop="times"
:rules="{
required: true,
message: '请选择',
}"
>
<div style="width: 800px">
<el-date-picker
v-model="form.times"
type="datetimerange"
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
/>
</div>
</el-form-item>
<el-form-item
prop="taskContentHtml"
:rules="{
required: true,
message: '请输入任务内容'
}"
label-position="top"
>
<div style="width: 100%">
<quill-editor
ref="quillRef"
v-model="form.taskContentHtml"
style="
min-height: 200px;
max-height: 360px;
overflow: auto;
"
/>
</div>
</el-form-item>
</el-form>
</el-scrollbar>
<footer class="flex end mt-20">
<el-button type="primary" @click="submit" size="large"
>发布</el-button>
</footer>
</el-dialog>
<el-dialog title="任务详情" v-model="detailShow" width="40vw">
<div class="row mb-40">
<div class="col col-24">
<label>任务名称</label>
<span>{{ activeRow.taskName }}</span>
</div>
<div class="col col-24">
<label>督察单位</label>
<span>{{ activeRow.supDepartName }}</span>
</div>
<div class="col col-24">
<label>参与人员</label>
<span>{{ activeRow.persons }}</span>
</div>
<div class="col col-24">
<label>任务类型</label>
<span>{{ activeRow.supervisionType }}</span>
</div>
<div class="col col-24">
<label>督察时间</label>
<span
><span>{{ activeRow.beginTime }}</span>
<span>-</span>
<span>{{ activeRow.endTime }}</span></span
>
</div>
<div class="col col-24">
<label>任务内容</label>
<span>{{ activeRow.taskContent }}</span>
</div>
</div>
<footer class="flex end mt-20">
<el-button size="large" @click="detailShow = false">关闭</el-button>
</footer>
</el-dialog>
<el-dialog
title="问题清单"
v-model="problemsShow"
width="60vw"
style="margin-bottom: 0"
>
<header class="mb-20">
<el-form :label-width="94">
<el-row>
<el-col :span="6">
<el-form-item label="具体情况">
<el-input
v-model="problemQuery.detail"
clearable
placeholder="请输入具体情况"
/>
</el-form-item>
</el-col>
</el-row>
<div class="flex end">
<el-button type="primary" @click="getProblems">
<template #icon>
<icon name="el-icon-Search" />
</template>
查询</el-button
>
<el-button @click="problemReset">重置</el-button>
</div>
</el-form>
</header>
<div style="min-height: 400px">
<div class="table-container">
<el-table :data="problems" :max-height="640" min-height="300">
<el-table-column
label="是否发现督察问题"
prop="hasProblem"
width="120"
align="center"
>
<template #default="{ row }">
<span v-if="row.hasProblem"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
label="单位"
prop="departName"
width="140"
show-overflow-tooltip
/>
<el-table-column
label="问题类型"
prop="problemType"
width="140"
show-overflow-tooltip
/>
<el-table-column label="具体情况" prop="detail" />
<el-table-column
label="创建时间"
prop="createTime"
width="160"
/>
<el-table-column label="操作" width="100">
<template #default="{ row }">
<el-button
type="primary"
link
@click="handleShowPeople(row)"
>详情</el-button
>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex end mt-8">
<el-pagination
@size-change="getProblems"
@current-change="getProblems"
:page-sizes="[10, 20, 50]"
v-model:page-size="problemQuery.size"
v-model:current-page="problemQuery.current"
layout="total, sizes, prev, pager, next"
:total="problemTotal"
>
</el-pagination>
</div>
</div>
</el-dialog>
</template>
<script setup>
import {
listInspection,
addInspection,
listInspectionProblems,
} from "@/api/mobileSupervision/inspection";
import feedback from "@/utils/feedback";
import useCatchStore from "@/stores/modules/catch";
const catchStore = useCatchStore();
const dict = catchStore.getDicts(["supervisionType"]);
const list = ref([]);
const query = ref({
current: 1,
size: 10,
});
const total = ref(0);
function getList() {
listInspection(query.value).then((data) => {
list.value = data.records;
total.value = data.total;
});
}
function reset() {
query.value = {
current: 1,
size: 10,
};
getList();
}
getList();
const show = ref(false);
const form = ref({});
const formRef = ref(null);
const quillRef = ref()
async function submit() {
await formRef.value.validate();
form.value.taskContent = quillRef.value.getText()
await addInspection(form.value);
feedback.msgSuccess("发布成功");
show.value = false;
getList();
form.value = {};
}
function handleShowAdd() {
show.value = true;
}
const detailShow = ref(false);
const activeRow = ref({});
function handleShowDetail(row) {
activeRow.value = row;
detailShow.value = true;
}
const problemsShow = ref(false);
const problems = ref([]);
const problemQuery = ref({});
const problemTotal = ref(0);
function handleProblemsShow(row) {
activeRow.value = row;
problemsShow.value = true;
getProblems();
}
function getProblems() {
listInspectionProblems(activeRow.value.id).then((data) => {
problems.value = data.records;
});
}
function problemReset() {
problemQuery.value = {};
}
</script>
<style lang="scss" scoped>
h5 {
margin-bottom: 10px;
}
.pepole-container > * {
margin-bottom: 8px;
}
</style>

33
src/views/mobileSupervise/TaskProblem.vue

@ -85,15 +85,15 @@
<el-table-column label="涉及单位" prop="departName" show-overflow-tooltip />
<el-table-column label="问题类型" prop="problemType" show-overflow-tooltip />
<el-table-column label="问题描述" prop="thingDesc" show-overflow-tooltip />
<el-table-column label="分发状态" width="90">
<el-table-column label="分发状态" width="90" align="center">
<template #default="{ row }">
<span v-if="row.distributionState === '0'">未分发</span>
<span v-if="row.distributionState === '1'">已分发</span>
</template>
</el-table-column>
<el-table-column label="操作" width="260">
<el-table-column label="操作" width="300">
<template #default="{ row }">
<div>
<el-button type="primary" link @click="showDeatil(row)">问题详情</el-button>
<el-button
@click="upProblemFun(row)"
@ -103,21 +103,12 @@
>
编辑
</el-button>
</div>
<div>
<el-button
v-if="row.distributionState === '0'"
type="primary"
link
@click="issueMatterFun(row)"
>问题下发</el-button
>
<!-- <el-button-->
<!-- type="danger"-->
<!-- link-->
<!-- @click="delProblemsFun(row)"-->
<!-- >删除</el-button-->
<!-- >-->
>问题下发</el-button>
<el-button
:type="row.problemState == '1' ? 'danger' : 'primary'"
link
@ -125,7 +116,6 @@
>
{{ row.problemState == "1" ? "删除" : "恢复" }}
</el-button>
</div>
</template>
</el-table-column>
</el-table>
@ -145,7 +135,7 @@
</div>
<el-dialog title="问题详情" v-model="show">
<div>
<div style="min-height: 500px">
<div class="row">
<div class="col col-12">
<label>发现时间</label>
@ -168,13 +158,10 @@
</span>
</div>
<div class="col col-12">
<label>创建</label>
<label>录入</label>
<span>{{ activeRow.createName || "/" }}</span>
</div>
<div class="col col-12">
<label>下发人</label>
<span>{{ activeRow.issueUserName || "/" }}</span>
</div>
<div class="col col-24">
<label>问题类型</label>
<span>{{ activeRow.problemType || "/" }}</span>
@ -183,12 +170,16 @@
<label>问题描述</label>
<span>{{ activeRow.thingDesc }}</span>
</div>
<div class="col col-24">
<div class="col col-12">
<label>分发状态</label>
<span>{{
getDictLable(dict.distributionState, activeRow.distributionState)
}}</span>
</div>
<div class="col col-12" v-if="activeRow.distributionState === '1'">
<label>下发人</label>
<span>{{ activeRow.issueUserName || "/" }}</span>
</div>
<div class="col col-24">
<label>上传附件</label>
<file-list :files="activeRow.files ? JSON.parse(activeRow.files) : []" />

1
src/views/rightsComfort/Supervision.vue

@ -18,6 +18,7 @@ let InfringerHandleDict = reactive([
dictLabel:"行政案件"
},
])
const catchSotre = useCatchStore();

Loading…
Cancel
Save