Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

Administrator 4 yıl önce
ebeveyn
işleme
3efd337136

+ 1 - 1
boman-api/boman-api-gen/src/main/java/com/boman/gen/api/RemoteGenTableColumnService.java

@@ -26,7 +26,7 @@ public interface RemoteGenTableColumnService {
     @GetMapping(value = "/genTableColumn/{tableId}")
     AjaxResult listColumnsByTableId(@PathVariable("tableId") Long tableId);
 
-    @GetMapping(value = "/pk/{columnId}")
+    @GetMapping(value = "/genTableColumn/pk/{columnId}")
     GenTableColumn getById(@PathVariable("columnId") Long columnId);
 
 

+ 40 - 46
boman-api/boman-domain/src/main/java/com.boman.domain/SysDictData.java

@@ -1,14 +1,8 @@
 package com.boman.domain;
 
-import com.boman.common.core.annotation.Excel;
-import com.boman.common.core.annotation.Excel.ColumnType;
-import com.boman.common.core.constant.UserConstants;
-import com.boman.common.core.web.domain.BaseEntity;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
+//import com.boman.common.core.constant.UserConstants;
+//import org.apache.commons.lang3.builder.ToStringBuilder;
+//import org.apache.commons.lang3.builder.ToStringStyle;
 
 /**
  * 字典数据表 sys_dict_data
@@ -20,23 +14,23 @@ public class SysDictData extends BaseEntity
     private static final long serialVersionUID = 1L;
 
     /** 字典编码 */
-    @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
+//    @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
     private Long id;
 
     /** 字典排序 */
-    @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
+//    @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
     private Long dictSort;
 
     /** 字典标签 */
-    @Excel(name = "字典标签")
+//    @Excel(name = "字典标签")
     private String dictLabel;
 
     /** 字典键值 */
-    @Excel(name = "字典键值")
+//    @Excel(name = "字典键值")
     private String dictValue;
 
     /** 字典类型 */
-    @Excel(name = "字典类型")
+//    @Excel(name = "字典类型")
     private String dictType;
 
     /** 样式属性(其他样式扩展) */
@@ -46,11 +40,11 @@ public class SysDictData extends BaseEntity
     private String listClass;
 
     /** 是否默认(Y是 N否) */
-    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
+//    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
     private String isDefault;
 
     /** 状态(0正常 1停用) */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+//    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
     private String status;
 
     public Long getId()
@@ -73,8 +67,8 @@ public class SysDictData extends BaseEntity
         this.dictSort = dictSort;
     }
 
-    @NotBlank(message = "字典标签不能为空")
-    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
+//    @NotBlank(message = "字典标签不能为空")
+//    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
     public String getDictLabel()
     {
         return dictLabel;
@@ -85,8 +79,8 @@ public class SysDictData extends BaseEntity
         this.dictLabel = dictLabel;
     }
 
-    @NotBlank(message = "字典键值不能为空")
-    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
+//    @NotBlank(message = "字典键值不能为空")
+//    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
     public String getDictValue()
     {
         return dictValue;
@@ -97,8 +91,8 @@ public class SysDictData extends BaseEntity
         this.dictValue = dictValue;
     }
 
-    @NotBlank(message = "字典类型不能为空")
-    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
+//    @NotBlank(message = "字典类型不能为空")
+//    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
     public String getDictType()
     {
         return dictType;
@@ -109,7 +103,7 @@ public class SysDictData extends BaseEntity
         this.dictType = dictType;
     }
 
-    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
+//    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
     public String getCssClass()
     {
         return cssClass;
@@ -130,10 +124,10 @@ public class SysDictData extends BaseEntity
         this.listClass = listClass;
     }
 
