Commit fbefd802 by 刘玉帅

Merge branch 'gab_bz' of http://47.92.108.28/changchao/founder_vue into gab_bz

parents 3ae1e3b2 ffd4807d
{
"success": true,
"code": 200,
"message": "成功",
"data": {
"total": 12,
"rows": [
{
"id": "01",
"label": "标识号串并[01]",
"parentId": "",
"children": []
},
{
"id": "03",
"label": "现勘串并[03]",
"parentId": "",
"children": [
{
"id": "0301",
"label": "指纹串并[0301]",
"parentId": "03",
"children": []
},
{
"id": "0302",
"label": "DNA串并[0302]",
"parentId": "03",
"children": []
},
{
"id": "0303",
"label": "足迹串并[0303]",
"parentId": "03",
"children": []
},
{
"id": "0304",
"label": "声纹串并[0304]",
"parentId": "03",
"children": []
},
{
"id": "0305",
"label": "虹膜串并[0305]",
"parentId": "03",
"children": []
}
]
},
{
"id": "0301",
"label": "指纹串并[0301]",
"parentId": "03",
"children": []
},
{
"id": "0302",
"label": "DNA串并[0302]",
"parentId": "03",
"children": []
},
{
"id": "0303",
"label": "足迹串并[0303]",
"parentId": "03",
"children": []
},
{
"id": "0304",
"label": "声纹串并[0304]",
"parentId": "03",
"children": []
},
{
"id": "0305",
"label": "虹膜串并[0305]",
"parentId": "03",
"children": []
},
{
"id": "09",
"label": "人工串并[09]",
"parentId": "",
"children": [
{
"id": "0901",
"label": "手段串并[0901]",
"parentId": "09",
"children": []
},
{
"id": "0902",
"label": "人像串并[0902]",
"parentId": "09",
"children": []
},
{
"id": "0903",
"label": "视频串并[0903]",
"parentId": "09",
"children": []
},
{
"id": "0904",
"label": "综合串并[0904]",
"parentId": "09",
"children": []
}
]
},
{
"id": "0901",
"label": "手段串并[0901]",
"parentId": "09",
"children": []
},
{
"id": "0902",
"label": "人像串并[0902]",
"parentId": "09",
"children": []
},
{
"id": "0903",
"label": "视频串并[0903]",
"parentId": "09",
"children": []
},
{
"id": "0904",
"label": "综合串并[0904]",
"parentId": "09",
"children": []
}
]
}
}
\ No newline at end of file
......@@ -9,4 +9,13 @@ export const queryTreeDataByType = params =>
export const updateCbxsz = params =>
post("/api/cbxsz/updateCbxsz", params);
//合并线索组列表(其他线索组)
export const toHbxsz = params =>
post("/api/cbxsz/toHbxsz", params);
//合并线索
export const insertHbXszxx = params =>
post("/api/xlaj/insertHbXszxx", params);
\ No newline at end of file
......@@ -9,7 +9,7 @@ export const queryTreeDataByType = params =>
get("/api/queryTreeDataByType", params);
export const saveTableTitleRedis = params =>
post("/api/saveTableTitleRedis", params);
postJson("/api/saveTableTitleRedis", params);
export const EsAsjQuery = params =>
postJson("/api/dwcx/EsAsjQuery", params);
......@@ -20,13 +20,13 @@ export const EsXyrQuery = params =>
export const EsShrQuery = params =>
postJson("/api/dwcx/EsShrQuery", params);
export const queryDictItem = params =>
export const queryDictItem = params =>
post("/api/dic/queryDictItem", params);
export const getDictitemByCode = params =>
export const getDictitemByCode = params =>
post("/api/dic/getDictitemByCode", params);
export const getTableTitleRedis = params =>
post("/api/getTableTitleRedis", params);
get("/api/getTableTitleRedis", params);
......@@ -15,4 +15,22 @@ export const EsdyxgwrqTopTenQuery = params =>
//发破案态势统计
export const EsFpaTsfxQuery = params =>
post("/api/latsfx/EsFpaTsfxQuery", params)
\ No newline at end of file
//嫌疑人年龄段性别分布
export const EsXyrNldXbQuery = params =>
post("/api/latsfx/EsXyrNldXbQuery", params)
//类案TOP10嫌疑人数
export const EslaXyrTopTenQuery = params =>
post("/api/latsfx/EslaXyrTopTenQuery", params)
//前科人员职业数据分布
export const EsqkryzyQuery = params =>
post("/api/latsfx/EsqkryzyQuery", params)
//学历数据分布
export const EsxlsjfbQuery = params =>
post("/api/latsfx/EsxlsjfbQuery", params)
import { get, post, postJson } from "@/utils/http.js";
//类案件嫌疑人年龄段性别分布
export const EsNldQuery = params =>
post("/api/latsfx/EsNldQuery", params)
//类案件嫌疑人户籍分布
export const EshjfbQuery = params =>
post("/api/latsfx/EshjfbQuery", params)
//类案件嫌疑人抓获情况
export const EszhqkQuery = params =>
post("/api/latsfx/EszhqkQuery", params)
//发破案
export const getGdAjQk = params =>
post("/api/latsfx/getGdAjQk", params)
//主要类别发破案
export const getZalbFpaTj = params =>
post("/api/latsfx/getZalbFpaTj", params)
//警情综述
export const getJqzsQk = params =>
post("/api/latsfx/getJqzsQk", params)
//标注统计
export const getAjBzTj = params =>
post("/api/latsfx/getAjBzTj", params)
<template>
<div class="rightContent rightContent2">
<div class="Content paneDiv paneDiv2" style="margin: 8px 20px">
<div class="cxtjWrap">
<el-form label-position="right" label-width="140px" ref="queryForm" :model="formData" :class="propQueryField.length < 3 ? 'inlineBtn' : ''">
<div class="zdyLine">
<el-form-item :label="item.name + ':'" v-for="item in propQueryField" :key="item.id" :prop="item.id" v-show="!item.hidden" :class="'demo-input-suffix zdycol' + item.col">
<!--输入框-->
<el-input clearable :placeholder="item.placeholder" v-model="formData[item.id]" v-if="item.type == 'text'">
</el-input>
<div class="text-btn" v-if="item.type == 'text-btn'">
<el-input class="txt" clearable :placeholder="item.placeholder" v-model="formData[item.id]">
</el-input>
<el-button type="primary" size="mini" @click="createMc">生成名称</el-button>
<el-button type="danger" size="mini" @click="reset">重置</el-button>
</div>
<!--输入框area-->
<el-input clear="area" clearable type="textarea" :placeholder="item.placeholder" v-model="formData[item.id]" v-if="item.type == 'textarea'">
</el-input>
<!--输入框-最大值与最小值-->
<div class="zdyInputW zdyInputCol2" v-else-if="item.type == 'zdyText'">
<el-input :placeholder="item.placeholder" v-model="formData[item.id]">
</el-input>
<el-input :placeholder="item.placeholder2" v-model="formData[item.id2]" style="width: calc((100% - 150) / 2)">
</el-input>
</div>
<div class="zdyInputW zdyInputCol2" v-else-if="item.type == 'zdyDate'">
<el-date-picker v-model="formData[item.id]" type="date" align="right" :picker-options="item.pickerOptions" unlink-panels value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
<el-date-picker v-model="formData[item.id2]" type="date" align="right" :picker-options="item.pickerOptions2" unlink-panels value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</div>
<!--下拉框-->
<el-select v-model="formData[item.id]" clearable :placeholder="item.placeholder" v-else-if="item.type == 'select'">
<el-option v-for="item3 in item.selectData" :key="item3.value" :label="item3.name" :value="item3.value">
</el-option>
</el-select>
<!--日期框 日期时间-->
<el-date-picker v-model="formData[item.id]" type="datetime" align="right" :picker-options="item.pickerOptions" unlink-panels suffix-icon="el-icon-date" value-format="yyyy-MM-dd HH:mm:ss" v-else-if="item.type == 'datetime'">
</el-date-picker>
<!--日期框-->
<el-date-picker v-model="formData[item.id]" type="daterange" align="right" :picker-options="item.pickerOptions" unlink-panels range-separator="至" start-placeholder="开始日期" value-format="yyyy-MM-dd" end-placeholder="结束日期" suffix-icon="el-icon-date" v-else-if="item.type == 'date'">
</el-date-picker>
<el-date-picker v-model="formData[item.id]" type="datetimerange" align="right" :picker-options="item.pickerOptions" unlink-panels range-separator="至" start-placeholder="开始日期" value-format="yyyy-MM-dd HH:mm:ss" end-placeholder="结束日期" prefix-icon="el-icon-date" v-else-if="item.type == 'datetimerange'">
</el-date-picker>
<!--多选框-->
<div class="zdyInputW" v-else-if="item.type == 'checkbox'">
<el-checkbox-group v-model="formData[item.id]" size="small">
<el-checkbox v-for="item2 in item.checkboxData" :label="item2" :key="item2">{{ item2 }}
</el-checkbox>
</el-checkbox-group>
</div>
<!--单选框-->
<div class="zdyInputW" v-else-if="item.type == 'radio'">
<el-radio-group v-model="formData[item.id]" size="small">
<el-radio :label="item2.val" v-for="item2 in item.radioData" :key="item2.val">{{ item2.label }}
</el-radio>
</el-radio-group>
</div>
<!--字典框 @emitValue="getLbValue"-->
<div class="zdyInputW" v-else-if="item.type == 'code' || item.type == 'jlCode'">
<select-tree v-model="formData[item.id]" :placeholder="'请选择' + item.name" :options="item.codeOptions" :sendId="item.id" />
</div>
<!--字典弹框 @emitValue="getLbValue"-->
<div class="zdyInputW" v-else-if="item.type == 'codeTreeDialog'">
<select-tree-dialog :placeholder="'请选择' + item.name" :sendId="item.id" :formData="formData" :currentItem="item" />
</div>
<!--字典弹框懒加载 @emitValue="getLbValue"-->
<div class="zdyInputW" v-else-if="item.type == 'lazyCodeTreeDialog'">
<lazy-select-tree-dialog :placeholder="'请选择' + item.name" :sendId="item.id" :formData="formData" :currentItem="item" />
</div>
</el-form-item>
</div>
</el-form>
<!--按钮-->
<div class="btm-btns">
<el-button type="primary" size="small" style="width: 100px" @click="saveAj">确定
</el-button>
<el-button size="small" @click="clearData" style="width: 100px">取消
</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import Bus from '@/utils/Bus'
import SelectTree from "@c/tree_components.vue";
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import Http from "@/utils/http.js";
import axios from "axios";
import { esAsjQuery } from "@/api/queryAj.js";
import { toQueryXszxx, updateCbxsz } from "@/api/cbyp.js";
import { get, post, postform } from "@/utils/http.js";
import { addxszglasj } from "@/api/cbyp.js";
export default {
name: "ptCxForm",
components: {
SelectTree,
SelectTreeDialog,
LazySelectTreeDialog,
},
props: {
pageBs: String,
cxQueryField: {
type: Array,
default: () => [],
},
cxDefaultFormThead: {
type: Array,
default: () => [],
},
cxDefaultFormTheads: {
type: Array,
default: () => [],
},
cxFormData: Object,
cxUrl: String,
childrenUrl: String,
header: String,
pageFlag: String,
},
data () {
return {
tPage: null,
checkResult: true,
asjbh: "",
spType: "",
pageBszfc: this.pageBs,
tableLoading: true, //loading
currentPage1: 1, //表格页码
page_size: 10, //每页显示多少条
pageShow: true, //是否显示分页
formData: this.cxFormData, //查询条件form
propQueryField: this.cxQueryField, //查询条件
key: 1, //table得key
tableDataLength: 0, //表格总数
talbeBhgCount: "", // 不合格
talbehgCount: "", // 合格
tableData: [], //表格数据
propdefaultFormThead: this.cxDefaultFormThead, //表格表头
propdefaultFormTheads: this.cxDefaultFormTheads, //子表格表头
excelHeader: "案件标注",
cz: this.pageFlag,
};
},
methods: {
saveAj() {
this.$emit('saveAj')
},
reset() {
console.log(111);
this.$emit('reset')
Bus.$emit('reset')
},
createMc() {
this.$emit('addmc')
},
turnToEdit (val, type) {
if (type == "delete") {
this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
updateCbxsz({
cbxszbhs: val.xszajbh,
}).then((res) => {
if (res.code == 200) {
this.doQuery("yes");
} else {
this.$message({
type: "error",
message: "删除失败",
});
}
this.$options.methods.doQuery();
});
this.$message({
type: "success",
message: "删除成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
} else if (type == "add") {
debugger;
this.$router.pushToTab({
path: "cbaAdd",
query: {
xszajbh: row.xszajbh,
cbxgfwbzh: row.xszajbh,
},
});
}
},
rowClick (row, column, event) {
var self = this;
self.showLoading();
let formData = {};
(formData.xszajbh = row.xszajbh),
(formData.start = 1),
(formData.length = 10);
var index = self.tableData.findIndex(
(item) => item.xszajbh == row.xszajbh
);
post(this.childrenUrl, formData).then((response) => {
if (response.code == 200) {
self.tableData[index].children = response.data.data;
self.closeLoading();
} else {
/*self.$message({
type: "error",
message: response.data.message
});*/
self.closeLoading();
}
});
},
goDetail (scope, type) {
if (type == "detail") {
this.$router.pushToTab({
path: "ajbzDetail",
query: {
asjbh: scope.asjbh,
},
});
} else if (type == "qg") {
this.$router.pushToTab({
path: "qgaj",
query: {
xszajbh: scope.xszajbh,
cbxgfwbzh: scope.cbxgfwbzh,
},
});
} else if (type == "xsz") {
this.$router.pushToTab({
path: "hbxsz",
query: {
xszajbh: scope.xszajbh,
hbxszType: scope.hbxszType,
},
});
}
},
export2Excel () {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
if (self.tableDataLength > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条",
});
} else {
const loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
let formDatas = {};
for (let i in self.formData) {
if (i != "cxSj") {
formDatas[i] = self.formData[i];
} else {
formDatas[i] =
self.formData[i] != "" && self.formData[i] != null
? self.formData[i].join(" - ")
: "";
}
}
formDatas.page = 1;
formDatas.rows = 5000;
tHeader = [];
filterVal = [];
self.propdefaultFormThead.forEach((val) => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
post(this.cxUrl, formDatas).then((res) => {
if (res.status === 200) {
require.ensure([], () => {
const { export_json_to_excel } = require("../utils/Export2Excel");
const list = res.data;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
});
// loading.close();
} else {
// loading.close();
self.$message({
type: "error",
message: "查询失败",
});
}
self.tableLoadingEmit = false;
});
}
},
delectByAjbh (asjbh) {
var self = this;
this.$confirm("删除后不可恢复,是否删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
message: "删除成功!",
})
.then(() => { })
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
toXg (item, type) {
let routeData = this.$router.resolve({
path: "/malamodify",
query: { asjbh: item.asjbh, type: type },
});
window.open(routeData.href, "_blank");
},
toLasxxg (asjbh, type, type2) {
let routeData = this.$router.resolve({
path: "/malasxmodify",
query: { asjbh: asjbh, type: type, type2 },
});
window.open(routeData.href, "_blank");
},
closeLoading () {
this.tableLoading = false;
},
showLoading () {
this.tableLoading = true;
},
handleSizeChange (val) {
this.page_size = val;
this.formData.rows = val;
this.doQuery("yes");
},
clearData () {
Bus.$emit('reset')
let self = this;
for (let i in self.formData) {
if (
i != "rows" &&
i != "page" &&
i != "typeFlag" &&
i != "unitcode" &&
i != "grade" &&
i != "flwssfhgpdbz"
) {
self.formData[i] = "";
}
}
self.formData["rows"] = 10;
self.formData["page"] = 1;
},
formatJson (filterVal, jsonData) {
let arr = [];
jsonData.map((v) => {
let arr1 = [];
filterVal.map((j) => {
if (j.indexOf(",") != -1) {
let arr = j.split(",");
let data = "";
for (let i = 0; i <= arr.length - 1; i++) {
data += arr[i].split(":")[0] + ":" + v[arr[i].split(":")[1]];
}
arr1.push(data);
} else {
arr1.push(v[j]);
}
});
arr.push(arr1);
});
return arr;
},
handleCurrentChange (val) {
this.currentPage1 = val;
this.formData.page = val;
this.doQuery("yes");
},
tableRowClassName ({ rowIndex }) {
if (rowIndex % 2 == 0) {
return "";
} else {
return "success-row";
}
},
doQueryBtn (val) {
if (val) {
this.formData.sfhgpdbz = "";
}
this.formData.page = 1;
this.doQuery("yes");
},
doQuery (flag) {
this.showLoading();
let self = this,
formDatas = {};
for (let i in self.formData) {
if (i != "cxSj") {
formDatas[i] = self.formData[i];
} else {
formDatas[i] =
self.formData[i] != "" && self.formData[i] != null
? self.formData[i].join(" - ")
: "";
}
}
if (flag) {
post(this.cxUrl, formDatas).then((response) => {
if (response.code == 200) {
response.data.data.forEach((item) => {
item.children = [];
item.xszmc = `${item.cbajAjmc}(组号:${item.xszajbh})`;
item.cbajAjmc = `${item.cbajAjmc}(组号:${item.xszajbh})`;
});
self.tableData = response.data.data;
self.tableDataLength = response.data.iTotalRecords;
self.tPage = Math.ceil(
response.data.iTotalRecords / self.page_size
);
self.closeLoading();
} else {
/*self.$message({
type: "error",
message: response.data.message
});*/
self.closeLoading();
}
});
}
},
},
mounted () {
let self = this;
/*获取字典*/
self.propQueryField.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
self.$set(val, "codeOptions", res.data.data.rows);
})
.catch((err) => {
console.log(err);
});
}
}
});
self.doQuery("yes");
},
computed: {
//过滤掉重大伤亡重复人员等的操作列
ifShowOperation () {
return (
this.pageBszfc != "zczjcfry" &&
this.pageBszfc != "zdswxxgl" &&
this.pageBszfc != "cfryIndex" &&
this.pageBszfc != "jsbhgl"
);
},
},
};
</script>
<style lang="scss">
@import url("../assets/styles/iconfont.css");
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
font-family: inherit;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 32px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
.rightContent2 {
.zdyLine {
display: flex;
flex-direction: column;
align-items: center;
}
.text-btn {
display: flex;
.txt {
margin-right: 20px;
width: 100% !important;
}
}
.zdycol3 {
display: inline-block;
width: 50% !important;
}
.zdyInputW {
width: 77% !important;
}
.el-textarea__inner {
width: 77% !important;
}
.btm-btns {
margin-left: calc(50% - 100px) !important;
margin-top: 50px !important;
}
}
</style>
<style scoped lang="scss">
@import "@/assets/styles/rightContent.scss";
</style>
......@@ -2,7 +2,7 @@
<div class="formWrap">
<div>
<span class="flTtitle">查询条件</span>
<span class="pageGuide">页面引导</span>
<!-- <span class="pageGuide">页面引导</span> -->
<span class="settingField" @click="centerDialogVisible = true"
><i class="iconfont icontiaojie"></i>配置查询条件</span
>
......
<template>
<div class="rightContent">
<div class="Content paneDiv paneDiv2">
<div class="cxtjWrap">
<el-form
label-position="right"
label-width="140px"
ref="queryForm"
:model="formData"
:class="
formType !== 'haveTitle'
? propQueryField.length < 3
? 'inlineBtn'
: ''
: ''
"
>
<div class="zdyLine" v-if="formType == 'haveTitle'">
<div v-for="pItem in propQueryField" :key="pItem.id">
<div class="titleWrap">
<span class="two-title">{{ pItem.title }}</span
><span class="dashedBorder"></span>
</div>
<el-form-item
:label="item.name + ':'"
v-for="item in pItem.children"
:key="item.id"
:prop="item.id"
v-show="!item.hidden"
:class="'demo-input-suffix zdycol' + item.col"
>
<!--输入框-->
<el-input
clearable
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-if="item.type == 'text'"
>
</el-input>
<!--输入框-最大值与最小值-->
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyText'"
>
<el-input
:placeholder="item.placeholder"
v-model="formData[item.id]"
>
</el-input>
<el-input
:placeholder="item.placeholder2"
v-model="formData[item.id2]"
class="zdyText"
style="width: calc((100% - 150) / 2)"
>
</el-input>
</div>
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyDate'"
>
<el-date-picker
v-model="formData[item.id]"
type="date"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
<el-date-picker
v-model="formData[item.id2]"
type="date"
align="right"
:picker-options="item.pickerOptions2"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</div>
<!--下拉框-->
<el-select
v-model="formData[item.id]"
clearable
:placeholder="item.placeholder"
v-else-if="item.type == 'select'"
>
<el-option
v-for="item3 in item.selectData"
:key="item3.value"
:label="item3.name"
:value="item3.value"
>
</el-option>
</el-select>
<!--文本域-->
<el-input
type="textarea"
autosize
resize="none"
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-else-if="item.type == 'textarea'"
>
</el-input>
<!--日期框 日期时间-->
<el-date-picker
v-model="formData[item.id]"
type="datetime"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
suffix-icon="el-icon-date"
value-format="yyyy-MM-dd HH:mm:ss"
v-else-if="item.type == 'datetime'"
>
</el-date-picker>
<!--日期框-->
<el-date-picker
v-model="formData[item.id]"
type="daterange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
suffix-icon="el-icon-date"
v-else-if="item.type == 'date'"
>
</el-date-picker>
<el-date-picker
v-model="formData[item.id]"
type="datetimerange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd HH:mm:ss"
end-placeholder="结束日期"
prefix-icon="el-icon-date"
v-else-if="item.type == 'datetimerange'"
>
</el-date-picker>
<!--多选框-->
<div class="zdyInputW" v-else-if="item.type == 'checkbox'">
<el-checkbox-group v-model="formData[item.id]" size="small">
<el-checkbox
v-for="city in item.checkList"
:label="city"
:key="city.val"
>{{ city.label }}</el-checkbox
>
</el-checkbox-group>
</div>
<!--单选框-->
<div class="zdyInputW" v-else-if="item.type == 'radio'">
<el-radio-group v-model="formData[item.id]" size="small">
<el-radio
:label="item2.val"
v-for="item2 in item.radioData"
:key="item2.val"
>{{ item2.label }}
</el-radio>
</el-radio-group>
</div>
<!--字典框 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'code' || item.type == 'jlCode'"
>
<select-tree
v-model="formData[item.id]"
:placeholder="'请选择' + item.name"
:options="item.codeOptions"
:sendId="item.id"
/>
</div>
<!--字典弹框 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'codeTreeDialog'"
>
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
/>
</div>
<!--字典弹框懒加载 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'lazyCodeTreeDialog'"
>
<lazy-select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
/>
</div>
</el-form-item>
</div>
</div>
<div class="zdyLine" v-else>
<el-form-item
:label="item.name + ':'"
v-for="item in propQueryField"
:key="item.id"
:prop="item.id"
v-show="!item.hidden"
:class="'demo-input-suffix zdycol' + item.col"
>
<!--输入框-->
<el-input
clearable
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-if="item.type == 'text'"
>
</el-input>
<!--输入框-最大值与最小值-->
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyText'"
>
<el-input
:placeholder="item.placeholder"
v-model="formData[item.id]"
>
</el-input>
<el-input
:placeholder="item.placeholder2"
v-model="formData[item.id2]"
class="zdyText"
style="width: calc((100% - 150) / 2)"
>
</el-input>
</div>
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyDate'"
>
<el-date-picker
v-model="formData[item.id]"
type="date"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
<el-date-picker
v-model="formData[item.id2]"
type="date"
align="right"
:picker-options="item.pickerOptions2"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</div>
<!--下拉框-->
<el-select
v-model="formData[item.id]"
clearable
:placeholder="item.placeholder"
v-else-if="item.type == 'select'"
>
<el-option
v-for="item3 in item.selectData"
:key="item3.value"
:label="item3.name"
:value="item3.value"
>
</el-option>
</el-select>
<!--文本域-->
<el-input
type="textarea"
autosize
resize="none"
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-else-if="item.type == 'textarea'"
>
</el-input>
<!--日期框 日期时间-->
<el-date-picker
v-model="formData[item.id]"
type="datetime"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
suffix-icon="el-icon-date"
value-format="yyyy-MM-dd HH:mm:ss"
v-else-if="item.type == 'datetime'"
>
</el-date-picker>
<!--日期框-->
<el-date-picker
v-model="formData[item.id]"
type="daterange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
suffix-icon="el-icon-date"
v-else-if="item.type == 'date'"
>
</el-date-picker>
<el-date-picker
v-model="formData[item.id]"
type="datetimerange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd HH:mm:ss"
end-placeholder="结束日期"
prefix-icon="el-icon-date"
v-else-if="item.type == 'datetimerange'"
>
</el-date-picker>
<!--多选框-->
<div class="zdyInputW" v-else-if="item.type == 'checkbox'">
<el-checkbox-group v-model="formData[item.id]" size="small">
<el-checkbox
v-for="city in item.checkList"
:label="city"
:key="city.val"
>{{ city.label }}</el-checkbox
>
</el-checkbox-group>
</div>
<!--单选框-->
<div class="zdyInputW" v-else-if="item.type == 'radio'">
<el-radio-group v-model="formData[item.id]" size="small">
<el-radio
:label="item2.val"
v-for="item2 in item.radioData"
:key="item2.val"
>{{ item2.label }}
</el-radio>
</el-radio-group>
</div>
<!--字典框 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'code' || item.type == 'jlCode'"
>
<select-tree
v-model="formData[item.id]"
:placeholder="'请选择' + item.name"
:options="item.codeOptions"
:sendId="item.id"
/>
</div>
<!--字典弹框 @emitValue="getLbValue"-->
<div class="zdyInputW" v-else-if="item.type == 'codeTreeDialog'">
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
/>
</div>
<!--字典弹框懒加载 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'lazyCodeTreeDialog'"
>
<lazy-select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
/>
</div>
</el-form-item>
</div>
</el-form>
<!--按钮-->
<div class="btm-btns" v-if="name !== 'toAddXlajRelated'">
<el-button
type="primary"
size="small"
style="width: 100px"
@click="doQueryBtn(true)"
>查询
</el-button>
<el-button size="small" @click="clearData" style="width: 100px"
>清空
</el-button>
</div>
</div>
</div>
<div class="Content paneDiv paneDiv2">
<div class="">
<el-row style="width: 99%; margin: 0 auto">
<el-col :span="24">
<span class="flTtitle">案件信息</span>
<!--可配置化图标-->
<div class="total">
<span> {{ tableDataLength }} </span>
</div>
<span class="export-btn">
<div class="handleBtns" v-for="item in tableBtns" :key="item">
<el-button
plain
size="small"
@click="export2Excel"
v-if="item == 'add'"
class="export add"
><i class="el-icon-plus" style="margin-right: 2px"></i>添加
</el-button>
<el-button
plain
size="small"
@click="export2Excel"
v-else-if="item == 'view'"
class="export view"
><i class="el-icon-view" style="margin-right: 2px"></i
>查看线索组
</el-button>
</div>
<el-button
plain
size="small"
@click="export2Excel"
class="export"
v-if="name !== 'toAddXlajRelated'"
><i
class="iconfont iconshangchuan"
style="margin-right: 2px"
></i
>导出
</el-button>
</span>
</el-col>
</el-row>
<!--表格-->
<el-table
id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableData"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
v-if="name !== 'toAddXlajRelated'"
>
</el-table-column>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'jyaq'">
<div class="ajxq_s">
<span class="none" v-html="scope.row[columnTitle.prop]"></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="
display: inline-block;
width: 100%;
text-align: right;
color: #3692c6;
font-weight: 600;
"
id="open"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>展开</a
>
</div>
<div class="ajxq_n" style="display: none">
<span
style="display: block"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float: right; color: #3692c6; font-weight: 600"
id="stop"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>收起</a
>
</div>
</div>
<div
v-else-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="100"
align="center"
v-if="name == 'toAddXlajRelated'"
>
<template slot-scope="scope">
<el-button type="text" size="small" @click="del(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage1"
:page-sizes="[10, 20, 50, 100]"
:page-size="page_size"
layout="sizes,prev, pager, next"
:total="tableDataLength"
v-if="pageShow"
>
</el-pagination>
</div>
<div class="pageBtns">
<div v-for="item in pageBtns" :key="item">
<el-button
type="primary"
icon="el-icon-plus"
v-if="item == 'add'"
@click="addTableItem"
>添加</el-button
>
<el-button type="danger" icon="el-icon-close" v-if="item == 'off'"
>关闭</el-button
>
<el-button
type="success"
icon="el-icon-download"
v-if="item == 'save'"
@save="save"
>保存</el-button
>
</div>
</div>
</div>
</div>
</template>
<script>
import SelectTree from "@c/tree_components.vue";
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import Http from "@/utils/http.js";
import utils from "@/utils/util.js";
import axios from "axios";
export default {
name: "ptCxForm",
components: {
SelectTree,
SelectTreeDialog,
LazySelectTreeDialog,
},
props: {
pageBs: String,
cxQueryField: {
type: Array,
default: () => [],
},
cxDefaultFormThead: {
type: Array,
default: () => [],
},
cxFormData: Object,
cxUrl: {
type: Function,
default: () => null,
},
header: String,
pageFlag: String,
formType: String,
tableBtns: Array,
pageBtns: Array,
tableInfor: Array,
name: String,
},
data() {
return {
tPage: null,
checkResult: true,
asjbh: "",
spType: "",
pageBszfc: this.pageBs,
tableLoading: true, //loading
currentPage1: 1, //表格页码
page_size: 10, //每页显示多少条
pageShow: true, //是否显示分页
formData: utils.deepClone(this.cxFormData), //查询条件form
propQueryField: utils.deepClone(this.cxQueryField), //查询条件
key: 1, //table得key
tableDataLength: 0, //表格总数
talbeBhgCount: "", // 不合格
talbehgCount: "", // 合格
tableData: [], //表格数据
propdefaultFormThead: utils.deepClone(this.cxDefaultFormThead), //表格表头
excelHeader: "案件标注",
tableSelectItem: [],
cz: this.pageFlag,
};
},
methods: {
goDetail(scope) {
this.$router.pushToTab({
path: "ajbzDetail",
query: {
asjbh: scope.asjbh,
},
});
},
export2Excel() {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
if (self.tableDataLength > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条",
});
} else {
const loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
let json = {};
for (let i in self.formData) {
if (i != "cxSj") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != "" && self.formData[i] != null
? self.formData[i].join(" - ")
: "";
}
}
json.page = 1;
json.rows = 5000;
tHeader = [];
filterVal = [];
self.propdefaultFormThead.forEach((val) => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
this.cxUrl(JSON.stringify(json)).then((response) => {
if (response.code === 200) {
require.ensure([], () => {
const {
export_json_to_excel,
} = require("../../utils/Export2Excel");
const list = response.data.rows;
const data = self.formatJson(filterVal, list);
debugger;
export_json_to_excel(tHeader, data, self.excelHeader);
});
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败",
});
}
self.tableLoadingEmit = false;
});
}
},
del(data) {
this.$emit("delTableItem", data.asjbh);
},
addTableItem() {
this.$emit("addTableEvent", this.tableSelectItem);
},
delectByAjbh(asjbh) {
var self = this;
this.$confirm("删除后不可恢复,是否删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
closeLoading() {
this.tableLoading = false;
},
save(){
},
showLoading() {
this.tableLoading = true;
},
handleSizeChange(val) {
this.page_size = val;
this.formData.rows = val;
this.doQuery("yes");
},
clearData() {
let self = this;
for (let i in self.formData) {
if (
i != "rows" &&
i != "page" &&
i != "typeFlag" &&
i != "unitcode" &&
i != "grade" &&
i != "flwssfhgpdbz"
) {
self.formData[i] = "";
}
}
self.formData["rows"] = 10;
self.formData["page"] = 1;
},
formatJson(filterVal, jsonData) {
let arr = [];
jsonData.map((v) => {
let arr1 = [];
filterVal.map((j) => {
if (j.indexOf(",") != -1) {
let arr = j.split(",");
let data = "";
for (let i = 0; i <= arr.length - 1; i++) {
data += arr[i].split(":")[0] + ":" + v[arr[i].split(":")[1]];
}
arr1.push(data);
} else {
arr1.push(v[j]);
}
});
arr.push(arr1);
});
return arr;
},
handleCurrentChange(val) {
this.currentPage1 = val;
this.formData.page = val;
this.doQuery("yes");
},
tableRowClassName({ rowIndex }) {
if (rowIndex % 2 == 0) {
return "";
} else {
return "success-row";
}
},
handleSelectionChange(val) {
this.tableSelectItem = val;
},
doQueryBtn(val) {
if (val) {
this.formData.sfhgpdbz = "";
}
this.formData.page = 1;
this.doQuery("yes");
},
doQuery(flag) {
this.showLoading();
let self = this,
json = {};
for (let i in self.formData) {
if (i == "asjbz_ajfl") {
if (self.formData[i].length > 0) {
var str = "";
self.formData[i].forEach((item) => {
str = str ? `${str},${item.val}` : `${item.val}`;
});
}
json[i] = str;
} else if (i != "cxSj") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != "" && self.formData[i] != null
? self.formData[i].join(" - ")
: "";
}
}
if (flag) {
this.cxUrl(JSON.stringify(json))
.then((response) => {
if (response.code === 200) {
self.tableData = response.data.rows;
self.tableDataLength = response.data.total;
self.tPage = Math.ceil(response.data.total / self.page_size);
self.closeLoading();
} else {
self.closeLoading();
}
})
.catch((err) => {
this.tableLoading = false;
});
}
},
getTree() {
let self = this;
let arr = [];
if (this.formType !== "haveTitle") {
self.propQueryField.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
arr.push(val);
}
}
});
} else {
self.propQueryField.forEach((i) => {
i.children.forEach((j) => {
if (j.type == "code" || j.type == "codeTreeDialog") {
if (j.codeOptions.length == 0) {
arr.push(j);
}
}
});
});
}
console.log(arr);
return arr;
},
getTreeData() {
let self = this;
this.getTree().forEach((val) => {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
self.$set(val, "codeOptions", res.data.rows);
})
.catch((err) => {
console.log(err);
});
});
},
},
mounted() {
let self = this;
/*获取字典*/
this.getTreeData();
if (!this.tableInfor || this.tableInfor.length <= 0) {
self.doQuery("yes");
} else {
this.tableData = utils.deepClone(this.tableInfor);
this.pageShow = false;
this.tableDataLength = this.tableInfor.length;
this.closeLoading();
}
},
computed: {
//过滤掉重大伤亡重复人员等的操作列
ifShowOperation() {
return (
this.pageBszfc != "zczjcfry" &&
this.pageBszfc != "zdswxxgl" &&
this.pageBszfc != "cfryIndex" &&
this.pageBszfc != "jsbhgl"
);
},
},
watch: {
cxFormData: {
handler: function (val) {
this.formData = utils.deepClone(val);
},
deep: true,
},
cxQueryField: {
handler: function (val) {
this.propQueryField = utils.deepClone(val);
},
deep: true,
},
cxDefaultFormThead: {
handler: function (val) {
this.propdefaultFormThead = utils.deepClone(val);
},
deep: true,
},
tableInfor: {
handler: function (val) {
let self = this;
this.getTreeData();
if (this.name == "toAddXlajAdd") {
this.pageShow = true;
self.doQuery("yes");
this.key = 1;
} else {
console.log(this.tableData);
this.tableData = utils.deepClone(val);
this.pageShow = false;
this.tableDataLength = this.tableInfor.length;
this.closeLoading();
this.key = 2;
}
},
deep: true,
},
},
};
</script>
<style>
@import url("~@/assets/styles/iconfont.css");
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
font-family: inherit;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 32px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
</style>
<style scoped lang="scss">
@import "@/assets/styles/rightContent.scss";
.el-radio {
color: #606266;
cursor: pointer;
margin-right: 13px;
}
.rightContent .zdyText {
width: calc((100% - 30px) / 2) !important;
}
.rightContent .handleBtns /deep/ {
display: inline-block;
.el-button {
width: auto !important;
margin-right: 10px !important;
align-items: center;
transform: translateY(2px);
> span {
display: flex;
align-items: center;
transform: translateY(-2px);
}
}
}
.add {
color: #fff !important;
border-color: #409eff !important;
background-color: #409eff !important;
}
.view {
color: #fff !important;
border-color: #e6a23c !important;
background-color: #e6a23c !important;
}
.titleWrap {
margin-top: 15px;
margin-bottom: 10px;
.two-title {
display: inline-block;
color: $base-color;
width: 127px;
text-align: right;
font-weight: 600;
font-size: 16px;
vertical-align: middle;
}
.border {
display: inline-block;
width: 6px;
height: 20px;
background: $border-bg;
vertical-align: middle;
margin-left: 10px;
}
.dashedBorder {
display: inline-block;
width: calc(100% - 167px);
margin-left: 9px;
position: relative;
top: -2px;
opacity: 0.3;
border-bottom: 1px dashed $base-color;
}
}
.pageBtns {
> div {
display: inline-block;
.el-button {
margin-right: 30px !important;
}
}
text-align: center;
margin: 10px 20px;
}
</style>
......@@ -243,18 +243,20 @@ export default {
item => !self.ajxxDefaultField.data.some(ele => ele.name === item.name)
);
self.initNum++;
self.waitShrxxField = self.shrxxField.data.filter(
item => !self.shrxxDefaultField.data.some(ele => ele.name === item.name)
);
self.initNum++;
// console.log(self.shrxxField);
// self.waitShrxxField = self.shrxxField.data.filter(
// item => !self.shrxxDefaultField.data.some(ele => ele.name === item.name)
// );
// self.initNum++;
console.log(self.xyrxxField);
self.waitXyrxxField = self.xyrxxField.data.filter(
item => !self.xyrxxDefaultField.data.some(ele => ele.name === item.name)
);
self.initNum++;
self.waitFlxxField = self.flxxField.data.filter(
item => !self.flxxDefaultField.data.some(ele => ele.name === item.name)
);
self.initNum++;
// self.waitFlxxField = self.flxxField.data.filter(
// item => !self.flxxDefaultField.data.some(ele => ele.name === item.name)
// );
// self.initNum++;
},
initCode() {
let self = this;
......@@ -286,20 +288,21 @@ export default {
self.initNum++;
}
});
self.shrxxDefaultField.data.forEach((val,index3) => {
if (val.type == "code"||val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios.get(`JsonData/${val.codeTree}.json`).then(response => {
if (response.success === true) {
self.$set(val, "codeOptions", response.data.rows);
}
});
}
}
if(index3==self.shrxxDefaultField.data.length-1){
self.initNum++;
}
});
// self.shrxxDefaultField.data.forEach((val,index3) => {
// if (val.type == "code"||val.type == "codeTreeDialog") {
// if (val.codeOptions.length == 0) {
// axios.get(`JsonData/${val.codeTree}.json`).then(response => {
// if (response.success === true) {
// self.$set(val, "codeOptions", response.data.rows);
// }
// });
// }
// }
// if(index3==self.shrxxDefaultField.data.length-1){
// self.initNum++;
// }
// });
}
},
mounted() {
......
......@@ -86,6 +86,37 @@ Vue.directive("nsLoading", {
}
});
Vue.directive('drag', {
//1.指令绑定到元素上回立刻执行bind函数,只执行一次
//2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象
bind: function (el, elementObj) {
let dragBox = el; //获取当前元素
dragBox.style.position = 'absolute'; // 拖拽元素使用定位,脱离文档流
dragBox.onmousedown = e => {
//鼠标相对元素的位置
let disX = e.clientX - dragBox.offsetLeft;
let disY = e.clientY - dragBox.offsetTop;
document.onmousemove = e => {
//鼠标的位置减去鼠标相对元素的位置,得到元素的位置
let left = e.clientX - disX;
let top = e.clientY - disY;
//移动当前元素
dragBox.style.left = left + 'px';
dragBox.style.top = top + 'px';
};
document.onmouseup = e => {
//鼠标弹起来的时候不再移动
document.onmousemove = null;
//预防鼠标弹起来后还会循环(即预防鼠标放上去的时候还会移动)
document.onmouseup = null;
// 对外暴露元素相对于父级位置
elementObj.value.left = dragBox.style.left;
elementObj.value.top = dragBox.style.top;
};
};
}
});
new Vue({
router,
store,
......
/*
* @Author: your name
* @Date: 2021-08-25 15:59:14
* @LastEditTime: 2021-08-25 15:59:14
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\utils\Bus.js
*/
import Vue from 'vue'
const bus = new Vue()
export default bus
\ No newline at end of file
......@@ -517,8 +517,9 @@
<el-dialog
title="标识号新增"
:visible.sync="centerDialogVisibles1"
width="50%"
width="800px"
center
v-drag="elementPos"
>
<table class="bshTable">
<thead>
......@@ -618,6 +619,10 @@ export default {
},
data() {
return {
elementPos: {
left: null,
top: null,
},
bshList: [
{
bshle: "",
......@@ -810,7 +815,6 @@ export default {
}).then((res) => {
self.bzztMs = res.data.rows == null ? "未标注" : "已标注";
self.selectIndex1 = parseInt(res.data.rows.asjflzt);
;
if (res.data.rows != null) {
self.ajzlbStr = res.data.rows.ajzlbStr;
self.ajxzlbStr = res.data.rows.ajxzlbStr;
......@@ -963,7 +967,6 @@ export default {
getFwbzhList({
asjbh: this.asjbh,
}).then((res) => {
this.fwbzhList = res.data.rows;
this.shrList = res.data.rows.filter((item) => item.rylx == "01");
this.xyrList = res.data.rows.filter((item) => item.rylx == "02");
......@@ -1013,7 +1016,7 @@ export default {
startId: "",
}).then((res) => {
console.log(res);
debugger
debugger;
this.data1 = this.sxdata1 = res.rows.filter((val) => {
return val.parentId != "";
});
......@@ -1023,7 +1026,7 @@ export default {
startId: "",
}).then((res) => {
// console.log(res)
debugger
debugger;
this.data = this.sxdata = res.rows;
});
},
......@@ -1078,7 +1081,7 @@ export default {
hanldTableBar(val) {
if (this.selectIndex1 == val) {
this.selectIndex1 = 0;
debugger
debugger;
this.data1 = this.sxdata1;
} else {
this.selectIndex1 = val;
......@@ -1122,7 +1125,7 @@ export default {
let newData = this.sxdata1.filter((val) => {
return val.id == parentId;
});
debugger
debugger;
this.data1 = newData;
console.log(this.data1);
},
......
......@@ -51,7 +51,7 @@
</el-form>
<!--按钮-->
<div class="btm-btns">
<el-button type="primary" size="small" style="width: 100px"
<el-button type="primary" size="small" style="width: 100px" @click="doQuery"
>查询
</el-button>
<el-button size="small" @click="clearData" style="width: 100px"
......@@ -115,26 +115,14 @@
align="center"
:width="columnTitle1.width"
>
<template
slot-scope="scope"
>
<p v-if="columnTitle1.prop.indexOf('-') != -1">
{{
`${scope.row[stringToArr(columnTitle1.prop)[0]]}/${
scope.row[stringToArr(columnTitle1.prop)[1]]
}`
}}
</p>
<p v-else>
{{ scope.row[columnTitle1.prop] }}
</p>
<template slot-scope="scope">
{{ scope.row[columnTitle1.prop] }}
</template>
</el-table-column>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
<!-- <el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
......@@ -144,7 +132,7 @@
layout="sizes,prev, pager, next"
:total="tableDataLength"
>
</el-pagination>
</el-pagination> -->
</div>
</div>
</div>
......@@ -152,8 +140,7 @@
</template>
<script>
import { getAjBzTj } from "@/api/ypbg.js";
export default {
name: "bztj",
data() {
......@@ -165,17 +152,15 @@ export default {
tableDataLength: 30,
// 查询条件
formData: {
lasjRqsjKssj: "",
lasjRqsjJssj: "",
asjfssjKssj: "",
asjfssjJssj: "",
asjfssjAsjfskssj: "",
asjfssjAsjfsjssj: "",
},
// 输入框
BztjCxtj: [
{
name: "发案时间",
id: "asjfssjKssj",
id2: "asjfssjJssj",
id: "asjfssjAsjfskssj",
id2: "asjfssjAsjfsjssj",
type: "zdyDate",
value: "",
col: "3",
......@@ -185,7 +170,7 @@ export default {
bztjFormThead: [
{
label: "立案单位",
prop: "dwmc",
prop: "name",
width: "280",
},
{
......@@ -193,12 +178,12 @@ export default {
children: [
{
label: "未标注/已标注",
prop: "dqwbz-dqbz",
prop: "contBz0",
width: "150",
},
{
label: "已破/未破",
prop: "dqyp-dqwp",
prop: "contPa1",
width: "150",
},
],
......@@ -209,12 +194,12 @@ export default {
children: [
{
label: "未标注/已标注",
prop: "dqwbz-dqbz",
prop: "contBz1",
width: "150",
},
{
label: "已破/未破",
prop: "dqyp-dqwp",
prop: "contPa1",
width: "150",
},
],
......@@ -224,12 +209,12 @@ export default {
children: [
{
label: "未标注/已标注",
prop: "dqwbz-dqbz",
prop: "contBz2",
width: "150",
},
{
label: "已破/未破",
prop: "dqyp-dqwp",
prop: "contPa2",
width: "150",
},
],
......@@ -239,12 +224,12 @@ export default {
children: [
{
label: "未标注/已标注",
prop: "dqwbz-dqbz",
prop: "contBz3",
width: "150",
},
{
label: "已破/未破",
prop: "dqyp-dqwp",
prop: "contPa3",
width: "150",
},
],
......@@ -254,458 +239,51 @@ export default {
children: [
{
label: "未标注/已标注",
prop: "dqwbz-dqbz",
prop: "contBz4",
width: "150",
},
{
label: "已破/未破",
prop: "dqyp-dqwp",
prop: "contPa4",
width: "150",
},
],
},
],
// 表格数据
bztjDataList: [
{
dwmc: "北京市公安局",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "2",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "1",
},
{
dwmc: "天津市公安局",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "1",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "1",
},
{
dwmc: "河北省公安厅",
dqwbz: "0",
dqbz: "5",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "1",
},
{
dwmc: "内蒙古自治区公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "3",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "1",
},
{
dwmc: "辽宁省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "8",
dqyp: "4",
dqwp: "3",
},
{
dwmc: "吉林省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "4",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "0",
},
{
dwmc: "黑龙江省公安厅",
dqwbz: "0",
dqbz: "5",
zpawbz: "0",
zpabz: "2",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "1",
dqwp: "1",
},
{
dwmc: "上海市公安厅",
dqwbz: "0",
dqbz: "4",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "6",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "1",
dqwp: "0",
},
{
dwmc: "江苏省公安厅",
dqwbz: "0",
dqbz: "5",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "7",
dqyp: "0",
dqwp: "5",
},
{
dwmc: "浙江省公安厅",
dqwbz: "0",
dqbz: "5",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "3",
dqwp: "4",
},
{
dwmc: "安徽省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "6",
dqyp: "4",
dqwp: "5",
},
{
dwmc: "福建省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "3",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "4",
},
{
dwmc: "江西省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "1",
},
{
dwmc: "山东省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "3",
dqwp: "2",
},
{
dwmc: "河南省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "5",
dqwp: "1",
},
{
dwmc: "湖北省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "3",
},
{
dwmc: "广东省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "1",
dqwp: "1",
},
{
dwmc: "广西壮族自治区公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "0",
dqwp: "0",
},
{
dwmc: "海南省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "3",
dqwp: "3",
},
{
dwmc: "重庆市公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "3",
dqwp: "0",
},
{
dwmc: "四川省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "0",
dqwp: "0",
},
{
dwmc: "贵州省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "1",
dqwp: "2",
},
{
dwmc: "云南省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "1",
},
{
dwmc: "西藏自治区公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "3",
dqwp: "0",
},
{
dwmc: "陕西省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "2",
dqwp: "2",
},
{
dwmc: "甘肃省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "1",
dqwp: "3",
},
{
dwmc: "青海省公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "3",
dqwp: "2",
},
{
dwmc: "宁夏回族自治区公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "0",
dqwp: "0",
},
{
dwmc: "新疆维尔吾自治区公安厅",
dqwbz: "0",
dqbz: "1",
zpawbz: "0",
zpabz: "3",
qjawbz: "0",
qjabz: "4",
qdawbz: "0",
adabz: "2",
ayzpawbz: "0",
ayzpabz: "1",
dqyp: "4",
dqwp: "1",
},
],
bztjDataList: [],
};
},
created() {
this.formData.asjfssjAsjfskssj = this.formatStartDate(new Date());
this.formData.asjfssjAsjfsjssj = this.formatDate(new Date());
this.getAjTj();
},
methods: {
formatDate(date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? "0" + m : m;
var d = date.getDate();
d = d < 10 ? "0" + d : d;
return y + "-" + m + "-" + d;
},
formatStartDate(date) {
var y = date.getFullYear();
return y + "-01-01";
},
doQuery(){
this.getAjTj()
},
getAjTj() {
var self = this;
getAjBzTj({
asjfssjAsjfskssj: self.formData.asjfssjAsjfskssj,
asjfssjAsjfsjssj: self.formData.asjfssjAsjfsjssj,
}).then((res) => {
self.bztjDataList = res.data.rows;
});
},
// 清空按钮
clearData() {
this.formData = {};
......
<!--
* @Author: your name
* @Date: 2021-08-25 09:47:35
* @LastEditTime: 2021-08-25 18:46:37
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\views\cba\djwzba.vue
-->
<template>
<div class="djwzba" id="djwzba">
<div class="header">
<i class="el-icon-edit"></i>
<span>填写案件</span>
</div>
<div class="content-search" v-if="$route.path==='/djwzba/xgaj'">
<right-content @saveAj="saveAj" @addmc="createMc" class="input-txt" :cxFormData="cxFormData" :cxQueryField="cxQueryField"></right-content>
</div>
<div class="tabs">
<div :class="{tabItem: true, active: $route.path===item.path}" v-for="(item, index) in routerList" :key="index" @click="switchTab(item.path)">
<span>{{item.title}}</span>
</div>
</div>
<router-view></router-view>
</div>
</template>
<script>
import Bus from '@/utils/Bus'
import rightContent from "@c/bshChildrenQuery_cba.vue";
import { addxszglasj } from "@/api/cbyp.js";
export default {
components: {
rightContent,
},
data () {
return {
xszajbh: this.$route.query.xszajbh,
routerList: [
{ path: '/djwzba/xgaj', title: '相关案件' },
{ path: '/djwzba/tjaj', title: '添加案件' },
// { path: '/djwzba/', title: '我的收藏案件' }
],
cxFormData: {
typeFlag: "all",
unitcode: sessionStorage.getItem("unitcode"),
grade: sessionStorage.getItem("grade"),
typeFlag: "bshcb",
cbmc: '',
cblx: [],
cbxxms: ''
},
cxQueryField: [
{
name: "串并名称",
id: "cbmc",
type: "text-btn",
value: "11",
placeholder: "请输入",
col: "3",
},
{
name: "串并类型",
id: "cblx",
type: "codeTreeDialog",
// type: "lazyCodeTreeDialog",
props: [], //字典弹框需要的字段
value: "",
col: "3",
codeOptions: [],
codeTree: "CODE_CBYP_CBLX",
// multiple: true
},
{
name: "串并依据描述",
id: "cbxxms",
type: "textarea",
value: "",
placeholder: "请输入",
col: "3",
},
],
};
},
mounted () {
this.cxQueryField[0]
Bus.$on('addCbmc', (cbmcList) => {
console.log(cbmcList)
let arr = []
cbmcList.forEach(element => {
arr.push(element.ajmc)
});
this.str = arr.join(',')
})
Bus.$on('reset', () => {
this.createMc()
})
},
methods: {
async saveAj() {
let obj = {
cbmc: this.cxFormData.cbmc,
cblx: this.cxFormData.cblx,
cbxxms: this.cxFormData.cbxxms,
glxxXszajbh: this.$route.query.xszajbh
}
let res = await addxszglasj(obj)
console.log(res);
Bus.$emit('updataTable')
this.cxFormData.cbmc = ''
this.cxFormData.cblx = []
this.cxFormData.cbxxms = ''
},
switchTab (path) {
this.$router.push(
{
path: path,
query: {
xszajbh: this.xszajbh
}
}
)
},
createMc() {
this.$set(this.cxFormData, 'cbmc', this.str)
console.log(this.cxQueryField);
}
},
}
</script>
<style lang="scss" scoped>
.djwzba {
.header {
padding: 8px;
border-bottom: 1px dashed #000;
font-weight: 800;
}
.tabs {
height: 40px;
display: flex;
align-items: center;
font-size: 16px;
background: #fff;
border-bottom: 1px dashed #ccc;
padding: 0 8px;
margin-bottom: 5px;
.tabItem {
height: 100%;
line-height: 40px;
padding: 0 10px;
cursor: pointer;
&.active {
border: 1px solid #ccc;
border-top: 2px solid orangered;
border-bottom: none;
}
}
}
}
</style>
<!--
* @Author: your name
* @Date: 2021-08-25 10:14:13
* @LastEditTime: 2021-08-25 19:15:35
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\views\tjaj.vue
-->
<template>
<div class="Content">
<list-form
ref="form"
:formData="formData"
:AjxxFormField="AjxxFormField"
:AjxxDefaultFormField="AjxxDefaultFormField"
:XyrxxDefaultFormField="XyrxxDefaultFormField"
:XyrxxFormField="XyrxxFormField"
@doQueryList="doQueryList"
></list-form>
<el-table
stripe
:key="key"
v-loading="tableLoading"
element-loading-text="拼命加载中"
ref="itsmDataTable"
tooltip-effect="dark"
max-height="550"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
:data="bztjDataList"
>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handlePath(scope.$index, scope.row)"
>添加</el-button
>
</template>
</el-table-column>
<el-table-column
align="center"
v-for="columnTitle in bztjFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
</el-table-column>
</el-table>
</div>
</template>
<script>
import listForm from "@c/tjajForm.vue";
export default {
components: {
listForm,
},
data() {
return {
tableLoading: false,
// 表格数据
bztjDataList: [],
// 表格表头
bztjFormThead: [
{
label: "案事件编号",
prop: "asjbh",
width: "auto",
},
{
label: "简要案情",
prop: "jyaq",
width: "auto",
},
{
/*table默认得表头*/
label: "主案类别",
prop: "ajzlb",
width: "auto",
},
// {
// label: "主要类别",
// prop: "time",
// width: "auto",
// },
{
label: "刑事类案类别",
prop: "cph",
width: "auto",
},
{
label: "刑事次案类别",
prop: "cphl",
width: "auto",
},
{
label: "按事件名称",
prop: "cph",
width: "auto",
},
{
label: "发案地点 ",
prop: "cph",
width: "auto",
},
{
label: "损失价值 ",
prop: "cph",
width: "auto",
},
{
label: "立案日期 ",
prop: "cph",
width: "auto",
},
{
label: "案件发生开始时间 ",
prop: "cph",
width: "auto",
},
],
header: "刑事次案类别",
pageBs: "bshcb",
formData: {
flxx: [],
asjbh: "",
sldwGajgjgdm: "",
asjfsddXzqhdm: "",
ajlbdm: "",
larq: "", //立案时间
asjfssjAsjfskssj: "", //案发时间
ajzlb: "",
ajxzlb: "",
xalbdmbcms: "",
zhfzxyrAsjxgrybh: "",
zhfzxyrCyzj: "",
zhfzxyrXm: "",
zhfzxyrCym: "",
zhfzxyrXbdm: "",
zhfzxyrBmch: "",
bhrCsrqRqgzxx: "", //出生日期
bhrMzdm: "",
bhrGjdm: "",
zhfzxyrHjdzXzqhdm: "",
zhfzxyrHjdzDzmc: "",
zhfzxyrXzzXzqhdm: "",
zhfzxyrXzzDzmc: "",
zhfzxyrFzxyrdaztdm: "",
zhfsZhfsdm: "",
zhddDzmc: "",
zhdwGajgjgdm: "",
zhrq: "", //抓获时间
page: "1",
rows: "10",
desc: "larq" /*降序*/,
},
AjxxFormField: {
title: "案件特征",
id: "1",
data: [
/*立案信息 侦查终结信息 立案信息审批 侦查终结审批通用开始*/
{
name: "案(事)件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "受理单位",
id: "sldwGajgjgdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "案发地取区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "案(事)件类别",
id: "ajlbdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "立案时间",
id: "larq",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
{
name: "案发时间",
id: "asjfssjAsjfskssj",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
{
name: "主案类别",
id: "ajzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "类案类别",
id: "ajxzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "次类案类别",
id: "xalbdmbcms",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
],
},
AjxxDefaultFormField: {
title: "案件特征",
id: "1",
data: [
/*立案信息 侦查终结信息 立案信息审批 侦查终结审批通用开始*/
{
name: "案(事)件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "受理单位",
id: "sldwGajgjgdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "案发地取区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "案(事)件类别",
id: "ajlbdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "立案时间",
id: "larq",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
{
name: "案发时间",
id: "asjfssjAsjfskssj",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
{
name: "主案类别",
id: "ajzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "类案类别",
id: "ajxzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "次类案类别",
id: "xalbdmbcms",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
],
},
XyrxxDefaultFormField: {
title: "人员特征",
id: "2",
data: [
{
name: "人员编号",
id: "zhfzxyrAsjxgrybh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "证件号码",
id: "zhfzxyrCyzj",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "姓名",
id: "zhfzxyrXm",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "曾用名",
id: "zhfzxyrCym",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "性别",
id: "zhfzxyrXbdm",
type: "code",
codeOptions: [],
codeTree: "CODE_XB",
value: "",
col: "3",
},
{
name: "其他名称",
id: "zhfzxyrBmch",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "出生日期",
id: "bhrCsrqRqgzxx",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
{
name: "民族",
id: "bhrMzdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_MZ",
value: "",
col: "3",
},
{
name: "国籍",
id: "bhrGjdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GJ",
value: "",
col: "3",
},
{
name: "户籍地区划",
id: "zhfzxyrHjdzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "户籍地名称",
id: "zhfzxyrHjdzDzmc",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "现住址行政区划",
id: "zhfzxyrXzzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "现住址名称",
id: "zhfzxyrXzzDzmc",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "到案状态",
id: "zhfzxyrFzxyrdaztdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_DAZT",
value: "",
col: "3",
},
{
name: "抓获方式",
id: "zhfsZhfsdm",
type: "code",
codeOptions: [],
codeTree: "CODE_ZHFS",
value: "",
col: "3",
},
{
name: "抓获地点",
id: "zhddDzmc",
type: "code",
codeOptions: [],
codeTree: "CODE_ZHFS",
value: "",
col: "3",
},
{
name: "抓获单位",
id: "zhdwGajgjgdm",
// type: "lazyCodeTreeDialog", //字典弹框
type: "codeTreeDialog", //字典弹框
codeTree: "CODE_QGUNIT",
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
value: "",
col: "3",
},
{
name: "抓获日期",
id: "zhrq",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
],
},
XyrxxFormField: {
title: "人员特征",
id: "2",
data: [
{
name: "人员编号",
id: "zhfzxyrAsjxgrybh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "证件号码",
id: "zhfzxyrCyzj",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "姓名",
id: "zhfzxyrXm",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "曾用名",
id: "zhfzxyrCym",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "性别",
id: "zhfzxyrXbdm",
type: "code",
codeOptions: [],
codeTree: "CODE_XB",
value: "",
col: "3",
},
{
name: "其他名称",
id: "zhfzxyrBmch",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "出生日期",
id: "bhrCsrqRqgzxx",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
{
name: "民族",
id: "bhrMzdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_MZ",
value: "",
col: "3",
},
{
name: "国籍",
id: "bhrGjdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GJ",
value: "",
col: "3",
},
{
name: "户籍地区划",
id: "zhfzxyrHjdzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "户籍地名称",
id: "zhfzxyrHjdzDzmc",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "现住址行政区划",
id: "zhfzxyrXzzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "现住址名称",
id: "zhfzxyrXzzDzmc",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "到案状态",
id: "zhfzxyrFzxyrdaztdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_DAZT",
value: "",
col: "3",
},
{
name: "抓获方式",
id: "zhfsZhfsdm",
type: "code",
codeOptions: [],
codeTree: "CODE_ZHFS",
value: "",
col: "3",
},
{
name: "抓获地点",
id: "zhddDzmc",
type: "code",
codeOptions: [],
codeTree: "CODE_ZHFS",
value: "",
col: "3",
},
{
name: "抓获单位",
id: "zhdwGajgjgdm",
// type: "lazyCodeTreeDialog", //字典弹框
type: "codeTreeDialog", //字典弹框
codeTree: "CODE_QGUNIT",
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
value: "",
col: "3",
},
{
name: "抓获日期",
id: "zhrq",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
},
},
],
},
},
],
},
cxUrl: "/api/cbxsz/toQueryXszxx",
updateCbxszUrl: "/api/cbxsz/updateCbxsz",
childrenUrl: "/api/cbxsz/listCbxszGlAsjxx",
};
},
methods: {
doQueryList(data) {
console.log(data);
},
},
};
</script>
<style>
</style>
\ No newline at end of file
<!--
* @Author: your name
* @Date: 2021-08-25 09:47:52
* @LastEditTime: 2021-08-25 18:03:06
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\views\cba\xgaj.vue
-->
<template>
<div class="xgal">
<el-button type="danger" class="btn" @click="delAj">删除案件</el-button>
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center">
</el-table-column>
<el-table-column label="案件编号" width="265" align="center">
<template slot-scope="scope">{{ scope.row.asjbh }}</template>
</el-table-column>
<el-table-column label="案件名称" width="160" align="center">
<template slot-scope="scope">{{ scope.row.ajmc }}</template>
</el-table-column>
<el-table-column label="案件类别" width="100" align="center">
<template slot-scope="scope">{{ scope.row.ajlbdmStr }}</template>
</el-table-column>
<el-table-column label="比中号码" width="180" align="center">
<template slot-scope="scope">{{ scope.row.cbxgfwbzh }}</template>
</el-table-column>
<el-table-column label="案件状态" width="160" align="center">
<template slot-scope="scope">{{ scope.row.zcjddmStr }}</template>
</el-table-column>
<el-table-column label="发案时间" width="160" align="center">
<template slot-scope="scope">{{ scope.row.asjfssjKssj }}</template>
</el-table-column>
<el-table-column label="发案地点" width="100" align="center">
<template slot-scope="scope">{{ scope.row.asjfsddXzqhdm }}</template>
</el-table-column>
<el-table-column label="受理单位" width="160" align="center">
<template slot-scope="scope">{{ scope.row.sldw }}</template>
</el-table-column>
<el-table-column label="立案单位" width="160" align="center">
<template slot-scope="scope">{{ scope.row.ladwGajgjgdm }}</template>
</el-table-column>
<el-table-column label="简要案情" width="420" align="center">
<template slot-scope="scope">{{ scope.row.jyaq }}</template>
</el-table-column>
</el-table>
<el-pagination background layout="prev, pager, next" @current-change="changePage" :total="total">
</el-pagination>
</div>
</template>
<script>
import Bus from '@/utils/Bus'
import { queryxszglasj, delxszglasj } from "@/api/cbyp.js";
export default {
data () {
return {
tableData: [],
multipleSelection: [],
total: 10
}
},
mounted () {
console.log(this.$route);
this.getData(1, 10);
Bus.$on('reset', () => {
this.$refs.multipleTable.clearSelection();
})
Bus.$on('updataTable', () => {
this.getData(1, 10);
})
},
methods: {
async delAj() {
let arr = []
this.multipleSelection.forEach(item => {
arr.push(item.asjbh)
})
let str = arr.join(',')
console.log(str);
let sfscxsz = 0
if(this.multipleSelection.length == this.total) {
sfscxsz = 1
} else {
sfscxsz = 0
}
let obj = {
asjbhs: str,
xszajbh: this.$route.query.xszajbh,
sfscxsz: sfscxsz
}
let res = await delxszglasj(obj)
console.log(res);
if(res == 200) {
this.$message.success('删除成功!')
this.getData(1, 10)
} else {
this.$message.error('删除失败!')
}
},
async getData (start, length) {
let fromData = {
start,
length,
xszajbh: this.$route.query.xszajbh
}
let res = await queryxszglasj(fromData)
console.log(res);
if (res.code == 200) {
this.tableData = res.data.data
this.total = res.data.recordsTotal
} else {
this.$message.error('请求数据失败!')
}
},
toggleSelection (rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable.toggleRowSelection(row);
});
} else {
this.$refs.multipleTable.clearSelection();
}
},
handleSelectionChange (val) {
this.multipleSelection = val;
Bus.$emit('addCbmc', this.multipleSelection)
},
changePage (page) {
console.log(page);
this.getData(page, 10)
}
}
}
</script>
<style lang="scss" scoped>
.xgal {
button {
margin: 5px;
}
}
</style>
\ No newline at end of file
<template>
<div class="xszhb">
<div class="left">
<div class="top"></div>
<div class="bottom"></div>
<div id="xszhb">
<div class="top_title">
<img src="../../assets/img/login/jinhui.png" alt="" />
<div class="name">合并线索组</div>
</div>
<div class="right">
<div class="qt"></div>
<div class="xsz_content">
<div class="left">
<div class="top paneDiv">
<div class="title_type">
<div class="xian"></div>
<div class="hb_title">预合并线索组</div>
</div>
<div style="float: right">
<el-button
type="primary"
size="small"
style="width: 100px"
@click="yhbxsz(true)"
>合并
</el-button>
<el-button size="small" @click="clear" style="width: 100px"
>还原
</el-button>
</div>
<el-table
id="ajzbQuery"
element-loading-text="拼命加载中"
ref="itsmDataTable"
:data="hbTable"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
@selection-change="
(row) => {
handleSelectionChange(row, index);
}
"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'jyaq'">
<div class="ajxq_s">
<span
class="none"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="
display: inline-block;
width: 100%;
text-align: right;
color: #3692c6;
font-weight: 600;
"
id="open"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>展开</a
>
</div>
<div class="ajxq_n" style="display: none">
<span
style="display: block"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float: right; color: #3692c6; font-weight: 600"
id="stop"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>收起</a
>
</div>
</div>
<div
v-else-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
<div class="bottom paneDiv">
<div class="title_type">
<div class="xian"></div>
<div class="hb_title">本人线索组</div>
</div>
<div class="qt" v-for="(item, index) in tableData" :key="index">
<div class="cbyp">
<div class="title">
<span class="subtitle">{{ item.cbyp.cbajAjmc }}</span>
<span class="lx">{{ item.cbyp.cblxStr }}</span>
<span class="bsh">{{ item.cbyp.bshlxStr }}</span>
</div>
<div>
<el-button
type="primary"
size="mini"
style="width: 100px"
@click="hbaj()"
>合并
</el-button>
<span
@click="
seleteTable[`show${index}`] = !seleteTable[`show${index}`]
"
style="margin-left: 20px"
>
<i
:class="
seleteTable[`show${index}`]
? 'el-icon-arrow-down'
: 'el-icon-arrow-up'
"
></i>
<el-button type="text" style="color: #333333">{{
seleteTable[`show${index}`] == false ? "收起" : "展开"
}}</el-button>
</span>
</div>
</div>
<el-table
v-show="seleteTable[`show${index}`]"
id="ajzbQuery"
element-loading-text="拼命加载中"
ref="itsmDataTable"
:data="item.cbaj"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
@selection-change="
(row) => {
handleSelectionChange(row, index);
}
"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'jyaq'">
<div class="ajxq_s">
<span
class="none"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="
display: inline-block;
width: 100%;
text-align: right;
color: #3692c6;
font-weight: 600;
"
id="open"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>展开</a
>
</div>
<div class="ajxq_n" style="display: none">
<span
style="display: block"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float: right; color: #3692c6; font-weight: 600"
id="stop"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>收起</a
>
</div>
</div>
<div
v-else-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<div class="right paneDiv">
<div class="title_type">
<div class="xian"></div>
<div class="hb_title">其它线索组</div>
</div>
<div class="qt" v-for="(item, index) in tableData" :key="index">
<div class="cbyp">
<div class="title">
<span class="subtitle">{{ item.cbyp.cbajAjmc }}</span>
<span class="lx">{{ item.cbyp.cblxStr }}</span>
<span class="bsh">{{ item.cbyp.bshlxStr }}</span>
</div>
<div>
<el-button
type="primary"
size="mini"
style="width: 100px"
@click="hbaj(index)"
>合并
</el-button>
<span
@click="
seleteTable[`show${index}`] = !seleteTable[`show${index}`]
"
style="margin-left: 20px"
>
<i
:class="
seleteTable[`show${index}`]
? 'el-icon-arrow-down'
: 'el-icon-arrow-up'
"
></i>
<el-button type="text" style="color: #333333">{{
seleteTable[`show${index}`] == false ? "收起" : "展开"
}}</el-button>
</span>
</div>
</div>
<el-table
id="ajzbQuery"
element-loading-text="拼命加载中"
ref="itsmDataTable"
:data="item.cbaj"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
@selection-change="
(row) => {
handleSelectionChange(row, index);
}
"
v-show="seleteTable[`show${index}`]"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'jyaq'">
<div class="ajxq_s">
<span
class="none"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="
display: inline-block;
width: 100%;
text-align: right;
color: #3692c6;
font-weight: 600;
"
id="open"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>展开</a
>
</div>
<div class="ajxq_n" style="display: none">
<span
style="display: block"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float: right; color: #3692c6; font-weight: 600"
id="stop"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>收起</a
>
</div>
</div>
<div
v-else-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</div>
</template>
<script>
import { toHbxsz } from "@/api/cbyp.js";
import { toHbxsz, insertHbXszxx } from "@/api/cbyp.js";
export default {
data() {
return {
xszajbh: "",
propdefaultFormThead: [
{
label: "案发地点",
prop: "fxasjddXzqhdm",
},
{
label: "案件编号",
prop: "xszajbh",
},
......@@ -38,8 +397,8 @@ export default {
prop: "zcjddm",
},
{
label: "立案单位",
prop: "ladwGajgjgdm",
label: "案发地点",
prop: "fxasjddXzqhdm",
},
{
label: "案发时间",
......@@ -51,6 +410,9 @@ export default {
},
],
tableData: [],
seleteTable: {},
hbTable: [],
yhbTable: [],
};
},
created() {
......@@ -59,17 +421,165 @@ export default {
this.getShuju();
},
methods: {
yhbxsz() {
// this.yhbTable =
// insertHbXszxx({
// })
},
clear() {
this.hbTable = [];
},
hbaj(index) {
if (this.seleteTable[`select${index}`].length > 0) {
if (item.indexOf("select") != -1) {
this.hbTable = [];
var arr = [];
for (var item in this.seleteTable) {
arr = [...this.seleteTable[item]];
arr.forEach((item) => {
this.hbTable.push(item);
});
}
}
} else {
this.$confirm("请选择数据", "提示", {
confirmButtonText: "确定",
type: "warning",
});
}
},
handleSelectionChange(val, index) {
this.$set(this.seleteTable, `select${index}`, val);
},
getShuju() {
var params = new FormData();
params.append("xszajbh", this.xszajbh);
params.append("cbxgfwbzh", this.cbxgfwbzh);
var self = this;
var params = {
xszajbh: this.xszajbh,
cbxgfwbzh: this.cbxgfwbzh,
};
toHbxsz(params).then((res) => {
this.tableData = res.data.qucsj;
self.tableData = res.data.result;
debugger
for (let index = 0; index < self.tableData.length; index++) {
self.$set(this.seleteTable, `select${index}`, []);
self.$set(this.seleteTable, `show${index}`, true);
}
});
},
},
};
</script>
<style>
<style scoped lang="scss">
#xszhb {
.top_title {
height: 52px;
background: #1f212c;
padding-left: 32px;
display: flex;
align-items: center;
img {
width: 36px;
height: 36px;
}
.name {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px;
color: #ffffff;
}
}
.xsz_content {
display: flex;
height: calc(100vh - 52px);
.left {
flex: 1;
display: flex;
flex-direction: column;
.top {
height: 40%;
overflow: auto;
flex: 1;
}
.bottom {
flex: 2;
overflow: auto;
}
}
.right {
flex: 1;
overflow: auto;
}
.cbyp {
display: flex;
justify-content: space-between;
border: 1;
height: 32px;
align-items: center;
margin-top: 7px;
span {
padding: 5px;
margin-right: 5px;
}
.subtitle {
width: 140px;
font-size: 20px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 26px;
color: #1f212c;
opacity: 1;
}
.lx {
border: 1px solid #f1970f;
opacity: 1;
border-radius: 2px;
color: #f1970f;
padding: 4px;
}
.bsh {
font-size: 15px;
font-family: Microsoft YaHei;
font-weight: 400;
line-height: 20px;
color: #1f212c;
opacity: 1;
}
}
.paneDiv {
background: #ffffff;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.18);
opacity: 1;
border-radius: 5px;
margin: 8px;
padding: 10px 20px;
padding-bottom: 14px;
}
}
.title_type {
height: 39px;
display: flex;
flex-wrap: wrap;
align-items: center;
.xian {
display: inline-block;
width: 6px;
height: 16px;
background: #3670ff;
vertical-align: middle;
margin-right: 16px;
margin-left: 24px;
}
.hb_title {
height: 24px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px;
color: #333333;
opacity: 1;
}
}
}
</style>
\ No newline at end of file
<template>
<div class="qgxxxx">
<div class="title">
<img src="../../assets/img/login/jinhui.png" alt="" />
<div class="name">全国案件</div>
</div>
<div class="buttonSquare">
<el-button
class="provinceButton"
v-for="item in buttonList"
:key="item.value"
@click="searchCaseByProvince(item.value)"
>{{ item.name }}</el-button
>
</div>
<div class="listSquare">
<el-table
id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:data="tableData"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
border
>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'jyaq'">
<div class="ajxq_s">
<span class="none" v-html="scope.row[columnTitle.prop]"></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="
display: inline-block;
width: 100%;
text-align: right;
color: #3692c6;
font-weight: 600;
"
id="open"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>展开</a
>
</div>
<div class="ajxq_n" style="display: none">
<span
style="display: block"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float: right; color: #3692c6; font-weight: 600"
id="stop"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>收起</a
>
</div>
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-size="100"
layout="total, prev, pager, next, jumper"
:total="1000"
>
</el-pagination>
</div>
</div>
</template>
<script>
import { getQgAsjxxByXszajbh } from "@/api/cbyp.js";
export default {
data() {
return {
xszajbh: "",
cbxgfwbzh: "",
tableLoading: false,
tableData: [],
currentPage: 1,
propdefaultFormThead: [
{
label: "案发地点",
prop: "fxasjddXzqhdm",
},
{
label: "案件编号",
prop: "xszajbh",
},
{
label: "案件名称",
prop: "ajmc",
},
{
label: "案件类别",
prop: "ajlbdm",
},
{
label: "案件状态",
prop: "zcjddm",
},
{
label: "立案单位",
prop: "ladwGajgjgdm",
},
{
label: "案发时间",
prop: "asjfssjAsjfskssj",
},
{
label: "简要案情",
prop: "jyaq",
},
],
buttonList: [
{
name: "云南省 1",
value: "yunnan1",
},
{
name: "内蒙古自治区 1",
value: "neimenggu1",
},
{
name: "北京市 1",
value: "beijing1",
},
{
name: "安徽省 4",
value: "anhui4",
},
{
name: "广东省 2",
value: "guangdong2",
},
{
name: "广西壮族自治区 1",
value: "guanxi1",
},
{
name: "江苏省 1",
value: "jiangsu1",
},
{
name: "河南省 1",
value: "henan1",
},
{
name: "湖北省 1",
value: "hubei1",
},
{
name: "贵州省 1",
value: "guizhou1",
},
],
};
},
created() {
this.xszajbh = this.$route.query.xszajbh;
this.cbxgfwbzh = this.$route.query.cbxgfwbzh;
this.getShuju();
},
methods: {
getShuju() {
var params = new FormData();
params.append("xszajbh", this.xszajbh);
params.append("cbxgfwbzh", this.cbxgfwbzh);
getQgAsjxxByXszajbh(params).then((res) => {
this.tableData = res.data.qucsj;
console.log(res);
});
},
searchCaseByProvince(value) {
var params = new FormData();
params.append("xszajbh", this.xszajbh);
params.append("cbxgfwbzh", this.cbxgfwbzh);
getQgAsjxxByXszajbh(params).then((res) => {
console.log(res);
this.tableData = res.data.qucsj;
});
},
handleSizeChange() {},
handleCurrentChange() {},
},
};
</script>
<style lang="scss" scoped>
.qgxxxx {
.title {
height: 52px;
background: #1f212c;
padding-left: 32px;
display: flex;
align-items: center;
}
img {
width: 36px;
height: 36px;
}
.name {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px;
color: #ffffff;
}
}
.qgxxxx {
margin: 0;
padding: 0;
height: 100%;
background-color: #efefef;
}
.buttonSquare {
// width: 90%;
height: 20%;
margin: 8px 20px;
border-radius: 10px;
background-color: #fff;
border: 1px solid #eaeaea;
}
.provinceButton {
}
.listSquare {
// width: 90%;
height: 70%;
margin: 8px 20px;
border-radius: 8px;
background-color: #fff;
border: 1px solid #eaeaea;
}
</style>
\ No newline at end of file
<template>
<div class="Content">
<div class="topTitle">
<span>我的系列</span>
<div class="subTitle" @click="cut('related')">
<div class="ajTitle">相关案件</div>
<div :class="{ bottom: true, hidden: key !== 'related' }"></div>
</div>
<div class="subTitle">
<div class="ajTitle" @click="cut('add')">添加案件</div>
<div :class="{ bottom: true, hidden: key !== 'add' }"></div>
</div>
</div>
<right-content
:cxFormData="cxFormData"
:cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl"
:pageBtns="pageBtns"
ref="rightContent"
:formType="formType"
@addTableEvent="addTableEvent"
@delTableItem="delTableItem"
:tableInfor="tableInfor"
:name="name"
></right-content>
</div>
</template>
<script>
import rightContent from "@c/rgcb_wdxl/ptCxForm_components.vue";
import {
EsAsjQuery,
getTableTitleRedis,
EsShrQuery,
EsXyrQuery,
} from "@/api/dictionaryCode.js";
export default {
name: "toAddXlaj",
components: {
rightContent,
},
data() {
return {
pageBtns: ["add"],
formType: "haveTitle",
cxFormData: {
page: 1,
rows: 10,
asjbh: "",
jjbh: "",
sldwGajgjgdm: "",
slsjStart: "",
slsjEnd: "",
larqStart: "",
larqEnd: "",
asjfssjAsjfskssjStart: "",
asjfssjAsjfskssjEnd: "",
ajzlb: "",
ajxzlb: "",
xalbdmbcms: "",
asjfsddXzqhdm: "",
zhfzxyrFzxyrdaztdm: "",
ajmc: "",
ladwGajgjgdm: "",
ssjzrmbyMin: "",
ssjzrmbyMax: "",
bzzt: "",
jyaq: "",
asjfsddDzmc: "",
},
cxQueryField: [
{
title: "案件特征",
id: "1",
children: [
{
name: "案(事)件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "受理单位",
id: "sldwGajgjgdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_UNIT",
value: "",
col: "3",
},
{
name: "案发地行政区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "案(事)件类别",
id: "ajlbdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "立案时间",
id: "larqStart",
id2: "larqEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "案发时间",
id: "asjfssjAsjfskssjStart",
id2: "asjfssjAsjfskssjEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "主案类别",
id: "ajzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GABAJZLB",
value: "",
col: "3",
},
{
name: "类案类别",
id: "ajxzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GABAJXZLB",
value: "",
col: "3",
},
{
name: "次类案类别",
id: "xalbdmbcms",
type: "code",
codeOptions: [],
codeTree: "CODE_XALBDMBCMS",
value: "",
col: "3",
},
],
},
{
title: "人员特征",
id: "2",
children: [
{
name: "人员编号",
id: "zhfzxyrAsjxgrybh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "证件号码",
id: "zhfzxyrCyzjZjhm",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "姓名",
id: "zhfzxyrXm",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "曾用名",
id: "zhfzxyrCym",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "别名绰号",
id: "zhfzxyrBmch",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "性别",
id: "zhfzxyrXbdm",
type: "code",
codeOptions: [],
codeTree: "CODE_XB",
value: "",
col: "3",
},
{
name: "出生日期",
id: "zhfzxyrCsrqRqgzxxStart",
id2: "zhfzxyrCsrqRqgzxxEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "民族",
id: "zhfzxyrMzdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_MZ",
value: "",
col: "3",
},
{
name: "国籍",
id: "zhfzxyrGjdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GJ",
value: "",
col: "3",
},
{
name: "户籍地行政区划",
id: "zhfzxyrHjdzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "现住址行政区划",
id: "zhfzxyrXzzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "体重",
id: "zhfzxyrTzMin",
id2: "zhfzxyrTzMax",
type: "zdyText",
value: "",
placeholder: "请输入",
value2: "",
placeholder2: "请输入",
col: "3",
},
{
name: "足长",
id: "zhfzxyrZcMin",
id2: "zhfzxyrZcMax",
type: "zdyText",
value: "",
placeholder: "请输入",
value2: "",
placeholder2: "请输入",
col: "3",
},
{
name: "抓获方式",
id: "zhfsZhfsdm",
type: "code",
codeOptions: [],
codeTree: "CODE_ZHFS",
value: "",
col: "3",
},
{
name: "人员状态",
id: "zhfzxyrFzxyrdaztdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_DAZT",
value: "",
col: "3",
},
{
name: "是否有精神病",
id: "zhfzxyrSfjsbrPdbz",
type: "select",
value: "",
placeholder: "请选择",
col: "3",
selectData: [
{ value: "1", name: "是" },
{ value: "0", name: "否" },
],
},
{
name: "抓获单位",
id: "zhdwGajgjgdm",
type: "lazyCodeTreeDialog", //字典弹框
codeTree: "CODE_QGUNIT",
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
value: "",
col: "3",
},
{
name: "抓获日期",
id: "zhrqStart",
id2: "zhrqEnd",
type: "zdyDate",
value: "",
col: "3",
},
],
},
],
cxDefaultFormThead: [
{
label: "案件编号",
prop: "asjbh",
width: "220",
},
{
label: "案件类别",
prop: "ajlbdmMc",
width: "200",
},
{
label: "主案类别",
prop: "ajzlbMc",
width: "220",
},
{
label: "类案类别",
prop: "ajxzlbMc",
width: "220",
},
{
label: "案件名称",
prop: "ajmc",
width: "150",
},
{
label: "案发地点",
prop: "asjfsddDzmc",
width: "280",
},
{
label: "损失总价值",
prop: "ssjzrmby",
width: "180",
},
{
/*table默认得表头*/
label: "立案日期",
prop: "larq",
width: "200",
},
{
label: "立案单位名称",
prop: "ladwGajgjgdmMc",
width: "220",
},
{
label: "案发开始时间",
prop: "asjfssjAsjfskssj",
width: "220",
},
{
label: "简要案情",
prop: "jyaq",
width: "220",
},
],
cxUrl: EsAsjQuery,
selectItem: [],
tableInfor: [],
key: "add",
name: "toAddXlajAdd",
};
},
methods: {
/**
* @description: 点击添加表格内容添加到相关案件里面
* @param {*} arr
* @return {*}
*/
addTableEvent(arr) {
this.selectItem = arr;
this.$refs.rightContent.tableSelectItem = [];
this.$message.success("添加成功");
},
/**
* @description: 切换选项卡
* @param {*} key 选项卡key值
* @return {*}
*/
cut(key) {
this.key = key;
},
/**
* @description: 添加案件配置
* @param {*}
* @return {*}
*/
addPrps() {
this.tableInfor = [];
this.formType = "formType";
this.pageBtns = ["add"];
this.name = "toAddXlajAdd";
this.cxQueryField = [
{
title: "案件特征",
id: "1",
children: [
{
name: "案(事)件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "受理单位",
id: "sldwGajgjgdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_UNIT",
value: "",
col: "3",
},
{
name: "案发地行政区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "案(事)件类别",
id: "ajlbdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_AJLB",
value: "",
col: "3",
},
{
name: "立案时间",
id: "larqStart",
id2: "larqEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "案发时间",
id: "asjfssjAsjfskssjStart",
id2: "asjfssjAsjfskssjEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "主案类别",
id: "ajzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GABAJZLB",
value: "",
col: "3",
},
{
name: "类案类别",
id: "ajxzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GABAJXZLB",
value: "",
col: "3",
},
{
name: "次类案类别",
id: "xalbdmbcms",
type: "code",
codeOptions: [],
codeTree: "CODE_XALBDMBCMS",
value: "",
col: "3",
},
],
},
{
title: "人员特征",
id: "2",
children: [
{
name: "人员编号",
id: "zhfzxyrAsjxgrybh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "证件号码",
id: "zhfzxyrCyzjZjhm",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "姓名",
id: "zhfzxyrXm",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "曾用名",
id: "zhfzxyrCym",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "别名绰号",
id: "zhfzxyrBmch",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "性别",
id: "zhfzxyrXbdm",
type: "code",
codeOptions: [],
codeTree: "CODE_XB",
value: "",
col: "3",
},
{
name: "出生日期",
id: "zhfzxyrCsrqRqgzxxStart",
id2: "zhfzxyrCsrqRqgzxxEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "民族",
id: "zhfzxyrMzdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_MZ",
value: "",
col: "3",
},
{
name: "国籍",
id: "zhfzxyrGjdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GJ",
value: "",
col: "3",
},
{
name: "户籍地行政区划",
id: "zhfzxyrHjdzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "现住址行政区划",
id: "zhfzxyrXzzXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "体重",
id: "zhfzxyrTzMin",
id2: "zhfzxyrTzMax",
type: "zdyText",
value: "",
placeholder: "请输入",
value2: "",
placeholder2: "请输入",
col: "3",
},
{
name: "足长",
id: "zhfzxyrZcMin",
id2: "zhfzxyrZcMax",
type: "zdyText",
value: "",
placeholder: "请输入",
value2: "",
placeholder2: "请输入",
col: "3",
},
{
name: "抓获方式",
id: "zhfsZhfsdm",
type: "code",
codeOptions: [],
codeTree: "CODE_ZHFS",
value: "",
col: "3",
},
{
name: "人员状态",
id: "zhfzxyrFzxyrdaztdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
codeTree: "CODE_DAZT",
value: "",
col: "3",
},
{
name: "是否有精神病",
id: "zhfzxyrSfjsbrPdbz",
type: "select",
value: "",
placeholder: "请选择",
col: "3",
selectData: [
{ value: "1", name: "是" },
{ value: "0", name: "否" },
],
},
{
name: "抓获单位",
id: "zhdwGajgjgdm",
type: "lazyCodeTreeDialog", //字典弹框
codeTree: "CODE_QGUNIT",
props: [], //字典弹框需要的字段
codeOptions: [],
placeholder: "请选择",
value: "",
col: "3",
},
{
name: "抓获日期",
id: "zhrqStart",
id2: "zhrqEnd",
type: "zdyDate",
value: "",
col: "3",
},
],
},
];
this.cxFormData = {
page: 1,
rows: 10,
asjbh: "",
jjbh: "",
sldwGajgjgdm: "",
slsjStart: "",
slsjEnd: "",
larqStart: "",
larqEnd: "",
asjfssjAsjfskssjStart: "",
asjfssjAsjfskssjEnd: "",
ajzlb: "",
ajxzlb: "",
xalbdmbcms: "",
asjfsddXzqhdm: "",
zhfzxyrFzxyrdaztdm: "",
ajmc: "",
ladwGajgjgdm: "",
ssjzrmbyMin: "",
ssjzrmbyMax: "",
bzzt: "",
jyaq: "",
asjfsddDzmc: "",
};
this.formType = "haveTitle";
},
/**
* @description: 相关案件配置
* @param {*}
* @return {*}
*/
relatedProps() {
this.tableInfor = this.selectItem;
this.formType = "formType";
this.pageBtns = ["save", "off"];
this.name = "toAddXlajRelated";
this.cxQueryField = [
{
name: "串并名称",
id: "cbmc",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "串并类型",
id: "cblx",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "串并信息描述",
id: "cbxxms",
type: "text",
value: "",
placeholder: "请输入",
col: "15",
},
];
this.cxFormData = {
cbmc: "",
cblx: "",
cbxxms: "",
};
this.haveTitle = null;
},
/**
* @description: 删除相关案件的表格内容
* @param {*} asjbh
* @return {*}
*/
delTableItem(asjbh) {
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let index = this.tableInfor.findIndex((i) => i.asjbh == asjbh);
if (index >= 0) {
this.tableInfor.splice(index, 1);
this.$message({
type: "success",
message: "删除成功!",
});
}
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
},
watch: {
key(val) {
if (val == "add") {
this.addPrps();
} else {
this.relatedProps();
}
},
},
created() {},
};
</script>
<style>
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
font-family: inherit;
background: #f3f3f3;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 36px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
</style>
<style scoped lang="scss">
@import "@/assets/styles/rightContent.scss";
.topTitle {
width: 100%;
height: 56px;
background: #1f212c;
display: flex;
align-items: center;
span {
font-size: 18px;
font-weight: bold;
line-height: 24px;
color: #ffffff;
margin-left: 35px;
}
.subTitle {
width: 138px;
margin-left: 90px;
text-align: center;
margin-top: 19px;
cursor: pointer;
.ajTitle {
font-size: 14px;
font-weight: 400;
color: #ffffff;
opacity: 0.8;
}
.bottom {
height: 4px;
background: #f1970f;
opacity: 1;
margin-top: 7px;
}
.hidden {
visibility: hidden;
}
}
}
</style>
<template>
<div class="tobjcba">
<div class="title">
<img src="../../assets/img/login/jinhui.png" alt="" />
<div class="name">系列案件详情</div>
</div>
<el-row :gutter="20">
<el-col :span="16" :offset="4" class="firstSquare">
<div class="topSquare">
<div class="titleBox">
<span>有关于内蒙古自治区呼和浩特市回民区、内蒙古自治区二连浩特等地区系列诈骗案的串并案件</span>
</div>
<div class="contentBox">
<el-form ref="form" :model="messageForm" label-width="80px">
<el-col :span="8" :offset="0">
<el-form-item label="串并编号:" prop="cbbh">
{{ messageForm.cbbh }}
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item label="登记人:" prop="djr">
{{ messageForm.djr }}
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item label="登记单位:" prop="djdw">
{{ messageForm.djdw }}
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item label="登记时间:" prop="djsj">
{{ messageForm.djsj }}
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item label="跨度:" prop="kd">
{{ messageForm.kd }}
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item label="串并类型:" prop="cblx">
{{ messageForm.cblx }}
</el-form-item>
</el-col>
<el-col :span="8" :offset="0">
<el-form-item label="串并描述:" prop="cbms">
{{ messageForm.cbms }}
</el-form-item>
</el-col>
</el-form>
</div>
</div>
</el-col>
<el-col :span="16" :offset="4" class="secondSquare">
<div class="midSquare">
<div class="titleBox">
<span>案件信息</span>
</div>
<div class="contentBox">
<el-table
:data="messageTableData"
border
height="400"
style="width: 100%; margin-top: 20px"
>
<el-table-column prop="asjbh" label="案件编号" width="180">
</el-table-column>
<el-table-column prop="ajmc" label="案件名称" width="180">
</el-table-column>
<el-table-column prop="ajlbdm" label="案件类别" width="180">
</el-table-column>
<el-table-column prop="zcjddm" label="案件状态" width="180">
</el-table-column>
<el-table-column prop="asjfssjKssj" label="案发时间" width="180">
</el-table-column>
<el-table-column
prop="asjfsddXzqhdm"
label="案发地点"
width="180"
>
</el-table-column>
<el-table-column prop="jyaq" label="简要案情" width="180">
</el-table-column>
</el-table>
</div>
<div class="paginationBox">
<el-pagination
@current-change="messageTableDataChange"
:current-page.sync="page01"
:page-size="4"
layout="total, prev, pager, next, jumper"
:total="1000"
>
</el-pagination>
</div>
</div>
</el-col>
<el-col :span="16" :offset="4" class="thirdSquare">
<div class="bottomSquare">
<div class="titleBox">
<span>嫌疑人员</span>
</div>
<div class="contentBox">
<el-table
:data="criminalTableData"
border
height="400"
style="width: 100%; margin-top: 20px"
>
<el-table-column prop="zhfzxyrXm" label="姓名" width="180">
</el-table-column>
<el-table-column prop="zhfzxyrXbdm" label="性别" width="180">
</el-table-column>
<el-table-column
prop="zhfzxyrCyzjZjhm"
label="身份证号"
width="180"
>
</el-table-column>
<el-table-column prop="hjdzDzmc" label="户籍区域" width="180">
</el-table-column>
<el-table-column prop="asjbh" label="案事件编号" width="180">
</el-table-column>
<el-table-column
prop="zhfzxyrFzxyrdaztdm"
label="抓获状态"
width="180"
>
</el-table-column>
<el-table-column prop="zhrq_str" label="抓获日期" width="180">
</el-table-column>
</el-table>
</div>
<div class="paginationBox">
<el-pagination
@current-change="criminalTableDataChange"
:current-page.sync="page02"
:page-size="4"
layout="total, prev, pager, next, jumper"
:total="1000"
>
</el-pagination>
</div>
</div>
</el-col>
<el-col :span="16" :offset="4" class="fourthSquare">
<div class="titleBox">
<span>受害人员</span>
</div>
<div class="contentBox">
<el-table
:data="victimTableData"
border
height="400"
style="width: 100%; margin-top: 20px"
>
<el-table-column prop="bhrXm" label="姓名" width="180">
</el-table-column>
<el-table-column prop="bhrXbdm" label="性别" width="180">
</el-table-column>
<el-table-column prop="bhrCyzjZjhm" label="身份证号" width="180">
</el-table-column>
<el-table-column prop="bhrHjdzDzmc" label="户籍区域" width="180">
</el-table-column>
<el-table-column prop="asjbh" label="案事件编号" width="180">
</el-table-column>
<el-table-column prop="rsshcddm" label="受害程度" width="180">
</el-table-column>
<el-table-column prop="bhrLxdh" label="联系电话" width="180">
</el-table-column>
</el-table>
</div>
<div class="paginationBox">
<el-pagination
@current-change="victimTableDataChange"
:current-page.sync="page03"
:page-size="4"
layout="total, prev, pager, next, jumper"
:total="1000"
>
</el-pagination>
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import { queryCbzAsjGlxx, getCbzXyry, getCbzBhry } from "@/api/cbyp.js";
export default {
data() {
return {
xszajbh: "",
//表单信息
messageForm: {
cbbh: "asdasdads",
djr: "asdasdads",
djdw: "asdasdasd",
djsj: "asdasdsd",
kd: "asdasdasd",
cblx: "asdasdasd",
cbms: "asdasdasd",
},
messageTableData: [],
criminalTableData: [],
victimTableData: [],
//线索组编号
xlajbh: "",
page01: 1,
page02: 1,
page03: 1,
rows: 4,
};
},
created() {
this.xlajbh = "";
this.getMessage();
this.getCriminalMessage();
this.getVictimMessage();
},
methods: {
getMessage() {
var params = new FormData();
params.append("xlajbh", this.xlajbh);
params.append("page", this.page01);
params.append("rows", this.rows);
queryCbzAsjGlxx(params).then((res) => {
this.messageTableData = res.result.data;
});
},
getCriminalMessage() {
var params = new FormData();
params.append("xlajbh", this.xszajbh);
params.append("page", this.page02);
params.append("rows", this.rows);
getCbzXyry(params).then((res) => {
this.criminalTableData = res.data.result;
});
},
getVictimMessage() {
var params = new FormData();
params.append("xlajbh", this.xszajbh);
params.append("page", this.page03);
params.append("rows", this.rows);
getCbzBhry(params).then((res) => {
this.victimTableData = res.data.result;
});
},
messageTableDataChange(val) {
this.page01 = val
this.getMessage()
},
criminalTableDataChange(val) {
this.page02 = val
this.getCriminalMessage()
},
victimTableDataChange(val) {
this.page03 = val
this.getVictimMessage()
},
},
};
</script>
<style lang="scss" scoped>
.tobjcba {
.title {
height: 52px;
background: #1f212c;
padding-left: 32px;
display: flex;
align-items: center;
}
img {
width: 36px;
height: 36px;
}
.name {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px;
color: #ffffff;
}
}
.firstSquare {
background-color: #fff;
.topSquare {
margin-top: 5px;
.titleBox {
height: 36px;
border-bottom: 1px solid black;
margin: 5px 0 0 0;
span {
font-size: 16px;
}
}
.contentBox {
}
}
}
.secondSquare {
background-color: #fff;
margin-top: 5px;
.midSquare {
background-color: #fff;
.titleBox {
height: 36px;
border-bottom: 1px solid black;
margin: 5px 0 0 0;
span {
font-size: 16px;
}
}
.contentBox {
}
.paginationBox {
}
}
}
.thirdSquare {
background-color: #fff;
margin-top: 5px;
.bottomSquare {
.titleBox {
height: 36px;
border-bottom: 1px solid black;
margin: 5px 0 0 0;
span {
font-size: 16px;
}
}
.contentBox {
}
.paginationBox {
}
}
}
.fourthSquare {
background-color: #fff;
margin-top: 5px;
.titleBox {
height: 36px;
border-bottom: 1px solid black;
margin: 5px 0 0 0;
span {
font-size: 16px;
}
}
.contentBox {
}
.paginationBox {
}
}
</style>
<template>
<div class="Content">
<div class="topTitle">
<span>人工串并</span>
<div class="subTitle">
<div class="ajTitle">新增串并</div>
<div class="bottom"></div>
</div>
</div>
<right-content
:cxFormData="cxFormData"
:cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl"
:tableBtns="tableBtns"
header="xzrgcb"
></right-content>
</div>
</template>
<script>
import rightContent from "@c/rgcb_wdxl/ptCxForm_components.vue";
import {
EsAsjQuery,
getTableTitleRedis,
EsShrQuery,
EsXyrQuery,
} from "@/api/dictionaryCode.js";
export default {
name: "xzrgcb",
components: {
rightContent,
},
data() {
return {
cxFormData: {
page: 1,
rows: 10,
asjbh: "",
jjbh: "",
sldwGajgjgdm: "",
slsjStart: "",
slsjEnd: "",
larqStart: "",
larqEnd: "",
asjfssjAsjfskssjStart: "",
asjfssjAsjfskssjEnd: "",
ajzlb: "",
ajxzlb: "",
xalbdmbcms: "",
asjfsddXzqhdm: "",
zhfzxyrFzxyrdaztdm: "",
ajmc: "",
ladwGajgjgdm: "",
ssjzrmbyMin: "",
ssjzrmbyMax: "",
bzzt: "",
jyaq: "",
asjfsddDzmc: "",
},
cxQueryField: [
/*立案信息 侦查终结信息 立案信息审批 侦查终结审批通用开始*/
{
name: "案(事)件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "接警编号",
id: "jjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "受理单位",
id: "sldwGajgjgdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_UNIT",
value: "",
col: "3",
},
{
name: "受理时间",
id: "slsjStart",
id2: "slsjEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "立案时间",
id: "larqStart",
id2: "larqEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "案发时间",
id: "asjfssjAsjfskssjStart",
id2: "asjfssjAsjfskssjEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "主案类别",
id: "ajzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GABAJZLB",
value: "",
col: "3",
},
{
name: "类案类别",
id: "ajxzlb",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_GABAJXZLB",
value: "",
col: "3",
},
{
name: "次类案类别",
id: "xalbdmbcms",
type: "code",
codeOptions: [],
codeTree: "CODE_XALBDMBCMS",
value: "",
col: "3",
},
{
name: "案发地行政区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "到案状态",
id: "zhfzxyrFzxyrdaztdm",
type: "code",
codeOptions: [],
codeTree: "CODE_DAZT",
value: "",
col: "3",
},
{
name: "案件名称",
id: "ajmc",
type: "text",
placeholder: "请输入",
value: "",
col: "3",
},
{
name: "立案单位",
id: "ladwGajgjgdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_UNIT",
value: "",
col: "3",
},
{
name: "损失总价值",
id: "ssjzrmbyMin",
id2: "ssjzrmbyMax",
type: "zdyText",
value: "",
col: "3",
},
{
name: "标注状态",
id: "bzzt",
type: "radio",
value: "1",
placeholder: "",
col: "3",
radioData: [
{ label: "全部", val: "" },
{ label: "已标注", val: "1" },
{ label: "未标注", val: "2" },
{ label: "待标注", val: "3" },
],
},
{
name: "简要案情",
id: "jyaq",
type: "text",
value: "",
placeholder: "请输入",
col: "15",
},
{
name: "案发地详址",
id: "asjfsddDzmc",
type: "text",
value: "",
placeholder: "请输入",
col: "15",
},
],
cxDefaultFormThead: [
{
label: "案件编号",
prop: "asjbh",
width: "220",
},
{
label: "案件类别",
prop: "ajlbdmMc",
width: "200",
},
{
label: "主案类别",
prop: "ajzlbMc",
width: "220",
},
{
label: "类案类别",
prop: "ajxzlbMc",
width: "220",
},
{
label: "案件名称",
prop: "ajmc",
width: "150",
},
{
label: "案发地点",
prop: "asjfsddDzmc",
width: "280",
},
{
label: "损失总价值",
prop: "ssjzrmby",
width: "180",
},
{
/*table默认得表头*/
label: "立案日期",
prop: "larq",
width: "200",
},
{
label: "立案单位名称",
prop: "ladwGajgjgdmMc",
width: "220",
},
{
label: "案发开始时间",
prop: "asjfssjAsjfskssj",
width: "220",
},
{
label: "简要案情",
prop: "jyaq",
width: "220",
},
],
tableBtns: ["add", "view"],
cxUrl: EsAsjQuery,
};
},
methods: {},
created() {},
};
</script>
<style>
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
font-family: inherit;
background: #f3f3f3;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 36px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
</style>
<style scoped lang="scss">
@import "@/assets/styles/rightContent.scss";
.topTitle {
width: 100%;
height: 56px;
background: #1f212c;
display: flex;
align-items: center;
span {
font-size: 18px;
font-weight: bold;
line-height: 24px;
color: #ffffff;
margin-left: 35px;
}
.subTitle {
width: 138px;
margin-left: 90px;
text-align: center;
margin-top: 19px;
.ajTitle {
font-size: 14px;
font-weight: 400;
color: #ffffff;
opacity: 0.8;
}
.bottom {
height: 4px;
background: #f1970f;
opacity: 1;
margin-top: 7px;
}
}
}
</style>
......@@ -1076,7 +1076,10 @@ export default {
obj2 = {},
obj3 = {},
obj4 = {};
getTableTitleRedis(self.fieldType).then(res => {
var paramsfield = {
type:self.fieldType
}
getTableTitleRedis(paramsfield).then(res => {
//查询是否保存过查询字段
if (res.code == 20000) {
console.log(res);
......@@ -1141,7 +1144,10 @@ export default {
return res.data;
});
/*获取案件表头*/
getTableTitleRedis(self.ajFieldType).then(res => {
var paramsajFiel = {
type:self.ajFieldType
}
getTableTitleRedis(paramsajFiel).then(res => {
if (res.success === true) {
if (res.data.total > 0) {
self.DefaultAjFormThead = [];
......@@ -1154,8 +1160,11 @@ export default {
// });
}
});
var paramsaxyrField = {
type:self.xyrFieldType
}
/*获取嫌疑人表头*/
getTableTitleRedis(self.xyrFieldType).then(res => {
getTableTitleRedis(paramsaxyrField).then(res => {
if (res.code == 20000) {
if (res.data.total > 0) {
self.DefaultXyrFormThead = [];
......@@ -1168,8 +1177,11 @@ export default {
// });
}
});
var paramsashrField = {
type:self.shrFieldType
}
/*获取受害人表头*/
getTableTitleRedis(self.shrFieldType).then(res => {
getTableTitleRedis(paramsashrField).then(res => {
if (res.code == 20000) {
if (res.data.total > 0) {
self.DefaultShrFormThead = [];
......
......@@ -12,7 +12,7 @@
<div class="header-admin">
<span class="img-span"></span>
<span>欢迎您:</span>
<span>冉处</span>
<span>{{username}}</span>
<span>系统管理员:</span>
</div>
<div class="header-nav">
......@@ -77,6 +77,7 @@ export default {
url: require("../../assets/img/nav8.png"), //字典管理
},
],
username:JSON.parse(sessionStorage.getItem("userInfo")).realname
};
},
methods: {
......
......@@ -31,14 +31,15 @@ export default {
xzLogin({
xz_token: self.xz_token,
}).then((res) => {
console.log(res.data.message);
if (res.code == 200) {
sessionStorage.setItem("token", "bearer " + res.data.accessToken);
sessionStorage.setItem("userInfo", JSON.stringify(res.data.data));
sessionStorage.setItem("userInfo", JSON.stringify(res.data));
self.saveLoading.close();
this.$router.push("/home");
} else {
self
.$confirm(res.data.message, "提示", {
.$confirm(res.message, "提示", {
confirmButtonText: "确定",
showCancelButton: false,
type: "warning",
......
......@@ -49,6 +49,11 @@
:prop="item.id"
>
<div v-if="item.type == 'zdyDate'">
<img
src="~@/assets/img/time.png"
class="el-icon-s-order"
alt=""
/>
<el-date-picker
v-model="formData[item.id]"
type="daterange"
......@@ -66,6 +71,16 @@
:currentItem="item"
/>
</div>
<div v-else-if="item.type == 'codeTreeDialog'">
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
:multiple="item.multiple"
@getDialogSeleted="getCodeSeleted($event, item)"
/>
</div>
</el-form-item>
<el-form-item prop="name">
<el-button type="primary" class="search" @click="searchSuchCase"
......@@ -103,17 +118,17 @@
<div class="btnBox">
<span
:class="{ activeBtn: activeBtn == 'Top12' }"
@click="updateBtn('Top12,0,11')"
@click="updateBtn('Top12', 0, 11)"
>Top12</span
>
<span
:class="{ activeBtn: activeBtn == '12-24' }"
@click="updateBtn('12-24,12,23')"
@click="updateBtn('12-24', 12, 23)"
>12-24</span
>
<span
:class="{ activeBtn: activeBtn == '24-36' }"
@click="updateBtn('24-36,24,35')"
@click="updateBtn('24-36', 24, 35)"
>24-36</span
>
</div>
......@@ -123,33 +138,67 @@
</div>
</div>
<div v-else>
<el-form ref="form2" :model="form2" label-width="0px" class="form2">
<el-form-item prop="time">
<img src="~@/assets/img/time.png" class="el-icon-s-order" alt="" />
<el-date-picker
v-model="form2.time"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
<el-form ref="form2" :model="form2" label-width="80px" class="form2">
<el-form-item
v-for="item in propQueryField2"
:key="item.id"
:prop="item.id"
>
<div v-if="item.type == 'zdyDate'">
<img
src="~@/assets/img/time.png"
class="el-icon-s-order"
alt=""
/>
<el-date-picker
v-model="form2[item.id]"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyText'"
>
</el-date-picker>
</el-form-item>
<el-form-item prop="area">
<el-select v-model="form2.area" class="w200" filterable>
<el-option
:label="item.label"
:value="item.ids"
v-for="item in xzqhData"
:key="item.ids"
></el-option>
</el-select>
<el-input
:placeholder="item.placeholder"
v-model="form2[item.id]"
>
</el-input>
<span></span>
<el-input
:placeholder="item.placeholder2"
v-model="form2[item.id2]"
>
</el-input>
</div>
<div v-else-if="item.type == 'lazyCodeTreeDialog'">
<lazy-select-tree-dialog
:placeholder="item.placeholder"
:sendId="item.id"
:formData="form2"
:currentItem="item"
/>
</div>
<div v-else-if="item.type == 'codeTreeDialog'">
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="form2"
:currentItem="item"
:multiple="item.multiple"
@getDialogSeleted="getCodeSeleted($event, item)"
/>
</div>
</el-form-item>
<el-form-item prop="name">
<el-button type="primary" class="search" @click="searchPerson"
>查询</el-button
>
<el-button class="reset" @click="resetPerson">重置</el-button>
<el-button class="reset" @click="resetSuchCase">重置</el-button>
</el-form-item>
</el-form>
<div class="echartsBox">
......@@ -163,18 +212,24 @@
</div>
</template>
<script>
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import "echarts/map/js/china.js";
import "echarts/map/js/province/neimenggu.js";
// import "echarts/map/js/province/neimenggu.js";
import {
EslaTopTenQuery,
EsLatsfxFpaQuery,
EsdyxgwrqTopTenQuery,
EsFpaTsfxQuery,
EsXyrNldXbQuery,
EslaXyrTopTenQuery,
EsqkryzyQuery,
EsxlsjfbQuery,
} from "@/api/ksh.js";
export default {
components: {
LazySelectTreeDialog,
SelectTreeDialog,
},
data() {
return {
......@@ -216,44 +271,68 @@ export default {
codeOptions: [],
codeTree: "CODE_GABAJXZLB",
},
// {
// name: "行政区划",
// placeholder: "行政区划",
// id: "asjfsddXzqhdm",
// type: "lazyCodeTreeDialog",
// props: [], //字典弹框需要的字段
// value: "",
// col: "3",
// codeOptions: [],
// codeTree: "CODE_QGUNIT",
// },
{
name: "行政区划",
placeholder: "行政区划",
id: "asjfsddXzqhdm",
type: "lazyCodeTreeDialog",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
],
propQueryField2: [
{
name: "发案时间",
id: "asjfssjAsjfskssjStart",
id2: "asjfssjAsjfskssjEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "行政区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_QGUNIT",
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
{
name: "前科人员数",
id: "zacsXyrMin",
id2: "zacsXyrMax",
type: "zdyText",
value: "",
placeholder: "请输入",
value2: "",
placeholder2: "请输入",
col: "3",
},
],
date: this.$moment(new Date()).format("YYYY-MM-DD"),
activeText: "类案态势分析",
xzqhData: [],
activeBtn: "Top12",
form1: {
time: "",
name: "",
id: "",
type: "",
aa: "",
area: "",
},
mengAreaData: [
"呼和浩特市",
"包头市",
"乌海市",
"赤峰市",
"通辽市",
"鄂尔多斯市",
"呼伦贝尔市",
"巴彦淖尔市",
"巴彦淖尔市",
],
form2: {
time: "",
area: "",
asjfssjAsjfskssjStart: "",
asjfssjAsjfskssjEnd: "",
zacsXyrMax: "",
zacsXyrMin: "",
asjfsddXzqhdm: "",
},
data2: [
{
......@@ -343,103 +422,517 @@ export default {
"河南",
"安徽",
],
points: [
{
value: [117.4219, 39.4189],
num: 46,
},
{
value: [103.5901, 36.3043],
num: 123,
},
{
value: [112.3352, 37.9413],
num: 135,
},
{
value: [113.62, 34.75],
num: 123,
},
{
value: [109.48, 36.6],
num: 512,
},
{
value: [111.65, 40.82],
num: 745,
},
{
value: [116.02, 44.25],
num: 123,
},
{
value: [120.08, 50.45],
num: 512,
},
{
value: [107.13, 34.37],
num: 123,
},
{
value: [113.23, 23.16],
num: 123,
},
{
value: [117.4219, 39.4189],
num: 124,
},
{
value: [108.37, 22.82],
num: 532,
},
{
value: [109.1162, 34.2004],
num: 322,
},
{
value: [103.5901, 36.3043],
num: 412,
},
{
value: [106.3586, 38.1775],
num: 41,
},
{
value: [103.9526, 30.7617],
num: 65,
},
],
neimengPoints: [
{
value: [111.65, 40.82],
num: 465,
},
{
value: [116.02, 44.25],
num: 85,
},
{
value: [112.02, 44.25],
num: 145,
},
{
value: [118.02, 44.25],
num: 305,
},
{
value: [120.08, 50.45],
num: 125,
},
],
ajtjList: [],
lineData1: [42626, 91880, 80880, 84200],
lineData2: [29140, 49140, 59278, 54233],
nlData: [],
emitSeleted: [],
xzqh: "china",
provinceDic: {
贵州省: "贵州",
西藏自治区: "西藏",
台湾省: "台湾",
安徽省: "安徽",
内蒙古自治区: "内蒙古",
福建省: "福建",
香港特别行政区: "香港",
河南省: "河南",
广东省: "广东",
澳门特别行政区: "澳门",
广西壮族自治区: "广西",
海南省: "海南",
北京市: "北京",
上海市: "上海",
山西省: "山西",
新疆维吾尔自治区: "新疆",
山东省: "山东",
河北省: "河北",
重庆市: "重庆",
吉林省: "吉林",
宁夏回族自治区: "宁夏",
四川省: "四川",
湖南省: "湖南",
青海省: "青海",
辽宁省: "辽宁",
江苏省: "江苏",
湖北省: "湖北",
天津市: "天津",
陕西省: "陕西",
江西省: "江西",
浙江省: "浙江",
云南省: "云南",
甘肃省: "甘肃",
黑龙江省: "黑龙江",
},
// 省份
provinces: {
台湾: "taiwan",
河北: "hebei",
山西: "shanxi",
辽宁: "liaoning",
吉林: "jilin",
黑龙江: "heilongjiang",
江苏: "jiangsu",
浙江: "zhejiang",
安徽: "anhui",
福建: "fujian",
江西: "jiangxi",
山东: "shandong",
河南: "henan",
湖北: "hubei",
湖南: "hunan",
广东: "guangdong",
海南: "hainan",
四川: "sichuan",
贵州: "guizhou",
云南: "yunnan",
陕西: "shanxi1",
甘肃: "gansu",
青海: "qinghai",
新疆: "xinjiang",
广西: "guangxi",
内蒙古: "neimenggu",
宁夏: "ningxia",
西藏: "xizang",
北京: "beijing",
天津: "tianjin",
上海: "shanghai",
重庆: "chongqing",
香港: "xianggang",
澳门: "aomen",
},
// 省份编号(城市编号前两位关联)
provinceCodes: {
11: "北京",
12: "天津",
13: "河北",
14: "山西",
15: "内蒙古",
21: "辽宁",
22: "吉林",
23: "黑龙江",
31: "上海",
32: "江苏",
33: "浙江",
34: "安徽",
35: "福建",
36: "江西",
37: "山东",
41: "河南",
42: "湖北",
43: "湖南",
44: "广东",
45: "广西",
46: "海南",
50: "重庆",
51: "四川",
52: "贵州",
53: "云南",
54: "西藏",
61: "陕西",
62: "甘肃",
63: "青海",
64: "宁夏",
65: "新疆",
},
// 城市编号
cityCodes: {
北京市: "110100",
天津市: "120100",
上海市: "310100",
重庆市: "500100",
崇明县: "310200",
湖北省直辖县市: "429000",
铜仁市: "522200",
毕节市: "522400",
石家庄市: "130100",
唐山市: "130200",
秦皇岛市: "130300",
邯郸市: "130400",
邢台市: "130500",
保定市: "130600",
张家口市: "130700",
承德市: "130800",
沧州市: "130900",
廊坊市: "131000",
衡水市: "131100",
太原市: "140100",
大同市: "140200",
阳泉市: "140300",
长治市: "140400",
晋城市: "140500",
朔州市: "140600",
晋中市: "140700",
运城市: "140800",
忻州市: "140900",
临汾市: "141000",
吕梁市: "141100",
呼和浩特市: "150100",
包头市: "150200",
乌海市: "150300",
赤峰市: "150400",
通辽市: "150500",
鄂尔多斯市: "150600",
呼伦贝尔市: "150700",
巴彦淖尔市: "150800",
乌兰察布市: "150900",
兴安盟: "152200",
锡林郭勒盟: "152500",
阿拉善盟: "152900",
沈阳市: "210100",
大连市: "210200",
鞍山市: "210300",
抚顺市: "210400",
本溪市: "210500",
丹东市: "210600",
锦州市: "210700",
营口市: "210800",
阜新市: "210900",
辽阳市: "211000",
盘锦市: "211100",
铁岭市: "211200",
朝阳市: "211300",
葫芦岛市: "211400",
长春市: "220100",
吉林市: "220200",
四平市: "220300",
辽源市: "220400",
通化市: "220500",
白山市: "220600",
松原市: "220700",
白城市: "220800",
延边朝鲜族自治州: "222400",
哈尔滨市: "230100",
齐齐哈尔市: "230200",
鸡西市: "230300",
鹤岗市: "230400",
双鸭山市: "230500",
大庆市: "230600",
伊春市: "230700",
佳木斯市: "230800",
七台河市: "230900",
牡丹江市: "231000",
黑河市: "231100",
绥化市: "231200",
大兴安岭地区: "232700",
南京市: "320100",
无锡市: "320200",
徐州市: "320300",
常州市: "320400",
苏州市: "320500",
南通市: "320600",
连云港市: "320700",
淮安市: "320800",
盐城市: "320900",
扬州市: "321000",
镇江市: "321100",
泰州市: "321200",
宿迁市: "321300",
杭州市: "330100",
宁波市: "330200",
温州市: "330300",
嘉兴市: "330400",
湖州市: "330500",
绍兴市: "330600",
金华市: "330700",
衢州市: "330800",
舟山市: "330900",
台州市: "331000",
丽水市: "331100",
合肥市: "340100",
芜湖市: "340200",
蚌埠市: "340300",
淮南市: "340400",
马鞍山市: "340500",
淮北市: "340600",
铜陵市: "340700",
安庆市: "340800",
黄山市: "341000",
滁州市: "341100",
阜阳市: "341200",
宿州市: "341300",
六安市: "341500",
亳州市: "341600",
池州市: "341700",
宣城市: "341800",
福州市: "350100",
厦门市: "350200",
莆田市: "350300",
三明市: "350400",
泉州市: "350500",
漳州市: "350600",
南平市: "350700",
龙岩市: "350800",
宁德市: "350900",
南昌市: "360100",
景德镇市: "360200",
萍乡市: "360300",
九江市: "360400",
新余市: "360500",
鹰潭市: "360600",
赣州市: "360700",
吉安市: "360800",
宜春市: "360900",
抚州市: "361000",
上饶市: "361100",
济南市: "370100",
青岛市: "370200",
淄博市: "370300",
枣庄市: "370400",
东营市: "370500",
烟台市: "370600",
潍坊市: "370700",
济宁市: "370800",
泰安市: "370900",
威海市: "371000",
日照市: "371100",
莱芜市: "371200",
临沂市: "371300",
德州市: "371400",
聊城市: "371500",
滨州市: "371600",
菏泽市: "371700",
郑州市: "410100",
开封市: "410200",
洛阳市: "410300",
平顶山市: "410400",
安阳市: "410500",
鹤壁市: "410600",
新乡市: "410700",
焦作市: "410800",
濮阳市: "410900",
许昌市: "411000",
漯河市: "411100",
三门峡市: "411200",
南阳市: "411300",
商丘市: "411400",
信阳市: "411500",
周口市: "411600",
驻马店市: "411700",
省直辖县级行政区划: "469000",
武汉市: "420100",
黄石市: "420200",
十堰市: "420300",
宜昌市: "420500",
襄阳市: "420600",
鄂州市: "420700",
荆门市: "420800",
孝感市: "420900",
荆州市: "421000",
黄冈市: "421100",
咸宁市: "421200",
随州市: "421300",
恩施土家族苗族自治州: "422800",
长沙市: "430100",
株洲市: "430200",
湘潭市: "430300",
衡阳市: "430400",
邵阳市: "430500",
岳阳市: "430600",
常德市: "430700",
张家界市: "430800",
益阳市: "430900",
郴州市: "431000",
永州市: "431100",
怀化市: "431200",
娄底市: "431300",
湘西土家族苗族自治州: "433100",
广州市: "440100",
韶关市: "440200",
深圳市: "440300",
珠海市: "440400",
汕头市: "440500",
佛山市: "440600",
江门市: "440700",
湛江市: "440800",
茂名市: "440900",
肇庆市: "441200",
惠州市: "441300",
梅州市: "441400",
汕尾市: "441500",
河源市: "441600",
阳江市: "441700",
清远市: "441800",
东莞市: "441900",
中山市: "442000",
潮州市: "445100",
揭阳市: "445200",
云浮市: "445300",
南宁市: "450100",
柳州市: "450200",
桂林市: "450300",
梧州市: "450400",
北海市: "450500",
防城港市: "450600",
钦州市: "450700",
贵港市: "450800",
玉林市: "450900",
百色市: "451000",
贺州市: "451100",
河池市: "451200",
来宾市: "451300",
崇左市: "451400",
海口市: "460100",
三亚市: "460200",
三沙市: "460300",
成都市: "510100",
自贡市: "510300",
攀枝花市: "510400",
泸州市: "510500",
德阳市: "510600",
绵阳市: "510700",
广元市: "510800",
遂宁市: "510900",
内江市: "511000",
乐山市: "511100",
南充市: "511300",
眉山市: "511400",
宜宾市: "511500",
广安市: "511600",
达州市: "511700",
雅安市: "511800",
巴中市: "511900",
资阳市: "512000",
阿坝藏族羌族自治州: "513200",
甘孜藏族自治州: "513300",
凉山彝族自治州: "513400",
贵阳市: "520100",
六盘水市: "520200",
遵义市: "520300",
安顺市: "520400",
黔西南布依族苗族自治州: "522300",
黔东南苗族侗族自治州: "522600",
黔南布依族苗族自治州: "522700",
昆明市: "530100",
曲靖市: "530300",
玉溪市: "530400",
保山市: "530500",
昭通市: "530600",
丽江市: "530700",
普洱市: "530800",
临沧市: "530900",
楚雄彝族自治州: "532300",
红河哈尼族彝族自治州: "532500",
文山壮族苗族自治州: "532600",
西双版纳傣族自治州: "532800",
大理白族自治州: "532900",
德宏傣族景颇族自治州: "533100",
怒江傈僳族自治州: "533300",
迪庆藏族自治州: "533400",
拉萨市: "540100",
昌都地区: "542100",
山南地区: "542200",
日喀则地区: "542300",
那曲地区: "542400",
阿里地区: "542500",
林芝地区: "542600",
西安市: "610100",
铜川市: "610200",
宝鸡市: "610300",
咸阳市: "610400",
渭南市: "610500",
延安市: "610600",
汉中市: "610700",
榆林市: "610800",
安康市: "610900",
商洛市: "611000",
兰州市: "620100",
嘉峪关市: "620200",
金昌市: "620300",
白银市: "620400",
天水市: "620500",
武威市: "620600",
张掖市: "620700",
平凉市: "620800",
酒泉市: "620900",
庆阳市: "621000",
定西市: "621100",
陇南市: "621200",
临夏回族自治州: "622900",
甘南藏族自治州: "623000",
西宁市: "630100",
海东地区: "632100",
海北藏族自治州: "632200",
黄南藏族自治州: "632300",
海南藏族自治州: "632500",
果洛藏族自治州: "632600",
玉树藏族自治州: "632700",
海西蒙古族藏族自治州: "632800",
银川市: "640100",
石嘴山市: "640200",
吴忠市: "640300",
固原市: "640400",
中卫市: "640500",
乌鲁木齐市: "650100",
克拉玛依市: "650200",
吐鲁番地区: "652100",
哈密地区: "652200",
昌吉回族自治州: "652300",
博尔塔拉蒙古自治州: "652700",
巴音郭楞蒙古自治州: "652800",
阿克苏地区: "652900",
克孜勒苏柯尔克孜自治州: "653000",
喀什地区: "653100",
和田地区: "653200",
伊犁哈萨克自治州: "654000",
塔城地区: "654200",
阿勒泰地区: "654300",
自治区直辖县级行政区划: "659000",
台湾省: "710000",
香港特别行政区: "810100",
澳门特别行政区: "820000",
},
Loading: null,
};
},
mounted() {
var self = this;
self.Loading = this.$loading({
lock: true,
text: "正在查询...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
self.propQueryField.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
let unitcode = JSON.parse(
sessionStorage.getItem("userInfo")
).unitcode.slice(0, 6);
let arr1 = res.data.data.rows.filter(
(item) => item.id.slice(0, 2) == unitcode.slice(0, 2)
);
let arr2 = arr1[0].children.filter(
(item) => item.id.slice(0, 4) == unitcode.slice(0, 4)
);
let arr3 = arr2[0].children.filter(
(item) => item.id.slice(0, 6) == unitcode
);
let arr4 =
unitcode == "010000"
? res.data.data.rows
: arr2.length > 0
? arr1
: arr3.length > 0
? arr2
: arr3;
if (arr4.length > 0) {
self.$set(val, "codeOptions", arr4);
}
})
.catch((err) => {
console.log(err);
});
}
}
});
this.getEslaTopTenQuery();
this.getEsdyxgwrqTopTenQuery();
this.getEsFpaTsfxQuery(0,11)
this.getEsFpaTsfxQuery(0, 11);
this.getEsFpaTsfxQuerys();
},
watch: {
activeText: {
......@@ -448,57 +941,22 @@ export default {
if (val == "前科人员态势分析") {
this.$nextTick(() => {
//折线图
this.setLineDiagram(this.lineData1, this.lineData2);
this.getEsXyrNldXbQuery();
//玫瑰图
this.setRoseDiagram(this.data2);
this.getEsqkryzyQuery();
//饼图
this.setPieDiagram(this.data3);
this.getEsxlsjfbQuery();
//柱状图
this.setBarDiagram(this.ydata, this.data4, this.colorList);
this.getEslaXyrTopTenQuery();
});
} else {
this.$nextTick(() => {
EsLatsfxFpaQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjzlb: self.formData.gabAjzlb,
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
this.ajtjList = [
{
id: "maFaCount",
title: "发案数据",
value: res.data.faTotal,
color: "#FF7336",
type: "up",
num: null,
},
{
id: "maPaCount",
title: "破案数据",
value: res.data.poTotal,
color: "#43E1FF",
type: "up",
num: null,
},
];
}
});
//高危Top10
this.aside_highRisk(this.highRiskX, this.highRiskData, 0);
//发破案态势统计
// this.setAside_solveacase(
// this.areaYData,
// this.data4,
// this.data5,
// this.colorList
// );
//地图
this.setMap("china", this.points);
//类案top10
// this.setSuchCaseTop10(this.ydata, this.data4, this.colorList);
this.getEsLatsfxFpaQuery();
// this.setMap("china", this.points);
this.getEslaTopTenQuery();
this.getEsdyxgwrqTopTenQuery();
this.getEsFpaTsfxQuery(0, 11);
this.getEsFpaTsfxQuerys();
});
}
},
......@@ -506,31 +964,148 @@ export default {
},
},
methods: {
getCodeSeleted(codeValue, item) {
this.getSeleted(item, codeValue);
},
getSeleted(item, value, flag) {
this.xzqh = value ? value : "china";
let self = this;
let ret2 = self.emitSeleted.find((v) => {
return v.id == item.id;
});
if (value != "" && value != null) {
if (!flag) {
if (item.id == "flxx") {
item.name = "分类信息";
}
item.value = value;
if (ret2 == undefined) {
if (item.type == "daterange") {
item.value1 = item.value[0];
item.value2 = item.value[1];
}
this.$set(self.emitSeleted, self.emitSeleted.length, item);
} else {
if (item.type == "daterange") {
item.value1 = item.value[0];
item.value2 = item.value[1];
}
var dateIndex = self.emitSeleted.findIndex((val) => {
return val.id === item.id;
});
this.$set(self.emitSeleted, dateIndex, item);
}
} else {
if (ret2 != undefined) {
if (ret2.id == "flxx") {
ret2.value = value;
} else {
ret2.value2 = value;
}
} else {
item.value2 = value;
this.$set(self.emitSeleted, self.emitSeleted.length, item);
}
}
self.$emit("getSelected", self.emitSeleted);
} else {
var index = self.emitSeleted.findIndex((val) => {
return val.id === item.id;
});
if (item.id2) {
if (flag) {
item.value2 = "";
this.$set(self.emitSeleted, index, item);
self.$emit("getSelected", self.emitSeleted);
} else {
item.value = "";
this.$set(self.emitSeleted, index, item);
self.$emit("getSelected", self.emitSeleted);
}
if (item.value == "" && item.value2 == "") {
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted, item);
}
} else {
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted, item);
}
}
},
getEsLatsfxFpaQuery() {
var self = this;
self.ajtjList = [];
EsLatsfxFpaQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjzlb: self.formData.gabAjzlb,
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
this.ajtjList = [
{
id: "maFaCount",
title: "发案数据",
value: res.data.faTotal,
color: "#FF7336",
type: "up",
num: null,
},
{
id: "maPaCount",
title: "破案数据",
value: res.data.poTotal,
color: "#43E1FF",
type: "up",
num: null,
},
];
}
});
},
/**
* @description: 类案和前科人员选项卡
* @param {*} name 选项卡名称
* @return {*}
*/
updateBtn(name,num1,num2) {
updateBtn(name, num1, num2) {
this.activeBtn = name;
this.getEsFpaTsfxQuery(num1,num2)
debugger;
this.getEsFpaTsfxQuery(num1, num2);
},
//年龄段和性别分布
getEsXyrNldXbQuery() {
var self = this;
let nlData = [];
let lineData1 = [];
let lineData2 = [];
EsXyrNldXbQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
nlData.push(item.name);
lineData1.push(item.manNum);
lineData2.push(item.womenNum);
});
self.setLineDiagram(lineData1, lineData2, nlData);
}
});
},
/**
* @description: 行政区划
* @return {*}
*/
// getXZQH() {
// get(`JsonData/CODE_XZQH.json`).then((res) => {
// this.xzqhData = res.rows;
// });
// },
/**
* @description: 人员折线统计图封装
* @param {*} data1 线1数据
* @param {*} data2 线2数据
* @return {*}
*/
setLineDiagram(data1, data2) {
setLineDiagram(data1, data2, nlData) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(this.$refs.lineDiagram);
myChart.setOption({
......@@ -606,7 +1181,7 @@ export default {
show: false,
},
boundaryGap: true,
data: ["17-12岁", "18-35岁", "36-59岁", "60岁以上"],
data: nlData,
},
],
yAxis: [
......@@ -694,6 +1269,26 @@ export default {
myChart.resize();
});
},
//职业数据分布
getEsqkryzyQuery() {
var self = this;
EsqkryzyQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
let dataZy = [];
res.data.rows.forEach((item) => {
dataZy.push({ name: item.name, value: item.sum });
});
self.setRoseDiagram(dataZy);
}
});
},
/**
* @description: 人员玫瑰图封装
* @param {*} data 玫瑰图数据
......@@ -798,6 +1393,25 @@ export default {
myChart.resize();
});
},
getEsxlsjfbQuery() {
var self = this;
EsxlsjfbQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
let dataZy = [];
res.data.rows.forEach((item) => {
dataZy.push({ name: item.name, value: item.sum });
});
self.setPieDiagram(dataZy);
}
});
},
/**
* @description: 人员饼图封装
* @param {*} data 饼图数据
......@@ -896,6 +1510,28 @@ export default {
myChart.resize();
});
},
//小类案TOP10
getEslaXyrTopTenQuery() {
var self = this;
let ydata = [];
let data4 = [];
EslaXyrTopTenQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
ydata.push(item.name);
data4.push(item.countla);
});
self.setBarDiagram(ydata, data4, self.colorList);
}
});
},
/**
* @description: 人员统计图封装
* @param {*} y y轴数据
......@@ -905,6 +1541,7 @@ export default {
*/
setBarDiagram(y, data, colorList) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(this.$refs.barDiagram);
myChart.setOption({
title: {
......@@ -990,11 +1627,13 @@ export default {
myChart.resize();
});
},
getEsFpaTsfxQuery(num1,num2) {
//发破案态势统计
getEsFpaTsfxQuery(num1, num2) {
var self = this;
self.areaYData = [];
self.data4 = [];
self.data5 = [];
let areaYData = [];
let data4 = [];
let data5 = [];
let point = [];
EsFpaTsfxQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
gabAjxzlb: self.formData.gabAjxzlb,
......@@ -1003,21 +1642,37 @@ export default {
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
// res.data.rows.forEach((item) => {
// self.areaYData.push(item.name);
// self.data4.push(item.numPa);
// self.data5.push(item.numFa);
// });
for(var i = num1;i++;i <= num2){
self.areaYData.push(res.data[num1].name);
self.data4.push(res.data[num1].numPa);
self.data5.push(res.data[num1].numFa);
for (let i = num1; i <= num2; i++) {
if (res.data.rows[i]) {
areaYData.push(res.data.rows[i].name);
data4.push(res.data.rows[i].numPa);
data5.push(res.data.rows[i].numFa);
} else {
self.setAside_solveacase(areaYData, data4, data5);
}
}
self.setAside_solveacase(areaYData, data4, data5);
}
debugger
self.setAside_solveacase(self.areaYData, self.data4, self.data5, 0);
});
},
getEsFpaTsfxQuerys() {
var self = this;
EsFpaTsfxQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjzlb: self.formData.gabAjzlb,
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart,
})
.then((res) => {
if (res.code == 200) {
self.setMap(self.xzqh, res.data.rows);
}
})
.catch((err) => {
self.Loading.close();
});
},
/**
* @description: 发破案态势统计
* @param {*} y y轴数据(城市)
......@@ -1153,10 +1808,11 @@ export default {
myChart.resize();
});
},
//地域性高危人群top10
getEsdyxgwrqTopTenQuery() {
var self = this;
self.highRiskX = [];
self.highRiskData = [];
let highRiskX = [];
let highRiskData = [];
EsdyxgwrqTopTenQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
gabAjxzlb: self.formData.gabAjxzlb,
......@@ -1166,11 +1822,11 @@ export default {
}).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
self.highRiskX.push(item.name);
self.highRiskData.push(item.sum);
highRiskX.push(item.name);
highRiskData.push(item.sum);
});
}
this.aside_highRisk(self.highRiskX, self.highRiskData, 0);
this.aside_highRisk(highRiskX, highRiskData);
});
},
/**
......@@ -1180,7 +1836,7 @@ export default {
* @param {*} rotate x轴文字倾斜度数
* @return {*}
*/
aside_highRisk(x, data, rotate) {
aside_highRisk(x, data) {
let myChart = this.$echarts.init(this.$refs.aside_highRisk);
myChart.setOption({
title: {
......@@ -1281,25 +1937,33 @@ export default {
myChart.resize();
});
},
//类案TOP10
getEslaTopTenQuery() {
var self = this;
self.ydata = [];
self.data4 = [];
let ydata = [];
let data4 = [];
EslaTopTenQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjzlb: self.formData.gabAjzlb,
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjEnd,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart,
}).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
self.ydata.push(item.name);
self.data4.push(item.countla);
});
}
this.setSuchCaseTop10();
});
})
.then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
ydata.push(item.name);
data4.push(item.countla);
});
}else{
self.Loading.close();
}
this.setSuchCaseTop10(ydata, data4);
})
.catch((err) => {
self.Loading.close();
});
},
/**
* @description: 类案top10封装
......@@ -1308,7 +1972,7 @@ export default {
* @param {*} colorList 颜色数据
* @return {*}
*/
setSuchCaseTop10(y, data, colorList) {
setSuchCaseTop10(ydata, data4) {
var self = this;
let myChart = this.$echarts.init(this.$refs.suchCaseTop10);
myChart.setOption({
......@@ -1362,7 +2026,7 @@ export default {
show: false,
},
inverse: true,
data: this.ydata,
data: ydata,
axisLabel: {
color: "#A7D6F4",
fontSize: 14,
......@@ -1379,7 +2043,7 @@ export default {
return this.colorList[params.dataIndex];
},
},
data: this.data4,
data: data4,
},
],
});
......@@ -1393,9 +2057,52 @@ export default {
* @param {*} points 热力图经纬度
* @return {*}
*/
setMap(type, points) {
setMap(type, list) {
var self = this;
if (type != "china") {
type = self.provinceDic[self.xzqh];
debugger;
}
debugger;
let points = [];
list.forEach((item) => {
let showName = item.name;
if (item.name && self.provinceDic[item.name]) {
showName = self.provinceDic[item.name];
}
if (item.numFa) {
points.push({
value: [item.jd, item.wd],
num: parseInt(item.numPa) + parseInt(item.numFa),
name: showName,
numPa: parseInt(item.numPa),
numFa: parseInt(item.numFa),
});
}
});
let myChart = this.$echarts.init(this.$refs.map);
myChart.setOption({
let option = {
tooltip: {
trigger: "item",
position: "inside",
borderColor: "#FFE45C",
borderWidth: 1,
formatter: function (params) {
if (params.seriesType == "effectScatter") {
return (
'<div style="padding:0px 10px 10px 10px;"><span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:#ddb926;"></span><span style="color:yellow;">' +
params.data.name +
'</span></br><span style="font-size: 12px;font-family: Microsoft YaHei;font-weight: 400;line-height: 16px;color: #FFFFFF;">发案:' +
params.data.numFa +
'</span></br><span style="font-size: 12px;font-family: Microsoft YaHei;font-weight: 400;line-height: 16px;color: #FFFFFF;">破案:' +
params.data.numPa +
"</span></div>"
);
} else {
return null;
}
},
},
geo: {
map: type,
aspectScale: 0.75, //长宽比
......@@ -1443,6 +2150,7 @@ export default {
series: [
{
type: "map",
data: points,
roam: false,
label: {
normal: {
......@@ -1470,12 +2178,14 @@ export default {
zoom: 1.1,
// roam: false,
map: type, //使用
// data: this.difficultData //热力图数据 不同区域 不同的底色
},
{
type: "effectScatter",
coordinateSystem: "geo",
showEffectOn: "render",
encode: {
value: 2,
},
zlevel: 1,
hoverAnimation: true,
itemStyle: {
......@@ -1511,7 +2221,18 @@ export default {
data: points,
},
],
});
};
// if (type != "china") {
// // import("echarts/map/js/province/" + self.provinces[type]);
// option.series[0].map = type;
// option.geo.map = type;
// debugger
// myChart.setOption(option);
// } else {
// myChart.setOption(option);
// }
myChart.setOption(option);
self.Loading.close();
window.addEventListener("resize", () => {
myChart.resize();
});
......@@ -1543,39 +2264,52 @@ export default {
* @return {*}
*/
searchSuchCase() {
if (this.form1.area == 28069) {
//发案类案数据改变
this.ajtjList = [
{
id: "maFaCount",
title: "发案数据",
value: 3423,
color: "#FF7336",
type: "up",
num: null,
},
{
id: "maPaCount",
title: "破案数据",
value: 2155,
color: "#43E1FF",
type: "up",
num: null,
},
];
//类案top10改变
let data1 = [400, 230, 360, 540, 320, 30, 280, 560, 240, 220];
this.setSuchCaseTop10(this.ydata, data1, this.colorList);
//发破案态势统计
let data2 = [140, 280, 360, 530, 530, 300, 380, 260, 40];
let data3 = [100, 380, 420, 540, 320, 100, 480, 360, 240];
this.setAside_solveacase(this.mengAreaData, data2, data3);
//地域性高危人群top10
let data4 = [100, 90, 80, 52, 45, 40, 40, 32, 27];
this.aside_highRisk(this.mengAreaData, data4, 30);
//地图修改
this.setMap("内蒙古", this.neimengPoints);
}
//发案类案数据改变
// this.ajtjList = [
// {
// id: "maFaCount",
// title: "发案数据",
// value: 3423,
// color: "#FF7336",
// type: "up",
// num: null,
// },
// {
// id: "maPaCount",
// title: "破案数据",
// value: 2155,
// color: "#43E1FF",
// type: "up",
// num: null,
// },
// ];
// //类案top10改变
// let data1 = [400, 230, 360, 540, 320, 30, 280, 560, 240, 220];
// this.setSuchCaseTop10(this.ydata, data1, this.colorList);
// //发破案态势统计
// let data2 = [140, 280, 360, 530, 530, 300, 380, 260, 40];
// let data3 = [100, 380, 420, 540, 320, 100, 480, 360, 240];
// this.setAside_solveacase(this.mengAreaData, data2, data3);
// //地域性高危人群top10
// let data4 = [100, 90, 80, 52, 45, 40, 40, 32, 27];
// this.aside_highRisk(this.mengAreaData, data4, 30);
// //地图修改
// this.setMap("内蒙古", this.neimengPoints);
this.Loading = this.$loading({
lock: true,
text: "正在查询...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
import(
"echarts/map/js/province/" + this.provinces[this.provinceDic[this.xzqh]]
);
this.getEsLatsfxFpaQuery();
// this.setMap(this.xzqh, this.points);
this.getEslaTopTenQuery();
this.getEsdyxgwrqTopTenQuery();
this.getEsFpaTsfxQuery(0, 11);
this.getEsFpaTsfxQuerys();
},
/**
* @description: 类案态势分析重置
......@@ -1585,37 +2319,43 @@ export default {
resetSuchCase() {
this.$refs.form1.resetFields();
//发案类案数据改变
this.ajtjList = [
{
id: "maFaCount",
title: "发案数据",
value: 242367,
color: "#FF7336",
type: "up",
num: null,
},
{
id: "maPaCount",
title: "破案数据",
value: 215578,
color: "#43E1FF",
type: "up",
num: null,
},
];
//高危Top10
this.aside_highRisk(this.highRiskX, this.highRiskData, 0);
//发破案态势统计
this.setAside_solveacase(
this.areaYData,
this.data4,
this.data5,
this.colorList
);
//地图
this.setMap("china", this.points);
//类案top10
this.setSuchCaseTop10(this.ydata, this.data4, this.colorList);
// this.ajtjList = [
// {
// id: "maFaCount",
// title: "发案数据",
// value: 242367,
// color: "#FF7336",
// type: "up",
// num: null,
// },
// {
// id: "maPaCount",
// title: "破案数据",
// value: 215578,
// color: "#43E1FF",
// type: "up",
// num: null,
// },
// ];
// //高危Top10
// this.aside_highRisk(this.highRiskX, this.highRiskData, 0);
// //发破案态势统计
// this.setAside_solveacase(
// this.areaYData,
// this.data4,
// this.data5,
// this.colorList
// );
// //地图
// this.setMap("china", this.points);
// //类案top10
// this.setSuchCaseTop10(this.ydata, this.data4, this.colorList);
this.getEsLatsfxFpaQuery();
// this.setMap("china", this.points);
this.getEslaTopTenQuery();
this.getEsdyxgwrqTopTenQuery();
this.getEsFpaTsfxQuery(0, 11);
this.getEsFpaTsfxQuerys();
},
/**
* @description: 人员态势分析查询
......@@ -1623,59 +2363,13 @@ export default {
* @return {*}
*/
searchPerson() {
if (this.form2.area == 28069) {
let data1 = [22134, 28167, 46782, 32643];
let data2 = [32134, 18167, 36782, 22643];
//折线图
this.setLineDiagram(data1, data2);
//玫瑰图
let data3 = [
{
name: "无业",
value: 18463,
},
{
name: "务工",
value: 10893,
},
{
name: "务农",
value: 13472,
},
{
name: "其他",
value: 17000,
},
];
this.setRoseDiagram(data3);
//饼图
let data4 = [
{
name: "大学及以上",
value: 14516,
},
{
name: "高中",
value: 25150,
},
{
name: "初中",
value: 15116,
},
{
name: "小学及以下",
value: 8749,
},
{
name: "其他",
value: 16128,
},
];
this.setPieDiagram(data4);
//柱状图
let data5 = [270, 196, 492, 700, 1021, 412, 526, 678, 800, 612];
this.setBarDiagram(this.ydata, data5, this.colorList);
}
//折线图
this.getEsXyrNldXbQuery();
this.getEsqkryzyQuery();
//饼图
this.getEsxlsjfbQuery();
//柱状图
this.getEslaXyrTopTenQuery();
},
/**
* @description: 人员态势分析重置
......@@ -1685,13 +2379,13 @@ export default {
resetPerson() {
this.$refs.form2.resetFields();
//折线图
this.setLineDiagram(this.lineData1, this.lineData2);
this.getEsXyrNldXbQuery();
//玫瑰图
this.setRoseDiagram(this.data2);
this.getEsqkryzyQuery();
//饼图
this.setPieDiagram(this.data3);
this.getEsxlsjfbQuery();
//柱状图
this.setBarDiagram(this.ydata, this.data4, this.colorList);
this.getEslaXyrTopTenQuery();
},
activeScreen(text) {
if (text == "类案态势分析") {
......@@ -1928,6 +2622,12 @@ export default {
color: #2766f5;
}
}
.el-dialog {
.el-input__inner {
background-color: #fff;
border: 1px solid #cfcfcf;
}
}
}
> div {
width: 100%;
......@@ -1980,4 +2680,16 @@ export default {
}
}
}
.zdyInputW {
span {
color: #fff;
padding: 0 3px;
}
.el-input {
width: 140px !important;
/deep/ .el-input__inner {
width: 140px !important;
}
}
}
</style>
......@@ -90,7 +90,7 @@ export default {
}).then(res=>{
if(res.code == 200){
sessionStorage.setItem('token', 'bearer ' + res.data.accessToken);
sessionStorage.setItem("userInfo",JSON.stringify(res.data.data))
sessionStorage.setItem("userInfo",JSON.stringify(res.data))
this.$router.push('/home')
}else{
this.$confirm("账号或密码错误!", {
......
......@@ -40,12 +40,14 @@
>
</el-date-picker>
</div>
<div v-else-if="item.type == 'lazyCodeTreeDialog'">
<lazy-select-tree-dialog
<div v-else-if="item.type == 'codeTreeDialog'">
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
:multiple="item.multiple"
@getDialogSeleted="getCodeSeleted($event, item)"
/>
</div>
</el-form-item>
......@@ -59,68 +61,388 @@
<div class="yp_title">
<img class="yp_img" src="../../assets/img/ypbg_title.png" />
<div class="yp_name">警情研判报告</div>
<img class="yp_dy" src="../../assets/img/dy.png" />
<img class="yp_dy" @click="print" src="../../assets/img/dy.png" />
</div>
<div class="yp_contnet">
<div class="jqzs">
<div class="jqzs" id="jqzs">
<span>警情综述</span>
<p>
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起)
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起)
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起)
</p>
<p v-html="jqzs"></p>
</div>
<div class="subtitle">一、刑事案件发案情况</div>
<div class="jqzs bj">
<div class="subtitle" id="xsajfaqk">一、刑事案件发案情况</div>
<div class="jqzs bj" id="gxqfaqk">
<span>1、各辖区发案情况</span>
<p>
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起)
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起)
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起)
</p>
<p v-html="faqk"></p>
</div>
<div class="xqgdfaqk">
<img src="../../assets/img/gdfa.svg" alt="">
<div
id="gxqfa"
ref="gxqfa"
style="height: 400px; width: 100%; padding-top: 6px"
></div>
<div class="table" style="margin-top: 20px">
<el-table
id="ajzbQuery"
ref="itsmDataTable"
:data="tableDataFa"
tooltip-effect="dark"
width="100%"
size="small"
>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormTheadFa"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div
v-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else-if="columnTitle.label == '发案环比'">
<span>上期:{{ scope.row["sqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["hbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["hbAjBfb"] }}</span
>
</div>
<div v-else-if="columnTitle.label == '发案同比'">
<!-- {{ item.split(":")[0] }}{{
scope.row[item.split(":")[1]]
}} -->
<span>上期:{{ scope.row["tqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["tbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["tbAjBfb"] }}</span
>
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
<div class="jqzs bj" id="zylbfaqk">
<span>2、主要类别案件发案情况</span>
<p v-html="zylbfa"></p>
</div>
<div
id="zylbfa"
ref="zylbfa"
style="height: 400px; width: 100%; padding-top: 6px"
></div>
<div class="table">
<img src="../../assets/img/xqpa.svg" alt="">
<el-table
id="ajzbQuery"
ref="itsmDataTable"
:data="tableDataZylbfa"
tooltip-effect="dark"
width="100%"
size="small"
>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormTheadZylbfa"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div
v-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else-if="columnTitle.label == '发案环比'">
<span>上期:{{ scope.row["sqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["hbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["hbAjBfb"] }}</span
>
</div>
<div v-else-if="columnTitle.label == '发案同比'">
<!-- {{ item.split(":")[0] }}{{
scope.row[item.split(":")[1]]
}} -->
<span>上期:{{ scope.row["tqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["tbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["tbAjBfb"] }}</span
>
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
<div class="jqzs bj">
<span>2、主要类别案件发案情况</span>
<p>
本期(2021-01-01至2021-07-22)统计,全区共发生案件49467起,环比上期(49344起),同比上期(39412起)
,造成经济损失2,267,630,336.00元,同比上期(2,013,455,232.00元)
</p>
<div class="subtitle" style="margin-top: 20px" id="xsajpaqk">
二、刑事案件破案情况
</div>
<div class="xqgdfaqk">
<img src="../../assets/img/lafa1.svg" alt="">
<div class="jqzs bj" id="gxqpaqk">
<span>1、各辖区破案情况</span>
<p v-html="paqk"></p>
</div>
<div class="table">
<img src="../../assets/img/lapa1.svg" alt="">
<div
id="gxqpa"
ref="gxqpa"
style="height: 400px; width: 100%; padding-top: 6px"
></div>
<div class="table" style="margin-top: 20px">
<el-table
id="ajzbQuery"
ref="itsmDataTable"
:data="tableDataPa"
tooltip-effect="dark"
width="100%"
size="small"
>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormTheadPa"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div
v-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else-if="columnTitle.label == '破案环比'">
<span>上期:{{ scope.row["sqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["hbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["hbAjBfb"] }}</span
>
</div>
<div v-else-if="columnTitle.label == '破案同比'">
<!-- {{ item.split(":")[0] }}{{
scope.row[item.split(":")[1]]
}} -->
<span>上期:{{ scope.row["tqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["tbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["tbAjBfb"] }}</span
>
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
<div class="jqzs bj" id="zylbpaqk">
<span>2、主要类别案件破案情况</span>
<p v-html="zylbpa"></p>
</div>
<div
id="zylbpa"
ref="zylbpa"
style="height: 400px; width: 100%; padding-top: 6px"
></div>
<div class="table">
<img src="../../assets/img/xyr.svg" alt="">
<el-table
id="ajzbQuery"
ref="itsmDataTable"
:data="tableDataZylbpa"
tooltip-effect="dark"
width="100%"
size="small"
>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormTheadZylbpa"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div
v-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope.row)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div v-else-if="columnTitle.label == '发案环比'">
<span>上期:{{ scope.row["sqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["hbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["hbAjBfb"] }}</span
>
</div>
<div v-else-if="columnTitle.label == '发案同比'">
<!-- {{ item.split(":")[0] }}{{
scope.row[item.split(":")[1]]
}} -->
<span>上期:{{ scope.row["tqCount"] }}起|</span>
<span
:class="
scope.row.hbAjClass == 'up' ? 'upclass' : 'downclass'
"
>{{ scope.row["tbAjClass"] == "up" ? "⬆" : "⬇"
}}{{ scope.row["tbAjBfb"] }}</span
>
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
</div>
<div class="subtitle" style="margin-top: 20px" id="xyrqkfx">
三、案件嫌疑人情况分析
</div>
<div
id="xyrnlfb"
ref="xyrnlfb"
style="height: 282px; width: 100%; padding-top: 36px"
></div>
<div
id="xyrhjfb"
ref="xyrhjfb"
style="height: 282px; width: 100%"
></div>
<div
id="xyrdazt"
ref="xyrdazt"
style="height: 240px; width: 100%; padding-bottom: 36px"
></div>
</div>
</div>
<div class="dt_menu">
<el-steps
direction="vertical"
finish-status="wait"
space="100px"
:active="activeIndex"
>
<el-step
v-for="(item, index) in menuList"
:key="item.id"
finish-status="wait"
@click.native="handleNav(index, item.id)"
>
<span slot="icon" v-if="index == activeIndex">
<img src="@/assets/img/jt.png" alt="" />
</span>
<span
slot="title"
:class="
index == activeIndex
? item.color == '333'
? 'activeColor'
: 'activeColor3'
: item.color == '333'
? 'activeColor2'
: 'activeColor1'
"
>
{{ item.title }}
</span>
</el-step>
</el-steps>
</div>
</div>
</div>
</template>
<script>
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import SelectTreeDialog from "@c/treeCode_components.vue";
import {
EsNldQuery,
EshjfbQuery,
EszhqkQuery,
getGdAjQk,
getZalbFpaTj,
getJqzsQk,
} from "@/api/ypbg.js";
export default {
name: "ypbg",
components: {
LazySelectTreeDialog,
SelectTreeDialog,
},
data() {
return {
menuList: [
{ title: "警情综述", id: "#jbzs", color: "333" },
{ title: "一、刑事案件发案情况", id: "#xsajfaqk", color: "333" },
{ title: "各辖区发案情况", id: "#gxqfaqk" },
{ title: "主要类别案件发案情况", id: "#zylbfaqk" },
{ title: "一、刑事案件破案情况", id: "#xsajpaqk", color: "333" },
{ title: "各辖区破案情况", id: "#gxqpaqk" },
{ title: "主要类别案件破案情况", id: "#zylbpaqk" },
{ title: "三、案件嫌疑人情况分析", id: "#xyrqkfx", color: "333" },
{ title: "年龄段性别分析", id: "#xyrnlfb" },
{ title: "户籍分布", id: "#xyrhjfb" },
{ title: "到案状态", id: "#xyrdazt" },
],
activeIndex: 0,
emitSeleted: [],
loading: null,
formData: {
date: "",
dwdm: "",
asjfsddXzqhdm: "",
},
jqzs: "",
propQueryField: [
{
name: "发案时间",
......@@ -130,44 +452,1023 @@ export default {
value: "",
col: "3",
},
{
name: "行政区划",
id: "ladw",
type: "lazyCodeTreeDialog",
props: [], //字典弹框需要的字段
value: "",
col: "3",
codeOptions: [],
codeTree: "CODE_QGUNIT",
{
name: "行政区划",
id: "asjfsddXzqhdm",
type: "codeTreeDialog", //字典弹框
props: [], //字典弹框需要的字段
codeOptions: [],
codeTree: "CODE_XZQH",
value: "",
col: "3",
},
],
paqk: "",
faqk: "",
tableDataFa: [],
propdefaultFormTheadFa: [
{
label: "管辖单位",
prop: "name",
},
{
label: "发案数量",
prop: "bqCount",
},
{
label: "发案占比",
prop: "ajBfb",
},
{
label: "发案环比",
prop: "cbxsypCbajs",
},
{
label: "发案同比",
prop: "cbxsypCbajs",
},
{
label: "损失金额(万)",
prop: "bqSsRMB",
},
],
tableDataPa: [],
propdefaultFormTheadPa: [
{
label: "管辖单位",
prop: "name",
},
{
label: "破案数量",
prop: "bqCount",
},
{
label: "破案占比",
prop: "ajBfb",
},
{
label: "破案环比",
prop: "上期:sqCount起|hbAjBfb:hbAjBfb",
},
{
label: "破案同比",
prop: "patb",
},
{
label: "损失金额(万)",
prop: "bqSsRMB",
},
],
zylbfa: "",
tableDataZylbfa: [],
propdefaultFormTheadZylbfa: [
{
label: "案件类别",
prop: "name",
},
{
label: "发案数量",
prop: "bqCount",
},
{
label: "发案占比",
prop: "ajBfb",
},
{
label: "发案环比",
prop: "上期:sqCount起|hbAjBfb:hbAjBfb",
},
{
label: "发案同比",
prop: "patb",
},
{
label: "损失金额(万)",
prop: "bqSsRMB",
},
],
zylbpa: "",
tableDataZylbpa: [],
propdefaultFormTheadZylbpa: [
{
label: "案件类别",
prop: "name",
},
{
label: "发案数量",
prop: "bqCount",
},
{
label: "发案占比",
prop: "ajBfb",
},
{
label: "发案环比",
prop: "上期:sqCount起|hbAjBfb:hbAjBfb",
},
{
label: "发案同比",
prop: "patb",
},
{
label: "损失金额(万)",
prop: "bqSsRMB",
},
],
};
},
methods: {
//导航菜单切换
handleNav(index, id) {
this.activeIndex = index;
document.querySelector(id).scrollIntoView({
behavior: "smooth",
block: "end",
inline: "nearest",
});
},
getCodeSeleted(codeValue, item) {
this.getSeleted(item, codeValue);
},
getSeleted(item, value, flag) {
let self = this;
let ret2 = self.emitSeleted.find((v) => {
return v.id == item.id;
});
if (value != "" && value != null) {
if (!flag) {
if (item.id == "flxx") {
item.name = "分类信息";
}
item.value = value;
if (ret2 == undefined) {
if (item.type == "daterange") {
item.value1 = item.value[0];
item.value2 = item.value[1];
}
this.$set(self.emitSeleted, self.emitSeleted.length, item);
} else {
if (item.type == "daterange") {
item.value1 = item.value[0];
item.value2 = item.value[1];
}
var dateIndex = self.emitSeleted.findIndex((val) => {
return val.id === item.id;
});
this.$set(self.emitSeleted, dateIndex, item);
}
} else {
if (ret2 != undefined) {
if (ret2.id == "flxx") {
ret2.value = value;
} else {
ret2.value2 = value;
}
} else {
item.value2 = value;
this.$set(self.emitSeleted, self.emitSeleted.length, item);
}
}
self.$emit("getSelected", self.emitSeleted);
} else {
var index = self.emitSeleted.findIndex((val) => {
return val.id === item.id;
});
if (item.id2) {
if (flag) {
item.value2 = "";
this.$set(self.emitSeleted, index, item);
self.$emit("getSelected", self.emitSeleted);
} else {
item.value = "";
this.$set(self.emitSeleted, index, item);
self.$emit("getSelected", self.emitSeleted);
}
if (item.value == "" && item.value2 == "") {
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted, item);
}
} else {
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted, item);
}
}
},
print() {
window.print();
},
getJqzs() {
var self = this;
getJqzsQk({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
zczj: "0",
}).then((res) => {
if (res.code == 200) {
self.jqzs = res.data.fpaQk;
}
});
},
formatDate(date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? "0" + m : m;
var d = date.getDate();
d = d < 10 ? "0" + d : d;
return y + "-" + m + "-" + d;
},
formatStartDate(date) {
var y = date.getFullYear();
return y + "-01-01";
},
doQuery() {
this.loading = this.$loading({
lock: true,
text: "正在查询...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
this.getJqzs();
this.getGxqPa();
this.getGxFa();
this.getXyrnlfb();
this.getXyrhjfb();
this.getXyrdazt();
this.getZalbTj();
this.getZalbTjs();
},
getGxFa() {
var self = this;
let highRiskX = [];
let highRiskData = [];
getGdAjQk({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
zczj: "0",
}).then((res) => {
if (res.code == 200) {
self.faqk = res.data.fpaQk;
self.tableDataFa = res.data.rows;
res.data.rows.forEach((item) => {
highRiskX.push(item.name);
highRiskData.push(item.bqCount);
});
self.getGdAjQkFa(highRiskX, highRiskData);
}
});
},
getGdAjQkFa(x, data) {
let myChart = this.$echarts.init(this.$refs.gxqfa);
myChart.setOption({
title: {
text: "辖区类案发案情况",
textStyle: {
color: "#333",
fontWeight: 800,
fontSize: 16,
},
left: 35,
},
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
grid: {
top: "20%",
left: "8%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
},
axisLabel: {
color: "#666",
clickable: true,
interval: 0,
formatter: function (params) {
var newParamsName = ""; // 最终拼接成的字符串
var paramsNameNumber = params.length; // 实际标签的个数
var provideNumber = 4; // 每行能显示的字的个数
var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
/**
* 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
*/
// 条件等同于rowNumber>1
if (paramsNameNumber > provideNumber) {
/** 循环每一行,p表示行 */
for (var p = 0; p < rowNumber; p++) {
var tempStr = ""; // 表示每一次截取的字符串
var start = p * provideNumber; // 开始截取的位置
var end = start + provideNumber; // 结束截取的位置
// 此处特殊处理最后一行的索引值
if (p == rowNumber - 1) {
// 最后一次不换行
tempStr = params.substring(start, paramsNameNumber);
} else {
// 每一次拼接字符串并换行
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr; // 最终拼成的字符串
}
} else {
// 将旧标签的值赋给新标签
newParamsName = params;
}
//将最终的字符串返回
return newParamsName;
},
},
splitLine: {
show: false,
},
boundaryGap: true,
data: x,
},
],
yAxis: [
{
type: "value",
min: 0,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#00BFF3",
opacity: 0.23,
type: "dashed",
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#939FB3",
},
},
axisTick: {
show: false,
},
},
],
legend: {
right: 35,
top: 12,
textStyle: {
color: "#fff",
},
itemWidth: 12,
itemHeight: 10,
// itemGap: 35
},
series: [
{
type: "bar",
data: data,
barWidth: "24px",
barCategoryGap: "10%",
itemStyle: {
barBorderRadius: [4, 4, 0, 0],
color: "rgba(255, 195, 109, 1)",
},
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
this.loading.close();
},
getZalbTj() {
var self = this;
let highRiskX = [];
let highRiskData = [];
getZalbFpaTj({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
zczj: "0",
}).then((res) => {
if (res.code == 200) {
self.zylbfa = res.data.fpaQk;
self.tableDataZylbfa = res.data.rows;
res.data.rows.forEach((item) => {
highRiskX.push(item.name);
highRiskData.push(item.bqCount);
});
self.getgetZalbFpaTj(highRiskX, highRiskData);
}
});
},
getgetZalbFpaTj(x, data) {
let myChart = this.$echarts.init(this.$refs.zylbfa);
myChart.setOption({
title: {
text: "主要类别发案情况",
textStyle: {
color: "#333",
fontWeight: 800,
fontSize: 16,
},
left: 35,
},
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
grid: {
top: "20%",
left: "8%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
},
axisLabel: {
color: "#666",
clickable: true,
interval: 0,
},
splitLine: {
show: false,
},
boundaryGap: true,
data: x,
},
],
yAxis: [
{
type: "value",
min: 0,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#00BFF3",
opacity: 0.23,
type: "dashed",
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#939FB3",
},
},
axisTick: {
show: false,
},
},
],
legend: {
right: 35,
top: 12,
textStyle: {
color: "#fff",
},
itemWidth: 12,
itemHeight: 10,
// itemGap: 35
},
series: [
{
type: "bar",
data: data,
barWidth: "24px",
barCategoryGap: "10%",
itemStyle: {
barBorderRadius: [4, 4, 0, 0],
color: "rgba(255, 195, 109, 1)",
},
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
},
getZalbTjs() {
var self = this;
let highRiskX = [];
let highRiskData = [];
getZalbFpaTj({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
zczj: "1",
}).then((res) => {
if (res.code == 200) {
self.zylbpa = res.data.fpaQk;
self.tableDataZylbpa = res.data.rows;
res.data.rows.forEach((item) => {
highRiskX.push(item.name);
highRiskData.push(item.bqCount);
});
self.getgetZalbFpaTjs(highRiskX, highRiskData);
}
});
},
getgetZalbFpaTjs(x, data) {
let myChart = this.$echarts.init(this.$refs.zylbpa);
myChart.setOption({
title: {
text: "主要类别破案情况",
textStyle: {
color: "#333",
fontWeight: 800,
fontSize: 16,
},
left: 35,
},
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
grid: {
top: "20%",
left: "8%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
},
axisLabel: {
color: "#666",
clickable: true,
interval: 0,
},
splitLine: {
show: false,
},
boundaryGap: true,
data: x,
},
],
yAxis: [
{
type: "value",
min: 0,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#00BFF3",
opacity: 0.23,
type: "dashed",
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#939FB3",
},
},
axisTick: {
show: false,
},
},
],
legend: {
right: 35,
top: 12,
textStyle: {
color: "#fff",
},
itemWidth: 12,
itemHeight: 10,
// itemGap: 35
},
series: [
{
type: "bar",
data: data,
barWidth: "24px",
barCategoryGap: "10%",
itemStyle: {
barBorderRadius: [4, 4, 0, 0],
color: "#6EBBFF",
},
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
},
getGxqPa() {
var self = this;
let highRiskX = [];
let highRiskData = [];
getGdAjQk({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
zczj: "1",
}).then((res) => {
if (res.code == 200) {
self.paqk = res.data.fpaQk;
res.data.rows.forEach((item) => {
// item.pahb = `上期(${item.sqCount})`
// item.patb =
highRiskX.push(item.name);
highRiskData.push(item.bqCount);
});
self.tableDataPa = res.data.rows;
self.getGdAjQkPa(highRiskX, highRiskData);
}
});
},
getGdAjQkPa(x, data) {
let myChart = this.$echarts.init(this.$refs.gxqpa);
myChart.setOption({
title: {
text: "各辖区破案情况",
textStyle: {
color: "#333",
fontWeight: 800,
fontSize: 16,
},
left: 35,
},
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
],
xqgdafqkData: [80, 80, 97, 53, 95, 26, 72, 55],
xqgdafqkX: [
"广州",
"云南",
"江西",
"河北",
"江苏",
"陕西",
"河南",
"安徽",
]
};
},
methods: {
queryData() {},
doQuery() {},
getXqgdfaqk(x, data, rotate) {
let myChart = this.$echarts.init(this.$refs.xqgdfaqk);
grid: {
top: "20%",
left: "8%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
},
axisLabel: {
color: "#666",
clickable: true,
interval: 0,
formatter: function (params) {
var newParamsName = ""; // 最终拼接成的字符串
var paramsNameNumber = params.length; // 实际标签的个数
var provideNumber = 4; // 每行能显示的字的个数
var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
/**
* 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
*/
// 条件等同于rowNumber>1
if (paramsNameNumber > provideNumber) {
/** 循环每一行,p表示行 */
for (var p = 0; p < rowNumber; p++) {
var tempStr = ""; // 表示每一次截取的字符串
var start = p * provideNumber; // 开始截取的位置
var end = start + provideNumber; // 结束截取的位置
// 此处特殊处理最后一行的索引值
if (p == rowNumber - 1) {
// 最后一次不换行
tempStr = params.substring(start, paramsNameNumber);
} else {
// 每一次拼接字符串并换行
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr; // 最终拼成的字符串
}
} else {
// 将旧标签的值赋给新标签
newParamsName = params;
}
//将最终的字符串返回
return newParamsName;
},
},
splitLine: {
show: false,
},
boundaryGap: true,
data: x,
},
],
yAxis: [
{
type: "value",
min: 0,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#00BFF3",
opacity: 0.23,
type: "dashed",
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#939FB3",
},
},
axisTick: {
show: false,
},
},
],
legend: {
right: 35,
top: 12,
textStyle: {
color: "#fff",
},
itemWidth: 12,
itemHeight: 10,
// itemGap: 35
},
series: [
{
type: "bar",
data: data,
barWidth: "24px",
barCategoryGap: "10%",
itemStyle: {
barBorderRadius: [4, 4, 0, 0],
color: "#6EBBFF",
},
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
},
getXyrnlfb() {
var self = this;
let nlData = [];
let lineData1 = [];
let lineData2 = [];
EsNldQuery({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
}).then((res) => {
if (res.code == 200) {
if (res.code == 200) {
res.data.rows.forEach((item) => {
nlData.push(item.name);
lineData1.push(item.manNum);
lineData2.push(item.womenNum);
});
}
self.getEsNldQuery(lineData1, lineData2, nlData);
}
});
},
getEsNldQuery(data1, data2, nlData) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(this.$refs.xyrnlfb);
myChart.setOption({
title: {
text: "五类案件嫌疑人年龄段性别分布",
textStyle: {
color: "#333",
fontWeight: 800,
fontSize: 16,
},
left: 50,
},
tooltip: {
trigger: "axis",
axisPointer: {
lineStyle: {
color: {
type: "linear",
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(0, 255, 233,0)",
},
{
offset: 0.5,
color: "rgba(255, 255, 255,1)",
},
{
offset: 1,
color: "rgba(0, 255, 233,0)",
},
],
global: false,
},
},
},
},
legend: {
right: 85,
top: 3,
textStyle: {
color: "#666666",
},
itemWidth: 12,
itemHeight: 10,
itemWidth: 14,
itemGap: 17,
},
grid: {
top: "20%",
left: "8%",
right: "10%",
bottom: "15%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
},
axisLabel: {
color: "#666",
width: 100,
},
splitLine: {
show: false,
},
boundaryGap: true,
data: nlData,
},
],
yAxis: [
{
type: "value",
min: 0,
// max: 140,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#00BFF3",
opacity: 0.23,
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#939FB3",
},
},
axisTick: {
show: false,
},
},
],
series: [
{
name: "男性",
type: "line",
showAllSymbol: true,
symbol: "circle",
symbolSize: 10,
lineStyle: {
normal: {
color: "#28DBF1",
},
},
label: {
show: true,
position: "top",
textStyle: {
color: "#28DBF1",
},
},
itemStyle: {
color: "#28DBF1",
// borderColor: "#000",
// borderWidth: 3,
},
data: data1, //data.values
},
{
name: "女性",
type: "line",
showAllSymbol: true,
symbol: "circle",
symbolSize: 10,
lineStyle: {
normal: {
color: "#EAC42E",
},
},
label: {
show: true,
position: "top",
textStyle: {
color: "#EAC42E",
},
},
itemStyle: {
color: "#EAC42E",
// borderColor: "#EAC42E",
// borderWidth: 2,
},
data: data2, //data.values
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
},
getXyrhjfb() {
var self = this;
let highRiskX = [];
let highRiskData = [];
EshjfbQuery({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
}).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
highRiskX.push(item.name);
highRiskData.push(item.num);
});
self.getEshjfbQuery(highRiskX, highRiskData);
}
});
},
getEshjfbQuery(x, data) {
let myChart = this.$echarts.init(this.$refs.xyrhjfb);
myChart.setOption({
title: {
text: "辖区各地发案情况",
text: "五类案件嫌疑人户籍地分布",
textStyle: {
color: "#333",
fontWeight: 800,
fontSize: 16,
},
left: 30,
left: 50,
},
tooltip: {
trigger: "axis",
......@@ -177,10 +1478,10 @@ export default {
},
},
grid: {
// top: "30%",
// left: "15%",
// right: "10%",
// bottom: "20%",
top: "20%",
left: "8%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
......@@ -191,9 +1492,8 @@ export default {
color: "#A582EA",
},
axisLabel: {
color: "#B0BAD3",
color: "#666",
width: 100,
rotate: rotate,
},
splitLine: {
show: false,
......@@ -257,17 +1557,214 @@ export default {
myChart.resize();
});
},
getXyrdazt() {
var self = this;
EszhqkQuery({
asjfsddXzqhdm: this.formData.asjfsddXzqhdm,
asjfssjAsjfskssjStart: this.formData.fasjStart,
asjfssjAsjfskssjEnd: this.formData.fasjEnd,
}).then((res) => {
if (res.code == 200) {
let dataZy = [];
res.data.rows.forEach((item) => {
dataZy.push({ name: item.name, value: item.num });
});
self.setEszhqkQuery(dataZy);
}
});
},
setEszhqkQuery(data) {
//颜色组
const colorList = [
"#FDB36A",
"#58D5FF",
"#9E87FF",
"#73ACFF",
"#FDD56A",
"#FDB36A",
"#FD866A",
];
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(this.$refs.xyrdazt);
myChart.setOption({
title: {
text: "五类案件嫌疑人抓获情况",
textStyle: {
color: "#333333",
fontWeight: 800,
fontSize: 16,
},
left: 50,
},
tooltip: {
trigger: "item",
},
legend: {
type: "plain",
orient: "vertical",
top: "30%",
right: "53%",
itemWidth: 14,
itemGap: 17,
formatter: function (params) {
let num;
if (data.length > 0) {
num = data.find((i) => params == i.name);
}
return `${params}\xa0\xa0\xa0\xa0${num.value}`;
},
textStyle: {
color: "#B0BAD3",
},
},
series: [
{
type: "pie",
center: ["20%", "center"],
radius: ["35%", "50%"],
minAngle: 10,
avoidLabelOverlap: true,
hoverOffset: 15,
itemStyle: {
color: (params) => {
return colorList[params.dataIndex];
},
},
label: {
show: true,
position: "outer",
alignTo: "labelLine",
// ·圆点
backgroundColor: "auto", //圆点颜色,auto:映射的系列色
height: 0,
width: 0,
lineHeight: 0,
// height,width.lineHeight必须为0
distanceToLabelLine: 0, //圆点到labelline距离
borderRadius: 2.5,
padding: [2.5, -2.5, 2.5, -2.5],
/*radius和padding为圆点大小,圆点半径为几radius和padding各项数值就为几
如:圆点半径为1
borderRadius: 1,
padding: [1, -1, 1, -1]
*/
formatter: "{a|{b}:}{b|{d}%}",
rich: {
a: {
padding: [0, 0, 0, 10],
},
b: {
padding: [0, 10, 0, 0],
},
},
},
data: data,
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
},
},
created() {
this.formData.fasjStart = this.formatStartDate(new Date());
this.formData.fasjEnd = this.formatDate(new Date());
},
mounted() {
// this.getXqgdfaqk(this.xqgdafqkX, this.xqgdafqkData, 0);
var self = this;
this.loading = this.$loading({
lock: true,
text: "正在查询...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
this.propQueryField.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
let unitcode = JSON.parse(
sessionStorage.getItem("userInfo")
).unitcode.slice(0, 6);
let arr1 = res.data.data.rows.filter(
(item) => item.id.slice(0, 2) == unitcode.slice(0, 2)
);
let arr2 = arr1[0].children.filter(
(item) => item.id.slice(0, 4) == unitcode.slice(0, 4)
);
let arr3 = arr2[0].children.filter(
(item) => item.id.slice(0, 6) == unitcode
);
let arr4 =
unitcode == "010000"
? res.data.data.rows
: arr2.length > 0
? arr1
: arr3.length > 0
? arr2
: arr3;
if (arr4.length > 0) {
self.$set(val, "codeOptions", arr4);
}
})
.catch((err) => {
console.log(err);
});
}
}
});
this.getJqzs();
this.getGxqPa();
this.getGxFa();
this.getXyrnlfb();
this.getXyrhjfb();
this.getXyrdazt();
this.getZalbTj();
this.getZalbTjs();
},
};
</script>
<style>
<style lang="scss">
#ypbg .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 160px;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
#ypbg .dt_menu {
.el-steps--vertical {
cursor: pointer;
}
.el-step__icon.is-text {
border: none;
}
.el-step__icon-inner {
width: 6px;
height: 6px;
background: #dddddd;
color: transparent;
border-radius: 50%;
}
.el-step__line {
background-color: #eaeaea;
}
.el-step__icon {
height: 16px;
}
.el-step__head {
top: 4px;
}
}
</style>
<style lang="scss" scoped>
#ypbg {
......@@ -296,6 +1793,7 @@ export default {
display: flex;
flex-direction: column;
height: auto;
margin-bottom: 68px;
.btn {
width: 108px;
height: 36px;
......@@ -384,5 +1882,69 @@ export default {
.bj {
padding: 24px 36px 32px 36px;
}
.dt_menu {
width: 200px;
height: 400px;
border-radius: 4px;
position: fixed;
margin-left: 1120px;
margin-top: 200px;
z-index: 99;
.menu_item {
width: 180px;
height: 36px;
padding-left: 24px;
opacity: 1;
line-height: 36px;
}
.menu_active {
background: linear-gradient(90deg, #3670ff 0%, rgba(27, 56, 128, 0) 100%);
height: 36px;
opacity: 1;
line-height: 36px;
width: 160px;
color: #3670ff;
display: flex;
}
.left_active {
width: 4px;
height: 36px;
background: #3670ff;
opacity: 1;
margin-right: 20px;
}
}
.activeColor {
color: #3670ff;
font-size: 14px;
}
.activeColor1 {
color: #666;
font-size: 14px;
padding-left: 16px;
}
.activeColor2 {
color: #333;
font-size: 14px;
}
.activeColor3 {
color: #3670ff;
padding-left: 16px;
font-size: 14px;
}
.upclass {
color: #ef4c4c;
padding-left: 5px;
}
.downclass {
color: #35ca1e;
padding-left: 5px;
}
}
</style>
\ No newline at end of file
......@@ -183,12 +183,12 @@ export default {
{
label: '案件名称',
prop: 'ajmc',
width: '80'
width: '150'
},
{
label: '案发地点',
prop: 'asjfsddDzmc',
width: '80'
width: '280'
},
{
label: '损失总价值',
......
......@@ -58,12 +58,20 @@ module.exports = {
},
proxy: {
"/api": {
target: "http://26.3.13.184:8762/", //案件标注
target: "http://47.92.225.109:8762/", //案件标注 http://26.3.13.184:8762/
ws: true,
changeOrigin: true,
pathRewrite: {
'^/api': '/'
}
},
"/api2": {
target: "http://26.3.13.120:8088/", //案件标注
ws: true,
changeOrigin: true,
pathRewrite: {
'^/api2': '/'
}
}
},
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment