src/api/User.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Home.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/cause/Group.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/common/Publicity.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/manager/User.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/User.js
@@ -7,10 +7,18 @@ params }) } export function addPublicityList(params) { return request({ url: '/user/add', method: 'post', data:params data: params }) } export function toManager(id) { return request({ url: '/user/toManager/' + id, method: 'get' }) } src/views/Home.vue
@@ -118,8 +118,9 @@ <!-- 右侧内容主题 --> <el-main style="background-color: #F5FAFF"> <router-view></router-view> <!-- <div style="position: absolute;bottom: 0;right: 50%;color: #ccc">当前版本 v2.1.3</div>--> </el-main> <div style="position: absolute;bottom: 0;right: 50%;color: #ccc">当前版本 v2.1.3</div> </el-container> </el-container> </template> src/views/cause/Group.vue
@@ -22,7 +22,7 @@ <el-button style="margin-left: 5px" type="primary" @click="search">搜索</el-button> </div> <div class="group-right-left-seach-body-box"> <ul v-infinite-scroll="load" style="overflow:auto;height: 569px" class="group-right-left-seach-body-box-ul"> <ul v-infinite-scroll="load" style="overflow:auto;height: 558px" class="group-right-left-seach-body-box-ul"> <li v-for="messageOne in messageList" class="group-right-left-seach-body-box-li" > <div class="group-right-left-seach-body-box-imgmessage"> <img class="group-img" v-if="messageOne.pic != null && messageOne.pic != ''" :src="messageOne.pic" @@ -254,14 +254,22 @@ background-color: #fff; .group-left{ width: 300px; .inputleft{ margin-top: 10px; margin-left: 5px; } } .group-right{ margin-left: 10px; border-left: 1px solid #ccc; padding-left: 10px; background-color: #fff; //flex-grow: 1; .group-right-name{ margin-bottom: 10px; font-size: 16px; font-weight: 900; margin-top: 10px; } .group-right-box{ display: flex; src/views/common/Publicity.vue
@@ -21,7 +21,7 @@ <el-form-item> <el-upload name="multipartFile" class="upload-demo" action="/api/publicity/upload " :show-file-list="false" :before-upload="beforeAvatarUpload" :on-success="respond" :limit="1"> :before-upload="beforeAvatarUpload" :on-success="respond" :limit="1"> <el-button type="primary">导入</el-button> </el-upload> </el-form-item> @@ -52,7 +52,7 @@ <template slot-scope="scope"> <el-button type="text" size="medium" @click="details(scope.row.id)">详情</el-button> <el-button type="text" size="medium" @click="punlish(scope.row.id, scope.row.status)" :disabled="scope.row.status == 2"> :disabled="scope.row.status == 2"> <span v-if="scope.row.status === 1" style="color:#ff0000">下架</span> <span v-else>发布</span> </el-button> @@ -63,24 +63,38 @@ </el-table> </template> <el-pagination @current-change="handleCurrentChange" :current-page="queryInfo.current" :page-size="queryInfo.size" layout="prev, pager, next" :total="total"></el-pagination> layout="prev, pager, next" :total="total"></el-pagination> </el-card> <!--添加公共宣传弹窗--> <el-dialog title="公共宣传添加" :visible.sync="addPublicityVisibel" width="50%" :before-close="addPublicityClose" :append-to-body="true"> :append-to-body="true"> <el-row :gutter="15"> <el-form ref="addPublicityForm" :model="addPublicityForm" :rules="rules" size="medium" label-width="100px"> <el-col :span="12"> <el-form-item label="标题 " prop="publicityTitle"> <el-input v-model="addPublicityForm.publicityTitle" clearable placeholder="请输入标题" :style="{ width: '100%' }"></el-input> :style="{ width: '100%' }"></el-input> </el-form-item> </el-col> <el-col> <el-form-item label="正文图片"> <el-upload action="/api/minio/upload" list-type="picture-card" :with-credentials="true" :on-preview="handlePictureCardPreview" :on-success="uploadSuccess3" :on-remove="handleRemove" :file-list="addPublicityForm.img"> <i slot="default" class="el-icon-plus"></i> </el-upload> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="内容 " prop="content"> <el-input v-model="addPublicityForm.text" type="textarea" placeholder="请输入公告内容" clearable :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> </el-form-item> </el-col> </el-form> @@ -91,21 +105,42 @@ </span> </el-dialog> <!-- 图片放大弹窗 --> <el-dialog :visible.sync="dialogVisible"> <img width="100%" :src="dialogImageUrl" alt=""> </el-dialog> <!--公共宣传详情弹窗--> <el-dialog title="公共宣传详情" :visible.sync="detailsVisible" width="50%" :append-to-body="true" :before-close="detailsVisibleclose"> :before-close="detailsVisibleclose"> <el-row :gutter="15"> <el-form ref="addGroupForm" :model="addGroupForm" size="medium" label-width="100px"> <el-col :span="12"> <el-form ref="addGroupForm" :model="detailsRow" size="medium" label-width="100px"> <el-col :span="12"> <el-form-item label="标题" prop="effectiveEtime"> <el-input v-model="detailsRow.publicityTitle" disabled></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="正文图片"> <el-upload action="/api/minio/upload" list-type="picture-card" :with-credentials="true" :on-preview="handlePictureCardPreview" :on-success="uploadSuccess3" :on-remove="handleRemove" :file-list="detailsRow.img" disabled class="freePic"> <i slot="default" class="el-icon-plus"></i> </el-upload> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="内容 " prop="text"> <el-input v-model="detailsRow.text" type="textarea" placeholder="请输入公告内容" disabled :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> </el-form-item> </el-col> <!-- <el-col :span="12"> @@ -125,7 +160,7 @@ <el-col :span="12"> <el-form-item label="发布时间" prop="effectiveEtime"> <el-date-picker v-model="detailsRow.releaseTime" type="datetime" placeholder="选择日期时间" disabled :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker> </el-form-item> </el-col> @@ -188,8 +223,9 @@ name: "Publicity", data() { return { fileList: [], dialogImageUrl: '', dialogVisible: false, //详细内容弹框 detailsVisible: false, //详细内容 @@ -197,7 +233,8 @@ //表单提交内容 addPublicityForm: { publicityTitle: '', text: '' text: '', img: [] }, //添加弹框 addPublicityVisibel: false, @@ -254,130 +291,161 @@ }, methods: { //删除 remove(val) { this.$http.delete('/api/publicity/' + val).then(res => { this.$message({ message: '删除成功', type: 'success' }) { uploadSuccess3(res, file) { if (res.code === 200) { this.addPublicityForm.img.push({ name: res.data, url: '/minio/img/' + res.data, uid: this.addPublicityForm.img.length }) } else { this.$message.error(res.msg) } }, // 正文图片上传,删除操作 handleRemove(file, fileList) { // file是点击删除的文件,fileList时删除后剩下的文件列表 this.addPublicityForm.img = fileList }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url this.dialogVisible = true }, //删除 remove(val) { this.$http.delete('/api/publicity/' + val).then(res => { this.$message({ message: '删除成功', type: 'success' }) this.search(); }) }, //发布/下架 punlish(val, val2) { if (val2 == 0) { this.$http.get('/api/publicity/release/' + val).then(res => { this.$message({ message: '发布成功', type: 'success' this.search(); }) }, //发布/下架 punlish(val, val2) { if (val2 == 0) { this.$http.get('/api/publicity/release/' + val).then(res => { this.$message({ message: '发布成功', type: 'success' }) this.search(); } ) } if (val2 == 1) { this.$http.get('/api/publicity/offline/' + val).then(res => { this.$message({ message: '下架成功', type: 'success' }) this.search(); } ); } }, this.search(); } ) } if (val2 == 1) { this.$http.get('/api/publicity/offline/' + val).then(res => { this.$message({ message: '下架成功', type: 'success' }) this.search(); } ); } }, //详情 details(val) { this.detailsVisible = true; this.$http.get('/api/publicity/' + val).then(res => this.detailsRow = res.data.data); }, //添加 add() { this.$refs.addPublicityForm.validate(async (vaild) => { if (!vaild) return this.$message.error('输入有误') let param = null; param = this.addPublicityForm; addPublicityList(param).then(res => { this.$message({ message: '操作成功', type: 'success' //详情 details(val) { this.detailsVisible = true; this.$http.get('/api/publicity/' + val).then(res => { this.detailsRow = res.data.data this.detailsRow.img = this.detailsRow['photoStr'].split(',').map(item => { return { name: item, url: '/minio/img/' + item, uid: this.detailsRow['photoStr'].split(',').length } }) this.fileList = this.detailsRow.img }); this.addPublicityForm = {} this.init(); } ) this.addPublicityVisibel = false; }) }, //关闭之前 addPublicityClose() { this.addPublicityVisibel = false; }, detailsVisibleclose() { this.detailsVisible = false; }, //分页方法 handleCurrentChange(val) { this.queryInfo.current = val; this.search(); }, //导入 beforeAvatarUpload(file) { let Xls = file.name.split('.'); if (Xls[1] === 'xls' || Xls[1] === 'xlsx') { return file } else { this.$message.error('上传文件只能是 xls/xlsx 格式!') return false } }, //导入成功 respond(res) { if (res.code == 200) { this.$message({ message: '上传成功', type: 'success' } ) } else { this.$message({ message: res.msg, type: 'error' }) } location.reload(); }, //公共宣传加载 init() { let param = {} param.current = this.queryInfo.current param.size = this.queryInfo.size param.status = this.queryInfo.status !== null ? this.queryInfo.status : '' getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total }) }, //查询 search() { let param = {} param.publicityTitle = this.queryInfo.publicityTitle; param.current = this.queryInfo.current param.size = this.queryInfo.size param.status = this.queryInfo.status !== null ? this.queryInfo.status : '' getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total this.current = res.current }) }, }, //添加 add() { this.$refs.addPublicityForm.validate(async (vaild) => { if (!vaild) return this.$message.error('输入有误') let param = null; param = JSON.parse(JSON.stringify(this.addPublicityForm)); param.photoStr = param.img.map(item => item.name).join(','); addPublicityList(param).then(res => { this.$message({ message: '操作成功', type: 'success' }); this.addPublicityForm = {} this.init(); } ) this.addPublicityVisibel = false; }) }, //关闭之前 addPublicityClose() { this.addPublicityVisibel = false; }, detailsVisibleclose() { this.detailsVisible = false; }, //分页方法 handleCurrentChange(val) { this.queryInfo.current = val; this.search(); }, //导入 beforeAvatarUpload(file) { let Xls = file.name.split('.'); if (Xls[1] === 'xls' || Xls[1] === 'xlsx') { return file } else { this.$message.error('上传文件只能是 xls/xlsx 格式!') return false } }, //导入成功 respond(res) { if (res.code == 200) { this.$message({ message: '上传成功', type: 'success' } ) } else { this.$message({ message: res.msg, type: 'error' }) } location.reload(); }, //公共宣传加载 init() { let param = {} param.current = this.queryInfo.current param.size = this.queryInfo.size param.status = this.queryInfo.status !== null ? this.queryInfo.status : '' getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total }) }, //查询 search() { let param = {} param.publicityTitle = this.queryInfo.publicityTitle; param.current = this.queryInfo.current param.size = this.queryInfo.size param.status = this.queryInfo.status !== null ? this.queryInfo.status : '' getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total this.current = res.current }) }, } } } </script> @@ -385,4 +453,7 @@ ::v-deep(.el-table thead) { color: #000000; } .freePic ::v-deep .el-upload--picture-card { display: none; } </style> src/views/manager/User.vue
@@ -30,21 +30,23 @@ <el-table-column label="操作" align="conter"> <template slot-scope="scope"> <el-button type="text" size="medium" @click="details(scope.row)">编辑</el-button> <!-- <el-button type="text" size="medium" @click="reset(scope.row.id)">重置密码</el-button>--> <!-- <el-button type="text" size="medium" @click="remove(scope.row.id)" style="color:#ff0000">删除--> <el-button type="text" size="medium" @click="updateStatus(scope.row.id,scope.row.status)">{{scope.row.status==1?"禁用":"启用"}} <!-- <el-button type="text" size="medium" @click="reset(scope.row.id)">重置密码</el-button>--> <!-- <el-button type="text" size="medium" @click="remove(scope.row.id)" style="color:#ff0000">删除--> <el-button type="text" size="medium" @click="handleToManager(scope.row)">设为警员</el-button> <el-button type="text" size="medium" @click="updateStatus(scope.row.id,scope.row.status)"> {{ scope.row.status == 1 ? "禁用" : "启用" }} </el-button> </template> </el-table-column> </el-table> </template> <el-pagination @current-change="handleCurrentChange" :current-page="queryInfo.current" :page-size="queryInfo.size" layout="prev, pager, next" :total="total"></el-pagination> layout="prev, pager, next" :total="total"></el-pagination> </el-card> <!--添加用户弹窗--> <el-dialog title="用户添加" :visible.sync="addPublicityVisibel" width="50%" :before-close="addPublicityClose" :append-to-body="true"> :append-to-body="true"> <el-row :gutter="15"> <el-form ref="addPublicityForm" :model="addPublicityForm" :rules="rules" size="medium" label-width="100px"> @@ -65,7 +67,7 @@ </el-col> <el-col :span="12"> <el-form-item label="身份证" prop="userIdcard"> <el-input v-model="addPublicityForm.userIdcard" clearable placeholder="请输入身份证"> </el-input> <el-input v-model="addPublicityForm.userIdcard" clearable placeholder="请输入身份证"></el-input> </el-form-item> </el-col> </el-form> @@ -77,7 +79,7 @@ </el-dialog> <el-dialog title="编辑" :visible.sync="detailsVisible" width="50%" :append-to-body="true" :before-close="detailsVisibleclose"> :before-close="detailsVisibleclose"> <el-row :gutter="15"> <el-form ref="detailsRow" :model="detailsRow" size="medium" label-width="100px"> <el-col :span="12"> @@ -94,13 +96,15 @@ </el-col> <el-col :span="12"> <el-form-item label="手机号码" prop="userMobile"> <el-input v-model="detailsRow.userMobile" placeholder="请输入手机号码" clearable :style="{ width: '100%' }"> <el-input v-model="detailsRow.userMobile" placeholder="请输入手机号码" clearable :style="{ width: '100%' }"> </el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="身份证号" prop="userIdcard"> <el-input v-model="detailsRow.userIdcard" placeholder="请输入身份证号" clearable :style="{ width: '100%' }"> <el-input v-model="detailsRow.userIdcard" placeholder="请输入身份证号" clearable :style="{ width: '100%' }"> </el-input> </el-form-item> </el-col> @@ -118,7 +122,8 @@ <script> import { getPublicityList, addPublicityList addPublicityList, toManager } from '@/api/User' @@ -153,8 +158,7 @@ detailsVisible: false, //详细内容 detailsRow: { } {} , //表单提交内容 addPublicityForm: { @@ -202,127 +206,136 @@ }, methods: { //更新用户状态 updateStatus(id,status) { var _this = this; this.$confirm('确认修改账户状态吗?').then(() => { _this.$http.get('/api/user/status', { params: { id: id ,status:status} }).then(res => { _this.$message({ message: '修改成功', type: 'success' { handleToManager(data) { toManager(data.id).then(res => { this.$message({ message: '设置成功', type: 'success' }) this.search(); }) this.search(); }) } ) }, //更新用户状态 updateStatus(id, status) { var _this = this; this.$confirm('确认修改账户状态吗?').then(() => { _this.$http.get('/api/user/status', {params: {id: id, status: status}}).then(res => { _this.$message({ message: '修改成功', type: 'success' }) this.search(); }) } ) }, // //发布/下架 // punlish(val, val2) { // if (val2 == 0) { // this.$http.get('/api/commonQuestion/release/' + val).then(res => { // this.$message({ // message: '发布成功', // type: 'success' // }) }, // //发布/下架 // punlish(val, val2) { // if (val2 == 0) { // this.$http.get('/api/commonQuestion/release/' + val).then(res => { // this.$message({ // message: '发布成功', // type: 'success' // }) // this.search(); // } // ) // } // if (val2 == 1) { // this.$http.get('/api/commonQuestion/offline/' + val).then(res => { // this.$message({ // message: '下架成功', // type: 'success' // }) // this.search(); // } // ); // } // }, // this.search(); // } // ) // } // if (val2 == 1) { // this.$http.get('/api/commonQuestion/offline/' + val).then(res => { // this.$message({ // message: '下架成功', // type: 'success' // }) // this.search(); // } // ); // } // }, //编辑 details(val) { this.detailsVisible = true; this.detailsRow = Object.assign({}, val); }, update() { this.$http.put('/api/user', this.detailsRow).then(res => { this.$message({ message: '编辑成功', type: 'success' } ) this.search(); } ); this.detailsVisible = false; }, //编辑 details(val) { this.detailsVisible = true; this.detailsRow = Object.assign({}, val); }, update() { this.$http.put('/api/user', this.detailsRow).then(res => { this.$message({ message: '编辑成功', type: 'success' } ) this.search(); } ); this.detailsVisible = false; }, //重置密码 reset(val) { this.$http.get('/api/user/resetPassword/' + val).then(res => this.$message({ message: '重置成功', type: 'success' })); }, //添加 add() { this.$refs.addPublicityForm.validate(async (vaild) => { if (!vaild) return this.$message.error('输入有误') let param = null; param = this.addPublicityForm; addPublicityList(param).then(res => { this.$message({ message: '操作成功', //重置密码 reset(val) { this.$http.get('/api/user/resetPassword/' + val).then(res => this.$message({ message: '重置成功', type: 'success' }); this.addPublicityForm = {}; this.init(); } ) this.addPublicityVisibel = false; }) }, //关闭之前 addPublicityClose() { this.addPublicityVisibel = false; }, detailsVisibleclose() { this.detailsVisible = false; }, //分页方法 handleCurrentChange(val) { this.queryInfo.current = val; this.search(); }, })); }, //添加 add() { this.$refs.addPublicityForm.validate(async (vaild) => { if (!vaild) return this.$message.error('输入有误') let param = null; param = this.addPublicityForm; addPublicityList(param).then(res => { this.$message({ message: '操作成功', type: 'success' }); this.addPublicityForm = {}; this.init(); } ) this.addPublicityVisibel = false; }) }, //关闭之前 addPublicityClose() { this.addPublicityVisibel = false; }, detailsVisibleclose() { this.detailsVisible = false; }, //分页方法 handleCurrentChange(val) { this.queryInfo.current = val; this.search(); }, //公共宣传加载 init() { let param = {} param.current = this.queryInfo.current param.size = this.queryInfo.size getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total }) }, //查询 search() { let param = {} param.realName = this.queryInfo.realName param.nickName = this.queryInfo.nickName param.size = this.queryInfo.size getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total this.current = res.current }) }, //公共宣传加载 init() { let param = {} param.current = this.queryInfo.current param.size = this.queryInfo.size getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total }) }, //查询 search() { let param = {} param.realName = this.queryInfo.realName param.nickName = this.queryInfo.nickName param.size = this.queryInfo.size getPublicityList(param).then(res => { this.publicityList = res.records; this.total = res.total this.current = res.current }) }, } } } </script>