-    public boolean getDefault()
-    {
-        return UserConstants.YES.equals(this.isDefault) ? true : false;
-    }
+//    public boolean getDefault()
+//    {
+//        return UserConstants.YES.equals(this.isDefault) ? true : false;
+//    }
 
     public String getIsDefault()
     {
@@ -155,23 +149,23 @@ public class SysDictData extends BaseEntity
         this.status = status;
     }
     
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("dictSort", getDictSort())
-            .append("dictLabel", getDictLabel())
-            .append("dictValue", getDictValue())
-            .append("dictType", getDictType())
-            .append("cssClass", getCssClass())
-            .append("listClass", getListClass())
-            .append("isDefault", getIsDefault())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
+//    @Override
+//    public String toString() {
+//        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+//            .append("id", getId())
+//            .append("dictSort", getDictSort())
+//            .append("dictLabel", getDictLabel())
+//            .append("dictValue", getDictValue())
+//            .append("dictType", getDictType())
+//            .append("cssClass", getCssClass())
+//            .append("listClass", getListClass())
+//            .append("isDefault", getIsDefault())
+//            .append("status", getStatus())
+//            .append("createBy", getCreateBy())
+//            .append("createTime", getCreateTime())
+//            .append("updateBy", getUpdateBy())
+//            .append("updateTime", getUpdateTime())
+//            .append("remark", getRemark())
+//            .toString();
+//    }
 }

+ 12 - 0
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/obj/ObjectUtils.java

@@ -194,6 +194,18 @@ public class ObjectUtils {
                 .stream().filter(predicate).collect(Collectors.toList());
     }
 
