|
|
@@ -47,11 +47,11 @@
|
|
|
<!-- 设置过滤条件 -->
|
|
|
|
|
|
<van-dropdown-menu class="menus" active-color="#3388FF">
|
|
|
- <van-dropdown-item
|
|
|
+ <!-- <van-dropdown-item
|
|
|
v-if="$utils.isNotEmpty(rangeData[rootIndex].options)"
|
|
|
v-model="checkFilter"
|
|
|
:options="rangeData[rootIndex].options"
|
|
|
- />
|
|
|
+ /> -->
|
|
|
<van-dropdown-item
|
|
|
disabled
|
|
|
title-class="menu-slot-text"
|
|
|
@@ -115,81 +115,66 @@
|
|
|
:key="item[idKey] + index"
|
|
|
class="ibps-p-0"
|
|
|
>
|
|
|
- <van-swipe-cell
|
|
|
- :right-width="manages.length > 0 ? manages.length * 60 : 0"
|
|
|
- :on-close="onClose"
|
|
|
- >
|
|
|
- <van-checkbox-group v-model="checkedIds">
|
|
|
- <van-cell
|
|
|
- border
|
|
|
- style="padding: 15px 16px"
|
|
|
- @click="onClick(item, index)"
|
|
|
- >
|
|
|
- <template slot="icon">
|
|
|
- <van-checkbox
|
|
|
- v-if="checkMode"
|
|
|
- ref="checkboxes"
|
|
|
- :name="item"
|
|
|
- class="ibps-mr-10"
|
|
|
- />
|
|
|
- </template>
|
|
|
- <!--标题-->
|
|
|
- <template #title>
|
|
|
- <!-- {{ labelField['name'] }} 地点 -->
|
|
|
- <!-- {{ item }} -->
|
|
|
- <!-- 默认第一行数据作为标题 -->
|
|
|
- <field-formatter
|
|
|
- v-if="labelField"
|
|
|
- class="titles"
|
|
|
- :label-key="labelField['name']"
|
|
|
- :data="item"
|
|
|
- :desc-field="labelField"
|
|
|
- :field-options="comFieldOptions(labelField['name'])"
|
|
|
- :field-type="comFieldType(labelField['name'])"
|
|
|
- :template-fields="templateFields"
|
|
|
- />
|
|
|
- </template>
|
|
|
- <!--描述展示 剩余数据作为描述-->
|
|
|
- <template #label>
|
|
|
- <template v-if="$utils.isNotEmpty(descFields)">
|
|
|
- <!-- v-if="descField&&descField['name']&&item[descField['name']]" -->
|
|
|
- <div
|
|
|
- v-for="descField in descFields"
|
|
|
- :key="descField['name']"
|
|
|
- class="van-card-list__desc"
|
|
|
- >
|
|
|
- <van-row class="delayShow">
|
|
|
- <van-col span="6">{{ descField['label'] }}:</van-col>
|
|
|
- <van-col span="17">
|
|
|
- <field-formatter
|
|
|
- :label-key="descField['name']"
|
|
|
- :data="item"
|
|
|
- :field-options="comFieldOptions(descField['name'])"
|
|
|
- :field-type="comFieldType(descField['name'])"
|
|
|
- :template-fields="templateFields"
|
|
|
- :desc-field="descField"
|
|
|
- class="desc"
|
|
|
- default-value
|
|
|
- />
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <van-checkbox-group v-model="checkedIds">
|
|
|
+ <van-cell
|
|
|
+ border
|
|
|
+ style="padding: 15px 16px"
|
|
|
+ @click="onClick(item, index)"
|
|
|
+ >
|
|
|
+ <template slot="icon">
|
|
|
+ <van-checkbox
|
|
|
+ v-if="checkMode"
|
|
|
+ ref="checkboxes"
|
|
|
+ :name="item"
|
|
|
+ class="ibps-mr-10"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <!--标题-->
|
|
|
+ <template #title>
|
|
|
+ <!-- {{ labelField['name'] }} 地点 -->
|
|
|
+ <!-- {{ item }} -->
|
|
|
+ <!-- 默认第一行数据作为标题 -->
|
|
|
+ <field-formatter
|
|
|
+ v-if="labelField"
|
|
|
+ class="titles"
|
|
|
+ :label-key="labelField['name']"
|
|
|
+ :data="item"
|
|
|
+ :desc-field="labelField"
|
|
|
+ :field-options="comFieldOptions(labelField['name'])"
|
|
|
+ :field-type="comFieldType(labelField['name'])"
|
|
|
+ :template-fields="templateFields"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <!--描述展示 剩余数据作为描述-->
|
|
|
+ <template #label>
|
|
|
+ <template v-if="$utils.isNotEmpty(descFields)">
|
|
|
+ <!-- v-if="descField&&descField['name']&&item[descField['name']]" -->
|
|
|
+ <div
|
|
|
+ v-for="descField in descFields"
|
|
|
+ :key="descField['name']"
|
|
|
+ class="van-card-list__desc"
|
|
|
+ >
|
|
|
+ <van-row class="delayShow">
|
|
|
+ <van-col span="6">{{ descField['label'] }}:</van-col>
|
|
|
+ <van-col span="17">
|
|
|
+ <field-formatter
|
|
|
+ :label-key="descField['name']"
|
|
|
+ :data="item"
|
|
|
+ :field-options="comFieldOptions(descField['name'])"
|
|
|
+ :field-type="comFieldType(descField['name'])"
|
|
|
+ :template-fields="templateFields"
|
|
|
+ :desc-field="descField"
|
|
|
+ class="desc"
|
|
|
+ default-value
|
|
|
+ />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
- </van-cell>
|
|
|
- </van-checkbox-group>
|
|
|
- <!--删除-->
|
|
|
- <template #right>
|
|
|
- <van-button
|
|
|
- v-for="button in manages"
|
|
|
- :key="button.key"
|
|
|
- :type="button.type"
|
|
|
- :text="button.name"
|
|
|
- class="ibps-swipe-button"
|
|
|
- @click="handleAction(button, item)"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </van-swipe-cell>
|
|
|
+ </template>
|
|
|
+ </van-cell>
|
|
|
+ </van-checkbox-group>
|
|
|
+
|
|
|
<div v-if="listData.length - 1 > index" class="ibps-blank-bar" />
|
|
|
</van-cell>
|
|
|
</van-list>
|
|
|
@@ -396,7 +381,8 @@ export default {
|
|
|
defaultFilterListCol: ['di_dian_'],
|
|
|
nameParams: {},
|
|
|
format: {},
|
|
|
- datePrefix: 'daterange-prefix'
|
|
|
+ datePrefix: 'daterange-prefix',
|
|
|
+ cilckEventButtons: []
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -422,9 +408,9 @@ export default {
|
|
|
: { id: '' }
|
|
|
},
|
|
|
toolbarButtons() {
|
|
|
- return this.toolbars.length > 4
|
|
|
- ? this.toolbars.slice(0, 4)
|
|
|
- : this.toolbars
|
|
|
+ const arrs = ['add', 'addPlus']
|
|
|
+ const filterAdd = this.toolbars.filter((t) => !arrs.includes(t.code))
|
|
|
+ return filterAdd.length > 4 ? filterAdd.slice(0, 4) : filterAdd
|
|
|
},
|
|
|
comFieldOptions() {
|
|
|
return function (fieldLabel) {
|
|
|
@@ -443,9 +429,10 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
moreToolbarButtons() {
|
|
|
- return this.toolbars.length > 4
|
|
|
- ? this.toolbars.slice(4, this.toolbars.length)
|
|
|
- : null
|
|
|
+ const arrs = ['add', 'addPlus']
|
|
|
+ const filterAdd = this.toolbars.filter((t) => !arrs.includes(t.code))
|
|
|
+ console.log('filterAdd===>', filterAdd)
|
|
|
+ return filterAdd.length > 4 ? filterAdd.slice(4, filterAdd.length) : null
|
|
|
},
|
|
|
hasToolbar() {
|
|
|
return this.toolbars.length > 0 && this.$utils.isNotEmpty(this.listData)
|
|
|
@@ -694,7 +681,7 @@ export default {
|
|
|
// 列表标题无设置则默认第一列
|
|
|
this.labelField = titleCol || columns[0]
|
|
|
this.columnsAttrs = columns
|
|
|
- const notTitleCols = columns.filter((e, i) => {
|
|
|
+ const notTitleCols = columns.filter((e) => {
|
|
|
return (
|
|
|
this.labelField.label !== e.label &&
|
|
|
!this.defaultFilterListCol.includes(e.name)
|
|
|
@@ -705,6 +692,7 @@ export default {
|
|
|
}
|
|
|
this.editButtons = template['buttons']['edit_buttons']
|
|
|
this.functionButtons = template['buttons']['function_buttons']
|
|
|
+ this.cilckEventButtons = template['buttons']['click_event_buttons']
|
|
|
// 按钮设置
|
|
|
this.initToolbarAction()
|
|
|
}
|
|
|
@@ -800,9 +788,9 @@ export default {
|
|
|
}
|
|
|
*/
|
|
|
loadData1() {
|
|
|
- const customDialogCols = this.columnsAttrs.filter(
|
|
|
- (t) => t.field_type === 'customDialog'
|
|
|
- )
|
|
|
+ // const customDialogCols = this.columnsAttrs.filter(
|
|
|
+ // (t) => t.field_type === 'customDialog'
|
|
|
+ // )
|
|
|
if (this.$utils.isEmpty(this.templateKey)) {
|
|
|
return
|
|
|
}
|
|
|
@@ -979,8 +967,8 @@ export default {
|
|
|
},
|
|
|
// 默认显示字段列表
|
|
|
initOptions(list) {
|
|
|
- list.forEach((val, index) => {
|
|
|
- console.log('tttt==>', val)
|
|
|
+ list.forEach((val) => {
|
|
|
+ // console.log('tttt==>', val)
|
|
|
if (this.configKey === '') {
|
|
|
this.chooseResult.push(val.label)
|
|
|
}
|
|
|
@@ -1017,13 +1005,12 @@ export default {
|
|
|
onClick(item, index) {
|
|
|
if (this.checkMode) {
|
|
|
this.$refs.checkboxes[index].toggle()
|
|
|
- } else {
|
|
|
- return
|
|
|
- // this.gotoForm({
|
|
|
- // readonly: true,
|
|
|
- // pkValue: item[this.idKey]
|
|
|
- // })
|
|
|
}
|
|
|
+ // 取第一个配置按钮
|
|
|
+ // 点击行事件
|
|
|
+ const [btn] = this.cilckEventButtons
|
|
|
+ console.log('1111111', btn, this.manages)
|
|
|
+ btn && this.handleAction(btn, item)
|
|
|
},
|
|
|
|
|
|
generateTitle(name, title) {
|
|
|
@@ -1154,7 +1141,7 @@ export default {
|
|
|
this.dialogFormVisible = true
|
|
|
},
|
|
|
handleRemove(ids) {
|
|
|
- this.removeRecord(ids, (r) => {
|
|
|
+ this.removeRecord(ids, () => {
|
|
|
this.checkMode = false
|
|
|
this.checkedIds = []
|
|
|
})
|
|
|
@@ -1191,8 +1178,12 @@ export default {
|
|
|
*/
|
|
|
initToolbarAction() {
|
|
|
const functionButtons = this.functionButtons || []
|
|
|
+ const cilckEventButtons = this.cilckEventButtons || []
|
|
|
const toolbars = []
|
|
|
const manages = []
|
|
|
+ this.cilckEventButtons = cilckEventButtons.map((rf, i) =>
|
|
|
+ this.buildButton(rf, i)
|
|
|
+ )
|
|
|
// 功能按钮
|
|
|
functionButtons.forEach((rf, i) => {
|
|
|
const btn = this.buildButton(rf, i)
|
|
|
@@ -1279,7 +1270,7 @@ export default {
|
|
|
deflow: rf.deflow || null,
|
|
|
mode: mode,
|
|
|
rightIcon: rightIcon,
|
|
|
- initAddDataCont: rf.initAddDataCont ? obj : null,
|
|
|
+ initAddDataCont: rf.initAddDataCont || null,
|
|
|
menus: menus,
|
|
|
disabled: disabled,
|
|
|
hidden: hidden,
|
|
|
@@ -1301,7 +1292,7 @@ export default {
|
|
|
}
|
|
|
return false
|
|
|
},
|
|
|
- customCallback(item) {
|
|
|
+ customCallback() {
|
|
|
this.beforeSubmit('custom')
|
|
|
// TODO 后面是自定义按钮的事
|
|
|
},
|