1
0
suochencheng 7 лет назад
Родитель
Сommit
ba68dd6b4b

+ 1 - 0
src/main/java/com/izouma/awesomeadmin/dao/CommonQueryMapper.java

@@ -23,4 +23,5 @@ public interface CommonQueryMapper {
 
     int updateByPrimaryKeySelective(Map<String, Object> parameter);
 
+    int delete(CommonQuery record);
 }

+ 9 - 0
src/main/java/com/izouma/awesomeadmin/dao/CommonQueryMapper.xml

@@ -8,6 +8,8 @@
 
         SELECT * FROM ${record.tableName}
         <where>
+            and del_flag = 'N'
+
             <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
                 <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
                     <choose>
@@ -74,6 +76,7 @@
 
         SELECT * FROM ${tableName}
         <where>
+            and del_flag = 'N'
             <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
                 <foreach item="item" index="index" collection="advancedQuery.split('_;')">
                     <choose>
@@ -177,4 +180,10 @@
         where id = #{primaryKey,jdbcType=INTEGER}
     </update>
 
+    <update id="delete">
+        UPDATE ${tableName} SET del_flag = 'Y'
+        <where>
+            AND id = #{primaryKey}
+        </where>
+    </update>
 </mapper>

+ 1 - 0
src/main/java/com/izouma/awesomeadmin/dao/CommonQuerySqlServerMapper.java

@@ -23,4 +23,5 @@ public interface CommonQuerySqlServerMapper {
     int updateByPrimaryKeySelective(Map<String, Object> parameter);
 
 
+    int delete(CommonQuery record);
 }

+ 5 - 0
src/main/java/com/izouma/awesomeadmin/dao/CommonQuerySqlServerMapper.xml

@@ -174,4 +174,9 @@
         </set>
         where id = #{primaryKey,jdbcType=INTEGER}
     </update>
+
+    <delete id="delete">
+        delete from ${tableName}
+        where id = #{primaryKey,jdbcType=INTEGER}
+    </delete>
 </mapper>

+ 165 - 133
src/main/java/com/izouma/awesomeadmin/dao/QueryConfigMapper.xml

@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.izouma.awesomeadmin.dao.QueryConfigMapper" >
-    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.QueryConfig" >
-                <id column="id" property="id" jdbcType="INTEGER" />
-                                        <result column="del_flag" property="delFlag" jdbcType="CHAR" />
-                                <result column="code" property="code" jdbcType="VARCHAR" />
-                                <result column="table_name" property="tableName" jdbcType="VARCHAR" />
-                                <result column="tableColumns" property="tablecolumns" jdbcType="VARCHAR" />
-                                <result column="dataBaseType" property="databasetype" jdbcType="VARCHAR" />
-            </resultMap>
-    <sql id="Base_Column_List" >
-        <trim  suffixOverrides="," >
+<mapper namespace="com.izouma.awesomeadmin.dao.QueryConfigMapper">
+    <resultMap id="BaseResultMap" type="com.izouma.awesomeadmin.model.QueryConfig">
+        <id column="id" property="id" jdbcType="INTEGER"/>
+        <result column="del_flag" property="delFlag" jdbcType="CHAR"/>
+        <result column="code" property="code" jdbcType="VARCHAR"/>
+        <result column="table_name" property="tableName" jdbcType="VARCHAR"/>
+        <result column="tableColumns" property="tablecolumns" jdbcType="VARCHAR"/>
+        <result column="dataBaseType" property="databasetype" jdbcType="VARCHAR"/>
+        <result column="modules" property="modules" jdbcType="VARCHAR"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <trim suffixOverrides=",">
             id,
 
             del_flag,
@@ -23,115 +24,133 @@
 
             dataBaseType,
 
-            </trim>
+            modules,
+
+        </trim>
     </sql>
-    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
         select
-        <include refid="Base_Column_List" />
+        <include refid="Base_Column_List"/>
         from query_config
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete from query_config
         where id = #{id,jdbcType=INTEGER}
     </delete>
-    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.QueryConfig" useGeneratedKeys="true" keyProperty="id">
+    <insert id="insertSelective" parameterType="com.izouma.awesomeadmin.model.QueryConfig" useGeneratedKeys="true"
+            keyProperty="id">
         insert into query_config
