Browse Source

Merge remote-tracking branch 'origin/master'

main
sjh 1 year ago
parent
commit
474c4617b8
  1. 8
      src/api/datav.ts
  2. 1
      src/layout/components/Aside.vue
  3. 16
      src/utils/feedback.ts
  4. 52
      src/views/data/Ajhc.vue
  5. 3
      src/views/datav/CaseVerif.vue
  6. 984
      src/views/datav/MailVisits.vue
  7. 53
      src/views/system/Police.vue

8
src/api/datav.ts

@ -6,6 +6,14 @@ export function getCaseVerifData(times) {
}); });
} }
export function getMailVisitsData(times) {
return request.get({
url: `/datav/mailVisits?beginTime=${times[0]}&endTime=${times[1]}`
});
}
export function getRightsComfortData(times) { export function getRightsComfortData(times) {
return request.get({ return request.get({
url: `/datav/rightsComfort?beginTime=${times[0]}&endTime=${times[1]}` url: `/datav/rightsComfort?beginTime=${times[0]}&endTime=${times[1]}`

1
src/layout/components/Aside.vue

@ -62,7 +62,6 @@
<script setup> <script setup>
import { MenuEnum } from "@/enums/appEnums"; import { MenuEnum } from "@/enums/appEnums";
import useUserStore from "@/stores/modules/user"; import useUserStore from "@/stores/modules/user";
const asideCollapse = ref(false); const asideCollapse = ref(false);
const userStore = useUserStore(); const userStore = useUserStore();
const routes = computed(() => userStore.routes); const routes = computed(() => userStore.routes);

16
src/utils/feedback.ts

@ -19,15 +19,25 @@ export class Feedback {
} }
// 错误消息 // 错误消息
msgError(msg: string) { msgError(msg: string) {
ElMessage.error(msg) ElMessage.error({
message: msg,
type: 'error',
duration: 5000
})
} }
// 成功消息 // 成功消息
msgSuccess(msg: string) { msgSuccess(msg: string) {
ElMessage.success(msg) ElMessage.success({
message: msg,
type: 'success'
})
} }
// 警告消息 // 警告消息
msgWarning(msg: string) { msgWarning(msg: string) {
ElMessage.warning(msg) ElMessage.warning({
message: msg,
type: 'warning'
})
} }
// 弹出提示 // 弹出提示
alert(msg: string) { alert(msg: string) {

52
src/views/data/Ajhc.vue

@ -122,12 +122,7 @@
<el-table-column label="业务类别" prop="businessTypeName" /> <el-table-column label="业务类别" prop="businessTypeName" />
<el-table-column label="涉嫌问题" prop="involveProblem" /> <el-table-column label="涉嫌问题" prop="involveProblem" />
<el-table-column label="涉及警种" prop="policeTypeName" /> <el-table-column label="涉及警种" prop="policeTypeName" />
<el-table-column label="涉及单位" show-overflow-tooltip> <el-table-column label="涉及单位" prop="involveDepartName" />
<template #default="{ row }">
<span>{{ row.secondDepartName }}</span>
<span>{{ row.thirdDepartName }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="具体内容" label="具体内容"
prop="thingDesc" prop="thingDesc"
@ -145,6 +140,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column label="操作" width="200">
<template #default="{ row }"> <template #default="{ row }">
<template <template
v-if=" v-if="
row.distributionState === row.distributionState ===
@ -170,7 +166,7 @@
>移除</el-button >移除</el-button
> >
</template> </template>
<el-button type="danger" link @click="handleDel(row)" <el-button type="danger" link @click="handleDel(row)"
>删除</el-button >删除</el-button
> >
@ -230,11 +226,7 @@
prop="discoveryTime" prop="discoveryTime"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column label="问题发生时间" prop="happenTime" show-overflow-tooltip />
label="问题发生时间"
prop="happenTime"
show-overflow-tooltip
/>
<el-table-column <el-table-column
label="问题来源" label="问题来源"
prop="problemSources" prop="problemSources"
@ -253,12 +245,10 @@
<el-table-column label="业务类别" prop="businessTypeName" /> <el-table-column label="业务类别" prop="businessTypeName" />
<el-table-column label="涉嫌问题" prop="involveProblem" /> <el-table-column label="涉嫌问题" prop="involveProblem" />
<el-table-column label="涉及警种" prop="policeTypeName" /> <el-table-column label="涉及警种" prop="policeTypeName" />
<el-table-column label="涉及单位" show-overflow-tooltip> <el-table-column
<template #default="{ row }"> label="涉及单位"
<span>{{ row.secondDepartName }}</span> prop="involveDepartName"
<span>{{ row.thirdDepartName }}</span> />
</template>
</el-table-column>
<el-table-column <el-table-column
label="具体内容" label="具体内容"
prop="thingDesc" prop="thingDesc"
@ -266,6 +256,7 @@
/> />
<el-table-column label="操作" width="140"> <el-table-column label="操作" width="140">
<template #default="{ row }"> <template #default="{ row }">
<el-button <el-button
type="info" type="info"
link link
@ -333,7 +324,10 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<footer class="flex end mt-20"> <footer class="flex end mt-20">
<el-button type="primary" size="large" @click="handleSubmit" <el-button
type="primary"
size="large"
@click="handleSubmit"
>确认下发</el-button >确认下发</el-button
> >
</footer> </footer>
@ -356,7 +350,7 @@ const catchStore = useCatchStore();
const dict = catchStore.getDicts([ const dict = catchStore.getDicts([
"distributionState", "distributionState",
"timeLimit", "timeLimit",
"approvalFlow", "approvalFlow"
]); ]);
const query = ref({ const query = ref({
@ -405,7 +399,7 @@ function handleShowDistributeDialog() {
distributeShow.value = true; distributeShow.value = true;
} }
const form = ref({}); const form = ref({});
const formRef = ref(); const formRef = ref()
function handleRemoveDistribute(row) { function handleRemoveDistribute(row) {
distributeList.value.splice( distributeList.value.splice(
@ -417,14 +411,14 @@ function handleRemoveDistribute(row) {
} }
async function handleSubmit() { async function handleSubmit() {
await formRef.value.validate(); await formRef.value.validate()
form.value.data = distributeList.value; form.value.data = distributeList.value
await distributeCaseVerif(form.value); await distributeCaseVerif(form.value)
form.value = {}; form.value = {}
distributeShow.value = false; distributeShow.value = false
distributeListShow.value = false; distributeListShow.value = false
feedback.msgSuccess("下发成功"); feedback.msgSuccess('下发成功')
getList(); getList()
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

3
src/views/datav/CaseVerif.vue

@ -23,6 +23,7 @@
size="large" size="large"
/> />
</datav-tab-item> </datav-tab-item>
</datav-tabs> </datav-tabs>
</datav-card> </datav-card>
<datav-card title="案件问题性质"> <datav-card title="案件问题性质">
@ -136,6 +137,7 @@
</div> </div>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script setup> <script setup>
import vCharts from "vue-echarts"; import vCharts from "vue-echarts";
import changshaMap from "@/assets/data/changsha.json"; import changshaMap from "@/assets/data/changsha.json";
@ -371,6 +373,7 @@ const option4 = {
const activeTab = ref("1"); const activeTab = ref("1");
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/style/datav.scss"; @import "@/style/datav.scss";
</style> </style>

984
src/views/datav/MailVisits.vue

File diff suppressed because it is too large Load Diff

53
src/views/system/Police.vue

@ -78,7 +78,7 @@
</el-row> </el-row>
</el-form> </el-form>
<div class="mb-25 flex between"> <div class="mb-25 flex between">
<div> <div class="flex gap">
<el-button <el-button
type="primary" type="primary"
@click="handleAdd" @click="handleAdd"
@ -89,6 +89,37 @@
</template> </template>
新增警员</el-button 新增警员</el-button
> >
<el-upload
:multiple="false"
:show-file-list="false"
:action="`${BASE_PATH}/police/import`"
:headers="{ Authorization: getToken() }"
:before-upload="beforeUpload"
@success="handleSuccess"
@error="handleError"
accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
v-perms="['police:import']"
>
<el-button
type="primary"
>
<template #icon>
<icon name="el-icon-Upload" />
</template>
导入警员</el-button
>
</el-upload>
<a
class="link"
:href="`${BASE_PATH}/templates/数字督察警员权限导入模板.xlsx`"
target="__blank"
style="padding: 8px"
v-perms="['police:import']"
>数字督察警员权限导入模板</a
>
</div> </div>
<div> <div>
<el-button type="primary" @click="getList"> <el-button type="primary" @click="getList">
@ -445,6 +476,8 @@
</el-dialog> </el-dialog>
</template> </template>
<script setup> <script setup>
import { BASE_PATH } from "@/api/request";
import { getToken } from "@/utils/token";
import { UserFilled } from "@element-plus/icons-vue"; import { UserFilled } from "@element-plus/icons-vue";
import { import {
listPolice, listPolice,
@ -584,6 +617,24 @@ async function handleDel(row) {
feedback.msgSuccess("操作成功"); feedback.msgSuccess("操作成功");
getList(); getList();
} }
import { ElLoading } from "element-plus";
let importLoading;
function beforeUpload() {
importLoading = ElLoading.service({
lock: true,
text: "数据导入中",
background: "rgba(0, 0, 0, 0.7)",
});
}
function handleSuccess(result) {
importLoading.close();
getList()
}
function handleError(result) {
importLoading.close();
feedback.msgError(result.msg || "上传失败!");
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>
Loading…
Cancel
Save