|
|
@@ -2,9 +2,9 @@
|
|
|
<div class="widget-form-container"
|
|
|
:class="`${platform}`"
|
|
|
>
|
|
|
- <el-form
|
|
|
- :size="formSize"
|
|
|
- :label-position="data.config.labelPosition"
|
|
|
+ <el-form
|
|
|
+ :size="formSize"
|
|
|
+ :label-position="data.config.labelPosition"
|
|
|
:label-width="data.config.labelWidth + 'px'"
|
|
|
:class="{
|
|
|
[data.config && data.config.customClass]: (data.config && data.config.customClass) ? true : false,
|
|
|
@@ -13,10 +13,10 @@
|
|
|
:label-suffix="data.config?.labelSuffix ? ' : ' : ' '"
|
|
|
>
|
|
|
<div v-if="data.list.length == 0" class="form-empty">{{$t('fm.description.containerEmpty')}}</div>
|
|
|
-
|
|
|
+
|
|
|
<el-scrollbar style="overflow: hidden;" wrap-class="widget-form-wrapper">
|
|
|
- <draggable class="widget-form-draggable"
|
|
|
- v-model="data.list"
|
|
|
+ <draggable class="widget-form-draggable"
|
|
|
+ v-model="data.list"
|
|
|
v-bind="{group:'people', ghostClass: 'ghost',animation: 200, handle: '.drag-widget'}"
|
|
|
@add="handleWidgetAdd"
|
|
|
@update="handleWidgetUpdate"
|
|
|
@@ -27,14 +27,13 @@
|
|
|
<transition-group name="fade" tag="div" class="widget-form-list" >
|
|
|
|
|
|
<template v-for="(element, index) in data.list" v-if="element && element.key">
|
|
|
-
|
|
|
<widget-table
|
|
|
v-if="element.type === 'table'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index" :data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
:platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
@@ -44,9 +43,9 @@
|
|
|
v-else-if="element.type === 'tabs'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index" :data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
:platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
@@ -56,10 +55,10 @@
|
|
|
v-else-if="element.type === 'collapse'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
- :index="index"
|
|
|
+ :select.sync="selectWidget"
|
|
|
+ :index="index"
|
|
|
:data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
:platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
@@ -69,10 +68,10 @@
|
|
|
v-else-if="element.type === 'report'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index" :data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :platform="platform"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
</widget-report>
|
|
|
@@ -81,10 +80,10 @@
|
|
|
v-else-if="element.type === 'inline'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index" :data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :platform="platform"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
</widget-inline>
|
|
|
@@ -93,11 +92,11 @@
|
|
|
v-else-if="element.type === 'subform'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index"
|
|
|
:data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :platform="platform"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
</widget-sub-form>
|
|
|
@@ -106,11 +105,11 @@
|
|
|
v-else-if="element.type === 'group'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index"
|
|
|
:data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :platform="platform"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
</widget-group>
|
|
|
@@ -119,11 +118,11 @@
|
|
|
v-else-if="element.type === 'card'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index"
|
|
|
:data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :platform="platform"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
</widget-card>
|
|
|
@@ -132,31 +131,31 @@
|
|
|
v-else-if="element.type === 'dialog'"
|
|
|
:key="element.key"
|
|
|
:element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index"
|
|
|
:data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :platform="platform"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :platform="platform"
|
|
|
:form-key="formKey"
|
|
|
>
|
|
|
</widget-dialog>
|
|
|
|
|
|
- <widget-form-item
|
|
|
- v-else-if="element.type !== 'grid'"
|
|
|
- :key="element.key"
|
|
|
- :element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ <widget-form-item
|
|
|
+ v-else-if="element.type !== 'grid'"
|
|
|
+ :key="element.key"
|
|
|
+ :element="element"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index" :data="data"
|
|
|
- @select-change="handleSelectChange"
|
|
|
- :form-key="formKey"
|
|
|
+ @select-change="handleSelectChange"
|
|
|
+ :form-key="formKey"
|
|
|
>
|
|
|
</widget-form-item>
|
|
|
|
|
|
<widget-col-item
|
|
|
v-else
|
|
|
- :key="element.key"
|
|
|
- :element="element"
|
|
|
- :select.sync="selectWidget"
|
|
|
+ :key="element.key"
|
|
|
+ :element="element"
|
|
|
+ :select.sync="selectWidget"
|
|
|
:index="index" :data="data"
|
|
|
@select-change="handleSelectChange"
|
|
|
:platform="platform"
|
|
|
@@ -165,7 +164,7 @@
|
|
|
</widget-col-item>
|
|
|
</template>
|
|
|
</transition-group>
|
|
|
-
|
|
|
+
|
|
|
</draggable>
|
|
|
</el-scrollbar>
|
|
|
</el-form>
|
|
|
@@ -268,15 +267,15 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
_addWidget (list, widget, isTable = false) {
|
|
|
-
|
|
|
- if (isTable
|
|
|
- && (widget.type == 'subform'
|
|
|
- || widget.type == 'grid'
|
|
|
- || widget.type == 'table'
|
|
|
- || widget.type == 'tabs'
|
|
|
- || widget.type == 'collapse'
|
|
|
- || widget.type == 'divider'
|
|
|
- || widget.type == 'report'
|
|
|
+ console.log(list,'=====');
|
|
|
+ if (isTable
|
|
|
+ && (widget.type == 'subform'
|
|
|
+ || widget.type == 'grid'
|
|
|
+ || widget.type == 'table'
|
|
|
+ || widget.type == 'tabs'
|
|
|
+ || widget.type == 'collapse'
|
|
|
+ || widget.type == 'divider'
|
|
|
+ || widget.type == 'report'
|
|
|
|| widget.type == 'inline'
|
|
|
|| widget.type == 'dialog'
|
|
|
|| widget.type == 'card'
|
|
|
@@ -360,6 +359,11 @@ export default {
|
|
|
return 'table'
|
|
|
}
|
|
|
}
|
|
|
+ if (item.type === '"takeLeaveDate"') {
|
|
|
+ if ('table' == this._addWidget(item.list, widget, true)) {
|
|
|
+ return 'table'
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
@@ -384,12 +388,12 @@ export default {
|
|
|
this.$nextTick(() => { EventBus.$emit('on-history-add-' + this.formKey) })
|
|
|
},
|
|
|
handleWidgetAdd (evt) {
|
|
|
-
|
|
|
+
|
|
|
const newIndex = evt.newIndex
|
|
|
const to = evt.to
|
|
|
|
|
|
this.$set(this.data.list, newIndex, _.cloneDeep(this.data.list[newIndex]))
|
|
|
-
|
|
|
+
|
|
|
//为拖拽到容器的元素添加唯一 key
|
|
|
const key = Math.random().toString(36).slice(-8)
|
|
|
this.$set(this.data.list, newIndex, {
|