-        <trim prefix="(" suffix=")" suffixOverrides="," >
-                <if test="id!= null" >
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id!= null">
                 id,
             </if>
-                <if test="delFlag!= null" >
+            <if test="delFlag!= null">
                 del_flag,
             </if>
-                <if test="code!= null" >
+            <if test="code!= null">
                 code,
             </if>
-                <if test="tableName!= null" >
+            <if test="tableName!= null">
                 table_name,
             </if>
-                <if test="tablecolumns!= null" >
+            <if test="tablecolumns!= null">
                 tableColumns,
             </if>
-                <if test="databasetype!= null" >
+            <if test="databasetype!= null">
                 dataBaseType,
             </if>
-            </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides="," >
-                    <if test="id != null" >
+            <if test="modules!= null">
+                modules,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
                 #{id,jdbcType=INTEGER},
             </if>
-                    <if test="delFlag != null" >
+            <if test="delFlag != null">
                 #{delFlag,jdbcType=CHAR},
             </if>
-                    <if test="code != null" >
+            <if test="code != null">
                 #{code,jdbcType=VARCHAR},
             </if>
-                    <if test="tableName != null" >
+            <if test="tableName != null">
                 #{tableName,jdbcType=VARCHAR},
             </if>
-                    <if test="tablecolumns != null" >
+            <if test="tablecolumns != null">
                 #{tablecolumns,jdbcType=VARCHAR},
             </if>
-                    <if test="databasetype != null" >
+            <if test="databasetype != null">
                 #{databasetype,jdbcType=VARCHAR},
             </if>
-                </trim>
+            <if test="modules != null">
+                #{modules,jdbcType=VARCHAR},
+            </if>
+        </trim>
     </insert>
-    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.QueryConfig" >
+    <update id="updateByPrimaryKeySelective" parameterType="com.izouma.awesomeadmin.model.QueryConfig">
         update query_config
-        <set >
-                    <if test="id != null" >
-               id= #{id,jdbcType=INTEGER},
+        <set>
+            <if test="id != null">
+                id= #{id,jdbcType=INTEGER},
             </if>
-                     <if test="delFlag != null" >
-               del_flag= #{delFlag,jdbcType=CHAR},
+            <if test="delFlag != null">
+                del_flag= #{delFlag,jdbcType=CHAR},
             </if>
-                     <if test="code != null" >
-               code= #{code,jdbcType=VARCHAR},
+            <if test="code != null">
+                code= #{code,jdbcType=VARCHAR},
             </if>
-                     <if test="tableName != null" >
-               table_name= #{tableName,jdbcType=VARCHAR},
+            <if test="tableName != null">
+                table_name= #{tableName,jdbcType=VARCHAR},
             </if>
-                     <if test="tablecolumns != null" >
-               tableColumns= #{tablecolumns,jdbcType=VARCHAR},
+            <if test="tablecolumns != null">
+                tableColumns= #{tablecolumns,jdbcType=VARCHAR},
             </if>
-                     <if test="databasetype != null" >
-               dataBaseType= #{databasetype,jdbcType=VARCHAR},
+            <if test="databasetype != null">
+                dataBaseType= #{databasetype,jdbcType=VARCHAR},
             </if>
-                 </set>
+            <if test="modules != null">
+                modules= #{modules,jdbcType=VARCHAR},
+            </if>
+        </set>
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <select id="queryQueryConfigByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.QueryConfig">
-        select <include refid="Base_Column_List"/> from query_config
+    <select id="queryQueryConfigByPage" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.QueryConfig">
+        select
+        <include refid="Base_Column_List"/>
+        from query_config
         <where>
             and del_flag = 'N'
-                    <if test="record.id != null and !&quot;&quot;.equals(record.id)">
-                and  id = #{record.id}
+            <if test="record.id != null and !&quot;&quot;.equals(record.id)">
+                and id = #{record.id}
+            </if>
+            <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
+                and del_flag = #{record.delFlag}
             </if>
