5a54b6f5 by jiaozeping@pashanhoo.com
2 parents aed4c8fd d1ddb7ce
import request from '@/utils/request'
import SERVER from './config'
// 获取首页通知公告列表
export function getHomeNoticeList () {
return request({
url: SERVER.SERVERAPI + '/rest/workBench/getHomeNoticeList',
method: 'get'
})
}
// 获取首页待办事项
export function getHomeTodoList () {
return request({
url: SERVER.SERVERAPI + '/rest/workBench/getHomeTodoList',
method: 'get'
})
}
//获取首页已办事项
export function getHomeDoneList () {
return request({
url: SERVER.SERVERAPI + '/rest/workBench/getHomeDoneList',
method: 'get'
})
}
import request from '@/utils/request'
import SERVER from './config'
// 新增系统通知
export function addSysNotice (data) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/addSysNotice',
method: 'post',
data
})
}
// 获取通知列表
export function getSysNoticeList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysNoticeList',
method: 'post',
data
})
}
//获取法律法规列表
export function getSysPolicyList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysPolicyList',
method: 'post',
data
})
}
//删除系统通知
export function deleteSysNotice (params) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/deleteSysNotice',
method: 'get',
params: params
})
}
//发布通知
export function publishNotice (params) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/publishNotice',
method: 'get',
params: params
})
}
//取消发布通知
export function unPublishNotice (params) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/unPublishNotice',
method: 'get',
params: params
})
}
//设置已读状态
export function setReadStatus (params) {
return request({
url: SERVER.SERVERAPI + '/rest/system/sysNotice/setReadStatus',
method: 'get',
params: params
})
}
import request from '@/utils/request'
import SERVER from './config'
// 上传单个文件
export function upload (data) {
return request({
url: SERVER.SERVERAPI + '/rest/file/upload',
method: 'post',
data
})
}
/*
系统管理
申请业务规则API-根据条件进行列表查询
......
......@@ -9,7 +9,6 @@ export default {
Vue.component('lbTable', LbTable);
Vue.component('Theme', Theme);
Vue.prototype.$popup = Popup.install;
Vue.prototype.$popupClose = Popup.close;
Vue.prototype.$alertMes = MessageBox.alert;
}
}
\ No newline at end of file
......
......@@ -16,11 +16,5 @@ Popup.install = function (title, editItem, data, formData) {
instance.isShow = true
})
}
Popup.close = function () {
let instance = new PopupBox().$mount()
Vue.nextTick(() => {
instance.isShow = false
})
}
export default Popup
......
......@@ -58,13 +58,13 @@ export default {
setTimeout(() => {
if (this.btnShow) {
if (this.height == 'auto') {
this.contentHeight = (this.$refs.contentRef.offsetHeight + 20) + 'px'
this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px'
} else {
this.contentHeight = this.height
}
} else {
if (this.height == 'auto') {
this.contentHeight = (this.$refs.contentRef.offsetHeight + 20) + 'px'
this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px'
} else {
this.contentHeight = this.height
}
......
......@@ -261,6 +261,22 @@ export const asyncRoutes = [
name: 'dymbgl',
meta: { title: '打印模板管理' }
},
{
path: 'xttz',
id: '95',
parentId: '9',
component: () => import('@/views/system/xttz/xttz.vue'),
name: 'xttz',
meta: { title: '系统通知' }
},
{
path: 'flfg',
id: '96',
parentId: '9',
component: () => import('@/views/system/flfg/flfg.vue'),
name: 'flfg',
meta: { title: '法律法规' }
},
]
},
{
......
......@@ -18,7 +18,8 @@
display: flex;
font-size: 12px;
flex-wrap: wrap;
padding-top: 10px;
padding-top: 5px;
height: 30px;
span {
display: flex;
......
......@@ -20,21 +20,18 @@ export default {
handleSizeChange (val) {
this.pageData.currentPage = 1
this.pageData.pageSize = val
if (this.fetchData) {
this.fetchData()
}
if (this.queryClick) {
this.queryClick()
}
this.queryClick()
},
handleCurrentChange (val) {
this.pageData.currentPage = val
if (this.fetchData) {
this.fetchData()
}
console.log('this.queryClick,', this.queryClick, 'this.fetchData', this.fetchData);
if (this.queryClick) {
this.queryClick()
}
console.log(val, this.pageData.currentPage, 'this.pageDatathis.pageData');
},
handleDel () {
let deleteAfterPage = Math.ceil((this.tableData.total - 1) / this.pageData.pageSize)
......
......@@ -76,5 +76,21 @@
.home-right {
padding-left: 4px;
width: 30%;
.list-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
ul {
li {
line-height: 36px;
p {
white-space: nowrap;
}
}
}
}
}
\ No newline at end of file
......
......@@ -14,16 +14,17 @@
</el-card>
</el-col>
<el-col :span="12">
<el-card shadow="hover">
<el-card shadow="hover" style="height:245px">
<div slot="header" class="flexst">
<h5 class="title">通知公告</h5>
<h5 class="title">系统通知</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in notice" :key="index" @click="handleNotice" class="flexst pointer">
<p class="list-title">{{ item.title }}</p>
<p class="marginZL15">{{ item.date }}</p>
<p>{{ item.state }}</p>
<li v-for="(item, index) in noticeList" :key="index" @click="handleNotice" class="flexst pointer">
<p class="list-title">{{ item.noticeTitle }}</p>
<p class="marginZL15">{{ item.createtime }}</p>
<p v-if="item.userBrowse == '1'" style="color:red">未读</p>
<p v-else>已读</p>
</li>
</ul>
</el-card>
......@@ -31,29 +32,29 @@
</el-row>
<el-row :gutter="8" class="marginTop10">
<el-col :span="12">
<el-card shadow="hover">
<el-card shadow="hover" style="height:280px">
<div slot="header" class="flexst">
<h5 class="title">待办事项</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in toList" :key="index" class="flexst">
<p class="right15">{{ item.date }}</p>
<p class="list-title">{{ item.title }}</p>
<li v-for="(item, index) in todoList" :key="index" class="flexst">
<p class="right15">{{ item.dealTime }}</p>
<p class="list-title">{{ item.dealBusiness }} ({{item.dealStep+ '环节'}})</p>
</li>
</ul>
</el-card>
</el-col>
<el-col :span="12">
<el-card shadow="hover">
<el-card shadow="hover" style="height:280px">
<div slot="header" class="flexst">
<h5 class="title">法律法规</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in mailList" @click="handleView" :key="index" class="flexst pointer">
<p class="right15">{{ item.date }}</p>
<p class="list-title">{{ item.title }}</p>
<li v-for="(item, index) in policyList" @click="handleView(item.noticeFileUrl)" :key="index" class="flexst pointer">
<p class="right15">{{ item.noticeTitle }}</p>
<p class="list-title">{{ item.createtime }}</p>
</li>
</ul>
</el-card>
......@@ -67,7 +68,16 @@
<div class="home-right">
<calendar />
<el-card shadow="hover" class="marginTop10">
鼠标悬浮时显示
<div slot="header" class="flexst">
<h5 class="title">动态信息</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in doneList" :key="index" class="flexst">
<p class="right15">{{ item.dealTime }}</p>
<p class="list-title">{{ item.dealBusiness }} ({{item.dealStep+ '环节'}})</p>
</li>
</ul>
</el-card>
</div>
</div>
......@@ -75,6 +85,8 @@
<script>
import * as G2 from '@antv/g2'
import calendar from '@/components/Calendar/index'
import { getHomeNoticeList, getHomeTodoList, getHomeDoneList } from "@/api/home.js";
import { setReadStatus } from "@/api/notice.js";
export default {
name: 'home',
components: { calendar },
......@@ -137,77 +149,48 @@ export default {
year: '1996',
value: 31056
}],
notice: [
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
state: '未读'
},
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
state: '未读'
},
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
state: '未读'
},
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
state: '未读'
},
],
toList: [
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
},
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
}
,
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
}
,
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
}
],
mailList: [
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
},
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
},
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
}
,
{
title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗',
date: '2022-12',
}
]
noticeList: [],
todoList: [],
doneList: [],
policyList: []
}
},
mounted () {
this.buildChart();
this.queryTodoList();
this.queryDoneList();
this.queryNoticeList();
},
methods: {
handleView () {
const href = 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
handleView (pdfUrl) {
const href = pdfUrl
window.open(href, '_blank');
},
//获取待办事项列表
queryTodoList(){
getHomeTodoList().then(res => {
if(res.result){
this.todoList = res.result
}
})
},
//获取已办事项列表
queryDoneList(){
getHomeDoneList().then(res => {
if(res.result){
this.doneList = res.result
}
})
},
//获取通知列表
queryNoticeList(){
getHomeNoticeList().then(res => {
if(res.result){
this.noticeList = res.result.noticeList
this.policyList = res.result.policyList
}
})
},
buildChart () {
let height = document.getElementById("mountNodeCon").offsetHeight - 20
var chart = new G2.Chart({
......@@ -240,6 +223,7 @@ export default {
},
handleNotice () {
this.$alertMes('9999999999')
//setReadStatus({'bsmNotice':bsmNotice})
}
}
}
......
<template>
<dialogBox title="新增法律法规" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%"
@closeDialog="closeDialog" v-model="value">
<el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules">
<el-row>
<el-col :span="12">
<el-form-item label="标题:" prop="noticeTitle">
<el-input v-model="ruleForm.noticeTitle"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="附件:" prop="noticeFileUrl">
<el-upload action="" :file-list="fileList" multiple :auto-upload="false" :limit="1"
:on-change="handleChange" :before-upload="beforeUpload">
<el-button icon="el-icon-upload" type="primary">上传</el-button>
<div slot="tip" class="el-upload__tip">支持上传doc、docx、xls、xlsx、pdf文件,大小不超过20MB</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
import '@/styles/package/theme/index.scss'
import { addSysNotice} from "@/api/notice.js"
import { upload} from "@/api/system.js"
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
ruleForm: {
noticeTitle: '',
noticeContent: '',
noticeFileUrl: '',
noticeType: '2'
},
rules: {
noticeTitle: [
{ required: true, message: '请输入法律法规标题', trigger: 'blur' }
]
},
}
},
methods: {
submitForm () {
let that = this;
that.$refs.ruleForm.validate(valid => {
if (valid) {
addSysNotice(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message.success('保存成功')
this.$emit("input", false);
this.$parent.queryClick();
} else {
this.$message.error(res.message)
}})
} else {
// console.log('error submit!!');
return false;
}
});
},
//关闭窗口
closeDialog () {
this.$emit("input", false);
this.resetRuleForm();
},
//
resetRuleForm(){
this.$refs['ruleForm'].resetFields();
this.ruleForm.noticeType = '2'
},
beforeUpload (file) {
return true;
},
async handleChange (file) {
var formdata = new FormData();
formdata.append("file", file.raw);
upload(formdata).then(res => {
this.ruleForm.noticeFileUrl = res.message
})
},
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
\ No newline at end of file
<template>
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form :model="ruleForm" @submit.native.prevent label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="标题">
<el-input v-model="ruleForm.noticeTitle" @clear="queryClick()" clearable placeholder="法律法规"></el-input>
</el-form-item>
</el-col>
<el-col :span="19" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button>
<el-button type="primary" @click="openDialog()">新增</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content">
<lb-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>
<addDialog ref="addDialog" v-model="isDialog" />
</div>
</template>
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./flfgdata";
import { getSysPolicyList,deleteSysNotice } from "@/api/notice.js"
import addDialog from "./components/addDialog.vue";
export default {
name: "xttz",
components: { addDialog},
mixins: [table],
mounted () {
sendThis(this);
this.queryClick()
},
data () {
return {
isDialog: false,
viewDialog: false,
ruleForm: {
noticeTitle: ''
},
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
isDiglog: false
}
},
methods: {
// 列表渲染接口
queryClick () {
this.$startLoading()
getSysPolicyList({ ...this.ruleForm, ...this.pageData }, { 'target': '#flfgLoading' }).then(res => {
if (res.code === 200) {
this.$endLoading()
let { total, records } = res.result
this.tableData.total = total;
this.tableData.data = records
}
})
},
//打开新增弹窗
openDialog() {
this.isDialog = true;
},
downloadFile(item){
const href = item.noticeFileUrl
window.open(href, '_blank');
},
//删除
delNotice(item){
this.$confirm('是否确定删除', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSysNotice({ "bsmNotice": item.bsmNotice }).then(res => {
if (res.code == 200) {
this.$message.success('删除成功')
this.queryClick();
} else {
this.$message.error(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
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: "noticeTitle",
label: "法律法规标题",
},
{
prop: "noticeFileName",
label: "附件",
render: (h, scope) => {
return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div>
}
},
{
prop: "creater",
width: '120',
label: "创建人",
},
{
prop: "createtime",
label: "创建时间",
},
{
label: '操作',
align: 'center',
fixed: 'right',
render: (h, scope) => {
return <div>
<el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button>
</div>
}
}
]
}
ywlys () {
return [
{ value: 1, label: "办事大厅" },
{ value: 2, label: "微信小程序" },
{ value: 3, label: "法院端" },
{ value: 4, label: "银行端" },
]
}
}
let datas = new data()
export {
datas,
sendThis
}
<template>
<dialogBox title="新增系统通知" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%"
@closeDialog="closeDialog" v-model="value">
<el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules">
<el-row>
<el-col :span="12">
<el-form-item label="通知标题:" prop="noticeTitle">
<el-input v-model="ruleForm.noticeTitle"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="通知内容:" prop="noticeContent">
<el-input v-model="ruleForm.noticeContent" type="textarea" :rows="16"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="附件:" prop="noticeFileUrl">
<el-upload action="" :file-list="fileList" multiple :auto-upload="false" :limit="1"
:on-change="handleChange" :before-upload="beforeUpload">
<el-button icon="el-icon-upload" type="primary">上传</el-button>
<div slot="tip" class="el-upload__tip">文件大小不超过20MB</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
import '@/styles/package/theme/index.scss'
import { addSysNotice} from "@/api/notice.js"
import { upload} from "@/api/system.js"
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
ruleForm: {
noticeTitle: '',
noticeContent: '',
noticeFileUrl: '',
noticeType: '1'
},
rules: {
noticeTitle: [
{ required: true, message: '请输入通知标题', trigger: 'blur' }
],
noticeContent: [
{ required: true, message: '请输入通知内容', trigger: 'blur' }
]
},
}
},
methods: {
submitForm () {
let that = this;
that.$refs.ruleForm.validate(valid => {
if (valid) {
addSysNotice(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message.success('保存成功')
this.$emit("input", false);
this.$parent.queryClick();
} else {
this.$message.error(res.message)
}})
} else {
// console.log('error submit!!');
return false;
}
});
},
//关闭窗口
closeDialog () {
this.$emit("input", false);
this.resetRuleForm();
},
//
resetRuleForm(){
this.$refs['ruleForm'].resetFields();
this.ruleForm.noticeType = '1'
},
beforeUpload (file) {
return true
},
async handleChange (file) {
var formdata = new FormData();
formdata.append("file", file.raw);
upload(formdata).then(res => {
this.ruleForm.noticeFileUrl = res.message
})
},
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
\ No newline at end of file
<template>
<div>
<el-row :gutter="8">
<el-col :span="16">
通知标题:
<el-input v-model="formData.item.noticeTitle"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
通知内容:
<el-input type="textarea" :rows="20" v-model="formData.item.noticeContent"></el-input>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
附件:
<div @click="handleView(formData.item.noticeFileUrl)" class="pointer">{{formData.item.noticeFileName}}</div>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data () {
return {
};
},
components: { },
props: {
formData: {
type: Object,
default: () => {}
},
},
created(){
console.log(this.formData);
},
computed: {
},
methods: {
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
.margin-top-middle {
margin-top:10px
}
</style>
\ No newline at end of file
<template>
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form :model="ruleForm" @submit.native.prevent label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="通知标题">
<el-input v-model="ruleForm.noticeTitle" @clear="queryClick()" clearable placeholder="通知标题"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="通知状态">
<el-select v-model="ruleForm.noticeStatus" class="width100" filterable clearable placeholder="请选择通知状态">
<el-option v-for="item in noticeStatusList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="14" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button>
<el-button type="primary" @click="openDialog()">新增</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content">
<lb-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>
<addDialog ref="addDialog" v-model="isDialog" />
</div>
</template>
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./xttzdata";
import { getSysNoticeList,deleteSysNotice,publishNotice,unPublishNotice } from "@/api/notice.js"
import addDialog from "./components/addDialog.vue";
export default {
name: "xttz",
components: { addDialog},
mixins: [table],
mounted () {
sendThis(this);
this.queryClick()
},
data () {
return {
isDialog: false,
viewDialog: false,
ruleForm: {
noticeTitle: '',
noticeStatus: ''
},
noticeStatusList: [
{"label": '未发布','value':'1'},
{'label': '已发布','value':'2'}
],
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
isDiglog: false
}
},
methods: {
// 列表渲染接口
queryClick () {
this.$startLoading()
getSysNoticeList({ ...this.ruleForm, ...this.pageData }, { 'target': '#xttzLoading' }).then(res => {
if (res.code === 200) {
this.$endLoading()
let { total, records } = res.result
this.tableData.total = total;
this.tableData.data = records
}
})
},
//打开新增弹窗
openDialog() {
this.isDialog = true;
},
//删除
delNotice(item){
this.$confirm('是否确定删除', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSysNotice({ "bsmNotice": item.bsmNotice }).then(res => {
if (res.code == 200) {
this.$message.success('删除成功')
this.queryClick();
} else {
this.$message.error(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//发布
toPublish(item){
this.$confirm('是否确定发布', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
publishNotice({ "bsmNotice": item.bsmNotice }).then(res => {
if (res.code == 200) {
this.$message.success('发布成功')
this.queryClick();
} else {
this.$message.error(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '操作取消'
});
});
},
//取消发布
toUnPublish(item){
this.$confirm('是否确定取消发布', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
unPublishNotice({ "bsmNotice": item.bsmNotice }).then(res => {
if (res.code == 200) {
this.$message.success('删除成功')
this.queryClick();
} else {
this.$message.error(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '操作取消'
});
});
},
downloadFile(item){
const href = item.noticeFileUrl
window.open(href, '_blank');
},
viewDetail(e){
this.$popup("错误日志", "system/xttz/components/viewDialog", {
formData: {
item: e
}
})
}
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
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: "noticeTitle",
label: "通知标题",
},
{
label: "通知内容",
render: (h, scope) => {
return <div class="item-cwnr">{scope.row.noticeContent}</div>
}
},
{
prop: "noticeFileName",
label: "通知附件",
render: (h, scope) => {
return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div>
}
},
{
label: "发布状态",
width: '80',
render: (h, scope) => {
switch (scope.row.noticeStatus) {
case '1':
return <div class='prohibit'>未发布</div>
case '2':
return <div class='allow'>已发布</div>
}
}
},
{
prop: "creater",
width: '120',
label: "创建人",
},
{
prop: "createtime",
label: "创建时间",
},
{
label: '操作',
align: 'center',
fixed: 'right',
render: (h, scope) => {
switch (scope.row.noticeStatus) {
case '1':
return <div>
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toPublish(scope.row) }}>发布</el-button>
<el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button>
<el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button>
</div>
case '2':
return <div>
<el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button>
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toUnPublish(scope.row) }}>取消发布</el-button>
</div>
}
}
}
]
}
ywlys () {
return [
{ value: 1, label: "办事大厅" },
{ value: 2, label: "微信小程序" },
{ value: 3, label: "法院端" },
{ value: 4, label: "银行端" },
]
}
}
let datas = new data()
export {
datas,
sendThis
}
......@@ -138,7 +138,8 @@ export default {
},
methods: {
updateDetail (value) {
this.tableDataList[this.dataIndex] = value
this.tableDataList[this.dataIndex] = value;
console.log(this.tableDataList);
this.key++
this.$emit('upDateQlrxxList', this.tableDataList)
},
......
......@@ -4,7 +4,7 @@
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="权利人类型" prop="qlrlx">
<el-form-item label="权利人类型" prop="sqrlx">
<el-select clearable v-model="ruleForm.sqrlx" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A36']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
......@@ -151,7 +151,7 @@ export default {
return {
myValue: this.value,
ruleForm: {
qlrlx: '',
sqrlx: '',
sqrmc: '',
zjzl: '',
zjh: '',
......@@ -172,7 +172,7 @@ export default {
dlrzjh: ''
},
rules: {
qlrlx: [
sqrlx: [
{ required: true, message: '权利人类型', trigger: 'change' }
],
sqrmc: [
......
......@@ -46,6 +46,10 @@
</el-form-item>
</el-col>
</el-row>
<el-row style="text-align:center">
<el-button type="primary" @click="onSubmit">确定</el-button>
<el-button>取消</el-button>
</el-row>
</el-form>
</div>
</template>
......@@ -97,12 +101,15 @@ export default {
this.loadGrid();
},
methods: {
onSubmit () {
},
fetchData () { },
//列表初始化
loadGrid () {
getUnclaimedBdcqz({bsmSlsq:this.formData.bsmSlsq}).then(res => {
getUnclaimedBdcqz({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
if (res.code === 200) {
this.tableData.data = res.result;
this.tableData.data = res.result;
}
})
},
......
......@@ -2,7 +2,8 @@ export default {
data () {
return {
isSearch: false,
searchList: []
searchList: [],
otherForm: {}
}
},
methods: {
......@@ -10,14 +11,24 @@ export default {
this.isSearch = true
},
getSearch (val) {
console.log(val, 222222222222);
this.otherForm = val
let obj = { ywlymc: '业务来源', qllxmc: '权利类型', djlxmc: '登记类型', ywh: '业务号', sqywmc: '申请业务名称', qlrmc: '权利人', ywrmc: '义务人', slsj: '受理时间' }
this.searchList = Object.entries(val).map((item) => {
this.searchList = Object.entries({ ...this.searchForm, ...val }).map((item) => {
const [name, value] = item
if (value) return { name: obj[name], value }
}).filter(Boolean)
},
hanldeCleanAll () {
this.searchForm = {}
this.queryForm = {
ywly: "",
qllx: "",
djlx: "",
ywh: ""
}
this.searchList = []
this.queryClick()
}
}
}
......
......@@ -71,8 +71,9 @@ export default {
},
submitForm () {
this.$emit('getSearch', this.ruleForm)
this.$refs['ruleForm'].resetFields()
console.log(this.ruleForm);
this.$emit('input', false)
this.$refs['ruleForm'].resetFields()
}
}
}
......
......@@ -5,7 +5,8 @@
<el-row>
<el-col :span="5">
<el-form-item label="业务来源">
<el-select v-model="queryForm.ywly" class="width100" filterable clearable placeholder="请选择业务来源">
<el-select v-model="queryForm.ywly" class="width100" filterable
@change="handleSelect('ywly', 'ywlymc', 'ywly')" clearable placeholder="请选择业务来源">
<el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
......@@ -13,7 +14,8 @@
</el-col>
<el-col :span="5">
<el-form-item label="权利类型">
<el-select v-model="queryForm.qllx" class="width100" filterable clearable placeholder="请选择权利类型">
<el-select v-model="queryForm.qllx" class="width100" @change="handleSelect('A8', 'qllxmc', 'qllx')"
filterable clearable placeholder="请选择权利类型">
<el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
......@@ -21,7 +23,8 @@
</el-col>
<el-col :span="5">
<el-form-item label="登记类型">
<el-select v-model="queryForm.djlx" class="width100" filterable clearable placeholder="请选择登记类型">
<el-select v-model="queryForm.djlx" class="width100" @change="handleSelect('A21', 'djlxmc', 'djlx')"
filterable clearable placeholder="请选择登记类型">
<el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
......@@ -86,6 +89,12 @@ export default {
djlx: "",
ywh: "",
},
searchForm: {
ywlymc: '',
qllxmc: '',
djlxmc: '',
ywh: ''
},
tableData: {
total: 0,
columns: datas.columns(),
......@@ -105,9 +114,19 @@ export default {
}
},
methods: {
handleSelect (bs, mc, code) {
let that = this
this.dictData[bs].forEach(item => {
if (item.dcode == this.queryForm[code]) {
this.searchForm[mc] = item.dname
}
})
},
// 列表渲染接口
queryClick () {
this.$startLoading()
this.searchForm.ywh = this.queryForm.ywh
this.getSearch()
searchTaskToDo({ ...this.queryForm, ...this.pageData }).then(res => {
this.$endLoading()
if (res.code === 200) {
......@@ -125,8 +144,8 @@ export default {
}
})
},
handelItem (index) {
console.log(index);
this.searchList.splice(index, 1)
},
handleSort (val) {
......
......@@ -145,7 +145,7 @@
</el-form-item>
</el-col>
</el-row>
<InformationTable :tableData="ruleForm.qlrList" :viewtype="$route.query.viewtype" :gyfs="ruleForm.slywxx.gyfs" />
<InformationTable :tableData="ruleForm.qlrList" @upDateQlrxxList='upDateQlrxxList' :viewtype="$route.query.viewtype" :gyfs="ruleForm.slywxx.gyfs" />
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
......@@ -200,7 +200,7 @@ export default {
methods: {
// 更新权利人信息
upDateQlrxxList (val) {
this.ruleForm.qlrList = _.cloneDeep(val);
this.ruleForm.qlrList = _.cloneDeep(val);
},
onSubmit () {
saveData(this.ruleForm).then((res) => {
......
......@@ -82,6 +82,9 @@ export default {
closeDialog () {
this.$emit("closeDialog");
},
queryClick () {
this.fetchData()
},
fetchData () {
this.queryForm.sqywbm = this.djywbm;
selectZdjbxx({ ...this.queryForm, ...this.pageData }).then((res) => {
......