|
@@ -67,19 +67,23 @@
|
|
|
<el-form ref="formData" :model="formData" label-position="left" class="goods-select-form">
|
|
<el-form ref="formData" :model="formData" label-position="left" class="goods-select-form">
|
|
|
<el-form-item :label="$i18n.t('shopFeature.goods.prod')" class="goods-select-con">
|
|
<el-form-item :label="$i18n.t('shopFeature.goods.prod')" class="goods-select-con">
|
|
|
<div class="goods-select-list">
|
|
<div class="goods-select-list">
|
|
|
|
|
+ <transition-group>
|
|
|
<div v-for="(item,index) in goodsList"
|
|
<div v-for="(item,index) in goodsList"
|
|
|
:key="index"
|
|
:key="index"
|
|
|
class="goods-select-item">
|
|
class="goods-select-item">
|
|
|
|
|
+ <div @dragenter="dragenter($event, index)" @dragover="dragover($event, index)" @dragstart="dragstart(index)" draggable >
|
|
|
<div class="goods-select-item-img"
|
|
<div class="goods-select-item-img"
|
|
|
:class="{'goods-empty': !goodsList[0].prodId}"
|
|
:class="{'goods-empty': !goodsList[0].prodId}"
|
|
|
:style="{backgroundImage:'url('+item.pic+')'}"></div>
|
|
:style="{backgroundImage:'url('+item.pic+')'}"></div>
|
|
|
<span class="close-item"
|
|
<span class="close-item"
|
|
|
@click="goodsList.splice(index,1)">x</span>
|
|
@click="goodsList.splice(index,1)">x</span>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ </transition-group>
|
|
|
<div class="goods-select-item">
|
|
<div class="goods-select-item">
|
|
|
<div class="goods-select-item-img add-btn"
|
|
<div class="goods-select-item-img add-btn"
|
|
|
- @click="selectProdHandle">
|
|
|
|
|
- <i class="el-icon-plus"></i>
|
|
|
|
|
|
|
+ @click="selectProdHandle">
|
|
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -121,6 +125,8 @@ export default {
|
|
|
props: {},
|
|
props: {},
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ dragIndex: '',
|
|
|
|
|
+ enterIndex: '',
|
|
|
commonCheckFieldRules: 'checkData', // 当前组件默认的规则判断函数
|
|
commonCheckFieldRules: 'checkData', // 当前组件默认的规则判断函数
|
|
|
dialogChooseGoods: false,
|
|
dialogChooseGoods: false,
|
|
|
isGetChooseData: false, // 是否该是获取选择的数据
|
|
isGetChooseData: false, // 是否该是获取选择的数据
|
|
@@ -228,6 +234,23 @@ export default {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ dragstart(index) {
|
|
|
|
|
+ this.dragIndex = index;
|
|
|
|
|
+ },
|
|
|
|
|
+ dragenter(e, index) {
|
|
|
|
|
+ e.preventDefault();
|
|
|
|
|
+ // 避免源对象触发自身的dragenter事件
|
|
|
|
|
+ if (this.dragIndex !== index) {
|
|
|
|
|
+ const moving = this.goodsList[this.dragIndex];
|
|
|
|
|
+ this.goodsList.splice(this.dragIndex, 1);
|
|
|
|
|
+ this.goodsList.splice(index, 0, moving);
|
|
|
|
|
+ // 排序变化后目标对象的索引变成源对象的索引
|
|
|
|
|
+ this.dragIndex = index;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ dragover(e, index) {
|
|
|
|
|
+ e.preventDefault();
|
|
|
|
|
+ },
|
|
|
// 选择商品操作
|
|
// 选择商品操作
|
|
|
selectProdHandle () {
|
|
selectProdHandle () {
|
|
|
this.dialogChooseGoods = true
|
|
this.dialogChooseGoods = true
|