Browse Source

ssdfsf

shibei_master
dai 3 years ago
parent
commit
2bf2d2a06b
  1. 2
      src/assets/scss/c/config.scss
  2. 15
      src/assets/scss/c/function.scss
  3. 62
      src/assets/scss/modules/shujirizhi-notice.scss
  4. 44
      src/views/main.vue
  5. 360
      src/views/modules/secretaryLog/cpts/notice.vue

2
src/assets/scss/c/config.scss

@ -11,7 +11,7 @@ $w1: 1200px;
//网站主色 primary color bgcolor //网站主色 primary color bgcolor
$c1: #ff4c52; // dd000f $c1: #ff4c52; // dd000f
$c2: #3b7cff; $c2: #3e8ef7;
//灰度色 用于字体 //灰度色 用于字体
$fc0: #010033; $fc0: #010033;

15
src/assets/scss/c/function.scss

@ -87,6 +87,15 @@
text-overflow: ellipsis; text-overflow: ellipsis;
word-wrap: normal; word-wrap: normal;
} }
// 强制文本换行 多行
@mixin toeM($num) {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: $num;
-webkit-box-orient: vertical;
}
// 图片居中 // 图片居中
@mixin img_hub { @mixin img_hub {
position: absolute; position: absolute;
@ -206,7 +215,7 @@
} }
//党员积分排行榜 //党员积分排行榜
@mixin img123 { @mixin img123 {
width:20px; width: 20px;
height: 20px; height: 20px;
border-radius: 50%; border-radius: 50%;
position: absolute; position: absolute;
@ -225,7 +234,7 @@
width: 67.15px; width: 67.15px;
height: 67.15px; height: 67.15px;
position: absolute; position: absolute;
display: block; display: block;
top: 4px; top: 4px;
border-radius: 100%; border-radius: 100%;
} }
@ -258,11 +267,9 @@
display: block; display: block;
z-index: 10; z-index: 10;
margin-top: 40px; margin-top: 40px;
} }
@mixin list { @mixin list {
list-style-type: none; list-style-type: none;
position: absolute; position: absolute;
padding: 0px; padding: 0px;
} }

62
src/assets/scss/modules/shujirizhi-notice.scss