+    /**
+     * 功能描述: 根据规则过滤
+     *
+     * @param input     原数据
+     * @param predicate FunctionalInterface
+     * @return java.util.List<T>
+     */
+    public static <T> T filterOne(List<T> input, Predicate<T> predicate) {
+        return requireNonNull(input, "list is null")
+                .stream().filter(predicate).findFirst().orElse(null);
+    }
+
     /**
      * 功能描述: 根据规则获取
      *

+ 1 - 1
boman-web-core/src/main/java/com/boman/web/core/controller/ObjController.java

@@ -204,7 +204,7 @@ public class ObjController {
     @ApiOperation(value = "获取表单按钮")
     @PostMapping("/getButton")
     public AjaxResult getButton(@RequestBody BaseTableSaveDTO condition) {
-        return tableServiceCmdService.getButton(condition);
+        return AjaxResult.success( tableServiceCmdService.getButton(condition.getTable()));
     }
 
     /**

+ 69 - 34
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -27,10 +27,10 @@ import com.boman.web.core.service.save.IBaseSaveService;
 import com.boman.web.core.service.select.IBaseSelectService;
 import com.boman.web.core.service.submit.IBaseSubmitService;
 import com.boman.web.core.service.update.IBaseUpdateService;
-import com.boman.web.core.utils.ColumnUtils;
 import com.boman.web.core.utils.IdUtils;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.BooleanUtils;
 import org.slf4j.Logger;
@@ -245,11 +245,13 @@ public class TableServiceCmdService {
         List<JSONObject> result = selectService.selectByCondition(genTable.getTableName(), condition, packCondition
                 , showData, dto.getOrderBy(), dto.getLimit(), dto.getOffset());
         // 处理时间
-        handlerDate(result, columns);
+//        handlerDate(result, columns);
         // 处理字典值
-        handlerSysDictData(result, columns);
+//        handlerSysDictData(result, columns);
         // 处理外键
-        handlerForeignKey(result, columns);
+//        handlerForeignKey(result, columns);
+
+        handler(result, columns);
         // 定制接口
         result = isCustomized(dto.getTable(),result,"trigger_retrieve");
 
@@ -257,41 +259,64 @@ public class TableServiceCmdService {
         return AjaxResult.success(rows);
     }
 
+    private void handler(List<JSONObject> result, List<GenTableColumn> columns){
+        // 处理时间
+        handlerDate(result, columns);
+        // 处理字典值
+        handlerSysDictData(result, columns);
+        // 处理外键
+        handlerForeignKey(result, columns);
+    }
+
+    /**
+     * 功能描述: 处理外键
+     *
+     * @param result  result
+     * @param columns 该表对应的所有的列
+     */
     private void handlerForeignKey(List<JSONObject> result, List<GenTableColumn> columns) {
         if (org.apache.commons.collections4.CollectionUtils.isEmpty(result)) {
             return;
         }
-
         // 拿到所有有fk的列
-        columns = filter(columns, col -> ObjectUtils.isNotEmpty(col.getForeignKey()));
-        for (GenTableColumn column : columns) {
+        List<GenTableColumn> fkColumns = filter(columns, col -> ObjectUtils.isNotEmpty(col.getForeignKey()));
+
+        for (GenTableColumn column : fkColumns) {
             JSONObject jsonObject = new JSONObject();
-//            Long selfTableId = column.getTableId();
             String selfColumnName = column.getColumnName();
             for (JSONObject json : result) {
-                if (json.containsKey(selfColumnName)) {
-                    Object value = json.get(selfColumnName);
-
+                if (json.containsKey(selfColumnName.toUpperCase()) || json.containsKey(selfColumnName.toLowerCase())) {
+                    // 外键在table_column中的id
                     Long fkColumnId = Long.parseLong(column.getForeignKey());
                     GenTableColumn fkTableColumn = remoteGenTableColumnService.getById(fkColumnId);
+                    String fkColumnName = fkTableColumn.getColumnName();
                     Long fkTableId = fkTableColumn.getTableId();
                     GenTable fkGenTable = remoteGenTableService.getByTableId(fkTableId);
-                    String fkTableName= fkGenTable.getTableName();
-
-                    // select * from fkTableName where fkTableColumn.columnName = value;
-
-//                    jsonObject.put(columnName, "");
-//                    jsonObject.put("columnName", "");
-
+                    // 显示键 table_column 表的id
+                    Long dkColumnId = fkGenTable.getDkColumn();
+                    GenTableColumn dkTableColumn = remoteGenTableColumnService.getById(dkColumnId);
+                    String dkColumnName = dkTableColumn.getColumnName();
+                    String fkTableName = fkGenTable.getTableName();
+                    Object primaryTableFKvalue = json.get(selfColumnName);
+                    // "DEPT_ID": {"value": 104, "name": "开发部"}
+                    Map<String, Object> param = Maps.newHashMap();
+                    param.put(fkColumnName, primaryTableFKvalue);
+                    List<JSONObject> fkList = selectService.selectByMap(fkTableName, param);
+
+                    for (JSONObject object : fkList) {
+                        Object value = object.get(dkColumnName);
+                        jsonObject.put(SINGLE_OBJ_NAME, primaryTableFKvalue);
+                        jsonObject.put(SINGLE_OBJ_VALUE, value);
+                        json.put(selfColumnName.toLowerCase(), jsonObject);
+                        break;
+                    }
                 }
             }
-
-
         }
     }
 
     /**
-     * 功能描述: 把timeStamp转为string
+     * 功能描述: 把timeStamp转为string, 默认类型为:YYYY_MM_DD
      *
      * @param result 被转的数据
      */
@@ -353,21 +378,28 @@ public class TableServiceCmdService {
     public AjaxResult getObject(BaseTableSaveDTO dto) {
         requireNonNull(dto.getTable());
 
-        // 拿到每个字段对应的查询类型,=、 like、 >、 <
-        // 拿到pkName
         GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, dto.getTable());
         String pkName = IdUtils.getPkName(genTable.getColumns());
-
         JSONObject fixedData = dto.getFixedData();
         fixedData = ifNullSetEmpty(fixedData);
         Long id = fixedData.getLong(FormDataConstant.ID);
         requireNonNull(id);
         List<GenTableColumn> columns = genTable.getColumns();
+        // id = -1时,查询该表单对应的字段名称
+        if (ltZero(id)) {
+            return getByTableName(genTable.getTableName(), columns);
+        }
+
         // 默认查所有字段,不支持自定义
-        JSONObject jsonObject = selectService.selectById(genTable.getTableName(), pkName, id);
+        JSONObject json = selectService.selectById(genTable.getTableName(), pkName, id);
         // name=username, value=zhangsan, type=input, types=[{},{}]
-        handlerDate(Collections.singletonList(jsonObject), columns);
-        List<JSONObject> result = packSingleObj(jsonObject, columns);
+
+        handler(Collections.singletonList(json), columns);
+
+        List<JSONObject> list = packSingleObj(json, columns);
+        JSONObject result = new JSONObject();
+        result.put(SHOW_DATA, list);
+        result.put(BUTTON_LIST, getButton(genTable.getTableName()));
         return AjaxResult.success(result);
     }
 
@@ -529,9 +561,9 @@ public class TableServiceCmdService {
      * @param condition condition
      * @return com.boman.common.core.web.domain.AjaxResult
      */
-    public AjaxResult getButton(BaseTableSaveDTO condition) {
-        GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, condition.getTable());
-        return AjaxResult.success("成功", Strings.nullToEmpty(genTable.getMenuRole()));
+    public String getButton(String tableName) {
+        GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, tableName);
+        return Strings.nullToEmpty(genTable.getMenuRole());
     }
 
 
@@ -713,6 +745,7 @@ public class TableServiceCmdService {
      * @return com.boman.gen.domain.GenTable
      */
     private GenTable getTableFromRedisByTableName(String redisKeyPrefix, String tableName) {
+        tableName = tableName.trim().toLowerCase();
         String key = requireNonNull(redisKeyPrefix) + requireNonNull(tableName);
         GenTable genTable = redisService.getCacheObject(key);
         if (ObjectUtils.isEmpty(genTable)) {
@@ -748,11 +781,11 @@ public class TableServiceCmdService {
             return AjaxResult.success(genTable);
         } else {
             // 带折叠的展示
-            return getByTableName(allColumns);
+            return getByTableName(genTable.getTableName(), allColumns);
         }
     }
 
-    public AjaxResult getByTableName( List<GenTableColumn> allColumns) {
+    public AjaxResult getByTableName(String tableName, List<GenTableColumn> allColumns) {
         List<GenTableColumn> parentColumns = filter(allColumns, col -> HR.equalsIgnoreCase(col.getHtmlType()));
 
         // 把孩子放入父亲的怀抱
@@ -770,8 +803,10 @@ public class TableServiceCmdService {
         for (GenTableColumn hrColumn : parentColumns) {
             packDictDataToColumns(hrColumn.getHrChildren(), ObjectUtils::isNotEmpty);
         }
-
-        return AjaxResult.success(parentColumns);
+        JSONObject result = new JSONObject();
+        result.put(BUTTON_LIST, getButton(tableName));
+        result.put(SHOW_DATA, parentColumns);
+        return AjaxResult.success(result);
     }
 
     public void packDictDataToColumns(List<GenTableColumn> columns, Predicate<String> predicate) {

+ 14 - 0
boman-web-core/src/main/java/com/boman/web/core/service/select/BaseSelectServiceImpl.java

@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 import static com.boman.common.core.utils.obj.ObjectUtils.requireNonNull;
 
@@ -46,6 +47,19 @@ public class BaseSelectServiceImpl implements IBaseSelectService {
         return mapper.selectByCondition(tableName, condition, packCondition, showData, orderBy, limit, offset);
     }
 
+    /**
+     * 功能描述: 根据tableName和map(属性名和属性值)进行查查
+     *
+     * @param tableName tableName
+     * @param param     属性名和属性值
+     * @return java.util.List<com.alibaba.fastjson.JSONObject>
+     */
+    @Override
+    public List<JSONObject> selectByMap(String tableName, Map<String, Object> param) {
+        requireNonNull(tableName, "表名为空");
+        return mapper.selectByMap(tableName, param);
+    }
+
     /**
      * 功能描述: 根据条件查询
      *

+ 10 - 0
boman-web-core/src/main/java/com/boman/web/core/service/select/IBaseSelectService.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author shiqian
@@ -11,6 +12,15 @@ import java.util.List;
  **/
 public interface IBaseSelectService {
 
+    /**
+     * 功能描述: 根据tableName和map(属性名和属性值)进行查查
+     *
+     * @param tableName tableName
+     * @param param     属性名和属性值
+     * @return java.util.List<com.alibaba.fastjson.JSONObject>
+     */
+    List<JSONObject> selectByMap(String tableName, Map<String, Object> param);
+
     /**
      * 功能描述: 根据条件查询
      *

+ 5 - 3
boman-web-core/src/main/java/com/boman/web/core/utils/ColumnUtils.java

@@ -93,7 +93,8 @@ public class ColumnUtils {
         if (dataIsEmpty) {
             // data为空,拿出所有列中列表可见的
             for (GenTableColumn allColumn : allColumns) {
-                String columnName = allColumn.getColumnName().toUpperCase();
+                String columnName = allColumn.getColumnName();
+//                String columnName = allColumn.getColumnName().toUpperCase();
                 String[] maskArray = requireNonNull(allColumn.getMask(), "mask is empty").split("");
                 assert maskArray.length == 6;
                 String maskValue = maskArray[sort];
@@ -104,8 +105,9 @@ public class ColumnUtils {
         } else {
             // data不为空,拿出前端传过来的列中可见的
             for (GenTableColumn allColumn : allColumns) {
-                String columnName = allColumn.getColumnName().toUpperCase();
-                if (data.contains(columnName)) {
+                String columnName = allColumn.getColumnName();
+//                String columnName = allColumn.getColumnName().toUpperCase();
+                if (data.contains(columnName.toUpperCase()) || data.contains(columnName.toLowerCase())) {
                     String[] maskArray = requireNonNull(allColumn.getMask(), "mask is empty").split("");
                     assert maskArray.length == 6;
                     String maskValue = maskArray[sort];

+ 1 - 1
ruoyi-ui/.env.development

@@ -1,7 +1,7 @@
 # 开发环境配置
 ENV = 'development'
 
-# 博曼办公协作/开发环境
+# 潜山市云数据中心/开发环境
 VUE_APP_BASE_API = '/dev-api'
 
 # 路由懒加载

+ 1 - 1
ruoyi-ui/.env.production

@@ -1,5 +1,5 @@
 # 生产环境配置
 ENV = 'production'
 
-# 博曼办公协作/生产环境
+# 潜山市云数据中心/生产环境
 VUE_APP_BASE_API = '/prod-api'

+ 1 - 1
ruoyi-ui/.env.staging

@@ -3,5 +3,5 @@ NODE_ENV = production
 # 测试环境配置
 ENV = 'staging'
 
-# 博曼办公协作/测试环境
+# 潜山市云数据中心/测试环境
 VUE_APP_BASE_API = '/stage-api'

+ 1 - 1
ruoyi-ui/package.json

@@ -1,7 +1,7 @@
 {
   "name": "ruoyi",
   "version": "2.5.0",
-  "description": "博曼办公协作",
+  "description": "潜山市云数据中心",
   "author": "若依",
   "license": "MIT",
   "scripts": {

+ 22 - 0
ruoyi-ui/src/api/tool/gen.js

@@ -170,3 +170,25 @@ export function addGenTableColumn(data) {
     data
   })
 }
+// 删除字段信息
+export function delGenTableColumn(id) {
+  return request({
+    url: '/boman-gen/genTableColumn/' + id,
+    method: 'delete',
+  })
+}
+// 修改字段信息
+export function setGenTableColumn(data) {
+  return request({
+    url: '/boman-gen/genTableColumn',
+    method: 'put',
+    data
+  })
+}
+// 获取字段信息
+export function getGenTableColumn(tableId) {
+  return request({
+    url: '/boman-gen/genTableColumn/getColumnInfo/' + tableId,
+    method: 'get',
+  })
+}

+ 1 - 1
ruoyi-ui/src/layout/components/Sidebar/Logo.vue

@@ -36,7 +36,7 @@ export default {
   },
   data() {
     return {
-      title: '博曼办公协作',
+      title: '潜山市云数据中心',
       logo: logoImg
     }
   }

+ 1 - 1
ruoyi-ui/src/settings.js

@@ -1,5 +1,5 @@
 module.exports = {
-  title: '博曼办公协作',
+  title: '潜山市云数据中心',
   urls: `http://192.168.101.11:8090`,
   // urls: `http://192.168.101.110:8080`,
   // urls: `http://192.168.101.49:8080`,

+ 1 - 1
ruoyi-ui/src/views/login.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">博曼办公协作</h3>
+      <h3 class="title"> 潜山市云数据中心</h3>
       <el-form-item prop="username">
         <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />

+ 97 - 33
ruoyi-ui/src/views/tool/gen/editTable.vue

@@ -1,24 +1,15 @@
 <template>
   <el-card>
-    <el-row type="flex" v-if="activeName=='basic' || activeName=='cloum'" justify="space-between" style="margin: 10px 0;">
+    <el-row type="flex" justify="space-between" style="margin: 10px 0;">
       <el-col :span="1.5" style="display: flex; align-items: center;">
         <el-form label-width="100px" style="display: flex; align-items: center;">
           <el-form-item style="text-align: center;margin-left:-100px;margin-top:0; margin-bottom: 0;">
-            <el-button type="primary" @click="submitForm()">保存</el-button>
+            <el-button type="primary" v-if="activeName=='basic' || activeName=='cloum'" @click="submitForm()">保存</el-button>
             <el-button @click="close()">返回</el-button>
           </el-form-item>
         </el-form>
       </el-col>
-      <el-row type="flex" :gutter="10" justify="end">
-        <el-col :span="1.5" style="display: flex; align-items: center;">
-          <el-button type="warning" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:post:add']">新增</el-button>
-        </el-col>
-        <el-col :span="1.5" style="display: flex; align-items: center;">
-          <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
-            v-hasPermi="['system:post:remove']">删除</el-button>
-        </el-col>
-        <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
-      </el-row>
+
     </el-row>
 
     <el-tabs v-model="activeName">
@@ -26,7 +17,17 @@
         <basic-info-form ref="basicInfo" :info="info" />
       </el-tab-pane>
       <el-tab-pane label="字段信息" name="cloum">
-        <el-table ref="dragTable" :data="cloumns" row-key="columnId" :max-height="tableHeight" @selection-change="handleSelectionChange">
+        <el-row type="flex" style="margin-bottom: 20px;" v-if="activeName=='cloum'" :gutter="10" justify="end">
+          <el-col :span="1.5" style="display: flex; align-items: center;">
+            <el-button style="background-color: #FFE9ED;color: #E58481;border: 1px solid #E58481;" type="warning" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:post:add']">新增</el-button>
+          </el-col>
+          <el-col :span="1.5" style="display: flex; align-items: center;">
+            <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+              v-hasPermi="['system:post:remove']" style="background-color: #FFD6B0;color: #EA551A;border: 1px solid #F4AD6B;">删除</el-button>
+          </el-col>
+          <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
+        </el-row>
+        <el-table ref="dragTable" @row-dblclick="dbSelectedZd" :data="cloumns" row-key="columnId" :max-height="tableHeight" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column label="序号" type="index" min-width="5%" class-name="allowDrag" />
           <el-table-column label="字段列名" prop="columnName" min-width="10%" :show-overflow-tooltip="true" />
@@ -40,7 +41,7 @@
           <el-table-column label="排序" min-width="8%" align="center" prop="sort" />
           <el-table-column label="输入字段" min-width="10%">
             <template slot-scope="scope">
-              <el-checkbox true-label="1" v-model="scope.row.isIn"></el-checkbox>
+              <el-checkbox true-label="Y" v-model="scope.row.isIn"></el-checkbox>
             </template>
           </el-table-column>
           <el-table-column label="显示字段" min-width="10%">
@@ -53,9 +54,21 @@
               <el-checkbox true-label="1" v-model="scope.row.isQuery"></el-checkbox>
             </template>
           </el-table-column>
-          <el-table-column label="关联HR字段" min-width="10%" align="center" prop="hrParentId" />
+          <el-table-column label="关联HR字段" min-width="10%" align="center" prop="hrParentId" >
+            <template slot-scope="scope">
+                <div>
+                  {{scope.row.hrParentId | zdFn}}
+                </div>
+              </template>
+            </el-table-column>
           <el-table-column label="缺省值" min-width="10%" align="center" prop="defaultValue" />
-          <el-table-column label="外键" min-width="10%" align="center" prop="foreignKey" />
+          <el-table-column label="外键" min-width="10%" align="center" prop="foreignKey">
+            <template slot-scope="scope">
+                <div>
+                  {{scope.row.foreignKey | zdFn}}
+                </div>
+              </template>
+            </el-table-column>
           <el-table-column label="必填" min-width="8%">
             <template slot-scope="scope">
               <el-checkbox true-label="1" v-model="scope.row.isRequired"></el-checkbox>
@@ -115,19 +128,19 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="排序:" prop="sort">
-                  <el-input v-model="formZd.sort" placeholder="请输入排序" />
+                  <el-input-number v-model="formZd.sort" placeholder="请输入排序" />
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="查询条件" prop="isQuery">
-                  <el-checkbox true-label="Y" false-label="N" v-model="formZd.isQuery"></el-checkbox>
+                  <el-checkbox true-label="1" false-label="0" v-model="formZd.isQuery"></el-checkbox>
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="8">
                 <el-form-item label="显示字段" prop="isOut">
-                  <el-checkbox true-label="Y" false-label="N" v-model="formZd.isOut"></el-checkbox>
+                  <el-checkbox true-label="1" false-label="0" v-model="formZd.isOut"></el-checkbox>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
@@ -286,11 +299,10 @@
         </el-row>
         <el-form>
           <el-form-item label="创建语句:" style="margin-top: 20px;">
-            <div class="resizeNone" v-html="tableSqlData.createSql" style="resize: none;width: 600px;" type="textarea"></div>
-
+            <el-input class="resizeNone" v-model="tableSqlData.createSql" type="textarea"/>
           </el-form-item>
           <el-form-item label="修改日志:">
-            <div class="resizeNone" v-html="tableSqlData.createLog" style="resize: none;width: 600px;" type="textarea"></div>
+            <el-input class="resizeNone" v-model="tableSqlData.createLog" type="textarea"/>
           </el-form-item>
         </el-form>
       </el-tab-pane>
@@ -355,6 +367,9 @@
     zxImplement,
     getReload,
     addGenTableColumn,
+    delGenTableColumn,
+    setGenTableColumn,
+    getGenTableColumn,
     qurGenTable
   } from "@/api/tool/gen";
   import {
@@ -381,7 +396,7 @@
         tableSqlData: [],
         columList: [],
         foreignKey: [],
-        openZd: true,
+        openZd: false,
         formZd: {},
         rulesZd: {
           columnName: [{
@@ -479,6 +494,15 @@
       };
     },
     filters: {
+      zdFn(data) {
+        let is = ''
+        for (let item of _this.columList) {
+          if (item.columnId == data) {
+            is = item.columnName
+          }
+        }
+        return is
+      },
       relationTypeFn(data) {
         let is = ''
         for (let item of _this.relationType) {
@@ -521,7 +545,7 @@
         listAllColumnsByTableId({
           tableId
         }).then(response => {
-          this.columList = response;
+          this.columList = response.data;
         });
         // 关联表数据
         listTable(this.glbParams).then(response => {
@@ -546,22 +570,45 @@
       submitFormZd() {
         this.$refs["formZd"].validate(valid => {
           if (valid) {
+            const tableId = this.$route.params && this.$route.params.tableId;
+            this.formZd.tableId = tableId
+            if (this.formZd.columnId != undefined) {
+              setGenTableColumn(this.formZd).then(response => {
+                this.msgSuccess("修改成功");
+                this.openZd = false;
+                // 获取表详细信息
+                getGenTable(tableId).then(res => {
+                  this.cloumns = res.data.rows;
+                  this.info = res.data.info;
+                  this.tables = res.data.tables;
+                });
+              });
+            } else {
               addGenTableColumn(this.formZd).then(response => {
                 this.msgSuccess("新增成功");
                 this.open = false;
                 this.tabList();
               });
+            }
+
           }
         });
       },
       sxCreaBtn() {
+        const tableId = this.$route.params && this.$route.params.tableId
         getReload({
-          tableId: this.$route.params && this.$route.params.tableId,
+          tableId,
           createSql: this.tableSqlData.createSql,
           createLog: this.tableSqlData.createLog,
           id: this.tableSqlData.id
         }).then(res => {
           this.msgSuccess('刷新成功')
+          //查询数据库sql
+          tableSql(tableId).then(res => {
+            if(res.data){
+              this.tableSqlData = res.data
+            }
+          })
         })
       },
       zxCreaBtn() {
@@ -574,8 +621,18 @@
           this.msgSuccess('执行成功')
         })
       },
+      dbSelectedZd(row) {
+        this.reset();
+        const id = row.columnId
+        getGenTableColumn(id).then(response => {
+          let data = response.data
+          data.foreignKey = data.foreignKey-0
+          this.formZd = data;
+          this.openZd = true;
+          this.title = "修改字段信息";
+        });
+      },
       dbSelected(row) {
-        console.log(row, 133)
         this.reset();
         const id = row.id
         qurGenTable(id).then(response => {
@@ -737,14 +794,20 @@
       /** 删除按钮操作 */
       handleDelete(row) {
         const ids = row.id || this.ids;
-        this.$confirm('是否确认删除岗位编号为"' + ids + '"的数据项?', "警告", {
+        const tableId = this.$route.params && this.$route.params.tableId;
+        this.$confirm('是否确认删除字段编号为"' + ids + '"的数据项?', "警告", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
         }).then(function() {
-          return delPost(ids);
+          return delGenTableColumn(ids);
         }).then(() => {
-          this.getlist();
+          // 获取表详细信息
+          getGenTable(tableId).then(res => {
+            this.cloumns = res.data.rows;
+            this.info = res.data.info;
+            this.tables = res.data.tables;
+          });
           this.msgSuccess("删除成功");
         })
       },
@@ -774,10 +837,11 @@
     height: 35px;
   }
   .resizeNone{
-     width: 70vw;
-     margin-left: 80px;
-     padding: 8px 10px;
-     border: 1px solid #CDCDCD;
+     width: 60vw;
      border-radius: 3px;
+     .el-textarea__inner{ //el_input中的隐藏属性
+              resize: none;  //主要是这个样式
+              height: 200px;
+          }
    }
 </style>

+ 1 - 1
ruoyi-ui/vue.config.js

@@ -6,7 +6,7 @@ function resolve(dir) {
   return path.join(__dirname, dir)
 }
 
-const name = defaultSettings.title || '博曼办公协作' // 标题
+const name = defaultSettings.title || '潜山市云数据中心' // 标题
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口