Commit c88340fd authored by 王李辉's avatar 王李辉

消息接口 和 工作台接口

parent 8113fd86
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>新蜂商城</title> <title>首开App</title>
<link rel="stylesheet" href="//at.alicdn.com/t/font_1623819_3g3arzgtlmk.css"> <link rel="stylesheet" href="//at.alicdn.com/t/font_1623819_3g3arzgtlmk.css">
</head> </head>
<body> <body>
......
import request from '@/utils/axios'
/*get请求*/
// export function getFun(url,params) {
// return request({
// url: url,
// method: 'get',
// params
// })
// }
/* post请求 */
export function postMessgaelist(url,data) {
return request({
url: url,
method: 'post',
data
})
}
export function noticeRemove(url,data) {
return request({
url: url,
method: 'post',
data
})
}
\ No newline at end of file
import request from '@/utils/axios'
/*get请求*/
export function getFun(url,params) {
return request({
url: url,
method: 'get',
params
})
}
/* post请求 */
export function postFun(url,data) {
return request({
url: url,
method: 'post',
data
})
}
\ No newline at end of file
import request from '@/utils/axios'
/*get请求*/
export function getFun(url,params) {
return request({
url: url,
method: 'get',
params
})
}
/* post请求 */
export function postWork(url,data) {
return request({
url: url,
method: 'post',
data
})
}
\ No newline at end of file
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
</div> </div>
<van-field <van-field
v-model="password" v-model="password"
type="password"
name="password" name="password"
placeholder="密码" placeholder="密码"
:rules="[{ required: true, message: '请填写密码' }]" :rules="[{ required: true, message: '请填写密码' }]"
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
sticky sticky
offset-top="50" offset-top="50"
> >
<van-tab title="消息信息" name="消息信息" badge="5"> <van-tab title="消息信息" name="消息信息" :badge="messageNewsNum>0?messageNewsNum : ''">
<message-news></message-news> <message-news @messageLength="getMessageLength"></message-news>
</van-tab> </van-tab>
<van-tab title="待办事项" name="待办事项" badge=""> <van-tab title="待办事项" name="待办事项" badge="">
<wait-event></wait-event> <wait-event></wait-event>
...@@ -48,11 +48,16 @@ export default { ...@@ -48,11 +48,16 @@ export default {
}, },
data() { data() {
return { return {
activeName: "消息信息" activeName: "消息信息",
messageNewsNum: ''
}; };
}, },
mounted() {}, mounted() {},
methods: {} methods: {
getMessageLength(len){
this.messageNewsNum = len
}
}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
:class="index == activeIndex ? 'active' : ''" :class="index == activeIndex ? 'active' : ''"
v-for="(item, index) in messageCategory" v-for="(item, index) in messageCategory"
:key="item.key" :key="item.key"
@click="selectCategory(index, item.category)" @click="clickCategory(index, item.category)"
>{{ item.category }}</span >{{ item.category }}</span
> >
</div> </div>
...@@ -30,13 +30,21 @@ ...@@ -30,13 +30,21 @@
finished-text="没有更多了" finished-text="没有更多了"
@load="onLoad" @load="onLoad"
> --> > -->
<van-cell-group inset> <van-cell-group
<div class="messgae-title">隐患确认信息</div> inset
<div class="message-content"> v-for="(item, index) in messageList"
张大海已确认一般隐患B类,右万宝宝负责整改。 :key="index"
</div> @click="read(item)"
</van-cell-group> >
<!-- </van-list> <div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
</van-cell-group>
<!-- </van-list>
</van-pull-refresh> --> </van-pull-refresh> -->
</div> </div>
</div> </div>
...@@ -44,7 +52,7 @@ ...@@ -44,7 +52,7 @@
</template> </template>
<script> <script>
import { Toast } from "vant"; import { postMessgaelist, noticeRemove } from "@/service/message";
export default { export default {
data() { data() {
return { return {
...@@ -63,27 +71,79 @@ export default { ...@@ -63,27 +71,79 @@ export default {
} }
], ],
activeIndex: 0, activeIndex: 0,
activeVal: '全部',
searchVal: "", searchVal: "",
messageList: [] // 消息列表
// refreshing: false, // 下拉刷新开关 // refreshing: false, // 下拉刷新开关
// loading: false, // 列表滚动到底部会触发load事件 // loading: false, // 列表滚动到底部会触发load事件
// finished: false // 列表数据全部加载完成 // finished: false // 列表数据全部加载完成
}; };
}, },
mounted() {}, created() {
this.getMessageList();
this.unRead();
},
methods: { methods: {
// 点击类别 // 点击类别
selectCategory(index, data) { clickCategory(index, data) {
this.activeIndex = index; this.activeIndex = index;
console.log(data); this.activeVal = this.messageCategory[index].category
// 点击全部还是已读还是未读
this.selectCategory(data);
}, },
// 搜索事件 // 搜索事件
onSearch(val) { onSearch(val) {
if (val !== "") { console.log(val);
console.log(val); },
// 封装全部 已读 和 未读的方法
selectCategory(data) {
if (data == "全部") {
this.getMessageList();
} else {
let formData = new FormData();
formData.append("status", data);
this.getMessageList(formData);
} }
}, },
// 点击消息条目时的点击事件 变成已读
read(data) {
if (data.status == "未读") {
let formData = new FormData();
formData.append("ids", data.pid);
noticeRemove("/mobile/noticeRemove", formData).then(res => {
if (res.code == 0) {
// 如果请求接口成功 则重新请求一下未读消息的条数
this.unRead();
// 重新请求对应的接口 刷新列表数据
let val = this.activeVal
this.selectCategory(val);
}
});
}
},
// 请求有多少未读消息的接口
unRead() {
let formData = new FormData();
formData.append("status", "未读");
postMessgaelist("/mobile/notice", formData).then(res => {
if (res.code == 0) {
// 向父组件发送消息条数
this.$emit("messageLength", res.total);
}
});
},
// 请求消息接口方法
getMessageList(data) {
postMessgaelist("/mobile/notice", data).then(res => {
this.messageList = res.rows;
});
}
// // 下拉刷新事件 // // 下拉刷新事件
// onRefresh() { // onRefresh() {
// // 清空列表数据 // // 清空列表数据
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<!-- 退出系统 --> <!-- 退出系统 -->
<footer class="sign-out"> <footer class="sign-out">
<van-button type="info" block @click="logout">退出系统123</van-button> <van-button type="info" block @click="logout">退出系统</van-button>
</footer> </footer>
</div> </div>
......
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
<!-- 内容 --> <!-- 内容 -->
<div class="con"> <div class="con">
<!-- 消息中心 --> <!-- 消息中心 -->
<van-cell-group inset> <van-cell-group inset v-if="finalNewsCenterList.length > 0">
<van-cell value="消息中心" /> <van-cell value="消息中心" />
<van-grid :column-num="5"> <van-grid :column-num="5">
<van-grid-item <van-grid-item
v-for="item in newsCenterList" v-for="item in finalNewsCenterList"
:key="item.key" :key="item.key"
:icon="item.imgUrl" :icon="item.imgUrl"
:text="item.text" :text="item.text"
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
</van-cell-group> </van-cell-group>
<!-- 风控分级管控 --> <!-- 风控分级管控 -->
<van-cell-group inset> <van-cell-group inset v-if="finalRiskList.length > 0">
<van-cell value="风控分级管控" /> <van-cell value="风控分级管控" />
<van-grid :column-num="5"> <van-grid :column-num="5">
<van-grid-item <van-grid-item
v-for="item in riskList" v-for="item in finalRiskList"
:key="item.key" :key="item.key"
:icon="item.imgUrl" :icon="item.imgUrl"
:text="item.text" :text="item.text"
...@@ -37,11 +37,11 @@ ...@@ -37,11 +37,11 @@
</van-cell-group> </van-cell-group>
<!-- 隐患排查治理 --> <!-- 隐患排查治理 -->
<van-cell-group inset> <van-cell-group inset v-if="finalDangerList.length > 0">
<van-cell value="隐患排查治理" /> <van-cell value="隐患排查治理" />
<van-grid :column-num="5"> <van-grid :column-num="5">
<van-grid-item <van-grid-item
v-for="item in dangerList" v-for="item in finalDangerList"
:key="item.key" :key="item.key"
:icon="item.imgUrl" :icon="item.imgUrl"
:text="item.text" :text="item.text"
...@@ -50,11 +50,12 @@ ...@@ -50,11 +50,12 @@
</van-cell-group> </van-cell-group>
<!-- 安全监督检查 --> <!-- 安全监督检查 -->
<van-cell-group inset> <van-cell-group inset v-if="finalSafetyCheckList.length > 0">
<van-cell value="安全监督检查" /> <van-cell value="安全监督检查" />
<van-grid :column-num="5"> <van-grid :column-num="5">
<van-grid-item @click="jump(item.path)" <van-grid-item
v-for="item in safetyCheckList" @click="jump(item.path)"
v-for="item in finalSafetyCheckList"
:key="item.key" :key="item.key"
:icon="item.imgUrl" :icon="item.imgUrl"
:text="item.text" :text="item.text"
...@@ -70,6 +71,7 @@ ...@@ -70,6 +71,7 @@
<script> <script>
import tabBar from "@/components/TabBar"; import tabBar from "@/components/TabBar";
import { postWork } from "@/service/workbench";
export default { export default {
components: { components: {
tabBar tabBar
...@@ -104,7 +106,7 @@ export default { ...@@ -104,7 +106,7 @@ export default {
{ {
key: "1", key: "1",
imgUrl: require("@/assets/workbench/risk-report.png"), imgUrl: require("@/assets/workbench/risk-report.png"),
text: "风险" text: "风险"
}, },
{ {
key: "2", key: "2",
...@@ -137,7 +139,7 @@ export default { ...@@ -137,7 +139,7 @@ export default {
{ {
key: "4", key: "4",
imgUrl: require("@/assets/workbench/danger-acceptance.png"), imgUrl: require("@/assets/workbench/danger-acceptance.png"),
text: "隐患验收" text: "隐患复查"
}, },
{ {
key: "5", key: "5",
...@@ -149,58 +151,105 @@ export default { ...@@ -149,58 +151,105 @@ export default {
// 安全监督检查 // 安全监督检查
{ {
key: "1", key: "1",
path:'', path: "",
imgUrl: require("@/assets/workbench/inspect-plane.png"), imgUrl: require("@/assets/workbench/inspect-plane.png"),
text: "检查计划" text: "检查计划"
}, },
{ {
key: "2", key: "2",
path:'', path: "",
imgUrl: require("@/assets/workbench/plane-approval.png"), imgUrl: require("@/assets/workbench/plane-approval.png"),
text: "计划审批" text: "计划审批"
}, },
{ {
key: "3", key: "3",
path:'/checked', path: "/checked",
imgUrl: require("@/assets/workbench/check-implement.png"), imgUrl: require("@/assets/workbench/check-implement.png"),
text: "检查执行" text: "检查执行"
}, },
{ {
key: "4", key: "4",
path:'/notice', path: "/notice",
imgUrl: require("@/assets/workbench/rectification-notice.png"), imgUrl: require("@/assets/workbench/rectification-notice.png"),
text: "整改通知" text: "整改通知"
}, },
{ {
key: "5", key: "5",
path:'', path: "",
imgUrl: require("@/assets/workbench/issue-rectification.png"), imgUrl: require("@/assets/workbench/issue-rectification.png"),
text: "问题整改" text: "问题整改"
}, },
{ {
key: "6", key: "6",
path:'/correct', path: "/correct",
imgUrl: require("@/assets/workbench/retification-acceptance.png"), imgUrl: require("@/assets/workbench/retification-acceptance.png"),
text: "整改验收" text: "整改验收"
}, },
{ {
key: "7", key: "7",
path:'', path: "",
imgUrl: require("@/assets/workbench/ehcek-record.png"), imgUrl: require("@/assets/workbench/ehcek-record.png"),
text: "检查记录" text: "检查记录"
} }
] ],
// 后台给的数据权限对象
powerObj: {},
finalNewsCenterList: [],
finalRiskList: [],
finalDangerList: [],
finalSafetyCheckList: []
}; };
}, },
mounted() {}, created() {
// 根据权限显示对应的图标
this.getWorkList();
},
methods: { methods: {
myClick(data) { myClick(data) {
console.log(data); console.log(data);
}, },
jump(path){ jump(path) {
if(path){ if (path) {
this.$router.push(path) this.$router.push(path);
}
},
// 请求工作台列表
getWorkList() {
postWork("/mobile/menu").then(res => {
if (res.code == 0) {
this.powerObj = res.data;
if (this.powerObj.风险分级管控) {
// 对两个数组进行比较 拿到需要的数据 赋值给新数组 (赋值给新数组是为了解决页面闪屏问题)
this.finalRiskList = [...this.riskList].filter(x =>
[...this.powerObj.风险分级管控].some(y => y.menuName === x.text)
);
} else {
this.finalRiskList = [];
}
// 隐患排查治理
if (this.powerObj.隐患排查治理) {
this.finalDangerList = [...this.dangerList].filter(x =>
[...this.powerObj.隐患排查治理].some(y => y.menuName === x.text)
);
} else {
this.finalDangerList = [];
}
// 安全监督检查
if (this.powerObj.安全监督检查) {
this.finalSafetyCheckList = [...this.safetyCheckList].filter(x =>
[...this.powerObj.安全监督检查].some(y => y.menuName === x.text)
);
} else {
this.finalSafetyCheckList = [];
}
// 消息
this.finalNewsCenterList = this.newsCenterList;
} else {
this.powerObj = [];
} }
});
} }
} }
}; };
...@@ -222,7 +271,7 @@ export default { ...@@ -222,7 +271,7 @@ export default {
// height: 100%; // height: 100%;
padding: 10px 0 50px 0; padding: 10px 0 50px 0;
background-color: #f0f1f5; background-color: #f0f1f5;
/deep/ .van-grid-item__content--center{ /deep/ .van-grid-item__content--center {
padding-left: 0px; padding-left: 0px;
padding-right: 0px; padding-right: 0px;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment