a928ac25 by xiaomiao
2 parents 92ccd50b 4465b888
Showing 59 changed files with 1429 additions and 659 deletions
###
# @Description:
# @Autor: renchao
# @LastEditTime: 2023-03-02 15:44:12
###
# just a flag
ENV = 'development'
NODE_ENV=development
......
/*
* @Description: 数据上报模块api文件
* @Autor: renchao
* @LastEditTime: 2023-03-01 16:33:08
* @LastEditTime: 2023-03-03 14:38:57
*/
/* 引入axios请求文件 */
import request from '@/utils/request'
......@@ -110,3 +110,16 @@ export function restartGenerateXml (bsmReport) {
method: 'post'
})
}
/**
* @description: 编辑报文头
* @param {*} data
* @author: renchao
*/
export function edit (data) {
return request({
url: urlHeader + 'edit',
method: 'post',
data
})
}
\ No newline at end of file
......
/*
* @Description: 登薄日志
* @Autor: renchao
* @LastEditTime: 2023-03-01 17:09:38
* @LastEditTime: 2023-03-02 13:45:53
*/
/* 引入请求文件 */
import request from '@/utils/request'
/* 引入配置文件 */
import SERVER from './config'
const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/RecordLog/'
/**
* @description: 登簿日志分页
* @author: renchao
......@@ -35,4 +34,29 @@ export function getDetail (dbBsm) {
}
})
}
/**
* @description: 详情页面编辑
* @param {*} data
* @author: renchao
*/
export function edit (data) {
return request({
url: urlHeader + 'edit',
method: 'post',
data
})
}
/**
* @description: 登薄日志重新生成报文
* @param {*} dbBsm
* @author: renchao
*/
export function regenerateDbXml (dbBsm) {
return request({
url: urlHeader + 'regenerateDbXml',
method: 'get',
params: {
dbBsm: dbBsm
}
})
}
......
<template>
<el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter"
:visible.sync="dialogVisible" width="88%">
:visible.sync="dialogVisible" width="92%">
<div slot="title" class="dialog_title" ref="dialogTitle">
{{ title || '标题' }}
{{ title || '详情' }}
</div>
<div class="regularHeight">
<div class="editDialogBox-box">
......@@ -11,73 +11,85 @@
<el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane>
</el-tabs>
<div class="dialog-from" v-if="titleName == 'sjmx'">
<div class="dialog-from item-content-input" v-if="titleName == 'sjmx'">
<el-row>
<el-col :span="5">
<span>业务报文ID:</span>
<p>{{ dataReport.BizMsgId }}</p>
<el-select v-model="dataReport.BizMsgId" :disabled="$store.state.business.Edit">
<el-option v-for="item in bwoptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="6">
<span>接入报文ID:</span>
<p>{{ dataReport.ASID }}</p>
<span>ASID:</span>
<el-input v-model="dataReport.ASID" :disabled="$store.state.business.Edit" maxLength="5"></el-input>
</el-col>
<el-col :span="6">
<span>行政区划编码:</span>
<p>{{ dataReport.AreaCode }}</p>
<el-input v-model="dataReport.AreaCode" :disabled="$store.state.business.Edit"></el-input>
</el-col>
<el-col :span="7">
<span>上次不动产单元号:</span>
<p>{{ dataReport.PreEstateNum }}</p>
<el-input v-model="dataReport.PreEstateNum" :disabled="$store.state.business.Edit"></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>业务编码:</span>
<p>{{ dataReport.RecType }}</p>
<el-input v-model="dataReport.RecType" :disabled="$store.state.business.Edit"></el-input>
</el-col>
<el-col :span="6">
<span>权利类型:</span>
<p>{{ this.dicStatus(dataReport.RightType, 'A8') }}</p>
<el-select v-model="dataReport.RightType" :disabled="$store.state.business.Edit">
<el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-col>
<el-col :span="6">
<span>登记类型:</span>
<p>{{ this.dicStatus(dataReport.RegType, 'A21') }}</p>
<el-select v-model="dataReport.RegType" :disabled="$store.state.business.Edit">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-col>
<el-col :span="7">
<span>不动产权证书数量:</span>
<p>{{ dataReport.CertCount }}</p>
<el-input v-model="dataReport.CertCount" :disabled="$store.state.business.Edit"
oninput="if(value.length > 8) value=value.slice(0, 8)"></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>创建时间:</span>
<p>{{ dataReport.createDate }}</p>
<el-date-picker v-model="dataReport.createDate" clearable disabled type="date" value-format="yyyy-MM-dd">
</el-date-picker>
</el-col>
<el-col :span="6">
<span>业务流水号:</span>
<p>{{ dataReport.RecFlowID }}</p>
<el-input v-model="dataReport.RecFlowID" :disabled="$store.state.business.Edit"></el-input>
</el-col>
<el-col :span="6">
<span>宗地/宗海代码:</span>
<p>{{ dataReport.ParcelID }}</p>
<el-input v-model="dataReport.ParcelID" :disabled="$store.state.business.Edit"></el-input>
</el-col>
<el-col :span="7">
<span>证明数量:</span>
<p>{{ dataReport.ProofCount }}</p>
<el-input v-model="dataReport.ProofCount" :disabled="$store.state.business.Edit"
oninput="if(value.length > 8) value=value.slice(0, 8)"></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-col :span="7">
<span>不动产单元号:</span>
<p>{{ dataReport.EstateNum }}</p>
<el-input v-model="dataReport.EstateNum" :disabled="$store.state.business.Edit"></el-input>
</el-col>
<el-col :span="8">
<el-col :span="7">
<span>登记机构:</span>
<p>{{ dataReport.RegOrgID }}</p>
<el-input v-model="dataReport.RegOrgID" :disabled="$store.state.business.Edit"></el-input>
</el-col>
<el-col :span="11">
<span>上次不动产权证号/不动产登记证明:</span>
<p>{{ dataReport.PreCertID }}</p>
<el-input v-model="dataReport.PreCertID" :disabled="$store.state.business.Edit"></el-input>
</el-col>
</el-row>
</div>
......@@ -107,7 +119,7 @@
</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>
<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>
......@@ -116,10 +128,13 @@
</template>
<script>
import axios from "axios";
import SERVER from '@/api/config'
const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/'
import { mapGetters } from "vuex";
import JsonEditor from "@/components/JsonEditor.vue";
import Xyjg from "./Result";
import { getTabsDetail, getXml, getReportDetail, restartGenerateXml } from "@/api/dataReport.js";
import { getTabsDetail, getXml, getReportDetail, restartGenerateXml, edit } from "@/api/dataReport.js";
export default {
components: { JsonEditor, Xyjg },
props: {
......@@ -142,31 +157,31 @@ export default {
},
data () {
return {
key: 0,
resultInfo: '',
titleName: 'sjmx',
// 报文list
bwoptions: [],
dataReport: {},
index: 0,
bsmYwsjb: "",
ruleFormList: {
bizMsgID: "",
asid: "",
areaCode: "",
preestateNum: "",
recType: "",
rightType: "",
regType: "",
certCount: "",
createDate: "",
recFlowID: "",
regOrgID: "",
prllfCount: "",
parcelID: "",
estateNum: "",
preCertID: "",
digitalSign: "",
BizMsgId: "", // 业务报文ID
ASID: "", // ASID
AreaCode: "", //行政区划编码
PreEstateNum: "", //上次不动产单元号
RecType: "", // 业务编码
RightType: "", // 权利类型
RegType: "", //登记类型
CertCount: "", //不动产权证书数量
createDate: "", //创建时间
RecFlowID: "", // 业务流水号
ParcelID: "", //宗地/宗海代码
ProofCount: "", //证明数量
EstateNum: "", // 不动产单元号
RegOrgID: "", // 登记机构
PreCertID: "", //次不动产权证号/不动产登记证明
},
images: require("./images/success.gif"),
dialogVisible: false,
......@@ -192,18 +207,22 @@ export default {
handleTitleTab (val) {
},
isShow (item) {
this.dataReport = item;
this.$set(this.bwoptions, 0, {
value: item.bizMsgid,
label: item.bizMsgid,
})
this.$set(this.bwoptions, 1, {
value: item.bizMsgid + 'CBXZ',
label: item.bizMsgid + 'CBXZ',
})
this.$set(this.bwoptions, 2, {
value: item.bizMsgid + 'BBXZ',
label: item.bizMsgid + 'BBXZ',
})
this.titleName = 'sjmx';
this.dialogVisible = true;
//获取表头列表
getTabsDetail({ bsmReport: this.dataReport.bsmReport || this.dataReport.bsmSjsb }).then((res) => {
if (res.code == 200) {
this.headerList = res.result;
this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName
this.bsmYwsjb = this.headerList[0].bsmYwsjb;
this.editItem = this.loadView(this.activeName);
}
});
this._getList(item)
//不动产数据查询上报详情
getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => {
if (res.code == 200) {
......@@ -217,6 +236,17 @@ export default {
})
}
},
// 获取列表接口
_getList (data) {
getTabsDetail({ bsmReport: data.bsmReport || data.bsmSjsb }).then((res) => {
if (res.code == 200) {
this.headerList = res.result;
this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName
this.bsmYwsjb = this.headerList[0].bsmYwsjb;
this.editItem = this.loadView(this.activeName);
}
});
},
changeList (val) {
let _index = val.index;
if (_index > this.index) {
......@@ -244,38 +274,63 @@ export default {
* @description: 提交
* @author: renchao
*/
submitForm: _.debounce(function () {
this.$refs["editItem"].handleUpdateForm()
.then((res) => {
if (res == 200) {
submitForm: _.debounce(async function () {
let _this = this
// 上报请求头修改
try {
var headRes = await axios.post('/api' + urlHeader + 'edit', this.dataReport,
{
headers: {
'Authorization': sessionStorage.getItem("token") || ""
}
})
if (headRes.code == 200) {
_this._getList(_this.dataReport)
}
} catch (error) {
this.$message({
message: '报文头修改出错',
type: 'error'
})
}
let listRes = await this.$refs["editItem"].handleUpdateForm()
if (headRes.data?.code == 200 && listRes == 200) {
this.$message({
message: '修改成功',
type: 'success'
})
}
})
.catch(function (error) {
this.$alert(error, "提示", {
confirmButtonText: "确定",
type: "error"
})
})
}, 500),
/**
* @description: 重新上报
* @author: renchao
*/
handleResubmit: _.debounce(function () {
restartGenerateXml(this.dataReport.bsmSjsb || this.dataReport.bsmReport).then((res) => {
if (res.code == 200) {
this.resultInfo = res.message
handleResubmit () {
let _this = this
this.$confirm('重新生成报文,是否上报省厅?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
createXml()
}).catch(() => {
this.$message({
message: '生成成功',
type: 'info',
message: '已取消删除'
})
})
function createXml () {
restartGenerateXml(_this.dataReport.bsmSjsb || _this.dataReport.bsmReport).then((res) => {
if (res.code == 200) {
_this.resultInfo = res.message
_this.$message({
message: '修改成功',
type: 'success'
})
}
})
}, 500)
}
}
}
}
</script>
......@@ -374,7 +429,7 @@ export default {
padding-right: 1px;
margin-bottom: 10px;
border-top: none;
height: 45vh;
height: 44vh;
}
/deep/.editDialogBox {
......@@ -404,5 +459,53 @@ export default {
.el-dialog__wrapper {
overflow: hidden;
}
.dialog-from {
padding-top: 0;
.el-col {
justify-content: space-between;
}
.bz {
height: 100%;
position: relative;
top: 3px;
}
/deep/.el-select {
padding-right: 15px;
}
/deep/.el-icon-circle-close {
display: none;
}
/deep/.el-input__suffix {
right: -25px !important;
top: -5px;
}
/deep/.el-select,
/deep/.el-input {
flex: 1;
width: 100%;
}
/deep/.el-textarea__inner {
border: none !important;
margin: 0;
}
&_header {
margin: 0 -5px !important;
}
&_title {
font-size: 18px;
color: #d7eaee;
margin: 3px 0;
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-07 09:15:01
-->
<template>
<div class="app-wrapper">
<div class="app-wrapper jgWrapper">
<navbar />
<div class="appMain">
<app-main />
......@@ -28,6 +33,9 @@ export default {
}
}
</script>
<style lang="scss">
@import "~@/styles/jgSidebar.scss";
</style>
<style lang="scss" scoped>
@import "~@/styles/mixin.scss";
......
......@@ -22,6 +22,6 @@ export default {
box-sizing: border-box;
flex: 1;
width: 100%;
margin-right: 15px;
// background-color: #ffffff;
}
</style>
......
......@@ -4,11 +4,7 @@
<div class="logo">
<img :src="require('@/image/logo.png')" alt="" />
</div>
<!-- <div class="backdrop">
<Breadcrumb />
</div> -->
<div class="right-menu">
<div class="dataView d-center pointer" @click="handleDataView">大屏展示</div>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand">
<div class="avatar-wrapper">
<span style="padding-right:10px">{{ name }}</span>
......@@ -24,10 +20,10 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from './Breadcrumb'
import defaultSettings from '@/settings'
export default {
import { mapGetters } from 'vuex'
import Breadcrumb from './Breadcrumb'
import defaultSettings from '@/settings'
export default {
components: {
Breadcrumb
},
......@@ -54,10 +50,10 @@
}
}
}
}
}
</script>
<style lang="scss" scoped>
.navbar-con {
.navbar-con {
position: relative;
.logo {
......@@ -65,23 +61,14 @@
font-size: 26px;
font-weight: 700;
}
}
.dataView {
color: #fff;
width: 120px;
height: 32px;
background: url("../../image/dp.png");
background-size: cover;
margin-right: 20px;
}
}
.NoticeBar {
.NoticeBar {
position: absolute;
bottom: 0;
}
}
.el-dropdown-menu {
.el-dropdown-menu {
padding: 0 !important;
border: 1px solid #ebeef5;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
......@@ -114,21 +101,17 @@
background: #f6f7f9;
color: #4a4a4a;
}
}
}
.navbar {
.navbar {
height: $headerHeight;
overflow: hidden;
position: relative;
// background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色
// box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
background: #0d1230;
background: #3D59C4;
display: flex;
align-items: center;
padding-right: 20px;
justify-content: space-between;
margin-bottom: 10px;
.header-logo {
width: 300px;
}
......@@ -246,5 +229,5 @@
}
}
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-06 16:18:21
-->
<template>
<div>
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText"
:unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical">
<!-- 权限菜单 -->
<sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />
<sidebar-item v-for="route in permission_routes.slice(3)" :key="route.path" :item="route"
:base-path="route.path" />
<!-- 菜单全部展示 -->
<!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
</el-menu>
......@@ -13,20 +19,22 @@
</template>
<script>
import { mapGetters } from 'vuex'
import Logo from './Logo'
import defaultSettings from '@/settings'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import { asyncRoutes } from '@/router'
export default {
import { mapGetters } from 'vuex'
import Logo from './Logo'
import defaultSettings from '@/settings'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import { asyncRoutes } from '@/router'
export default {
components: { SidebarItem, Logo },
data () {
return {
title: defaultSettings.title
}
},
created () {
console.log(this.permission_routes);
},
computed: {
...mapGetters(['permission_routes', 'sidebar']),
activeMenu () {
......@@ -44,5 +52,5 @@
return asyncRoutes
}
}
}
}
</script>
\ No newline at end of file
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-07 09:11:01
-->
<template>
<div class="app-wrapper">
<div class="app-wrapper scWrapper">
<navbar />
<div class="main-container">
<sidebar class="sidebar-container" />
......@@ -29,15 +34,17 @@ export default {
}
}
</script>
<style lang="scss" scoped>
<style lang="scss">
@import "~@/styles/mixin.scss";
@import '~@/styles/sbSidebar.scss';
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
background-color: $containerbg;
// background-color: $containerbg;
padding: 0;
&.mobile.openSidebar {
position: fixed;
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-07 09:43:25
*/
import router from "./router";
import store from "./store";
import { getMenuInfo } from "@/api/user";
......@@ -63,6 +68,7 @@ router.beforeEach(async (to, from, next) => {
//请求用户信息
if (!hasUser) {
store.dispatch("user/getUserInfo");
import("@/styles/public.scss");
}
if (hasAddRoute) {
next();
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-07 09:38:47
*/
import { getUserInfo } from "@/api/user";
const state = {
hasUser: false,
......@@ -18,9 +23,6 @@ const actions = {
getUserInfo ({ commit }) {
return new Promise(async (resolve) => {
let { result: res } = await getUserInfo();
// require.ensure([], function (require) {
// require("@/assets/sass/smart-lift/index.scss");
// });
commit("SET_USERINFO", res);
resolve(true);
});
......
......@@ -60,6 +60,13 @@
}
}
.item-content-input {
/deep/.el-input__inner {
border: none !important;
text-align: right;
}
}
.regularHeight {
height: 80vh;
display: flex;
......
// cover some element-ui styles
.el-breadcrumb__inner,
.el-breadcrumb__inner a {
font-weight: 400 !important;
......@@ -531,29 +530,34 @@ tr:hover {
background-color: #031a46;
border: 1px solid #5f82c7;
.el-message-box__title{
.el-message-box__title {
color: white;
}
.el-message-box__content{
.el-message-box__content {
color: white;
}
}
// 上级菜单
// 上级菜单
.el-cascader__dropdown {
background-color: #031a46;
border: 1px solid #5f82c7;
}
.el-cascader-menu{
.el-cascader-menu {
color: white;
}
.el-radio
{
.el-cascader-menu:hover{
.el-radio {
.el-cascader-menu:hover {
color: white;
}
}
.el-cascader-node:not(.is-disabled):hover, .el-cascader-node:not(.is-disabled):focus {
.el-cascader-node:not(.is-disabled):hover,
.el-cascader-node:not(.is-disabled):focus {
background: #F5F7FA;
background-image: initial;
background-position-x: initial;
......
......@@ -2,7 +2,7 @@
@import './mixin.scss';
@import './transition.scss';
@import './element-ui.scss';
@import './sidebar.scss';
// @import './sidebar.scss';
/* CSS 初始化 */
html,
......
#app {
.jgWrapper {
.main-container {
width: 100%;
height: calc(100% - 74px);
......
.tableClass {
/deep/.el-table {
.el-table {
border: none !important;
border-radius: 0 !important;
background-color: rgba(0, 0, 0, 0);
......@@ -40,6 +40,11 @@
}
//*****start*通用表单查询条件,列表样式******//
.bgc {
box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5);
background-color: rgba(0, 0, 0, 0);
}
.from-clues {
height: 100%;
width: 100%;
......@@ -56,11 +61,11 @@
background-size: 100% 100%;
margin-top: 15px;
/deep/.el-form-item__label {
.el-form-item__label {
color: #E3F1FF;
}
/deep/.el-input__inner {
.el-input__inner {
background: #07388B;
border-radius: 2px;
color: #CEF8FF;
......@@ -114,16 +119,11 @@
//修改表头的背景颜色横向渐变色
@extend .tableClass;
/deep/.el-pagination__total {
.el-pagination__total {
color: #FFFFFF;
}
.bgc {
box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5);
background-color: rgba(0, 0, 0, 0);
}
/deep/ .el-pagination {
.el-pagination {
.el-input__inner {
color: #FFFFFF;
border: none;
......@@ -142,14 +142,9 @@
color: #FFFFFF;
}
}
/deep/.btn-next,
/deep/.btn-prev {
@extend .bgc;
color: #FFFFFF;
}
}
.el-form--inline .el-form-item {
width: auto;
......@@ -167,10 +162,15 @@
}
}
.el-pagination.is-background .btn-prev,
.el-pagination.is-background .btn-next {
@extend .bgc;
color: #FFFFFF;
}
//*****end*通用表单查询条件,列表样式******//
/deep/.el-range-separator {
.el-range-separator {
line-height: 28px !important;
}
......@@ -202,7 +202,7 @@
// 修改弹框样式
.modifydialog {
/deep/.el-dialog__header {
.el-dialog__header {
text-align: center;
margin-bottom: 10px;
......@@ -211,36 +211,36 @@
}
}
/deep/.el-form-item__label {
.el-form-item__label {
color: white;
}
/deep/.el-input__inner {
.el-input__inner {
background-color: #07388b;
}
/deep/.el-input__inner {
.el-input__inner {
background: #07388b;
border-radius: 2px;
border: 1px solid #6bc1fc;
}
/deep/.el-textarea__inner {
.el-textarea__inner {
background: #07388b;
color: #fff;
}
/deep/.el-form-item__label {
.el-form-item__label {
color: #fff;
}
/deep/.el-dialog__headerbtn {
.el-dialog__headerbtn {
position: absolute;
top: 22px;
right: 30px;
}
/deep/.el-dialog__header {
.el-dialog__header {
text-align: center;
margin-bottom: 10px;
......@@ -252,23 +252,23 @@
// 角色配置
.roleconfiguration {
/deep/.el-dialog__body {
.el-dialog__body {
display: flex;
flex-direction: column;
}
/deep/ .el-tabs {
.el-tabs {
color: #cef8ff;
}
.sjmx {
/deep/.el-tabs__item {
.el-tabs__item {
height: 50px;
padding-top: 6px;
}
}
/deep/.el-tabs__item {
.el-tabs__item {
color: #cef8ff !important;
display: flex;
......@@ -286,35 +286,35 @@
background-size: 100% 100%;
}
/deep/.el-tabs__nav-scroll {
.el-tabs__nav-scroll {
background: none;
}
/deep/.el-tabs__nav {
.el-tabs__nav {
display: flex;
border: none !important;
}
/deep/.el-tabs__item.is-top {
.el-tabs__item.is-top {
border: 1px solid #dfe4ed;
border-top: 1px solid #dfe4ed;
border-bottom: 1px solid transparent;
}
/deep/.el-tabs__header {
.el-tabs__header {
border: none;
margin-bottom: 0;
}
/deep/.el-tabs__item.is-top:not(:last-child) {
.el-tabs__item.is-top:not(:last-child) {
margin-right: 5px;
}
/deep/.el-tabs__item.is-top {
.el-tabs__item.is-top {
background-color: none !important;
}
/deep/.el-tabs__item.is-active {
.el-tabs__item.is-active {
background: url("~@/image/tabitemse.png") no-repeat;
background-size: 100% 100%;
}
......@@ -344,7 +344,7 @@
border-top: none;
}
/deep/.editDialogBox {
.editDialogBox {
border-radius: 8px;
overflow: hidden;
min-width: 1228px;
......@@ -424,7 +424,7 @@
overflow: hidden;
}
/deep/.el-table {
.el-table {
background: none;
th.el-table__cell {
......@@ -440,5 +440,4 @@
}
}
}
}
\ No newline at end of file
......
.scWrapper {
.main-container {
width: 100%;
height: calc(100% - 74px);
transition: margin-left 0.28s;
display: flex;
}
.sidebar-container {
transition: width 0.28s;
width: $sideBarWidth !important;
font-size: 0px;
margin-right: 15px;
background: #121F41;
.horizontal-collapse-transition {
transition: 0s width ease-in-out, 0s padding-left ease-in-out,
0s padding-right ease-in-out;
}
.scrollbar-wrapper {
overflow-x: hidden !important;
margin-right: 0 !important;
&::-webkit-scrollbar {
display: none;
}
}
a {
display: inline-block;
width: 100%;
overflow: hidden;
}
.svg-icon {
margin-right: 5px;
}
.sub-el-icon {
margin-right: 12px;
margin-left: -2px;
}
.el-menu {
background-color: transparent !important;
border: none;
height: 100%;
width: 100% !important;
}
// menu hover
.el-menu--collapse .el-submenu__title,
.el-menu--collapse .submenu-title-noDropdown {
margin-left: 0px !important;
}
// 有子级
.el-submenu__title {
padding-left: 10px !important;
color: $menuText;
height: 42px;
background: linear-gradient(90deg, #013874 0%, #081B56 100%);
margin-bottom: 8px;
&:hover {
color: $subMenuActiveText !important;
background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
.svg-icon,
i,
span {
color: $subMenuActiveText !important;
}
}
}
// 没有子级
.submenu-title-noDropdown {
color: $menuText;
padding-left: 20px;
margin-bottom: 8px;
background: linear-gradient(90deg, #013874 0%, #081B56 100%);
&:hover {
color: $menuActiveText !important;
background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
.svg-icon {
color: #1ea6f8 !important;
}
i {
color: #1ea6f8 !important;
}
}
}
.submenu-title-noDropdown.is-active,
.el-submenu__title.is-active {
color: $menuActiveText;
background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
.svg-icon {
color: #1ea6f8 !important;
}
i {
color: #1ea6f8 !important;
}
}
.submenu-title-noDropdown,
.el-submenu__title {
font-weight: 600;
font-size: $sideBarFontSize;
// margin: 0 10px;
>i {
color: $subMenuActiveText !important;
transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
margin-right: 10px;
}
.svg-icon {
font-size: 18px;
margin-top: -5px;
}
}
.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow {
transform: rotateZ(0deg) !important;
-webkit-transform: rotateZ(0deg) !important;
-moz-transform: rotateZ(0deg) !important;
-ms-transform: rotateZ(0deg) !important;
-o-transform: rotateZ(0deg) !important;
}
.is-active>.el-submenu__title {
color: #fff !important;
}
& .nest-menu .el-submenu>.el-submenu__title,
& .el-submenu .el-menu-item {
&.is-active {
background-color: $subMenuHover !important;
color: $menuActiveText !important;
}
&:hover {
background-color: $subMenuHover !important;
color: $menuActiveText !important;
}
min-width: 130px !important;
background-color: transparent !important;
font-weight: 600;
font-size: $sideBarFontSize;
margin: 0 10px;
// border-radius: 6px;
}
}
.hideSidebar {
.sidebar-container {
width: 54px !important;
}
.submenu-title-noDropdown {
padding: 0 !important;
position: relative;
.el-tooltip {
padding: 0 !important;
.svg-icon {
margin-left: 16px;
}
.sub-el-icon {
margin-left: 19px;
}
}
}
.el-submenu {
overflow: hidden;
&>.el-submenu__title {
padding: 0 !important;
.svg-icon {
margin-left: 16px;
}
.sub-el-icon {
margin-left: 19px;
}
.el-submenu__icon-arrow {
display: none;
}
}
}
.el-menu--collapse {
.el-submenu {
&>.el-submenu__title {
&>span {
height: 0;
width: 0;
overflow: hidden;
visibility: hidden;
display: inline-block;
}
}
}
}
}
.el-menu--collapse .el-menu .el-submenu {
min-width: $sideBarWidth !important;
}
// mobile responsive
.mobile {
.main-container {
margin-left: 0px;
}
.sidebar-container {
transition: transform 0.28s;
width: $sideBarWidth !important;
}
&.hideSidebar {
.sidebar-container {
pointer-events: none;
transition-duration: 0.3s;
transform: translate3d(-$sideBarWidth, 0, 0);
}
}
}
.withoutAnimation {
.main-container,
.sidebar-container {
transition: none;
}
}
}
// when menu collapsed
.el-menu--vertical {
&>.el-menu {
.svg-icon {
margin-right: 16px;
}
.sub-el-icon {
margin-right: 12px;
margin-left: -2px;
}
}
.nest-menu .el-submenu>.el-submenu__title,
.el-menu-item {
width: calc(100% - 12px);
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
font-weight: 600 !important;
font-size: 15px !important;
background-color: $menuHover !important;
color: $menuText !important;
&:hover {
background-color: $menuHover !important;
opacity: .9;
.svg-icon,
i,
span {
color: $menuText;
}
}
}
// the scroll bar appears when the subMenu is too long
>.el-menu--popup {
max-height: 100vh;
overflow-y: auto;
background-color: #32ACFE !important;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
min-width: 140px;
padding: 12px 0;
&::-webkit-scrollbar-track-piece {
background: #d3dce6;
}
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-thumb {
background: #99a9bf;
border-radius: 20px;
}
}
}
.el-submenu__title {
display: flex;
align-items: center;
}
.el-submenu__title span {
white-space: normal;
word-break: break-all;
line-height: 20px;
flex: 1;
padding-right: 20px;
}
.el-menu-item {
height: 42px;
display: flex;
align-items: center;
padding-right: 20px !important;
}
.el-menu-item span {
white-space: normal;
word-break: break-all;
line-height: 20px;
flex: 1;
}
\ No newline at end of file
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-07 09:35:10
*/
import Layout from '@/layout'
export default function filterAsyncRouter (routers) {
routers.forEach(item => {
......
......@@ -260,3 +260,26 @@ function openDownloadDialog (url, saveName) {
}
aLink.dispatchEvent(event);
}
export function judgeListComplete (list) {
function judgeObjectComplete (obj) {
let flag = false
for (const key in obj) {
if (obj[key] == '' && key != 'index') {
flag = true
}
}
return flag
}
let isNotComplete = list.findIndex(item => {
return judgeObjectComplete(item) === true
})
if (isNotComplete > -1) {
return false
} else {
return true
}
}
......
......@@ -161,5 +161,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -152,6 +152,6 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -160,5 +160,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -169,5 +169,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -135,5 +135,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -201,5 +201,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -151,5 +151,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -157,6 +157,6 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -163,6 +163,6 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
@import "./index.scss";
</style>
......
......@@ -143,5 +143,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -148,5 +148,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -145,5 +145,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -160,5 +160,5 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -151,5 +151,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -143,5 +143,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -10,29 +10,16 @@
<el-row>
<el-col :span="4">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker
type="date"
:clearable="false"
class="width100"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
v-model="form.startTime"
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期"
:picker-options="pickerOptionsStart" v-model="form.startTime"
value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker
class="width100"
:clearable="false"
type="date"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
v-model="form.endTime"
value-format="yyyy-MM-dd HH:mm:ss"
@change="endTimeChange"
></el-date-picker>
<el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期"
:picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
@change="endTimeChange"></el-date-picker>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
......@@ -57,7 +44,7 @@ import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data() {
data () {
return {
// 开始日期限制
pickerOptionsStart: {
......@@ -83,19 +70,19 @@ export default {
pieChartsData: [],
};
},
created() {},
mounted() {
created () { },
mounted () {
this.getProcessCounts();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange(val) {
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true);
},
//查询各区县办件数量
async getProcessCounts() {
async getProcessCounts () {
this.pieChartsData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
......@@ -121,7 +108,7 @@ export default {
});
},
// 重置
resetForm() {
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
......@@ -129,7 +116,7 @@ export default {
this.getProcessCounts();
},
//玫瑰图初始化
echartInit() {
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
......@@ -190,7 +177,7 @@ export default {
});
},
//柱图初始化
async barChartInit(recType) {
async barChartInit (recType) {
//请求recType对应业务的各区县数据
let { result: res } = await efficient.getProcessDays(
recType,
......@@ -325,7 +312,7 @@ export default {
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
......@@ -364,5 +351,5 @@ export default {
}
</style>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -10,47 +10,24 @@
<el-row>
<el-col :span="4">
<el-form-item label="行政区">
<el-select
v-model="form.qxdm"
class="width100"
clearable
placeholder="行政区"
>
<el-option
v-for="item in dicData['A20']"
:key="item.DCODE"
:label="item.DNAME"
:value="item.DCODE"
>
<el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker
type="date"
:clearable="false"
class="width100"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
v-model="form.startTime"
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期"
:picker-options="pickerOptionsStart" v-model="form.startTime"
value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker
type="date"
:clearable="false"
class="width100"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
v-model="form.endTime"
value-format="yyyy-MM-dd HH:mm:ss"
@change="endTimeChange"
></el-date-picker>
<el-date-picker type="date" :clearable="false" class="width100" placeholder="结束日期"
:picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
@change="endTimeChange"></el-date-picker>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
......@@ -98,7 +75,7 @@ export default {
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
endTime: timeFormat(new Date(), true),
qxdm: "",
},
};
......@@ -111,8 +88,8 @@ export default {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange(val){
this.form.endTime = timeFormat(new Date(val),true)
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
async getSuucessRate () {
this.recTypeArr = [];
......@@ -137,7 +114,7 @@ export default {
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
endTime: timeFormat(new Date(), true),
qxdm: "",
};
this.getSuucessRate();
......@@ -231,7 +208,7 @@ export default {
color: "#fff",
fontSize: "16",
},
splitNumber:2,
splitNumber: 2,
axisLabel: {
formatter: "{value} %",
textStyle: {
......@@ -302,7 +279,7 @@ export default {
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
......@@ -337,5 +314,5 @@ export default {
}
</style>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -10,47 +10,24 @@
<el-row>
<el-col :span="4">
<el-form-item label="行政区">
<el-select
v-model="form.qxdm"
class="width100"
clearable
placeholder="行政区"
>
<el-option
v-for="item in dicData['A20']"
:key="item.DCODE"
:label="item.DNAME"
:value="item.DCODE"
>
<el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="开始日期">
<el-date-picker
class="width100"
:clearable="false"
type="date"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
v-model="form.startTime"
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker class="width100" :clearable="false" type="date" placeholder="开始日期"
:picker-options="pickerOptionsStart" v-model="form.startTime"
value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结束日期">
<el-date-picker
class="width100"
:clearable="false"
type="date"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
v-model="form.endTime"
value-format="yyyy-MM-dd HH:mm:ss"
@change="endTimeChange"
></el-date-picker>
<el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期"
:picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
@change="endTimeChange"></el-date-picker>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
......@@ -98,13 +75,13 @@ export default {
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
endTime: timeFormat(new Date(), true),
qxdm: "",
},
chartData:[]
chartData: []
};
},
mounted() {
mounted () {
// 查询业务量
this.getProcessCounts();
},
......@@ -112,10 +89,10 @@ export default {
...mapGetters(["dicData"]),
},
methods: {
endTimeChange(val){
this.form.endTime = timeFormat(new Date(val),true)
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
async getProcessCounts(){
async getProcessCounts () {
this.chartData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
......@@ -133,13 +110,13 @@ export default {
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
endTime: timeFormat(new Date(), true),
qxdm: ""
};
this.getProcessCounts();
},
//图表渲染
echartInit(chartArr) {
echartInit (chartArr) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
......@@ -158,7 +135,7 @@ export default {
xAxis: [
{
type: "category",
data: chartArr.map(item=>item.recTypeName),
data: chartArr.map(item => item.recTypeName),
axisLabel: {
interval: 0,
formatter: function (val) {
......@@ -221,7 +198,7 @@ export default {
},
},
barMaxWidth: '60',
data: chartArr.map(item=>item.counts),
data: chartArr.map(item => item.counts),
},
],
});
......@@ -230,7 +207,7 @@ export default {
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
......@@ -240,11 +217,13 @@ export default {
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
color:#b6b5b5
color: #b6b5b5
}
.echarts-box {
display: flex;
justify-content: center;
......@@ -263,5 +242,5 @@ export default {
}
</style>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -99,17 +99,17 @@
</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 {
// 接收报文查询
// 引入表格头部数据
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],
// 注册组件
......@@ -189,14 +189,28 @@
render: (h, scope) => {
return (
<div>
{
scope.row.receiveState == 2 ?
<el-button
type="text"
style="color:#67C23A"
onClick={() => {
this.handleDetails(scope.row);
}}
>
修改
<i class="el-icon-d-arrow-right"></i>
</el-button> :
<el-button
type="primary"
type="text"
onClick={() => {
this.handleDetails(scope.row);
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
}
</div>
)
}
......@@ -225,7 +239,6 @@
getReceiveDataReportPage({ ...this.form, ...this.formData }).then(
(res) => {
if (res.code === 200) {
console.log("菜单列表", res);
let { total, records, current } = res.result;
this.tableData.total = total;
this.tableData.data = records ? records : [];
......@@ -276,12 +289,12 @@
}
},
}
}
}
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
// 引入当前css
@import "./index.scss";
// 引入表单整体样式
// // @import "~@/styles/public.scss";
// 引入当前css
@import "./index.scss";
</style>
......
<template>
<div class="bg">
<div class="login-inner-bg login">
<h2>{{ productName }}</h2>
<div class="user_style">
<h3>欢迎登录</h3>
<el-form :model="user" :rules="rules" ref="user" id="loginform" class="demo-ruleForm">
<el-form-item prop="account">
<el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" class="password" @keyup.enter.native="login('user')" v-model="user.password"
placeholder="请输入密码"></el-input>
</el-form-item>
<el-form-item class="login-btn">
<el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
import { loginIn } from "@/api/login.js";
import { api, getAction } from "@/api/manageApi";
export default {
name: "Login",
data () {
return {
user: {
account: "",
password: "",
checkStatus: false,
},
productName: "",
rules: {
account: [{ required: true, message: "请填写帐号", trigger: "blur" }],
password: [{ required: true, message: "请填写密码", trigger: "blur" }],
},
};
},
created () {
const params = {};
const queryOptions = {
conditionGroup: {
conditions: [
{
property: "code",
value: "BDCJGPT",
operator: "EQ",
},
],
queryRelation: "AND",
},
};
params.queryOptions = JSON.stringify(queryOptions);
//根据子系统code获取子系统详细信息
getAction(api.subsystem, params).then((res) => {
if (res.status === 1) {
this.productName = res.content[0].name;
this.$store.dispatch("products/setData", res.content[0]);
} else {
this.$message.error({ message: res.message, showClose: true });
}
});
},
mounted () {
// this.checkUserName();
},
methods: {
//记住用户名
checkUserName: function (flag) {
this.user.checkStatus = flag;
if (this.user.checkStatus) {
localStorage.setItem("accountId", this.user.account);
let name = localStorage.getItem("accountId");
if (name === "") {
return;
} else {
this.user.account = name;
}
} else {
this.user.account = localStorage.getItem("accountId");
}
},
login (user) {
var self = this;
this.$refs[user].validate((valid) => {
if (valid) {
loginIn(self.user.account, self.user.password)
.then((res) => {
if (res.status === 1) {
//存储token
sessionStorage.setItem("token", `Bearer ${res.content}`);
//登录成功后需判断有无重定向,没有重定向则跳转首页
this.$router.replace(this.$route.query.redirect || "/");
} else {
//错误处理
}
})
.catch((error) => {
// console.dir(error);
});
}
});
},
},
components: {},
};
</script>
<style scoped lang="scss">
.username,
.password {
position: relative;
&:before {
content: "";
display: block;
width: 16px;
height: 16px;
position: absolute;
left: 10px;
top: 7px;
background-size: 100% 100%;
}
/deep/ .el-input__inner {
text-indent: 24px;
border: 1px solid rgba(11, 161, 248, 0.4);
background-color: rgba(6, 135, 205, 0.3) !important;
}
}
.username::before {
background-image: url(../../image/username.png);
}
.password::before {
background-image: url(../../image/password.png);
}
.bg {
width: 100%;
height: 100%;
min-width: 1440px;
min-height: 560px;
background: url(../../image/loginBoxBg.png) no-repeat;
background-size: 100% 100%;
overflow: hidden;
position: relative;
}
.login-inner-bg {
background: url(../../image/loginBg.png) no-repeat;
width: 21.6%;
height: 43%;
min-width: 360px;
min-height: 380px;
top: 30%;
right: 20%;
position: absolute;
background-size: 100% 100%;
box-sizing: border-box;
padding: 56px;
h2 {
width: 100%;
font-size: 36px;
font-weight: 700;
color: #fff;
text-align: center;
white-space: nowrap;
position: absolute;
right: 0;
top: -70px;
background-image: linear-gradient(180deg,
rgba(99, 163, 255, 1) 0,
rgba(99, 163, 255, 1) 0,
rgba(182, 220, 255, 1) 49.731445%,
rgba(114, 190, 255, 1) 100%,
rgba(114, 190, 255, 1) 100%);
overflow-wrap: break-word;
color: rgba(255, 255, 255, 1);
font-size: 36px;
font-family: AlimamaShuHeiTi-Bold;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.login {
.user_style {
h3 {
color: #fff;
font-size: 22px;
font-weight: normal;
text-align: center;
margin: 16px auto 34px;
font-weight: 400;
}
}
.btn {
width: 100%;
height: 6vh;
background-color: #00c2de;
border-radius: 5px;
font-size: 1.4vw;
color: #ffffff;
}
.btn:hover {
cursor: pointer;
background-color: #2d8cf0;
}
}
.login #loginform {
.el-form-item {
margin-bottom: 24px !important;
}
.login-btn {
margin-top: 40px !important;
}
.el-button {
font-size: 18px;
background: #0d8cc0 !important;
color: #ffffff !important;
cursor: pointer !important;
}
.el-input__inner {
width: 100% !important;
}
.el-checkbox__label {
color: #fff;
}
}
.inputUser .ivu-input {
padding: 6px 24px !important;
border: 1px solid #9f9f9f !important;
}
</style>
......@@ -6,6 +6,10 @@
border-right: 1px solid #458ACF !important;
}
/deep/.el-table thead.is-group th.el-table__cell {
background-color: transparent !important;
}
/deep/.el-table--group::after,
.el-table--border::after {
width: 0 !important;
......
......@@ -164,7 +164,7 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
@import "../css/index.scss";
</style>
......
......@@ -155,7 +155,7 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
@import "../css/index.scss";
</style>
......
......@@ -148,7 +148,7 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
@import "../css/index.scss";
</style>
......
<!--
功能:结果
作者:calliope
-->
<template>
<div class='result'>
<p>响应xml</p>
<el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="响应xml" v-model="REPMSGXML">
</el-input>
<p>错误信息</p>
<el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="错误信息" v-model="ERRORINFO">
</el-input>
</div>
</template>
<script>
import { getReceiveDataReportResult } from "@/api/dataReport.js";
export default {
components: {},
props: {
formData: {
type: Object,
default: {}
}
},
data () {
return {
REPMSGXML: '',
ERRORINFO: '',
}
},
created () {
getReceiveDataReportResult(this.formData.bsmReport).then(res => {
let data = res.result
this.REPMSGXML = data.REPMSGXML
this.ERRORINFO = data.ERRORINFO
})
}
}
</script>
<style scoped lang='scss'>
@import '~@/styles/public.scss';
.result {
padding: 15px;
p {
color: #ffffff;
line-height: 26px;
font-size: 18px;
}
/deep/.el-textarea__inner {
min-height: 27vh !important;
background-color: #08346F !important;
color: #ffffff;
border: none !important;
}
}
</style>
......@@ -32,7 +32,7 @@ class data {
},
},
{
prop: 'ywh',
prop: 'YWH',
label: '业务号',
render: (h, scope) => {
return (
......@@ -41,43 +41,25 @@ class data {
}
},
{
prop: 'djlx',
prop: 'DJLX',
label: '登记类型',
render: (h, scope) => {
return (
<el-select class="width100" value={scope.row[scope.column.property]}
onChange={(val) => { scope.row[scope.column.property] = val }}>
{
store.getters.dicData['A21'].map(option => {
return (
<el-option label={option.DNAME} value={option.DCODE}></el-option>
)
})
}
</el-select>
<el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
)
}
},
{
prop: 'qllx',
prop: 'QLLX',
label: '权利类型',
render: (h, scope) => {
return (
<el-select class="width100" value={scope.row[scope.column.property]}
onChange={(val) => { scope.row[scope.column.property] = val }}>
{
store.getters.dicData['A8'].map(option => {
return (
<el-option label={option.DNAME} value={option.DCODE}></el-option>
)
})
}
</el-select>
<el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
)
}
},
{
prop: 'bdcdyh',
prop: 'BDCDYH',
label: '不动产单元号',
render: (h, scope) => {
return (
......@@ -86,7 +68,7 @@ class data {
}
},
{
prop: 'zszmh',
prop: 'ZSZMH',
label: '证书证明号',
render: (h, scope) => {
return (
......@@ -95,7 +77,7 @@ class data {
}
},
{
prop: 'sfsb',
prop: 'SFSB',
label: '是否上报',
render: (h, scope) => {
return (
......@@ -113,14 +95,14 @@ class data {
}
},
{
prop: 'bwid',
prop: 'BWID',
label: '报文ID',
render: (h, scope) => {
return (
<el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
)
}
},
}
]
}
}
......@@ -131,3 +113,4 @@ export {
}
......
......@@ -31,7 +31,7 @@ class data {
},
},
{
prop: 'ywh',
prop: 'YWH',
label: '业务号',
render: (h, scope) => {
return (
......@@ -40,7 +40,7 @@ class data {
}
},
{
prop: 'bdcdyh',
prop: 'BDCDYH',
label: '不动产单元号',
render: (h, scope) => {
return (
......@@ -49,7 +49,7 @@ class data {
}
},
{
prop: 'bwid',
prop: 'BWID',
label: '报文ID',
render: (h, scope) => {
return (
......@@ -67,3 +67,4 @@ export {
}
......
......@@ -2,29 +2,27 @@
<el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter"
:visible.sync="dialogVisible" width="90%">
<div slot="title" class="dialog_title" ref="dialogTitle">
{{ title || '标题' }}
{{ title || '登薄日志' }}
</div>
<div class="regularHeight">
<div class="editDialogBox-box">
<el-tabs v-model="titleName" type="card">
<el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane>
<el-tab-pane label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane label="响应结果" name="xyjg"></el-tab-pane>
</el-tabs>
<div class="dialog-from" v-if="titleName == 'sjmx'">
<el-row class="dialog-from_header item-content-input">
<el-col :span="8">
<span>行政编码:</span>
<el-input v-model="accessLog.AREACODE" maxlength="10"></el-input>
<el-input v-model="accessLog.AREACODE" maxlength="10" disabled></el-input>
</el-col>
<el-col :span="8">
<span>行政名称:</span>
<el-input v-model="accessLog.AREANAME" maxlength="20"></el-input>
<el-input v-model="accessLog.AREANAME" maxlength="20" disabled></el-input>
</el-col>
<el-col :span="8">
<span>日期:</span>
<el-date-picker v-model="accessLog.CREATEDATE" type="date">
</el-date-picker>
<el-input v-model="accessLog.ACCESSDATE" disabled></el-input>
</el-col>
</el-row>
<el-row class="dialog-from_header item-content-input">
......@@ -34,146 +32,131 @@
</el-input>
</el-col>
</el-row>
<!-- 当日登薄信息记录数 -->
<P class="dialog-from_title">当日登薄信息记录数</P>
<div>
<el-row class="dialog-from_header item-content-input">
<el-col :span="4">
<span>总数量:</span>
<el-input v-model="titleForm.totalNum" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
<span>当日登薄量:</span>
<el-input v-model="registerInfo.TOTALNUM" disabled type="number"></el-input>
</el-col>
<el-col :span="4">
<span>首次登记量:</span>
<el-input v-model="titleForm.firstReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>首次登记量:</span>
<el-input v-model="registerInfo.FIRSTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>转移登记量:</span>
<el-input v-model="titleForm.transferReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>转移登记量:</span>
<el-input v-model="registerInfo.TRANSFERREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>变更登记量:</span>
<el-input v-model="titleForm.changeReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>变更登记量:</span>
<el-input v-model="registerInfo.CHANGEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>注销登记量:</span>
<el-input v-model="titleForm.logoutReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>注销登记量:</span>
<el-input v-model="registerInfo.LOGOUTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 更正登记数量 -->
<el-col :span="4">
<span>更正登记量:</span>
<el-input v-model="titleForm.riviseReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>更正登记量:</span>
<el-input v-model="registerInfo.RIVISEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
</el-row>
<el-row class="dialog-from_header item-content-input">
<el-col :span="4">
<span>异议登记量:</span>
<el-input v-model="titleForm.dissentingReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>异议登记量:</span>
<el-input v-model="registerInfo.DISSENTINGREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>预告登记量:</span>
<el-input v-model="titleForm.advanceReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>预告登记量:</span>
<el-input v-model="registerInfo.ADVANCEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>查封登记量:</span>
<el-input v-model="titleForm.seizeReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>查封登记量:</span>
<el-input v-model="registerInfo.SEIZEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 地役权登记数量 -->
<el-col :span="4">
<span>地役权登记数量</span>
<el-input v-model="titleForm.easementReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>其他登记</span>
<el-input v-model="registerInfo.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 其他登记数量 -->
<el-col :span="4">
<span>其他登记数量:</span>
<el-input v-model="titleForm.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>业务类型量:</span>
<el-input v-model="registerInfo.BUSINESSTYPECOUNT" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 业务类型总数 -->
<el-col :span="4">
<span>业务类型总数:</span>
<el-input v-model="titleForm.businessTypeCount" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
<el-col :span="4" style="border:none">
</el-col>
</el-row>
</div>
<P class="dialog-from_title">当日上报记录数</P>
<!-- 当日上报记录数 -->
<P class="dialog-from_title">当日上报记录数</P>
<div>
<el-row class="dialog-from_header item-content-input">
<el-col :span="4">
<span>总数量:</span>
<el-input v-model="titleForm.totalNum" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
<span>当日上报量:</span>
<el-input v-model="accessInfo.TOTALNUM" disabled type="number"></el-input>
</el-col>
<el-col :span="4">
<span>首次登记量:</span>
<el-input v-model="titleForm.firstReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>首次登记量:</span>
<el-input v-model="accessInfo.FIRSTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>转移登记量:</span>
<el-input v-model="titleForm.transferReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>转移登记量:</span>
<el-input v-model="accessInfo.TRANSFERREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>变更登记量:</span>
<el-input v-model="titleForm.changeReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>变更登记量:</span>
<el-input v-model="accessInfo.CHANGEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>注销登记量:</span>
<el-input v-model="titleForm.logoutReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>注销登记量:</span>
<el-input v-model="accessInfo.LOGOUTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 更正登记数量 -->
<el-col :span="4">
<span>更正登记量:</span>
<el-input v-model="titleForm.riviseReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>更正登记量:</span>
<el-input v-model="accessInfo.RIVISEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
</el-row>
<el-row class="dialog-from_header item-content-input">
<el-col :span="4">
<span>异议登记量:</span>
<el-input v-model="titleForm.dissentingReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>异议登记量:</span>
<el-input v-model="accessInfo.DISSENTINGREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>预告登记量:</span>
<el-input v-model="titleForm.advanceReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>预告登记量:</span>
<el-input v-model="accessInfo.ADVANCEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<el-col :span="4">
<span>查封登记量:</span>
<el-input v-model="titleForm.seizeReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>查封登记量:</span>
<el-input v-model="accessInfo.SEIZEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 地役权登记数量 -->
<el-col :span="4">
<span>地役权登记数量</span>
<el-input v-model="titleForm.easementReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>其他登记</span>
<el-input v-model="accessInfo.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 其他登记数量 -->
<el-col :span="4">
<span>其他登记数量:</span>
<el-input v-model="titleForm.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
<span>业务类型量:</span>
<el-input v-model="accessInfo.BUSINESSTYPECOUNT" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
</el-col>
<!-- 业务类型总数 -->
<el-col :span="4">
<span>业务类型总数:</span>
<el-input v-model="titleForm.businessTypeCount" oninput="if(value.length > 6) value=value.slice(0, 6)"
type="number"></el-input>
<el-col :span="4" style="border:none">
</el-col>
</el-row>
</div>
......@@ -181,29 +164,27 @@
<el-tab-pane label="当日登薄详单" name="drdbxd"></el-tab-pane>
<el-tab-pane label="当日上报详单" name="sbslxd"></el-tab-pane>
</el-tabs>
<div class="from-clues-content" v-show="titleName2 == 'drdbxd'" :key="key">
<!-- 当日登薄详单 -->
<div class="from-clues-content" v-show="titleName2 == 'drdbxd'">
<lb-table :column="tableDBData.column" :pagination="false" :heightNumSetting="true" :heightNum="200"
:data="tableDBData.data">
</lb-table>
</div>
<!-- 当日上报详单 -->
<div class="from-clues-content" v-show="titleName2 == 'sbslxd'">
<lb-table :column="tableSBData.column" :pagination="false" :heightNumSetting="true" :heightNum="200"
:data="tableSBData.data">
</lb-table>
</div>
</div>
</div>
<div class="editDialogBox-box" v-if="titleName == 'xml'">
<JsonEditor :resultInfo="resultInfo" />
</div>
<div class="editDialogBox-box JsonEditor" v-if="titleName == 'xyjg'">
<Xyjg :form-data='dataReport'></Xyjg>
<JsonEditor :resultInfo="resultInfo" :key="key" />
</div>
</div>
<div class="d-center" v-if="titleName == 'sjmx'">
<btn nativeType="cz" @click="dialogVisible = false">取 消</btn>
<btn nativeType="cx" @click="submitForm">确 定</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>
......@@ -214,50 +195,62 @@
<script>
import { sbdata, sendThis } from './data/sbdata'
import { dbdata, sendThis1 } from './data/dbdata'
import { getDetail } from "@/api/recordLog.js"
import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js"
import JsonEditor from "@/components/JsonEditor.vue";
import Xyjg from "./Result";
import { judgeListComplete } from "@/utils/tools.js"
export default {
components: { JsonEditor, Xyjg },
props: {
title: {
type: String,
default: ''
}
},
components: { JsonEditor },
data () {
return {
key: 0,
title: '',
dialogVisible: false,
titleName: 'sjmx',
titleName2: 'drdbxd',
dbBsm: '',
// 头部信息
accessLog: {
AREACODE: '',
AREANAME: '',
CREATEDATE: '',
ACCESSDATE: '',
REMARK: ''
},
titleForm: {
totalNum: '',
firstReg: '',
transferReg: '',
changeReg: '',
logoutReg: '',
riviseReg: '',
// 异议登记数量
dissentingReg: '',
advanceReg: '',
seizeReg: '',
easementReg: '',
otherReg: '',
businessTypeCount: ''
// 当日登薄信息记录数
registerInfo: {
TOTALNUM: '', // 总数量
FIRSTREG: '', // 首次登记数量
TRANSFERREG: '', // 转移登记数量
CHANGEREG: '', // 变更登记数量
LOGOUTREG: '', // 注销登记数量
RIVISEREG: '', // 更正登记数量
DISSENTINGREG: '', // 异议登记数量
ADVANCEREG: '', // 预告登记数量
SEIZEREG: '', // 查封登记数量
EASEMENTREG: '', // 地役权登记数量
otherReg: '', // 其他登记数量
BUSINESSTYPECOUNT: '', // 业务类型总数
},
// 当日上报记录数
accessInfo: {
TOTALNUM: '', // 总数量
FIRSTREG: '', // 首次登记数量
TRANSFERREG: '', // 转移登记数量
CHANGEREG: '', // 变更登记数量
LOGOUTREG: '', // 注销登记数量
RIVISEREG: '', // 更正登记数量
DISSENTINGREG: '', // 异议登记数量
ADVANCEREG: '', // 预告登记数量
SEIZEREG: '', // 查封登记数量
EASEMENTREG: '', // 地役权登记数量
otherReg: '', // 其他登记数量
BUSINESSTYPECOUNT: '', // 业务类型总数
},
// 当日登薄详单
tableDBData: {
data: [],
column: dbdata.columns()
},
// 当日上报详单
tableSBData: {
data: [],
column: sbdata.columns()
......@@ -271,63 +264,202 @@ export default {
sendThis(this);
sendThis1(this);
},
watch: {
registerInfo: {
handler: function (newVal, oldVal) {
this.registerInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) +
(newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0)
+ (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0)
},
deep: true
},
accessInfo: {
handler: function (newVal, oldVal) {
this.accessInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) +
(newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0)
+ (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0)
},
deep: true
}
},
methods: {
closeDialog () {
this.dialogVisible = false;
},
isShow (item) {
this.title = '登薄日志(' + item.ACCESSDATE + ')'
this.titleName = 'sjmx'
this.dialogVisible = true
console.log(item, 'itemitemitem')
getDetail(item.dbBsm).then(res => {
console.log(res, 'eeeeeeeeeeeeeeeee');
this.dbBsm = item.dbBsm
this._getDetails(item.dbBsm)
},
/**
* @description: 获取列表接口
* @author: renchao
*/
_getDetails (data) {
getDetail(data).then(res => {
let { accessLog, registerInfo, accessInfo, accessList, registerList
} = res.result
this.accessLog = accessLog
this.resultInfo = accessLog.LOGSXML
this.registerInfo = registerInfo
this.accessInfo = accessInfo
this.tableDBData.data = _.cloneDeep(registerList)
this.tableSBData.data = _.cloneDeep(accessList)
this.tableDBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
this.tableSBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
})
},
// 当日登薄详单
handleDBAdd () {
this.tableDBData.data.push({
ywh: '',
djlx: '',
qllx: '',
bdcdyh: '',
zszmh: '',
sfsb: '',
bwid: ''
YWH: '',
DJLX: '',
QLLX: '',
BDCDYH: '',
ZSZMH: '',
SFSB: '',
BWID: '',
BSM_DBLOG: this.accessLog.bsmDblog
})
this.tableDBData.data.forEach((item, indx) => {
this.tableDBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
this.key++
},
handleDBMinus (row) {
this.$confirm('此操作将删除列表, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.tableDBData.data.splice(row.index, 1)
this.$message({
type: 'success',
message: '删除成功!'
})
this.tableDBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 当日上报详单
handleSBAdd () {
this.tableSBData.data.push({
ywh: '',
djlx: '',
qllx: '',
bdcdyh: '',
zszmh: '',
sfsb: '',
bwid: ''
YWH: '',
BDCDYH: '',
BWID: '',
BSM_DBLOG: this.accessLog.bsmDblog
})
this.tableSBData.data.forEach((item, indx) => {
this.tableSBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
this.key++
},
handleSBMinus (row) {
this.$confirm('此操作将删除列表, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.tableSBData.data.splice(row.index, 1)
this.$message({
type: 'success',
message: '删除成功!'
})
this.tableSBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
submitForm () { }
/**
* @description: 确定修改详情
* @param {*} function
* @author: renchao
*/
submitForm: _.debounce(function () {
let _this = this
if (_verify(this.tableDBData.data, '当日登薄详单列表必填') && _verify(this.tableSBData.data, '当日上报详单列表必填')) {
_editDetail()
}
function _verify (data, msg) {
let flag = true
if (!judgeListComplete(data)) {
_this.$message({
message: msg,
type: 'warning'
})
flag = false
}
return flag
}
function _editDetail () {
edit({
accessLog: _this.accessLog, registerInfo: _this.registerInfo,
accessInfo: _this.accessInfo,
accessList: _this.tableSBData.data,
registerList: _this.tableDBData.data
}).then(res => {
if (res.code == 200) {
_this.$message({
message: '保存成功',
type: 'success'
})
_this._getDetails(_this.dbBsm)
}
})
}
}, 600),
/**
* @description: 登薄日志重新生成报文
* @param {*} function
* @author: renchao
*/
handleResubmit () {
let _this = this
this.$confirm('重新生成报文,是否上报省厅?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
createXml()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
function createXml () {
regenerateDbXml(_this.dbBsm).then(res => {
if (res.code == 200) {
_this.$message({
message: '生成成功',
type: 'success'
})
_this.resultInfo = res.message
}
})
}
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
@import "~@/styles/dialogBox.scss";
......@@ -366,6 +498,10 @@ export default {
margin-right: 5px;
}
/deep/.el-icon-circle-close {
display: none;
}
/deep/.el-tabs__item.is-active {
background: url("~@/image/tabitemse.png") no-repeat;
background-size: 100% 100%;
......@@ -400,13 +536,6 @@ export default {
width: 100%;
}
.item-content-input {
/deep/.el-input__inner {
border: none !important;
text-align: right;
}
}
/deep/.el-textarea__inner {
border: none !important;
margin: 0;
......
......@@ -192,13 +192,14 @@ class data {
return (
<div>
<el-button
size="mini"
type="primary"
type="text"
style="color:#67C23A"
onClick={() => {
vm.handleEdit(scope.row);
}}
>
编辑
修改
<i class="el-icon-d-arrow-right"></i>
</el-button>
</div>
);
......
......@@ -154,6 +154,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......
......@@ -156,15 +156,31 @@ export default {
render: (h, scope) => {
return (
<div>
{
scope.row.exchangeState == 2 ?
<el-button
size="mini"
type="primary"
type="text"
style="color:#67C23A"
onClick={() => {
this.handleDetail(scope.row);
}}
>
修改
<i class="el-icon-d-arrow-right"></i>
</el-button> :
<el-button
size="mini"
type="text"
onClick={() => {
this.handleDetail(scope.row);
}}
>
详情
<i class="el-icon-d-arrow-right"></i>
</el-button>
}
</div>
);
},
......@@ -219,7 +235,6 @@ export default {
</script>
<style scoped lang="scss">
// 引入页面公共样式
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......
......@@ -146,8 +146,7 @@ export default {
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
.editDialogBox-box {
margin: 14px 18px 30px 18px !important
}
......
<template>
<!-- 编辑 -->
<dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit"
width="60%" v-model="myValue" :isMain="true" title="字典信息">
<dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" width="60%"
v-model="myValue" :isMain="true" title="字典信息">
<div class="editDialogBox-box ">
<el-form :model="ruleForm" ref="ruleForm" label-width="100px">
<el-row :gutter="20">
......@@ -17,9 +17,8 @@
</el-col>
</el-row>
</el-form>
<lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key"
:expand-row-keys="keyList" row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false"
:data="tableData">
<lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key" :expand-row-keys="keyList"
row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false" :data="tableData">
</lb-table>
</div>
</dialogBox>
......@@ -359,7 +358,7 @@ export default {
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
/deep/.el-radio {
margin-right: 5px !important;
......
......@@ -127,5 +127,5 @@ export default {
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -76,18 +76,10 @@
.user-info {
background: none;
}
}
/deep/.el-tabs {
.el-tabs__content {
height: 100%;
width: 100%;
}
}
.boxin {
height: 79%;
}
.contentbox {
// overflow-y: auto;
}
}
</style>
......
<template>
<div>
<Dialog
class="modifydialog"
:title="title"
:show.sync="visible"
:width="'767px'"
@close="close()">
<Dialog class="modifydialog" :title="title" :show.sync="visible" :width="'767px'" @close="close()">
<template slot="content">
<el-form ref="form" :model="form" :rules="rules">
<el-row :gutter="24">
......@@ -18,14 +13,8 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="上级菜单:" label-width="124px">
<el-cascader
:key="menuKey"
v-model="form.parentId"
:options="parentMenuList"
:props="setProps"
placeholder="请选择上级菜单"
clearable
@change="handleChange" />
<el-cascader :key="menuKey" v-model="form.parentId" :options="parentMenuList" :props="setProps"
placeholder="请选择上级菜单" clearable @change="handleChange" />
</el-form-item>
</el-col>
......@@ -33,10 +22,7 @@
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="代码:" prop="code" label-width="124px">
<el-input
v-model="codeComputed"
placeholder="请输入菜单代码"
:disabled="type === 1" />
<el-input v-model="codeComputed" placeholder="请输入菜单代码" :disabled="type === 1" />
</el-form-item>
</el-col>
</el-row>
......@@ -50,28 +36,17 @@
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="浏览器跳转模式:" label-width="124px">
<el-select
v-model="form.jumpMode"
placeholder="请选择浏览器跳转模式">
<el-option
v-for="item in jumpModeList"
:key="item.value"
:label="item.name"
:value="item.value" />
<el-select v-model="form.jumpMode" placeholder="请选择浏览器跳转模式">
<el-option v-for="item in jumpModeList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item
label="配置参数:"
label-width="124px"
class="form-item-mb0">
<el-form-item label="配置参数:" label-width="124px" class="form-item-mb0">
<!-- 配置参数 -->
<JsonEditor
:result-infos="form.metadata"
@getJsonString="getJsonString" />
<JsonEditor :result-infos="form.metadata" @getJsonString="getJsonString" />
</el-form-item>
</el-col>
</el-row>
......@@ -80,9 +55,7 @@
<template slot="footer">
<el-button class="cancel-button" @click="close()">取消</el-button>
<el-button
type="primary"
@click="submitForm()">保存</el-button>
<el-button type="primary" @click="submitForm()">保存</el-button>
</template>
</Dialog>
<!-- 图标列表 -->
......@@ -91,13 +64,13 @@
</template>
<script>
import Dialog from "@/components/Dialog/";
import { getParentMenuListAction } from '@/api/authorityManage'
import JsonEditor from '@/components/JsonEditors'
import IconList from '@/components/IconList'
import { validateCode } from '@/utils/validate';
import { api, httpAction } from '@/api/manageApi'
export default {
import Dialog from "@/components/Dialog/";
import { getParentMenuListAction } from '@/api/authorityManage'
import JsonEditor from '@/components/JsonEditors'
import IconList from '@/components/IconList'
import { validateCode } from '@/utils/validate';
import { api, httpAction } from '@/api/manageApi'
export default {
name: 'MenuModal',
components: {
IconList,
......@@ -256,8 +229,8 @@
this.visible = false
}
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -13,29 +13,22 @@
</el-form>
</div>
<div class="from-clues-content">
<lb-table
:pagination="false"
:column="tableData.columns"
:data="tablelistData"
row-key="id"
default-expand-all
<lb-table :pagination="false" :column="tableData.columns" :data="tablelistData" row-key="id" default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
</lb-table>
</div>
<edit-dialog ref="dialogForm"
:product-id="productId"
:resource-category-id="resourceCategoryId"
<edit-dialog ref="dialogForm" :product-id="productId" :resource-category-id="resourceCategoryId"
@ok="reloadTableData" />
<!-- <authorizationdiglog ref="rolesForm" /> -->
</div>
</template>
<script>
// 定时任务
import data from "./data";
import { deleteAction, getAction, api } from "@/api/manageApi";
import EditDialog from "./edit-dialog.vue";
// import authorizationdiglog from "./authorizationdiglog.vue";
export default {
// 定时任务
import data from "./data";
import { deleteAction, getAction, api } from "@/api/manageApi";
import EditDialog from "./edit-dialog.vue";
// import authorizationdiglog from "./authorizationdiglog.vue";
export default {
name: "menus",
components: {
EditDialog,
......@@ -230,15 +223,17 @@
this.getTableList()
},
},
};
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
.btnColRight {
@import "~@/styles/mixin.scss";
// @import "~@/styles/public.scss";
.btnColRight {
margin-top: 20px;
}
/deep/.el-table__expand-icon {
}
/deep/.el-table__expand-icon {
color: #fff;
}
}
</style>
......
......@@ -13,14 +13,8 @@
</el-form>
</div>
<div class="from-clues-content">
<lb-table
:pagination="false"
@size-change="handleSizeChange"
@p-current-change="handleCurrentChange"
:column="tableData.columns"
:data="listdata"
:expand-row-keys="keyList"
row-key="dictid">
<lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="listdata" :expand-row-keys="keyList" row-key="dictid">
</lb-table>
</div>
<EditDialog ref="addEditDialog" @ok="reloadTableData" />
......@@ -28,21 +22,21 @@
</div>
</template>
<script>
import {
import {
getUuid,
judgeSort,
realMove,
findParents,
removeTreeListItem,
} from "@/utils/operation";
import { getRolesById, getAuthorityListAction } from "@/api/authorityManage";
import { getUserRoles } from "@/api/personnelManage";
import data from "./data";
import { api, getAction, deleteAction } from "@/api/manageApi";
import tableMixin from "@/mixins/tableMixin.js";
import EditDialog from "./edit-dialog.vue";
import Roleslistdiglog from "./roleslistdiglog.vue";
export default {
} from "@/utils/operation";
import { getRolesById, getAuthorityListAction } from "@/api/authorityManage";
import { getUserRoles } from "@/api/personnelManage";
import data from "./data";
import { api, getAction, deleteAction } from "@/api/manageApi";
import tableMixin from "@/mixins/tableMixin.js";
import EditDialog from "./edit-dialog.vue";
import Roleslistdiglog from "./roleslistdiglog.vue";
export default {
name: "menus",
mixins: [tableMixin],
components: {
......@@ -212,12 +206,13 @@
</div>
);
},
}]),
},
]),
data: [],
}
},
};
},
created () {
this.getTableData();
this.getTableList()
......@@ -450,13 +445,14 @@
this.getTableData();
},
},
};
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
.btnColRight {
@import "~@/styles/mixin.scss";
// @import "~@/styles/public.scss";
.btnColRight {
margin-left: -30px;
margin-top: 20px;
}
}
</style>
......
......@@ -249,5 +249,5 @@ export default {
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -199,6 +199,6 @@ export default {
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
// @import "~@/styles/public.scss";
@import "./index.scss";
</style>
......