Compare commits
2 Commits
368898f334
...
d5e6c74939
Author | SHA1 | Date |
---|---|---|
|
d5e6c74939 | 10 months ago |
|
a7c0b3720b | 10 months ago |
10 changed files with 1359 additions and 1471 deletions
@ -1,293 +1,248 @@ |
|||||
<template> |
<template> |
||||
<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]"> |
<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]"> |
||||
<!-- tab展示内容 --> |
<!-- tab展示内容 --> |
||||
<template v-if="$route.meta.isTab && !$store.state.inIframe"> |
<template v-if="$route.meta.isTab && !$store.state.inIframe"> |
||||
<el-dropdown class="aui-content--tabs-tools"> |
<el-dropdown class="aui-content--tabs-tools"> |
||||
<i class="el-icon-arrow-down"></i> |
<i class="el-icon-arrow-down"></i> |
||||
<el-dropdown-menu slot="dropdown" :show-timeout="0"> |
<el-dropdown-menu slot="dropdown" :show-timeout="0"> |
||||
<el-dropdown-item |
<el-dropdown-item @click.native="tabRemoveHandle($store.state.contentTabsActiveName)">{{ |
||||
@click.native="tabRemoveHandle($store.state.contentTabsActiveName)" |
$t("contentTabs.closeCurrent") }}</el-dropdown-item> |
||||
>{{ $t("contentTabs.closeCurrent") }}</el-dropdown-item |
<el-dropdown-item @click.native="tabsCloseOtherHandle()">{{ |
||||
> |
$t("contentTabs.closeOther") |
||||
<el-dropdown-item @click.native="tabsCloseOtherHandle()">{{ |
}}</el-dropdown-item> |
||||
$t("contentTabs.closeOther") |
<el-dropdown-item @click.native="tabsCloseAllHandle()">{{ |
||||
}}</el-dropdown-item> |
$t("contentTabs.closeAll") |
||||
<el-dropdown-item @click.native="tabsCloseAllHandle()">{{ |
}}</el-dropdown-item> |
||||
$t("contentTabs.closeAll") |
</el-dropdown-menu> |
||||
}}</el-dropdown-item> |
</el-dropdown> |
||||
</el-dropdown-menu> |
<el-tabs v-model.trim="$store.state.contentTabsActiveName" @tab-click="tabSelectedHandle" |
||||
</el-dropdown> |
@tab-remove="tabRemoveHandle"> |
||||
<el-tabs |
<!-- item.name !== 'indexWork', --> |
||||
v-model.trim="$store.state.contentTabsActiveName" |
<el-tab-pane v-for="item in $store.state.contentTabs" :key="item.name" :name="item.name" |
||||
@tab-click="tabSelectedHandle" |
:label="item.title" :closable="item.name !== 'home'" |
||||
@tab-remove="tabRemoveHandle" |
:class="{ 'is-iframe': tabIsIframe(item.iframeURL) }"> |
||||
> |
<template v-if="tabIsIframe(item.iframeURL)"> |
||||
<!-- item.name !== 'indexWork', --> |
<iframe :src="item.iframeURL + '?token=' + token + '&customerId=' + customerId |
||||
<el-tab-pane |
" ref="iframes" class="iframes" id="iframes" width="100%" height="100%" frameborder="0" |
||||
v-for="item in $store.state.contentTabs" |
scrolling="yes"></iframe> |
||||
:key="item.name" |
<!-- <div v-if="tabIsIframe(item.iframeURL)" id="addend-iframe" style="height: 100%;"> </div> --> |
||||
:name="item.name" |
</template> |
||||
:label="item.title" |
<keep-alive v-else> |
||||
:closable="item.name !== 'home'" |
<router-view v-if="item.name === $store.state.contentTabsActiveName" |
||||
:class="{ 'is-iframe': tabIsIframe(item.iframeURL) }" |
@changeCustomerName="changeCustomerName" /> |
||||
> |
</keep-alive> |
||||
<template v-if="tabIsIframe(item.iframeURL)"> |
</el-tab-pane> |
||||
<iframe |
</el-tabs> |
||||
:src=" |
</template> |
||||
item.iframeURL + '?token=' + token + '&customerId=' + customerId |
<!-- 其他方式, 展示内容 --> |
||||
" |
<template v-else> |
||||
ref="iframes" |
<keep-alive> |
||||
class="iframes" |
<router-view /> |
||||
id="iframes" |
</keep-alive> |
||||
width="100%" |
</template> |
||||
height="100%" |
<template v-for="(item, index) in msgList"> |
||||
frameborder="0" |
<Tips :key="item.memoId" :info="item" :show="msgList.length > 0 ? true : false" |
||||
scrolling="yes" |
@look="handleLook(item, index)" @close="handleClose(item, index)" /> |
||||
></iframe> |
</template> |
||||
<!-- <div v-if="tabIsIframe(item.iframeURL)" id="addend-iframe" style="height: 100%;"> </div> --> |
<el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible" :close-on-click-modal="false" top="5vh" |
||||
</template> |
width="950px" class="dialog-h" append-to-body> |
||||
<keep-alive v-else> |
<work-form v-if="formType == 'work_diary'" ref="ref_form" @dialogCancle=" |
||||
<router-view |
dialogFormVisible = false; |
||||
v-if="item.name === $store.state.contentTabsActiveName" |
formType = ''; |
||||
@changeCustomerName="changeCustomerName" |
" /> |
||||
/> |
<h-form v-if="formType == 'concern'" ref="concern_form" @dialogCancle=" |
||||
</keep-alive> |
dialogFormVisible = false; |
||||
</el-tab-pane> |
formType = ''; |
||||
</el-tabs> |
" /> |
||||
</template> |
<d-form v-if="formType == 'difficulty'" ref="difficulty_form" @dialogCancle=" |
||||
<!-- 其他方式, 展示内容 --> |
dialogFormVisible = false; |
||||
<template v-else> |
formType = ''; |
||||
<keep-alive> |
" /> |
||||
<router-view /> |
</el-dialog> |
||||
</keep-alive> |
</main> |
||||
</template> |
|
||||
<template v-for="(item, index) in msgList"> |
|
||||
<Tips |
|
||||
:key="item.memoId" |
|
||||
:info="item" |
|
||||
:show="msgList.length > 0 ? true : false" |
|
||||
@look="handleLook(item, index)" |
|
||||
@close="handleClose(item, index)" |
|
||||
/> |
|
||||
</template> |
|
||||
<el-dialog |
|
||||
:title="dialogTitle" |
|
||||
:visible.sync="dialogFormVisible" |
|
||||
:close-on-click-modal="false" |
|
||||
top="5vh" |
|
||||
width="950px" |
|
||||
class="dialog-h" |
|
||||
append-to-body |
|
||||
> |
|
||||
<work-form |
|
||||
v-if="formType == 'work_diary'" |
|
||||
ref="ref_form" |
|
||||
@dialogCancle=" |
|
||||
dialogFormVisible = false; |
|
||||
formType = ''; |
|
||||
" |
|
||||
/> |
|
||||
<h-form |
|
||||
v-if="formType == 'concern'" |
|
||||
ref="concern_form" |
|
||||
@dialogCancle=" |
|
||||
dialogFormVisible = false; |
|
||||
formType = ''; |
|
||||
" |
|
||||
/> |
|
||||
<d-form |
|
||||
v-if="formType == 'difficulty'" |
|
||||
ref="difficulty_form" |
|
||||
@dialogCancle=" |
|
||||
dialogFormVisible = false; |
|
||||
formType = ''; |
|
||||
" |
|
||||
/> |
|
||||
</el-dialog> |
|
||||
</main> |
|
||||
</template> |
</template> |
||||
<script> |
<script> |
||||
import { isURL } from "@/utils/validate"; |
import { isURL } from "@/utils/validate"; |
||||
import Cookie from "js-cookie"; |
|
||||
import Tips from "./tips.vue"; |
import Tips from "./tips.vue"; |
||||
import { requestPost } from "@/js/dai/request"; |
import { requestPost } from "@/js/dai/request"; |
||||
import workForm from "./modules/secretaryLog/workLog/form.vue"; |
import workForm from "./modules/secretaryLog/workLog/form.vue"; |
||||
import dForm from "./modules/secretaryLog/difficulty/difficultyForm.vue"; |
import dForm from "./modules/secretaryLog/difficulty/difficultyForm.vue"; |
||||
import hForm from "./modules/secretaryLog/humanisticCare/careForm.vue"; |
import hForm from "./modules/secretaryLog/humanisticCare/careForm.vue"; |
||||
export default { |
export default { |
||||
components: { |
components: { |
||||
Tips, |
Tips, |
||||
workForm, |
workForm, |
||||
dForm, |
dForm, |
||||
hForm, |
hForm, |
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
dialogTitle: "", |
|
||||
dialogFormVisible: false, |
|
||||
iframeUrl: "", |
|
||||
token: "", |
|
||||
customerId: "", |
|
||||
form: {}, |
|
||||
formType: "", |
|
||||
formLabelWidth: "120px", |
|
||||
tipsList: [], |
|
||||
}; |
|
||||
}, |
|
||||
created() { |
|
||||
// this.$nextTick(() => { |
|
||||
// this.sendMessage() |
|
||||
// }) |
|
||||
this.token = localStorage.getItem("token"); |
|
||||
this.customerId = localStorage.getItem("customerId"); |
|
||||
this.loopTips(); |
|
||||
}, |
|
||||
destroyed() { |
|
||||
this.$store.dispatch("clearInter"); |
|
||||
}, |
|
||||
computed: { |
|
||||
msgList() { |
|
||||
return this.$store.state.tipsList; |
|
||||
}, |
}, |
||||
}, |
data() { |
||||
methods: { |
return { |
||||
toPage(path) { |
dialogTitle: "", |
||||
if (path) { |
dialogFormVisible: false, |
||||
this.$router.push({ |
iframeUrl: "", |
||||
path, |
token: "", |
||||
}); |
customerId: "", |
||||
} |
form: {}, |
||||
|
formType: "", |
||||
|
formLabelWidth: "120px", |
||||
|
tipsList: [], |
||||
|
}; |
||||
}, |
}, |
||||
changeCustomerName(customerName) { |
created() { |
||||
this.$emit("changeCustomerName", customerName); |
// this.$nextTick(() => { |
||||
|
// this.sendMessage() |
||||
|
// }) |
||||
|
this.token = localStorage.getItem("token"); |
||||
|
this.customerId = localStorage.getItem("customerId"); |
||||
|
this.loopTips(); |
||||
}, |
}, |
||||
// tabs, 是否通过iframe展示 |
destroyed() { |
||||
tabIsIframe(url) { |
this.$store.dispatch("clearInter"); |
||||
// this.appendIframe(url) |
|
||||
this.iframeUrl = |
|
||||
url + |
|
||||
"?token=" + |
|
||||
localStorage.getItem("token") + |
|
||||
"&customerId=" + |
|
||||
localStorage.getItem("customerId"); |
|
||||
return isURL(url); |
|
||||
}, |
}, |
||||
// tabs, 选中tab |
computed: { |
||||
tabSelectedHandle(tab) { |
msgList() { |
||||
tab = this.$store.state.contentTabs.filter( |
return this.$store.state.tipsList; |
||||
(item) => item.name === tab.name |
}, |
||||
)[0]; |
|
||||
this.$store.state.LevelTowMenuActiveName = tab.menuId || ""; |
|
||||
if (tab) { |
|
||||
this.$router.push({ |
|
||||
name: tab.name, |
|
||||
params: { ...tab.params }, |
|
||||
query: { ...tab.query }, |
|
||||
}); |
|
||||
} |
|
||||
}, |
}, |
||||
// tabs, 删除tab |
methods: { |
||||
tabRemoveHandle(tabName) { |
toPage(path) { |
||||
if (tabName === "home") { |
if (path) { |
||||
return false; |
this.$router.push({ |
||||
} |
path, |
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.filter( |
}); |
||||
(item) => item.name !== tabName |
} |
||||
); |
}, |
||||
if (this.$store.state.contentTabs.length <= 0) { |
changeCustomerName(customerName) { |
||||
this.$store.state.sidebarMenuActiveName = |
this.$emit("changeCustomerName", customerName); |
||||
this.$store.state.contentTabsActiveName = "home"; |
}, |
||||
return false; |
// tabs, 是否通过iframe展示 |
||||
} |
tabIsIframe(url) { |
||||
// 当前选中tab被删除 |
// this.appendIframe(url) |
||||
if (tabName === this.$store.state.contentTabsActiveName) { |
this.iframeUrl = |
||||
let tab = |
url + |
||||
this.$store.state.contentTabs[ |
"?token=" + |
||||
this.$store.state.contentTabs.length - 1 |
localStorage.getItem("token") + |
||||
]; |
"&customerId=" + |
||||
this.$router.push({ |
localStorage.getItem("customerId"); |
||||
name: tab.name, |
return isURL(url); |
||||
params: { ...tab.params }, |
}, |
||||
query: { ...tab.query }, |
// tabs, 选中tab |
||||
}); |
tabSelectedHandle(tab) { |
||||
} |
tab = this.$store.state.contentTabs.filter( |
||||
|
(item) => item.name === tab.name |
||||
|
)[0]; |
||||
|
this.$store.state.LevelTowMenuActiveName = tab.menuId || ""; |
||||
|
if (tab) { |
||||
|
this.$router.push({ |
||||
|
name: tab.name, |
||||
|
params: { ...tab.params }, |
||||
|
query: { ...tab.query }, |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
// tabs, 删除tab |
||||
|
tabRemoveHandle(tabName) { |
||||
|
if (tabName === "home") { |
||||
|
return false; |
||||
|
} |
||||
|
this.$store.state.contentTabs = this.$store.state.contentTabs.filter( |
||||
|
(item) => item.name !== tabName |
||||
|
); |
||||
|
if (this.$store.state.contentTabs.length <= 0) { |
||||
|
this.$store.state.sidebarMenuActiveName = |
||||
|
this.$store.state.contentTabsActiveName = "home"; |
||||
|
return false; |
||||
|
} |
||||
|
// 当前选中tab被删除 |
||||
|
if (tabName === this.$store.state.contentTabsActiveName) { |
||||
|
let tab = |
||||
|
this.$store.state.contentTabs[ |
||||
|
this.$store.state.contentTabs.length - 1 |
||||
|
]; |
||||
|
this.$router.push({ |
||||
|
name: tab.name, |
||||
|
params: { ...tab.params }, |
||||
|
query: { ...tab.query }, |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
// tabs, 关闭其它 |
||||
|
tabsCloseOtherHandle() { |
||||
|
this.$store.state.contentTabs = this.$store.state.contentTabs.filter( |
||||
|
(item) => { |
||||
|
return ( |
||||
|
item.name === "home" || |
||||
|
item.name === this.$store.state.contentTabsActiveName |
||||
|
); |
||||
|
} |
||||
|
); |
||||
|
}, |
||||
|
// tabs, 关闭全部 |
||||
|
tabsCloseAllHandle() { |
||||
|
this.$store.state.contentTabs = this.$store.state.contentTabs.filter( |
||||
|
(item) => item.name === "home" |
||||
|
); |
||||
|
this.$router.push({ name: "home" }); |
||||
|
}, |
||||
|
sendMessage() { |
||||
|
const iframe = |
||||
|
document.getElementsByClassName("iframes")[0].contentWindow; |
||||
|
iframe.postMessage({ name: "lalalal" }, "*"); |
||||
|
}, |
||||
|
loopTips() { |
||||
|
}, |
||||
|
async closeTips(memoId) { |
||||
|
const url = "/governance/memoAttr/setReaded"; |
||||
|
const params = { |
||||
|
memoId, |
||||
|
}; |
||||
|
const { data, code, msg } = await requestPost(url, params); |
||||
|
if (code != 0) this.$message.error(msg); |
||||
|
}, |
||||
|
async getInfo(item) { |
||||
|
const urls = { |
||||
|
work_diary: "/governance/memoWorkDiary", |
||||
|
concern: "/governance/memoConcern", |
||||
|
difficulty: "/governance/memoDifficulty/detail", |
||||
|
}; |
||||
|
const params = { |
||||
|
id: item.memoId, |
||||
|
readFlag: 0, |
||||
|
}; |
||||
|
const { data, code, msg } = await requestPost(urls[item.type], params); |
||||
|
if (code == 0) { |
||||
|
this.form = { ...data }; |
||||
|
} else this.$message.error(msg); |
||||
|
}, |
||||
|
handleClose(item, index) { |
||||
|
this.$store.state.tipsList.splice(index, 1); |
||||
|
this.closeTips(item.memoId); |
||||
|
}, |
||||
|
async handleLook(item, index) { |
||||
|
const formType = { |
||||
|
work_diary: "ref_form", |
||||
|
concern: "concern_form", |
||||
|
difficulty: "difficulty_form", |
||||
|
}; |
||||
|
this.dialogTitle = item.typeName; |
||||
|
// await this.getInfo(item) |
||||
|
this.formType = item.type; |
||||
|
this.dialogFormVisible = true; |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs[formType[item.type]].initForm("look", item.memoId); |
||||
|
this.$store.state.tipsList.splice(index, 1); |
||||
|
this.closeTips(item.memoId); |
||||
|
}); |
||||
|
}, |
||||
}, |
}, |
||||
// tabs, 关闭其它 |
|
||||
tabsCloseOtherHandle() { |
|
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.filter( |
|
||||
(item) => { |
|
||||
return ( |
|
||||
item.name === "home" || |
|
||||
item.name === this.$store.state.contentTabsActiveName |
|
||||
); |
|
||||
} |
|
||||
); |
|
||||
}, |
|
||||
// tabs, 关闭全部 |
|
||||
tabsCloseAllHandle() { |
|
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.filter( |
|
||||
(item) => item.name === "home" |
|
||||
); |
|
||||
this.$router.push({ name: "home" }); |
|
||||
}, |
|
||||
sendMessage() { |
|
||||
const iframe = |
|
||||
document.getElementsByClassName("iframes")[0].contentWindow; |
|
||||
iframe.postMessage({ name: "lalalal" }, "*"); |
|
||||
}, |
|
||||
loopTips() { |
|
||||
}, |
|
||||
async closeTips(memoId) { |
|
||||
const url = "/governance/memoAttr/setReaded"; |
|
||||
const params = { |
|
||||
memoId, |
|
||||
}; |
|
||||
const { data, code, msg } = await requestPost(url, params); |
|
||||
if (code != 0) this.$message.error(msg); |
|
||||
}, |
|
||||
async getInfo(item) { |
|
||||
const urls = { |
|
||||
work_diary: "/governance/memoWorkDiary", |
|
||||
concern: "/governance/memoConcern", |
|
||||
difficulty: "/governance/memoDifficulty/detail", |
|
||||
}; |
|
||||
const params = { |
|
||||
id: item.memoId, |
|
||||
readFlag: 0, |
|
||||
}; |
|
||||
const { data, code, msg } = await requestPost(urls[item.type], params); |
|
||||
if (code == 0) { |
|
||||
this.form = { ...data }; |
|
||||
} else this.$message.error(msg); |
|
||||
}, |
|
||||
handleClose(item, index) { |
|
||||
this.$store.state.tipsList.splice(index, 1); |
|
||||
this.closeTips(item.memoId); |
|
||||
}, |
|
||||
async handleLook(item, index) { |
|
||||
const formType = { |
|
||||
work_diary: "ref_form", |
|
||||
concern: "concern_form", |
|
||||
difficulty: "difficulty_form", |
|
||||
}; |
|
||||
this.dialogTitle = item.typeName; |
|
||||
// await this.getInfo(item) |
|
||||
this.formType = item.type; |
|
||||
this.dialogFormVisible = true; |
|
||||
this.$nextTick(() => { |
|
||||
this.$refs[formType[item.type]].initForm("look", item.memoId); |
|
||||
this.$store.state.tipsList.splice(index, 1); |
|
||||
this.closeTips(item.memoId); |
|
||||
}); |
|
||||
}, |
|
||||
}, |
|
||||
}; |
}; |
||||
</script> |
</script> |
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
@import "~@/assets/scss/c/function.scss"; |
@import "~@/assets/scss/c/function.scss"; |
||||
|
|
||||
.aui-content { |
.aui-content { |
||||
position: relative; |
position: relative; |
||||
// height: calc(100vh -50px) !important; |
// height: calc(100vh -50px) !important; |
||||
overflow: hidden; |
overflow: hidden; |
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -1,234 +1,187 @@ |
|||||
<template> |
<template> |
||||
<div> |
<div> |
||||
<aside :class="['aui-sidebar', 'g-sd']"> |
<aside :class="['aui-sidebar', 'g-sd']"> |
||||
<div class="m-nav"> |
<div class="m-nav"> |
||||
<div class="nav"> |
<div class="nav"> |
||||
<div class="nav-item" @click="toIndexPage" v-if="false"> |
<div class="nav-item" @click="toIndexPage" v-if="false"> |
||||
<span>全部菜单</span> |
<span>全部菜单</span> |
||||
</div> |
</div> |
||||
<div |
<div class="nav-item" :class="{ 'z-on': menu.id == $store.state.LevelOneMenuActiveName }" |
||||
class="nav-item" |
v-show="menu.showFlag == 1" v-for="(menu, idx) in $store.state.sidebarMenuList" :key="menu.id" |
||||
:class="{ 'z-on': $store.state.LevelOneMenuActiveName == '' }" |
@click="gotoRouteHandle(menu.id, idx)"> |
||||
@click="toIndexPage" |
<svg v-if="menu.icon" class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"> |
||||
> |
<use :xlink:href="`#${menu.icon}`" /> |
||||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"> |
</svg> |
||||
<use xlink:href="#icon-desktop" /> |
<span>{{ menu.name }}</span> |
||||
</svg> |
</div> |
||||
<span>首页</span> |
</div> |
||||
</div> |
</div> |
||||
<div |
<div class="m-folder" v-show="$store.state.sidebarActiveSubMenuList.length != 0" |
||||
class="nav-item" |
@click="$store.state.sidebarFold = !$store.state.sidebarFold"> |
||||
:class="{ 'z-on': menu.id == $store.state.LevelOneMenuActiveName }" |
<img v-show="!$store.state.sidebarFold" class="z-normal" src="~@/assets/images/main/fold.png" /> |
||||
v-show="menu.showFlag == 1" |
<img v-show="!$store.state.sidebarFold" class="z-on" src="~@/assets/images/main/fold-on.png" /> |
||||
v-for="(menu, idx) in $store.state.sidebarMenuList" |
<img v-show="$store.state.sidebarFold" class="z-normal" src="~@/assets/images/main/unfold.png" /> |
||||
:key="menu.id" |
<img v-show="$store.state.sidebarFold" class="z-on" src="~@/assets/images/main/unfold-on.png" /> |
||||
@click="gotoRouteHandle(menu.id, idx)" |
</div> |
||||
> |
<div class="aui-sidebar_wrap" v-show="$store.state.sidebarActiveSubMenuList.length != 0"> |
||||
<svg |
<div class="aui-sidebar__inner"> |
||||
v-if="menu.icon" |
<el-menu :default-active="$store.state.sidebarMenuActiveName" :collapse="$store.state.sidebarFold" |
||||
class="icon-svg aui-sidebar__menu-icon" |
:unique-opened="true" :collapseTransition="false" class="aui-sidebar__menu"> |
||||
aria-hidden="true" |
<sub-menu v-for="menu in $store.state.sidebarActiveSubMenuList" :key="menu.id" :menu="menu" /> |
||||
> |
</el-menu> |
||||
<use :xlink:href="`#${menu.icon}`" /> |
</div> |
||||
</svg> |
</div> |
||||
<span>{{ menu.name }}</span> |
</aside> |
||||
</div> |
</div> |
||||
<!-- <div class="nav-div"></div> --> |
|
||||
<!-- <div class="nav-item" @click="$router.push({ name: 'dataBoard' })"> |
|
||||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"> |
|
||||
<use xlink:href="#icon-stock" /> |
|
||||
</svg> |
|
||||
<span>可视化</span> |
|
||||
</div> --> |
|
||||
<!-- <div class="nav-item" @click="$router.push({ name: 'main-shuju' })"> |
|
||||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"> |
|
||||
<use xlink:href="#icon-stock" /> |
|
||||
</svg> |
|
||||
<span>可视化旧</span> |
|
||||
</div> --> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div |
|
||||
class="m-folder" |
|
||||
v-show="$store.state.sidebarActiveSubMenuList.length != 0" |
|
||||
@click="$store.state.sidebarFold = !$store.state.sidebarFold" |
|
||||
> |
|
||||
<img |
|
||||
v-show="!$store.state.sidebarFold" |
|
||||
class="z-normal" |
|
||||
src="~@/assets/images/main/fold.png" |
|
||||
/> |
|
||||
<img |
|
||||
v-show="!$store.state.sidebarFold" |
|
||||
class="z-on" |
|
||||
src="~@/assets/images/main/fold-on.png" |
|
||||
/> |
|
||||
<img |
|
||||
v-show="$store.state.sidebarFold" |
|
||||
class="z-normal" |
|
||||
src="~@/assets/images/main/unfold.png" |
|
||||
/> |
|
||||
<img |
|
||||
v-show="$store.state.sidebarFold" |
|
||||
class="z-on" |
|
||||
src="~@/assets/images/main/unfold-on.png" |
|
||||
/> |
|
||||
</div> |
|
||||
<div |
|
||||
class="aui-sidebar_wrap" |
|
||||
v-show="$store.state.sidebarActiveSubMenuList.length != 0" |
|
||||
> |
|
||||
<div class="aui-sidebar__inner"> |
|
||||
<el-menu |
|
||||
:default-active="$store.state.sidebarMenuActiveName" |
|
||||
:collapse="$store.state.sidebarFold" |
|
||||
:unique-opened="true" |
|
||||
:collapseTransition="false" |
|
||||
class="aui-sidebar__menu" |
|
||||
> |
|
||||
<sub-menu |
|
||||
v-for="menu in $store.state.sidebarActiveSubMenuList" |
|
||||
:key="menu.id" |
|
||||
:menu="menu" |
|
||||
/> |
|
||||
</el-menu> |
|
||||
</div> |
|
||||
</div> |
|
||||
</aside> |
|
||||
</div> |
|
||||
</template> |
</template> |
||||
<script> |
<script> |
||||
import SubMenu from "./main-sidebar-sub-menu"; |
import SubMenu from "./main-sidebar-sub-menu"; |
||||
export default { |
export default { |
||||
data() { |
data() { |
||||
return {}; |
return {}; |
||||
}, |
|
||||
components: { |
|
||||
SubMenu, |
|
||||
}, |
|
||||
computed: { |
|
||||
userType() { |
|
||||
return localStorage.getItem("userType"); |
|
||||
}, |
}, |
||||
}, |
components: { |
||||
created() { |
SubMenu, |
||||
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"]; |
|
||||
}, |
|
||||
methods: { |
|
||||
toIndexPage() { |
|
||||
this.$router.push({ name: "home" }); |
|
||||
// this.$router.replace("/index"); |
|
||||
}, |
}, |
||||
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由 |
computed: { |
||||
gotoRouteHandle(menuId, idx) { |
userType() { |
||||
var route = window.SITE_CONFIG["dynamicMenuRoutes"].filter( |
return localStorage.getItem("userType"); |
||||
(item) => item.meta.menuId === menuId |
}, |
||||
)[0]; |
}, |
||||
if (route) { |
created() { |
||||
if (route.meta.iframeURL.endsWith("【跳转新页面】")) { |
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"]; |
||||
return window.open(route.meta.iframeURL.slice(0, -7)); |
}, |
||||
} else { |
methods: { |
||||
this.$router.push({ name: route.name }); |
toIndexPage() { |
||||
} |
this.$router.push({ name: "home" }); |
||||
} |
// this.$router.replace("/index"); |
||||
this.$store.state.sidebarMenuList[idx].children || []; |
}, |
||||
const { sidebarMenuList } = this.$store.state; |
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由 |
||||
const firstChild = sidebarMenuList[idx].children[0]; |
gotoRouteHandle(menuId, idx) { |
||||
const id = firstChild.children.length === 0 ? firstChild.id : firstChild.children[0].id; |
var route = window.SITE_CONFIG["dynamicMenuRoutes"].filter( |
||||
this.$store.state.LevelTowMenuActiveName = id; |
(item) => item.meta.menuId === menuId |
||||
|
)[0]; |
||||
|
if (route) { |
||||
|
if (route.meta.iframeURL.endsWith("【跳转新页面】")) { |
||||
|
return window.open(route.meta.iframeURL.slice(0, -7)); |
||||
|
} else { |
||||
|
this.$router.push({ name: route.name }); |
||||
|
} |
||||
|
} |
||||
|
this.$store.state.sidebarMenuList[idx].children || []; |
||||
|
const { sidebarMenuList } = this.$store.state; |
||||
|
const firstChild = sidebarMenuList[idx].children[0]; |
||||
|
const id = firstChild.children.length === 0 ? firstChild.id : firstChild.children[0].id; |
||||
|
this.$store.state.LevelTowMenuActiveName = id; |
||||
|
}, |
||||
}, |
}, |
||||
}, |
|
||||
}; |
}; |
||||
</script> |
</script> |
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
@import "~@/assets/scss/c/function.scss"; |
@import "~@/assets/scss/c/function.scss"; |
||||
|
|
||||
.el-menu--collapse .el-submenu__title span, |
.el-menu--collapse .el-submenu__title span, |
||||
.el-menu--collapse .el-menu-item span { |
.el-menu--collapse .el-menu-item span { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
|
|
||||
.g-sd { |
.g-sd { |
||||
display: flex; |
display: flex; |
||||
} |
} |
||||
|
|
||||
/deep/ .m-folder { |
/deep/ .m-folder { |
||||
position: absolute; |
position: absolute; |
||||
z-index: 100; |
z-index: 100; |
||||
top: 50px; |
top: 50px; |
||||
right: -16px; |
right: -16px; |
||||
width: 32px; |
width: 32px; |
||||
height: 32px; |
height: 32px; |
||||
background: #ffffff; |
background: #ffffff; |
||||
box-shadow: 0px 5px 12px 4px rgba(0, 0, 0, 0.09), |
box-shadow: 0px 5px 12px 4px rgba(0, 0, 0, 0.09), |
||||
0px 3px 6px 0px rgba(0, 0, 0, 0.12), 0px 1px 2px -2px rgba(0, 0, 0, 0.16); |
0px 3px 6px 0px rgba(0, 0, 0, 0.12), 0px 1px 2px -2px rgba(0, 0, 0, 0.16); |
||||
line-height: 32px; |
line-height: 32px; |
||||
font-size: 18px; |
font-size: 18px; |
||||
text-align: center; |
text-align: center; |
||||
color: #666; |
color: #666; |
||||
border-radius: 100%; |
border-radius: 100%; |
||||
overflow: hidden; |
overflow: hidden; |
||||
cursor: pointer; |
cursor: pointer; |
||||
&:hover { |
|
||||
|
&:hover { |
||||
|
.z-on { |
||||
|
display: block; |
||||
|
} |
||||
|
|
||||
|
.z-normal { |
||||
|
display: none; |
||||
|
} |
||||
|
} |
||||
|
|
||||
.z-on { |
.z-on { |
||||
display: block; |
display: none; |
||||
} |
} |
||||
|
|
||||
.z-normal { |
.z-normal { |
||||
display: none; |
display: block; |
||||
|
} |
||||
|
|
||||
|
img { |
||||
|
position: absolute; |
||||
|
display: block; |
||||
|
width: 16px; |
||||
|
height: 16px; |
||||
|
@include hub; |
||||
} |
} |
||||
} |
|
||||
.z-on { |
|
||||
display: none; |
|
||||
} |
|
||||
.z-normal { |
|
||||
display: block; |
|
||||
} |
|
||||
img { |
|
||||
position: absolute; |
|
||||
display: block; |
|
||||
width: 16px; |
|
||||
height: 16px; |
|
||||
@include hub; |
|
||||
} |
|
||||
} |
} |
||||
|
|
||||
/deep/ .m-nav { |
/deep/ .m-nav { |
||||
box-sizing: border-box; |
box-sizing: border-box; |
||||
padding: 25px 0; |
padding: 25px 0; |
||||
flex-shrink: 0; |
flex-shrink: 0; |
||||
width: 64px; |
width: 64px; |
||||
height: 100%; |
height: 100%; |
||||
background: #0056d6; |
background: #0056d6; |
||||
overflow-y: auto; |
overflow-y: auto; |
||||
&::-webkit-scrollbar { |
|
||||
width: 1px; |
&::-webkit-scrollbar { |
||||
} |
width: 1px; |
||||
.nav { |
|
||||
color: rgba(#ffffff, 0.85); |
|
||||
.nav-div { |
|
||||
margin: 20px auto; |
|
||||
width: 28px; |
|
||||
height: 1px; |
|
||||
background: #ffffff; |
|
||||
border-radius: 1px; |
|
||||
opacity: 0.45; |
|
||||
} |
} |
||||
.nav-item { |
|
||||
font-size: 13px; |
.nav { |
||||
text-align: center; |
color: rgba(#ffffff, 0.85); |
||||
padding: 11px 0 9px 0; |
|
||||
cursor: pointer; |
.nav-div { |
||||
.icon-svg { |
margin: 20px auto; |
||||
margin: 0 auto; |
width: 28px; |
||||
font-size: 24px; |
height: 1px; |
||||
width: 20px !important; |
background: #ffffff; |
||||
} |
border-radius: 1px; |
||||
span { |
opacity: 0.45; |
||||
display: block; |
} |
||||
line-height: 30px; |
|
||||
} |
.nav-item { |
||||
&:hover, |
font-size: 13px; |
||||
&.z-on { |
text-align: center; |
||||
background-color: rgba(#000, 0.1); |
padding: 11px 0 9px 0; |
||||
color: rgba(#ffffff, 1); |
cursor: pointer; |
||||
} |
|
||||
|
.icon-svg { |
||||
|
margin: 0 auto; |
||||
|
font-size: 24px; |
||||
|
width: 20px !important; |
||||
|
} |
||||
|
|
||||
|
span { |
||||
|
display: block; |
||||
|
line-height: 30px; |
||||
|
} |
||||
|
|
||||
|
&:hover, |
||||
|
&.z-on { |
||||
|
background-color: rgba(#000, 0.1); |
||||
|
color: rgba(#ffffff, 1); |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -1,385 +1,387 @@ |
|||||
<template> |
<template> |
||||
<div> |
<div> |
||||
<div class="m-tx"> |
<div class="m-tx"> |
||||
<div class="wrap"> |
<div class="wrap"> |
||||
<div class="header"> |
<div class="header"> |
||||
<div class="title">全部提醒</div> |
<div class="title">全部提醒</div> |
||||
<div class="btn-clear" @click="read"> |
<div class="btn-clear" @click="read"> |
||||
<img src="~@/assets/images/main/clear.png" /> |
<img src="~@/assets/images/main/clear.png" /> |
||||
全部标记已读 |
全部标记已读 |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
<div class="cnt" v-if="noticeData.length > 0"> |
<div class="cnt" v-if="noticeData.length > 0"> |
||||
<div |
<div @click="handleClickNotice(item, index)" :class="{ 'z-readed': item.readFlag == 1 }" |
||||
@click="handleClickNotice(item, index)" |
class="item" :key="'notice' + item.targetId + index" v-for="(item, index) in noticeData"> |
||||
:class="{ 'z-readed': item.readFlag == 1 }" |
<i class="i-tag" v-if="item.readFlag == 1">已读</i> |
||||
class="item" |
<i class="i-tag" v-else>未读</i> |
||||
:key="'notice' + item.targetId + index" |
<div class="item-title"> |
||||
v-for="(item, index) in noticeData" |
{{ item.content }} |
||||
> |
</div> |
||||
<i class="i-tag" v-if="item.readFlag == 1">已读</i> |
<div v-if="item.readFlag != 1" @click.stop="readClearOne(item)" class="item-btn-clear"> |
||||
<i class="i-tag" v-else>未读</i> |
<img src="~@/assets/images/main/clear.png" /> |
||||
<div class="item-title"> |
标记已读 |
||||
{{ item.content }} |
</div> |
||||
</div> |
<div class="item-date">{{ item.createdTime }}</div> |
||||
<div |
</div> |
||||
v-if="item.readFlag != 1" |
</div> |
||||
@click.stop="readClearOne(item)" |
<div class="cnt" v-else> |
||||
class="item-btn-clear" |
<div class="empty"> |
||||
> |
<img src="~@/assets/images/shuju/renfang/index/empty.png" /> |
||||
<img src="~@/assets/images/main/clear.png" /> |
<span>暂无提醒~</span> |
||||
标记已读 |
</div> |
||||
</div> |
</div> |
||||
<div class="item-date">{{ item.createdTime }}</div> |
<div> |
||||
</div> |
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
||||
</div> |
:current-page.sync="pageNo" :page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)" |
||||
<div class="cnt" v-else> |
layout="sizes, prev, pager, next, total" :total="total"> |
||||
<div class="empty"> |
</el-pagination> |
||||
<img |
</div> |
||||
src="~@/assets/images/shuju/renfang/index/empty.png" |
</div> |
||||
/> |
</div> |
||||
<span>暂无提醒~</span> |
<fastcall ref="fastcall" /> |
||||
</div> |
</div> |
||||
</div> |
|
||||
<div> |
|
||||
<el-pagination |
|
||||
@size-change="handleSizeChange" |
|
||||
@current-change="handleCurrentChange" |
|
||||
:current-page.sync="pageNo" |
|
||||
:page-sizes="[20, 50, 100, 200]" |
|
||||
:page-size="parseInt(pageSize)" |
|
||||
layout="sizes, prev, pager, next, total" |
|
||||
:total="total" |
|
||||
> |
|
||||
</el-pagination> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<fastcall ref="fastcall" /> |
|
||||
</div> |
|
||||
</template> |
</template> |
||||
<script> |
<script> |
||||
import { requestGet, requestPost } from "@/js/dai/request"; |
import { requestGet, requestPost } from "@/js/dai/request"; |
||||
import nextTick from "dai-js/tools/nextTick"; |
|
||||
import fastcall from "@/views/modules/cpts/fastcall"; |
import fastcall from "@/views/modules/cpts/fastcall"; |
||||
export default { |
export default { |
||||
components: { fastcall }, |
components: { fastcall }, |
||||
data() { |
data() { |
||||
return { |
return { |
||||
type: "all", |
type: "all", |
||||
pageNo: 1, |
pageNo: 1, |
||||
pageSize: window.localStorage.getItem("pageSize") || 20, |
pageSize: window.localStorage.getItem("pageSize") || 20, |
||||
total: 1, |
total: 1, |
||||
noticeData: [], |
noticeData: [], |
||||
}; |
}; |
||||
}, |
}, |
||||
computed: {}, |
computed: {}, |
||||
watch: {}, |
watch: {}, |
||||
activated() { |
activated() { |
||||
this.getList(); |
this.getList(); |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
// handleClickNotice(item, index) { |
// handleClickNotice(item, index) { |
||||
// // this.readClearOne(item); |
// // this.readClearOne(item); |
||||
// if (item.msgType == "community_house") { |
// if (item.msgType == "community_house") { |
||||
// let { agencyId, gridId, gridName, houseId, houseName, targetId } = item |
// let { agencyId, gridId, gridName, houseId, houseName, targetId } = item |
||||
// this.$store.dispatch('saveDataH', { agencyId, gridId, gridName, houseId: targetId, houseName: '房屋详情' }); |
// this.$store.dispatch('saveDataH', { agencyId, gridId, gridName, houseId: targetId, houseName: '房屋详情' }); |
||||
// this.$router.push({ name: 'house-huaxiang' }); |
// this.$router.push({ name: 'house-huaxiang' }); |
||||
// this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => { |
// this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => { |
||||
// if (item.name === "house-huaxiang") { |
// if (item.name === "house-huaxiang") { |
||||
// return { ...item, title: '房屋信息' }; |
// return { ...item, title: '房屋信息' }; |
||||
// } |
// } |
||||
// return item; |
// return item; |
||||
// }); |
// }); |
||||
// } else if (item.msgType == "resident_base_info") { |
// } else if (item.msgType == "resident_base_info") { |
||||
// let { |
// let { |
||||
// agencyId, |
// agencyId, |
||||
// gridId, |
// gridId, |
||||
// gridName, |
// gridName, |
||||
// gender, |
// gender, |
||||
// homeId, |
// homeId, |
||||
// homeName, |
// homeName, |
||||
// name, |
// name, |
||||
// targetId, |
// targetId, |
||||
// deptName |
// deptName |
||||
// } = item; |
// } = item; |
||||
// this.$store.dispatch("saveData", { |
// this.$store.dispatch("saveData", { |
||||
// agencyId, |
// agencyId, |
||||
// gridId, |
// gridId, |
||||
// gridName, |
// gridName, |
||||
// gender, |
// gender, |
||||
// homeId, |
// homeId, |
||||
// homeName, |
// homeName, |
||||
// name: '居民详情', |
// name: '居民详情', |
||||
// resiId: targetId, |
// resiId: targetId, |
||||
// }); |
// }); |
||||
// this.$router.push({ name: "jumin-huaxiang" }); |
// this.$router.push({ name: "jumin-huaxiang" }); |
||||
// this.$store.state.contentTabs = this.$store.state.contentTabs.map( |
// this.$store.state.contentTabs = this.$store.state.contentTabs.map( |
||||
// (item) => { |
// (item) => { |
||||
// if (item.name === "jumin-huaxiang") { |
// if (item.name === "jumin-huaxiang") { |
||||
// return { ...item, title: name }; |
// return { ...item, title: name }; |
||||
// } |
// } |
||||
// return item; |
// return item; |
||||
// } |
// } |
||||
// ); |
// ); |
||||
// } |
// } |
||||
// }, |
// }, |
||||
handleClickNotice(item) { |
handleClickNotice(item) { |
||||
this.readClearOne(item); |
this.readClearOne(item); |
||||
if (item.msgType == "community_house") { |
if (item.msgType == "community_house") { |
||||
let { agencyId, gridId, gridName, houseId, houseName, targetId } = item |
let { agencyId, gridId, gridName, houseId, houseName, targetId } = item |
||||
this.$store.dispatch('saveDataH', { agencyId, gridId, gridName, houseId: targetId, houseName: '房屋详情' }); |
this.$store.dispatch('saveDataH', { agencyId, gridId, gridName, houseId: targetId, houseName: '房屋详情' }); |
||||
this.$router.push({ name: 'house-huaxiang' }); |
this.$router.push({ name: 'house-huaxiang' }); |
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => { |
this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => { |
||||
if (item.name === "house-huaxiang") { |
if (item.name === "house-huaxiang") { |
||||
return { ...item, title: '房屋信息' }; |
return { ...item, title: '房屋信息' }; |
||||
} |
} |
||||
return item; |
return item; |
||||
}); |
}); |
||||
} else if (item.msgType == "resident_base_info") { |
} else if (item.msgType == "resident_base_info") { |
||||
let { |
let { |
||||
agencyId, |
agencyId, |
||||
gridId, |
gridId, |
||||
gridName, |
gridName, |
||||
gender, |
gender, |
||||
homeId, |
homeId, |
||||
homeName, |
homeName, |
||||
name, |
name, |
||||
targetId, |
targetId, |
||||
deptName |
deptName |
||||
} = item; |
} = item; |
||||
this.$store.dispatch("saveData", { |
this.$store.dispatch("saveData", { |
||||
agencyId, |
agencyId, |
||||
gridId, |
gridId, |
||||
gridName, |
gridName, |
||||
gender, |
gender, |
||||
homeId, |
homeId, |
||||
homeName, |
homeName, |
||||
name: '居民详情', |
name: '居民详情', |
||||
resiId: targetId, |
resiId: targetId, |
||||
}); |
}); |
||||
this.$router.push({ name: "jumin-huaxiang" }); |
this.$router.push({ name: "jumin-huaxiang" }); |
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.map( |
this.$store.state.contentTabs = this.$store.state.contentTabs.map( |
||||
(item) => { |
(item) => { |
||||
if (item.name === "jumin-huaxiang") { |
if (item.name === "jumin-huaxiang") { |
||||
return { ...item, title: name }; |
return { ...item, title: name }; |
||||
} |
} |
||||
return item; |
return item; |
||||
} |
} |
||||
); |
); |
||||
} else if (item.msgType == "resident_category") { |
} else if (item.msgType == "resident_category") { |
||||
this.$router.push({ |
this.$router.push({ |
||||
name: "base-resi", |
name: "base-resi", |
||||
query: { |
query: { |
||||
category: item.category || null, |
category: item.category || null, |
||||
}, |
}, |
||||
}); |
}); |
||||
} else if(item.msgType == "sys_version_upgrade_publish"){ |
} else if (item.msgType == "sys_version_upgrade_publish") { |
||||
let { targetId } = item |
let { targetId } = item |
||||
this.$router.push({ path: `notice-version`, query: { version_id: targetId } }); |
this.$router.push({ path: `notice-version`, query: { version_id: targetId } }); |
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => { |
this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => { |
||||
if (item.name === "notice-version") { |
if (item.name === "notice-version") { |
||||
return { ...item }; |
return { ...item }; |
||||
} |
} |
||||
return item; |
return item; |
||||
}); |
}); |
||||
} |
} |
||||
}, |
}, |
||||
async read(item, index) { |
async read(item, index) { |
||||
if (item && item.readFlag == 1) return; |
if (item && item.readFlag == 1) return; |
||||
const url = "/message/intelligentMessage/msg/clear"; |
const url = "/message/intelligentMessage/msg/clear"; |
||||
let params = {}; |
let params = {}; |
||||
if (item.id) { |
if (item.id) { |
||||
params.id = item.id; |
params.id = item.id; |
||||
url += "?id=" + item.id; |
url += "?id=" + item.id; |
||||
} |
} |
||||
const { data, code, msg } = await requestPost(url, params); |
const { data, code, msg } = await requestPost(url, params); |
||||
if (code === 0) { |
if (code === 0) { |
||||
console.log("消息已读"); |
console.log("消息已读"); |
||||
this.getList(); |
this.getList(); |
||||
} else { |
} else { |
||||
this.$message.error(msg); |
this.$message.error(msg); |
||||
} |
} |
||||
}, |
}, |
||||
async readClearOne(item) { |
async readClearOne(item) { |
||||
console.log("item", item) |
console.log("item", item) |
||||
const url = `/message/intelligentMessage/msg/clearOne/?msgId=${item.id}` |
const url = `/message/intelligentMessage/msg/clearOne/?msgId=${item.id}` |
||||
const { data, code, msg } = await requestPost(url) |
const { data, code, msg } = await requestPost(url) |
||||
if (code == 0) { |
if (code == 0) { |
||||
this.getList() |
this.getList() |
||||
} else if (code >= 8000) { |
} else if (code >= 8000) { |
||||
this.$message.error(msg) |
this.$message.error(msg) |
||||
} |
} |
||||
}, |
}, |
||||
handleClickTab(type) { |
handleClickTab(type) { |
||||
console.log(type); |
console.log(type); |
||||
this.getList(); |
this.getList(); |
||||
}, |
}, |
||||
handleSizeChange(val) { |
handleSizeChange(val) { |
||||
this.pageSize = val; |
this.pageSize = val; |
||||
localStorage.setItem("pageSize", val); |
localStorage.setItem("pageSize", val); |
||||
this.getList(); |
this.getList(); |
||||
}, |
}, |
||||
handleCurrentChange(val) { |
handleCurrentChange(val) { |
||||
this.pageNo = val; |
this.pageNo = val; |
||||
this.getList(); |
this.getList(); |
||||
}, |
}, |
||||
//加载组织数据 |
//加载组织数据 |
||||
async getList() { |
async getList() { |
||||
const url = "/message/intelligentMessage/page"; |
const url = "/message/intelligentMessage/page"; |
||||
let params = { |
let params = { |
||||
page: this.pageNo, |
page: this.pageNo, |
||||
limit: this.pageSize, |
limit: this.pageSize, |
||||
}; |
}; |
||||
const { type } = this; |
const { type } = this; |
||||
if (type == "readed") { |
if (type == "readed") { |
||||
params.readFlag = 1; |
params.readFlag = 1; |
||||
} else if (type == "unreaded") { |
} else if (type == "unreaded") { |
||||
params.readFlag = 0; |
params.readFlag = 0; |
||||
} |
} |
||||
const { data, code, msg } = await requestGet(url, params); |
const { data, code, msg } = await requestGet(url, params); |
||||
if (code === 0) { |
if (code === 0) { |
||||
this.total = data.total; |
this.total = data.total; |
||||
this.noticeData = data.list; |
this.noticeData = data.list; |
||||
} else { |
} else { |
||||
this.$message.error(msg); |
this.$message.error(msg); |
||||
} |
} |
||||
}, |
}, |
||||
}, |
}, |
||||
}; |
}; |
||||
</script> |
</script> |
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
@import "~@/assets/scss/c/function.scss"; |
@import "~@/assets/scss/c/function.scss"; |
||||
|
|
||||
.m-tx { |
.m-tx { |
||||
position: relative; |
position: relative; |
||||
margin: 10px 6px; |
margin: 10px 6px; |
||||
padding: 12px 20px; |
padding: 12px 20px; |
||||
background: #ffffff; |
background: #ffffff; |
||||
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08), |
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08), |
||||
0px 3px 6px -4px rgba(0, 0, 0, 0.12); |
0px 3px 6px -4px rgba(0, 0, 0, 0.12); |
||||
border-radius: 2px; |
border-radius: 2px; |
||||
.cnt { |
|
||||
box-sizing: border-box; |
.cnt { |
||||
border-radius: 2px; |
box-sizing: border-box; |
||||
overflow: hidden; |
border-radius: 2px; |
||||
padding: 0 12px; |
overflow: hidden; |
||||
.empty { |
padding: 0 12px; |
||||
margin: 100px 0; |
|
||||
text-align: center; |
.empty { |
||||
color: #999; |
margin: 100px 0; |
||||
img { |
text-align: center; |
||||
display: block; |
color: #999; |
||||
width: 120px; |
|
||||
margin: 20px auto; |
img { |
||||
} |
display: block; |
||||
} |
width: 120px; |
||||
.z-readed { |
margin: 20px auto; |
||||
opacity: 0.5; |
} |
||||
} |
} |
||||
.item { |
|
||||
position: relative; |
.z-readed { |
||||
display: flex; |
opacity: 0.5; |
||||
align-items: center; |
} |
||||
padding: 16px 0 12px; |
|
||||
border-bottom: 1px dashed #f0f5fa; |
.item { |
||||
&:last-child { |
position: relative; |
||||
border-bottom: none; |
display: flex; |
||||
} |
align-items: center; |
||||
&:hover { |
padding: 16px 0 12px; |
||||
.item-title { |
border-bottom: 1px dashed #f0f5fa; |
||||
color: #0056d6; |
|
||||
cursor: pointer; |
&:last-child { |
||||
} |
border-bottom: none; |
||||
.item-btn-clear { |
} |
||||
display: block; |
|
||||
} |
&:hover { |
||||
} |
.item-title { |
||||
.i-tag { |
color: #0056d6; |
||||
display: block; |
cursor: pointer; |
||||
margin-right: 15px; |
} |
||||
width: 40px; |
|
||||
height: 22px; |
.item-btn-clear { |
||||
border-radius: 4px; |
display: block; |
||||
border: 1px solid rgba(0, 0, 0, 0.15); |
} |
||||
font-size: 12px; |
} |
||||
font-family: PingFangSC-Regular, PingFang SC; |
|
||||
font-weight: 400; |
.i-tag { |
||||
color: rgba(0, 0, 0, 0.88); |
display: block; |
||||
line-height: 20px; |
margin-right: 15px; |
||||
font-style: normal; |
width: 40px; |
||||
text-align: center; |
height: 22px; |
||||
} |
border-radius: 4px; |
||||
.item-title { |
border: 1px solid rgba(0, 0, 0, 0.15); |
||||
// @include toe; |
font-size: 12px; |
||||
width: 60%; |
font-family: PingFangSC-Regular, PingFang SC; |
||||
margin-right: 100px; |
font-weight: 400; |
||||
font-size: 14px; |
color: rgba(0, 0, 0, 0.88); |
||||
font-family: PingFangSC-Regular, PingFang SC; |
line-height: 20px; |
||||
font-weight: 400; |
font-style: normal; |
||||
color: rgba(0, 0, 0, 0.85); |
text-align: center; |
||||
line-height: 22px; |
} |
||||
} |
|
||||
.item-btn-clear { |
.item-title { |
||||
position: absolute; |
// @include toe; |
||||
display: none; |
width: 60%; |
||||
top: 50%; |
margin-right: 100px; |
||||
left: 65%; |
font-size: 14px; |
||||
width: 80px; |
font-family: PingFangSC-Regular, PingFang SC; |
||||
font-size: 14px; |
font-weight: 400; |
||||
font-family: PingFangSC-Regular, PingFang SC; |
color: rgba(0, 0, 0, 0.85); |
||||
font-weight: 400; |
line-height: 22px; |
||||
color: #0042a3; |
} |
||||
line-height: 16px; |
|
||||
cursor: pointer; |
.item-btn-clear { |
||||
transform: translateY(-50%); |
position: absolute; |
||||
img { |
display: none; |
||||
width: 16px; |
top: 50%; |
||||
margin-right: 3px; |
left: 65%; |
||||
} |
width: 80px; |
||||
} |
font-size: 14px; |
||||
.item-date { |
font-family: PingFangSC-Regular, PingFang SC; |
||||
margin-left: 100px; |
font-weight: 400; |
||||
font-size: 12px; |
color: #0042a3; |
||||
font-family: PingFangSC-Regular, PingFang SC; |
line-height: 16px; |
||||
font-weight: 400; |
cursor: pointer; |
||||
color: rgba(0, 0, 0, 0.45); |
transform: translateY(-50%); |
||||
line-height: 17px; |
|
||||
} |
img { |
||||
} |
width: 16px; |
||||
} |
margin-right: 3px; |
||||
.header { |
} |
||||
display: flex; |
} |
||||
justify-content: space-between; |
|
||||
padding: 12px 0; |
.item-date { |
||||
margin-bottom: 10px; |
margin-left: 100px; |
||||
border-bottom: 1px solid #f0f5fa; |
font-size: 12px; |
||||
.title { |
font-family: PingFangSC-Regular, PingFang SC; |
||||
height: 22px; |
font-weight: 400; |
||||
font-size: 16px; |
color: rgba(0, 0, 0, 0.45); |
||||
font-family: PingFangSC-Medium, PingFang SC; |
line-height: 17px; |
||||
font-weight: 500; |
} |
||||
color: rgba(0, 0, 0, 0.85); |
} |
||||
line-height: 22px; |
} |
||||
} |
|
||||
.btn-clear { |
.header { |
||||
font-size: 14px; |
display: flex; |
||||
font-family: PingFangSC-Regular, PingFang SC; |
justify-content: space-between; |
||||
font-weight: 400; |
padding: 12px 0; |
||||
color: #0042a3; |
margin-bottom: 10px; |
||||
line-height: 16px; |
border-bottom: 1px solid #f0f5fa; |
||||
cursor: pointer; |
|
||||
img { |
.title { |
||||
width: 16px; |
height: 22px; |
||||
margin-right: 3px; |
font-size: 16px; |
||||
} |
font-family: PingFangSC-Medium, PingFang SC; |
||||
} |
font-weight: 500; |
||||
} |
color: rgba(0, 0, 0, 0.85); |
||||
|
line-height: 22px; |
||||
|
} |
||||
|
|
||||
|
.btn-clear { |
||||
|
font-size: 14px; |
||||
|
font-family: PingFangSC-Regular, PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #0042a3; |
||||
|
line-height: 16px; |
||||
|
cursor: pointer; |
||||
|
|
||||
|
img { |
||||
|
width: 16px; |
||||
|
margin-right: 3px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
|
|
||||
/deep/ .el-tabs__nav-wrap::after { |
/deep/ .el-tabs__nav-wrap::after { |
||||
height: 1px; |
height: 1px; |
||||
background-color: #f0f5fa; |
background-color: #f0f5fa; |
||||
} |
} |
||||
|
|
||||
/deep/ .el-pagination__total { |
/deep/ .el-pagination__total { |
||||
// float: left; |
// float: left; |
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -1,48 +1,50 @@ |
|||||
<template> |
<template> |
||||
<div> |
<div> |
||||
<div class="m-hint"> |
<div class="m-hint"> |
||||
<div class="wrap"> |
<div class="wrap"> |
||||
<img src="@/assets/img/unopen-hint.png" alt="" /> |
<img src="@/assets/img/unopen-hint.png" alt="" /> |
||||
<span>功能暂未开放</span> |
<span>功能暂未开放</span> |
||||
</div> |
</div> |
||||
|
</div> |
||||
</div> |
</div> |
||||
</div> |
|
||||
</template> |
</template> |
||||
<script> |
<script> |
||||
export default { |
export default { |
||||
data() { |
data() { |
||||
return {}; |
return {}; |
||||
}, |
}, |
||||
components: {}, |
components: {}, |
||||
mounted() {}, |
mounted() { }, |
||||
methods: { |
methods: { |
||||
changeCustomerName(customerName) {}, |
changeCustomerName(customerName) { }, |
||||
}, |
}, |
||||
}; |
}; |
||||
</script> |
</script> |
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
.m-hint { |
.m-hint { |
||||
position: relative; |
position: relative; |
||||
background-color: #ffffff; |
background-color: #ffffff; |
||||
height: calc(100vh - 150px); |
height: calc(100vh - 150px); |
||||
.wrap { |
|
||||
position: absolute; |
.wrap { |
||||
display: block; |
position: absolute; |
||||
top: 0; |
display: block; |
||||
bottom: 0; |
top: 0; |
||||
left: 0; |
bottom: 0; |
||||
right: 0; |
left: 0; |
||||
margin: auto; |
right: 0; |
||||
width: 271px; |
margin: auto; |
||||
height: 240px; |
width: 271px; |
||||
font-size: 20px; |
height: 240px; |
||||
line-height: 30px; |
font-size: 20px; |
||||
font-weight: bold; |
line-height: 30px; |
||||
color: #aaa; |
font-weight: bold; |
||||
text-align: center; |
color: #aaa; |
||||
img { |
text-align: center; |
||||
margin-bottom: 10px; |
|
||||
|
img { |
||||
|
margin-bottom: 10px; |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
} |
} |
||||
</style> |
</style> |
||||
|
Loading…
Reference in new issue