building-sign/pagesB/notick/notick.vue

111 lines
2.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav navBarTitle="公告管理"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 公告状态 -->
<view class="notick-status">
<view class="radio-item" @tap="changeNotickStatus(index)" v-for="(item,index) in radioList" :key="index">
<view :class="radioIndex==index?'checked':''"></view>
<view class="font26">{{item}}</view>
</view>
</view>
<!-- 公告内容 -->
<view class="notick-txt">
<view class="notick-tips font26">请编辑公告内容</view>
<textarea class="input font26" name="msg" v-model="noticeMsg" placeholder="请填写公告内容"></textarea>
</view>
<!-- 提交按钮 -->
<view class="enter-detail-btns color-white font30">
<view class="btn" @tap="savaNoticeEv('btn')">发布</view>
<view class="btn" @tap="backEv">取消</view>
</view>
</view>
<!-- 尾部 -->
<tabbar :userType="userType" current="2"></tabbar>
</view>
</template>
<script>
import tabbar from '@/components/tabbar/tabbar';
export default {
components:{
tabbar
},
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //状态栏高度
userType:'director', //账户类型 工人worker 负责人director
radioList:['开启','禁用'],
radioIndex:0, //当前选择
noticeMsg:'', //公告内容
}
},
onLoad(op) {
},
onShow() {
// 获取工地公告
this.getWorksiteNotice();
},
methods: {
// 改变公告开启状态
changeNotickStatus(index){
if(this.radioIndex !== index){
this.radioIndex = index;
// 发布公告
this.savaNoticeEv('change');
}
},
// 获取工地公告
getWorksiteNotice(){
this.$requst.get('/api/v1/index/worksite-notice',{worksite_id:uni.getStorageSync('baseWorksiteId')}).then(res=>{
if(res.code==0){
console.log(res,'工地公告');
this.noticeMsg = res.data.content;
}
})
},
// 发布公告
savaNoticeEv(type){
let params = {
status:this.radioIndex==0?1:0,
content:this.noticeMsg
}
this.$requst.post('/api/v1/manager/save-notice',params).then(res=>{
if(res.code==0){
if(type=='change'){
if(this.radioIndex==0){
this.$toolAll.tools.showToast('已开启');
}else{
this.$toolAll.tools.showToast('已禁用');
}
}else{
this.$toolAll.tools.showToast('发布成功');
}
}else{
this.$toolAll.tools.showToast(res.msg);
if(type=='change'){
if(this.radioIndex==0){
this.radioIndex = 1;
}else{
this.radioIndex = 0;
}
}
}
})
},
// 取消发布
backEv(){
uni.navigateBack({
delta:1
})
}
}
}
</script>
<style scoped>
</style>