Commit 6a54f83e by xue_wengang

在逃人员核酸检测

parent 78cdd5f8
......@@ -22,4 +22,18 @@ export const queryZtryJbxx = params =>
// 查询人员详情 *健康码扫码*
export const querySmxqByZjhm = params =>
post(`${base.alyIP}/ztry/jkm/querySmxqByZjhm`, params);
\ No newline at end of file
post(`${base.alyIP}/ztry/jkm/querySmxqByZjhm`, params);
// 查询人员详情 *核酸检测*
export const queryZtryJbxxHsjc = params =>
post(`${base.alyIP}/ztry/hsjc/queryZtryJbxx`, params);
// 查询人员详情 *核酸检测*
export const queryHsjcxqByZjhm = params =>
post(`${base.alyIP}/ztry/hsjc/queryHsjcxqByZjhm`, params);
// 查询人员详情 *导出*
export const dcList = params =>
post(`${base.alyIP}/ztry/hsjc/dcList`, params);
\ No newline at end of file
......@@ -31,11 +31,20 @@ const menuLayouts = [
path: "/queryZtryJkm",
name: "queryZtryJkm",
meta: {
title: '在逃人员预警',
title: '在逃人员场所码预警',
auth: '5'
},
component: () => import("@/views/dxwlzp/queryZtryJkm.vue")
},
{
path: "/queryZtryHsjc",
name: "queryZtryHsjc",
meta: {
title: '在逃人员核酸检测预警',
auth: '5'
},
component: () => import("@/views/dxwlzp/queryZtryHsjc.vue")
},
];
export default [{
......@@ -56,9 +65,19 @@ export default [{
path: "/detailsZtryJkm",
name: "detailsZtryJkm",
meta: {
title: '在逃人员预警详情',
title: '在逃人员场所码详情',
auth: '5'
},
component: () => import("@/views/dxwlzp/detailsZtryJkm.vue")
},
];
\ No newline at end of file
{
path: "/detailsZtryHsjc",
name: "detailsZtryHsjc",
meta: {
title: '在逃人员场核酸检测详情',
auth: '5'
},
component: () => import("@/views/dxwlzp/detailsZtryHsjc.vue")
},
];
<template>
<div class="Content">
<!-- 标题内容 -->
<div class="titleContent">
<span> {{ heaterTitle }}</span>
</div>
<!-- 中心内容 -->
<div class="coreContent">
<!-- 查询详情 -->
<div class="cxjgContent">
<div class="zxnr">
<!-- 图片 -->
<div class="imgContent">
<el-image
v-if="pageObejct.edzzplj"
class="new-image"
:preview-src-list="[
'data:image/gif;base64,' + pageObejct.edzzplj,
]"
:src="'data:image/gif;base64,' + pageObejct.edzzplj"
lazy
></el-image>
<el-image v-else class="new-image" :src="zwsj"></el-image>
</div>
<!-- 信息 -->
<div class="xxContent">
<div
class="xxNr"
v-for="(item, index) in QueryField"
:key="index"
:class="item.col == 3 ? 'col3' : 'col1'"
>
<span class="label">{{ item.label }}</span>
<span class="prop">{{ pageObejct[item.prop] || "-" }}</span>
</div>
</div>
</div>
</div>
<!-- 表格 -->
<div class="tableContent">
<div class="topContent">
<span class="wzTitleContent"
>发现轨迹列表
<span class="zkSq" @click="showGlga">
{{ thglgaxxShow ? "收起" : "展开" }}
</span>
<span class="wzNr">
<span class="wzTz">
{{ tableDataLengthDb }}
</span></span
>
</span>
</div>
<div style="padding: 20px" v-if="thglgaxxShow">
<el-table
ref="multipleTable"
:data="gridDataDb"
v-loading="tableLoadingDb"
element-loading-text="拼命加载中"
center
border
style="width: 100%"
>
<el-table-column
v-for="(item, index) in dbList"
:key="index"
:label="item.label"
:prop="item.prop"
:width="item.width"
align="center"
>
<template slot-scope="scope">
<div>
<span v-html="scope.row[item.prop]"></span>
</div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@size-change="handleSizeChangeDb"
@current-change="handleCurrentChangeDb"
:current-page.sync="currentPagDb"
:page-sizes="[5, 10, 20, 50]"
:page-size="page_sizeDb"
layout="sizes,prev, pager, next"
:total="tableDataLengthDb"
>
</el-pagination>
</div>
</div>
</div>
</div>
</template>
<script>
import { queryZtryJbxxHsjc, queryHsjcxqByZjhm } from "@/api/dzry/dzry.js";
import zwsj from "@/assets/img/961.png";
export default {
components: {},
data() {
return {
heaterTitle: "在逃人员详情",
zwsj: zwsj,
formData: {
zjhm: "",
},
zwsjShow: false,
pageObejct: {},
// 人员信息
QueryField: [
{
label: "姓名:",
prop: "xm",
col: "3",
},
{
label: "曾用名:",
prop: "cym",
col: "3",
},
{
label: "性别:",
prop: "xbdmStr",
col: "3",
},
{
label: "证件号码:",
prop: "zjhm",
col: "3",
},
{
label: "出生日期:",
prop: "csrqQsrq",
col: "3",
},
{
label: "民族:",
prop: "mzdmStr",
col: "3",
},
{
label: "籍贯:",
prop: "jgssxdmStr",
col: "3",
},
{
label: "户籍地:",
prop: "hjdzXzqhdmStr",
col: "1",
},
{
label: "住址:",
prop: "xzzDzmc",
col: "1",
},
],
thglgaxxShow: false,
tableDataLengthDb: 0,
gridDataDb: [],
tableLoadingDb: false,
dbList: [
{
label: "详细地址",
prop: "addressDetail",
width: "300",
},
{
label: "采集城市",
prop: "cityName",
width: "300",
},
{
label: "检测点名称",
prop: "checkPointName",
width: "300",
},
{
label: "采集点名称",
prop: "collectionPointName",
width: "300",
},
{
label: "采集时间",
prop: "collectionTime",
width: "200",
},
{
label: "检测时间",
prop: "checkResultTime",
width: "230",
},
{
label: "检测结果",
prop: "checkResult",
width: "220",
},
],
page_sizeDb: 5,
currentPagDb: 1,
};
},
created() {
this.formData.zjhm = this.$route.query.zjhm;
this.getQgryckxxList();
this.querySmxqByZjhmList();
},
methods: {
querySmxqByZjhmList() {
this.tableLoadingDb = true;
queryHsjcxqByZjhm({
zjhm: this.formData.zjhm,
page: this.currentPagDb,
limit: this.page_sizeDb,
}).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
item.dzxx = item.city + item.street + item.detailAddress;
if (item.city1 != item.area) {
item.smdd = item.city1 + item.area;
} else if (item.city1 == item.area) {
item.smdd = item.city1;
}
});
this.gridDataDb = res.data.rows;
this.tableDataLengthDb = res.data.total;
this.tableLoadingDb = false;
}
});
},
getQgryckxxList() {
let loading = this.$loading({
lock: true,
text: "正在查询...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
queryZtryJbxxHsjc(this.formData).then((res) => {
if (res.code == 200) {
debugger;
this.pageObejct = res.data.ryxx;
loading.close();
}
});
},
showGlga() {
this.thglgaxxShow = !this.thglgaxxShow;
},
handleSizeChangeDb(val) {
this.page_sizeDb = val;
this.querySmxqByZjhmList();
},
handleCurrentChangeDb(val) {
this.currentPagDb = val;
this.querySmxqByZjhmList();
},
},
};
</script>
<style lang='scss' scoped>
.Content {
.titleContent {
height: 48px;
background: #0061f7;
font-size: 18px;
font-weight: bold;
line-height: 48px;
color: #ffffff;
padding: 0 40px;
}
.coreContent {
// background: red;
width: 1200px;
margin: 20px auto;
.cxjgContent {
background: #ffffff;
border-radius: 8px;
margin-top: 20px;
.zxnr {
padding: 30px 40px;
display: flex;
.imgContent {
margin-left: 50px;
width: 180px;
height: 230px;
.el-image {
width: 180px;
height: 230px;
// border: 1px solid;
}
}
.xxContent {
// background: rgba(248, 0, 0, 0.384);
width: calc(100% - 180px);
margin-left: 20px;
display: flex;
flex-wrap: wrap;
.xxNr {
.label {
display: inline-block;
width: 100px;
text-align: right;
font-size: 14px;
font-weight: 500;
color: #ff9300;
vertical-align: middle;
}
.prop {
font-size: 14px;
color: #333;
display: inline-block;
width: calc(100% - 111px);
vertical-align: middle;
padding: 0 0 0 10px;
}
}
.col3 {
width: 50%;
}
.col1 {
width: 100%;
}
}
}
.zxnrZwsj {
.zxnrZwsjImg {
text-align: center;
.el-image {
width: 213px;
height: 230px;
padding: 20px;
}
}
}
}
}
.tableContent {
background: #ffffff;
border-radius: 8px;
margin-top: 20px;
.topContent {
padding: 13px 20px;
border-bottom: 1px solid #e4e4e4;
.wzTitleContent {
font-size: 18px;
font-family: Source Han Sans CN;
font-weight: 600;
color: #363636;
}
.zkSq {
float: right;
font-weight: 200;
font-size: 16px;
cursor: pointer;
}
.wzNr {
display: inline-block;
line-height: 20px;
// width: 20px;
text-align: center;
background: #fd9800;
color: #fff;
font-size: 14px;
border-radius: 20px;
position: relative;
top: -9px;
left: -8px;
.wzTz {
padding: 10px;
}
}
}
}
}
</style>
\ No newline at end of file
......@@ -101,7 +101,7 @@ export default {
components: {},
data() {
return {
heaterTitle: "在逃人员预警详情",
heaterTitle: "在逃人员详情",
zwsj: zwsj,
formData: {
zjhm: "",
......
<template>
<div class="Content">
<right-content
:pageBs="pageBs"
:header="header"
:cxFormData="cxFormData"
:cxDefaultFormThead="cxDefaultFormThead"
:cxQueryField="cxQueryField"
:cxUrl="cxUrl"
@toInfor="toInfor"
@bqDetail="bqDetail"
>
<template #btnGroup="scope">
<span class="hbyp" @click="goXdzl(scope.scope)">下达指令</span>
</template>
<template #listOperation="scope">
<span class="hbyps" @click="addDc(scope.scope)">导出</span>
</template>
</right-content>
</div>
</template>
<script>
import rightContent from "@c/ptCxForm_components.vue";
import secret from "@/utils/secret";
import { get, post, postform } from "@/utils/http.js";
export default {
name: "queryZtryJkm",
components: {
rightContent,
},
data() {
return {
header: "在逃人员核酸检测预警 ",
pageBs: "queryZtryJkm",
cxFormData: {
zjhm: "",
ztrybh: "",
asjbh: "",
xm: "",
limit: 10,
page: 1,
tpsjStart: "",
tpsjEnd: "",
checkResultTimeStart: "",
checkResultTimeEnd: "",
cityInfoId: "",
collectionTimeStart: "",
collectionTimeEnd: "",
},
cxQueryField: [
{
name: "在逃人员编号",
id: "ztrybh",
type: "text",
value: "",
placeholder: "",
col: "3",
},
{
name: "案件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "",
col: "3",
},
{
name: "姓名",
id: "xm",
type: "text",
value: "",
placeholder: "",
col: "3",
},
{
name: "证件号码",
id: "zjhm",
type: "text",
value: "",
placeholder: "",
col: "3",
},
{
name: "逃跑时间",
id: "tpsjStart",
id2: "tpsjEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "检测时间",
id: "checkResultTimeStart",
id2: "checkResultTimeEnd",
type: "zdyDate",
value: "",
col: "3",
},
{
name: "行政区划",
id: "cityInfoId",
type: "text",
value: "",
placeholder: "",
col: "3",
},
{
name: "采集时间",
id: "collectionTimeStart",
id2: "collectionTimeEnd",
type: "zdyDate",
value: "",
col: "3",
},
],
cxDefaultFormThead: [
{
label: "在逃人员编号",
prop: "ztryForm",
width: "200",
},
{
label: "姓名",
prop: "xm",
},
{
label: "证件号码",
prop: "zjhm",
},
{
label: "逃跑时间",
prop: "tpsj",
},
{
label: "案件编号",
prop: "asjbhArr",
width: "400",
},
{
label: "现住址地址",
prop: "xzzDzmc",
},
{
label: "户籍地址",
prop: "hjdzDzmc",
},
{
label: "联系电话",
prop: "phoneNum",
},
{
label: "采集城市",
prop: "cityName",
},
{
label: "采集地点",
prop: "addressDetail",
width: "280",
},
{
label: "采集时间",
prop: "collectionTime",
},
{
label: "检测时间",
prop: "checkResultTime",
},
{
label: "发现轨迹数",
toInfor: true,
prop: "fxgjs",
},
],
cxUrl: "/ztry/hsjc/queryList",
Menu: [
{
id: "queryZtryHsjc",
label: "在逃人员核酸检测预警 ",
index: "queryZtryHsjc",
auth: "M0101",
className: "iconfont iconrizhi",
disabled: false,
},
],
};
},
created() {
this.$store.commit("user/SET_Menu", this.Menu);
},
methods: {
//导出
addDc() {
var self = this;
this.$confirm("最多导出50条数据", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
let tHeader = [];
let filterVal = [];
let header = "在逃人员核酸检测预警";
let params = {
unitcode: this.cxFormData.unitcode,
kssj: this.cxFormData.kssj,
jssj: this.cxFormData.jssj,
zjhm: this.cxFormData.zjhm,
ztrybh: this.cxFormData.ztrybh,
asjbh: this.cxFormData.asjbh,
xm: this.cxFormData.xm,
limit: 50,
page: 1,
tpsjStart: this.cxFormData.tpsjStart,
tpsjEnd: this.cxFormData.tpsjEnd,
checkResultTimeStart: this.cxFormData.checkResultTimeStart,
checkResultTimeEnd: this.cxFormData.checkResultTimeEnd,
cityInfoId: this.cxFormData.cityInfoId,
collectionTimeStart: this.cxFormData.collectionTimeStart,
collectionTimeEnd: this.cxFormData.collectionTimeEnd,
};
this.cxDefaultFormThead.forEach((val) => {
tHeader.push(val.label);
if (val.prop == "ztryForm") {
filterVal.push("ztrybh");
} else if (val.prop == "asjbhArr") {
filterVal.push("asjbh");
} else {
filterVal.push(val.prop);
}
});
let loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
debugger;
post(`${self.$baseUrl.alyIP}/ztry/hsjc/dcList`, params).then((res) => {
if (res.code === 200) {
require.ensure([], () => {
const { export_json_to_excel } = require("@/utils/Export2Excel");
const list = res.data.rows || res.data;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, header);
});
loading.close();
}
});
});
},
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;
},
goXdzl(scope) {
this.$router.pushToTab({
path: "/addsqfbzl",
query: {
type: "xdzl",
xsbh: scope.row.xxzjbh,
xsType: "01",
module: "ztryyj",
},
});
},
toInfor(scope) {
debugger;
if (scope.yjcs == 0) {
this.$message.warning("没有预警信息!");
} else {
this.$router.pushToTab({
path: "detailsZtryHsjc",
query: {
zjhm: scope.zjhm,
},
});
}
},
bqDetail(scope) {
debugger;
let userInfo = JSON.parse(window.sessionStorage.getItem("userInfo"));
userInfo.username = userInfo.userName;
let base = encodeURIComponent(secret.Encrypt(JSON.stringify(userInfo)));
let path = `${this.$baseUrl.alyIP15}/#/jump?token=${base}&path=ztrydetails?ztrybh=${scope}`;
window.open(path, "_blank");
},
},
};
</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;
}
.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";
.hbyp {
font-size: 14px;
font-family: Source Han Sans CN;
font-weight: 400;
line-height: 22px;
color: #007aff;
margin-right: 16px;
cursor: pointer;
}
.hbyps {
width: 64px;
height: 24px;
background: #ffffff;
border: 1px solid #007aff;
opacity: 1;
border-radius: 4px;
text-align: center;
align-items: center;
display: inline-block;
font-size: 12px !important;
font-weight: 400 !important;
color: #007aff !important;
cursor: pointer;
margin-right: 10px;
}
</style>
......@@ -31,7 +31,7 @@ export default {
},
data() {
return {
header: "在逃人员预警",
header: "在逃人员场所码预警",
pageBs: "queryZtryJkm",
cxFormData: {
zjhm: "",
......@@ -185,7 +185,7 @@ export default {
Menu: [
{
id: "queryZtryJkm",
label: "在逃人员预警",
label: "在逃人员场所码预警",
index: "queryZtryJkm",
auth: "M0101",
className: "iconfont iconrizhi",
......@@ -195,12 +195,20 @@ export default {
leftMenus: [
{
id: "queryZtryJkm",
label: "在逃人员预警",
label: "在逃人员场所码预警",
newAuth: "M01",
index: "queryZtryJkm",
className: "iconfont icongongnengfuwu",
hasChildren: false,
},
{
id: "queryZtryHsjc",
label: "在逃人员核酸检测预警",
newAuth: "M01",
index: "queryZtryHsjc",
className: "iconfont icongongnengfuwu",
hasChildren: false,
},
],
};
},
......@@ -220,7 +228,7 @@ export default {
}).then(() => {
let tHeader = [];
let filterVal = [];
let header = "在逃人员预警";
let header = "在逃人员场所码预警";
let params = {
unitcode: this.cxFormData.unitcode,
kssj: this.cxFormData.kssj,
......
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