Browse Source

fix:1、警员检索优化;2、禁闭检索优化;3、信访上传;4、信访大屏优化

main
pengwei 6 months ago
parent
commit
1e72bd3bfd
  1. 2
      src/api/work/confinement.ts
  2. 2
      src/components/data/gab-import.vue
  3. 17
      src/components/negative/dialog.vue
  4. 23
      src/components/negative/verify-description.vue
  5. 56
      src/components/negative/verify.vue
  6. 26
      src/views/datav/MailVisits.vue
  7. 11
      src/views/work/Confinement.vue

2
src/api/work/confinement.ts

@ -10,7 +10,7 @@ export const getConfinementList = (query)=>{
//无权限判断的分页查询 //无权限判断的分页查询
export const getConfinementListAll =(query)=>{ export const getConfinementListAll =(query)=>{
return request.get({ return request.get({
url:'/confinement/listALl', url:'/confinement/listAll',
query query
}) })
} }

2
src/components/data/gab-import.vue

@ -87,7 +87,7 @@
/> />
<el-table-column <el-table-column
label="信访形式" label="信访形式"
prop="channelForFilingComplaints" prop="petitionType"
width="86" width="86"
align="center" align="center"
/> />

17
src/components/negative/dialog.vue

@ -179,7 +179,7 @@
" "
> >
<!-- 核查办理查看--> <!-- 核查办理查看-->
<negative-verify-description :ConfinementData="ConfinementDataList" /> <negative-verify-description />
</template> </template>
<template v-if="approves.length"> <template v-if="approves.length">
<!-- 审批意见--> <!-- 审批意见-->
@ -473,7 +473,6 @@ watch(
() => props.id, () => props.id,
() => { () => {
getDetails(); getDetails();
getConfinementData()
verifyEditFlag.value = false; verifyEditFlag.value = false;
formData.value = {}; formData.value = {};
} }
@ -568,7 +567,6 @@ async function handleExecute(action, data) {
emit("close"); emit("close");
return; return;
} }
getConfinementData();
getDetails(); getDetails();
} }
@ -587,22 +585,11 @@ function handleFav() {
} }
const spotCheckEditFlag = ref(false); const spotCheckEditFlag = ref(false);
let confinementQuery = ref({
current: 1,
size: 10000,
departBranch: false
})
/**
* 获取禁闭信息
* */
async function getConfinementData(){
const res = await getConfinementListAll(confinementQuery.value);
ConfinementDataList.value= res.records;
}
function spotCheck() { function spotCheck() {
spotCheckEditFlag.value = true; spotCheckEditFlag.value = true;
} }

23
src/components/negative/verify-description.vue

