feat:接入质量评价表
Showing
6 changed files
with
451 additions
and
10 deletions
| ... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
| 4 | * @param {All} [o] 需要检测的数据 | 4 | * @param {All} [o] 需要检测的数据 |
| 5 | * @returns {String} | 5 | * @returns {String} |
| 6 | */ | 6 | */ |
| 7 | export function getType(o) { | 7 | export function getType (o) { |
| 8 | return Object.prototype.toString.call(o).slice(8, -1); | 8 | return Object.prototype.toString.call(o).slice(8, -1); |
| 9 | } | 9 | } |
| 10 | /** | 10 | /** |
| ... | @@ -13,10 +13,10 @@ export function getType(o) { | ... | @@ -13,10 +13,10 @@ export function getType(o) { |
| 13 | * @param {String} [type] 数据类型 | 13 | * @param {String} [type] 数据类型 |
| 14 | * @returns {Boolean} | 14 | * @returns {Boolean} |
| 15 | */ | 15 | */ |
| 16 | export function isKeyType(o, type) { | 16 | export function isKeyType (o, type) { |
| 17 | return getType(o).toLowerCase() === type.toLowerCase(); | 17 | return getType(o).toLowerCase() === type.toLowerCase(); |
| 18 | } | 18 | } |
| 19 | export function deepCopy(sth) { | 19 | export function deepCopy (sth) { |
| 20 | let copy; | 20 | let copy; |
| 21 | if (null == sth || "object" != typeof sth) return sth; | 21 | if (null == sth || "object" != typeof sth) return sth; |
| 22 | if (isKeyType(sth, 'date')) { | 22 | if (isKeyType(sth, 'date')) { |
| ... | @@ -47,7 +47,7 @@ export function deepCopy(sth) { | ... | @@ -47,7 +47,7 @@ export function deepCopy(sth) { |
| 47 | * @param endLen 字符串后面保留位数 | 47 | * @param endLen 字符串后面保留位数 |
| 48 | * @returns {string} | 48 | * @returns {string} |
| 49 | */ | 49 | */ |
| 50 | export function hideCode(str, frontLen, endLen = 0) { | 50 | export function hideCode (str, frontLen, endLen = 0) { |
| 51 | var len = str.length - frontLen - endLen; | 51 | var len = str.length - frontLen - endLen; |
| 52 | var xing = ''; | 52 | var xing = ''; |
| 53 | for (var i = 0; i < len; i++) { | 53 | for (var i = 0; i < len; i++) { |
| ... | @@ -57,7 +57,7 @@ export function hideCode(str, frontLen, endLen = 0) { | ... | @@ -57,7 +57,7 @@ export function hideCode(str, frontLen, endLen = 0) { |
| 57 | }; | 57 | }; |
| 58 | // 数组去重 | 58 | // 数组去重 |
| 59 | 59 | ||
| 60 | export function unique(arr) { | 60 | export function unique (arr) { |
| 61 | var obj = {}; | 61 | var obj = {}; |
| 62 | return arr.filter(function (item, index, arr) { | 62 | return arr.filter(function (item, index, arr) { |
| 63 | return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true) | 63 | return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true) |
| ... | @@ -65,7 +65,7 @@ export function unique(arr) { | ... | @@ -65,7 +65,7 @@ export function unique(arr) { |
| 65 | } | 65 | } |
| 66 | // 创造id | 66 | // 创造id |
| 67 | 67 | ||
| 68 | export function getUuid(len, radix) { | 68 | export function getUuid (len, radix) { |
| 69 | var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split( | 69 | var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split( |
| 70 | "" | 70 | "" |
| 71 | ); | 71 | ); |
| ... | @@ -89,7 +89,7 @@ export function getUuid(len, radix) { | ... | @@ -89,7 +89,7 @@ export function getUuid(len, radix) { |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | //js计算两个时间戳之间的时间差 (月) | 91 | //js计算两个时间戳之间的时间差 (月) |
| 92 | export function intervalTime(startTime, endTime) { | 92 | export function intervalTime (startTime, endTime) { |
| 93 | // var timestamp=new Date().getTime(); //计算当前时间戳 | 93 | // var timestamp=new Date().getTime(); //计算当前时间戳 |
| 94 | var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级) | 94 | var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级) |
| 95 | var date1 = ""; //开始时间 | 95 | var date1 = ""; //开始时间 |
| ... | @@ -107,16 +107,27 @@ export function intervalTime(startTime, endTime) { | ... | @@ -107,16 +107,27 @@ export function intervalTime(startTime, endTime) { |
| 107 | return mon | 107 | return mon |
| 108 | } | 108 | } |
| 109 | // 日期转时间戳 | 109 | // 日期转时间戳 |
| 110 | export function js_strto_time(str_time) { | 110 | export function js_strto_time (str_time) { |
| 111 | var str = str_time.replace(/-/g, '/') // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串 | 111 | var str = str_time.replace(/-/g, '/') // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串 |
| 112 | var date = new Date(str) // 构造一个日期型数据,值为传入的字符串 | 112 | var date = new Date(str) // 构造一个日期型数据,值为传入的字符串 |
| 113 | return date.getTime() | 113 | return date.getTime() |
| 114 | } | 114 | } |
| 115 | // 时间戳转日期 | 115 | // 时间戳转日期 |
| 116 | export function timestampToTime(timestamp) { | 116 | export function timestampToTime (timestamp) { |
| 117 | var date = new Date(timestamp)//时间戳为10位需*1000,时间戳为13位的话不需乘1000 | 117 | var date = new Date(timestamp)//时间戳为10位需*1000,时间戳为13位的话不需乘1000 |
| 118 | var Y = date.getFullYear() + '-' | 118 | var Y = date.getFullYear() + '-' |
| 119 | var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-' | 119 | var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-' |
| 120 | var D = date.getDate() > 10 ? date.getDate() : '0' + date.getDate() | 120 | var D = date.getDate() > 10 ? date.getDate() : '0' + date.getDate() |
| 121 | return Y + M + D | 121 | return Y + M + D |
| 122 | } | ||
| 123 | export function getCurrentDate (date = 'firstDay') { | ||
| 124 | var now = new Date() // 当前日期 | ||
| 125 | var nowYear = now.getFullYear() //当前年 | ||
| 126 | var nowMonth = now.getMonth() //当前月 (值为0~11) | ||
| 127 | var d = now.getDate() //当天 | ||
| 128 | if (date == 'firstDay') { | ||
| 129 | return new Date(nowYear, nowMonth, 1) // 本月开始时间 | ||
| 130 | } else { | ||
| 131 | return new Date(nowYear, nowMonth + 1, 0); // 本月结束时间 | ||
| 132 | } | ||
| 122 | } | 133 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/views/statistics/css/index.scss
0 → 100644
| 1 | import filter from '@/utils/filter.js' | ||
| 2 | class data extends filter { | ||
| 3 | constructor() { | ||
| 4 | super() | ||
| 5 | } | ||
| 6 | columns () { | ||
| 7 | return [ | ||
| 8 | { | ||
| 9 | prop: "xzq", | ||
| 10 | label: "行政区", | ||
| 11 | width: '90' | ||
| 12 | }, | ||
| 13 | { | ||
| 14 | label: '增量数据接入情况', | ||
| 15 | children: [ | ||
| 16 | { | ||
| 17 | prop: 'bqjrlb', | ||
| 18 | label: '本期接入业务量(笔)', | ||
| 19 | width: '120' | ||
| 20 | }, | ||
| 21 | { | ||
| 22 | prop: 'bqjrlc', | ||
| 23 | label: '本期接入业务量(次)', | ||
| 24 | width: '120' | ||
| 25 | }, | ||
| 26 | { | ||
| 27 | prop: 'xxx', | ||
| 28 | label: '本期登簿日志反映出的登簿量(条)', | ||
| 29 | width: '140' | ||
| 30 | }, | ||
| 31 | { | ||
| 32 | label: '本期接入质量评价', | ||
| 33 | children: [ | ||
| 34 | { | ||
| 35 | prop: 'xxx', | ||
| 36 | label: '未上报登簿日志县区数(个)', | ||
| 37 | width: '120' | ||
| 38 | }, | ||
| 39 | { | ||
| 40 | prop: 'xxx', | ||
| 41 | label: '未上报数据县区数(个)', | ||
| 42 | width: '120' | ||
| 43 | }, | ||
| 44 | { | ||
| 45 | label: '本期未成功接入登簿量及在登簿日志量中的占比', | ||
| 46 | children: [ | ||
| 47 | { | ||
| 48 | prop: 'xxx', | ||
| 49 | label: '未成功接入登簿量(条)', | ||
| 50 | width: '120' | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | prop: 'xxx', | ||
| 54 | label: '占比', | ||
| 55 | width: '60' | ||
| 56 | } | ||
| 57 | ] | ||
| 58 | }, | ||
| 59 | { | ||
| 60 | label: '分时段接入登簿量及与本期接入登簿量的占比', | ||
| 61 | children: [ | ||
| 62 | { | ||
| 63 | prop: 'xxx', | ||
| 64 | label: '24小时内接入登簿量(占比%)', | ||
| 65 | width: '120' | ||
| 66 | }, | ||
| 67 | { | ||
| 68 | prop: 'xxx', | ||
| 69 | label: '48小时内接入登簿量(占比%)', | ||
| 70 | width: '120' | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | prop: 'xxx', | ||
| 74 | label: '超过48小时接入登簿量(占比%)', | ||
| 75 | width: '120' | ||
| 76 | } | ||
| 77 | ] | ||
| 78 | }, | ||
| 79 | { | ||
| 80 | prop: 'xxx', | ||
| 81 | label: '网络环境异常情况', | ||
| 82 | }, | ||
| 83 | { | ||
| 84 | prop: 'xxx', | ||
| 85 | label: '非登簿环节接入的区县数', | ||
| 86 | }, | ||
| 87 | { | ||
| 88 | prop: 'xxx', | ||
| 89 | label: '非自动方式接入的区县数', | ||
| 90 | }, | ||
| 91 | { | ||
| 92 | prop: 'xxx', | ||
| 93 | label: '综合评分' | ||
| 94 | } | ||
| 95 | ] | ||
| 96 | } | ||
| 97 | ] | ||
| 98 | } | ||
| 99 | ] | ||
| 100 | } | ||
| 101 | } | ||
| 102 | export default new data() |
| 1 | <!-- 登簿日志查询 --> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <!-- 接入质量评价表 --> | ||
| 2 | <template> | ||
| 3 | <div class="from-clues"> | ||
| 4 | <!-- 头部搜索 --> | ||
| 5 | <div class="from-clues-header"> | ||
| 6 | <el-form ref="ruleForm" :model="form" label-width="100px"> | ||
| 7 | <el-form-item> | ||
| 8 | <Breadcrumb /> | ||
| 9 | </el-form-item> | ||
| 10 | <el-row class="mb-5"> | ||
| 11 | <el-col :span="6"> | ||
| 12 | <el-form-item label="接收日期" prop="startTime"> | ||
| 13 | <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart" | ||
| 14 | clearable v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker> | ||
| 15 | </el-form-item> | ||
| 16 | </el-col> | ||
| 17 | <el-col :span="6"> | ||
| 18 | <el-form-item label="至" prop="endTime" label-width="35px"> | ||
| 19 | <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable | ||
| 20 | v-model="form.endTime" value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker> | ||
| 21 | </el-form-item> | ||
| 22 | </el-col> | ||
| 23 | <!-- 按钮操作 --> | ||
| 24 | <el-col :span="12" class="btnColRight"> | ||
| 25 | <el-form-item> | ||
| 26 | <btn nativeType="cz" @click="resetForm">重置</btn> | ||
| 27 | <btn nativeType="cx" @click="handleSearch">查询</btn> | ||
| 28 | </el-form-item> | ||
| 29 | </el-col> | ||
| 30 | </el-row> | ||
| 31 | </el-form> | ||
| 32 | </div> | ||
| 33 | <!-- 列表区域 --> | ||
| 34 | <div class="from-clues-content"> | ||
| 35 | <lb-table ref="table" :page-size="pageData.size" border :current-page.sync="pageData.current" | ||
| 36 | :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" | ||
| 37 | :column="tableData.columns" :data="tableData.data"> | ||
| 38 | </lb-table> | ||
| 39 | </div> | ||
| 40 | </div> | ||
| 41 | </template> | ||
| 42 | |||
| 43 | <script> | ||
| 44 | // 接入质量评价表 | ||
| 45 | // 引入表格头部数据 | ||
| 46 | import data from "./data"; | ||
| 47 | // 引入table混入方法 | ||
| 48 | import tableMixin from "@/mixins/tableMixin.js"; | ||
| 49 | //引入日期处理方法 | ||
| 50 | import { timeFormat } from "@/utils/operation"; | ||
| 51 | // 获取时间 | ||
| 52 | import { getCurrentDate } from "@/utils/tools"; | ||
| 53 | export default { | ||
| 54 | name: "jsbwcx", | ||
| 55 | mixins: [tableMixin], | ||
| 56 | data () { | ||
| 57 | return { | ||
| 58 | pickerOptionsStart: { | ||
| 59 | disabledDate: (time) => { | ||
| 60 | let endDateVal = this.form.endTime; | ||
| 61 | if (endDateVal) { | ||
| 62 | return ( | ||
| 63 | time.getTime() >= | ||
| 64 | new Date(endDateVal).getTime() | ||
| 65 | ); | ||
| 66 | } | ||
| 67 | }, | ||
| 68 | }, | ||
| 69 | pickerOptionsEnd: { | ||
| 70 | disabledDate: (time) => { | ||
| 71 | let beginDateVal = this.form.startTime; | ||
| 72 | if (beginDateVal) { | ||
| 73 | return ( | ||
| 74 | time.getTime() < | ||
| 75 | new Date(beginDateVal).getTime() | ||
| 76 | ); | ||
| 77 | } | ||
| 78 | }, | ||
| 79 | }, | ||
| 80 | // 表格数据 | ||
| 81 | form: { | ||
| 82 | startTime: "", // 开始日期 | ||
| 83 | endTime: "", // 结束日期 | ||
| 84 | currentPage: 1 | ||
| 85 | }, | ||
| 86 | // 校验规则 | ||
| 87 | rules: { | ||
| 88 | startTime: [ | ||
| 89 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
| 90 | ], | ||
| 91 | endTime: [ | ||
| 92 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
| 93 | ] | ||
| 94 | }, | ||
| 95 | // 表格数据 | ||
| 96 | tableData: { | ||
| 97 | // 表格头部 | ||
| 98 | columns: [ | ||
| 99 | { | ||
| 100 | label: "序号", | ||
| 101 | type: "index", | ||
| 102 | width: "50", | ||
| 103 | index: this.indexMethod, | ||
| 104 | } | ||
| 105 | ] | ||
| 106 | .concat(data.columns()), | ||
| 107 | data: [], | ||
| 108 | }, | ||
| 109 | // 分页 | ||
| 110 | pageData: { | ||
| 111 | total: 0, | ||
| 112 | pageSize: 10, | ||
| 113 | current: 1 | ||
| 114 | } | ||
| 115 | }; | ||
| 116 | }, | ||
| 117 | created() { | ||
| 118 | this.form.startTime = getCurrentDate() | ||
| 119 | this.form.endTime = getCurrentDate('time') | ||
| 120 | }, | ||
| 121 | methods: { | ||
| 122 | //截止日期变化 | ||
| 123 | endTimeChange (val) { | ||
| 124 | this.form.endTime = timeFormat(new Date(val), true) | ||
| 125 | }, | ||
| 126 | // 初始化数据 | ||
| 127 | featchData () { }, | ||
| 128 | // 重置 | ||
| 129 | resetForm () { | ||
| 130 | this.$refs.ruleForm.resetFields(); | ||
| 131 | this.form.currentPage = 1 | ||
| 132 | this.featchData(); | ||
| 133 | } | ||
| 134 | } | ||
| 135 | } | ||
| 136 | </script> | ||
| 137 | <style scoped lang="scss"> | ||
| 138 | // 引入表单整体样式 | ||
| 139 | @import "~@/styles/public.scss"; | ||
| 140 | @import "../css/index.scss"; | ||
| 141 | </style> | ||
| 142 | ... | ... |
| 1 | import filter from '@/utils/filter.js' | ||
| 2 | class data extends filter { | ||
| 3 | constructor() { | ||
| 4 | super() | ||
| 5 | } | ||
| 6 | columns () { | ||
| 7 | return [ | ||
| 8 | { | ||
| 9 | prop: 'jcjg', | ||
| 10 | label: '检查结果', | ||
| 11 | width: 90, | ||
| 12 | render: (h, scope) => { | ||
| 13 | return ( | ||
| 14 | <div> | ||
| 15 | <span class='adopt' v-show={scope.row.receiveState == 0}>未效验</span> | ||
| 16 | <span class='adopt' v-show={scope.row.receiveState == 1}>效验成功</span> | ||
| 17 | <span class='warehousing' v-show={scope.row.receiveState == 2}>效验失败</span> | ||
| 18 | </div> | ||
| 19 | ) | ||
| 20 | } | ||
| 21 | }, | ||
| 22 | { | ||
| 23 | prop: 'rkjg', | ||
| 24 | label: '入库结果', | ||
| 25 | width: 80, | ||
| 26 | render: (h, scope) => { | ||
| 27 | return ( | ||
| 28 | <div> | ||
| 29 | <span class='fail' v-show={scope.row.storageState == 0}>未入库</span> | ||
| 30 | <span class='success' v-show={scope.row.storageState == 1}>已入库</span> | ||
| 31 | <span class='fail' v-show={scope.row.storageState == 2}>入库失败</span> | ||
| 32 | </div> | ||
| 33 | ) | ||
| 34 | } | ||
| 35 | }, | ||
| 36 | { | ||
| 37 | prop: "areacode", | ||
| 38 | label: "行政区代码", | ||
| 39 | width: 90, | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | prop: "areaName", | ||
| 43 | label: "行政区名称", | ||
| 44 | width: 90, | ||
| 45 | }, | ||
| 46 | { | ||
| 47 | prop: "bizMsgid", | ||
| 48 | label: "业务报文ID", | ||
| 49 | width: 90, | ||
| 50 | }, | ||
| 51 | { | ||
| 52 | prop: "createdate", | ||
| 53 | label: "创建时间", | ||
| 54 | width: 140, | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | prop: "recflowid", | ||
| 58 | label: "业务流水号", | ||
| 59 | width: 95, | ||
| 60 | }, | ||
| 61 | { | ||
| 62 | prop: "estatenum", | ||
| 63 | label: "不动产单元号", | ||
| 64 | width: 240, | ||
| 65 | }, | ||
| 66 | { | ||
| 67 | prop: "rectype", | ||
| 68 | label: "业务编码", | ||
| 69 | width: 80, | ||
| 70 | }, | ||
| 71 | { | ||
| 72 | prop: "rectypeName", | ||
| 73 | label: "业务名称", | ||
| 74 | render: (h, scope) => { | ||
| 75 | return ( | ||
| 76 | <div> | ||
| 77 | {scope.row.rectypeName} | ||
| 78 | </div> | ||
| 79 | ) | ||
| 80 | } | ||
| 81 | }, | ||
| 82 | { | ||
| 83 | prop: "receiveDate", | ||
| 84 | label: "接收时间", | ||
| 85 | width: 140 | ||
| 86 | } | ||
| 87 | ] | ||
| 88 | } | ||
| 89 | } | ||
| 90 | export default new data() |
| 1 | import filter from '@/utils/filter.js' | ||
| 2 | class data extends filter { | ||
| 3 | constructor() { | ||
| 4 | super() | ||
| 5 | } | ||
| 6 | columns () { | ||
| 7 | return [ | ||
| 8 | { | ||
| 9 | prop: 'jcjg', | ||
| 10 | label: '检查结果', | ||
| 11 | width: 90, | ||
| 12 | render: (h, scope) => { | ||
| 13 | return ( | ||
| 14 | <div> | ||
| 15 | <span class='adopt' v-show={scope.row.receiveState == 0}>未效验</span> | ||
| 16 | <span class='adopt' v-show={scope.row.receiveState == 1}>效验成功</span> | ||
| 17 | <span class='warehousing' v-show={scope.row.receiveState == 2}>效验失败</span> | ||
| 18 | </div> | ||
| 19 | ) | ||
| 20 | } | ||
| 21 | }, | ||
| 22 | { | ||
| 23 | prop: 'rkjg', | ||
| 24 | label: '入库结果', | ||
| 25 | width: 80, | ||
| 26 | render: (h, scope) => { | ||
| 27 | return ( | ||
| 28 | <div> | ||
| 29 | <span class='fail' v-show={scope.row.storageState == 0}>未入库</span> | ||
| 30 | <span class='success' v-show={scope.row.storageState == 1}>已入库</span> | ||
| 31 | <span class='fail' v-show={scope.row.storageState == 2}>入库失败</span> | ||
| 32 | </div> | ||
| 33 | ) | ||
| 34 | } | ||
| 35 | }, | ||
| 36 | { | ||
| 37 | prop: "areacode", | ||
| 38 | label: "行政区代码", | ||
| 39 | width: 90, | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | prop: "areaName", | ||
| 43 | label: "行政区名称", | ||
| 44 | width: 90, | ||
| 45 | }, | ||
| 46 | { | ||
| 47 | prop: "bizMsgid", | ||
| 48 | label: "业务报文ID", | ||
| 49 | width: 90, | ||
| 50 | }, | ||
| 51 | { | ||
| 52 | prop: "createdate", | ||
| 53 | label: "创建时间", | ||
| 54 | width: 140, | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | prop: "recflowid", | ||
| 58 | label: "业务流水号", | ||
| 59 | width: 95, | ||
| 60 | }, | ||
| 61 | { | ||
| 62 | prop: "estatenum", | ||
| 63 | label: "不动产单元号", | ||
| 64 | width: 240, | ||
| 65 | }, | ||
| 66 | { | ||
| 67 | prop: "rectype", | ||
| 68 | label: "业务编码", | ||
| 69 | width: 80, | ||
| 70 | }, | ||
| 71 | { | ||
| 72 | prop: "rectypeName", | ||
| 73 | label: "业务名称", | ||
| 74 | render: (h, scope) => { | ||
| 75 | return ( | ||
| 76 | <div> | ||
| 77 | {scope.row.rectypeName} | ||
| 78 | </div> | ||
| 79 | ) | ||
| 80 | } | ||
| 81 | }, | ||
| 82 | { | ||
| 83 | prop: "receiveDate", | ||
| 84 | label: "接收时间", | ||
| 85 | width: 140 | ||
| 86 | } | ||
| 87 | ] | ||
| 88 | } | ||
| 89 | } | ||
| 90 | export default new data() |
-
Please register or sign in to post a comment