Compare commits

..

No commits in common. '5b8e82b8351f7f4809ee2ed0dce8acc7b47596fb' and '9671d9d4f8ce621d8eb88de8feb6861f6ce77d2e' have entirely different histories.

  1. 7
      src/api/rightsComfort/rights.ts
  2. 48
      src/components/mobileSupervise/police-sampling.vue
  3. 2
      src/components/police-picker.vue
  4. 6
      src/views/books/Audit.vue
  5. 1
      src/views/mobileSupervise/Inspection.vue
  6. 10
      src/views/mobileSupervise/TaskProblem.vue
  7. 163
      src/views/rightsComfort/Rights.vue

7
src/api/rightsComfort/rights.ts

@ -9,13 +9,6 @@ export function listRights(query) {
} }
export function getInfringerData(id){
return request.get({
url:`/rights/getInfringerData/${id}`
})
}
export function delRights(id){ export function delRights(id){
return request.del({ return request.del({
url:`/rights/${id}` url:`/rights/${id}`

48
src/components/mobileSupervise/police-sampling.vue

@ -173,7 +173,10 @@ const query = ref({
departBranch: true departBranch: true
}); });
watch(() => props.departId, (val) => {
query.value.departId = val;
getList()
})
const total = ref(0); const total = ref(0);
const ableRef =ref(null) const ableRef =ref(null)
const treeData = catchSotre.getDepartsAll(); const treeData = catchSotre.getDepartsAll();
@ -183,6 +186,7 @@ function getList() {
loading.value = true loading.value = true
listPolice(query.value).then((data) => { listPolice(query.value).then((data) => {
polices.value = data.records; polices.value = data.records;
console.log('polices',polices)
setCheckFun(data.records) setCheckFun(data.records)
total.value = data.total; total.value = data.total;
loading.value = false loading.value = false
@ -191,11 +195,11 @@ function getList() {
const setCheckFun =(row)=>{ const setCheckFun =(row)=>{
console.log('checkPolices.value',checkPolices.value)
row.forEach((s)=>{ row.forEach((s)=>{
let data =checkPolices.value.find(x=> let data =checkPolices.value.find(x=>
x.empNo === s.empNo x.empNo === s.empNo
) )
if(data){ if(data){
nextTick(()=>{ nextTick(()=>{
ableRef.value.toggleRowSelection(s, true); ableRef.value.toggleRowSelection(s, true);
@ -208,12 +212,7 @@ const setCheckFun =(row)=>{
const checkPolices = ref([]); const checkPolices = ref([]);
const checkPolicesMap =ref([]) const checkPolicesMap =ref([])
function selectionChange(selectionRows) { function selectionChange(selectionRows) {
if(checkPolicesMap.value['key-0']){
//dataselect
const {intersection, filteredSource} = processIntersection( checkPolicesMap.value['key-0'],selectionRows,'empNo')
checkPolicesMap.value['key-0']=filteredSource;
checkPolicesMap.value['key'+query.value.current] = intersection;
}
if( checkPolicesMap.value['key'+query.value.current]){ if( checkPolicesMap.value['key'+query.value.current]){
let data = checkPolicesMap.value['key'+query.value.current]; let data = checkPolicesMap.value['key'+query.value.current];
@ -228,22 +227,6 @@ function selectionChange(selectionRows) {
} }
/**
* 获取两个对象数组的交集并从源数组中剔除交集数据
* @param {Array} sourceArr 源数组需要剔除交集的数组
* @param {Array} targetArr 目标数组
* @param {String} key 比较的键名默认'id'
* @returns {Object} { intersection: 交集数组, filteredSource: 剔除后的源数组 }
*/
const processIntersection = (sourceArr, targetArr, key = 'id') => {
//
const targetKeys = new Set(targetArr.map(item => item[key]));
const intersection = sourceArr.filter(item => targetKeys.has(item[key]));
//
const filteredSource = sourceArr.filter(item => !targetKeys.has(item[key]));
return { intersection, filteredSource };
}
const getCheckData = (data,selectionRows) =>{ const getCheckData = (data,selectionRows) =>{
selectionRows.forEach(item => { selectionRows.forEach(item => {
@ -280,23 +263,8 @@ function submit() {
emit('update:modelValue', checkPolices.value) emit('update:modelValue', checkPolices.value)
show.value = false show.value = false
} }
watch(() => props.departId, (val) => { watch(()=>props.modelValue,()=>{
query.value.departId = val;
getList()
})
watch(() => show.value, (val) => {
if(val){
setCheckFun(polices.value)
}
})
watch(()=>props.modelValue,(val)=>{
checkPolices.value=props.modelValue checkPolices.value=props.modelValue
if(val){
checkPolicesMap.value['key-0']=getCheckData(val,props.modelValue);
if(polices.value){
setCheckFun(polices.value)
}
}
},{deep:true,immediate:true}) },{deep:true,immediate:true})

2
src/components/police-picker.vue

@ -224,7 +224,7 @@ watch(()=>props.modelValue,(val)=>{
watch(()=>props.dataDepartId,(val)=>{ watch(()=>props.dataDepartId,(val)=>{
console.log('val',val) console.log('val',val)
if(val){ if(val){
query.value.departId = val.id; query.value.departId = node.id;
getList(); getList();
} }
},{immediate:true,deep:true}) },{immediate:true,deep:true})

6
src/views/books/Audit.vue

@ -329,12 +329,6 @@ function reset() {
getList(); getList();
function handleExport() { function handleExport() {
if(query.value.discoveryTime == null){
delete query.value.discoveryTime;
}
if(query.value.crtTime== null){
delete query.value.crtTime;
}
window.open( window.open(
`${BASE_PATH}/negative/books/export/audit?` + `${BASE_PATH}/negative/books/export/audit?` +
new URLSearchParams(query.value).toString() new URLSearchParams(query.value).toString()

1
src/views/mobileSupervise/Inspection.vue

@ -2657,7 +2657,6 @@ watch(departs, () => {
watch(() => form.value.specialType, (newVal) => { watch(() => form.value.specialType, (newVal) => {
console.log('newVal',newVal)
if (newVal === '六项规定督察') { if (newVal === '六项规定督察') {
form.value.samplingTarget = '自定义人员' form.value.samplingTarget = '自定义人员'
} }

10
src/views/mobileSupervise/TaskProblem.vue

@ -93,8 +93,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" width="260"> <el-table-column label="操作" width="260">
<template #default="{ row }"> <template #default="{ row }">
<div>
<el-button type="primary" link @click="showDeatil(row)">问题详情</el-button> <el-button type="primary" link @click="showDeatil(row)">问题详情</el-button>
<el-button <el-button
@click="upProblemFun(row)" @click="upProblemFun(row)"
type="primary" type="primary"
@ -103,8 +103,6 @@
> >
编辑 编辑
</el-button> </el-button>
</div>
<div>
<el-button <el-button
v-if="row.distributionState === '0'" v-if="row.distributionState === '0'"
type="primary" type="primary"
@ -125,7 +123,6 @@
> >
{{ row.problemState == "1" ? "删除" : "恢复" }} {{ row.problemState == "1" ? "删除" : "恢复" }}
</el-button> </el-button>
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -189,10 +186,9 @@
getDictLable(dict.distributionState, activeRow.distributionState) getDictLable(dict.distributionState, activeRow.distributionState)
}}</span> }}</span>
</div> </div>
<div class="col col-24">
<label>上传附件</label>
<file-list :files="activeRow.files ? JSON.parse(activeRow.files) : []" />
</div> </div>
<div>
<file-list :files="activeRow.files ? JSON.parse(activeRow.files) : []" />
</div> </div>
</div> </div>
</el-dialog> </el-dialog>

163
src/views/rightsComfort/Rights.vue

@ -30,25 +30,10 @@
<depart-tree-select v-model="query.departId" /> <depart-tree-select v-model="query.departId" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="案件类别">
<el-input v-model="query.caseCategory" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="侵权形式">
<el-select v-model="query.caseType" clearable >
<!-- row.caseType =='1'?'刑事案件':'民事案件'-->
<el-option label="刑事案件" value="1"></el-option>
<el-option label="民事案件" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="flex end"> <div class="flex end">
<div> <div>
<el-button type="primary" @click="handleExport">数据导出</el-button>
<el-button type="primary" @click="getList"> <el-button type="primary" @click="getList">
<template #icon> <template #icon>
<icon name="el-icon-Search" /> <icon name="el-icon-Search" />
@ -60,7 +45,7 @@
</div> </div>
</header> </header>
<div class="table-container"> <div class="table-container">
<el-table :data="list" v-loading="loading"> <el-table :data="list">
<el-table-column <el-table-column
label="申请人姓名" label="申请人姓名"
prop="applicantEmpName" prop="applicantEmpName"
@ -71,25 +56,6 @@
prop="applicantEmpNo" prop="applicantEmpNo"
width="100" width="100"
/> />
<el-table-column
label="申请时间"
prop="applyDate"
width="160"
></el-table-column>
<el-table-column
label="侵权形式"
prop="caseType"
width="120"
>
<template #default="{row}">
{{row.caseType =='1'?'刑事案件':'民事案件'}}
</template>
</el-table-column>
<el-table-column
label="案件类别"
prop="caseCategory"
width="120"
></el-table-column>
<el-table-column <el-table-column
label="事发时间" label="事发时间"
prop="happenTime" prop="happenTime"
@ -137,77 +103,39 @@
</div> </div>
</div> </div>
说明维权记录展示各单位申请的维权记录 说明维权记录展示各单位申请的维权记录
<el-dialog title="维权详情" v-model="show" width="50vw" @close="closeDialog"> <el-dialog title="维权详情" v-model="show" width="50vw">
<div class="dialog-container"> <div class="dialog-container">
<el-row> <div class="row mt-10">
<el-col :span="12"> <div class="col col-12">
<el-form-item label="申请人姓名"> <label>申请人姓名</label>
{{ activeRow.applicantEmpName }} <span>{{ activeRow.applicantEmpName }}</span>
</el-form-item> </div>
</el-col> <div class="col col-12">
<el-col :span="12"> <label>申请人警号</label>
<el-form-item label="申请人警号"> <span>{{ activeRow.applicantEmpNo }}</span>
{{ activeRow.applicantEmpNo }} </div>
</el-form-item> <div class="col col-12">
</el-col> <label>事发时间</label>
<el-col :span="12"> <span>{{ activeRow.happenTime }}</span>
<el-form-item label="事发时间"> </div>
{{ activeRow.happenTime }} <div class="col col-12">
</el-form-item> <label>案件编号</label>
</el-col> <span>{{ activeRow.caseNumber || '/' }}</span>
<el-col :span="12"> </div>
<el-form-item label="案件编号"> <div class="col col-12">
{{ activeRow.caseNumber || '/' }} <label>状态</label>
</el-form-item> <span>{{
</el-col> getDictLable(
<el-col :span="12">
<el-form-item label="案件编号">
{{ getDictLable(
dict.comfortStatus, dict.comfortStatus,
activeRow.rpcStatus activeRow.rpcStatus
) }} )
</el-form-item> }}</span>
</el-col>
<el-col :span="24">
<el-form-item label="案件经过">
{{ activeRow.factReason}}
</el-form-item>
</el-col>
</el-row>
<div v-if="activeRow.Infringers.length !== 0">
<hr color="#cccdd1" style="height: 1px;border: 0px"/>
<div class="flex v-center" style="height:20px;">
<h5>嫌疑人信息</h5>
</div> </div>
<div v-for="(infringer,key) in activeRow.Infringers">
<div class="flex v-center" style="height:30px;">
<h5>嫌疑人{{key + 1}}</h5>
</div> </div>
<el-row> <div class="row mt-10" style="margin-bottom: 60px">
<el-col :span="12"> <div class="col col-24">
<el-form-item label="姓名"> <label>案件经过</label>
{{infringer.tortName}} <span>{{ activeRow.factReason }}</span>
</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>
</div> </div>
</div> </div>
@ -216,18 +144,17 @@
</template> </template>
<script setup> <script setup>
import moment from "moment"; import moment from "moment";
import { listRights,delRights,getInfringerData } from "@/api/rightsComfort/rights"; import { listRights,delRights } from "@/api/rightsComfort/rights";
import { delComfort } from "@/api/rightsComfort/comfort"; import { delComfort } from "@/api/rightsComfort/comfort";
import { listPolice } from "@/api/system/police"; import { listPolice } from "@/api/system/police";
import { getDictLable } from "@/utils/util"; import { getDictLable } from "@/utils/util";
import feedback from "@/utils/feedback"; import feedback from "@/utils/feedback";
import {BASE_PATH} from "@/api/request";
import useCatchStore from "@/stores/modules/catch"; import useCatchStore from "@/stores/modules/catch";
const catchStore = useCatchStore(); const catchStore = useCatchStore();
const dict = catchStore.getDicts([ const dict = catchStore.getDicts([
"comfortStatus","situation" "comfortStatus"
]); ]);
const list = ref([]); const list = ref([]);
@ -237,20 +164,11 @@ const query = ref({
code:'2' code:'2'
}); });
const total = ref(0); const total = ref(0);
const loading = ref(false);
function getList() { function getList() {
try{
loading.value=true;
listRights(query.value).then((data) => { listRights(query.value).then((data) => {
list.value = data.records; list.value = data.records;
total.value = data.total; total.value = data.total;
}); });
}catch (e){
console.log('e',e)
}finally {
loading.value=false;
}
} }
function reset() { function reset() {
@ -280,27 +198,10 @@ const handleDelete = async (row) => {
getList(); getList();
}; };
const closeDialog=()=>{
show.value=false
}
/**
* 导出数据
* */
function handleExport() {
window.open(`${BASE_PATH}/rights/export/result?` + new URLSearchParams(query.value).toString())
}
const activeRow = ref({}) const activeRow = ref({})
const show = ref(false) const show = ref(false)
const handleDetail =async (row) => { const handleDetail = (row) => {
activeRow.value = row activeRow.value = row
const res = await getInfringerData(row.rpcId)
console.log('res',res)
if(res){
activeRow.value.Infringers= res;
}
show.value = true show.value = true
}; };
</script> </script>

Loading…
Cancel
Save