更新数据
This commit is contained in:
@ -3,53 +3,26 @@
|
||||
<div class="head_box" >
|
||||
<span class="title">{{ title }}重点人管理</span>
|
||||
<div>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
:loading="loading"
|
||||
@click="submit"
|
||||
v-if="title.value !== '详情'"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button type="primary" size="small" :loading="loading" @click="submit" v-if="!disabled">保存</el-button >
|
||||
<el-button size="small" @click="close">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form_cnt">
|
||||
<FormMessage
|
||||
v-model="listQuery"
|
||||
:formList="formData"
|
||||
ref="elform"
|
||||
:rules="rules"
|
||||
>
|
||||
</FormMessage>
|
||||
<FormMessage :disabled="disabled" v-model="listQuery" :formList="formData" ref="elform" :rules="rules"></FormMessage>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import FormMessage from "@/components/aboutTable/FormMessage.vue";
|
||||
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||
import * as rule from "@/utils/rules.js";
|
||||
import {
|
||||
ref,
|
||||
defineExpose,
|
||||
reactive,
|
||||
onMounted,
|
||||
defineEmits,
|
||||
getCurrentInstance,
|
||||
nextTick
|
||||
} from "vue";
|
||||
import { selectUserDeptPage } from "@/api/user-manage";
|
||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||
import { ref, defineExpose, defineEmits, getCurrentInstance } from "vue";
|
||||
const emit = defineEmits(["updateDate"]);
|
||||
|
||||
const props = defineProps({
|
||||
dic: Object
|
||||
});
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const { D_GS_RQFJ_LX } = proxy.$dict("D_GS_RQFJ_LX"); //获取字典数据
|
||||
const tagDialog = ref();
|
||||
const dialogForm = ref(false); //弹窗
|
||||
const formData = ref([
|
||||
{ label: "发掘类型", prop: "fjLx", type: "select", options: D_GS_RQFJ_LX },
|
||||
@ -59,28 +32,16 @@ const listQuery = ref({}); //表单
|
||||
const loading = ref(false);
|
||||
const elform = ref();
|
||||
const title = ref("");
|
||||
const editpeo = ref();
|
||||
|
||||
const disabled = ref(false)
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
dialogForm.value = true;
|
||||
title.value = type == "add" ? "新增" : type == "info" ? "详情" : "编辑";
|
||||
disabled.value = title.value == '详情' ? true : false ;
|
||||
// 初始化表单数据,并根据详情页设置禁用状态
|
||||
formData.value = [
|
||||
{
|
||||
label: "发掘类型",
|
||||
prop: "fjLx",
|
||||
type: "select",
|
||||
options: D_GS_RQFJ_LX,
|
||||
disabled: title.value === "详情"
|
||||
},
|
||||
{
|
||||
label: "发掘文本",
|
||||
prop: "fjWb",
|
||||
type: "textarea",
|
||||
width: "100%",
|
||||
disabled: title.value === "详情"
|
||||
}
|
||||
{ label: "发掘类型", prop: "fjLx", type: "select", options: D_GS_RQFJ_LX },
|
||||
{ label: "发掘文本", prop: "fjWb", type: "textarea", width: "100%" }
|
||||
];
|
||||
if (row) getDataById(row.id);
|
||||
};
|
||||
@ -94,19 +55,17 @@ const getDataById = (id) => {
|
||||
// 提交
|
||||
const submit = () => {
|
||||
elform.value.submit((data) => {
|
||||
let url =
|
||||
title.value == "新增"
|
||||
? "/mosty-gsxt/tbGsxtRqfjNr/save"
|
||||
: "/mosty-gsxt/tbGsxtRqfjNr/update";
|
||||
let url = title.value == "新增" ? "/mosty-gsxt/tbGsxtRqfjNr/save" : "/mosty-gsxt/tbGsxtRqfjNr/update";
|
||||
let params = { ...data };
|
||||
|
||||
qcckPost(params, url)
|
||||
.then((res) => {
|
||||
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||
emit("onSearch");
|
||||
close();
|
||||
})
|
||||
.catch(() => {});
|
||||
loading.value = true;
|
||||
qcckPost(params, url).then((res) => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||
emit("onSearch");
|
||||
close();
|
||||
}).catch(() => {
|
||||
loading.value = false;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -0,0 +1,118 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog v-model="props.modelValue" @closed="closeDialog" center :title="title" width="1280px">
|
||||
<div ref="searchRef">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" ></Search>
|
||||
</div>
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
@chooseData="chooseData">
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{...pageData.pageConfiger}"></Pages>
|
||||
<template #footer>
|
||||
<el-button @click="cancelDailg">取消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import { ref,reactive, onMounted, nextTick } from 'vue';
|
||||
const props = defineProps({
|
||||
modelValue:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
dic:{
|
||||
type:Object,
|
||||
default:{}
|
||||
}
|
||||
})
|
||||
const ids = ref([])
|
||||
const title =ref('')
|
||||
const searchRef = ref()
|
||||
const emits = defineEmits(['update:modelValue','cancel','submit'])
|
||||
const searchConfiger = ref([
|
||||
{ label: "数据来源", prop: "sjly", placeholder: "请选择数据来源", showType: "select" },
|
||||
{ label: "数据类型", prop: "sjlx", placeholder: "请选择数据类型", showType: "select" },
|
||||
{ label: "指向地点", prop: "zxdz", placeholder: "请输入指向地点", showType: "input" },
|
||||
{ label: "数据内容", prop: "sjnr", placeholder: "请输入数据内容", showType: "input" },
|
||||
{ label: "数据时间", prop: "times", showType: "datetimerange" },
|
||||
]);
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "checkBox",
|
||||
haveControls: false,
|
||||
loading: false,
|
||||
},
|
||||
tableHeight: 190,
|
||||
pageConfiger: {
|
||||
total: 0,
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
tableColumn: [
|
||||
{ label: "所属部门", prop: "ssbm"},
|
||||
{ label: "数据来源", prop: "sjly"},
|
||||
{ label: "数据类型", prop: "sjlx"},
|
||||
{ label: "数据时间", prop: "sjsj"},
|
||||
{ label: "指向地点", prop: "zxdz"},
|
||||
{ label: "数据内容", prop: "zxnr"},
|
||||
],
|
||||
});
|
||||
|
||||
const init = (val) =>{
|
||||
tabHeightFn();
|
||||
let zdlist = props.dic.D_GS_RQFJ_LX || []
|
||||
let obj = zdlist.find(v=>v.dm == val);
|
||||
title.value = obj ? obj.zdmc+'选择' :'选择数据'
|
||||
}
|
||||
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
};
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
};
|
||||
|
||||
const chooseData = (val) =>{
|
||||
if(Array.isArray(val)) ids.value = val.map(v=>val.id);
|
||||
}
|
||||
|
||||
const handleSubmit = () =>{
|
||||
cancelDailg()
|
||||
}
|
||||
|
||||
const cancelDailg = () =>{
|
||||
emits('update:modelValue',false);
|
||||
emits('cancel');
|
||||
}
|
||||
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchRef.value.offsetHeight - 320;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
|
||||
defineExpose({init})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog{
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
</style>
|
@ -2,18 +2,23 @@
|
||||
<div class="statistical-analysis">
|
||||
<!-- 左侧树形菜单 -->
|
||||
<div class="left-menu">
|
||||
<el-radio-group :disabled="isEdit" v-model="checkData.active">
|
||||
<el-radio :label="it" v-for="it in checkData.list" :key="it">{{ it }}</el-radio>
|
||||
<el-radio-group :disabled="isEdit" v-model="active" @change="changeRadio">
|
||||
<el-radio :label="it.dm" v-for="it in D_GS_RQFJ_LX" :key="it.dm">{{ it.zdmc }}</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="cancelBtn" @click="checkData.active = ''">取消</div>
|
||||
<div class="cancelBtn" @click="active = ''">取消</div>
|
||||
</div>
|
||||
<!-- 右侧内容区 -->
|
||||
<div class="right-content">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch"> </Search>
|
||||
<div class="tableCnt1 mb10 pl10 pr10">
|
||||
<PageTitle title="发掘内容" style="color: #333"></PageTitle>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger0" :controlsWidth="pageData.controlsWidth"
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger0"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseDataTop">
|
||||
<template #fjLx="{ row }">
|
||||
<DictTag :tag="false" :value="row.fjLx" :options="D_GS_RQFJ_LX" />
|
||||
@ -32,15 +37,17 @@
|
||||
<div class="tableCnt mb10 pl10 pr10">
|
||||
<PageTitle title="模型智能识别/LP解析结果" style="color: #333"></PageTitle>
|
||||
<div ref="searchBox" class="mb8">
|
||||
<el-button :type="it == '批量删除' ? 'danger' : 'primary'" size="small" v-for="it in btnsList" :key="it"
|
||||
@click="chooseType(it)">
|
||||
{{ it }}
|
||||
</el-button>
|
||||
<el-button :type="it == '批量删除' ? 'danger' : 'primary'" size="small" v-for="it in btnsList" :key="it" @click="chooseType(it)">{{ it }}</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<MyTable :tableData="pageData.tableData2" :tableColumn="pageData.tableColumn2"
|
||||
:tableHeight="pageData.tableHeight2" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth" @chooseData="chooseDataBottom">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData2"
|
||||
:tableColumn="pageData.tableColumn2"
|
||||
:tableHeight="pageData.tableHeight2"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseDataBottom">
|
||||
<template #bqList="{ row }">
|
||||
<div v-if="row.bqList">
|
||||
<el-tag v-for="(it, idx) in row.bqList" :key="idx">{{ it.bqMc }}、</el-tag>
|
||||
@ -67,7 +74,11 @@
|
||||
<el-link size="small" type="primary" @click="viewDetails(row)">查看</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight2" :pageConfiger="{
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
@ -76,36 +87,29 @@
|
||||
</div>
|
||||
<!-- 弹窗智能分析 -->
|
||||
<IntelligentParsing :tableData="pageData.tableData" ref="IntelligentParsingRef" @upadate="getModelList" />
|
||||
<!-- 新增 -->
|
||||
<addForm ref="addFormDiloag" @onSearch="onSearch" />
|
||||
<Model v-model="isShow" :type="chooselx" :ids="ids" @change="getModelList" :dic="{ D_GS_RQFJ_FXDJ }"></Model>
|
||||
<Export :show="isImport" lx="fjnr" @closeImport="isImport = false" @handleImport="getList" />
|
||||
|
||||
<!-- 弹窗 -->
|
||||
<ListDialog ref="modelList" v-model="showDialog" v-if="showDialog" @cancel="active = ''" :dic="{D_GS_RQFJ_LX}"></ListDialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import ListDialog from './components/listDialog.vue'
|
||||
import { download } from "@/utils/request";
|
||||
import Export from "@/components/export/index.vue";
|
||||
import CheckBox from "@/components/checkBox/index.vue";
|
||||
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 addForm from "./components/addForm.vue";
|
||||
import Model from "./components/model.vue";
|
||||
import IntelligentParsing from "./components/IntelligentParsing.vue";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { qcckGet, qcckDelete } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_RQFJ_LX, D_GS_RQFJ_FXDJ, D_BZ_SF, D_GS_RQFJ_FXLB } = proxy.$dict(
|
||||
"D_GS_RQFJ_FXDJ",
|
||||
"D_GS_RQFJ_LX",
|
||||
"D_GS_RQFJ_FXDJ",
|
||||
"D_BZ_SF",
|
||||
"D_GS_RQFJ_FXLB"
|
||||
); //获取字典数据
|
||||
|
||||
const { D_GS_RQFJ_LX, D_GS_RQFJ_FXDJ, D_BZ_SF, D_GS_RQFJ_FXLB } = proxy.$dict( "D_GS_RQFJ_FXDJ", "D_GS_RQFJ_LX", "D_GS_RQFJ_FXDJ", "D_BZ_SF", "D_GS_RQFJ_FXLB"); //获取字典数据
|
||||
const showDialog = ref(false)
|
||||
const modelList = ref()
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
label: "管辖部门",
|
||||
@ -121,25 +125,11 @@ const searchConfiger = ref([
|
||||
options: D_BZ_SF
|
||||
}
|
||||
]);
|
||||
const isImport = ref(false);
|
||||
const checkData = reactive({
|
||||
active:'',
|
||||
list: ["警情", "人力情报", "线索", "民警处置文本", "交通事故"]
|
||||
});
|
||||
const btnsList = reactive([
|
||||
"级别变更",
|
||||
"警种变更",
|
||||
"指定分配",
|
||||
"添加标签",
|
||||
"导出",
|
||||
"批量删除"
|
||||
]);
|
||||
|
||||
const active = ref('');
|
||||
const btnsList = reactive(["级别变更","警种变更","指定分配","添加标签","导出","批量删除"]);
|
||||
const chooselx = ref("");
|
||||
const isShow = ref(false);
|
||||
const idsTop = ref([]);
|
||||
const ids = ref([]);
|
||||
|
||||
const addFormDiloag = ref();
|
||||
const IntelligentParsingRef = ref();
|
||||
const searchBox = ref();
|
||||
@ -180,42 +170,12 @@ const pageData = reactive({
|
||||
{ label: "管辖单位", prop: "gxDwDm", showOverflowTooltip: true },
|
||||
{ label: "管控民警", prop: "gxMj", showOverflowTooltip: true },
|
||||
{ label: "责任部门", prop: "ssbm", showOverflowTooltip: true },
|
||||
{
|
||||
label: "标签",
|
||||
prop: "bqList",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "风险等级",
|
||||
prop: "fxDj",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "风险类别",
|
||||
prop: "fxLb",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "是否关注",
|
||||
prop: "sfGz",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "是否转布控人员",
|
||||
prop: "sfZbkry",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "是否转重点人员",
|
||||
prop: "sfZzdry",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
}
|
||||
{ label: "标签", prop: "bqList", showSolt: true, showOverflowTooltip: true},
|
||||
{ label: "风险等级", prop: "fxDj", showOverflowTooltip: true, showSolt: true},
|
||||
{ label: "风险类别", prop: "fxLb", showOverflowTooltip: true, showSolt: true},
|
||||
{ label: "是否关注", prop: "sfGz", showOverflowTooltip: true, showSolt: true},
|
||||
{ label: "是否转布控人员", prop: "sfZbkry", showOverflowTooltip: true, showSolt: true},
|
||||
{ label: "是否转重点人员", prop: "sfZzdry", showOverflowTooltip: true, showSolt: true}
|
||||
]
|
||||
});
|
||||
|
||||
@ -239,31 +199,26 @@ const changeSize = (val) => {
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
let data = { ...queryFrom.value };
|
||||
let url = "/mosty-gsxt/tbGsxtRqfjNr/selectPage";
|
||||
qcckGet(data, url)
|
||||
.then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.tableConfiger.loading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjNr/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.tableConfiger.loading = false;
|
||||
}).catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
//获取模型识别列表
|
||||
const getModelList = () => {
|
||||
let data = { ...pageData.pageConfiger };
|
||||
pageData.tableConfiger0.loading = true;
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage")
|
||||
.then((res) => {
|
||||
pageData.tableConfiger0.loading = false;
|
||||
pageData.tableData2 = res.records || [];
|
||||
pageData.total = res.total;
|
||||
ids.value = [];
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger0.loading = false;
|
||||
});
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage").then((res) => {
|
||||
pageData.tableConfiger0.loading = false;
|
||||
pageData.tableData2 = res.records || [];
|
||||
pageData.total = res.total;
|
||||
ids.value = [];
|
||||
}).catch(() => {
|
||||
pageData.tableConfiger0.loading = false;
|
||||
});
|
||||
};
|
||||
//新增- 编辑
|
||||
const handleData = (type, row) => {
|
||||
@ -318,8 +273,7 @@ const chooseType = (val) => {
|
||||
// download("/mosty-api/mosty-gsxt/tbGsxtRqfjRy/exportRyfjFxjg", {"bkBt":"1"},`模型智能识别/LP解析结果_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
case "批量删除":
|
||||
if (ids.value.length == 0)
|
||||
return ElMessage.warning("请选择对应删除的数据");
|
||||
if (ids.value.length == 0) return ElMessage.warning("请选择对应删除的数据");
|
||||
ids.value.forEach((id) => {
|
||||
deleteRowBottom(id);
|
||||
});
|
||||
@ -327,9 +281,16 @@ const chooseType = (val) => {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
const changeRadio = () =>{
|
||||
showDialog.value = true;
|
||||
nextTick(()=>{
|
||||
modelList.value.init(active.value)
|
||||
})
|
||||
}
|
||||
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight2 =
|
||||
window.innerHeight - searchBox.value.offsetHeight - 650;
|
||||
pageData.tableHeight2 = window.innerHeight - searchBox.value.offsetHeight - 650;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
|
@ -19,11 +19,7 @@
|
||||
|
||||
<script setup>
|
||||
import emitter from "@/utils/eventBus.js";
|
||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import { ref, defineProps, defineEmits, reactive, onMounted } from "vue";
|
||||
import { TRUE } from "ol/functions";
|
||||
import { defineProps, defineEmits } from "vue";
|
||||
const emits = defineEmits(["update:modelValue", "close"]);
|
||||
const props = defineProps({
|
||||
title: {
|
||||
|
Reference in New Issue
Block a user