45b88067 by 任超

style:上报详情

2 parents 9ffef416 a5108e6a
Showing 87 changed files with 2386 additions and 2289 deletions
{
"TITLE": "汉中市数据上报系统",
"THEME": "jg"
"THEME": "sb",
"SERVERAPI": "/bdcsjsb",
"MANAGEMENTAPI": "http: //192.168.2.236/management"
}
......
/*
* @Description: 统计率
* @Autor: renchao
* @LastEditTime: 2023-03-01 15:37:49
* @LastEditTime: 2023-03-21 16:25:26
*/
/* 引入请求文件 */
import request from '@/utils/request'
/* 引入配置文件 */
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class business {
/**
* @description: 成功率统计
......
/*
* @Description: 这个是所有api的前缀配置文件
* @Autor: renchao
* @LastEditTime: 2023-03-16 13:37:11
* @LastEditTime: 2023-03-21 16:26:55
*/
export default {
SERVERAPI: '/bdcsjsb', //赵千
MANAGEMENTAPI: 'http://192.168.2.236/management'
}
// 汉中
// export default {
// // SERVERAPI: '/service-bdcsjsb-th', //线上
// SERVERAPI: '/bdcsjsb', //赵千
// MANAGEMENTAPI: 'http://172.16.56.32:8877/management'
// }
}
\ No newline at end of file
......
/*
* @Description: 数据上报模块api文件
* @Autor: renchao
* @LastEditTime: 2023-03-03 14:38:57
* @LastEditTime: 2023-03-21 16:21:31
*/
/* 引入axios请求文件 */
import request from '@/utils/request'
/* 引入配置 */
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/'
/**
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
/*
获取全部字典数据
*/
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class djfDjSf {
// 登记收费信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class fjF100 {
// 非结构化文档
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ktfQtDzdzw {
// 点状定着物信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ktfQtMzdzw {
// 面状定着物
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ktfQtXzdzw {
// 线状定着物
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ktfZdbhqk {
//宗地变化情况
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ktfZhYhydzb {
// 用海,用岛坐标
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ktfZhYhzk {
//用海状况
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class kttFwZrz {
// 自然幢信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class kttGyJzd {
//界址点
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class kttGyJzx {
//界址线信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class kttGzw {
//构筑物
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class kttZdjbxx {
// 宗地基本信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class kttZhjbxx {
//宗海基本信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
/*
更新排序
record-排序整条数据
operate-BOTTOM(置底), DOWN(向下), TOP(置顶), UP(向上)
*/
export function updateOrder(url, record, operate, swapId) {
export function updateOrder (url, record, operate, swapId) {
return request({
url: SERVER.MANAGEMENTAPI + url + "/" + record.id + "/orders",
method: "put",
......
......@@ -2,7 +2,7 @@
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-20 09:21:04
* @LastEditTime: 2023-03-21 14:59:20
* @FilePath: \上报\bdcjg-web\src\api\personnelManage.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -25,36 +25,20 @@ export const getUserList = (params) => {
}
export const getUserLists = (queryParam) => {
const conditionGroup = {
conditions: [{
property: 'code',
value: queryParam.code ? queryParam.code : null,
operator: 'LIKE'
},
{
property: 'name',
value: queryParam.name ? queryParam.name : null,
operator: 'LIKE'
}
,
{
property: 'loginName',
value: queryParam.loginName ? queryParam.loginName : null,
operator: 'LIKE'
},
{
property: 'organizationId',
value: queryParam.organizationId,
operator: 'IN'
}
,
{
property: 'departmentId',
value: queryParam.departmentId,
operator: 'IN'
}
],
conditions: [],
queryRelation: 'AND',
}
console.log("queryParam", queryParam);
for (let key in queryParam) {
if (queryParam[key]) {
conditionGroup.conditions.push({
property: key,
value: queryParam[key],
operator: 'LIKE'
})
}
}
const params = getParams(conditionGroup)
return getAction(api.users, params)
}
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class qlfFwFdcqDzXm {
// 房地产权_项目内多幢房屋项目属性
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class qlfQlGzdj {
// 更正登记信息
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class qlfQlQtxgql {
// 其他相关权利
......
......@@ -6,7 +6,7 @@
/* 引入请求文件 */
import request from '@/utils/request'
/* 引入配置文件 */
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/RecordLog/'
/**
* @description: 登簿日志分页
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class ruleConfig {
// 列表查询
async getSysYwsjbList (data) {
return request({
url: SERVER.SERVERAPI +'/rest/SysYwsjb/getSysYwsjbList',
url: SERVER.SERVERAPI + '/rest/SysYwsjb/getSysYwsjbList',
method: 'post',
data
})
......@@ -12,7 +12,7 @@ class ruleConfig {
// 编辑界面列表查询
async eidtConfigRule (id) {
return request({
url: SERVER.SERVERAPI +'/rest/SysYwsjb/getSysYwsjbWithSysYwsjbFieldByBsmYwsjb',
url: SERVER.SERVERAPI + '/rest/SysYwsjb/getSysYwsjbWithSysYwsjbFieldByBsmYwsjb',
method: 'get',
params: {
bsmYwsjb: id
......@@ -22,7 +22,7 @@ class ruleConfig {
// 编辑
async editSysYwsjbWithSysYwsjbField (data) {
return request({
url: SERVER.SERVERAPI +'/rest/SysYwsjb/editSysYwsjbWithSysYwsjbField',
url: SERVER.SERVERAPI + '/rest/SysYwsjb/editSysYwsjbWithSysYwsjbField',
method: 'post',
data
})
......@@ -30,7 +30,7 @@ class ruleConfig {
// 编辑
async deleteSysYwsjbWithSysYwsjbFieldByBsmYwsjb (id) {
return request({
url: SERVER.SERVERAPI +'/rest/SysYwsjb/deleteSysYwsjbWithSysYwsjbFieldByBsmYwsjb',
url: SERVER.SERVERAPI + '/rest/SysYwsjb/deleteSysYwsjbWithSysYwsjbFieldByBsmYwsjb',
method: 'delete',
params: {
bsmYwsjb: id
......@@ -40,7 +40,7 @@ class ruleConfig {
// 编辑界面列表查询----根据数据表名查询
async getRuleList (bsmYwsjb) {
return request({
url: SERVER.SERVERAPI +'/rest/sjsb/DataReport/getTableColumn',
url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getTableColumn',
method: 'get',
params: {
bsmYwsjb: bsmYwsjb
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class sjsbFunctionOper {
// 数据上报表头相关接口
......@@ -13,7 +13,7 @@ class sjsbFunctionOper {
})
}
// xml
async queryXML(id) {
async queryXML (id) {
return request({
url: SERVER.SERVERAPI + '/rest/reg/sjsbFunctionOper/queryXML',
method: 'get',
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class sjsbTask {
// 定时任务
......
......@@ -9,7 +9,7 @@
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
*/
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
const url = SERVER.SERVERAPI + '/rest/statistics/Efficient/'
/**
* dataReceiveQuality
......@@ -19,7 +19,7 @@ const url = SERVER.SERVERAPI + '/rest/statistics/Efficient/'
*/
export function dataReceiveQuality (startDate, endDate) {
return request({
url: url + 'dataReceiveQuality?startDate='+startDate+'&endDate='+endDate,
url: url + 'dataReceiveQuality?startDate=' + startDate + '&endDate=' + endDate,
method: 'post'
})
}
......@@ -32,7 +32,7 @@ export function dataReceiveQuality (startDate, endDate) {
*/
export function nonNullSta (startDate, endDate) {
return request({
url: url + 'nonNullSta?startDate='+startDate+'&endDate='+endDate,
url: url + 'nonNullSta?startDate=' + startDate + '&endDate=' + endDate,
method: 'post'
})
}
......@@ -45,7 +45,7 @@ export function nonNullSta (startDate, endDate) {
*/
export function registerBookQuality (startDate, endDate) {
return request({
url: url + 'registerBookQuality?startDate='+startDate+'&endDate='+endDate,
url: url + 'registerBookQuality?startDate=' + startDate + '&endDate=' + endDate,
method: 'post'
})
}
......
import Vue from 'vue'
import request from '@/utils/request'
console.log(Vue.prototype, Vue.prototype.BASE_API);
import SERVER from './config'
// let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
// 获取用户信息
export function getUserInfo () {
return request({
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class work {
// 登记类型总量
......@@ -36,8 +36,8 @@ class work {
}
})
}
// 数据趋势
async dataTrend (code) {
// 数据趋势
async dataTrend (code) {
return request({
url: SERVER.SERVERAPI + '/rest/reg/work/dataTrend',
method: 'get',
......@@ -46,8 +46,8 @@ class work {
}
})
}
// 新建国有房屋信息
async addhousetotal (code) {
// 新建国有房屋信息
async addhousetotal (code) {
return request({
url: SERVER.SERVERAPI + '/rest/reg/work/addhousetotal',
method: 'get',
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class zdK103 {
//宗地空间属性
......
import request from '@/utils/request'
import SERVER from './config'
let SERVER = JSON.parse(localStorage.getItem('ApiUrl'))
class zhK105 {
// 宗海空间属性
......
......@@ -113,8 +113,8 @@ export default {
}
</script>
<style rel="stylesheet/scss" lang="scss" >
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBox.scss";
// @import "~@/styles/mixin.scss";
// @import "~@/styles/dialogBox.scss";
</style>
<style rel="stylesheet/scss" scoped lang="scss" >
/deep/.is-fullscreen {
......@@ -123,4 +123,4 @@ export default {
left: 50% !important;
transform: translate(-50%, -50%) !important;
}
</style>
\ No newline at end of file
</style>
......
......@@ -128,401 +128,401 @@
</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, edit } from "@/api/dataReport.js";
export default {
components: { JsonEditor, Xyjg },
props: {
title: {
type: String,
default: ''
},
tabsActiveName: {
type: String,
default: ''
},
visiableXml: {
type: Boolean,
default: false
}
},
computed: {
...mapGetters(["dicData"]),
},
data () {
return {
key: 0,
resultInfo: '',
titleName: 'sjmx',
// 报文list
bwoptions: [],
dataReport: {},
index: 0,
bsmYwsjb: "",
ruleFormList: {
BizMsgId: "", // 业务报文ID
ASID: "", // ASID
AreaCode: "", //行政区划编码
PreEstateNum: "", //上次不动产单元号
RecType: "", // 业务编码
RightType: "", // 权利类型
RegType: "", //登记类型
CertCount: "", //不动产权证书数量
createDate: "", //创建时间
RecFlowID: "", // 业务流水号
ParcelID: "", //宗地/宗海代码
ProofCount: "", //证明数量
EstateNum: "", // 不动产单元号
RegOrgID: "", // 登记机构
PreCertID: "", //次不动产权证号/不动产登记证明
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, edit } from "@/api/dataReport.js";
export default {
components: { JsonEditor, Xyjg },
props: {
title: {
type: String,
default: ''
},
images: require("./images/success.gif"),
dialogVisible: false,
activeName: undefined,
editItem: "",
headerList: [],
dataTable: "",
};
},
methods: {
dicStatus (val, code) {
let data = this.dicData[code],
name = ''
if (data) {
data.map((item) => {
if (item.DCODE == val) {
name = item.DNAME
}
})
return name
}
},
handleTitleTab (val) {
},
isShow (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;
//获取表头列表
this._getList(item)
//不动产数据查询上报详情
getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => {
if (res.code == 200) {
this.dataReport = res.result;
}
})
// 获取xml
if (this.visiableXml) {
getXml(item.bizMsgid).then((res) => {
this.resultInfo = res.message
})
}
},
// 获取列表接口
_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) {
tabsActiveName: {
type: String,
default: ''
},
visiableXml: {
type: Boolean,
default: false
}
this.index = _index;
this.bsmYwsjb = this.headerList[val.index].bsmYwsjb;
this.editItem = this.loadView(this.activeName);
// this.diaData.list.forEach((item) => {
// if (item.soleurl == this.activeName) {
// this.dataTable = item.dataTable;
// }
// });
},
loadView (view) {
return (r) =>
require.ensure([], () => r(require(`@/components/Business/${view}.vue`)));
computed: {
...mapGetters(["dicData"]),
},
closeDialog () {
this.dialogVisible = false;
//关闭弹框时将tabs项置空
this.editItem = "";
this.headerList = [];
data () {
return {
key: 0,
resultInfo: '',
titleName: 'sjmx',
// 报文list
bwoptions: [],
dataReport: {},
index: 0,
bsmYwsjb: "",
ruleFormList: {
BizMsgId: "", // 业务报文ID
ASID: "", // ASID
AreaCode: "", //行政区划编码
PreEstateNum: "", //上次不动产单元号
RecType: "", // 业务编码
RightType: "", // 权利类型
RegType: "", //登记类型
CertCount: "", //不动产权证书数量
createDate: "", //创建时间
RecFlowID: "", // 业务流水号
ParcelID: "", //宗地/宗海代码
ProofCount: "", //证明数量
EstateNum: "", // 不动产单元号
RegOrgID: "", // 登记机构
PreCertID: "", //次不动产权证号/不动产登记证明
},
images: require("./images/success.gif"),
dialogVisible: false,
activeName: undefined,
editItem: "",
headerList: [],
dataTable: "",
};
},
/**
* @description: 提交
* @author: renchao
*/
submitForm: _.debounce(async function () {
let _this = this
// 上报请求头修改
try {
var headRes = await axios.post('/api' + urlHeader + 'edit', this.dataReport,
{
headers: {
'Authorization': sessionStorage.getItem("token") || ""
methods: {
dicStatus (val, code) {
let data = this.dicData[code],
name = ''
if (data) {
data.map((item) => {
if (item.DCODE == val) {
name = item.DNAME
}
})
if (headRes.code == 200) {
_this._getList(_this.dataReport)
return name
}
} catch (error) {
this.$message({
message: '报文头修改出错',
type: 'error'
},
handleTitleTab (val) {
},
isShow (item) {
this.$set(this.bwoptions, 0, {
value: item.bizMsgid,
label: item.bizMsgid,
})
}
let listRes = await this.$refs["editItem"].handleUpdateForm()
if (headRes.data?.code == 200 && listRes == 200) {
this.$message({
message: '修改成功',
type: 'success'
this.$set(this.bwoptions, 1, {
value: item.bizMsgid + 'CBXZ',
label: item.bizMsgid + 'CBXZ',
})
}
}, 500),
/**
* @description: 重新上报
* @author: renchao
*/
handleResubmit () {
let _this = this
this.$confirm('重新生成报文,是否上报省厅?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
createXml()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
this.$set(this.bwoptions, 2, {
value: item.bizMsgid + 'BBXZ',
label: item.bizMsgid + 'BBXZ',
})
})
function createXml () {
restartGenerateXml(_this.dataReport.bsmSjsb || _this.dataReport.bsmReport).then((res) => {
this.titleName = 'sjmx';
this.dialogVisible = true;
//获取表头列表
this._getList(item)
//不动产数据查询上报详情
getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => {
if (res.code == 200) {
_this.resultInfo = res.message
_this.$message({
message: '修改成功',
type: 'success'
this.dataReport = res.result;
}
})
// 获取xml
if (this.visiableXml) {
getXml(item.bizMsgid).then((res) => {
this.resultInfo = res.message
})
}
},
// 获取列表接口
_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) {
}
this.index = _index;
this.bsmYwsjb = this.headerList[val.index].bsmYwsjb;
this.editItem = this.loadView(this.activeName);
// this.diaData.list.forEach((item) => {
// if (item.soleurl == this.activeName) {
// this.dataTable = item.dataTable;
// }
// });
},
loadView (view) {
return (r) =>
require.ensure([], () => r(require(`@/components/Business/${view}.vue`)));
},
closeDialog () {
this.dialogVisible = false;
//关闭弹框时将tabs项置空
this.editItem = "";
this.headerList = [];
},
/**
* @description: 提交
* @author: renchao
*/
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'
})
}
}, 500),
/**
* @description: 重新上报
* @author: renchao
*/
handleResubmit () {
let _this = this
this.$confirm('重新生成报文,是否上报省厅?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
createXml()
}).catch(() => {
this.$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'
})
}
})
}
}
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBox.scss";
// @import "~@/styles/mixin.scss";
// @import "~@/styles/dialogBox.scss";
/deep/.el-dialog__body {
display: flex;
flex-direction: column;
padding-bottom: 30px;
}
/deep/.el-dialog__body {
display: flex;
flex-direction: column;
padding-bottom: 30px;
}
/deep/ .el-tabs {
color: #CEF8FF;
}
/deep/ .el-tabs {
color: #cef8ff;
}
.d-center {
z-index: 1000;
}
.d-center {
z-index: 1000;
}
.sjmx {
display: flex;
flex-direction: column;
height: 49vh;
.sjmx {
display: flex;
flex-direction: column;
height: 49vh;
/deep/.el-tabs__item {
height: 50px;
padding-top: 6px;
/deep/.el-tabs__item {
height: 50px;
padding-top: 6px;
}
}
}
.result {
flex: 1;
height: 100%;
}
.editDialogBox-con {
flex: 1;
height: 100%;
overflow-y: hidden;
}
/deep/.el-tabs__item {
color: #CEF8FF !important;
display: flex;
flex-direction: row;
justify-content: center;
background: url("~@/image/tabitem.png") no-repeat;
background-size: 100% 100%;
border: none !important;
}
.obligee-item-name {
background: #05275B;
color: #FFFFFF;
background: url("~@/image/itembg.png") no-repeat;
background-size: 100% 100%;
}
/deep/.el-tabs__nav-scroll {
background: none;
}
/deep/.el-tabs__nav {
display: flex;
border: none !important;
}
/deep/.el-tabs__item.is-top {
border: 1px solid #dfe4ed;
border-top: 1px solid #dfe4ed;
border-bottom: 1px solid transparent;
}
/deep/.el-tabs__header {
border: none;
margin-bottom: 0;
}
/deep/.el-tabs__item.is-top:not(:last-child) {
margin-right: 5px;
}
/deep/.el-tabs__item.is-top {
background-color: none !important;
}
/deep/.el-tabs__item.is-active {
background: url("~@/image/tabitemse.png") no-repeat;
background-size: 100% 100%;
}
.success-images {
width: 30px;
height: 30px;
position: relative;
top: 10px;
right: 3px;
}
.tab-pane-item {
line-height: 20px;
color: #02D9FD;
p {
text-align: center;
.result {
flex: 1;
height: 100%;
}
}
.edit-content {
overflow-y: auto;
overflow-x: hidden;
padding-right: 1px;
border-top: none;
}
.editDialogBox-con {
flex: 1;
height: 100%;
overflow-y: hidden;
}
/deep/.editDialogBox {
border-radius: 8px;
overflow: hidden;
min-width: 1228px;
/deep/.el-tabs__item {
color: #cef8ff !important;
.el-dialog__header {
display: flex;
margin-bottom: 10px;
flex-direction: row;
justify-content: center;
background: url("~@/image/tabitem.png") no-repeat;
background-size: 100% 100%;
border: none !important;
}
.dialog_footer {
flex-direction: column;
.obligee-item-name {
background: #05275b;
color: #ffffff;
background: url("~@/image/itembg.png") no-repeat;
background-size: 100% 100%;
}
.dialog_button {
margin-top: 8px;
}
/deep/.el-tabs__nav-scroll {
background: none;
}
.divider {
width: 100%;
border-bottom: 1px solid #ccc;
/deep/.el-tabs__nav {
display: flex;
border: none !important;
}
}
.el-dialog__wrapper {
overflow: hidden;
}
/deep/.el-tabs__item.is-top {
border: 1px solid #dfe4ed;
border-top: 1px solid #dfe4ed;
border-bottom: 1px solid transparent;
}
.dialog-from {
padding-top: 0;
/deep/.el-tabs__header {
border: none;
margin-bottom: 0;
}
.el-col {
justify-content: space-between;
/deep/.el-tabs__item.is-top:not(:last-child) {
margin-right: 5px;
}
.bz {
height: 100%;
position: relative;
top: 3px;
/deep/.el-tabs__item.is-top {
background-color: none !important;
}
/deep/.el-select {
padding-right: 15px;
/deep/.el-tabs__item.is-active {
background: url("~@/image/tabitemse.png") no-repeat;
background-size: 100% 100%;
}
/deep/.el-icon-circle-close {
display: none;
.success-images {
width: 30px;
height: 30px;
position: relative;
top: 10px;
right: 3px;
}
/deep/.el-input__suffix {
right: -25px !important;
top: -5px;
.tab-pane-item {
line-height: 20px;
color: #02d9fd;
p {
text-align: center;
}
}
/deep/.el-select,
/deep/.el-input {
flex: 1;
width: 100%;
.edit-content {
overflow-y: auto;
overflow-x: hidden;
padding-right: 1px;
border-top: none;
}
/deep/.el-textarea__inner {
border: none !important;
margin: 0;
/deep/.editDialogBox {
border-radius: 8px;
overflow: hidden;
min-width: 1228px;
.el-dialog__header {
display: flex;
margin-bottom: 10px;
}
.dialog_footer {
flex-direction: column;
.dialog_button {
margin-top: 8px;
}
}
.divider {
width: 100%;
border-bottom: 1px solid #ccc;
}
}
&_header {
margin: 0 -5px !important;
.el-dialog__wrapper {
overflow: hidden;
}
&_title {
font-size: 18px;
color: #d7eaee;
margin: 3px 0;
.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>
......
<template>
<transition name="msgbox-fade" v-if="myShow">
<div class="ls-mask" v-loading="loading">
<div class="ls-mask-window dialogBox" :style="{ 'width': width }">
<div class="ls-mask-window" :style="{ 'width': width }">
<div class="ls-head">
<div class="ls-title" :style="{ 'text-align': titleStyle }">
<svg-icon v-if="iconClass != ''" :icon-class='iconClass' />
......@@ -21,172 +21,172 @@
</transition>
</template>
<script>
import Popup1 from './index'
export default {
name: 'index',
data () {
return {
title: '标题',
editItem: "",
formData: undefined,//父组件传递的参数 负责传给子组件
btnShow: false,
cancel: function () { },
confirm: function () { },
cancelText: '取消',
confirmText: '确认',
isSync: false,
isShow: false,
myShow: false,
titleStyle: 'center',
width: "75%",
height: "auto",
contentHeight: "",
iconClass: "",
key: 0
}
},
props: {
loading: { type: Boolean, default: false },
},
watch: {
isShow (newValue) {
this.editItem = this.loadViewFn(this.editItem)
document.body.appendChild(this.$el);
this.myShow = newValue
}
},
mounted () {
// 计算滚动条高度
setTimeout(() => {
if (this.btnShow) {
if (this.height == 'auto') {
this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px'
import Popup1 from './index'
export default {
name: 'index',
data () {
return {
title: '标题',
editItem: "",
formData: undefined,//父组件传递的参数 负责传给子组件
btnShow: false,
cancel: function () { },
confirm: function () { },
cancelText: '取消',
confirmText: '确认',
isSync: false,
isShow: false,
myShow: false,
titleStyle: 'center',
width: "75%",
height: "auto",
contentHeight: "",
iconClass: "",
key: 0
}
},
props: {
loading: { type: Boolean, default: false },
},
watch: {
isShow (newValue) {
this.editItem = this.loadViewFn(this.editItem)
document.body.appendChild(this.$el);
this.myShow = newValue
}
},
mounted () {
// 计算滚动条高度
setTimeout(() => {
if (this.btnShow) {
if (this.height == 'auto') {
this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px'
} else {
this.contentHeight = this.height
}
} else {
this.contentHeight = this.height
if (this.height == 'auto') {
this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px'
} else {
this.contentHeight = this.height
}
}
} else {
if (this.height == 'auto') {
this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px'
} else {
this.contentHeight = this.height
}, 300)
},
methods: {
onCancel () {
Popup1().close()
},
onConfirm () {
this.loading = true
let res = new Promise((resolve, reject) => {
this.confirm()
resolve(true)
})
if (res) {
this.isShow = false
}
},
loadingFn (e) { //加载状态
this.loading = e
},
loadViewFn (view) {
return (r) =>
require.ensure([], () =>
r(require(`@/${view}.vue`))
)
}
}, 300)
},
methods: {
onCancel () {
Popup1().close()
},
onConfirm () {
this.loading = true
let res = new Promise((resolve, reject) => {
this.confirm()
resolve(true)
})
if (res) {
this.isShow = false
destroyed () {
if (this.appendToBody && this.$el && this.$el.parentNode) {
this.$el.parentNode.removeChild(this.$el);
}
},
loadingFn (e) { //加载状态
this.loading = e
},
loadViewFn (view) {
return (r) =>
require.ensure([], () =>
r(require(`@/${view}.vue`))
)
}
},
destroyed () {
if (this.appendToBody && this.$el && this.$el.parentNode) {
this.$el.parentNode.removeChild(this.$el);
}
}
}
</script>
<style scoped lang="scss" >
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBox.scss";
.ls-mask {
width: 100%;
height: 100%;
z-index: 2000;
position: fixed;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.3);
}
.ls-mask-window {
background: white;
position: relative;
left: 50%;
top: 50%;
min-height: 200px;
transform: translate(-50%, -50%);
border-radius: 5px;
overflow: hidden;
}
.ls-mask {
width: 100%;
height: 100%;
z-index: 2000;
position: fixed;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.3);
}
.ls-mask-window b {
padding-left: 5px;
}
.ls-mask-window {
background: white;
position: relative;
left: 50%;
top: 50%;
min-height: 200px;
transform: translate(-50%, -50%);
border-radius: 5px;
overflow: hidden;
}
/deep/.closeStyle {
top: 7px !important;
}
.ls-mask-window b {
padding-left: 5px;
}
.ls-title {
padding: 10px;
color: #ffffff;
// background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
font-size: 16px;
}
/deep/.closeStyle {
top: 7px !important;
}
.ls-title {
padding: 10px;
color: #ffffff;
font-size: 16px;
}
.ls-title .svg-icon {
font-size: 18px;
}
.ls-title {
padding: 10px;
color: #ffffff;
// background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
font-size: 16px;
}
.mask-content {
padding: 15px;
width: 100%;
min-height: 20%;
max-height: 95%;
// overflow-y: scroll;
}
.ls-title .svg-icon {
font-size: 18px;
}
.ls-mask-footer {
height: 50px;
display: flex;
justify-content: center;
width: 100%;
position: absolute;
border-top: 1px solid $borderColor;
bottom: 0;
background: #ffffff;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
overflow: hidden;
}
.mask-content {
padding: 15px;
width: 100%;
min-height: 20%;
max-height: 95%;
// overflow-y: scroll;
}
.ls-mask-footer {
height: 50px;
display: flex;
justify-content: center;
width: 100%;
position: absolute;
border-top: 1px solid $borderColor;
bottom: 0;
background: #ffffff;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
overflow: hidden;
}
/deep/.closeStyle {
position: absolute;
top: 13px;
right: 26px;
font-size: 24px;
cursor: pointer;
color: #409EFF;
}
/deep/.closeStyle {
position: absolute;
top: 13px;
right: 26px;
font-size: 24px;
cursor: pointer;
color: #409eff;
}
/deep/.el-loading-mask {
background: none;
}
/deep/.el-loading-mask {
background: none;
}
/deep/.el-button {
margin: 8px 10px;
width: 75px;
}
/deep/.el-button {
margin: 8px 10px;
width: 75px;
}
</style>
......
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1673321301365" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3462" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M910.617673 211.45497c-29.726022-40.739866-65.373916-76.582189-105.953124-106.533338-31.447223-23.211654-65.346287-42.500976-101.132328-57.574277-17.797341-7.496741-38.217417 1.723248-44.400233 20.018939l0 0c-5.586229 16.531512 2.569522 34.533514 18.648732 41.309848 30.91408 13.027711 60.204174 29.700439 87.38421 49.761334 35.128055 25.927509 65.986877 56.9562 91.719958 92.223425 53.42477 73.218582 81.662905 159.989831 81.662905 250.935146 0 57.551764-11.264555 113.364931-33.480532 165.888168-21.464871 50.748824-52.199872 96.333022-91.352591 135.484717-39.152718 39.153742-84.736916 69.888743-135.484717 91.352591-52.523237 22.215978-108.336404 33.480532-165.888168 33.480532-57.552787 0-113.364931-11.264555-165.889191-33.480532-50.748824-21.464871-96.331999-52.199872-135.484717-91.352591-39.152718-39.152718-69.888743-84.736916-91.353614-135.484717-22.214954-52.523237-33.479509-108.336404-33.479509-165.888168 0-90.842984 28.180829-177.536462 81.495082-250.706949 25.681916-35.244712 56.481386-66.265216 91.545996-92.199888 27.118638-20.056801 56.344263-36.737716 87.192851-49.78794 16.072047-6.798846 24.204262-24.812105 18.594497-41.336454l0 0c-6.207375-18.285458-26.638707-27.478841-44.424792-19.958564-35.712363 15.098883-69.537749 34.399461-100.915387 57.607022-40.505529 29.958312-76.084862 65.791425-105.750509 106.506732C52.210106 296.342312 19.618826 396.581294 19.618826 501.596046c0 66.5016 13.031804 131.033335 38.734186 191.800327 24.818245 58.677401 60.340273 111.367437 105.58064 156.606781 45.240367 45.240367 97.930403 80.763418 156.607804 105.581664 60.766992 25.701358 125.297704 38.734186 191.800327 38.734186 66.502623 0 131.033335-13.031804 191.800327-38.734186 58.677401-24.818245 111.366414-60.341297 156.606781-105.581664 45.240367-45.239344 80.762395-97.92938 105.581664-156.606781 25.701358-60.766992 38.734186-125.297704 38.734186-191.800327C1005.062695 396.463614 972.403878 296.133557 910.617673 211.45497z" fill="#ffffff" p-id="3463"></path><path d="M509.270842 388.009058 509.270842 388.009058c20.261463 0 36.839023-16.57756 36.839023-36.839023L546.109866 75.454506c0-20.261463-16.57756-36.839023-36.839023-36.839023l0 0c-20.261463 0-36.839023 16.57756-36.839023 36.839023l0 275.715529C472.431819 371.431497 489.00938 388.009058 509.270842 388.009058z" fill="#ffffff" p-id="3464"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1673321301365" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3462" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M910.617673 211.45497c-29.726022-40.739866-65.373916-76.582189-105.953124-106.533338-31.447223-23.211654-65.346287-42.500976-101.132328-57.574277-17.797341-7.496741-38.217417 1.723248-44.400233 20.018939l0 0c-5.586229 16.531512 2.569522 34.533514 18.648732 41.309848 30.91408 13.027711 60.204174 29.700439 87.38421 49.761334 35.128055 25.927509 65.986877 56.9562 91.719958 92.223425 53.42477 73.218582 81.662905 159.989831 81.662905 250.935146 0 57.551764-11.264555 113.364931-33.480532 165.888168-21.464871 50.748824-52.199872 96.333022-91.352591 135.484717-39.152718 39.153742-84.736916 69.888743-135.484717 91.352591-52.523237 22.215978-108.336404 33.480532-165.888168 33.480532-57.552787 0-113.364931-11.264555-165.889191-33.480532-50.748824-21.464871-96.331999-52.199872-135.484717-91.352591-39.152718-39.152718-69.888743-84.736916-91.353614-135.484717-22.214954-52.523237-33.479509-108.336404-33.479509-165.888168 0-90.842984 28.180829-177.536462 81.495082-250.706949 25.681916-35.244712 56.481386-66.265216 91.545996-92.199888 27.118638-20.056801 56.344263-36.737716 87.192851-49.78794 16.072047-6.798846 24.204262-24.812105 18.594497-41.336454l0 0c-6.207375-18.285458-26.638707-27.478841-44.424792-19.958564-35.712363 15.098883-69.537749 34.399461-100.915387 57.607022-40.505529 29.958312-76.084862 65.791425-105.750509 106.506732C52.210106 296.342312 19.618826 396.581294 19.618826 501.596046c0 66.5016 13.031804 131.033335 38.734186 191.800327 24.818245 58.677401 60.340273 111.367437 105.58064 156.606781 45.240367 45.240367 97.930403 80.763418 156.607804 105.581664 60.766992 25.701358 125.297704 38.734186 191.800327 38.734186 66.502623 0 131.033335-13.031804 191.800327-38.734186 58.677401-24.818245 111.366414-60.341297 156.606781-105.581664 45.240367-45.239344 80.762395-97.92938 105.581664-156.606781 25.701358-60.766992 38.734186-125.297704 38.734186-191.800327C1005.062695 396.463614 972.403878 296.133557 910.617673 211.45497z" fill="#ffffff" p-id="3463"></path><path d="M509.270842 388.009058 509.270842 388.009058c20.261463 0 36.839023-16.57756 36.839023-36.839023L546.109866 75.454506c0-20.261463-16.57756-36.839023-36.839023-36.839023l0 0c-20.261463 0-36.839023 16.57756-36.839023 36.839023l0 275.715529C472.431819 371.431497 489.00938 388.009058 509.270842 388.009058z" p-id="3464"></path></svg>
\ No newline at end of file
......
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1660118828860" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2768" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M889.898667 98.730667c16.170667 0 29.269333 13.098667 29.269333 29.269333v719.232a114.602667 114.602667 0 0 1-114.602667 114.602667H128a71.936 71.936 0 0 1-71.936-71.936V213.333333A114.602667 114.602667 0 0 1 170.666667 98.730667z m-29.269334 58.496H170.666667c-30.976 0-56.064 25.173333-56.064 56.106666v676.565334c0 7.424 5.973333 13.397333 13.397333 13.397333h676.565333c30.976 0 56.064-25.088 56.064-56.064V157.226667zM597.333333 457.173333a146.304 146.304 0 0 1 134.826667 203.093334l68.693333 68.778666a29.269333 29.269333 0 0 1-37.717333 44.458667l-3.626667-3.114667-61.184-61.141333A146.304 146.304 0 1 1 597.333333 457.130667z m-219.434666 244.992a29.269333 29.269333 0 0 1 4.309333 58.197334l-4.266667 0.341333h-146.346666a29.269333 29.269333 0 0 1-4.266667-58.197333l4.266667-0.341334h146.346666zM597.333333 515.669333a87.765333 87.765333 0 1 0 0 175.530667 87.765333 87.765333 0 0 0 0-175.530667z m-219.434666 3.626667a29.269333 29.269333 0 0 1 4.309333 58.197333l-4.266667 0.341334h-146.346666a29.269333 29.269333 0 0 1-4.266667-58.197334l4.266667-0.341333h146.346666zM743.68 299.946667a29.269333 29.269333 0 0 1 4.266667 58.197333l-4.266667 0.298667h-512a29.269333 29.269333 0 0 1-4.352-58.197334l4.352-0.298666h512z" fill="#ffffff" p-id="2769"></path></svg>
\ No newline at end of file
</style></defs><path d="M889.898667 98.730667c16.170667 0 29.269333 13.098667 29.269333 29.269333v719.232a114.602667 114.602667 0 0 1-114.602667 114.602667H128a71.936 71.936 0 0 1-71.936-71.936V213.333333A114.602667 114.602667 0 0 1 170.666667 98.730667z m-29.269334 58.496H170.666667c-30.976 0-56.064 25.173333-56.064 56.106666v676.565334c0 7.424 5.973333 13.397333 13.397333 13.397333h676.565333c30.976 0 56.064-25.088 56.064-56.064V157.226667zM597.333333 457.173333a146.304 146.304 0 0 1 134.826667 203.093334l68.693333 68.778666a29.269333 29.269333 0 0 1-37.717333 44.458667l-3.626667-3.114667-61.184-61.141333A146.304 146.304 0 1 1 597.333333 457.130667z m-219.434666 244.992a29.269333 29.269333 0 0 1 4.309333 58.197334l-4.266667 0.341333h-146.346666a29.269333 29.269333 0 0 1-4.266667-58.197333l4.266667-0.341334h146.346666zM597.333333 515.669333a87.765333 87.765333 0 1 0 0 175.530667 87.765333 87.765333 0 0 0 0-175.530667z m-219.434666 3.626667a29.269333 29.269333 0 0 1 4.309333 58.197333l-4.266667 0.341334h-146.346666a29.269333 29.269333 0 0 1-4.266667-58.197334l4.266667-0.341333h146.346666zM743.68 299.946667a29.269333 29.269333 0 0 1 4.266667 58.197333l-4.266667 0.298667h-512a29.269333 29.269333 0 0 1-4.352-58.197334l4.352-0.298666h512z" p-id="2769"></path></svg>
\ No newline at end of file
......
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1660118877999" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2952" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M779.008 56.064c14.72 0 26.88 10.837333 28.970667 24.96l0.298666 4.309333v692.181334c0 14.72-10.837333 26.88-24.917333 28.970666l-4.352 0.298667H229.632a29.269333 29.269333 0 0 1-4.352-58.197333l4.352-0.298667 520.106667-0.042667V114.56H170.666667c-29.013333 0-52.906667 22.101333-55.808 50.346667L114.602667 170.666667l-0.042667 689.962666H810.666667c29.013333 0 52.906667-22.058667 55.808-50.346666l0.256-5.717334V262.528a29.269333 29.269333 0 0 1 58.197333-4.309333l0.341333 4.309333v542.037333a114.602667 114.602667 0 0 1-107.349333 114.346667l-7.253333 0.256H85.333333a29.269333 29.269333 0 0 1-28.928-24.96l-0.341333-4.266667V170.666667A114.602667 114.602667 0 0 1 163.413333 56.32L170.666667 56.064h608.341333z m-236.544 219.434667c10.112 0 19.456 5.205333 24.832 13.738666l91.434667 146.304a29.269333 29.269333 0 0 1 0 31.018667l-91.434667 146.261333a29.269333 29.269333 0 0 1-24.832 13.781334H359.68a29.269333 29.269333 0 0 1-24.832-13.781334l-91.434667-146.261333a29.269333 29.269333 0 0 1 0-31.018667l91.434667-146.304a29.269333 29.269333 0 0 1 24.832-13.738666z m-16.213333 58.496H375.893333l-73.173333 117.034666 73.173333 117.034667h150.357334l73.173333-117.034667-73.173333-117.034666z" fill="#ffffff" p-id="2953"></path></svg>
\ No newline at end of file
</style></defs><path d="M779.008 56.064c14.72 0 26.88 10.837333 28.970667 24.96l0.298666 4.309333v692.181334c0 14.72-10.837333 26.88-24.917333 28.970666l-4.352 0.298667H229.632a29.269333 29.269333 0 0 1-4.352-58.197333l4.352-0.298667 520.106667-0.042667V114.56H170.666667c-29.013333 0-52.906667 22.101333-55.808 50.346667L114.602667 170.666667l-0.042667 689.962666H810.666667c29.013333 0 52.906667-22.058667 55.808-50.346666l0.256-5.717334V262.528a29.269333 29.269333 0 0 1 58.197333-4.309333l0.341333 4.309333v542.037333a114.602667 114.602667 0 0 1-107.349333 114.346667l-7.253333 0.256H85.333333a29.269333 29.269333 0 0 1-28.928-24.96l-0.341333-4.266667V170.666667A114.602667 114.602667 0 0 1 163.413333 56.32L170.666667 56.064h608.341333z m-236.544 219.434667c10.112 0 19.456 5.205333 24.832 13.738666l91.434667 146.304a29.269333 29.269333 0 0 1 0 31.018667l-91.434667 146.261333a29.269333 29.269333 0 0 1-24.832 13.781334H359.68a29.269333 29.269333 0 0 1-24.832-13.781334l-91.434667-146.261333a29.269333 29.269333 0 0 1 0-31.018667l91.434667-146.304a29.269333 29.269333 0 0 1 24.832-13.738666z m-16.213333 58.496H375.893333l-73.173333 117.034666 73.173333 117.034667h150.357334l73.173333-117.034667-73.173333-117.034666z" p-id="2953"></path></svg>
\ No newline at end of file
......
......@@ -45,6 +45,7 @@ export default {
.then((res) => {
sessionStorage.removeItem("token");
this.$store.dispatch("user/resetState");
this.$store.dispatch("permission/resetRoutes");
this.$router.replace({
path: "/jg",
query: {
......@@ -54,17 +55,12 @@ export default {
})
.catch((error) => {
// console.dir(error);
});
},
},
})
}
}
};
</script>
<style lang="scss" scoped>
/deep/.el-menu--horizontal {
display: flex;
align-items: center;
}
.menubg {
height: 34px;
width: 130px !important;
......@@ -101,6 +97,7 @@ export default {
display: flex;
justify-content: space-between;
width: 100%;
background: transparent !important;
}
/deep/.el-menu-item {
......
......@@ -36,10 +36,4 @@ export default {
}
}
}
</script>
<style scoped lang="scss">
.el-menu--horizontal {
display: flex;
background: none !important;
}
</style>
</script>
\ No newline at end of file
......
<!--
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-01-10 09:03:06
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-08 10:45:43
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-22 10:43:26
* @FilePath: \监管系统\js-web-jianguan\src\layout\components\Sidebar\sidebarRight.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
......@@ -17,59 +17,29 @@
</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']),
activeMenu () {
const route = this.$route
const { meta, path } = route
if (meta.activeMenu) {
return meta.activeMenu
}
return path
},
variables () {
return variables
},
asyncRoutes () {
return asyncRoutes.slice(3, 6)
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 () {
const route = this.$route
const { meta, path } = route
if (meta.activeMenu) {
return meta.activeMenu
}
return path
},
variables () {
return variables
},
asyncRoutes () {
return asyncRoutes.slice(3, 6)
}
}
}
</script>
<style scoped lang="scss">
.el-menu--horizontal {
display: flex;
background: none !important;
}
/deep/.el-menu-item:hover {
background: none;
font-weight: 700;
color: #fff !important;
}
/deep/.el-submenu__title {
color: #fff;
font-size: 18px;
}
/deep/.el-submenu__title:hover {
background: none;
font-weight: 700;
font-size: 20px;
}
/deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
background: none;
color: #fff;
font-size: 20px;
font-weight: 700 !important;
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-20 16:35:09
* @LastEditTime: 2023-03-22 10:23:46
-->
<template>
<section class="app-main">
<section>
<transition name="fade-transform" mode="out-in">
<router-view />
</transition>
......@@ -20,14 +20,3 @@ export default {
}
}
</script>
<style lang="scss" scoped>
.app-main {
height: calc(100vh - 74px);
overflow-x: hidden;
box-sizing: border-box;
flex: 1;
width: 100%;
background: #EFF0F4;
padding: 15px;
}
</style>
......
......@@ -7,14 +7,12 @@
</div>
<div class="right-menu">
<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>
<img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
<div class="user">
{{ userName }}
<span @click="onCancel">
<i class="el-icon-switch-button"></i>
</span>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="a">个人中心</el-dropdown-item>
<el-dropdown-item command="b">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
......@@ -23,17 +21,15 @@
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from './Breadcrumb'
import defaultSettings from '@/settings'
import { logout } from "@/api/login.js";
export default {
components: {
Breadcrumb
},
computed: {
...mapGetters(['sidebar', 'avatar', 'name'])
},
data () {
return {
title: defaultSettings.title
...mapGetters(["sidebar", "dicData", "userInfo"]),
userName () {
return this.userInfo ? this.userInfo.name : ""
}
},
methods: {
......@@ -44,11 +40,22 @@ export default {
themeChange (val) {
this.$store.dispatch('app/updateTheme', val)
},
handleCommand (command) {
if (command == 'a') {
} else {
}
onCancel () {
logout()
.then((res) => {
sessionStorage.removeItem("token");
this.$store.dispatch("user/resetState");
this.$store.dispatch("permission/resetRoutes");
this.$router.replace({
path: "/sb",
query: {
redirect: this.$route.fullPath,
},
});
})
.catch((error) => {
// console.dir(error);
})
}
}
}
......@@ -64,6 +71,7 @@ export default {
font-size: 26px;
font-weight: 700;
display: flex;
margin-left: 15px;
img {
width: 47px;
......@@ -78,50 +86,11 @@ export default {
}
}
.NoticeBar {
position: absolute;
bottom: 0;
}
.el-dropdown-menu {
padding: 0 !important;
border: 1px solid #ebeef5;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 4px 0 0 4px 4px;
.el-dropdown-menu__item {
text-align: center;
margin-top: 0 !important;
font-size: 14px;
font-weight: 400;
color: #4a4a4a;
width: 140px;
height: 36px;
line-height: 36px;
}
.el-dropdown-menu__item:nth-child(6) {
border-top: 1px solid #ebeef5;
}
.popper__arrow {
top: -11px !important;
left: 110px !important;
transform: rotate(0deg) scale(2);
}
.el-dropdown-menu__item:not(.is-disabled):hover,
.el-dropdown-menu__item:focus {
background: #f6f7f9;
color: #4a4a4a;
}
}
.navbar {
height: $headerHeight;
overflow: hidden;
position: relative;
@include background_color("navbg");
@include background("navbg");
display: flex;
align-items: center;
......@@ -132,117 +101,12 @@ export default {
width: 300px;
}
.backdrop {
flex: 1;
width: 60%;
background-size: 100% 100%;
height: $headerHeight;
display: flex;
align-items: center;
}
.hamburger-container {
line-height: 43px;
height: 100%;
float: left;
cursor: pointer;
transition: background 0.3s;
-webkit-tap-highlight-color: transparent;
&:hover {
background: rgba(0, 0, 0, 0.025);
}
}
.breadcrumb-container {
float: left;
}
.right-menu {
float: right;
height: 100%;
line-height: 50px;
display: flex;
align-items: center;
.function {
margin: 0 15px;
cursor: pointer;
}
.shutdown {
font-size: 20px;
margin-left: 15px;
cursor: pointer;
}
.organization-item {
margin-right: 40px;
margin-top: -40px !important;
}
.item {
margin-right: 40px;
margin-top: -20px;
line-height: 18.4px;
.right-menu-item {
&.hover-effect {
cursor: pointer;
position: relative;
.item-box {
position: absolute;
top: -5px;
left: 3px;
width: 100%;
min-width: 25px;
height: 25px;
cursor: pointer;
z-index: 100;
}
}
&:focus {
outline: none;
}
.right-menu-item {
display: inline-block;
height: 100%;
font-size: 18px;
color: #fff;
vertical-align: text-bottom;
&.hover-effect {
cursor: pointer;
transition: background 0.3s;
display: flex;
align-items: center;
&:hover {
background: rgba(0, 0, 0, 0.025);
}
}
}
.avatar-wrapper {
position: relative;
transition: background 0.3s;
display: flex;
height: 40px;
align-items: center;
.user-avatar {
cursor: pointer;
width: 35px;
height: 35px;
border-radius: 50%;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -15px;
top: 17px;
font-size: 12px;
}
}
}
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-22 11:19:04
-->
<script>
export default {
name: 'MenuItem',
......@@ -31,11 +36,3 @@ export default {
}
}
</script>
<style scoped>
.sub-el-icon {
color: currentColor;
width: 1em;
height: 1em;
}
</style>
......
......@@ -35,7 +35,7 @@ export default {
},
computed: {
visitedViews () {
return this.$store.state.tagsView.visitedViews
return this.$store.state.tagsView.visitedViews.slice(1)
},
routes () {
return this.$store.state.permission.routes
......@@ -199,7 +199,7 @@ export default {
box-sizing: border-box;
padding-top: 3px;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
margin-bottom: 5px;
.tags-view-wrapper {
.tags-view-item {
display: inline-block;
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-20 16:05:15
* @LastEditTime: 2023-03-23 09:21:00
-->
<template>
<div class="app-wrapper">
<navbar />
<div class="main-container">
<sidebar class="sidebar-container" />
<app-main />
<div class="app-main">
<tags-view v-if="needTagsView" />
<app-main />
</div>
</div>
</div>
</template>
......@@ -37,6 +40,17 @@ export default {
}
}
</script>
<style lang="scss" scoped>
.app-main {
height: calc(100vh - 74px);
overflow-x: hidden;
box-sizing: border-box;
flex: 1;
width: 100%;
background: #EAEBF0;
padding: 10px;
}
</style>
<style lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/sbSidebar.scss";
......@@ -69,9 +83,4 @@ export default {
width: 100%;
transition: width 0.28s;
}
.el-dropdown-menu--small {
padding: 0;
width: 5px;
}
</style>
......
......@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-01-16 09:10:12
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-21 14:15:40
* @LastEditTime: 2023-03-21 15:00:04
* @FilePath: \bdcjg-web\src\main.js
* @Description:
*
......@@ -51,7 +51,7 @@ Vue.directive('fo', {
import './image/icons' // icon
import store from './store'
import router from './router'
import _, { set } from 'lodash'
import _ from 'lodash'
Vue.use(Element, { size: 'small', zIndex: 1000 })
Vue.use(Base)
Vue.component('icon', Icon);
......@@ -60,16 +60,12 @@ Vue.use(dataV)
axios.get("./config.json")
.then((res) => {
Vue.prototype.BASE_API = res.data
localStorage.setItem('ApiUrl', JSON.stringify(res.data));
require('./permission')
setTimeout(() => {
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
}, 20)
})
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
})
\ No newline at end of file
......
......@@ -16,7 +16,7 @@ let mixin = {
computed: {
...mapGetters(['dicData'])
},
created () {
mounted () {
this.handleSearch()
},
methods: {
......
......@@ -33,7 +33,7 @@ export const constantRoutes = [
{
path: '/',
component: Layout,
redirect: '/home',
redirect: '/jg',
meta: { title: '首页' },
children: [
{
......@@ -59,7 +59,7 @@ export const asyncRoutes = [
path: 'index',
component: () => import('@/views/jsbwcx/index'),
name: 'jsbwcx',
meta: { title: '接收报文查询', icon: 'zsgl' }
meta: { title: '区县接入', icon: 'zsgl' }
}
]
},
......
......@@ -2,13 +2,13 @@
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-21 14:05:43
* @LastEditTime: 2023-03-23 10:19:35
* @FilePath: \上报\bdcjg-web\src\store\modules\permission.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import Vue from 'vue'
import { constantRoutes } from '@/router'
import asyncRouter from '@/utils/asyncRouter.js'
// import asyncRouter from '@/utils/asyncRouter.js'
const state = {
routes: [],
addRoutes: false,
......@@ -26,6 +26,39 @@ const mutations = {
const actions = {
// 添加全部菜单
generateRoutes ({ commit }, getMenuInfo) {
let Layout;
if (Vue.prototype.BASE_API.THEME == 'sb') {
Layout = r => require.ensure([], () => r(require(`@/layout1`)))
} else {
Layout = r => require.ensure([], () => r(require(`@/layout`)))
}
function asyncRouter (routers) {
routers.forEach(item => {
if (!item.children) {
delete item.children
} else {
item.children = asyncRouter(item.children)
}
item.path = JSON.parse(item.metadata)?.path || '/'
item.affix = JSON.parse(item.metadata)?.affix || false
if (!item.parentId) {
item.component = Layout
} else {
item.component = loadView(item.uri)
}
item.meta = {
title: item.name,
icon: item.icon,
affix: item.affix
}
})
return routers
}
function loadView (view) {
return r => require.ensure([], () => r(require(`@/views${view}.vue`)))
}
return new Promise(resolve => {
// 将权限菜单数组转成路由树数据结构
let permission_tree = asyncRouter(getMenuInfo)
......
$themes: (blue: ( //背景
navbg: #3D59C4,
menuBg: #121F41,
menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%),
//字体
menuText: #A1A7C2,
menuActiveText: #FFFFFF
),
navbg: linear-gradient(270deg, #EBF1FF 0%, #3D59C4 100%),
menuBg: #F0F3FC,
menuActive: #DFE7F7,
//字体
menuText: #6D7278,
menuActiveText: #4162D8,
// 没有子集
submenuBg: #3D59C4,
submenuColor: #FFFFFF
),
green: (
navbg: #0F8B80,
menuBg:#121A2E,
menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%),
//字体
menuText: #A1A7C2,
menuActiveText: #FFFFFF
//字体
menuText: #A1A7C2,
menuActiveText: #FFFFFF
)
)
\ No newline at end of file
......
.dialogBox {
overflow: hidden;
background: url("~@/image/dialogBg.png") no-repeat !important;
background-size: 100% 100% !important;
// min-height: 90vh;
.dialog_title {
display: flex;
position: relative;
font-size: 22px;
top: -10px;
width: 38%;
height: 40px;
margin-left: 28px;
justify-content: center;
white-space: nowrap;
b {
font-weight: 200;
display: inline-block;
position: relative;
font-size: 24px;
top: -11px;
width: 38%;
height: 40px;
margin-left: 28px;
// @include flex-center;
display: flex;
justify-content: center;
}
}
.dialog_full {
position: absolute;
top: 0;
right: 30px;
}
.el-dialog__body {
max-height: 88vh;
overflow-x: hidden;
overflow-y: hidden;
}
.dialog_footer {
margin-bottom: 8px;
@include flex-center;
}
.dialogBox-content {
height: auto
}
.editDialogBox-box {
background: #031A46;
box-shadow: inset 0px 0px 12px 0px #02D9FD;
border-radius: 2px;
border: 1px solid #6BC1FC;
margin: 0 18px 10px 18px;
}
}
.item-content-input {
/deep/.el-input__inner {
border: none !important;
text-align: right;
}
}
.regularHeight {
display: flex;
flex-direction: column;
height: 87vh;
.editDialogBox-con,
.JsonEditor {
flex: 1;
height: 100%;
}
}
.dialog-from {
padding: 13px;
border-radius: 2px;
box-sizing: border-box;
.el-row {
display: flex;
flex-wrap: nowrap;
}
.el-col {
line-height: 18px;
display: flex;
align-items: center;
margin-bottom: 3px;
color: #B5D6DC;
border-radius: 2px;
border: 1px solid #224C7C;
span {
display: inline-block;
padding: 3px;
border-radius: 3px;
overflow: hidden;
white-space: nowrap;
text-align: left;
color: #02D9FD;
}
p {
flex: 1;
width: 100%;
padding-left: 5px;
line-height: 20px;
color: #c0c4cc;
cursor: not-allowed;
white-space: nowrap;
margin-right: 5px;
text-align: right;
}
}
}
/deep/.el-textarea__inner {
border: 1px solid #224C7C;
margin: 0 0 10px 0 !important;
width: 100% !important;
color: #dadde3 !important;
background: transparent !important;
}
/deep/.el-input__inner {
border: 1px solid #224C7C !important;
margin: 0 !important;
width: 100% !important;
color: #dadde3 !important;
background: transparent !important;
}
.dialog_title {
@include flex;
justify-content: space-between;
width: 100%;
}
.el-dialog__header {
color: #FFFFFF;
height: 46px !important;
width: 97%;
margin: 0 auto;
margin-top: 2px;
}
.el-dialog__body {
padding-top: 0;
padding-bottom: 0;
// height: 95vh;
}
.el-dialog__headerbtn {
width: 42px;
height: 20px;
background: url("~@/image/closebg.png") no-repeat;
background-size: 100% 100%;
right: 40px;
top: 33px;
&:hover {
box-shadow: inset 0px 0px 12px 0px #02D9FD;
}
}
.el-dialog__close {
font-size: 0;
}
.el-form-item {
@include flex;
width: 100%;
}
.el-dialog__wrapper {
width: 100%;
height: 100%;
overflow: hidden;
}
.contentCenter {
position: absolute;
top: 50%;
left: 50%;
transform: translate(calc(-50% + 85px), -50%);
}
.mainCenter {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
// 展开收起按钮位置
.el-input__suffix {
right: 10px;
}
}
\ No newline at end of file
......
@import '~@/styles/jgElement-ui.scss';
.el-menu--horizontal {
display: flex;
background: none !important;
}
.tableClass {
.el-table {
border: none !important;
......@@ -79,6 +84,15 @@
}
}
.el-dialog__close {
font-size: 0;
}
.el-form-item {
display: flex;
width: 100%;
}
.advanced-search {
display: flex;
font-size: 12px;
......@@ -240,12 +254,6 @@
color: #fff;
}
.el-dialog__headerbtn {
position: absolute;
top: 22px;
right: 30px;
}
.el-dialog__header {
text-align: center;
margin-bottom: 10px;
......@@ -424,6 +432,7 @@
width: 100%;
border-bottom: 1px solid #ccc;
}
}
.el-dialog__wrapper {
......@@ -552,3 +561,203 @@
background-size: cover;
color: white;
}
// 监管弹框样式
.dialogBox {
overflow: hidden;
background: url("~@/image/dialogBg.png") no-repeat !important;
background-size: 100% 100% !important;
// min-height: 90vh;
.dialog_title {
display: flex;
position: relative;
font-size: 22px;
top: -10px;
width: 38%;
height: 40px;
margin-left: 28px;
justify-content: center;
white-space: nowrap;
b {
font-weight: 200;
display: inline-block;
position: relative;
font-size: 24px;
top: -11px;
width: 38%;
height: 40px;
margin-left: 28px;
// @include flex-center;
display: flex;
justify-content: center;
}
}
.dialog_full {
position: absolute;
top: 0;
right: 30px;
}
.el-dialog__body {
max-height: 88vh;
overflow-x: hidden;
overflow-y: hidden;
}
.dialog_footer {
margin-bottom: 8px;
display: flex;
justify-content: center;
align-items: center;
}
.dialogBox-content {
height: auto
}
.editDialogBox-box {
background: #031A46;
box-shadow: inset 0px 0px 12px 0px #02D9FD;
border-radius: 2px;
border: 1px solid #6BC1FC;
margin: 0 18px 10px 18px;
}
.item-content-input {
/deep/.el-input__inner {
border: none !important;
text-align: right;
}
}
.regularHeight {
display: flex;
flex-direction: column;
height: 87vh;
.editDialogBox-con,
.JsonEditor {
flex: 1;
height: 100%;
}
}
.dialog-from {
padding: 13px;
border-radius: 2px;
box-sizing: border-box;
.el-row {
display: flex;
flex-wrap: nowrap;
}
.el-col {
line-height: 18px;
display: flex;
align-items: center;
margin-bottom: 3px;
color: #B5D6DC;
border-radius: 2px;
border: 1px solid #224C7C;
span {
display: inline-block;
padding: 3px;
border-radius: 3px;
overflow: hidden;
white-space: nowrap;
text-align: left;
color: #02D9FD;
}
p {
flex: 1;
width: 100%;
padding-left: 5px;
line-height: 20px;
color: #c0c4cc;
cursor: not-allowed;
white-space: nowrap;
margin-right: 5px;
text-align: right;
}
}
}
.el-textarea__inner {
border: 1px solid #224C7C;
margin: 0 0 10px 0 !important;
width: 100% !important;
color: #dadde3 !important;
background: transparent !important;
}
.el-input__inner {
border: 1px solid #224C7C !important;
margin: 0 !important;
width: 100% !important;
color: #dadde3 !important;
background: transparent !important;
}
.el-dialog__header {
color: #FFFFFF;
height: 46px !important;
width: 97%;
margin: 0 auto;
margin-top: 2px;
}
.el-dialog__body {
padding-top: 0;
padding-bottom: 0;
// height: 95vh;
}
.el-dialog__headerbtn {
width: 42px;
height: 20px;
background: url("~@/image/closebg.png") no-repeat;
background-size: 100% 100%;
right: 40px;
top: 33px;
&:hover {
box-shadow: inset 0px 0px 12px 0px #02D9FD;
}
}
.el-dialog__close {
font-size: 0;
}
.el-form-item {
display: flex;
width: 100%;
}
}
.contentCenter {
position: absolute;
top: 50%;
left: 50%;
transform: translate(calc(-50% + 85px), -50%);
}
.mainCenter {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
// 展开收起按钮位置
.el-input__suffix {
right: 10px;
}
}
......
......@@ -198,10 +198,3 @@ input[type="number"] {
.el-form-item__content {
flex: 1;
}
.el-submenu__title {
.svg-icon {
position: relative;
top: 2px;
}
}
\ No newline at end of file
......
......@@ -6,11 +6,10 @@
min-width: 1280px;
box-sizing: border-box;
overflow-x: hidden;
padding: 2px;
&-header {
width: 100%;
padding: 5px 30px 20px 24px;
padding: 15px;
box-sizing: border-box;
background-size: 100% 100%;
background: #FFFFFF;
......@@ -20,14 +19,21 @@
&-content {
width: 100%;
box-sizing: border-box;
margin-top: 15px;
margin-top: 10px;
background: #FFFFFF;
border-radius: 4px;
background-size: 100% 100%;
padding: 22px 42px 20px;
padding: 15px;
}
.el-dialog__close {
font-size: 0;
}
.el-form-item {
display: flex;
width: 100%;
}
.el-form--inline .el-form-item {
width: auto;
......@@ -135,4 +141,4 @@
background-color: white;
;
background-size: cover;
}
}
\ No newline at end of file
......
......@@ -8,7 +8,7 @@
}
.el-form-item__content {
margin-left: 0!important;
margin-left: 0 !important;
}
.sidebar-container {
......@@ -21,7 +21,9 @@
transition: 0s width ease-in-out, 0s padding-left ease-in-out,
0s padding-right ease-in-out;
}
.el-scrollbar {
height: 100%;
}
.scrollbar-wrapper {
overflow-x: hidden !important;
margin-right: 0 !important;
......@@ -49,6 +51,7 @@
.el-menu {
background-color: transparent !important;
border: none;
@include font_color("menuText");
height: 100%;
width: 100% !important;
}
......@@ -63,18 +66,17 @@
.el-submenu__title {
padding-left: 10px !important;
@include font_color("menuText");
height: 42px;
background: linear-gradient(90deg, #013874 0%, #081B56 100%);
margin-bottom: 8px;
background-color: transparent !important;
&:hover {
color: $subMenuActiveText !important;
background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
@include font_color("submenuColor");
@include background_color("submenuBg");
.svg-icon,
i,
span {
color: $subMenuActiveText !important;
@include font_color("submenuColor");
}
}
}
......@@ -83,11 +85,12 @@
.submenu-title-noDropdown {
@include font_color("menuText");
padding-left: 20px;
margin-bottom: 8px;
height: 56px;
background-color: transparent !important;
&:hover {
@include font_color("menuActiveText");
@include background("menuActive");
@include font_color("submenuColor");
@include background_color("submenuBg");
.svg-icon {
color: #1ea6f8 !important;
......@@ -101,8 +104,8 @@
.submenu-title-noDropdown.is-active,
.el-submenu__title.is-active {
@include background("menuActive");
@include font_color("menuActiveText");
@include background_color("submenuBg");
@include font_color("submenuColor");
.svg-icon {
color: #1ea6f8 !important;
......@@ -118,7 +121,6 @@
font-weight: 600;
font-size: $sideBarFontSize;
// margin: 0 10px;
>i {
color: $subMenuActiveText !important;
transform: rotate(90deg);
......@@ -131,7 +133,7 @@
.svg-icon {
font-size: 18px;
margin-top: -5px;
color: #6D7278 !important;
}
}
......@@ -143,28 +145,25 @@
-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;
@include background_color("menuActive");
@include font_color("menuActiveText");
}
&:hover {
background-color: $subMenuHover !important;
@include background_color("menuActive");
@include font_color("menuActiveText");
color: $menuActiveText !important;
}
min-width: 130px !important;
background-color: transparent !important;
font-weight: 600;
@include font_color("menuText");
font-size: $sideBarFontSize;
margin: 0 10px;
// border-radius: 6px;
}
}
......@@ -278,12 +277,10 @@
font-weight: 600 !important;
font-size: 15px !important;
@include background("menuActive");
// background-color: $menuHover !important;
color: $menuText !important;
@include font_color("menuText");
&:hover {
@include background("menuActive");
// background-color: $menuHover !important;
opacity: .9;
.svg-icon,
......@@ -319,6 +316,19 @@
}
}
.el-submenu.is-active .el-submenu__title {
@include background_color("submenuBg");
@include font_color("submenuColor");
}
.el-submenu.is-active .el-submenu__title:hover {
@include font_color("submenuColor");
}
.el-submenu.is-active .el-submenu__title .svg-icon {
@include font_color("submenuColor");
}
.el-submenu__title {
display: flex;
align-items: center;
......
......@@ -24,7 +24,7 @@ $menuHover: #1D66DC;
$subMenuBg:#0D1230;
$subMenuHover:#1D66DC;
$sideBarWidth: 210px;
$sideBarWidth: 250px;
$sideBarFontSize:15px;
// border颜色
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-21 14:27:07
*/
import Vue from 'vue'
import Layout from '@/layout1'
const config = require('/public/config.json')
console.log(config, 'Vue.2222222222222.BASE_API');
var Layout;
let ApiUrl = localStorage.getItem('ApiUrl')
if (ApiUrl.THEME == 'sb') {
Layout = r => require.ensure([], () => r(require(`@/layout1`)))
} else {
Layout = r => require.ensure([], () => r(require(`@/layout`)))
}
export default function filterAsyncRouter (routers) {
routers.forEach(item => {
if (!item.children) {
......@@ -19,6 +19,7 @@ export default function filterAsyncRouter (routers) {
item.component = Layout
} else {
item.component = loadView(item.uri)
console.log(item.component, 'item.componentitem.component');
}
item.meta = {
title: item.name,
......
/*
* @Description:
* @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
* @Autor: renchao
* @LastEditTime: 2023-03-21 13:46:56
*/
/**
* 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
* @LastEditTime: 2023-03-21 15:03:37
*/
import axios from "axios";
import { Message } from "element-ui";
......@@ -17,6 +14,7 @@ const service = axios.create({
headers: {
"Content-Type": "application/json; charset=utf-8",
},
timeout: 15000,
});
......
<template>
<div class="Cfdj from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="130px">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-row>
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-form-item label="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -23,30 +25,29 @@
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="权利人" label-width="80px">
<el-form-item label="权利人">
<el-input v-model="form.QLR" clearable placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="不动产单元号">
<el-form-item label="不动产单元号" label-width="103px">
<el-input v-model="form.BDCDYH" clearable placeholder="不动产单元号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="5">
<el-form-item label="查封机关" label-width="80px">
<el-col :span="4">
<el-form-item label="查封机关">
<el-input v-model="form.CFJG" clearable placeholder="查封机关"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="5">
<el-form-item label="查封文号">
<el-input v-model="form.CFWH" clearable placeholder="查封文号"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="解封机关" label-width="80px">
<el-form-item label="解封机关">
<el-input v-model="form.JFJG" clearable placeholder="解封机关"></el-input>
</el-form-item>
</el-col>
......@@ -55,7 +56,11 @@
<el-input v-model="form.JFWH" clearable placeholder="解封文号"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="证件号" label-width="103px">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
......@@ -94,6 +99,7 @@ export default {
JFWH: '',
CFJG: '',
CFWH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......@@ -149,4 +155,4 @@ export default {
}
}
}
</script>
\ No newline at end of file
</script>
......
......@@ -7,8 +7,10 @@
</el-form-item>
<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="行政区">
<el-form-item label="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -28,7 +30,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="抵押人" label-width="80px">
<el-form-item label="抵押人">
<el-input v-model="form.dyr" clearable placeholder="抵押人"></el-input>
</el-form-item>
</el-col>
......@@ -55,8 +57,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
</el-row>
<el-row class="mt-10">
<el-col :span="24" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -97,6 +106,7 @@ export default {
BDCDYH: '',
dybdclx: '',
DJLX: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -5,10 +5,12 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-row>
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-form-item label="行政区" label-width="100px">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -34,16 +36,16 @@
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="5">
<el-col :span="4">
<el-form-item label="权利人" label-width="80px">
<el-input v-model="form.QLR" clearable placeholder="权利人"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="5">
<el-form-item label="不动产单元号">
<el-form-item label="不动产单元号" label-width="100px">
<el-input v-model="form.BDCDYH" clearable placeholder="不动产单元号"></el-input>
</el-form-item>
</el-col>
......@@ -59,7 +61,11 @@
<el-input v-model="form.XYDBDCDYH" clearable placeholder="需役地不动产单元号"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<el-form-item>
<btn nativeType="cz" @click="resetForm">重置</btn>
......@@ -81,81 +87,82 @@
</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: '',
ZJH: '',
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,
}
}
},
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) {
]),
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
}
} catch (error) {
}
}
}
</script>
\ No newline at end of file
}
</script>
......
......@@ -8,7 +8,9 @@
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -53,7 +55,14 @@
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<el-col :span="6">
<el-form-item label="证件号" label-width="80px">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="24" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -93,6 +102,7 @@ export default {
DJLX: '',
BDCQZH: '',
BDCDYH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -13,8 +13,8 @@
</el-col>
<el-col :span="5">
<el-form-item label="权利类型">
<el-select v-model="form.QLLX" ref="selectshareQL" @visible-change="isShowSelectOptions" clearable
placeholder="权利类型">
<el-select v-model="form.QLLX" ref="selectshareQL" class="width100" @visible-change="isShowSelectOptions"
clearable placeholder="权利类型">
<el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -25,7 +25,12 @@
<el-input v-model="form.BDCDYH" clearable placeholder="不动产单元号"></el-input>
</el-form-item>
</el-col>
<el-col :span="9" class="btnColRight">
<el-col :span="5">
<el-form-item label="证件号" label-width="80px">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -61,6 +66,7 @@ export default {
YWH: '',
QLLX: '',
BDCDYH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -8,7 +8,9 @@
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -53,7 +55,14 @@
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<el-col :span="6">
<el-form-item label="证件号" label-width="80px">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="24" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -93,6 +102,7 @@ export default {
DJLX: '',
BDCQZH: '',
BDCDYH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -5,10 +5,12 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -50,7 +52,12 @@
<el-input v-model="form.JZWMC" clearable placeholder="建筑名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
<el-col :span="6" class="mt-10">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="24" class="btnColRight mt-10">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -89,6 +96,7 @@ export default {
QLR: '',
DJLX: '',
JZWMC: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -6,9 +6,11 @@
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6" class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -32,12 +34,14 @@
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
</el-row>
<el-row class="mt-10">
<el-col :span="6">
<el-form-item label="权利人">
<el-input v-model="form.QLR" clearable placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" class="width100" clearable placeholder="登记类型">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
......@@ -45,12 +49,19 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
<el-col :span="6">
<el-form-item label="海岛名称">
<el-input v-model="form.HDMC" clearable placeholder="海岛名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
<el-col :span="6">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="btnColRight mt-10">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -90,6 +101,7 @@ export default {
QLR: '',
DJLX: '',
HDMC: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -8,7 +8,9 @@
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -48,7 +50,12 @@
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="btnColRight">
<el-col :span="6">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -87,6 +94,7 @@ export default {
QLR: '',
DJLX: '',
BDCQZH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -6,9 +6,11 @@
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6" class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -45,12 +47,16 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="btnColRight mt-10">
<el-col :span="6">
<el-form-item label="证件号" class="mt-10">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
......@@ -84,6 +90,7 @@ export default {
BDCDYH: '',
QLR: '',
DJLX: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -5,10 +5,12 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -50,7 +52,12 @@
<el-input v-model="form.xxx" clearable placeholder="地籍号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
<el-col :span="6">
<el-form-item label="证件号" class="mt-10">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="24" class="btnColRight mt-10">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -89,6 +96,7 @@ export default {
QLR: '',
QLLX: '',
xxx: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -8,7 +8,9 @@
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -43,11 +45,16 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="120px">
<el-form-item label="不动产权证号">
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="btnColRight">
<el-col :span="6">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -85,6 +92,7 @@ export default {
QLR: '',
DJLX: '',
BDCQZH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -8,20 +8,14 @@
<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="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<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="6">
<el-form-item label="权属状态">
<el-select v-model="form.QSZT" class="width100" clearable placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="不动产权证号">
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
......@@ -32,8 +26,6 @@
<el-input v-model="form.YWH" clearable placeholder="业务号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="6">
<el-form-item label="预告登记种类" label-width="106px">
<el-select v-model="form.YGDJZL" clearable ref="selectnoticeRegQL" class="width100"
......@@ -43,6 +35,8 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" clearable class="width100" placeholder="登记类型">
......@@ -56,6 +50,11 @@
<el-input v-model="form.BDCDYH" clearable placeholder="不动产单元号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
......@@ -97,6 +96,7 @@ export default {
YGDJZL: '',
DJLX: '',
BDCDYH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -6,9 +6,11 @@
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5" class="mb-5">
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -46,7 +48,12 @@
<el-input v-model="form.QLR" clearable placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="19" class="btnColRight">
<el-col :span="5">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="14" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -85,6 +92,7 @@ export default {
BDCQZH: '',
QLR: '',
BDCDYH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -5,28 +5,17 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.XZQDM" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.XZQDM = $store.state.user.userInfo.areaCode : form.XZQDM"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<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="6">
<el-form-item label="权属状态" label-width="105px">
<el-select v-model="form.QSZT" class="width100" clearable placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="105px">
<el-input v-model="form.BDCQZH" clearable placeholder="不动产权证号"></el-input>
......@@ -50,7 +39,12 @@
<el-input v-model="form.BDCDYH" clearable placeholder="不动产单元号"></el-input>
</el-form-item>
</el-col>
<el-col :span="18" class="btnColRight mt-10">
<el-col :span="6" class="mt-10">
<el-form-item label="证件号">
<el-input v-model="form.ZJH" clearable placeholder="证件号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="btnColRight mt-10">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-col>
......@@ -86,6 +80,7 @@ export default {
QLR: '',
QLLX: '',
BDCDYH: '',
ZJH: '',
currentPage: 1
},
tableData: {
......
......@@ -4,13 +4,15 @@
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-form-item>
<el-form-item v-if="BASE_API.THEME=='jg'">
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="qxdm">
<el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
<el-select
v-model="$store.state.user.userInfo.grade === 'county' ? form.qxdm = $store.state.user.userInfo.areaCode : form.qxdm"
class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -99,6 +101,7 @@
</template>
<script>
import Vue from 'vue'
// 接收报文查询
// 引入表格头部数据
import data from "./data";
......
......@@ -23,242 +23,243 @@
</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].code);
sessionStorage.setItem("products", res.content[0].code)
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].code);
sessionStorage.setItem("products", res.content[0].code)
} 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.$message.error({ message: res.message, showClose: true });
this.user.account = name;
}
});
},
mounted () {
// this.checkUserName();
} else {
this.user.account = localStorage.getItem("accountId");
}
},
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
localStorage.setItem("token", `Bearer ${res.content}`);
//登录成功后需判断有无重定向,没有重定向则跳转首页
console.log(this.$route.query.redirect);
this.$router.replace(this.$route.query.redirect || "/home");
} else {
//错误处理
}
})
.catch((error) => {
// console.dir(error);
});
}
},
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
localStorage.setItem("token", `Bearer ${res.content}`);
//登录成功后需判断有无重定向,没有重定向则跳转首页
this.$router.replace(this.$route.query.redirect || "/");
} else {
//错误处理
}
})
.catch((error) => {
// console.dir(error);
});
}
});
},
});
},
components: {},
};
},
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%;
}
.username,
.password {
position: relative;
/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;
}
&:before {
content: "";
display: block;
width: 16px;
height: 16px;
position: absolute;
left: 10px;
top: 7px;
background-size: 100% 100%;
}
.username::before {
background-image: url(../../image/username.png);
/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;
}
}
.password::before {
background-image: url(../../image/password.png);
}
.username::before {
background-image: url(../../image/username.png);
}
.bg {
width: 100%;
height: 100%;
min-width: 1440px;
min-height: 560px;
background: url(../../image/loginBoxBg.png) no-repeat;
.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-logo {
background: url(../../image/loginLogo.png) no-repeat;
background-size: 100% 100%;
overflow: hidden;
position: relative;
.login-logo {
background: url(../../image/loginLogo.png) no-repeat;
background-size: 100% 100%;
width: 580px;
height: 540px;
position: absolute;
top: 25%;
left: 19%;
}
width: 580px;
height: 540px;
position: absolute;
top: 25%;
left: 19%;
}
}
.login-inner-bg {
background: url(../../image/loginBg.png) no-repeat;
width: 20.6%;
height: 43%;
min-width: 360px;
min-height: 380px;
top: 30%;
right: 18%;
position: absolute;
background-size: 100% 100%;
box-sizing: border-box;
padding: 56px;
.login-inner-bg {
background: url(../../image/loginBg.png) no-repeat;
width: 20.6%;
height: 43%;
min-width: 360px;
min-height: 380px;
top: 30%;
right: 18%;
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,
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;
}
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 {
.user_style {
h3 {
color: #fff;
font-size: 22px;
font-weight: normal;
text-align: center;
margin: 16px auto 34px;
font-weight: 400;
}
}
.login #loginform {
.el-form-item {
margin-bottom: 24px !important;
}
.btn {
width: 100%;
height: 6vh;
background-color: #00c2de;
border-radius: 5px;
font-size: 1.4vw;
color: #ffffff;
}
.login-btn {
margin-top: 40px !important;
}
.btn:hover {
cursor: pointer;
background-color: #2d8cf0;
}
}
.el-button {
font-size: 18px;
background: #0d8cc0 !important;
color: #ffffff !important;
cursor: pointer !important;
}
.login #loginform {
.el-form-item {
margin-bottom: 24px !important;
}
.el-input__inner {
width: 100% !important;
}
.login-btn {
margin-top: 40px !important;
}
.el-checkbox__label {
color: #fff;
}
.el-button {
font-size: 18px;
background: #0d8cc0 !important;
color: #ffffff !important;
cursor: pointer !important;
}
.inputUser .ivu-input {
padding: 6px 24px !important;
border: 1px solid #9f9f9f !important;
.el-input__inner {
width: 100% !important;
}
tr.hover-row > td.el-table__cell {
background-color: transparent !important;
.el-checkbox__label {
color: #fff;
}
}
.inputUser .ivu-input {
padding: 6px 24px !important;
border: 1px solid #9f9f9f !important;
}
tr.hover-row>td.el-table__cell {
background-color: transparent !important;
}
</style>
......
......@@ -16,8 +16,16 @@
placeholder="请输入密码" show-password></el-input>
</el-form-item>
<el-form-item prop="yz">
<el-input class="yz" @keyup.native="login('user')" v-model="user.yz"
placeholder="请输入验证码"></el-input>
<div class="flex-container">
<div class="flex-input">
<el-input class="yz" @keyup.native="login('user')" v-model="user.yz" placeholder="请输入验证码"></el-input>
</div>
<div class="flex-line"></div>
<div class="flex-img"><canvas id="s-canvas" ref="s-canvas"></canvas></div>
<div class="flex-renovate">
<font id="renovate" @click="verification">换一批</font>
</div>
</div>
</el-form-item>
<el-form-item class="login-btn">
<el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button>
......@@ -29,244 +37,317 @@
</template>
<script>
import { loginIn } from "@/api/login.js";
import { api, getAction } from "@/api/manageApi";
export default {
name: "Login",
data () {
return {
user: {
account: "",
password: "",
yz: "",
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: "BDCSBPT",
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].code);
import { loginIn } from "@/api/login.js";
import { api, getAction } from "@/api/manageApi";
export default {
name: "Login",
data () {
return {
user: {
account: "",
password: "",
yz: "",
checkStatus: false,
},
productName: "",
rules: {
account: [{ required: true, message: "请填写帐号", trigger: "blur" }],
password: [{ required: true, message: "请填写密码", trigger: "blur" }],
},
};
},
created () {
this.verification();
const params = {};
const queryOptions = {
conditionGroup: {
conditions: [
{
property: "code",
value: "BDCSBPT",
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].code);
sessionStorage.setItem("products", res.content[0].code)
} else {
this.$message.error({ message: res.message, showClose: true });
}
});
sessionStorage.setItem("products", res.content[0].code)
} else {
this.$message.error({ message: res.message, showClose: true });
}
});
},
mounted () {
// this.checkUserName();
},
methods: {
verification () {
let str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ', code = '', i = 0;
for (; i++ < 4;) code += str[Math.floor(Math.random() * (str.length - 0) + 0)];
setTimeout(() => {
let canvas = document.getElementById("s-canvas"), ctx = canvas.getContext("2d");
canvas.width = 80;
canvas.height = 28;
ctx.fillStyle = '#ffffff';
ctx.fillRect(0, 0, 80, 28);
for (i = 0; i < code.length; i++) { this.drawText(ctx, code[i], i); }
}, 0);
},
drawText (ctx, txt, i) {
ctx.fillStyle = this.randomColor(50, 160);
ctx.font = "18px SimHei";
let x = (i + 1) * (80 / (4 + 1)), y = this.randomNum(18, 28 - 5);
ctx.translate(x, y);
ctx.fillText(txt, 0, 0);
ctx.rotate((-0 * Math.PI) / 180);
ctx.translate(-x, -y);
},
mounted () {
// this.checkUserName();
randomColor (min, max) {
let r = this.randomNum(min, max);
let g = this.randomNum(min, max);
let b = this.randomNum(min, max);
return "rgb(" + r + "," + g + "," + b + ")";
},
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;
}
randomNum (min, max) {
return Math.floor(Math.random() * (max - min) + min);
},
//记住用户名
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 = localStorage.getItem("accountId");
this.user.account = name;
}
},
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) {
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 {
console.log(res);
this.$message.error({ message: res.message })
}
})
.catch((error) => {
// console.dir(error);
});
}
});
},
} 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) {
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 || "/jsbwcx/index");
} else {
console.log(res);
this.$message.error({ message: res.message })
}
})
.catch((error) => {
// console.dir(error);
});
}
});
},
components: {},
};
},
components: {},
};
</script>
<style scoped lang="scss">
.username,
.password,
.yz {
position: relative;
&:before {
content: "";
display: block;
width: 16px;
height: 16px;
position: absolute;
left: 10px;
top: 7px;
background-size: 100% 100%;
}
.username,
.password,
.yz {
position: relative;
/deep/ .el-input__inner {
color: #000 !important;
text-indent: 24px;
// border: 1px solid rgba(11, 161, 248, 0.4);
// background-color: rgba(6, 135, 205, 0.3) !important;
}
&:before {
content: "";
display: block;
width: 16px;
height: 16px;
position: absolute;
left: 10px;
top: 7px;
background-size: 100% 100%;
}
.username::before {
background-image: url(../../image/userlogo.png);
/deep/ .el-input__inner {
color: #000 !important;
text-indent: 24px;
// border: 1px solid rgba(11, 161, 248, 0.4);
// background-color: rgba(6, 135, 205, 0.3) !important;
}
}
.password::before {
background-image: url(../../image/passlogo.png);
}
.yz::before {
background-image: url(../../image/yzlogo.png);
}
.flex-container {
position: relative;
display: -webkit-flex;
display: flex;
}
.bg {
width: 100%;
height: 100%;
min-width: 1440px;
min-height: 560px;
background: url(../../image/loginBoxsb.png) no-repeat;
background-size: 100% 100%;
overflow: hidden;
position: relative;
}
.title {
width: 24%;
height: 6%;
top: 20%;
right: 38%;
.flex-input {
width: 100%;
}
.flex-line {
position: absolute;
width: 1px;
height: 64%;
margin: 5px;
right: 36%;
background-color: #CCCCCC;
}
.flex-img {
position: absolute;
margin: 2px;
right: 16%;
}
.flex-renovate {
position: absolute;
margin: 1px;
right: 3%;
}
#renovate {
color: #3F8FEA;
font-size: 16px;
font-weight: 700;
cursor: pointer;
}
.username::before {
background-image: url(../../image/userlogo.png);
}
.password::before {
background-image: url(../../image/passlogo.png);
}
.yz::before {
background-image: url(../../image/yzlogo.png);
}
.bg {
width: 100%;
height: 100%;
min-width: 1440px;
min-height: 560px;
background: url(../../image/loginBoxsb.png) no-repeat;
background-size: 100% 100%;
overflow: hidden;
position: relative;
}
.title {
width: 24%;
height: 6%;
top: 20%;
right: 38%;
position: absolute;
img {
width: 60px;
height: 60px;
top: 0%;
left: 2%;
position: absolute;
img {
width: 60px;
height: 60px;
top: 0%;
left: 2%;
position: absolute;
}
h2 {
top: 25%;
left: 22%;
position: absolute;
width: 383px;
height: 42px;
font-size: 28px;
font-weight: 600;
color: #ffffff;
text-shadow: 0px 4px 4px #002c95;
}
}
.login-inner-bg {
background: white;
width: 24.6%;
height: 47%;
min-width: 360px;
min-height: 380px;
top: 30%;
right: 38%;
h2 {
top: 25%;
left: 22%;
position: absolute;
background-size: 100% 100%;
box-sizing: border-box;
padding: 56px;
width: 383px;
height: 42px;
font-size: 28px;
font-weight: 600;
color: #ffffff;
text-shadow: 0px 4px 4px #002c95;
}
}
.login {
.user_style {
h3 {
font-weight: normal;
text-align: center;
margin: -10px auto 28px;
font-weight: 400;
width: 125px;
height: 29px;
font-size: 20px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #333333;
}
}
.login-inner-bg {
background: white;
width: 24.6%;
height: 47%;
min-width: 360px;
min-height: 380px;
top: 30%;
right: 38%;
position: absolute;
background-size: 100% 100%;
box-sizing: border-box;
padding: 56px;
}
.btn {
width: 100%;
height: 6vh;
background-color: #00c2de;
border-radius: 5px;
font-size: 1.4vw;
color: #000;
.login {
.user_style {
h3 {
font-weight: normal;
text-align: center;
margin: -10px auto 28px;
font-weight: 400;
width: 125px;
height: 29px;
font-size: 20px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #333333;
}
}
.btn:hover {
cursor: pointer;
background-color: #2d8cf0;
}
.btn {
width: 100%;
height: 6vh;
background-color: #00c2de;
border-radius: 5px;
font-size: 1.4vw;
color: #000;
}
.login #loginform {
.el-form-item {
margin-bottom: 24px !important;
}
.btn:hover {
cursor: pointer;
background-color: #2d8cf0;
}
}
.login-btn {
margin-top: 30px !important;
}
.login #loginform {
.el-form-item {
margin-bottom: 24px !important;
}
.el-button {
font-size: 18px;
border-radius: 0;
background: #4162d8 !important;
color: #ffffff !important;
cursor: pointer !important;
}
.login-btn {
margin-top: 30px !important;
}
.el-input__inner {
width: 100% !important;
}
.el-button {
font-size: 18px;
border-radius: 0;
background: #4162d8 !important;
color: #ffffff !important;
cursor: pointer !important;
}
.el-checkbox__label {
color: #fff;
}
.el-input__inner {
width: 100% !important;
}
.inputUser .ivu-input {
padding: 6px 24px !important;
border: 1px solid #9f9f9f !important;
.el-checkbox__label {
color: #fff;
}
</style>
}
.inputUser .ivu-input {
padding: 6px 24px !important;
border: 1px solid #9f9f9f !important;
}</style>
......
......@@ -193,384 +193,384 @@
</template>
<script>
import { sbdata, sendThis } from './data/sbdata'
import { dbdata, sendThis1 } from './data/dbdata'
import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js"
import JsonEditor from "@/components/JsonEditor.vue";
import { judgeListComplete } from "@/utils/tools.js"
export default {
components: { JsonEditor },
data () {
return {
key: 0,
title: '',
dialogVisible: false,
titleName: 'sjmx',
titleName2: 'drdbxd',
dbBsm: '',
// 头部信息
accessLog: {
AREACODE: '',
AREANAME: '',
ACCESSDATE: '',
REMARK: ''
},
// 当日登薄信息记录数
import { sbdata, sendThis } from './data/sbdata'
import { dbdata, sendThis1 } from './data/dbdata'
import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js"
import JsonEditor from "@/components/JsonEditor.vue";
import { judgeListComplete } from "@/utils/tools.js"
export default {
components: { JsonEditor },
data () {
return {
key: 0,
title: '',
dialogVisible: false,
titleName: 'sjmx',
titleName2: 'drdbxd',
dbBsm: '',
// 头部信息
accessLog: {
AREACODE: '',
AREANAME: '',
ACCESSDATE: '',
REMARK: ''
},
// 当日登薄信息记录数
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()
},
// XML详情
resultInfo: '',
dataReport: {}
}
},
mounted () {
sendThis(this);
sendThis1(this);
},
watch: {
registerInfo: {
TOTALNUM: '', // 总数量
FIRSTREG: '', // 首次登记数量
TRANSFERREG: '', // 转移登记数量
CHANGEREG: '', // 变更登记数量
LOGOUTREG: '', // 注销登记数量
RIVISEREG: '', // 更正登记数量
DISSENTINGREG: '', // 异议登记数量
ADVANCEREG: '', // 预告登记数量
SEIZEREG: '', // 查封登记数量
EASEMENTREG: '', // 地役权登记数量
otherReg: '', // 其他登记数量
BUSINESSTYPECOUNT: '', // 业务类型总数
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: {
TOTALNUM: '', // 总数量
FIRSTREG: '', // 首次登记数量
TRANSFERREG: '', // 转移登记数量
CHANGEREG: '', // 变更登记数量
LOGOUTREG: '', // 注销登记数量
RIVISEREG: '', // 更正登记数量
DISSENTINGREG: '', // 异议登记数量
ADVANCEREG: '', // 预告登记数量
SEIZEREG: '', // 查封登记数量
EASEMENTREG: '', // 地役权登记数量
otherReg: '', // 其他登记数量
BUSINESSTYPECOUNT: '', // 业务类型总数
},
// 当日登薄详单
tableDBData: {
data: [],
column: dbdata.columns()
},
// 当日上报详单
tableSBData: {
data: [],
column: sbdata.columns()
},
// XML详情
resultInfo: '',
dataReport: {}
}
},
mounted () {
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
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
}
},
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)
methods: {
closeDialog () {
this.dialogVisible = false;
},
deep: true
}
},
methods: {
closeDialog () {
this.dialogVisible = false;
},
isShow (item) {
this.title = '登薄日志(' + item.ACCESSDATE + ')'
this.titleName = 'sjmx'
this.dialogVisible = true
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)
isShow (item) {
this.title = '登薄日志(' + item.ACCESSDATE + ')'
this.titleName = 'sjmx'
this.dialogVisible = true
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: '',
BSM_DBLOG: this.accessLog.bsmDblog
})
this.tableDBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
},
handleDBMinus (row) {
this.$confirm('此操作将删除列表, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.tableDBData.data.splice(row.index, 1)
this.$message({
type: 'success',
message: '删除成功!'
},
// 当日登薄详单
handleDBAdd () {
this.tableDBData.data.push({
YWH: '',
DJLX: '',
QLLX: '',
BDCDYH: '',
ZSZMH: '',
SFSB: '',
BWID: '',
BSM_DBLOG: this.accessLog.bsmDblog
})
this.tableDBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
},
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: '',
BDCDYH: '',
BWID: '',
BSM_DBLOG: this.accessLog.bsmDblog
})
this.tableSBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
},
handleSBMinus (row) {
this.$confirm('此操作将删除列表, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.tableSBData.data.splice(row.index, 1)
this.$message({
type: 'success',
message: '删除成功!'
},
// 当日上报详单
handleSBAdd () {
this.tableSBData.data.push({
YWH: '',
BDCDYH: '',
BWID: '',
BSM_DBLOG: this.accessLog.bsmDblog
})
this.tableSBData.data.forEach((item, index) => {
this.$set(item, 'index', index)
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
/**
* @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'
},
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: '已取消删除'
})
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) {
},
/**
* @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: '生成成功',
type: 'success'
message: msg,
type: 'warning'
})
_this.resultInfo = res.message
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/dialogBox.scss";
/deep/.el-tabs__header {
margin: 0;
}
/deep/.el-dialog {
display: flex;
flex-direction: column;
}
// @import "~@/styles/mixin.scss";
// @import "~@/styles/dialogBox.scss";
/deep/.el-dialog__body {
display: flex;
flex-direction: column;
padding-bottom: 30px;
height: 100%;
flex: 1;
position: relative;
}
/deep/.el-tabs__header {
margin: 0;
}
.regularHeight {
display: flex;
flex-direction: column;
height: 87vh;
margin-bottom: 5px;
/deep/.el-dialog {
display: flex;
flex-direction: column;
}
.editDialogBox-con,
.JsonEditor {
/deep/.el-dialog__body {
display: flex;
flex-direction: column;
padding-bottom: 30px;
height: 100%;
flex: 1;
position: relative;
}
}
.d-center {}
.dialog_title {
top: -13px
}
.regularHeight {
display: flex;
flex-direction: column;
height: 87vh;
margin-bottom: 5px;
/deep/.el-tabs__item {
color: #CEF8FF !important;
.editDialogBox-con,
.JsonEditor {
flex: 1;
}
}
display: flex;
flex-direction: row;
justify-content: center;
background: url("~@/image/tabitem.png") no-repeat;
background-size: 100% 100%;
border: none !important;
}
.d-center {
}
/deep/.el-tabs__nav {
display: flex;
border: none !important;
}
.dialog_title {
top: -13px;
}
/deep/.el-tabs__item.is-top:not(:last-child) {
margin-right: 5px;
}
/deep/.el-tabs__item {
color: #cef8ff !important;
/deep/.el-icon-circle-close {
display: none;
}
display: flex;
flex-direction: row;
justify-content: center;
background: url("~@/image/tabitem.png") no-repeat;
background-size: 100% 100%;
border: none !important;
}
/deep/.el-tabs__item.is-active {
background: url("~@/image/tabitemse.png") no-repeat;
background-size: 100% 100%;
}
/deep/.el-tabs__nav {
display: flex;
border: none !important;
}
.from-clues-content {
margin-top: 0;
background: none;
padding: 0;
}
/deep/.el-tabs__item.is-top:not(:last-child) {
margin-right: 5px;
}
.editDialogBox-box {
position: relative;
top: 10px;
height: 100%;
}
/deep/.el-icon-circle-close {
display: none;
}
.dialog-from {
padding-top: 0;
/deep/.el-tabs__item.is-active {
background: url("~@/image/tabitemse.png") no-repeat;
background-size: 100% 100%;
}
.el-col {
justify-content: space-between;
.from-clues-content {
margin-top: 0;
background: none;
padding: 0;
}
.bz {
height: 100%;
.editDialogBox-box {
position: relative;
top: 3px;
top: 10px;
height: 100%;
}
/deep/.el-input {
flex: 1;
width: 100%;
}
.dialog-from {
padding-top: 0;
/deep/.el-textarea__inner {
border: none !important;
margin: 0;
}
.el-col {
justify-content: space-between;
}
&_header {
margin: 0 -5px !important;
}
.bz {
height: 100%;
position: relative;
top: 3px;
}
/deep/.el-input {
flex: 1;
width: 100%;
}
&_title {
font-size: 14px;
color: #d7eaee;
margin: 3px 0;
/deep/.el-textarea__inner {
border: none !important;
margin: 0;
}
&_header {
margin: 0 -5px !important;
}
&_title {
font-size: 14px;
color: #d7eaee;
margin: 3px 0;
}
}
}
</style>
......
......@@ -10,8 +10,8 @@
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.areacode" 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="$store.state.user.userInfo.grade === 'county' ? form.areacode = $store.state.user.userInfo.areaCode : form.areacode" class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
......
......@@ -10,8 +10,8 @@
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="qxdm">
<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="$store.state.user.userInfo.grade === 'county' ? form.qxdm = $store.state.user.userInfo.areaCode : form.qxdm" class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
......
......@@ -9,6 +9,11 @@
<el-input v-model="form.name" placeholder="请输入菜单名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="图标:" label-width="54px">
<el-input v-model="form.icon" placeholder="请选择图标" :prefix-icon="form.icon" clearable @focus="getIconList" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
......@@ -51,202 +56,215 @@
</el-col>
</el-row>
</el-form>
<!-- 图标列表 -->
<IconList ref="iconList" @iconName="getIconName" />
</div>
</dialogBox>
</template>
<script>
import { getParentMenuListAction } from '@/api/authorityManage'
import JsonEditor from '@/components/JsonEditors'
import { validateCode } from '@/utils/validate';
import { api, httpAction } from '@/api/manageApi'
export default {
name: 'MenuModal',
components: {
JsonEditor,
},
props: {
value: { type: Boolean, default: false },
productId: {
type: String,
default: ''
import { getParentMenuListAction } from '@/api/authorityManage'
import IconList from '../../../components/IconList'
import JsonEditor from '@/components/JsonEditors'
import { validateCode } from '@/utils/validate';
import { api, httpAction } from '@/api/manageApi'
export default {
name: 'MenuModal',
components: {
JsonEditor,
IconList,
},
props: {
value: { type: Boolean, default: false },
productId: {
type: String,
default: ''
}
},
data () {
return {
myValue: this.value,
form: {
icon: '',
code: ''
},
rules: {
name: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }],
code: [
{ required: true, message: '必填', trigger: 'blur' },
{ validator: validateCode, trigger: 'blur' }
]
},
title: '',
type: '',
visible: false,
parentMenuList: [],
menuKey: 0,
jumpModeList: [
{ name: '在当前页面显示', value: 1 },
{ name: '跳转到新页面', value: 2 }
],
setProps: {
value: 'id',
label: 'name',
children: 'children',
expandTrigger: 'hover',
checkStrictly: true, // 可取消关联,选择任意一级选项
emitPath: false
},
dataUrl: api.menus
}
},
computed: {
codeComputed: {
get: function () {
return this.form.code
},
set: function (val) {
this.form.code = val.toUpperCase()
}
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
// 获取父级菜单
getParentMenuList (id) {
getParentMenuListAction(id).then((res) => {
if (res.status === 1) {
const list = this.$dealArrChildren(res.content)
if (id) {
this.parentMenuList = this.$dealArrDisabled(
this.$deepCopy(list),
id
)
this.menuKey++
} else {
this.parentMenuList = list
}
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
},
data () {
return {
myValue: this.value,
form: {
icon: '',
code: ''
},
rules: {
name: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }],
code: [
{ required: true, message: '必填', trigger: 'blur' },
{ validator: validateCode, trigger: 'blur' }
]
},
title: '',
type: '',
visible: false,
parentMenuList: [],
menuKey: 0,
jumpModeList: [
{ name: '在当前页面显示', value: 1 },
{ name: '跳转到新页面', value: 2 }
],
setProps: {
value: 'id',
label: 'name',
children: 'children',
expandTrigger: 'hover',
checkStrictly: true, // 可取消关联,选择任意一级选项
emitPath: false
},
dataUrl: api.menus
}
// 选择图标
getIconName (data) {
this.form.icon = data;
},
computed: {
codeComputed: {
get: function () {
return this.form.code
},
set: function (val) {
this.form.code = val.toUpperCase()
}
}
getIconList () {
this.$refs.iconList.show(true)
},
getIconName (data) {
this.form.icon = data
},
// 配置参数
getJsonString (data) {
this.form.metadata = data
},
watch: {
value (val) {
this.myValue = val
// 新增菜单
add () {
this.getParentMenuList(this.productId)
this.type = 0
this.form.jumpMode = 1
},
// 编辑菜单
edit (record) {
this.type = 1
// 若有id为编辑
if (record.id) {
this.$nextTick(() => {
this.form = Object.assign({}, record)
this.getParentMenuList(this.productId)
})
}
},
methods: {
// 获取父级菜单
getParentMenuList (id) {
getParentMenuListAction(id).then((res) => {
if (res.status === 1) {
const list = this.$dealArrChildren(res.content)
if (id) {
this.parentMenuList = this.$dealArrDisabled(
this.$deepCopy(list),
id
)
this.menuKey++
} else {
this.parentMenuList = list
}
// 选择上级菜单
handleChange (value) {
this.form.parentId = value
},
// 保存
submitForm (submitType) {
this.$refs.form.validate((valid) => {
if (valid) {
let method = ''
let url = ''
const formData = this.form
formData.productId = this.productId
if (!formData.id) {
method = 'post'
url = this.dataUrl
} else {
this.$message.error({ message: res.message, showClose: true })
method = 'put'
url = `${this.dataUrl}/${formData.id}`
}
})
},
getIconList () {
this.$refs.iconList.show(true)
},
getIconName (data) {
this.form.icon = data
},
// 配置参数
getJsonString (data) {
this.form.metadata = data
},
// 新增菜单
add () {
this.getParentMenuList(this.productId)
this.type = 0
this.form.jumpMode = 1
},
// 编辑菜单
edit (record) {
this.type = 1
// 若有id为编辑
if (record.id) {
this.$nextTick(() => {
this.form = Object.assign({}, record)
this.getParentMenuList(this.productId)
})
}
},
// 选择上级菜单
handleChange (value) {
this.form.parentId = value
},
// 保存
submitForm (submitType) {
this.$refs.form.validate((valid) => {
if (valid) {
let method = ''
let url = ''
const formData = this.form
formData.productId = this.productId
if (!formData.id) {
method = 'post'
url = this.dataUrl
} else {
method = 'put'
url = `${this.dataUrl}/${formData.id}`
}
debugger
httpAction(url, formData, method)
.then((res) => {
if (res.status === 1) {
this.$message.success({
message: res.message,
showClose: true
})
httpAction(url, formData, method)
.then((res) => {
if (res.status === 1) {
this.$message.success({
message: res.message,
showClose: true
})
this.resetForm()
this.$emit('ok')
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
.catch((err) => {
console.log(err)
})
}
})
},
resetForm () {
this.$refs.form.resetFields()
this.form = {
icon: '',
code: ''
this.resetForm()
this.$emit('ok')
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
.catch((err) => {
console.log(err)
})
}
},
close () {
this.resetForm()
this.$emit('input', false)
})
},
resetForm () {
this.$refs.form.resetFields()
this.form = {
icon: '',
code: ''
}
},
close () {
this.resetForm()
this.$emit('input', false)
}
}
}
</script>
<style scoped lang="scss">
.modifydialog {
&-con {
background: #031a46;
}
/deep/.el-dialog__header {
.dialog_title {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
position: relative;
top: -8px;
width: 28%;
height: 40px;
margin-left: 28px;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
white-space: nowrap;
b {
font-size: 16px;
font-weight: 600;
}
.modifydialog {
&-con {
background: #031a46;
}
/deep/.el-dialog__header {
.dialog_title {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
position: relative;
top: -8px;
width: 28%;
height: 40px;
margin-left: 28px;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
white-space: nowrap;
b {
font-size: 16px;
}
}
.el-dialog__headerbtn {
right: 20px !important;
top: 23px !important;
}
}
}
</style>
......
......@@ -177,9 +177,12 @@
white-space: nowrap;
b {
font-size: 16px;
font-weight: 600;
}
}
.el-dialog__headerbtn {
right: 20px !important;
top: 23px !important;
}
}
}
</style>
......
......@@ -412,6 +412,6 @@
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBox.scss";
// @import "~@/styles/mixin.scss";
// @import "~@/styles/dialogBox.scss";
</style>
......
/*
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-01-30 17:59:51
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-08 15:09:15
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-23 09:34:50
* @FilePath: \监管系统\js-web-jianguan\src\views\system\users\data\index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -29,16 +29,17 @@ class data extends filter {
},
{
prop: "departmentName",
label: "所属部门"
},
{
prop: "job_group",
label: "职位"
label: "组织机构",
minWidth: 130
},
{
prop: "telephone",
label: "电话"
}
},
{
prop: "jobLevel",
label: "职位"
},
]
}
}
......
......@@ -61,6 +61,15 @@
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="组织机构:" label-width="100px" prop="departmentId">
<el-select class="selbig" v-model="form.departmentId" placeholder="组织机构">
<el-option v-for="item in districtAreaList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="办公地点:" label-width="100px" class="form-item-mb0">
<el-input v-model="form.address" placeholder="办公地点" />
</el-form-item>
......@@ -72,7 +81,7 @@
</template>
<script>
import { api, httpAction } from '@/api/manageApi'
import { api, httpAction, getAction } from '@/api/manageApi'
export default {
name: "",
props: {
......@@ -81,12 +90,15 @@
data () {
return {
myValue: this.value,
districtAreaList: [],
form: {
sex: "0",
departmentId: '',
},
rules: {
name: [{ required: true, message: "请输入姓名", trigger: "blur" }],
code: [{ required: true, message: "请输入工号", trigger: "blur" }],
departmentId: [{ required: true, message: "请选择组织机构", trigger: 'change' }],
mobilePhone: [{ validator: "sddd", trigger: "blur" }],
loginName: [
{ required: true, message: "请输入用户名", trigger: "blur" },
......@@ -99,17 +111,25 @@
dataUrl: api.users
};
},
computed: {
departmentid () {
return this.$store.state.user.userInfo;
},
},
watch: {
value (val) {
this.myValue = val
}
},
created () {
this.getdistricts()
},
methods: {
getdistricts () {
getAction(api.departments, {
queryOptions: { orderBys: [{ property: "sort", direction: "desc" }] },
}).then((res) => {
this.districtAreaList = res.content;
});
},
// 添加人员
adds () {
this.showLoginName = false
......@@ -124,17 +144,17 @@
})
}
},
handleChange (value) {
this.form.departmentId = value;
},
// 保存
submitForm () {
this.districtAreaList.forEach((item) => {
if (this.form.departmentId == item.id) {
this.form.organizationId = item.organizationId
}
})
this.$refs.form.validate((valid) => {
if (valid) {
let method = ''
let url = ''
this.form.organizationId = this.departmentid.organizationId;
this.form.departmentId = this.departmentid.departmentId;
const formData = this.form
if (!formData.id) {
method = 'post'
......@@ -143,7 +163,6 @@
method = 'put'
url = `${this.dataUrl}/${formData.id}`
}
httpAction(url, formData, method).then((res) => {
if (res.status === 1) {
this.$message.success({ message: res.message, showClose: true })
......@@ -191,9 +210,15 @@
white-space: nowrap;
b {
font-size: 16px;
font-weight: 600;
}
}
.el-dialog__headerbtn {
right: 20px !important;
top: 23px !important;
}
}
.selbig {
width: 500px;
}
}
</style>
......
......@@ -23,7 +23,7 @@
</el-col>
<!-- 操作按钮 -->
<el-col :span="3" class="btnColRight">
<btn nativeType="cx" @click="searchQuery">查询</btn>
<btn nativeType="cx" @click="getTableList">查询</btn>
<btn nativeType="cx" @click="handleAdd">添加人员</btn>
</el-col>
</el-row>
......@@ -49,7 +49,7 @@
resetPassword,
getUserList, getUserLists
} from "@/api/personnelManage";
import { api, deleteAction } from '@/api/manageApi'
import { api, deleteAction, getAction } from '@/api/manageApi'
import data from "./data";
import { deleteDomStr } from '@/utils/proDomStr'
import tableMixin from "@/mixins/tableMixin.js";
......@@ -111,6 +111,15 @@
.concat(data.columns())
.concat([
{
label: "职位",
render: (h, scope) => {
return (
<div v-show={scope.row.jobLevel !== null}>{scope.row.jobLevel ? "干事" : "经理"}</div>
)
}
},
{
label: "负责人",
render: (h, scope) => {
return (
......@@ -229,41 +238,75 @@
this.$refs.dialogForm.title = "添加";
},
// 查询
searchQuery () {
console.log(" console.log(this.form);", this.form);
getTableList () {
this.queryParam = {
organizationId: this.departmentid.organizationId,
departmentId: this.departmentid.departmentId,
name: this.form.name,
code: this.form.code,
loginName: this.form.loginName,
};
console.log("this.queryParam", this.queryParam);
getUserLists(this.queryParam).then((res) => {
if (res.status === 1) {
this.loading = false;
this.tableData.data = res.content;
this.tableData.data = judgeSort(this.tableData.data);
console.log("this.tableData.data111111111111111", this.tableData.data);
let arr = []
this.tableData.data.forEach((item) => {
arr.push(item.departmentId)
})
this.getDepts(arr)
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
},
getTableList () {
this.loading = true;
// 获取组织机构
getDepts (deptIdArr) {
let params = {
queryOptions: {
conditionGroup: {
conditions: [
{
property: "id",
value: deptIdArr,
operator: "IN",
},
],
queryRelation: "AND",
},
orderBys: [],
},
};
getAction(api.departments, params).then(
(res) => {
let deptsList = res.content;
deptsList.forEach((ele) => {
this.tableData.data.forEach((item) => {
if (ele.id == item.departmentId) {
item.departmentName = ele.name
}
})
})
getUserList().then((res) => {
if (res.status === 1) {
console.log("res人员列表", res);
this.loading = false;
this.tableData.data = res.content;
this.tableData.data = judgeSort(this.tableData.data);
} else {
this.$message.error({ message: res.message, showClose: true });
},
(err) => {
console.log("err :", err);
}
});
);
},
// getTableList () {
// this.loading = true;
// getUserList().then((res) => {
// if (res.status === 1) {
// console.log("res人员列表", res);
// this.loading = false;
// this.tableData.data = res.content;
// this.tableData.data = judgeSort(this.tableData.data);
// } else {
// this.$message.error({ message: res.message, showClose: true });
// }
// });
// },
// 重置用户密码
resetPassword (data) {
......@@ -328,34 +371,10 @@
}
})
},
getDepts (deptIdArr) {
let params = {
queryOptions: {
conditionGroup: {
conditions: [
{
property: "id",
value: deptIdArr,
operator: "IN",
},
],
queryRelation: "AND",
},
orderBys: [],
},
};
getAction(api.departments, params).then(
(res) => {
let deptsList = res.content;
console.log(deptsList);
},
(err) => {
console.log("err :", err);
}
);
},
// 修改人员信息
handleEdit (row) {
console.log("rowwwww", row);
this.isDialog = true
this.$refs.dialogForm.edit(row);
this.$refs.dialogForm.title = "修改";
......