diff --git a/src/assets/scss/buttonstyle.scss b/src/assets/scss/buttonstyle.scss
index 2eabacde..77608bb5 100644
--- a/src/assets/scss/buttonstyle.scss
+++ b/src/assets/scss/buttonstyle.scss
@@ -106,7 +106,7 @@
text-decoration: underline !important;
}
-//
+//
.div-table-button--qr {
color: #4ec591 !important;
text-decoration: underline !important;
diff --git a/src/assets/scss/c/config.scss b/src/assets/scss/c/config.scss
index e3555368..10221912 100644
--- a/src/assets/scss/c/config.scss
+++ b/src/assets/scss/c/config.scss
@@ -11,7 +11,7 @@ $w1: 1200px;
//网站主色 primary color bgcolor
$c1: #ff4c52; // 红 dd000f
-$c2: #3b7cff;
+$c2: #3e8ef7;
//灰度色 用于字体
$fc0: #010033;
diff --git a/src/assets/scss/c/function.scss b/src/assets/scss/c/function.scss
index 90fb9dae..74b02097 100644
--- a/src/assets/scss/c/function.scss
+++ b/src/assets/scss/c/function.scss
@@ -87,6 +87,15 @@
text-overflow: ellipsis;
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 {
position: absolute;
@@ -206,7 +215,7 @@
}
//党员积分排行榜
@mixin img123 {
- width:20px;
+ width: 20px;
height: 20px;
border-radius: 50%;
position: absolute;
@@ -225,7 +234,7 @@
width: 67.15px;
height: 67.15px;
position: absolute;
- display: block;
+ display: block;
top: 4px;
border-radius: 100%;
}
@@ -258,11 +267,9 @@
display: block;
z-index: 10;
margin-top: 40px;
-
}
@mixin list {
list-style-type: none;
position: absolute;
padding: 0px;
}
-
diff --git a/src/assets/scss/modules/management/secretaryLog.scss b/src/assets/scss/modules/management/secretaryLog.scss
new file mode 100644
index 00000000..a62569a1
--- /dev/null
+++ b/src/assets/scss/modules/management/secretaryLog.scss
@@ -0,0 +1,49 @@
+.div_form {
+ margin: 20px 50px;
+}
+.form_item {
+ display: flex;
+ justify-content: flex-start;
+ font-size: 15px;
+
+ .item_title {
+ text-align: right;
+
+ flex: 0 0 150px;
+ line-height: 36px;
+ }
+
+ .item_content {
+ margin-left: 30px;
+ line-height: 36px;
+ }
+
+ .attach_item {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ margin-left: 30px;
+ line-height: 36px;
+
+ .attach_item_name {
+ margin-left: 10px;
+ color: #3e8ef7;
+ text-decoration: underline;
+ }
+ .attach_item_name:hover {
+ cursor: pointer;
+ color: #1461c7;
+ }
+ }
+}
+
+.div_btn {
+ margin-top: 15px;
+ display: flex;
+ width: 100%;
+ justify-content: center;
+
+ .btn_right {
+ margin-left: 50px;
+ }
+}
diff --git a/src/assets/scss/modules/shujirizhi-notice.scss b/src/assets/scss/modules/shujirizhi-notice.scss
new file mode 100644
index 00000000..8d717a03
--- /dev/null
+++ b/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;
+ }
+ }
+ }
+}
diff --git a/src/js/store/index.js b/src/js/store/index.js
index 483238a6..276c7f83 100644
--- a/src/js/store/index.js
+++ b/src/js/store/index.js
@@ -4,9 +4,11 @@ import cloneDeep from "lodash/cloneDeep";
import user from "./modules/user";
import app from "./modules/app";
import tagsView from "./modules/tagsView";
+import { requestPost } from "@/js/dai/request";
+import { dateFormats } from "@/utils/index";
Vue.use(Vuex);
-
+let interTimer = null
export default new Vuex.Store({
namespaced: true,
state: {
@@ -37,7 +39,8 @@ export default new Vuex.Store({
menuList: [],
activeName: "",
},
-
+ tipsList: [],
+ tipsTime: [],
inIframe: window.self !== window.top,
},
modules: {
@@ -52,5 +55,70 @@ export default new Vuex.Store({
state[key] = cloneDeep(window.SITE_CONFIG["storeState"][key]);
});
},
+ SET_TIPS_LIST(state, tipsList) {
+ let _list = state.tipsList
+ // state.tipsList = _list.concat(tipsList)
+ state.tipsList = tipsList
+ },
+ SET_TIPS_TIME(state, time) {
+ state.tipsTime = time
+ }
},
+ actions: {
+ clearInter() {
+ clearInterval(interTimer)
+ },
+ setInterval({ commit, dispatch, state }) {
+ interTimer = setInterval(() => {
+ const _t = dateFormats('YYYY-mm-dd HH:MM', (new Date(new Date().toLocaleDateString()).getTime()))
+ const _tt = new Date(_t).getTime()
+ console.log('230000---', _t)
+ const t = dateFormats('YYYY-mm-dd HH:MM', (new Date().getTime()))
+ const nt = new Date(t).getTime()
+ // 判断当前时间是否为 00:00
+ if (nt == _tt) {
+ dispatch('setTipsTime')
+ return
+ }
+ let times = state.tipsTime
+ console.log('nt---000', nt)
+ state.tipsTime.forEach((item, index) => {
+ const _t = new Date(item).getTime()
+ if (_t == nt) {
+ clearInterval(interTimer)
+ dispatch('setTipsList', item)
+ times.splice(index, 1)
+ commit('SET_TIPS_TIME', times)
+ }
+ })
+ }, 60000)
+ },
+ setTipsList({ commit }, time) {
+ return new Promise(async (resolve, reject) => {
+ const url = '/gov/project/memoAttr/memosToRemind'
+ const params = {
+ remindTime: time || ''
+ }
+ const { data, code, msg } = await requestPost(url, params)
+ if (code === 0) {
+ commit('SET_TIPS_LIST', data)
+ resolve()
+ } else reject(msg)
+ })
+ },
+ setTipsTime({ commit, dispatch }) {
+ return new Promise(async (resolve, reject) => {
+ if (interTimer) clearInterval(interTimer)
+ const url = '/gov/project/memoAttr/memoTime'
+
+ const { data, code, msg } = await requestPost(url)
+ if (code === 0) {
+
+ commit('SET_TIPS_TIME', data)
+ if (data.length > 0) dispatch('setInterval')
+ resolve()
+ } else reject(msg)
+ })
+ }
+ }
});
diff --git a/src/utils/index.js b/src/utils/index.js
index ad9c9e00..fe742c9a 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -93,3 +93,25 @@ export function treeDataTranslate(data, id = 'id', pid = 'pid') {
}
return res
}
+
+// 时间格式化
+export function dateFormats(fmt, date) {
+ let ret
+ const _date = new Date(date)
+ const opt = {
+ 'Y+': _date.getFullYear().toString(), // 年
+ 'm+': (_date.getMonth() + 1).toString(), // 月
+ 'd+': _date.getDate().toString(), // 日
+ 'H+': _date.getHours().toString(), // 时
+ 'M+': _date.getMinutes().toString(), // 分
+ 'S+': _date.getSeconds().toString() // 秒
+ // 有其他格式化字符需求可以继续添加,必须转化成字符串
+ }
+ for (const k in opt) {
+ ret = new RegExp('(' + k + ')').exec(fmt)
+ if (ret) {
+ fmt = fmt.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')))
+ }
+ }
+ return fmt
+}
diff --git a/src/views/main-content.vue b/src/views/main-content.vue
index 08c7e249..cdb28ec9 100644
--- a/src/views/main-content.vue
+++ b/src/views/main-content.vue
@@ -69,18 +69,60 @@