From ca98aec684da949dd1f7d4c1d546aecb1b9f9669 Mon Sep 17 00:00:00 2001 From: odc.xiaohui <xiaohui@Q1> Date: 星期三, 24 五月 2023 11:59:26 +0800 Subject: [PATCH] 宣传添加修改 --- src/api/announcement.js | 7 + src/api/publicty.js | 7 + src/views/common/announcement.vue | 93 +++++++++++++++++++--- src/views/cause/Group.vue | 17 ++-- vue.config.js | 4 src/views/common/Publicity.vue | 98 ++++++++++++++++++++---- 6 files changed, 184 insertions(+), 42 deletions(-) diff --git a/src/api/announcement.js b/src/api/announcement.js index 63ba7ba..67fa172 100644 --- a/src/api/announcement.js +++ b/src/api/announcement.js @@ -14,3 +14,10 @@ data:params }) } +export function editAnnounce(params) { + return request({ + url: '/policePublicity', + method: 'put', + data:params + }) +} diff --git a/src/api/publicty.js b/src/api/publicty.js index a6a142b..dc015f1 100644 --- a/src/api/publicty.js +++ b/src/api/publicty.js @@ -14,3 +14,10 @@ data:params }) } +export function editPublicityList(params) { + return request({ + url: '/publicity', + method: 'put', + data:params + }) +} diff --git a/src/views/cause/Group.vue b/src/views/cause/Group.vue index 9ac20df..e6d35a0 100644 --- a/src/views/cause/Group.vue +++ b/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; } diff --git a/src/views/common/Publicity.vue b/src/views/common/Publicity.vue index 2d73c31..e64c08f 100644 --- a/src/views/common/Publicity.vue +++ b/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> <!--鍏叡瀹d紶璇︽儏寮圭獥--> - <el-dialog title="鍏叡瀹d紶璇︽儏" :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="姝f枃鍥剧墖"> <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) }, // 姝f枃鍥剧墖涓婁紶,鍒犻櫎鎿嶄綔 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 }); }, //娣诲姞 diff --git a/src/views/common/announcement.vue b/src/views/common/announcement.vue index f648d87..72218d3 100644 --- a/src/views/common/announcement.vue +++ b/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> <!--鍏叡瀹d紶璇︽儏寮圭獥--> - <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="姝f枃鍥剧墖"> <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) }, // 姝f枃鍥剧墖涓婁紶,鍒犻櫎鎿嶄綔 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 diff --git a/vue.config.js b/vue.config.js index 65bd747..3b9696e 100644 --- a/vue.config.js +++ b/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': '' -- Gitblit v1.8.0