Browse Source

fix:1、维权督察前端页面开发v1;2、大屏名称改“督导检查”、日常督察情况改“现场督察”、隐藏“枪支管理”、隐藏“问责率”;

办结率 按 问题数进行排序,高度和右边差不多;3、民意感知数据排序和表单内容合并;4、隐藏“办结率”,右上角新增“登录客户端”入口,链接参考首页的视频督察。
main
pengwei 6 months ago
parent
commit
14a7de0ec6
  1. 16
      src/api/rightsComfort/supervision.ts
  2. 12
      src/components/datav/card.vue
  3. 2
      src/components/datav/header.vue
  4. 160
      src/views/datav/Jwpy.vue
  5. 1
      src/views/datav/MailVisits.vue
  6. 56
      src/views/datav/SceneInsp.vue
  7. 42
      src/views/datav/VideoInsp.vue
  8. 616
      src/views/rightsComfort/Supervision.vue

16
src/api/rightsComfort/supervision.ts

@ -0,0 +1,16 @@
import request from "@/api/request";
//获取分页数据
export function getListData(query){
return request.get({
url:'/rights/supervise',
query: query
})
}
//获取数据详情
export function getDetail(id){
return request.get({
url:`/rights/supervise/${id}`
})
}

12
src/components/datav/card.vue

@ -3,7 +3,7 @@
<div class="datav-card_content">
<header class="flex between" v-if="title">
<div class="datav-card_title">{{ title }}</div>
<div class="datav-card_sub-title">{{ subTitle }}</div>
<div class="datav-card_sub-title" @click="titleClick">{{ subTitle }}</div>
</header>
<slot></slot>
</div>
@ -19,8 +19,18 @@ defineProps({
subTitle: {
type: String,
default: ""
},
titleClick:{
type:Function,
default:function (){
console.log("点击测试")
}
}
});
</script>

2
src/components/datav/header.vue

@ -7,7 +7,7 @@
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/sceneInsp" v-slot="{ isActive }">
<span>现场督察</span>
<span>督导检查</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/caseVerif" v-slot="{ isActive }">

160
src/views/datav/Jwpy.vue

