Browse Source

fix:区县大屏、市局大屏完善;维权督办完善

main
pengwei 6 months ago
parent
commit
ff44d7e775
  1. 2
      package.json
  2. 17
      src/api/rightsComfort/supervision.ts
  3. 1
      src/components/datav/chart-bar-new.vue
  4. 62
      src/components/datav/chart-bar.vue
  5. 2
      src/views/datav/Jwpy.vue
  6. 4
      src/views/datav/SceneInsp.vue
  7. 3
      src/views/datav/VideoInsp.vue
  8. 663
      src/views/rightsComfort/Supervision.vue
  9. 1
      src/views/work/Confinement.vue

2
package.json

@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build --mode dev",
"build": "vite build --mode prod",
"build:prod": "vite build --mode prod && WinRAR a -r v2.zip ./v2/",
"preview": "vite preview"
},

17
src/api/rightsComfort/supervision.ts

@ -14,3 +14,20 @@ export function getDetail(id){
url:`/rights/supervise/${id}`
})
}
//上报数据
export function reportedData(body){
return request.post({
url:`/rights/supervise/reportedData`,
body
})
}
//无效维权
export function upDataTrue(body){
return request.put({
url:`/rights/supervise`,
body
})
}

1
src/components/datav/chart-bar-new.vue

@ -180,6 +180,7 @@ function getColor(val) {
height: 9px;
background: linear-gradient(270deg, #63e700 0%, #19674c 100%);
transition: width 0.3s;
}
}

62
src/components/datav/chart-bar.vue

