index.vue
4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<template>
<div class="registerLog from-clues">
<div class="registerLog-header from-clues-header">
<el-form ref="form" :model="form" label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="行政区">
<el-select v-model="form.areacode" filterable placeholder="请选择行政区">
<!-- <el-option v-for="item in dicData['XZQ']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="上报时间" class="reportingTime">
<el-date-picker type="date" placeholder="选择开始日期" :picker-options="pickerOptionsStart" clearable
v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
<span class="line">-</span>
<el-date-picker placeholder="选择结束日期" clearable :picker-options="pickerOptionsEnd" v-model="form.endTime"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="9" class="btnColRight">
<el-button type="primary" @click="handleSubmit">查询结果</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
<lb-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>
<!-- 预览弹框 -->
<dialogBox ref="dialog" isReset saveButton="关闭" divider title="XML报文">
<div class="xmlMessage">
{{ xml }}
</div>
</dialogBox>
</div>
</template>
<script>
// 登簿日志
import data from "./data"
import journal from '@/api/journal.js'
import fromMixin from '@/mixins/fromMixin.js'
import tableMixin from '@/mixins/tableMixin.js'
export default {
name: "registerLog",
mixins: [fromMixin, tableMixin],
data () {
return {
xml: '',
form: {
areacode: '',
startTime: '',
endTime: '',
currentPage: 1
},
tableData: {
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns())
.concat([
{
label: "XML报文",
width: 130,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
icon="el-icon-view"
onClick={() => { this.handlePreview(scope.$index, scope.row) }}
>
预览
</el-button>
</div>
);
},
},
]),
data: []
},
pageData: {
total: 0,
pageSize: 15,
current: 1
}
}
},
// watch: {
// 'dicData.XZQ': {
// handler (val, oldVal) {
// if (val.length == 1) {
// this.form.areacode = val[0].DCODE
// }
// },
// deep: true
// }
// },
// created () {
// if (this.dicData && this.dicData['XZQ'] && this.dicData['XZQ'].length == 1) {
// this.form.areacode = this.dicData.XZQ[0].DCODE
// }
// },
methods: {
async featchData () {
try {
this.form = Object.assign(this.form, this.formData)
let { list, total, pages: pageSize, pageNum: current
} = await journal.queryAccessLogs(this.form)
this.tableData.data = list
this.pageData = {
pageSize,
current,
total
}
} catch (error) {
this.message = error
}
},
async handlePreview (index, row) {
try {
let { result: res } = await journal.getXmlById(row.id)
if (res != null) {
this.xml = res
this.$refs.dialog.isShow();
} else {
this.$message('报文为空')
}
} catch (error) {
this.$alert(error, '提示', {
confirmButtonText: '确定',
type: 'error'
})
}
}
},
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>