@ -5,7 +5,7 @@
<main>
<el-row :gutter="16">
<el-col :span="6">
<datav-card title="调查滿意度">
<datav-card title="调查意度">
<el-container>
<el-header>
<el-row class="mb-32">
@ -43,41 +43,41 @@
<datav-card title="单位满意率">
<el-container>
<el-header>
<div style="background-color:#04144E; ">
<!-- 市州考评-->
<el-table
:data="tableData1"
height="70"
:style="{ width: '100%', marginTop: '10px', fontSize: fontSize + 'px' }"
:header-cell-style="headerCellStyle"
:row-style="tableRowStyleTableData1"
:show-summary='false'
:highlight-current-row='false'
>
<el-table-column prop="OrganizeName" label="市州考评" />
<el-table-column prop="FinalRP" label="滿意度" width="66px"/>
<el-table-column prop="TBRp" label="上期满意度" width="66px"/>
<el-table-column prop="TBRpts" label="同比上期" width="66px">
<template v-slot="scope">
<span :style="getCellStyle(scope.row.TBRpts)">{{ scope.row.TBRpts }}</span>
</template>
</el-table-column>
</el-table>
</div>
</el-header>
<!-- <el-header>-->
<!-- <div style="background-color:#04144E; ">-->
<!-- &lt;!&ndash; 市州考评&ndash;&gt;-->
<!-- <el-table-->
<!-- :data="tableData1"-->
<!-- height="70"-->
<!-- :style="{ width: '100%', marginTop: '10px', fontSize: fontSize + 'px' }"-->
<!-- :header-cell-style="headerCellStyle"-->
<!-- :row-style="tableRowStyleTableData1"-->
<!-- :show-summary='false'-->
<!-- :highlight-current-row='false'-->
<!-- >-->
<!-- <el-table-column prop="OrganizeName" label="市州考评" />-->
<!-- <el-table-column prop="FinalRP" label="滿意度" width="66px"/>-->
<!-- <el-table-column prop="TBRp" label="上期满意度" width="66px"/>-->
<!-- <el-table-column prop="TBRpts" label="同比上期" width="66px">-->
<!-- <template v-slot="scope">-->
<!-- <span :style="getCellStyle(scope.row.TBRpts)">{{ scope.row.TBRpts }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- </el-header>-->
<el-main>
<div style="background-color:#04144E; ">
<!-- 县市考评-->
<el-table
:data="tableData2"
height="215"
height="575"
:style="{ width: '100%', marginTop: '20px', fontSize: fontSize + 'px' }"
:header-cell-style="headerCellStyle"
:row-style="tableRowStyleTableData2"
:show-summary='false'
>
<el-table-column prop="OrganizeName" label="县市考评" />
<el-table-column prop="OrganizeName" label="单位名称" />
<el-table-column prop="FinalRP" label="滿意度" width="66px"/>
<el-table-column prop="TBRp" label="上期满意度" width="66px"/>
<el-table-column prop="TBRpts" label="同比上期" width="66px">
@ -87,23 +87,23 @@
</el-table-column>
</el-table>
<!-- -->
<el-table
:data="tableData3"
height="360"
:style="{ width: '100%', marginTop: '10px', fontSize: fontSize + 'px' }"
:header-cell-style="headerCellStyle"
:row-style="tableRowStyle"
:show-summary='false'
>
<el-table-column prop="OrganizeName" label="区"/>
<el-table-column prop="FinalRP" label="滿意度" width="66px"/>
<el-table-column prop="TBRp" label="上期满意度" width="66px"/>
<el-table-column prop="TBRpts" label="同比上期" width="66px">
<template v-slot="scope">
<span :style="getCellStyle(scope.row.TBRpts)">{{ scope.row.TBRpts }}</span>
</template>
</el-table-column>
</el-table>
<!-- <el-table-->
<!-- :data="tableData3"-->
<!-- height="360"-->
<!-- :style="{ width: '100%', marginTop: '10px', fontSize: fontSize + 'px' }"-->
<!-- :header-cell-style="headerCellStyle"-->
<!-- :row-style="tableRowStyle"-->
<!-- :show-summary='false'-->
<!-- >-->
<!-- <el-table-column prop="OrganizeName" label="区"/>-->
<!-- <el-table-column prop="FinalRP" label="滿意度" width="66px"/>-->
<!-- <el-table-column prop="TBRp" label="上期满意度" width="66px"/>-->
<!-- <el-table-column prop="TBRpts" label="同比上期" width="66px">-->
<!-- <template v-slot="scope">-->
<!-- <span :style="getCellStyle(scope.row.TBRpts)">{{ scope.row.TBRpts }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
</div>
</el-main>
</el-container>
@ -684,7 +684,7 @@ const option3 = ref({
const option4 = ref({
tooltip: {},
legend: {
data: ['下发数', '查实数', '办结数'],
data: ['下发数', '查实数'],
textStyle: {
color: '#fff',
},
@ -745,22 +745,22 @@ const option4 = ref({
{offset: 1, color: 'rgba(255,219,49,0)'}])
}
},
{
name: '办结数',
type: 'bar',
data: [],
label: {
show: true,
position: 'right',
color:'#fff'
},
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: '#6FDBA0'
}, {offset: 1, color: '#6FDBA0'}])
}
}
// {
// name: '',
// type: 'bar',
// data: [],
// label: {
// show: true,
// position: 'right',
// color:'#fff'
// },
// itemStyle: {
// color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
// offset: 0,
// color: '#6FDBA0'
// }, {offset: 1, color: '#6FDBA0'}])
// }
// }
],
grid: {left: '17%', right: '0%', top: '10%', bottom: '10%'},
});
@ -858,8 +858,15 @@ async function getData() {
//
const group2 = temp.filter(item => item.SetName === "(省)县市考评");
const group3 = temp.filter(item => item.SetName === "(省)区");
tableData2.value = group2
tableData3.value = group3
let orgSortArray =[
'芙蓉','天心','岳麓','开福','雨花','高新','望城','长沙县','浏阳','宁乡'
]
let groupData =temp.filter(item => item.SetName === "(省)县市考评" || item.SetName === "(省)区");
groupData= filterAndSortObjectsByName(groupData,orgSortArray)
tableData2.value=groupData;
// tableData2.value = group2
// tableData3.value = group3
console.log('综合满意度排名.value', tableData1.value)
});
@ -906,6 +913,35 @@ async function getData() {
}
/**
* 过滤并排序函数
* @param objects 目标集合
* @param keywords 关键字集合
* */
const filterAndSortObjectsByName = (objects, keywords) => {
//
const filteredObjects = objects.filter(obj => {
return keywords.some(keyword => obj.OrganizeName.includes(keyword));
});
//
const keywordIndexMap = {};
keywords.forEach((keyword, index) => {
keywordIndexMap[keyword] = index;
});
//
const sortFunction = (a, b) => {
const keywordA = keywords.find(keyword => a.OrganizeName.includes(keyword));
const keywordB = keywords.find(keyword => b.OrganizeName.includes(keyword));
if (!keywordA) return 1;
if (!keywordB) return -1;
return keywordIndexMap[keywordA] - keywordIndexMap[keywordB];
};
//
const sortedObjects = filteredObjects.sort(sortFunction);
return sortedObjects;
};
// endregion
// region

