1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<template>
  <!--
        作者:luoyiming
        时间:2019-10-26
        描述:商品管理-商品编辑-商品内容
    -->
  <div>
    <!--商品详情-->
    <div class="common-form">商品详情</div>
    <el-form-item label="详情类型:">
      <el-radio-group v-model="form.model.is_picture">
        <el-radio :label="0">图文</el-radio>
        <el-radio :label="1">纯图</el-radio>
      </el-radio-group>
    </el-form-item>
    <!--内容-->
    <el-form-item label="详情内容:" v-if="form.model.is_picture == 0">
      <div class="edit_container">
        <Uediter :text="form.model.content" :config="ueditor.config" ref="ue" @contentChange="contentChangeFunc"></Uediter>
      </div>
    </el-form-item>
    <el-form-item label="详情图片:" v-if="form.model.is_picture == 1">
      <div class="draggable-list">
        <draggable class="wrapper" v-model="form.model.contentImage">
          <transition-group>
            <div class="item" v-for="(item, index) in form.model.contentImage" :key="item.file_path">
              <img v-img-url="item.file_path" />
              <a href="javascript:void(0);" class="delete-btn" @click.stop="deleteImg(index)"><i class="el-icon-close"></i></a>
            </div>
          </transition-group>
        </draggable>
        <div class="item img-select" @click="openUpload"><i class="el-icon-plus"></i></div>
      </div>
    </el-form-item>
 
    <el-form-item label="购买须知" prop="notice">
      <el-button icon="el-icon-plus" @click="addNotice">添加</el-button>
      <div class="d-a-c border-t border-l border-r" style="width: 780px">
        <div style="width: 200px;" class="d-c-c border-r">标题</div>
        <div class="flex-1 d-c-c border-r">内容</div>
        <div style="width: 80px;" class="d-c-c">操作</div>
      </div>
      <draggable class="wrapper" v-model="form.model.notice">
        <transition-group>
          <div v-for="(item, index) in form.model.notice" :key="item" class="d-a-c border-t border-l border-r" style="width: 780px">
            <div style="width: 200px;" class="p6 border-r d-c-c">
              <el-input type="text" v-model="item.title"></el-input>
            </div>
            <div style="min-width: 200px;" class="flex-1 p6 border-r d-c-c">
              <el-input type="text" v-model="item.content"></el-input>
            </div>
            <div style="width: 80px;" class="d-c-c p6">
              <el-button type="text" size="small" @click.stop="deleteItem(index)">删除</el-button>
            </div>
          </div>
        </transition-group>
      </draggable>
    </el-form-item>
 
    <!--商品图片组件-->
    <Upload v-if="is_upload" :config="config" :isupload="is_upload" @returnImgs="returnImgsFunc">上传图片</Upload>
  </div>
</template>
 
<script>
import Uediter from '@/components/UE.vue';
import Upload from '@/components/file/Upload';
import draggable from 'vuedraggable';
export default {
  components: {
    /*编辑器*/
    Uediter,
    Upload,
    draggable
  },
  data() {
    return {
      /*富文本框配置*/
      ueditor: {
        text: '',
        config: {
          initialFrameWidth: 400,
          initialFrameHeight: 500
        }
      },
      is_upload: false,
      config: {
        total: 9,file_type: 'image',
      }
    };
  },
  created() {
    //this.ueditor.text = this.form.model.content;
  },
  inject: ['form'],
  methods:{
 
    /*获取富文本框内容*/
    getContent: function() {
      //return this.$refs.ue.getUEContent();
    },
 
    /*获取富文本内容*/
    contentChangeFunc(e){
      this.form.model.content=e;
    },
    openUpload(){
      this.is_upload = true;
    },
    /*上传商品图片*/
    returnImgsFunc(e) {
      if (e != null) {
        let imgs = this.form.model.contentImage.concat(e);
        this.$set(this.form.model, 'contentImage', imgs);
      }
      this.is_upload = false;
    },
    /*删除商品图片*/
    deleteImg(index) {
      this.form.model.contentImage.splice(index, 1);
    },
    addNotice() {
      this.form.model.notice.push({
        content: ''
      });
    },
    deleteItem(index){
      this.form.model.notice.splice(index, 1);
    },
 
  }
};
</script>
 
<style lang="scss" scoped>
  .mb8{
    margin-bottom: 8px;
  }
  .p6{
   padding: 6px;
  }
</style>