@ -14,7 +14,7 @@
<span class="bar-item-label mr-8">
{{ item.label }}
</span>
<div class="bar-item_content " :long="!item.denominator">
<div class="bar-item_content " :long="!item.denominator" v-if="!isgroupby" >
<div
class="bar-item_content-bar"
:style="{
@ -23,6 +23,39 @@
}"
></div>
</div>
<div class="bar-item_content " :long="!item.denominator" v-else>
<el-popover
class="box-item"
:width="170"
placement="top-start"
>
<div class="popover_content">
<p> <span class="popover_border" style="background-color: #63e700"></span>市局下发问题数<span style="font-weight: 800">{{item.cityNumber}}</span></p>
<p> <span class="popover_border" style="background-color: #399372"></span>二级机构下发问题数<span style="font-weight: 800">{{item.countyNumber}}</span></p>
</div>
<template #reference>
<div class="bar_item_comtent_div">
<div
class="bar-item_content-bar-item"
:style="{
width: `${(item.cityNumber / item.denominator) * 100}%`,
background: `#63e700`,
}"
>
</div>
<div class="bar-item_content-bar-item" :style="{
width:`${(item.countyNumber / item.denominator) * 100}%`,
background: `#399372`,
}">
</div>
</div>
</template>
</el-popover>
</div>
<span :class="spanClass" v-if="showValue">{{ item.value + props.unit }}</span>
<span
class="bar-item_remark text-right ml-8"
@ -45,6 +78,10 @@ const props = defineProps({
type: String,
default: "",
},
isgroupby:{
type:Boolean,
default:false
},
subTitle: {
type: String,
default: "",
@ -122,6 +159,7 @@ function getColor(val) {
<style lang="scss" scoped>
.bar-title {
font-size: 19px;
}
.bar-sub-title {
@ -136,6 +174,7 @@ function getColor(val) {
.bar-item_content {
.bar-item_content-bar {
height: 13px;
}
}
}
@ -193,6 +232,16 @@ function getColor(val) {
height: 9px;
background: linear-gradient(270deg, #63e700 0%, #19674c 100%);
transition: width 0.3s;
}
.bar_item_comtent_div{
display: flex;
height: 100%;
}
.bar-item_content-bar-item{
height: 18px;
transition: width 0.3s;
background: linear-gradient(270deg, #63e700 0%, #19674c 100%);
}
}
@ -213,6 +262,17 @@ function getColor(val) {
width: 70%;
}
.popover_content{
font-size: 15px;
}
.popover_border{
display: inline-block;
height: 12px;
width: 12px;
border-radius: 50%;
margin-right: 5px;
}
</style>

2
src/views/datav/Jwpy.vue

@ -332,7 +332,7 @@ const getDistributionFun = async()=>{
console.log('---------')
const res = await selectDistribution(time.value);
option4.value.series[0].data=res.total;
option4.value.series[1].data=res.processing;
option4.value.series[1].data=res.checkStatus;
// option4.value.series[2].data=res.checkStatus;
option4.value.yAxis.data=res.name;
console.log('option4',option4.value)

4
src/views/datav/SceneInsp.vue

@ -85,6 +85,7 @@
title="办结率排名"
sub-title="已办结/问题数"
unit="%"
:isgroupby="true"
:color="dayTimeColors"
/>
</el-scrollbar>
@ -163,6 +164,7 @@
title="办结率排名"
sub-title="已办结/问题数"
unit="%"
:isgroupby="true"
:color="dayTimeColors"
/>
</el-scrollbar>
@ -953,7 +955,7 @@ const sceneInspZxdxRankAnimation = () => {
};
onMounted(() => {
// sceneInspZxdxIntervalId = setInterval(sceneInspZxdxRankAnimation, 5000);
sceneInspZxdxIntervalId = setInterval(sceneInspZxdxRankAnimation, 5000);
});
//

3
src/views/datav/VideoInsp.vue

@ -63,6 +63,7 @@
:data="fxsjRankList"
size="large"
:color="colors"
:isgroupby="true"
/>
</el-scrollbar>
</datav-tab-item>
@ -72,6 +73,7 @@
:data="jsdwRankList"
size="large"
:color="colors"
:isgroupby="true"
/>
</el-scrollbar>
</datav-tab-item>
@ -463,6 +465,7 @@ const titleClickFun =()=>{
const getVideoSuperviseProblemRankData = async (timeValue) => {
const res = await getVideoSuperviseProblemRank(timeValue);
fxsjRankList.value = res.fxsjVideoSuperviseProblemRankList;
jsdwRankList.value = res.jsdwVideoSuperviseProblemRankList;
};
const getAllVideoSuperviseCountData = async (timeValue) => {

663
src/views/rightsComfort/Supervision.vue

@ -1,8 +1,10 @@
<script setup>
import {getListData,getDetail} from "@/api/rightsComfort/supervision";
import {getListData,getDetail,reportedData,upDataTrue} from "@/api/rightsComfort/supervision";
import {getDictLable} from "@/utils/util";
import useCatchStore from "@/stores/modules/catch";
import feedback from "@/utils/feedback";
//
const catchStore = useCatchStore();
const dict = catchStore.getDicts(["personType","injurySeverity","formsOfTort"]);
@ -16,6 +18,9 @@ let InfringerHandleDict = reactive([
dictLabel:"行政处罚"
},
])
const catchSotre = useCatchStore();
//
let query = ref({
current: 1,
@ -32,13 +37,16 @@ let total = ref(0);
//
const detailData = ref()
//
let reportedShow = ref(false)
let editShow = ref(false)
//
const reportedFORM = ref()
const activeName = ref("1");
//
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
@ -51,26 +59,83 @@ const reset =() =>{
departBranch:false,
applyDate: []
}
getList()
query.value.activeName = activeName.value
getList();
}
//tab
const TabsClick =(val)=>{
activeName.value = val.props.name;
}
//
const getDetailFun =async (row) =>{
//
const showReportedFun =async (row) =>{
detailData.value = await getDetail(row.rpcId);
if(detailData.value){
reportedShow.value=true;
}
}
//,
const showDetail = async (row)=>{
//
detailData.value = await getDetail(row.rpcId);
if(detailData.value){
editShow.value=true;
console.log(detailData.value)
editShow.value=true
}
}
//
const isTrueFun = async (row)=>{
console.log('row-data',row)
console.log('caseName',row.caseName)
await feedback.confirm(`是否将${row.caseName || ''}维权案件数据移除至“无效维权”列表`);
row.verified = "1";
upDataTrue(row).then((res)=>{
getList();
})
}
//
const recoverFun = async (row) => {
await feedback.confirm(`是否将${row.caseName || ''}维权案件数据恢复至“维权督办”列表`)
row.verified = "0";
upDataTrue(row).then((res)=>{
getList();
})
}
//
const handleSumbit = async ()=>{
await reportedFORM.value.validate();
const res = await reportedData(detailData.value);
reportedShow.value=false;
}
//
const changeSeverity =(val,index)=>{
let injurySeverityName = dict.injurySeverity.find(s=>s.dictValue == val).dictLabel;
detailData.value.rpcApplyPeoples[index].injurySeverityName = injurySeverityName;
}
onMounted(()=>{
query.value.activeName = "1";
getList();
})
//tab
watch(()=>activeName,()=>{
query.value.activeName = activeName.value;
getList()
},{deep:true})
</script>
<template>
<div class="container">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="TabsClick">
<el-tab-pane label="维权督办" name="1"></el-tab-pane>
<el-tab-pane label="无效维权" name="2"></el-tab-pane>
</el-tabs>
<header>
<el-form>
<el-row :gutter="20">
@ -150,9 +215,10 @@ onMounted(()=>{
<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>
<el-button link type="primary" v-if="row.verified === '0' " @click="showReportedFun(row)" >维权上报</el-button>
<el-button link type="danger" v-if="row.verified === '0' " @click="isTrueFun(row)">无效维权</el-button>
<el-button link type="primary" @click="showDetail(row)" >查看详情</el-button>
<el-button link type="primary" v-if="row.verified === '1' || activeName === '2'" @click="recoverFun(row)">恢复数据</el-button>
</template>
</el-table-column>
@ -174,290 +240,74 @@ onMounted(()=>{
</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-dialog v-model="reportedShow" width="900px" title="维权上报">
<el-form :model="detailData" ref="reportedFORM" label-width="148">
<el-row>
<el-col :span="12">
<el-form-item label="部门">
<el-form-item
label="案件管辖公安机关">
<depart-tree-select
disabled
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
label="案件名称">
<el-input disabled 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
label="案件编号">
<el-input disabled 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-date-picker
disabled 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
label="简要案情">
<el-input disabled 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-form-item
prop="rpcApplyVo.incidentLinkName"
:rules="{
required: true,
message: '请输入案发环节',
trigger: ['blur'],
}"
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-form-item
prop="rpcApplyVo.policeJob"
:rules="{
required: true,
message: '请选择案发警种',
trigger: ['blur'],
}"
label="案发警种">
<el-select
v-model="detailData.rpcApplyVo.policeJob" >
<el-option v-for="(item,key) in dict.personType"
:key="key"
:value="item.dictValue"
@ -469,12 +319,22 @@ onMounted(()=>{
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="案件性质">
<el-input v-model="detailData.rpcApplyVo.infringerHandle" />
<el-form-item
prop="rpcApplyVo.infringerHandle"
:rules="{
required: true,
message: '请选择案件类别',
trigger: ['blur'],
}"
label="案件类别">
<el-select v-model="detailData.rpcApplyVo.infringerHandle" >
<el-option v-for="(item,i) in InfringerHandleDict" :value="item.dictValue" :label="item.dictLabel" :key="i"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件报送情况">
<el-form-item
label="案件报送情况">
<el-input v-model="detailData.rpcApplyVo.caseSubmission" />
</el-form-item>
</el-col>
@ -499,31 +359,42 @@ onMounted(()=>{
</div>
<el-row>
<el-col :span="12">
<el-form-item label="姓名">
<el-input v-model="people.empName"></el-input>
<el-form-item
label="姓名">
<el-input disabled 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
label="警号">
<el-input disabled 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
label="身份证号">
<el-input disabled 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
label="性别">
<el-input disabled v-model="people.gender"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="人员类型">
<el-form-item
:prop="`rpcApplyPeoples[${index}].empType`"
:rules="{
required: true,
message: '请输入人员类型',
trigger: ['blur'],
}"
label="人员类型">
<el-select v-model="people.empType">
<el-option teleported="true" v-for="(item,key) in dict.personType"
:key="key"
@ -534,8 +405,15 @@ onMounted(()=>{
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="受伤程度">
<el-select v-model="people.injurySeverity">
<el-form-item
:prop="`rpcApplyPeoples[${index}].injurySeverity`"
:rules="{
required: true,
message: '请输入受伤程度',
trigger: ['blur'],
}"
label="受伤程度">
<el-select v-model="people.injurySeverity" @change="(s)=>changeSeverity(s,index)">
<el-option v-for="(item,key) in dict.injurySeverity"
:key="key"
:value="item.dictValue"
@ -547,8 +425,15 @@ onMounted(()=>{
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="侵权形式">
<el-select >
<el-form-item
:prop="`rpcApplyPeoples[${index}].formsOfTort`"
:rules="{
required: true,
message: '请输入侵权形式',
trigger: ['blur'],
}"
label="侵权形式">
<el-select v-model="people.formsOfTort">
<el-option v-for="(item,key) in dict.formsOfTort"
:key="key"
:value="item.dictValue"
@ -572,24 +457,41 @@ onMounted(()=>{
</div>
<el-row>
<el-col :span="12">
<el-form-item label="姓名">
<el-input v-model="infringer.tortName"></el-input>
<el-form-item label="姓名"
:prop="`rpcInfringerResults[${key}].tortName`"
>
<el-input disabled 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
:prop="`rpcInfringerResults[${key}].idCode`"
label="身份证号">
<el-input disabled
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
:prop="`rpcInfringerResults[${key}].gender`"
label="性别">
<el-input disabled
v-model="infringer.gender"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="打击处理情况">
<el-form-item
:prop="`rpcInfringerResults[${key}].defendHandleWayName`"
:rules="{
required: true,
message: '请输入打击处理情况',
trigger: ['blur'],
}"
label="打击处理情况">
<el-input v-model="infringer.defendHandleWayName" ></el-input>
</el-form-item>
</el-col>
@ -599,15 +501,204 @@ onMounted(()=>{
</el-form>
<footer class="flex end">
<el-button @click="editShow = false" size="large">取消</el-button>
<el-button @click="reportedShow = false" size="large">取消</el-button>
<el-button type="primary" @click="handleSumbit" size="large"
>确定
</el-button
>
</el-button>
</footer>
</el-dialog>
<el-dialog v-model="editShow" width="900px" title="维权详情">
<el-form :model="detailData" ref="reportedFORM" label-width="148">
<el-row>
<el-col :span="12">
<el-form-item
label="案件管辖公安机关">
{{detailData.rpcApplyVo.departName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="案件名称">
{{detailData.rpcApplyVo.caseName}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="案件编号">
{{detailData.rpcApplyVo.caseNumber}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案发时间">
{{detailData.rpcApplyVo.happenTime}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="简要案情">
{{detailData.rpcApplyVo.factReason}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="案发环节">
{{detailData.rpcApplyVo.incidentLinkName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="案发警种">
{{ getDictLable(
dict.personType,
detailData.rpcApplyVo.policeJob
) }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="案件类别">
{{detailData.rpcApplyVo.infringerHandle}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="案件报送情况">
{{detailData.rpcApplyVo.caseSubmission}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="变更强制措施报送情况" >
{{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="姓名">
{{people.empName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="警号">
{{people.empNo}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="身份证号">
{{people.idCode}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="性别">
{{people.gender}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="人员类型">
{{ getDictLable(
dict.personType,
people.empType
) }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="受伤程度">
{{ getDictLable(
dict.injurySeverity,
people.injurySeverity
) }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="侵权形式">
{{getDictLable(
dict.formsOfTort,
people.formsOfTort
)}}
</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="姓名">
{{infringer.tortName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号">
{{infringer.idCode}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="性别">
{{infringer.gender}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="打击处理情况">
{{infringer.defendHandleWayName}}
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<footer class="flex end">
<el-button type="primary" @click="handleSumbit" size="large"
>维权上报
</el-button>
<el-button type="danger" @click="isTrueFun(detailData)" size="large">无效维权</el-button>
</footer>
</el-dialog>
</template>

1
src/views/work/Confinement.vue

@ -354,7 +354,6 @@ onMounted(() => {
:label="item.dictLabel"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>

Loading…
Cancel
Save