852ca83f by renchao@pashanhoo.com
2 parents 651c1d33 200b9bb8
......@@ -231,5 +231,23 @@ export function getZjgcdyList (data) {
})
}
// 数据上报推送查询
export function getSjsbPushList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysPushRecord/list',
method: 'post',
data
})
}
// 数据上报推送
export function pushSjsbRecord (data) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysPushRecord/push',
method: 'post',
data
})
}
......
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
label: '序号',
type: 'index',
width: '50',
render: (h, scope) => {
return (
<div>
{(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1}
</div>
)
}
},
{
prop: "ywh",
label: "业务号",
width: '110',
},
{
label: "权属状态",
width: '80',
render: (h, scope) => {
let obj = {
"0": {
text: '成功',
color: '#4BD863'
},
"1": {
text: '失败',
color: 'red'
}
}
let textName = obj[scope.row.status]?.text || ''
let colorName = obj[scope.row.status]?.color || ''
return (
<div>
<span style={`color:${colorName}`}>&nbsp;</span>
<span >{textName}</span>
</div>
)
}
},
{
prop: "createtime",
label: "创建时间",
width: '180',
},
{
prop: "json",
label: "json体",
},
{
label: '操作',
width: '130',
render: (h, scope) => {
return (
<div>
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.openDialog(scope.row) }}>推送</el-button>
</div>
)
}
}
]
}
}
let datas = new data()
export {
datas,
sendThis
}
<template>
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="70px">
<el-row>
<el-col :span="5">
<el-form-item label="业务号">
<el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content">
<lb-table :page-size="pageData.size" class="loadingtext" @sort-change="handleSort"
: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 { mapGetters } from "vuex";
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./djbcxdata";
import { getSjsbPushList, pushSjsbRecord } from "@/api/zhcx.js";
export default {
name: "djbcx",
mixins: [table],
mounted () {
sendThis(this);
this.queryClick()
},
data () {
return {
queryForm: {
qllx: "",
bdcdyh: "",
bdcqzh: "",
ywh: "",
},
pageData: {
current: 1,
size: 10,
total: 0,
},
tableData: {
columns: datas.columns(),
data: [],
},
qllxs: [],
isDialog: false,
djbxxData: {},
};
},
computed: {
...mapGetters(["dictData"]),
},
methods: {
// 初始化数据
queryClick () {
this.$startLoading()
getSjsbPushList({ ...this.queryForm, ...this.pageData }).then((res) => {
this.$endLoading()
if (res.code === 200) {
let { total, records } = res.result;
this.tableData.data = records;
this.tableData.total = total;
}
});
},
handleSort (name, sort) {
console.log(name, sort);
},
pushRecord (row, done) {
this.$startLoading()
pushSjsbRecord(row).then((res) => {
this.$endLoading()
if (res.code === 200) {
this.$message.success("推送成功");
this.queryClick();
done();
} else {
this.$message.warning(res.message);
}
});
},
// 高级查询
moreQueryClick () { },
openDialog (scroll) {
const h = this.$createElement;
this.$msgbox({
title: '推送',
message: h('p', null, [
h('span', null, '是否推送 '),
h('i', { style: 'color: teal' }, scroll.ywh),
h('span', null, ' 记录')
]),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
beforeClose: (action, instance, done) => {
if (action === 'confirm') {
this.pushRecord(scroll, done);
} else {
done();
}
}
}).then(action => {});
},
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
.icon-circle {
position: relative;
}
.icon-circle::before {
content: "";
width: 4px;
height: 4px;
border-radius: 50%;
background: #000;
top: 0px;
left: 0px;
}
</style>