瀏覽代碼

no message

Administrator 1 年之前
父節點
當前提交
65a561927c
共有 100 個文件被更改,包括 5376 次插入1276 次删除
  1. 2 0
      .gitignore
  2. 二進制
      BIZ/jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar
  3. 2 0
      BIZ/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
  4. 二進制
      BIZ/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class
  5. 二進制
      BIZ/jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar
  6. 二進制
      BIZ/jeecg-boot-module-demo/target/jeecg-boot-module-demo-3.2.0.jar
  7. 2 2
      BIZ/jeecg-boot-module-gis/src/main/java/org/jeecg/modules/resManager/catalog/mapper/xml/RescatalogMapper.xml
  8. 1 1
      BIZ/jeecg-boot-module-gis/src/main/java/org/jeecg/modules/toolManage/mapper/xml/ToolmanageMapper.xml
  9. 2 2
      BIZ/jeecg-boot-module-gis/target/classes/org/jeecg/modules/resManager/catalog/mapper/xml/RescatalogMapper.xml
  10. 1 1
      BIZ/jeecg-boot-module-gis/target/classes/org/jeecg/modules/toolManage/mapper/xml/ToolmanageMapper.xml
  11. 二進制
      BIZ/jeecg-boot-module-gis/target/jeecg-boot-module-gis-3.2.0.jar
  12. 650 548
      BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  13. 18 0
      BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/dto/UserDto.java
  14. 23 0
      BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/OssResult.java
  15. 20 0
      BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/thirdapp/OssUser.java
  16. 1 1
      BIZ/jeecg-boot-module-system/target/classes/application.yml
  17. 二進制
      BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/LoginController.class
  18. 二進制
      BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/dto/UserDto.class
  19. 二進制
      BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/OssResult.class
  20. 二進制
      BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/thirdapp/OssUser.class
  21. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0.war
  22. 1 1
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/application.yml
  23. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/cas/controller/TokenValidateController.class
  24. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/controller/LoginController.class
  25. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/dto/UserDto.class
  26. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/vo/OssResult.class
  27. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/vo/thirdapp/OssUser.class
  28. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-base-core-3.2.0.jar
  29. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-module-demo-3.2.0.jar
  30. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-module-gis-3.2.0.jar
  31. 二進制
      BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-module-zrzyqc-3.2.0.jar
  32. 1 1
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/Constants/Enum.java
  33. 7 5
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/controller/QcSsgqzysytdqkController.java
  34. 7 1
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/entity/QcSsgqzysytdqk.java
  35. 2 2
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/entity/QcSsgqzysytdqk1.java
  36. 0 76
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/entity/excleTable.java
  37. 0 2
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/service/impl/QcSsgqzysytdqkServiceImpl.java
  38. 65 21
      BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qyxx/controller/QcQyxxController.java
  39. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/Constants/Enum.class
  40. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/controller/QcSsgqzysytdqkController.class
  41. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/entity/QcSsgqzysytdqk.class
  42. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/entity/excleTable.class
  43. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/service/impl/QcSsgqzysytdqkServiceImpl.class
  44. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qyxx/controller/QcQyxxController.class
  45. 二進制
      BIZ/jeecg-boot-module-zrzyqc/target/jeecg-boot-module-zrzyqc-3.2.0.jar
  46. 1 2
      BIZ/jeecg-boot-module-zrzyqc/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  47. 0 1
      UI2/.env.development
  48. 4 1
      UI2/.env.production
  49. 2 1
      UI2/public/index.html
  50. 3 1
      UI2/public/static/config.js
  51. 4 1
      UI2/src/components/OneMap/BasicMap.vue
  52. 7 3
      UI2/src/components/OneMap/widgets/QueryInfo.vue
  53. 0 3
      UI2/src/components/OneMap/widgets/QueryTool.vue
  54. 2 2
      UI2/src/components/OneMap/widgets/SpatialAnalysis.vue
  55. 1 1
      UI2/src/components/chart/Pie.vue
  56. 1 1
      UI2/src/components/jeecg/ViewImages.vue
  57. 1 1
      UI2/src/components/layouts/UserLayout.vue
  58. 1 1
      UI2/src/components/page/GlobalLayout.vue
  59. 9 9
      UI2/src/components/tools/UserMenu.vue
  60. 3 1
      UI2/src/config/index.js
  61. 11 0
      UI2/src/config/router.config.js
  62. 69 43
      UI2/src/permission.js
  63. 2 2
      UI2/src/router/index.js
  64. 10 8
      UI2/src/store/modules/user.js
  65. 15 1
      UI2/src/views/listStatistics/listTab.vue
  66. 28 14
      UI2/src/views/listStatistics/listTabBySz.vue
  67. 95 95
      UI2/src/views/map/components/Map.vue
  68. 41 0
      UI2/src/views/onemap/mainMapback.vue
  69. 5 3
      UI2/src/views/qcsb/QcSsgqzysytdqkList1.vue
  70. 6 3
      UI2/src/views/qcsb/QcSsgqzysytdqkList2.vue
  71. 6 4
      UI2/src/views/qcsb/QcSsgqzysytdqkList_gly.vue
  72. 1 5
      UI2/src/views/qcsb/QcSsgqzysytdqkList_glyy.vue
  73. 11 7
      UI2/src/views/qcsb/QcSsgqzysytdqkList_tj.vue
  74. 1297 0
      UI2/src/views/qcsb/modules/QcSsgqzysytdqkForm_tj.vue
  75. 95 0
      UI2/src/views/qcsb/modules/QcSsgqzysytdqkModal_tj.vue
  76. 4 4
      UI2/src/views/qcsb/qyxx/QcQyxxList1.vue
  77. 4 4
      UI2/src/views/qcsb/qyxx/QcQyxxList2.vue
  78. 4 4
      UI2/src/views/qcsb/qyxx/QcQyxxList_gly.vue
  79. 297 0
      UI2/src/views/qcsb/qyxx/QcQyxxList_tj.vue
  80. 267 0
      UI2/src/views/qcsb/qyxx/modules/QcQyxxForm_tj.vue
  81. 97 0
      UI2/src/views/qcsb/qyxx/modules/QcQyxxModal_tj.vue
  82. 1 1
      UI2/src/views/sydwqcsb/QcSsgqzysytdqkList.vue
  83. 8 2
      UI2/src/views/sydwqcsb/QcSsgqzysytdqkList1.vue
  84. 14 7
      UI2/src/views/sydwqcsb/QcSsgqzysytdqkList2.vue
  85. 5 0
      UI2/src/views/sydwqcsb/QcSsgqzysytdqkList3.vue
  86. 19 12
      UI2/src/views/sydwqcsb/QcSsgqzysytdqkList_glyy.vue
  87. 356 342
      UI2/src/views/sydwqcsb/QcSsgqzysytdqkList_tj.vue
  88. 862 0
      UI2/src/views/sydwqcsb/modules/QcSsgqzysytdqkForm_tj.vue
  89. 95 0
      UI2/src/views/sydwqcsb/modules/QcSsgqzysytdqkModal_tj.vue
  90. 4 4
      UI2/src/views/sydwqcsb/sydwxx/QcQyxxList.vue
  91. 4 4
      UI2/src/views/sydwqcsb/sydwxx/QcQyxxList1.vue
  92. 4 4
      UI2/src/views/sydwqcsb/sydwxx/QcQyxxList2.vue
  93. 4 4
      UI2/src/views/sydwqcsb/sydwxx/QcQyxxList_glyy.vue
  94. 297 0
      UI2/src/views/sydwqcsb/sydwxx/QcQyxxList_tj.vue
  95. 384 0
      UI2/src/views/sydwqcsb/sydwxx/modules/QcQyxxForm_tj.vue
  96. 95 0
      UI2/src/views/sydwqcsb/sydwxx/modules/QcQyxxModal_tj.vue
  97. 2 1
      UI2/src/views/system/UserAnnouncementList.vue
  98. 9 2
      UI2/src/views/tj/compoent/BarData.vue
  99. 1 1
      UI2/src/views/tj/compoent/BarDobuleData.vue
  100. 3 2
      UI2/src/views/tj/compoent/BarTdsjyt.vue

+ 2 - 0
.gitignore

@@ -13,3 +13,5 @@ logs/jeecgboot-2023-11-04.0.html
 <<<<<<< HEAD
 logs/jeecgboot-2023-11-07.0.log
 logs/jeecgboot-2023-11-07.0.html
+logs/jeecgboot-2023-11-18.0.html
+logs/jeecgboot-2023-11-18.0.log

二進制
BIZ/jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar


+ 2 - 0
BIZ/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java

@@ -73,6 +73,8 @@ public class ShiroConfig {
         }
         // 配置不会被拦截的链接 顺序判断
         filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon"); //cas验证登录
+        filterChainDefinitionMap.put("/sys/test", "anon"); //cas验证登录
+        filterChainDefinitionMap.put("/sys/validateLogin", "anon"); //cas验证登录
         filterChainDefinitionMap.put("/sys/randomImage/**", "anon"); //登录验证码接口排除
         filterChainDefinitionMap.put("/sys/checkCaptcha", "anon"); //登录验证码接口排除
         filterChainDefinitionMap.put("/sys/login", "anon"); //登录接口排除

二進制
BIZ/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class


二進制
BIZ/jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar


二進制
BIZ/jeecg-boot-module-demo/target/jeecg-boot-module-demo-3.2.0.jar


+ 2 - 2
BIZ/jeecg-boot-module-gis/src/main/java/org/jeecg/modules/resManager/catalog/mapper/xml/RescatalogMapper.xml

