68b86f0e by 任超

Merge branch 'master' into dev

2 parents 20dc04b9 9076825c
Showing 58 changed files with 1474 additions and 1380 deletions
......@@ -12,7 +12,7 @@
"axios": "^0.21.1",
"clipboard": "^2.0.11",
"core-js": "^3.6.5",
"echarts": "^4.6.0",
"echarts": "^5.3.3",
"file-saver": "^2.0.5",
"js-cookie": "2.2.0",
"jsoneditor": "^9.9.2",
......
/*
* @Description: 这个是所有api的前缀配置文件
* @Autor: renchao
* @LastEditTime: 2023-03-15 17:14:19
*/
export default {
TITLE: '汉中市数据上报系统',
SERVERAPI: '/bdcsjsb', //赵千
MANAGEMENTAPI: 'http://192.168.2.236/management'
}
\ No newline at end of file
{
"TITLE": "汉中市数据上报系统"
}
\ No newline at end of file
/*
* @Description: 这个是所有api的前缀配置文件
* @Autor: renchao
* @LastEditTime: 2023-03-01 15:35:44
* @LastEditTime: 2023-03-16 13:37:11
*/
export default {
TITLE: '汉中市数据上报系统',
SERVERAPI: '/bdcsjsb', //赵千
MANAGEMENTAPI: 'http://192.168.2.236/management'
}
......
import Vue from 'vue'
import request from '@/utils/request'
console.log(Vue.prototype, Vue.prototype.$BASE_API);
import SERVER from './config'
// 获取用户信息
export function getUserInfo () {
......
......@@ -4,203 +4,194 @@
</template>
<script>
import Echart from "@/common/echart";
export default {
data () {
return {
xAxisData: {},
yAxisData1: {},
yAxisData2: {},
yAxisData3: {},
options: {},
};
},
components: {
Echart,
},
props: {
cdata: {
type: Object,
default: () => ({}),
import Echart from "@/common/echart";
export default {
data () {
return {
xAxisData: {},
yAxisData1: {},
yAxisData2: {},
yAxisData3: {},
options: {},
};
},
},
methods: {
hexToRgba (hex, opacity) {
let rgbaColor = "";
let reg = /^#[\da-f]{6}$/i;
if (reg.test(hex)) {
rgbaColor = `rgba(${parseInt("0x" + hex.slice(1, 3))},${parseInt(
"0x" + hex.slice(3, 5)
)},${parseInt("0x" + hex.slice(5, 7))},${opacity})`;
components: {
Echart,
},
props: {
cdata: {
type: Object,
default: () => ({}),
},
},
methods: {
hexToRgba (hex, opacity) {
let rgbaColor = "";
let reg = /^#[\da-f]{6}$/i;
if (reg.test(hex)) {
rgbaColor = `rgba(${parseInt("0x" + hex.slice(1, 3))},${parseInt(
"0x" + hex.slice(3, 5)
)},${parseInt("0x" + hex.slice(5, 7))},${opacity})`;
}
return rgbaColor;
},
fontSize (res) {
let docEl = document.documentElement,
clientWidth =
window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth;
if (!clientWidth) return;
let fontSize = clientWidth / 1920;
return res * fontSize;
}
return rgbaColor;
},
fontSize(res) {
let docEl = document.documentElement,
clientWidth =
window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth;
if (!clientWidth) return;
let fontSize = clientWidth / 1920;
return res * fontSize;
}
},
watch: {
cdata: {
handler (newData) {
this.xAxisData = newData.echartData.map((v) => v.yearMonth);
this.yAxisData1 = newData.echartData.map((v) => v.receive);
this.yAxisData2 = newData.echartData.map((v) => v.record);
this.yAxisData3 = newData.echartData.map((v) => v.report);
this.options = {
color: newData.color,
legend: {
center: true,
top: "20%",
data: newData.legendItem,
textStyle: {
color: "#00DEFF",
fontSize:this.fontSize(12),
watch: {
cdata: {
handler (newData) {
this.xAxisData = newData.echartData.map((v) => v.yearMonth);
this.yAxisData1 = newData.echartData.map((v) => v.receive);
this.yAxisData2 = newData.echartData.map((v) => v.record);
this.yAxisData3 = newData.echartData.map((v) => v.report);
this.options = {
color: newData.color,
legend: {
center: true,
top: "20%",
data: newData.legendItem,
textStyle: {
color: "#00DEFF",
fontSize: this.fontSize(12),
},
},
},
// calculable: true,
tooltip: {
trigger: "axis",
formatter: function (params) {
let html = "";
params.forEach((v) => {
html += `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000">
// calculable: true,
tooltip: {
trigger: "axis",
formatter: function (params) {
let html = "";
params.forEach((v) => {
html += `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000">
<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${newData.color[v.componentIndex]
};"></span>
};"></span>
${v.seriesName}.${v.name}
<span style="color:${newData.color[v.componentIndex]
};font-weight:700;font-size: 18px">${v.value}</span>
};font-weight:700;font-size: 18px">${v.value}</span>
个`;
});
return html;
});
return html;
},
extraCssText:
"background: #85a2eb; border-radius: 0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;",
},
extraCssText:
"background: #85a2eb; border-radius: 0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;",
},
// grid: {
// top: 70,
// containLabel: true
// },
grid: {
top: "30%",
left: "3%",
right: "6%",
bottom: "8%",
containLabel: true,
},
xAxis: [
{
type: "category",
axisLine: {
show: true,
lineStyle: {
color: "#458ACF",
// grid: {
// top: 70,
// containLabel: true
// },
grid: {
top: "30%",
left: "3%",
right: "6%",
bottom: "8%",
containLabel: true,
},
xAxis: [
{
type: "category",
axisLine: {
show: true,
lineStyle: {
color: "#458ACF",
},
},
},
axisLabel: {
inside: false,
textStyle: {
color: "rgba(255, 255, 255,0.7)", // x轴颜色
fontWeight: "normal",
fontSize: this.fontSize(12),
lineHeight: this.fontSize(22),
axisLabel: {
inside: false,
textStyle: {
color: "rgba(255, 255, 255,0.7)", // x轴颜色
fontWeight: "normal",
fontSize: this.fontSize(12),
lineHeight: this.fontSize(22),
},
},
data: this.xAxisData,
},
data: this.xAxisData,
},
],
yAxis: [
{
type: "value",
axisLabel: {
textStyle: {
color: "rgba(255, 255, 255,0.7)",
],
yAxis: [
{
type: "value",
axisLabel: {
textStyle: {
color: "rgba(255, 255, 255,0.7)",
},
},
},
splitLine: {
show: true,
lineStyle: {
color: "#458ACF",
splitLine: {
show: true,
lineStyle: {
color: "#458ACF",
},
},
},
axisLine: {
show: true,
lineStyle: {
color: "#458ACF",
axisLine: {
show: true,
lineStyle: {
color: "#458ACF",
},
},
axisTick: {
show: false,
},
},
axisTick: {
show: false,
},
},
],
series: [
{
name: newData.legendItem[0],
type: "line",
smooth: false, //是否平滑
showSymbol: true,
symbol: "circle",
symbolSize: this.fontSize(6),
zlevel: 3,
lineStyle: {
normal: {
color: newData.color[0],
shadowBlur: 3,
shadowColor: this.hexToRgba(newData.color[0], 0.5),
shadowOffsetY: 0,
],
series: [
{
name: newData.legendItem[0],
type: "line",
smooth: false, //是否平滑
showSymbol: true,
symbol: "circle",
symbolSize: this.fontSize(6),
zlevel: 3,
lineStyle: {
normal: {
color: newData.color[0]
},
},
data: this.yAxisData1,
},
data: this.yAxisData1,
},
{
name: newData.legendItem[1],
type: "line",
smooth: false,
showSymbol: true,
symbol: "circle",
symbolSize: this.fontSize(8),
zlevel: 3,
lineStyle: {
normal: {
color: newData.color[1],
shadowBlur: 0,
shadowColor: this.hexToRgba(newData.color[1], 0.5),
shadowOffsetY: 0,
{
name: newData.legendItem[1],
type: "line",
smooth: false,
showSymbol: true,
symbol: "circle",
symbolSize: this.fontSize(8),
zlevel: 3,
lineStyle: {
normal: {
color: newData.color[1],
},
},
data: this.yAxisData2,
},
data: this.yAxisData2,
},
{
name: newData.legendItem[2],
type: "line",
smooth: false,
showSymbol: true,
symbol: "circle",
symbolSize: this.fontSize(8),
zlevel: 3,
lineStyle: {
normal: {
color: newData.color[2],
shadowBlur: 3,
shadowColor: this.hexToRgba(newData.color[2], 0.5),
shadowOffsetY: 0,
{
name: newData.legendItem[2],
type: "line",
smooth: false,
showSymbol: true,
symbol: "circle",
symbolSize: this.fontSize(8),
zlevel: 3,
lineStyle: {
normal: {
color: newData.color[2],
},
},
data: this.yAxisData3,
},
data: this.yAxisData3,
},
],
};
],
};
},
immediate: true,
deep: true,
},
immediate: true,
deep: true,
},
},
};
};
</script>
......
......@@ -33,6 +33,20 @@
axisPointer: {
type: "shadow",
},
formatter: function (params) {
let html = "";
params.forEach((v) => {
html += `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000">
<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params[v.componentIndex].color
};"></span>
${v.seriesName}.${v.name}
<span style="color:blue;font-weight:700;font-size: 18px">${v.value}</span>
个`;
});
return html;
},
extraCssText:
"background: #85a2eb; border-radius: 2;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;",
},
grid: {
left: "5%",
......@@ -86,7 +100,7 @@
},
itemStyle: {
normal: {
color: "#5fba7d",
color: "#12ba7d",
},
},
data: newData.barData,
......
......@@ -38,21 +38,8 @@ export default {
handler (newData) {
let _this = this;
// 设置点的位置(经纬度)
const geoCoordMap = {
汉台区: [107.03187, 33.06774, 20],
南郑区: [106.94024, 33.00299, 20],
城固县: [107.33367, 33.15661, 20],
洋县: [107.545837, 33.222739, 20],
西乡县: [107.76867, 32.98411, 20],
镇巴县: [107.89648, 32.53487, 20],
勉县: [106.673221, 33.153553, 20],
留坝县: [106.92233, 33.61606, 20],
佛坪县: [107.98974, 33.52496, 20],
宁强县: [106.25958, 32.82881, 20],
略阳县: [106.15399, 33.33009, 20],
};
this.options = {
showLegendSymbol: true,
showLegendSymbol: false,
tooltip: {
trigger: "item",
textStyle: {
......@@ -72,24 +59,25 @@ export default {
visualMap: {
min: 0,
max: _this.max,
bottom: "12%",
bottom: "6%",
left: 50,
splitNumber: 6,
seriesIndex: [0],
itemWidth: 20, // 每个图元的宽度
itemGap: 2, // 每两个图元之间的间隔距离,单位为px
itemGap: 4, // 每两个图元之间的间隔距离,单位为px
selectedMode: false, // 是否允许点击
pieces: [
// 自定义每一段的范围,以及每一段的文字
{ gte: 100, label: "5000以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 50, lte: 6000, label: "1000-5000", color: "#3375e4" },
{ gte: 20, lte: 2000, label: "500-1000", color: "#6797ef" },
{ gte: 1, lte: 1000, label: "0-500", color: "#96b5ef" },
{ gte: 5000, label: "≥5000", color: "#056BEC" }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 1000, lte: 5000, label: "1000-5000", color: "#48BDE3" },
{ gte: 500, lte: 1000, label: "500-1000", color: "#0494F3" },
{ gte: 0, lte: 500, label: "≤500", color: "#1872CC" },
],
textStyle: {
color: "#737373",
},
color: "#CEF8FF",
}
},
geo: {
geo: [{
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "", // 自定义扩展图表类型
......@@ -99,14 +87,39 @@ export default {
itemStyle: {
normal: {
//阴影
areaColor: "#5689FD ",
shadowColor: "#21371d",
borderWidth: 0,
shadowOffsetX: 2,
shadowOffsetY: 25,
areaColor: "#5689FD",
// shadowColor: "#21371d",
borderWidth: 1,
// shadowOffsetX: 2,
// shadowOffsetY: 20,
},
},
},
},{
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "", // 自定义扩展图表类型
top: "18%",
left: "10%",
map: "汉中市",
itemStyle: {
color:'#21371d',
areaColor: "#21371d",
borderWidth: 1,
borderColor:"#00A3CB",
shadowColor: "#01C5E9",
shadowBlur:10,
shadowOffsetX: 0,
shadowOffsetY: -12,
// normal: {
// //阴影
// color:'#21371d',
// areaColor: "#21371d",
// },
},
emphasis: {
disabled:true
}
}],
series: [
{
type: "map",
......@@ -117,13 +130,37 @@ export default {
left: "10%",
itemStyle: {
normal: {
areaColor: "rgba(19,54,162,.5)",
borderColor: "rgba(0,242,252,.5)",
borderWidth: 2,
shadowBlur: 1,
borderColor: "rgb(155, 200, 200)",
shadowColor: "#44f2fc",
// areaColor: "rgba(19,54,162,.1)",
borderWidth: 1.6,
// shadowBlur: 2,
borderColor: "#9DFFFC",
// shadowColor: "#44f2fc",
},
emphasis: {
// itemStyle:{
// 地图区域的高亮颜色
areaColor: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: '#4DD1B4' // 0% 处的颜色
}, {
offset: 1, color: '#15BFCE' // 100% 处的颜色
}],
global: false // 缺省为 false
},
borderType: 'dottod',
borderWidth: 0,
borderColor:'#F8F071',
shadowColor: '#000',
shadowBlur: 10,
shadowOffsetY:4
// }
}
},
label: {
formatter: (params) => {
......@@ -141,12 +178,18 @@ export default {
},
},
},
// 选中区域颜色
// select:{
// itemStyle:{
// areaColor:'red'
// }
// },
data: newData,
},
],
};
// 重新选择区域
this.handleMapRandomSelect();
// this.handleMapRandomSelect();
},
immediate: true,
......
<template>
<Echart
:options="options"
id="centreLeft1Chart"
:key="key"
height="1.0417rem"
width="80%"></Echart>
<Echart :options="options" id="centreLeft1Chart" :key="key" height="1.0417rem" width="80%"></Echart>
</template>
<script>
import Echart from "@/common/echart";
......@@ -26,7 +21,7 @@
watch: {
cdata: {
handler (newData) {
console.log("newData", newData);
this.options = {
color: [
"#37a2da",
......@@ -41,7 +36,20 @@
],
tooltip: {
trigger: "item",
formatter: "<br/>{b} : {c} ({d}%)",
formatter: function (params) {
let html = "";
html += `<div style="font-size: 14px;line-height: 24px >
<span style="display:inline-block;"></span>
${params.name}
<span style="color:blue;font-weight:700;font-size: 18px">${params.value}</span>
个`;
return html;
},
extraCssText:
"background: #85a2eb; border-radius: 0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;",
},
label: {
color: 'inherit',
},
series: [
{
......@@ -50,16 +58,18 @@
radius: '60%',
avoidLabelOverlap: true,
label: {
color: 'inherit',
formatter: (params) => {
return `${params.name}`;
},
position: "outer",
alignTo: "edge",
margin: 10,
normal: {
show: true,
textStyle: {
fontSize: 12
fontSize: 12,
}
},
},
......
<!--
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-16 15:58:03
* @FilePath: \上报\bdcjg-web\src\components\Echart\Rose\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div>
<Chart :cdata="cdata" />
......@@ -28,7 +36,7 @@
methods: {
async addhousetotal () {
if (this.cdata == 0) {
this.getdata = [];
this.cdata = [];
try {
let { result: res } = await work.addhousetotal();
res.map((item) => {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-13 11:09:01
* @LastEditTime: 2023-03-17 10:25:19
-->
<template>
<div class='result'>
......@@ -51,7 +51,7 @@ export default {
height: 100%;
/deep/.el-textarea__inner {
height: 30vh !important;
height: 50%;
color: #ffffff;
border: none !important;
color: #ffffff;
......@@ -62,6 +62,7 @@ export default {
border-radius: 2px;
padding: 10px;
box-sizing: border-box;
height: 49%;
p {
color: #2997E8;
......
......@@ -116,13 +116,13 @@
<div class="editDialogBox-box JsonEditor" v-if="titleName == 'xyjg'">
<Xyjg :form-data='dataReport'></Xyjg>
</div>
</div>
<div class="d-center" v-if="!$store.state.business.Edit && titleName == 'sjmx'">
<btn nativeType="cz" @click="dialogVisible = false">取 消</btn>
<btn nativeType="cx" @click="submitForm">保 存</btn>
</div>
<div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'">
<btn nativeType="cx" @click="handleResubmit">重新上报</btn>
<div class="d-center" v-if="!$store.state.business.Edit && titleName == 'sjmx'">
<btn nativeType="cz" @click="dialogVisible = false">取 消</btn>
<btn nativeType="cx" @click="submitForm">保 存</btn>
</div>
<div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'">
<btn nativeType="cx" @click="handleResubmit">重新上报</btn>
</div>
</div>
</el-dialog>
</template>
......
......@@ -94,7 +94,6 @@
},
onJsonSave () {
const value = this.resultInfo
console.log(this.resultInfo, 'resultInfo')
if (this.hasJsonFlag === false) {
this.$message.error({ message: 'json格式验证失败', showClose: true })
// alert("json验证失败")
......@@ -112,7 +111,6 @@
this.dialogVisible = true
},
cancel () {
console.log(this.tmpResultInfo, 'tmpResultInfo')
this.resultInfo = this.tmpResultInfo
this.dialogVisible = false
},
......

1.4 KB | W: | H:

1.34 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

9.58 KB | W: | H:

3.53 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
......@@ -134,9 +134,8 @@ export default {
@extend .xuanzhong;
}
/deep/.el-menu-item.is-active {
/deep/.is-active {
@extend .xuanzhong;
}
.navbar {
......
......@@ -9,40 +9,37 @@
</template>
<script>
import { mapGetters } from 'vuex'
import Logo from './Logo'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import { asyncRoutes } from '@/router'
export default {
components: { SidebarItem, Logo },
computed: {
...mapGetters(['permission_routes', 'sidebar']),
import { mapGetters } from 'vuex'
import Logo from './Logo'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import { asyncRoutes } from '@/router'
export default {
components: { SidebarItem, Logo },
computed: {
...mapGetters(['permission_routes', 'sidebar']),
activeMenu () {
activeMenu () {
const route = this.$route
const { meta, path } = route
if (meta.activeMenu) {
return meta.activeMenu
}
return path
},
variables () {
return variables
},
asyncRoutes () {
return asyncRoutes.slice(0, 3)
const route = this.$route
const { meta, path } = route
if (meta.activeMenu) {
return meta.activeMenu
}
return path
},
mounted () {
console.log("permission_routes", this.permission_routes);
variables () {
return variables
},
asyncRoutes () {
return asyncRoutes.slice(0, 3)
}
}
}
</script>
<style scoped lang="scss">
.el-menu--horizontal {
display: flex;
background: none !important;
}
.el-menu--horizontal {
display: flex;
background: none !important;
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-10 14:59:43
* @LastEditTime: 2023-03-16 11:15:48
-->
<template>
<div class="app-wrapper jgWrapper">
......@@ -12,61 +12,60 @@
</div>
</template>
<script>
import { AppMain, Navbar, Sidebar, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { mapState } from 'vuex'
export default {
name: 'Layout',
components: {
AppMain,
Navbar,
Sidebar,
TagsView
},
created () {
this.$store.dispatch("products/setData", "BDCJGPT");
console.log("ZOULEJG");
},
mixins: [ResizeMixin],
computed: {
...mapState({
sidebar: state => state.app.sidebar,
needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader
})
}
import { AppMain, Navbar, Sidebar, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { mapState } from 'vuex'
export default {
name: 'Layout',
components: {
AppMain,
Navbar,
Sidebar,
TagsView
},
created () {
this.$store.dispatch("products/setData", "BDCJGPT");
},
mixins: [ResizeMixin],
computed: {
...mapState({
sidebar: state => state.app.sidebar,
needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader
})
}
}
</script>
<style lang="scss">
@import "~@/styles/jgSidebar.scss";
@import "~@/styles/jgSidebar.scss";
</style>
<style lang="scss" scoped>
@import "~@/styles/mixin.scss";
@import "~@/styles/mixin.scss";
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
min-width: 1280px;
background: url("~@/image/bg.png") no-repeat;
background-size: 100% 100%;
padding: 12px;
box-sizing: border-box;
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
min-width: 1280px;
background: url("~@/image/bg.png") no-repeat;
background-size: 100% 100%;
padding: 12px;
box-sizing: border-box;
&.mobile.openSidebar {
position: fixed;
top: 0;
}
&.mobile.openSidebar {
position: fixed;
top: 0;
}
}
.appMain {
// min-width: 1280px;
height: calc(100vh - 101px) !important;
box-sizing: border-box;
.appMain {
// min-width: 1280px;
height: calc(100vh - 101px) !important;
box-sizing: border-box;
.app-main {
height: 100%;
}
.app-main {
height: 100%;
}
}
</style>
......
......@@ -53,7 +53,6 @@
}
},
mounted () {
console.log("this. permission_routes", this.permission_routes);
}
}
......
......@@ -13,66 +13,65 @@
</div>
</template>
<script>
import { AppMain, Navbar, Sidebar, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { mapState } from 'vuex'
export default {
name: 'Layout',
components: {
AppMain,
Navbar,
Sidebar,
TagsView
},
mixins: [ResizeMixin],
created () {
this.$store.dispatch("products/setData", "BDCSBPT");
console.log("ZOULEJG");
},
computed: {
...mapState({
sidebar: state => state.app.sidebar,
needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader
})
}
import { AppMain, Navbar, Sidebar, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { mapState } from 'vuex'
export default {
name: 'Layout',
components: {
AppMain,
Navbar,
Sidebar,
TagsView
},
mixins: [ResizeMixin],
created () {
this.$store.dispatch("products/setData", "BDCSBPT");
},
computed: {
...mapState({
sidebar: state => state.app.sidebar,
needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader
})
}
}
</script>
<style lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/sbSidebar.scss";
@import "~@/styles/mixin.scss";
@import "~@/styles/sbSidebar.scss";
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
// background-color: $containerbg;
padding: 0;
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
// background-color: $containerbg;
padding: 0;
&.mobile.openSidebar {
position: fixed;
top: 0;
}
}
.drawer-bg {
background: #000;
opacity: 0.3;
width: 100%;
&.mobile.openSidebar {
position: fixed;
top: 0;
height: 100%;
position: absolute;
z-index: 999;
}
}
.fixed-header {
width: 100%;
transition: width 0.28s;
}
.drawer-bg {
background: #000;
opacity: 0.3;
width: 100%;
top: 0;
height: 100%;
position: absolute;
z-index: 999;
}
.el-dropdown-menu--small {
padding: 0;
width: 5px;
}
.fixed-header {
width: 100%;
transition: width 0.28s;
}
.el-dropdown-menu--small {
padding: 0;
width: 5px;
}
</style>
......
/*
* @Author: yangwei
* @Date: 2023-01-16 09:10:12
* @LastEditors: yangwei
* @LastEditTime: 2023-03-16 09:33:27
* @FilePath: \bdcjg-web\src\main.js
* @Description:
*
* Copyright (c) 2023 by ${yangwei}, All Rights Reserved.
*/
import Vue from 'vue'
import App from './App'
import 'normalize.css/normalize.css' // a modern alternative to CSS resets
......@@ -6,9 +16,10 @@ import '@/styles/element-variables.scss'
import '@/styles/index.scss'
import Base from './base' // 全局组件引入
import mixin from '@/utils/mixin/theme.js'
import axios from 'axios'
import dataV from '@jiaminghi/data-view';
import echarts from "echarts"
import * as echarts from "echarts"
import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading'
Vue.mixin(mixin)
import './directive/vxe-table'
......@@ -41,15 +52,21 @@ import './image/icons' // icon
import store from './store'
import router from './router'
import _ from 'lodash'
import './permission' // permission control
Vue.use(Element, { size: 'small', zIndex: 1000 })
Vue.use(Base)
Vue.component('icon', Icon);
Vue.prototype.$echarts = echarts
Vue.use(dataV)
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
axios.get("./config.json")
.then((res) => {
Vue.prototype.BASE_API = res.data
require('./permission')
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
})
......
......@@ -58,7 +58,7 @@ export const TableListMixin = {
}
})
.catch(error => {
console.log('errrrrrorrrrr', error)
console.log('error', error)
this.loading = false
})
},
......@@ -83,7 +83,6 @@ export const TableListMixin = {
if (this.queryOptions !== '') {
this.queryParam.queryOptions = JSON.stringify(this.queryOptions)
}
// console.log(this.$filterNullObj(this.queryParam), '查询条件')
return this.$filterNullObj(this.queryParam)
},
// 新增
......
......@@ -69,9 +69,8 @@
.regularHeight {
display: flex;
flex: 1;
height: 100%;
flex-direction: column;
height: 87vh;
.editDialogBox-con,
.JsonEditor {
......
......@@ -139,7 +139,7 @@ input[type="number"] {
}
::-webkit-scrollbar-thumb {
background: #458ACF;
background: rgba(69, 138, 207,.3);
background-clip: padding-box;
min-height: 28px;
-webkit-border-radius: 6px;
......@@ -148,7 +148,12 @@ input[type="number"] {
}
::-webkit-scrollbar-thumb:hover {
background: #458ACF;
background: rgba(69, 138, 207,.3);
}
// 滚动条位置
.el-scrollbar__wrap{
// margin-bottom: 0px!important;
margin-right: 0px!important;
}
// element 样式补丁
......@@ -329,6 +334,7 @@ table td {
padding-top: 13px;
padding-bottom: 13px;
border: none;
margin-top: 5px !important;
table {
......@@ -396,11 +402,18 @@ table td {
color: #DBFAFF
}
.el-date-table td span:hover {
background-color: #074487;
border: 1px solid #02D9FD;
color: #02D9FD
}
.el-date-table td.current:not(.disabled) span {
background-color: #074487;
// border:1px solid saddlebrown;
box-shadow: inset 0 0 7px #02D9FD;
border: 1px solid #02D9FD;
color: #02D9FD
}
}
......@@ -479,6 +492,12 @@ table td {
}
}
.el-button--text {
display: flex;
align-items: center;
justify-content: center;
}
// 时间组件input框部分
.el-date-editor {
......@@ -504,7 +523,7 @@ table td {
height: 26px;
line-height: 26px;
background-size: 100% 100%;
margin-bottom: 7px;
margin-bottom: 12px;
color: #02D9FD !important;
}
......@@ -515,6 +534,7 @@ table td {
.el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):hover,
.el-select-dropdown__item:hover,
.el-select-dropdown__item.selected,
.el-menu--horizontal .el-menu .el-menu-item.is-active,
.el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):focus {
background: url("~@/image/xzslitembg.png") no-repeat;
background-size: 100% 100%;
......@@ -571,4 +591,9 @@ table td {
background-origin: initial;
background-clip: initial;
background-color: rgb(80, 142, 235);
}
\ No newline at end of file
}
// 下拉框
.el-menu--popup {
padding-top: 20px;
}
......
......@@ -137,7 +137,8 @@ ul li {
}
.mb-5 {
margin-bottom: 5px;
margin-bottom: 10px!important;
margin-top: 10px!important;
}
.pr-5 {
......@@ -149,7 +150,8 @@ ul li {
}
.mt-10 {
margin-top: 10px;
margin-top: 20px!important;
margin-bottom: 5px!important;
}
//flex 公共样式
......@@ -365,14 +367,14 @@ aside {
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
color: #04c0a7;
color: #b0e4dd;
}
.resetbtnColor {
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
color: #04c0a7;
color: #A5CBDA;
}
.movebtnColor {
width: 64px;
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 17:14:42
* @LastEditTime: 2023-03-16 13:31:27
*/
// 获取浏览器便签标题
import config from '/public/config'
const title = config.TITLE
import Vue from 'vue'
const title = Vue.prototype.BASE_API.TITLE
export default function getPageTitle (pageTitle) {
if (pageTitle) {
......
......@@ -114,7 +114,7 @@ export function js_strto_time (str_time) {
var date = new Date(str) // 构造一个日期型数据,值为传入的字符串
return date.getTime()
}
// 时间戳转日期
// 时间戳转日期
export function timestampToTime (timestamp) {
var date = new Date(timestamp)//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-'
......@@ -216,7 +216,6 @@ function addRangeBorder (range, ws) {
range.forEach(item => {
let startColNumber = Number(item.s.r), endColNumber = Number(item.e.r);
let startRowNumber = Number(item.s.c), endRowNumber = Number(item.e.c);
console.log(startColNumber);
const test = ws[arr[startRowNumber] + (startColNumber + 1)];
for (let col = startColNumber; col <= endColNumber; col++) {
for (let row = startRowNumber; row <= endRowNumber; row++) {
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......@@ -81,84 +81,84 @@
</template>
<script>
// 地役权登记
import data from "./data"
import qlfQlDyiq from '@/api/qlfQlDyiq'
import tableMixin from '@/mixins/tableMixin.js'
import treeSelect from '@/components/TreeSelect.vue'
export default {
name: "dyiq",
mixins: [tableMixin],
components: {
treeSelect
},
data () {
return {
form: {
XZQDM: '',
QSZT: '',
ZL: '',
BDCQZH: '',
QLR: '',
BDCDYH: '',
// 供役地不动产单元号
GYDBDCDYH: '',
// 需役地不动产单元号
XYDBDCDYH: '',
currentPage: 1
},
tableData: {
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()).concat([
{
label: "操作",
width: 80,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
class='btnColor'
onClick={() => { this.handleEdit(scope.row) }}
>
详情
</el-button>
</div>
)
// 地役权登记
import data from "./data"
import qlfQlDyiq from '@/api/qlfQlDyiq'
import tableMixin from '@/mixins/tableMixin.js'
import treeSelect from '@/components/TreeSelect.vue'
export default {
name: "dyiq",
mixins: [tableMixin],
components: {
treeSelect
},
data () {
return {
form: {
XZQDM: '',
QSZT: '',
ZL: '',
BDCQZH: '',
QLR: '',
BDCDYH: '',
// 供役地不动产单元号
GYDBDCDYH: '',
// 需役地不动产单元号
XYDBDCDYH: '',
currentPage: 1
},
tableData: {
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()).concat([
{
label: "操作",
width: 80,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
class='btnColor'
onClick={() => { this.handleEdit(scope.row) }}
>
详情
</el-button>
</div>
)
}
}
}
]),
data: []
},
pageData: {
total: 0,
pageSize: 15,
current: 1,
]),
data: []
},
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
}
},
methods: {
async featchData () {
try {
this.form = Object.assign(this.form, this.formData)
let { result: { list, total, pages: pageSize, pageNum: current }
} = await qlfQlDyiq.getQlfQlDyiqList(this.form)
this.tableData.data = list
this.pageData = {
pageSize,
current,
total
},
methods: {
async featchData () {
try {
this.form = Object.assign(this.form, this.formData)
let { result: { list, total, pages: pageSize, pageNum: current }
} = await qlfQlDyiq.getQlfQlDyiqList(this.form)
this.tableData.data = list
this.pageData = {
pageSize,
current,
total
}
} catch (error) {
}
} catch (error) {
}
}
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="5">
<el-form-item label="业务号">
<el-input v-model="form.YWH" clearable placeholder="业务号"></el-input>
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -6,7 +6,7 @@
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-col :span="6" class="mb-5">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -6,7 +6,7 @@
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-col :span="6" class="mb-5">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" label-width="106px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -6,7 +6,7 @@
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5">
<el-col :span="5" class="mb-5">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
......
......@@ -5,7 +5,7 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
......
......@@ -40,11 +40,8 @@
mounted () {
this.getdjywltotal();
window.addEventListener("resize", () => {
this.cdata.seriesData = [];
this.config.data = [];
this.getdjywltotal();
window.addEventListener("resize", () => {
this.getdjywltotal();
});
// scroll(tableref.value.$refs.bodyWrapper);//设置滚动
})
},
......
......@@ -39,317 +39,326 @@
</div>
</template>
<script>
import { mapGetters } from "vuex";
import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime();
}
import { mapGetters } from "vuex";
import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime();
}
},
},
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime();
}
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime();
}
},
},
},
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
},
// 搜索表单
pieChartsData: [],
};
},
created () { },
mounted () {
this.getProcessCounts();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true);
},
//查询各区县办件数量
async getProcessCounts () {
this.pieChartsData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
this.form.endTime
);
//获取图表配置项需要的数据
res.length > 0 &&
res.forEach((item) => {
this.pieChartsData.push({
//登记数量
value: item.counts,
//登记数量
name: item.recTypeName,
//登记类型代码
groupId: item.recType,
});
});
res.length &&
this.$nextTick(() => {
// 初始化图表
this.echartInit();
this.barChartInit(res[0].recType);
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
},
// 搜索表单
pieChartsData: [],
};
},
created () { },
mounted () {
this.getProcessCounts();
},
//玫瑰图初始化
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
legend: {
bottom: "2%",
left: "center",
textStyle: {
color: "#fff",
},
},
tooltip: {
trigger: "item",
formatter: "{b} : {c}",
},
series: [
{
name: "各业务类型办理数量",
type: "pie",
radius: [0, 250],
center: ["50%", "45%"],
roseType: "area",
itemStyle: {
borderRadius: 8,
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true);
},
//查询各区县办件数量
async getProcessCounts () {
this.pieChartsData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
this.form.endTime
);
//获取图表配置项需要的数据
res.length > 0 &&
res.forEach((item) => {
this.pieChartsData.push({
//登记数量
value: item.counts,
//登记数量
name: item.recTypeName,
//登记类型代码
groupId: item.recType,
});
});
res.length &&
this.$nextTick(() => {
// 初始化图表
this.echartInit();
this.barChartInit(res[0].recType);
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
};
this.getProcessCounts();
},
//玫瑰图初始化
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
legend: {
bottom: "2%",
left: "center",
textStyle: {
color: "#fff",
},
data: this.pieChartsData,
},
],
});
//添加点击事件
myChart.on("click", function (param) {
_this.barChartInit(param.data.groupId);
});
//默认选中第一个
let index = 1;
myChart.dispatchAction({
type: "highlight",
seriesIndex: 0,
dataIndex: 0,
});
myChart.on("mouseover", function (e) {
if (e.dataIndex != index) {
myChart.dispatchAction({
type: "downplay",
seriesIndex: 0,
dataIndex: index,
});
}
});
myChart.on("mouseout", function (e) {
index = e.dataIndex;
tooltip: {
trigger: "item",
formatter: "{b} : {c}",
},
label: {
color: 'inherit',
},
series: [
{
name: "各业务类型办理数量",
type: "pie",
radius: [0, 250],
center: ["50%", "45%"],
roseType: "area",
itemStyle: {
borderRadius: 8,
},
data: this.pieChartsData,
},
],
});
//添加点击事件
myChart.on("click", function (param) {
_this.barChartInit(param.data.groupId);
});
//默认选中第一个
let index = 1;
myChart.dispatchAction({
type: "highlight",
seriesIndex: 0,
dataIndex: e.dataIndex,
dataIndex: 0,
});
});
},
//柱图初始化
async barChartInit (recType) {
//请求recType对应业务的各区县数据
let { result: res } = await efficient.getProcessDays(
recType,
this.form.startTime,
this.form.endTime
);
//行政区数组
let xzqArr = [];
this.dicData["A20"].forEach((item) => {
xzqArr.push(item.DNAME);
let tempArr = res.filter((i) => {
return i.qxdm == item.DCODE;
myChart.on("mouseover", function (e) {
if (e.dataIndex != index) {
myChart.dispatchAction({
type: "downplay",
seriesIndex: 0,
dataIndex: index,
});
}
});
if (tempArr.length) {
item.avgDay = tempArr[0].avgDay;
item.maxDay = tempArr[0].maxDay;
item.minDay = tempArr[0].minDay;
} else {
item.avgDay = 0;
item.maxDay = 0;
item.minDay = 0;
}
});
//补全无数据行政区后的结果数组
let dealArr = [...this.dicData["A20"]];
let myChartBar = this.$echarts.init(
document.getElementById("myChart-bar")
);
myChartBar.setOption({
color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
tooltip: {
show: true,
trigger: "axis",
textStyle: {
fontSize: 16, // 字体大小
},
extraCssText: "width:220px;height:160px;", // 背景色
},
grid: {
top: 120,
},
legend: {
data: ["最短用时", "平均用时", "最长用时"],
top: 20,
textStyle: {
myChart.on("mouseout", function (e) {
index = e.dataIndex;
myChart.dispatchAction({
type: "highlight",
seriesIndex: 0,
dataIndex: e.dataIndex,
});
});
},
//柱图初始化
async barChartInit (recType) {
//请求recType对应业务的各区县数据
let { result: res } = await efficient.getProcessDays(
recType,
this.form.startTime,
this.form.endTime
);
//行政区数组
let xzqArr = [];
this.dicData["A20"].forEach((item) => {
xzqArr.push(item.DNAME);
let tempArr = res.filter((i) => {
return i.qxdm == item.DCODE;
});
if (tempArr.length) {
item.avgDay = tempArr[0].avgDay;
item.maxDay = tempArr[0].maxDay;
item.minDay = tempArr[0].minDay;
} else {
item.avgDay = 0;
item.maxDay = 0;
item.minDay = 0;
}
});
//补全无数据行政区后的结果数组
let dealArr = [...this.dicData["A20"]];
let myChartBar = this.$echarts.init(
document.getElementById("myChart-bar")
);
myChartBar.setOption({
color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
tooltip: {
show: true,
color: "#fff",
fontSize: "16",
},
},
xAxis: [
{
type: "category",
data: xzqArr,
axisLabel: {
interval: 0,
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
trigger: "axis",
textStyle: {
fontSize: 16, // 字体大小
},
extraCssText: "width:220px;height:160px;", // 背景色
},
grid: {
top: 120,
},
],
yAxis: [
{
type: "value",
name: "单位:天",
nameTextStyle: {
legend: {
data: ["最短用时", "平均用时", "最长用时"],
top: 20,
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
axisLabel: {
textStyle: {
show: true,
},
xAxis: [
{
type: "category",
data: xzqArr,
axisLabel: {
interval: 0,
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
],
yAxis: [
{
type: "value",
name: "单位:天",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
axisLabel: {
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
],
label: {
color: 'inherit',
},
],
series: [
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
series: [
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
barMaxWidth: "60",
name: "最短用时",
data: dealArr.map((item) => item.minDay),
},
barMaxWidth: "60",
name: "最短用时",
data: dealArr.map((item) => item.minDay),
},
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
barMaxWidth: "60",
name: "平均用时",
data: dealArr.map((item) => item.avgDay),
},
barMaxWidth: "60",
name: "平均用时",
data: dealArr.map((item) => item.avgDay),
},
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
barMaxWidth: "60",
name: "最长用时",
data: dealArr.map((item) => item.maxDay),
},
barMaxWidth: "60",
name: "最长用时",
data: dealArr.map((item) => item.maxDay),
},
],
});
],
});
},
},
},
};
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.rows {
margin-left: 100px;
}
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
}
.center {
line-height: 50vh;
text-align: center;
}
.echarts-box {
display: flex;
justify-content: center;
.echarts-box {
display: flex;
justify-content: center;
.chart {
width: 40%;
height: 100%;
float: left;
}
.chart {
width: 40%;
height: 100%;
float: left;
}
.chart-bar {
width: 60%;
.chart-bar {
width: 60%;
}
}
}
.form-clues-content {
flex: 1;
height: 100%;
color: #b6b5b5;
.form-clues-content {
flex: 1;
height: 100%;
color: #b6b5b5;
}
}
}
</style>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -47,277 +47,279 @@
</template>
<script>
import { mapGetters } from "vuex";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
import business from "@/api/business";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime();
}
import { mapGetters } from "vuex";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
import business from "@/api/business";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime();
}
},
},
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime();
}
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime();
}
},
},
},
recTypeArr: [],
chartData: [],
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: "",
},
interval: 50
};
},
mounted () {
// 查询成功率
this.getSuucessRate();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
async getSuucessRate () {
this.recTypeArr = [];
this.chartData = [];
let { result: res } = await business.getSuucessRate(
this.form.startTime,
this.form.endTime,
this.form.qxdm
);
this.chartData = res;
console.log(this.chartData);
let maxData = Math.max.apply(Math, this.chartData.map(item => { return item.failure }))
this.interval = Math.ceil(maxData / 10)
//行政区代码过滤
res.length > 0 &&
res.forEach((item) => {
this.recTypeArr.push(item.recTypeName);
});
this.$nextTick(() => {
// 初始化图表
this.chartData.length && this.echartInit();
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: "",
recTypeArr: [],
chartData: [],
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: "",
},
interval: 50
};
},
mounted () {
// 查询成功率
this.getSuucessRate();
},
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#13E5FF", "#C99E68", "#E873B2", "#ffaf48"],
tooltip: {
trigger: "axis",
formatter: '{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%',
axisPointer: {
type: "cross",
crossStyle: {
color: "#fff",
},
},
},
legend: {
data: ["成功", "失败", "成功率"],
top: '16',
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
xAxis: [
{
type: "category",
data: _this.recTypeArr,
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
async getSuucessRate () {
this.recTypeArr = [];
this.chartData = [];
let { result: res } = await business.getSuucessRate(
this.form.startTime,
this.form.endTime,
this.form.qxdm
);
this.chartData = res;
let maxData = Math.max.apply(Math, this.chartData.map(item => { return item.failure }))
this.interval = Math.ceil(maxData / 10)
//行政区代码过滤
res.length > 0 &&
res.forEach((item) => {
this.recTypeArr.push(item.recTypeName);
});
this.$nextTick(() => {
// 初始化图表
this.chartData.length && this.echartInit();
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: "",
};
this.getSuucessRate();
},
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#13E5FF", "#C99E68", "#E873B2", "#ffaf48"],
tooltip: {
trigger: "axis",
formatter: '{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%',
axisPointer: {
type: "shadow",
},
axisLabel: {
textStyle: {
show: true,
type: "cross",
crossStyle: {
color: "#fff",
fontSize: "16",
},
formatter: function (val) {
let c = document.createElement("canvas");
const ctx = c.getContext("2d");
const arr = val.split("");
arr
.map((item) => ctx.measureText(item).width)
.reduce((pre, next, index) => {
const nLen = pre + next;
if (nLen > 40) {
arr[index - 1] += "...";
return next;
} else {
return nLen;
}
});
c = null;
let ind = arr.findIndex((i) => {
return i.indexOf("...") > -1;
});
let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
return newArr.join("");
},
},
},
],
yAxis: [
{
type: "value",
name: "数量/个",
nameTextStyle: {
legend: {
data: ["成功", "失败", "成功率"],
top: '16',
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
// interval: this.interval,
axisLabel: {
formatter: "{value}",
textStyle: {
show: true,
},
label: {
color: 'inherit',
},
xAxis: [
{
type: "category",
data: _this.recTypeArr,
axisPointer: {
type: "shadow",
},
axisLabel: {
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
formatter: function (val) {
let c = document.createElement("canvas");
const ctx = c.getContext("2d");
const arr = val.split("");
arr
.map((item) => ctx.measureText(item).width)
.reduce((pre, next, index) => {
const nLen = pre + next;
if (nLen > 40) {
arr[index - 1] += "...";
return next;
} else {
return nLen;
}
});
c = null;
let ind = arr.findIndex((i) => {
return i.indexOf("...") > -1;
});
let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
return newArr.join("");
},
},
},
],
yAxis: [
{
type: "value",
name: "数量/个",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
// interval: this.interval,
axisLabel: {
formatter: "{value}",
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
},
{
type: "value",
name: "成功率",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
splitNumber: 2,
axisLabel: {
formatter: "{value} %",
textStyle: {
show: true,
{
type: "value",
name: "成功率",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
splitNumber: 2,
axisLabel: {
formatter: "{value} %",
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
},
],
series: [
{
name: "成功",
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
],
series: [
{
name: "成功",
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
barMaxWidth: '60',
data: this.chartData.map((item) => {
return item.success;
}),
},
barMaxWidth: '60',
data: this.chartData.map((item) => {
return item.success;
}),
},
{
name: "失败",
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
{
name: "失败",
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
barMaxWidth: '60',
data: this.chartData.map((item) => {
return item.failure;
}),
},
barMaxWidth: '60',
data: this.chartData.map((item) => {
return item.failure;
}),
},
{
name: "成功率",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
{
name: "成功率",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
type: "line",
barMaxWidth: '60',
yAxisIndex: 1,
data: this.chartData.map((item) => {
return item.rate;
}),
},
type: "line",
barMaxWidth: '60',
yAxisIndex: 1,
data: this.chartData.map((item) => {
return item.rate;
}),
},
],
});
],
});
},
},
},
};
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.rows {
margin-left: 100px;
}
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
color: #b6b5b5
}
.center {
line-height: 50vh;
text-align: center;
color: #b6b5b5;
}
.echarts-box {
display: flex;
justify-content: center;
height: 500px;
.echarts-box {
display: flex;
justify-content: center;
height: 500px;
.chart {
width: 100%;
height: 100%;
.chart {
width: 100%;
height: 100%;
}
}
}
.form-clues-content {
flex: 1;
height: 100%;
.form-clues-content {
flex: 1;
height: 100%;
}
}
}
</style>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -47,204 +47,207 @@
</template>
<script>
import { mapGetters } from "vuex";
import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime();
}
import { mapGetters } from "vuex";
import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime();
}
},
},
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime();
}
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime();
}
},
},
},
// 搜索表单
valueTime: "",
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: "",
},
chartData: []
};
},
mounted () {
// 查询业务量
this.getProcessCounts();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
async getProcessCounts () {
this.chartData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
this.form.endTime,
this.form.qxdm
);
//获取图表配置项需要的数据
this.chartData = res;
this.$nextTick(() => {
// 初始化图表
this.chartData.length && this.echartInit(this.chartData)
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: ""
// 搜索表单
valueTime: "",
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: "",
},
chartData: []
};
},
mounted () {
// 查询业务量
this.getProcessCounts();
},
//图表渲染
echartInit (chartArr) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#13E5FF"],
tooltip: {
show: true,
trigger: "axis",
textStyle: {
fontSize: 16, // 字体大小
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
async getProcessCounts () {
this.chartData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
this.form.endTime,
this.form.qxdm
);
//获取图表配置项需要的数据
this.chartData = res;
this.$nextTick(() => {
// 初始化图表
this.chartData.length && this.echartInit(this.chartData)
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
qxdm: ""
};
this.getProcessCounts();
},
//图表渲染
echartInit (chartArr) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#13E5FF"],
tooltip: {
show: true,
trigger: "axis",
textStyle: {
fontSize: 16, // 字体大小
},
},
},
grid: {
top: 120,
bottom: 100,
},
xAxis: [
{
type: "category",
data: chartArr.map(item => item.recTypeName),
axisLabel: {
interval: 0,
rotate: 40,
formatter: function (val) {
let c = document.createElement("canvas");
const ctx = c.getContext("2d");
const arr = val.split("");
arr
.map((item) => ctx.measureText(item).width)
.reduce((pre, next, index) => {
const nLen = pre + next;
if (nLen > 60) {
arr[index - 1] += "...";
return next;
} else {
return nLen;
}
grid: {
top: 120,
bottom: 100,
},
label: {
color: 'inherit',
},
xAxis: [
{
type: "category",
data: chartArr.map(item => item.recTypeName),
axisLabel: {
interval: 0,
rotate: 40,
formatter: function (val) {
let c = document.createElement("canvas");
const ctx = c.getContext("2d");
const arr = val.split("");
arr
.map((item) => ctx.measureText(item).width)
.reduce((pre, next, index) => {
const nLen = pre + next;
if (nLen > 60) {
arr[index - 1] += "...";
return next;
} else {
return nLen;
}
});
c = null;
let ind = arr.findIndex((i) => {
return i.indexOf("...") > -1;
});
c = null;
let ind = arr.findIndex((i) => {
return i.indexOf("...") > -1;
});
let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
return newArr.join("");
},
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
return newArr.join("");
},
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
},
],
yAxis: [
{
type: "value",
name: "数量/个",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
axisLabel: {
textStyle: {
show: true,
],
yAxis: [
{
type: "value",
name: "数量/个",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
axisLabel: {
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
},
],
],
series: [
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
series: [
{
type: "bar",
//显示数值
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: "top", //在上方显示
},
},
},
barMaxWidth: '60',
data: chartArr.map(item => item.counts),
},
barMaxWidth: '60',
data: chartArr.map(item => item.counts),
},
],
});
],
});
},
},
},
};
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.rows {
margin-left: 100px;
}
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
color: #b6b5b5;
}
.center {
line-height: 50vh;
text-align: center;
color: #b6b5b5
}
.echarts-box {
display: flex;
justify-content: center;
height: 500px;
.echarts-box {
display: flex;
justify-content: center;
height: 500px;
.chart {
width: 100%;
height: 100%;
}
}
.chart {
width: 100%;
.form-clues-content {
flex: 1;
height: 100%;
}
}
.form-clues-content {
flex: 1;
height: 100%;
}
}
</style>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 14:08:59
* @LastEditTime: 2023-03-16 13:44:11
*/
import filter from '@/utils/filter.js'
class data extends filter {
......@@ -51,7 +51,7 @@ class data extends filter {
{
prop: "bizMsgid",
label: "业务报文ID",
minWidth: 100,
minWidth: 150,
},
{
prop: "createdate",
......
......@@ -59,7 +59,7 @@
<el-col :span="3">
<el-form-item label="检查结果" prop="jcjg">
<el-select v-model="form.jcjg" class="width100" clearable placeholder="检查结果">
<el-option v-for="item in dicData['sysSjsbCkeck']" :key="item.DCODE" :label="item.DNAME"
<el-option v-for="item in dicData['sysSjsbCkeck']" class="lastdom" :key="item.DCODE" :label="item.DNAME"
:value="item.DCODE">
</el-option>
</el-select>
......@@ -69,7 +69,7 @@
<el-col :span="3">
<el-form-item label="入库结果" prop="rkjg">
<el-select v-model="form.rkjg" class="width100" clearable placeholder="入库结果">
<el-option v-for="item in dicData['sysSjsbStorage']" :key="item.DCODE" :label="item.DNAME"
<el-option v-for="item in dicData['sysSjsbStorage']" class="lastdom" :key="item.DCODE" :label="item.DNAME"
:value="item.DCODE">
</el-option>
</el-select>
......@@ -99,201 +99,205 @@
</template>
<script>
// 接收报文查询
// 引入表格头部数据
import data from "./data";
// 引入table混入方法
import tableMixin from "@/mixins/tableMixin.js";
import { getReceiveDataReportPage } from "@/api/dataReport.js";
// 引入详情弹框
import dataDetails from "@/components/EditDialog";
//引入日期处理方法
import { timeFormat } from "@/utils/operation";
export default {
name: "jsbwcx",
mixins: [tableMixin],
// 注册组件
components: {
dataDetails,
},
data () {
return {
// 接收报文查询
// 引入表格头部数据
import data from "./data";
// 引入table混入方法
import tableMixin from "@/mixins/tableMixin.js";
import { getReceiveDataReportPage } from "@/api/dataReport.js";
// 引入详情弹框
import dataDetails from "@/components/EditDialog";
//引入日期处理方法
import { timeFormat } from "@/utils/operation";
export default {
name: "jsbwcx",
mixins: [tableMixin],
// 注册组件
components: {
dataDetails,
},
data () {
return {
pickerOptionsStart: {
disabledDate: (time) => {
let endDateVal = this.form.receiveEndTime;
if (endDateVal) {
return (
time.getTime() >=
new Date(endDateVal).getTime()
);
}
pickerOptionsStart: {
disabledDate: (time) => {
let endDateVal = this.form.receiveEndTime;
if (endDateVal) {
return (
time.getTime() >=
new Date(endDateVal).getTime()
);
}
},
},
},
pickerOptionsEnd: {
disabledDate: (time) => {
let beginDateVal = this.form.receiveStartTime;
if (beginDateVal) {
return (
time.getTime() <
new Date(beginDateVal).getTime()
);
}
pickerOptionsEnd: {
disabledDate: (time) => {
let beginDateVal = this.form.receiveStartTime;
if (beginDateVal) {
return (
time.getTime() <
new Date(beginDateVal).getTime()
);
}
},
},
},
// 表格数据
form: {
qxdm: "", // 行政区
receiveStartTime: "", // 开始日期
receiveEndTime: "", // 结束日期
bdcdyh: "", // 不动产单元号
ywh: "", // 业务号
qllx: "", // 权利类型
djlx: "", // 登记类型
jcjg: "", // 检查结果
rkjg: "", //入库结果
currentPage: 1
},
// 校验规则
rules: {
pcode: [{ required: true, message: "请选择行政区", trigger: "change" }],
startTime: [
{ required: true, message: "请选择开始日期", trigger: "change" },
],
endTime: [
{ required: true, message: "请选择结束日期", trigger: "change" },
],
bdcdyh: [
{ required: true, message: "不动产单元号", trigger: "change" },
],
ywmc: [{ required: true, message: "业务名称", trigger: "change" }],
jcjg: [{ required: true, message: "检查结果", trigger: "change" }],
rkjg: [{ required: true, message: "入库结果", trigger: "change" }],
},
// 表格数据
tableData: {
// 表格头部
columns: [
{
label: "序号",
type: "index",
width: "50",
index: this.indexMethod,
}
]
.concat(data.columns())
.concat([
// 表格数据
form: {
qxdm: "", // 行政区
receiveStartTime: "", // 开始日期
receiveEndTime: "", // 结束日期
bdcdyh: "", // 不动产单元号
ywh: "", // 业务号
qllx: "", // 权利类型
djlx: "", // 登记类型
jcjg: "", // 检查结果
rkjg: "", //入库结果
currentPage: 1
},
// 校验规则
rules: {
pcode: [{ required: true, message: "请选择行政区", trigger: "change" }],
startTime: [
{ required: true, message: "请选择开始日期", trigger: "change" },
],
endTime: [
{ required: true, message: "请选择结束日期", trigger: "change" },
],
bdcdyh: [
{ required: true, message: "不动产单元号", trigger: "change" },
],
ywmc: [{ required: true, message: "业务名称", trigger: "change" }],
jcjg: [{ required: true, message: "检查结果", trigger: "change" }],
rkjg: [{ required: true, message: "入库结果", trigger: "change" }],
},
// 表格数据
tableData: {
// 表格头部
columns: [
{
label: "操作",
width: "90",
render: (h, scope) => {
return (
<div>
{
scope.row.receiveState == 2 ?
<el-button
type="text"
class='successColor'
onClick={() => {
this.handleDetails(scope.row);
}}
>
修改
</el-button> :
<el-button
type="text"
class='btnColor'
onClick={() => {
this.handleDetails(scope.row);
}}
>
详情
</el-button>
}
</div>
)
label: "序号",
type: "index",
width: "50",
index: this.indexMethod,
}
]
.concat(data.columns())
.concat([
{
label: "操作",
width: "90",
render: (h, scope) => {
return (
<div>
{
scope.row.receiveState == 2 ?
<el-button
type="text"
class='successColor'
onClick={() => {
this.handleDetails(scope.row);
}}
>
修改
</el-button> :
<el-button
type="text"
class='btnColor'
onClick={() => {
this.handleDetails(scope.row);
}}
>
详情
</el-button>
}
</div>
)
}
}
]),
// 表格列表数据
total: 0,
data: [],
},
// 分页
pageData: {
total: 0,
pageSize: 10,
current: 1
},
title: "",
};
},
methods: {
//截止日期变化
endTimeChange (val) {
this.form.receiveEndTime = timeFormat(new Date(val), true)
},
// 初始化数据
queryClick () {
getReceiveDataReportPage({ ...this.form, ...this.formData }).then(
(res) => {
if (res.code === 200) {
let { total, records, current } = res.result;
this.tableData.total = total;
this.tableData.data = records ? records : [];
this.pageData.current = current
}
]),
// 表格列表数据
total: 0,
data: [],
}
)
},
// 分页
pageData: {
total: 0,
pageSize: 10,
current: 1
// 重置
resetForm () {
this.$refs.ruleForm.resetFields();
this.form.currentPage = 1
this.queryClick();
},
title: "",
};
},
methods: {
//截止日期变化
endTimeChange (val) {
this.form.receiveEndTime = timeFormat(new Date(val), true)
},
// 初始化数据
queryClick () {
getReceiveDataReportPage({ ...this.form, ...this.formData }).then(
(res) => {
if (res.code === 200) {
let { total, records, current } = res.result;
this.tableData.total = total;
this.tableData.data = records ? records : [];
this.pageData.current = current
}
}
)
},
// 重置
resetForm () {
this.$refs.ruleForm.resetFields();
this.form.currentPage = 1
this.queryClick();
},
featchData () {
this.queryClick();
},
// 结果
handleResult (row) {
this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row)
},
// 详情
handleDetails (row) {
if (row.rectypeName) {
this.title = row.rectypeName
} else {
let Title = ''
this.dicData['A21'].map(item => {
if (item.DCODE == row.DJLX || item.DCODE == row.djlx) {
Title = item.DNAME
return
}
})
featchData () {
this.queryClick();
},
// 结果
handleResult (row) {
this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row)
},
// 详情
handleDetails (row) {
if (row.rectypeName) {
this.title = row.rectypeName
} else {
let Title = ''
this.dicData['A21'].map(item => {
if (item.DCODE == row.DJLX || item.DCODE == row.djlx) {
Title = item.DNAME
return
}
})
this.dicData['A8'].map(item => {
if (item.DCODE == row.QLLX || item.DCODE == row.qllx) {
Title += '-' + item.DNAME
return
}
})
this.title = Title
}
this.$refs.editLog.isShow(row);
if (row.receiveState == 2) {
this.$store.dispatch('business/setReportLogEdit')
} else {
this.$store.dispatch('business/setEdit')
}
},
this.dicData['A8'].map(item => {
if (item.DCODE == row.QLLX || item.DCODE == row.qllx) {
Title += '-' + item.DNAME
return
}
})
this.title = Title
}
this.$refs.editLog.isShow(row);
if (row.receiveState == 2) {
this.$store.dispatch('business/setReportLogEdit')
} else {
this.$store.dispatch('business/setEdit')
}
},
}
}
}
</script>
<style scoped lang="scss">
// 引入表单整体样式
// // @import "~@/styles/public.scss";
// 引入当前css
@import "./index.scss";
// 引入表单整体样式
// // @import "~@/styles/public.scss";
// 引入当前css
@import "./index.scss";
.lastdom:nth-child(3) {
margin-bottom: 0px;
}
</style>
......
......@@ -59,11 +59,9 @@
//根据子系统code获取子系统详细信息
getAction(api.subsystem, params).then((res) => {
if (res.status === 1) {
console.log(" res.contentJJJGGG", res.content);
this.productName = res.content[0].name;
this.$store.dispatch("products/setData", res.content[0].code);
sessionStorage.setItem("products", res.content[0].code)
console.log("jjjggg的product");
} else {
this.$message.error({ message: res.message, showClose: true });
}
......
......@@ -104,6 +104,8 @@
this.$store.dispatch('business/setInitRules', "layout1")
//存储token
localStorage.setItem("token", `Bearer ${res.content}`);
this.$store.dispatch("products/setData", res.content[0].code);
sessionStorage.setItem("products", res.content[0].code)
//登录成功后需判断有无重定向,没有重定向则跳转首页
this.$router.replace(this.$route.query.redirect || "/");
} else {
......
......@@ -484,8 +484,7 @@ export default {
.regularHeight {
display: flex;
flex-direction: column;
flex: 1;
height: 100%;
height: 87vh;
margin-bottom: 5px;
.editDialogBox-con,
......
......@@ -35,7 +35,7 @@
</el-form-item>
</el-form>
<div class="bottom-wrapper">
<btn nativeType="cx" type="primary" @click="updateInfo">更新信息</btn>
<btn nativeType="cx" type="primary" @click="updateInfo">更新信息</btn>
</div>
</div>
</div>
......
......@@ -2,7 +2,7 @@
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 20:54:28
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-15 15:45:01
* @LastEditTime: 2023-03-16 19:40:40
* @FilePath: \上报\bdcjg-web\src\views\system\information\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
......@@ -14,11 +14,11 @@
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="4" class="btnColRight">
<btn nativeType="cx" type="primary" @click="information">
<el-col class="btnColRight">
<btn nativeType="cx" @click="information">
基本信息
</btn>
<btn nativeType="cz" @click="password">
<btn nativeType="cx" @click="password">
修改密码
</btn>
</el-col>
......@@ -73,18 +73,11 @@
display: flex;
flex-direction: column;
.btnColRight {
margin-top: 10px;
display: flex;
justify-content: center;
// background-color: cadetblue;
height: 60px;
.button:nth-child(1) {
position: absolute;
left: 30px;
top: 20px;
}
.button:nth-child(2) {
position: absolute;
top: 20px;
left: 120px;
}
height: 30px;
}
/deep/.content {
.el-input__inner {
......
......@@ -214,11 +214,10 @@
// @import "~@/styles/public.scss";
.btnColRight {
height: 60px;
height: 30px;
.button {
position: absolute;
left: 30px;
top: 20px;
}
}
/deep/.el-table__expand-icon {
......
......@@ -180,7 +180,7 @@
class="configurationbtnColor"
icon="el-icon-video-pause"
onClick={() => {
this.getUserList(scope.row);
this.getList(scope.row);
}}
>
配置
......@@ -351,7 +351,7 @@
},
// 配置
getUserList (row) {
getList (row) {
this.getTableList()
const params = {};
const queryOptions = {
......@@ -485,11 +485,10 @@
// @import "~@/styles/public.scss";
.btnColRight {
height: 60px;
height: 30px;
.button {
position: absolute;
left: 30px;
top: 20px;
}
}
/deep/.el-button.is-disabled.el-button--text {
......
......@@ -168,7 +168,6 @@
// 获取授权主体的菜单权限
// getMenuAuthorityList
menulist (operationList, id, Code, menutablelistData, operationCodes) {
console.log("Code", Code);
this.selectedSubsystemCode = Code
this.menuList = menutablelistData;
getRoleAuthorityList(
......
......@@ -113,7 +113,6 @@ export default {
this.form = Object.assign(this.form, this.formData)
let { result } = await sjsbTask.getTaskListByName(this.form)
this.tableData.data = result.list
console.log(this.tableData.data, 'fffffffffffffffffff')
} catch (error) {
this.message = error
}
......
......@@ -332,11 +332,10 @@
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.btnColRight {
height: 60px;
height: 30px;
.button {
position: absolute;
left: 30px;
top: 20px;
}
}
/deep/.el-button.is-disabled.el-button--text {
......