tanyanfei 4 år sedan
förälder
incheckning
bc4937568f

+ 16 - 4
src/views/message/InnerSurvey.vue

@@ -493,7 +493,8 @@ a {
                 ref="upload"
                 action="/api/admin/uploadfile"
                 :data="{ type: item.label }"
-                :on-success="handleSuccess"
+                :on-success="(value)=> imageChange(item.label, value)"
+                :on-remove="(file,filelist)=> handleRemove(item.label, file,filelist)"
               >
                 <!-- <el-button slot="trigger" size="small" type="primary">选取文件</el-button> -->
                 <el-button
@@ -591,11 +592,11 @@ a {
                   <el-upload
                     :class="iitem.require ? 'require' : ''"
                     v-if="iitem.type == 'image'"
-                    v-model="form2[iitem.label + '(' + item.label + ')']"
                     action="/api/admin/uploadfile"
                     list-type="picture-card"
                     :on-preview="handlePreview"
-                    :on-remove="handleRemove"
+                    :on-remove="(file,filelist)=> handleRemove(iitem.label + '(' + item.label + ')', file,filelist)"
+                    :on-success="(value)=> imageChange(iitem.label + '(' + item.label + ')', value)"
                   >
                     <i class="el-icon-plus"></i>
                   </el-upload>
@@ -857,6 +858,16 @@ export default {
     };
   },
   methods: {
+    handleRemove(label,file,filelist){
+      let imgs=[];
+      for(let i=0;i<filelist.length;i++){
+        imgs.push(filelist[i].response.data)
+      }
+      this.form2[label]=imgs
+    },
+    imageChange(label,data){
+      this.form2[label].push(data.data)
+    },
     switchStatus(row) {
       if (row.status == 1) {
         this.$confirm("确定禁用吗?", "提示", {
@@ -952,7 +963,7 @@ export default {
           this.widgetList = res.data.data.widget;
           let rules1 = {};
           this.widgetList.forEach((i) => {
-            if (i.type == "checkbox") {
+            if (i.type == "checkbox"||i.type == "image") {
               //   _this.form2[i.label] = [] ;
               if (i.result) {
                 _this.$set(_this.form2, i.label, i.result);
@@ -1028,6 +1039,7 @@ export default {
                   ];
                 }
                 if (item.type == "image" && item.require) {
+                  _this.$set(_this.form2, item.label+'('+i.label+')', []);
                   rules1[item.label + "(" + i.label + ")"] = [
                     {
                       required: true,

+ 0 - 3
src/views/message/OutSurvey.vue

@@ -823,7 +823,6 @@ export default {
 
     },
     handleRemove(label,file,filelist){
-      console.log(label,filelist)
       let imgs=[];
       for(let i=0;i<filelist.length;i++){
         imgs.push(filelist[i].response.data)
@@ -831,9 +830,7 @@ export default {
       this.form2[label]=imgs
     },
     imageChange(label,data){
-       console.log(label,data)
       this.form2[label].push(data.data)
-     
     },
     switchStatus(row) {
       if (row.status == 1) {

+ 20 - 4
src/views/message/survey/answer.html

@@ -172,7 +172,10 @@
               <el-checkbox :label="iitem.label" v-for="(iitem, index) in item.items" :key="index"></el-checkbox>
             </el-checkbox-group>
             <el-upload v-if="item.type == 'image'" action="/api/admin/uploadfile" list-type="picture-card"
-              :data="{ type: item.label }" :on-success="handleSuccess">
+              :data="{ type: item.label }" 
+              :on-success="(value)=> imageChange(item.label, value)"
+              :on-remove="(file,filelist)=> handleRemove(item.label, file,filelist)"
+              >
               <i class="el-icon-plus"></i>
 
             </el-upload>
@@ -218,7 +221,10 @@
                 </el-radio-group>
                 <el-upload :class="iitem.require ? 'require' : ''" v-if="iitem.type == 'image'"
                   v-model="form2[iitem.label + '(' + item.label + ')']" action="/api/admin/uploadfile"
-                  list-type="picture-card" :on-preview="handlePreview" :on-remove="handleRemove">
+                  list-type="picture-card" :on-preview="handlePreview" 
+                  :on-remove="(file,filelist)=> handleRemove(iitem.label + '(' + item.label + ')', file,filelist)"
+                  :on-success="(value)=> imageChange(iitem.label + '(' + item.label + ')', value)"
+                  >
                   <i class="el-icon-plus"></i>
                 </el-upload>
                 <el-upload v-if="iitem.type == 'file'" class="upload-demo" ref="upload" action="/api/admin/uploadfile"
@@ -269,7 +275,16 @@
     },
     methods: {
       handlePreview() { },
-      handleRemove() { },
+      handleRemove(label,file,filelist){
+        let imgs=[];
+        for(let i=0;i<filelist.length;i++){
+          imgs.push(filelist[i].response.data)
+        }
+        this.form2[label]=imgs
+      },
+      imageChange(label,data){
+        this.form2[label].push(data.data)
+      },
       getData() {
         let url = "/api/admin/message"
         if (this.type == 1) {
@@ -289,7 +304,7 @@
             let rules1 = {};
             let _this = this;
             widgetList.forEach((i) => {
-              if (i.type == "checkbox") {
+              if (i.type == "checkbox"||i.type == "image") {
                 //   _this.form2[i.label] = [] ;
                 _this.$set(_this.form2, i.label, []);
               }
@@ -359,6 +374,7 @@
                     ];
                   }
                   if (item.type == "image" && item.require) {
+                    _this.$set(_this.form2, item.label+'('+i.label+')', []);
                     rules1[item.label + "(" + i.label + ")"] = [
                       {
                         required: true,