|
@@ -137,6 +137,23 @@
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-form-item :label="$t('fm.config.widget.option')" v-if="data.type=='dynamicTable'">
|
|
|
+ <draggable tag="ul" :list="data.options.tableColumns"
|
|
|
+ v-bind="{group:{ name:'options'}, ghostClass: 'ghost',handle: '.drag-item'}"
|
|
|
+ handle=".drag-item"
|
|
|
+ >
|
|
|
+ <li v-for="(item, index) in data.options.tableColumns" :key="index" style="display: flex;">
|
|
|
+ <el-input :style="{'width': data.options.showLabel? '90px': '180px' }" size="mini" v-model="item.label"></el-input>
|
|
|
+ <el-input :style="{'width': data.options.showLabel? '90px': '180px' }" size="mini" v-model="item.prop"></el-input>
|
|
|
+ <i class="drag-item" style="font-size: 16px;margin: 0 5px;cursor: move;"><i class="iconfont icon-icon_bars"></i></i>
|
|
|
+ <el-button @click="handleOptionsRemove(index)" circle plain type="danger" size="mini" icon="el-icon-minus" style="padding: 4px;margin-left: 5px;"></el-button>
|
|
|
+ </li>
|
|
|
+ <div style="margin-left: 22px;">
|
|
|
+ <el-button type="text" @click="handleAddTableColumn">{{$t('fm.actions.addOption')}}</el-button>
|
|
|
+ </div>
|
|
|
+ </draggable>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item :label="$t('fm.config.widget.remoteData')" v-if="data.type=='cascader'">
|
|
|
<div>
|
|
|
<el-input size="mini" style="" v-model="data.options.remoteFunc">
|
|
@@ -377,12 +394,15 @@ export default {
|
|
|
handleOptionsRemove (index) {
|
|
|
if (this.data.type === 'grid') {
|
|
|
this.data.columns.splice(index, 1)
|
|
|
+ } else if (this.data.type === 'dynamicTable'){
|
|
|
+ this.data.options.tableColumns.splice(index, 1)
|
|
|
} else {
|
|
|
this.data.options.options.splice(index, 1)
|
|
|
}
|
|
|
|
|
|
},
|
|
|
handleAddOption () {
|
|
|
+ console.log(this.data.options)
|
|
|
if (this.data.options.showLabel) {
|
|
|
this.data.options.options.push({
|
|
|
value: this.$t('fm.config.widget.newOption'),
|
|
@@ -395,6 +415,19 @@ export default {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ handleAddTableColumn () {
|
|
|
+ this.data.options.tableColumns.push({
|
|
|
+ prop: this.$t('fm.config.widget.newColumnProp'),
|
|
|
+ label: this.$t('fm.config.widget.newColumnLabel')
|
|
|
+ })
|
|
|
+ // if (this.data.options.showLabel) {
|
|
|
+ // } else {
|
|
|
+ // this.data.options.tableColumns.push({
|
|
|
+ // value: this.$t('fm.config.widget.newOption')
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+
|
|
|
+ },
|
|
|
handleAddColumn () {
|
|
|
this.data.columns.push({
|
|
|
span: '',
|