188 lines
3.9 KiB
Vue
188 lines
3.9 KiB
Vue
<template>
|
||
<view class="page">
|
||
<view class="cu-item height">
|
||
<view class="action">
|
||
<text class="text-black">文章名称:</text>
|
||
</view>
|
||
</view>
|
||
<view class="cu-item title">
|
||
<textarea placeholder="请输入文章名称"
|
||
v-model="noticeInfo.title"
|
||
maxlength=50
|
||
></textarea>
|
||
</view>
|
||
<view class="cu-item height">
|
||
<view class="action">
|
||
<text class="text-black">文章标签:</text>
|
||
</view>
|
||
</view>
|
||
<view class="cu-item label">
|
||
<textarea placeholder="请输入文章标签"
|
||
v-model="noticeInfo.label"
|
||
maxlength=4
|
||
></textarea>
|
||
</view>
|
||
<view class="cu-item">
|
||
<view class="action">
|
||
<text class="text-black">文章内容:</text>
|
||
</view>
|
||
</view>
|
||
<view class="cu-item content">
|
||
<textarea placeholder="请输入文章内容"
|
||
v-model="noticeInfo.content"
|
||
auto-height="true"
|
||
maxlength=2000
|
||
></textarea>
|
||
</view>
|
||
<view class="button">
|
||
<button type="warn" @tap="deleteArticle">删除</button>
|
||
<button type="default" @tap="preservation">保存</button>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import request from '@/util/request.js';
|
||
export default {
|
||
components: {
|
||
},
|
||
data() {
|
||
let noticeInfo = uni.getStorageSync('notice');
|
||
noticeInfo.fabulous = true;
|
||
noticeInfo.messageFabulous = true;
|
||
return {
|
||
//文章信息
|
||
noticeInfo: noticeInfo,
|
||
}
|
||
},
|
||
onLoad() {
|
||
|
||
},
|
||
onNavigationBarButtonTap(e) {
|
||
this.deleteArticle()
|
||
},
|
||
mounted() {
|
||
},
|
||
methods: {
|
||
/**
|
||
* 删除
|
||
* @param {Object} e
|
||
*/
|
||
deleteArticle() {
|
||
let _this = this;
|
||
uni.showModal({
|
||
title: '删除',
|
||
content: '确认删除这篇文章?',
|
||
success(res) {
|
||
if (res.confirm) {
|
||
request.post('/hs/deleteOne',{
|
||
id: _this.noticeInfo.id
|
||
}).then(res => {
|
||
console.log("删除这篇文章",res);
|
||
if (res.data === 1) {
|
||
uni.showToast({
|
||
icon: 'loading',
|
||
title: '删除成功'
|
||
});
|
||
setTimeout(() => {
|
||
uni.navigateBack({
|
||
delta: 1
|
||
})
|
||
},1000)
|
||
}
|
||
},err=>{
|
||
console.log("err",err);
|
||
})
|
||
} else if (res.cancel) {
|
||
console.log('用户点击取消');
|
||
}
|
||
}
|
||
});
|
||
},
|
||
/**
|
||
* 保存
|
||
*/
|
||
preservation() {
|
||
if (this.noticeInfo.title === '') {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请输入文章标题'
|
||
})
|
||
} else if (this.noticeInfo.label.length !== 4) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '文章标签只能4个字符哦'
|
||
})
|
||
} else if (this.noticeInfo.content === '') {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请输入文章内容'
|
||
})
|
||
} else {
|
||
request.post('/hs/updateOneContent',{
|
||
id: this.noticeInfo.id,
|
||
label: this.noticeInfo.label,
|
||
title: this.noticeInfo.title,
|
||
content: this.noticeInfo.content,
|
||
}).then(res => {
|
||
console.log("保存文章",res);
|
||
if (res.data === 1) {
|
||
uni.showToast({
|
||
icon: 'loading',
|
||
title: '保存成功'
|
||
});
|
||
setTimeout(() => {
|
||
uni.navigateBack({
|
||
delta: 1
|
||
})
|
||
},1000)
|
||
}
|
||
},err=>{
|
||
console.log("err",err);
|
||
})
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.button button:nth-child(2){
|
||
margin-left: 80rpx;
|
||
}
|
||
.button button{
|
||
width: 200rpx;
|
||
}
|
||
.button{
|
||
display: flex;
|
||
margin: 40rpx;
|
||
justify-content: center;
|
||
align-items: center;
|
||
}
|
||
.cu-item{
|
||
padding: 20rpx;
|
||
}
|
||
.title{
|
||
padding-top: 0;
|
||
}
|
||
.title, .label, .content{
|
||
background-color: #F1F1F1;
|
||
border-radius: 10rpx;
|
||
padding: 20rpx;
|
||
margin: 20rpx;
|
||
}
|
||
.title textarea, .label textarea, .content textarea{
|
||
width: 100%;
|
||
}
|
||
.title textarea{
|
||
height: 128rpx;
|
||
font-weight: bold;
|
||
}
|
||
.label textarea{
|
||
height: 80rpx;
|
||
}
|
||
.page{
|
||
background-color: #FFFFFF;
|
||
}
|
||
</style>
|