68b86f0e by 任超

Merge branch 'master' into dev

2 parents 20dc04b9 9076825c
Showing 58 changed files with 610 additions and 522 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 () {
......
......@@ -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);//设置滚动
})
},
......
......@@ -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,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 {
......