|
@@ -51,7 +51,11 @@
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
<slot v-if="item.slot" :name='item.field' :row='row'></slot>
|
|
<slot v-if="item.slot" :name='item.field' :row='row'></slot>
|
|
<component v-else-if="item.component" :is="item.component" :propConfig="item.compConfig" :propValue="row" />
|
|
<component v-else-if="item.component" :is="item.component" :propConfig="item.compConfig" :propValue="row" />
|
|
- <span v-else>{{ row[item.field] }}</span>
|
|
|
|
|
|
+ <template v-else>
|
|
|
|
+ <span v-if="item.isDetail" class="detail" @click="detail(row)">{{ row[item.field] }}</span>
|
|
|
|
+ <span v-else>{{ row[item.field] }}</span>
|
|
|
|
+ </template>
|
|
|
|
+
|
|
</template>
|
|
</template>
|
|
</vxe-column>
|
|
</vxe-column>
|
|
</template>
|
|
</template>
|
|
@@ -102,6 +106,7 @@
|
|
component:'' //组件
|
|
component:'' //组件
|
|
compConfig:{} //组件配置
|
|
compConfig:{} //组件配置
|
|
slot: true/false //是否插槽
|
|
slot: true/false //是否插槽
|
|
|
|
+ isDetail:true/false //点击详情
|
|
tree-node: true/false //展开节点
|
|
tree-node: true/false //展开节点
|
|
}],
|
|
}],
|
|
request:{}
|
|
request:{}
|
|
@@ -144,6 +149,13 @@ export default class ByTable extends VueViews {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //点击详情
|
|
|
|
+ detail(row:any){
|
|
|
|
+ let data = (this as any).$lodash.cloneDeep(row);
|
|
|
|
+ delete data[this.key_id];
|
|
|
|
+ this.$emit('detail',data)
|
|
|
|
+ }
|
|
|
|
+
|
|
setConfigAfter(){
|
|
setConfigAfter(){
|
|
if(this.attrs.pageSize){
|
|
if(this.attrs.pageSize){
|
|
this.page.pageSize = this.attrs.pageSize;
|
|
this.page.pageSize = this.attrs.pageSize;
|
|
@@ -249,4 +261,8 @@ export default class ByTable extends VueViews {
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
padding: 0 4px;
|
|
padding: 0 4px;
|
|
}
|
|
}
|
|
|
|
+.detail{
|
|
|
|
+ color: #0089ff;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|