@ -333,25 +333,38 @@ const activeNames = ref([
const negative = inject("negative"); const negative = inject("negative");
console.log(negative) console.log(negative)
let props = defineProps(['ConfinementData']) let ConfinementDataList= ref([])
/** /**
* 禁闭信息入参 * 禁闭信息入参
* */ * */
let confinementQuery = ref({
current: 1,
size: 100,
departBranch: false
})
/** /**
* 警员禁闭处罚 * 警员禁闭处罚
* */ * */
function rtuenConfinementData(val){ function rtuenConfinementData(val){
return props.ConfinementData?.find(s=>s.id === val.confinementId); const data = getConfinementData(val)
return data?.find(s=>s.id === val.confinementId);
} }
/** /**
* 领导禁闭处罚 * 领导禁闭处罚
* */ * */
function rtuenLeadConfinementData(val){ function rtuenLeadConfinementData(val){
return props.ConfinementData?.find(s=>s.id === val.leadConfinementId); const data = getConfinementData(val)
return data?.find(s=>s.id === val.leadConfinementId);
}
/**
* 获取禁闭信息
* */
async function getConfinementData(val){
confinementQuery.value.id = val
const res = await getConfinementListAll(confinementQuery.value);
return res.records;
} }
for ( for (
let i = 0; let i = 0;

56
src/components/negative/verify.vue

@ -701,7 +701,12 @@
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="禁闭关联"> <el-form-item label="禁闭关联">
<el-select v-model="item.confinementId" filterable popper-class="widthClass" :filter-method="fileConfinement"> <el-select v-model="item.confinementId"
filterable
remote
:remote-method="fileConfinement"
popper-class="widthClass"
>
<template #header> <template #header>
<el-row> <el-row>
<el-col :span="2">姓名</el-col> <el-col :span="2">姓名</el-col>
@ -949,7 +954,8 @@
<el-form-item label="禁闭关联"> <el-form-item label="禁闭关联">
<el-select <el-select
filterable filterable
:filter-method="fileConfinement" remote
:remote-method="fileConfinement"
v-model="item.leadConfinementId" v-model="item.leadConfinementId"
popper-class="widthClass" > popper-class="widthClass" >
<template #header> <template #header>
@ -1633,7 +1639,7 @@ const form = ref({
handlePolices: [{}], handlePolices: [{}],
}); });
// //
let confinementList = ref([])
let confinementOpens = ref([]) let confinementOpens = ref([])
/** /**
* 禁闭信息入参 * 禁闭信息入参
@ -1643,43 +1649,45 @@ let confinementQuery = ref({
size: 10000, size: 10000,
departBranch: false departBranch: false
}) })
/**
* 获取禁闭信息
* */
const getConfinementData = async () => {
const res = await getConfinementListAll(confinementQuery.value);
confinementList.value = res.records
confinementOpens.value=res.records
}
/** /**
* 下拉搜索过滤数据(姓名警号) * 下拉搜索过滤数据(姓名警号)
* @param query 输入参数 * @param query 输入参数
* *
* */ * */
const fileConfinement = (query)=>{ const fileConfinement = async (query)=>{
confinementQuery.value={
current: 1,
size: 10000,
departBranch: false
}
if(query){ if(query){
confinementOpens.value = confinementList.value.filter(s => s.name.includes(query) || s.empNo.includes(query)) confinementQuery.value.id = query
}else{ confinementQuery.value.name = query
confinementOpens.value=confinementList.value confinementQuery.value.empNo = query
} }
const data =await getConfinementListAll(confinementQuery.value);
confinementOpens.value = [...new Set(confinementOpens.value.concat(data.records))];
} }
const problemIsTrue = computed(() => { const problemIsTrue = computed(() => {
return form.value.checkStatus !== InspectCase.FALSE; return form.value.checkStatus !== InspectCase.FALSE;
}); });
getConfinementData();
getFormData(); getFormData();
watch(negative, () => { watch(negative, () => {
getFormData(); getFormData();
}); });
function getFormData() { async function getFormData() {
form.value = { form.value = {
involveDepartId: negative.value.involveDepartId, involveDepartId: negative.value.involveDepartId,
caseNumber: negative.value.caseNumber, caseNumber: negative.value.caseNumber,
@ -1706,6 +1714,16 @@ function getFormData() {
visitingLeaderName: negative.value.visitingLeaderName, visitingLeaderName: negative.value.visitingLeaderName,
visitingLeaderEmpNo: negative.value.visitingLeaderEmpNo visitingLeaderEmpNo: negative.value.visitingLeaderEmpNo
}; };
if(negative.value.blames){
negative.value.blames.forEach((item)=>{
fileConfinement(item.confinementId)
})
}
if(negative.value.blameLeaders){
negative.value.blameLeaders.forEach((item)=>{
fileConfinement(item.leadConfinementId)
})
}
if (negative.value.accountabilityTarget != undefined) { if (negative.value.accountabilityTarget != undefined) {
form.value.accountabilityTarget = negative.value.accountabilityTarget; form.value.accountabilityTarget = negative.value.accountabilityTarget;
return; return;
@ -1714,6 +1732,7 @@ function getFormData() {
form.value.accountabilityTarget = AccountabilityTarget.PERSONAL; form.value.accountabilityTarget = AccountabilityTarget.PERSONAL;
} }
console.log(form.value); console.log(form.value);
} }
function handleAddBlame(type) { function handleAddBlame(type) {
@ -1907,7 +1926,6 @@ function validateHandlePolices(rule, value, cb) {
const formRef = ref(null); const formRef = ref(null);
async function validate() { async function validate() {
debugger;
// //
if (form.value.accountabilityTarget === AccountabilityTarget.PERSONAL) { if (form.value.accountabilityTarget === AccountabilityTarget.PERSONAL) {
form.value.blames = form.value.blames.filter( form.value.blames = form.value.blames.filter(

26
src/views/datav/MailVisits.vue

@ -231,23 +231,24 @@
type="bottom-button" type="bottom-button"
v-model="fxsjEntanglementTab" v-model="fxsjEntanglementTab"
> >
<datav-tab-item label="领导接访" name="1">
<datav-tab-item label="群体集访" name="1">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
<datav-chart-bar <datav-chart-bar
:data="fxsjLeaderViewMailList" :data="fxsjMassMailList"
:max="11" :max="11"
size="large" size="large"
:color="leaderViewColors" :color="colors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
<datav-tab-item label="群体集访" name="2"> <datav-tab-item label="领导接访" name="2">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
<datav-chart-bar <datav-chart-bar
:data="fxsjMassMailList" :data="fxsjLeaderViewMailList"
:max="11" :max="11"
size="large" size="large"
:color="colors" :color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -258,26 +259,27 @@
type="bottom-button" type="bottom-button"
> >
<datav-tab-item label="领导接访" name="1"> <datav-tab-item label="群体集访" name="1">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
<datav-chart-bar <datav-chart-bar
:data="bwzdLeaderViewMailList" :data="bwzdMassMailList"
:max="11" :max="11"
size="large" size="large"
:color="leaderViewColors" :color="colors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
<datav-tab-item label="群体集访" name="2"> <datav-tab-item label="领导接访" name="2">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
<datav-chart-bar <datav-chart-bar
:data="bwzdMassMailList" :data="bwzdLeaderViewMailList"
:max="11" :max="11"
size="large" size="large"
:color="colors" :color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
</datav-tabs> </datav-tabs>
</datav-tab-item> </datav-tab-item>
</datav-tabs> </datav-tabs>

11
src/views/work/Confinement.vue

@ -23,7 +23,7 @@ let query = ref({
// //
let PoliceQuery = ref({ let PoliceQuery = ref({
current: 1, current: 1,
size: 10000 size: 30
}) })
//(true,false) //(true,false)
let isEdit = ref(false) let isEdit = ref(false)
@ -244,7 +244,11 @@ const handleSumbit = async () => {
getList() getList()
} }
// //
const getPoliceListFun = async () => { const getPoliceListFun = async (query) => {
if (query){
PoliceQuery.value.name = query;
}
const res = await getPoliceList(PoliceQuery.value) const res = await getPoliceList(PoliceQuery.value)
users.value = res.records; users.value = res.records;
} }
@ -302,7 +306,6 @@ function getDaysBetweenDates(date1, date2) {
onMounted(() => { onMounted(() => {
getList(); getList();
getPoliceListFun();
getNursingOrgList(); getNursingOrgList();
}) })
</script> </script>
@ -482,8 +485,10 @@ onMounted(() => {
<el-select <el-select
v-model="formData.policeId" v-model="formData.policeId"
filterable filterable
remote
default-first-option default-first-option
@change="CopyUserDetail" @change="CopyUserDetail"
:remote-method="getPoliceListFun"
> >
<el-option v-for="(item,key) in users" :key="key" <el-option v-for="(item,key) in users" :key="key"
:label="item.name" :label="item.name"

Loading…
Cancel
Save