This commit is contained in:
lcw
2025-12-10 10:18:14 +08:00
parent b39387c4ed
commit ab73675b23
78 changed files with 385 additions and 230 deletions

View File

@ -27,7 +27,7 @@
<script setup>
import { reactive, ref, onMounted, watch } from "vue";
import { qbcjZhcSendFqzl } from '@/api/qbcj'
import { qcckPost } from "@/api/qcckApi.js";
import { getItem } from '@/utils/storage'
import * as MOSTY from "@/components/MyComponents/index";
import ChooseUser from "@/components/ChooseList/ChooseUser/index.vue"
@ -49,7 +49,11 @@ const props = defineProps({
default: "发送指令"
}, width: {
type: String,
default: "70%"
default: "50%"
},
path: {
type: String,
default: "/qbcjZhc/sendFqzl"
}
@ -96,7 +100,8 @@ const getsendFqzl = () => {
personnelEntity: personnelEntity.value
}
try {
const res = await qbcjZhcSendFqzl(promes)
const res = await qcckPost(promes,props.path )
// qbcjZhcSendFqzl(promes)
const str = JSON.parse(res)
if (str.code == 200) {
ElMessage.success('发送成功')

View File

@ -55,6 +55,7 @@
import { onMounted, reactive, watch, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { qbcjCzzt, qbcjPldb } from "@/api/Intelligence.js";
import {xxcjXxfz} from "@/api/xxcj.js";
const props = defineProps({
modelValue: {
type: Boolean,
@ -113,7 +114,7 @@ const submit = () => {
getqbcjPldb()
}
const getqbcjPldb = () => {
qbcjPldb({ ids: props.dataList.map(item => item.id), qbjb: dxRadio.value, czzt: '05' }).then(res => {
xxcjXxfz({ id: props.dataList.map(item => item.id).join(','), qbjb: dxRadio.value}).then(res => {
ElMessage({
message: '操作成功',
type: 'success',

View File

@ -14,7 +14,7 @@
</FormMessage>
<!-- </div> -->
</div>
<div class="ml50 mr50 timeline-container">
<div class="ml50 mr50 timeline-container" v-if="disabled">
<div class="timeline-title">信息流程展示</div>
<el-timeline class="timeline-full-width">
<el-timeline-item :timestamp="item.czsj" placement="top" v-for="(item, index) in lcList" :key="index">
@ -36,18 +36,16 @@
</div>
</div>
</div>
<!-- <pursueContent v-model="pursueShow" :dataList="dataList" :updeteBool="true" @getqbcjCzztList="getqbcjCzztList" /> -->
</template>
<script setup>
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import { qbcjAdd, qbcjUpdate, qbcjSelectByid } from "@/api/Intelligence.js";
// import pursueContent from "@/views/backOfficeSystem/HumanIntelligence/components/pursueContent.vue";
import {xxcjAddEntity,xxcjUpdateEntity,xxcjSelectByid,xxcjSelectCzlcList} from "@/api/xxcj.js"
import { ref, defineExpose, onMounted, defineEmits, watch, getCurrentInstance } from "vue";
import { useRoute, useRouter } from 'vue-router'
import { qbcjCzztList, qbcjCzztDelete } from '@/api/qbcj'
import * as MOSTY from "@/components/MyComponents/index";
import { qbcjSelectCzlcList } from "@/api/Intelligence.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(["getList"]);
const props = defineProps({
@ -73,7 +71,6 @@ watch(() => dialogForm.value, (val) => {
if (val) {
formData.value = [
{ label: "情报标题", prop: "qbmc", type: "input", width: '45%' },
{ label: "情报等级", prop: "qbmj", type: "select", options: props.dict.D_BZ_BMJB, width: '45%' },
{ label: "情报内容", prop: "qbnr", type: "textarea", width: '100%', rows: 100 },
{ label: "附件上传", prop: "fjdz", type: "upload", width: '100%', isImg: false },
]
@ -101,16 +98,18 @@ const init = (type, row) => {
getqbcjPldb(row.id)
// 初始化表单数据,并根据详情页设置禁用状态
if (row) getDataById(row.id);
getqbcjCzztList()
// getqbcjCzztList()
} else {
showPj.value = false
}
};
// 根据id查询详情
const getDataById = (id) => {
qbcjSelectByid({ id }).then((res) => {
fjdz.value = res.ossList || [];
listQuery.value = res;
xxcjSelectByid({ id }).then((res) => {
console.log(res);
lcList.value = res.czlcList || []
listQuery.value = res;
listQuery.value.fjdz=res.fjdz?res.fjdz?.split(","):[]
});
};
@ -122,17 +121,18 @@ const submitForm = () => {
if (valid) {
const promes = {
...listQuery.value,
cjLx: 0
fjdz: listQuery.value.fjdz&&listQuery.value.fjdz.length > 0 ? listQuery.value.fjdz.join(',') : '',
qbly: 0,
}
if (title.value == '新增') {
qbcjAdd(promes).then((res) => {
xxcjAddEntity(promes).then((res) => {
emit("getList")
close()
}).finally(() => {
loading.value = false
})
} else if (title.value == '编辑') {
qbcjUpdate(promes).then((res) => {
xxcjUpdateEntity(promes).then((res) => {
emit("getList")
close()
}).finally(() => {
@ -152,25 +152,15 @@ const close = () => {
router.replace({ query });
}
fjdz.value = []
lcList.value=[]
listQuery.value = {};
dialogForm.value = false;
loading.value = false;
};
const qbBcList = ref()
// const getqbcjCzztList = () => {
// qbcjCzztList({ qbid: msgeDat.value.id }).then(res => {
// console.log(res);
// qbBcList.value = res || []
// })
// }
// const pursueShow = ref(false)
// const dataList = ref()
const lcList = ref([])
const getqbcjPldb = (id) => {
qbcjSelectCzlcList({ qbid: id }).then(res => {
xxcjSelectCzlcList({ qbid: id }).then(res => {
lcList.value = res || []
})
.catch(() => {

View File

@ -14,7 +14,8 @@
</el-icon>
<span style="vertical-align: middle">导出</span>
</el-button>
<el-button type="primary" :disabled="ids.length === 0" @click="batchMark(ids)" v-if="qxkz.deptLevel == '01'">
<el-button type="primary" :disabled="ids.length === 0" @click="FollowUpOnLeads(ids)"
v-if="qxkz.deptLevel == '01'">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
@ -26,12 +27,12 @@
</el-icon>
<span style="vertical-align: middle">转合成</span>
</el-button>
<el-button type="primary" :disabled="ids.length === 0" @click="batchMark(ids)" v-if="qxkz.deptLevel == '01'">
<!-- <el-button type="primary" :disabled="ids.length === 0" @click="batchMark(ids)" v-if="qxkz.deptLevel == '01'">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">打标</span>
</el-button>
<span style="vertical-align: middle">分组</span>
</el-button> -->
<el-button type="primary" :disabled="ids.length === 0" @click="handleSumbit(ids)" v-if="qxkz.deptLevel != '01'">
<el-icon style="vertical-align: middle">
<CirclePlus />
@ -64,33 +65,44 @@
<template #qblx="{ row }">
<DictTag :tag="false" :value="row.qblx" :options="D_GS_XS_LX" />
</template>
<template #cjlx="{ row }">
<DictTag :tag="false" :value="row.cjLx" :options="D_BZ_CJLX" />
<template #qbly="{ row }">
<DictTag :tag="false" :value="row.qbly" :options="D_BZ_CJLX" />
</template>
<template #czzt="{ row }">
<DictTag :tag="false" :value="row.czzt" :options="D_BZ_QBCZZT" />
</template>
<template #lczt="{ row }">
<DictTag :tag="false" :value="row.lczt" :options="D_BZ_LCZT" />
</template>
<!-- 操作 -->
<template #controls="{ row }">
<!-- 01 提交 02 上报 03 采纳 04 退回 05 打标签v-if="qxkz.deptLevel == '01'" -->
<el-link size="small" type="primary" v-if="row.czzt == '02' && qxkz.depBool" @click="cnMsg(row)">采纳</el-link>
<el-link size="small" type="primary" v-if="row.czzt == '03' && qxkz.depBool"
@click="opneMsg(row)">打标签</el-link>
<el-link size="small" type="primary" @click="rollbackNewspapers(row)"
v-if="row.czzt == '02' && row.qbjb == '00' && row.fxjsfsb != 1 && row.pcssfsb != 0 && qxkz.depBool">回退</el-link>
<el-link size="small" type="primary" @click="checkProcess(row)">查看流程</el-link>
<el-link size="small" type="primary" @click="appearNewspapers(row)"
v-if="(row.czzt == '01' || row.czzt == '04') && row.qbjb == '00' && qxkz.deptLevel != '01'">上报</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)" v-if="qxkz.depBool">转线索</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)" v-if="qxkz.depBool">转合成</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)">会商</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)">详情</el-link>
<!-- 01 提交 02 上报县局 03 上班市局 04 采纳 05 退回 06 打标签 07 转合成 08 转线索 09 转会商v-if="qxkz.deptLevel == '01'" -->
<!-- 在提交和退回得状态才能进行上报 -->
<el-link size="small" type="primary" @click="appearNewspapers(row)">上报</el-link>
<!-- 只有上报状态才能进行采纳 -->
<el-link size="small" type="primary" @click="cnMsg(row)">采纳</el-link>
<!-- 只有上报状态才能回退 -->
<el-link size="small" type="primary" @click="rollbackNewspapers(row)">回退</el-link>
<!-- 只有采纳状态才能分组 -->
<el-link size="small" type="primary" @click="opneMsg(row)">分组</el-link>
<!-- 所有状态都能进行转线索 -->
<el-link size="small" type="primary" @click="FollowUpOnLeads(row)" v-if="qxkz.depBool">线索</el-link>
<!-- 所有状态都能进行转合成 -->
<el-link size="small" type="primary" @click="openFkDialogszl(row)" v-if="qxkz.depBool">转合成</el-link>
<!-- 所有状态都能进行转会商 -->
<el-link size="small" type="primary" @click="addEdit('info', row)" v-if="qxkz.depBool">转会商</el-link>
<!-- 只有领导有肯定 -->
<el-link size="small" type="primary" @click="addEdit('info', row)">肯定</el-link>
<!-- 市局能给所有数据创建标签 -->
<el-link size="small" type="primary" @click="addEdit('info', row)">创建</el-link>
<el-link size="small" type="primary" @click="addEdit('edit', row)">修改</el-link>
<el-link size="small" type="danger" @click="delDictItem(row.id)">删除</el-link>
<el-link size="small" type="primary" @click="addEdit('edit', row)">修改</el-link>
<el-link size="small" type="primary" @click="addEdit('info', row)">详情</el-link>
</template>
</MyTable>checkProcess
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
@ -108,15 +120,15 @@
D_BZ_CLPP,
D_BZ_CLYS,
D_BZ_CLLX,
D_BZ_XZQHDM
D_BZ_XZQHDM,
D_BZ_QBCZZT
}" />
</div>
<ExportFile v-model="exportFileModel" :tableColumn="tableColumn" :dict="{ D_GS_XS_LY, D_GS_XS_LX, D_GS_XS_LX }"
:dataModel="pageData.tableData" />
<MakeTag v-model="chooseRow" :dataList="dataList" :dict="{ D_BZ_CJLX, D_BZ_QBCZZT, D_GS_XS_LX, D_BZ_BQJB }"
@getList="getList" />
<CheckProcess v-model="checkProcessModel" :dataList="dataList" :dict="{ D_BZ_QBCZZT }" />
<Fszl v-model="fszlShow" path="/xxcj/sendFqzl" :itemData="dataList" />
</template>
<script setup>
@ -127,19 +139,20 @@ import Searchs from "@/components/aboutTable/Search.vue";
import AddForm from "./components/addForm.vue";
import { useRouter, useRoute } from 'vue-router'
import { qbcjSelectQbsbPage, qbcjDeletes, qbcjCzzt, qbcjPlsb } from "@/api/Intelligence.js";
import { xxcjSelectXxsbPage, xxcjDeletes, xxcjXxzsx, xxcjUpdateCzlc } from '@/api/xxcj.js'
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
import MakeTag from '../components/maketag.vue'
import ExportFile from './components/exportFile.vue'
import CheckProcess from '../components/checkProcess.vue'
import { ElMessageBox } from 'element-plus'
import { getItem } from '@//utils/storage.js'
import Fszl from '@/views/backOfficeSystem/HumanIntelligence/components/fszl.vue'
const { proxy } = getCurrentInstance();
const { D_GS_XS_LY, D_BZ_SSZT, D_BZ_SF, D_GS_XS_LX, D_BZ_BQJB,
D_GS_XS_QTLX, D_GS_ZDQT_LB,
D_BZ_BMJB, D_BZ_CLPP, D_BZ_CLYS, D_BZ_CLLX, D_BZ_XZQHDM, D_BZ_QBCZZT, D_BZ_CJLX } =
D_BZ_BMJB, D_BZ_CLPP, D_BZ_CLYS, D_BZ_CLLX, D_BZ_XZQHDM, D_BZ_QBCZZT, D_BZ_CJLX, D_BZ_LCZT } =
proxy.$dict("D_BZ_BMJB", "D_GS_XS_LY",
"D_BZ_SSZT", "D_BZ_SF", "D_GS_XS_LX", "D_GS_XS_QTLX",
"D_GS_ZDQT_LB", "D_BZ_CLPP", "D_BZ_CLYS", "D_BZ_CLLX", "D_BZ_XZQHDM", "D_BZ_QBCZZT", "D_BZ_CJLX", "D_BZ_BQJB"); //获取字典数据
"D_GS_ZDQT_LB", "D_BZ_CLPP", "D_BZ_CLYS", "D_BZ_CLLX", "D_BZ_XZQHDM", "D_BZ_QBCZZT", "D_BZ_CJLX", "D_BZ_BQJB", "D_BZ_LCZT"); //获取字典数据
const detailDiloag = ref();
const searchBox = ref(); //搜索框
const ids = ref([])
@ -157,7 +170,7 @@ const searchConfiger = ref([
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
{ label: "姓名", prop: 'xssbr', placeholder: "请输入姓名", showType: "input" },
{ label: "录入时间", prop: 'lrkssj', placeholder: "请选择开始时间", showType: "datetimerange" },
{ label: "情报来源", prop: 'cjLx', placeholder: "请选择情报来源", showType: "select", options: D_BZ_CJLX },
{ label: "情报来源", prop: 'qbly', placeholder: "请选择情报来源", showType: "select", options: D_BZ_CJLX },
{ label: "情报处置状态", prop: 'czzt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_QBCZZT },
{ label: "来源单位", prop: 'ssbmdm', placeholder: "请选择来源单位", showType: "department" },
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
@ -175,80 +188,123 @@ const pageData = reactive({
pageSize: 20,
pageCurrent: 1
},
controlsWidth: 240,
controlsWidth: 300,
tableColumn: [
{ label: "情报上报时间", prop: "sxsbsj" },
{ label: "情报编号", prop: "xsBh" },
// { label: "上报人姓名", prop: "xssbr" },
{ label: "情报标题", prop: "qbmc" },
// { label: "情报类型", prop: "qblx", showSolt: true },
{ label: "情报来源", prop: "cjlx", showSolt: true },
{ label: "情报上报时间", prop: "sxsbsj" },
// { label: "指向地点", prop: "zxdz" },
{ label: "情报来源", prop: "qbly", showSolt: true },
{ label: "流程状态", prop: "lczt", showSolt: true },
{ label: "消息状态", prop: "czzt", showSolt: true },
// { label: "情报内容", prop: "qbnr" },
]
});
const queryFrom = ref({});
// 上报
const appearNewspapers = (item) => {
proxy.$confirm("确定要上报", "警告", { type: "warning" }).then(() => {
qbcjCzzt({ id: item.id, czzt: '02', qbjb: '00' }).then(res => {
proxy.$message({ type: "success", message: "上报成功" });
getList();
})
}).catch(() => { });
}
// 回退
const rollbackNewspapers = (item) => {
ElMessageBox.prompt('请输入回退原因', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
})
.then(({ value }) => {
qbcjCzzt({ id: item.id, czzt: '01', qbjb: '00', czthyy: value }).then(res => {
proxy.$message({ type: "success", message: "回退成功" });
getList();
})
})
.catch(() => {
})
}
const chooseRow = ref(false)
const dataList = ref()
const opneMsg = (item) => {
chooseRow.value = true
dataList.value = [item]
}
const cnMsg = (item) => {
proxy.$confirm("确定要采纳", "警告", { type: "warning" }).then(() => {
qbcjCzzt({ id: item.id, czzt: '03', qbjb: '00' }).then(res => {
proxy.$message({ type: "success", message: "采纳成功" });
getList();
})
}).catch(() => { });
}
// 打标
const batchMark = () => {
const listDb = tableList.value.filter(item => item.czzt != '03')
if (listDb.length == 0) {
chooseRow.value = true
dataList.value = tableList.value
// 采纳
const cnMsg = (item) => {
if ((item.lczt == '02' || item.lczt == '03') && qxkz.depBool) {
proxy.$confirm("确定要采纳", "警告", { type: "warning" }).then(() => {
xxcjUpdateCzlc({ id: item.id, lczt: '04' }).then(res => {
proxy.$message({ type: "success", message: "采纳成功" });
getList();
})
}).catch(() => { });
} else {
proxy.$message({
message: '还有情报未采纳',
message: '只能采纳已上报情报',
type: 'warning',
showClose: true,
})
}
}
// 回退
const rollbackNewspapers = (item) => {
if (item.lczt == '03') {
proxy.$message({
message: '无法回退市局上报信息',
type: 'warning',
showClose: true,
})
return
}
if (item.lczt == '02' && item.qbjb == '00') {
ElMessageBox.prompt('请输入回退原因', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
})
.then(({ value }) => {
qbcjCzzt({ id: item.id, czzt: '05', czthyy: value }).then(res => {
proxy.$message({ type: "success", message: "回退成功" });
getList();
})
})
.catch(() => {
})
} else {
proxy.$message({
message: '只能回退已上报的情报',
type: 'warning',
showClose: true,
})
}
}
// 上报
const appearNewspapers = (item) => {
if ((item.lczt == '01' || item.lczt == '05') && item.qbjb == '00' && qxkz.deptLevel != '01') {
proxy.$confirm("确定要上报", "警告", { type: "warning" }).then(() => {
let promes = {}
if (qxkz.deptLevel == '01') {
promes = { id: item.id, czzt: '03' }
} else {
promes = { id: item.id, czzt: '02' }
}
xxcjUpdateCzlc(promes).then(res => {
proxy.$message({ type: "success", message: "上报成功" });
getList();
})
}).catch(() => { });
} else {
proxy.$message({ type: "warning", message: "只能上报提交的情报" });
}
}
// 分组
const opneMsg = (item) => {
if (item.lczt=='04'&& qxkz.depBool) {
chooseRow.value = true
dataList.value = [item]
} else {
proxy.$message.warning('请选择已采纳的消息!')
}
}
// 批量分组
// const batchMark = () => {
// const listDb = tableList.value.filter(item => item.lczt != '04')
// if (listDb.length == 0) {
// chooseRow.value = true
// dataList.value = tableList.value
// } else {
// proxy.$message({
// message: '还有情报未采纳',
// type: 'warning',
// showClose: true,
// })
// }
// }
const handleSumbit = () => {
const listDb = tableList.value.filter(item => item.czzt != '01' && item.czzt != '04')
if (listDb.length == 0) {
@ -298,8 +354,10 @@ const changeSize = (val) => {
// 获取列表
const getList = () => {
pageData.tableConfiger.loading = true;
console.log(pageData.pageConfiger);
let data = { ...pageData.pageConfiger, ...queryFrom.value };
qbcjSelectQbsbPage(data).then(res => {
xxcjSelectXxsbPage(data).then(res => {
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;
@ -308,7 +366,7 @@ const getList = () => {
// 删除
const delDictItem = (id) => {
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
qbcjDeletes({ ids: Array.isArray(id) ? id : [id] }).then((res) => {
xxcjDeletes({ ids: Array.isArray(id) ? id : [id] }).then((res) => {
proxy.$message({ type: "success", message: "删除成功" });
getList();
}).catch(() => {
@ -318,13 +376,13 @@ const delDictItem = (id) => {
// 导出数据
const tableColumn = reactive([
{ label: "上报人姓名", prop: "xssbr" },
{ label: "情报上报时间", prop: "sxsbsj" },
{ label: "情报编号", prop: "xsBh" },
{ label: "情报标题", prop: "qbmc" },
{ label: "情报类型", prop: "qblx", showSolt: true, zd: 'D_GS_XS_LX' },
{ label: "情报来源", prop: "cjLx", showSolt: true, zd: 'D_BZ_CJLX' },
{ label: "情报上报时间", prop: "sxsbsj" },
{ label: "指向地点", prop: "zxdz" },
{ label: "情报内容", prop: "qbnr", showOverflowTooltip: true },
// { label: "情报类型", prop: "qblx", showSolt: true, zd: 'D_GS_XS_LX' },
{ label: "情报来源", prop: "qbly", showSolt: true, zd: 'D_BZ_CJLX' },
// { label: "指向地点", prop: "zxdz" },
// { label: "情报内容", prop: "qbnr", showOverflowTooltip: true },
])
// 详情
const addEdit = (type, row) => {
@ -391,11 +449,20 @@ const tabHeightFn = () => {
tabHeightFn();
};
};
// 流程
const checkProcessModel = ref()
const checkProcess = (item) => {
checkProcessModel.value = true
dataList.value = item
// 转线索
const FollowUpOnLeads = (row) => {
proxy.$confirm("确定要转线索吗?", "警告", { type: "warning" }).then(() => {
xxcjXxzsx({ ids: Array.isArray(row) ? row.join(',') : row.id }).then(res => {
proxy.$message({ type: "success", message: "转线索成功" });
getList();
})
})
}
// 发送指令
const fszlShow = ref(false)
const openFkDialogszl = (row) => {
fszlShow.value = true
dataList.value = row
}
</script>

View File

@ -99,6 +99,7 @@ import pursueContent from "../components/pursueContent.vue";
import Fszl from '../components/fszl.vue'
import { getItem } from '@//utils/storage.js'
import { qbcjZxs } from '@/api/qbcj.js'
import {xxcjSelectPage} from '@/api/xxcj.js'
const { proxy } = getCurrentInstance();
const { D_GS_XS_LY, D_BZ_SSZT, D_BZ_SF, D_GS_XS_LX, D_BZ_BQJB,
D_GS_XS_QTLX, D_GS_ZDQT_LB,
@ -153,15 +154,15 @@ watch(() => D_BZ_BQJB, val => {
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
{ label: "姓名", prop: 'xssbr', placeholder: "请输入姓名", showType: "input" },
{ label: "身份证号", prop: 'sfzh', placeholder: "请输入身份证号", showType: "input" },
{ label: "群体名称", prop: 'qtmc', placeholder: "请输入群体名称", showType: "input" },
{ label: "指向地点", prop: 'zxdz', placeholder: "请输入指向地点", showType: "input" },
{ label: "指向时间", prop: 'zxkssj', placeholder: "请选择开始时间", showType: "datetimerange" },
{ label: "录入时间", prop: 'lrkssj', placeholder: "请选择开始时间", showType: "datetimerange" },
{ label: "情报类型", prop: 'qblx', placeholder: "请选择情报类型", showType: "select", options: D_GS_XS_LX },
{ label: "情报来源", prop: 'cjLx', placeholder: "请选择情报来源", showType: "select", options: D_BZ_CJLX },
{ label: "情报处置状态", prop: 'czzt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_QBCZZT },
{ label: "来源单位", prop: 'ssbmdm', placeholder: "请选择来源单位", showType: "department" },
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
// { label: "群体名称", prop: 'qtmc', placeholder: "请输入群体名称", showType: "input" },
// { label: "指向地点", prop: 'zxdz', placeholder: "请输入指向地点", showType: "input" },
// { label: "指向时间", prop: 'zxkssj', placeholder: "请选择开始时间", showType: "datetimerange" },
// { label: "录入时间", prop: 'lrkssj', placeholder: "请选择开始时间", showType: "datetimerange" },
// { label: "情报类型", prop: 'qblx', placeholder: "请选择情报类型", showType: "select", options: D_GS_XS_LX },
// { label: "情报来源", prop: 'cjLx', placeholder: "请选择情报来源", showType: "select", options: D_BZ_CJLX },
// { label: "情报处置状态", prop: 'czzt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_QBCZZT },
// { label: "来源单位", prop: 'ssbmdm', placeholder: "请选择来源单位", showType: "department" },
// { label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
]
}, { deep: true, immediate: true })
const isShow = ref(false)
@ -234,11 +235,10 @@ const changeSize = (val) => {
// 获取列表
const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value, qbjbList: routerMate.value.qbjbList };
let data = { ...pageData.pageConfiger, ...queryFrom.value, qbjb: routerMate.value.qbjbList };
qbcjSelectPage(data).then(res => {
xxcjSelectPage(data).then(res => {
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;

View File

@ -93,8 +93,10 @@ const opneModel = (row) => {
const lx = props.dict.D_BZ_JQLY.find((items) => {
return items.value == item.yjlx
}).zdmc
textContent.value +=Subheading(`${index+1}.警情内容`)+textStyle(`预警名称:${item.yjBt},预警人员姓名:${item.yjRyxm},身份证号:${item.yjRysfzh},车牌号:${item.yjClcph},预警地址:${item.yjDz},预警类型:${lx},预警内容:${item.yjnr},预警时间:${item.yjsj}\n`)
})
textContent.value += Subheading(`${index + 1}.警情内容`) +
// textStyle(`预警名称:${item.yjBt},预警人员姓名:${item.yjRyxm},身份证号:${item.yjRysfzh},车牌号:${item.yjClcph},预警地址:${item.yjDz},预警类型:${lx},预警内容:${item.yjnr},预警时间:${item.yjsj}\n`)
textStyle(`警情内容:${item.bjnr},报警人姓名:${item.bjrmc},报警地址:${item.bjdz},报警类型:${lx},报警时间:${item.bjsj}\n`)
})
textContent.value+=Subheading(`解决方案`)+textStyle(jsonMatch?jsonMatch:'暂无解决方案')
})

View File

@ -33,7 +33,7 @@
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import { tbYjxxGetInfo } from "@/api/yj.js";
import { IdCard } from '@/utils/validate.js'
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, watch } from "vue";
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, watch ,onMounted,onUnmounted} from "vue";
const emit = defineEmits(["updateDate"]);
const props = defineProps({
dict: {
@ -42,7 +42,14 @@ const props = defineProps({
}
});
const { proxy } = getCurrentInstance();
onMounted(() => {
console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx------------");
})
onUnmounted(() => {
console.log('--------------------------------------');
})
const dialogForm = ref(false); //弹窗
const formData = ref([])
watch(() => props.dict, (res) => {
@ -93,6 +100,7 @@ const close = () => {
loading.value = false;
dialogForm.value = false;
listQuery.value = {}
};
defineExpose({ init });

View File

@ -4,7 +4,7 @@
<div class="tabBox" :style="{height:!search?maxHeight+200+'px':(maxHeight+150)+'px'}">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="maxHeight+'px'"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
:expand="true" :rowClassName="getRowClassName">
:expand="true" >
<template #expand="{ props }">
<div class="expand-content" style="max-width: 100%">
<Items :data="props" :dict="dict" />
@ -44,7 +44,7 @@
<template #controls="{ row }">
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
<el-link type="primary" @click="showDetail(row)">转合成</el-link>
<el-link type="danger" @click="delDictItem(row.id)">转会商</el-link>
<!-- <el-link type="danger" @click="delDictItem(row.id)">转会商</el-link> -->
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01'">签收</el-link>
<el-link type="success" @click="handleQsFk(row, '反馈')" v-else-if="row.czzt == '02'">反馈</el-link>
<el-link type="success" @click="handleQsFk(row, '查看反馈')" v-else>查看反馈</el-link>

View File

@ -95,7 +95,7 @@
</div>
</template>
</el-dialog>
<AddFrom ref="addFromRef" :dict="{ D_GSXT_YJXX_CZZT, D_BZ_YJJB, D_BZ_YJLYXT }" />
<AddFromz ref="addFromRefs" :dict="{ D_GSXT_YJXX_CZZT, D_BZ_YJJB, D_BZ_YJLYXT }" />
</template>
<script setup>
@ -107,7 +107,7 @@ import { tbYjxxQueryYjxx } from "@/api/yj.js";
import LocalWarning from "./components/localWarning.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
import AddFrom from './components/addFrom.vue';
import AddFromz from './components/addFrom.vue';
import FileSaver from "file-saver";
import emitter from "@/utils/eventBus.js";
import * as XLSX from "xlsx";
@ -178,11 +178,15 @@ const pageData = reactive({
});
const showDc = ref(false)
const activeName = ref('local')
const addFromRef = ref(null)
const addFromRefs = ref(null)
onMounted(() => {
tabHeightFn();
emitter.on('openAddFrom', (val) => {
addFromRef.value.init('add', val)
console.log( addFromRefs.value);
if(addFromRefs.value) {
addFromRefs.value.init('add', val)
}
// addFromRefs.value.init('add', val)
})
});
const listQuery = ref({})