Pārlūkot izejas kodu

fix:鹏辉的补充修改

侯茂昌 1 gadu atpakaļ
vecāks
revīzija
87727addbb

+ 5 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java

@@ -82,10 +82,15 @@ public class SysLoginController {
     public AjaxResult login(@RequestBody LoginBody loginBody) {
         //校验租户状态?生成token
         AjaxResult ajax = AjaxResult.success();
+        //校验验证码
         loginService.validateCaptcha(loginBody.getUsername(),loginBody.getCode(),loginBody.getUuid());
+        //校验不能是admin
         if(loginBody.getUsername().equals("admin")){
           return AjaxResult.error("未有此用户信息");
         }
+        //登录前置校验
+        loginService.loginPreCheck(loginBody.getUsername(), loginBody.getPassword());
+        //检查租户过期时间
         String  checkTenantExpirationTimeMsg= loginService.checkTenantExpirationTime(loginBody.getUsername());
         if(!checkTenantExpirationTimeMsg.isEmpty()){
             return AjaxResult.error(checkTenantExpirationTimeMsg);

+ 11 - 7
ruoyi-business/src/main/java/com/ruoyi/business/service/impl/DragFormServiceImpl.java

@@ -149,15 +149,19 @@ public class DragFormServiceImpl implements IDragFormService {
         DragForm dragForm = dragFormMapper.selectDragFormBySqlKey(sqlKey);
         ObjectMapper objectMapper = new ObjectMapper();
         Gson gson = new Gson();
-        //单个下拉框
         //获取要执行sql
-        Map<String,Object> sqlMap = objectMapper.readValue(dragForm.getDfFormSql(), Map.class);
-        //循环得到每一个sql语句返回结果
-        for(Map.Entry<String, Object> entry : sqlMap.entrySet()){
-            List<Map<String, Object>> mapList = commonMapper.executeSql(entry.getValue().toString());
-            sqlMap.put(entry.getKey(),mapList);
+        if(dragForm!=null){
+            Map<String,Object> sqlMap = objectMapper.readValue(dragForm.getDfFormSql(), Map.class);
+            //循环得到每一个sql语句返回结果
+            for(Map.Entry<String, Object> entry : sqlMap.entrySet()){
+                //拼接重组的sql
+                String[] froms = entry.getValue().toString().split(" FROM");
+                String execSql=froms[0]+"FROM {DBNAME}."+froms[1];
+                List<Map<String, Object>> mapList = commonMapper.executeSql(execSql);
+                sqlMap.put(entry.getKey(),mapList);
+            }
+            dragForm.setDfFormSql(gson.toJson(sqlMap));
         }
-        dragForm.setDfFormSql(gson.toJson(sqlMap));
         return dragForm;
     }
 

+ 3 - 2
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java

@@ -75,10 +75,11 @@ public class SysLoginService
      */
     public String login(String username, String password, String code, String uuid)
     {
-        //// 验证码校验
+        //验证码校验
         //validateCaptcha(username, code, uuid);
         // 登录前置校验
-        loginPreCheck(username, password);
+        //loginPreCheck(username, password);
+
         // 用户验证
         Authentication authentication = null;
         try

+ 37 - 11
ruoyi-ui/src/views/tablelist/commonTable/listInfo.vue

@@ -261,10 +261,31 @@
       title="提示"
       :visible.sync="btnDialogVisible"
       :before-close="handleClose">
-      <DialogTemplate 
+      <DialogTemplate
        ref="dialogRef"
         :groupKey="groupKey"
-        :rowobj="rowobj" 
+        :rowobj="rowobj"
+        :subCount="subCount"
+        :tableCount="tableCount"
+        :subTableName="subTableName"
+        @addList="addListHandler"
+        >
+      </DialogTemplate>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="btnDialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="btnComfirm">确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <!-- 绑定按钮dialog -->
+    <el-dialog
+      title="提示"
+      :visible.sync="btnDialogVisible"
+      :before-close="handleClose">
+      <DialogTemplate
+       ref="dialogRef"
+        :groupKey="groupKey"
+        :rowobj="rowobj"
         :subCount="subCount"
         :tableCount="tableCount"
         :subTableName="subTableName"
@@ -654,7 +675,7 @@ export default {
     /** 修改按钮操作 */
     async handleUpdate(row, btnData) {
       // console.log(this.currentBtnData);
-      
+
       let nameTable = this.templateInfo.template.dtTableName
       // console.log(nameTable);
       // console.log('row', row);
@@ -662,7 +683,7 @@ export default {
       let obj = {}
       for(let key in row) {
 
-        let modifiedTable = key.replace(/[A-Z]/g, (match) => `_${match}`).toLowerCase(); 
+        let modifiedTable = key.replace(/[A-Z]/g, (match) => `_${match}`).toLowerCase();
 
         this.rowobj[modifiedTable] = row[key];
 
@@ -670,6 +691,11 @@ export default {
         obj[str] = row[key];
       }
       // console.log("row", row);
+       getInfoBySqlKey(this.templateInfo.template.sqlKey).then(({ data }) => {
+         if (!data || !data.dfVueTemplate) {
+           this.$message.error("当前表格未绑定表单!");
+           return;
+         }});
 
       // 新的修改请求
       try {
@@ -689,11 +715,10 @@ export default {
         payLoad.conditionMap[this.templateInfo.template?.primaryKey] =
           row[primary];
         let res = await btnCommonApi(payLoad);
-        this.subTableName = res.data.result.dragTables[1].dtTableName
         // 判断是否绑定dialog弹窗
-        if (this.currentBtnData.btnTableFormGroupKey == '') {
-          this.$message.error("当前表格未绑定表单!");
-          return;
+        if (!this.currentBtnData.btnTableFormGroupKey) {
+          //this.$message.error("当前表格未绑定表单!");
+          //return;
 
           res.data.template.dfFormSql &&
           (this.dynamicData = JSON.parse(res.data.template.dfFormSql));
@@ -709,6 +734,7 @@ export default {
             this.$refs.addFromRef.setData(res.data.result.resultMap);
           });
         }else{
+          this.subTableName = res.data.result.dragTables[1].dtTableName
           this.btnDialogVisible = true
           this.groupKey = this.currentBtnData.btnTableFormGroupKey
           this.$nextTick(()=>{
@@ -719,7 +745,7 @@ export default {
           })
 
           let tablesubKey = res.data.result.dragTables[1].tableKey
-     
+
           // 查询统计信息
           getStatisticList({
             queryMap: {
@@ -748,7 +774,7 @@ export default {
             this.tableCount = res.data
           });
         }
-       
+
         // let fieldList = Object.keys(resultMap);
         // let tableName = this.longestCommonSubstring(fieldList);
         // fieldList.forEach((field) => {
@@ -756,7 +782,7 @@ export default {
         //   realField = realField[0].toLocaleLowerCase() + realField.substring(1);
         //   resultMap[realField] = resultMap[field];
         // });
-   
+
       } catch (error) {
         this.$message.error("网络异常,请稍后再试");
         console.log(error);