更新
This commit is contained in:
@ -1,644 +1,40 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- 搜索 -->
|
<PageTitle :malginLeft="10" :height="35" backgroundColor="#ffff" :marginBottom="5" :marginTop="5">
|
||||||
<div ref="searchBox" class="mt10">
|
<template #left>
|
||||||
<Searchs :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount" />
|
<el-button size="small" v-for="el in tabBtn" :type="tabActive==el?'primary':''" @click="tabActive=el" :key="el">{{ el }}</el-button>
|
||||||
</div>
|
|
||||||
<PageTitle :malginLeft="10" :height="35" backgroundColor="#ffff" :marginBottom="5" :marginTop="5">
|
|
||||||
<template #left>
|
|
||||||
<el-button type="primary" @click="addEdit('add')" size="small">
|
|
||||||
<el-icon class="vertical-middle">
|
|
||||||
<CirclePlus />
|
|
||||||
</el-icon>
|
|
||||||
<span class="vertical-middle">新增</span>
|
|
||||||
</el-button>
|
|
||||||
<el-button type="primary" @click="dologCancel()" size="small">
|
|
||||||
<el-icon class="vertical-middle">
|
|
||||||
<CirclePlus />
|
|
||||||
</el-icon>
|
|
||||||
<span class="vertical-middle">导出</span>
|
|
||||||
</el-button>
|
|
||||||
<el-button type="primary" :disabled="ids.length === 0" @click="handleSumbit(ids)" v-if="qxkz.deptLevel != '01'"
|
|
||||||
size="small">
|
|
||||||
<el-icon class="vertical-middle">
|
|
||||||
<CirclePlus />
|
|
||||||
</el-icon>
|
|
||||||
<span class="vertical-middle">上报</span>
|
|
||||||
</el-button>
|
|
||||||
<el-button type="primary" :disabled="ids.length === 0" @click="delDictItem(ids)" size="small">
|
|
||||||
<el-icon class="vertical-middle">
|
|
||||||
<CirclePlus />
|
|
||||||
</el-icon>
|
|
||||||
<span class="vertical-middle">删除</span>
|
|
||||||
</el-button></template>
|
|
||||||
</PageTitle>
|
|
||||||
<!-- 表格 -->
|
|
||||||
<div class="tabBox" :style="{ height: (pageData.tableHeight + 40) + 'px' }">
|
|
||||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
|
||||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
|
||||||
@chooseData="chooseData" @handleCellClick="openXxqk">
|
|
||||||
<template #qblx="{ row }">
|
|
||||||
<DictTag :tag="false" :value="row.qblx" :options="D_GS_XS_LX" />
|
|
||||||
</template>
|
</template>
|
||||||
<template #qbly="{ row }">
|
</PageTitle>
|
||||||
<DictTag :tag="false" :value="row.qbly" :options="D_BZ_CJLX" />
|
<Infomation v-if="tabActive=='信息采集'" />
|
||||||
</template>
|
<FQXX v-else-if="tabActive=='蜂群信息'" />
|
||||||
<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 #cyqk="{ row }">
|
|
||||||
<el-link v-if="isShowBtn('采纳')" size="small" type="danger" @click="cnMsg(row)"
|
|
||||||
:disabled="butcontroll('04', row.lczt)">采纳</el-link>
|
|
||||||
<!-- 只有上报状态才能回退 -->
|
|
||||||
<el-link v-if="isShowBtn('回退')" size="small" type="danger" @click="rollbackNewspapers(row)"
|
|
||||||
:disabled="butcontroll('04', row.lczt)">回退</el-link>
|
|
||||||
</template>
|
|
||||||
<!-- 操作 -->
|
|
||||||
<!-- "市情指挥人员": ["采纳", "回退", "分组", "转线索", "转合成", "转会商", "打标签", "修改", "详情", "关注部门", "送审"], -->
|
|
||||||
<!-- "县情指人员": ["上报", "回退", "修改", "详情", "送审"], -->
|
|
||||||
<template #controls="{ row }">
|
|
||||||
<el-link v-if="isShowBtn('送审', row) && qxkz.deptLevel == '01'" :disabled="row.sldshzt != '00'||row.lczt != '04'" size="small"
|
|
||||||
type="primary" @click="postXxcjXxcjTjsh(row)">送审</el-link>
|
|
||||||
<el-link v-if="isShowBtn('送审', row) && qxkz.deptLevel == '02'" :disabled="row.xldshzt != '00'||row.lczt != '04'" size="small"
|
|
||||||
type="primary" @click="postXxcjXxcjTjsh(row)">送审</el-link>
|
|
||||||
<!-- (01 提交 02 上报县局 03 上班市局 04 采纳 05 退回 06 打标签 07 转合成 08 转线索 09 转会商)v-if="qxkz.deptLevel == '01'" -->
|
|
||||||
<!-- 在提交和退回得状态才能进行上报 -->
|
|
||||||
<el-link v-if="isShowBtn('上报')" size="small" type="primary" @click="appearNewspapers(row)" :disabled="row.xldshzt != '02'">上报</el-link>
|
|
||||||
<el-link v-if="isShowBtn('分组')" size="small" type="primary" @click="opneMsg(row)"
|
|
||||||
:disabled="row.sldshzt != '02'">分组</el-link>
|
|
||||||
<!-- 只有领导有肯定 -->
|
|
||||||
<!-- <el-link v-if="isShowBtn('肯定')" size="small" type="primary" @click="affirm(row)">肯定</el-link> -->
|
|
||||||
<el-link v-if="isShowBtn('删除')" size="small" type="primary" @clic.stopk="delDictItem(row.id)">删除</el-link>
|
|
||||||
<el-link v-if="isShowBtn('修改', row)" size="small" type="primary" @click="addEdit('edit', row)">修改</el-link>
|
|
||||||
<el-link v-if="isShowBtn('续报', row)" size="small" type="primary" @click="addEdit('followUpReport', row)">续报</el-link>
|
|
||||||
|
|
||||||
<el-link v-if="isShowBtn('详情')" size="small" type="primary" @click="addEdit('info', row)">详情</el-link>
|
|
||||||
<!-- 所有状态都能进行转线索 -->
|
|
||||||
<el-link v-if="isShowBtn('转线索')" size="small" type="primary" @click="FollowUpOnLeads(row)"
|
|
||||||
:disabled="row.sldshzt != '02' ">转线索</el-link>
|
|
||||||
<!-- 所有状态都能进行转合成 -->
|
|
||||||
<!-- <el-link v-if="isShowBtn('转合成')" size="small" type="primary" @click="openFkDialogszl(row)"
|
|
||||||
:disabled="butcontroll('01', row.lczt)">转合成</el-link> -->
|
|
||||||
<!-- 所有状态都能进行转会商 -->
|
|
||||||
<!-- <el-link v-if="isShowBtn('转会商')" size="small" type="primary" @click="handleTransferMerchant(row)"
|
|
||||||
:disabled="butcontroll('01', row.lczt)">转会商</el-link> -->
|
|
||||||
|
|
||||||
<el-link v-if="isShowBtn('关注部门')" :disabled="row.sldshzt != '02'" size="small" type="primary" @click="FollowUpOnDept(row)">关注</el-link>
|
|
||||||
<!-- 市局能给所有数据创建标签 -->
|
|
||||||
<el-link v-if="isShowBtn('打标签')" size="small" type="primary" @click="openCustomTag(row)"
|
|
||||||
:disabled="row.sldshzt != '02' ">打标签</el-link>
|
|
||||||
</template>
|
|
||||||
</MyTable>
|
|
||||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
|
||||||
...pageData.pageConfiger,
|
|
||||||
total: pageData.total
|
|
||||||
}"></Pages>
|
|
||||||
</div>
|
|
||||||
<!-- 新增 -->
|
|
||||||
<AddForm ref="detailDiloag" @getList="getList" :titleData="titleData" :dict="{ D_BZ_LCZT, D_BZ_SSSHZT }" />
|
|
||||||
</div>
|
</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" />
|
|
||||||
<Fszl v-model="fszlShow" path="/xxcj/sendFqzl" :itemData="dataList" />
|
|
||||||
<CustomTag v-model="customTagShow" :dataList="dataList" @getList="getList" :dict="{ D_XXCJ_BQLX }" />
|
|
||||||
<Configuration v-model="configurationShow" :dataList="dataList" @getList="getList" />
|
|
||||||
|
|
||||||
<!-- 转会商 -->
|
|
||||||
<transferMerchant v-if="isShowTransferMerchantTc" :row="currRow" ref="transferMerchantRef" title="转会商"
|
|
||||||
@close="isShowTransferMerchantTc = false" @ok="getList" />
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
import Infomation from "./infomation.vue";
|
||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import FQXX from "@/views/backOfficeSystem/InformationReporting/index.vue";
|
||||||
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, xxcjXxqd, xxcjXxcjTjsh } from '@/api/xxcj.js'
|
|
||||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||||
import MakeTag from '../components/maketag.vue'
|
|
||||||
import ExportFile from './components/exportFile.vue'
|
|
||||||
import { ElMessageBox } from 'element-plus'
|
|
||||||
import { getItem } from '@//utils/storage.js'
|
|
||||||
import Fszl from '@/views/backOfficeSystem/HumanIntelligence/components/fszl.vue'
|
|
||||||
import CustomTag from '../components/customTag.vue'
|
|
||||||
import Configuration from '../components/configuration.vue'
|
|
||||||
import transferMerchant from "./components/transferMerchant.vue";
|
|
||||||
import { isShiQingZhi } from "@/utils/auth.js"
|
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { D_GS_XS_LY, D_BZ_SSSHZT, D_BZ_SSZT, D_BZ_SF, D_GS_XS_LX, D_BZ_BQJB,
|
const tabBtn=ref(["信息采集","蜂群信息"])
|
||||||
D_GS_XS_QTLX, D_GS_ZDQT_LB,
|
const tabActive=ref('信息采集')
|
||||||
D_BZ_BMJB, D_BZ_CLPP, D_BZ_CLYS, D_BZ_CLLX, D_BZ_XZQHDM, D_BZ_QBCZZT, D_BZ_CJLX, D_BZ_LCZT,
|
|
||||||
D_XXCJ_BQLX } =
|
|
||||||
proxy.$dict("D_BZ_BMJB", "D_GS_XS_LY", 'D_BZ_SSSHZT',
|
|
||||||
"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_BZ_LCZT", "D_XXCJ_BQLX"); //获取字典数据
|
|
||||||
const detailDiloag = ref();
|
|
||||||
const searchBox = ref(); //搜索框
|
|
||||||
const ids = ref([])
|
|
||||||
const tableList = ref([]);
|
|
||||||
const chooseData = (val) => {
|
|
||||||
ids.value = val.map(item => {
|
|
||||||
return item.id
|
|
||||||
})
|
|
||||||
tableList.value = val
|
|
||||||
}
|
|
||||||
/** 市情指 */
|
|
||||||
const cityIntelligenceCommand = isShiQingZhi()
|
|
||||||
const currRow = ref({})
|
|
||||||
const transferMerchantRef = ref()
|
|
||||||
const isShowTransferMerchantTc = ref(false)
|
|
||||||
|
|
||||||
const isShow = ref(false)
|
|
||||||
const searchConfiger = ref([
|
|
||||||
{ label: "录入人", prop: 'xssbr', placeholder: "请输入录入人", showType: "input" },
|
|
||||||
{ label: "录入单位", prop: "ssbmdm", placeholder: "请选择录入单位", showType: "department" },
|
|
||||||
{ label: "编号", prop: 'xsBh', placeholder: "请输入编号", showType: "input" },
|
|
||||||
{ label: "时间", prop: "startTime", placeholder: "请选择时间", showType: "daterange" },
|
|
||||||
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
|
|
||||||
{ label: "标签内容", prop: 'bqdmList', placeholder: "请选择标签内容", showType: "select", options: D_XXCJ_BQLX,multiple:true},
|
|
||||||
{ label: "标签级别", prop: 'qbjb', placeholder: "请选择标签级别", showType: "select", options: D_BZ_BQJB },
|
|
||||||
{ label: "情报处置状态", prop: 'lczt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_LCZT },
|
|
||||||
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
|
|
||||||
]);
|
|
||||||
const pageData = reactive({
|
|
||||||
tableData: [],
|
|
||||||
keyCount: 0,
|
|
||||||
tableConfiger: {
|
|
||||||
rowHieght: 61,
|
|
||||||
showSelectType: "checkBox",
|
|
||||||
loading: false
|
|
||||||
},
|
|
||||||
total: 0,
|
|
||||||
pageConfiger: {
|
|
||||||
pageSize: 20,
|
|
||||||
pageCurrent: 1
|
|
||||||
},
|
|
||||||
controlsWidth: 300,
|
|
||||||
tableColumn: [
|
|
||||||
{ label: "情报上报时间", prop: "sxsbsj" },
|
|
||||||
{ label: "情报编号", prop: "xsBh" },
|
|
||||||
{ label: "情报标题", prop: "qbmc" },
|
|
||||||
{ label: "情报来源", prop: "qbly", showSolt: true },
|
|
||||||
{ label: "上报人", prop: "xssbr" },
|
|
||||||
{ label: "上报单位", prop: "ssbm" },
|
|
||||||
{ label: "流程状态", prop: "lczt", showSolt: true },
|
|
||||||
{ label: "采用情况", prop: "cyqk", showSolt: true },
|
|
||||||
// { label: "标签内容", prop: "lczt", showSolt: true },
|
|
||||||
// { label: "消息状态", prop: "czzt", showSolt: true },
|
|
||||||
]
|
|
||||||
});
|
|
||||||
const queryFrom = ref({});
|
|
||||||
|
|
||||||
const chooseRow = ref(false)
|
|
||||||
const dataList = ref()
|
|
||||||
|
|
||||||
// 采纳
|
|
||||||
const cnMsg = (item) => {
|
|
||||||
// if ( qxkz.depBool) {
|
|
||||||
proxy.$confirm("确定要采纳", "警告", { type: "warning" }).then(() => {
|
|
||||||
xxcjUpdateCzlc({ id: item.id, lczt: '04' }).then(res => {
|
|
||||||
proxy.$message({ type: "success", message: "采纳成功" });
|
|
||||||
getList();
|
|
||||||
})
|
|
||||||
}).catch(() => { });
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
// 回退
|
|
||||||
const rollbackNewspapers = (item) => {
|
|
||||||
// if (item.lczt == '04') {
|
|
||||||
// proxy.$message({
|
|
||||||
// message: '已经采纳的信息无法回退',
|
|
||||||
// type: 'warning',
|
|
||||||
// showClose: true,
|
|
||||||
// })
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
// if (item.lczt == '03') {
|
|
||||||
// proxy.$message({
|
|
||||||
// message: '无法回退市局上报信息',
|
|
||||||
// type: 'warning',
|
|
||||||
// showClose: true,
|
|
||||||
// })
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
if (item.qbjb == '00') {
|
|
||||||
ElMessageBox.prompt('请输入回退原因', '警告', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
})
|
|
||||||
.then(({ value }) => {
|
|
||||||
xxcjUpdateCzlc({ id: item.id, lczt: '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.lczt == '02') && item.qbjb == '00' && qxkz.deptLevel != '01') {
|
|
||||||
proxy.$confirm("确定要上报", "警告", { type: "warning" }).then(() => {
|
|
||||||
let promes = {}
|
|
||||||
if (qxkz.deptLevel == '02') {
|
|
||||||
promes = { id: item.id, lczt: '03' }
|
|
||||||
} else {
|
|
||||||
promes = { id: item.id, lczt: '02' }
|
|
||||||
}
|
|
||||||
xxcjUpdateCzlc(promes).then(res => {
|
|
||||||
proxy.$message({ type: "success", message: "上报成功" });
|
|
||||||
getList();
|
|
||||||
})
|
|
||||||
|
|
||||||
}).catch(() => { });
|
|
||||||
} else {
|
|
||||||
proxy.$message({ type: "warning", message: "市局无法进行上报" });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 分组
|
|
||||||
const opneMsg = (item) => {
|
|
||||||
chooseRow.value = true
|
|
||||||
dataList.value = [item]
|
|
||||||
}
|
|
||||||
// 打标签
|
|
||||||
const customTagShow = ref(false)
|
|
||||||
const openCustomTag = (item) => {
|
|
||||||
if (qxkz.depBool) {
|
|
||||||
customTagShow.value = true
|
|
||||||
dataList.value = item
|
|
||||||
} else {
|
|
||||||
proxy.$message.warning('暂无权限')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 肯定
|
|
||||||
const affirm = (item) => {
|
|
||||||
proxy.$confirm("确定要肯定吗?", "警告", { type: "warning" }).then(() => {
|
|
||||||
xxcjXxqd({ ids: item.id }).then(res => {
|
|
||||||
proxy.$message({ type: "success", message: "肯定成功" });
|
|
||||||
getList();
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
// 配置关注部门
|
|
||||||
const configurationShow = ref(false)
|
|
||||||
const FollowUpOnDept = (item) => {
|
|
||||||
if (qxkz.depBool) {
|
|
||||||
configurationShow.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) {
|
|
||||||
proxy.$confirm("确定要上报", "警告", { type: "warning" }).then(() => {
|
|
||||||
qbcjPlsb({ ids: ids.value, qbjb: '00' }).then(res => {
|
|
||||||
proxy.$message({ type: "success", message: "上报成功" });
|
|
||||||
getList();
|
|
||||||
})
|
|
||||||
}).catch(() => { });
|
|
||||||
} else {
|
|
||||||
proxy.$message({
|
|
||||||
message: '请选择正确数据',
|
|
||||||
type: 'warning',
|
|
||||||
showClose: true,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// <!-- [04、06、07、08、09] -->打标签
|
|
||||||
// <!-- [03、05] -->采纳
|
|
||||||
// <!-- [04] -->回退
|
|
||||||
// <!-- (01 提交 02 上报县局 03 上班市局 04 采纳 05 退回 06 打标签 07 转合成 08 转线索 09 转会商)v-if="qxkz.deptLevel == '01'" -->
|
|
||||||
const butcontroll = (val, zt) => {
|
|
||||||
switch (val) {
|
|
||||||
case '01':
|
|
||||||
return !(['04', '06', '07', '08', '09'].includes(zt))
|
|
||||||
case '02':
|
|
||||||
return !(['03', '05'].includes(zt))
|
|
||||||
case '03':
|
|
||||||
return !(['02', '03', '04'].includes(zt))
|
|
||||||
case '04':
|
|
||||||
return ([ '04', '05' ,'06', '07', '08', '09'].includes(zt))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 搜索
|
|
||||||
const onSearch = (val) => {
|
|
||||||
console.log(val.bqdmList);
|
|
||||||
|
|
||||||
const promes = {
|
|
||||||
...pageData.pageConfiger,
|
|
||||||
...val,
|
|
||||||
startTime: val.startTime ? val.startTime[0] : '',
|
|
||||||
endTime: val.endTime ? val.endTime[1] : '',
|
|
||||||
bqdmList:val.bqdmList?val.bqdmList.join(','):""
|
|
||||||
}
|
|
||||||
|
|
||||||
queryFrom.value = { ...promes }
|
|
||||||
pageData.pageConfiger.pageCurrent = 1;
|
|
||||||
getList()
|
|
||||||
}
|
|
||||||
|
|
||||||
const changeNo = (val) => {
|
|
||||||
pageData.pageConfiger.pageCurrent = val;
|
|
||||||
getList()
|
|
||||||
}
|
|
||||||
const changeSize = (val) => {
|
|
||||||
pageData.pageConfiger.pageSize = val;
|
|
||||||
getList()
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取列表
|
|
||||||
const getList = () => {
|
|
||||||
pageData.tableConfiger.loading = true;
|
|
||||||
console.log(pageData.pageConfiger);
|
|
||||||
|
|
||||||
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
|
||||||
xxcjSelectXxsbPage(data).then(res => {
|
|
||||||
pageData.tableData = res.records || [];
|
|
||||||
pageData.total = res.total;
|
|
||||||
pageData.tableConfiger.loading = false;
|
|
||||||
}).catch(() => { pageData.tableConfiger.loading = false; })
|
|
||||||
}
|
|
||||||
// 删除
|
|
||||||
const delDictItem = (id) => {
|
|
||||||
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
|
|
||||||
xxcjDeletes({ ids: Array.isArray(id) ? id : [id] }).then((res) => {
|
|
||||||
proxy.$message({ type: "success", message: "删除成功" });
|
|
||||||
getList();
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
}).catch(() => { });
|
|
||||||
}
|
|
||||||
// 导出数据
|
|
||||||
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: "qbly", showSolt: true, zd: 'D_BZ_CJLX' },
|
|
||||||
// { label: "指向地点", prop: "zxdz" },
|
|
||||||
// { label: "情报内容", prop: "qbnr", showOverflowTooltip: true },
|
|
||||||
])
|
|
||||||
// 详情
|
|
||||||
const addEdit = (type, row) => {
|
|
||||||
isShow.value = true;
|
|
||||||
setTimeout(() => {
|
|
||||||
detailDiloag.value.init(type, row);
|
|
||||||
}, 500)
|
|
||||||
};
|
|
||||||
const openXxqk = (row) => {
|
|
||||||
if (row.column.property == 'qbmc' || row.column.property == 'xsBh') {
|
|
||||||
isShow.value = true;
|
|
||||||
setTimeout(() => {
|
|
||||||
detailDiloag.value.init('info', row.row);
|
|
||||||
}, 500)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const route = useRoute()
|
|
||||||
const titleData = ref()
|
|
||||||
const qxkz = reactive({
|
|
||||||
deptBizType: '',
|
|
||||||
deptLevel: '',
|
|
||||||
roleCode: false,
|
|
||||||
depBool: false
|
|
||||||
});
|
|
||||||
const qxzt = ref(false)
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
const { deptBizType, deptLevel } = getItem('deptId')[0]
|
|
||||||
const Jb = deptLevel[0] == '2' ? '01' : deptLevel[0] == '3' ? '02' : '03'
|
|
||||||
qxkz.roleCode = getItem('roleList').find(item => item.roleCode == 'JS_666666') != undefined
|
|
||||||
qxkz.deptBizType = deptBizType
|
|
||||||
qxkz.deptLevel = Jb
|
|
||||||
if (deptBizType == '23' && Jb == '01') {
|
|
||||||
qxkz.depBool = true
|
|
||||||
} else {
|
|
||||||
qxkz.depBool = false
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
getRouter()
|
|
||||||
tabHeightFn()
|
|
||||||
if (route.query.id) {
|
|
||||||
detailDiloag.value.init('edit', {
|
|
||||||
id: route.query.id
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
getList()
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
const getRouter = () => {
|
|
||||||
titleData.value = route.meta.title
|
|
||||||
}
|
|
||||||
const exportFileModel = ref(false)
|
|
||||||
const dologCancel = () => {
|
|
||||||
exportFileModel.value = true;
|
|
||||||
}
|
|
||||||
// 搜索栏
|
|
||||||
|
|
||||||
// 表格高度计算
|
|
||||||
const tabHeightFn = () => {
|
|
||||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
|
||||||
window.onresize = function () {
|
|
||||||
tabHeightFn();
|
|
||||||
};
|
|
||||||
};
|
|
||||||
// 转线索
|
|
||||||
const FollowUpOnLeads = (row) => {
|
|
||||||
if (!qxkz.depBool) {
|
|
||||||
proxy.$message({
|
|
||||||
message: '权限不足',
|
|
||||||
type: 'warning',
|
|
||||||
showClose: true,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
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) => {
|
|
||||||
if (!qxkz.depBool) {
|
|
||||||
proxy.$message({
|
|
||||||
message: '权限不足',
|
|
||||||
type: 'warning',
|
|
||||||
showClose: true,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
fszlShow.value = true
|
|
||||||
dataList.value = row
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** 获取当前角色 */
|
|
||||||
function getRole() {
|
|
||||||
const { deptBizType, deptLevel } = getItem('deptId')[0]
|
|
||||||
/** 是否是市情指领导 */
|
|
||||||
const isShiQzLeader = getItem('roleList').find(item => item.roleCode == 'JS_666666') != undefined
|
|
||||||
if (isShiQzLeader) return '市情指领导'
|
|
||||||
/** 是否是市情指人员 */
|
|
||||||
const isShiQz = getItem('roleList').find(item => item.roleCode == 'JS_777777') != undefined
|
|
||||||
if (isShiQz) return '市情指挥人员'
|
|
||||||
/** 是否是县情指人员 */
|
|
||||||
const isXianQz = getItem('roleList').find(item => item.roleCode == 'JS_888888') != undefined
|
|
||||||
if (isXianQz) return '县情指人员'
|
|
||||||
return '部门'
|
|
||||||
}
|
|
||||||
/** 是否展示按钮 */
|
|
||||||
const isShowBtn = (btnName, row = {}) => {
|
|
||||||
/** @type {String} 流程状态(01 提交 02 上报县局 03 上班市局 04 采纳 05 退回 06 打标签 08 转线索) */
|
|
||||||
const lczt = row.lczt
|
|
||||||
/** 按钮权限 */
|
|
||||||
const buttonPermissions = {
|
|
||||||
"市情指领导": ["肯定", "采纳", "回退", "分组", "转线索", "转合成", "转会商", "打标签", "修改", "详情", "关注部门"],
|
|
||||||
"市情指挥人员": ["采纳", "回退", "分组", "转线索", "转合成", "转会商", "打标签", "修改", "详情", "关注部门", "送审"],
|
|
||||||
"县情指人员": ["上报", "回退", "修改", "详情", "送审"],
|
|
||||||
"部门": ["上报", "新增", "修改", "续报", "详情"]
|
|
||||||
};
|
|
||||||
|
|
||||||
const role = getRole(); // 角色
|
|
||||||
const isHadAuth = buttonPermissions[role]?.includes(btnName) // 当前角色所有会显示的按钮
|
|
||||||
if (!isHadAuth) return false
|
|
||||||
// 拦截部分逻辑
|
|
||||||
if (role === '部门') {
|
|
||||||
if (btnName === '续报') return lczt != '01'
|
|
||||||
if (btnName === '修改') return lczt == '01'
|
|
||||||
// if(btnName === '上报') return lczt == '01'
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
const handleTransferMerchant = (row) => {
|
|
||||||
currRow.value = row
|
|
||||||
isShowTransferMerchantTc.value = true
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 送审
|
|
||||||
const postXxcjXxcjTjsh = (row) => {
|
|
||||||
proxy.$confirm("确定要送审吗", "提示", { type: "warning" }).then(() => {
|
|
||||||
xxcjXxcjTjsh({ xxid: row.id }).then(res => {
|
|
||||||
proxy.$message({ type: "success", message: "送审成功" });
|
|
||||||
getList();
|
|
||||||
})
|
|
||||||
}).catch(() => { })
|
|
||||||
}
|
|
||||||
const getDisabled = (val, zt) => {
|
|
||||||
console.log(val, zt);
|
|
||||||
|
|
||||||
// switch (val) {
|
|
||||||
// case '01':
|
|
||||||
// return !(['04', '06', '07', '08', '09'].includes(zt))
|
|
||||||
// case '02':
|
|
||||||
// return !(['03', '05'].includes(zt))
|
|
||||||
// case '03':
|
|
||||||
// return !(['02', '03', '04'].includes(zt))
|
|
||||||
// case '04':
|
|
||||||
// return ([ '04', '05' ,'06', '07', '08', '09'].includes(zt))
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.label-pop {
|
.marks {
|
||||||
position: relative;
|
padding: 0 4px;
|
||||||
|
white-space: nowrap;
|
||||||
&::before {
|
background: #73acf1;
|
||||||
position: absolute;
|
border-radius: 4px;
|
||||||
content: '*';
|
color: #fff;
|
||||||
top: 0;
|
|
||||||
left: -7px;
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.el-loading-mask {
|
.el-loading-mask {
|
||||||
background: rgba(0, 0, 0, 0.5) !important;
|
background: rgba(0, 0, 0, 0.5) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:v-deep .el-dialog {
|
|
||||||
width: 90% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.zdy-model-dialogs {
|
|
||||||
/* background-color: rgb(50, 148, 214); */
|
|
||||||
background: url("~@/assets/images/bg46.png") no-repeat center center;
|
|
||||||
background-size: 100% 100%;
|
|
||||||
padding: 8px 10px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
pointer-events: auto !important;
|
|
||||||
height: calc(100% - 50px);
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-middle {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -166,6 +166,7 @@ const searchConfiger = ref([
|
|||||||
{ label: "编号", prop: 'xsBh', placeholder: "请输入编号", showType: "input" },
|
{ label: "编号", prop: 'xsBh', placeholder: "请输入编号", showType: "input" },
|
||||||
{ label: "时间", prop: "startTime", placeholder: "请选择时间", showType: "daterange" },
|
{ label: "时间", prop: "startTime", placeholder: "请选择时间", showType: "daterange" },
|
||||||
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
|
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
|
||||||
|
{ label: "标签内容", prop: 'bqdmList', placeholder: "请选择标签内容", showType: "select", options: D_XXCJ_BQLX,multiple:true},
|
||||||
{ label: "标签级别", prop: 'qbjb', placeholder: "请选择标签级别", showType: "select", options: D_BZ_BQJB },
|
{ label: "标签级别", prop: 'qbjb', placeholder: "请选择标签级别", showType: "select", options: D_BZ_BQJB },
|
||||||
{ label: "情报处置状态", prop: 'lczt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_LCZT },
|
{ label: "情报处置状态", prop: 'lczt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_LCZT },
|
||||||
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
|
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
|
||||||
@ -370,12 +371,14 @@ const butcontroll = (val, zt) => {
|
|||||||
|
|
||||||
// 搜索
|
// 搜索
|
||||||
const onSearch = (val) => {
|
const onSearch = (val) => {
|
||||||
|
console.log(val.bqdmList);
|
||||||
|
|
||||||
const promes = {
|
const promes = {
|
||||||
...pageData.pageConfiger,
|
...pageData.pageConfiger,
|
||||||
...val,
|
...val,
|
||||||
startTime: val.startTime ? val.startTime[0] : '',
|
startTime: val.startTime ? val.startTime[0] : '',
|
||||||
endTime: val.endTime ? val.endTime[1] : '',
|
endTime: val.endTime ? val.endTime[1] : '',
|
||||||
|
bqdmList:val.bqdmList?val.bqdmList.join(','):""
|
||||||
}
|
}
|
||||||
|
|
||||||
queryFrom.value = { ...promes }
|
queryFrom.value = { ...promes }
|
||||||
@ -486,7 +489,7 @@ const dologCancel = () => {
|
|||||||
|
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
const tabHeightFn = () => {
|
const tabHeightFn = () => {
|
||||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 290;
|
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||||
window.onresize = function () {
|
window.onresize = function () {
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
};
|
};
|
||||||
@ -253,73 +253,10 @@ const handleOpenNotification = () => {
|
|||||||
}
|
}
|
||||||
const makerCenter = () => {
|
const makerCenter = () => {
|
||||||
const dw = require("@/assets/point/dingwei.png")
|
const dw = require("@/assets/point/dingwei.png")
|
||||||
// qcckGet({},'/mosty-gsxt/lzJcjPjdb/selectCount').then(res=>{
|
|
||||||
// // qcckGet({},'/mosty-gsxt/tbYjxx/selectSsbm').then(res=>{
|
|
||||||
// emitter.emit('deletePointArea','hm')
|
|
||||||
// let list = res || [];
|
|
||||||
// list.forEach(item => {
|
|
||||||
// (item.jqjb || []).forEach(v=>{
|
|
||||||
// v.jbmc = D_BZ_JQDJ.value.find(itm => itm.value == v.jbdm).label
|
|
||||||
// })
|
|
||||||
// let obj = centralPoint.find(i => i.name == item.ssbm || i.ssbmdm == item.ssbmdm);
|
|
||||||
// if(obj){
|
|
||||||
// item.jd = obj.point[0];
|
|
||||||
// item.wd = obj.point[1];
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
// allDep.value = list;
|
|
||||||
// console.log( allDep.value);
|
|
||||||
|
|
||||||
// emitter.emit("addPointArea", { coords:list, icon: dw, flag: "hm", size: '14px', showTitle: false, offset: [0, -25] });
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
qcckGet({}, '/mosty-gsxt/lzJcjPjdb/selectCountNew').then(res => {
|
qcckGet({}, '/mosty-gsxt/lzJcjPjdb/selectCountNew').then(res => {
|
||||||
console.log(res);
|
let list = res || [];
|
||||||
|
|
||||||
let list = res || [];
|
|
||||||
list.forEach(item => {
|
|
||||||
// (item.jqjb || []).forEach(v=>{
|
|
||||||
// v.jbmc = D_BZ_JQDJ.value.find(itm => itm.value == v.jbdm).label
|
|
||||||
// })
|
|
||||||
// console.log(item);
|
|
||||||
|
|
||||||
// jbmc:item.jqjb.jbmc
|
|
||||||
let obj = centralPoint.find(i => i.name == item.ssbm || i.ssbmdm == item.ssbmdm);
|
|
||||||
if(obj){
|
|
||||||
item.jd = obj.point[0];
|
|
||||||
item.wd = obj.point[1];
|
|
||||||
}
|
|
||||||
})
|
|
||||||
allDep.value = list;
|
allDep.value = list;
|
||||||
emitter.emit("addPointArea", { coords:list, icon: dw, flag: "hm", size: '14px', showTitle: false, offset: [0, -25] });
|
emitter.emit("addPointArea", { coords:list, icon: dw, flag: "hm", size: '14px', showTitle: false, offset: [0, -25] });
|
||||||
// let obj = centralPoint.find(i => i.name == item.ssbm || i.ssbmdm == item.ssbmdm);
|
|
||||||
// if(obj){
|
|
||||||
// item.jd = obj.point[0];
|
|
||||||
// item.wd = obj.point[1];
|
|
||||||
// }
|
|
||||||
// qcckGet({},'/mosty-gsxt/tbYjxx/selectSsbm').then(res=>{
|
|
||||||
// emitter.emit('deletePointArea','hm')
|
|
||||||
// let list = res || [];
|
|
||||||
// list.forEach(item => {
|
|
||||||
// (item.jqjb || []).forEach(v=>{
|
|
||||||
// v.jbmc = D_BZ_JQDJ.value.find(itm => itm.value == v.jbdm).label
|
|
||||||
// })
|
|
||||||
// let obj = centralPoint.find(i => i.name == item.ssbm || i.ssbmdm == item.ssbmdm);
|
|
||||||
// if(obj){
|
|
||||||
// item.jd = obj.point[0];
|
|
||||||
// item.wd = obj.point[1];
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
// allDep.value = list;
|
|
||||||
// console.log( allDep.value);
|
|
||||||
|
|
||||||
// emitter.emit("addPointArea", { coords:list, icon: dw, flag: "hm", size: '14px', showTitle: false, offset: [0, -25] });
|
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user