c7576fcd by 任超

Merge branch 'master' into dev

2 parents 19ea4848 466e4180
Showing 73 changed files with 1909 additions and 606 deletions
......@@ -20,6 +20,7 @@
"nprogress": "0.2.0",
"vue": "2.6.10",
"vue-awesome": "^4.5.0",
"vue-json-editor": "^1.4.3",
"vue-router": "3.0.2",
"vuex": "3.1.0",
"xe-utils": "^3.5.7"
......
......@@ -40,10 +40,18 @@ export function getDataReportPage (data) {
})
}
// 数据上报分页
export function getDetail (params) {
// 查询数据上报详情tabs选项卡
export function getTabsDetail (params) {
return request({
url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getTabsDetail',
method: 'get',
params
})
}
// 查询数据上报详情
export function getReportDetail (params) {
return request({
url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getDetail',
url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getReportDetail',
method: 'get',
params
})
......
import dialogBox from '@/components/DialogBox'
import LbTable from '@/components/LbTable'
import Theme from '@/components/Theme.vue'
import Breadcrumb from "@/components/Breadcrumb.vue";
// 引入按钮
import btn from '@/components/Button.vue'
import Popup from '@/components/Popup/index'
......@@ -8,6 +9,7 @@ import MessageBox from '@/components/MessageBox/index.js'
export default {
install: (Vue) => {
Vue.component('dialogBox', dialogBox);
Vue.component('Breadcrumb', Breadcrumb);
Vue.component('btn', btn);
Vue.component('lbTable', LbTable);
Vue.component('Theme', Theme);
......
<template>
<div class="breadcrumb">
<el-breadcrumb class="app-breadcrumb" separator-class="el-icon-arrow-right">
<transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path">
<span
v-if="
item.redirect === 'noRedirect' || index == levelList.length - 1
"
class="no-redirect"
>{{ item.meta.title }}</span
>
<a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</div>
<el-breadcrumb class="breadcrumb" separator-class="el-icon-arrow-right">
<span class="fl">当前页面:</span>
<transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path">
<span @click.prevent="handleLink(item)">{{ item.meta.title }}</span>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</template>
<script>
import pathToRegexp from "path-to-regexp";
export default {
data() {
data () {
return {
levelList: null,
};
},
watch: {
$route() {
$route () {
this.getBreadcrumb();
},
},
created() {
created () {
this.getBreadcrumb();
},
methods: {
getBreadcrumb() {
getBreadcrumb () {
// only show routes with meta.title
let matched = this.$route.matched.filter(
this.levelList = this.$route.matched.filter(
(item) => item.meta && item.meta.title
);
this.levelList = matched.filter(
(item) => item.meta && item.meta.title
);
)
if (this.$route.matched[0].path == '/jsbwcx') {
this.levelList = this.levelList.slice(-1)
}
},
isDashboard(route) {
isDashboard (route) {
const name = route && route.name;
if (!name) {
return false;
......@@ -53,65 +45,62 @@ export default {
name.trim().toLocaleLowerCase() === "Dashboard".toLocaleLowerCase()
);
},
pathCompile(path) {
pathCompile (path) {
const { params } = this.$route;
var toPath = pathToRegexp.compile(path);
return toPath(params);
},
handleLink(item) {
// const { redirect, path } = item;
// if (redirect) {
// this.$router.push(redirect);
// return;
// }
// this.$router.push(path);
},
},
};
}
}
}
</script>
<style lang="scss" scoped>
.breadcrumb {
margin: 15px auto 0;
box-sizing: border-box;
text-indent: 16px;
text-indent: 10px;
background: linear-gradient(90deg, #0047B8 0%, rgba(0, 26, 95, 0.1) 100%);
line-height: 32px;
color: #FFFFFF;
}
/deep/.el-icon-arrow-right {
width: 2px;
position: relative;
left: -10px;
color: #FFFFFF;
}
/deep/.el-breadcrumb__inner {
color: #FFFFFF !important;
}
.breadcrumb1366 {
padding: 10px 0 !important;
}
.isFullScreen{
.isFullScreen {
width: calc(100% - 20px);
margin: 0 auto;
padding: 10px!important;
padding: 10px !important;
}
.cur-location {
font-size: 16px;
color: white;
line-height: 40px;
float: left;
img {
position: relative;
top: 3px;
margin-right: 4px;
}
}
.app-breadcrumb.el-breadcrumb {
display: inline-block;
font-size: 14px;
// line-height: 40px;
.no-redirect {
color: white;
cursor: text;
}
}
.el-breadcrumb__inner a,
.el-breadcrumb__inner.is-link {
color: white;
cursor: text;
font-weight: normal;
}
// .el-breadcrumb__inner a:hover,
// .el-breadcrumb__inner.is-link:hover {
// text-decoration: underline;
// }
</style>
......
......@@ -5,6 +5,7 @@
/deep/.el-select {
width: 100%;
}
/deep/.el-form-item__error {
right: 25px;
top: 15px;
......@@ -40,6 +41,13 @@
margin-right: -1px;
}
.obligee-item-name,
.receivingInfo-item-name,
.auditInfo-item-name {
background: url("~@/image/itembg.png") no-repeat;
background-size: 100% 100%;
color: #FFFFFF;
}
/deep/.el-textarea__inner {
margin: 5px;
......@@ -49,23 +57,27 @@
border-radius: 2px;
border: 1px solid #6BC1FC;
}
/deep/.el-input-number{
/deep/.el-input-number {
width: 100%;
}
/deep/.el-input-number__increase{
/deep/.el-input-number__increase {
background: #05275B;
color: #FFFFFF;
border:none;
right: 12px;
top: 6px;
border: none;
right: 7px;
top: 2px;
}
/deep/.el-input-number__decrease{
/deep/.el-input-number__decrease {
background: #05275B;
color: #FFFFFF;
border:none;
right: 12px;
bottom:6px;
border: none;
right: 7px;
bottom: 10px;
}
/deep/.el-input__inner {
margin: 5px;
width: 96%;
......@@ -100,4 +112,4 @@
right: 5px;
}
}
}
}
\ No newline at end of file
......
......@@ -95,8 +95,9 @@
实际层数: <br />
<p class="label-detail">(SJCS)</p>
</span>
<el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-only-number="{ max: 99999, min: 1, precision: 0 }"
placeholder="实际层数" v-model="ruleForm.sjcs"></el-input-number>
<el-input-number controls-position="right" :disabled="$store.state.business.Edit"
v-only-number="{ max: 99999, min: 1, precision: 0 }" placeholder="实际层数"
v-model="ruleForm.sjcs"></el-input-number>
</el-form-item>
</el-col>
</el-row>
......@@ -108,8 +109,8 @@
户号: <br />
<p class="label-detail">(HH)</p>
</span>
<el-input-number controls-position="right":disabled="$store.state.business.Edit" v-model="ruleForm.hh" placeholder="户号"
v-only-number="{ max: 99999, min: 1, precision: 0 }"></el-input-number>
<el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-model="ruleForm.hh"
placeholder="户号" v-only-number="{ max: 99999, min: 1, precision: 0 }"></el-input-number>
</el-form-item>
</el-col>
......@@ -225,7 +226,7 @@
<p class="label-detail">(YCFTJZMJ)</p>
</span>
<el-input :disabled="$store.state.business.Edit"
: 999999999999999, min: 0, precision: 2 }" placeholder="预测分摊建筑面积" type="number"
v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="预测分摊建筑面积" type="number"
v-model.number="ruleForm.ycftjzmj"></el-input>
</el-form-item>
</el-col>
......@@ -236,9 +237,9 @@
预测地下部分建筑面积: <br />
<p class="label-detail">(YCDXBFJZMJ)</p>
</span>
<el-input-number controls-position="right" :disabled="$store.state.business.Edit"
<el-input controls-position="right" :disabled="$store.state.business.Edit"
v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="预测地下部分建筑面积" type="number"
v-model.number="ruleForm.ycdxbfjzmj"></el-input-number>
v-model.number="ruleForm.ycdxbfjzmj"></el-input>
</el-form-item>
</el-col>
......@@ -363,9 +364,8 @@
分摊土地面积: <br />
<p class="label-detail">(FTTDMJ)</p>
</span>
<el-input :disabled="$store.state.business.Edit"
: 999999999999999, min: 0, precision: 3 }" placeholder="分摊土地面积" type="number"
v-model.number="ruleForm.fttdmj"></el-input>
<el-input :disabled="$store.state.business.Edit" : 999999999999999, min: 0, precision: 3 }"
placeholder="分摊土地面积" type="number" v-model.number="ruleForm.fttdmj"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -465,7 +465,7 @@ export default {
default: "",
},
},
data() {
data () {
return {
ruleForm: {
YSDM: "",
......@@ -508,7 +508,7 @@ export default {
};
},
methods: {
async featchData() {
async featchData () {
try {
let { result: res } = await kttFwH.getKttFwHById(this.bsmSjsb);
this.ruleForm = res;
......@@ -517,7 +517,7 @@ export default {
this.$refs.msg.messageShow();
}
},
handleUpdateForm() {
handleUpdateForm () {
return new Promise(async (resolve, reject) => {
try {
let res = await kttFwH.updateKttFwH(this.ruleForm);
......
......@@ -315,7 +315,6 @@
</div>
</div>
</el-form>
<message-tips ref="msg" />
</div>
</template>
<script>
......@@ -378,19 +377,15 @@ export default {
try {
let { result: res } = await zttGyQlr.getZttGyQlrById(this.bsmSjsb)
this.obligeeForm.obligeeList = res
//this.featchRule()
} catch (error) {
this.$refs.msg.messageShow()
}
},
handleUpdateForm () {
return new Promise(async (resolve) => {
try {
let res = await zttGyQlr.updateZttGyQlr(this.obligeeForm.obligeeList)
// this.$refs['formList'].resetFields();
resolve(res.code)
} catch (error) {
this.$refs.msg.messageShow()
}
})
}
......
......@@ -21,23 +21,21 @@ export default {
</script>
<style scoped lang="scss">
.button {
width: 80px; //适配4字按钮样式
width: 76px;
height: 32px;
color: #ffffff;
margin: 0 5px;
cursor: pointer;
border: 0
}
.cx {
background: url('../image/btn.png') no-repeat -4px -40px;
cursor: pointer;
background: url('../image/btn.png') no-repeat 0 -34px;
background-size: cover;
}
.cz {
background: url('../image/btn.png') no-repeat -4px -4px;
cursor: pointer;
}
.sb {
background: url('../image/btn.png') no-repeat -4px -112px;
background: url('../image/btn.png') no-repeat 0 0;
background-size: cover;
}
</style>
......
<template>
<el-dialog
:title="title"
:visible.sync="visible"
:width="width"
:append-to-body="appendToBody"
:modal="modal"
:close-on-click-modal="false"
:fullscreen="fullscreen"
:destroy-on-close="destroyOnClose"
:modal-append-to-body="modalAppendToBody"
:class="customClass"
@close="close"
class="dialog"
>
<slot name="content" />
<span slot="footer" class="dialog-footer">
<slot name="footer" />
</span>
</el-dialog>
</template>
<script>
export default {
name: '',
props: {
show: {
type: Boolean,
default: false
},
customClass: {
type: String,
default: ''
},
title: {
type: String,
default: '新增'
},
appendToBody: {
// Dialog 自身是否插入至 body 元素上。嵌套的 Dialog 必须指定该属性并赋值为 true
type: Boolean,
default: true
},
modalAppendToBody: {
// 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上
type: Boolean,
default: true
},
modal: {
// 是否需要遮罩层
type: Boolean,
default: true
},
fullscreen: {
// 是否全屏
type: Boolean,
default: false
},
destroyOnClose: {
// 关闭时销毁 Dialog 中的元素
type: Boolean,
default: false
},
width: {
type: String,
default: '30%'
}
},
data() {
return {}
},
computed: {
visible: {
get() {
return this.show
},
set(val) {
this.$emit('update:show', val) // visible 改变的时候通知父组件
}
}
},
methods: {
close() {
this.$emit('close')
}
}
}
</script>
<style lang="scss" scoped>
.dialog {
/deep/.el-dialog{
overflow: hidden;
background: url("~@/image/dialogBg.png") no-repeat !important;
background-size: 100% 100% !important;
}
.el-dialog__header {
padding: 0;
height: 56px;
line-height: 56px;
border-bottom: none;
.el-dialog__title {
font-weight: 400;
}
.el-dialog__title:before {
display: inline-block;
content: '';
width: 4px;
height: 16px;
background: #3aa3f8;
margin-left: 12px;
margin-right: 8px;
position: relative;
top: 2px;
}
.el-dialog__headerbtn {
position: absolute;
// top: 2%;
right: 12px;
}
}
.el-dialog__body {
margin: 0px 12px;
padding: 48px 24px;
background: #fff;
border: 1px solid #dfe7f3;
.el-button {
padding: 8px 16px;
border: none;
}
.el-form {
.el-checkbox {
line-height: 32px;
height: 32px;
}
.form-item-mb0 {
margin-bottom: 0 !important;
}
.el-form-item {
margin-bottom: 24px;
.el-form-item__label {
height: 32px;
line-height: 32px;
vertical-align: middle;
}
.el-form-item__content {
// height: 32px;
line-height: 32px;
// date 组件有图标
.has-icon.el-date-editor {
.el-input__inner {
padding-left: 32px;
}
}
.el-input__inner {
padding: 0 8px;
height: 32px;
line-height: 32px;
text-align: left;
}
.el-textarea__inner {
padding: 8px 8px;
}
.el-input .el-input__icon {
font-size: 14px;
color: #747e8c;
}
}
}
}
.el-select,
.el-cascader,
.el-date-editor {
width: 100%;
line-height: 32px;
}
}
.el-dialog__footer {
padding: 0 12px;
height: 56px;
line-height: 56px;
border: none;
.el-button {
padding: 8px 16px;
border: none;
}
.el-button + .el-button {
margin-left: 12px;
}
}
}
</style>
......@@ -28,8 +28,8 @@ export default {
res.filter((item) => {
return (
this.cdata.category.push(item.areaName),
this.cdata.lineData.push(item.successCount),
this.cdata.barData.push(item.failureCount)
this.cdata.barData.push(item.successCount),
this.cdata.lineData.push(item.failureCount)
);
});
} catch (error) {
......
......@@ -17,20 +17,17 @@ export default {
components: {
Chart,
},
created () {
},
mounted () {
this.getDjlxtotal();
},
methods: {
getDjlxtotal () {
return new Promise(async (resolve) => {
try {
return new Promise(async (resolve) => {
try {
let p = {
DJLX: "A21",
QLLX: "A8",
XZQDM: "A20",
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getDjlxtotal(p);
res.result.filter((item) => {
......
......@@ -16,23 +16,7 @@ export default {
data () {
return {
cdata: {
seriesData: [
{ value: 10, name: "土地所有权" },
{ value: 5, name: "建设用地、宅基地使用权" },
{ value: 15, name: "房地产权(项目内多幢房屋)" },
{ value: 25, name: "产地产权(独幢、层、套、间、房屋)" },
{ value: 20, name: "建筑物区分所有权业主共有部分" },
{ value: 35, name: "海域(含无居民海岛)使用权" },
{ value: 10, name: "构(建)筑物所有权" },
{ value: 5, name: "农用地使用权(非林地)" },
{ value: 15, name: "林权" },
{ value: 25, name: "注销登记" },
{ value: 20, name: "异议登记" },
{ value: 35, name: "预告登记" },
{ value: 20, name: "查封登记" },
{ value: 35, name: "抵押权登记" },
{ value: 20, name: "地役权登记" },
],
seriesData: [],
},
};
},
......@@ -40,23 +24,31 @@ export default {
Chart,
},
mounted () {
this.getdjywltotal();
this.getdjywltotal();
},
methods: {
getdjywltotal () {
return new Promise(async (resolve) => {
async getdjywltotal () {
try {
let p = {
DJLX: "A21",
QLLX: "A8",
XZQDM: "A20",
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getdjywltotal(p);
console.log("res",res);
res.result.filter((item) => {
return (
this.cdata.seriesData.push({ "name": item.AREACODE, "value": item.ywtotal })
)
});
console.log("this.cdata.seriesData",this.cdata.seriesData);
} catch (error) {
this.$refs.msg.messageShow();
}
});
},
},
};
......
<template>
<!-- 编辑 -->
<el-dialog :close-on-click-modal="false" top="0" custom-class="dialogBox editDialogBox mainCenter"
:visible.sync="dialogVisible" width="85%">
<el-dialog :close-on-click-modal="false" top="0" @close="closeDialog"
custom-class="dialogBox editDialogBox mainCenter" :visible.sync="dialogVisible" width="85%">
<div slot="title" class="dialog_title" ref="dialogTitle">
<b>{{ title || '标题' }}</b>
</div>
<el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab">
<el-tab-pane label="数据模型" name="sjmx"></el-tab-pane>
<el-tab-pane label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane label="响应结果" name="xyjg"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane>
</el-tabs>
<div v-if="titleName == 'sjmx'" class="sjmx">
<div class="dialog-from">
<el-row>
<el-col :span="5">
<span>业务报文ID:</span>
<div>{{ dataReport.bizMsgid }}</div>
<div>{{ dataReport.BizMsgId }}</div>
</el-col>
<el-col :span="7">
<span>接入报文ID:</span>
<div>{{ dataReport.asid }}</div>
<div>{{ dataReport.ASID }}</div>
</el-col>
<el-col :span="5">
<span>行政区划编码:</span>
<div>{{ dataReport.areacode }}</div>
<div>{{ dataReport.AreaCode }}</div>
</el-col>
<el-col :span="7">
<span>上次不动产单元号:</span>
<div>{{ dataReport.preestatenum }}</div>
<div>{{ dataReport.PreEstateNum }}</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>业务编码:</span>
<div>{{ dataReport.rectype }}</div>
<div>{{ dataReport.RecType }}</div>
</el-col>
<el-col :span="7">
<span>权利类型:</span>
<div>{{ dataReport.righttype }}</div>
<div>{{ dataReport.RightType }}</div>
</el-col>
<el-col :span="5">
<span>登记类型:</span>
<div>{{ dataReport.regtype }}</div>
<div>{{ dataReport.RegType }}</div>
</el-col>
<el-col :span="7">
<span>不动产权证书数量:</span>
<div>{{ dataReport.certcount }}</div>
<div>{{ dataReport.CertCount }}</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>创建时间:</span>
<div>{{ dataReport.createdate }}</div>
<div>{{ dataReport.createDate }}</div>
</el-col>
<el-col :span="7">
<span>业务流水号:</span>
<div>{{ dataReport.recflowid }}</div>
<div>{{ dataReport.RecFlowID }}</div>
</el-col>
<el-col :span="5">
<span>登记机构:</span>
<div>{{ dataReport.regorgid }}</div>
<div>{{ dataReport.RegOrgID }}</div>
</el-col>
<el-col :span="7">
<span>证明数量:</span>
<div>{{ dataReport.proofcount }}</div>
<div>{{ dataReport.ProofCount }}</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>宗地/宗海代码:</span>
<div>{{ dataReport.parcelid }}</div>
<div>{{ dataReport.ParcelID }}</div>
</el-col>
<el-col :span="7">
<span>不动产单元号:</span>
<div>{{ dataReport.estatenum }}</div>
<div>{{ dataReport.EstateNum }}</div>
</el-col>
<el-col :span="10">
<span>上次不动产权证号/不动产登记证明:</span>
<div>{{ dataReport.precertid }}</div>
<div>{{ dataReport.PreCertID }}</div>
</el-col>
</el-row>
<!-- <el-row>
......@@ -97,20 +97,13 @@
</el-tabs>
<div class="edit-content">
<component :is="editItem" ref="editItem" :class="{ 'editForm': $store.state.business.Edit }"
:bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport" />
:bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport || dataReport.bsmSjsb" />
</div>
</div>
<div v-if="titleName == 'xyjg'">
<Xyjg :form-data = 'dataReport'></Xyjg>
<Xyjg :form-data='dataReport'></Xyjg>
</div>
<JsonEditor :resultInfo="resultInfo" v-if="titleName == 'xml'" />
<!-- <div slot="footer" class="dialog_footer" ref="dialogFooter">
<div class="dialog_button">
<el-button type="primary" plain @click="submitForm" v-if="!Edit" :loading="saveloding">确定
</el-button>
<el-button @click="closeDialog()">关闭</el-button>
</div>
</div> -->
</el-dialog>
</template>
......@@ -118,7 +111,7 @@
import { mapGetters } from "vuex";
import JsonEditor from "@/components/JsonEditor.vue";
import Xyjg from "./Result";
import { getDetail, getXml } from "@/api/dataReport.js";
import { getTabsDetail, getXml, getReportDetail } from "@/api/dataReport.js";
import { MessageBox } from "element-ui";
export default {
components: { JsonEditor, Xyjg },
......@@ -126,6 +119,14 @@ export default {
title: {
type: String,
default: ''
},
tabsActiveName: {
type: String,
default: ''
},
visiableXml: {
type: Boolean,
default: false
}
},
computed: {
......@@ -177,19 +178,26 @@ export default {
this.titleName = 'sjmx';
this.dialogVisible = true;
//获取表头列表
getDetail({ bsmReport: this.dataReport.bsmReport }).then((res) => {
getTabsDetail({ bsmReport: this.dataReport.bsmReport || this.dataReport.bsmSjsb }).then((res) => {
if (res.code == 200) {
this.headerList = res.result;
this.activeName = res.result[0].soleurl
this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName
this.bsmYwsjb = this.headerList[0].bsmYwsjb;
this.editItem = this.loadView(this.activeName);
}
});
// 获取xml
getXml(item.bizMsgid).then((res) => {
console.log(res);
this.resultInfo = res.message
//不动产数据查询上报详情
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
})
}
},
changeList (val) {
let _index = val.index;
......@@ -206,10 +214,13 @@ export default {
},
loadView (view) {
return (r) =>
require.ensure([], () => r(require(`@/components/Business/${view}`)));
require.ensure([], () => r(require(`@/components/Business/${view}.vue`)));
},
closeDialog () {
this.dialogVisible = false;
//关闭弹框时将tabs项置空
this.editItem = "";
this.headerList = [];
},
submitForm () {
let _this = this;
......@@ -267,13 +278,13 @@ export default {
.editForm {
/deep/.el-textarea__inner {
border: none !important;
margin: 0 !important;
border: 1px solid #224C7C !important;
margin: 0 0 10px 0 !important;
width: 100% !important;
}
/deep/.el-input__inner {
border: none !important;
border: 1px solid #224C7C !important;
margin: 0 !important;
width: 100% !important;
}
......@@ -310,7 +321,8 @@ export default {
.obligee-item-name {
background: #05275B;
color: #FFFFFF;
border: 1px solid #6BC1FC;
background: url("~@/image/itembg.png") no-repeat;
background-size: 100% 100%;
}
/deep/.el-tabs__nav-scroll {
......@@ -362,7 +374,7 @@ export default {
}
.edit-content {
height: 400px;
height: 450px;
overflow-y: auto;
overflow-x: hidden;
padding-right: 1px;
......
<template>
<div class="icon-List">
<el-dialog
:visible.sync="visible"
:append-to-body="true"
:show-close="isClose"
>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="内置图标" name="first">
<ul v-if="iconList" class="clearfix">
<li
v-for="(item, index) in iconList"
:key="index"
@click="changeData(item)"
>
<i :class="item" />
</li>
</ul>
</el-tab-pane>
<el-tab-pane label="自定义图标" name="second">
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon">
<p>点击上传</p>
</i>
</el-upload>
<div>
<el-input v-model="iconName" class="icon-name" placeholder="请输入图标代码"></el-input>
</div>
<el-button class="confirm" type="primary" @click="changeIconName">确定</el-button>
</el-tab-pane>
</el-tabs>
</el-dialog>
</div>
</template>
<script>
import icoNameList from '@/utils/elementUI'
export default {
name: 'IconList',
components: {},
props: {},
data() {
return {
visible: false,
isClose: false,
iconList: [],
activeName: 'first',
iconName: '',
imageUrl: ''
}
},
computed: {},
watch: {},
created() {},
mounted() {
this.iconList = icoNameList
},
methods: {
show(show) {
this.visible = show
},
handleClick(tab, event) {
console.log(tab, event)
},
changeData(iconName) {
this.visible = false
// 传递图标名称给父级
this.$emit('iconName', iconName)
},
changeIconName() {
this.visible = false
// 传递图标名称给父级
this.$emit('iconName', this.iconName)
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-dialog {
box-shadow: 0px 4px 10px 0px #666666;
border-radius: 4px;
width: 573px;
height: 300px;
position: relative;
top: 4vh;
left: 0vw;
.el-dialog__header {
display: none;
}
.el-dialog__body {
padding: 10px;
}
.el-tabs {
.el-tabs__content {
height: 200px;
overflow-y: scroll;
ul {
li {
float: left;
padding: 1%;
margin: 2px;
border: 1px solid #e8eaec;
cursor: pointer;
width: 30px;
height: 30px;
}
}
.avatar-uploader-icon {
font-size: 12px;
color: #8c939d;
text-align: center;
width: 62px;
height: 62px;
background: #f6f7f9;
border-radius: 4px;
border: 1px solid #e5e5e5;
padding-top: 32%;
}
}
}
.confirm {
float: right;
margin-top: 30px;
}
.icon-name {
width: 70%;
margin-top: 10px;
}
}
</style>
<template>
<div>
<i class="icon-tubiao-242 iconfont" :title="title" @click="openDialog" />
<el-dialog
:key="key"
:title="title"
:inner-dialog="true"
:visible.sync="dialogVisible"
width="600px"
:close-on-click-modal="false"
append-to-body
@cancel="cancel"
>
<vue-json-editor
id="minejson"
v-model="resultInfo"
:mode="'code'"
lang="zh"
@json-change="onJsonChange"
@json-save="onJsonSave"
@has-error="onError"
/>
<el-tooltip
content="全屏缩放"
effect="dark"
placement="bottom"
fullscreen
class="fullScreen"
>
<i class="el-icon-full-screen" @click="enLarge" />
</el-tooltip>
<template slot="footer">
<div class="dialog-footer flex flex-pack-center">
<el-button
type="primary"
class="confirmBtn"
@click="onJsonSave"
>保存</el-button>
<el-button
type="primary"
class="cancelBtn"
@click="cancel"
>关闭</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
import vueJsonEditor from 'vue-json-editor'
export default {
components: {
vueJsonEditor
},
props: {
title: {
type: String,
default: '配置参数'
},
resultInfos: {
type: String,
default: ''
}
},
data() {
return {
activeNames: [],
resultInfo: {},
tmpResultInfo: {},
dialogVisible: false,
hasJsonFlag: true,
key: 0,
isEnlarge: false
}
},
watch: {
resultInfos: {
handler: function(val) {
++this.key
this.resultInfo =
this.resultInfos === '' ? {} : JSON.parse(this.resultInfos)
this.tmpResultInfo = this.resultInfo
},
deep: true,
immediate: true
}
},
mounted() {
this.resultInfo =
this.resultInfos === '' ? {} : JSON.parse(this.resultInfos)
},
methods: {
onJsonChange(value) {
// 只有在格式正确的时候进入此事件
this.hasJsonFlag = true
},
onJsonSave() {
const value = this.resultInfo
console.log(this.resultInfo, 'resultInfo')
if (this.hasJsonFlag === false) {
this.$message.error({ message: 'json格式验证失败', showClose: true })
// alert("json验证失败")
return false
} else {
this.dialogVisible = false
this.$emit('getJsonString', JSON.stringify(value))
return true
}
},
onError(value) {
this.hasJsonFlag = false
},
openDialog() {
this.dialogVisible = true
},
cancel() {
console.log(this.tmpResultInfo, 'tmpResultInfo')
this.resultInfo = this.tmpResultInfo
this.dialogVisible = false
},
// 放大
enLarge() {
const fullarea = document.getElementById('minejson')
if (fullarea.requestFullscreen) {
fullarea.requestFullscreen()
} else if (fullarea.webkitRequestFullScreen) {
fullarea.webkitRequestFullScreen() // webkit内核(chrome、safari、Opera等)
} else if (fullarea.mozRequestFullScreen) {
fullarea.mozRequestFullScreen() // moz内核(firefox)
} else if (fullarea.msRequestFullscreen) {
fullarea.msRequestFullscreen() // IE11、edge
}
this.isEnlarge = true
}
}
}
</script>
<style scoped lang="scss">
/* jsoneditor右上角默认有一个链接,加css去掉了 */
.iconfont {
cursor: pointer;
position: relative;
top: 1px;
color: #349af3;
}
::v-deep .jsoneditor-vue {
height: 100%;
}
.fullScreen {
position: absolute;
right: 5%;
top: 22%;
cursor: pointer;
color: #fff;
}
::v-deep .jsoneditor-modes {
display: none !important;
}
.jsoneditor-poweredBy {
display: none !important;
}
.jsoneditor-menu {
background-color: #9c9e9f !important;
border-bottom: 1px solid #9c9e9f !important;
}
.jsoneditor {
border: 1px solid #9c9e9f !important;
}
.el-collapse {
border: 0;
}
.el-collapse-item__header {
height: 44px;
}
</style>
......@@ -74,7 +74,7 @@ export default {
},
heightNum: {
type: Number,
default: 345,
default: 355,
},
maxHeight: {
type: Number,
......@@ -99,7 +99,7 @@ export default {
},
data () {
return {
tableHeight: '',
tableHeight: 'auto',
mergeLine: {},
mergeIndex: {},
selected: ''
......@@ -115,7 +115,6 @@ export default {
},
},
methods: {
// 单选
singleElection (row) {
this.selected = this.data.indexOf(row);
......@@ -128,8 +127,37 @@ export default {
},
getHeight () {
if (!this.heightNumSetting) {
this.tableHeight = window.innerHeight - this.heightNum
let _this = this
if (this.heightNum) {
_this.$nextTick(() => {
window.addEventListener('resize', () => {
_this.tableHeight = _this.calcHeightx(230)
});
_this.tableHeight = _this.calcHeightx(230)
})
} else {
_this.tableHeight = window.innerHeight - _this.heightNum
}
}
},
calcHeightx (value, wappered = true) {
//项目自定义的公共header部分的高度,可忽略
let header = document.querySelector(".from-clues-header").offsetHeight;
//value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分)
value = value == undefined ? 100 : value;
let res = window.innerHeight - parseInt(header) - value;
if (wappered) {
//通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素
let wapper = window.document.getElementsByClassName('el-table__body-wrapper');
//通过原生方法,获取dom节点的高度------获取element-ui table表格header的元素
let header = window.document.getElementsByClassName('el-table__header-wrapper');
//必须加延时,要不然赋不上去值
setTimeout(() => {
//通过上边计算得到的table高度的value值,减去table表格的header高度,剩下的通过dom节点直接强行赋给table表格的body
wapper[0].style.height = (value - header[0].clientHeight)
}, 100)
}
return res;
},
clearSelection () {
this.$refs.elTable.clearSelection()
......

798 KB | W: | H:

764 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

3.32 KB | W: | H:

5.95 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

12.8 KB | W: | H:

37.7 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

1.52 KB | W: | H:

1.38 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
<template>
<section class="app-main">
<!-- <Breadcrumb v-if="judgeRoute()" /> -->
<transition name="fade-transform" mode="out-in">
<router-view />
</transition>
</section>
</template>
<script>
import Breadcrumb from "@/components/Breadcrumb.vue";
export default {
name: 'AppMain',
components: {
Breadcrumb
},
methods: {
judgeRoute(){
if (this.$route.path == '/home' || this.$route.path.indexOf('jsbwcx') > -1) {
return false
}else{
return true
}
}
},
computed: {
key () {
return this.$route.path
......
......@@ -79,7 +79,8 @@ export default {
.xuanzhong {
background: url('~@/image/selNavbar.png') no-repeat;
background-size: 100% 100%;
color: #09C39A !important;
color: #FFFFFF !important;
font-weight: 700;
}
/deep/.el-menu-item:hover {
......
<template>
<el-menu router :default-active="activeMenu" mode="horizontal">
<el-menu router :default-active="activeMenu" mode="horizontal" menu-trigger="click">
<!-- 权限菜单 -->
<sidebar-item v-for="route in permission_routes.slice(1, 4)" :key="route.path" :item="route"
:base-path="route.path" />
......
......@@ -36,6 +36,7 @@ export default {
position: relative;
height: 100%;
width: 100%;
min-width: 1280px;
background: url('~@/image/bg.png') no-repeat;
background-size: 100% 100%;
padding: 12px;
......@@ -48,6 +49,7 @@ export default {
}
.appMain {
min-width: 1290px;
height: calc(100vh - 101px) !important;
box-sizing: border-box;
......
......@@ -2,7 +2,7 @@ const state = {
rules: {},
initRules: {},
subRules: {},
Edit: false
Edit: true
}
const mutations = {
......@@ -30,13 +30,13 @@ const actions = {
setInitRules ({ commit }, data) {
commit('SET_INITRULES', data)
},
setSubRules({ commit }, data) {
setSubRules ({ commit }, data) {
commit('SET_SUBRULES', data)
},
setEdit({ commit }) {
setEdit ({ commit }) {
commit('SET_EDIT')
},
setReportLogEdit({ commit }) {
setReportLogEdit ({ commit }) {
commit('SET_REPORTEDIT')
}
}
......
......@@ -66,7 +66,8 @@
// refine element ui upload
.el-input.is-disabled .el-input__inner {
color: #FFFFFF !important;
background-color: transparent !important;
// background-color: transparent !important;
border: 1px solid #224C7C !important;
}
.upload-container {
......@@ -214,6 +215,15 @@ table td {
color: #4A4A4A;
}
.twoLineCls {
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
}
.el-table tr td {
font-size: 14px;
......@@ -253,7 +263,8 @@ table td {
// element 下拉框样式
.el-menu--popup,
.el-select-dropdown {
background-color: #031A46 !important;
background: url("~@/image/slbg.png") no-repeat;
background-size: 100% 100%;
padding: 10px;
border: none;
}
......@@ -265,20 +276,25 @@ table td {
.el-popper[x-placement^="bottom"] .popper__arrow {
display: none;
}
.el-popper[x-placement^="bottom"] {
margin-top: 0px;
}
// 时间选择框样式
.el-date-picker {
.el-input__inner{
.el-input__inner {
background-color: #031a46;
}
.el-picker-panel{
.el-picker-panel {
border: none;
}
.el-picker-panel__footer{
.el-picker-panel__footer {
background-color: #031a46;
}
.el-date-table td.disabled div {
background-color: #074487;
}
......@@ -400,9 +416,12 @@ table td {
// 时间组件input框部分
.el-date-editor {
[class^="el-icon-"], [class*=" el-icon-"] {
[class^="el-icon-"],
[class*=" el-icon-"] {
display: none;
}
.el-range-separator {
color: #E3F1FF;
}
......@@ -416,18 +435,30 @@ table td {
.el-menu--horizontal .el-menu .el-menu-item,
.el-select-dropdown__item,
.el-menu--horizontal .el-menu .el-submenu__title {
background: #074487 !important;
margin: 5px 0;
border: 1px solid #074487;
background: url("~@/image/slitembg.png") no-repeat;
height: 26px;
line-height: 26px;
background-size: 100% 100%;
margin-bottom: 7px;
color: #02D9FD !important;
}
.el-select-dropdown {
top: 203px !important;
}
.el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):hover,
.el-select-dropdown__item:hover,
.el-select-dropdown__item.selected,
.el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):focus {
background: #074487;
border: 1px solid #02D9FD;
background: url("~@/image/xzslitembg.png") no-repeat;
background-size: 100% 100%;
color: #FFFFFF !important;
font-weight: 700;
}
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
background-color: transparent !important;
;
}
\ No newline at end of file
......
......@@ -7,36 +7,43 @@
max-height: 100%;
overflow-y: scroll;
}
.panel-tab__title {
font-weight: 600;
padding: 0 8px;
font-size: 1.1em;
line-height: 1.2em;
i {
margin-right: 8px;
font-size: 1.2em;
}
}
.panel-tab__content {
width: 100%;
box-sizing: border-box;
border-top: 1px solid #eeeeee;
padding: 8px 16px;
.panel-tab__content--title {
display: flex;
justify-content: space-between;
padding-bottom: 8px;
span {
flex: 1;
text-align: left;
}
}
}
.element-property {
width: 100%;
display: flex;
align-items: flex-start;
margin: 8px 0;
.element-property__label {
display: block;
width: 90px;
......@@ -47,64 +54,72 @@
font-size: 14px;
box-sizing: border-box;
}
.element-property__value {
flex: 1;
line-height: 32px;
}
.el-form-item {
width: 100%;
margin-bottom: 0;
padding-bottom: 18px;
}
}
.list-property {
flex-direction: column;
.element-listener-item {
width: 100%;
display: inline-grid;
grid-template-columns: 16px auto 32px 32px;
grid-column-gap: 8px;
}
.element-listener-item + .element-listener-item {
.element-listener-item+.element-listener-item {
margin-top: 8px;
}
}
.listener-filed__title {
display: inline-flex;
width: 100%;
justify-content: space-between;
align-items: center;
margin-top: 0;
span {
width: 200px;
text-align: left;
font-size: 14px;
}
i {
margin-right: 8px;
}
}
.element-drawer__button {
margin-top: 8px;
width: 100%;
display: inline-flex;
justify-content: space-around;
}
.element-drawer__button > .el-button {
.element-drawer__button>.el-button {
width: 100%;
}
.el-collapse-item__content {
padding-bottom: 0;
}
.el-input.is-disabled .el-input__inner {
color: #999999;
}
.el-form-item.el-form-item--mini {
margin-bottom: 0;
& + .el-form-item {
&+.el-form-item {
margin-top: 16px;
}
}
}
}
\ No newline at end of file
......
......@@ -40,16 +40,16 @@
//*****start*通用表单查询条件,列表样式******//
.from-clues {
min-width: 1280px;
height: 100%;
width: 100%;
min-width: 1280px;
box-sizing: border-box;
overflow-x: hidden;
padding: 2px;
&-header {
width: 100%;
padding: 20px 30px 20px 20px;
padding: 5px 30px 20px 20px;
box-sizing: border-box;
background: url("~@/image/formHeader.png") no-repeat;
background-size: 100% 100%;
......@@ -196,4 +196,4 @@
.btnColRight {
box-sizing: border-box;
text-align: right;
}
}
\ No newline at end of file
......
const icoNameList = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round']
.map(s => 'el-icon-' + s)
export default icoNameList
......@@ -4,4 +4,27 @@
*/
export function isExternal (path) {
return /^(https?:|mailto:|tel:)/.test(path)
}
\ No newline at end of file
}
// ex: {validator:validateCode,trigger:'blur'}
// 验证code
export const validateCode = (rule, value, callback) => {
const reg = /^[A-Z]{1}[A-Za-z0-9]*$/
!reg.test(value) ? callback('字母开头、数字和字母组成') : callback()
}
// 验证 网址
export const validateUrl = (rule, value, callback) => {
const reg = /^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/
!reg.test(value) ? callback('URL格式不正确') : callback()
}
// 验证 电话
export const validatePhone = (rule, value, callback) => {
const phoneReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
const rel = /^[0]\d{2,3}-[1-9]\d{7}$/
if (!value) {
callback()
} else {
!(phoneReg.test(value) || rel.test(value))
? callback(new Error('请输入正确的联系电话'))
: callback()
}
}
......
......@@ -33,19 +33,28 @@ class data extends filter {
label: "不动产单元号",
prop: "bdcdyh"
},
// {
// label: "不动产产权证号",
// prop: "bdcqzh"
// },
{
label: "不动产产权证号",
prop: "bdcqzh"
label: "查封机关",
prop: "cfjg"
},
{
label: "查封(解封)机关",
prop: "cjfjg"
label: "查封文号",
prop: "cfwh"
},
{
label: "查封(解封)文号",
prop: "cjfwh"
label: "解封机关",
prop: "jfjg"
},
{
label: "解封文号",
prop: "jfwh"
},
{
label: "查封开始时间",
width: 140,
prop: "cfqssj"
......
......@@ -19,18 +19,16 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<!-- <el-col :span="5">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
</el-col> -->
<!-- <el-col :span="5">
<el-form-item label="不动产权证号">
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="mt-10">
</el-col> -->
<el-col :span="5">
<el-form-item label="权利人" label-width="80px">
<el-input v-model="form.QLR" placeholder="权利人"></el-input>
......@@ -41,16 +39,30 @@
<el-input v-model="form.BDCDYH" 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-input v-model="form.CFJG" placeholder="查封机关"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="查封文号">
<el-input v-model="form.CFWH" placeholder="查封文号"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="查封(解封)机关">
<el-input v-model="form.xxx" placeholder="查封(解封)机关"></el-input>
<el-form-item label="解封机关" label-width="80px">
<el-input v-model="form.JFJG" placeholder="解封机关"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="查封(解封)文号">
<el-input v-model="form.xxx1" placeholder="查封(解封)文号"></el-input>
<el-form-item label="解封文号">
<el-input v-model="form.JFWH" placeholder="解封文号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSubmit">查询</btn>
......@@ -65,7 +77,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlCfdj'" />
</div>
</template>
<script>
......@@ -85,8 +97,10 @@ export default {
BDCQZH: '',
QLR: '',
BDCDYH: '',
xxx: '',
xxx1: '',
JFJG: '',
JFWH: '',
CFJG: '',
CFWH: '',
currentPage: 1
},
tableData: {
......
......@@ -35,14 +35,14 @@ class data extends filter {
},
{
label: "不动产权证号",
prop: "bdcqzh"
prop: "bdcdjzmh"
},
{
label: "抵押类型",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.dylx, 'xxx')}</span>
<span>{this.dicStatus(scope.row.dybdclx, 'A27')}</span>
</div>
)
}
......@@ -63,11 +63,11 @@ class data extends filter {
},
{
label: "被担保主债权数额",
prop: "xxx"
prop: "bdbzzqse"
},
{
label: "最高债权额",
prop: "xxxx"
prop: "zgzqse"
},
{
label: "登记时间",
......
......@@ -19,23 +19,23 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<!-- <el-col :span="5">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="5">
<el-form-item label="不动产权证号">
<el-input v-model="form.BDCQZH" 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-input v-model="form.dyr" 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.BDCDYH" placeholder="不动产单元号"></el-input>
......@@ -57,7 +57,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<el-col :span="9" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSubmit">查询</btn>
</el-col>
......@@ -66,12 +67,12 @@
</div>
<div class="from-clues-content">
<lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@selection-change="handleSelectionChange" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlDyaq'" />
</div>
</template>
......
......@@ -73,7 +73,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlDyiq'" />
</div>
</template>
......
......@@ -13,7 +13,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -63,7 +63,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqDz'"/>
</div>
</template>
......
......@@ -35,7 +35,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfFwFdcqQfsyq'" />
</div>
</template>
......
......@@ -46,7 +46,7 @@ class data extends filter {
},
{
label: "用途",
prop: "tdyt"
prop: "ytmc"
},
{
label: "权利类型",
......@@ -59,14 +59,8 @@ class data extends filter {
},
},
{
label: "权力性质",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.qlxz, 'A9')}</span>
</div>
)
},
label: "房屋性质",
prop: "fwxzmc"
},
{
label: "登记类型",
......
......@@ -13,7 +13,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -52,7 +52,7 @@
</el-col>
<el-col :span="6" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSubmit">查询</btn>
<btn nativeType="cx" @click="handleSubmit">查询</btn>
</el-col>
</el-row>
</el-form>
......@@ -63,7 +63,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqYz'"/>
</div>
</template>
......
......@@ -60,7 +60,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltQlGjzwsyq'" />
</div>
</template>
......
......@@ -61,7 +61,7 @@
</lb-table>
<message-tips ref="msg" :message="message" />
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlHysyq'" />
</div>
</template>
......
......@@ -58,7 +58,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlJsydsyq'"/>
</div>
</template>
......
......@@ -56,7 +56,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltQlLq'" />
</div>
</template>
......
......@@ -60,7 +60,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlNydsyq'" />
</div>
</template>
......
......@@ -58,7 +58,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlTdsyq'" />
</div>
</template>
......
......@@ -11,14 +11,14 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<!-- <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> -->
<el-col :span="6">
<el-form-item label="不动产权证号">
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
......@@ -67,7 +67,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlYgdj'" />
</div>
</template>
......
......@@ -57,7 +57,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlYydj'" />
</div>
</template>
......
......@@ -16,16 +16,16 @@ class data extends filter {
)
},
},
{
label: "权属状态",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.QSZT, 'A22')}</span>
</div>
)
},
},
// {
// label: "权属状态",
// render: (h, scope) => {
// return (
// <div>
// <span>{this.dicStatus(scope.row.qszt, 'A22')}</span>
// </div>
// )
// },
// },
{
label: "业务号",
prop: "YWH"
......@@ -43,10 +43,10 @@ class data extends filter {
label: "权利人",
prop: "qlrmc"
},
{
label: "用途",
prop: "yt"
},
// {
// label: "用途",
// prop: "yt"
// },
{
label: "权利类型",
render: (h, scope) => {
......@@ -57,16 +57,16 @@ class data extends filter {
)
},
},
{
label: "权利性质",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.BDCQZH, 'A9')}</span>
</div>
)
},
},
// {
// label: "权利性质",
// render: (h, scope) => {
// return (
// <div>
// <span>{this.dicStatus(scope.row.BDCQZH, 'A9')}</span>
// </div>
// )
// },
// },
{
label: "登记时间",
width: 140,
......
......@@ -11,19 +11,19 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<!-- <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-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> -->
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="105px">
<el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input>
......@@ -61,7 +61,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlZxdj'" />
</div>
</template>
......
......@@ -6,7 +6,7 @@
</div>
<div class="card2 mt-10">
<div class="title">数据趋势</div>
<brokenline class="Brokenline" />
<brokenline class="brokenline" />
</div>
</div>
</template>
......@@ -78,7 +78,7 @@ export default {
margin-bottom: 10px;
}
.Brokenline {
.brokenline {
margin: auto;
width: 100%;
}
......
......@@ -18,7 +18,7 @@
</p>
<p>
<span>成功率</span>
<span class="cg">99%</span>
<span class="cg">{{qxcgl}}</span>
</p>
</div>
</div>
......@@ -41,7 +41,7 @@
</p>
<p>
<span>成功率</span>
<span class="cg">99%</span>
<span class="cg">{{stcgl}}</span>
</p>
</div>
</div>
......@@ -60,12 +60,14 @@ export default {
data () {
return {
// 日均接入量
qxerrer: 0,
qxsuccess: 0,
sterrer: 0,
stsuccess: 0,
qxjrl: 50300,
stjrl: 50300,
qxerrer: "",
qxsuccess: "",
sterrer: "",
stsuccess: "",
qxjrl: "",
stjrl: "",
qxcgl:"",
stcgl:""
};
},
mounted () {
......@@ -79,12 +81,6 @@ export default {
stjrlList: function () {
return this.stjrl.toString().split("");
},
sbqkgsList: function () {
const numbers = this.sbqkgs.toString().split("").reverse();
const segs = [];
while (numbers.length) segs.push(numbers.splice(0, 3).join(""));
return segs.join(",").split("").reverse().join("");
},
},
methods: {
getsthjqxjrtotal () {
......@@ -96,6 +92,18 @@ export default {
XZQDM: "A20",
};
let res = await work.getsthjqxjrtotal(p);
this.stjrl=Number(res.result.sum)
this.qxjrl=Number(res.result.sum)
this.qxerrer=Number(res.result.qxjrerrer)
this.sterrer=Number(res.result.sthjerrer)
if(res.result.sum=="0"){
this.qxcgl="100%"
this.stcgl="100%"
}else{
this.qxcgl=Number(res.result.qxjrsuccess)/this.qxjrl*100+"%"
this.stcgl=Number(res.result.sthjsuccess)/Number(res.result.sum)*100+"%"
}
} catch (error) {
this.$refs.msg.messageShow();
}
......
......@@ -24,6 +24,7 @@ class data {
{
prop: "UPLOADTIME",
label: "日期",
width: '150',
},
{
prop: "type",
......
......@@ -4,9 +4,12 @@
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="80px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区" label-width="60px">
<el-form-item label="行政区">
<el-select v-model="form.areacode" class="width100" filterable placeholder="请选择行政区">
<el-option v-for="item in dicData['XZQ']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
......
<template>
<div class="home">
<div class="home-left bgbk">
<div class="header titlebg">
汉中市接入概括
</div>
<!-- 地图 -->
<CenterLeft2Chart class="map" />
</div>
<div class="home-right">
<!-- 陕西省接入概括 -->
<div class="jrgk homebk">
<div class="header titlebg">
陕西省接入概括
</div>
<!-- 陕西省接入概括列表 -->
<el-row>
<el-col :span="9">
<ul class="gkList">
<li>总数量</li>
<div class="zsl">
<dv-digital-flop :config="config" style="height:70px;" />
<p></p>
</div>
</ul>
</el-col>
<el-col :span="5">
<ul class="jrl">
<div class="jrlList jrllsit1">
<p v-for="(item, index) in jrlList" :key="index">{{ item }}</p>
</div>
<li>日均接入量</li>
</ul>
</el-col>
<el-col :span="5">
<ul class="jrl">
<div class="jrlList jrllsit2">
<p v-for="(item, index) in dtjrlList" :key="index">{{ item }}</p>
</div>
<li>日均接入量</li>
</ul>
</el-col>
<el-col :span="5">
<ul class="jrl">
<div class="jrlList jrllsit3">
<p v-for="(item, index) in ztzlList" :key="index">{{ item }}</p>
</div>
<li>总体质量</li>
</ul>
</el-col>
</el-row>
</div>
<div class="jrdgk">
<!-- 接入点概括 -->
<div class="sxsjr homebk">
<div class="header titlebg">
接入点概括
</div>
<el-row>
<el-col :span="8" class="jrdList" v-for="(item, index) in jrdList" :key="index">
<ul>
<li>{{ item.value }}</li>
<li>{{ item.title }}</li>
</ul>
</el-col>
</el-row>
</div>
<!-- 上报情况概括 -->
<div class="sbqkgk homebk">
<div class="header titlebg">
上报情况概括
</div>
<ul class="sbqkgs">
<div class="sbqkgsList">
<p v-for="(item, index) in sbqkgsList" :key="index"
:class="{ 'active': (typeof (item - 0) === 'number' && !isNaN(item - 0)) }">
{{ item }}
</p>
</div>
<li>总数量</li>
</ul>
</div>
</div>
<!-- 底部表格 -->
<div class="jrxxlb tableClass bgbk">
<div class="title titlebg">陕西省平台接入情况</div>
<!-- 陕西省平台接入情况table -->
<lb-table ref="table" :pagination="false" :heightNum="515" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
</div>
</div>
</template>
<script>
// 上报首页
import wgsl from "./wgsl.vue";
import CenterLeft2Chart from "@/components/Echart/Map";
// 引入表格数据
import data from "./data"
export default {
name: "home",
components: { wgsl, CenterLeft2Chart },
data () {
function formatter (number) {
const numbers = number.toString().split('').reverse()
const segs = []
while (numbers.length) segs.push(numbers.splice(0, 3).join(''))
return segs.join(',').split('').reverse().join('')
}
return {
// 总数量
config: {
number: [6523],
content: '{nt}',
formatter,
style: {
fontSize: 50,
fontWeight: 700,
fill: '#FFDD00'
}
},
// 日均接入量
jjrl: 300,
// 当天接入量
dtjrl: 100,
// 总体质量
ztzl: 3620,
// 上报情况概括
sbqkgs: 6296,
// 接入点概括
jrdList: [
{
value: 60,
title: '总数量'
},
{
value: 60,
title: '正常'
},
{
value: 60,
title: '异常'
}
],
// 表格数据
tableData: {
// 表格头部信息
columns: data.columns(),
// 表格列表数据
data: [{
xzqmc: '咸阳市',
xzqzs: 100,
jrl: 300,
jscgl: 20,
dk: 60,
wjrqx: '长安县',
jrdf: 50
},
{
xzqmc: '咸阳市',
xzqzs: 100,
jrl: 300,
jscgl: 20,
dk: 60,
wjrqx: '长安县',
jrdf: 50
}]
}
}
},
computed: {
jrlList: function () {
return this.jjrl.toString().split('')
},
dtjrlList: function () {
return this.dtjrl.toString().split('')
},
ztzlList: function () {
return this.ztzl.toString().split('')
},
sbqkgsList: function () {
const numbers = this.sbqkgs.toString().split('').reverse()
const segs = []
while (numbers.length) segs.push(numbers.splice(0, 3).join(''))
return segs.join(',').split('').reverse().join('')
}
},
methods: {
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
@import "./home.scss";
</style>
......@@ -8,7 +8,7 @@ class data extends filter {
{
prop: 'jcjg',
label: '检查结果',
width: 100,
width: 90,
render: (h, scope) => {
return (
<div>
......@@ -22,7 +22,7 @@ class data extends filter {
{
prop: 'rkjg',
label: '入库结果',
width: 100,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -36,12 +36,12 @@ class data extends filter {
{
prop: "areacode",
label: "行政区代码",
width: 100,
width: 70,
},
{
prop: "areaName",
label: "行政区名称",
width: 100,
width: 70,
},
{
prop: "bizMsgid",
......@@ -50,10 +50,12 @@ class data extends filter {
{
prop: "createdate",
label: "创建时间",
width: 140,
},
{
prop: "recflowid",
label: "业务流水号",
width: 95,
},
{
prop: "estatenum",
......@@ -63,14 +65,23 @@ class data extends filter {
{
prop: "rectype",
label: "业务编码",
width: 70,
},
{
prop: "rectypeName",
label: "业务名称",
render: (h, scope) => {
return (
<div>
{scope.row.rectypeName}
</div>
)
}
},
{
prop: "receiveDate",
label: "接收时间",
width: 140
}
]
}
......
......@@ -4,6 +4,9 @@
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="qxdm">
......@@ -77,7 +80,7 @@
<el-form-item>
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="featchData">查询</btn>
<btn nativeType="sb">入库</btn>
<btn nativeType="cx">入库</btn>
</el-form-item>
</el-col>
</el-row>
......@@ -91,7 +94,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" />
<dataDetails ref="editLog" :title="title" :visiableXml="true" />
</div>
</template>
......@@ -173,7 +176,7 @@ export default {
.concat([
{
label: "操作",
width: "160",
width: "90",
render: (h, scope) => {
return (
<div>
......
......@@ -23,6 +23,7 @@ class data extends filter {
},
{
label: '汇交状态',
width: '110',
render: (h, scope) => {
return (
<div>
......@@ -38,12 +39,12 @@ class data extends filter {
{
prop: "areacode",
label: "行政区代码",
width: 100,
width: 80,
},
{
prop: "areaName",
label: "行政区名称",
width: 100,
width: 90,
},
{
prop: "bizMsgid",
......
......@@ -4,6 +4,9 @@
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="qxdm">
......@@ -42,17 +45,17 @@
<el-input v-model="form.ywh" class="width100" placeholder="业务号"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-col :span="6">
<el-form-item label="权利类型" prop="qllx">
<el-select v-model="form.ywmc" class="width100" clearable placeholder="权利类型">
<el-select v-model="form.qllx" class="width100" clearable placeholder="权利类型">
<el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-col :span="6">
<el-form-item label="登记类型" prop="djlx">
<el-select v-model="form.ywmc" class="width100" clearable placeholder="登记类型">
<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">
</el-option>
</el-select>
......@@ -95,7 +98,7 @@ export default {
components: {
dataDetails,
},
data() {
data () {
return {
isShow: false,
// 开始结束日期限制
......@@ -157,20 +160,20 @@ export default {
]),
total: 0,
data: [{}],
},
},
title: "",
};
},
mounted() {
mounted () {
sendThis(this);
},
methods: {
// 重置表单
resetForm() {
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 初始化数据
queryClick() {
queryClick () {
getDataReportPage({ ...this.form, ...this.pageData }).then((res) => {
if (res.code === 200) {
let { total, records } = res.result;
......@@ -180,11 +183,11 @@ export default {
});
},
// 多选
handleSelectionChange(val) {},
handleSelectionChange (val) { },
// 上报
handleEscalation() {},
handleEscalation () { },
// 详情
handleDetail(row) {
handleDetail (row) {
this.title = row.rectypeName;
this.$refs.editLog.isShow(row);
},
......
......@@ -6,37 +6,22 @@ class data extends filter {
columns () {
return [
{
prop: "job_name",
label: "任务名称",
width: 130
},
{
prop: "description",
label: "任务描述",
prop: "name",
label: "菜单名称",
width: 300
},
{
prop: "cron_expression",
label: "cron表达式"
prop: "code",
label: "菜单代码"
},
{
prop: "bean_class",
prop: "uri",
width: 260,
label: "任务类"
},
{
prop: "job_group",
label: "任务分组"
label: "链接路径"
},
{
label: "状态",
render: (h, scope) => {
return (
<div>
{ this.stateStatus(scope.row.job_status) }
</div>
)
},
prop: "icon",
label: "图标"
}
]
}
......
<template>
<div>
<Dialog
:title="title"
:show.sync="visible"
:width="'767px'"
@close="close()"
>
<template slot="content">
<el-form ref="form" :model="form" :rules="rules">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="菜单名称:" prop="name" label-width="124px">
<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">
<el-form-item label="上级菜单:" label-width="124px">
<el-cascader
:key="menuKey"
v-model="form.parentId"
:options="parentMenuList"
:props="setProps"
placeholder="请选择上级菜单"
clearable
@change="handleChange"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="代码:" prop="code" label-width="54px">
<el-input
v-model="codeComputed"
placeholder="请输入菜单代码"
:disabled="type === 1"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="链接路径:" label-width="124px">
<el-input v-model="form.uri" placeholder="请输入链接路径" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="浏览器跳转模式:" label-width="124px">
<el-select
v-model="form.jumpMode"
placeholder="请选择浏览器跳转模式"
>
<el-option
v-for="item in jumpModeList"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item
label="配置参数:"
label-width="124px"
class="form-item-mb0"
>
<!-- 配置参数 -->
<JsonEditor
:result-infos="form.metadata"
@getJsonString="getJsonString"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<template slot="footer">
<el-button class="cancel-button" @click="close()">取消</el-button>
<el-button type="primary" @click="submitForm()">保存</el-button>
</template>
</Dialog>
<!-- 图标列表 -->
<IconList ref="iconList" @iconName="getIconName" />
</div>
</template>
<script>
import Dialog from "@/components/Dialog/";
// import JsonEditor from '@components/JsonEditors'
import JsonEditor from '../../../components/JsonEditors'
// import IconList from '@components/IconList'
import IconList from '../../../components/IconList'
import { validateCode } from '../../../utils/validate';
export default {
name: "EditDialog",
components: {
Dialog,
JsonEditor,
IconList,
},
data() {
return {
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()
}
}
},
created() {},
mounted() {},
methods: {
getParentMenuList() {
// 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 })
// }
// })
},
getIconList() {
this.$refs.iconList.show(true);
},
// 选择图标
getIconName(data) {
this.form.icon = data;
},
getJsonString(data) {
this.form.metadata = data;
},
add() {
// console.log(this.productId)
// if (!this.productId) {
// this.$message.info({
// message: '请先选择子系统才能添加菜单,如果没有,请先添加子系统!',
// showClose: true
// })
// return
// }
// this.getParentMenuList(this.productId)
this.visible = true;
// 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)
// })
// }
this.visible = true;
},
addChild(record) {
// this.getParentMenuList(this.productId)
this.visible = true;
// this.type = 2
// this.form.jumpMode = 1
// this.form.parentId = record.id
},
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}`;
// }
// httpAction(url, formData, method)
// .then((res) => {
// if (res.status === 1) {
// this.$message.success({
// message: res.message,
// showClose: true,
// });
// // this.$emit("ok");
// // this.type 0新增 1编辑 2添加子
// if (this.type === 0) {
// if (submitType === 1) {
// this.close();
// } else {
// this.resetForm();
// }
// } else if (this.type === 1) {
// this.close();
// } else if (this.type === 2) {
// if (submitType === 1) {
// this.close();
// } else {
// this.resetForm();
// this.form.parentId = formData.parentId;
// }
// }
// 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: "",
};
},
close() {
this.resetForm();
this.visible = false;
},
},
};
</script>
<style scoped lang="scss">
.el-form {
.el-input {
.el-input__icon {
font-size: 14px;
// color: #3AA3F8 !important;
}
}
}
</style>
......@@ -7,36 +7,17 @@ class data extends filter {
return [
{
prop: "job_name",
label: "任务名称",
width: 130
label: "角色名称",
width: 330
},
{
prop: "description",
label: "任务描述",
width: 300
label: "类别",
width: 400
},
{
prop: "cron_expression",
label: "cron表达式"
},
{
prop: "bean_class",
width: 260,
label: "任务类"
},
{
prop: "job_group",
label: "任务分组"
},
{
label: "状态",
render: (h, scope) => {
return (
<div>
{ this.stateStatus(scope.row.job_status) }
</div>
)
},
label: "备注"
}
]
}
......
<!-- 新增 & 修改角色 -->
<template>
<Dialog
:title="dialogTitle"
:show.sync="showAddEditDialog"
:width="'767px'"
@close="handleCloseDialog()"
>
<template slot="content">
<el-form ref="form" :model="dialogForm" :rules="rules" label-width="82px">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="角色名称:" prop="roleName">
<el-input
v-model="dialogForm.roleName"
clearable
placeholder="请输入角色名称"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色类型:" prop="roleType">
<!-- <el-select v-model="dialogForm.roleType.value" placeholder="请输入角色类型">
<el-option
v-for="item in roleTypeOptions"
:key="item.value"
:label="item.name"
:value="item.value">
</el-option>
</el-select> -->
<el-input
v-model="dialogForm.roleType"
clearable
placeholder="请输入角色类型"
/>
</el-form-item>
</el-col>
</el-row>
<br>
<el-row>
<el-col :span="24">
<el-form-item label="备注:" class="form-item-mb0">
<el-input
v-model="dialogForm.roleTextArea"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<template slot="footer">
<el-button
class="cancel-button"
@click="handleCloseDialog"
>取消</el-button>
<el-button
type="primary"
@click="handleSaveRole()"
>保存</el-button>
</template>
</Dialog>
</template>
<script>
import Dialog from "@/components/Dialog/";
export default {
components: {
Dialog
},
data() {
return {
dialogTitle: '',
showAddEditDialog: false,
menuType: '',
roleId: '',
sort: 0,
dialogForm: {
roleName: '',
roleType: '',
roleTextArea: ''
},
rules: {
roleName: [
{ required: true, message: '请输入角色名称', trigger: 'blur' }
],
roleType: [
{ required: true, message: '请输入角色类型', trigger: 'blur' }
]
},
roleTypeOptions: [
{ name: '定制', value: '定制' },
{ name: '其他', value: '其他' }
]
}
},
methods: {
// 保存新增或关闭事件
handleSaveRole(val) {
this.$refs.form.validate((valid) => {
if (valid) {
try {
const params = {
category: this.menuType,
description: this.dialogForm.roleTextArea,
name: this.dialogForm.roleName,
sort: this.sort,
type: this.dialogForm.roleType
}
if (this.roleId) {
// params.id = this.roleId
// httpAction(`${api.roles}/${params.id}`, params, 'post').then(
// (res) => {
// if (res.status === 1) {
// this.$message.success({
// message: '修改成功',
// showClose: true
// })
// this.dialogForm = {
// roleName: '',
// roleType: ''
// }
// this.showAddEditDialog = val
// this.$emit('ok', this.menuType)
// } else {
// this.$message.error({
// message: res.message,
// showClose: true
// })
// }
// }
// )
} else {
// httpAction(api.roles, params, 'post').then((res) => {
// if (res.status === 1) {
// this.$message.success({
// message: '新增成功',
// showClose: true
// })
// this.dialogForm = {
// roleName: '',
// roleType: ''
// }
// this.showAddEditDialog = val
// this.$emit('ok', this.menuType)
// } else {
// this.$message.error({
// message: res.message,
// showClose: true
// })
// }
// })
}
} catch (e) {
console.error(e)
}
}
})
},
// 取消事件
handleCloseDialog() {
this.dialogForm = {
roleName: '',
roleType: ''
}
this.showAddEditDialog = false
}
}
}
</script>
<style scoped lang="scss"></style>
<template>
<Dialog :title="title" :show.sync="visible" :width="'715px'" @close="close()">
<template slot="content">
<vxe-table
show-overflow
:data="memberList"
border
class="header-bg-type1"
auto-resize
:checkbox-config="{ highlight: true, range: true }"
highlight-hover-row
max-height="500px"
:empty-render="{ name: 'NotData' }"
>
<template #empty>
<table-empty />
</template>
<vxe-table-column
type="checkbox"
width="60"
align="left"
fixed="left"
/>
<vxe-table-column
field="code"
title="工号"
fixed="left"
min-width="100"
show-header-overflow="tooltip"
show-overflow="tooltip"
align="left"
/>
<vxe-table-column
title="姓名"
fixed="left"
show-header-overflow="tooltip"
show-overflow="tooltip"
>
<template slot-scope="scope">
<svg-icon
:icon-class="
scope.row.sex === '0'
? 'male'
: scope.row.sex === '1'
? 'female'
: 'secrecy'
"
/>
{{ scope.row.name }}
</template>
</vxe-table-column>
<vxe-table-column
field="loginName"
title="用户名"
fixed="left"
show-header-overflow="tooltip"
show-overflow="tooltip"
/>
<vxe-table-column
field="departmentName"
title="部门"
show-header-overflow="tooltip"
show-overflow="tooltip"
/>
</vxe-table>
</template>
<template slot="footer">
<el-button type="primary" class="save" @click="submitForm(1)"
>保存</el-button
>
<el-button class="cancel-button" @click="close()">取消</el-button>
</template>
</Dialog>
</template>
<script>
import Dialog from "@/components/Dialog/";
export default {
name: "",
components: { Dialog },
props: {},
data() {
return {
form: {
sex: "0",
},
memberList: [
{
id: "3127e455-43ba-45ff-9326-0e02ef89485e",
createdAt: null,
updatedAt: "2022-08-04T03:38:27.626+0000",
createdBy: null,
updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
sort: 1,
name: "超级管理员",
loginName: "admin",
password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59",
passwordSalt: "5178114777136485",
email: null,
lastLoginTime: null,
mobilePhone: "18291003568",
status: "ACTIVE",
passwordChangeTime: "2021-12-10T08:01:01.569+0000",
idCard: "612725202111021521",
departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
sex: "0",
isDuty: true,
code: "123324",
jobLevel: null,
telephone: "028-87720898",
address: "办公地点修改测试",
isLocked: false,
departmentName: "研发部",
_X_ROW_KEY: "row_276",
},
],
title: "",
type: "",
visible: false,
showLoginName: false,
options: [],
setProps: {
value: "id",
label: "name",
children: "children",
expandTrigger: "hover",
checkStrictly: true, // 可取消关联,选择任意一级选项
emitPath: false,
},
sexList: [],
levelList: [],
organizationId: "", // 组织机构ID
departmentId: "", // 部门ID
};
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
adds() {
this.visible = true;
},
edit(record) {
this.visible = true;
},
handleChange(value) {
this.form.departmentId = value;
},
close() {
// this.resetForm()
this.visible = false;
},
},
};
</script>
<style scoped lang="scss">
.el-form {
.el-form-item__content {
.el-radio {
margin-right: 6px;
}
}
.el-checkbox {
line-height: 40px;
}
.col-pd0 {
padding: 0 !important;
}
}
</style>
......@@ -21,7 +21,6 @@
:data="tableData.data">
</lb-table>
<add-task ref="task" :taskData="taskData" />
<message-tips ref="msg" :message="message" />
</div>
</div>
</template>
......@@ -123,7 +122,6 @@ export default {
}
} catch (error) {
this.message = error
this.$refs.msg.messageShow()
}
},
// 暂停
......
......@@ -6,37 +6,35 @@ class data extends filter {
columns () {
return [
{
prop: "job_name",
label: "任务名称",
prop: "code",
label: "工号",
width: 130
},
{
prop: "description",
label: "任务描述",
prop: "name",
label: "姓名",
width: 300
},
{
prop: "cron_expression",
label: "cron表达式"
prop: "loginName",
label: "用户名"
},
{
prop: "bean_class",
prop: "isDuty",
width: 260,
label: "任务类"
label: "负责人"
},
{
prop: "departmentName",
label: "所属部门"
},
{
prop: "job_group",
label: "任务分组"
label: "职位"
},
{
label: "状态",
render: (h, scope) => {
return (
<div>
{ this.stateStatus(scope.row.job_status) }
</div>
)
},
prop: "telephone",
label: "电话"
}
]
}
......
<template>
<Dialog :title="title" :show.sync="visible" :width="'715px'" @close="close()">
<template slot="content">
<el-form ref="form" :model="form" :rules="rules">
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="姓名:" prop="name" label-width="100px">
<el-input v-model="form.name" placeholder="请输入姓名" />
</el-form-item>
</el-col>
<el-col :span="13">
<el-col :span="18" class="col-pd0">
<el-form-item label="性别:" label-width="72px">
<el-radio
v-for="(item, index) in sexList"
:key="index"
v-model="form.sex"
:label="item.value"
>{{ item.name }}</el-radio
>
</el-form-item>
</el-col>
<el-col :span="6">
<el-checkbox v-model="form.isDuty">负责人</el-checkbox>
</el-col>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="工号:" prop="code" label-width="100px">
<el-input v-model="form.code" placeholder="请输入工号" />
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item label="用户名:" prop="loginName" label-width="72px">
<el-input
v-model="form.loginName"
:disabled="showLoginName"
placeholder="请输入用户名"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="身份证号码:" label-width="100px">
<el-input v-model="form.idCard" placeholder="请输入身份证号码" />
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item
label="手机号码:"
prop="mobilePhone"
label-width="72px"
>
<el-input
v-model="form.mobilePhone"
placeholder="请输入手机号码"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="最高职务级别:" label-width="100px">
<el-select
v-model="form.jobLevel"
placeholder="请选择最高职务级别"
>
<el-option
v-for="item in levelList"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item label="办公电话:" prop="telephone" label-width="72px">
<el-input v-model="form.telephone" placeholder="请输入办公电话" />
</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>
</el-col>
</el-row>
</el-form>
</template>
<template slot="footer">
<el-button type="primary" class="save" @click="submitForm(1)">保存</el-button>
<el-button class="cancel-button" @click="close()">取消</el-button>
</template>
</Dialog>
</template>
<script>
import Dialog from "@/components/Dialog/";
export default {
name: "",
components: { Dialog },
props: {},
data() {
return {
form: {
sex: "0",
},
rules: {
name: [{ required: true, message: "请输入姓名", trigger: "blur" }],
code: [{ required: true, message: "请输入工号", trigger: "blur" }],
mobilePhone: [{ validator: "sddd", trigger: "blur" }],
loginName: [
{ required: true, message: "请输入用户名", trigger: "blur" },
],
},
title: "",
visible: false,
showLoginName: false,
sexList: [{lable:"0",value:"0",name:"男"},{lable:"1",value:"1",name:"女"}],
levelList: [{lable:"0",value:"0",name:"干事"},{lable:"1",value:"1",name:"经理"}],
organizationId: "", // 组织机构ID
departmentId: "", // 部门ID
};
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
// initDictConfig() {
// getDictItems('XB').then((res) => {
// if (res.status === 1) {
// this.sexList = res.content
// } else {
// this.$message.error({ message: res.message, showClose: true })
// }
// })
// getDictItems('ZWJB').then((res) => {
// if (res.status === 1) {
// this.levelList = res.content
// } else {
// this.$message.error({ message: res.message, showClose: true })
// }
// })
// },
add() {
this.visible = true;
// this.type = 0
this.showLoginName = false
},
edit(record) {
// this.initDictConfig()
this.showLoginName = true
// 若有id为编辑
if (record) {
this.$nextTick(() => {
this.form = Object.assign({}, record)
})
}
this.visible = true
},
handleChange(value) {
this.form.departmentId = value;
},
submitForm(submitType) {
this.$refs.form.validate((valid) => {
if (valid) {
let method = ''
let url = ''
const formData = this.form
if (!formData.id) {
method = 'post'
url = this.dataUrl
} else {
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 })
// this.type 0新增 1编辑
if (this.type === 0) {
// submitType 1需要关闭页面 0保存&新增暂不关闭页面
if (submitType === 1) {
this.close()
} else {
this.resetForm()
}
} else if (this.type === 1) {
this.close()
}
this.$emit('ok')
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
} else {
console.log('提交错误!!!')
return false
}
})
},
resetForm() {
this.form = {
sex: '0'
}
this.$refs.form.resetFields()
},
close() {
// this.resetForm()
this.visible = false;
},
},
};
</script>
<style scoped lang="scss">
.el-form {
.el-form-item__content {
.el-radio {
margin-right: 6px;
}
}
.el-checkbox {
line-height: 40px;
}
.col-pd0 {
padding: 0 !important;
}
}
</style>