@ -0,0 +1,62 @@
@import "../c/anime";
@import "../c/config";
@import "../c/function";
.m-notice {
position: fixed;
z-index: 10000;
bottom: 0;
right: 0;
background-color: #fff;
box-shadow: 0 0 10px 0 rgba(#000, 0.1);
width: 500px;
height: 300px;
box-sizing: border-box;
padding: 25px;
.header {
margin-bottom: 20px;
font-size: 24px;
font-weight: bold;
color: #3e8ef7;
}
.type {
margin-bottom: 10px;
font-size: 20px;
font-weight: bold;
color: #333;
}
.content {
@include toeM(2);
margin-bottom: 10px;
font-size: 16px;
color: #333;
line-height: 30px;
}
.date {
margin-bottom: 30px;
font-size: 16px;
color: #999;
line-height: 30px;
}
.operate {
display: flex;
justify-content: space-around;
.btn {
box-sizing: border-box;
padding: 0 20px;
width: 180px;
text-align: center;
font-size: 20px;
color: #3e8ef7;
line-height: 40px;
cursor: pointer;
&.z-stress {
background-color: #3e8ef7;
color: #fff;
}
}
}
}

44
src/views/main.vue

@ -1,24 +1,30 @@
<template> <template>
<div v-loading.fullscreen.lock="loading" <div
:element-loading-text="$t('loading')" v-loading.fullscreen.lock="loading"
:class="[ :element-loading-text="$t('loading')"
:class="[
'aui-wrapper', 'aui-wrapper',
{ 'aui-sidebar--fold': $store.state.sidebarFold }, { 'aui-sidebar--fold': $store.state.sidebarFold },
{ {
'aui-sidebar--noside': 'aui-sidebar--noside':
$store.state.sidebarActiveSubMenuList.length == 0 || $store.state.inIframe, $store.state.sidebarActiveSubMenuList.length == 0 ||
$store.state.inIframe,
}, },
{ 'z-iframe': $store.state.inIframe }, { 'z-iframe': $store.state.inIframe },
]"> ]"
>
<template v-if="!loading"> <template v-if="!loading">
<main-navbar ref="ref_navbar" <main-navbar ref="ref_navbar" v-if="!$store.state.inIframe" />
v-if="!$store.state.inIframe" />
<main-sidebar v-if="!$store.state.inIframe" /> <main-sidebar v-if="!$store.state.inIframe" />
<div class="aui-content__wrapper"> <div class="aui-content__wrapper">
<main-content v-if="!$store.state.contentIsNeedRefresh" <main-content
@changeCustomerName="changeCustomerName" /> v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName"
/>
</div> </div>
<main-theme-tools v-if="!$store.state.inIframe" /> <main-theme-tools v-if="!$store.state.inIframe" />
<!-- <secretary-log-notice v-if="!$store.state.inIframe" /> -->
</template> </template>
</div> </div>
</template> </template>
@ -28,16 +34,17 @@ import MainNavbar from "./main-navbar";
import MainSidebar from "./main-sidebar"; import MainSidebar from "./main-sidebar";
import MainContent from "./main-content"; import MainContent from "./main-content";
import MainThemeTools from "./main-theme-tools"; import MainThemeTools from "./main-theme-tools";
import SecretaryLogNotice from "./modules/secretaryLog/cpts/notice";
import debounce from "lodash/debounce"; import debounce from "lodash/debounce";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
export default { export default {
provide () { provide() {
return { return {
// //
refresh () { refresh() {
this.$store.state.contentIsNeedRefresh = true; this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false; this.$store.state.contentIsNeedRefresh = false;
@ -45,7 +52,7 @@ export default {
}, },
}; };
}, },
data () { data() {
return { return {
loading: true, loading: true,
userType: localStorage.getItem("userType"), userType: localStorage.getItem("userType"),
@ -56,12 +63,13 @@ export default {
MainSidebar, MainSidebar,
MainContent, MainContent,
MainThemeTools, MainThemeTools,
SecretaryLogNotice,
}, },
watch: { watch: {
$route: "routeHandle", $route: "routeHandle",
}, },
async created () { async created() {
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"]; this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"];
console.log(this.$store.state.sidebarMenuList); console.log(this.$store.state.sidebarMenuList);
@ -73,11 +81,11 @@ export default {
}, },
computed: {}, computed: {},
methods: { methods: {
changeCustomerName (customerName) { changeCustomerName(customerName) {
this.$refs["ref_navbar"].changeCustomerName(customerName); this.$refs["ref_navbar"].changeCustomerName(customerName);
}, },
// //
windowResizeHandle () { windowResizeHandle() {
this.$store.state.sidebarFold = this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false; document.documentElement["clientWidth"] <= 992 || false;
window.addEventListener( window.addEventListener(
@ -89,7 +97,7 @@ export default {
); );
}, },
// , // ,
routeHandle (route) { routeHandle(route) {
if (!route.meta.isTab) { if (!route.meta.isTab) {
return false; return false;
} }
@ -112,7 +120,7 @@ export default {
this.$store.state.contentTabsActiveName = tab.name; this.$store.state.contentTabsActiveName = tab.name;
this.syncLevelOneMenuActive(tab.menuId); this.syncLevelOneMenuActive(tab.menuId);
}, },
async syncLevelOneMenuActive (menuId) { async syncLevelOneMenuActive(menuId) {
await nextTick(); await nextTick();
console.log( console.log(
"*******************************", "*******************************",
@ -135,7 +143,7 @@ export default {
idx !== -1 ? this.$store.state.sidebarMenuList[idx].children : []; idx !== -1 ? this.$store.state.sidebarMenuList[idx].children : [];
}, },
// //
async getWorkUserInfo () { async getWorkUserInfo() {
const url = "/epmetuser/customerstaff/staffbasicinfo"; const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {}; let params = {};
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);

360
src/views/modules/secretaryLog/cpts/notice.vue

@ -1,6 +1,13 @@
<template> <template>
<div> <div class="m-notice a-fade-in-up" v-if="displayed && list.length > 0">
弹窗提示 <div class="header">通知提醒</div>
<div class="type">{{ list[0].typeName }}</div>
<div class="content">{{ list[0].content }}</div>
<div class="date">{{ list[0].remindTime }}</div>
<div class="operate">
<div class="btn" @click="read">我知道了</div>
<div class="btn z-stress" @click="checkInfo">查看详情</div>
</div>
</div> </div>
</template> </template>
@ -9,320 +16,87 @@ import { requestPost } from "@/js/dai/request2";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
export default { export default {
components: { }, components: {},
data() { data() {
return { return {
agencyId: "", displayed: false,
tableData: [], lastTime: 0,
currentIndex: 0, list: [
{
memoId: "1",
type: "work_diary",
typeName: "工作日志",
content:
"提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容提醒内容",
remindTime: "2022-02-22 22:22",
},
],
}; };
}, },
computed: { computed: {},
},
watch: { watch: {
currentIndex() { currentIndex() {},
},
}, },
async mounted() { async mounted() {
await this.loadAgency(); this.poll();
await this.getTableData();
}, },
methods: { methods: {
async handleDel() { async poll() {
if (!confirm("删除后不可恢复,确定删除?")) return; let nowTime = new Date().getTime();
if (nowTime - this.lastTime > 60 * 1000) {
const item = this.tableData[this.currentIndex]; this.lastTime = nowTime;
const url = "/gov/org/icpartyservicecenter/del"; this.getList();
}
const { data, code, msg } = await requestPost(url, [ await nextTick(1000);
item.partyServiceCenterId, this.poll();
]); },
if (code === 0) { checkInfo() {
this.$message.success("删除成功!"); const { memoId, type } = this.list[0];
this.getTableData(); if (type == "work_diary") {
this.$router.push({
path: `/main/visual-basicinfo-people/${uid}`,
});
} else if (type == "concern") {
} else if (type == "difficulty") {
} }
this.read();
}, },
async getTableData() { async read() {
const oldLen = this.tableData.length; const item = this.list[0];
const url = "/gov/org/icpartyservicecenter/partyservicecenterlist"; const url = "/gov/project/memoAttr/setReaded";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
orgId: this.agencyId, memoId: item.memoId,
orgType: "agency",
}); });
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.tableData = data; if (code === 0) {
// this.$message.success("");
if (data.length > 0 && oldLen == 0) { this.displayed = false;
await nextTick(100); this.getList();
this.initMap();
this.setMap();
}
} }
}, },
// async getList() {
async loadAgency() { const url = "/gov/project/memoAttr/memosToRemind";
const url = "/epmetuser/customerstaff/staffbasicinfo"; const { data, code, msg } = await requestPost(url, {});
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.agencyId = data.agencyId; console.log("列表请求成功!!!!!!!!!!!!!!");
this.displayed = true;
this.lastTime = new Date().getTime();
// this.list = data;
} }
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style
.m-hint { lang="scss"
display: flex; src="@/assets/scss/modules/shujirizhi-notice.scss"
justify-content: center; scoped
text-align: center; ></style>
}
.m-center {
display: flex;
.center-left {
width: 25%;
.list {
padding-right: 10px;
height: calc(100vh - 210px);
overflow-y: auto;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 8px; /*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
}
&::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 8px;
box-shadow: inset 0 0 5px rgba(#333, 0.1);
background: linear-gradient(270deg, #eee, #aaa);
}
&::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow: inset 0 0 5px rgba(#333, 0.1);
border-radius: 8px;
background: #eee;
}
.item {
position: relative;
box-sizing: border-box;
margin-bottom: 10px;
border: 2px solid #6aa;
border-radius: 4px;
padding: 13px 13px;
background-color: rgba(#6aa, 0.1);
cursor: pointer;
&.z-on {
background-color: #ffffff;
box-shadow: 0 0 10px #6aa;
}
.item-btns {
position: absolute;
top: 5px;
right: 5px;
// width: 120px;
a {
display: inline-block;
margin-left: 1px;
font-size: 14px;
color: rgb(235, 192, 4);
width: 40px;
line-height: 30px;
text-align: center;
cursor: pointer;
&:nth-child(2) {
color: #aaa;
&:hover {
// text-decoration: underline;
color: #666;
}
}
&:hover {
// text-decoration: underline;
color: rgb(250, 208, 23);
}
}
}
.item-name {
font-size: 16px;
font-weight: bold;
margin-bottom: 10px;
}
.item-prop {
display: flex;
margin-bottom: 8px;
font-size: 14px;
.prop-field {
width: 70px;
}
.prop-value {
margin-left: 5px;
p {
margin: 0;
margin-bottom: 5px;
}
}
}
}
}
}
.center-right {
margin-left: auto;
width: 72%;
.operate {
margin-bottom: 10px;
text-align: right;
}
.div_map {
margin-bottom: 10px;
height: 300px;
}
}
}
.tabs-other-info {
.el-tabs__item {
// width: 50px;
height: 20px;
box-sizing: border-box;
margin-right: 7px;
padding: 0 10px !important;
font-size: 8px;
font-weight: 500;
color: #666666;
line-height: 20px;
background: #ebecf1;
border-radius: 2px;
}
.el-tabs__nav-wrap::after,
.el-tabs__active-bar {
display: none;
}
.el-tabs__nav-next,
.el-tabs__nav-prev {
line-height: 20px;
}
}
.resi-card-table {
// margin-top: 20px;
}
.resi-row-btn {
margin-bottom: 13px;
.upload-btn {
display: inline-block;
margin: 0 10px;
}
}
.resi-other {
width: 100%;
display: flex;
.resi-other-title {
width: 100px;
box-sizing: border-box;
margin-bottom: 10px;
// padding: 6px 12px 0 0;
font-size: 16px;
font-weight: 500;
color: #333;
text-align: center;
}
.tabs-other-info {
// padding-left: 60px;
}
}
.resi-btns {
margin-top: 20px;
text-align: center;
}
.resi-container .resi-card {
position: relative;
overflow: visible;
}
.resi-down {
position: absolute;
left: 50%;
bottom: -10px;
display: flex;
justify-content: center;
align-items: center;
width: 46px;
height: 12px;
box-sizing: border-box;
margin-left: -23rpx;
cursor: pointer;
background: #ffffff;
border-radius: 0 0 10px 10px;
img {
display: block;
}
}
.resi-row-box {
// height: 104px;
overflow: hidden;
transition: height 0.5s;
}
.resi-row-more {
height: max-content;
transition: height 0.5s;
}
.resi-row {
margin-bottom: 20px;
}
.resi-search {
.el-col {
text-align: right;
}
}
.resi-cell {
display: flex;
align-items: center;
.resi-cell-label {
width: 70px;
box-sizing: border-box;
margin-right: 15px;
text-align: right;
// line-height: 32;
}
.resi-cell-value-radio {
display: flex;
align-items: center;
min-height: 32px;
}
.resi-cell-input {
width: 180px;
}
.resi-cell-select {
width: 180px;
box-sizing: border-box;
margin-right: 10px;
&-middle {
width: 130px;
}
&-small {
width: 88px;
}
}
.resi-cell-select:last-child {
margin-right: 0;
}
}
</style>

Loading…
Cancel
Save