src/api/announcement.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/publicty.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/cause/Group.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/common/Publicity.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/common/announcement.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vue.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/announcement.js
@@ -14,3 +14,10 @@ data:params }) } export function editAnnounce(params) { return request({ url: '/policePublicity', method: 'put', data:params }) } src/api/publicty.js
@@ -14,3 +14,10 @@ data:params }) } export function editPublicityList(params) { return request({ url: '/publicity', method: 'put', data:params }) } src/views/cause/Group.vue
@@ -139,7 +139,7 @@ }, data() { return { delId:null, delId: null, visible: false, top: 0, left: 0, @@ -192,20 +192,20 @@ }, methods: { deletemsg(){ deletemsg() { console.log('删除消息!') let obj={ id:this.delId let obj = { id: this.delId } delmsg(this.delId).then(res=>{ delmsg(this.delId).then(res => { console.log(res) this.$message.success(res) this.handleNodeClick(this.groupIdlist) }) }, //右击 openMenu(e,id) { console.log(e,id) openMenu(e, id) { console.log(e, id) clearInterval(this.timer); this.delId = id var x = e.pageX; //这个应该是相对于整个浏览器页面的x坐标,左上角为坐标原点(0,0) @@ -350,7 +350,7 @@ console.log(this.messageList) }) }, scrollHeight(){ scrollHeight() { let message = document.getElementById('container'); message.scrollTop = message.scrollHeight; }, @@ -664,6 +664,7 @@ padding: 7px 16px; cursor: pointer; } .contextmenu li:hover { background: #eee; } src/views/common/Publicity.vue
@@ -51,6 +51,7 @@ <el-table-column label="操作" align="conter"> <template slot-scope="scope"> <el-button type="text" size="medium" @click="details(scope.row.id)">详情</el-button> <el-button size="medium" type="text" @click="edit(scope.row.id)">修改</el-button> <el-button type="text" size="medium" @click="punlish(scope.row.id, scope.row.status)" :disabled="scope.row.status == 2"> <span v-if="scope.row.status === 1" style="color:#ff0000">下架</span> @@ -113,35 +114,46 @@ </el-dialog> <!--公共宣传详情弹窗--> <el-dialog title="公共宣传详情" :visible.sync="detailsVisible" width="50%" :append-to-body="true" <el-dialog :title="title" :visible.sync="detailsVisible" width="50%" :append-to-body="true" :before-close="detailsVisibleclose"> <el-row :gutter="15"> <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-input v-model="detailsRow.publicityTitle" :disabled="title=='详情'"></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="正文图片"> <el-upload :file-list="detailsRow.media" :on-preview="handlePictureCardPreview" :on-remove="handleRemoves" :on-success="uploadSuccess4" :with-credentials="true" 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"> :disabled="title=='详情'"> <i slot="default" class="el-icon-plus"></i> </el-upload> <!-- <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="title=='详情'"--> <!-- 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 <el-input v-model="detailsRow.text" type="textarea" placeholder="请输入公告内容" :disabled="title=='详情'" :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> </el-form-item> </el-col> @@ -161,7 +173,7 @@ </el-col> --> <el-col :span="12"> <el-form-item label="发布时间" prop="effectiveEtime"> <el-date-picker v-model="detailsRow.releaseTime" type="datetime" placeholder="选择日期时间" disabled <el-date-picker v-model="detailsRow.releaseTime" type="datetime" placeholder="选择日期时间" :disabled="title=='详情'" :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker> </el-form-item> @@ -176,6 +188,12 @@ <span v-if="detailsRow.status === 1">已发布</span> <span v-else-if="detailsRow.status === 0">未发布</span> <span v-else="detailsRow.status === 2">已下架</span> </el-form-item> </el-col> <el-col :span="24"> <el-form-item> <el-button type="primary" @click="onSubmit" :disabled="title=='详情'">提交</el-button> <el-button @click="detailsVisible= false">取消</el-button> </el-form-item> </el-col> </el-form> @@ -229,7 +247,7 @@ <script> import { getPublicityList, addPublicityList addPublicityList, editPublicityList } from '@/api/publicty' @@ -237,6 +255,7 @@ name: "Publicity", data() { return { title:'详情', detailsId:null, dialogVisibleTime:false, fileList: [], @@ -312,6 +331,18 @@ handleCloseTime(){ this.dialogVisibleTime = false }, uploadSuccess4(res, file) { console.log(res,this.detailsRow.media.length) if (res.code === 200) { this.detailsRow.media.push({ name: res.data, url: '/minio/img/' + res.data, uid:this.detailsRow.media.length+1 }) } else { this.$message.error(res.msg) } }, uploadSuccess3(res, file) { if (res.code === 200) { this.addPublicityForm.img.push({ @@ -322,6 +353,11 @@ } else { this.$message.error(res.msg) } }, handleRemoves(file, fileList){ console.log('>>>>>>>>>>>>>>>>>>>>>',this.detailsRow.media) this.detailsRow.media = fileList console.log(this.detailsRow.media) }, // 正文图片上传,删除操作 handleRemove(file, fileList) { @@ -405,20 +441,46 @@ ); } }, //详情 details(val) { onSubmit(){ console.log('提交',this.detailsRow) let obj = this.detailsRow obj.photoStr = obj.media.map(item=> item.name).join(',') editPublicityList(this.detailsRow).then(res=>{ console.log(res) this.detailsVisible = false this.$message.success('修改成功') }) }, edit(val){ this.title = '修改' 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 => { this.detailsRow.media = this.detailsRow['photoStr'].split(',').map((item,index) => { return { name: item, url: '/minio/img/' + item, uid: this.detailsRow['photoStr'].split(',').length uid: index+1 } }) this.fileList = this.detailsRow.img this.fileList = this.detailsRow.media console.log(this.detailsRow) }); }, //详情 details(val) { this.title = '详情' this.detailsVisible = true; this.$http.get('/api/publicity/' + val).then(res => { this.detailsRow = res.data.data this.detailsRow.media = this.detailsRow['photoStr'].split(',').map((item,index) => { return { name: item, url: '/minio/img/' + item, uid: index+1 } }) this.fileList = this.detailsRow.media }); }, //添加 src/views/common/announcement.vue
@@ -50,6 +50,7 @@ <el-table-column align="conter" label="操作"> <template slot-scope="scope"> <el-button size="medium" type="text" @click="details(scope.row.id)">详情</el-button> <el-button size="medium" type="text" @click="edit(scope.row.id)">修改</el-button> <el-button :disabled="scope.row.status == 2" size="medium" type="text" @click="punlish(scope.row.id, scope.row.status)"> <span v-if="scope.row.status === 1" style="color:#ff0000">下架</span> @@ -111,35 +112,47 @@ </el-dialog> <!--公共宣传详情弹窗--> <el-dialog :append-to-body="true" :before-close="detailsVisibleclose" :visible.sync="detailsVisible" title="警方公告详情" <el-dialog :append-to-body="true" :before-close="detailsVisibleclose" :visible.sync="detailsVisible" :title="title" width="50%"> <el-row :gutter="15"> <el-form ref="addGroupForm" :model="detailsRow" label-width="100px" size="medium"> <el-col :span="12"> <el-form-item label="标题" prop="effectiveEtime"> <el-input v-model="detailsRow.title" disabled></el-input> <el-input v-model="detailsRow.title" :disabled="title=='详情'"></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="正文图片"> <el-upload :file-list="detailsRow.media" :limit="1" :on-preview="handlePictureCardPreview" :on-remove="handleRemove" :on-success="uploadSuccess3" :on-remove="handleRemoves" :on-success="uploadSuccess4" :with-credentials="true" action="/api/minio/upload" class="freePic" disabled list-type="picture-card"> list-type="picture-card" :disabled="title=='详情'"> <i slot="default" class="el-icon-plus"></i> </el-upload> <!-- <el-upload--> <!-- :file-list="detailsRow.media"--> <!-- :on-preview="handlePictureCardPreview"--> <!-- :on-remove="handleRemoves"--> <!-- :on-success="uploadSuccess3"--> <!-- :with-credentials="true"--> <!-- action="/api/minio/upload"--> <!-- class="freePic"--> <!-- :disabled="title=='详情'"--> <!-- list-type="picture-card">--> <!-- <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" :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }" disabled <el-input v-model="detailsRow.text" :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }" :disabled="title=='详情'" placeholder="请输入公告内容" type="textarea"></el-input> </el-form-item> </el-col> @@ -159,7 +172,7 @@ </el-col> --> <el-col :span="12"> <el-form-item label="发布时间" prop="effectiveEtime"> <el-date-picker v-model="detailsRow.ctime" :style="{ width: '100%' }" disabled placeholder="选择日期时间" <el-date-picker v-model="detailsRow.ctime" :style="{ width: '100%' }" :disabled="title=='详情'" placeholder="选择日期时间" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker> </el-form-item> @@ -174,6 +187,12 @@ <span v-if="detailsRow.status === 1">已发布</span> <span v-else-if="detailsRow.status === 0">未发布</span> <span v-else="detailsRow.status === 2">已下架</span> </el-form-item> </el-col> <el-col :span="24"> <el-form-item> <el-button type="primary" @click="onSubmit" :disabled="title=='详情'">提交</el-button> <el-button @click="detailsVisible= false">取消</el-button> </el-form-item> </el-col> </el-form> @@ -214,21 +233,22 @@ <script> import { getPublicityList, addPublicityList addPublicityList, editPublicityList } from '@/api/publicty' import {addannouncementList, getannouncementList} from "@/api/announcement"; import {addannouncementList, editAnnounce, getannouncementList} from "@/api/announcement"; export default { name: "Publicity", data() { return { title:'详情', fileList: [], dialogImageUrl: '', dialogVisible: false, //详细内容弹框 detailsVisible: false, //详细内容 detailsRow: [], detailsRow: { img: []}, //表单提交内容 addPublicityForm: { title: '', @@ -296,8 +316,22 @@ img: [] } }, uploadSuccess3(res, file) { uploadSuccess4(res, file) { console.log(res,this.detailsRow) if (res.code === 200) { this.detailsRow.media.push({ name: res.data, url: '/minio/img/' + res.data, uid: this.detailsRow.media.length }) } else { this.$message.error(res.msg) } }, uploadSuccess3(res, file) { if (res.code === 200) { this.addPublicityForm.img.push({ name: res.data, url: '/minio/img/' + res.data, @@ -306,6 +340,11 @@ } else { this.$message.error(res.msg) } }, handleRemoves(file, fileList){ console.log('>>>>>>>>>>>>>>>>>>>>>',this.detailsRow.media) this.detailsRow.media = fileList console.log(this.detailsRow.media) }, // 正文图片上传,删除操作 handleRemove(file, fileList) { @@ -353,9 +392,35 @@ ); } }, onSubmit(){ console.log('提交',this.detailsRow) let obj = this.detailsRow obj.media = obj.media.map(item=> item.name).join(',') editAnnounce(this.detailsRow).then(res=>{ console.log(res) this.$message.success('修改成功') this.detailsVisible =false }) }, edit(val){ this.title = '修改' this.detailsVisible = true; this.$http.get('/api/policePublicity/' + val).then(res => { this.detailsRow = res.data.data this.detailsRow.media = this.detailsRow['media'].split(',').map(item => { return { name: item, url: '/minio/img/' + item, uid: this.detailsRow['media'].split(',').length } }) console.log(this.detailsRow) this.fileList = this.detailsRow.media }); }, //详情 details(val) { this.title = '详情' this.detailsVisible = true; this.$http.get('/api/policePublicity/' + val).then(res => { this.detailsRow = res.data.data vue.config.js
@@ -7,8 +7,8 @@ open: true, proxy: { '/api': { target: 'http://192.168.3.220:8080', // target: 'https://qyqjzdd.cdqingyang.gov.cn/qyjz', // target: 'http://192.168.3.220:8080', target: 'https://qyqjzdd.cdqingyang.gov.cn/qyjz', changeOrigin: true, pathRewrite: { '^/api': ''