@@ -48,7 +48,7 @@
                   from role_rescatalog r
                   where r.role_id in (select b.role_id
                                       from SYS_USER_ROLE b
-                                      where b.user_id = (select a.id from sys_user2 a where a.username = #{username})))
+                                      where b.user_id = (select a.id from sys_user a where a.username = #{username})))
     </select>
 
     <select id="queryCountByUsername" parameterType="java.lang.Object" resultType="int">
@@ -58,7 +58,7 @@
               (select b.role_id
                from SYS_USER_ROLE b
                where b.user_id =
-                     (select a.id from sys_user2 a where a.username = #{username}))
+                     (select a.id from sys_user a where a.username = #{username}))
           and r.rescatalog_id = #{resId}
     </select>
 

+ 1 - 1
BIZ/jeecg-boot-module-gis/src/main/java/org/jeecg/modules/toolManage/mapper/xml/ToolmanageMapper.xml

@@ -31,7 +31,7 @@
 				  from role_maptool r
 				  where r.role_id in (select b.role_id
 									  from SYS_USER_ROLE b
-									  where b.user_id = (select a.id from sys_user2 a where a.username = #{username})))
+									  where b.user_id = (select a.id from sys_user a where a.username = #{username})))
 		and t.has_child = 0
 	</select>
 </mapper>

+ 2 - 2
BIZ/jeecg-boot-module-gis/target/classes/org/jeecg/modules/resManager/catalog/mapper/xml/RescatalogMapper.xml

@@ -48,7 +48,7 @@
                   from role_rescatalog r
                   where r.role_id in (select b.role_id
                                       from SYS_USER_ROLE b
-                                      where b.user_id = (select a.id from sys_user2 a where a.username = #{username})))
+                                      where b.user_id = (select a.id from sys_user a where a.username = #{username})))
     </select>
 
     <select id="queryCountByUsername" parameterType="java.lang.Object" resultType="int">
@@ -58,7 +58,7 @@
               (select b.role_id
                from SYS_USER_ROLE b
                where b.user_id =
-                     (select a.id from sys_user2 a where a.username = #{username}))
+                     (select a.id from sys_user a where a.username = #{username}))
           and r.rescatalog_id = #{resId}
     </select>
 

+ 1 - 1
BIZ/jeecg-boot-module-gis/target/classes/org/jeecg/modules/toolManage/mapper/xml/ToolmanageMapper.xml

@@ -31,7 +31,7 @@
 				  from role_maptool r
 				  where r.role_id in (select b.role_id
 									  from SYS_USER_ROLE b
-									  where b.user_id = (select a.id from sys_user2 a where a.username = #{username})))
+									  where b.user_id = (select a.id from sys_user a where a.username = #{username})))
 		and t.has_child = 0
 	</select>
 </mapper>

二進制
BIZ/jeecg-boot-module-gis/target/jeecg-boot-module-gis-3.2.0.jar


+ 650 - 548
BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
@@ -17,6 +19,7 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
 import org.jeecg.common.util.encryption.EncryptedString;
 import org.jeecg.modules.base.service.BaseCommonService;
+import org.jeecg.modules.system.dto.UserDto;
 import org.jeecg.modules.system.entity.SysDepart;
 import org.jeecg.modules.system.entity.SysTenant;
 import org.jeecg.modules.system.entity.SysUser;
@@ -24,9 +27,15 @@ import org.jeecg.modules.system.model.SysLoginModel;
 import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.service.impl.SysBaseApiImpl;
 import org.jeecg.modules.system.util.RandImageUtil;
+import org.jeecg.modules.system.vo.OssResult;
+import org.jeecg.modules.system.vo.thirdapp.OssUser;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -39,571 +48,664 @@ import java.util.*;
  */
 @RestController
 @RequestMapping("/sys")
-@Api(tags="用户登录")
+@Api(tags = "用户登录")
 @Slf4j
-public class  LoginController {
-	@Autowired
-	private ISysUserService sysUserService;
-	@Autowired
-	private SysBaseApiImpl sysBaseApi;
-	@Autowired
-	private ISysLogService logService;
-	@Autowired
+public class LoginController {
+    @Autowired
+    private ISysUserService sysUserService;
+    @Autowired
+    private SysBaseApiImpl sysBaseApi;
+    @Autowired
+    private ISysLogService logService;
+    @Autowired
     private RedisUtil redisUtil;
-	@Autowired
+    @Autowired
     private ISysDepartService sysDepartService;
-	@Autowired
-	private ISysTenantService sysTenantService;
-	@Autowired
+    @Autowired
+    private ISysTenantService sysTenantService;
+    @Autowired
     private ISysDictService sysDictService;
-	@Resource
-	private BaseCommonService baseCommonService;
-
-	@ApiOperation("登录接口")
-	@RequestMapping(value = "/login", method = RequestMethod.POST)
-	public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel){
-		Result<JSONObject> result = new Result<JSONObject>();
-		String username = sysLoginModel.getUsername();
-		String password = sysLoginModel.getPassword();
-		//update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
-		//前端密码加密,后端进行密码解密
-		//password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密
-		//update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
-
-		//update-begin-author:taoyan date:20190828 for:校验验证码
+    @Resource
+    private BaseCommonService baseCommonService;
+    @Autowired
+    private RestTemplate restTemplate;
+
+
+    @ApiOperation("登录接口")
+    @RequestMapping(value = "/login", method = RequestMethod.POST)
+    public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel) {
+        Result<JSONObject> result = new Result<JSONObject>();
+        String username = sysLoginModel.getUsername();
+        String password = sysLoginModel.getPassword();
+        //update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
+        //前端密码加密,后端进行密码解密
+        //password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密
+        //update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
+
+        //update-begin-author:taoyan date:20190828 for:校验验证码
         String captcha = sysLoginModel.getCaptcha();
-        if(captcha==null){
+        if (captcha == null) {
             result.error500("验证码无效");
             return result;
         }
         String lowerCaseCaptcha = captcha.toLowerCase();
-		String realKey = Md5Util.md5Encode(lowerCaseCaptcha+sysLoginModel.getCheckKey(), "utf-8");
-		Object checkCode = redisUtil.get(realKey);
-		//当进入登录页时,有一定几率出现验证码错误 #1714
-		if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
+        String realKey = Md5Util.md5Encode(lowerCaseCaptcha + sysLoginModel.getCheckKey(), "utf-8");
+        Object checkCode = redisUtil.get(realKey);
+        //当进入登录页时,有一定几率出现验证码错误 #1714
+        if (checkCode == null || !checkCode.toString().equals(lowerCaseCaptcha)) {
             log.warn("验证码错误,key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
-			result.error500("验证码错误");
-			return result;
-		}
-		//update-end-author:taoyan date:20190828 for:校验验证码
-
-		//1. 校验用户是否有效
-		//update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
-		LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(SysUser::getUsername,username);
-		SysUser sysUser = sysUserService.getOne(queryWrapper);
-		//update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
-		result = sysUserService.checkUserIsEffective(sysUser);
-		if(!result.isSuccess()) {
-			return result;
-		}
-
-		//2. 校验用户名或密码是否正确
-		String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
-		String syspassword = sysUser.getPassword();
-		if (!syspassword.equals(userpassword)) {
-			result.error500("用户名或密码错误");
-			return result;
-		}
-
-		//用户登录信息
-		userInfo(sysUser, result);
-		//update-begin--Author:liusq  Date:20210126  for:登录成功,删除redis中的验证码
-		redisUtil.del(realKey);
-		//update-begin--Author:liusq  Date:20210126  for:登录成功,删除redis中的验证码
-		LoginUser loginUser = new LoginUser();
-		BeanUtils.copyProperties(sysUser, loginUser);
-		baseCommonService.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null,loginUser);
+            result.error500("验证码错误");
+            return result;
+        }
+        //update-end-author:taoyan date:20190828 for:校验验证码
+
+        //1. 校验用户是否有效
+        //update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
+        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysUser::getUsername, username);
+        SysUser sysUser = sysUserService.getOne(queryWrapper);
+        //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
+        result = sysUserService.checkUserIsEffective(sysUser);
+        if (!result.isSuccess()) {
+            return result;
+        }
+
+        //2. 校验用户名或密码是否正确
+        String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
+        String syspassword = sysUser.getPassword();
+        if (!syspassword.equals(userpassword)) {
+            result.error500("用户名或密码错误");
+            return result;
+        }
+
+        //用户登录信息
+        userInfo(sysUser, result);
+        //update-begin--Author:liusq  Date:20210126  for:登录成功,删除redis中的验证码
+        redisUtil.del(realKey);
+        //update-begin--Author:liusq  Date:20210126  for:登录成功,删除redis中的验证码
+        LoginUser loginUser = new LoginUser();
+        BeanUtils.copyProperties(sysUser, loginUser);
+        baseCommonService.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
         //update-end--Author:wangshuai  Date:20200714  for:登录日志没有记录人员
-		return result;
-	}
-
-
-	/**
-	 * 【vue3专用】获取用户信息
-	 */
-	@GetMapping("/user/getUserInfo")
-	public Result<JSONObject> getUserInfo(HttpServletRequest request){
-		Result<JSONObject> result = new Result<JSONObject>();
-		String  username = JwtUtil.getUserNameByToken(request);
-		if(oConvertUtils.isNotEmpty(username)) {
-			// 根据用户名查询用户信息
-			SysUser sysUser = sysUserService.getUserByName(username);
-			JSONObject obj=new JSONObject();
-			obj.put("userInfo",sysUser);
-			obj.put("sysAllDictItems", sysDictService.queryAllDictItems());
-			result.setResult(obj);
-			result.success("");
-		}
-		return result;
-
-	}
-
-	/**
-	 * 退出登录
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping(value = "/logout")
-	public Result<Object> logout(HttpServletRequest request,HttpServletResponse response) {
-		//用户退出逻辑
-	    String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
-	    if(oConvertUtils.isEmpty(token)) {
-	    	return Result.error("退出登录失败!");
-	    }
-	    String username = JwtUtil.getUsername(token);
-		LoginUser sysUser = sysBaseApi.getUserByName(username);
-	    if(sysUser!=null) {
-			//update-begin--Author:wangshuai  Date:20200714  for:登出日志没有记录人员
-			baseCommonService.addLog("用户名: "+sysUser.getRealname()+",退出成功!", CommonConstant.LOG_TYPE_1, null,sysUser);
-			//update-end--Author:wangshuai  Date:20200714  for:登出日志没有记录人员
-	    	log.info(" 用户名:  "+sysUser.getRealname()+",退出成功! ");
-	    	//清空用户登录Token缓存
-	    	redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + token);
-	    	//清空用户登录Shiro权限缓存
-			redisUtil.del(CommonConstant.PREFIX_USER_SHIRO_CACHE + sysUser.getId());
-			//清空用户的缓存信息(包括部门信息),例如sys:cache:user::<username>
-			redisUtil.del(String.format("%s::%s", CacheConstant.SYS_USERS_CACHE, sysUser.getUsername()));
-			//调用shiro的logout
-			SecurityUtils.getSubject().logout();
-	    	return Result.ok("退出登录成功!");
-	    }else {
-	    	return Result.error("Token无效!");
-	    }
-	}
-
-	/**
-	 * 获取访问量
-	 * @return
-	 */
-	@GetMapping("loginfo")
-	public Result<JSONObject> loginfo() {
-		Result<JSONObject> result = new Result<JSONObject>();
-		JSONObject obj = new JSONObject();
-		//update-begin--Author:zhangweijian  Date:20190428 for:传入开始时间,结束时间参数
-		// 获取一天的开始和结束时间
-		Calendar calendar = new GregorianCalendar();
-		calendar.set(Calendar.HOUR_OF_DAY, 0);
-		calendar.set(Calendar.MINUTE, 0);
-		calendar.set(Calendar.SECOND, 0);
-		calendar.set(Calendar.MILLISECOND, 0);
-		Date dayStart = calendar.getTime();
-		calendar.add(Calendar.DATE, 1);
-		Date dayEnd = calendar.getTime();
-		// 获取系统访问记录
-		Long totalVisitCount = logService.findTotalVisitCount();
-		obj.put("totalVisitCount", totalVisitCount);
-		Long todayVisitCount = logService.findTodayVisitCount(dayStart,dayEnd);
-		obj.put("todayVisitCount", todayVisitCount);
-		Long todayIp = logService.findTodayIp(dayStart,dayEnd);
-		//update-end--Author:zhangweijian  Date:20190428 for:传入开始时间,结束时间参数
-		obj.put("todayIp", todayIp);
-		result.setResult(obj);
-		result.success("登录成功");
-		return result;
-	}
-
-	/**
-	 * 获取访问量
-	 * @return
-	 */
-	@GetMapping("visitInfo")
-	public Result<List<Map<String,Object>>> visitInfo() {
-		Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
-		Calendar calendar = new GregorianCalendar();
-		calendar.set(Calendar.HOUR_OF_DAY,0);
-        calendar.set(Calendar.MINUTE,0);
-        calendar.set(Calendar.SECOND,0);
-        calendar.set(Calendar.MILLISECOND,0);
+        return result;
+    }
+
+
+    /**
+     * 【vue3专用】获取用户信息
+     */
+    @GetMapping("/user/getUserInfo")
+    public Result<JSONObject> getUserInfo(HttpServletRequest request) {
+        Result<JSONObject> result = new Result<JSONObject>();
+        String username = JwtUtil.getUserNameByToken(request);
+        if (oConvertUtils.isNotEmpty(username)) {
+            // 根据用户名查询用户信息
+            SysUser sysUser = sysUserService.getUserByName(username);
+            JSONObject obj = new JSONObject();
+            obj.put("userInfo", sysUser);
+            obj.put("sysAllDictItems", sysDictService.queryAllDictItems());
+            result.setResult(obj);
+            result.success("");
+        }
+        return result;
+
+    }
+
+    /**
+     * 退出登录
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/logout")
+    public Result<Object> logout(HttpServletRequest request, HttpServletResponse response) {
+        //用户退出逻辑
+        String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
+        if (oConvertUtils.isEmpty(token)) {
+            return Result.error("退出登录失败!");
+        }
+        String username = JwtUtil.getUsername(token);
+        LoginUser sysUser = sysBaseApi.getUserByName(username);
+        if (sysUser != null) {
+            //update-begin--Author:wangshuai  Date:20200714  for:登出日志没有记录人员
+            baseCommonService.addLog("用户名: " + sysUser.getRealname() + ",退出成功!", CommonConstant.LOG_TYPE_1, null, sysUser);
+            //update-end--Author:wangshuai  Date:20200714  for:登出日志没有记录人员
+            log.info(" 用户名:  " + sysUser.getRealname() + ",退出成功! ");
+            //清空用户登录Token缓存
+            redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + token);
+            //清空用户登录Shiro权限缓存
+            redisUtil.del(CommonConstant.PREFIX_USER_SHIRO_CACHE + sysUser.getId());
+            //清空用户的缓存信息(包括部门信息),例如sys:cache:user::<username>
+            redisUtil.del(String.format("%s::%s", CacheConstant.SYS_USERS_CACHE, sysUser.getUsername()));
+            //调用shiro的logout
+            SecurityUtils.getSubject().logout();
+            return Result.ok("退出登录成功!");
+        } else {
+            return Result.error("Token无效!");
+        }
+    }
+
+    /**
+     * 获取访问量
+     *
+     * @return
+     */
+    @GetMapping("loginfo")
+    public Result<JSONObject> loginfo() {
+        Result<JSONObject> result = new Result<JSONObject>();
+        JSONObject obj = new JSONObject();
+        //update-begin--Author:zhangweijian  Date:20190428 for:传入开始时间,结束时间参数
+        // 获取一天的开始和结束时间
+        Calendar calendar = new GregorianCalendar();
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        Date dayStart = calendar.getTime();
+        calendar.add(Calendar.DATE, 1);
+        Date dayEnd = calendar.getTime();
+        // 获取系统访问记录
+        Long totalVisitCount = logService.findTotalVisitCount();
+        obj.put("totalVisitCount", totalVisitCount);
+        Long todayVisitCount = logService.findTodayVisitCount(dayStart, dayEnd);
+        obj.put("todayVisitCount", todayVisitCount);
+        Long todayIp = logService.findTodayIp(dayStart, dayEnd);
+        //update-end--Author:zhangweijian  Date:20190428 for:传入开始时间,结束时间参数
+        obj.put("todayIp", todayIp);
+        result.setResult(obj);
+        result.success("登录成功");
+        return result;
+    }
+
+    /**
+     * 获取访问量
+     *
+     * @return
+     */
+    @GetMapping("visitInfo")
+    public Result<List<Map<String, Object>>> visitInfo() {
+        Result<List<Map<String, Object>>> result = new Result<List<Map<String, Object>>>();
+        Calendar calendar = new GregorianCalendar();
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
         calendar.add(Calendar.DAY_OF_MONTH, 1);
         Date dayEnd = calendar.getTime();
         calendar.add(Calendar.DAY_OF_MONTH, -7);
         Date dayStart = calendar.getTime();
-        List<Map<String,Object>> list = logService.findVisitCount(dayStart, dayEnd);
-		result.setResult(oConvertUtils.toLowerCasePageList(list));
-		return result;
-	}
-
-
-	/**
-	 * 登陆成功选择用户当前部门
-	 * @param user
-	 * @return
-	 */
-	@RequestMapping(value = "/selectDepart", method = RequestMethod.PUT)
-	public Result<JSONObject> selectDepart(@RequestBody SysUser user) {
-		Result<JSONObject> result = new Result<JSONObject>();
-		String username = user.getUsername();
-		if(oConvertUtils.isEmpty(username)) {
-			LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
-			username = sysUser.getUsername();
-		}
-		String orgCode= user.getOrgCode();
-		this.sysUserService.updateUserDepart(username, orgCode);
-		SysUser sysUser = sysUserService.getUserByName(username);
-		JSONObject obj = new JSONObject();
-		obj.put("userInfo", sysUser);
-		result.setResult(obj);
-		return result;
-	}
-
-	/**
-	 * 短信登录接口
-	 *
-	 * @param jsonObject
-	 * @return
-	 */
-	@PostMapping(value = "/sms")
-	public Result<String> sms(@RequestBody JSONObject jsonObject) {
-		Result<String> result = new Result<String>();
-		String mobile = jsonObject.get("mobile").toString();
-		//手机号模式 登录模式: "2"  注册模式: "1"
-		String smsmode=jsonObject.get("smsmode").toString();
-		log.info(mobile);
-		if(oConvertUtils.isEmpty(mobile)){
-			result.setMessage("手机号不允许为空!");
-			result.setSuccess(false);
-			return result;
-		}
-		Object object = redisUtil.get(mobile);
-		if (object != null) {
-			result.setMessage("验证码10分钟内,仍然有效!");
-			result.setSuccess(false);
-			return result;
-		}
-
-		//随机数
-		String captcha = RandomUtil.randomNumbers(6);
-		JSONObject obj = new JSONObject();
-    	obj.put("code", captcha);
-		try {
-			boolean b = false;
-			//注册模板
-			if (CommonConstant.SMS_TPL_TYPE_1.equals(smsmode)) {
-				SysUser sysUser = sysUserService.getUserByPhone(mobile);
-				if(sysUser!=null) {
-					result.error500(" 手机号已经注册,请直接登录!");
-					baseCommonService.addLog("手机号已经注册,请直接登录!", CommonConstant.LOG_TYPE_1, null);
-					return result;
-				}
-				b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.REGISTER_TEMPLATE_CODE);
-			}else {
-				//登录模式,校验用户有效性
-				SysUser sysUser = sysUserService.getUserByPhone(mobile);
-				result = sysUserService.checkUserIsEffective(sysUser);
-				if(!result.isSuccess()) {
-					String message = result.getMessage();
-					if("该用户不存在,请注册".equals(message)){
-						result.error500("该用户不存在或未绑定手机号");
-					}
-					return result;
-				}
-
-				/**
-				 * smsmode 短信模板方式  0 .登录模板、1.注册模板、2.忘记密码模板
-				 */
-				if (CommonConstant.SMS_TPL_TYPE_0.equals(smsmode)) {
-					//登录模板
-					b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.LOGIN_TEMPLATE_CODE);
-				} else if(CommonConstant.SMS_TPL_TYPE_2.equals(smsmode)) {
-					//忘记密码模板
-					b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.FORGET_PASSWORD_TEMPLATE_CODE);
-				}
-			}
-
-			if (b == false) {
-				result.setMessage("短信验证码发送失败,请稍后重试");
-				result.setSuccess(false);
-				return result;
-			}
-			//验证码10分钟内有效
-			redisUtil.set(mobile, captcha, 600);
-			//update-begin--Author:scott  Date:20190812 for:issues#391
-			//result.setResult(captcha);
-			//update-end--Author:scott  Date:20190812 for:issues#391
-			result.setSuccess(true);
-
-		} catch (ClientException e) {
-			e.printStackTrace();
-			result.error500(" 短信接口未配置,请联系管理员!");
-			return result;
-		}
-		return result;
-	}
-
-
-	/**
-	 * 手机号登录接口
-	 *
-	 * @param jsonObject
-	 * @return
-	 */
-	@ApiOperation("手机号登录接口")
-	@PostMapping("/phoneLogin")
-	public Result<JSONObject> phoneLogin(@RequestBody JSONObject jsonObject) {
-		Result<JSONObject> result = new Result<JSONObject>();
-		String phone = jsonObject.getString("mobile");
-
-		//校验用户有效性
-		SysUser sysUser = sysUserService.getUserByPhone(phone);
-		result = sysUserService.checkUserIsEffective(sysUser);
-		if(!result.isSuccess()) {
-			return result;
-		}
-
-		String smscode = jsonObject.getString("captcha");
-		Object code = redisUtil.get(phone);
-		if (!smscode.equals(code)) {
-			result.setMessage("手机验证码错误");
-			return result;
-		}
-		//用户信息
-		userInfo(sysUser, result);
-		//添加日志
-		baseCommonService.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
-
-		return result;
-	}
-
-
-	/**
-	 * 用户信息
-	 *
-	 * @param sysUser
-	 * @param result
-	 * @return
-	 */
-	private Result<JSONObject> 	userInfo(SysUser sysUser, Result<JSONObject> result) {
-		String syspassword = sysUser.getPassword();
-		String username = sysUser.getUsername();
-		// 获取用户部门信息
-		JSONObject obj = new JSONObject();
-		List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
-		obj.put("departs", departs);
-		if (departs == null || departs.size() == 0) {
-			obj.put("multi_depart", 0);
-		} else if (departs.size() == 1) {
-			sysUserService.updateUserDepart(username, departs.get(0).getOrgCode());
-			obj.put("multi_depart", 1);
-		} else {
-			//查询当前是否有登录部门
-			// update-begin--Author:wangshuai Date:20200805 for:如果用戶为选择部门,数据库为存在上一次登录部门,则取一条存进去
-			SysUser sysUserById = sysUserService.getById(sysUser.getId());
-			if(oConvertUtils.isEmpty(sysUserById.getOrgCode())){
-				sysUserService.updateUserDepart(username, departs.get(0).getOrgCode());
-			}
-			// update-end--Author:wangshuai Date:20200805 for:如果用戶为选择部门,数据库为存在上一次登录部门,则取一条存进去
-			obj.put("multi_depart", 2);
-		}
-		// update-begin--Author:sunjianlei Date:20210802 for:获取用户租户信息
-		String tenantIds = sysUser.getRelTenantIds();
-		if (oConvertUtils.isNotEmpty(tenantIds)) {
-			List<Integer> tenantIdList = new ArrayList<>();
-			for(String id: tenantIds.split(",")){
-				tenantIdList.add(Integer.valueOf(id));
-			}
-			// 该方法仅查询有效的租户,如果返回0个就说明所有的租户均无效。
-			List<SysTenant> tenantList = sysTenantService.queryEffectiveTenant(tenantIdList);
-			if (tenantList.size() == 0) {
-				result.error500("与该用户关联的租户均已被冻结,无法登录!");
-				return result;
-			} else {
-				obj.put("tenantList", tenantList);
-			}
-		}
-		// update-end--Author:sunjianlei Date:20210802 for:获取用户租户信息
-		// 生成token
-		String token = JwtUtil.sign(username, syspassword);
-		// 设置token缓存有效时间
-		redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
-		redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
-		obj.put("token", token);
-		obj.put("userInfo", sysUser);
-		obj.put("sysAllDictItems", sysDictService.queryAllDictItems());
-		result.setResult(obj);
-		result.success("登录成功");
-		return result;
-	}
-
-	/**
-	 * 获取加密字符串
-	 * @return
-	 */
-	@GetMapping(value = "/getEncryptedString")
-	public Result<Map<String,String>> getEncryptedString(){
-		Result<Map<String,String>> result = new Result<Map<String,String>>();
-		Map<String,String> map = new HashMap(5);
-		map.put("key", EncryptedString.key);
-		map.put("iv",EncryptedString.iv);
-		result.setResult(map);
-		return result;
-	}
-
-	/**
-	 * 后台生成图形验证码 :有效
-	 * @param response
-	 * @param key
-	 */
-	@ApiOperation("获取验证码")
-	@GetMapping(value = "/randomImage/{key}")
-	public Result<String> randomImage(HttpServletResponse response,@PathVariable("key") String key){
-		Result<String> res = new Result<String>();
-		try {
-			//生成验证码
-			final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
-			String code = RandomUtil.randomString(BASE_CHECK_CODES,4);
-
-			//存到redis中
-			String lowerCaseCode = code.toLowerCase();
-			String realKey = Md5Util.md5Encode(lowerCaseCode+key, "utf-8");
+        List<Map<String, Object>> list = logService.findVisitCount(dayStart, dayEnd);
+        result.setResult(oConvertUtils.toLowerCasePageList(list));
+        return result;
+    }
+
+
+    /**
+     * 登陆成功选择用户当前部门
+     *
+     * @param user
+     * @return
+     */
+    @RequestMapping(value = "/selectDepart", method = RequestMethod.PUT)
+    public Result<JSONObject> selectDepart(@RequestBody SysUser user) {
+        Result<JSONObject> result = new Result<JSONObject>();
+        String username = user.getUsername();
+        if (oConvertUtils.isEmpty(username)) {
+            LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            username = sysUser.getUsername();
+        }
+        String orgCode = user.getOrgCode();
+        this.sysUserService.updateUserDepart(username, orgCode);
+        SysUser sysUser = sysUserService.getUserByName(username);
+        JSONObject obj = new JSONObject();
+        obj.put("userInfo", sysUser);
+        result.setResult(obj);
+        return result;
+    }
+
+    /**
+     * 短信登录接口
+     *
+     * @param jsonObject
+     * @return
+     */
+    @PostMapping(value = "/sms")
+    public Result<String> sms(@RequestBody JSONObject jsonObject) {
+        Result<String> result = new Result<String>();
+        String mobile = jsonObject.get("mobile").toString();
+        //手机号模式 登录模式: "2"  注册模式: "1"
+        String smsmode = jsonObject.get("smsmode").toString();
+        log.info(mobile);
+        if (oConvertUtils.isEmpty(mobile)) {
+            result.setMessage("手机号不允许为空!");
+            result.setSuccess(false);
+            return result;
+        }
+        Object object = redisUtil.get(mobile);
+        if (object != null) {
+            result.setMessage("验证码10分钟内,仍然有效!");
+            result.setSuccess(false);
+            return result;
+        }
+
+        //随机数
+        String captcha = RandomUtil.randomNumbers(6);
+        JSONObject obj = new JSONObject();
+        obj.put("code", captcha);
+        try {
+            boolean b = false;
+            //注册模板
+            if (CommonConstant.SMS_TPL_TYPE_1.equals(smsmode)) {
+                SysUser sysUser = sysUserService.getUserByPhone(mobile);
+                if (sysUser != null) {
+                    result.error500(" 手机号已经注册,请直接登录!");
+                    baseCommonService.addLog("手机号已经注册,请直接登录!", CommonConstant.LOG_TYPE_1, null);
+                    return result;
+                }
+                b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.REGISTER_TEMPLATE_CODE);
+            } else {
+                //登录模式,校验用户有效性
+                SysUser sysUser = sysUserService.getUserByPhone(mobile);
+                result = sysUserService.checkUserIsEffective(sysUser);
+                if (!result.isSuccess()) {
+                    String message = result.getMessage();
+                    if ("该用户不存在,请注册".equals(message)) {
+                        result.error500("该用户不存在或未绑定手机号");
+                    }
+                    return result;
+                }
+
+                /**
+                 * smsmode 短信模板方式  0 .登录模板、1.注册模板、2.忘记密码模板
+                 */
+                if (CommonConstant.SMS_TPL_TYPE_0.equals(smsmode)) {
+                    //登录模板
+                    b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.LOGIN_TEMPLATE_CODE);
+                } else if (CommonConstant.SMS_TPL_TYPE_2.equals(smsmode)) {
+                    //忘记密码模板
+                    b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.FORGET_PASSWORD_TEMPLATE_CODE);
+                }
+            }
+
+            if (b == false) {
+                result.setMessage("短信验证码发送失败,请稍后重试");
+                result.setSuccess(false);
+                return result;
+            }
+            //验证码10分钟内有效
+            redisUtil.set(mobile, captcha, 600);
+            //update-begin--Author:scott  Date:20190812 for:issues#391
+            //result.setResult(captcha);
+            //update-end--Author:scott  Date:20190812 for:issues#391
+            result.setSuccess(true);
+
+        } catch (ClientException e) {
+            e.printStackTrace();
+            result.error500(" 短信接口未配置,请联系管理员!");
+            return result;
+        }
+        return result;
+    }
+
+
+    /**
+     * 手机号登录接口
+     *
+     * @param jsonObject
+     * @return
+     */
+    @ApiOperation("手机号登录接口")
+    @PostMapping("/phoneLogin")
+    public Result<JSONObject> phoneLogin(@RequestBody JSONObject jsonObject) {
+        Result<JSONObject> result = new Result<JSONObject>();
+        String phone = jsonObject.getString("mobile");
+
+        //校验用户有效性
+        SysUser sysUser = sysUserService.getUserByPhone(phone);
+        result = sysUserService.checkUserIsEffective(sysUser);
+        if (!result.isSuccess()) {
+            return result;
+        }
+
+        String smscode = jsonObject.getString("captcha");
+        Object code = redisUtil.get(phone);
+        if (!smscode.equals(code)) {
+            result.setMessage("手机验证码错误");
+            return result;
+        }
+        //用户信息
+        userInfo(sysUser, result);
+        //添加日志
+        baseCommonService.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
+
+        return result;
+    }
+
+
+    /**
+     * 用户信息
+     *
+     * @param sysUser
+     * @param result
+     * @return
+     */
+    private Result<JSONObject> userInfo(SysUser sysUser, Result<JSONObject> result) {
+        String syspassword = sysUser.getPassword();
+        String username = sysUser.getUsername();
+        // 获取用户部门信息
+        JSONObject obj = new JSONObject();
+        List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
+        obj.put("departs", departs);
+        if (departs == null || departs.size() == 0) {
+            obj.put("multi_depart", 0);
+        } else if (departs.size() == 1) {
+            sysUserService.updateUserDepart(username, departs.get(0).getOrgCode());
+            obj.put("multi_depart", 1);
+        } else {
+            //查询当前是否有登录部门
+            // update-begin--Author:wangshuai Date:20200805 for:如果用戶为选择部门,数据库为存在上一次登录部门,则取一条存进去
+            SysUser sysUserById = sysUserService.getById(sysUser.getId());
+            if (oConvertUtils.isEmpty(sysUserById.getOrgCode())) {
+                sysUserService.updateUserDepart(username, departs.get(0).getOrgCode());
+            }
+            // update-end--Author:wangshuai Date:20200805 for:如果用戶为选择部门,数据库为存在上一次登录部门,则取一条存进去
+            obj.put("multi_depart", 2);
+        }
+        // update-begin--Author:sunjianlei Date:20210802 for:获取用户租户信息
+        String tenantIds = sysUser.getRelTenantIds();
+        if (oConvertUtils.isNotEmpty(tenantIds)) {
+            List<Integer> tenantIdList = new ArrayList<>();
+            for (String id : tenantIds.split(",")) {
+                tenantIdList.add(Integer.valueOf(id));
+            }
+            // 该方法仅查询有效的租户,如果返回0个就说明所有的租户均无效。
+            List<SysTenant> tenantList = sysTenantService.queryEffectiveTenant(tenantIdList);
+            if (tenantList.size() == 0) {
+                result.error500("与该用户关联的租户均已被冻结,无法登录!");
+                return result;
+            } else {
+                obj.put("tenantList", tenantList);
+            }
+        }
+        // update-end--Author:sunjianlei Date:20210802 for:获取用户租户信息
+        // 生成token
+        String token = JwtUtil.sign(username, syspassword);
+        // 设置token缓存有效时间
+        redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
+        redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
+        obj.put("token", token);
+        obj.put("userInfo", sysUser);
+        obj.put("sysAllDictItems", sysDictService.queryAllDictItems());
+        result.setResult(obj);
+        result.success("登录成功");
+        return result;
+    }
+
+    /**
+     * 获取加密字符串
+     *
+     * @return
+     */
+    @GetMapping(value = "/getEncryptedString")
+    public Result<Map<String, String>> getEncryptedString() {
+        Result<Map<String, String>> result = new Result<Map<String, String>>();
+        Map<String, String> map = new HashMap(5);
+        map.put("key", EncryptedString.key);
+        map.put("iv", EncryptedString.iv);
+        result.setResult(map);
+        return result;
+    }
+
+    /**
+     * 后台生成图形验证码 :有效
+     *
+     * @param response
+     * @param key
+     */
+    @ApiOperation("获取验证码")
+    @GetMapping(value = "/randomImage/{key}")
+    public Result<String> randomImage(HttpServletResponse response, @PathVariable("key") String key) {
+        Result<String> res = new Result<String>();
+        try {
+            //生成验证码
+            final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
+            String code = RandomUtil.randomString(BASE_CHECK_CODES, 4);
+
+            //存到redis中
+            String lowerCaseCode = code.toLowerCase();
+            String realKey = Md5Util.md5Encode(lowerCaseCode + key, "utf-8");
             log.info("获取验证码,Redis checkCode = {},key = {}", code, key);
-			redisUtil.set(realKey, lowerCaseCode, 60);
-
-			//返回前端
-			String base64 = RandImageUtil.generate(code);
-			res.setSuccess(true);
-			res.setResult(base64);
-		} catch (Exception e) {
-			res.error500("获取验证码出错"+e.getMessage());
-			e.printStackTrace();
-		}
-		return res;
-	}
-
-	/**
-	 * app登录
-	 * @param sysLoginModel
-	 * @return
-	 * @throws Exception
-	 */
-	@RequestMapping(value = "/mLogin", method = RequestMethod.POST)
-	public Result<JSONObject> mLogin(@RequestBody SysLoginModel sysLoginModel) throws Exception {
-		Result<JSONObject> result = new Result<JSONObject>();
-		String username = sysLoginModel.getUsername();
-		String password = sysLoginModel.getPassword();
-
-		//1. 校验用户是否有效
-		SysUser sysUser = sysUserService.getUserByName(username);
-		result = sysUserService.checkUserIsEffective(sysUser);
-		if(!result.isSuccess()) {
-			return result;
-		}
-
-		//2. 校验用户名或密码是否正确
-		String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
-		String syspassword = sysUser.getPassword();
-		if (!syspassword.equals(userpassword)) {
-			result.error500("用户名或密码错误");
-			return result;
-		}
-
-		String orgCode = sysUser.getOrgCode();
-		if(oConvertUtils.isEmpty(orgCode)) {
-			//如果当前用户无选择部门 查看部门关联信息
-			List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
-			//update-begin-author:taoyan date:20220117 for: JTC-1068【app】新建用户,没有设置部门及角色,点击登录提示暂未归属部,一直在登录页面 使用手机号登录 可正常
-			if (departs == null || departs.size() == 0) {
+            redisUtil.set(realKey, lowerCaseCode, 60);
+
+            //返回前端
+            String base64 = RandImageUtil.generate(code);
+            res.setSuccess(true);
+            res.setResult(base64);
+        } catch (Exception e) {
+            res.error500("获取验证码出错" + e.getMessage());
+            e.printStackTrace();
+        }
+        return res;
+    }
+
+    /**
+     * app登录
+     *
+     * @param sysLoginModel
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping(value = "/mLogin", method = RequestMethod.POST)
+    public Result<JSONObject> mLogin(@RequestBody SysLoginModel sysLoginModel) throws Exception {
+        Result<JSONObject> result = new Result<JSONObject>();
+        String username = sysLoginModel.getUsername();
+        String password = sysLoginModel.getPassword();
+
+        //1. 校验用户是否有效
+        SysUser sysUser = sysUserService.getUserByName(username);
+        result = sysUserService.checkUserIsEffective(sysUser);
+        if (!result.isSuccess()) {
+            return result;
+        }
+
+        //2. 校验用户名或密码是否正确
+        String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
+        String syspassword = sysUser.getPassword();
+        if (!syspassword.equals(userpassword)) {
+            result.error500("用户名或密码错误");
+            return result;
+        }
+
+        String orgCode = sysUser.getOrgCode();
+        if (oConvertUtils.isEmpty(orgCode)) {
+            //如果当前用户无选择部门 查看部门关联信息
+            List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
+            //update-begin-author:taoyan date:20220117 for: JTC-1068【app】新建用户,没有设置部门及角色,点击登录提示暂未归属部,一直在登录页面 使用手机号登录 可正常
+            if (departs == null || departs.size() == 0) {
 				/*result.error500("用户暂未归属部门,不可登录!");
 				return result;*/
-			}else{
-				orgCode = departs.get(0).getOrgCode();
-				sysUser.setOrgCode(orgCode);
-				this.sysUserService.updateUserDepart(username, orgCode);
-			}
-			//update-end-author:taoyan date:20220117 for: JTC-1068【app】新建用户,没有设置部门及角色,点击登录提示暂未归属部,一直在登录页面 使用手机号登录 可正常
-		}
-		JSONObject obj = new JSONObject();
-		//用户登录信息
-		obj.put("userInfo", sysUser);
-
-		// 生成token
-		String token = JwtUtil.sign(username, syspassword);
-		// 设置超时时间
-		redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
-		redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000);
-
-		//token 信息
-		obj.put("token", token);
-		result.setResult(obj);
-		result.setSuccess(true);
-		result.setCode(200);
-		baseCommonService.addLog("用户名: " + username + ",登录成功[移动端]!", CommonConstant.LOG_TYPE_1, null);
-		return result;
-	}
-
-	/**
-	 * 图形验证码
-	 * @param sysLoginModel
-	 * @return
-	 */
-	@RequestMapping(value = "/checkCaptcha", method = RequestMethod.POST)
-	public Result<?> checkCaptcha(@RequestBody SysLoginModel sysLoginModel){
-		String captcha = sysLoginModel.getCaptcha();
-		String checkKey = sysLoginModel.getCheckKey();
-		if(captcha==null){
-			return Result.error("验证码无效");
-		}
-		String lowerCaseCaptcha = captcha.toLowerCase();
-		String realKey = Md5Util.md5Encode(lowerCaseCaptcha+checkKey, "utf-8");
-		Object checkCode = redisUtil.get(realKey);
-		if(checkCode==null || !checkCode.equals(lowerCaseCaptcha)) {
-			return Result.error("验证码错误");
-		}
-		return Result.ok();
-	}
-	/**
-	 * 登录二维码
-	 */
-	@ApiOperation(value = "登录二维码", notes = "登录二维码")
-	@GetMapping("/getLoginQrcode")
-	public Result<?>  getLoginQrcode() {
-		String qrcodeId = CommonConstant.LOGIN_QRCODE_PRE+IdWorker.getIdStr();
-		//定义二维码参数
-		Map params = new HashMap(5);
-		params.put("qrcodeId", qrcodeId);
-		//存放二维码唯一标识30秒有效
-		redisUtil.set(CommonConstant.LOGIN_QRCODE + qrcodeId, qrcodeId, 30);
-		return Result.OK(params);
-	}
-	/**
-	 * 扫码二维码
-	 */
-	@ApiOperation(value = "扫码登录二维码", notes = "扫码登录二维码")
-	@PostMapping("/scanLoginQrcode")
-	public Result<?> scanLoginQrcode(@RequestParam String qrcodeId, @RequestParam String token) {
-		Object check = redisUtil.get(CommonConstant.LOGIN_QRCODE + qrcodeId);
-		if (oConvertUtils.isNotEmpty(check)) {
-			//存放token给前台读取
-			redisUtil.set(CommonConstant.LOGIN_QRCODE_TOKEN+qrcodeId, token, 60);
-		} else {
-			return Result.error("二维码已过期,请刷新后重试");
-		}
-		return Result.OK("扫码成功");
-	}
-
-
-	/**
-	 * 获取用户扫码后保存的token
-	 */
-	@ApiOperation(value = "获取用户扫码后保存的token", notes = "获取用户扫码后保存的token")
-	@GetMapping("/getQrcodeToken")
-	public Result getQrcodeToken(@RequestParam String qrcodeId) {
-		Object token = redisUtil.get(CommonConstant.LOGIN_QRCODE_TOKEN + qrcodeId);
-		Map result = new HashMap(5);
-		Object qrcodeIdExpire = redisUtil.get(CommonConstant.LOGIN_QRCODE + qrcodeId);
-		if (oConvertUtils.isEmpty(qrcodeIdExpire)) {
-			//二维码过期通知前台刷新
-			result.put("token", "-2");
-			return Result.OK(result);
-		}
-		if (oConvertUtils.isNotEmpty(token)) {
-			result.put("success", true);
-			result.put("token", token);
-		} else {
-			result.put("token", "-1");
-		}
-		return Result.OK(result);
-	}
+            } else {
+                orgCode = departs.get(0).getOrgCode();
+                sysUser.setOrgCode(orgCode);
+                this.sysUserService.updateUserDepart(username, orgCode);
+            }
+            //update-end-author:taoyan date:20220117 for: JTC-1068【app】新建用户,没有设置部门及角色,点击登录提示暂未归属部,一直在登录页面 使用手机号登录 可正常
+        }
+        JSONObject obj = new JSONObject();
+        //用户登录信息
+        obj.put("userInfo", sysUser);
+
+        // 生成token
+        String token = JwtUtil.sign(username, syspassword);
+        // 设置超时时间
+        redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
+        redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
+
+        //token 信息
+        obj.put("token", token);
+        result.setResult(obj);
+        result.setSuccess(true);
+        result.setCode(200);
+        baseCommonService.addLog("用户名: " + username + ",登录成功[移动端]!", CommonConstant.LOG_TYPE_1, null);
+        return result;
+    }
+
+    /**
+     * 图形验证码
+     *
+     * @param sysLoginModel
+     * @return
+     */
+    @RequestMapping(value = "/checkCaptcha", method = RequestMethod.POST)
+    public Result<?> checkCaptcha(@RequestBody SysLoginModel sysLoginModel) {
+        String captcha = sysLoginModel.getCaptcha();
+        String checkKey = sysLoginModel.getCheckKey();
+        if (captcha == null) {
+            return Result.error("验证码无效");
+        }
+        String lowerCaseCaptcha = captcha.toLowerCase();
+        String realKey = Md5Util.md5Encode(lowerCaseCaptcha + checkKey, "utf-8");
+        Object checkCode = redisUtil.get(realKey);
+        if (checkCode == null || !checkCode.equals(lowerCaseCaptcha)) {
+            return Result.error("验证码错误");
+        }
+        return Result.ok();
+    }
+
+    /**
+     * 登录二维码
+     */
+    @ApiOperation(value = "登录二维码", notes = "登录二维码")
+    @GetMapping("/getLoginQrcode")
+    public Result<?> getLoginQrcode() {
+        String qrcodeId = CommonConstant.LOGIN_QRCODE_PRE + IdWorker.getIdStr();
+        //定义二维码参数
+        Map params = new HashMap(5);
+        params.put("qrcodeId", qrcodeId);
+        //存放二维码唯一标识30秒有效
+        redisUtil.set(CommonConstant.LOGIN_QRCODE + qrcodeId, qrcodeId, 30);
+        return Result.OK(params);
+    }
+
+    /**
+     * 扫码二维码
+     */
+    @ApiOperation(value = "扫码登录二维码", notes = "扫码登录二维码")
+    @PostMapping("/scanLoginQrcode")
+    public Result<?> scanLoginQrcode(@RequestParam String qrcodeId, @RequestParam String token) {
+        Object check = redisUtil.get(CommonConstant.LOGIN_QRCODE + qrcodeId);
+        if (oConvertUtils.isNotEmpty(check)) {
+            //存放token给前台读取
+            redisUtil.set(CommonConstant.LOGIN_QRCODE_TOKEN + qrcodeId, token, 60);
+        } else {
+            return Result.error("二维码已过期,请刷新后重试");
+        }
+        return Result.OK("扫码成功");
+    }
+
+
+    /**
+     * 获取用户扫码后保存的token
+     */
+    @ApiOperation(value = "获取用户扫码后保存的token", notes = "获取用户扫码后保存的token")
+    @GetMapping("/getQrcodeToken")
+    public Result getQrcodeToken(@RequestParam String qrcodeId) {
+        Object token = redisUtil.get(CommonConstant.LOGIN_QRCODE_TOKEN + qrcodeId);
+        Map result = new HashMap(5);
+        Object qrcodeIdExpire = redisUtil.get(CommonConstant.LOGIN_QRCODE + qrcodeId);
+        if (oConvertUtils.isEmpty(qrcodeIdExpire)) {
+            //二维码过期通知前台刷新
+            result.put("token", "-2");
+            return Result.OK(result);
+        }
+        if (oConvertUtils.isNotEmpty(token)) {
+            result.put("success", true);
+            result.put("token", token);
+        } else {
+            result.put("token", "-1");
+        }
+        return Result.OK(result);
+    }
+
+    /**
+     * 单点登录
+     */
+
+    @PostMapping("/test")
+    public OssResult test(@RequestBody UserDto userDto) {
+        OssResult ossResult=new OssResult();
+
+        ossResult.setCode("0");
+        ossResult.setMsg("成功");
+
+        return ossResult;
+
+    }
+
+    @GetMapping("/validateLogin")
+    public Object validateLogin(@RequestParam(name = "ticket") String ticket,
+                                HttpServletRequest request,
+                                HttpServletResponse response) throws Exception {
+        Result<JSONObject> result = new Result<JSONObject>();
+//        UserDto userDto = new UserDto();
+        HashMap<String, String> map = new HashMap<>();
+        map.put("clientId","TDZCFZBXT");
+        map.put("secretKey","775138BD253A3FC634E67CE52F453");
+        map.put("token",ticket);
+//        userDto.setToken(ticket);
+        //http://10.10.11.182:8901/zcqcxxglxt/public/token/validate
+
+        ResponseEntity<OssResult> userDtoResponseEntity = restTemplate.postForEntity("http://10.10.11.182:8901/zcqcxxglxt/public/token/validate",map,
+                OssResult.class);
+        OssResult body = userDtoResponseEntity.getBody();
+        System.out.println(body);
+        log.info("Rest api login.");
+        try {
+            String principal;
+            if (body.getCode().equals("0")) {
+                principal = "省级账户"; //user.getRealName();
+            } else {
+                principal = null;
+            }
+            //user.getRealName();
+            if (StringUtils.isEmpty(principal)) {
+                throw new Exception("No principal was found ");
+            }
+            log.info("-------token----username---" + principal);
+            //1. 校验用户是否有效
+            SysUser sysUser = sysUserService.getUserByName(principal);
+            result = sysUserService.checkUserIsEffective(sysUser);
+            if (!result.isSuccess()) {
+                return result;
+            }
+            String token = JwtUtil.sign(sysUser.getUsername(), sysUser.getPassword());
+            // 设置超时时间
+            redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
+            redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
+
+            //获取用户部门信息
+            JSONObject obj = new JSONObject();
+            List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
+            obj.put("departs", departs);
+            if (departs == null || departs.size() == 0) {
+                obj.put("multi_depart", 0);
+            } else if (departs.size() == 1) {
+                sysUserService.updateUserDepart(principal, departs.get(0).getOrgCode());
+                obj.put("multi_depart", 1);
+            } else {
+                obj.put("multi_depart", 2);
+            }
+            obj.put("token", token);
+            obj.put("userInfo", sysUser);
+            result.setResult(obj);
+            result.success("登录成功");
+
+        } catch (Exception e) {
+            //e.printStackTrace();
+            result.error500(e.getMessage());
+        }
+        return new HttpEntity<>(result);
+    }
 
 }

+ 18 - 0
BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/dto/UserDto.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.system.dto;
+
+import lombok.Data;
+
+/**
+ * @author Mr li
+ * @version 1.0
+ * @description TODO
+ * @date 2023/11/13
+ */
+@Data
+public class UserDto {
+    String clientId;
+
+    String secretKey;
+
+    String token;
+}

+ 23 - 0
BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/OssResult.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.system.vo;/**
+ * @description TODO
+ * @author Mr li
+ * @date 2023/11/13
+ * @version 1.0
+ */
+
+import lombok.Data;
+import org.jeecg.modules.system.vo.thirdapp.OssUser;
+
+/**
+ * @author Mr li
+ * @version 1.0
+ * @description TODO
+ * @date 2023/11/13
+ */
+@Data
+public class OssResult {
+    private String code;
+    private String msg;
+    private OssUser result;
+
+}

+ 20 - 0
BIZ/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/thirdapp/OssUser.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.vo.thirdapp;/**
+ * @description TODO
+ * @author Mr li
+ * @date 2023/11/13
+ * @version 1.0
+ */
+
+import lombok.Data;
+
+/**
+ * @author Mr li
+ * @version 1.0
+ * @description TODO
+ * @date 2023/11/13
+ */
+@Data
+public class OssUser {
+    private String realName;
+    private String userId;
+}

+ 1 - 1
BIZ/jeecg-boot-module-system/target/classes/application.yml

@@ -2,4 +2,4 @@ spring:
   application:
     name: jeecg-system
   profiles:
-    active: 'dev'
+    active: 'prod'

二進制
BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/LoginController.class


二進制
BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/dto/UserDto.class


二進制
BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/OssResult.class


二進制
BIZ/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/thirdapp/OssUser.class


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0.war


+ 1 - 1
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/application.yml

@@ -2,4 +2,4 @@ spring:
   application:
     name: jeecg-system
   profiles:
-    active: 'dev'
+    active: 'prod'

二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/cas/controller/TokenValidateController.class


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/controller/LoginController.class


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/dto/UserDto.class


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/vo/OssResult.class


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/classes/org/jeecg/modules/system/vo/thirdapp/OssUser.class


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-base-core-3.2.0.jar


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-module-demo-3.2.0.jar


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-module-gis-3.2.0.jar


二進制
BIZ/jeecg-boot-module-system/target/jeecg-boot-module-system-3.2.0/WEB-INF/lib/jeecg-boot-module-zrzyqc-3.2.0.jar


+ 1 - 1
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/Constants/Enum.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.zrzyqc.qcsb.Constants;/**
+package org.jeecg.modules.zrzyqc.qcsb.constants;/**
  * @description TODO
  * @author Mr li
  * @date 2023/10/9

+ 7 - 5
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/controller/QcSsgqzysytdqkController.java

@@ -16,7 +16,6 @@ import org.jeecg.common.aspect.annotation.PermissionData;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.zrzyqc.qcsb.Untils.Zh;
@@ -53,8 +52,8 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 
-import static org.jeecg.modules.zrzyqc.qcsb.Constants.Enum.ENTERPRISE_CODE_SQ;
-import static org.jeecg.modules.zrzyqc.qcsb.Constants.Enum.ENTERPRISE_CODE_SZ;
+import static org.jeecg.modules.zrzyqc.qcsb.constants.Enum.ENTERPRISE_CODE_SQ;
+import static org.jeecg.modules.zrzyqc.qcsb.constants.Enum.ENTERPRISE_CODE_SZ;
 
 /**
  * @Description: 省属国企占有使用土地情况调查
@@ -888,7 +887,7 @@ public class QcSsgqzysytdqkController extends JeecgController<QcSsgqzysytdqk, IQ
     }
 
     /**
-     * 导出excel
+     * 导出excel 省属企业
      *
      * @param request
      * @param qcSsgqzysytdqk
@@ -905,6 +904,7 @@ public class QcSsgqzysytdqkController extends JeecgController<QcSsgqzysytdqk, IQ
         List<QcSsgqzysytdqk> pageList = service.list(queryWrapper.likeRight("sys_org_code", "A04"));
         List<QcSsgqzysytdqk> exportList = null;
 
+
         // 过滤选中数据
         String selections = request.getParameter("selections");
         if (oConvertUtils.isNotEmpty(selections)) {
@@ -913,6 +913,9 @@ public class QcSsgqzysytdqkController extends JeecgController<QcSsgqzysytdqk, IQ
         } else {
             exportList = pageList;
         }
+        for (QcSsgqzysytdqk ssqydk : exportList) {
+            ssqydk.setXq(ssqydk.getXzqh().substring(0, 4));
+        }
         // Step.3 AutoPoi 导出Excel
         ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
         //此处设置的filename无效 ,前端会重更新设置一下
@@ -1009,7 +1012,6 @@ public class QcSsgqzysytdqkController extends JeecgController<QcSsgqzysytdqk, IQ
                 }
             }
         }
-        System.out.println(exportList);
         // Step.3 AutoPoi 导出Excel
         ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
         //此处设置的filename无效 ,前端会重更新设置一下

+ 7 - 1
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/entity/QcSsgqzysytdqk.java

@@ -6,6 +6,7 @@ import java.util.Date;
 import java.math.BigDecimal;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -159,10 +160,15 @@ public class QcSsgqzysytdqk implements Serializable {
     @Dict(dicCode = "syqsyfs")
     @ApiModelProperty(value = "使用权使用方式")
     private java.lang.String syqsyfs;
+    /**县区*/
+    @Excel(name = "地市", width = 15,dicCode = "xq")
+    @TableField(exist = false)
+    @ApiModelProperty(value = "县区" )
+    private String xq;
     /**
      * 行政区划
      */
-    @Excel(name = "行政区划", width = 15, dicCode = "xzqh")
+    @Excel(name = "县区", width = 15, dicCode = "xzqh")
     @Dict(dicCode = "xzqh")
     @ApiModelProperty(value = "行政区划")
     private java.lang.String xzqh;

+ 2 - 2
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/entity/QcSsgqzysytdqk1.java

@@ -95,12 +95,12 @@ public class QcSsgqzysytdqk1 implements Serializable {
     @Dict(dicCode = "syqsyfs")
     @ApiModelProperty(value = "取得方式")
     private String syqsyfs;
-    /**行政区划*/
+    /**县区*/
     @Excel(name = "地市", width = 15,dicCode = "xq")
     @TableField(exist = false)
     @ApiModelProperty(value = "县区" )
     private String xq;
-    /**县区*/
+    /**行政区划*/
     @Excel(name = "县区", width = 15,dicCode = "xzqh")
     @ApiModelProperty(value = "行政区划" )
     private String xzqh;

+ 0 - 76
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/entity/excleTable.java

@@ -1,76 +0,0 @@
-package org.jeecg.modules.zrzyqc.qcsb.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @Description: 界址点成果表
- * @Author: jeecg-boot
- * @Date:   2022-06-14
- * @Version: V1.0
- */
-@Data
-public class excleTable implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-	/**主键*/
-	@TableId(type = IdType.ASSIGN_ID)
-    @ApiModelProperty(value = "主键")
-    private String id;
-	/**创建人*/
-    @ApiModelProperty(value = "创建人")
-    private String createBy;
-	/**创建日期*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "创建日期")
-    private Date createTime;
-	/**更新人*/
-    @ApiModelProperty(value = "更新人")
-    private String updateBy;
-	/**更新日期*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "更新日期")
-    private Date updateTime;
-	/**所属部门*/
-    @ApiModelProperty(value = "所属部门")
-    private String sysOrgCode;
-	/**地块编号*/
-	@Excel(name = "地块编号", width = 15)
-    @ApiModelProperty(value = "地块编号")
-    private String dkbh;
-	/**界址点号*/
-	@Excel(name = "界址点号", width = 15)
-    @ApiModelProperty(value = "界址点号")
-    private String jzdh;
-	/**纵坐标(x)*/
-	@Excel(name = "纵坐标(x)", width = 15)
-    @ApiModelProperty(value = "纵坐标(x)")
-    private double xcoord;
-	/**横坐标(y)*/
-	@Excel(name = "横坐标(y)", width = 15)
-    @ApiModelProperty(value = "横坐标(y)")
-    private double ycoord;
-	/**反算边长(米)*/
-	@Excel(name = "反算边长(米)", width = 15)
-    @ApiModelProperty(value = "反算边长(米)")
-    private BigDecimal fsbc;
-	/**圈号*/
-	@Excel(name = "地块圈号", width = 15)
-    @ApiModelProperty(value = "地块圈号")
-    private String qh;
-	/**备注*/
-	@Excel(name = "备注", width = 15)
-    @ApiModelProperty(value = "备注")
-    private String bz;
-}

+ 0 - 2
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qcsb/service/impl/QcSsgqzysytdqkServiceImpl.java

@@ -15,8 +15,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static org.jeecg.modules.zrzyqc.qcsb.Constants.Enum.ENTERPRISE_WJLX_SS;
-
 /**
  * @Description: 省属国企占有使用土地情况调查
  * @Author: jeecg-boot

+ 65 - 21
BIZ/jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qyxx/controller/QcQyxxController.java

@@ -595,7 +595,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         String sbdks = null;
         String yhjs = null;
         for (String s : rolesByUsername) {
-            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 yhjs = "shyh";
                 sbdks = qcQyxxService.sbdksAdmin();
                 break;
@@ -631,7 +631,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         String yhjs = null;
         String wsh = null;
         for (String s : rolesByUsername) {
-            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 yhjs = "shyh";
                 sbdks = qcQyxxService.sydwsbdksAdmin();
                 wsh = qcQyxxService.sydwwshAdmin();
@@ -671,7 +671,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
                 btgsh = qcQyxxService.btgsh(username);
                 wsh = qcQyxxService.wsh(username);
                 shz = qcQyxxService.shzsl(username);
-            } else if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            } else if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 tgsh = qcQyxxService.tgshAdmin();
                 btgsh = qcQyxxService.btgshAdmin();
                 wsh = qcQyxxService.wshAdmin();
@@ -706,7 +706,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         String btgsh = null;
         String shz = null;
         for (String s : rolesByUsername) {
-            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 tgsh = qcQyxxService.sydwtgshAdmin();
                 btgsh = qcQyxxService.sydwbtgshAdmin();
                 wsh = qcQyxxService.sydwwshAdmin();
@@ -740,7 +740,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
             if (s.equals("gzw")) {
                 dlr = "gzw";
                 break;
-            } else if ((s.equals("shyh") || s.equals("xfzx")||s.equals("sjzh"))) {
+            } else if ((s.equals("shyh") || s.equals("xfzx") || s.equals("sjzh"))) {
                 dlr = "shyh";
                 break;
             } else {
@@ -773,7 +773,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         for (String s : rolesByUsername) {
             if (s.equals("sbyh")) {
                 yhjs = "sbyh";
-            } else if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            } else if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 yhjs = "shyh";
                 break;
             }
@@ -801,7 +801,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         List<String> rolesByUsername = api.getRolesByUsername(sysUser.getUsername());
         String wshsl = null;
         for (String s : rolesByUsername) {
-            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 wshsl = qcQyxxService.wshslAdmin();
                 break;
             } else if (s.equals("sbyh") || s.equals("jgsbyh")) {
@@ -827,7 +827,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         List<String> rolesByUsername = api.getRolesByUsername(sysUser.getUsername());
         String wshsl = null;
         for (String s : rolesByUsername) {
-            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx")||s.equals("sjzh")) {
+            if (s.equals("shyh") || s.equals("gzw") || s.equals("xfzx") || s.equals("sjzh")) {
                 wshsl = qcQyxxService.shzslAdmin();
                 break;
             } else if (s.equals("sbyh")) {
@@ -946,6 +946,14 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         //省直闲置低效面积
         QueryWrapper queryWrapperBydxsz = new QueryWrapper<>();
 
+        //已审核省属企业数量
+        QueryWrapper ssQysl = new QueryWrapper<>();
+        //上报地块企业数量
+        QueryWrapper sbdkQysl = new QueryWrapper<>();
+        //已审核省直单位
+        QueryWrapper szQysl = new QueryWrapper<>();
+        //上报地块单位数量
+        QueryWrapper ssDwsl = new QueryWrapper<>();
 
         queryWrapper.select("sum(SJZYTDMJ_M) as  \"SUMSS\",count(SJZYTDMJ_M) as  \"COUNTDK\"");
         queryWrapper.eq("SFSB", 3);
@@ -965,12 +973,43 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         queryWrapperBydxsz.eq("TDSYXZ", "闲置低效土地");
         queryWrapperBydxsz.likeRight("SYS_ORG_CODE", "A03");
         Map<String, Object> map = qcSsgqzysytdqkService.getMap(queryWrapper);
+
+        queryWrapperBydxsz.select("sum(SJZYTDMJ) as \"sumszxzdx\",count(SJZYTDMJ) as  \"countdk\"");
+        queryWrapperBydxsz.eq("SFSB", 3);
+        queryWrapperBydxsz.eq("TDSYXZ", "闲置低效土地");
+        queryWrapperBydxsz.likeRight("SYS_ORG_CODE", "A03");
+
+        ssQysl.select("count(SYS_ORG_CODE) as  \"ssQysl\"");
+        ssQysl.eq("SFSB", 3);
+        ssQysl.likeRight("SYS_ORG_CODE", "A04");
+
+        ssQysl.select("count(SYS_ORG_CODE) as  \"ssQysl\"");
+        ssQysl.eq("SFSB", 3);
+        ssQysl.likeRight("SYS_ORG_CODE", "A04");
+
+        sbdkQysl.select(" count(DISTINCT(SYS_ORG_CODE)) as \"sbdkQysl\"");
+        sbdkQysl.eq("SFSB", 3);
+        sbdkQysl.likeRight("SYS_ORG_CODE", "A04");
+
+        szQysl.select("count(SYS_ORG_CODE) as  \"szQysl\"");
+        szQysl.eq("SFSB", 3);
+        szQysl.likeRight("SYS_ORG_CODE", "A03");
+
+        ssDwsl.select(" count(DISTINCT(SYS_ORG_CODE)) as \"ssDwsl\"");
+        ssDwsl.eq("SFSB", 3);
+        ssDwsl.likeRight("SYS_ORG_CODE", "A03");
+
+
         map.put("SUMSZ", Double.parseDouble(qcSsgqzysytdqkService.getMap(queryWrapperBysz).get("sumsz").toString()) * 0.0015);
-        map.put("COUNTDKBYSZ",qcSsgqzysytdqkService.getMap(queryWrapperBysz).get("countdk").toString());
+        map.put("COUNTDKBYSZ", qcSsgqzysytdqkService.getMap(queryWrapperBysz).get("countdk").toString());
         map.put("SUMSSXZDX", qcSsgqzysytdqkService.getMap(queryWrapperBydxss).get("sumssxzdx"));
         map.put("COUNTDKBYSSXZDX", qcSsgqzysytdqkService.getMap(queryWrapperBydxss).get("countdk"));
         map.put("SUMSZXZDX", Double.parseDouble(qcSsgqzysytdqkService.getMap(queryWrapperBydxsz).get("sumszxzdx").toString()) * 0.0015);
-        map.put("COUNTDKBYSZXZDX", qcSsgqzysytdqkService.getMap(queryWrapperBydxsz).get("countdk").toString() );
+        map.put("COUNTDKBYSZXZDX", qcSsgqzysytdqkService.getMap(queryWrapperBydxsz).get("countdk").toString());
+        map.put("SSQYSL", qcQyxxService.getMap(ssQysl).get("ssQysl").toString());
+        map.put("SBDKQYSL", qcSsgqzysytdqkService.getMap(sbdkQysl).get("sbdkQysl"));
+        map.put("SZQYSL", qcQyxxService.getMap(szQysl).get("szQysl").toString());
+        map.put("SSDWSL", qcSsgqzysytdqkService.getMap(ssDwsl).get("ssDwsl"));
         /*上报地块面积*/
         System.out.println(map);
         return Result.OK(map);
@@ -1067,21 +1106,24 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
 
     @NotNull
     private Result<?> getResult(int sum, List<HashMap<String, Object>> list) {
+        int conut = 0;
         List<HashMap<String, String>> result = new ArrayList<>();
         HashMap<String, String> Maps = new HashMap<>();
+        HashMap<String, String> Map = new HashMap<>();
         for (HashMap<String, Object> map : list) {
-            HashMap<String, String> Map = new HashMap<>();
-            if (map.get("name").equals("无")) {
-                Map.put("name", "无证");
-                Map.put("value", map.get("value").toString());
-                result.add(Map);
+
+            if (map.get("name").equals("无") || map.get("name").equals("无权属证明材料") || map.get("name").equals("文件合同等权属证明材料")) {
+                conut = conut + Integer.valueOf(map.get("value").toString());
             } else {
                 sum = sum + Integer.valueOf(map.get("value").toString());
             }
         }
+        Map.put("name", "无证");
+        Map.put("value", String.valueOf(conut));
         Maps.put("name", "有证");
         Maps.put("value", String.valueOf(sum));
         result.add(Maps);
+        result.add(Map);
         return Result.OK(result);
     }
 
@@ -1123,6 +1165,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         int sum = 0;
         return getResult2(sum, list);
     }
+
     @NotNull
     private Result<?> getResult2(int sum, List<HashMap<String, Object>> list) {
         List<HashMap<String, String>> result = new ArrayList<>();
@@ -1154,6 +1197,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         List<HashMap<String, Object>> list = qcQyxxService.sjyttjsz();
         return getResult(list);
     }
+
     /**
      * 统计-一级单位用地面积汇总
      *
@@ -1180,7 +1224,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         }
         res.put("name", names);
         res.put("value", values);
-        res.put("code",codes);
+        res.put("code", codes);
         System.out.println(res);
 
         return Result.OK(res);
@@ -1221,6 +1265,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         List<HashMap<String, Object>> list = qcQyxxService.dtdktj("A04");
         return Result.OK(list);
     }
+
     /**
      * 统计-省属实际占用土地面积统计
      *
@@ -1246,7 +1291,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         }
         res.put("name", names);
         res.put("value", values);
-        res.put("value2",values2);
+        res.put("value2", values2);
         return Result.OK(res);
     }
 
@@ -1265,7 +1310,6 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
     /**
      * 省直————统计企业自用,出租数量
      *
-     *
      * @return
      */
     @AutoLog(value = "省直————统计企业自用,出租数量")
@@ -1278,7 +1322,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         queryWrapper.select("count(CZCJQK) as \"value\"");
         queryWrapper.likeRight("SYS_ORG_CODE", "A03");
         queryWrapper.eq("SFSB", 3);
-        queryWrapper.eq("CZCJQK","出租" );
+        queryWrapper.eq("CZCJQK", "出租");
         Map map = qcSsgqzysytdqkService.getMap(queryWrapper);
 
         QueryWrapper queryWrapper1 = new QueryWrapper<>();
@@ -1286,7 +1330,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         queryWrapper1.select("count(CZCJQK) as \"value\"");
         queryWrapper1.likeRight("SYS_ORG_CODE", "A03");
         queryWrapper1.eq("SFSB", 3);
-        queryWrapper1.eq("CZCJQK","无" );
+        queryWrapper1.eq("CZCJQK", "无");
         Map map1 = qcSsgqzysytdqkService.getMap(queryWrapper1);
 
         QueryWrapper queryWrapper2 = new QueryWrapper<>();
@@ -1294,7 +1338,7 @@ public class QcQyxxController extends JeecgController<QcQyxx, IQcQyxxService> {
         queryWrapper2.select("count(SYS_ORG_CODE) as \"value\"");
         queryWrapper2.likeRight("SYS_ORG_CODE", "A03");
         queryWrapper2.eq("SFSB", 3);
-        queryWrapper2.eq("tdsyxz","闲置低效土地" );
+        queryWrapper2.eq("tdsyxz", "闲置低效土地");
         Map map2 = qcSsgqzysytdqkService.getMap(queryWrapper2);
         QueryWrapper queryWrapper3 = new QueryWrapper<>();
 

二進制
BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/Constants/Enum.class


二進制
BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/controller/QcSsgqzysytdqkController.class


二進制
BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/entity/QcSsgqzysytdqk.class


二進制
BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/entity/excleTable.class


二進制
BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qcsb/service/impl/QcSsgqzysytdqkServiceImpl.class


二進制
BIZ/jeecg-boot-module-zrzyqc/target/classes/org/jeecg/modules/zrzyqc/qyxx/controller/QcQyxxController.class


二進制
BIZ/jeecg-boot-module-zrzyqc/target/jeecg-boot-module-zrzyqc-3.2.0.jar


+ 1 - 2
BIZ/jeecg-boot-module-zrzyqc/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,6 +1,5 @@
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\Untils\GisUtil.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qyxx\service\impl\QcQyxxServiceImpl.java
-E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\entity\excleTable.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\entity\QcSsgqzysytdqk1.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qywtfk\controller\QcQywtfkController.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qywtfk\service\IQcQywtfkService.java
@@ -19,7 +18,7 @@ E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeec
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qyxx\controller\QcQyxxController.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\entity\QcSsgqzysytdqkzc.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\util\SpringUtil.java
-E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\Constants\Enum.java
+E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\constants\Enum.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qyxx\service\qybhRule.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qywtfk\entity\QcQywtfk.java
 E:\JingTian\zrzyqc2\ZRZYQCSB\BIZ\jeecg-boot-module-zrzyqc\src\main\java\org\jeecg\modules\zrzyqc\qcsb\service\IQcSsgqzysytdqk1Service.java

+ 0 - 1
UI2/.env.development

@@ -1,6 +1,5 @@
 NODE_ENV=development
 VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
-
 VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
 VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
 

+ 4 - 1
UI2/.env.production

@@ -1,5 +1,8 @@
 NODE_ENV=production
-VUE_APP_API_BASE_URL=http://60.208.75.174:8085/jeecg-boot
+
+VUE_APP_API_BASE_URL=/jeecg-boot
+#VUE_APP_API_BASE_URL=http://10.10.100.67:9001/jeecg-boot
+#VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
 #VUE_APP_API_BASE_URL=http://60.208.75.174:8085/jeecg-boot
 
 VUE_APP_CAS_BASE_URL=http://localhost:8888/cas

+ 2 - 1
UI2/public/index.html

@@ -5,7 +5,8 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
-  <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=nOpqFbs0cCIbbYiq1DtiuVIqG4uDQGPD"></script>
+<!--  <meta base="/tdzcxx/">-->
+<!--  <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=nOpqFbs0cCIbbYiq1DtiuVIqG4uDQGPD"></script>-->
 
 
 

+ 3 - 1
UI2/public/static/config.js

@@ -7,5 +7,7 @@ window._CONFIG = {
   //单点登录地址
   VUE_APP_CAS_BASE_URL: '',
   //文件预览路径
-  VUE_APP_ONLINE_BASE_URL: ''
+  VUE_APP_ONLINE_BASE_URL: '',
+  //二级目录路径
+  VUE_APP_PUBLIC_BASE_URL: '/tdzcxx/'
 }

+ 4 - 1
UI2/src/components/OneMap/BasicMap.vue

@@ -477,6 +477,7 @@ export default {
       if (parseInt(layerItem.zIndex)) {
         esriMap.add(layer, parseInt(layerItem.zIndex));
       } else {
+        console.log("jinlaile")
         esriMap.add(layer);
       }
     },
@@ -628,6 +629,7 @@ export default {
               //this.result.目前情况 = this.resData.MQQ;
               /*  this.result.规划地类=attributes.GHD;*/
               this.result.IMAGE = this.resData.images
+
               this.infoShow = true;
               this.$refs.detail.loadDetail(this.result);
             }
@@ -665,12 +667,13 @@ export default {
               this.$refs.detail.loadDetail(this.result);
 
             }
+            console.log(this.result)
           } else if (actionId == "showAll") {
             if(this.resData.vr == null){
               this.$message.warn("全景图片不存在!")
 
             }else {
-              window.open('http://localhost:52769/?startscene=scene_'+this.resData.vr, '_blank')
+              window.open('/tdzcxx/vtour/tour.html?startscene=scene_'+this.resData.vr, '_blank')
             }
 
           }else{

+ 7 - 3
UI2/src/components/OneMap/widgets/QueryInfo.vue

@@ -52,6 +52,7 @@ export default {
       this.previewVisible = false;
     },
     loadDetail(attributes) {
+      console.log(22222222222,attributes)
       this.images = []
       let width = document.getElementById('basic-map').offsetWidth - 355;
       this.leftStyle = `left:${width * 0.9}px`;
@@ -68,18 +69,21 @@ export default {
         }
       }
       if (attributes.IMAGE != null) {
+        console.log(attributes.IMAGE)
         var StringImage = attributes.IMAGE;
         var img;
-        var result;
+        var result="";
+        console.log('result==='+result)
         if (StringImage.includes(",")) {
 
           img = StringImage.split(",")
           for (let i = 0; i < img.length; i++) {
-            result = "http://localhost:8080/jeecg-boot/sys/common/statics/" + img[i]
+            result = img[i]
             this.images.push(result)
           }
         } else if (StringImage != null) {
-          result = "http://localhost:8080/jeecg-boot/sys/common/statics/" + StringImage
+          result = result + StringImage
+          console.log("result==="+result)
           this.images.push(result)
         }
 

+ 0 - 3
UI2/src/components/OneMap/widgets/QueryTool.vue

@@ -20,9 +20,6 @@
             <a-select-option value='是'>
             </a-select-option>
-            <a-select-option value='否'>
-              否
-            </a-select-option>
           </a-select>
           <a-select v-else-if="this.queryList.includes('SY')"  @pressEnter='handleSearch' v-model='keyword' style='width:76%;margin-top: 3%'>
             <a-select-option value='出让'>

+ 2 - 2
UI2/src/components/OneMap/widgets/SpatialAnalysis.vue

@@ -42,7 +42,7 @@
       :closable="true"
       :visible="basicMap.drawerVisible&&result[0].type!==''"
       @close="handleCancel"
-      width="550"
+      width="700"
       :mask="false"
       class="analysis"
     >
@@ -71,7 +71,7 @@
                     <a @click="handleLocate(record)">{{ text }}</a>
                   </template>
                 </a-table>
-                <Pie style="margin-top: 80px" :height="300" :dataSource="item.pieData"></Pie>
+                <Pie style=" margin-top: 80px;margin-right: 100px" :height="300" :dataSource="item.pieData"></Pie>
               </div>
               <div v-else>
                 <a-icon type="rollback" style="position: absolute; right: 10px;top:-10px;font-size: 16px;z-index: 100"

+ 1 - 1
UI2/src/components/chart/Pie.vue

@@ -37,7 +37,7 @@
     },
     data() {
       return {
-        width: 300,
+        width: 600,
         scale: [{
           dataKey: 'percent',
           min: 0,

+ 1 - 1
UI2/src/components/jeecg/ViewImages.vue

@@ -173,7 +173,7 @@ export default {
     // 预览
     handlePreview (file) {
       this.previewImage = file.url || file.thumbUrl
-
+      console.log(444444,file)
       this.previewVisible = true
     },
     getAvatarView(){

+ 1 - 1
UI2/src/components/layouts/UserLayout.vue

@@ -3,7 +3,7 @@
     <div class="container">
       <div class="top">
         <div class="header">
-          <a href="/">
+          <a >
             <img src="~@/assets/login/title4.png" class="logo" alt="logo">
           </a>
         </div>

+ 1 - 1
UI2/src/components/page/GlobalLayout.vue

@@ -116,7 +116,7 @@
     props: {
       menu: {
         type: Array,
-        required: true
+        required: false
       },
     },
     data() {

+ 9 - 9
UI2/src/components/tools/UserMenu.vue

@@ -195,15 +195,15 @@
           content: '真的要注销登录吗 ?',
           onOk() {
             return that.Logout({}).then(() => {
-              // update-begin author:scott date:20211223 for:【JTC-198】退出登录体验不好
-              //that.$router.push({ path: '/user/login' });
-              // window.location.reload()
-              // update-end author:scott date:20211223 for:【JTC-198】退出登录体验不好
-              let sevice = 'http://' + window.location.host + '/'
-              console.log("sevice=====" + sevice);
-              // let serviceUrl = encodeURIComponent(sevice)
-
-              window.location.href = sevice
+              // // update-begin author:scott date:20211223 for:【JTC-198】退出登录体验不好
+              // //that.$router.push({ path: '/user/login' });
+              window.location.reload()
+              // // update-end author:scott date:20211223 for:【JTC-198】退出登录体验不好
+              // let sevice = 'http://' + window.location.host + '/'+'tdzcxx'
+              // console.log("sevice=====" + sevice);
+              // // let serviceUrl = encodeURIComponent(sevice)
+              //
+              // window.location.href = sevice
             }).catch(err => {
               that.$message.error({
                 title: '错误',

+ 3 - 1
UI2/src/config/index.js

@@ -7,4 +7,6 @@ window._CONFIG['domianURL'] = Vue.prototype.API_BASE_URL
 window._CONFIG['casPrefixUrl'] = window._CONFIG.VUE_APP_CAS_BASE_URL?window._CONFIG.VUE_APP_CAS_BASE_URL:process.env.VUE_APP_CAS_BASE_URL
 window._CONFIG['onlinePreviewDomainURL'] =  window._CONFIG.VUE_APP_ONLINE_BASE_URL?window._CONFIG.VUE_APP_ONLINE_BASE_URL:process.env.VUE_APP_ONLINE_BASE_URL
 window._CONFIG['staticDomainURL'] = Vue.prototype.API_BASE_URL + '/sys/common/static'
-window._CONFIG['pdfDomainURL'] = Vue.prototype.API_BASE_URL+ '/sys/common/pdf/pdfPreviewIframe'
+window._CONFIG['pdfDomainURL'] = Vue.prototype.API_BASE_URL+ '/sys/common/pdf/pdfPreviewIframe'
+
+window._CONFIG['domianURLs'] = "http://127.0.0.1:9001/jeecg-boot"

+ 11 - 0
UI2/src/config/router.config.js

@@ -378,5 +378,16 @@ export const constantRouterMap = [
     path: '/404',
     component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
   },
+  {
+    path: '/mainMapback',
+    name: 'mainMapback',
+    component: () => import('@/views/onemap/mainMapback')
+  },
+  {
+    path: '/tj/sjtjModule',
+    name: 'sjtjModule',
+    component: () => import('@/views/tj/sjtjModule')
+  },
+
 
 ]

+ 69 - 43
UI2/src/permission.js

@@ -1,57 +1,68 @@
 import Vue from 'vue'
 import router from './router'
 import store from './store'
+import user from '@/store/modules/user'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
 import notification from 'ant-design-vue/es/notification'
-import { ACCESS_TOKEN,INDEX_MAIN_PAGE_PATH, OAUTH2_LOGIN_PAGE_PATH } from '@/store/mutation-types'
-import { generateIndexRouter, isOAuth2AppEnv } from '@/utils/util'
+import {ACCESS_TOKEN, INDEX_MAIN_PAGE_PATH, OAUTH2_LOGIN_PAGE_PATH} from '@/store/mutation-types'
+import {generateIndexRouter, isOAuth2AppEnv} from '@/utils/util'
 
-NProgress.configure({ showSpinner: false }) // NProgress Configuration
+NProgress.configure({showSpinner: false}) // NProgress Configuration
 
-const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration'] // no redirect whitelist
+const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration', '/mainMapback', "/tj/sjtjModule"] // no redirect whitelist
 whiteList.push(OAUTH2_LOGIN_PAGE_PATH)
 
 router.beforeEach((to, from, next) => {
   NProgress.start() // start progress bar
+    // alert(to.path)
 
   if (Vue.ls.get(ACCESS_TOKEN)) {
     /* has token */
     if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) {
-      next({ path: INDEX_MAIN_PAGE_PATH })
+      next({path: INDEX_MAIN_PAGE_PATH})
       NProgress.done()
     } else {
       if (store.getters.permissionList.length === 0) {
         store.dispatch('GetPermissionList').then(res => {
-              const menuData = res.result.menu;
-              //console.log(res.message)
-              if (menuData === null || menuData === "" || menuData === undefined) {
-                return;
+          const menuData = res.result.menu;
+          //console.log(res.message)
+          if (menuData === null || menuData === "" || menuData === undefined) {
+            return;
+          }
+          let constRoutes = [];
+          constRoutes = generateIndexRouter(menuData);
+          // 添加主界面路由
+          store.dispatch('UpdateAppRouter', {constRoutes}).then(() => {
+            // 根据roles权限生成可访问的路由表
+            // 动态添加可访问路由表
+            router.addRoutes(store.getters.addRouters)
+            const redirect = decodeURIComponent(from.query.redirect || to.path)
+            if (to.path === redirect) {
+              // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+              next({...to, replace: true})
+            } else {
+              // 跳转到目的路由
+              // next({path: redirect})
+              if (JSON.stringify(constRoutes).includes(redirect)) {
+                next({
+                  path: redirect
+                })
+              } else {
+                next({
+                  path: '/dashboard/analysis'
+                })
               }
-              let constRoutes = [];
-              constRoutes = generateIndexRouter(menuData);
-              // 添加主界面路由
-              store.dispatch('UpdateAppRouter',  { constRoutes }).then(() => {
-                // 根据roles权限生成可访问的路由表
-                // 动态添加可访问路由表
-                router.addRoutes(store.getters.addRouters)
-                const redirect = decodeURIComponent(from.query.redirect || to.path)
-                if (to.path === redirect) {
-                  // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
-                  next({ ...to, replace: true })
-                } else {
-                  // 跳转到目的路由
-                  next({ path: redirect })
-                }
-              })
-            })
+            }
+          })
+        })
           .catch(() => {
-           /* notification.error({
-              message: '系统提示',
-              description: '请求用户信息失败,请重试!'
-            })*/
+            /* notification.error({
+               message: '系统提示',
+               description: '请求用户信息失败,请重试!'
+             })*/
             store.dispatch('Logout').then(() => {
-              next({ path: '/user/login', query: { redirect: to.fullPath } })
+              next({path: '/user/login', query: {redirect: to.fullPath}})
             })
           })
       } else {
@@ -59,21 +70,36 @@ router.beforeEach((to, from, next) => {
       }
     }
   } else {
-    if (whiteList.indexOf(to.path) !== -1) {
-      // 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面
-      if (to.path === '/user/login' && isOAuth2AppEnv()) {
-        next({path: OAUTH2_LOGIN_PAGE_PATH})
+    if (sessionStorage.getItem('loginTicket')) {
+      user.actions.ValidateLogin(JSON.parse(sessionStorage.getItem('loginTicket')).access_token).then(res=>{
+        if(res.code=='200'){
+          next()
+        }else{
+          console.log("出错了")
+        }
+      }).catch(err=>{
+        console.log(err)
+      });
+    }else{
+      if (whiteList.indexOf(to.path) !== -1) {
+        // 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面
+        if (to.path === '/user/login' && isOAuth2AppEnv()) {
+          next({path: OAUTH2_LOGIN_PAGE_PATH})
+        } else {
+          // 在免登录白名单,直接进入
+          next()
+        }
+        NProgress.done()
       } else {
-        // 在免登录白名单,直接进入
-        next()
+        // alert(whiteList)
+        // alert(to.path)
+        // 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面
+        let path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login'
+        next({path: path, query: {redirect: to.fullPath}})
+        NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
       }
-      NProgress.done()
-    } else {
-      // 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面
-      let path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login'
-      next({ path: path, query: { redirect: to.fullPath } })
-      NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
     }
+
   }
 })
 

+ 2 - 2
UI2/src/router/index.js

@@ -5,8 +5,8 @@ import { constantRouterMap } from '@/config/router.config'
 Vue.use(Router)
 
 export default new Router({
-  mode: 'hash',
-  base: process.env.BASE_URL,
+  mode: 'history',
+  base: "/tdzcxx/",
   scrollBehavior: () => ({ y: 0 }),
   routes: constantRouterMap
 })

+ 10 - 8
UI2/src/store/modules/user.js

@@ -50,26 +50,28 @@ const user = {
   },
 
   actions: {
-    // CAS验证登录
-    ValidateLogin({ commit }, userInfo) {
+
+    ValidateLogin(ticket) {
       return new Promise((resolve, reject) => {
-        getAction("/sys/cas/client/validateLogin",userInfo).then(response => {
-          console.log("----cas 登录--------",response);
+        getAction("/sys/validateLogin",{ticket}).then(response => {
           if(response.success){
             const result = response.result
             const userInfo = result.userInfo
             Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000)
             Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000)
             Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000)
-            commit('SET_TOKEN', result.token)
-            commit('SET_INFO', userInfo)
-            commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() })
-            commit('SET_AVATAR', userInfo.avatar)
+            // commit('SET_TOKEN', result.token)
+            // commit('SET_INFO', userInfo)
+            // commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() })
+            // commit('SET_AVATAR', userInfo.avatar)
+            console.log("222==="+response)
             resolve(response)
           }else{
             resolve(response)
           }
         }).catch(error => {
+          console.log("222==="+error)
+
           reject(error)
         })
       })

+ 15 - 1
UI2/src/views/listStatistics/listTab.vue

@@ -88,7 +88,7 @@
         <a-col :sm="24" :md="12" :xl="6">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
             <j-vxe-table
-              :columns="xqDataColumns"
+              :columns="sjytDataColumns"
               :data-source="sjytData"
               :height="300"
             >
@@ -155,6 +155,20 @@ export default {
         },
 
       ],
+      sjytDataColumns:[
+        {
+          title: '类型',
+          dataIndex: 'type',
+          key: 'type',
+        },
+        {
+          title: '数量',
+          dataIndex: 'number',
+          key: 'number',
+          type: JVXETypes.inputNumber,
+          statistics: ['sum']
+        },
+      ],
       areaColumns: [
         {
           title: '获取方式',

+ 28 - 14
UI2/src/views/listStatistics/listTabBySz.vue

@@ -10,7 +10,7 @@
       <a-row>
         <a-col :sm="24" :md="12" :xl="6">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
-            <PieData :result-data="pieResultData" :title-text="'省属企业土地地块数量获取方式占比'"></PieData>
+            <PieData :result-data="pieResultData" :title-text="'省直单位土地地块数量获取方式占比'"></PieData>
           </a-card>
 
         </a-col>
@@ -27,7 +27,7 @@
         </a-col>
         <a-col :sm="24" :md="12" :xl="6">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
-            <PieData :result-data="pieAreaResultData" :title-text="'省属企业土地地块面积获取方式占比'"></PieData>
+            <PieData :result-data="pieAreaResultData" :title-text="'省直单位土地地块面积获取方式占比'"></PieData>
 
           </a-card>
         </a-col>
@@ -45,7 +45,7 @@
         </a-col>
         <a-col :sm="24" :md="12" :xl="6">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
-            <DoughnutData :result-data="this.DoughnutResultData" :pie-color="color1" :title-text="'企业权证登记比例情况'"
+            <DoughnutData :result-data="this.DoughnutResultData" :pie-color="color1" :title-text="'单位权证登记比例情况'"
             ></DoughnutData>
           </a-card>
         </a-col>
@@ -64,7 +64,7 @@
 
         <a-col :sm="24" :md="12" :xl="6">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
-            <DoughnutData :result-data="this.doughnutByXzResultData" :pie-color="color1" :title-text="'省属企业土地使用现状占比'"
+            <DoughnutData :result-data="this.doughnutByXzResultData" :pie-color="color1" :title-text="'省直单位土地使用现状占比'"
             ></DoughnutData>
           </a-card>
         </a-col>
@@ -82,13 +82,13 @@
 
         <a-col :sm="24" :md="12" :xl="18">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
-            <BarData :result-x-data="this.barBysjytResultData" :dw="'亩'" :title-text="'省属企业土地实际用途情况'" :seriesName="'地块数量'"></BarData>
+            <BarData :result-x-data="this.barBysjytResultData" :dw="'亩'" :title-text="'省直单位土地实际用途情况'" :seriesName="'地块数量'"></BarData>
           </a-card>
         </a-col>
         <a-col :sm="24" :md="12" :xl="6">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
             <j-vxe-table
-              :columns="xqDataColumns"
+              :columns="sjytDataColumns"
               :data-source="sjytData"
               :height="300"
             >
@@ -98,7 +98,7 @@
         </a-col>
         <a-col :sm="24" :md="12" :xl="18">
           <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
-          <BarData :result-x-data="this.barResultData" :dw="'亩'" :title-text="'省属企业实际占用面积'" :seriesName="'地块面积(亩)'"></BarData>
+          <BarData :result-x-data="this.barResultData" :dw="'亩'" :title-text="'省直单位实际占用面积'" :seriesName="'地块面积(亩)'"></BarData>
           </a-card>
         </a-col>
         <a-col :sm="24" :md="12" :xl="6">
@@ -183,6 +183,20 @@ export default {
           statistics: ['sum']
         },
       ],
+      sjytDataColumns:[
+        {
+          title: '类型',
+          dataIndex: 'type',
+          key: 'type',
+        },
+        {
+          title: '数量',
+          dataIndex: 'number',
+          key: 'number',
+          type: JVXETypes.inputNumber,
+          statistics: ['sum']
+        },
+      ],
       registerColumns: [
         {
           title: '类型',
@@ -236,10 +250,10 @@ export default {
           this.data.push({type: key.toString(), number: parseInt(this.pieData[key])})
         }
         for (let key in this.pieArea) {
-          this.pieAreaResultData.push({name: key.toString(), value: this.pieArea[key]})
-          this.areaData.push({type: key.toString(), number: this.pieArea[key].toFixed(2)})
+          this.pieAreaResultData.push({name: key.toString(), value: this.pieArea[key]*0.0015})
+          this.areaData.push({type: key.toString(), number: this.pieArea[key].toFixed(2)*0.0015})
         }
-        console.log(777777777777,this.DoughnutData)
+
         for (let key in this.DoughnutData) {
           if (key != '证书') {
             this.number = this.number + this.DoughnutData[key]
@@ -250,13 +264,13 @@ export default {
           {name: '无证', value: this.number})
 
         for (let key in this.doughnutByXzData) {
-          this.doughnutByXzResultData.push({name: key.toString(), value: this.doughnutByXzData[key]})
-          this.xzData.push({type: key.toString(), number: this.doughnutByXzData[key].toFixed(2)})
+          this.doughnutByXzResultData.push({name: key.toString(), value: this.doughnutByXzData[key]*0.0015})
+          this.xzData.push({type: key.toString(), number: this.doughnutByXzData[key].toFixed(2)*0.0015})
         }
         for (let key in this.barData) {
           this.nan.push(key.toString())
-          this.va.push(parseFloat(this.barData[key].toFixed(2)))
-          this.xqData.push({type: key.toString(), number: this.barData[key].toFixed(2)})
+          this.va.push(parseFloat(this.barData[key].toFixed(2))*0.0015)
+          this.xqData.push({type: key.toString(), number: this.barData[key].toFixed(2)*0.0015})
         }
         this.barResultData.name=this.nan;
         this.barResultData.value=this.va;

+ 95 - 95
UI2/src/views/map/components/Map.vue

@@ -11,13 +11,13 @@
 <script>
 let map = undefined;
 let placeSearch = undefined;
-import BMap from 'BMap'
+ // import BMap from 'BMap'
 import AMapLoader from '@amap/amap-jsapi-loader';
 
-window._AMapSecurityConfig = {
-  // 安全密钥
-  securityJsCode: "d6a497a6074277b5f144512f74e36d16",
-};
+// window._AMapSecurityConfig = {
+//   // 安全密钥
+//   securityJsCode: "d6a497a6074277b5f144512f74e36d16",
+// };
 
 export default {
   data() {
@@ -46,77 +46,77 @@ export default {
 
   methods: {
     //初始化地图
-    initMap() {
-      var that = this
-      AMapLoader.load({
-        key: "50a17f18b751052cc34771f93b897846", // 申请好的Web端开发者Key,首次调用 load 时必填
-        version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
-        plugins: ['AMap.Geolocation,AMap.PlaceSearch'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
-      }).then((AMap) => {
-        // AMap = AMap
-        map = new AMap.Map("Mapcontainer", { //设置地图容器id
-          viewMode: "2D", //是否为3D地图模式
-          zoom: 16, //初始化地图级别
-        });
-        //地址逆解析插件
-        AMap.plugin("AMap.Geocoder", function () {
-          that.geoCoder = new AMap.Geocoder({
-            city: "010", //城市设为北京,默认:“全国”
-            radius: 1000, //范围,默认:500
-          });
-        })
-
-
-        /* // 搜索提示插件
-         this.AutoComplete = new AMap.AutoComplete({ city: "全国" });*/
-        map.on('click', this.MapClick); //绑定单机事件
-
-        if (this.lng && this.lat) {
-          let marker = new AMap.Marker({
-            position: new AMap.LngLat(this.lng, this.lat),
-            icon: '//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png',
-            offset: new AMap.Pixel(-13, -30)
-          });
-          map.setCenter([this.lng, this.lat]);
-          map.add(marker)
-        } else {
-          this.getLocation(map)
-        }
-
-      }).catch(e => {
-        console.log(e);
-      })
-    },
+    // initMap() {
+    //   var that = this
+    //   AMapLoader.load({
+    //     key: "50a17f18b751052cc34771f93b897846", // 申请好的Web端开发者Key,首次调用 load 时必填
+    //     version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
+    //     plugins: ['AMap.Geolocation,AMap.PlaceSearch'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
+    //   }).then((AMap) => {
+    //     // AMap = AMap
+    //     map = new AMap.Map("Mapcontainer", { //设置地图容器id
+    //       viewMode: "2D", //是否为3D地图模式
+    //       zoom: 16, //初始化地图级别
+    //     });
+    //     //地址逆解析插件
+    //     AMap.plugin("AMap.Geocoder", function () {
+    //       that.geoCoder = new AMap.Geocoder({
+    //         city: "010", //城市设为北京,默认:“全国”
+    //         radius: 1000, //范围,默认:500
+    //       });
+    //     })
+    //
+    //
+    //     /* // 搜索提示插件
+    //      this.AutoComplete = new AMap.AutoComplete({ city: "全国" });*/
+    //     map.on('click', this.MapClick); //绑定单机事件
+    //
+    //     if (this.lng && this.lat) {
+    //       let marker = new AMap.Marker({
+    //         position: new AMap.LngLat(this.lng, this.lat),
+    //         icon: '//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png',
+    //         offset: new AMap.Pixel(-13, -30)
+    //       });
+    //       map.setCenter([this.lng, this.lat]);
+    //       map.add(marker)
+    //     } else {
+    //       this.getLocation(map)
+    //     }
+    //
+    //   }).catch(e => {
+    //     console.log(e);
+    //   })
+    // },
 
 
     // 关键字搜索功能r
-    keywordsSearch() {
-      if (!this.keyword) {
-        this.queryReusltIsshow = false
-      }
-      let self = this
-      map.plugin('AMap.PlaceSearch', function () {
-        placeSearch = new AMap.PlaceSearch({
-          pageSize: 8, // 单页显示结果条数
-          pageIndex: 1, // 页码
-          city: "全国", // 兴趣点城市
-          citylimit: false, //是否强制限制在设置的城市内搜索
-          type: "汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施",
-          map: map, // 展现结果的地图实例
-          panel: "panel", // 结果列表将在此容器中进行展示。
-          autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
-        });
-        //关键字查询
-        placeSearch.search(self.keyword, function (status, result) {
-          console.log('查询结果', result)
-          if (result == 'USER_DAILY_QUERY_OVER_LIMIT') {
-            window.alert('免费配额查询超出限制!')
-          } else {
-            self.queryReusltIsshow = true
-          }
-        });
-      })
-    },
+    // keywordsSearch() {
+    //   if (!this.keyword) {
+    //     this.queryReusltIsshow = false
+    //   }
+    //   let self = this
+    //   map.plugin('AMap.PlaceSearch', function () {
+    //     placeSearch = new AMap.PlaceSearch({
+    //       pageSize: 8, // 单页显示结果条数
+    //       pageIndex: 1, // 页码
+    //       city: "全国", // 兴趣点城市
+    //       citylimit: false, //是否强制限制在设置的城市内搜索
+    //       type: "汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施",
+    //       map: map, // 展现结果的地图实例
+    //       panel: "panel", // 结果列表将在此容器中进行展示。
+    //       autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
+    //     });
+    //     //关键字查询
+    //     placeSearch.search(self.keyword, function (status, result) {
+    //       console.log('查询结果', result)
+    //       if (result == 'USER_DAILY_QUERY_OVER_LIMIT') {
+    //         window.alert('免费配额查询超出限制!')
+    //       } else {
+    //         self.queryReusltIsshow = true
+    //       }
+    //     });
+    //   })
+    // },
 
     //地图单机事件
     MapClick(e) {
@@ -190,32 +190,32 @@ export default {
         function onError(data) {
           // 定位出错
           console.log('定位出错', data)
-          that.lib_getPosition();
+          // that.lib_getPosition();
         }
       })
     },
 
-    lib_getPosition() {
-      const that = this;
-      const BMapGeolocation = new BMap.Geolocation();
-
-      function myFun(result) {
-        console.log(result)
-        if (result.center.lng && result.center.lat) {
-          console.log("baidu");
-          // 获取到经纬度(百度转换高德经纬度)
-          const {lng, lat} = that.bd_decrypt(result.center.lng, result.center.lat);
-          that.center = [lng, lat];
-          map.setCenter([lng, lat]);
-          // 根据经纬度获取当前经纬度的位置信息
-        } else {
-          console.log(22);
-        }
-      }
-
-      var myCity = new BMap.LocalCity();
-      myCity.get(myFun);
-    },
+    // lib_getPosition() {
+    //   const that = this;
+    //   const BMapGeolocation = new BMap.Geolocation();
+    //
+    //   function myFun(result) {
+    //     console.log(result)
+    //     if (result.center.lng && result.center.lat) {
+    //       console.log("baidu");
+    //       // 获取到经纬度(百度转换高德经纬度)
+    //       const {lng, lat} = that.bd_decrypt(result.center.lng, result.center.lat);
+    //       that.center = [lng, lat];
+    //       map.setCenter([lng, lat]);
+    //       // 根据经纬度获取当前经纬度的位置信息
+    //     } else {
+    //       console.log(22);
+    //     }
+    //   }
+    //
+    //   var myCity = new BMap.LocalCity();
+    //   myCity.get(myFun);
+    // },
     bd_decrypt(bdLng, bdLat) {
       const X_PI = Math.PI * 3000.0 / 180.0;
       const x = bdLng - 0.0065;

+ 41 - 0
UI2/src/views/onemap/mainMapback.vue

@@ -0,0 +1,41 @@
+<!--
+使用ArcGIS api for JavaScript 4.X开发,需要安装包如下:
+npm install @arcgis/core@4.23.7       框架
+npm install terraformer-wkt-parser    wkt坐标格式转换工具
+npm install echarts    echarts工具
+npm install v-viewer    图片查看工具
+(不用安裝)npm install --save-dev @arcgis/webpack-plugin   帮助程序插件,用于构建适用于 JavaScript 应用程序的 ArcGIS API,其中包含用于在本地复制资产的 webpack。
+此版本的插件适用于 4.18 或更高版本的 ArcGIS API for JavaScript。
+-->
+
+<template>
+  <div class='mapContainer'>
+    <basic-map ref='map' class='map' :res-config-url='resConfigUrl' :tools-config-url='toolsConfigUrl' ></basic-map>
+  </div>
+</template>
+
+<script>
+import BasicMap from '../../components/OneMap/BasicMap';
+
+export default {
+  name: 'mainMapback',
+  components: { BasicMap },
+  data(){
+    return{
+      resConfigUrl:"/resManager.catalog/rescatalog/resListByUser",
+      toolsConfigUrl:"/toolManage/toolmanage/toolListByUser"
+    }
+  },
+}
+</script>
+
+<style scoped>
+.mapContainer,
+.map{
+  position:relative ;
+  height: 100%;
+  width: 100%;
+  padding: 0;
+  margin: 0;
+}
+</style>

+ 5 - 3
UI2/src/views/qcsb/QcSsgqzysytdqkList1.vue

@@ -14,14 +14,16 @@
               <a-input placeholder="请输入地块" v-model="queryParam.dk"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
             <a-form-item label="土地使用现状">
               <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状'/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="7" :lg="7" :md="8" :sm="24">
             <a-form-item label="使用权使用方式">
-              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>
+              <j-multi-select-tag type='list_multi' v-model='queryParam.syqsyfs' dictCode='syqsyfs'
+                                  placeholder='请选择使用权使用方式'/>
+              <!--              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>-->
             </a-form-item>
           </a-col>
           <a-col v-has="'Query:xzqh'" :xl="6" :lg="7" :md="8" :sm="24">

+ 6 - 3
UI2/src/views/qcsb/QcSsgqzysytdqkList2.vue

@@ -29,14 +29,17 @@
               <j-dict-select-tag placeholder="请选择文件类型" v-model="queryParam.wjlx" dictCode="wjlx"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
             <a-form-item label="土地使用现状">
               <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状'/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+
+          <a-col :xl="7" :lg="7" :md="8" :sm="24">
             <a-form-item label="使用权使用方式">
-              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>
+              <j-multi-select-tag type='list_multi' v-model='queryParam.syqsyfs' dictCode='syqsyfs'
+                                  placeholder='请选择使用权使用方式'/>
+              <!--              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>-->
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">

+ 6 - 4
UI2/src/views/qcsb/QcSsgqzysytdqkList_gly.vue

@@ -31,7 +31,7 @@
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="文件类型">
-              <j-dict-select-tag placeholder="请选择文件类型" v-model="queryParam.wjlx" dictCode="wjlx"/>
+              <j-multi-select-tag placeholder="请选择文件类型" v-model="queryParam.wjlx" dictCode="wjlx"/>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -46,9 +46,11 @@
               <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状'/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="7" :lg="7" :md="8" :sm="24">
             <a-form-item label="使用权使用方式">
-              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>
+              <j-multi-select-tag type='list_multi' v-model='queryParam.syqsyfs' dictCode='syqsyfs'
+                                  placeholder='请选择使用权使用方式'/>
+<!--              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>-->
             </a-form-item>
           </a-col>
 
@@ -57,7 +59,7 @@
               <j-category-select v-model="queryParam.sjyt" pcode="A04" placeholder="请选择实际用途"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
             <a-form-item label="一级单位">
               <j-dict-select-tag placeholder="请选择一级单位" v-model="queryParam.sysOrgCode" dictCode="yjdw"/>
             </a-form-item>

+ 1 - 5
UI2/src/views/qcsb/QcSsgqzysytdqkList_glyy.vue

@@ -17,11 +17,7 @@
               <a-input placeholder="请输入证书/合同/文件编号" v-model="queryParam.wjbh"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="土地使用现状">
-                <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状' />
-            </a-form-item>
-          </a-col>
+
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="是否通过审核">
               <j-dict-select-tag placeholder="请选择是否通过审核" v-model="queryParam.shzt" dictCode="shzt"/>

+ 11 - 7
UI2/src/views/qcsb/QcSsgqzysytdqkList_tj.vue

@@ -31,7 +31,7 @@
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="文件类型">
-              <j-dict-select-tag placeholder="请选择文件类型" v-model="queryParam.wjlx" dictCode="wjlx"/>
+              <j-multi-select-tag placeholder="请选择文件类型" v-model="queryParam.wjlx" dictCode="wjlx"/>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -52,7 +52,7 @@
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="使用权使用方式">
-              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>
+              <j-multi-select-tag  v-model='queryParam.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权使用方式'/>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -79,8 +79,8 @@
     <!-- 操作按钮区域 -->
     <div class="table-operator">
 <!--      <a-button v-has="'conts:add'" @click="handleAdd2" type="primary" icon="plus">填报信息</a-button>-->
-<!--      <a-button type="primary" icon="download" @click="handleExportXls('省属国企占有使用土地情况调查')">导出</a-button>-->
-<!--    <a-button type="primary" icon="download" @click="handleExportXls('省属国企占有使用土地情况调查')">全部导出</a-button>-->
+      <a-button type="primary" icon="download" @click="handleExportXls('省属国企占有使用土地情况调查')">导出</a-button>
+    <a-button type="primary" icon="download" @click="handleExportXls('省属国企占有使用土地情况调查')">全部导出</a-button>
       <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
        <a-button type="primary" icon="import">导入</a-button>
      </a-upload>
@@ -160,13 +160,14 @@
 import '@/assets/less/TableExpand.less'
 import {mixinDevice} from '@/utils/mixin'
 import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-import QcSsgqzysytdqkModal from './modules/QcSsgqzysytdqkModal2'
+import QcSsgqzysytdqkModal from './modules/QcSsgqzysytdqkModal_tj'
 import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
 import {getAction} from '../../api/manage'
 import {loadCategoryData} from '@/api/api'
 import listTable from '@/views/listStatistics/listTab'
 import store from '@/store'
 import JAreaSelect from "@comp/jeecg/JAreaSelect";
+import { filterObj } from '@/utils/util';
 
 export default {
   name: 'QcSsgqzysytdqkList',
@@ -268,10 +269,12 @@ export default {
 
   created() {
     this.getSuperFieldList();
+
   },
   mounted() {
     this.show()
     this.searchQuery()
+
   },
   computed: {
     importExcelUrl: function () {
@@ -299,9 +302,9 @@ export default {
         this.ipagination.current = 1;
       }
       this.loading = true;
-      getAction(this.url.list, this.queryParam).then((res) => {
+      console.log(777777777777777777,this.getQueryParams())
+      getAction(this.url.list, this.getQueryParams()).then((res) => {
         if (res.success) {
-          console.log(res)
           //update-begin---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
           this.dataSource = res.result.records || res.result;
           this.dataSource.forEach((item) => {
@@ -375,6 +378,7 @@ export default {
     },
     searchReset() {
       this.$refs.JArea.allClear(),
+        this.param={}
         this.queryParam = {}
       this.loadData(1);
     },

+ 1297 - 0
UI2/src/views/qcsb/modules/QcSsgqzysytdqkForm_tj.vue

@@ -0,0 +1,1297 @@
+<template xmlns='http://www.w3.org/1999/html' xmlns='http://www.w3.org/1999/html'>
+  <a-spin :spinning='confirmLoading'>
+    <j-form-container :disabled='formDisabled'>
+      <a-form-model ref='form' :model='model' :rules='validatorRules' slot='detail'>
+        <a-row>
+          <a-col :span="24">
+            <div style="text-align: center;font-size: larger;margin-bottom: 20px">省属企业占有使用土地情况调查统计表</div>
+          </a-col>
+          <table style="background-color: white">
+            <tr>
+              <td colspan="2">
+                <a-col :span="24">
+                  <div style="text-align: center;font-size: larger;">基本信息</div>
+                </a-col>
+              </td>
+            </tr>
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='录入主体' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='createBy'>
+                    <a-col :span="22">
+                      <a-input v-model='model.createBy' placeholder='请输入录入主体' disabled></a-input>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='宗地名称' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dk'>
+                    <a-col :span="22">
+                      <a-input v-model='model.dk' placeholder='请输入宗地名称'></a-input>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+
+            </tr>
+            <tr>
+              <td >
+                <a-col :span="24">
+                  <a-form-model-item label='详细地址' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='zlwz'>
+                    <a-col :span="22">
+                      <a-input v-model='model.zlwz' placeholder='请输入详细地址'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("zlwz")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='土地归属企业' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdgsqy'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-input v-model='model.tdgsqyy' placeholder='请输入土地归属企业'></a-input>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label="土地坐落" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xzqh">
+                    <a-col :span="22">
+                      <j-area-linkage type="cascader" v-model="model.xzqh" placeholder="请输入土地坐落"/>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+<!--            <tr>-->
+<!--              <td>-->
+
+<!--              </td>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='产权证证持有情况' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='zscyqk'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-radio-group   v-model="model.zscyqk" >-->
+<!--                        <a-radio :value="1">有</a-radio>-->
+<!--                        <a-radio :value="0">无</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地资产权属证明材料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tdzcqszmcl">-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-upload v-model='model.tdzcqszmcl'></j-upload>-->
+<!--                    </a-col>-->
+<!--                    <a-col :span="2">-->
+<!--                      <a-icon class='info' type='question-circle-o' @click='info("tdzcqszmcl")'></a-icon>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="坐标位置相关证明材料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zbwzxgzmcl">-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-upload v-model='model.zbwzxgzmcl'></j-upload>-->
+<!--                    </a-col>-->
+<!--                    <a-col :span="2">-->
+<!--                      <a-icon class='info' type='question-circle-o' @click='info("zbwzxgzmcl")'></a-icon>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='其他资料' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='xgwj'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-upload v-model='model.xgwj'></j-upload>-->
+<!--                    </a-col>-->
+<!--                    <a-col :span="2">-->
+<!--                      <a-icon class='info' type='question-circle-o' @click='info("xgwj")'></a-icon>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="房屋资产权属证明材料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fwzcqszmcl">-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-upload v-model='model.fwzcqszmcl'></j-upload>-->
+<!--                    </a-col>-->
+<!--                    <a-col :span="2">-->
+<!--                      <a-icon class='info' type='question-circle-o' @click='info("fwzcqszmcl")'></a-icon>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+            <tr>
+              <td colspan="2">
+                <a-col :span="24">
+                  <div style="text-align: center;font-size: larger;">土地权属信息</div>
+                </a-col>
+              </td>
+            </tr>
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='文件类型' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='wjlx'>
+                    <a-col :span="22">
+                      <j-dict-select-tag type='list' v-model='model.wjlx' dictCode='wjlx' placeholder='请选择文件类型'/>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td >
+                <a-col :span="24">
+                  <a-form-model-item label='权证登记使用人名称' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdsyqr'>
+                    <a-col :span="22">
+                      <a-input v-model='model.tdsyqr' placeholder='请输入权证登记使用人名称'></a-input>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("tdsyqr")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='产权证号' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='wjbh'>
+                    <a-col :span="22">
+                      <a-input v-model='model.wjbh' v-decorator="['wjbh',validatorRules.wjbh]"
+                               placeholder='请输入产权证号'></a-input>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("wjbh")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+
+                <a-col :span="24">
+                  <a-form-model-item label="是否共用宗地" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfgyz">
+                    <a-col :span="22">
+                      <!--                      <a-radio-group  :default-value="0" v-model="model.sfgyz" >-->
+                      <!--                        <a-radio :value="1">是</a-radio>-->
+                      <!--                        <a-radio :value="0">否</a-radio>-->
+                      <!--                      </a-radio-group>-->
+                      <j-dict-select-tag type="list" v-model="model.sfgyz" dictCode="sfgyz" placeholder="请选择是否共用宗地"/>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfyz">-->
+<!--                    <span slot="label" class="label-box">权证登记人使用名称是否与实际使用人一致</span>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-radio-group  :default-value="0" v-model="model.sfyz" >-->
+<!--                        <a-radio :value="1">是</a-radio>-->
+<!--                        <a-radio :value="0">否</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                      &lt;!&ndash;                      <j-dict-select-tag type="list" v-model="model.sfyz" dictCode="sfgyz"&ndash;&gt;-->
+<!--                      &lt;!&ndash;                                         placeholder="请选择权证登记人使用名称是否与实际使用人一致"/>&ndash;&gt;-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+              </td>
+              <!--              <td>
+
+                                              <a-col :span="24">
+                                                <a-form-model-item label="权证登记使用人名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qzdjsyrm">
+                                                  <a-col :span="22">
+                                                    <a-input v-model="model.qzdjsyrm" placeholder="请输入权证登记使用人名称"/>
+                                                  </a-col>
+                                                </a-form-model-item>
+                                              </a-col>
+                            </td>-->
+            </tr>
+<!--            <tr>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地实际使用人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tdsjsyr">-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-input v-model="model.tdsjsyr" placeholder="请输入土地实际使用人"/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="是否共用宗地" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfgyz">-->
+<!--                    <a-col :span="22">-->
+<!--                      &lt;!&ndash;                      <a-radio-group  :default-value="0" v-model="model.sfgyz" >&ndash;&gt;-->
+<!--                      &lt;!&ndash;                        <a-radio :value="1">是</a-radio>&ndash;&gt;-->
+<!--                      &lt;!&ndash;                        <a-radio :value="0">否</a-radio>&ndash;&gt;-->
+<!--                      &lt;!&ndash;                      </a-radio-group>&ndash;&gt;-->
+<!--                      <j-dict-select-tag type="list" v-model="model.sfgyz" dictCode="sfgyz" placeholder="请选择是否共用宗地"/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='使用权类型' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='syqsyfs'>
+                    <a-col :span="22">
+                      <j-dict-select-tag type='list' v-model='model.syqsyfs' dictCode='syqsyfs' placeholder='请选择使用权类型'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("syqsyfs")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='土地获取时间' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsqssj'>
+                    <a-col :span="22">
+                      <j-date placeholder='请选择土地获取时间' v-model='model.qsqssj' style='width: 100%'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("qsqssj")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='权属期限' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsqx'>
+                    <a-col :span="22">
+                      <j-dict-select-tag type='list' v-model='model.qsqx' dictCode='qsqx' placeholder='请选择权属期限'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("qsqx")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='土地到期时间' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsdqsj'>
+                    <a-col :span="22">
+                      <j-date placeholder='请选择土地到期时间' v-model='model.qsdqsj' style='width: 100%'
+                              :disabled-date="dateDisabled"
+                              :disabled='disableqsqx'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("qsdqsj")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='土地面积单位' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjzytdmjdw'>
+                    <a-col :span="22">
+                      <j-dict-select-tag type='list' v-model='model.sjzytdmjdw' dictCode='dw' placeholder='请选择土地面积单位'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("sjzytdmjdw")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='证载土地面积' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qzpzsymj'>
+                    <a-col :span="22">
+                      <a-input-number v-model='model.qzpzsymj' placeholder='请输入证载土地面积' style='width: 100%'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("qzpzsymj")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='实际占用土地面积' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjzytdmj'>
+                    <a-col :span="22">
+                      <a-input-number v-model='model.sjzytdmj' placeholder='请输入实际占用土地面积' style='width: 100%'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("sjzytdmj")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='批准用途' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='pzyt'>
+
+                    <a-col :span="22">
+                      <j-category-select v-model="model.pzyt" pcode="A04" placeholder="请选择实际用途"/>
+                    </a-col>
+
+                    <!--                    <a-col :span="2">
+                                          <a-icon class='info' type='question-circle-o' @click='info("sjzytdmj")'></a-icon>
+                                        </a-col>-->
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+<!--            <tr>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='政府规划用途' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='zfghyt'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-input v-model='model.zfghyt' placeholder='请输入政府规划用途' style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                    &lt;!&ndash;                    <a-col :span="2">-->
+<!--                                          <a-icon class='info' type='question-circle-o' @click='info("sjzytdmj")'></a-icon>-->
+<!--                                        </a-col>&ndash;&gt;-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop='sjytsffh'>-->
+<!--                    <span slot="label" class="label-box">政府规划用途是否与实际用途一致</span>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-radio-group   v-model="model.sjytsffh" >-->
+<!--                        <a-radio :value="1">有</a-radio>-->
+<!--                        <a-radio :value="0">无</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                      &lt;!&ndash;                      <a-input v-model='model.zfghyt' placeholder='政府规划用途是否与实际用途一致' style='width: 100%'/>&ndash;&gt;-->
+<!--                    </a-col>-->
+<!--                    &lt;!&ndash;                    <a-col :span="2">-->
+<!--                                          <a-icon class='info' type='question-circle-o' @click='info("sjzytdmj")'></a-icon>-->
+<!--                                        </a-col>&ndash;&gt;-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+            <tr>
+              <td >
+                <a-col :span="24">
+                  <a-form-model-item label='实际用途' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjyt'>
+                    <a-col :span="22">
+                      <j-category-select v-model="model.sjyt" pcode="A04" placeholder="请选择实际用途"/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("sjyt")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label="总建筑面积" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjzmj">
+                    <a-col :span="22">
+                      <a-input-number v-model="model.zjzmj" placeholder="请输入总建筑面积" :disabled='zjzmjDisabled'
+                                      style="width: 100%"/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("zjzmj")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+<!--            <tr>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='建筑面积单位' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjsyjzmjdw'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-dict-select-tag type='list' disabled v-model='model.sjsyjzmjdw' dictCode='dw'-->
+<!--                                         placeholder='请选择建筑面积单位'/>-->
+<!--                    </a-col>-->
+<!--                    <a-col :span="2">-->
+<!--                      <a-icon class='info' type='question-circle-o' @click='info("sjsyjzmjdw")'></a-icon>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjytsffh'>-->
+<!--                    <span slot="label" class="label-box">实际用途是否符合划拨用地目录</span>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-radio-group   v-model="model.sjytsffh" >-->
+<!--                        <a-radio :value="1">有</a-radio>-->
+<!--                        <a-radio :value="0">无</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+            <tr>
+              <td >
+                <a-col :span="24">
+                  <a-form-model-item label='证载建筑面积' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qzpzsymj2'>
+                    <a-col :span="22">
+                      <a-input-number v-model='model.qzpzsymj2' placeholder='请输入证载建筑面积' style='width: 100%'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("qzpzsymj2")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='实际建筑面积' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjsyjzmj'>
+                    <a-col :span="22">
+                      <a-input-number v-model='model.sjsyjzmj' placeholder='请输入实际建筑面积' style='width: 100%'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("sjsyjzmj")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='容积率' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjrjl'>
+                    <a-col :span="22">
+                      <a-input-number v-model='model.sjrjl' placeholder='请输入容积率' style='width: 100%'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("sjrjl")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label='土地使用现状' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdsyxz'>
+                    <a-col :span="22">
+                      <j-dict-select-tag type='list' v-model='model.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("tdsyxz")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dsjzwsfyz'>-->
+<!--                    <span slot="label" class="label-box">地上建筑物产权人是否与权证登记人使用人名称是否一致</span>-->
+<!--                    <a-col :span="22">-->
+<!--                      &lt;!&ndash;                      <a-input v-model='model.dsjzwsfyz' placeholder='请选择地上建筑物产权人是否与权证登记人使用人名称是否一致'&ndash;&gt;-->
+<!--                      &lt;!&ndash;                               style='width: 100%'/>&ndash;&gt;-->
+<!--                      <a-radio-group  v-model="model.dsjzwsfyz">-->
+<!--                        <a-radio :value="1">是</a-radio>-->
+<!--                        <a-radio :value="0">否</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+              </td>
+            </tr>
+<!--            <tr>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='地上建筑物产权人' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dsjzwcqr'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-input v-model='model.dsjzwcqr' placeholder='请选择地上建筑物产权人' style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='地上建筑物用途' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dsjzwyt'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-input v-model='model.dsjzwyt' placeholder='请输入地上建筑物用途' style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='是否存在产权纠纷' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sfczjf'>-->
+<!--                    <a-col :span="22">-->
+<!--                      &lt;!&ndash;                      <a-input v-model='model.sfczjf' placeholder='请输入是否存在产权纠纷' style='width: 100%'/>&ndash;&gt;-->
+<!--                      <a-radio-group  v-model="model.sfczjf">-->
+<!--                        <a-radio :value="1">是</a-radio>-->
+<!--                        <a-radio :value="0">否</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' prop='cqbgbjtdje'>-->
+<!--                    <span slot="label" class="label-box">产权变更需补交的土地出让金数额(万元)</span>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-input-number v-model='model.cqbgbjtdje' placeholder='请输入产权变更需补交的土地出让金数额(万元)'-->
+<!--                                      style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="是否需要缴纳土地使用税" :labelCol='labelCol' :wrapperCol='wrapperCol'-->
+<!--                                     prop='sfxyjntdsys'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-radio-group  v-model="model.sfxyjntdsys">-->
+<!--                        <a-radio :value="1">是</a-radio>-->
+<!--                        <a-radio :value="0">否</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                      &lt;!&ndash;                      <a-input-number v-model='model.sfxyjntdsys' placeholder='是否需要缴纳土地使用税'&ndash;&gt;-->
+<!--                      &lt;!&ndash;                                      style='width: 100%'/>&ndash;&gt;-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地使用税缴纳金额" :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdsysjnje'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-input-number v-model='model.tdsysjnje' placeholder='请输入土地使用税缴纳金额'-->
+<!--                                      style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地账面原值(万元)" :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdzmyz'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-input-number v-model='model.tdzmyz' placeholder='请输入土地账面原值(万元)'-->
+<!--                                      style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地账面净值(万元)" :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdzmjz'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-input-number v-model='model.tdzmjz' placeholder='请输入土地账面净值(万元)'-->
+<!--                                      style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地市场价值(万元)" :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdscjz'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-input-number v-model='model.tdscjz' placeholder='请输入土地市场价值(万元)'-->
+<!--                                      style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+            <tr>
+              <td >
+                <a-col :span="24">
+                  <a-form-model-item label='土地使用现状' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdsyxz'>
+                    <a-col :span="22">
+                      <j-dict-select-tag type='list' v-model='model.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("tdsyxz")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="土地租赁价值(万元)" :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdzljz'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-input-number v-model='model.tdzljz' placeholder='请输入土地租赁价值(万元)'-->
+<!--                                      style='width: 100%'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item  :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dbdycfqk'>
+                    <span slot="label" class="label-box">土地资产的担保、抵押、查封情况</span>
+                    <a-col :span="22">
+                      <j-multi-select-tag type='list_multi' v-model='model.dbdycfqk' dictCode='dbdycfqk'
+                                          placeholder='请选择担保、抵押、查封情况'/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("dbdycfqk")'></a-icon>
+                    </a-col>
+                    <!-- <span class='example'>示例:无</span>-->
+                    <!-- <a-form-model-item label="行政区划" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xzqh">
+                       <j-area-linkage type="cascader" v-model="model.xzqh" placeholder="请输入省市区"/>
+                     </a-form-model-item>-->
+                  </a-form-model-item>
+                </a-col>
+              </td>
+
+            </tr>
+<!--            <tr>-->
+<!--              <td>-->
+
+<!--              </td>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="是否有盘活意愿" :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sfyphyy'>-->
+
+<!--                    <a-col :span="22">-->
+<!--                      <a-radio-group  v-model="model.sfyphyy">-->
+<!--                        <a-radio :value="1">是</a-radio>-->
+<!--                        <a-radio :value="0">否</a-radio>-->
+<!--                      </a-radio-group>-->
+<!--                      &lt;!&ndash;                      <a-input-number v-model='model.sfyphyy' placeholder='请选择是否有盘活意愿'&ndash;&gt;-->
+<!--                      &lt;!&ndash;                                      style='width: 100%'/>&ndash;&gt;-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+            <tr>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label="意向盘活方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yxphfs">
+                    <a-col :span="22">
+                      <j-dict-select-tag type="list" v-model="model.yxphfs" :disabled='uploadDisabled' dictCode="yxphfs"
+                                         placeholder="请选择意向盘活方式"/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("yxphfs")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+              <td>
+                <a-col :span="24">
+                  <a-form-model-item label="意向盘活主体" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yxphzt">
+                    <a-col :span="22">
+                      <j-dict-select-tag type="list" v-model="model.yxphzt" :disabled='uploadDisabled' dictCode="yxphzt"
+                                         placeholder="请选择意向盘活主体"/>
+                    </a-col>
+                    <a-col :span="2">
+                      <a-icon class='info' type='question-circle-o' @click='info("yxphzt")'></a-icon>
+                    </a-col>
+                  </a-form-model-item>
+                </a-col>
+              </td>
+            </tr>
+<!--            <tr>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="闲置低效用地照片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xczp">-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-image-upload isMultiple v-model="model.xczp" :disabled='uploadDisabled'></j-image-upload>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='备注' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='bz'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-textarea v-model='model.bz' rows='4' placeholder='请输入备注'/>-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td >-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label='产权信息补充说明' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='cqxxbcsm'>-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-textarea v-model='model.cqxxbcsm' rows='4' placeholder='请输入产权信息补充说明' />-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td></td>-->
+<!--            </tr>-->
+<!--            <tr v-if="this.model.sfsb>0">-->
+<!--              <td colspan="2">-->
+<!--                <a-col :span="24">-->
+<!--                  <div style="text-align: center;font-size: larger;">审核结果</div>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr v-if="this.model.sfsb>0">-->
+<!--              <td>-->
+
+<!--                <a-col :span="24">-->
+
+<!--                  <a-form-model-item label="审核是否通过" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shzt">-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-dict-select-tag type="list" v-model="model.shzt" dictCode="shzt" placeholder="请选择审核是否通过" />-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="审核意见" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shyj">-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-textarea v-model="model.shyj" rows="4" placeholder="请输入审核意见" />-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+<!--            <tr v-if="this.model.sfsb>0">-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shren">-->
+<!--                    <a-col :span="22">-->
+<!--                      <a-input type="list" v-model="model.shren"  placeholder="审核人" />-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--              <td>-->
+<!--                <a-col :span="24">-->
+<!--                  &lt;!&ndash;    <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shr">-->
+<!--                        <a-input v-model="model.shr" placeholder="请输入审核人"  ></a-input>-->
+<!--                      </a-form-model-item>&ndash;&gt;-->
+<!--                  <a-form-model-item label="审核日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shrq">-->
+<!--                    <a-col :span="22">-->
+<!--                      <j-date placeholder="请选择审核日期" v-model="model.shrq" style="width: 100%" />-->
+<!--                    </a-col>-->
+<!--                  </a-form-model-item>-->
+<!--                </a-col>-->
+<!--              </td>-->
+<!--            </tr>-->
+
+          </table>
+
+
+
+
+
+          <!--          <a-col :span="12">
+                      <a-form-model-item label="年税收" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="nss">
+                        <a-col :span="22">
+                          <a-input v-model="model.nss" placeholder="请输入年税收"/>
+                        </a-col>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="12">
+                      <a-form-model-item label="营业收入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yysr">
+                        <a-col :span="22">
+                          <a-input v-model="model.yysr" placeholder="请输入营业收入"/>
+                        </a-col>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="12">
+                      <a-form-model-item label="就业人数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yysr">
+                        <a-col :span="22">
+                          <a-input v-model="model.jyrs" placeholder="请输入就业人数"/>
+                        </a-col>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="12">
+                      <a-form-model-item label="投资强度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tzqd">
+                        <a-col :span="22">
+                          <a-input v-model="model.tzqd" placeholder="请输入投资强度"/>
+                        </a-col>
+                      </a-form-model-item>
+                    </a-col>-->
+
+
+
+          <!-- <span class='example'>示例:无</span>-->
+
+
+
+
+
+          <!--          <a-col :span="12">-->
+          <!--            &lt;!&ndash; <a-form-model-item label="统一社会信用代码证书" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tyshxydmzs">-->
+          <!--               <a-col :span="22">-->
+          <!--               <j-upload v-model='model.tyshxydmzs'></j-upload>-->
+          <!--               </a-col>-->
+          <!--               <a-col :span="2">-->
+          <!--                 <a-icon class='info' type='question-circle-o' @click='info("tyshxydmzs")'></a-icon>-->
+          <!--               </a-col>-->
+          <!--             </a-form-model-item>&ndash;&gt;-->
+          <!--          </a-col>-->
+
+
+
+
+
+
+
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+import { httpAction, getAction } from '@/api/manage'
+import { validateDuplicateValue } from '@/utils/util'
+import moment from 'moment'
+import store from '@/store'
+
+export default {
+  name: 'QcSsgqzysytdqkForm2',
+  components: {},
+  props: {
+    //表单禁用
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false
+    }
+  },
+  data() {
+    let validatexczp = (rule, value, callback) => {
+      if (this.model.tdsyxz==="闲置,低效土地"&&!value) {
+        this.$message.warn('闲置,低效土地需上传现场图片')
+        callback(new Error('闲置,低效土地请上传图片'));
+      }else {
+        callback()
+      }
+    };
+    let validatefwzmcl=(rule, value, callback) => {
+        debugger
+        if(this.model.sjsyjzmj>0 && !value){
+            this.$message.warn('请上传房屋资产权属证明材料!')
+            callback(new Error('请上传房屋资产权属证明材料!'));
+
+        }else {
+            callback()
+        }
+    };
+    return {
+      disableqsqx: false,
+      model: {
+        // qsqx:''
+          sjsyjzmjdw: '平方米'
+      },
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      confirmLoading: false,
+      validatorRules: {
+        sjzytdmjdw: [
+          { required: true, message: '请选择占用土地单位!' }
+        ],
+        sjsyjzmjdw: [
+          { required: true, message: '请选择建筑面积单位!' }
+        ],
+        dk: [
+          { required: true, message: '请输入地块!' }
+        ],
+        wjlx: [
+          { required: true, message: '请输入文件类型!' }
+        ],
+        wjbh: [
+          { required: true, message: '请输入证书/合同/文件编号!' }
+        ],
+        tdsyqr: [
+          { required: true, message: '请输入土地使用权人!' }
+        ],
+        sjzytdmj: [
+          { required: true, message: '请输入实际占用土地面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        qzpzsymj: [
+          { required: true, message: '请输入其中批准使用面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        sjsyjzmj: [
+          { required: true, message: '请输入实际使用建筑面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        qzpzsymj2: [
+          { required: true, message: '请输入其中批准使用面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        sjrjl: [
+          { required: true, message: '请输入容积率!' },
+           /* { pattern: /^([0-9]{1}$)|(^[0-9]{1}[\.]{1,2}[0-9]{1,2}$)/, message: '请输入0-10之间的数字,最多2位小数!' }*/
+          //{ pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        syqsyfs: [
+          { required: true, message: '请输入使用权使用方式!' }
+        ],
+        zlwz: [
+          { required: true, message: '请输入坐落位置!' }
+        ],
+        sjyt: [
+          { required: true, message: '请输入实际用途!' }
+        ],
+        qsqssj: [
+          { required: true, message: '请输入权属起始时间!' }
+        ],
+        xzqh:[
+          {
+            required: true, message: '请输入行政区划!'
+          }
+        ],
+        qsdqsj: [
+          { required: false, message: '请输入权属到期时间!' }
+        ],
+        tdsyxz: [
+          { required: true, message: '请输入土地使用现状!' }
+        ],
+        dbdycfqk: [
+          { required: true, message: '请输入担保、抵押、查封情况!' }
+        ],
+        xgwj: [
+          { required: false, message: '请输入附件材料!' }
+        ],
+          yxphfs: [
+              { required: false, message: '请输入意向盘活方式!'},
+          ],
+          yxphzt: [
+              { required: false, message: '请输入意向盘活主体!'},
+          ],
+/*          tyshxydmzs: [
+              { required: true, message: '请输入统一社会信用代码证书!'},
+          ],*/
+          tdzcqszmcl: [
+              { required: true, message: '请输入土地资产权属证明材料!'},
+          ],
+          fwzcqszmcl: [{
+              validator: validatefwzmcl,
+          }
+          ],
+          zbwzxgzmcl: [
+              { required: true, message: '请输入坐标位置相关证明材料!'},
+          ],
+          fwzmcl:[{
+              validator: validatefwzmcl,
+          }],
+        xczp: [{
+          validator: validatexczp,
+        }],
+          yxphfs: [{
+              validator: validatexczp,
+          }],
+          yxphzt: [{
+              validator: validatexczp,
+          }],
+      },
+      url: {
+        add: '/qcsb/qcSsgqzysytdqk/add',
+        edit: '/qcsb/qcSsgqzysytdqk/edit',
+        queryById: '/qcsb/qcSsgqzysytdqk/queryById'
+      },
+      disabledDate:'',
+      formInfo: {
+        qymc: '以《企业法人营业执照》上的用地单位名称为准。',
+        tyshxybm: '填写长度为18 位的用于用地单位身份识别的代码。',
+        qylx: '分国有全资公司、国有控股公司。',
+        gyzccgbl: '国有投入资本占公司总资本的比例。',
+        dk: '',
+        wjlx: '',
+        sjsyjzmjdw: '根据不动产登记证书、房屋所有权证书及相关权属证明材料的面积单位填写。',
+        sjzytdmjdw: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明材料的面积单位填写。',
+        wjbh: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明等材料记录如实填写。',
+        tdsyqr: '指不动产权证(或土地使用权证)上记载的土地使用权人;若己获供地批准但未取得土地证的,以《建设用地批准书》中用地单位名称为准;其他无不动产权证(或土地使用权证)的情况,则填《企业法人营业执照》上的用地单位名称。',
+        sjzytdmj: '根据实际占用的土地面积据实填写,租用、借用土地不在填报范围。',
+        qzpzsymj: '批准使用面积:根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明材料的面积填写。',
+        sjsyjzmj: '根据实际使用的建筑面积据实填写,租用、借用建筑面积不在填报范围。',
+        qzpzsymj2: '批准使用面积:根据不动产登记证书、房屋所有权证书及相关权属证明材料的面积填写,如无建筑物的可填“0”。',
+          zjzmj: '总建筑面积于物业或开发商处获取。',
+        sjrjl: '根据相关证书、合同、文件等填写;无相关证书、合同、文件的可根据“容积率=建筑面积/用地面积”进行估算,如无地上建筑物的可填“0”。',
+        syqsyfs: '土地使用权人或用地企业取得该地块的方式,分出让、划拨、作价出资、转让四种方式,不包含出租出借情况。',
+        zlwz: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明等材料记录填写;如无相关权属证明材料的需填制地块坐落详细位置,需具体到乡镇、村、门牌号(示例:山东省XX市XX区(县)XX街道(镇)XX路(村)XX号)。',
+        pzyt: '地类(用途):分国有建设用地、国有农用地、国有未利用地。国有建设用地需填到一级地类,具体为商服用地、工矿仓储用地、住宅用地、公共管理与公共服务用地、特殊用地、交通运输用地、水域及水利设施用地、其他土地。',
+        sjyt: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明等材料记录填写,如无相关权属证明材料的据实填写。',
+        qsqssj: '合法用地的,按供地批准时间填写(以《建设用地批准书》批准时间为准);属于历史遗留问题的,以认定或到期用地行为时间填写(按相应证明文件,如处罚决定书填写),划拨用地到期时间可填“长期”。',
+        qsdqsj: '合法用地的,按供地批准时间填写(以《建设用地批准书》批准时间为准);属于历史遗留问题的,以认定或到期用地行为时间填写(按相应证明文件,如处罚决定书填写),划拨用地到期时间可填“长期”。',
+        tdsyxz: '根据企业当前占有使用土地状态据实填写,具体分为正常使用、闲置低效等类型。\n' +
+          '1.闲置土地:\n' +
+          '(1)土地使用者依法取得土地使用权后,未经市人民政府或土地行政主管部门同意,超过动工开发日期起满一年未动工开发的。\n' +
+          '(2)超过动工开发日期满2年未完成项目投资总额百分之二十五的。\n' +
+          '(3)已动工建设,但开发建设面积占应动工开发建设面积不足三分之一或者已投资额占总投资额不足百分二十五,且未经建设主管部门同意,中止开发建设满一年的土地。\n' +
+          '(4)以出让方式取得国有建设用地使用权,超过出让合同约定竣工日期一年未竣工的。\n' +
+          '2.低效用地:建设用地中的布局散乱、利用粗放、用途不合理、建筑危旧的城镇存量建设用地,权属清晰、不存在争议。\n' +
+          '(1)产业转型升级类:国家产业政策规定的禁止类、淘汰类产业用地;不符合安全生产和环保要求的用地;“退二进三”产业用地。 \n' +
+          '(2)城镇更新改造类:布局散乱、设施落后,规划确定改造的 老城区、城中村、棚户区、老工业区等。 \n' +
+          '(3)用地效益提升类:投资强度、容积率、地均产出强度等控 制指标明显低于地方行业平均水平的产业用地;参照“亩产效益” 评价改革确定的“限制发展类”企业名单认定的产业用地。 \n',
+        czmj: '根据企业对外出租(出借)面积情况据实填写。',
+        cjmj: '根据企业对外出租(出借)面积情况据实填写。',
+        cjksrq: '根据企业对外出租(出借)面积情况据实填写。',
+        cjjsrq: '根据企业对外出租(出借)面积情况据实填写。',
+        dbdycfqk: '根据土地是否存在担保、抵押、查封等情况,据实填写。若不存在填否。',
+        bz: '',
+        xgwj: '无相关证件的上传划拨决定书、出让合同。',
+        tyshxydmzs:'上传统一社会信用代码证书。',
+        tdzcqszmcl:'请上传土地使用权证书、不动产权证书、划拨决定书、批复文件等',
+        fwzcqszmcl:'请上传房屋所有权证书、不动产权证书、规划许可证书、竣工许可证书、批复文件等',
+        zbwzxgzmcl:'请上传宗地图、红线、勘测定界图、矢量数据等'
+      }
+    }
+  },
+  watch: {
+    'model.qsqx'(newData, oldData) {
+        debugger
+      if (newData === '长期') {
+        this.disableqsqx = true
+        this.model.qsdqsj = '9999-12-31'
+      }else if(newData === ''||newData==null) {
+          this.disableqsqx = false
+          if(this.model.qsdqsj!=''){
+
+          }else{
+              this.model.qsdqsj = moment().format("YYYY-MM-DD");
+          }
+
+      } else {
+          debugger
+        this.disableqsqx = true;
+        let day=parseInt(this.model.qsqssj.slice(8))-1;
+        let month=parseInt(this.model.qsqssj.slice(5,7));
+        let year=parseInt(this.model.qsqssj.slice(0,4))+parseInt(newData);
+        this.model.qsdqsj = year+'-'+month+'-'+day;
+        console.log(this.model.qsdqsj);
+
+      }
+    }
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled
+    },
+    uploadDisabled() {
+      if (this.model.tdsyxz==="闲置,低效土地") {
+        return false;
+      } else {
+        return true
+      }
+    },
+      zjzmjDisabled(){
+          if (this.model.sfgyz==="是") {
+              return false;
+          } else {
+              return true
+          }
+      }
+  },
+  created() {
+    //备份model原始值
+    this.modelDefault = JSON.parse(JSON.stringify(this.model))
+  },
+  methods: {
+    add() {
+      this.edit(this.modelDefault)
+    },
+    edit(record) {
+      this.model = Object.assign({}, record)
+      this.visible = true
+    },
+    submitForm() {
+      const that = this
+      // 触发表单验证
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          let startTime = moment(this.model.qsqssj);
+          let endTime = moment(this.model.qsdqsj);
+          if(endTime.valueOf()<startTime.valueOf()){
+            this.$message.error('请检查权属到期时间是否正确!');
+            return
+          }
+          that.confirmLoading = true
+          let httpurl = ''
+          let method = ''
+          if (!this.model.id) {
+            httpurl += this.url.add
+            method = 'post'
+          } else {
+            httpurl += this.url.edit
+            method = 'put'
+          }
+          httpAction(httpurl, this.model, method).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.$emit('ok')
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false
+          })
+        }
+
+      })
+    },
+    /**
+     *点击提示
+     */
+    info(name) {
+      if (name === 'tdsyxz') {
+        this.$info({
+          title: '说明',
+          width: 500,
+          content: (<div><h2>根据企业当前占有使用土地状态据实填写,具体分为正常使用、闲置、低效等类型。</h2><h3>1.闲置土地:</h3>
+            <p>(1)土地使用者依法取得土地使用权后,未经市人民政府或土地行政主管部门同意,超过动工开发日期起满一年未动工开发的;</p><p>(2)超过动工开发日期满2年未完成项目投资总额百分之二十五的;</p>
+            <p>(3)已动工建设,但开发建设面积占应动工开发建设面积不足三分之一或者已投资额占总投资额不足百分二十五,且未经建设主管部门同意,中止开发建设满一年的土地。</p>
+            <p>(4)以出让方式取得国有建设用地使用权,超过出让合同约定竣工日期一年未竣工的。</p><p>(5)法律、法规规定的其他情形。</p>
+            <h3>2.低效用地:建设用地中的布局散乱、利用粗放、用途不合理、建筑危旧的城镇存量建设用地,权属清晰、不存在争议。</h3><p>(1)产业转型升级类:国家产业政策规定的禁止类、淘汰类产
+              业用地;不符合安全生产和环保要求的用地;“退二进三”产业用地。</p><p>(2)城镇更新改造类:布局散乱、设施落后,规划确定改造的 老城区、城中村、棚户区、老工业区等。 </p>
+            <p>(3)用地效益提升类:投资强度、容积率、地均产出强度等控 制指标明显低于地方行业平均水平的产业用地;参照“亩产效益” 评价改革确定的“限制发展类”企业名单认定的产业用地。</p>
+            <h3>3.其他:请在备注中文字描述。</h3></div>),
+          onOk() {
+          }
+        })
+      } else {
+        this.$info({
+          title: '说明',
+          content: (<div><p>{this.formInfo[name]}</p></div>),
+          onOk() {
+          }
+        })
+      }
+
+    },
+    dateDisabled(val) { // 这里val指日期选择组件可接受的禁用日期 默认传入的是当前日期 并不是日期选择期现在选中的日期
+      const startTime = moment(this.model.qsqssj)
+      return val.valueOf() < startTime.valueOf() // 禁用这之外的日期
+    }
+  }
+}
+</script>
+<style lang='less' scoped>
+
+table {
+  border: 1px solid #ababab;
+  border-spacing: 0;
+  width: 85%;
+  height: 85%;
+  margin: auto;
+}
+
+.example {
+  width: 100px;
+}
+
+table tr, table th {
+  border-bottom: 1px solid #ababab;
+}
+
+table td, table th {
+  border-right: 1px solid #ababab;
+  border-bottom: 1px solid #ababab;
+  padding: 5px;
+  text-align: center;
+}
+
+table tr td:last-child {
+  border-right: 0
+}
+
+table tr:last-child td {
+  border-bottom: 0
+}
+
+th {
+  height: 60px;
+  position: relative;
+}
+
+td {
+  height: 50px;
+  width: 50%;
+  position: relative;
+}
+
+th > div {
+  display: flex;
+  align-items: center;
+}
+
+.info {
+  /*position: absolute;
+  right: -10%;
+  top: 40%;*/
+  color: red;
+  margin-left: 5px;
+}
+
+.ant-input-number {
+  width: 100%;
+}
+</style>
+<style lang='less'>
+table .ant-form-item-children {
+  display: flex;
+  align-items: center;
+}
+
+table .ant-form-item-label {
+  display: flex;
+  justify-content: flex-end;
+  line-height: 16px; //这个数值视具体情况而定
+  flex: 0 0 23.333333%;
+  max-width: 33.33333333%;
+
+  label { //这是关键
+    text-align: right;
+    //color: #8a8a8a;
+    padding-right: 2px;
+    font-size: 14px;
+    white-space: normal;
+    display: inline-block;
+    line-height: 32px;
+
+    &:after {
+      //content: none !important;      //解决上面的样式label后面会有空格
+    }
+  }
+}
+
+
+table .ant-form-item {
+  margin-bottom: 0;
+  display: flex;
+  align-items: center;
+}
+
+table .ant-form-item-control-wrapper {
+  flex: 1 1 0;
+  max-width: 66.66666667%;
+}
+</style>

+ 95 - 0
UI2/src/views/qcsb/modules/QcSsgqzysytdqkModal_tj.vue

@@ -0,0 +1,95 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :fullscreen="false"
+    switchFullscreen
+    @ok="handleOk"
+    okText="保存"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭"
+    footer=""
+  >
+    <!-- 邱东宝 增加modal按钮调整到顶部 1-->
+    <template>
+      <div style="position: absolute;left: 10%;top:13px;">
+        <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;margin-right: 8px">保存</a-button>
+        <a-button @click="handleCancel">
+          关闭
+        </a-button>
+      </div>
+
+    </template>
+    <!--邱东宝 增加modal按钮调整到顶部 end-->
+
+    <qc-ssgqzysytdqk-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></qc-ssgqzysytdqk-form>
+  </j-modal>
+</template>
+
+<script>
+
+  import QcSsgqzysytdqkForm from './QcSsgqzysytdqkForm_tj'
+  import {getAction} from '@api/manage'
+  export default {
+    name: 'QcSsgqzysytdqkModal',
+    components: {
+      QcSsgqzysytdqkForm
+    },
+    data () {
+      return {
+        title:'',
+        width:1200,
+        result:{},
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.result = record
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleWCSH() {
+        new Promise((resolve, reject)=>{
+          this.handleOk()
+          resolve()
+        }).then(()=>{
+          getAction("/qcsb/qcSsgqzysytdqk/wcsh", {id: this.result.id}).then(res => {
+            if (res.success) {
+              this.visible=false
+              this.loadData();
+            }
+          })
+        })
+
+      },
+      handleOk () {
+          this.disableSubmit=true
+        this.$refs.realForm.submitForm();
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      },
+
+    }
+  }
+</script>

+ 4 - 4
UI2/src/views/qcsb/qyxx/QcQyxxList1.vue

@@ -32,10 +32,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 4 - 4
UI2/src/views/qcsb/qyxx/QcQyxxList2.vue

@@ -31,10 +31,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 4 - 4
UI2/src/views/qcsb/qyxx/QcQyxxList_gly.vue

@@ -30,10 +30,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 297 - 0
UI2/src/views/qcsb/qyxx/QcQyxxList_tj.vue

@@ -0,0 +1,297 @@
+  <template>
+  <a-card :bordered="false">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="用地单位名称">
+              <a-input placeholder="请输入用地单位名称" v-model="queryParam.qymc"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="企业类型">
+              <j-dict-select-tag placeholder="请输入企业类型" dict-code="qylx" v-model="queryParam.qylx" ></j-dict-select-tag>
+              <!--<a-input placeholder="请输入企业类型" v-model="queryParam.qymc"></a-input>-->
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="是否涉及省内土地资产">
+              <j-dict-select-tag placeholder="请选择是否涉及省内土地资产" v-model="queryParam.sfsjtdzc" dictCode="sfsjtdzc"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="是否上报">
+              <j-dict-select-tag placeholder="请选择是否上报" v-model="queryParam.sfsb" dictCode="xxsbzt"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+
+              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+    <div class="table-operator">
+      <!--<a-button v-has="'cont:add'" v-if='!this.dataSource.length>0' @click="handleAdd" type="primary" icon="plus">补充用地单位信息</a-button>-->
+      <a-button type="primary" icon="download" @click="handleExportXls('用地单位信息')">导出</a-button>
+      <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+         <a-button type="primary" icon="import">导入</a-button>
+       </a-upload>
+       &lt;!&ndash; 高级查询区域 &ndash;&gt;
+       <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+       <a-dropdown v-if="selectedRowKeys.length > 0">
+         <a-menu slot="overlay">
+           <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
+         </a-menu>
+         <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
+       </a-dropdown>-->
+    </div>
+
+    <!-- table区域-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
+        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            下载
+          </a-button>
+        </template>
+        <span slot="action" slot-scope="text, record">
+                        <a-space>
+<!--                          <a-button  v-if="record.sfsb<3"  @click="handleEdit(record)">编辑</a-button>-->
+<!--                            <a-button v-if="record.sfsb==3" @click="handleEdit(record)">重新审核</a-button>-->
+                          <a-button @click="handleDetail(record)" type='primary'>查看</a-button>
+<!--                          <a-button v-if="record.sfsb===3" @click="handleWCSH(record.id)">完成审核</a-button>-->
+<!--                          <a-popconfirm title="确定恢复么吗?" @confirm="() => handleHFYSH(record.id)">-->
+<!--                            <a-button v-if="record.sfsb===4">恢复为已审核</a-button>-->
+<!--                             </a-popconfirm>-->
+                        </a-space>
+        </span>
+
+       <!-- <span slot="action" slot-scope="text, record">
+          <a-space>
+            <a-button @click="handleEdit(record)">编辑</a-button>
+            <a-button @click="handleDetail(record)" type='primary'>查看</a-button>
+          </a-space>-->
+         <!-- <a @click="handleEdit(record)">编辑</a>
+
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">详情</a>
+              </a-menu-item>
+              <a-menu-item>
+               &lt;!&ndash; <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+                  <a>删除</a>
+                </a-popconfirm>&ndash;&gt;
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>-->
+        <!--  </span>-->
+
+      </a-table>
+    </div>
+
+    <qc-qyxx-modal ref="modalForm" @ok="modalFormOk"></qc-qyxx-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import QcQyxxModal from './modules/QcQyxxModal_tj'
+  import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
+  import {getAction} from "../../../api/manage";
+
+  export default {
+    name: 'QcQyxxList',
+    mixins:[JeecgListMixin, mixinDevice],
+    components: {
+      QcQyxxModal
+    },
+    props: {
+      param: {
+        default: ""
+      }
+    },
+    data () {
+      return {
+        description: '用地单位信息管理页面',
+        // 表头
+        dl:false,
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key:'rowIndex',
+            width:60,
+            align:"center",
+            customRender:function (t,r,index) {
+              return parseInt(index)+1;
+            }
+          },
+            {
+                title:'企业编码',
+                align:"center",
+                dataIndex: 'qybm'
+            },
+            {
+                title:'用地单位名称',
+                align:"center",
+                dataIndex: 'sysOrgCode_dictText'
+            },
+          {
+            title:'统一社会信用编码',
+            align:"center",
+            dataIndex: 'tyshxybm'
+          },
+          {
+            title:'企业类型',
+            align:"center",
+            dataIndex: 'qylx_dictText'
+          },
+          {
+            title:'国有资产持股比例',
+            align:"center",
+            dataIndex: 'gyzccgbl'
+          },
+            {
+                title:'是否涉及省内土地资产',
+                align:"center",
+                dataIndex: 'sfsjtdzc'
+            },
+            {
+                title:'联系人',
+                align:"center",
+                dataIndex: 'tbr'
+            },
+            {
+                title:'联系人手机号',
+                align:"center",
+                dataIndex: 'sjh'
+            },
+          {
+            title:'是否上报',
+            align:"center",
+            dataIndex: 'sfsb_dictText'
+          },
+          {
+            title: '操作',
+            dataIndex: 'action',
+            align:"center",
+            fixed:"right",
+            width:147,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+
+        url: {
+          list: "/qcsb.qyxx/qcQyxx/listBygly",
+          delete: "/qcsb.qyxx/qcQyxx/delete",
+          deleteBatch: "/qcsb.qyxx/qcQyxx/deleteBatch",
+          exportXlsUrl: "/qcsb.qyxx/qcQyxx/exportXls",
+          importExcelUrl: "qcsb.qyxx/qcQyxx/importExcel",
+            wcsh:"/qcsb.qyxx/qcQyxx/wcsh",
+            hfysh:"/qcsb.qyxx/qcQyxx/hfysh",
+        },
+        dl:'',
+        dictOptions:{},
+        superFieldList:[],
+      }
+    },
+    created() {
+    this.getSuperFieldList();
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    mounted() {
+
+    },
+    methods: {
+        handleWCSH(id){
+            getAction(this.url.wcsh,{id:id}).then(res => {
+                if (res.success) {
+                    this.$message.success('审核完成');
+                    this.loadData();
+                }
+            })
+
+        },
+        handleHFYSH(id){
+            getAction(this.url.hfysh,{id:id}).then(res => {
+                if (res.success) {
+                    this.$message.success('恢复为已审核');
+                    this.loadData();
+                }
+            })
+
+        },
+      initDictConfig(){
+      },
+      getSuperFieldList(){
+        let fieldList=[];
+          fieldList.push({type:'string',value:'qybm',text:'企业编码'})
+        fieldList.push({type:'sel_depart',value:'qymc',text:'用地单位名称'})
+        fieldList.push({type:'string',value:'tyshxybm',text:'统一社会信用编码',dictCode:''})
+        fieldList.push({type:'string',value:'qylx',text:'企业类型',dictCode:'qylx'})
+        fieldList.push({type:'double',value:'gyzccgbl',text:'国有资产持股比例',dictCode:''})
+          fieldList.push({type:'string',value:'sfsjtdzc',text:'是否涉及省内土地资产',dictCode:'sfsjtdzc'})
+          fieldList.push({type:'string',value:'tbr',text:'填报人'})
+          fieldList.push({type:'string',value:'lxdh',text:'联系电话'})
+        this.superFieldList = fieldList
+      }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>

+ 267 - 0
UI2/src/views/qcsb/qyxx/modules/QcQyxxForm_tj.vue

@@ -0,0 +1,267 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+          <a-col :span="24">
+            <div style="text-align: center;font-size: larger;margin-bottom: 10px">企业信息填报</div>
+          </a-col>
+          <a-col :span="24">
+            <a-row>
+              <a-col :span="4">
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item label="用地单位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qybm">
+                  <a-input   v-model="model.qybm" placeholder="用地单位编码" disabled ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="10">
+                <a-form-model-item label="用地单位名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qymc">
+                  <a-input   v-model="model.qymc" placeholder="请输入企业名称"  ></a-input>
+                  <!--              <j-popup
+                                  v-model="model.qymc"
+                                  field="qymc"
+                                  org-fields="depart_name,org_type,org_code"
+                                  dest-fields="qymc,org_type,org_code"
+                                  code="qymc"
+                                  :multi="false"
+                                  @input="popupCallback"
+                                />-->
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+
+
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="上级单位" :labelCol="labelCol" :wrapperCol="wrapperCol"  prop="sjdw">
+              <j-popup disabled
+                       v-model="model.sjdw"
+                       field="sjdw"
+                       org-fields="depart_name"
+                       dest-fields="sjdw"
+                       code="sjdw"
+                       :multi="true"
+                       @input="popupCallback"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="统一社会信用编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tyshxybm">
+              <a-input v-model="model.tyshxybm" placeholder="请输入统一社会信用编码"   ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="企业类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qylx">
+              <j-dict-select-tag type="list" v-model="model.qylx" dictCode="qylx" placeholder="请选择企业类型" @change='change' />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="国有资产持股比例(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gyzccgbl">
+              <a-input-number  v-model="model.gyzccgbl" placeholder="请输入国有资产持股比例" style="width: 100%" :max='100' :min='0'/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="是否涉及省内土地资产" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfsjtdzc">
+              <j-dict-select-tag type="list" v-model="model.sfsjtdzc" dictCode="sfsjtdzc" placeholder="请选择是否涉及省内土地资产" />
+            </a-form-model-item>
+            <!-- <a-icon class='info' type='question-circle-o' @click='info("sfsjtdzc")'></a-icon>-->
+          </a-col>
+          <a-col :span="24">
+            <div style="text-align: center;font-size: larger;margin-bottom: 10px">企业联络人报名表</div>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="分管领导" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fgld">
+              <a-input v-model="model.fgld" placeholder="请输入分管领导姓名"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="分管领导手机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fgldsjh">
+              <a-input v-model="model.fgldsjh" placeholder="请输入分管领导手机号码"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item  label="联络人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tbr">
+              <a-input v-model="model.tbr" placeholder="请输入联络人" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sjh">
+              <a-input v-model="model.sjh" placeholder="请输入座机号"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="座机号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lxdh">
+              <a-input v-model="model.lxdh" placeholder="请输入座机号"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+<!--          <a-col :span="24">-->
+<!--            <a-form-model-item label="统一社会信用代码证书" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tyshxydmzs">-->
+<!--              <j-upload v-model='model.tyshxydmzs'></j-upload>-->
+<!--            </a-form-model-item>-->
+<!--          </a-col>-->
+<!--          <a-col :span="24">-->
+<!--          <a-form-model-item label="审核是否通过" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shzt">-->
+<!--            <j-dict-select-tag type="list" v-model="model.shzt" dictCode="shzt" placeholder="请选择审核是否通过" />-->
+<!--          </a-form-model-item>-->
+<!--          </a-col>-->
+<!--          <a-col :span="24">-->
+<!--          <a-form-model-item label="审核意见" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shyj">-->
+<!--            <a-textarea v-model="model.shyj" rows="4" placeholder="请输入审核意见" />-->
+<!--          </a-form-model-item>-->
+<!--          </a-col>-->
+<!--          <a-col :span="24">-->
+<!--            <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shren">-->
+<!--              <a-input v-model="model.shren" placeholder="请输入审核人" ></a-input>-->
+<!--            </a-form-model-item>-->
+<!--          </a-col>-->
+<!--          <a-col :span="24">-->
+<!--            <a-form-model-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shsj">-->
+<!--              <j-date placeholder="请选择审核时间"  v-model="model.updateTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />-->
+<!--            </a-form-model-item>-->
+<!--          </a-col>-->
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+  import { httpAction, getAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+  import store from '@/store'
+
+  export default {
+    name: 'QcQyxxForm',
+    components: {
+    },
+    props: {
+      //表单禁用
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      }
+    },
+    data () {
+      return {
+        blDisable:false,
+        model:{
+          gyzccgbl:0,
+         },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        confirmLoading: false,
+        validatorRules: {
+           qymc: [
+              { required: true, message: '请输入用地单位名称!'},
+           ],
+           tyshxybm: [
+              { required: true, message: '请输入统一社会信用编码!'},
+           ],
+           gyzccgbl: [
+              { required: true, message: '请输入国有资产持股比例!'},
+
+           ],
+            sfsjtdzc: [
+                { required: true, message: '请输入是否涉及省内土地资产!'},
+            ],
+          tyshxydmzs: [
+            { required: true, message: '请输入统一社会信用代码证书!'},
+          ],
+          shtg:[{
+            required: true, message: '请选择是否通过!'
+          }],
+            fgld: [
+                { required: true, message: '请输入分管领导姓名!'},
+            ],
+            fgldsjh: [
+                { required: true, message: '请输入分管领导手机号码!'},
+            ],
+            tbr: [
+                { required: true, message: '请输入联络人姓名!'},
+            ],
+            sjh: [
+                { required: true, message: '请输入联系手机号码!'},
+            ],
+            lxdh: [
+                { required: false, message: '请输入固定电话!'},
+            ],
+        },
+        url: {
+          add: "/qcsb.qyxx/qcQyxx/add",
+          edit: "/qcsb.qyxx/qcQyxx/edit",
+          queryById: "/qcsb.qyxx/qcQyxx/queryById"
+        }
+      }
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+       //备份model原始值
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      change(val){
+        if(val==='国有全资公司'){
+          this.model.gyzccgbl=100;
+          this.blDisable=true;
+        }else {
+          this.model.gyzccgbl=0;
+          this.blDisable=false;
+        }
+      },
+      popupCallback(row){
+
+      },
+      submitForm () {
+        const that = this;
+
+        // 触发表单验证
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            this.model.gyzccgbl=this.model.gyzccgbl;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+            })
+          }
+
+        })
+      },
+    }
+  }
+</script>

+ 97 - 0
UI2/src/views/qcsb/qyxx/modules/QcQyxxModal_tj.vue

@@ -0,0 +1,97 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :fullscreen="false"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    okText="保存"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭"
+    footer=""
+  >
+    <!-- 邱东宝 增加modal按钮调整到顶部 1-->
+    <template>
+      <div style="position: absolute;left: 10%;top:13px;">
+        <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;margin-right: 8px">保存
+        </a-button>
+        <a-button @click="handleCancel">
+          关闭
+        </a-button>
+<!--        <a-button v-if="this.result.sfsb == 3" @click="handleWCSH()" style=" margin-bottom: 0;margin-left: 8px">完成审核-->
+<!--        </a-button>-->
+      </div>
+
+    </template>
+    <!--邱东宝 增加modal按钮调整到顶部 end-->
+    <qc-qyxx-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></qc-qyxx-form>
+  </j-modal>
+</template>
+
+
+<script>
+import {getAction} from '@api/manage'
+import QcQyxxForm from './QcQyxxForm_tj'
+
+export default {
+  name: 'QcQyxxModal',
+  components: {
+    QcQyxxForm
+  },
+  data() {
+    return {
+      title: '',
+      result: {},
+      width: 1200,
+      visible: false,
+      disableSubmit: false
+    }
+  },
+  methods: {
+    add() {
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.add();
+      })
+    },
+    handleWCSH() {
+      new Promise((resolve, reject) => {
+        this.handleOk()
+        resolve()
+      }).then(() => {
+        getAction("/qcsb.qyxx/qcQyxx/wcsh", {id: this.result.id}).then(res => {
+         
+          if (res.success == false) {
+              this.$message.error("出错了,请联系管理员!")
+          }
+        })
+      })
+
+    },
+    edit(record) {
+      this.result = record
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.edit(record);
+      })
+    },
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+    handleOk() {
+      this.disableSubmit = true
+      this.$refs.realForm.submitForm();
+    },
+    submitCallback() {
+      this.$emit('ok');
+      this.visible = false;
+    },
+    handleCancel() {
+      this.close()
+    }
+  }
+}
+</script>

+ 1 - 1
UI2/src/views/sydwqcsb/QcSsgqzysytdqkList.vue

@@ -21,7 +21,7 @@
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="取得方式">
-              <j-dict-select-tag type='list'v-model='queryParam.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
+              <j-dict-select-tag type='list' v-model='queryParam.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
             </a-form-item>
           </a-col>
           <template v-if="toggleSearchStatus">

+ 8 - 2
UI2/src/views/sydwqcsb/QcSsgqzysytdqkList1.vue

@@ -25,13 +25,19 @@
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="批准用途">
+              <j-category-select v-model="queryParam.pzyt" pcode="A04" placeholder="请选择批准用途"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
             <a-form-item label="证书类型">
               <j-dict-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="7" :lg="7" :md="8" :sm="24">
             <a-form-item label="取得方式">
-              <j-dict-select-tag type='list'v-model='queryParam.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
+              <j-multi-select-tag type='list_multi' v-model='queryParam.syqsyfs' dictCode='qdfs'
+                                  placeholder='请选择使用权使用方式'/>
             </a-form-item>
           </a-col>
           <template v-if="toggleSearchStatus">

+ 14 - 7
UI2/src/views/sydwqcsb/QcSsgqzysytdqkList2.vue

@@ -25,18 +25,20 @@
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="证书类型">
-              <j-dict-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
+            <a-form-item label="批准用途">
+              <j-category-select v-model="queryParam.pzyt" pcode="A04" placeholder="请选择批准用途"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="主管单位">
-              <j-dict-select-tag placeholder="请选择主管单位" v-model="queryParam.sysOrgCode" dictCode="zgbm"/>
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
+            <a-form-item label="证书类型">
+              <j-dict-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+
+          <a-col :xl="7" :lg="7" :md="8" :sm="24">
             <a-form-item label="取得方式">
-              <j-dict-select-tag type='list'v-model='queryParam.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
+              <j-multi-select-tag type='list_multi' v-model='queryParam.syqsyfs' dictCode='qdfs'
+                                  placeholder='请选择使用权使用方式'/>
             </a-form-item>
           </a-col>
 
@@ -47,6 +49,11 @@
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="主管单位">
+                <j-dict-select-tag placeholder="请选择主管单位" v-model="queryParam.sysOrgCode" dictCode="zgbm"/>
+              </a-form-item>
+            </a-col>
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="是否上报">
                 <j-dict-select-tag placeholder="请选择是否上报" v-model="queryParam.sfsb" dictCode="xxsbzt"/>
               </a-form-item>

+ 5 - 0
UI2/src/views/sydwqcsb/QcSsgqzysytdqkList3.vue

@@ -19,6 +19,11 @@
               <a-input placeholder="请输入证书/合同/文件编号" v-model="queryParam.wjbh"></a-input>
             </a-form-item>
           </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="批准用途">
+              <j-category-select v-model="queryParam.pzyt" pcode="A04" placeholder="请选择批准用途"/>
+            </a-form-item>
+          </a-col>
           <template v-if="toggleSearchStatus">
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="土地使用权人">

+ 19 - 12
UI2/src/views/sydwqcsb/QcSsgqzysytdqkList_glyy.vue

@@ -31,30 +31,32 @@
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="主管单位">
-              <j-dict-select-tag placeholder="请选择主管单位" v-model="queryParam.sysOrgCode" dictCode="zgbm"/>
+              <j-multi-select-tag placeholder="请选择主管单位" v-model="queryParam.sysOrgCode" dictCode="zgbm"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="12" :lg="7" :md="8" :sm="24">
             <a-form-item label="证书类型">
-              <j-dict-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
+              <j-multi-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
             </a-form-item>
           </a-col>
+
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="取得方式">
-              <j-dict-select-tag type='list'v-model='queryParam.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
+            <a-form-item label="是否存在矢量">
+              <j-dict-select-tag placeholder="请选择是否存在矢量" v-model="queryParam.sfczslsj" dictCode="sfgyz"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="土地使用现状">
-              <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状' />
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
+            <a-form-item label="批准用途">
+              <j-category-select v-model="queryParam.pzyt" pcode="A04" placeholder="请选择批准用途"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="是否存在矢量">
-              <j-dict-select-tag placeholder="请选择是否存在矢量" v-model="queryParam.sfczslsj" dictCode="sfgyz"/>
+          <a-col :xl="7" :lg="7" :md="8" :sm="24">
+            <a-form-item label="取得方式">
+              <j-multi-select-tag type='list_multi' v-model='queryParam.syqsyfs' dictCode='qdfs'
+                                  placeholder='请选择使用权使用方式'/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="5" :lg="7" :md="8" :sm="24">
             <a-form-item label="是否通过审核">
               <j-dict-select-tag placeholder="请选择是否通过审核" v-model="queryParam.shzt" dictCode="shzt"/>
             </a-form-item>
@@ -66,6 +68,11 @@
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="土地使用现状">
+                <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状' />
+              </a-form-item>
+            </a-col>
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="是否上报">
                 <j-dict-select-tag placeholder="请选择是否上报" v-model="queryParam.sfsb" dictCode="xxsbzt"/>
               </a-form-item>

+ 356 - 342
UI2/src/views/sydwqcsb/QcSsgqzysytdqkList_tj.vue

@@ -5,9 +5,9 @@
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-          <a-form-item label="用地单位名称">
-            <a-input placeholder="请输入用地单位名称"  v-model="queryParam.createBy"/>
-          </a-form-item>
+            <a-form-item label="用地单位名称">
+              <a-input placeholder="请输入用地单位名称" v-model="queryParam.createBy"/>
+            </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="地块名称">
@@ -29,46 +29,49 @@
               <a-input placeholder="请输入证书/合同/文件编号" v-model="queryParam.wjbh"></a-input>
             </a-form-item>
           </a-col>
+
+
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="证书类型">
-              <j-dict-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
+            <a-form-item label="土地使用现状">
+              <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状'/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="是否通过审核">
+              <j-dict-select-tag placeholder="请选择是否通过审核" v-model="queryParam.shzt" dictCode="shzt"/>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="取得方式">
-              <j-dict-select-tag type='list'v-model='queryParam.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
+
+              <j-multi-select-tag v-model='queryParam.syqsyfs' dictCode='qdfs' placeholder='请选择取得方式'/>
             </a-form-item>
           </a-col>
+
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="土地使用现状">
-              <j-dict-select-tag type='list' v-model='queryParam.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状' />
+            <a-form-item label="土地使用权人">
+              <a-input placeholder="请输入土地使用权人" v-model="queryParam.tdsyqr"></a-input>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="是否通过审核">
-              <j-dict-select-tag placeholder="请选择是否通过审核" v-model="queryParam.shzt" dictCode="shzt"/>
+            <a-form-item label="是否上报">
+              <j-dict-select-tag placeholder="请选择是否上报" v-model="queryParam.sfsb" dictCode="xxsbzt"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="证书类型">
+              <j-multi-select-tag placeholder="请选择证书类型" v-model="queryParam.zslx" dictCode="zslx"/>
             </a-form-item>
           </a-col>
-
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="土地使用权人">
-                <a-input placeholder="请输入土地使用权人" v-model="queryParam.tdsyqr"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="是否上报">
-                <j-dict-select-tag placeholder="请选择是否上报" v-model="queryParam.sfsb" dictCode="xxsbzt"/>
-              </a-form-item>
-            </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
-<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
-<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
-<!--              </a>-->
+              <!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+              <!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+              <!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+              <!--              </a>-->
             </span>
           </a-col>
         </a-row>
@@ -78,9 +81,9 @@
 
     <!-- 操作按钮区域 -->
     <div class="table-operator">
-<!--      <a-button v-has="'conts:add'"@click="handleAdd2" type="primary" icon="plus">填报信息</a-button>-->
-<!--    <a-button type="primary" icon="download" @click="handleExportXls('省属国企占有使用土地情况调查')">导出</a-button>-->
-<!--      <a-button type="primary" icon="download" @click="handleExportXls('省直单位占有使用土地情况调查')">全部导出</a-button>-->
+      <!--      <a-button v-has="'conts:add'"@click="handleAdd2" type="primary" icon="plus">填报信息</a-button>-->
+      <a-button type="primary" icon="download" @click="handleExportXls('省属国企占有使用土地情况调查')">导出</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('省直单位占有使用土地情况调查')">全部导出</a-button>
       <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
        <a-button type="primary" icon="import">导入</a-button>
      </a-upload>
@@ -95,64 +98,65 @@
     </div>
 
     <!-- table区域-begin -->
-<!--    <div>-->
-<!--      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
-<!--        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
-<!--        <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
-<!--      </div>-->
-      <a-tabs  :active-key="this.changes"  @change="callback" >
-        <a-tab-pane key="1" tab="列表信息">
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
+    <!--    <div>-->
+    <!--      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
+    <!--        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
+    <!--        <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
+    <!--      </div>-->
+    <a-tabs :active-key="this.changes" @change="callback">
+      <a-tab-pane key="1" tab="列表信息">
+        <a-table
+          ref="table"
+          size="middle"
+          :scroll="{x:true}"
+          bordered
+          rowKey="id"
+          :columns="columns"
+          :dataSource="dataSource"
+          :pagination="ipagination"
+          :loading="loading"
+          :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+          class="j-table-force-nowrap"
+          @change="handleTableChange">
 
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text,record">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
-        <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)">
-            下载
-          </a-button>
-        </template>
+          <template slot="htmlSlot" slot-scope="text">
+            <div v-html="text"></div>
+          </template>
+          <template slot="imgSlot" slot-scope="text,record">
+            <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
+            <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt=""
+                 style="max-width:80px;font-size: 12px;font-style: italic;"/>
+          </template>
+          <template slot="fileSlot" slot-scope="text">
+            <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+            <a-button
+              v-else
+              :ghost="true"
+              type="primary"
+              icon="download"
+              size="small"
+              @click="downloadFile(text)">
+              下载
+            </a-button>
+          </template>
 
-        <span slot="action" slot-scope="text, record">
+          <span slot="action" slot-scope="text, record">
                           <a-space>
 <!--                          <a-button  @click="handleEdit(record)">编辑</a-button>-->
                           <a-button @click="handleDetail(record)" type='primary'>查看</a-button>
-<!--                          <a-button v-if="record.sfsb===3" @click="handleWCSH(record.id)">重新审核</a-button>-->
-<!--                             <a-popconfirm title="确定恢复么吗?" @confirm="() => handleHFYSH(record.id)">-->
-<!--                            <a-button v-if="record.sfsb===4">恢复为已审核</a-button>-->
-<!--                             </a-popconfirm>-->
+                            <!--                          <a-button v-if="record.sfsb===3" @click="handleWCSH(record.id)">重新审核</a-button>-->
+                            <!--                             <a-popconfirm title="确定恢复么吗?" @confirm="() => handleHFYSH(record.id)">-->
+                            <!--                            <a-button v-if="record.sfsb===4">恢复为已审核</a-button>-->
+                            <!--                             </a-popconfirm>-->
                         </a-space>
         </span>
 
-      </a-table>
-        </a-tab-pane>
-        <a-tab-pane key="2" tab="统计图表" force-render>
-          <listTabBySz ref="table" :loading="this.load" :result-data="this.resultData"></listTabBySz>
-        </a-tab-pane>
-      </a-tabs>
+        </a-table>
+      </a-tab-pane>
+      <a-tab-pane key="2" tab="统计图表" force-render>
+        <listTabBySz ref="table" :loading="this.load" :result-data="this.resultData"></listTabBySz>
+      </a-tab-pane>
+    </a-tabs>
 
     <qc-ssgqzysytdqk-modal ref="modalForm" @ok="modalFormOk"></qc-ssgqzysytdqk-modal>
   </a-card>
@@ -160,288 +164,298 @@
 
 <script>
 
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import QcSsgqzysytdqkModal from './modules/QcSsgqzysytdqkModal2'
-  import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
-  import { getAction } from '../../api/manage'
-  import { loadCategoryData } from '@/api/api'
-  import JAreaSelect from "@comp/jeecg/JAreaSelect";
-  import listTabBySz from '@/views/listStatistics/listTabBySz'
-  import store from '@/store'
-  export default {
-    name: 'QcSsgqzysytdqkList',
-    props: {
-      param: {
-        default: ""
-      }
-    },
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      QcSsgqzysytdqkModal,
-      JAreaSelect,
-      listTabBySz
-    },
-    data () {
-      return {
-        dlr:false,
-        resultData:[],
-        description: '省属国企占有使用土地情况调查管理页面',
-        load: true,
-        changes:'1',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-            {
-                title:'用地单位名称',
-                align:"center",
-                dataIndex: 'createBy'
-            },
-          {
-            title:'地块',
-            align:"center",
-            dataIndex: 'dk'
-          },
-          {
-            title:'证书类型',
-            align:"center",
-            dataIndex: 'zslx_dictText'
-          },
-          {
-            title:'证书/合同/文件编号',
-            align:"center",
-            dataIndex: 'wjbh'
-          },
-          {
-            title:'土地使用权人',
-            align:"center",
-            dataIndex: 'tdsyqr'
-          },
-          {
-            title:'使用权使用方式',
-            align:"center",
-            dataIndex: 'syqsyfs_dictText'
-          },
-          {
-            title:'实际用途',
-            align:"center",
-            dataIndex: 'sjyt',
-            customRender:
-              (text) => (text ? filterMultiDictText(this.dictOptions['sjyt'], text) : '')
-          },
-          {
-            title:'是否上报',
-            align:"center",
-            dataIndex: 'sfsb_dictText'
-          },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:147,
-            scopedSlots: { customRender: 'action' }
+import '@/assets/less/TableExpand.less'
+import {mixinDevice} from '@/utils/mixin'
+import {JeecgListMixin} from '@/mixins/JeecgListMixin'
+import QcSsgqzysytdqkModal from './modules/QcSsgqzysytdqkModal_tj'
+import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
+import {getAction} from '../../api/manage'
+import {loadCategoryData} from '@/api/api'
+import JAreaSelect from "@comp/jeecg/JAreaSelect";
+import listTabBySz from '@/views/listStatistics/listTabBySz'
+import store from '@/store'
+
+export default {
+  name: 'QcSsgqzysytdqkList',
+  props: {
+    param: {
+      default: ""
+    }
+  },
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    QcSsgqzysytdqkModal,
+    JAreaSelect,
+    listTabBySz
+  },
+  data() {
+    return {
+      dlr: false,
+      resultData: [],
+      description: '省属国企占有使用土地情况调查管理页面',
+      load: true,
+      changes: '1',
+      // 表头
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
           }
-        ],
-        url: {
-          list: "/qcsb/qcSsgqzysytdqk/listByglyy",
-          delete: "/qcsb/qcSsgqzysytdqk/delete",
-          deleteBatch: "/qcsb/qcSsgqzysytdqk/deleteBatch",
-          exportXlsUrl: "/qcsb/qcSsgqzysytdqk/exportXls3",
-          importExcelUrl: "qcsb/qcSsgqzysytdqk/importExcel",
-            wcsh:"/qcsb/qcSsgqzysytdqk/wcsh",
-            hfysh:"/qcsb/qcSsgqzysytdqk/hfysh",
-          listTable: "/qcsb/qcSsgqzysytdqk/sumListBysz"
         },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
+        {
+          title: '用地单位名称',
+          align: "center",
+          dataIndex: 'createBy'
+        },
+        {
+          title: '地块',
+          align: "center",
+          dataIndex: 'dk'
+        },
+        {
+          title: '证书类型',
+          align: "center",
+          dataIndex: 'zslx_dictText'
+        },
+        {
+          title: '证书/合同/文件编号',
+          align: "center",
+          dataIndex: 'wjbh'
+        },
+        {
+          title: '土地使用权人',
+          align: "center",
+          dataIndex: 'tdsyqr'
+        },
+        {
+          title: '使用权使用方式',
+          align: "center",
+          dataIndex: 'syqsyfs_dictText'
+        },
+        {
+          title: '实际用途',
+          align: "center",
+          dataIndex: 'sjyt',
+          customRender:
+            (text) => (text ? filterMultiDictText(this.dictOptions['sjyt'], text) : '')
+        },
+        {
+          title: '是否上报',
+          align: "center",
+          dataIndex: 'sfsb_dictText'
+        },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          align: "center",
+          fixed: "right",
+          width: 147,
+          scopedSlots: {customRender: 'action'}
+        }
+      ],
+      url: {
+        list: "/qcsb/qcSsgqzysytdqk/listByglyy",
+        delete: "/qcsb/qcSsgqzysytdqk/delete",
+        deleteBatch: "/qcsb/qcSsgqzysytdqk/deleteBatch",
+        exportXlsUrl: "/qcsb/qcSsgqzysytdqk/exportXls3",
+        importExcelUrl: "qcsb/qcSsgqzysytdqk/importExcel",
+        wcsh: "/qcsb/qcSsgqzysytdqk/wcsh",
+        hfysh: "/qcsb/qcSsgqzysytdqk/hfysh",
+        listTable: "/qcsb/qcSsgqzysytdqk/sumListBysz"
+      },
+      dictOptions: {},
+      superFieldList: [],
+    }
+  },
+  created() {
     this.getSuperFieldList();
-    },
-    mounted() {
-      this.show()
-      this.searchQuery()
-    },
-    computed: {
+  },
+  mounted() {
+    this.show()
+    this.searchQuery()
+  },
+  computed: {
 
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      },
+    importExcelUrl: function () {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
     },
-    methods: {
-      updataData(){
-        let _this = this;
-        new Promise(function (resolve, reject) {
-          getAction(_this.url.listTable, _this.queryParam).then(res => {
-            if (res.success) {
-              _this.load = false
-              _this.resultData = res.result
-              resolve();
-            }
-          })
+  },
+  methods: {
+    updataData() {
+      let _this = this;
+      new Promise(function (resolve, reject) {
+        getAction(_this.url.listTable, _this.queryParam).then(res => {
+          if (res.success) {
+            _this.load = false
+            _this.resultData = res.result
+            resolve();
+          }
         })
-      },
-      searchQuery() {
-        this.changes='1'
-        this.loadData(1);
-        // 点击查询清空列表选中行
-        // https://gitee.com/jeecg/jeecg-boot/issues/I4KTU1
-        this.selectedRowKeys = []
-        this.selectionRows = []
-      },
-      loadData(arg) {
-        if (!this.url.list) {
-          this.$message.error("请设置url.list属性!")
-          return
-        }
-        this.queryParam = this.param
+      })
+    },
+    searchQuery() {
+      this.changes = '1'
+      this.loadData(1);
+      // 点击查询清空列表选中行
+      // https://gitee.com/jeecg/jeecg-boot/issues/I4KTU1
+      this.selectedRowKeys = []
+      this.selectionRows = []
+    },
+    loadData(arg) {
+      if (!this.url.list) {
+        this.$message.error("请设置url.list属性!")
+        return
+      }
+      this.queryParam = this.param
 
-        //加载数据 若传入参数1则加载第一页的内容
-        if (arg === 1) {
-          this.ipagination.current = 1;
-        }
-        this.loading = true;
-        getAction(this.url.list, this.queryParam).then((res) => {
-          if (res.success) {
-            console.log(res)
-            //update-begin---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
-            this.dataSource = res.result.records || res.result;
-            this.dataSource.forEach((item) => {
-              if (item.gyzccgbl) {
-                item.gyzccgbl = Number(item.gyzccgbl).toFixed(2)
-              }
-            })
-            if (res.result.total) {
-              this.ipagination.total = res.result.total;
-            } else {
-              this.ipagination.total = 0;
+      //加载数据 若传入参数1则加载第一页的内容
+      if (arg === 1) {
+        this.ipagination.current = 1;
+      }
+      this.loading = true;
+      getAction(this.url.list, this.getQueryParams()).then((res) => {
+        if (res.success) {
+          console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
+          this.dataSource = res.result.records || res.result;
+          this.dataSource.forEach((item) => {
+            if (item.gyzccgbl) {
+              item.gyzccgbl = Number(item.gyzccgbl).toFixed(2)
             }
-            //update-end---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
+          })
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
           } else {
-            this.$message.warning(res.message)
+            this.ipagination.total = 0;
           }
-        }).finally(() => {
-          this.loading = false
-        })
-      },
-      callback(key) {
-
-        if (key == 1) {
-          this.emptyData()
-          this.changes='1'
-        }
-        if (key == 2) {
-          this.changes='2'
-          this.emptyData()
-          this.updataData()
-        }
-      },
-      SelectArea(val) {
-        if (val.length > 4) {
-          this.queryParam.xzqh = val + '*'
+          //update-end---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
         } else {
-          this.queryParam.xzqh = val.slice(0, 4) + '*'
+          this.$message.warning(res.message)
         }
-      },
-      emptyData(){
-        this.load = true
-        this.$refs.table.data=[]
-        this.$refs.table.areaData=[]
-        this.$refs.table.pieResultData=[]
-        this.$refs.table.pieAreaResultData=[]
-        this.$refs.table.DoughnutResultData=[]
-        this.$refs.table.doughnutByXzResultData=[]
-        this.$refs.table.xzData=[]
-        this.$refs.table.registerData=[]
-        this.$refs.table.barResultData=[]
-        this.$refs.table.nan=[]
-        this.$refs.table.va=[]
-        this.$refs.table.xqData=[]
-        this.$refs.table.sjytData=[]
-        this.$refs.table.sjytValue=[]
-        this.$refs.table.sjytName=[]
-        this.$refs.table.barBysjytResultData=[]
-        this.$refs.table.number=0
-      },
-      searchReset() {
-        this.$refs.JArea.allClear(),
-          this.queryParam = {}
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    callback(key) {
+
+      if (key == 1) {
+        this.emptyData()
+        this.changes = '1'
+      }
+      if (key == 2) {
+        this.changes = '2'
+        this.emptyData()
+        this.updataData()
+      }
+    },
+    SelectArea(val) {
+      if (val.length > 4) {
+        this.queryParam.xzqh = val + '*'
+      } else {
+        this.queryParam.xzqh = val.slice(0, 4) + '*'
+      }
+    },
+    emptyData() {
+      this.load = true
+      this.$refs.table.data = []
+      this.$refs.table.areaData = []
+      this.$refs.table.pieResultData = []
+      this.$refs.table.pieAreaResultData = []
+      this.$refs.table.DoughnutResultData = []
+      this.$refs.table.doughnutByXzResultData = []
+      this.$refs.table.xzData = []
+      this.$refs.table.registerData = []
+      this.$refs.table.barResultData = []
+      this.$refs.table.nan = []
+      this.$refs.table.va = []
+      this.$refs.table.xqData = []
+      this.$refs.table.sjytData = []
+      this.$refs.table.sjytValue = []
+      this.$refs.table.sjytName = []
+      this.$refs.table.barBysjytResultData = []
+      this.$refs.table.number = 0
+    },
+    searchReset() {
+      this.$refs.JArea.allClear(),
+
+      this.param={}
+        this.queryParam = {}
         this.loadData(1);
-      },
-      show(){
-        getAction("/qcsb.qyxx/qcQyxx/dlr").then(res => {
-          if (res.success) {
-            if(res.result=='gzw'){
-              this.dl=true
-            }
+    },
+    show() {
+      getAction("/qcsb.qyxx/qcQyxx/dlr").then(res => {
+        if (res.success) {
+          if (res.result == 'gzw') {
+            this.dl = true
           }
-        })
-      }
-      ,
-        handleWCSH(id){
-            getAction(this.url.wcsh,{id:id}).then(res => {
-                if (res.success) {
-                    this.$message.success('审核完成');
-                    this.loadData();
-                }
-            })
+        }
+      })
+    }
+    ,
+    handleWCSH(id) {
+      getAction(this.url.wcsh, {id: id}).then(res => {
+        if (res.success) {
+          this.$message.success('审核完成');
+          this.loadData();
+        }
+      })
 
-        },
-      handleHFYSH(id){
-          getAction(this.url.hfysh,{id:id}).then(res => {
-              if (res.success) {
-                  this.$message.success('已经恢复');
-                  this.loadData();
-              }
-          })
+    },
+    handleHFYSH(id) {
+      getAction(this.url.hfysh, {id: id}).then(res => {
+        if (res.success) {
+          this.$message.success('已经恢复');
+          this.loadData();
+        }
+      })
 
-      },
-      initDictConfig(){
-        loadCategoryData({code:'A04'}).then((res) => {
-          if (res.success) {
-            console.log(res.result)
-            this.$set(this.dictOptions, 'sjyt', res.result)
-          }
-        })
-      },
-      getSuperFieldList(){
-        let fieldList=[];
-        fieldList.push({type:'string',value:'dk',text:'地块',dictCode:''})
-        fieldList.push({type:'string',value:'wjlx',text:'文件类型',dictCode:'wjlx'})
-        fieldList.push({type:'string',value:'wjbh',text:'证书/合同/文件编号',dictCode:''})
-        fieldList.push({type:'string',value:'tdsyqr',text:'土地使用权人',dictCode:''})
-        fieldList.push({type:'double',value:'sjzytdmj',text:'实际占用土地面积',dictCode:''})
-        fieldList.push({type:'double',value:'qzpzsymj',text:'其中批准使用面积',dictCode:''})
-        fieldList.push({type:'double',value:'sjsyjzmj',text:'实际使用建筑面积',dictCode:''})
-        fieldList.push({type:'double',value:'qzpzsymj2',text:'其中批准使用面积',dictCode:''})
-        fieldList.push({type:'double',value:'sjrjl',text:'容积率',dictCode:''})
-        fieldList.push({type:'string',value:'syqsyfs',text:'使用权使用方式',dictCode:'syqsyfs'})
-        fieldList.push({type:'string',value:'zlwz',text:'坐落位置',dictCode:''})
-        fieldList.push({type:'string',value:'sjyt',text:'实际用途',dictCode:'tdyt'})
-        fieldList.push({type:'date',value:'qsqssj',text:'权属起始时间'})
-        fieldList.push({type:'date',value:'qsdqsj',text:'权属到期时间'})
-        fieldList.push({type:'string',value:'tdsyxz',text:'土地使用现状',dictCode:'tdsyxz'})
-        fieldList.push({type:'list_multi',value:'dbdycfqk',text:'担保、抵押、查封情况',dictTable:"", dictText:'', dictCode:'dbdycfqk'})
-        fieldList.push({type:'string',value:'bz',text:'备注',dictCode:''})
-        fieldList.push({type:'string',value:'xgwj',text:'附件材料',dictCode:''})
-        fieldList.push({type:'int',value:'sfsb',text:'是否上报',dictCode:'xxsbzt'})
-        this.superFieldList = fieldList
-      }
+    },
+    initDictConfig() {
+      loadCategoryData({code: 'A04'}).then((res) => {
+        if (res.success) {
+          console.log(res.result)
+          this.$set(this.dictOptions, 'sjyt', res.result)
+        }
+      })
+    },
+    getSuperFieldList() {
+      let fieldList = [];
+      fieldList.push({type: 'string', value: 'dk', text: '地块', dictCode: ''})
+      fieldList.push({type: 'string', value: 'wjlx', text: '文件类型', dictCode: 'wjlx'})
+      fieldList.push({type: 'string', value: 'wjbh', text: '证书/合同/文件编号', dictCode: ''})
+      fieldList.push({type: 'string', value: 'tdsyqr', text: '土地使用权人', dictCode: ''})
+      fieldList.push({type: 'double', value: 'sjzytdmj', text: '实际占用土地面积', dictCode: ''})
+      fieldList.push({type: 'double', value: 'qzpzsymj', text: '其中批准使用面积', dictCode: ''})
+      fieldList.push({type: 'double', value: 'sjsyjzmj', text: '实际使用建筑面积', dictCode: ''})
+      fieldList.push({type: 'double', value: 'qzpzsymj2', text: '其中批准使用面积', dictCode: ''})
+      fieldList.push({type: 'double', value: 'sjrjl', text: '容积率', dictCode: ''})
+      fieldList.push({type: 'string', value: 'syqsyfs', text: '使用权使用方式', dictCode: 'syqsyfs'})
+      fieldList.push({type: 'string', value: 'zlwz', text: '坐落位置', dictCode: ''})
+      fieldList.push({type: 'string', value: 'sjyt', text: '实际用途', dictCode: 'tdyt'})
+      fieldList.push({type: 'date', value: 'qsqssj', text: '权属起始时间'})
+      fieldList.push({type: 'date', value: 'qsdqsj', text: '权属到期时间'})
+      fieldList.push({type: 'string', value: 'tdsyxz', text: '土地使用现状', dictCode: 'tdsyxz'})
+      fieldList.push({
+        type: 'list_multi',
+        value: 'dbdycfqk',
+        text: '担保、抵押、查封情况',
+        dictTable: "",
+        dictText: '',
+        dictCode: 'dbdycfqk'
+      })
+      fieldList.push({type: 'string', value: 'bz', text: '备注', dictCode: ''})
+      fieldList.push({type: 'string', value: 'xgwj', text: '附件材料', dictCode: ''})
+      fieldList.push({type: 'int', value: 'sfsb', text: '是否上报', dictCode: 'xxsbzt'})
+      this.superFieldList = fieldList
     }
   }
+}
 </script>
 <style scoped>
-  @import '~@assets/less/common.less';
+@import '~@assets/less/common.less';
 </style>

+ 862 - 0
UI2/src/views/sydwqcsb/modules/QcSsgqzysytdqkForm_tj.vue

@@ -0,0 +1,862 @@
+<template xmlns='http://www.w3.org/1999/html' xmlns='http://www.w3.org/1999/html'>
+  <a-spin :spinning='confirmLoading'>
+    <j-form-container :disabled='formDisabled'>
+      <a-form-model ref='form' :model='model' :rules='validatorRules' slot='detail'>
+        <a-row>
+          <a-col :span="24">
+            <div style="text-align: center;font-size: larger;margin-bottom: 10px">地块信息填报</div>
+          </a-col>
+          <!--              <a-col :span="24">
+                          <a-form-model-item label='上级单位' :labelCol='labelCol'  :wrapperCol='wrapperCol' prop='sjdw'>
+                            <a-col :span="22">
+                              <a-input v-model='model.sjdw' placeholder='请输入上级单位' ></a-input>
+                            </a-col>
+                          </a-form-model-item>
+                        </a-col>-->
+
+          <!--              <a-col :span="24">
+                          <a-form-model-item label='取得日期' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qdrq'>
+                            <a-col :span="22">
+                              <j-date v-model='model.qdrq' placeholder='请输入取得日期' style='width: 100%'></j-date>
+                            </a-col>
+                          </a-form-model-item>
+                        </a-col>
+                        <a-col :span="24">
+                          <a-form-model-item label='发证日期' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='fzrq'>
+                            <a-col :span="22">
+                              <j-date v-model='model.fzrq' placeholder='请输入发证日期' style='width: 100%'></j-date>
+                            </a-col>
+                          </a-form-model-item>
+                        </a-col>-->
+          <!--              <a-col :span="24">
+                          <a-form-model-item label='闲置' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='xz'>
+                            <a-col :span="22">
+                              <a-input v-model='model.xz' placeholder='请输入闲置'></a-input>
+                            </a-col>
+                          </a-form-model-item>
+                        </a-col>-->
+          <<!--a-col :span="24">
+                <a-form-model-item label='待处置(待报废、毁损等)' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dcz'>
+                  <a-col :span="22">
+                    <a-input v-model='model.dcz' placeholder='请输待处置(待报废、毁损等)'></a-input>
+                  </a-col>
+                </a-form-model-item>s
+              </a-col>-->
+          <!--              <a-col :span="24">
+                          <a-form-model-item label='权属性质' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsxz'>
+                            <a-col :span="22">
+                              <a-input v-model='model.qsxz' placeholder='请输入权属性质'></a-input>
+                            </a-col>
+                          </a-form-model-item>
+                        </a-col>-->
+
+          <a-col :span="24">
+            <a-form-model-item   label='地块名称' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dk'>
+              <a-col :span="22">
+                <a-input v-model='model.dk' placeholder='请输入地块名称'></a-input>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("dkmc")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item   label='地块编号' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dkbh'>
+              <a-col :span="22">
+                <a-input v-model='model.dkbh' placeholder='请输入地块编号' ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+
+          <a-col :span="24">
+            <a-form-model-item label='证书类型' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='zslx'>
+              <a-col :span="22">
+                <j-dict-select-tag type='list' v-model='model.zslx' dictCode='zslx' placeholder='请选择证书类型' />
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col  :span="24">
+            <a-form-model-item v-if="model.zslx=='无'" label='证书/合同/文件编号' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='wjbh'>
+              <a-col :span="22">
+                <a-input v-model="model.wjbh='无'" placeholder='请输入证书/合同/文件编号'></a-input>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("wjbh")'></a-icon>
+              </a-col>
+
+            </a-form-model-item>
+
+            <a-form-model-item v-else label='证书/合同/文件编号' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='wjbh'>
+              <a-col :span="22">
+                <a-input v-model="model.wjbh" placeholder='请输入证书/合同/文件编号'></a-input>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("wjbh")'></a-icon>
+              </a-col>
+
+            </a-form-model-item>
+
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='土地使用权人' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdsyqr'>
+              <a-col :span="22">
+                <a-input v-model='model.tdsyqr' placeholder='请输入土地使用权人'></a-input>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("tdsyqr")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <!--                <a-col :span="24">
+
+                            <a-form-model-item label="是否共用宗" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfgyz">
+                              <a-col :span="22">
+                              <j-dict-select-tag type="list" v-model="model.sfgyz" dictCode="sfgyz" placeholder="请选择是否共用宗" />
+                              </a-col>
+                            </a-form-model-item>
+                          </a-col>
+                          <a-col :span="24">
+                            <a-form-model-item label="总建筑面积" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjzmj">
+                              <a-col :span="22">
+                              <a-input-number v-model="model.zjzmj" placeholder="请输入总建筑面积" :disabled='zjzmjDisabled' style="width: 100%" />
+                              </a-col>
+                              <a-col :span="2">
+                                <a-icon class='info' type='question-circle-o' @click='info("zjzmj")'></a-icon>
+                              </a-col>
+                            </a-form-model-item>
+                          </a-col>
+                          &lt;!&ndash; <span class='example'>示例:无</span>&ndash;&gt;
+                            <a-col :span="24">
+                        <a-form-model-item label='容积率' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjrjl'>
+                          <a-col :span="22">
+                          <a-input-number v-model='model.sjrjl' placeholder='请输入容积率' style='width: 100%' />
+                          </a-col>
+                          <a-col :span="2">
+                          <a-icon class='info' type='question-circle-o' @click='info("sjrjl")'></a-icon>
+                          </a-col>
+                        </a-form-model-item>
+                            </a-col>-->
+          <a-col :span="24">
+            <a-form-model-item label='取得方式' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='syqsyfs'>
+              <a-col :span="22">
+                <j-dict-select-tag type='list'v-model='model.syqsyfs'  dictCode='qdfs' placeholder='请选择取得方式' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("syqsyfs")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='批准用途' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='pzyt'>
+              <a-col :span="22">
+                <j-category-select v-model="model.pzyt" pcode="A04" placeholder="请选择批准用途"  />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("sjyt")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='实际用途' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjyt'>
+              <a-col :span="22">
+                <a-input v-model="model.sjyt"  placeholder="请输入实际用途" />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("sjyt")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+
+          <a-col :span="24">
+            <a-form-model-item label="行政区划" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xzqh">
+              <a-col :span="22">
+                <j-area-linkage type="cascader" v-model="model.xzqh" placeholder="请输入省市区"/>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='坐落位置' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='zlwz'>
+              <a-col :span="22">
+                <a-textarea v-model='model.zlwz' rows='4' placeholder='请输入坐落位置' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("zlwz")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col v-show="false" :span="24">
+            <a-form-model-item label='土地面积单位' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjzytdmjdw'>
+              <a-col :span="22">
+                <a-input v-model='model.sjzytdmjdw' placeholder='土地面积单位' disabled></a-input>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("sjzytdmjdw")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='实际占用土地面积(平方米)' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjzytdmj'>
+              <a-col :span="22">
+                <a-input-number v-model='model.sjzytdmj' placeholder='请输入实际占用土地面积' style='width: 100%' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("sjzytdmj")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='其中证载使用土地面积(平方米)' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qzpzsymj'>
+              <a-col :span="22">
+                <a-input-number v-model='model.qzpzsymj' placeholder='请输入其中证载使用面积' style='width: 100%' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("qzpzsymj")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col >
+          <a-col v-show="false" :span="24">
+            <a-form-model-item label='建筑面积单位' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjsyjzmjdw'>
+              <a-col :span="22">
+                <a-input v-model='model.sjsyjzmjdw' placeholder='建筑面积单位' disabled></a-input>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("sjsyjzmjdw")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='实际使用建筑面积(平方米)' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='sjsyjzmj'>
+              <a-col :span="22">
+                <a-input-number v-model='model.sjsyjzmj' placeholder='请输入实际使用建筑面积' style='width: 100%' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("sjsyjzmj")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='其中证载使用建筑面积(平方米)' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qzpzsymj2'>
+              <a-col :span="22">
+                <a-input-number v-model='model.qzpzsymj2' placeholder='请输入其中证载使用建筑面积' style='width: 100%' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("qzpzsymj2")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='权属起始时间' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsqssj'>
+              <a-col :span="22">
+                <j-date placeholder='请选择权属起始时间' v-model='model.qsqssj' style='width: 100%' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("qsqssj")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='权属期限' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsqx'>
+              <a-col :span="22">
+                <j-dict-select-tag type='list' v-model='model.qsqx' dictCode='qsqx' placeholder='请选择权属期限' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("qsqx")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='权属到期时间' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qsdqsj'>
+              <a-col :span="22">
+                <j-date placeholder='请选择权属到期时间' v-model='model.qsdqsj' style='width: 100%' :disabled-date="dateDisabled" :disabled='disableqsqx' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("qsdqsj")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+
+          <a-col :span="24">
+            <a-form-model-item label='担保、抵押、查封情况' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='dbdycfqk'>
+              <a-col :span="22">
+                <j-multi-select-tag type='list_multi' v-model='model.dbdycfqk' dictCode='dbdycfqk'
+                                    placeholder='请选择担保、抵押、查封情况' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("dbdycfqk")'></a-icon>
+              </a-col>
+              <!-- <span class='example'>示例:无</span>-->
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='出租出借情况' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='czcjqk'>
+              <a-col :span="22">
+                <j-dict-select-tag type='list' v-model='model.czcjqk' dictCode='czcjqk' placeholder='请选择出租出借情况' />
+              </a-col>
+              <!--                  <a-col :span="2">
+                                  <a-icon class='info' type='question-circle-o' @click='info("dbdycfqk")'></a-icon>
+                                </a-col>-->
+              <!-- <span class='example'>示例:无</span>-->
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='权益受损情况' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qyssqk'>
+              <a-col :span="22">
+                <j-dict-select-tag type='list' v-model='model.qyssqk' dictCode='qyssqk' placeholder='请选择权益受损情况' />
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='土地使用现状' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tdsyxz'>
+              <a-col :span="22">
+                <j-dict-select-tag type='list' v-model='model.tdsyxz' dictCode='tdsyxz' placeholder='请选择土地使用现状' />
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("tdsyxz")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <!--  <a-col :span="24">
+<a-form-model-item label="意向盘活方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yxphfs">
+<a-col :span="22">
+<j-dict-select-tag type="list" v-model="model.yxphfs" :disabled='uploadDisabled' dictCode="yxphfs" placeholder="请选择意向盘活方式" />
+</a-col>
+<a-col :span="2">
+<a-icon class='info' type='question-circle-o' @click='info("yxphfs")'></a-icon>
+</a-col>
+</a-form-model-item>
+            </a-col>
+              <a-col :span="24">
+<a-form-model-item label="意向盘活主体" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yxphzt">
+<a-col :span="22">
+<j-dict-select-tag type="list" v-model="model.yxphzt" :disabled='uploadDisabled' dictCode="yxphzt" placeholder="请选择意向盘活主体" />
+</a-col>
+<a-col :span="2">
+<a-icon class='info' type='question-circle-o' @click='info("yxphzt")'></a-icon>
+</a-col>
+</a-form-model-item>
+              </a-col>-->
+          <a-col :span="24">
+            <a-form-model-item label="闲置低效用地照片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xczp">
+              <a-col :span="22">
+                <j-image-upload isMultiple  v-model="model.xczp" :disabled='uploadDisabled'></j-image-upload>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+
+          <a-col :span="24">
+            <!--   <a-form-model-item label="统一社会信用代码证书" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tyshxydmzs">
+                 <a-col :span="22">
+                 <j-upload v-model='model.tyshxydmzs'></j-upload>
+                 </a-col>
+                 <a-col :span="2">
+                   <a-icon class='info' type='question-circle-o' @click='info("tyshxydmzs")'></a-icon>
+                 </a-col>
+               </a-form-model-item>-->
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="土地资产权属证明材料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tdzcqszmcl">
+              <a-col :span="22">
+                <j-upload v-model='model.tdzcqszmcl'></j-upload>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("tdzcqszmcl")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="房屋资产权属证明材料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fwzcqszmcl">
+              <a-col :span="22">
+                <j-upload v-model='model.fwzcqszmcl'></j-upload>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("fwzcqszmcl")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="坐标位置相关证明材料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zbwzxgzmcl">
+              <a-col :span="22">
+                <j-upload v-model='model.zbwzxgzmcl'></j-upload>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("zbwzxgzmcl")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='其他资料' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='xgwj'>
+              <a-col :span="22">
+                <j-upload v-model='model.xgwj'></j-upload>
+              </a-col>
+              <a-col :span="2">
+                <a-icon class='info' type='question-circle-o' @click='info("xgwj")'></a-icon>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='备注' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='bz'>
+              <a-col :span="22">
+                <a-textarea style="width:85%" v-model='model.bz' rows='4' placeholder='请输入备注' />
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="审核是否通过" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shzt">
+              <j-dict-select-tag type="list" v-model="model.shzt" dictCode="shzt"  placeholder="请选择审核是否通过" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="审核意见" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shyj">
+              <a-textarea v-model="model.shyj" rows="4" placeholder="请输入审核意见" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shren">
+              <j-dict-select-tag type="list" v-model="model.shren" dictCode="shzt" placeholder="审核人" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <!--    <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shr">
+                  <a-input v-model="model.shr" placeholder="请输入审核人"  ></a-input>
+                </a-form-model-item>-->
+            <a-form-model-item label="审核日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shrq">
+              <j-date placeholder="请选择审核日期" v-model="model.shrq"  style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <!--              </div>-->
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+import { httpAction, getAction } from '@/api/manage'
+import { validateDuplicateValue } from '@/utils/util'
+import moment from 'moment'
+import store from '@/store'
+
+export default {
+  name: 'QcSsgqzysytdqkForm2',
+  components: {},
+  props: {
+    //表单禁用
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false
+    }
+  },
+  data() {
+    let validatexczp = (rule, value, callback) => {
+      if (this.model.tdsyxz==="闲置,低效土地"&&!value) {
+        this.$message.warn('闲置,低效土地需上传现场图片')
+        callback(new Error('闲置,低效土地请上传图片'));
+      }else {
+        callback()
+      }
+    };
+    let validatefwzmcl=(rule, value, callback) => {
+        debugger
+        if(this.model.qzpzsymj2>0 && !value){
+            this.$message.warn('请上传房屋资产权属证明材料!')
+            callback(new Error('请上传房屋资产权属证明材料!'));
+
+        }else {
+            callback()
+        }
+    };
+    return {
+      disableqsqx: false,
+      model: {
+        // qsqx:''
+          sjsyjzmjdw: '平方米'
+      },
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      confirmLoading: false,
+      validatorRules: {
+        sjzytdmjdw: [
+          { required: true, message: '请选择占用土地单位!' }
+        ],
+        sjsyjzmjdw: [
+          { required: true, message: '请选择建筑面积单位!' }
+        ],
+        dk: [
+          { required: true, message: '请输入地块!' }
+        ],
+        wjlx: [
+          { required: true, message: '请输入文件类型!' }
+        ],
+        wjbh: [
+          { required: true, message: '请输入证书/合同/文件编号!' }
+        ],
+        tdsyqr: [
+          { required: true, message: '请输入土地使用权人!' }
+        ],
+        sjzytdmj: [
+          { required: true, message: '请输入实际占用土地面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        qzpzsymj: [
+          { required: true, message: '请输入其中批准使用面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        sjsyjzmj: [
+          { required: true, message: '请输入实际使用建筑面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        qzpzsymj2: [
+          { required: true, message: '请输入其中批准使用面积!' },
+          { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        sjrjl: [
+          { required: true, message: '请输入容积率!' },
+           /* { pattern: /^([0-9]{1}$)|(^[0-9]{1}[\.]{1,2}[0-9]{1,2}$)/, message: '请输入0-10之间的数字,最多2位小数!' }*/
+          //{ pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }
+        ],
+        syqsyfs: [
+          { required: true, message: '请输入使用权使用方式!' }
+        ],
+        zlwz: [
+          { required: true, message: '请输入坐落位置!' }
+        ],
+        sjyt: [
+          { required: true, message: '请输入实际用途!' }
+        ],
+        qsqssj: [
+          { required: true, message: '请输入权属起始时间!' }
+        ],
+        qsdqsj: [
+          { required: false, message: '请输入权属到期时间!' }
+        ],
+        tdsyxz: [
+          { required: true, message: '请输入土地使用现状!' }
+        ],
+        dbdycfqk: [
+          { required: true, message: '请输入担保、抵押、查封情况!' }
+        ],
+        xgwj: [
+          { required: false, message: '请输入附件材料!' }
+        ],
+       /*   yxphfs: [
+              { required: false, message: '请输入意向盘活方式!'},
+          ],
+          yxphzt: [
+              { required: false, message: '请输入意向盘活主体!'},
+          ],*/
+/*          tyshxydmzs: [
+              { required: true, message: '请输入统一社会信用代码证书!'},
+          ],*/
+          tdzcqszmcl: [
+              { required: true, message: '请输入土地资产权属证明材料!'},
+          ],
+          fwzcqszmcl: [{
+              validator: validatefwzmcl,
+          }
+          ],
+          zbwzxgzmcl: [
+              { required: true, message: '请输入坐标位置相关证明材料!'},
+          ],
+          fwzmcl:[{
+              validator: validatefwzmcl,
+          }],
+        xczp: [{
+          validator: validatexczp,
+        }],
+          yxphfs: [{
+              validator: validatexczp,
+          }],
+          yxphzt: [{
+              validator: validatexczp,
+          }],
+      },
+      url: {
+        add: '/qcsb/qcSsgqzysytdqk/add',
+        edit: '/qcsb/qcSsgqzysytdqk/edit',
+        queryById: '/qcsb/qcSsgqzysytdqk/queryById'
+      },
+      disabledDate:'',
+      formInfo: {
+        qymc: '以《企业法人营业执照》上的用地单位名称为准。',
+        tyshxybm: '填写长度为18 位的用于用地单位身份识别的代码。',
+        qylx: '分国有全资公司、国有控股公司。',
+        gyzccgbl: '国有投入资本占公司总资本的比例。',
+        dk: '',
+        wjlx: '',
+        sjsyjzmjdw: '根据不动产登记证书、房屋所有权证书及相关权属证明材料的面积单位填写。',
+        sjzytdmjdw: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明材料的面积单位填写。',
+        wjbh: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明等材料记录如实填写。',
+        tdsyqr: '指不动产权证(或土地使用权证)上记载的土地使用权人;若己获供地批准但未取得土地证的,以《建设用地批准书》中用地单位名称为准;其他无不动产权证(或土地使用权证)的情况,则填《企业法人营业执照》上的用地单位名称。',
+        sjzytdmj: '根据实际占用的土地面积据实填写,租用、借用土地不在填报范围。',
+        qzpzsymj: '批准使用面积:根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明材料的面积填写。',
+        sjsyjzmj: '根据实际使用的建筑面积据实填写,租用、借用建筑面积不在填报范围。',
+        qzpzsymj2: '批准使用面积:根据不动产登记证书、房屋所有权证书及相关权属证明材料的面积填写,如无建筑物的可填“0”。',
+          zjzmj: '总建筑面积于物业或开发商处获取。',
+        sjrjl: '根据相关证书、合同、文件等填写;无相关证书、合同、文件的可根据“容积率=建筑面积/用地面积”进行估算,如无地上建筑物的可填“0”。',
+        syqsyfs: '土地使用权人或用地企业取得该地块的方式,分出让、划拨、作价出资、转让四种方式,不包含出租出借情况。',
+        zlwz: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明等材料记录填写;如无相关权属证明材料的需填制地块坐落详细位置,需具体到乡镇、村、门牌号(示例:山东省XX市XX区(县)XX街道(镇)XX路(村)XX号)。',
+        pzyt: '地类(用途):分国有建设用地、国有农用地、国有未利用地。国有建设用地需填到一级地类,具体为商服用地、工矿仓储用地、住宅用地、公共管理与公共服务用地、特殊用地、交通运输用地、水域及水利设施用地、其他土地。',
+        sjyt: '根据不动产登记证书、国有土地使用权证、土地出让合同、划拨决定书及相关权属证明等材料记录填写,如无相关权属证明材料的据实填写。',
+        qsqssj: '合法用地的,按供地批准时间填写(以《建设用地批准书》批准时间为准);属于历史遗留问题的,以认定或到期用地行为时间填写(按相应证明文件,如处罚决定书填写),划拨用地到期时间可填“长期”。',
+        qsdqsj: '合法用地的,按供地批准时间填写(以《建设用地批准书》批准时间为准);属于历史遗留问题的,以认定或到期用地行为时间填写(按相应证明文件,如处罚决定书填写),划拨用地到期时间可填“长期”。',
+        tdsyxz: '根据企业当前占有使用土地状态据实填写,具体分为正常使用、闲置低效等类型。\n' +
+          '1.闲置土地:\n' +
+          '(1)土地使用者依法取得土地使用权后,未经市人民政府或土地行政主管部门同意,超过动工开发日期起满一年未动工开发的。\n' +
+          '(2)超过动工开发日期满2年未完成项目投资总额百分之二十五的。\n' +
+          '(3)已动工建设,但开发建设面积占应动工开发建设面积不足三分之一或者已投资额占总投资额不足百分二十五,且未经建设主管部门同意,中止开发建设满一年的土地。\n' +
+          '(4)以出让方式取得国有建设用地使用权,超过出让合同约定竣工日期一年未竣工的。\n' +
+          '2.低效用地:建设用地中的布局散乱、利用粗放、用途不合理、建筑危旧的城镇存量建设用地,权属清晰、不存在争议。\n' +
+          '(1)产业转型升级类:国家产业政策规定的禁止类、淘汰类产业用地;不符合安全生产和环保要求的用地;“退二进三”产业用地。 \n' +
+          '(2)城镇更新改造类:布局散乱、设施落后,规划确定改造的 老城区、城中村、棚户区、老工业区等。 \n' +
+          '(3)用地效益提升类:投资强度、容积率、地均产出强度等控 制指标明显低于地方行业平均水平的产业用地;参照“亩产效益” 评价改革确定的“限制发展类”企业名单认定的产业用地。 \n',
+        czmj: '根据企业对外出租(出借)面积情况据实填写。',
+        cjmj: '根据企业对外出租(出借)面积情况据实填写。',
+        cjksrq: '根据企业对外出租(出借)面积情况据实填写。',
+        cjjsrq: '根据企业对外出租(出借)面积情况据实填写。',
+        dbdycfqk: '根据土地是否存在担保、抵押、查封等情况,据实填写。若不存在填否。',
+        bz: '',
+        xgwj: '无相关证件的上传划拨决定书、出让合同。',
+        tyshxydmzs:'上传统一社会信用代码证书。',
+        tdzcqszmcl:'请上传土地使用权证书、不动产权证书、划拨决定书、批复文件等',
+        fwzcqszmcl:'请上传房屋所有权证书、不动产权证书、规划许可证书、竣工许可证书、批复文件等',
+        zbwzxgzmcl:'请上传宗地图、红线、勘测定界图、矢量数据等'
+      }
+    }
+  },
+  watch: {
+    'model.qsqx'(newData, oldData) {
+        debugger
+      if (newData === '长期') {
+        this.disableqsqx = true
+        this.model.qsdqsj = '9999-12-31'
+      }else if(newData === ''||newData==null) {
+          this.disableqsqx = false
+          if(this.model.qsdqsj!=''){
+
+          }else{
+              this.model.qsdqsj = moment().format("YYYY-MM-DD");
+          }
+
+      } else {
+          debugger
+        this.disableqsqx = true;
+        let day=parseInt(this.model.qsqssj.slice(8))-1;
+        let month=parseInt(this.model.qsqssj.slice(5,7));
+        let year=parseInt(this.model.qsqssj.slice(0,4))+parseInt(newData);
+        this.model.qsdqsj = year+'-'+month+'-'+day;
+        console.log(this.model.qsdqsj);
+
+      }
+    }
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled
+    },
+    uploadDisabled() {
+      if (this.model.tdsyxz==="闲置,低效土地") {
+        return false;
+      } else {
+        return true
+      }
+    },
+      zjzmjDisabled(){
+          if (this.model.sfgyz==="是") {
+              return false;
+          } else {
+              return true
+          }
+      }
+  },
+  created() {
+    //备份model原始值
+    this.modelDefault = JSON.parse(JSON.stringify(this.model))
+  },
+  methods: {
+    add() {
+      this.edit(this.modelDefault)
+    },
+    edit(record) {
+      this.model = Object.assign({}, record)
+      this.visible = true
+    },
+    submitForm() {
+      const that = this
+      // 触发表单验证
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          let startTime = moment(this.model.qsqssj);
+          let endTime = moment(this.model.qsdqsj);
+          if(endTime.valueOf()<startTime.valueOf()){
+            this.$message.error('请检查权属到期时间是否正确!');
+            return
+          }
+          that.confirmLoading = true
+          let httpurl = ''
+          let method = ''
+          if (!this.model.id) {
+            httpurl += this.url.add
+            method = 'post'
+          } else {
+            httpurl += this.url.edit
+            method = 'put'
+          }
+          httpAction(httpurl, this.model, method).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.$emit('ok')
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false
+          })
+        }
+
+      })
+    },
+    /**
+     *点击提示
+     */
+    info(name) {
+      if (name === 'tdsyxz') {
+        this.$info({
+          title: '说明',
+          width: 500,
+          content: (<div><h2>根据企业当前占有使用土地状态据实填写,具体分为正常使用、闲置、低效等类型。</h2><h3>1.闲置土地:</h3>
+            <p>(1)土地使用者依法取得土地使用权后,未经市人民政府或土地行政主管部门同意,超过动工开发日期起满一年未动工开发的;</p><p>(2)超过动工开发日期满2年未完成项目投资总额百分之二十五的;</p>
+            <p>(3)已动工建设,但开发建设面积占应动工开发建设面积不足三分之一或者已投资额占总投资额不足百分二十五,且未经建设主管部门同意,中止开发建设满一年的土地。</p>
+            <p>(4)以出让方式取得国有建设用地使用权,超过出让合同约定竣工日期一年未竣工的。</p><p>(5)法律、法规规定的其他情形。</p>
+            <h3>2.低效用地:建设用地中的布局散乱、利用粗放、用途不合理、建筑危旧的城镇存量建设用地,权属清晰、不存在争议。</h3><p>(1)产业转型升级类:国家产业政策规定的禁止类、淘汰类产
+              业用地;不符合安全生产和环保要求的用地;“退二进三”产业用地。</p><p>(2)城镇更新改造类:布局散乱、设施落后,规划确定改造的 老城区、城中村、棚户区、老工业区等。 </p>
+            <p>(3)用地效益提升类:投资强度、容积率、地均产出强度等控 制指标明显低于地方行业平均水平的产业用地;参照“亩产效益” 评价改革确定的“限制发展类”企业名单认定的产业用地。</p>
+            <h3>3.其他:请在备注中文字描述。</h3></div>),
+          onOk() {
+          }
+        })
+      } else {
+        this.$info({
+          title: '说明',
+          content: (<div><p>{this.formInfo[name]}</p></div>),
+          onOk() {
+          }
+        })
+      }
+
+    },
+    dateDisabled(val) { // 这里val指日期选择组件可接受的禁用日期 默认传入的是当前日期 并不是日期选择期现在选中的日期
+      const startTime = moment(this.model.qsqssj)
+      return val.valueOf() < startTime.valueOf() // 禁用这之外的日期
+    }
+  }
+}
+</script>
+<style lang='less' scoped>
+
+table {
+  border: 0px solid #444;
+  border-spacing: 0;
+  width: 85%;
+  height: 85%;
+  margin: auto;
+}
+
+.example {
+  width: 100px;
+}
+
+table tr, table th {
+  border-bottom: 0px solid #444
+}
+
+table td, table th {
+  border-right: 0px solid #444;
+  border-bottom: 0px solid #444;
+  padding: 5px;
+  text-align: center;
+}
+
+table tr td:last-child {
+  border-right: 0
+}
+
+table tr:last-child td {
+  border-bottom: 0
+}
+
+th {
+  height: 60px;
+  position: relative;
+}
+
+td {
+  height: 50px;
+  width: 50%;
+  position: relative;
+}
+
+th > div {
+  display: flex;
+  align-items: center;
+}
+
+.info {
+  /*position: absolute;
+  right: -10%;
+  top: 40%;*/
+  color: red;
+  margin-left: 5px;
+}
+
+.ant-input-number {
+  width: 100%;
+}
+</style>
+<style lang='less'>
+table .ant-form-item-children {
+  display: flex;
+  align-items: center;
+}
+
+table .ant-form-item-label {
+  display: flex;
+  justify-content: flex-end;
+  line-height: 16px; //这个数值视具体情况而定
+  flex: 0 0 23.333333%;
+  max-width: 33.33333333%;
+
+  label { //这是关键
+    text-align: right;
+    //color: #8a8a8a;
+    padding-right: 2px;
+    font-size: 14px;
+    white-space: normal;
+    display: inline-block;
+    line-height: 32px;
+
+    &:after {
+      //content: none !important;      //解决上面的样式label后面会有空格
+    }
+  }
+}
+
+
+table .ant-form-item {
+  margin-bottom: 0;
+  display: flex;
+  align-items: center;
+}
+
+table .ant-form-item-control-wrapper {
+  flex: 1 1 0;
+  max-width: 66.66666667%;
+}
+</style>

+ 95 - 0
UI2/src/views/sydwqcsb/modules/QcSsgqzysytdqkModal_tj.vue

@@ -0,0 +1,95 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    okText="保存"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭"
+    footer=""
+  >
+    <!-- 邱东宝 增加modal按钮调整到顶部 1-->
+    <template>
+      <div style="position: absolute;left: 10%;top:13px;">
+        <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;margin-right: 8px">保存
+        </a-button>
+        <a-button @click="handleCancel">
+          关闭
+        </a-button>
+      </div>
+
+    </template>
+    <!--邱东宝 增加modal按钮调整到顶部 end-->
+
+    <qc-ssgqzysytdqk-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></qc-ssgqzysytdqk-form>
+  </j-modal>
+</template>
+
+<script>
+import {getAction} from '@api/manage'
+import QcSsgqzysytdqkForm from './QcSsgqzysytdqkForm_tj'
+
+export default {
+  name: 'QcSsgqzysytdqkModal',
+  components: {
+    QcSsgqzysytdqkForm
+  },
+  data() {
+    return {
+      title: '',
+      result: {},
+      width: 896,
+      visible: false,
+      disableSubmit: false
+    }
+  },
+  methods: {
+    add() {
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.add();
+      })
+    },
+    handleWCSH() {
+      new Promise((resolve, reject) => {
+        this.handleOk()
+        resolve()
+      }).then(() => {
+        debugger
+        getAction("/qcsb/qcSsgqzysytdqk/wcsh", {id: this.result.id}).then(res => {
+          if (res.success) {
+            this.visible = false
+            this.loadData();
+          }
+        })
+      })
+
+    },
+    edit(record) {
+      this.result = record
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.edit(record);
+      })
+    },
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+    handleOk() {
+      this.disableSubmit = true
+      this.$refs.realForm.submitForm();
+    },
+    submitCallback() {
+      this.$emit('ok');
+      this.visible = false;
+    },
+    handleCancel() {
+      this.close()
+    }
+  }
+}
+</script>

+ 4 - 4
UI2/src/views/sydwqcsb/sydwxx/QcQyxxList.vue

@@ -25,10 +25,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 4 - 4
UI2/src/views/sydwqcsb/sydwxx/QcQyxxList1.vue

@@ -32,10 +32,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 4 - 4
UI2/src/views/sydwqcsb/sydwxx/QcQyxxList2.vue

@@ -31,10 +31,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 4 - 4
UI2/src/views/sydwqcsb/sydwxx/QcQyxxList_glyy.vue

@@ -30,10 +30,10 @@
 
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
             </span>
           </a-col>
         </a-row>

+ 297 - 0
UI2/src/views/sydwqcsb/sydwxx/QcQyxxList_tj.vue

@@ -0,0 +1,297 @@
+  <template>
+  <a-card :bordered="false">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="用地单位名称">
+              <a-input placeholder="请输入用地单位名称" v-model="queryParam.qymc"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="企业类型">
+              <j-dict-select-tag placeholder="请输入企业类型" dict-code="qylx" v-model="queryParam.qylx" ></j-dict-select-tag>
+              <!--<a-input placeholder="请输入企业类型" v-model="queryParam.qymc"></a-input>-->
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="是否涉及省内土地资产">
+              <j-dict-select-tag placeholder="请选择是否涉及省内土地资产" v-model="queryParam.sfsjtdzc" dictCode="sfsjtdzc"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="是否上报">
+              <j-dict-select-tag placeholder="请选择是否上报" v-model="queryParam.sfsb" dictCode="xxsbzt"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+
+              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+<!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
+<!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
+<!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+<!--              </a>-->
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+    <div class="table-operator">
+      <!--<a-button v-has="'cont:add'" v-if='!this.dataSource.length>0' @click="handleAdd" type="primary" icon="plus">补充用地单位信息</a-button>-->
+      <a-button type="primary" icon="download" @click="handleExportXls('用地单位信息')">导出</a-button>
+      <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+         <a-button type="primary" icon="import">导入</a-button>
+       </a-upload>
+       &lt;!&ndash; 高级查询区域 &ndash;&gt;
+       <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+       <a-dropdown v-if="selectedRowKeys.length > 0">
+         <a-menu slot="overlay">
+           <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
+         </a-menu>
+         <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
+       </a-dropdown>-->
+    </div>
+
+    <!-- table区域-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
+        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            下载
+          </a-button>
+        </template>
+        <span slot="action" slot-scope="text, record">
+                        <a-space>
+                          <a-button  v-if="record.sfsb<3"  @click="handleEdit(record)">编辑</a-button>
+                            <a-button v-if="record.sfsb==3" @click="handleEdit(record)">重新审核</a-button>
+                          <a-button @click="handleDetail(record)" type='primary'>查看</a-button>
+<!--                         <a-button v-if="record.sfsb===3" @click="handleWCSH(record.id)">完成审核</a-button>-->
+                          <a-popconfirm title="确定恢复么吗?" @confirm="() => handleHFYSH(record.id)">
+                            <a-button v-if="record.sfsb===4">恢复为已审核</a-button>
+                             </a-popconfirm>
+                        </a-space>
+        </span>
+
+       <!-- <span slot="action" slot-scope="text, record">
+          <a-space>
+            <a-button @click="handleEdit(record)">编辑</a-button>
+            <a-button @click="handleDetail(record)" type='primary'>查看</a-button>
+          </a-space>-->
+         <!-- <a @click="handleEdit(record)">编辑</a>
+
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">详情</a>
+              </a-menu-item>
+              <a-menu-item>
+               &lt;!&ndash; <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+                  <a>删除</a>
+                </a-popconfirm>&ndash;&gt;
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>-->
+        <!--  </span>-->
+
+      </a-table>
+    </div>
+
+    <qc-qyxx-modal ref="modalForm" @ok="modalFormOk"></qc-qyxx-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import QcQyxxModal from './modules/QcQyxxModal_tj'
+  import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
+  import {getAction} from "../../../api/manage";
+
+  export default {
+    name: 'QcQyxxList',
+    mixins:[JeecgListMixin, mixinDevice],
+    components: {
+      QcQyxxModal
+    },
+    data () {
+      return {
+        description: '用地单位信息管理页面',
+        // 表头
+        dl:false,
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key:'rowIndex',
+            width:60,
+            align:"center",
+            customRender:function (t,r,index) {
+              return parseInt(index)+1;
+            }
+          },
+          /* {
+               title:'企业编码',
+               align:"center",
+               dataIndex: 'qybm'
+           },*/
+          {
+            title:'用地单位名称',
+            align:"center",
+            dataIndex: 'createBy'
+          },
+          /*{
+              title:'单位级别',
+              align:"center",
+              dataIndex: 'orgType_dictText'
+          },*/
+          {
+            title:'统一社会信用编码',
+            align:"center",
+            dataIndex: 'tyshxybm'
+          },
+          /*  {
+              title:'企业类型',
+              align:"center",
+              dataIndex: 'qylx_dictText'
+            },
+            {
+              title:'国有资产持股比例',
+              align:"center",
+              dataIndex: 'gyzccgbl'
+            },*/
+          {
+            title:'是否涉及省内土地资产',
+            align:"center",
+            dataIndex: 'sfsjtdzc'
+          },
+          {
+            title:'联系人',
+            align:"center",
+            dataIndex: 'tbr'
+          },
+          {
+            title:'联系人手机号',
+            align:"center",
+            dataIndex: 'sjh'
+          },
+          {
+            title:'是否上报',
+            align:"center",
+            dataIndex: 'sfsb_dictText'
+          },
+          {
+            title: '操作',
+            dataIndex: 'action',
+            align:"center",
+            fixed:"right",
+            width:147,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+
+        url: {
+          list: "/qcsb.qyxx/qcQyxx/listByglyy",
+          delete: "/qcsb.qyxx/qcQyxx/delete",
+          deleteBatch: "/qcsb.qyxx/qcQyxx/deleteBatch",
+          exportXlsUrl: "/qcsb.qyxx/qcQyxx/exportXls",
+          importExcelUrl: "qcsb.qyxx/qcQyxx/importExcel",
+            wcsh:"/qcsb.qyxx/qcQyxx/wcsh",
+            hfysh:"/qcsb.qyxx/qcQyxx/hfysh",
+        },
+        dl:'',
+        dictOptions:{},
+        superFieldList:[],
+      }
+    },
+    created() {
+    this.getSuperFieldList();
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    mounted() {
+
+    },
+    methods: {
+        handleWCSH(id){
+            getAction(this.url.wcsh,{id:id}).then(res => {
+                if (res.success) {
+                    this.$message.success('审核完成');
+                    this.loadData();
+                }
+            })
+
+        },
+        handleHFYSH(id){
+            getAction(this.url.hfysh,{id:id}).then(res => {
+                if (res.success) {
+                    this.$message.success('恢复为已审核');
+                    this.loadData();
+                }
+            })
+
+        },
+      initDictConfig(){
+      },
+      getSuperFieldList(){
+        let fieldList=[];
+          fieldList.push({type:'string',value:'qybm',text:'企业编码'})
+        fieldList.push({type:'sel_depart',value:'qymc',text:'用地单位名称'})
+        fieldList.push({type:'string',value:'tyshxybm',text:'统一社会信用编码',dictCode:''})
+        fieldList.push({type:'string',value:'qylx',text:'企业类型',dictCode:'qylx'})
+        fieldList.push({type:'double',value:'gyzccgbl',text:'国有资产持股比例',dictCode:''})
+          fieldList.push({type:'string',value:'sfsjtdzc',text:'是否涉及省内土地资产',dictCode:'sfsjtdzc'})
+          fieldList.push({type:'string',value:'tbr',text:'填报人'})
+          fieldList.push({type:'string',value:'lxdh',text:'联系电话'})
+        this.superFieldList = fieldList
+      }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>

+ 384 - 0
UI2/src/views/sydwqcsb/sydwxx/modules/QcQyxxForm_tj.vue

@@ -0,0 +1,384 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+          <a-col :span="24">
+            <div style="text-align: center;font-size: larger;margin-bottom: 10px">用地单位信息填报</div>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='单位名称' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qymc'>
+              <a-col :span="22">
+                <a-input v-model='model.qymc' placeholder='请输入单位名称' disabled></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="主管部门" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sjdw">
+              <a-col :span="22">
+                <j-popup
+                  v-model="model.sjdw"
+                  field="sjdw"
+                  org-fields="depart_name,id"
+                  dest-fields="sjdw,sjdwdm"
+                  code="sjdw"
+                  :multi="false"
+                  :param="param"
+                  @input="popupCallback"
+                />
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item  v-show="false" label="单位级别" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="org_type">
+              <a-col :span="22">
+                <a-input   v-model="model.org_type" placeholder="请输入上级单位代码"  ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item v-show="false" label="单位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="org_code">
+              <a-col :span="22">
+                <a-input  v-model="model.org_code" placeholder="请输入上级单位代码"  ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='统一社会信用代码' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='tyshxybm'>
+              <a-col :span="22">
+                <a-input v-model='model.tyshxybm' placeholder='请输入统一社会信用代码'></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label='单位基本性质' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='qylx'>
+              <a-col :span="22">
+                <j-dict-select-tag type="list" v-model="model.qylx" dictCode="dwjbxz" placeholder="请选择单位基本性质" />
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24" >
+            <a-form-model-item label="是否涉及省内土地资产" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfsjtdzc">
+              <a-col :span="22">
+                <j-dict-select-tag type="list" v-model="model.sfsjtdzc" dictCode="sfsjtdzc" placeholder="请选择是否涉及省内土地资产" />
+              </a-col>
+            </a-form-model-item>
+            <!--  <a-icon class='info' type='question-circle-o' @click='info("sfsjtdzc")'></a-icon>-->
+          </a-col>
+          <a-col :span="24">
+
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="分管领导" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fgld">
+              <a-col :span="22">
+                <a-input v-model="model.fgld" placeholder="请输入分管领导姓名"  ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <!--              <a-col :span="24">
+                          <a-form-model-item label="分管领导手机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fgldsjh">
+                            <a-col :span="22">
+                              <a-input v-model="model.fgldsjh" placeholder="请输入分管领导手机号码"  ></a-input>
+                            </a-col>
+                          </a-form-model-item>
+                        </a-col>-->
+          <a-col :span="24">
+            <a-form-model-item label="联络人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tbr">
+              <a-col :span="22">
+                <a-input v-model="model.tbr" placeholder="请输入联络人姓名"  ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sjh">
+              <a-col :span="22">
+                <a-input v-model="model.sjh" placeholder="请输入手机号"  ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="邮箱号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjh">
+              <a-col :span="22">
+                <a-input v-model="model.zjh" placeholder="请输入邮箱号"  ></a-input>
+              </a-col>
+            </a-form-model-item>
+          </a-col>
+
+          <!-- <a-col :span="8">-->
+          <!--                <a-form-model-item label="用地单位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qybm">-->
+          <!--                  <a-input   v-model="model.qybm" placeholder="用地单位编码" disabled ></a-input>-->
+          <!--                </a-form-model-item>-->
+          <!--              </a-col>-->
+          <!--              <a-col :span="24">
+                          <a-form-model-item label="单位名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qymc">
+                            <a-input   v-model="model.qymc" placeholder="请输入企业名称" disabled ></a-input>
+                            &lt;!&ndash;              <j-popup
+                                            v-model="model.qymc"
+                                            field="qymc"
+                                            org-fields="depart_name,org_type,org_code"
+                                            dest-fields="qymc,org_type,org_code"
+                                            code="qymc"
+                                            :multi="false"
+                                            @input="popupCallback"
+                                          />&ndash;&gt;
+                          </a-form-model-item>
+                        </a-col>
+                      </a-row>
+
+
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label='单位级别' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='orgType'>
+                        <j-dict-select-tag type="list" v-model="model.orgType" dictCode="dwjb" placeholder="请选择单位级别" @change='change' />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="上级单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sjdw">
+                           <j-popup
+                             v-model="model.sjdw"
+                             field="sjdw"
+                             org-fields="depart_name,id"
+                             dest-fields="sjdw,sjdwdm"
+                             code="sjdw"
+                             :multi="false"
+                             :param="param"
+                             @input="popupCallback"
+                           />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item  v-show="false" label="单位级别" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="org_type">
+                        <a-input   v-model="model.org_type" placeholder="请输入上级单位代码"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item v-show="false" label="单位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="org_code">
+                        <a-input  v-model="model.org_code" placeholder="请输入上级单位代码"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="统一社会信用编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tyshxybm">
+                        <a-input v-model="model.tyshxybm" placeholder="请输入统一社会信用编码"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label='机构类型' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='jglx'>
+                        <a-input type="list" v-model="model.qylx"  placeholder="请选择机构类型" @change='change' />
+                      </a-form-model-item>
+                    </a-col>
+          &lt;!&ndash;          <a-col :span="24" v-show='isQy'>&ndash;&gt;
+          &lt;!&ndash;            <a-form-model-item label="企业类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qylx">&ndash;&gt;
+          &lt;!&ndash;              <j-dict-select-tag type="list" v-model="model.qylx" dictCode="qylx" placeholder="请选择企业类型" @change='change' />&ndash;&gt;
+          &lt;!&ndash;            </a-form-model-item>&ndash;&gt;
+          &lt;!&ndash;          </a-col>&ndash;&gt;
+          &lt;!&ndash;          <a-col :span="24" v-show='isQy'>&ndash;&gt;
+          &lt;!&ndash;            <a-form-model-item label="国有资产持股比例(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gyzccgbl">&ndash;&gt;
+          &lt;!&ndash;              <a-input-number v-model="model.gyzccgbl" placeholder="请输入国有资产持股比例" style="width: 100%" :max='100' :min='0' :disabled='blDisable'/>&ndash;&gt;
+          &lt;!&ndash;              <a-icon class='info' type='question-circle-o' @click='info("gyzccgbl")'></a-icon>&ndash;&gt;
+          &lt;!&ndash;            </a-form-model-item>&ndash;&gt;
+          &lt;!&ndash;          </a-col>&ndash;&gt;
+                    <a-col :span="24" >
+                      <a-form-model-item label="是否涉及省内土地资产" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sfsjtdzc">
+                        <j-dict-select-tag type="list" v-model="model.sfsjtdzc" dictCode="sfsjtdzc" placeholder="请选择是否涉及省内土地资产" />
+                      </a-form-model-item>
+                      &lt;!&ndash;  <a-icon class='info' type='question-circle-o' @click='info("sfsjtdzc")'></a-icon>&ndash;&gt;
+                    </a-col>
+                    <a-col :span="24">
+                      <div style="text-align: center;font-size: larger;margin-bottom: 10px">联络人报名表</div>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="分管领导" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fgld">
+                        <a-input v-model="model.fgld" placeholder="请输入分管领导姓名"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="分管领导手机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fgldsjh">
+                        <a-input v-model="model.fgldsjh" placeholder="请输入分管领导手机号码"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="联络人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tbr">
+                        <a-input v-model="model.tbr" placeholder="请输入联络人姓名"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sjh">
+                        <a-input v-model="model.sjh" placeholder="请输入手机号"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span="24">
+                      <a-form-model-item label="座机号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lxdh">
+                        <a-input v-model="model.lxdh" placeholder="请输入座机号"  ></a-input>
+                      </a-form-model-item>
+                    </a-col>-->
+          <a-col :span="24">
+            <a-form-model-item label="统一社会信用代码证书" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tyshxydmzs">
+              <j-upload v-model='model.tyshxydmzs'></j-upload>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="审核是否通过" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shzt">
+              <j-dict-select-tag type="list" v-model="model.shzt" dictCode="shzt" placeholder="请选择审核是否通过" />
+            </a-form-model-item>
+          </a-col>
+
+          <a-col :span="24">
+            <a-form-model-item label="审核意见" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shyj">
+              <a-textarea v-model="model.shyj" rows="4" placeholder="请输入审核意见" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shren">
+              <a-input v-model="model.shren" placeholder="请输入审核人" disabled ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shsj">
+              <j-date placeholder="请选择审核时间"  v-model="model.shrq" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" disabled/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+  import { httpAction, getAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+  import store from '@/store'
+
+  export default {
+    name: 'QcQyxxForm',
+    components: {
+    },
+    props: {
+      //表单禁用
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      }
+    },
+    data () {
+      return {
+        blDisable:false,
+        model:{
+          gyzccgbl:0,
+         },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        confirmLoading: false,
+        validatorRules: {
+           qymc: [
+              { required: true, message: '请输入用地单位名称!'},
+           ],
+           tyshxybm: [
+              { required: true, message: '请输入统一社会信用编码!'},
+           ],
+           gyzccgbl: [
+              { required: true, message: '请输入国有资产持股比例!'},
+
+           ],
+            sfsjtdzc: [
+                { required: true, message: '请输入是否涉及省内土地资产!'},
+            ],
+          tyshxydmzs: [
+            { required: true, message: '请输入统一社会信用代码证书!'},
+          ],
+          shtg:[{
+            required: true, message: '请选择是否通过!'
+          }],
+            fgld: [
+                { required: true, message: '请输入分管领导姓名!'},
+            ],
+            fgldsjh: [
+                { required: true, message: '请输入分管领导手机号码!'},
+            ],
+            tbr: [
+                { required: true, message: '请输入联络人姓名!'},
+            ],
+            sjh: [
+                { required: true, message: '请输入联系手机号码!'},
+            ],
+            lxdh: [
+                { required: false, message: '请输入固定电话!'},
+            ],
+        },
+        url: {
+          add: "/qcsb.qyxx/qcQyxx/add",
+          edit: "/qcsb.qyxx/qcQyxx/edit",
+          queryById: "/qcsb.qyxx/qcQyxx/queryById"
+        }
+      }
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+       //备份model原始值
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      change(val){
+        if(val==='国有全资公司'){
+          this.model.gyzccgbl=100;
+          this.blDisable=true;
+        }else {
+          this.model.gyzccgbl=0;
+          this.blDisable=false;
+        }
+      },
+      popupCallback(row){
+
+      },
+      submitForm () {
+        const that = this;
+
+        // 触发表单验证
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            this.model.gyzccgbl=this.model.gyzccgbl;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+            })
+          }
+
+        })
+      },
+    }
+  }
+</script>

+ 95 - 0
UI2/src/views/sydwqcsb/sydwxx/modules/QcQyxxModal_tj.vue

@@ -0,0 +1,95 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    okText="保存"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭"
+    footer=""
+  >
+    <!-- 邱东宝 增加modal按钮调整到顶部 1-->
+    <template>
+      <div style="position: absolute;left: 10%;top:13px;">
+        <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;margin-right: 8px">保存</a-button>
+        <a-button @click="handleCancel">
+          关闭
+        </a-button>
+        <a-button v-if="this.result.sfsb == 3" @click="handleWCSH()" style=" margin-bottom: 0;margin-left: 8px">完成审核
+        </a-button>
+      </div>
+
+    </template>
+    <!--邱东宝 增加modal按钮调整到顶部 end-->
+    <qc-qyxx-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></qc-qyxx-form>
+  </j-modal>
+</template>
+
+
+<script>
+
+  import QcQyxxForm from './QcQyxxForm_tj'
+  import {getAction} from '@api/manage'
+  export default {
+    name: 'QcQyxxModal',
+    components: {
+      QcQyxxForm
+    },
+    data () {
+      return {
+        title:'',
+        result:{},
+        width:800,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.result=record
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleOk () {
+          this.disableSubmit=true
+        this.$refs.realForm.submitForm();
+      },
+      handleWCSH() {
+        new Promise((resolve, reject) => {
+          this.handleOk()
+          resolve()
+        }).then(() => {
+          getAction("/qcsb.qyxx/qcQyxx/wcsh", {id: this.result.id}).then(res => {
+
+            if (res.success == false) {
+              this.$message.error("出错了,请联系管理员!")
+            }
+          })
+        })
+
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>

+ 2 - 1
UI2/src/views/system/UserAnnouncementList.vue

@@ -80,7 +80,8 @@
       return {
         description: '系统通告表管理页面',
         queryParam: {},
-        columns: [{
+        columns: [
+          {
           title: '标题',
           align:"center",
           dataIndex: 'titile'

+ 9 - 2
UI2/src/views/tj/compoent/BarData.vue

@@ -31,6 +31,7 @@ export default {
     },
   },
   mounted() {
+    this.initDictConfig()
     /*setTimeout(() => {
       this.getPie();
     }, 1000)*/
@@ -49,7 +50,13 @@ export default {
     },
   },
   methods: {
-
+    initDictConfig() {
+      loadCategoryData({code: 'A04'}).then((res) => {
+        if (res.success) {
+          this.sjyt = res.result
+        }
+      })
+    },
     getPie() {
       const _this = this
       // 绘制图表
@@ -171,7 +178,7 @@ export default {
       // 使用刚指定的配置项和数据显示图表。
       var myChart = echarts.init(this.$refs.dom)
       myChart.on('click',(params)=>{
-        _this.$emit('visible',{sysOrgCode:params.name});
+        _this.$emit('visible',{sysOrgCode:params.name,sfsb:"3"});
 
       })
 

+ 1 - 1
UI2/src/views/tj/compoent/BarDobuleData.vue

@@ -165,7 +165,7 @@ export default {
       // 使用刚指定的配置项和数据显示图表。
       var myChart = echarts.init(this.$refs.dom)
       myChart.on('click', (params) => {
-        _this.$emit('visible', {xzqh: params.name});
+        _this.$emit('visible', {xzqh: params.name,sfsb:"3"});
       })
       myChart.setOption(option)
       /*window.addEventListener("resize", myChart.resize);*/

+ 3 - 2
UI2/src/views/tj/compoent/BarTdsjyt.vue

@@ -57,7 +57,6 @@ export default {
       loadCategoryData({code: 'A04'}).then((res) => {
         if (res.success) {
           this.sjyt = res.result
-          console.log(77777777777, this.sjyt)
         }
       })
     },
@@ -159,7 +158,9 @@ export default {
       myChart.on('click', (params) => {
         for (const param of this.sjyt) {
           if (param.title == params.name){
-            _this.$emit('visible', {sjyt: param.value});
+
+            _this.$emit('visible', {sjyt: param.value,sfsb:"3"});
+            _this.$emit('visibleSz', {pzyt: param.value,sfsb:"3"});
           }
 
         }

部分文件因文件數量過多而無法顯示