lcw
This commit is contained in:
@ -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('发送成功')
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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(() => {
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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:'暂无解决方案')
|
||||
})
|
||||
|
||||
|
||||
@ -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 });
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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({})
|
||||
|
||||
Reference in New Issue
Block a user