Commit 5190a166 authored by trumansdo's avatar trumansdo
Browse files

补充自动渲染数据页面的插槽功能

parent 04aa420a
package com.ibeetl.admin.core.dao; package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.entity.CoreUser;
import java.util.List; import java.util.List;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
@SqlResource("core.coreUser") @SqlResource("core.coreUser")
public interface CoreUserDao extends BaseMapper<CoreUser> { public interface CoreUserDao extends BaseMapper<CoreUser> {
......
package com.ibeetl.admin.core.service; package com.ibeetl.admin.core.service;
import com.ibeetl.admin.core.dao.SQLManagerBaseDao;
import java.util.List;
import javax.validation.constraints.NotNull;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ibeetl.admin.core.conf.PasswordConfig.PasswordEncryptService; import com.ibeetl.admin.core.conf.PasswordConfig.PasswordEncryptService;
import com.ibeetl.admin.core.dao.CoreOrgDao; import com.ibeetl.admin.core.dao.CoreOrgDao;
import com.ibeetl.admin.core.dao.CoreUserDao; import com.ibeetl.admin.core.dao.CoreUserDao;
import com.ibeetl.admin.core.dao.SQLManagerBaseDao;
import com.ibeetl.admin.core.entity.CoreOrg; import com.ibeetl.admin.core.entity.CoreOrg;
import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.rbac.UserLoginInfo; import com.ibeetl.admin.core.rbac.UserLoginInfo;
import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.enums.DelFlagEnum; import com.ibeetl.admin.core.util.enums.DelFlagEnum;
import com.ibeetl.admin.core.util.enums.GeneralStateEnum; import com.ibeetl.admin.core.util.enums.GeneralStateEnum;
import java.util.List;
import javax.validation.constraints.NotNull;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service @Service
@Transactional @Transactional
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
<el-option /> <el-option />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 给某些无法自动生成表单域的插槽,并将数据向插槽传递 -->
<slot :dialog-data="dialogData" name="dialog-form-item"></slot> <slot :dialog-data="dialogData" name="dialog-form-item"></slot>
</el-form> </el-form>
<template v-slot:footer> <template v-slot:footer>
......
<!-- <!--
* @Author: 一日看尽长安花 * @Author: 一日看尽长安花
* @since: 2019-10-12 16:14:37 * @since: 2019-10-12 16:14:37
* @LastEditTime: 2019-10-17 11:48:19 * @LastEditTime: 2019-11-25 22:58:49
* @LastEditors: 一日看尽长安花 * @LastEditors: 一日看尽长安花
* @Description: * @Description:
--> -->
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
/> />
<div <div
v-else-if="judgeType(val.type, 'date')" v-else-if="judgeType(val.type, 'date')"
style="display:inline-block" style="display: inline-block;position: relative;top: -0.3rem;"
> >
<el-date-picker <el-date-picker
v-model="filterData[key + 'Start']" v-model="filterData[key + 'Start']"
...@@ -130,6 +130,10 @@ export default { ...@@ -130,6 +130,10 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped>
.filter-container {
margin-top: 1rem;
}
.filter-item-container { .filter-item-container {
display: inline-block; display: inline-block;
margin: 0.15em; margin: 0.15em;
......
<!-- <!--
* @Author: 一日看尽长安花 * @Author: 一日看尽长安花
* @since: 2019-10-12 15:43:18 * @since: 2019-10-12 15:43:18
* @LastEditTime: 2019-11-24 21:24:42 * @LastEditTime: 2019-11-30 22:23:06
* @LastEditors: 一日看尽长安花 * @LastEditors: 一日看尽长安花
* @Description: 后台管理页面的自动生成, * @Description: 后台管理页面的自动生成,
* 主要暴露了分页方法、过滤表格(单纯前端过滤)、条件查询、增删改方法 * 主要暴露了分页方法、过滤表格(单纯前端过滤)、条件查询、增删改方法
...@@ -12,7 +12,14 @@ ...@@ -12,7 +12,14 @@
:metedata="metedata" :metedata="metedata"
@filter-search="filterSearch" @filter-search="filterSearch"
@handle-create="handleCreate" @handle-create="handleCreate"
></search-pane> >
<template #filter-condition="{filterData:filterData}">
<slot name="filter-condition" :filter-data="filterData"> </slot>
</template>
<template #operation-btn-group>
<slot name="operation-btn-group"> </slot>
</template>
</search-pane>
<data-table <data-table
:loading="loading" :loading="loading"
:metedata="metedata" :metedata="metedata"
...@@ -32,7 +39,9 @@ ...@@ -32,7 +39,9 @@
@create-data="$emit('create-data')" @create-data="$emit('create-data')"
@update-data="$emit('update-data')" @update-data="$emit('update-data')"
> >
<template #dialog-form-item="{dialogData:dialogData}"> </template> <template #dialog-form-item="{dialogData:dialogData}">
<slot :dialog-data="dialogData" name="dialog-form-item"></slot>
</template>
</edit-dialog> </edit-dialog>
</div> </div>
</template> </template>
......
<!-- <!--
* @Author: 一日看尽长安花 * @Author: 一日看尽长安花
* @since: 2019-10-12 15:43:18 * @since: 2019-10-12 15:43:18
* @LastEditTime: 2019-11-24 10:50:41 * @LastEditTime: 2019-11-30 22:55:19
* @LastEditors: 一日看尽长安花 * @LastEditors: 一日看尽长安花
* @Description: * @Description:
--> -->
...@@ -17,7 +17,46 @@ ...@@ -17,7 +17,46 @@
@create-data="createData" @create-data="createData"
@delete-data="deleteData" @delete-data="deleteData"
@update-data="updateData" @update-data="updateData"
></table-views> >
<!-- todo 待解决的问题:样式问题。猜测原因:应该是样式穿透问题,不能是scope -->
<!-- 往搜索栏中添加搜索条件 -->
<template #filter-condition="{filterData:filterData}">
<div class="filter-item-container">
<el-form-item>
<el-input
v-model="filterData['test']"
placeholder="test"
:clearable="true"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
</div>
</template>
<!-- 往操作按钮组中添加自定义操作按钮 -->
<template #operation-btn-group>
<el-button
class="filter-item"
style="margin-left: 10px;"
type="primary"
icon="el-icon-edit"
size="mini"
>
测试
</el-button>
</template>
<template #dialog-form-item="{dialogData:dialogData}">
<el-form-item key="slotkey" label="测试插槽" prop="test">
<el-input
v-model="dialogData['test']"
placeholder="test"
:clearable="true"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
</template>
</table-views>
</div> </div>
</template> </template>
...@@ -79,7 +118,7 @@ export default { ...@@ -79,7 +118,7 @@ export default {
); );
}, },
filterSearch(queryParams) { filterSearch(queryParams) {
this.obtainData(queryParams); this.obtainData(Object.assign({ page: 1, limit: 10 }, queryParams));
}, },
createData(dialogData) { createData(dialogData) {
this.$nextTick(() => { this.$nextTick(() => {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment