c1e5e8b5 by yangwei
2 parents dcd5a962 c8a6265a
Showing 44 changed files with 43 additions and 1706 deletions
......@@ -61,6 +61,7 @@ export default {
background: linear-gradient(90deg, #0047B8 0%, rgba(0, 26, 95, 0.1) 100%);
line-height: 32px;
color: #FFFFFF;
margin-bottom: 8px;
}
/deep/.el-icon-arrow-right {
......
......@@ -16,9 +16,10 @@
<slot></slot>
</div>
<div slot="footer" class="dialog_footer" v-if="isButton">
<el-button @click="closeDialog" v-if="isReset">取消</el-button>
<el-button type="primary" plain @click="submitForm" v-if="isSave" :disabled="btnDisabled" :loading="saveloding">
{{ saveButton }}</el-button>
<btn nativeType="cz" @click="closeDialog" v-if="isReset">取消</btn>
<btn nativeType="cx" type="primary" plain @click="submitForm" v-if="isSave" :disabled="btnDisabled"
:loading="saveloding">
{{ saveButton }}</btn>
</div>
</el-dialog>
</template>
......
......@@ -41,22 +41,7 @@ export const constantRoutes = [
* the routes that need to be dynamically loaded based on user roles
*/
export const asyncRoutes = [
// 监管首页
{
path: '/',
component: Layout,
redirect: '/jgHome',
meta: { title: '首页' },
children: [
{
path: 'jgHome',
component: () => import('@/views/home/index'),
name: 'jgHome',
meta: { title: '首页', icon: 'workbench', affix: true }
}
]
},
// // 接收报文查询
// 接收报文查询
{
path: '/jsbwcx',
component: Layout,
......@@ -76,13 +61,13 @@ export const asyncRoutes = [
children: [
{
path: 'sbbwcx',
component: () => import('@/views/sbbwcx/index'),
component: () => import('@/views/sthj/sbbwcx/index'),
name: 'sbbwcx',
meta: { title: '上报报文', icon: 'zsgl' }
},
{
path: 'dbrzcx',
component: () => import('@/views/dbrzcx/index'),
component: () => import('@/views/sthj/dbrzcx/index'),
name: 'dbrzcx',
meta: { title: '登簿日志', icon: 'zsgl' }
}
......@@ -108,71 +93,6 @@ export const asyncRoutes = [
}
]
},
// 接入区域管理
{
path: '/jrqygl',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/jrqygl/index'),
name: 'jrqygl',
meta: { title: '接入区域管理', icon: 'zhcx' }
}
]
},
// 接收规则管理
{
path: '/jsgzgl',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/jsgzgl/index'),
name: 'jsgzgl',
meta: { title: '接收规则管理', icon: 'zhcx' }
}
]
},
// 接收报文重新入库
{
path: '/jsbwcxrk',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/jsbwcxrk/index'),
name: 'jsbwcxrk',
meta: { title: '接收报文重新入库', icon: 'zhcx' }
}
]
},
// 报文重新入库日志
{
path: '/bwcxrkrz',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/bwcxrkrz/index'),
name: 'bwcxrkrz',
meta: { title: '报文重新入库日志', icon: 'zhcx' }
}
]
},
// 中心日志
{
path: '/zxrz',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/zxrz/index'),
name: 'zxrz',
meta: { title: '中心日志', icon: 'zhcx' }
}
]
},
// 接入业务信息-不动产数据
{
path: '/busineInfo',
......
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "qymc",
label: "区域名称",
},
{
prop: "czyymc",
label: "操作用户名称",
},
{
prop: "bwmc",
label: "报文名称",
},
{
prop: "rksj",
label: "入库时间",
},
{
prop: "rkjg",
label: "入库结果",
},
{
prop: "sbyy",
label: "失败原因",
}
]
}
}
export default new data()
<template>
<!-- 报文重新入库日志 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="pcode">
<el-select v-model="form.pcode" class="width100" clearable placeholder="行政区">
<el-option v-for="item in xzqOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="报文名称" prop="bwmc">
<el-select v-model="form.ywmc" class="width100" clearable placeholder="业务名称">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
clearable v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
clearable v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="入库结果" prop="rkjg">
<el-select v-model="form.rkjg" class="width100" clearable placeholder="入库结果">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="18" class="btnColRight">
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表 -->
<div class="from-clues-content">
<lb-table ref="table" :heightNum="300" :page-size="pageData.size" :current-page.sync="pageData.current"
:total="pageData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
// 报文重新入库日志
// 引入列表头部
import data from "./data"
// 引入表格混入方法
import tableMixin from '@/mixins/tableMixin.js'
export default {
name: "bwcxrkrz",
mixins: [tableMixin],
data () {
return {
// 开始结束日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return (
time.getTime() >= new Date(this.form.endTime).getTime()
);
}
}
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return (
time.getTime() <= new Date(this.form.startTime).getTime()
);
}
}
},
// 头部表单
form: {
pcode: '',
bwmc: '',
startTime: '',
endTime: '',
rkjg: '',
currentPage: 1
},
// 表单校验
rules: {
pcode: [
{ required: true, message: '响应结果', trigger: 'change' }
],
startTime: [
{ required: true, message: '开始日期', trigger: 'change' }
],
endTime: [
{ required: true, message: '结束日期', trigger: 'change' }
],
},
// 表格
tableData: {
// 表格头部
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()),
// 表格列表
data: []
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
},
// 行政区
xzqOptions: [
{
value: '632321',
label: '同仁县'
},
{
value: '632322',
label: '尖扎县'
},
{
value: '632323',
label: '泽库县'
},
{
value: '632324',
label: '河南县'
}
]
}
},
methods: {
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 数据请求
async featchData () {
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......@@ -23,7 +23,7 @@
</div>
</template>
<script>
import drawMixin from "../../utils/drawMixin";
import drawMixin from "@/utils/drawMixin";
import screencontent from './screencontent'
export default {
mixins: [drawMixin],
......
......@@ -6,7 +6,7 @@
</div>
</template>
<script>
import drawMixin from "../../utils/drawMixin";
import drawMixin from "@/utils/drawMixin";
import leftcard from "./leftcard";
import centercard from "./centercard";
import rightcard from "./rightcard";
......
<template>
<screencontent />
</template>
<script>
import screencontent from '@/views/dataView/screencontent'
import screencontent from '@/views/home/dataView/screencontent'
export default {
name: "home",
components: {
screencontent
},
data () {
return {
}
},
methods: {
}
}
</script>
<style scoped lang="scss">
@import "../dataView/index.scss";
@import "./dataView/index.scss";
</style>
......
<template>
<div id="barChart"></div>
</template>
<script>
export default {
data () {
return {
};
},
mounted () {
this.drawProvinceMap();
},
methods: {
drawProvinceMap () {
var chartDom = document.getElementById('barChart');
var myChart = this.$echarts.init(chartDom);
var option;
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
data: ['网络断开', '网络正常']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'value'
}
],
yAxis: [
{
type: 'category',
axisTick: {
show: false
},
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
}
],
series: [
{
name: '网络正常',
type: 'bar',
itemStyle: {
color: '#67C23A'
},
label: {
show: true,
position: 'inside'
},
emphasis: {
focus: 'series'
},
data: [200, 170, 240, 244, 200, 220, 210]
},
{
name: '网络断开',
type: 'bar',
itemStyle: {
color: '#F56C6C'
},
label: {
show: true,
position: 'inside'
},
emphasis: {
focus: 'series'
},
data: [-120, -132, -101, -134, -190, -230, -210]
}
],
}
myChart.setOption(option);
window.addEventListener("resize", () => {
this.myChart.resize();
});
}
}
}
</script>
<style scoped lang="scss">
#barChart {
width: 100%;
height: 500px;
}
</style>
<template>
<div id="jgChart" />
</template>
<script>
export default {
data () {
return {
};
},
methods: {
drawInit () {
let datavalue = [26, 300, 2000, 1200, 800];
let ii = -1;
var chartDom = document.getElementById('jgChart');
var myChart = this.$echarts.init(chartDom);
var option;
option = {
radar: {
indicator: [
{ name: '原则监管', max: 2600 },
{ name: '时效监管', max: 2600 },
{ name: '证书监管', max: 3600 },
{ name: '年限监管', max: 2600 },
{ name: '内容监管', max: 2600 },
],
name: {
rich: {
a: {
color: '#606266'
},
b: {
color: '#409EFF',
align: 'center',
}
},
formatter: (a, b) => {
ii++;
return `{a|${a}}\n{b|${datavalue[ii]}}`
}
}
},
series: [
{
type: 'radar',
symbol: 'none',//去掉拐点的圈
itemStyle: {
color: '#409EFF'
},
data: [
{
value: datavalue,
}
]
}
]
};
myChart.setOption(option);
}
},
mounted () {
this.drawInit()
}
}
</script>
<style scoped>
#jgChart {
width: 100%;
height: 330px;
}
</style>
<template>
<div class="map">
<div class="map-box" ref="mapContain" />
</div>
</template>
<script>
export default {
data () {
return {
mapName: "汉中市",
listArr: [{
name: '汉台区',
value: '6000'
},
{
name: '南郑区',
value: '8000'
},
{
name: '城固县',
value: '3000'
},
{
name: '洋县',
value: '7000'
},
{
name: '西乡县',
value: '1000'
},
{
name: '镇巴县',
value: '2000'
},
{
name: '勉县',
value: '600'
},
{
name: '留坝县',
value: '3000'
},
{
name: '佛坪县',
value: '1000'
},
{
name: '宁强县',
value: '1000'
},
{
name: '略阳县',
value: '1000'
}], //城市json
max: "9000", //最大value值
min: "500", // 最小value值
};
},
methods: {
drawProvinceMap (mapName) {
this.mapName = mapName;
// 引入区域数据
require('./hanzhong.js');
let _this = this;
let myChart8 = this.$echarts.init(this.$refs.mapContain);
const option = {
visualMap: {
min: 0,
max: _this.max,
top: "bottom",
right: 10,
splitNumber: 6,
seriesIndex: [0],
itemWidth: 20, // 每个图元的宽度
itemGap: 2, // 每两个图元之间的间隔距离,单位为px
pieces: [ // 自定义每一段的范围,以及每一段的文字
{ gte: 6000, label: '6000以上', color: '#035cf5' }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 2000, lte: 6000, label: '2000-6000', color: '#3375e4' },
{ gte: 1000, lte: 2000, label: '1000-2000', color: '#6797ef' },
{ gte: 500, lte: 1000, label: '500-1000', color: '#96b5ef' },
],
textStyle: {
color: '#737373'
}
},
// 数据移入显示
tooltip: {
trigger: "item",
formatter: function (params) {
return params.value ? params.name + ':' + params.value + '件' : params.name + ':' + '0件'
},
// 边框颜色
borderColor: "#CB000C",
// 边框宽度
borderWidth: "1",
},
series: [
{
type: "map",
map: this.mapName,
itemStyle: {
normal: { //正常状态
label: {
show: true,
formatter: '{b}', //地图上显示的数据,分别对应data中的name和value
color: '#fff',
},
areaColor: '#409EFF' //地图区域的颜色
},
emphasis: {
label: { show: true },
areaColor: "#67C23A", //鼠标进入时的颜色
},
},
data: _this.listArr,
},
],
};
myChart8.setOption(option);
},
},
mounted () {
// 初始化数据
this.drawProvinceMap("汉中市");
}
}
</script>
<style scoped>
.map {
width: 100%;
}
.map-box {
display: inline-block;
width: 100%;
height: calc(100vh - 153px);
}
</style>
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
type: 'index',
label: "序号",
},
{
prop: "xzqmc",
label: "行政区名称",
},
{
prop: "xzqzs",
label: "行政区总数",
},
{
prop: "jrl",
label: "接入量",
},
{
prop: 'jscgl',
label: '接收成功率',
render: (h, scope) => {
return (
<div>
{scope.row.jscgl} %
</div>
)
}
},
{
prop: "dk",
label: "成功率得分",
},
{
prop: "wjrqx",
label: "未接入区县",
},
{
prop: "jrdf",
label: "接入得分",
},
{
prop: "jrdf",
label: "未上传登薄日志区县",
},
{
prop: "jrdf",
label: "登薄日志得分",
},
{
prop: "jrdf",
label: "总评分",
}
]
}
}
export default new data()
.jgHome {
display: flex;
justify-content: space-between;
height: calc(100% - 20px);
.bottom10 {
margin-bottom: 10px;
}
.paddingbtm0 {
/deep/.el-card__body {
padding-bottom: 0;
}
}
&-left,
&-right {
width: 30%;
.fznum {
font-size: 24px;
color: $light-blue;
span {
font-size: 14px;
color: #606266;
}
}
.fzl {
display: flex;
align-items: center;
img {
width: 70px;
margin-right: 15px;
}
p:nth-child(1) {
font-size: 18px;
}
}
.zszm {
justify-content: space-between;
li:nth-child(1) {}
}
}
.barChart {
flex: 1;
margin-top: 10px;
height: calc(100vh - 330px);
}
&-center {
width: 39%;
}
}
\ No newline at end of file
<template>
<div class="jgHome">
<div class="jgHome-left">
<el-card>
<div slot="header">
<span>发证情况</span>
<el-button style="float: right;" type="text">更多</el-button>
</div>
<div class="fzl">
<img src="../../image/zs.png" alt="">
<div>
<p>发证量</p>
<p class="fznum">10000<span></span></p>
</div>
</div>
<ul class="zszm d-flex-center">
<li>
<p>证书</p>
<p class="fznum">600<span></span></p>
</li>
<li>
<p>证明</p>
<p class="fznum">900<span></span></p>
</li>
</ul>
</el-card>
<el-card class="barChart">
<barChart />
</el-card>
</div>
<div class="jgHome-center">
<el-card>
<hzMap />
</el-card>
</div>
<div class="jgHome-right">
<el-card class="bottom10 paddingbtm0">
<jgChart />
</el-card>
<el-card class="box-card paddingbtm0">
<div slot="header">
<span>违规总计</span>
<el-button style="float: right;" type="text">更多</el-button>
</div>
<lb-table ref="table" :pagination="false" :heightNum="546" :column="tableData.columns" :data="tableData.data">
</lb-table>
</el-card>
</div>
</div>
</template>
<script>
// 引入表格数据
import data from "./data"
import barChart from './components/barChart'
import hzMap from './components/map'
import jgChart from './components/jgChart'
export default {
name: "jgHome",
components: { barChart, hzMap, jgChart },
data () {
return {
// 表格数据
tableData: {
// 表格头部信息
columns: data.columns(),
// 表格列表数据
data: [{}]
}
}
},
methods: {}
}
</script>
<style scoped lang="scss">
@import "./index.scss";
</style>
<template>
<!-- 编辑 -->
<dialogBox :title="title" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="接入点代码" prop="jrddm">
<el-input v-model="ruleForm.jrddm" placeholder="接入点代码"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="接入点名称" prop="jrdmc">
<el-input v-model="ruleForm.jrdmc" placeholder="接入点名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="队列名称" prop="dlmc">
<el-input v-model="ruleForm.dlmc" placeholder="队列名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ip地址" prop="ip">
<el-input v-model="ruleForm.ip" placeholder="ip地址"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="负责人" prop="fzr">
<el-input v-model="ruleForm.fzr" placeholder="负责人"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
title: { type: String, default: '详情' }
},
data () {
return {
myValue: this.value,
ruleForm: {
jrddm: '',
jrdmc: '',
dlmc: '',
ywmc: '',
czsj: ''
},
rules: {
jrddm: [
{ required: true, message: '接入点代码', trigger: 'blur' }
],
jrdmc: [
{ required: true, message: '行政区名称', trigger: 'blur' }
],
dlmc: [
{ required: true, message: '队列名称', trigger: 'blur' }
],
ip: [
{ required: true, message: 'ip地址', trigger: 'blur' }
],
fzr: [
{ required: true, message: '负责人', trigger: 'blur' }
],
}
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
handleSubmit () {
this.$emit('input', false)
}
}
}
</script>
\ No newline at end of file
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
type: 'selection'
},
{
prop: "jrddm",
label: "接入点代码",
},
{
prop: "jrdmc",
label: "接入点名称",
},
{
prop: "dlmc",
label: "队列名称",
},
{
prop: "ip",
label: "ip地址",
},
{
prop: "dk",
label: "端口号",
},
{
prop: "fzr",
label: "负责人",
},
{
prop: 'status',
label: '状态',
render: (h, scope) => {
return (
<div>
{
scope.row.status
? <el-tag type='warning'>中断</el-tag>
: <el-tag type='warning'>中断1</el-tag>
}
</div>
)
}
},
]
}
}
export default new data()
<template>
<!-- 接入区域管理 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="负责人" label-width="60px" prop="fzr">
<el-input v-model="form.fzr" placeholder="负责人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="接入点名称" prop="jrdmc">
<el-select v-model="form.jrdmc" class="width100" clearable placeholder="接入点名称">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="12" class="btnColRight">
<el-form-item>
<el-button type="primary">删除</el-button>
<el-button @click="resetForm">重置</el-button>
<el-button type="primary">新增</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表数据 -->
<div class="from-clues-content">
<lb-table ref="table" @selection-change="handleSelectionChange" :page-size="pageData.size"
:current-page.sync="pageData.current" :total="pageData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
<!-- 修改弹框 -->
<detailDialog v-model="isShow" />
</div>
</template>
<script>
// 接入区域管理
// 引入table数据
import data from "./data"
// 引入混入方法
import tableMixin from '@/mixins/tableMixin.js'
// 引入修改弹框
import detailDialog from './components/detailDialog'
export default {
name: "jrqygl",
mixins: [tableMixin],
// 注册组件
components: {
detailDialog
},
data () {
return {
isShow: false,
// 搜索表单
form: {
fzr: '',
jrdmc: '',
currentPage: 1
},
// 表单校验
rules: {
fzr: [
{ required: true, message: '负责人', trigger: 'change' }
],
jrdmc: [
{ required: true, message: '接入点名称', trigger: 'change' }
]
},
// 列表数据
tableData: {
// 列表头部
columns: data.columns().concat([
{
label: "操作",
width: '80',
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
修改
</el-button>
</div>
)
}
}
]),
// 列表数据
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
}
}
},
methods: {
// 多选
handleSelectionChange (val) {
},
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 初始化数据
async featchData () {
},
// 修改
handleEdit (row) {
this.isShow = true
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "qygh",
label: "区域规划",
},
{
prop: "rkkssj",
label: "入库开始时间",
},
{
prop: "rkjssh",
label: "入库结束时间",
},
{
prop: "zjrksj",
label: "最近入库时间",
},
{
prop: "rksbsl",
label: "入库失败熟练",
},
{
prop: "rkcgsl",
label: "入库成功数量",
},
{
prop: "zsl",
label: "总数量",
},
{
prop: 'cxrkzt',
label: '重新入库状态',
render: (h, scope) => {
return (
<div>
{
scope.row.cxrkzt
? <el-tag type='success'>入库</el-tag>
: <el-tag type='primary'>入库1</el-tag>
}
</div>
)
}
}
]
}
}
export default new data()
<template>
<!-- 接收报文重新入库 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="55px">
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="pcode">
<el-select v-model="form.pcode" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="状态" prop="status">
<el-select v-model="form.jcjg" class="width100" clearable placeholder="检查结果">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="12" class="btnColRight">
<el-form-item>
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表 -->
<div class="from-clues-content">
<lb-table ref="table" :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
// 接收报文重新入库
// 引入列表头部数据
import data from "./data"
// 引入混入方法
import tableMixin from '@/mixins/tableMixin.js'
export default {
name: "reportLog",
mixins: [tableMixin],
data () {
return {
// 表单
form: {
pcode: '',
status: '',
currentPage: 1
},
// 表单校验
rules: {
pcode: [
{ required: true, message: '请选择行政区', trigger: 'change' }
],
},
// 列表
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"
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
编辑
</el-button>
</div>
)
}
}
]),
// 列表数据
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
},
methods: {
// 重置
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 数据请求
async featchData () {
},
handleEdit (row) {
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
<template>
<!-- 编辑 -->
<dialogBox title="编辑" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="规则编码" prop="gzbm">
<el-input v-model="ruleForm.gzbm" placeholder="规则编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规则名称" prop="gzmc">
<el-input v-model="ruleForm.gzmc" placeholder="规则名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否启用" prop="isqy">
<el-radio-group v-model="ruleForm.isqy">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
ruleForm: {
gzbm: '',
xzqmc: '',
isqy: 1
},
rules: {
gzbm: [
{ required: true, message: '规则编码', trigger: 'blur' }
],
gzmc: [
{ required: true, message: '规则名称', trigger: 'blur' }
]
}
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
handleSubmit () {
this.$emit('input', false)
}
}
}
</script>
\ No newline at end of file
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "gzbm",
label: "规则编码",
},
{
prop: "gzmc",
label: "规则名称",
},
{
prop: 'isqy',
label: '是否启用',
render: (h, scope) => {
return (
<div>
{
scope.row.isqy
? <el-tag type='success'>启用</el-tag>
: <el-tag type='success'>启用1</el-tag>
}
</div>
)
}
},
]
}
}
export default new data()
.jsgzgl {
background-color: #fff;
padding: 5px;
}
\ No newline at end of file
<template>
<!-- 接收规则管理 -->
<div class="jsgzgl from-clues">
<lb-table ref="table" :heightNum="195" :total="pageData.total" :page-size="pageData.size"
:current-page.sync="pageData.current" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
</lb-table>
<detailDialog v-model="isShow" />
</div>
</template>
<script>
// 引入表格数据
import data from "./data"
// 引入表格混入方法
import tableMixin from '@/mixins/tableMixin.js'
import detailDialog from './components/detailDialog'
export default {
name: "jsgzgl",
mixins: [tableMixin],
components: {
detailDialog
},
data () {
return {
isShow: false,
form: {
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"
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
修改
</el-button>
</div>
)
}
}
]),
// 列表数据
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
},
methods: {
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
async featchData () {
},
// 修改
handleEdit (row) {
this.isShow = true
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......@@ -58,7 +58,7 @@ export default {
default: {},
},
},
data() {
data () {
return {
key: 0,
myValue: this.value,
......@@ -204,7 +204,7 @@ export default {
},
},
{
width: "150",
width: "100",
label: "操作",
render: (h, scope) => {
return (
......@@ -228,16 +228,16 @@ export default {
删除
</el-button>
</div>
);
},
},
)
}
}
],
tableData: [],
};
tableData: []
}
},
watch: {
value(val) {
this.myValue = val;
value (val) {
this.myValue = val
},
"details.dictid": {
handler: function (newValue) {
......@@ -248,10 +248,10 @@ export default {
this.tableData = result ? result : [];
this.tableData.forEach((item, index) => {
item.index = index + 1;
});
});
})
})
},
immediate: true,
immediate: true
},
details: {
handler: function (newValue) {
......@@ -269,7 +269,7 @@ export default {
},
methods: {
// 添加索引
addIndexes(data = this.tableData, isAdd = true) {
addIndexes (data = this.tableData, isAdd = true) {
data.forEach((item, index) => {
if (index == 0) {
item.codeShow = true;
......@@ -290,7 +290,7 @@ export default {
}
});
},
itemShowFalse() {
itemShowFalse () {
this.tableData.forEach((item, index) => {
item.codeShow = false;
item.nameShow = false;
......@@ -298,7 +298,7 @@ export default {
item.normnameShow = false;
});
},
handleMinus(index, row) {
handleMinus (index, row) {
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -318,7 +318,7 @@ export default {
});
});
},
handleSubmit() {
handleSubmit () {
editDictNode({
dictid: this.details.rowData.dictid,
typeid: this.details.rowData.typeid,
......@@ -333,11 +333,11 @@ export default {
}
});
},
closeDialog() {
closeDialog () {
this.$emit("input", false);
},
// 增加下级
handleAddSubordinate(row) {
handleAddSubordinate (row) {
if (!row.children) {
row.children = [];
}
......@@ -354,7 +354,7 @@ export default {
this.keyList.push(row.dictid);
},
// 增加
handleAdd() {
handleAdd () {
this.$nextTick(() => {
let container = this.$el.querySelector(".el-table__body-wrapper");
container.scrollTop = container.scrollHeight;
......@@ -372,13 +372,13 @@ export default {
this.key++;
},
// 上移下移
moveUpward(index, row) {
moveUpward (index, row) {
realMove(row.dictid, "UP", this.tableData);
this.key++;
let id = findParents(this.tableData, row.dictid);
this.keyList = id;
},
moveDown(index, row) {
moveDown (index, row) {
realMove(row.dictid, "DOWN", this.tableData);
this.key++;
let id = findParents(this.tableData, row.dictid);
......@@ -398,13 +398,16 @@ export default {
/deep/.el-radio__label {
display: block;
}
/deep/.el-form-item__label{
color:#fff;
/deep/.el-form-item__label {
color: #fff;
}
/deep/.el-form-item{
color:#fff;
/deep/.el-form-item {
color: #fff;
margin-bottom: 10px;
}
/deep/.el-radio-group {
display: flex;
align-items: center;
......
......@@ -68,19 +68,12 @@ export default {
columns: datas.columns().concat([
{
label: "操作",
width: 170,
render: (h, scope) => {
return (
<div>
{
scope.row.isenable == '1' ?
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button> :
<el-button type="text" icon="el-icon-view" onClick={() => { this.editClick(scope.row, 2) }}>查看</el-button>
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button>
)
}
}
</div>
);
},
},
]),
data: []
}
......
<template>
<!-- 编辑 -->
<dialogBox title="操作内容" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
<p>2</p>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
handleSubmit () {
this.$emit('input', false)
}
}
}
</script>
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "name",
label: "用户名称",
},
{
prop: "sj",
label: "时间",
},
{
prop: "czlx",
label: "操作类型",
},
{
prop: "ywh",
label: "业务号",
}
]
}
}
export default new data()
<template>
<!-- 中心日志 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="用户名称" prop="name">
<el-input v-model="form.name" class="width100" placeholder="用户名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
clearable v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
clearable v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="操作类型" prop="czlx">
<el-select v-model="form.czlx" class="width100" clearable placeholder="操作类型">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="4" class="btnColRight">
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表 -->
<div class="from-clues-content">
<lb-table ref="table" :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
<detailDialog v-model="isShow" />
</div>
</template>
<script>
// 中心日志
// 引入列表头部数据
import data from "./data"
// 引入列表混入方法
import tableMixin from '@/mixins/tableMixin.js'
// 引入详情
import detailDialog from './components/detailDialog.vue'
export default {
name: "zxrz",
mixins: [tableMixin],
// 注册组件
components: {
detailDialog
},
data () {
return {
isShow: false,
// 开始结束日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return (
time.getTime() >= new Date(this.form.endTime).getTime()
);
}
}
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return (
time.getTime() <= new Date(this.form.startTime).getTime()
);
}
}
},
// 表单
form: {
name: '',
startTime: '',
endTime: '',
ywmc: '',
czlx: '',
currentPage: 1
},
// 表单校验
rules: {
name: [
{ required: true, message: '用户名称', trigger: 'change' }
],
startTime: [
{ required: true, message: '开始日期', trigger: 'change' }
],
endTime: [
{ required: true, message: '结束日期', trigger: 'change' }
],
czlx: [
{ required: true, message: '操作类型', trigger: 'change' }
]
},
// 列表
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"
size="mini"
onClick={() => { this.handleDetails(scope.row) }}
>
详情
</el-button>
</div>
)
}
}
]),
// 列表
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
},
methods: {
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
async featchData () {
},
handleDetails (row) {
this.isShow = true
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>