7f8fb505 by 任超

feat:接入质量评价表

1 parent 7fb11b31
......@@ -4,7 +4,7 @@
* @param {All} [o] 需要检测的数据
* @returns {String}
*/
export function getType(o) {
export function getType (o) {
return Object.prototype.toString.call(o).slice(8, -1);
}
/**
......@@ -13,10 +13,10 @@ export function getType(o) {
* @param {String} [type] 数据类型
* @returns {Boolean}
*/
export function isKeyType(o, type) {
export function isKeyType (o, type) {
return getType(o).toLowerCase() === type.toLowerCase();
}
export function deepCopy(sth) {
export function deepCopy (sth) {
let copy;
if (null == sth || "object" != typeof sth) return sth;
if (isKeyType(sth, 'date')) {
......@@ -47,7 +47,7 @@ export function deepCopy(sth) {
* @param endLen 字符串后面保留位数
* @returns {string}
*/
export function hideCode(str, frontLen, endLen = 0) {
export function hideCode (str, frontLen, endLen = 0) {
var len = str.length - frontLen - endLen;
var xing = '';
for (var i = 0; i < len; i++) {
......@@ -57,7 +57,7 @@ export function hideCode(str, frontLen, endLen = 0) {
};
// 数组去重
export function unique(arr) {
export function unique (arr) {
var obj = {};
return arr.filter(function (item, index, arr) {
return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true)
......@@ -65,7 +65,7 @@ export function unique(arr) {
}
// 创造id
export function getUuid(len, radix) {
export function getUuid (len, radix) {
var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split(
""
);
......@@ -89,7 +89,7 @@ export function getUuid(len, radix) {
}
//js计算两个时间戳之间的时间差 (月)
export function intervalTime(startTime, endTime) {
export function intervalTime (startTime, endTime) {
// var timestamp=new Date().getTime(); //计算当前时间戳
var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级)
var date1 = ""; //开始时间
......@@ -107,16 +107,27 @@ export function intervalTime(startTime, endTime) {
return mon
}
// 日期转时间戳
export function js_strto_time(str_time) {
export function js_strto_time (str_time) {
var str = str_time.replace(/-/g, '/') // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串
var date = new Date(str) // 构造一个日期型数据,值为传入的字符串
return date.getTime()
}
// 时间戳转日期
export function timestampToTime(timestamp) {
export function timestampToTime (timestamp) {
var date = new Date(timestamp)//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-'
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
var D = date.getDate() > 10 ? date.getDate() : '0' + date.getDate()
return Y + M + D
}
export function getCurrentDate (date = 'firstDay') {
var now = new Date() // 当前日期
var nowYear = now.getFullYear() //当前年
var nowMonth = now.getMonth() //当前月 (值为0~11)
var d = now.getDate() //当天
if (date == 'firstDay') {
return new Date(nowYear, nowMonth, 1) // 本月开始时间
} else {
return new Date(nowYear, nowMonth + 1, 0); // 本月结束时间
}
}
\ No newline at end of file
......
/deep/.el-table--border th.el-table__cell {
border-bottom: 1px solid #458ACF !important;
}
/deep/.el-table--border .el-table__cell {
border-right: 1px solid #458ACF !important;
}
\ No newline at end of file
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "xzq",
label: "行政区",
width: '90'
},
{
label: '增量数据接入情况',
children: [
{
prop: 'bqjrlb',
label: '本期接入业务量(笔)',
width: '120'
},
{
prop: 'bqjrlc',
label: '本期接入业务量(次)',
width: '120'
},
{
prop: 'xxx',
label: '本期登簿日志反映出的登簿量(条)',
width: '140'
},
{
label: '本期接入质量评价',
children: [
{
prop: 'xxx',
label: '未上报登簿日志县区数(个)',
width: '120'
},
{
prop: 'xxx',
label: '未上报数据县区数(个)',
width: '120'
},
{
label: '本期未成功接入登簿量及在登簿日志量中的占比',
children: [
{
prop: 'xxx',
label: '未成功接入登簿量(条)',
width: '120'
},
{
prop: 'xxx',
label: '占比',
width: '60'
}
]
},
{
label: '分时段接入登簿量及与本期接入登簿量的占比',
children: [
{
prop: 'xxx',
label: '24小时内接入登簿量(占比%)',
width: '120'
},
{
prop: 'xxx',
label: '48小时内接入登簿量(占比%)',
width: '120'
},
{
prop: 'xxx',
label: '超过48小时接入登簿量(占比%)',
width: '120'
}
]
},
{
prop: 'xxx',
label: '网络环境异常情况',
},
{
prop: 'xxx',
label: '非登簿环节接入的区县数',
},
{
prop: 'xxx',
label: '非自动方式接入的区县数',
},
{
prop: 'xxx',
label: '综合评分'
}
]
}
]
}
]
}
}
export default new data()
<!-- 登簿日志查询 -->
\ No newline at end of file
<!-- 接入质量评价表 -->
<template>
<div class="from-clues">
<!-- 头部搜索 -->
<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="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" label-width="35px">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable
v-model="form.endTime" value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
</el-form-item>
</el-col>
<!-- 按钮操作 -->
<el-col :span="12" class="btnColRight">
<el-form-item>
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="handleSearch">查询</btn>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表区域 -->
<div class="from-clues-content">
<lb-table ref="table" :page-size="pageData.size" border :current-page.sync="pageData.current"
:total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
// 接入质量评价表
// 引入表格头部数据
import data from "./data";
// 引入table混入方法
import tableMixin from "@/mixins/tableMixin.js";
//引入日期处理方法
import { timeFormat } from "@/utils/operation";
// 获取时间
import { getCurrentDate } from "@/utils/tools";
export default {
name: "jsbwcx",
mixins: [tableMixin],
data () {
return {
pickerOptionsStart: {
disabledDate: (time) => {
let endDateVal = this.form.endTime;
if (endDateVal) {
return (
time.getTime() >=
new Date(endDateVal).getTime()
);
}
},
},
pickerOptionsEnd: {
disabledDate: (time) => {
let beginDateVal = this.form.startTime;
if (beginDateVal) {
return (
time.getTime() <
new Date(beginDateVal).getTime()
);
}
},
},
// 表格数据
form: {
startTime: "", // 开始日期
endTime: "", // 结束日期
currentPage: 1
},
// 校验规则
rules: {
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: 10,
current: 1
}
};
},
created() {
this.form.startTime = getCurrentDate()
this.form.endTime = getCurrentDate('time')
},
methods: {
//截止日期变化
endTimeChange (val) {
this.form.endTime = timeFormat(new Date(val), true)
},
// 初始化数据
featchData () { },
// 重置
resetForm () {
this.$refs.ruleForm.resetFields();
this.form.currentPage = 1
this.featchData();
}
}
}
</script>
<style scoped lang="scss">
// 引入表单整体样式
@import "~@/styles/public.scss";
@import "../css/index.scss";
</style>
......
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: 'jcjg',
label: '检查结果',
width: 90,
render: (h, scope) => {
return (
<div>
<span class='adopt' v-show={scope.row.receiveState == 0}>未效验</span>
<span class='adopt' v-show={scope.row.receiveState == 1}>效验成功</span>
<span class='warehousing' v-show={scope.row.receiveState == 2}>效验失败</span>
</div>
)
}
},
{
prop: 'rkjg',
label: '入库结果',
width: 80,
render: (h, scope) => {
return (
<div>
<span class='fail' v-show={scope.row.storageState == 0}>未入库</span>
<span class='success' v-show={scope.row.storageState == 1}>已入库</span>
<span class='fail' v-show={scope.row.storageState == 2}>入库失败</span>
</div>
)
}
},
{
prop: "areacode",
label: "行政区代码",
width: 90,
},
{
prop: "areaName",
label: "行政区名称",
width: 90,
},
{
prop: "bizMsgid",
label: "业务报文ID",
width: 90,
},
{
prop: "createdate",
label: "创建时间",
width: 140,
},
{
prop: "recflowid",
label: "业务流水号",
width: 95,
},
{
prop: "estatenum",
label: "不动产单元号",
width: 240,
},
{
prop: "rectype",
label: "业务编码",
width: 80,
},
{
prop: "rectypeName",
label: "业务名称",
render: (h, scope) => {
return (
<div>
{scope.row.rectypeName}
</div>
)
}
},
{
prop: "receiveDate",
label: "接收时间",
width: 140
}
]
}
}
export default new data()
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: 'jcjg',
label: '检查结果',
width: 90,
render: (h, scope) => {
return (
<div>
<span class='adopt' v-show={scope.row.receiveState == 0}>未效验</span>
<span class='adopt' v-show={scope.row.receiveState == 1}>效验成功</span>
<span class='warehousing' v-show={scope.row.receiveState == 2}>效验失败</span>
</div>
)
}
},
{
prop: 'rkjg',
label: '入库结果',
width: 80,
render: (h, scope) => {
return (
<div>
<span class='fail' v-show={scope.row.storageState == 0}>未入库</span>
<span class='success' v-show={scope.row.storageState == 1}>已入库</span>
<span class='fail' v-show={scope.row.storageState == 2}>入库失败</span>
</div>
)
}
},
{
prop: "areacode",
label: "行政区代码",
width: 90,
},
{
prop: "areaName",
label: "行政区名称",
width: 90,
},
{
prop: "bizMsgid",
label: "业务报文ID",
width: 90,
},
{
prop: "createdate",
label: "创建时间",
width: 140,
},
{
prop: "recflowid",
label: "业务流水号",
width: 95,
},
{
prop: "estatenum",
label: "不动产单元号",
width: 240,
},
{
prop: "rectype",
label: "业务编码",
width: 80,
},
{
prop: "rectypeName",
label: "业务名称",
render: (h, scope) => {
return (
<div>
{scope.row.rectypeName}
</div>
)
}
},
{
prop: "receiveDate",
label: "接收时间",
width: 140
}
]
}
}
export default new data()