Commit ee06aa8d by gao_yingdong

人员档案, 车辆档案研判报告

parent ea9910e6
......@@ -23,7 +23,7 @@
{{ tableName }}{{ dataLength }}
</div>
<el-button
v-if="zdygxPage != 'zdygx'"
v-if="zdygxPage != 'zdygx' && zdygxPage != 'daypbg'"
plain
class="export"
size="small"
......@@ -36,7 +36,7 @@
>导出</el-button
>
<el-button
v-if="zdygxPage == 'zdygx'"
v-if="zdygxPage == 'zdygx' || zdygxPage == 'daypbg'"
plain
class="export"
size="small"
......@@ -108,13 +108,22 @@
</template>
</el-table-column>
<el-table-column
v-if="zdygxPage == 'zdygx' || cxType == 'lsjsr'"
v-if="
zdygxPage == 'zdygx' || cxType == 'lsjsr' || zdygxPage == 'daypbg'
"
width="150"
align="center"
label="操作"
>
<template slot-scope="scope">
<span
v-if="zdygxPage == 'daypbg'"
style="color: #0070f4;margin-right: 10px"
@click="details(scope)"
>
查看详情
</span>
<span
style="color: #0070f4; margin-right: 10px"
@click="eadit(scope)"
>
......@@ -202,6 +211,9 @@ export default {
eadit(scope) {
this.$emit("eadit", scope);
},
details(scope) {
this.$emit("details", scope);
},
orderBy(column) {
let self = this,
key = "",
......
......@@ -700,6 +700,22 @@ export default [
title: "取证"
}
},
{
path: "dswtz",
name: "dswtz",
component: () => import("@/views/ryda/dswtz.vue"),
meta: {
title: "多生物特征"
}
},
{
path: "ypbg",
name: "ypbg",
component: () => import("@/views/ryda/ypbg.vue"),
meta: {
title: "研判报告"
}
},
]
},
{
......
......@@ -16360,27 +16360,39 @@ let rydaPropLeftMenu = [
{
id: 'ryClCz',
label: '车辆/船只',
index: '7',
index: '6',
className: ''
},
{
id: 'ryDhZd',
label: '电话/终端',
index: '8',
index: '7',
className: ''
},
{
id: 'ryJstx',
label: '即时通讯',
index: '9',
index: '8',
className: ''
},
{
id: 'ryHlw',
label: '互联网',
index: '9',
className: ''
},
{
id: 'dswtz',
label: '多生特征',
index: '10',
className: ''
}
},
{
id: 'ypbg',
label: '研判报告',
index: '11',
className: ''
},
/*{
id: "ryQz",
label: "取证",
......
<template>
<div class="ryDj">
<div class="con">
<div class="right">
<div class="con-wrap">
<table-component
ref="zsRef"
:DefaultAjFormThead="sjhFormThead"
:propQueryData="sjhQueryData"
:cxUrl="sjhCxUrl"
:tableName="sjhTableName"
:zdygxPage="zdygxPage"
@addCenter="addCenter"
@eadit="eadit"
@deleteTp="deleteTp"
@details="details"
></table-component>
</div>
</div>
</div>
<el-dialog title="研判报告" :visible.sync="wpXXDialogShow" width="30%">
<div style="margin: 20px 40px">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="报告标题:" prop="ypbgbt">
<el-input v-model="ruleForm.ypbgbt"></el-input>
</el-form-item>
<el-form-item label="报告内容:">
<el-input type="textarea" v-model="ruleForm.ypbgnr"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
>保存</el-button
>
</el-form-item>
</el-form>
</div>
</el-dialog>
<el-dialog
title="研判报告详情"
:visible.sync="wpXXDialogShowXq"
width="20%"
>
<div style="padding: 20px 40px">
<div
style="line-height: 31px"
v-for="(item, index) in xqList"
:key="index"
>
<span style="margin-right: 10px"> {{ item.name }}: </span>
<span style="color: #bab7b7">{{ xqObcjt[item.id] }}</span>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import tableComponent from "@c/qxda_compontents.vue";
import request from "@/utils/axiosHttp.js";
import url from "@/api/base";
export default {
components: {
tableComponent,
},
name: "ypbg",
data() {
return {
xqObcjt: {},
wpXXDialogShowXq: false,
xxzjbh: "",
xqList: [
{
name: "报告标题",
id: "ypbgbt",
},
{
name: "登记人",
id: "xxdjryXm",
},
{
name: "登记人电话",
id: "xxdjryLxdh",
},
{
name: "登记单位",
id: "xxdjdwGajgmc",
},
{
name: "登记时间",
id: "djsj",
},
{
name: "报告内容",
id: "ypbgnr",
},
],
ruleForm: {
ypbgbt: "",
ypbgnr: "",
ypbglx: "02",
glhm: sessionStorage.getItem("zjhm"),
},
rules: {
ypbgbt: [
{ required: true, message: "请输入研判报告标题", trigger: "blur" },
],
},
wpXXDialogShow: false,
zdygxPage: "daypbg",
sjhFormThead: [
{
label: "研判报告标题",
prop: "ypbgbt",
},
{
label: "研判报告内容",
prop: "ypbgnr",
},
{
label: "登记人",
prop: "xxdjryXm",
},
{
label: "登记人电话",
prop: "xxdjryLxdh",
},
{
label: "登记单位",
prop: "xxdjdwGajgmc",
},
{
label: "登记时间",
prop: "djsj",
},
],
sjhQueryData: {
ypbglx: "02",
glhm: sessionStorage.getItem("zjhm"),
page: 1,
limit: 5,
},
sjhCxUrl: "/daCommon/getYpbgList",
sjhTableName: "档案研判报告",
};
},
watch: {},
methods: {
// 报告保存
postSaveYpbg(form) {
return request({
url: url.rzURL + "/daCommon/saveYpbg",
data: JSON.parse(form),
method: "POST",
});
},
// 报告详情
postSgetYpbhByXxzjbh(form) {
return request({
url: url.rzURL + "/daCommon/getYpbhByXxzjbh",
data: JSON.parse(form),
method: "POST",
});
},
// 报告删除
postSdeleteYpbgByXxzjbh(form) {
return request({
url: url.rzURL + "/daCommon/deleteYpbgByXxzjbh",
data: JSON.parse(form),
method: "POST",
});
},
addCenter() {
this.wpXXDialogShow = true;
},
submitForm(formName) {
var self = this;
this.$refs[formName].validate((valid) => {
if (valid) {
if (self.xxzjbh) {
self.eaditSubmit();
} else {
self.addSubmit();
}
} else {
self.$message({
type: "warning",
message: "请填写必填项",
});
}
});
},
eaditSubmit() {
let self = this;
let json = {};
for (let i in self.ruleForm) {
json[i] = self.ruleForm[i];
}
json["xxzjbh"] = self.xxzjbh;
self.postSaveYpbg(JSON.stringify(json)).then((res) => {
if (res.success == true) {
self.$message({
type: "success",
message: "保存成功",
});
// this.$refs[self.formName].resetFields();
self.ruleForm.ypbgbt = "";
self.ruleForm.ypbgnr = "";
self.xxzjbh = "";
this.wpXXDialogShow = false;
this.$refs.zsRef.doQuery("yes");
} else {
self.$message({
type: "error",
message: "保存失败",
});
}
});
},
addSubmit() {
let self = this;
let json = {};
for (let i in self.ruleForm) {
json[i] = self.ruleForm[i];
}
self.postSaveYpbg(JSON.stringify(json)).then((res) => {
if (res.success == true) {
self.$message({
type: "success",
message: "保存成功",
});
// this.$refs[self.formName].resetFields();
self.ruleForm.ypbgbt = "";
self.ruleForm.ypbgnr = "";
this.wpXXDialogShow = false;
this.$refs.zsRef.doQuery("yes");
} else {
self.$message({
type: "error",
message: "保存失败",
});
}
});
},
// 修改
eadit(scope) {
this.xxzjbh = scope.row.xxzjbh;
let json = {};
json["xxzjbh"] = scope.row.xxzjbh;
this.postSgetYpbhByXxzjbh(JSON.stringify(json)).then((res) => {
if (res.success == true) {
this.ruleForm.ypbgbt = res.data.ypbh.ypbgbt;
this.ruleForm.ypbgnr = res.data.ypbh.ypbgnr;
this.wpXXDialogShow = true;
}
});
},
// 删除
deleteTp(scope) {
debugger;
let self = this;
let json = {};
json["xxzjbh"] = scope.row.xxzjbh;
this.$confirm("此操作将删除此报告, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
self.postSdeleteYpbgByXxzjbh(JSON.stringify(json)).then((res) => {
if (res.success === true) {
self.$message({
type: "success",
message: "删除成功",
});
self.$refs.zsRef.doQuery("yes");
} else {
self.$message({
type: "error",
message: "删除失败",
});
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
// 详情
details(scope) {
this.wpXXDialogShowXq = true;
let json = {};
json["xxzjbh"] = scope.row.xxzjbh;
this.postSgetYpbhByXxzjbh(JSON.stringify(json)).then((res) => {
if (res.success == true) {
this.xqObcjt = res.data.ypbh;
}
});
},
},
};
</script>
<style scoped lang="scss">
@import "@/assets/styles/ryfwdwdz.scss";
button.el-button.el-button--primary {
margin: 0 0 20px 0;
width: 114px;
}
</style>
......@@ -652,6 +652,9 @@
<el-tab-pane label="案事件" name="carAsj">
<car-gjasjxx></car-gjasjxx>
</el-tab-pane>
<el-tab-pane label="车辆研判报告" name="carDaypbg">
<car-daypbg></car-daypbg>
</el-tab-pane>
</el-tabs>
</div>
</template>
......@@ -663,6 +666,7 @@ import SelectTree from "@c/tree_components.vue";
import tableComponent from "@c/qxda_compontents.vue";
import CarDjxx from "./carDa/carDadj.vue";
import CarGjxx from "./carDa/carDagj.vue";
import CarDaypbg from "./carDa/carDaypbg.vue";
import CarGjasjxx from "./carDa/carDaAsj.vue";
import requests from "@/api/interface/dictionaryCode.js";
import errorVue from "../index/error.vue";
......@@ -673,6 +677,7 @@ export default {
CarDjxx,
CarGjxx,
CarGjasjxx,
CarDaypbg,
},
name: "carda",
data() {
......
......@@ -724,18 +724,20 @@
<span class="jjpgWz"> 出行方式 </span>
<!-- <div id="cxfs"></div>
-->
<img
<!-- <img
style="width: 100px; margin-left: 31%"
src="@/assets/img/dangan/961.png"
/>
/> -->
<div style="height: 110px;" id="cxfs"></div>
</div>
<div class="jjpg">
<span class="jjpgWz"> 旅店 </span>
<!-- <div id="cxfs"></div> -->
<img
<div style="height: 110px;" id="ldxx"></div>
<!-- <img
style="width: 100px; margin-left: 31%"
src="@/assets/img/dangan/961.png"
/>
/> -->
</div>
<div class="jjpg">
<span class="jjpgWz"> 资产 </span>
......@@ -743,6 +745,7 @@
style="width: 100px; margin-left: 31%"
src="@/assets/img/dangan/961.png"
/>
</div>
<div class="jjpg">
......@@ -1311,7 +1314,8 @@ export default {
sessionStorage.setItem("zjhm", this.$route.query["zjhm"]);
}
this.getRyxx();
this.postgetJjpgLwxxList();
this.postgetJjpgCxfsList();
this.showSeeksGraph();
this.initMap();
self.propQueryField.forEach((val) => {
......@@ -1848,6 +1852,234 @@ export default {
method: "POST",
});
},
// 1经济评估-旅店信息
postgetJjpgLwxx(form) {
return request({
url: url.rzURL + "/newRyda/getJjpgLwxx",
data: JSON.parse(form),
method: "POST",
});
},
// 1经济评估-出行信息
postgetJjpgCxfs(form) {
return request({
url: url.rzURL + "/newRyda/getJjpgCxfs",
data: JSON.parse(form),
method: "POST",
});
},
// 1经济评估-旅店信息
postgetJjpgLwxxList() {
let json = {};
json["objectValue"] = sessionStorage.getItem("zjhm");
json["cxSj"] = "";
this.postgetJjpgLwxx(JSON.stringify(json)).then((res) => {
if (res.success == true) {
let pieD = [];
pieD.push(
{
name: "旅店次数",
value: res.data.ldCount,
},
{
name: "旅租次数",
value: res.data.lzCount,
}
);
this.startMyEcharts(pieD)
}
});
},
startMyEcharts(pieD) {
var self = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("ldxx"));
myChart.setOption({
title: {
text: "",
// padding: [20, 24],
textStyle: {
color: "#333333",
fontSize: 16,
fontWeight: "bold",
},
},
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b}: {c} ({d}%)",
},
// legend: {
// orient: "vertical",
// left: "65%", //图例距离左的距离
// y: "0%", //图例上下居中
// },
series: [
{
name: "",
type: "pie",
radius: ["0", "60%"],
center: ["51%", "55%"],
//avoidLabelOverlap => 避免标签重叠
avoidLabelOverlap: true,
// label: {
// show: false,
// position: "center"
// },
emphasis: {
label: {
show: true,
fontSize: "16",
fontWeight: "bold",
},
},
label: {
/*数据为0不显示*/
formatter: function (item) {
if (item.value > 0) {
return (
item.name.slice(0, 6) +
" : " +
item.value +
"个 "
// +
// "占比:" +
// item.percent +
// "%"
);
} else {
return "";
}
},
labelLine: {
lineStyle: {
color: "rgba(255, 255, 255, 0.3)",
margin: "5px",
},
smooth: 0.2,
length: 50,
},
},
data: pieD,
},
],
});
window.onresize = () => {
return (() => {
myChart.resize();
})();
};
},
// 出行信息
postgetJjpgCxfsList() {
let json = {};
json["objectValue"] = sessionStorage.getItem("zjhm");
json["cxSj"] = "";
this.postgetJjpgCxfs(JSON.stringify(json)).then((res) => {
if (res.success == true) {
let pieD = [];
pieD.push(
{
name: "航班次数",
value: res.data.hbCount,
},
{
name: "铁路次数",
value: res.data.tlCount,
},
{
name: "客运次数",
value: res.data.kyCount,
},
{
name: "港口次数",
value: res.data.gkCount,
}
);
this.startMyEchartsCx(pieD)
}
});
},
startMyEchartsCx(pieD) {
var self = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("cxfs"));
myChart.setOption({
title: {
text: "",
// padding: [20, 24],
textStyle: {
color: "#333333",
fontSize: 16,
fontWeight: "bold",
},
},
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b}: {c} ({d}%)",
},
// legend: {
// orient: "vertical",
// left: "65%", //图例距离左的距离
// y: "0%", //图例上下居中
// },
series: [
{
name: "",
type: "pie",
radius: ["0", "60%"],
center: ["51%", "55%"],
//avoidLabelOverlap => 避免标签重叠
avoidLabelOverlap: true,
// label: {
// show: false,
// position: "center"
// },
emphasis: {
label: {
show: true,
fontSize: "16",
fontWeight: "bold",
},
},
label: {
/*数据为0不显示*/
formatter: function (item) {
if (item.value > 0) {
return (
item.name.slice(0, 6) +
" : " +
item.value +
"个 "
// +
// "占比:" +
// item.percent +
// "%"
);
} else {
return "";
}
},
labelLine: {
lineStyle: {
color: "rgba(255, 255, 255, 0.3)",
margin: "5px",
},
smooth: 0.2,
length: 50,
},
},
data: pieD,
},
],
});
window.onresize = () => {
return (() => {
myChart.resize();
})();
};
},
// 上一张图片
szzTp() {
var img = document.getElementById("zp");
......
<template>
<div class="ryDj">
<div class="con">
<div class="right">
<div class="con-wrap">
<table-component
ref="zsRef"
:DefaultAjFormThead="sjhFormThead"
:propQueryData="sjhQueryData"
:cxUrl="sjhCxUrl"
:tableName="sjhTableName"
:zdygxPage="zdygxPage"
@addCenter="addCenter"
@eadit="eadit"
@deleteTp="deleteTp"
@details="details"
></table-component>
</div>
</div>
</div>
<el-dialog title="研判报告" :visible.sync="wpXXDialogShow" width="30%">
<div style="margin: 20px 40px">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="报告标题:" prop="ypbgbt">
<el-input v-model="ruleForm.ypbgbt"></el-input>
</el-form-item>
<el-form-item label="报告内容:">
<el-input type="textarea" v-model="ruleForm.ypbgnr"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
>保存</el-button
>
</el-form-item>
</el-form>
</div>
</el-dialog>
<el-dialog
title="研判报告详情"
:visible.sync="wpXXDialogShowXq"
width="20%"
>
<div style="padding: 20px 40px">
<div
style="line-height: 31px"
v-for="(item, index) in xqList"
:key="index"
>
<span style="margin-right: 10px"> {{ item.name }}: </span>
<span style="color: #bab7b7">{{ xqObcjt[item.id] }}</span>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import tableComponent from "@c/qxda_compontents.vue";
import request from "@/utils/axiosHttp.js";
import url from "@/api/base";
export default {
components: {
tableComponent,
},
name: "ypbg",
data() {
return {
xqObcjt: {},
wpXXDialogShowXq: false,
xxzjbh: "",
xqList: [
{
name: "报告标题",
id: "ypbgbt",
},
{
name: "登记人",
id: "xxdjryXm",
},
{
name: "登记人电话",
id: "xxdjryLxdh",
},
{
name: "登记单位",
id: "xxdjdwGajgmc",
},
{
name: "登记时间",
id: "djsj",
},
{
name: "报告内容",
id: "ypbgnr",
},
],
ruleForm: {
ypbgbt: "",
ypbgnr: "",
ypbglx: "01",
glhm: sessionStorage.getItem("zjhm"),
},
rules: {
ypbgbt: [
{ required: true, message: "请输入研判报告标题", trigger: "blur" },
],
},
wpXXDialogShow: false,
zdygxPage: "daypbg",
sjhFormThead: [
{
label: "研判报告标题",
prop: "ypbgbt",
},
{
label: "研判报告内容",
prop: "ypbgnr",
},
{
label: "登记人",
prop: "xxdjryXm",
},
{
label: "登记人电话",
prop: "xxdjryLxdh",
},
{
label: "登记单位",
prop: "xxdjdwGajgmc",
},
{
label: "登记时间",
prop: "djsj",
},
],
sjhQueryData: {
ypbglx: "01",
glhm: sessionStorage.getItem("zjhm"),
page: 1,
limit: 5,
},
sjhCxUrl: "/daCommon/getYpbgList",
sjhTableName: "档案研判报告",
};
},
watch: {},
methods: {
// 报告保存
postSaveYpbg(form) {
return request({
url: url.rzURL + "/daCommon/saveYpbg",
data: JSON.parse(form),
method: "POST",
});
},
// 报告详情
postSgetYpbhByXxzjbh(form) {
return request({
url: url.rzURL + "/daCommon/getYpbhByXxzjbh",
data: JSON.parse(form),
method: "POST",
});
},
// 报告删除
postSdeleteYpbgByXxzjbh(form) {
return request({
url: url.rzURL + "/daCommon/deleteYpbgByXxzjbh",
data: JSON.parse(form),
method: "POST",
});
},
addCenter() {
this.wpXXDialogShow = true;
},
submitForm(formName) {
var self = this;
this.$refs[formName].validate((valid) => {
if (valid) {
if (self.xxzjbh) {
self.eaditSubmit();
} else {
self.addSubmit();
}
} else {
self.$message({
type: "warning",
message: "请填写必填项",
});
}
});
},
eaditSubmit() {
let self = this;
let json = {};
for (let i in self.ruleForm) {
json[i] = self.ruleForm[i];
}
json["xxzjbh"] = self.xxzjbh;
self.postSaveYpbg(JSON.stringify(json)).then((res) => {
if (res.success == true) {
self.$message({
type: "success",
message: "保存成功",
});
// this.$refs[self.formName].resetFields();
self.ruleForm.ypbgbt = "";
self.ruleForm.ypbgnr = "";
self.xxzjbh = "";
this.wpXXDialogShow = false;
this.$refs.zsRef.doQuery("yes");
} else {
self.$message({
type: "error",
message: "保存失败",
});
}
});
},
addSubmit() {
let self = this;
let json = {};
for (let i in self.ruleForm) {
json[i] = self.ruleForm[i];
}
self.postSaveYpbg(JSON.stringify(json)).then((res) => {
if (res.success == true) {
self.$message({
type: "success",
message: "保存成功",
});
// this.$refs[self.formName].resetFields();
self.ruleForm.ypbgbt = "";
self.ruleForm.ypbgnr = "";
this.wpXXDialogShow = false;
this.$refs.zsRef.doQuery("yes");
} else {
self.$message({
type: "error",
message: "保存失败",
});
}
});
},
// 修改
eadit(scope) {
this.xxzjbh = scope.row.xxzjbh;
let json = {};
json["xxzjbh"] = scope.row.xxzjbh;
this.postSgetYpbhByXxzjbh(JSON.stringify(json)).then((res) => {
if (res.success == true) {
this.ruleForm.ypbgbt = res.data.ypbh.ypbgbt;
this.ruleForm.ypbgnr = res.data.ypbh.ypbgnr;
this.wpXXDialogShow = true;
}
});
},
// 删除
deleteTp(scope) {
debugger;
let self = this;
let json = {};
json["xxzjbh"] = scope.row.xxzjbh;
this.$confirm("此操作将删除此报告, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
self.postSdeleteYpbgByXxzjbh(JSON.stringify(json)).then((res) => {
if (res.success === true) {
self.$message({
type: "success",
message: "删除成功",
});
self.$refs.zsRef.doQuery("yes");
} else {
self.$message({
type: "error",
message: "删除失败",
});
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
// 详情
details(scope) {
this.wpXXDialogShowXq = true;
let json = {};
json["xxzjbh"] = scope.row.xxzjbh;
this.postSgetYpbhByXxzjbh(JSON.stringify(json)).then((res) => {
if (res.success == true) {
this.xqObcjt = res.data.ypbh;
}
});
},
},
};
</script>
<style scoped lang="scss">
@import "../../assets/styles/ryfwdwdz.scss";
button.el-button.el-button--primary {
margin: 0 0 20px 0;
width: 114px;
}
</style>
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