lcw
This commit is contained in:
115
src/views/backOfficeSystem/InformationReporting/addForm.vue
Normal file
115
src/views/backOfficeSystem/InformationReporting/addForm.vue
Normal file
@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<!-- 数据整理 -->
|
||||
<div class="dialog" v-if="dialogForm">
|
||||
<div class="head_box">
|
||||
<span class="title">上报信息详情 </span>
|
||||
<div><el-button size="small" @click="close">关闭</el-button></div>
|
||||
</div>
|
||||
<div style="padding-bottom: 40px;" class="form_cnt">
|
||||
<FormMessage v-model="listQuery" :formList="formData" ref="elform" :disabled="true">
|
||||
</FormMessage>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import FormMessage from "@/components/aboutTable/FormMessage.vue";
|
||||
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, watch, computed } from "vue";
|
||||
import { dataLx } from './info'
|
||||
import { qcckGet ,qcckPost} from "@/api/qcckApi.js";
|
||||
const emit = defineEmits(["updateDate", "getList"]);
|
||||
const props = defineProps({
|
||||
dict: Object
|
||||
});
|
||||
const { proxy } = getCurrentInstance();
|
||||
const dialogForm = ref(false); //弹窗
|
||||
const formData = ref([]);
|
||||
// 初始化数据
|
||||
const init = ( row) => {
|
||||
console.log(row);
|
||||
|
||||
dialogForm.value = true;
|
||||
|
||||
formData.value = dataLx[row.typeId]
|
||||
getDetail(row.typeId,row.id)
|
||||
};
|
||||
const listQuery = ref({})
|
||||
const loading = ref(false)
|
||||
// 数据详情
|
||||
const getDetail = (val, baseId) => {
|
||||
let url = ''
|
||||
switch (val) {
|
||||
case '2001':
|
||||
url = '/important/base/selectSwjfByBaseId'
|
||||
break;
|
||||
case '2002':
|
||||
url = '/important/base/selectXsajByBaseId'
|
||||
break;
|
||||
case '2003':
|
||||
url = '/important/base/selectJtsgByBaseId'
|
||||
break;
|
||||
case '2004':
|
||||
url = '/important/base/selectAqscByBaseId'
|
||||
break;
|
||||
case '2005':
|
||||
url = '/important/base/selectGgwsByBaseId'
|
||||
break;
|
||||
case '2006':
|
||||
url = '/important/base/selectFzswByBaseId'
|
||||
break;
|
||||
case '2007':
|
||||
url = '/important/base/selectZzrzhByBaseId'
|
||||
break;
|
||||
case '2008':
|
||||
url = '/important/base/selectOtherByBaseId'
|
||||
break;
|
||||
}
|
||||
loading.value = true;
|
||||
qcckGet({
|
||||
baseId: baseId
|
||||
}, '/mosty-gsxt' + url).then(res => {
|
||||
listQuery.value = res || {}
|
||||
}).finally(() => {
|
||||
loading.value = false;
|
||||
})
|
||||
}
|
||||
// 关闭
|
||||
const close = () => {
|
||||
listQuery.value = {};
|
||||
dialogForm.value = false;
|
||||
loading.value = false;
|
||||
};
|
||||
|
||||
defineExpose({ init });
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "~@/assets/css/layout.scss";
|
||||
@import "~@/assets/css/element-plus.scss";
|
||||
|
||||
::v-deep .form-item-box {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.bottom-actions {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
width: 100%;
|
||||
transform: translateX(-50%);
|
||||
padding: 10px 20px;
|
||||
|
||||
border-radius: 4px;
|
||||
background: white;
|
||||
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
|
||||
// z-index: 1000;
|
||||
}
|
||||
.table-box {
|
||||
// width: calc(100% - 2px);
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
161
src/views/backOfficeSystem/InformationReporting/index.vue
Normal file
161
src/views/backOfficeSystem/InformationReporting/index.vue
Normal file
@ -0,0 +1,161 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="蜂群信息上报"/>
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||
|
||||
<template #jflx="{ row }">
|
||||
<DictTag :tag="false" :value="row.jflx" :options="jflxArr" />
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="addEdit( row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
</div>
|
||||
<!-- 编辑详情 -->
|
||||
<!-- <EditAddForm v-if="show" ref="detailDiloag" :dic="{ JQLB,JQLX,JQXL,JQZL,D_BZ_JQLY,D_BZ_JQFL,JQLB_DP,D_BZ_JQBQ,D_GS_SSYJ }"
|
||||
@updateDate="getList" /> -->
|
||||
</div>
|
||||
<AddForm ref="addForm" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
// import EditAddForm from "./components/editAddForm.vue";
|
||||
import { importantBaseSelectPage } from '@/api/HumanIntelligence/integralList.js'
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
import AddForm from "./addForm.vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
// const { D_GS_JFLX, } = proxy.$dict("D_GS_JFLX",); //获取字典数据
|
||||
const { D_GS_JFLX, } = proxy.$fzdict("BD_D_SJLB",); //获取字典数据
|
||||
const detailDiloag = ref();
|
||||
const show = ref(false)
|
||||
const jflxArr = [{ label: '优秀信息员', value: '01' }, { label: '优秀研判员', value: '02' }] // jflx
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "xm",
|
||||
placeholder: "请输入姓名",
|
||||
showType: "input"
|
||||
},
|
||||
// {
|
||||
// label: "身份证号",
|
||||
// prop: "sfzh",
|
||||
// placeholder: "请输入身份证号",
|
||||
// showType: "input"
|
||||
// },
|
||||
{
|
||||
label: "积分类型",
|
||||
prop: "jflx",
|
||||
placeholder: "请选择积分类型",
|
||||
showType: "select",
|
||||
options: jflxArr
|
||||
},
|
||||
{
|
||||
label: "积分来源类型",
|
||||
prop: "jflylx",
|
||||
placeholder: "请选择积分来源类型",
|
||||
showType: "select",
|
||||
// options: Object.keys(jflylxTypes).map(key => ({ label: jflylxTypes[key], value: key }))
|
||||
},
|
||||
]);
|
||||
const searchBox = ref(); //搜索框
|
||||
const pageData = reactive({
|
||||
tableData: [], //表格数据
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "null",
|
||||
loading: false,
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
}, //分页
|
||||
controlsWidth: 160, //操作栏宽度
|
||||
tableColumn: [
|
||||
{ label: "编号", prop: "baseNo" },
|
||||
{ label: "信息类型名称", prop: "typeName" },
|
||||
{ label: "信息类别名称", prop: "categoryName" },
|
||||
{ label: "接收单位", prop: "receiveUnit" },
|
||||
{ label: "上报单位名称", prop: "reportUnitName" },
|
||||
{ label: "信息专报日期类型", prop: "timeTypeName" },
|
||||
{ label: "标题", prop: "title" },
|
||||
{ label: "状态名称", prop: "ztmc" },
|
||||
]
|
||||
});
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
getList()
|
||||
});
|
||||
const listQuery = ref({})
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
listQuery.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList()
|
||||
}
|
||||
|
||||
//获取数据
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
const params = {
|
||||
pageCurrent: pageData.pageConfiger.pageCurrent,
|
||||
pageSize: pageData.pageConfiger.pageSize,
|
||||
...listQuery.value
|
||||
}
|
||||
importantBaseSelectPage(params).then(res => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
}).finally(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
})
|
||||
}
|
||||
// 分页
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList()
|
||||
}
|
||||
// 每页条数
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList()
|
||||
}
|
||||
const addForm=ref()
|
||||
// 查看详情
|
||||
const addEdit = (type, row) => {
|
||||
addForm.value.init(type, row,);
|
||||
};
|
||||
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||
window.onresize = function() {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
</style>
|
||||
139
src/views/backOfficeSystem/InformationReporting/info.js
Normal file
139
src/views/backOfficeSystem/InformationReporting/info.js
Normal file
@ -0,0 +1,139 @@
|
||||
export const dataLx = {
|
||||
// 涉稳上访聚集
|
||||
"2001": [
|
||||
{ label: "事件类别", prop: "xm", type: 'input' },
|
||||
{ label: "聚集时间", prop: "gatherTime", type: 'input' },
|
||||
{ label: "散离时间", prop: "disperseTime", type: 'input' },
|
||||
{ label: "群体类型", prop: "groupType", type: 'input' },
|
||||
{ label: "聚集人数", prop: "gatherCount", type: 'input' },
|
||||
{ label: "现场秩序", prop: "sceneOrder", type: 'input' },
|
||||
{ label: "主要诉求", prop: "mainClaim", type: 'textarea', width: '100%' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'textarea', width: '100%' },
|
||||
{ label: "事发地点", prop: "incidentLocation", type: 'textarea', width: '100%' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 刑事案件
|
||||
"2002": [
|
||||
{ label: "事件类型", prop: "xm", type: 'input' },
|
||||
{ label: "案发时间", prop: "caseTime", type: 'input' },
|
||||
{ label: "案件类型", prop: "caseType", type: 'input' },
|
||||
{ label: "受伤人数", prop: "injuredNum", type: 'input' },
|
||||
{ label: "死亡人数", prop: "deathNum", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "案发地址", prop: "location", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 交通事故
|
||||
"2003": [
|
||||
{ label: "事件类型", prop: "xm", type: 'input' },
|
||||
{ label: "事发时间", prop: "caseTime", type: 'input' },
|
||||
{ label: "路段", prop: "roadSection", type: 'input' },
|
||||
{ label: "受伤人数", prop: "injuredNum", type: 'input' },
|
||||
{ label: "死亡人数", prop: "deathNum", type: 'input' },
|
||||
{ label: "涉车数量", prop: "carNum", type: 'input' },
|
||||
{ label: "事故类型", prop: "sjnr", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "事发地点", prop: "sj", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 安全生产事故
|
||||
"2004": [
|
||||
{ label: "事件类型", prop: "xm", type: 'input' },
|
||||
{ label: "事发时间", prop: "caseTime", type: 'input' },
|
||||
{ label: "涉事企业", prop: "involvedEnterprise", type: 'input' },
|
||||
{ label: "受伤人数", prop: "injuredNum", type: 'input' },
|
||||
{ label: "死亡人数", prop: "deathNum", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "事发地点", prop: "incidentLocation", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 公共卫生事件
|
||||
"2005": [
|
||||
{ label: "事件类型", prop: "xm", type: 'input' },
|
||||
{ label: "事发时间", prop: "sfzh", type: 'input' },
|
||||
{ label: "涉事人数", prop: "xb", type: 'input' },
|
||||
{ label: "场所类型", prop: "venueType", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "事发地点", prop: "incidentLocation", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 非正常死亡事件
|
||||
"2006": [
|
||||
{ label: "事件类型", prop: "xm", type: 'input' },
|
||||
{ label: "事发时间", prop: "caseTime", type: 'input' },
|
||||
{ label: "死亡人数", prop: "deathNum", type: 'input' },
|
||||
{ label: "死亡类型", prop: "deathType", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "案发地点", prop: "incidentLocation", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 重大自然灾害类
|
||||
"2007": [
|
||||
{ label: "事件类型", prop: "xm", type: 'input' },
|
||||
{ label: "灾害类型", prop: "disasterType", type: 'input' },
|
||||
{ label: "发生时间", prop: "caseTime", type: 'input' },
|
||||
{ label: "死亡人数", prop: "deathNum", type: 'input' },
|
||||
{ label: "受伤人数", prop: "injuredNum", type: 'input' },
|
||||
{ label: "灾害级别", prop: "disasterLevel", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "事发地点", prop: "sj", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
// 其他
|
||||
"2008": [
|
||||
{ label: "事件类型", prop: "eventType", type: 'input' },
|
||||
{ label: "时间", prop: "caseTime", type: 'input' },
|
||||
{ label: "所属辖区", prop: "policeStation", type: 'input' },
|
||||
{ label: "事发地点", prop: "incidentLocation", type: 'input' },
|
||||
{ label: "标题", prop: "title", type: 'input', width: '100%' },
|
||||
{ label: "标签", prop: "tags", type: 'textarea', width: '100%' },
|
||||
{ label: "内容", prop: "content", type: 'textarea', width: '100%' },
|
||||
{ label: "接收单位", prop: "receiveUnit", type: 'input' },
|
||||
{ label: "拟稿人", prop: "drafter", type: 'input' },
|
||||
{ label: "联系电话", prop: "contactTel", type: 'input' },
|
||||
{ label: "签发人", prop: "issuer", type: 'input' },
|
||||
],
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user