sunlupeng 1 year ago
parent
commit
c25713fef0
1 changed files with 66 additions and 0 deletions
  1. 66 0
      src/views/goodsManage/goodsList.vue

+ 66 - 0
src/views/goodsManage/goodsList.vue

@@ -160,6 +160,13 @@
                             <i class="el-icon-plus"></i>
                         </el-upload>
                 </el-form-item>
+                <el-form-item style="width: 800px" label="商品副图" prop="imgIds">
+                    <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.imgUrls"
+                            :on-success="handleAvatarSuccess"
+                            :on-remove="handleRemoveImgs">
+                            <i class="el-icon-plus"></i>
+                        </el-upload>
+                </el-form-item>
 
                 <el-form-item label="积分" prop="price">
                     <el-input v-model="dataForm.price"></el-input>
@@ -177,6 +184,13 @@
                     >
                 <tinymce v-model="dataForm.comment" ref="tinymce"></tinymce>
                 </el-form-item>
+                <el-form-item
+                    style="width: 800px"
+                    label="商品介绍"
+                    prop="skuDesc"
+                    >
+                <tinymce v-model="dataForm.skuDesc" ref="skuDesc"></tinymce>
+                </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -262,6 +276,8 @@ export default {
                 deliveryTypes: [],
                 // location: undefined,
                 images: [],
+                imgIds: '',
+                imgUrls:[],
             },
             dialogFormVisible: false,
             dialogStatus: '',
@@ -272,6 +288,7 @@ export default {
             rules: {
                 name: [{ required: true, message: "请填写商品名称", trigger: "blur" }],
                 imgUrl: [{ required: true, message: "请上传商品图片", trigger: "blur" }],
+                imgIds: [{ required: true, message: "请上传商品副图", trigger: "blur" }],
                 productAttribute: [{ required: true, message: "请选择商品属性", trigger: "blur" }],
                 price: [{ required: true, message: "请填写商品积分", trigger: "blur" }],
                 hisPrice: [{ required: true, message: "请填写商品参考价格", trigger: "blur" }],
@@ -279,6 +296,7 @@ export default {
                 deliveryTypes: [{ required: true, message: "请选择兑换方式", trigger: "blur" }],
                 // location: [{ required: true, message: "请选择商品所在地", trigger: "blur" }],
                 comment: [{ required: true, message: "说明不能为空", trigger: "blur" }],
+                skuDesc: [{ required: true, message: "商品介绍不能为空", trigger: "blur" }],
             },
             dialogListVisible: false,
             fileImgUrl: this.upLoadUrl,
@@ -315,6 +333,34 @@ export default {
                 this.dataForm.imgUrl = images.join(",");
             }
         },
+        handleAvatarSuccess(res, file, fileList) {
+            console.log(file, fileList);
+            console.log("------", "==========");
+            console.log("res = ", res);
+
+            let fileIds = [];
+            for (let i in fileList) {
+                let response = fileList[i].response;
+                if (response.errno && response.errno != "0") {
+                this.$message.error("该文件上传失败,已被移除,请重新上传!");
+                // 上传失败移除该 file 对象
+                fileList.splice(i, 1);
+                } else {
+                let id = fileList[i].response.data.id;
+                fileIds.push(id);
+                }
+            }
+            this.dataForm.imgIds = fileIds.join(",");
+        },
+        handleRemoveImgs(file, fileList) {
+            console.log(file, fileList);
+            let fileIds = [];
+            for (let i in fileList) {
+                let id = fileList[i].response.data.id;
+                fileIds.push(id);
+            }
+            this.dataForm.imgIds = fileIds.join(",");
+        },
         uploadBannerImg(file) {
             const isJPGs = file.type === "image/jpeg";
             console.log(isJPGs);
@@ -346,6 +392,7 @@ export default {
         resetForm() {
             this.dataForm = {
                 comment: undefined,
+                skuDesc: undefined,
                 name: undefined,
                 seq: undefined,
                 productAttribute: undefined,
@@ -356,6 +403,8 @@ export default {
                 deliveryTypes: [],
                 // location: undefined,
                 images: [],
+                imgIds: '',
+                imgUrls:[],
             };
         },
         handleCreate() {
@@ -366,6 +415,7 @@ export default {
 
             this.$nextTick(() => {
                 this.$refs.tinymce.setContent("");
+                this.$refs.skuDesc.setContent("");
                 this.$refs["dataForm"].clearValidate();
             });
         },
@@ -394,6 +444,7 @@ export default {
             this.dataForm = Object.assign({}, row);
             this.dataForm.productAttribute = row.productAttribute.toString();
             let comment = this.dataForm.comment;
+            let skuDesc = this.dataForm.skuDesc?this.dataForm.skuDesc:'';
             let val = row.productAttribute;
             this.getDeliveryTypeList(val);
             if (this.dataForm.imgUrl) {
@@ -410,10 +461,25 @@ export default {
                     });
                 }
             }
+            if (this.dataForm.imgs) {
+                let imgs = this.dataForm.imgs;
+                this.dataForm.imgUrls = [];
+                for (let i in imgs) {
+                    let url = imgs[i].url;
+                    let name = "image_" + i;
+
+                    this.dataForm.imgUrls.push({
+                        name: name,
+                        url: url,
+                        response: { error: "0", data: imgs[i] },
+                    });
+                }
+            }
             this.dialogStatus = 'update'
             this.dialogFormVisible = true
             this.$nextTick(() => {
                 this.$refs.tinymce.setContent(comment);
+                this.$refs.skuDesc.setContent(skuDesc);
                 this.$refs['dataForm'].clearValidate()
             })
         },