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