1
src/views/datav/MailVisits.vue

@ -1161,7 +1161,6 @@ function open(path) {
color: #fff;
}
</style>

56
src/views/datav/SceneInsp.vue

@ -5,7 +5,7 @@
<main>
<el-row :gutter="16">
<el-col :span="6">
<datav-card title="日常督察情况">
<datav-card title="现场督察">
<datav-tabs
v-model="rcdcProRankTab"
type="bottom-button"
@ -81,7 +81,7 @@
<el-scrollbar height="350px">
<datav-chart-bar
:data="fxsjChangedRankList"
size="small"
size="large"
title="办结率排名"
sub-title="已办结/问题数"
unit="%"
@ -159,7 +159,7 @@
<el-scrollbar height="350px">
<datav-chart-bar
:data="jsdwChangedRankList"
size="small"
size="large"
title="办结率排名"
sub-title="已办结/问题数"
unit="%"
@ -186,34 +186,34 @@
<datav-statistic
:value="overview.problemNumber"
title="通报问题数"
style="width: 16.66%"
style="width: 20%"
/>
<datav-statistic
:value="overview.processingNumber"
title="办理中"
style="width: 16.66%"
style="width: 20%"
/>
<datav-statistic
:value="overview.completedNumber"
title="已办结"
style="width: 16.66%"
style="width: 20%"
/>
<datav-statistic
:value="overview.departNumber"
title="问责单位数"
style="width: 16.66%"
style="width: 20%"
/>
<datav-statistic
:value="overview.personNumber"
title="问责人次"
style="width: 16.66%"
/>
<datav-statistic
:value="overview.completedRate"
value-unit="%"
title="办结率"
style="width: 16.66%"
style="width: 20%"
/>
<!-- <datav-statistic-->
<!-- :value="overview.completedRate"-->
<!-- value-unit="%"-->
<!-- title="办结率"-->
<!-- style="width: 16.66%"-->
<!-- />-->
</div>
<v-charts
style="height: 450px"
@ -263,7 +263,7 @@
>
<template
v-for="item in dict.specialSupervision"
v-for="item in dictData"
:key="item.dictValue"
>
<datav-tab-item
@ -349,7 +349,7 @@
</div>
</el-col>
</el-row>
<el-scrollbar height="330px">
<el-scrollbar height="350px">
<datav-chart-bar
:data="
fxsjYellowBetRankList
@ -439,7 +439,7 @@
</div>
</el-col>
</el-row>
<el-scrollbar height="330px">
<el-scrollbar height="350px">
<datav-chart-bar
:data="
jsdwYellowBetRankList
@ -505,6 +505,11 @@ import { onMounted } from "vue";
const catchStore = useCatchStore();
const dict = catchStore.getDicts(["specialSupervision"]);
console.log('dict',dict)
const dictData = computed(()=>{
return dict?.specialSupervision?.filter((s)=>s.dictLabel !== '枪支管理')
})
// region
const time = ref([
@ -633,6 +638,7 @@ const option = ref({
const dataItem = superviseTempMapVoList.value.find((item) =>
item.name.includes(params.name.substring(0, 2))
);
// <li> <span>${dataItem.completedRate}%</span></li>
if (dataItem) {
return `
<div class="tooltip">
@ -644,7 +650,7 @@ const option = ref({
<li>已办结 <span>${dataItem.completedNumber}</span></li>
<li>涉及单位数 <span>${dataItem.relationOrg}</span></li>
<li>涉及人数 <span>${dataItem.personNum}</span></li>
<li>办结率 <span>${dataItem.completedRate}%</span></li>
</ul>
</div>
</div>`;
@ -658,7 +664,7 @@ const option = ref({
<li>已办结 <span>-</span></li>
<li>涉及单位数 <span>-</span></li>
<li>涉及人数 <span>-</span></li>
<li>办结率 <span>-</span></li>
</ul>
</div>
</div>`;
@ -935,15 +941,15 @@ const sceneInspTrendAnimation = () => {
sceneInspTrendIntervalId = setInterval(sceneInspTrendAnimation, 2000);
//
const sceneInspZxdxRankAnimation = () => {
const dictItem = dict.specialSupervision.find(
const dictItem = dictData.find(
(item) => (item.dictValue === zxdcProRankTab.value)
);
if (dictItem) {
const index = dict.specialSupervision.indexOf(dictItem);
if (index === dict.specialSupervision.length - 1) {
zxdcProRankTab.value = dict.specialSupervision[0].dictValue;
const index = dictData.indexOf(dictItem);
if (index === dictData.length - 1) {
zxdcProRankTab.value = dictData[0].dictValue;
} else {
zxdcProRankTab.value = dict.specialSupervision[index + 1].dictValue;
zxdcProRankTab.value = dictData[index + 1].dictValue;
}
}
};
@ -1108,7 +1114,7 @@ function handlePerviewFile(msg) {
}
}
console.log('dict.specialSupervision',dict.specialSupervision)
</script>
<style lang="scss" scoped>

42
src/views/datav/VideoInsp.vue

@ -5,7 +5,11 @@
<main>
<el-row :gutter="16">
<el-col :span="6">
<datav-card title="内部视频">
<datav-card
title="内部视频"
sub-title="登录客户端"
:titleClick="titleClickFun"
>
<div class="row mt-4 mb-20">
<div class="col col-8">
<label>视频总数</label>
@ -45,7 +49,8 @@
<datav-card
title="问题数排名"
sub-title="查实问题数"
style="height: 370px"
style="height: 470px"
>
<datav-tabs
type="bottom-button"
@ -53,7 +58,7 @@
ref="videoProRank"
>
<datav-tab-item label="分县市局" name="1">
<el-scrollbar height="280px">
<el-scrollbar height="400px">
<datav-chart-bar
:data="fxsjRankList"
size="large"
@ -102,12 +107,12 @@
title="问责人次"
style="width: 20%"
/>
<datav-statistic
:value="overview.completionRate"
value-unit="%"
title="办结率"
style="width: 20%"
/>
<!-- <datav-statistic-->
<!-- :value="overview.completionRate"-->
<!-- value-unit="%"-->
<!-- title="办结率"-->
<!-- style="width: 20%"-->
<!-- />-->
</div>
<v-charts
style="height: 420px"
@ -356,6 +361,7 @@ const option = ref({
const dataItem = mapIconList.value.find((item) =>
item.name.includes(params.name.substring(0, 2))
);
// <li> <span>${dataItem.completionRate}%</span></li>
if (dataItem) {
return `
<div class="tooltip">
@ -366,7 +372,7 @@ const option = ref({
<li>办结问题数 <span>${dataItem.completionProblem}</span></li>
<li>涉及单位数 <span>${dataItem.relativeOrg}</span></li>
<li>涉及人数 <span>${dataItem.relativePer}</span></li>
<li>办结率 <span>${dataItem.completionRate}%</span></li>
</ul>
</div>
</div>`;
@ -379,7 +385,7 @@ const option = ref({
<li>办结问题数 <span>-</span></li>
<li>涉及单位数 <span>-</span></li>
<li>涉及人数 <span>-</span></li>
<li>办结率 <span>-</span></li>
</ul>
</div>
</div>`;
@ -455,6 +461,10 @@ const ProblemTypeRateChart = ref({
}); //
// endregion
const titleClickFun =()=>{
window.open("http://65.47.26.34")
}
// region
const getVideoSuperviseProblemRankData = async (timeValue) => {
const res = await getVideoSuperviseProblemRank(timeValue);
@ -702,6 +712,16 @@ onMounted(() => {
});
});
//
setInterval(()=>{
activeVideoIndex.value = (parseInt(activeVideoIndex.value) % videos.value.length + 1) || 0
activeUrl.value=videos?.value[parseInt(activeVideoIndex.value) % videos.value.length - 1].videoUrl;
},3000)
const activeVideoIndex = ref(0);
function handlePlay(item, index) {
activeVideoIndex.value = index;

616
src/views/rightsComfort/Supervision.vue

@ -0,0 +1,616 @@
<script setup>
import {getListData,getDetail} from "@/api/rightsComfort/supervision";
import {getDictLable} from "@/utils/util";
import useCatchStore from "@/stores/modules/catch";
//
const catchStore = useCatchStore();
const dict = catchStore.getDicts(["personType","injurySeverity","formsOfTort"]);
let InfringerHandleDict = reactive([
{
dictValue:"刑事追究",
dictLabel:"刑事追究"
},
{
dictValue:"行政处罚",
dictLabel:"行政处罚"
},
])
//
let query = ref({
current: 1,
size: 10,
departBranch:false,
happenTime: []
})
//
let loading = ref(false);
let editLoading =ref(false)
let list = ref()
let total = ref(0);
//
const detailData = ref()
//
let editShow = ref(false)
//
const getList = async ()=>{
loading.value=true
const res = await getListData(query.value);
console.log(`res:${res}`)
list.value =res.records
total.value=res.total
loading.value=false
}
//
const reset =() =>{
query.value ={
current: 1,
size: 10,
departBranch:false,
applyDate: []
}
getList()
}
//
const getDetailFun =async (row) =>{
detailData.value = await getDetail(row.rpcId);
if(detailData.value){
editShow.value=true;
console.log(detailData.value)
}
}
onMounted(()=>{
getList();
})
</script>
<template>
<div class="container">
<header>
<el-form>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="案件名称">
<el-input placeholder="请输入案件名称"
v-model="query.caseName"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="案件管辖单位">
<depart-tree-select
v-model="query.departId"
placeholder="请选择案件管辖单位"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发案时间">
<date-time-range-picker-ext
v-model="query.happenTime"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="案件编号">
<el-input placeholder="请输入案件编号" v-model="query.caseNumber"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="案件性质">
<el-select
v-model="query.InfringerHandle"
clearable>
<el-option
v-for="(item,key) in InfringerHandleDict"
:key="key"
:value="item.dictValue"
:label="item.dictLabel"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" :offset="12">
<div class="flex end ">
<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>
</el-col>
</el-row>
</el-form>
</header>
<main>
<div class="table-container" v-loading="loading">
<el-table
:data="list"
ref="tableRef"
style="width: 100%"
>
<el-table-column type="selection" width="55"/>
<el-table-column label="案件管辖单位" prop="departName" width="160" />
<el-table-column label="案件编号" prop="caseNumber" width="200" />
<el-table-column label="案件名称" prop="caseName" width="100"/>
<el-table-column label="发案时间" prop="happenTime" width="160"/>
<el-table-column label="简要案情" prop="factReason" width="200" show-overflow-tooltip></el-table-column>
<el-table-column label="案件性质" prop="infringerHandle" width="120"></el-table-column>
<el-table-column label="案件类别" prop="caseCategory" />
<el-table-column label="操作" min-width="200">
<template #default="{ row }">
<el-button link type="primary" @click="getDetailFun(row)" >上报</el-button>
<el-button link type="danger" >查否</el-button>
<el-button link type="primary" >查看详情</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>
</main>
<!-- <el-dialog v-model="editShow" width="900px">-->
<!-- <el-form v-loading="editLoading" label-width="148" :model="formData" ref="formRef" :rules="rules">-->
<!-- <div style="margin-bottom: 80px">-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="姓名" prop="name">-->
<!-- &lt;!&ndash; <el-input v-model="formData.name"></el-input>&ndash;&gt;-->
<!-- <el-select-->
<!-- v-model="formData.policeId"-->
<!-- filterable-->
<!-- remote-->
<!-- clearable-->
<!-- default-first-option-->
<!-- @change="CopyUserDetail"-->
<!-- :remote-method="getPoliceListFun"-->
<!-- >-->
<!-- <template #header>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="6">姓名</el-col>-->
<!-- <el-col :span="6">警号</el-col>-->
<!-- </el-row>-->
<!-- </template>-->
<!-- <el-option v-for="(item,key) in users" :key="key" :label="item.name"-->
<!-- :value="item.id">-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="6">{{item.name}}</el-col>-->
<!-- <el-col :span="6">{{item.empNo}}</el-col>-->
<!-- </el-row>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="身份证" prop="idCode">-->
<!-- <el-input v-model="formData.idCode"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="年龄" prop="age">-->
<!-- <el-input-number v-model="formData.age"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="性别" prop="gender">-->
<!-- <el-radio-group v-model="formData.gender">-->
<!-- <el-radio value="0"></el-radio>-->
<!-- <el-radio value="1"></el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="出生日期" prop="birthTime">-->
<!-- <el-date-picker-->
<!-- v-model="formData.birthTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择"-->
<!-- value-format="YYYY-MM-DD HH:mm"-->
<!-- time-format="HH:mm"-->
<!-- style="width: 100%"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="入党(团)时间" prop="joinPartyTime">-->
<!-- <el-date-picker-->
<!-- v-model="formData.joinPartyTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择"-->
<!-- value-format="YYYY-MM-DD HH:mm"-->
<!-- time-format="HH:mm"-->
<!-- style="width: 100%"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="参加工作时间" prop="joinWorkTime">-->
<!-- <el-date-picker-->
<!-- v-model="formData.joinWorkTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择"-->
<!-- value-format="YYYY-MM-DD HH:mm"-->
<!-- time-format="HH:mm"-->
<!-- style="width: 100%"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12" label="参加公安工作时间" prop="joinPoliceTime">-->
<!-- <el-form-item label="参加公安工作时间" prop="joinPoliceTime">-->
<!-- <el-date-picker-->
<!-- v-model="formData.joinPoliceTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择"-->
<!-- value-format="YYYY-MM-DD HH:mm"-->
<!-- time-format="HH:mm"-->
<!-- style="width: 100%"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="文化程度" prop="education">-->
<!-- <el-select v-model="formData.education">-->
<!-- <el-option-->
<!-- v-for="(item,key) in educations"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- :key="key"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="职务" prop="job">-->
<!-- <el-input v-model="formData.job"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="部门" prop="orgId">-->
<!-- <depart-tree-select-->
<!-- v-model="formData.orgId"-->
<!-- placeholder="部门"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <hr style="color: #abaaaa;opacity: 0.2"/>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="看护单位" prop="nursingOrgId">-->
<!-- <el-select-->
<!-- filterable-->
<!-- default-first-option-->
<!-- v-model ="formData.nursingOrgId">-->
<!-- <el-option v-for="(item,key) in NursingOrgList" :key="key"-->
<!-- :label="item.shortName"-->
<!-- :value="item.id"></el-option>-->
<!-- </el-select>-->
<!-- &lt;!&ndash; <depart-tree-select&ndash;&gt;-->
<!-- &lt;!&ndash; v-model="formData.nursingOrgId"&ndash;&gt;-->
<!-- &lt;!&ndash; placeholder="看护单位"&ndash;&gt;-->
<!-- &lt;!&ndash; />&ndash;&gt;-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="查处单位" prop="investigateUnit">-->
<!-- <el-input v-model="formData.investigateUnit"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="事由" prop="matter">-->
<!-- <el-select v-model="formData.matter" >-->
<!-- <el-option-->
<!-- v-for="(item,key) in dict.confinement"-->
<!-- :key="key"-->
<!-- :value="item.dictValue"-->
<!-- :label="item.dictLabel"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- &lt;!&ndash; <el-input type="textarea" :rows="3" v-model="formData.matter"></el-input>&ndash;&gt;-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row v-if="ChangeMatter()" >-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="备注" >-->
<!-- <el-input type="textarea" :rows="3" v-model="formData.remark"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="开始日期" prop="startTime">-->
<!-- <el-date-picker-->
<!-- v-model="formData.startTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择"-->
<!-- value-format="YYYY-MM-DD HH:mm"-->
<!-- time-format="HH:mm"-->
<!-- style="width: 100%"-->
<!-- @change="getConfinementTime"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="结束日期" prop="endTime">-->
<!-- <el-date-picker-->
<!-- v-model="formData.endTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择"-->
<!-- value-format="YYYY-MM-DD HH:mm"-->
<!-- time-format="HH:mm"-->
<!-- style="width: 100%"-->
<!-- @change="getConfinementTime"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="禁闭时长" prop="confinementTime">-->
<!-- <el-input v-model="formData.confinementTime"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="是否回访" prop="isVisit">-->
<!-- <el-radio-group v-model="formData.isVisit">-->
<!-- <el-radio value="0"></el-radio>-->
<!-- <el-radio value="1"></el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="附件上传" prop="files">-->
<!-- <file-upload v-model:files="formData.files"/>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </div>-->
<!-- </el-form>-->
<!-- </el-dialog>-->
</div>
<el-dialog v-model="editShow" width="900px">
<el-form :model="detailData" label-width="148">
<el-row>
<el-col :span="12">
<el-form-item label="部门">
<depart-tree-select
v-model="detailData.rpcApplyVo.departId"
placeholder="请选择案件管辖单位"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件名称">
<el-input v-model="detailData.rpcApplyVo.caseName" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号">
<el-input v-model="detailData.rpcApplyVo.caseNumber" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案发时间">
<el-date-picker style="width:100%" v-model="detailData.rpcApplyVo.happenTime"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="简要案情">
<el-input type="textarea" :row="3" v-model="detailData.rpcApplyVo.factReason"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="案发环节">
<el-input v-model="detailData.rpcApplyVo.incidentLinkName"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案发警种">
<el-select v-model="detailData.rpcApplyVo.policeJob" >
<el-option v-for="(item,key) in dict.personType"
:key="key"
:value="item.dictValue"
:label="item.dictLabel"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="案件性质">
<el-input v-model="detailData.rpcApplyVo.infringerHandle" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件报送情况">
<el-input v-model="detailData.rpcApplyVo.caseSubmission" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="变更强制措施报送情况" >
<el-input v-model="detailData.rpcApplyVo.changeMandate"/>
</el-form-item>
</el-col>
</el-row>
<!-- 被侵权人-->
<div v-if="detailData.rpcApplyPeoples.length !== 0" >
<hr color="#cccdd1" style="height: 1px;border: 0px"/>
<div class="flex v-center" style="height:20px;">
<h5>受害人信息</h5>
</div>
<div v-for="(people,index) in detailData.rpcApplyPeoples">
<div class="flex v-center" style="height:30px;">
<h5>受害人{{index + 1}}</h5>
</div>
<el-row>
<el-col :span="12">
<el-form-item label="姓名">
<el-input v-model="people.empName"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="警号">
<el-input v-model="people.empNo"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号">
<el-input v-model="people.idCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别">
<el-input v-model="people.gender"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="人员类型">
<el-select v-model="people.empType">
<el-option teleported="true" v-for="(item,key) in dict.personType"
:key="key"
:value="item.dictValue"
:label="item.dictLabel"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="受伤程度">
<el-select v-model="people.injurySeverity">
<el-option v-for="(item,key) in dict.injurySeverity"
:key="key"
:value="item.dictValue"
:label="item.dictLabel"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="侵权形式">
<el-select >
<el-option v-for="(item,key) in dict.formsOfTort"
:key="key"
:value="item.dictValue"
:label="item.dictLabel"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<!--嫌疑人-->
<div v-if="detailData.rpcInfringerResults.length !== 0">
<hr color="#cccdd1" style="height: 1px;border: 0px"/>
<div class="flex v-center" style="height:20px;">
<h5>嫌疑人信息</h5>
</div>
<div v-for="(infringer,key) in detailData.rpcInfringerResults">
<div class="flex v-center" style="height:30px;">
<h5>嫌疑人{{key + 1}}</h5>
</div>
<el-row>
<el-col :span="12">
<el-form-item label="姓名">
<el-input v-model="infringer.tortName"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号">
<el-input v-model="infringer.idCode"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="性别">
<el-input v-model="infringer.gender"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="打击处理情况">
<el-input v-model="infringer.defendHandleWayName" ></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<footer class="flex end">
<el-button @click="editShow = false" size="large">取消</el-button>
<el-button type="primary" @click="handleSumbit" size="large"
>确定
</el-button
>
</footer>
</el-dialog>
</template>
<style scoped lang="scss">
</style>
Loading…
Cancel
Save