-                     <if test="record.delFlag != null and !&quot;&quot;.equals(record.delFlag)">
-                and  del_flag = #{record.delFlag}
+            <if test="record.code != null and !&quot;&quot;.equals(record.code)">
+                and code = #{record.code}
             </if>
-                     <if test="record.code != null and !&quot;&quot;.equals(record.code)">
-                and  code = #{record.code}
+            <if test="record.tableName != null and !&quot;&quot;.equals(record.tableName)">
+                and table_name = #{record.tableName}
             </if>
-                     <if test="record.tableName != null and !&quot;&quot;.equals(record.tableName)">
-                and  table_name = #{record.tableName}
+            <if test="record.tablecolumns != null and !&quot;&quot;.equals(record.tablecolumns)">
+                and tableColumns = #{record.tablecolumns}
             </if>
-                     <if test="record.tablecolumns != null and !&quot;&quot;.equals(record.tablecolumns)">
-                and  tableColumns = #{record.tablecolumns}
+            <if test="record.databasetype != null and !&quot;&quot;.equals(record.databasetype)">
+                and dataBaseType = #{record.databasetype}
             </if>
-                     <if test="record.databasetype != null and !&quot;&quot;.equals(record.databasetype)">
-                and  dataBaseType = #{record.databasetype}
+            <if test="record.modules != null and !&quot;&quot;.equals(record.modules)">
+                and modules = #{record.modules}
+            </if>
+            <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR code LIKE concat('%',#{record.searchKey},'%')
+                    OR table_name LIKE concat('%',#{record.searchKey},'%')
+                    OR tableColumns LIKE concat('%',#{record.searchKey},'%')
+                    OR dataBaseType LIKE concat('%',#{record.searchKey},'%')
+                </trim>
             </if>
-                  <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
-             <trim prefix="and (" suffix=")" prefixOverrides="OR" >
-                                                                                                                                                                OR  code LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  table_name LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  tableColumns LIKE concat('%',#{record.searchKey},'%')
-                                                                                                    OR  dataBaseType LIKE concat('%',#{record.searchKey},'%')
-                                                             </trim>
-         </if>
 
             <if test="record.advancedQuery != null and !&quot;&quot;.equals(record.advancedQuery)">
                 <foreach item="item" index="index" collection="record.advancedQuery.split('_;')">
@@ -171,96 +190,107 @@
         </where>
         order by id desc
     </select>
-    <select id="queryAllQueryConfig" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.QueryConfig">
-        select <include refid="Base_Column_List"/> from query_config
+    <select id="queryAllQueryConfig" parameterType="java.util.Map"
+            resultType="com.izouma.awesomeadmin.model.QueryConfig">
+        select
+        <include refid="Base_Column_List"/>
+        from query_config
         <where>
             and del_flag = 'N'
-                    <if test="id != null and !&quot;&quot;.equals(id)">
-                and  id = #{id}
-            </if>
-                    <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
-                and  del_flag = #{delFlag}
-            </if>
-                    <if test="code != null and !&quot;&quot;.equals(code)">
-                and  code = #{code}
-            </if>
-                    <if test="tableName != null and !&quot;&quot;.equals(tableName)">
-                and  table_name = #{tableName}
-            </if>
-                    <if test="tablecolumns != null and !&quot;&quot;.equals(tablecolumns)">
-                and  tableColumns = #{tablecolumns}
-            </if>
-                    <if test="databasetype != null and !&quot;&quot;.equals(databasetype)">
-                and  dataBaseType = #{databasetype}
-            </if>
-                    <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
-                <trim prefix="and (" suffix=")" prefixOverrides="OR" >
-                                                                                                                                                                                                                                                OR  code LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  table_name LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  tableColumns LIKE concat('%',#{searchKey},'%')
-                                                                                                                                                        OR  dataBaseType LIKE concat('%',#{searchKey},'%')
-                                                                                        </trim>
-            </if>
-<if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
-    <foreach item="item" index="index" collection="advancedQuery.split('_;')">
-        <choose>
-            <when test="item.indexOf('like') != -1">
-                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
-                    <if test="detailIndex == 3">
-                        concat('%',#{itemDetail},'%')
-                    </if>
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="code != null and !&quot;&quot;.equals(code)">
+                and code = #{code}
+            </if>
+            <if test="tableName != null and !&quot;&quot;.equals(tableName)">
+                and table_name = #{tableName}
+            </if>
+            <if test="tablecolumns != null and !&quot;&quot;.equals(tablecolumns)">
+                and tableColumns = #{tablecolumns}
+            </if>
+            <if test="databasetype != null and !&quot;&quot;.equals(databasetype)">
+                and dataBaseType = #{databasetype}
+            </if>
+            <if test="modules != null and !&quot;&quot;.equals(modules)">
+                and modules = #{modules}
+            </if>
+            <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
+                <trim prefix="and (" suffix=")" prefixOverrides="OR">
+                    OR code LIKE concat('%',#{searchKey},'%')
+                    OR table_name LIKE concat('%',#{searchKey},'%')
+                    OR tableColumns LIKE concat('%',#{searchKey},'%')
+                    OR dataBaseType LIKE concat('%',#{searchKey},'%')
+                </trim>
+            </if>
+            <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
+                <foreach item="item" index="index" collection="advancedQuery.split('_;')">
+                    <choose>
+                        <when test="item.indexOf('like') != -1">
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    concat('%',#{itemDetail},'%')
+                                </if>
 
-                    <if test="detailIndex &lt; 3">
-                        ${itemDetail}
-                    </if>
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
 
-                </foreach>
-            </when>
-            <otherwise>
-                <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
-                    <if test="detailIndex == 3">
-                        #{itemDetail}
-                    </if>
+                            </foreach>
+                        </when>
+                        <otherwise>
+                            <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
+                                <if test="detailIndex == 3">
+                                    #{itemDetail}
+                                </if>
 
-                    <if test="detailIndex &lt; 3">
-                        ${itemDetail}
-                    </if>
+                                <if test="detailIndex &lt; 3">
+                                    ${itemDetail}
+                                </if>
 
-                </foreach>
-            </otherwise>
-        </choose>
+                            </foreach>
+                        </otherwise>
+                    </choose>
 
 
-    </foreach>
+                </foreach>
 
 
-</if>
+            </if>
         </where>
         order by id desc
     </select>
     <select id="queryQueryConfig" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.QueryConfig">
-        select <include refid="Base_Column_List"/> from query_config
+        select
+        <include refid="Base_Column_List"/>
+        from query_config
         <where>
             and del_flag = 'N'
-                    <if test="id != null and !&quot;&quot;.equals(id)">
+            <if test="id != null and !&quot;&quot;.equals(id)">
                 and id = #{id}
             </if>
-                     <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
                 and del_flag = #{delFlag}
             </if>
-                     <if test="code != null and !&quot;&quot;.equals(code)">
+            <if test="code != null and !&quot;&quot;.equals(code)">
                 and code = #{code}
             </if>
-                     <if test="tableName != null and !&quot;&quot;.equals(tableName)">
+            <if test="tableName != null and !&quot;&quot;.equals(tableName)">
                 and table_name = #{tableName}
             </if>
-                     <if test="tablecolumns != null and !&quot;&quot;.equals(tablecolumns)">
+            <if test="tablecolumns != null and !&quot;&quot;.equals(tablecolumns)">
                 and tableColumns = #{tablecolumns}
             </if>
-                     <if test="databasetype != null and !&quot;&quot;.equals(databasetype)">
+            <if test="databasetype != null and !&quot;&quot;.equals(databasetype)">
                 and dataBaseType = #{databasetype}
             </if>
-         
+            <if test="modules != null and !&quot;&quot;.equals(modules)">
+                and modules = #{modules}
+            </if>
+
         </where>
         LIMIT 1
     </select>
@@ -271,10 +301,12 @@
         </where>
     </update>
     <select id="query" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.QueryConfig">
-        select <include refid="Base_Column_List"/> from query_config
+        select
+        <include refid="Base_Column_List"/>
+        from query_config
         <where>
             and del_flag = 'N'
-                                                                                                                                                                                            </where>
+        </where>
         order by id desc
     </select>
 </mapper>

+ 44 - 30
src/main/java/com/izouma/awesomeadmin/model/QueryConfig.java

@@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 
 @JsonAutoDetect
 @JsonInclude(JsonInclude.Include.NON_NULL)
-public class QueryConfig{
+public class QueryConfig {
     private Integer id;
     private String delFlag;
     private String code;
@@ -14,71 +14,85 @@ public class QueryConfig{
     private String tablecolumns;
     private String databasetype;
 
-private String searchKey;
+    private String modules;
 
-/**
-* and,test_name,like,value;or,remark,=,123
-*/
-private String advancedQuery;
+    private String searchKey;
 
-    public Integer getId(){
+    /**
+     * and,test_name,like,value;or,remark,=,123
+     */
+    private String advancedQuery;
+
+    public Integer getId() {
         return this.id;
     }
 
-    public void setId(Integer id){
+    public void setId(Integer id) {
         this.id = id;
     }
-    public String getDelFlag(){
+
+    public String getDelFlag() {
         return this.delFlag;
     }
 
-    public void setDelFlag(String delFlag){
+    public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
-    public String getCode(){
+
+    public String getCode() {
         return this.code;
     }
 
-    public void setCode(String code){
+    public void setCode(String code) {
         this.code = code;
     }
-    public String getTableName(){
+
+    public String getTableName() {
         return this.tableName;
     }
 
-    public void setTableName(String tableName){
+    public void setTableName(String tableName) {
         this.tableName = tableName;
     }
-    public String getTablecolumns(){
+
+    public String getTablecolumns() {
         return this.tablecolumns;
     }
 
-    public void setTablecolumns(String tablecolumns){
+    public void setTablecolumns(String tablecolumns) {
         this.tablecolumns = tablecolumns;
     }
-    public String getDatabasetype(){
+
+    public String getDatabasetype() {
         return this.databasetype;
     }
 
-    public void setDatabasetype(String databasetype){
+    public void setDatabasetype(String databasetype) {
         this.databasetype = databasetype;
     }
 
-public String getSearchKey() {
-    return searchKey;
-}
+    public String getSearchKey() {
+        return searchKey;
+    }
 
-public void setSearchKey(String searchKey) {
-    this.searchKey = searchKey;
-}
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
 
-public String getAdvancedQuery() {
-    return advancedQuery;
-}
+    public String getAdvancedQuery() {
+        return advancedQuery;
+    }
 
-public void setAdvancedQuery(String advancedQuery) {
-    this.advancedQuery = advancedQuery;
-}
+    public void setAdvancedQuery(String advancedQuery) {
+        this.advancedQuery = advancedQuery;
+    }
+
+    public String getModules() {
+        return modules;
+    }
 
+    public void setModules(String modules) {
+        this.modules = modules;
+    }
 }
 

+ 1 - 0
src/main/java/com/izouma/awesomeadmin/service/CommonQueryService.java

@@ -24,5 +24,6 @@ public interface CommonQueryService {
 
     boolean update(Map<String, Object> parameter);
 
+    boolean delete(CommonQuery record);
 }
 

+ 25 - 0
src/main/java/com/izouma/awesomeadmin/service/impl/CommonQueryServiceImpl.java

@@ -141,5 +141,30 @@ public class CommonQueryServiceImpl implements CommonQueryService {
         return false;
     }
 
+
+    @Override
+    public boolean delete(CommonQuery record) {
+
+        logger.info("delete");
+        try {
+            int updates = 0;
+            if ("Mysql".equals(record.getDatabasetype())) {
+                updates = commonQueryMapper.delete(record);
+            } else if ("SqlServer".equals(record.getDatabasetype())) {
+                updates = cmmonQuerySqlServerMapper.delete(record);
+            }
+
+
+            if (updates > 0) {
+                return true;
+            }
+        } catch (Exception e) {
+            logger.error("delete", e);
+        }
+
+        return false;
+    }
+
+
 }
 

+ 15 - 0
src/main/java/com/izouma/awesomeadmin/web/CommonQueryController.java

@@ -103,5 +103,20 @@ public class CommonQueryController extends BaseController {
     }
 
 
+    /**
+     * <p>删除。</p>
+     */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    @ResponseBody
+    public Result delete(CommonQuery record) {
+
+        boolean num = commonQueryService.delete(record);
+        if (num) {
+            return new Result(true, "删除成功");
+        }
+        return new Result(false, "删除异常");
+    }
+
+
 }
 

+ 32 - 0
src/main/vue/src/pages/CommonQuery.vue

@@ -21,6 +21,7 @@
             </template>
             <el-form-item>
                 <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
+                <el-button @click="onDelete" v-if="$route.query.id&&isModulesShow('del')" type="danger">删除</el-button>
                 <el-button @click="$router.go(-1)">取消</el-button>
             </el-form-item>
         </el-form>
@@ -48,6 +49,7 @@ export default {
             tableColumns: [],
             databasetype: 'Mysql',
             tableName: '',
+            modules: [],
         }
     },
     methods: {
@@ -145,6 +147,8 @@ export default {
 
                     if (res.data) {
 
+                        this.modules = res.data.modules.split(',');
+
                         this.tableName = res.data.tableName;
                         this.databasetype = res.data.databasetype;
 
@@ -173,6 +177,34 @@ export default {
                 }
             })
         },
+
+        onDelete() {
+            if (this.$route.query.id) {
+                this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                    return this.$http.post({
+                        url: '/commonQuery/del',
+                        data: {
+                            tableName: this.tableName,
+                            primaryKey: this.$route.query.id,
+                            databasetype: this.databasetype
+                        }
+                    })
+                }).then(() => {
+                    this.$message.success('删除成功');
+                    this.$router.go(-1);
+                }).catch(action => {
+                    if (action === 'cancel') {
+                        this.$message.info('删除取消');
+                    } else {
+                        this.$message.error('删除失败');
+                    }
+                })
+            }
+        },
+        isModulesShow(column) {
+            var row = this.modules.find(i => i === column);
+            return row ? true : false;
+        },
     }
 }
 </script>

+ 21 - 8
src/main/vue/src/pages/CommonQuerys.vue

@@ -2,15 +2,15 @@
     <div>
         <div class="filters-container">
 
-            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+            <el-input v-if="isModulesShow('search')" placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
 
-            <el-button @click="getData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
+            <el-button v-if="isModulesShow('search')" @click="getData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
             </el-button>
 
-            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small" icon="el-icon-search" class="filter-item">高级查询
+            <el-button v-if="isModulesShow('query')" @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small" icon="el-icon-search" class="filter-item">高级查询
             </el-button>
 
-            <el-button @click="$router.push({path:'/commonQuery',query:{code:$route.query.code}})" type="primary" size="small" icon="el-icon-edit" class="filter-item">添加
+            <el-button v-if="isModulesShow('add')" @click="$router.push({path:'/commonQuery',query:{code:$route.query.code}})" type="primary" size="small" icon="el-icon-edit" class="filter-item">添加
             </el-button>
 
             <el-dropdown trigger="click" size="medium" class="table-column-filter">
@@ -31,7 +31,7 @@
                 <el-table-column v-if="item.type=='date'" :formatter="DateTimeFormatter" sortable="custom" :prop="item.value" :label="item.label" min-width="100">
                 </el-table-column>
 
-                <el-table-column v-else-if="item.type=='image'" sortable="custom" :prop="item.value" :label="item.label" min-width="100">
+                <el-table-column v-else-if="item.type=='image'" :prop="item.value" :label="item.label" min-width="100">
                     <template slot-scope="{row}">
                         <img :src="row[item.value]" @click="showImg(row[item.value])" style="width: 100px;height: 100px;vertical-align: middle;" />
                     </template>
@@ -39,7 +39,7 @@
                 <el-table-column v-else-if="item.type=='text'" sortable="custom" :prop="item.value" :label="item.label" min-width="100">
                 </el-table-column>
             </template>
-            <el-table-column label="操作" align="center" fixed="right">
+            <el-table-column label="操作" align="center" fixed="right" v-if="isModulesShow('edit')">
                 <template slot-scope="scope">
                     <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
                 </template>
@@ -132,6 +132,7 @@ export default {
             searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
             searchColumn: '',
             orderByStr: '',
+            modules: [],
 
         }
     },
@@ -143,7 +144,9 @@ export default {
     },
     methods: {
         getTableBase() {
-
+            this.tableColumns = [];
+            this.tableData = [];
+            this.modules = [];
             this.$http.get({
                 url: '/queryConfig/getOne',
                 data: {
@@ -155,10 +158,14 @@ export default {
 
                     if (res.data) {
 
+
+
+                        this.modules = res.data.modules.split(',');
+
                         this.tableName = res.data.tableName;
                         this.databasetype = res.data.databasetype;
 
-                        this.tableColumns = [];
+
                         var tableColumnsStr = res.data.tablecolumns;
 
                         var columns = tableColumnsStr.split('_;');
@@ -237,6 +244,12 @@ export default {
             var row = this.tableColumns.find(i => i.value === column);
             return row ? row.show : false;
         },
+
+        isModulesShow(column) {
+            var row = this.modules.find(i => i === column);
+            return row ? true : false;
+        },
+
         DateTimeFormatter(row, column, cellValue) {
             if (cellValue) {
                 return format(cellValue, 'YYYY/MM/DD HH:mm', { locale: zh })

+ 35 - 0
src/main/vue/src/pages/QueryConfig.vue

@@ -9,12 +9,29 @@
                     </el-option>
                 </el-select>
             </el-form-item>
+
             <el-form-item prop="code" label="code">
                 <el-input v-model="formData.code"></el-input>
             </el-form-item>
             <el-form-item prop="tableName" label="表名">
                 <el-input v-model="formData.tableName"></el-input>
             </el-form-item>
+
+            <el-form-item prop="modules" label="功能">
+                <el-select placeholder="modules" size="small" multiple v-model="formData.modules" class="filter-item">
+                    <el-option label="搜索" value="search">
+                    </el-option>
+                    <el-option label="高级搜索" value="query">
+                    </el-option>
+                    <el-option label="添加" value="add">
+                    </el-option>
+                    <el-option label="编辑" value="edit">
+                    </el-option>
+                    <el-option label="删除" value="del">
+                    </el-option>
+                </el-select>
+            </el-form-item>
+
             <el-form-item prop="tablecolumns" label="字段">
                 <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
                 <el-table :data="tablecolumnsFields">
@@ -65,6 +82,9 @@ export default {
                 }
             }).then(res => {
                 if (res.success) {
+
+                    res.data.modules = res.data.modules ? res.data.modules.split(',').map(i => String(i)) : [];
+
                     this.formData = res.data;
 
                     this.tablecolumnsFields = [];
@@ -94,6 +114,21 @@ export default {
                 databasetype: 'Mysql'
             },
             rules: {
+                databasetype: [
+                    { required: true, message: '请选择数据库类型', trigger: 'blur' },
+                ],
+                code: [
+                    { required: true, message: '请填写CODE', trigger: 'blur' },
+                ],
+                modules: [
+                    { required: true, message: '请选择功能', trigger: 'blur' },
+                ],
+                tablecolumns: [
+                    { required: true, message: '请添加字段', trigger: 'blur' },
+                ],
+                tableName: [
+                    { required: true, message: '请填写表名', trigger: 'blur' },
+                ],
             },
 
             tablecolumnsFields: [

+ 11 - 0
src/main/vue/src/pages/QueryConfigs.vue

@@ -35,6 +35,8 @@
             </el-table-column>
             <el-table-column v-if="isColumnShow('databasetype')" prop="databasetype" label="数据库类型" min-width="100">
             </el-table-column>
+            <el-table-column v-if="isColumnShow('modules')" prop="modules" label="功能" min-width="100">
+            </el-table-column>
             <el-table-column label="操作" align="center" fixed="right">
                 <template slot-scope="scope">
                     <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
@@ -139,6 +141,11 @@ export default {
                     value: 'databasetype',
                     show: true
                 },
+                {
+                    label: '功能',
+                    value: 'modules',
+                    show: true
+                },
             ],
             multipleMode: false,
             showAdvancedQueryDialog: false,
@@ -161,6 +168,10 @@ export default {
                     label: '数据库类型',
                     value: 'dataBaseType'
                 },
+                {
+                    label: '功能',
+                    value: 'modules'
+                },
             ],
             advancedQuerySearchKey: '',
         }