项目展示:
小程序端大体展示
后台管理大体展示
项目需要前后端的配合
- 沟通与协作:良好的沟通和协作是前端和后端开发之间成功结合的关键。团队成员应该定期沟通,并确保共享相同的目标和理解。
- API 设计:定义清晰的 API 接口,确保前端和后端之间的数据交换和通信顺畅。API 应该简单明了,并符合业务需求和最佳实践。
- 技术栈的选择:选择合适的技术栈以支持前端和后端的开发。常见的前端技术包括 HTML、CSS、JavaScript、React、Angular 或 Vue.js,而后端技术可以包括 Node.js、Python、Ruby、Java 或 PHP 等。
- 数据交互:确保前端和后端能够有效地交换数据。常见的数据交互方式包括使用 RESTful API、GraphQL 或 WebSocket 等。
- 安全性:确保应用程序在前端和后端都具有必要的安全性。包括对数据传输进行加密,对用户输入进行验证和清理,以及使用安全的身份验证和授权机制等。
- 性能优化:在前端与后端开发中都要注意性能优化。前端需要优化页面加载速度和响应时间,后端需要优化数据处理和数据库查询等。
- 版本控制和部署:使用版本控制系统(如 Git)进行代码管理,并建立适当的部署流程以确保应用程序可以顺利部署到生产环境中。
- 测试:进行全面的单元测试、集成测试和端到端测试,以确保前端和后端代码的质量和稳定性。
- 监控与日志:建立监控系统和日志记录机制,以便及时发现并解决潜在的问题。
- 持续改进:不断收集用户反馈并进行改进。定期审查代码,并寻找优化前端和后端的机会。
呃....然而这些都由我一个人做了。
不是买实体服务器买不起,是云开发更有性价比(坏笑,嘿嘿~)
首先需要完成的是小程序的开发,小程序端我选择的是云开发,因为我想的是反正做一个只在学校用就那几w人也撑不爆云服务空间哇。
关于想成为云全栈开发的朋友们,可以按照我的学习路线走哈~
云开发的学习我这里推荐我自己的哔哩哔哩课程(所有全部免费开放,地址:卢淼儿的个人空间-卢淼儿个人主页-哔哩哔哩视频) 我的视频集里面包括(小程序原生、uniapp、unicloud、python等)记住哦,我的简介里面有加群方式:814571333(“爱编程互助基地”,最近有很多打广告的所以最近机一按先禁言) 里面有惊喜开源项目供大家参考哦~
关于此项目
其实关于此项目并不是我最近几天完成的,是个项目从一开始的小项目,走到这一步,其实它沉淀了很多的东西,它的开发经历20多次版本的更新。由于上半年开发完它之后就去打比赛了。所以一直把它放到了一边,直到前几天国庆节放假回老家,想着,闲着也是闲着,给我的“宝儿~”升升级。于是就有了此项目。
涉及到的技术栈
- vue.js
- node.js
- CloudBase
- WeChat Base
展示部分前端小程序代码
代码语言:javascript复制// pages/shouye/shouye.js
// const { update } = require("XrFrame/kanata/lib/index")
const app = getApp()
const defaultAvatarUrl = '../../images/Default_avatar.png'
Page({
data: {
// 轮播图开始
imgUrls: [
'XXXX-1312670923/yian_tupian/two.jpg',
'XXXX-1312670923/yian_tupian/two.jpg',
],
circular: true,
// indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 300,
inputShowed: false,
touxiang: '../../images/Default_avatar.png',
moren_xinxi: '尚未登陆',
show_login: false,
avatarUrl: defaultAvatarUrl,
name: '请输入昵称',
xuehao:'请输入学号',
xingming:'请输入姓名',
Public_announcement: true,
Public_announcement_1: false,
My_mail: true,
My_mail_1: false
},
close_login_case() {
this.setData({
show_login: false
})
},
show_login_case() {
this.setData({
show_login: true
})
},
WD_ZH_1() {
let that = this
wx.cloud.callFunction({
name: 'getusers',
data: {},
}).then(res => {
that.setData({
user_openid: res.result.openid
})
wx.cloud.database().collection('users').where({
_openid: res.result.openid
})
.remove({
success(res) {
that.setData({
moren_xinxi: '尚未登陆',
touxiang: '../../images/Default_avatar.png'
})
wx.showToast({
title: '谢谢使用!',
icon: 'none'
})
that.onShow()
}
})
})
},
onChooseAvatar(e) {
let avatarUrl = e.detail.avatarUrl
this.setData({
avatarUrl,
})
},
input_nickname(e) {
let nickname = e.detail.value
this.setData({
nickname
})
},
input_xuehao(e){
let xuehao = e.detail.value
this.setData({
xuehao
})
},
input_xingming(e){
let xingming = e.detail.value
this.setData({
xingming
})
},
denglu() {
let that = this
if (that.data.avatarUrl == defaultAvatarUrl || that.data.nickname == '请输入昵称' || that.data.xuehao == '请输入学号' || that.data.xingming == '请输入姓名') {
wx.showToast({
title: '请填写正确信息',
icon: 'none'
})
} else {
wx.cloud.callFunction({
name: 'getusers',
data: {},
}).then(res => {
that.setData({
_openid: res.result.openid
})
wx.cloud.database().collection('users').where({
_openid: res.result.openid
}).get({
success(res) {
wx.cloud.database().collection('users').add({
data: {
nickname: that.data.nickname,
touxiangUrl: that.data.avatarUrl,
openid: that.data._openid,
xuehao:that.data.xuehao,
xingming:that.data.xingming,
user:1
},
success(res) {
that.setData({
show_login: false
})
wx.showToast({
title: '登录成功!',
})
wx.cloud.callFunction({
name:'getusers',
data:{}
}).then(res=>{
wx.cloud.database().collection('xinxiaoxi_users').where({
_openid:res.result.openid
}).get({
success(res){
console.log(res.data.length,'useruser');
if(res.data.length < 1){
wx.cloud.database().collection('xinxiaoxi_users').add({
data: {
user:1,
gonggao: [],
youjian: [],
}
})
}else{
console.log('user已经添加过了');
}
}
})
wx.cloud.database().collection('Two_dimensional_code').where({
_openid:res.result.openid
}).get({
success(res){
console.log(res.data.length,'useruser');
if(res.data.length < 1){
wx.cloud.database().collection('Two_dimensional_code').add({
data: {
user:1,
Two_dimensional_code: [],
}
})
}else{
console.log('二维码已经添加过了');
}
}
})
})
that.onShow()
this.duqu_users()
}
})
}
})
})
}
},
shuaxin() {
let that = this
wx.cloud.callFunction({
name: 'getusers',
data: {},
}).then(res => {
that.setData({
_openid: res.result.openid
})
wx.cloud.database().collection('users').where({
_openid: res.result.openid
}).get({
success(res) {
that.setData({
moren_xinxi: res.data[0].nickname,
touxiang: res.data[0].touxiangUrl,
})
}
})
})
},
Write_letters() {
let that = this
if (that.data.touxiang == "../../images/Default_avatar.png" || that.data.moren_xinxi == "尚未登陆") {
wx.showToast({
title: '您还未登录!',
icon: 'none'
})
} else {
wx.navigateTo({
url: '../Write_letters/Write_letters',
})
}
},
My_mail() {
let that = this
if (that.data.touxiang == "../../images/Default_avatar.png" || that.data.moren_xinxi == "尚未登陆") {
wx.showToast({
title: '您还未登录!',
icon: 'none'
})
} else {
wx.navigateTo({
url: '../My_mail/My_mail',
})
}
},
My_wenjain() {
let that = this
if (that.data.touxiang == "../../images/Default_avatar.png" || that.data.moren_xinxi == "尚未登陆") {
wx.showToast({
title: '您还未登录!',
icon: 'none'
})
} else {
wx.navigateTo({
url: '../My_wenjain/My_wenjain',
})
}
},
Formula_announcement() {
let that = this
if (that.data.touxiang == "../../images/Default_avatar.png" || that.data.moren_xinxi == "尚未登陆") {
wx.showToast({
title: '您还未登录!',
icon: 'none'
})
} else {
wx.navigateTo({
url: '../Formula_announcement/Formula_announcement',
})
}
},
W_zonghe() {
let that = this
wx.cloud.database().collection('content').get({
success(res) {
console.log(res);
let W_zonghe = res.data.length
that.setData({
W_zonghe: W_zonghe
})
}
})
},
W_zixun() {
let that = this
wx.cloud.database().collection('content').where({
newsid: '0'
}).get({
success(res) {
let W_zixun
W_zixun = res.data.length
that.setData({
W_zixun: W_zixun
})
if (W_zixun >= 1) {
that.setData({
W_zixun1: true,
W_zixun2: false,
W_zixun: W_zixun
})
} else {
that.setData({
W_zixun1: false,
W_zixun2: true,
})
}
}
})
},
W_yijian() {
let that = this
wx.cloud.database().collection('content').where({
newsid: '1'
}).get({
success(res) {
let W_yijian
W_yijian = res.data.length
that.setData({
W_yijian: W_yijian
})
if (W_yijian >= 1) {
that.setData({
W_yijian1: true,
W_yijian2: false,
W_yijian: W_yijian
})
} else {
that.setData({
W_yijian1: false,
W_yijian2: true,
})
}
}
})
},
W_qiuzhu() {
let that = this
wx.cloud.database().collection('content').where({
newsid: '2'
}).get({
success(res) {
let W_qiuzhu
W_qiuzhu = res.data.length
that.setData({
W_qiuzhu: W_qiuzhu
})
if (W_qiuzhu >= 1) {
that.setData({
W_qiuzhu1: true,
W_qiuzhu2: false,
W_qiuzhu: W_qiuzhu
})
} else {
that.setData({
W_qiuzhu1: false,
W_qiuzhu2: true,
})
}
}
})
},
W_jubao() {
let that = this
wx.cloud.database().collection('content').where({
newsid: '3'
}).get({
success(res) {
let W_jubao
W_jubao = res.data.length
that.setData({
W_jubao: W_jubao
})
if (W_jubao >= 1) {
that.setData({
W_jubao1: true,
W_jubao2: false,
W_jubao: W_jubao
})
} else {
that.setData({
W_jubao1: false,
W_jubao2: true,
})
}
}
})
},
W_tousu() {
let that = this
wx.cloud.database().collection('content').where({
newsid: '4'
}).get({
success(res) {
let W_tousu
W_tousu = res.data.length
that.setData({
W_tousu: W_tousu
})
if (W_tousu >= 1) {
that.setData({
W_tousu1: true,
W_tousu2: false,
W_tousu: W_tousu
})
} else {
that.setData({
W_tousu1: false,
W_tousu2: true,
})
}
}
})
},
W_baoxiu() {
let that = this
wx.cloud.database().collection('content').where({
newsid: '5'
}).get({
success(res) {
let W_baoxiu
W_baoxiu = res.data.length
that.setData({
W_baoxiu: W_baoxiu
})
if (W_baoxiu >= 1) {
that.setData({
W_baoxiu1: true,
W_baoxiu2: false,
W_baoxiu: W_baoxiu
})
} else {
that.setData({
W_baoxiu1: false,
W_baoxiu2: true,
})
}
}
})
},
Y_zonghe() {
let that = this
wx.cloud.database().collection('yiyuedu').get({
success(res) {
console.log(res);
let Y_zonghe = res.data.length
that.setData({
Y_zonghe: Y_zonghe
})
}
})
},
Y_zixun() {
let that = this
wx.cloud.database().collection('yiyuedu').where({
newsid: '0'
}).get({
success(res) {
let Y_zixun
Y_zixun = res.data.length
that.setData({
Y_zixun: Y_zixun
})
if (Y_zixun >= 1) {
that.setData({
Y_zixun1: true,
Y_zixun2: false,
Y_zixun: Y_zixun
})
} else {
that.setData({
Y_zixun1: false,
Y_zixun2: true,
})
}
}
})
},
Y_yijian() {
let that = this
wx.cloud.database().collection('yiyuedu').where({
newsid: '1'
}).get({
success(res) {
let Y_yijian
Y_yijian = res.data.length
that.setData({
Y_yijian: Y_yijian
})
if (Y_yijian >= 1) {
that.setData({
Y_yijian1: true,
Y_yijian2: false,
Y_yijian: Y_yijian
})
} else {
that.setData({
Y_yijian1: false,
Y_yijian2: true,
})
}
}
})
},
Y_qiuzhu() {
let that = this
wx.cloud.database().collection('yiyuedu').where({
newsid: '2'
}).get({
success(res) {
let Y_qiuzhu
Y_qiuzhu = res.data.length
that.setData({
Y_qiuzhu: Y_qiuzhu
})
if (Y_qiuzhu >= 1) {
that.setData({
Y_qiuzhu1: true,
Y_qiuzhu2: false,
Y_qiuzhu: Y_qiuzhu
})
} else {
that.setData({
Y_qiuzhu1: false,
Y_qiuzhu2: true,
})
}
}
})
},
Y_jubao() {
let that = this
wx.cloud.database().collection('yiyuedu').where({
newsid: '3'
}).get({
success(res) {
let Y_jubao
Y_jubao = res.data.length
that.setData({
Y_jubao: Y_jubao
})
if (Y_jubao >= 1) {
that.setData({
Y_jubao1: true,
Y_jubao2: false,
Y_jubao: Y_jubao
})
} else {
that.setData({
Y_jubao1: false,
Y_jubao2: true,
})
}
}
})
},
Y_tousu() {
let that = this
wx.cloud.database().collection('yiyuedu').where({
newsid: '4'
}).get({
success(res) {
let Y_tousu
Y_tousu = res.data.length
that.setData({
Y_tousu: Y_tousu
})
if (Y_tousu >= 1) {
that.setData({
Y_tousu1: true,
Y_tousu2: false,
Y_tousu: Y_tousu
})
} else {
that.setData({
Y_tousu1: false,
Y_tousu2: true,
})
}
}
})
},
Y_baoxiu() {
let that = this
wx.cloud.database().collection('yiyuedu').where({
newsid: '5'
}).get({
success(res) {
let Y_baoxiu
Y_baoxiu = res.data.length
that.setData({
Y_baoxiu: Y_baoxiu
})
if (Y_baoxiu >= 1) {
that.setData({
Y_baoxiu1: true,
Y_baoxiu2: false,
Y_baoxiu: Y_baoxiu
})
} else {
that.setData({
Y_baoxiu1: false,
Y_baoxiu2: true,
})
}
}
})
},
administrator() {
let that = this
if (that.data.touxiang == "../../images/Default_avatar.png" || that.data.moren_xinxi == "尚未登陆") {
wx.showToast({
title: '登录后,可登录管理员后台',
icon: 'none'
})
} else {
wx.navigateTo({
url: '../administrator_DL/administrator_DL',
})
}
},
Rili() {
wx.navigateTo({
url: '../Rili/Rili',
})
},
onLoad(options) {
if (options.wenjian == 'yonghu') {
wx.navigateTo({
url: '../My_wenjain/My_wenjain',
})
}
},
onReady() {
},
gonggao_xin(){
let that = this
wx.cloud.callFunction({
name:'getusers',
data:{}
}).then(res=>{
wx.cloud.database().collection('xinxiaoxi_users').where({
_openid:res.result.openid
}).get({
success(res){
console.log(res.data[0].gonggao.length,'qqqqqqqqqqqqqqqqqqqqqqqqqqqq');
if(res.data[0].gonggao.length > 0){
that.setData({
Public_announcement: false,
Public_announcement_1: true,
})
}
}
})
})
},
Formula_announcement_1(){
let that = this
that.Formula_announcement()
that.setData({
Public_announcement: true,
Public_announcement_1: false,
})
wx.cloud.callFunction({
name:'getusers',
data:{}
}).then(res=>{
console.log(res.result.openid,'ooooooooooooooooooooooooppppppppppppp');
wx.cloud.database().collection('xinxiaoxi_users').where({
_openid:res.result.openid
}).update({
data:{
gonggao:[]
}
})
})
},
My_mail_xin(){
let that = this
wx.cloud.callFunction({
name:'getusers',
data:{}
}).then(res=>{
wx.cloud.database().collection('xinxiaoxi_users').where({
_openid:res.result.openid
}).get({
success(res){
console.log(res.data[0].youjian.length,'qqqqqqqqqqqqqqqqqqqqqqqqqqqq');
if(res.data[0].youjian.length > 0){
that.setData({
My_mail: false,
My_mail_1: true,
})
}
}
})
})
},
My_mail_1(){
let that = this
that.My_mail()
that.setData({
My_mail: true,
My_mail_1: false,
})
wx.cloud.callFunction({
name:'getusers',
data:{}
}).then(res=>{
console.log(res.result.openid,'ooooooooooooooooooooooooppppppppppppp');
wx.cloud.database().collection('xinxiaoxi_users').where({
_openid:res.result.openid
}).update({
data:{
youjian:[]
}
})
})
},
onShow() {
this.gonggao_xin()
this.My_mail_xin()
this.shuaxin()
this.W_zonghe()
this.W_zixun()
this.W_yijian()
this.W_qiuzhu()
this.W_jubao()
this.W_tousu()
this.W_baoxiu()
this.Y_zonghe()
this.Y_zixun()
this.Y_yijian()
this.Y_qiuzhu()
this.Y_jubao()
this.Y_tousu()
this.Y_baoxiu()
},
onHide() {
},
onUnload() {},
onPullDownRefresh() {},
onReachBottom() {
},
onShareAppMessage() {
}
})
展示部分前端后台PC端代码
代码语言:javascript复制<template>
<div id="app">
<el-button style="margin: 10px 0 0 200px;" @click="weidu" type="primary">未阅读</el-button>
<el-button style="margin: 10px 100px 0 0;" @click="YiYueDu" type="success">已阅读</el-button>
<el-dropdown @command="handleClick_fenlei">
<el-button type="primary">
邮件分类<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="咨询类">咨询类</el-dropdown-item>
<el-dropdown-item command="意见类">意见类</el-dropdown-item>
<el-dropdown-item command="求助类">求助类</el-dropdown-item>
<el-dropdown-item command="举报类">举报类</el-dropdown-item>
<el-dropdown-item command="投诉类">投诉类</el-dropdown-item>
<el-dropdown-item command="报修类">报修类</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div
style="display: flex;flex-direction: row;justify-content: space-around;padding: 20px 100px 30px 200px;height: 73%;">
<el-table :data="tableData" border style="width: 45%;">
<el-table-column fixed label="邮件图片" width="175">
<template slot-scope="scope">
<img style="width: 150px;height: 100px;display: flex;flex-direction: row;justify-content: space-around;align-content: center;"
:src="scope.row.img_URL" alt="无图片">
</template>
</el-table-column>
<el-table-column prop="title" label="邮件主题" width="300">
</el-table-column>
<el-table-column prop="content" label="邮件内容" width="300">
</el-table-column>
<el-table-column prop="cTime" label="上传时间" width="300">
</el-table-column>
<el-table-column fixed="right" label="操作" width="220">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row), drawer = true" type="primary" size="small">查看</el-button>
<el-button v-if="handleClick_YiYue_panduan" @click="handleClick_YiYue(scope.row)" type="success"
size="small">已阅</el-button>
<!-- 未读邮件删除 -->
<el-button v-if="handleClick_weidu_panduan" @click="delClick(scope.row)" type="danger"
size="small">删除</el-button>
<!-- 已读邮件删除 -->
<el-button v-if="handleClick_yidu_panduan" @click="delClick_1(scope.row)" type="danger"
size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 未读分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_weidu" v-if="paginationType === 'weidu'"></el-pagination>
<!-- 已读分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_yidu" v-if="paginationType === 'yidu'"></el-pagination>
<!-- 咨询类分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_newids0" v-if="paginationType === 'newids0'"></el-pagination>
<!-- 意见类分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_newids1" v-if="paginationType === 'newids1'"></el-pagination>
<!-- 求助类分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_newids2" v-if="paginationType === 'newids2'"></el-pagination>
<!-- 举报类分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_newids3" v-if="paginationType === 'newids3'"></el-pagination>
<!-- 投诉类分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_newids4" v-if="paginationType === 'newids4'"></el-pagination>
<!-- 报修类分页 -->
<el-pagination background :current-page="currentPage" :page-size="pageSize" :total="total"
@current-change="handleCurrentChange_newids5" v-if="paginationType === 'newids5'"></el-pagination>
<el-drawer :title="this.row_title" :visible.sync="drawer" :with-header="false">
<div style="display: flex;flex-direction: column;">
<div style="display: flex;flex-direction: row;justify-content: space-around;">
<img style="width: 350px;height: 200px;border-radius: 20px;margin-top: 20px;" :src="this.row_img" />
</div>
<div style="margin-left: 20px;display: flex;flex-direction: column;">
<span style="font-size: 22px;font-weight: bolder;margin-top: 20px;margin-bottom: 10px;">标题</span>
<span>{{ this.row_title }}</span>
<span style="font-size: 22px;font-weight: bolder;margin-top: 20px;margin-bottom: 10px;">内容</span>
<span>{{ this.row_content }}</span>
<span style="font-size: 22px;font-weight: bolder;margin-top: 20px;margin-bottom: 10px;">时间</span>
<span>{{ this.row_cTime }}</span>
</div>
</div>
</el-drawer>
</div>
</template>
<script>
import YouJianGuanLi from '../YouJian/YouJianGuanLi.vue'
export default {
name: 'App',
components: {
YouJianGuanLi
},
data() {
return {
// 未读状态分页
currentPage: 1,
pageSize: 5,
total: 0,
paginationType: '',
fileList: [],
imgUrl: '',
form: {
name: '',
content: ''
},
formRules: {
name: [{
required: true,
message: '请输入公告主题',
trigger: 'change'
}],
content: [{
required: true,
message: '请输入公告内容',
trigger: 'change'
}]
},
tableData: [],
selectedFile: null,
previewImage: null,
previewImages: [],
cloud_img_url: [],
http_img_url: [],
drawer: false,
row_title: '',
row_content: '',
row_img: '',
row_cTime: '',
handleClick_YiYue_panduan: true,
handleClick_weidu_panduan: true,
handleClick_yidu_panduan: false
}
},
created() {
this.YouJian_GuanLi()
},
methods: {
async wxXCX() {
var c1 = new this.cloud.Cloud({
identityless: true,
resourceAppid: 'XXX',
resourceEnv: 'XXX',
})
await c1.init()
return c1;
},
async YouJian_GuanLi() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
pc_YouJian: 1,
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true
this.paginationType = 'weidu'
}
})
console.log(111);
},
handleCurrentChange_weidu(val) {
this.currentPage = val
this.weidu()
},
handleClick(row) {
console.log(row);
this.row_title = row.title
this.row_content = row.content
this.row_img = row.img_URL
this.row_cTime = row.cTime
},
async handleClick_YiYue(row) {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
yiyue_pc_YouJian_GuanLi: 1,
_id: row._id
},
success: res => {
this.YouJian_GuanLi()
}
})
},
async delClick(row) {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
del_pc_YouJian_GuanLi: 1,
_id: row._id
},
success: res => {
this.YouJian_GuanLi()
}
})
},
async YiYueDu() {
const c1 = await this.wxXCX();
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
YiYueDu_pc_YouJian: 1,
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = false,
this.handleClick_weidu_panduan = false
this.handleClick_yidu_panduan = true,
this.paginationType = 'yidu'
}
})
},
handleCurrentChange_yidu(val) {
this.currentPage = val
this.YiYueDu_list()
},
async YiYueDu_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
YiYueDu_pc_YouJian: 1,
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = false,
this.handleClick_weidu_panduan = false
this.handleClick_yidu_panduan = true,
this.paginationType = 'yidu'
}
})
},
weidu() {
this.YouJian_GuanLi(),
this.handleClick_weidu_panduan = true
this.handleClick_yidu_panduan = false
},
async delClick_1(row) {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
del_yidu_pc_YouJian_GuanLi: 1,
_id: row._id
},
success: res => {
this.YiYueDu()
}
})
},
handleCurrentChange_newids0(val) {
this.currentPage = val
this.handleCurrentChange_newids0_list()
},
async handleCurrentChange_newids0_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "0",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids0'
}
})
},
handleCurrentChange_newids1(val) {
this.currentPage = val
this.handleCurrentChange_newids1_list()
},
async handleCurrentChange_newids1_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "1",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids1'
}
})
},
handleCurrentChange_newids2(val) {
this.currentPage = val
this.handleCurrentChange_newids2_list()
},
async handleCurrentChange_newids2_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "2",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids2'
}
})
},
handleCurrentChange_newids3(val) {
this.currentPage = val
this.handleCurrentChange_newids3_list()
},
async handleCurrentChange_newids3_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "3",
currentPage: this.currentPage
}, //调用的云函数名字
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids3'
}
})
},
handleCurrentChange_newids4(val) {
this.currentPage = val
this.handleCurrentChange_newids4_list()
},
async handleCurrentChange_newids4_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "4",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids4'
}
})
},
handleCurrentChange_newids5(val) {
this.currentPage = val
this.handleCurrentChange_newids5_list('报修类')
},
async handleCurrentChange_newids5_list() {
const c1 = await this.wxXCX();
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "5",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids5'
}
})
},
async handleClick_fenlei(command) {
const c1 = await this.wxXCX();
this.$message('正在查看' '----' command);
// this.command = command
if (command == '咨询类') {
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "0",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids0'
}
})
} else if (command == '意见类') {
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "1",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids1'
}
})
} else if (command == '求助类') {
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "2",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids2'
}
})
} else if (command == '举报类') {
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "3",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true
this.paginationType = 'newids3'
}
})
} else if (command == '投诉类') {
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "4",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids4'
}
})
} else if (command == '报修类') {
this.currentPage = 1,
this.pageSize = 5,
this.total = 0,
c1.callFunction({
name: 'pc_houtai',
data: {
fenlei_pc_YouJian: 1,
newsid: "5",
currentPage: this.currentPage
},
success: res => {
console.log(res.result.data)
this.tableData = res.result.data
this.total = res.result.pageCount * this.pageSize
this.handleClick_YiYue_panduan = true,
this.paginationType = 'newids5'
}
})
}
}
},
}
</script>
<style scoped>
.box {
box-shadow:
inset 0 0 10px rgba(255, 255, 255, 0.5),
inset 0 0 20px rgba(255, 255, 255, 0.3),
0 0 10px rgba(0, 0, 0, 0.5);
border-radius: 5px;
width: 1500px;
}
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
z-index: 999;
}
.custom-file-upload {
display: inline-block;
padding: 10px 20px;
background-color: #f0f0f0;
color: #333;
border: 2px solid #ccc;
border-radius: 5px;
cursor: pointer;
height: 20px;
}
.custom-file-upload:hover {
background-color: #e0e0e0;
}
.custom-file-upload input[type="file"] {
display: none;
}
</style>