b07beb91 by renchao@pashanhoo.com

Merge branch 'dev'

2 parents 5e7920b8 cd123ad2
###
# @Description:
# @Autor: renchao
# @LastEditTime: 2023-05-15 10:37:45
# @LastEditTime: 2023-05-29 10:26:00
ENV = 'development'
NODE_ENV=development
# base api
VUE_APP_BASE_API = '/api'
# 开发环境
VUE_APP_API_BASE_URL = 'http://192.168.2.38:8026'
VUE_APP_API_BASE_URL = 'http://192.168.2.38:8027'
......
......@@ -61,6 +61,18 @@ class work {
}
})
}
// 新建国有房屋信息
// /bdcsjsb/rest/reg/work/qxmrjrsb
async qxmrjrsb (code) {
return request({
url: SERVER.SERVERAPI + '/rest/reg/work/qxmrjrsb',
method: 'get',
params: {
code: code
}
})
}
// 地图区县成功失败统计,code区县编码,汉中为:A20
async submitViews (code) {
return request({
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-27 09:53:16
* @LastEditTime: 2023-05-29 09:36:27
*/
import dialogBox from '@/components/DialogBox'
import LbTable from '@/components/LbTable'
import Breadcrumb from "@/components/Breadcrumb.vue";
// 引入按钮
import btn from '@/components/Button.vue'
import Popup from '@/components/Popup/index'
import MessageBox from '@/components/MessageBox/index.js'
export default {
install: (Vue) => {
......
<!--
* @Description :自然幢表单组件
* @Autor : miaofang
* @LastEditTime : 2023-05-17 17:09:45
* @LastEditTime: 2023-05-29 10:30:46
-->
<template>
<div class="naturalBuilding itemForm">
......
......@@ -3,43 +3,51 @@
</template>
<script>
import Chart from './Chart'
import work from "@/api/work";
export default {
data () {
return {
cdata: {
legendItem: ['接入', '上报', '登簿'],
color: [
"#02D9FD",
"#FF7962",
"#F5C03D "
],
echartData: []
}
}
},
components: {
Chart
},
mounted() {
window.addEventListener("resize", () => {
this.dataTrend()
});
this.dataTrend()
},
methods: {
async dataTrend() {
try {
let { result: res } = await work.dataTrend();
this.cdata.echartData = [];
this.cdata.echartData=res,
this.cdata.echartData.reverse()
} catch (error) {
console.log(error);
import Chart from './Chart'
import work from "@/api/work";
export default {
data () {
return {
cdata: {
timer: null,
legendItem: ['接入', '上报', '登簿'],
color: [
"#02D9FD",
"#FF7962",
"#F5C03D "
],
echartData: []
}
}
},
},
}
components: {
Chart
},
created () {
this.dataTrend()
this.timer = setInterval(() => {
this.dataTrend()
}, 10000) // 10s
},
mounted () {
window.addEventListener("resize", () => {
this.dataTrend()
});
},
methods: {
async dataTrend () {
try {
let { result: res } = await work.dataTrend();
this.cdata.echartData = [];
this.cdata.echartData = res,
this.cdata.echartData.reverse()
} catch (error) {
console.log(error);
}
},
},
destroyed () {
clearInterval(this.timer)
}
}
</script>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-04 13:54:34
-->
<template>
<!-- 登记类型总量 -->
<Chart :cdata="cdata" />
<!-- 登记类型总量 -->
<Chart :cdata="cdata" />
</template>
<script>
import Chart from "./Chart";
import work from "@/api/work";
export default {
data () {
return {
cdata: {
category: [],
lineData: [],
},
};
},
components: {
Chart,
},
mounted () {
this.getDjlxtotal();
},
methods: {
getDjlxtotal () {
return new Promise(async (resolve) => {
try {
let p = {
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getDjlxtotal(p);
res.result.map((item) => {
return (
this.cdata.category.push(item.AREACODE),
this.cdata.lineData.push(item.ywtotal)
);
});
} catch (error) {
this.$refs.msg.messageShow();
import Chart from "./Chart";
import work from "@/api/work";
export default {
data () {
return {
cdata: {
timer: null,
category: [],
lineData: []
}
});
}
},
components: {
Chart
},
mounted () {
this.getDjlxtotal()
this.timer = setInterval(() => {
this.getDjlxtotal()
}, 10000) // 10s
},
methods: {
getDjlxtotal () {
return new Promise(async (resolve) => {
try {
let p = {
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getDjlxtotal(p)
this.cdata.category = res.result.map(item => item.AREACODE)
this.cdata.lineData = res.result.map(item => item.ywtotal)
} catch (error) {
this.$refs.msg.messageShow()
}
})
}
},
destroyed () {
clearInterval(this.timer)
}
}
};
};
</script>
<style lang="scss" scoped>
</style>
......
<!--
* @Description:
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-04-03 13:40:18
* @LastEditTime: 2023-07-04 13:44:17
-->
<template>
<Chart :cdata="cdata" />
</template>
<script>
import Chart from "./Chart";
import work from "@/api/work";
export default {
data () {
return {
cdata: []
}
},
components: {
Chart
},
mounted () {
this.mapViews();
},
methods: {
async mapViews () {
try {
let { result: res } = await work.mapViews("A20");
res.map((item) => {
return (
this.cdata.push({ "name": item.areaName, "value": item.ywtotal })
)
import Chart from "./Chart";
import work from "@/api/work";
export default {
data () {
return {
timer: null, // 定时器
cdata: []
}
},
components: {
Chart
},
mounted () {
this.mapViews()
this.timer = setInterval(() => {
this.mapViews();
}, 10000) // 10s
},
methods: {
async mapViews () {
try {
let { result: res } = await work.mapViews("A20");
res.map((item) => {
return (
this.cdata.push({ "name": item.areaName, "value": item.ywtotal, "successcount": item.successcount })
)
});
} catch (error) {
this.$refs.msg.messageShow();
});
} catch (error) {
this.$refs.msg.messageShow();
}
}
},
destroyed () {
clearInterval(this.timer)
}
}
}
</script>
......
<!--
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-16 15:58:03
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-07-04 15:28:36
* @FilePath: \上报\bdcjg-web\src\components\Echart\Rose\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
......@@ -18,6 +18,7 @@
export default {
data () {
return {
timer: null,
cdata: [],
getdata: [],
};
......@@ -25,40 +26,42 @@
components: {
Chart,
},
created () {
this.addhousetotal()
this.timer = setInterval(() => {
this.addhousetotal()
}, 10000) // 10s
},
mounted () {
this.addhousetotal();
window.addEventListener("resize", () => {
this.cdata = [];
this.addhousetotal();
});
},
methods: {
async addhousetotal () {
if (this.cdata == 0) {
this.cdata = [];
try {
let { result: res } = await work.addhousetotal();
let { result: res } = await work.qxmrjrsb();
console.log(res, 'resres');
res.map((item) => {
return this.cdata.push({
name: `${item.fwyt + '(' + item.fwxz})`,
value: item.mj,
name: item.areaName,
value: item.jrl,
});
});
let delarr = this.cdata.sort(this.up)
this.setadat(delarr)
// let delarr = this.cdata.sort(this.up)
// this.setadat(delarr)
} catch (error) {
console.log("error", error);
}
}
},
// 处理数据方法
setadat (delarr) {
this.cdata = delarr.splice(0, 6);
let sum = 0
for (var i = 0; i < delarr.length; i++) {
......@@ -73,9 +76,10 @@
},
// 排序方法
up (x, y) { return y.value - x.value }
},
destroyed () {
clearInterval(this.timer)
}
};
}
</script>
<style lang="scss" scoped></style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-03 16:45:40
-->
<template>
<div class="centercard">
<div class="card1">
......@@ -11,75 +16,72 @@
</template>
<script>
import maps from "@/components/Echart/Map";
import brokenline from "@/components/Echart/Brokenline";
export default {
data () {
return {};
},
components: { maps, brokenline },
mounted () { },
beforeDestroy () { },
methods: {},
};
import maps from "@/components/Echart/Map";
import brokenline from "@/components/Echart/Brokenline";
export default {
data () {
return {};
},
components: { maps, brokenline },
};
</script>
<style lang="scss" scoped>
.centercard {
width: 40%;
height: calc(100vh - 114px);
box-sizing: border-box;
padding: 0 0.0521rem;
display: flex;
flex-direction: column;
.centercard {
width: 40%;
height: calc(100vh - 114px);
box-sizing: border-box;
padding: 0 0.0521rem;
display: flex;
flex-direction: column;
.card1 {
width: 100%;
background: url("~@/image/mapcenter.png") no-repeat;
background-size: 100% 100%;
position: relative;
height: 64%;
.card1 {
width: 100%;
background: url("~@/image/mapcenter.png") no-repeat;
background-size: 100% 100%;
position: relative;
height: 64%;
.title {
position: absolute;
font-weight: bold;
color: #02d9fd;
line-height: 0.1354rem;
font-size: 0.1146rem;
position: absolute;
left: 0;
right: 0;
top: 0.0365rem;
text-align: right;
padding-right: 15%;
.title {
position: absolute;
font-weight: bold;
color: #02d9fd;
line-height: 0.1354rem;
font-size: 0.1146rem;
position: absolute;
left: 0;
right: 0;
top: 0.0365rem;
text-align: right;
padding-right: 15%;
}
}
}
.card2 {
width: 100%;
background: url("~@/image/sjqs.png") no-repeat;
background-size: 100% 100%;
position: relative;
flex: 1;
.card2 {
width: 100%;
background: url("~@/image/sjqs.png") no-repeat;
background-size: 100% 100%;
position: relative;
flex: 1;
.title {
position: absolute;
font-weight: bold;
color: #02d9fd;
line-height: 0.1354rem;
font-size: 0.1146rem;
position: absolute;
left: 0;
right: 0;
top: 0.0365rem;
text-align: center;
margin-bottom: 0.0521rem;
}
.title {
position: absolute;
font-weight: bold;
color: #02d9fd;
line-height: 0.1354rem;
font-size: 0.1146rem;
position: absolute;
left: 0;
right: 0;
top: 0.0365rem;
text-align: center;
margin-bottom: 0.0521rem;
}
.brokenline {
margin: auto;
width: 100%;
.brokenline {
margin: auto;
width: 100%;
}
}
}
}
</style>
......
<!--
* @Description :工作台左侧表
* @Autor : miaofang
* @LastEditTime : 2023-05-18 11:27:22
* @LastEditTime: 2023-07-04 15:19:26
-->
<template>
<div class="leftcard">
......@@ -18,7 +18,7 @@
</ul>
<div class="cardcontent-right d-center">
<p>
<span>失败</span>
<span>校验失败</span>
<span class="bad">{{ qxerrer }}</span>
</p>
<p>
......@@ -42,7 +42,7 @@
<div class="cardcontent-right d-center">
<p>
<span>失败</span>
<span class="bad">{{ sterrer }}</span>
<span class="bad pointer" @click="handleSthj">{{ sterrer }}</span>
</p>
<p>
<span>成功率</span>
......@@ -57,14 +57,13 @@
</div>
</div>
</template>
<script>
import columnar from "@/components/Echart/Columnar";
import work from "@/api/work";
export default {
data () {
return {
timer: null, // 定时器
// 日均接入量
qxerrer: "",
qxsuccess: "",
......@@ -76,8 +75,11 @@
stcgl: ""
};
},
mounted () {
created () {
this.getsthjqxjrtotal();
this.timer = setInterval(() => {
this.getsthjqxjrtotal()
}, 10000) // 10s
},
components: { columnar },
computed: {
......@@ -117,10 +119,20 @@
}
});
},
handleSthj () {
this.$router.push({
path: '/sthj/sbbwcx',
query: {
status: 2
}
})
}
},
};
destroyed () {
clearInterval(this.timer)
}
}
</script>
<style lang="scss" scoped>
.leftcard {
width: 30%;
......
<!--
* @Description :工作台右侧表
* @Autor : miaofang
* @LastEditTime : 2023-05-18 11:26:52
* @LastEditTime: 2023-07-04 13:42:46
-->
<template>
<div class="rightcard">
......@@ -30,20 +30,26 @@
export default {
data () {
return {
timer: null,
config: {
headerBGC: '#016AC5',
oddRowBGC: '#154295',
evenRowBGC: '#154295',
header: ['序号', '业务名称', '登记业务量'],
columnWidth: [120, 270, 140],
columnWidth: [60, 330, 100],
data: [],
key: 0
}
}
},
components: { columnarsmat, Rose },
created () {
this.getdjywltotal()
this.timer = setInterval(() => {
this.getdjywltotal()
}, 10000) // 10s
},
mounted () {
this.getdjywltotal();
window.addEventListener("resize", () => {
this.config.data = [];
this.getdjywltotal();
......@@ -65,19 +71,21 @@
this.config.data.push([index + 1, item.AREACODE, item.ywtotal])
});
// 遍历修改数组键,作为echars图表的参数
} catch (error) {
console.log(error);
}
},
}
},
destroyed () {
clearInterval(this.timer)
}
}
</script>
<style lang="scss" scoped>
/deep/.dv-scroll-board .rows {
overflow-y: auto;
}
/deep/.row-item:not(:last-child) {
margin-bottom: 0.026rem;
}
......
<!--
* @Description :工作台表内容
* @Autor : miaofang
* @LastEditTime : 2023-05-18 13:09:47
* @LastEditTime: 2023-07-03 16:39:09
-->
<template>
<div class="content" id="box">
<leftcard />
<centercard />
<rightcard />
<leftcard />
<centercard />
<rightcard />
</div>
</template>
<script>
import "@/utils/flexible.js";
import drawMixin from "@/utils/drawMixin";
import leftcard from "./leftcard";
import centercard from "./centercard";
import rightcard from "./rightcard";
export default {
mixins: [drawMixin],
data () {
return {
decorationColor: ["#568aea", "#568aea"],
};
},
components: {
leftcard,
centercard,
rightcard
},
mounted () {
// this.timeFn();
this.cancelLoading();
},
beforeDestroy () {
clearInterval(this.timing);
},
methods: {
cancelLoading () {
setTimeout(() => {
this.loading = false;
}, 500);
import "@/utils/flexible.js";
import drawMixin from "@/utils/drawMixin";
import leftcard from "./leftcard";
import centercard from "./centercard";
import rightcard from "./rightcard";
export default {
mixins: [drawMixin],
data () {
return {
decorationColor: ["#568aea", "#568aea"],
};
},
},
};
components: {
leftcard,
centercard,
rightcard
},
mounted () {
// this.timeFn();
this.cancelLoading();
},
beforeDestroy () {
clearInterval(this.timing);
},
methods: {
cancelLoading () {
setTimeout(() => {
this.loading = false;
}, 500);
},
},
};
</script>
<style scoped lang="scss">
.content {
width: 100%;
height: calc(100% -94px);
margin: auto;
display: flex;
justify-content: space-between;
margin-top: 15px;
}
// #box{
// width: 1620px;
// height: 680px;
// position: absolute;
// transform-origin: left top;
// overflow: hidden;
// }
.content {
width: 100%;
height: calc(100% -94px);
margin: auto;
display: flex;
justify-content: space-between;
margin-top: 15px;
}
</style>
......
<!--
* @Description :接收报文查询
* @Autor : miaofang
* @LastEditTime : 2023-05-18 13:11:18
* @LastEditTime: 2023-05-29 09:57:39
-->
<template>
<!-- 接收报文查询 -->
<div class="reportLog from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-form ref="ruleForm" :model="form" label-width="90px">
<Breadcrumb />
<el-row class="mb-5">
<el-col :span="6">
......@@ -22,7 +22,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="查询证件名称" prop="zjmc">
<el-form-item label="查询证件名称" prop="zjmc" label-width="110px">
<el-input v-model.trim="form.zjmc" clearable class="width100" placeholder="业务流水号"></el-input>
</el-form-item>
</el-col>
......
<!--
* @Description :修改登簿日志弹窗
* @Autor : miaofang
* @LastEditTime : 2023-05-18 13:16:22
* @LastEditTime: 2023-07-04 13:08:21
-->
<template>
<!-- 修改登簿日志弹窗 -->
......@@ -15,6 +15,7 @@
<el-tabs v-model="titleName" type="card">
<el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane>
<el-tab-pane label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane label="返回结果" name="fhjg"></el-tab-pane>
</el-tabs>
<div class="dialog-from" v-if="titleName == 'sjmx'">
<el-row class="dialog-from_header item-content-input">
......@@ -186,6 +187,9 @@
<div class="JsonEditor" v-if="titleName == 'xml'">
<JsonEditor class="editXML" :resultInfo="resultInfo" :key="key" />
</div>
<div class="JsonEditor" v-if="titleName == 'fhjg'">
<JsonEditor class="editXML" :resultInfo="fhjg" :key="key" />
</div>
</div>
</div>
<div class="d-center" v-if="titleName == 'sjmx'">
......@@ -211,6 +215,8 @@
return {
key: 0,
title: '',
// 省厅汇交
fhjg: '',
dialogVisible: false,
titleName: 'sjmx',
titleName2: 'drdbxd',
......@@ -307,9 +313,34 @@
* @author: renchao
*/
_getDetails (data) {
function showPattern (level) {
const resultMap = {
'0200': '上报成功',
'04001': 'xml格式错误',
'04002': 'AreaCode 节点缺失',
'04003': 'AreaCode 节点值为空',
'04004': 'xzTotallnfo 节点缺失',
'04005': 'Registerlnfo 节点缺失',
'04006': 'AccessInfo 节点缺失',
'04007': 'RegisterList 节点缺失',
'04008': 'Register 节点缺失',
'04009': 'AccessList 节点缺失',
'04010': 'Access 节点缺失',
'04011': '上报数与上报清单数量不一致'
};
for (let key in resultMap) {
if (level.includes(key)) {
return resultMap[key];
} else {
return level;
}
}
}
getDetail(data).then(res => {
let { accessLog, registerInfo, accessInfo, accessList, registerList
} = res.result
this.fhjg = showPattern(accessLog.RESPONSE)
this.accessLog = accessLog
this.resultInfo = accessLog.LOGSXML
this.registerInfo = registerInfo
......
......@@ -196,6 +196,8 @@
};
},
mounted () {
this.form.hjjg = this.$route.query.status
this.featchData()
sendThis(this);
},
methods: {
......