Comparer les révisions

...

207 Révisions

Auteur SHA1 Message Date
  庞东旭 dcab0e93c1 task 45021 终止、异常公告 il y a 15 heures
  庞东旭 b5269c829c Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 17 heures
  庞东旭 d56a1a5087 task 45021 终止、异常公告 il y a 17 heures
  Zhao 6fefd1df69 Task H5定位等待指示器 il y a 1 jour
  Zhao 0d7bd2bf37 Task H5定位 il y a 4 jours
  庞东旭 cb111b4050 task 配置修改 il y a 5 jours
  庞东旭 9338b88610 task 底部配置 il y a 6 jours
  yangfuda 45b081f296 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 6 jours
  yangfuda 358154e68c TASK 44818 河南0702JW需求后台开发-四议表决模块后台-补充二维码 il y a 6 jours
  张泽亮 85352595c6 产交报名时,增加竞价须知内容预览 il y a 1 semaine
  张泽亮 8aa848fee8 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 semaine
  张泽亮 8f28bfb7d2 产交报名时,增加竞价须知内容预览 il y a 1 semaine
  庞东旭 17cb114fbd task 44852 问题修改 il y a 1 semaine
  庞东旭 3e3440643d 问题修改 il y a 1 semaine
  庞东旭 72fc48059a 问题修改 il y a 1 semaine
  庞东旭 6c2b097197 问题修改 il y a 1 semaine
  庞东旭 16092d21ab 问题修改 il y a 1 semaine
  庞东旭 8c13637b16 问题修改 il y a 1 semaine
  庞东旭 b246b3e1f2 问题修改 il y a 1 semaine
  庞东旭 cc12ff40c2 问题修改 il y a 1 semaine
  庞东旭 6266f25fc8 阅读量 il y a 1 semaine
  庞东旭 35573eeaa3 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 2 semaines
  庞东旭 86e58a6054 0702JW需求开发 il y a 2 semaines
  zhaodengke 531503783b Task 筛选 il y a 3 semaines
  zhaodengke e90c2a5d98 Task 定位 il y a 3 semaines
  庞东旭 608907f8f3 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 mois
  庞东旭 d7cf4b5e5b 优化 il y a 1 mois
  张泽亮 92c9d7fdc9 先注释掉,有风险 il y a 1 mois
  张泽亮 620e159625 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 mois
  张泽亮 cb2aba82c9 哈尔滨确权需求 il y a 1 mois
  yangfuda 8cb509a4b3 TASK 44198 河南0620纪委需求后台开发 il y a 1 mois
  yangfuda 0439a747db Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 1 mois
  yangfuda 72ceafdf1b TASK 44198 河南0620纪委需求后台开发 il y a 1 mois
  庞东旭 d3c34b6cf9 更新 il y a 1 mois
  庞东旭 eb5dff891f 0620需求开发 il y a 1 mois
  庞东旭 fd998a81e8 0620 重要事项新增需求开发 il y a 1 mois
  庞东旭 f9338c658d 0620 重要事项新增需求开发 il y a 1 mois
  庞东旭 f76724cb40 0620 财务公开新增需求开发 il y a 1 mois
  庞东旭 f2e61156f9 缓存清理配置 il y a 1 mois
  庞东旭 3e97a0964e task 政策法规pdf文件预览 il y a 1 mois
  庞东旭 ab985c122f bug 24115 登录验证码 搜索问题修改 il y a 1 mois
  庞东旭 f2d4031a93 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 mois
  庞东旭 fc1c1171e1 bug 24115 登录验证码 搜索问题修改 il y a 1 mois
  zhaodengke 4c0d46a9fb Task 经营属性 il y a 1 mois
  yangfuda 79a544f5bb TASK 44066 在资产管理模块下增加“三清台账”功能 il y a 1 mois
  庞东旭 f1e9d54e44 task 44112 实施过程公开 il y a 1 mois
  庞东旭 783a00b8f2 task 44112 实施过程公开 il y a 1 mois
  庞东旭 d5f2504d54 task 44112 实施过程公开 il y a 1 mois
  庞东旭 480f77307b Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 mois
  庞东旭 600ae6e5df task 44112 实施过程公开 il y a 1 mois
  zhaodengke af7e38c6d8 Task 经营属性 il y a 1 mois
  yangfuda e2c9b114b6 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 1 mois
  yangfuda 09e70dc7b0 TASK 44066 在资产管理模块下增加“三清台账”功能 il y a 1 mois
  zhaodengke 2c6fe9c2a3 Task 资源定位 il y a 1 mois
  zhaodengke 2c104674ca Task 定位 il y a 1 mois
  zhaodengke 41f41d2007 Task 资源筛选3 il y a 1 mois
  zhaodengke a4c1a7c1c2 Task 资源筛选2 il y a 1 mois
  zhaodengke 7783862710 Task 资源筛选 il y a 1 mois
  zhaodengke 0d65569b77 Task 资产折旧计算 il y a 1 mois
  zhaodengke 7e47fbffe6 Task 农户dengl il y a 1 mois
  yangfuda d26a641824 TASK 43633 完善app端内蒙农商行相关功能、解决一些发现的问题 il y a 2 mois
  yangfuda e0a9320347 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 3 mois
  yangfuda 37c076e840 移动端:公开登录bug修复 il y a 3 mois
  张泽亮 34e9bc527d 阳光村务:资源公开不滑动分页问题临时处理 il y a 3 mois
  张泽亮 b6c0d86685 移动端:公资产公开数量字段对应错误 il y a 3 mois
  庞东旭 4704489b1e Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 3 mois
  庞东旭 fb80ff81bc task 43078 优化 il y a 3 mois
  张泽亮 51b1dc1600 移动端:公开登录bug修复 il y a 3 mois
  庞东旭 2786bfa40a task 43078 优化 il y a 3 mois
  庞东旭 ef8fd7f604 task 43078 公开接口更换 il y a 3 mois
  庞东旭 4166b6f821 task 43078 公开接口更换 il y a 3 mois
  庞东旭 116640f56d Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 3 mois
  庞东旭 1f247069a8 task 43078 阳光村务加急需求开发 il y a 3 mois
  yangfuda 9ad66e76fa TASK 43066 河南代理记账小程序加急需求-完善重大事项申请 il y a 3 mois
  yangfuda 7037af3855 TASK 43066 河南代理记账小程序加急需求-完善重大事项申请 il y a 3 mois
  yangfuda 3775b4c8b4 补全APP端重大事项申请 il y a 3 mois
  yangfuda 8af9256ace 银农:app中收款方选择时显示卡号、开户行选择时可搜索、新增申请单时付款账户默认第一个 il y a 3 mois
  庞东旭 990cd9847e task 42343 阳光村务财务公开问题修改 il y a 4 mois
  yangfuda b5f1742da7 TASK 42268 右江银农:广西农商行支付对接短信 il y a 4 mois
  yangfuda 1cda066931 TASK 42268 右江银农:广西农商行支付对接短信 il y a 4 mois
  yangfuda 1c6cf2253d 银农:各个模块列表加搜索;限制内蒙农商行转账附言长度 il y a 4 mois
  yangfuda d98edd0607 银农:去掉申请单中收款方的开户行必填校验 il y a 4 mois
  庞东旭 d2ae56c93e task 41397 移动端 “银行卡转账” 添加收款方时,可以输入人名模糊搜索 il y a 4 mois
  庞东旭 7715aac60f task 41397 移动端 “银行卡转账” 添加收款方时,可以输入人名模糊搜索 il y a 4 mois
  庞东旭 7fb3b45da4 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 4 mois
  庞东旭 9d7c414604 task 41397 移动端 “银行卡转账” 添加收款方时,可以输入人名模糊搜索 il y a 4 mois
  zhaodengke dea3719075 Task 农户 il y a 4 mois
  yangfuda 563740f059 银农:头像、广西农商行开放批量申请 il y a 4 mois
  yangfuda 9c6a289900 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 4 mois
  yangfuda 149bd3ef25 银农:头像、广西农商行开放批量申请 il y a 4 mois
  zhaodengke dcefd888ee Task 凭证附件 il y a 4 mois
  zhaodengke 02d6db13d8 Task 银农登录去掉短信登录 il y a 4 mois
  zhaodengke 20a5819f7e Task 凭证列表 il y a 6 mois
  庞东旭 02ee0269ba task 阳光村务手机端优化 il y a 7 mois
  庞东旭 390d347586 task 银农手机端开户行优化 il y a 7 mois
  庞东旭 eacb0c9425 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 7 mois
  庞东旭 9bf7a8ff67 task 乳山产交手机端兼容性修改 il y a 7 mois
  yangfuda 96168b9f7d Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 7 mois
  yangfuda 130c4b3e4a 银农:建行的申请单改为支持同行跨行在同一个单子中 il y a 7 mois
  zhaodengke bfcb240f73 Task 零工登记 il y a 7 mois
  zhaodengke d339cd922f Task 综合公开2 il y a 7 mois
  zhaodengke f74cc7873b Task 综合公开2 il y a 7 mois
  zhaodengke c2c110b264 Task 综合公开 il y a 7 mois
  zhaodengke e3b59e29e2 Task 综合公开 il y a 7 mois
  yangfuda e35f8d2818 银农:增加待支付和支付记录模块 il y a 7 mois
  yangfuda b5eecae044 银农:增加待支付和支付记录模块 il y a 7 mois
  yangfuda 47fa66f775 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 8 mois
  yangfuda 5921895f02 银农:完善待办已办 il y a 8 mois
  张泽亮 70cedf603e 向store塞入用户deptID il y a 8 mois
  zhaodengke 6a9b8e80f3 Task 事项 il y a 8 mois
  庞东旭 c9700d8352 task 银农手机端待办事项列表问题修改 il y a 9 mois
  庞东旭 9b8467de2b Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 9 mois
  庞东旭 5e8d0c703c task 乳山产交短信验证码登录修复 il y a 9 mois
  zhaodengke ae2f146038 Task 事项 il y a 9 mois
  zhaodengke b18d331970 Bug 错误时列表无限刷新 il y a 9 mois
  zhaodengke bc82f96296 Bug 错误时列表无限刷新 il y a 9 mois
  zhaodengke 8c186903bf Task 合同签订审批 il y a 9 mois
  zhaodengke f9cf321c86 Task 资产处置审批 il y a 9 mois
  zhaodengke 5222fc1bf6 Task 资产处置审批 il y a 9 mois
  zhaodengke 90d4a8f718 Task 用章事项审批 il y a 9 mois
  庞东旭 ce6ca50fa7 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 9 mois
  庞东旭 159c101ea0 task 银农手机端工作台顶部账套所属切换 il y a 9 mois
  zhaodengke 48318dea6f Task 重大事项审批 il y a 9 mois
  庞东旭 1548736156 task 乳山产交 il y a 9 mois
  庞东旭 ba45c62833 task 22985 【首页】【新闻资讯】——缺少【更多】功能,及相应列表 il y a 9 mois
  庞东旭 2e53fdfa52 task 产交手机端问题修改 il y a 9 mois
  庞东旭 37882f3f2d Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 9 mois
  庞东旭 3a87164965 task 产交手机端问题修改 il y a 9 mois
  张泽亮 24af5b062a 提交 注释地名 il y a 9 mois
  zhaodengke 045f43ed27 Task 零工事项 il y a 9 mois
  zhaodengke b16e2b44cf Task 零工事项 il y a 9 mois
  zhaodengke 2ab6b94d30 Task master同步 il y a 9 mois
  zhaodengke 99ff9aee2b Task 游客零工公开 il y a 9 mois
  zhaodengke 82b0050c9d Task 游客零工公开 il y a 9 mois
  zhaodengke fa66565219 Task 个人零工公开 il y a 9 mois
  zhaodengke 024f389d52 Task 零工登记 il y a 9 mois
  zhaodengke 5917cdf724 Task 零工公开 il y a 9 mois
  Xyq123* d96ed41928 阳光村务-增加事中、事后公开字段 il y a 10 mois
  庞东旭 2e2cbd613a task 银农已办 il y a 10 mois
  庞东旭 5bd8315763 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 10 mois
  庞东旭 c686863db1 task 产权交易手机端、阳光村务手机端 升级 il y a 10 mois
  张泽亮 a5ef7f65e6 bug 待办不分系统 il y a 11 mois
  张泽亮 6a95515f35 bug deptId 初始化 il y a 11 mois
  庞东旭 2d86ba3d71 task 银农待办优化 il y a 11 mois
  庞东旭 848d7e0c8f Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 11 mois
  庞东旭 b739a251aa task 乳山产交图标 il y a 11 mois
  庞东旭 922f6bf8b7 task 银农待办优化 il y a 11 mois
  QI_YUJIE f9d0eee602 task 银农直联 资金申请审批bug修改 il y a 11 mois
  QI_YUJIE feea9dfd47 task 银农直联 资金申请审批查看附件 il y a 11 mois
  张泽亮 a39865b2fe 去掉老流程的方法 ,没有同步升级手机端!!! il y a 11 mois
  QI_YUJIE 85dc13c1e2 task 银农直联 资金审批申请 il y a 11 mois
  yangfuda 8c5b3d6d41 银农:审批历史查看问题修复 il y a 1 an
  yangfuda de3a5ceaa9 银农:审批流程入参bug修复 il y a 1 an
  张泽亮 9c075ecbad 审批流程入参bug修复 il y a 1 an
  yangfuda 69ec4c89d8 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 1 an
  yangfuda cf92eddc73 银农:完善待办已办 il y a 1 an
  张泽亮 06c293a7bc 文案 il y a 1 an
  庞东旭 a61c072392 task 乳山产交 价格指数 il y a 1 an
  庞东旭 530c35fcc0 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 an
  庞东旭 24936d6de4 task 银农登录 页面适配优化 il y a 1 an
  yangfuda ef2ee0dda7 Merge remote-tracking branch 'origin/rongxin_dev' into rongxin_dev il y a 1 an
  yangfuda efc1eeded4 银农:申请单中显示付款账户余额 il y a 1 an
  庞东旭 ce42cda755 task 阳光村务 惠农资金公开 il y a 1 an
  庞东旭 6d5fecb9d0 task 乳山产交 倒计时定时器清理处理 il y a 1 an
  庞东旭 dc2ddc4679 task 乳山产交 报名用户审核字段判断 il y a 1 an
  zhaodengke fec99c5922 Task 资产地图 il y a 1 an
  庞东旭 860b3bee03 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 an
  庞东旭 a03f0a0b74 task 乳山产交 增加新闻附件显示 il y a 1 an
  QI_YUJIE 116ad1ddcf task 土地确权 发包方功能调整 il y a 1 an
  庞东旭 47265576b9 task 乳山产交 线下竞价判断 il y a 1 an
  QI_YUJIE 2fe9bee560 task 土地确权 承包地块功能调整 il y a 1 an
  QI_YUJIE c3cf55d86f task 土地确权 承包方整户状态 il y a 1 an
  QI_YUJIE 336afae336 task 土地确权 承包地块功能调整 il y a 1 an
  张泽亮 5144b669b5 文案 il y a 1 an
  QI_YUJIE d8b9276f3e task 土地确权 承包合同功能调整 il y a 1 an
  QI_YUJIE 4c58d88f95 task 土地确权 承包方家庭成员功能调整 il y a 1 an
  QI_YUJIE 66e9c9cb5c task 土地确权 承包方信息功能调整 il y a 1 an
  Xyq123* adb3396a34 二轮延包-承包方、承包方家庭成员字段 il y a 1 an
  庞东旭 e1827dc2cd task 全局API使用修改 il y a 1 an
  庞东旭 5260e60645 Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 an
  庞东旭 328431a3b5 task 全局API使用修改 il y a 1 an
  Xyq123* fc3d2d6da7 银农-银行转账申请、备付金支出申请测试问题处理 il y a 1 an
  Xyq123* 94e44175c1 银农-银行转账申请、备付金支出申请测试问题处理 il y a 1 an
  Xyq123* d10ffafad4 银农-银行转账申请、备付金支出申请测试问题处理 il y a 1 an
  Xyq123* 8fc5b9fac0 银农-银行转账申请、备付金支出申请测试问题处理 il y a 1 an
  庞东旭 a123148d31 Merge branch 'rongxin_dev' of http://116.255.223.226:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 an
  庞东旭 a4520f584f task 虫害APP页面切图 il y a 1 an
  yangfuda a1454d46de 银农:新增收款方-自动拆分收款方、收款账号 il y a 1 an
  zhaodengke 66381130b6 Task 资产地图 il y a 1 an
  庞东旭 d619060552 task 银农事项审批页面升级 个人中心待办已办数据对接 il y a 1 an
  庞东旭 e965bb25e5 Merge branch 'rongxin_dev' of http://116.255.223.226:3000/zhangzl/nsgk_mobile into rongxin_dev il y a 1 an
  庞东旭 ffcedbfc75 task 银农事项审批页面升级 il y a 1 an
  Xyq123* 1ac5334095 银农-银行转账申请、备付金支出申请自定义审批 il y a 1 an
  庞东旭 f7b3e3aedd task 虫害APP il y a 1 an
  庞东旭 a765092dd8 task 阳光村务: il y a 1 an
  庞东旭 5ecff83ce2 task 乳山产交 开户省市JSON修改 il y a 1 an
  Xyq123* 72d6bb73e9 宅基地系统-手机端宅基地申请、退出、有偿使用复测问题修改 il y a 1 an
  QI_YUJIE 7085267711 task 产权交易系统 会员注册查看新版审批流程 il y a 1 an
  Xyq123* 37fdf8ea13 宅基地系统-手机端宅基地申请、退出测试记录问题修改 il y a 1 an
  张泽亮 5335d3d07a Merge branch 'master' into rongxin_dev il y a 1 an
  Xyq123* 254461a90f 宅基地系统-宅基地退出优化 il y a 1 an
  Xyq123* de4fbcfec2 宅基地系统-宅基地申请文件验证 il y a 1 an
  Xyq123* c2cec50255 宅基地系统-自定义审批、收费计划 il y a 1 an
  makaba 39a36bed3c task 阳光村务 新增 收支表 盈余表 公开表 il y a 1 an
  makaba 2e1b4f7f60 task 收支表 盈余表 公开表 图片 il y a 1 an
  张泽亮 f209f674ed Merge branch 'master' into rongxin_dev il y a 1 an
  makaba c49f26dbf9 task 合同信息 借款计划 新增附件 il y a 1 an
100 fichiers modifiés avec 3732 ajouts et 459 suppressions
  1. +1
    -1
      config/index.js
  2. +5
    -3
      index.html
  3. +24
    -32
      package-lock.json
  4. +2
    -2
      package.json
  5. +17
    -0
      src/api/audit/aaudit.js
  6. +44
    -0
      src/api/audit/aauditmodel.js
  7. +76
    -0
      src/api/audit/aauditpipeline.js
  8. +1
    -1
      src/api/contracted/cbf.js
  9. +9
    -0
      src/api/finance/voucher.js
  10. +4
    -0
      src/api/homesteadSurvey/zjdzd.js
  11. +34
    -0
      src/api/notice/index.js
  12. +80
    -0
      src/api/onlineHome/bankAgriculture/cashExpense.js
  13. +78
    -11
      src/api/onlineHome/bankAgriculture/paymentApproval.js
  14. +16
    -2
      src/api/onlineHome/homestead/paidUtilize.js
  15. +64
    -0
      src/api/onlineHome/homestead/ycsysfmx.js
  16. +12
    -0
      src/api/onlineHome/villageAffairs.js
  17. +8
    -0
      src/api/register/index.js
  18. +272
    -0
      src/api/sunVillage_info/fixedAssets.js
  19. +33
    -0
      src/api/sunVillage_info/homestead/application.js
  20. +6
    -1
      src/api/sunVillage_info/homestead/paidExit.js
  21. +65
    -0
      src/api/sunVillage_info/otherOpen.js
  22. +46
    -0
      src/api/sunVillage_info/registration.js
  23. +19
    -0
      src/api/sunVillage_info/subcontract.js
  24. +98
    -0
      src/api/sunVillage_info/three.js
  25. +22
    -13
      src/api/user/index.js
  26. +29
    -0
      src/api/yinnong/yinnongApproval.js
  27. BIN
      src/assets/images/finance/theApproved.png
  28. BIN
      src/assets/images/icon/index_header_focus.png
  29. BIN
      src/assets/images/location/mark.png
  30. BIN
      src/assets/images/sunVillage_info/PDF.png
  31. BIN
      src/assets/images/sunVillage_info/PPT.png
  32. BIN
      src/assets/images/sunVillage_info/RAR.png
  33. BIN
      src/assets/images/sunVillage_info/icon-s-attachment.png
  34. BIN
      src/assets/images/sunVillage_info/icon-s-filter.png
  35. BIN
      src/assets/images/sunVillage_info/icon-s-fliter.png
  36. BIN
      src/assets/images/sunVillage_info/icon-s-rmb.png
  37. BIN
      src/assets/images/sunVillage_info/icon_registration.png
  38. BIN
      src/assets/images/sunVillage_info/index_block_27.png
  39. BIN
      src/assets/images/sunVillage_info/index_block_28.png
  40. BIN
      src/assets/images/sunVillage_info/index_block_29.png
  41. BIN
      src/assets/images/sunVillage_info/index_block_30.png
  42. BIN
      src/assets/images/sunVillage_info/index_block_31.png
  43. BIN
      src/assets/images/sunVillage_info/index_block_zonghegongkai.png
  44. BIN
      src/assets/images/sunVillage_info/index_code_btn_15.png
  45. BIN
      src/assets/images/sunVillage_info/index_code_btn_16.png
  46. BIN
      src/assets/images/sunVillage_info/index_code_btn_17.png
  47. BIN
      src/assets/images/sunVillage_info/index_code_btn_18.png
  48. BIN
      src/assets/images/sunVillage_info/index_code_btn_19.png
  49. BIN
      src/assets/images/sunVillage_info/index_code_btn_zonghegongkai.png
  50. BIN
      src/assets/images/sunVillage_info/index_icon_14.png
  51. BIN
      src/assets/images/sunVillage_info/index_icon_15.png
  52. BIN
      src/assets/images/sunVillage_info/signature_icon_01z.png
  53. BIN
      src/assets/images/weather/tianqi-baoxue.png
  54. BIN
      src/assets/images/weather/tianqi-baoyu.png
  55. BIN
      src/assets/images/weather/tianqi-daxue.png
  56. BIN
      src/assets/images/weather/tianqi-dayu.png
  57. BIN
      src/assets/images/weather/tianqi-duoyun.png
  58. BIN
      src/assets/images/weather/tianqi-feng.png
  59. BIN
      src/assets/images/weather/tianqi-fuchen.png
  60. BIN
      src/assets/images/weather/tianqi-leizhenyu.png
  61. BIN
      src/assets/images/weather/tianqi-qing.png
  62. BIN
      src/assets/images/weather/tianqi-shachenbao.png
  63. BIN
      src/assets/images/weather/tianqi-wu.png
  64. BIN
      src/assets/images/weather/tianqi-wumai.png
  65. BIN
      src/assets/images/weather/tianqi-xiaoxue.png
  66. BIN
      src/assets/images/weather/tianqi-xiaoyu.png
  67. BIN
      src/assets/images/weather/tianqi-yangsha.png
  68. BIN
      src/assets/images/weather/tianqi-yin.png
  69. BIN
      src/assets/images/weather/tianqi-zhenxue.png
  70. BIN
      src/assets/images/weather/tianqi-zhenyu.png
  71. BIN
      src/assets/images/weather/tianqi-zhongxue.png
  72. BIN
      src/assets/images/weather/tianqi-zhongyu.png
  73. +5
    -0
      src/assets/maps/plotPremises_huancui.json
  74. +5
    -0
      src/assets/maps/qu_huancui.json
  75. +215
    -3
      src/components/Map/MapGisLine.vue
  76. +214
    -2
      src/components/Map/MapGisTagDTGCopy.vue
  77. +205
    -0
      src/components/common/PagedList.vue
  78. +219
    -0
      src/components/common/Selector.vue
  79. +112
    -0
      src/components/common/nav_bar.vue
  80. +5
    -4
      src/components/common/nav_footer.vue
  81. +160
    -0
      src/components/form/CommonUpload.vue
  82. +5
    -0
      src/components/form/FieldDatePicker.vue
  83. +2
    -0
      src/components/form/FieldSelect.vue
  84. +11
    -2
      src/components/form/SubjectTreeChooser.vue
  85. +254
    -226
      src/components/home/HomeApplyUploadComp.vue
  86. +4
    -4
      src/components/home/HomeApplyUploadCompTc.vue
  87. +1
    -2
      src/components/house/CommonMap.vue
  88. +6
    -6
      src/components/house/MultiImageUploadComp.vue
  89. +69
    -4
      src/permission.js
  90. +751
    -21
      src/router/index.js
  91. +8
    -1
      src/store/modules/user.js
  92. +21
    -0
      src/utils/finance.js
  93. +0
    -2
      src/utils/global.js
  94. +12
    -5
      src/utils/request.js
  95. +53
    -96
      src/views/biddingHall/index.vue
  96. +18
    -6
      src/views/contracted/village/contractor/contractWord.vue
  97. +1
    -1
      src/views/contracted/village/contractor/contractor.vue
  98. +113
    -2
      src/views/contracted/village/contractor/contractorDetail.vue
  99. +133
    -3
      src/views/contracted/village/contractor/contractorDetailAdd.vue
  100. +65
    -3
      src/views/contracted/village/contractor/contractorFamily.vue

+ 1
- 1
config/index.js Voir le fichier

@@ -12,7 +12,7 @@ module.exports = {
proxyTable: {
"/api": {
// 请求的目标主机
// target: 'http://116.255.223.226:8082/nsgk_test/', // 公网测试环境
//target: 'http://218.59.175.44:8082/nsgk_test/', // 公网测试环境
// target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境
target: 'http://localhost:8080/',
//target: 'http://192.168.0.106:8080/',


+ 5
- 3
index.html Voir le fichier

@@ -3,13 +3,15 @@

<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" />
<!--<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">-->
<link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico">
<script src="/static/js/ol.js"></script>
<!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=cc4aba6e967096098249efa069733067"></script>-->
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1"></script>
<title>农燊高科</title>
<title>COMPANY</title>
</head>

<body>


+ 24
- 32
package-lock.json Voir le fichier

@@ -5,25 +5,20 @@
"requires": true,
"dependencies": {
"@babel/runtime": {
"version": "7.13.9",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.9.tgz",
"integrity": "sha512-aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==",
"version": "7.24.4",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.4.tgz",
"integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==",
"requires": {
"regenerator-runtime": "^0.13.4"
"regenerator-runtime": "^0.14.0"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.13.7",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
"version": "0.14.1",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
}
}
},
"@popperjs/core": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.0.tgz",
"integrity": "sha512-wjtKehFAIARq2OxK8j3JrggNlEslJfNuSm2ArteIbKyRMts2g0a7KzTxfRVNUM+O0gnBJ2hNV8nWPOYBgI1sew=="
},
"@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
@@ -41,22 +36,19 @@
"integrity": "sha512-efv7Yl/OTHjyy0irhJJPtgZb5mJZmroEtVOa8vkGRNTLY93+NgEcVuIBaC35hYCMsTrPHDQRvQGnI9Hyhtto0Q=="
},
"@vant/icons": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.5.2.tgz",
"integrity": "sha512-Gy2mFIgObvCh1azp6LklQYsNFrCjMLxf/mEzHD6WV0pZbMBNjsb7bWvAjPo3Wygo9IVtGqi/36wrtosv3PkyRg=="
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/@vant/icons/-/icons-3.0.2.tgz",
"integrity": "sha512-4OlRVMd0uiDtD9hgSISZW8hB95vU0fFtc41tQchRIyiXkR0tS+DydZOLb8/bQkithrNWhW7Uud38MbKjlJ9lJw=="
},
"@vant/popperjs": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.0.4.tgz",
"integrity": "sha512-bqbmOoX0kYexGw65awNX9wxePR0ZIdTlVP+7JRahrbUjKW0+HxC2T27NE90cCDmqiFL/6+QYazhLvVa436jV0A==",
"requires": {
"@popperjs/core": "^2.5.4"
}
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
"integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
},
"@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA=="
"version": "1.4.0",
"resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
"integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA=="
},
"@zxing/library": {
"version": "0.18.6",
@@ -4286,7 +4278,7 @@
"fastclick": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz",
"integrity": "sha1-FhYlsnsaWAZAWTa9qaLBkm0Gvmo=",
"integrity": "sha512-cXyDBT4g0uWl/Xe75QspBDAgAWQ0lkPi/zgp6YFEUHj6WV6VIZl7R6TiDZhdOVU3W4ehp/8tG61Jev1jit+ztQ==",
"dev": true
},
"fastparse": {
@@ -4441,7 +4433,7 @@
"font-awesome.css": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/font-awesome.css/-/font-awesome.css-4.7.2.tgz",
"integrity": "sha1-B1pCARQo8gJyVO9phgx1ergWyVI="
"integrity": "sha512-FIyRbig4PDY15NGzejM3b8OQ/lWvId8PHnE4CnuDtc8/YYs07cvnqLCyfvIJPwJl5SA/Rq+9jAe9W+Fr1pv0DA=="
},
"for-in": {
"version": "1.0.2",
@@ -12277,13 +12269,13 @@
}
},
"vant": {
"version": "2.12.8",
"resolved": "https://registry.npmjs.org/vant/-/vant-2.12.8.tgz",
"integrity": "sha512-2Rs/LDGg+Dz2AbWRM88EmnH1OTDSB1vcWFZ8pIlHEUraLUM6SvwsqtMpLrnn15KZA1RToeKbrv0MZOVfzoEpSQ==",
"version": "2.13.2",
"resolved": "https://registry.npmmirror.com/vant/-/vant-2.13.2.tgz",
"integrity": "sha512-anZbbLqXCq+rUJk10D67mn+V/1/i9tfOTdoR+64B0e+0BzV3KFgpHBF76noLa+yX9i/L+8DeL560WMk0GEN38g==",
"requires": {
"@babel/runtime": "7.x",
"@vant/icons": "1.5.2",
"@vant/popperjs": "^1.0.0",
"@vant/icons": "^3.0.2",
"@vant/popperjs": "^1.1.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"vue-lazyload": "1.2.3"
}
@@ -12360,7 +12352,7 @@
"vue-html5-editor": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/vue-html5-editor/-/vue-html5-editor-1.1.1.tgz",
"integrity": "sha1-WRAhCoMNjI00eaHx/shHMZKqA7M=",
"integrity": "sha512-Ckmb8djta+XQMUQaxRcCUNBXEzjPF5p6c2nQ5ICcIuR8eYz4b0HAGzXlSDfL3ZxkrVHO2Hx0VrUORLu2Lwem4g==",
"dev": true
},
"vue-lazyload": {


+ 2
- 2
package.json Voir le fichier

@@ -10,9 +10,9 @@
"build": "node build/build.js"
},
"dependencies": {
"bignumber.js": "^9.1.2",
"@vant/area-data": "^1.2.2",
"axios": "^0.21.1",
"bignumber.js": "^9.1.2",
"echarts": "^5.3.3",
"element-ui": "^2.15.6",
"font-awesome": "^4.7.0",
@@ -29,7 +29,7 @@
"quill": "^1.3.7",
"sass": "^1.32.8",
"sass-loader": "^6.0.6",
"vant": "^2.12.8",
"vant": "^2.13.2",
"vue": "^2.5.2",
"vue-baidu-map": "^0.21.22",
"vue-cookies": "^1.7.4",


+ 17
- 0
src/api/audit/aaudit.js Voir le fichier

@@ -0,0 +1,17 @@
export const AAUDIT_INTENT = {
NONE: '', // 无
VIEW: 'VIEW', // 查看
AUDIT: 'audit', // 审批
HISTORY: 'history', // 审批历史
PIPELINE: 'pipeline', // 审批流程图
};
export const AAUDIT_STATUS = {
/* READY : "1", // 未提交
AUDITING : "3", // 审批中
PASS : "5", // 审批通过
REJECT : "7", // 审批驳回 */
READY : "0", // 未提交
AUDITING : "1", // 审批中
PASS : "3", // 审批通过
REJECT : "2", // 审批驳回
};

+ 44
- 0
src/api/audit/aauditmodel.js Voir le fichier

@@ -0,0 +1,44 @@
import request from '@/utils/request'

// 查询审批模板列表
export function A_listAuditModel(query) {
return request({
url: '/open/home/mobile/modelList',
method: 'get',
params: query
})
}

// 查询审批模板详细
export function A_getAuditModel(id) {
return request({
url: '/approval/auditmodel/get/' + id,
method: 'get'
})
}

// 新增审批模板
export function A_addAuditModel(data) {
return request({
url: '/approval/auditmodel/add',
method: 'post',
data: data
})
}

// 修改审批模板
export function A_updateAuditModel(data) {
return request({
url: '/approval/auditmodel/edit',
method: 'post',
data: data
})
}

// 删除审批模板
export function A_deleteAuditModel(id) {
return request({
url: '/approval/auditmodel/remove/' + id,
method: 'post'
})
}

+ 76
- 0
src/api/audit/aauditpipeline.js Voir le fichier

@@ -0,0 +1,76 @@
import request from '@/utils/request'

// 我的待办列表
export function A_myTodoList(query) {
return request({
url: '/approval/audit/todoList',
method: 'get',
params: query
})
}

// 我的已办列表
export function A_myDoneList(query) {
return request({
url: '/approval/audit/doneList',
method: 'get',
params: query
})
}

// 审批历史列表
export function A_auditHistoryList(id, query) {
return request({
url: '/approval/audit/historyList/' + id,
method: 'get',
params: query
})
}

// 获取后台流程图地址
export function A_pipelineImageUrl(no, format = 'png') {
return `/approval/audit/pipeline/${no}.${format}`;
}

// 审批状态列表
export function A_pipelineState(no) {
return request({
url: '/approval/audit/pipelineState/' + no,
method: 'get',
})
}

// 审批批次列表
export function A_auditBatchList(no) {
return request({
url: '/approval/audit/auditBatchList/' + no,
method: 'get',
})
}

// 审批历史详情
export function A_auditHistoryDetail(id, parms) {
return request({
url: '/approval/audit/history/' + id,
method: 'get',
params: parms,
})
}

// 审批
export function A_audit(data) {
return request({
url: '/approval/audit/audit',
method: 'post',
data: data,
})
}

// 提交
export function A_start(data) {
return request({
url: '/open/home/mobile/start',
method: 'post',
data: data,
})
}

+ 1
- 1
src/api/contracted/cbf.js Voir le fichier

@@ -46,7 +46,7 @@ export function updateCbf(data) {
// 删除承包方信息
export function deleteCbf(id) {
return request({
url: '/service/cbf/mobile/remove/' + id,
url: '/service/cbf/delete/' + id,
method: 'get'
});
}


+ 9
- 0
src/api/finance/voucher.js Voir le fichier

@@ -0,0 +1,9 @@
import request from '@/utils/request'

export const voucherList = (data) => {
return request({
url: '/finance/voucher/list',
method: 'get',
params: data
})
}

+ 4
- 0
src/api/homesteadSurvey/zjdzd.js Voir le fichier

@@ -114,3 +114,7 @@ export function surveyInspectByZjddm(zjddm) {
method: 'get'
})
}

export function submitUploadImageList() {
// missing???
}

+ 34
- 0
src/api/notice/index.js Voir le fichier

@@ -27,6 +27,40 @@ export function Attestation(query) {
})
}

//终止公告
export function outProjectTerminate(query) {
return request({
url: '/transaction/website/outproject/terminate',
method: 'get',
params: query
})
}

//终止公告
export function outProjectDetail(id) {
return request({
url: '/transaction/website/outproject/terminate/id/'+id,
method: 'get'
})
}

//终止公告
export function outProjectException(query) {
return request({
url: '/transaction/website/outproject/exception',
method: 'get',
params: query
})
}

//终止公告
export function outProjectExceptionDetail(id) {
return request({
url: '/transaction/website/outproject/exception/id/'+id,
method: 'get'
})
}

//成交公告
export function noticeDetails(id) {
return request({


+ 80
- 0
src/api/onlineHome/bankAgriculture/cashExpense.js Voir le fichier

@@ -0,0 +1,80 @@
import request from '@/utils/request'

// 查询资金审批申请列表
export function listCashExpense(query) {
return request({
url: '/yinnong/cashExpense/list',
method: 'get',
params: query
})
}

// 统计查询资金审批申请列表
export function statisticCashExpense(query) {
return request({
url: '/yinnong/cashExpense/statistic',
method: 'get',
params: query
})
}

// 导出资金审批申请
export function exportCashExpense(query) {
return request({
url: '/yinnong/cashExpense/export',
method: 'get',
params: query
})
}

// 查询资金审批申请详细
export function getCashExpense(id) {
return request({
url: '/yinnong/cashExpense/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 新增资金审批申请
export function addCashExpense(data) {
return request({
url: '/yinnong/cashExpense/add',
method: 'post',
data: data
})
}

// 修改资金审批申请
export function updateCashExpense(data) {
return request({
url: '/yinnong/cashExpense/edit',
method: 'post',
data: data
})
}

// 删除资金审批申请
export function delCashExpense(id) {
return request({
url: '/yinnong/cashExpense/remove/' + id,
method: 'get'
})
}

// 资金申请审批
export function applyCashExpense(id) {
return request({
url: '/yinnong/cashExpense/submitApply/' + id,
method: 'get'
});
}

// 撤销资金申请审批
export function revokeCashExpense(id) {
return request({
url: '/yinnong/cashExpense/revokeApply/' + id,
method: 'get'
});
}


+ 78
- 11
src/api/onlineHome/bankAgriculture/paymentApproval.js Voir le fichier

@@ -8,6 +8,58 @@ export function listTransfer(query) {
params: query
})
}
// 查询银行转账待支付列表
export function payList(query) {
return request({
url: '/yinnong/transfer/payList',
method: 'get',
params: query
})
}
// 查询银行转账支付记录列表
export function payRecordList(query) {
return request({
url: '/yinnong/transfer/payRecordList',
method: 'get',
params: query
})
}
// 支付
export function pay(query) {
return request({
url: '/yinnong/transfer/pay',
method: 'get',
params: query
})
}
export function sendSms(query) {
return request({
url: '/yinnong/transfer/sendSms',
method: 'get',
params: query
})
}
// 核实结果
export function transactionStatusQuery(id) {
return request({
url: '/yinnong/transfer/transactionStatusQuery/' + id,
method: 'get'
})
}
// 支付复核
export function editDoubleConfirmationStatus(id) {
return request({
url: '/yinnong/transfer/editDoubleConfirmationStatus/' + id,
method: 'get'
})
}
// 重置银行转账=撤回
export function resetTYinnongTransfer(id) {
return request({
url: '/yinnong/transfer/resetTYinnongTransfer/' + id,
method: 'get'
})
}
// 查询现金提现申请列表
export function listCash(query) {
return request({
@@ -23,16 +75,17 @@ export function getTransfer(id) {
method: 'get'
})
}
export function transactionStatusQuery(id) {
//重新申请
export function reapply(id) {
return request({
url: '/yinnong/transfer/transactionStatusQuery/' + id,
url: '/yinnong/transfer/reapply/' + id,
method: 'get'
})
}
export function reapply(id) {
//取消支付
export function reapplyDraft(id) {
return request({
url: '/yinnong/transfer/reapply/' + id,
url: '/yinnong/transfer/reapplyDraft/' + id,
method: 'get'
})
}
@@ -194,7 +247,7 @@ export function addCashdetail(data) {
// 查询转账账户详情详细
export function getTransferProcess(id) {
return request({
url: '/yinnong/transfer/getProcessSchedule/' + id,
url: '/yinnong/transfer/getProcessScheduleInfoNew/' + id,
method: 'get'
})
}
@@ -223,12 +276,12 @@ export function getQmyeFlow(id) {
})
}

// 查询当前账期余额
// 审批
export function approval(data) {
return request({
url: '/activiti/process/complete',
url: '/approval/audit/audit',
method: 'post',
params:data
data:data
})
}

@@ -316,6 +369,13 @@ export function getTransferProcess1(id) {
method: 'get'
})
}
// 查询出纳账户设置详细
export function getCashierAccount(id) {
return request({
url: '/cashier/account/get/' + id,
method: 'get'
})
}

// 查询出纳账户设置列表
export function listAccount(query) {
@@ -388,8 +448,15 @@ export function addMajorevent(data) {
// 提交审批
export function customSubmitMajorevent(id) {
return request({
url: '/yinnong/majorevent/customSubmit/' + id,
method: 'post'
url: '/yinnong/majorevent/customSubmitNew/' + id,
method: 'get'
})
}
// 撤回
export function updateTYinnongMajoreventFoStatus(id) {
return request({
url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus/' + id,
method: 'get'
})
}
// 查询重大事项申请详细


+ 16
- 2
src/api/onlineHome/homestead/paidUtilize.js Voir le fichier

@@ -43,8 +43,22 @@ export function ycsyAdd(data){
data:data
})
}


// 生成收费计划
export function generateFeePlan(data) {
return request({
url: '/home/ycsy/generateFeePlan',
method: 'post',
data: data
})
}
//有偿使用超期
export function overdueList(data) {
return request({
url:'/home/ycsy/overdueList',
method:'get',
params:data
})
}
//使用权人查询
export function listByDeptId(){
return request({


+ 64
- 0
src/api/onlineHome/homestead/ycsysfmx.js Voir le fichier

@@ -0,0 +1,64 @@
import request from '@/utils/request'

// 查询有偿收费明细列表
export function listYcsysfmx(query) {
return request({
url: '/home/ycsysfmx/list',
method: 'get',
params: query
})
}

// 统计查询有偿收费明细列表
export function statisticYcsysfmx(query) {
return request({
url: '/home/ycsysfmx/statistic',
method: 'get',
params: query
})
}

// 导出有偿收费明细
export function exportYcsysfmx(query) {
return request({
url: '/home/ycsysfmx/export',
method: 'get',
params: query
})
}

// 查询有偿收费明细详细
export function getYcsysfmx(id) {
return request({
url: '/home/ycsysfmx/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 新增有偿收费明细
export function addYcsysfmx(data) {
return request({
url: '/home/ycsysfmx/add',
method: 'post',
data: data
})
}

// 修改有偿收费明细
export function updateYcsysfmx(data) {
return request({
url: '/home/ycsysfmx/edit',
method: 'post',
data: data
})
}

// 删除有偿收费明细
export function delYcsysfmx(id) {
return request({
url: '/home/ycsysfmx/remove/' + id,
method: 'get'
})
}


+ 12
- 0
src/api/onlineHome/villageAffairs.js Voir le fichier

@@ -17,3 +17,15 @@ export function getVillageAffairs(id) {
})
}

// 查询地区下的账套列表
export function bookListByDept(deptId, bookType) {
console.log(deptId);
return request({
url: '/open/villageAffairs/public/bookList/' + deptId,
method: 'get',
params: {
bookType,
},
})
}


+ 8
- 0
src/api/register/index.js Voir le fichier

@@ -70,3 +70,11 @@ export function depositList(query) {
})
}

export function farmerLogin(data) {
return request({
url: '/register/farmerLogin',
method: 'post',
data: data,
})
}


+ 272
- 0
src/api/sunVillage_info/fixedAssets.js Voir le fichier

@@ -279,6 +279,45 @@ export function majorEventPublicList(query) {
params: query
})
}
// 重要事项公开列表
export function importantList(query) {
return request({
url: '/open/villageAffairs/public/importantList',
method: 'get',
params: query
})
}
// 重要事项公开详情
export function importantDetail(query) {
return request({
url: '/open/villageAffairs/public/importantDetail',
method: 'get',
params: query
})
}
// 重要事项公开新增
export function subcontractAdd(data) {
return request({
url: '/subcontract/event/add',
method: 'post',
data: data
})
}
// 重要事项公开修改
export function subcontractEdit(data) {
return request({
url: '/subcontract/event/edit',
method: 'post',
data: data
})
}
// 重要事项公开删除
export function subcontractRemove(id) {
return request({
url: '/subcontract/event/remove/' + id,
method: 'get'
})
}
// 财务公开详情
export function financePublicDetail(query) {
return request({
@@ -425,6 +464,15 @@ export function listOddjob(query) {
})
}

// 查询零工登记详细
export function getOddjobDetail(bookId, id) {
return request({
url: '/open/villageAffairs/public/oddjobDetail',
method: 'get',
params: {bookId, id},
})
}

// 新增零工登记
export function addOddjob(data) {
return request({
@@ -1210,3 +1258,227 @@ export const assetLiabilityReportByExpTpl = (data) => {
params: data
})
}

// 查询四议两公开列表
export function listOther(query) {
return request({
url: '/subcontract/other/list',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function listSiyigongkai(query) {
return request({
url: '/subcontract/siyigongkai/list',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function listOtherOpen(query) {
return request({
url: '/open/villageAffairs/public/otherPublicList',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function listSiyigongkaiOpen(query) {
return request({
url: '/open/villageAffairs/public/siyigongkaiList',
method: 'get',
params: query
})
}

// 查询四议两公开详细
export function otherPublicDetailN(id) {
return request({
url: '/open/villageAffairs/public/otherPublicDetail?id=' + id,
method: 'get'
})
}

// 查询四议两公开详细
export function otherPublicDetailOpen(id) {
return request({
url: '/open/villageAffairs/public/otherPublicDetail?id=' + id,
method: 'get'
})
}

// 查询四议两公开详细
export function getSiyigongkai(id) {
return request({
url: '/subcontract/siyigongkai/get/' + id,
method: 'get'
})
}

// 查询四议两公开详细
export function getSiyigongkaiOpen(id, bookId) {
return request({
url: '/open/villageAffairs/public/siyigongkaiDetail',
method: 'get',
params: { id, bookId }
})
}

// 修改四议两公开
export function updateSiyigongkai(data) {
return request({
url: '/subcontract/siyigongkai/edit',
method: 'post',
data: data
})
}

// 新增四议两公开
export function addSiyigongkai(data) {
return request({
url: '/subcontract/siyigongkai/add',
method: 'post',
data: data
})
}

// 删除四议两公开
export function delSiyigongkai(id) {
return request({
url: '/subcontract/siyigongkai/remove/' + id,
method: 'get'
})
}

// 查询四议两公开列表
export function specialPublicityList(query) {
return request({
url: '/open/villageAffairs/public/specialPublicityList',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function specialPublicityDetail(query) {
return request({
url: '/open/villageAffairs/public/specialPublicityDetail',
method: 'get',
params: query
})
}
// 查询四议表决详情
export function specialPublicityVote(query) {
return request({
url: '/open/villageAffairs/public/specialVote',
method: 'get',
params: query
})
}
// 新增表决记录
export function votedetailAdd(data) {
return request({
url: '/open/villageAffairs/public/votedetailAdd',
method: 'post',
data: data
})
}

// 查询四议两公开列表
export function addReadCount(query) {
return request({
url: '/open/villageAffairs/public/addReadCount',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function specialPublicityEdit(data) {
return request({
url: '/subcontract/publicity/edit',
method: 'post',
data: data
})
}

// 查询四议两公开列表
export function specialPublicityAdd(data) {
return request({
url: '/subcontract/publicity/add',
method: 'post',
data: data
})
}

// 删除四议两公开
export function specialPublicityRemove(id) {
return request({
url: '/subcontract/publicity/remove/' + id,
method: 'get'
})
}

// 查询四议两公开列表
export function updateSpecialPublicityCount(query) {
return request({
url: '/open/villageAffairs/public/updateSpecialPublicityCount',
method: 'get',
params: query
})
}

// 收支明细公开
export function financialPublicDetailReport(query) {
return request({
url: '/open/finance/financialPublicDetailReport',
method: 'get',
params: query
})
}


// 收支明细公开
export function jyxzcqkgkList(query) {
return request({
url: '/open/asset/jyxzcqkgk/list',
method: 'get',
params: query
})
}

// 收支明细公开
export function jyxzyqkgkList(query) {
return request({
url: '/open/assetresource/jyxzyqkgk/list',
method: 'get',
params: query
})
}

export function jyxzcqkgkDetail(id) {
return request({
url: '/open/asset/jyxzcqkgk/detail/' + id,
method: 'get'
})
}

export function jyxzyqkgkDetail(id) {
return request({
url: '/open/assetresource/jyxzyqkgk/detail/' + id,
method: 'get'
})
}

// 收支明细公开
export function webList(query) {
return request({
url: '/open/typz/list',
method: 'get',
params: query
})
}

+ 33
- 0
src/api/sunVillage_info/homestead/application.js Voir le fichier

@@ -196,6 +196,22 @@ export function customSubmitWLHT(id) {
method: 'post'
})
}
//新增地房申请(新)
export function submitApplication(id) {
return request({
url: '/open/home/mobile/submitApplication/' + id,
method: 'post'
})
}

// 新增地房申请-开工申请(新)
export function submitStart(id) {
return request({
url: '/open/home/mobile/submitStart/'+id,
method: 'post',
})
}

// 新增地房申请-开工申请
export function submitStartWLHT(id) {
return request({
@@ -213,6 +229,14 @@ export function updateStart(data) {
})
}

// 提交地房申请-验收意见(新)
export function submitCheck(id) {
return request({
url: '/open/home/mobile/submitCheck/'+id,
method: 'post',
})
}

// 提交地房申请-验收意见(乌兰浩特 简化流程)
export function submitEndWLHT(id) {
return request({
@@ -257,3 +281,12 @@ export function updateOpretion(id) {
method: 'post'
})
}


//获取用地建房申请状态信息
export function getHomeApplyStatus(id) {
return request({
url: '/open/home/mobile/homeApplyStatusNew/'+id,
method: 'get'
})
}

+ 6
- 1
src/api/sunVillage_info/homestead/paidExit.js Voir le fichier

@@ -87,7 +87,12 @@ export function zyyctcApply(id){
method:'post',
})
}

export function zyyctcApplyNew(id){
return request({
url:'/open/home/mobile/paidExitSubmitApplyNew/'+id,
method:'post',
})
}
// 查询权利人列表
export function getShyqrs(query) {
return request({


+ 65
- 0
src/api/sunVillage_info/otherOpen.js Voir le fichier

@@ -0,0 +1,65 @@
import request from '@/utils/request'

// 查询其他公开列表
export function listOther(query) {
return request({
url: '/subcontract/other/list',
method: 'get',
params: query
})
}

// 查询其他公开详细
export function getOther(id) {
return request({
url: '/subcontract/other/get/' + id,
method: 'get'
})
}

// 新增其他公开
export function addOther(data) {
return request({
url: '/subcontract/other/add',
method: 'post',
data: data
})
}

// 修改其他公开
export function updateOther(data) {
return request({
url: '/subcontract/other/edit',
method: 'post',
data: data
})
}

// 删除其他公开
export function delOther(id) {
return request({
url: '/subcontract/other/remove/' + id,
method: 'get'
})
}

// 查询其他公开列表 游客
export function otherOpenList(query) {
return request({
url: '/open/villageAffairs/public/otherPublicList',
method: 'get',
params: query
})
}

// 查询其他公开详细 游客
export function otherOpenDetail(id) {
return request({
url: '/open/villageAffairs/public/otherPublicDetail',
method: 'get',
params: {
id,
},
})
}


+ 46
- 0
src/api/sunVillage_info/registration.js Voir le fichier

@@ -0,0 +1,46 @@
import request from '@/utils/request'

// 查询零工事项列表
export function listRegistration(query) {
return request({
url: '/subcontract/registration/list',
method: 'get',
params: query
})
}

// 查询零工事项详细
export function getRegistration(id) {
return request({
url: '/subcontract/registration/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 新增零工事项
export function addRegistration(data) {
return request({
url: '/subcontract/registration/add',
method: 'post',
data: data
})
}

// 修改零工事项
export function updateRegistration(data) {
return request({
url: '/subcontract/registration/edit',
method: 'post',
data: data
})
}

// 删除零工事项
export function delRegistration(id) {
return request({
url: '/subcontract/registration/remove/' + id,
method: 'get'
})
}


+ 19
- 0
src/api/sunVillage_info/subcontract.js Voir le fichier

@@ -0,0 +1,19 @@
import request from '@/utils/request'

// 查询零工事项列表
export function registrationList(query) {
return request({
url: '/open/villageAffairs/public/registrationList',
method: 'get',
params: query
})
}

// 查询零工事项详细
export function registrationDetail(bookId, id) {
return request({
url: '/open/villageAffairs/public/registrationDetail',
method: 'get',
params: {bookId, id},
})
}

+ 98
- 0
src/api/sunVillage_info/three.js Voir le fichier

@@ -0,0 +1,98 @@
import request from '@/utils/request'

// 查询三清台账列表
export function listThree(query) {
return request({
url: '/asset/three/list',
method: 'get',
params: query
})
}

// 统计查询三清台账列表
export function statisticThree(query) {
return request({
url: '/asset/three/statistic',
method: 'get',
params: query
})
}

// 导出三清台账
export function exportThree(query) {
return request({
url: '/asset/three/export',
method: 'get',
params: query
})
}

// 查询三清台账详细
export function getThree(id) {
return request({
url: '/asset/three/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 新增三清台账
export function addThree(data) {
return request({
url: '/asset/three/add',
method: 'post',
data: data
})
}

// 修改三清台账
export function updateThree(data) {
return request({
url: '/asset/three/edit',
method: 'post',
data: data
})
}

// 删除三清台账
export function delThree(id) {
return request({
url: '/asset/three/remove/' + id,
method: 'get'
})
}

// 清空空间字段
export function clearThreeGeom(id) {
return request({
url: '/asset/three/clear/' + id,
method: 'get',
})
}
//上传全局方法附件
export function commonAttach(data) {
return request({
url: '/common/attach',
method: 'post',
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data: data
})
}
//查询已上传附件
export const attachmentList = (data) => {
return request({
url: '/system/attachment/query',
method: 'get',
params: data
})
}
//删除已上传附件
export function systemAttachment(ids) {
if (ids != undefined) {
return request({
url: '/system/attachment/remove/' + ids,
method: 'get'
})
}
}


+ 22
- 13
src/api/user/index.js Voir le fichier

@@ -51,7 +51,7 @@ export function base64Attach(query){
export function deleteUserImg(id){
return request({
url: '/transaction/member/deleteImg/attachId/'+id,
method: 'delete',
method: 'get',
})
}

@@ -193,6 +193,15 @@ export function realtimeList(query){
})
}

// 查询审批历史
export function auditHistoryList(params) {
return request({
url: '/transaction/website/auditHistory/list',
method: 'get',
params: params
});
}

export const options = [
{
"value": "北京",
@@ -1289,23 +1298,23 @@ export const options = [
"value": "海东",
"label": "海东",
}, {
"value": "海北",
"label": "海北",
"value": "海北",
"label": "海北",
}, {
"value": "黄南",
"label": "黄南",
"value": "黄南",
"label": "黄南",
}, {
"value": "海南",
"label": "海南",
"value": "海南",
"label": "海南",
}, {
"value": "果洛",
"label": "果洛",
"value": "果洛",
"label": "果洛",
}, {
"value": "玉树",
"label": "玉树",
"value": "玉树",
"label": "玉树",
}, {
"value": "海西",
"label": "海西",
"value": "海西",
"label": "海西",
}]
}, {
"value": "宁夏",


+ 29
- 0
src/api/yinnong/yinnongApproval.js Voir le fichier

@@ -0,0 +1,29 @@
import request from '@/utils/request'

// 查询用章申请详细
export function getSeal(id) {
return request({
url: '/yinnong/seal/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 查询资产处置详细
export function getAsset(id) {
return request({
url: '/yinnong/asset/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 查询合同签订详细
export function getContraction(id) {
return request({
url: '/yinnong/contraction/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}


BIN
src/assets/images/finance/theApproved.png Voir le fichier

Avant Après
Largeur: 123  |  Hauteur: 60  |  Taille: 5.5 KiB

BIN
src/assets/images/icon/index_header_focus.png Voir le fichier

Avant Après
Largeur: 7  |  Hauteur: 9  |  Taille: 988 B

BIN
src/assets/images/location/mark.png Voir le fichier

Avant Après
Largeur: 48  |  Hauteur: 48  |  Taille: 482 B

BIN
src/assets/images/sunVillage_info/PDF.png Voir le fichier

Avant Après
Largeur: 200  |  Hauteur: 196  |  Taille: 6.1 KiB

BIN
src/assets/images/sunVillage_info/PPT.png Voir le fichier

Avant Après
Largeur: 200  |  Hauteur: 196  |  Taille: 5.0 KiB

BIN
src/assets/images/sunVillage_info/RAR.png Voir le fichier

Avant Après
Largeur: 196  |  Hauteur: 192  |  Taille: 2.8 KiB

BIN
src/assets/images/sunVillage_info/icon-s-attachment.png Voir le fichier

Avant Après
Largeur: 25  |  Hauteur: 25  |  Taille: 4.0 KiB

BIN
src/assets/images/sunVillage_info/icon-s-filter.png Voir le fichier

Avant Après
Largeur: 47  |  Hauteur: 34  |  Taille: 1.5 KiB Largeur: 47  |  Hauteur: 34  |  Taille: 1.5 KiB

BIN
src/assets/images/sunVillage_info/icon-s-fliter.png Voir le fichier

Avant Après
Largeur: 47  |  Hauteur: 34  |  Taille: 1.5 KiB

BIN
src/assets/images/sunVillage_info/icon-s-rmb.png Voir le fichier

Avant Après
Largeur: 25  |  Hauteur: 25  |  Taille: 3.9 KiB

BIN
src/assets/images/sunVillage_info/icon_registration.png Voir le fichier

Avant Après
Largeur: 64  |  Hauteur: 64  |  Taille: 3.1 KiB

BIN
src/assets/images/sunVillage_info/index_block_27.png Voir le fichier

Avant Après
Largeur: 65  |  Hauteur: 58  |  Taille: 4.3 KiB

BIN
src/assets/images/sunVillage_info/index_block_28.png Voir le fichier

Avant Après
Largeur: 65  |  Hauteur: 58  |  Taille: 3.5 KiB

BIN
src/assets/images/sunVillage_info/index_block_29.png Voir le fichier

Avant Après
Largeur: 65  |  Hauteur: 58  |  Taille: 3.6 KiB

BIN
src/assets/images/sunVillage_info/index_block_30.png Voir le fichier

Avant Après
Largeur: 65  |  Hauteur: 58  |  Taille: 2.5 KiB

BIN
src/assets/images/sunVillage_info/index_block_31.png Voir le fichier

Avant Après
Largeur: 65  |  Hauteur: 58  |  Taille: 2.8 KiB

BIN
src/assets/images/sunVillage_info/index_block_zonghegongkai.png Voir le fichier

Avant Après
Largeur: 64  |  Hauteur: 64  |  Taille: 3.4 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_15.png Voir le fichier

Avant Après
Largeur: 355  |  Hauteur: 134  |  Taille: 16 KiB Largeur: 355  |  Hauteur: 134  |  Taille: 16 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_16.png Voir le fichier

Avant Après
Largeur: 355  |  Hauteur: 134  |  Taille: 17 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_17.png Voir le fichier

Avant Après
Largeur: 355  |  Hauteur: 134  |  Taille: 13 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_18.png Voir le fichier

Avant Après
Largeur: 355  |  Hauteur: 134  |  Taille: 12 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_19.png Voir le fichier

Avant Après
Largeur: 355  |  Hauteur: 134  |  Taille: 13 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_zonghegongkai.png Voir le fichier

Avant Après
Largeur: 355  |  Hauteur: 134  |  Taille: 14 KiB

BIN
src/assets/images/sunVillage_info/index_icon_14.png Voir le fichier

Avant Après
Largeur: 69  |  Hauteur: 55  |  Taille: 3.3 KiB

BIN
src/assets/images/sunVillage_info/index_icon_15.png Voir le fichier

Avant Après
Largeur: 69  |  Hauteur: 55  |  Taille: 3.8 KiB

BIN
src/assets/images/sunVillage_info/signature_icon_01z.png Voir le fichier

Avant Après
Largeur: 19  |  Hauteur: 19  |  Taille: 513 B

BIN
src/assets/images/weather/tianqi-baoxue.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 690 B

BIN
src/assets/images/weather/tianqi-baoyu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 584 B

BIN
src/assets/images/weather/tianqi-daxue.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 585 B

BIN
src/assets/images/weather/tianqi-dayu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 577 B

BIN
src/assets/images/weather/tianqi-duoyun.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 496 B

BIN
src/assets/images/weather/tianqi-feng.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 638 B

BIN
src/assets/images/weather/tianqi-fuchen.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 364 B

BIN
src/assets/images/weather/tianqi-leizhenyu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 557 B

BIN
src/assets/images/weather/tianqi-qing.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 439 B

BIN
src/assets/images/weather/tianqi-shachenbao.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 527 B

BIN
src/assets/images/weather/tianqi-wu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 492 B

BIN
src/assets/images/weather/tianqi-wumai.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 575 B

BIN
src/assets/images/weather/tianqi-xiaoxue.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 561 B

BIN
src/assets/images/weather/tianqi-xiaoyu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 532 B

BIN
src/assets/images/weather/tianqi-yangsha.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 429 B

BIN
src/assets/images/weather/tianqi-yin.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 505 B

BIN
src/assets/images/weather/tianqi-zhenxue.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 550 B

BIN
src/assets/images/weather/tianqi-zhenyu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 556 B

BIN
src/assets/images/weather/tianqi-zhongxue.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 564 B

BIN
src/assets/images/weather/tianqi-zhongyu.png Voir le fichier

Avant Après
Largeur: 24  |  Hauteur: 24  |  Taille: 547 B

+ 5
- 0
src/assets/maps/plotPremises_huancui.json Voir le fichier

@@ -0,0 +1,5 @@
{"student":[
{"name":"张三","address":"河南","age":20},
{"name":"李四","address":"北京","age":25},
{"name":"王五","address":"上海","age":30}
]}

+ 5
- 0
src/assets/maps/qu_huancui.json Voir le fichier

@@ -0,0 +1,5 @@
{"student":[
{"name":"张三","address":"河南","age":20},
{"name":"李四","address":"北京","age":25},
{"name":"王五","address":"上海","age":30}
]}

+ 215
- 3
src/components/Map/MapGisLine.vue Voir le fichier

@@ -1,17 +1,20 @@
<template>
<div>
<!-- <p class="fuTitle">地块位置绘制</p>-->
<div id="full-screen-acceptance" style="width: 100%;height:71vh;">
<div id="full-screen-acceptance" style="width: 100%;height:71vh; position: relative;">
<div :id=this.uuidMap style="width: 100%;height: 100%"></div>
<div id='land-btn-wrap'>
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" @click="" type="primary">画图</el-button>-->
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/>&nbsp;&nbsp;-->
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" type="primary">重置图层</el-button>-->
<input :id="locationMap" type="button" class="ant-btn ant-btn-red" value="定位"/>&nbsp;&nbsp;
<input :id="this.drawingPolygonMap" class="ant-btn ant-btn-red" type="button" value="画图"/>&nbsp;&nbsp;
<input :id="this.drawingResetMap" type="button" class="ant-btn ant-btn-red" value="重置图层"/>
</div>

<div v-if="hasSelectLocationMode" class="location-mode-chooser-btn"><input type="button" class="ant-btn ant-btn-red" value="选择定位方式" @click="selectLocationMode"/></div>
</div>
<div style="font-size: 13px; padding-top: 5px;">备注信息:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div>
<div style="font-size: 13px; padding-top: 5px;">备注:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div>
<div id="info" style="display: none"></div>
</div>
</template>
@@ -20,6 +23,7 @@
import {getQueryLand} from "@/api/homesteadSurvey/zjdzd";
import $ from "jquery";
import { getConfigKey } from "@/api/system/config";
import {Toast} from "vant";

export default {
components: {
@@ -31,6 +35,7 @@ export default {
uuidMap: this.guidProduct(),
drawingPolygonMap: this.guidProduct(),
drawingResetMap: this.guidProduct(),
locationMap: this.guidProduct(),
mapGeoServerUrl: "", // geoserver地址
villageBorderLayerName: "", // 乡镇边界图层名称
};
@@ -42,6 +47,20 @@ export default {
// 获取村边界的图层名称
this.getVillageBorderLayerName();
},
computed: {
isAndroid() {
return !!window._Native_object;
},
hasSelectLocationMode() {
return this.isAndroid && typeof(window._Native_object.SelectLocationMode) === 'function';
},
hasGetLocationTimeout() {
return this.isAndroid && typeof(window._Native_object.GetLocationTimeout) === 'function';
},
hasGetLocationMode() {
return this.isAndroid && typeof(window._Native_object.GetLocationMode) === 'function';
},
},
methods: {
// 获取geoserver的地址
getGeoServerUrl() {
@@ -72,6 +91,112 @@ export default {
return v.toString(16);
});
},
selectLocationMode() {
if(this.hasSelectLocationMode)
{
let res = window._Native_object.SelectLocationMode();
console.log('当前选择定位模式: ' + res);
}
},
getLocationMode() {
let mode = '';
if(this.hasGetLocationMode)
{
mode = window._Native_object.GetLocationMode();
}
console.log('当前选择定位模式: ' + mode);
return mode;
},
getLocationTimeout() {
let timeout = 30000;
if(this.isAndroid)
{
let to = window._Native_object.GetLocationTimeout();
if(to <= 0)
to = 30000;
timeout = to;
}
console.log('当前选择定位超时: ' + timeout);
return timeout;
},
getCurrentLocation(callback) {
// 1. 首先尝试Android宿主端
if(this.isAndroid) // Android层注入全局对象
{
let mode = this.getLocationMode();
if(mode !== 'h5')
{
console.log('使用Native获取定位');
let coord = window._Native_object.GetLocation(null);
console.log('Native坐标: ' + coord);
if(coord)
{
let arr = coord.split(',');
let res = {
code: 200,
data: {
lng: arr[0],
lat: arr[1],
},
};
callback(res);
return;
}
}
}

// 2. 再尝试浏览器
if (navigator.geolocation) {
console.log('使用浏览器获取定位');
const loading = Toast.loading({
message: '定位中...',
duration: 0,
});
let timeout = this.getLocationTimeout();
navigator.geolocation.getCurrentPosition(
(position) => {
const { latitude, longitude } = position.coords;
console.log('浏览器定位结果: 经纬度=' + longitude + ', ' + latitude);
let res = {
code: 200,
data: {
lng: longitude,
lat: latitude,
},
};
loading.clear();
callback(res);
},
(error) => {
loading.clear();
console.log('定位失败: ' + error.message);
getQueryLand().then(callback);
},
{ enableHighAccuracy: true, timeout: timeout }
);
return;
}

// 最后使用地区坐标
console.log('使用地区坐标定位');
getQueryLand().then(callback);
},
getDeptLocation(callback) {
getQueryLand().then((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
var lat = InsertCode.lat;
var lng = InsertCode.lng;
if(lat !=null && lng !=null && lat !="" && lng !=""){
callback(response);
return;
}
}
}
this.getCurrentLocation(callback);
});
},
//地图查看
drawingPaceCountryLine() {
//加载地图编辑
@@ -80,6 +205,45 @@ export default {
//var hc_land;
var draw; // global so we can remove it later
var vector_drawing;

var mark_layer = null;
function addMark(lng, lat) {
if(!mark_layer)
{
mark_layer = new ol.layer.Vector({
source: new ol.source.Vector(),
});
map.addLayer(mark_layer);
}
else
mark_layer.getSource().clear();

let newFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.fromLonLat([lng, lat])), //几何信息
//name: "标注点",
});
newFeature.setStyle(new ol.style.Style({
image: new ol.style.Icon({
//设置图标偏移
anchor: [0.5, 0.5],
//标注样式的起点位置
anchorOrigin: "top-right",
//X方向单位:分数
anchorXUnits: "fraction",
//Y方向单位:像素
anchorYUnits: "fraction",
//偏移起点位置的方向
offsetOrigin: "top-right",
//透明度
opacity: 0.9,
//图片路径
src: require('../../assets/images/location/mark.png'),
}),
zIndex: 9999,
}));
mark_layer.getSource().addFeature(newFeature);
}

if (that.message != null && that.message != ""
&& that.message != undefined) {
document.getElementById(that.uuidMap).innerHTML = '';
@@ -297,6 +461,27 @@ export default {
that.formSubmit();
}
});
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
} else{
//this.closeMoule = null;
document.getElementById(that.uuidMap).innerHTML = '';
@@ -326,7 +511,7 @@ export default {
});
//获取坐标是否存在
var Zb;
getQueryLand().then((response) => {
this.getDeptLocation((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
@@ -442,6 +627,27 @@ export default {
//that.closeMoule = null;
that.formSubmit();
});
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
}
},
},
@@ -484,4 +690,10 @@ export default {
z-index: 2000;
padding-top: 5%;
}
.location-mode-chooser-btn {
position: absolute;
right: 0;
bottom: 0;
z-index: 2000;
}
</style>

+ 214
- 2
src/components/Map/MapGisTagDTGCopy.vue Voir le fichier

@@ -1,12 +1,15 @@
<template>
<div>
<div id="full-screen-acceptance" style="width: 100%;height:71vh;">
<div id="full-screen-acceptance" style="width: 100%;height:71vh; position: relative;">
<div :id=this.uuidMap style="width: 100%;height: 100%"></div>
<div id='land-btn-wrap' v-show="showBtn">
<input :id="locationMap" type="button" class="ant-btn ant-btn-red" value="定位"/>&nbsp;&nbsp;
<input :id="this.drawPolygonMap" class="ant-btn ant-btn-red" type="button" value="标记"/>&nbsp;&nbsp;
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/>&nbsp;&nbsp;-->
<input :id="this.drawResetMap" type="button" class="ant-btn ant-btn-red" value="重置标记"/>
</div>

<div v-if="hasSelectLocationMode" class="location-mode-chooser-btn"><input type="button" class="ant-btn ant-btn-red" value="选择定位方式" @click="selectLocationMode"/></div>
</div>
<div style="font-size: 1.4vh; padding-top: 5px;">备注:黄色标记表示该资产,蓝色标记表示本账套已标记的其他资产</div>
<div id="info" style="display: none"></div>
@@ -18,6 +21,7 @@
import Cookies from "js-cookie";
import {getQueryLand} from "@/api/homesteadSurvey/zjdzd";
import { getConfigKey } from "@/api/system/config";
import {Toast} from "vant";

export default {
data() {
@@ -27,6 +31,7 @@
uuidMap: this.guidProduct(),
drawPolygonMap: this.guidProduct(),
drawResetMap: this.guidProduct(),
locationMap: this.guidProduct(),
mapGeoServerUrl: "", // geoserver地址
villageBorderLayerName: "", // 乡镇边界图层名称
};
@@ -38,6 +43,20 @@
// 获取村边界的图层名称
this.getVillageBorderLayerName();
},
computed: {
isAndroid() {
return !!window._Native_object;
},
hasSelectLocationMode() {
return this.isAndroid && typeof(window._Native_object.SelectLocationMode) === 'function';
},
hasGetLocationTimeout() {
return this.isAndroid && typeof(window._Native_object.GetLocationTimeout) === 'function';
},
hasGetLocationMode() {
return this.isAndroid && typeof(window._Native_object.GetLocationMode) === 'function';
},
},
methods: {
// 获取geoserver的地址
getGeoServerUrl() {
@@ -68,6 +87,112 @@
return v.toString(16);
});
},
selectLocationMode() {
if(this.hasSelectLocationMode)
{
let res = window._Native_object.SelectLocationMode();
console.log('当前选择定位模式: ' + res);
}
},
getLocationMode() {
let mode = '';
if(this.hasGetLocationMode)
{
mode = window._Native_object.GetLocationMode();
}
console.log('当前选择定位模式: ' + mode);
return mode;
},
getLocationTimeout() {
let timeout = 10000;
if(this.hasGetLocationMode)
{
let to = window._Native_object.GetLocationTimeout();
if(to <= 0)
to = 30000;
timeout = to;
}
console.log('当前选择定位超时: ' + timeout);
return timeout;
},
getCurrentLocation(callback) {
// 1. 首先尝试Android宿主端
if(this.isAndroid) // Android层注入全局对象
{
let mode = this.getLocationMode();
if(mode !== 'h5')
{
console.log('使用Native获取定位');
let coord = window._Native_object.GetLocation(null);
console.log('Native坐标: ' + coord);
if(coord)
{
let arr = coord.split(',');
let res = {
code: 200,
data: {
lng: arr[0],
lat: arr[1],
},
};
callback(res);
return;
}
}
}

// 2. 再尝试浏览器
if (navigator.geolocation) {
console.log('使用浏览器获取定位');
const loading = Toast.loading({
message: '定位中...',
duration: 0,
});
let timeout = this.getLocationTimeout();
navigator.geolocation.getCurrentPosition(
(position) => {
const { latitude, longitude } = position.coords;
console.log('浏览器定位结果: 经纬度=' + longitude + ', ' + latitude);
let res = {
code: 200,
data: {
lng: longitude,
lat: latitude,
},
};
loading.clear();
callback(res);
},
(error) => {
loading.clear();
console.log('定位失败: ' + error.message);
getQueryLand().then(callback);
},
{ enableHighAccuracy: true, timeout: timeout }
);
return;
}

// 最后使用地区坐标
console.log('使用地区坐标定位');
getQueryLand().then(callback);
},
getDeptLocation(callback) {
getQueryLand().then((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
var lat = InsertCode.lat;
var lng = InsertCode.lng;
if(lat !=null && lng !=null && lat !="" && lng !=""){
callback(response);
return;
}
}
}
this.getCurrentLocation(callback);
});
},
//地图查看
pointPaceCountryDarw() {
//加载地图编辑
@@ -76,6 +201,45 @@
//var hc_land;
var draw; // global so we can remove it later
var vector_drawing;

var mark_layer = null;
function addMark(lng, lat) {
if(!mark_layer)
{
mark_layer = new ol.layer.Vector({
source: new ol.source.Vector(),
});
map.addLayer(mark_layer);
}
else
mark_layer.getSource().clear();

let newFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.fromLonLat([lng, lat])), //几何信息
//name: "标注点",
});
newFeature.setStyle(new ol.style.Style({
image: new ol.style.Icon({
//设置图标偏移
anchor: [0.5, 0.5],
//标注样式的起点位置
anchorOrigin: "top-right",
//X方向单位:分数
anchorXUnits: "fraction",
//Y方向单位:像素
anchorYUnits: "fraction",
//偏移起点位置的方向
offsetOrigin: "top-right",
//透明度
opacity: 0.9,
//图片路径
src: require('../../assets/images/location/mark.png'),
}),
zIndex: 9999,
}));
mark_layer.getSource().addFeature(newFeature);
}

//矢量标注样式设置函数,设置image为图标ol.style.Icon
function createLabelStyle() {
return new ol.style.Style({
@@ -337,6 +501,27 @@
that.formSubmit();
}
});
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
}
else{
this.closeMoule = null;
@@ -368,7 +553,7 @@
//获取坐标是否存在
var Zb;
//开始定位当前位置
getQueryLand().then(res => {
this.getDeptLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
@@ -519,6 +704,27 @@
that.closeMoule = null;
that.formSubmit();
});
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
}
},
},
@@ -561,4 +767,10 @@
z-index: 2000;
padding-top: 5%;
}
.location-mode-chooser-btn {
position: absolute;
right: 0;
bottom: 0;
z-index: 2000;
}
</style>

+ 205
- 0
src/components/common/PagedList.vue Voir le fichier

@@ -0,0 +1,205 @@
<template>
<van-pull-refresh v-model="stateRefreshing" @refresh="getList()">
<van-list
v-model="stateLoading"
:finished="stateFinished"
finished-text="没有更多了"
@load="getList('+1')"
>
<slot name="default"/>
</van-list>
</van-pull-refresh>
</template>

<script>
// 可刷新, 可下拉的vant列表
export default {
name: 'PagedList',
props: {
value: { // 列表 只写
type: Array,
default: function() {
return [];
},
},
pageNum: { // 页码 读写 无监听
type: Number,
default: 1,
},
pageSize: { // 页量 读写 无监听
type: Number,
default: 10,
},
total: { // 读取总数 只写
type: Number,
default: 0,
},
loading: { // 是否加载中 只写
type: Boolean,
default: false,
},
refreshing: { // 是否刷新中 只写
type: Boolean,
default: false,
},
finished: { // 是否完全加载 只写
type: Boolean,
default: false,
},
getWhenCreated: { // 创建后直接获取列表 只读 无监听
type: Boolean,
default: false,
},
getListFunc: { // 获取数据函数 返回Promise 成功参数传递本次请求响应的列表项数和总数 { length|rows|data, total }
type: Function,
default: null,
},
reload: { // 变更此值为true则重新加载数据 监听
type: Boolean,
default: false,
},
},
components: {
},
data() {
return {
stateLoading: false,
stateRefreshing: false,
stateFinished: !this.getWhenCreated,
stateTotal: 0,
queryParams: {
pageNum: this.pageNum,
pageSize: this.pageSize,
},
}
},
created() {
if(this.getWhenCreated)
this.getList();
},
methods: {
getList(target) {
let type = typeof (target);
this.log(type, target);
if(target && this.stateFinished)
{
this.log('nomore');
this.$emit('nomore');
return;
}
if (target === 0) {
this.setupRefreshing(true);
this.setupFinished(true);
this.setupTotal(0);
this.setupPageNum(1);
this.clearList();
}
else if (type === 'number')
this.setupPageNum(target);
else if (type === 'string') {
this.setupPageNum(eval(this.queryParams.pageNum + target));
}
else
{
this.setupRefreshing(true);
this.setupFinished(true);
this.setupTotal(0);
this.setupPageNum(1);
this.clearList();
}

this.getListFunc(this.queryParams).then((result) => {
if(result.hasOwnProperty('rows'))
{
this.setupTotal(this.stateTotal + result.rows.length);
this.setupFinished(this.stateTotal >= result.total);
}
else if(result.hasOwnProperty('data'))
{
this.setupTotal(this.stateTotal + result.data.length);
this.setupFinished(true);
}
else if(result.hasOwnProperty('length'))
{
this.setupTotal(this.stateTotal + result.length);
this.setupFinished(true);
}

if(result.hasOwnProperty('total'))
{
this.setupFinished(this.stateTotal >= result.total);
}
else
{
this.setupFinished(true);
}
}).catch((err) => {
this.setupError(err);
}).finally(() => {
this.setupLoading(false);
this.setupRefreshing(false);
});
},
clearList() {
this.log(`reload`);
this.$emit('reload');
this.$emit('input', []);
},
setupPageNum(num) {
this.queryParams.pageNum = num;
if(this.queryParams.pageNum != this.pageNum)
this.$emit('update:pageNum', this.queryParams.pageNum);
},
setupTotal(num) {
this.log(`total -> ${num}`);
this.stateTotal = num;
if(this.stateTotal != this.total)
this.$emit('update:total', this.stateTotal);
},
setupLoading(ok) {
this.log(`loading -> ${ok}`);
this.stateLoading = ok;
if(this.stateLoading != this.loading)
this.$emit('update:loading', this.stateLoading);
},
setupFinished(ok) {
this.log(`finished -> ${ok}`);
this.stateFinished = ok;
if(this.stateFinished != this.finished)
this.$emit('update:finished', this.stateFinished);
if(ok)
this.$emit('finished', this.stateTotal);
},
setupError(err) {
this.log(`error -> ${err}`);
this.stateFinished = true;
if(this.stateFinished != this.finished)
this.$emit('update:finished', this.stateFinished);
this.$emit('error', err);
},
setupRefreshing(ok) {
this.log(`refreshing -> ${ok}`);
this.stateRefreshing = ok;
if(this.stateRefreshing != this.refreshing)
this.$emit('update:refreshing', this.stateRefreshing);
},
log() {
return;
console.log('[PagedList]: ', ...arguments);
},
},
watch: {
reload(newVal) {
if(newVal)
{
this.$emit('update:reload', false);
this.getList();
}
},
},
}
</script>

<style scoped lang="scss">

</style>

+ 219
- 0
src/components/common/Selector.vue Voir le fichier

@@ -0,0 +1,219 @@
<!-- 下拉列表组件 zhao -->
<template>
<div>
<slot/>
<van-popup v-model="popupVisible" position="bottom">
<van-picker
ref="picker"
:title="label"
show-toolbar
:columns="options"
:readonly="readonly"
:value-key="labelKey"
:loading="loading"
@confirm="onConfirm"
@cancel="onCancel"
@change="onChanged"
/>
</van-popup>
</div>
</template>

<script>
import request from "@/utils/request";

export default {
name: "Selector",
props: {
value: {
default: null,
},
readonly: {
type: Boolean,
default: false,
},
label: {
type: String,
default: '',
},
columns: { // 列表数据 Array
type: Array,
default: () => [],
},
labelKey: { // 名称键名 String
type: String,
default: 'label',
},
valueKey: { // 值键名 String
type: String,
default: 'value',
},
remoteUrl: { // 远程列表加载地址 String, 函数, 或 Promise
type: [String, Function, Object],
default: null,
},
onRemoteResponse: { // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
type: [String, Function],
default: null,
},
clear: { // 点击取消时清空绑定值
type: Boolean,
default: false,
},
visible: { // 打开状态
type: Boolean,
default: false,
},
},
watch: {
value: function (newVal, oldVal) {
this.internalValue = newVal;
this.visibleValue = newVal;
this.syncIndex();
},
columns: function (newVal, oldVal) {
this.syncIndex();
},
remoteUrl: function (newVal, oldVal) {
this.requestRemote();
},
onRemoteResponse: function (newVal, oldVal) {
this.parseRemote();
},
visible: function (newVal, oldVal) {
if(newVal != this.popupVisible)
this.popupVisible = newVal;
},
popupVisible: function (newVal, oldVal) {
if(newVal != this.visible)
this.$emit('update:visible', newVal);
}
},
created() {
if(this.remoteUrl)
this.requestRemote();
},
data() {
return {
popupVisible: false,
internalValue: this.value,
visibleValue: '',
defaultIndex: 0,
remoteColumns: null,
loading: false,
remoteResponse: null,
};
},
methods: {
openPopup() {
if(!this.readonly)
{
this.popupVisible = true;
this.$nextTick(() => {
this.$refs.picker.setIndexes([this.defaultIndex]);
})
}
},
closePopup() {
this.popupVisible = false;
},
onChanged(data) {
this.$emit('change', data);
},
onConfirm(data) {
this.syncValue(data);
this.$emit('input', this.internalValue);
this.$emit('confirm', this.internalValue);
this.closePopup();
},
onCancel() {
this.closePopup();
if(this.clear)
{
this.visibleValue = '';
this.internalValue = null;
this.$emit('input', this.internalValue);
}
this.$emit('cancel');
},
getValue(data) {
return typeof(data) === 'object' && this.valueKey ? data[this.valueKey] : data;
},
getLabel(data) {
return typeof(data) === 'object' && this.labelKey ? data[this.labelKey] : data;
},
syncValue(data) {
this.internalValue = this.getValue(data);
this.visibleValue = this.getLabel(data);
},
syncIndex() {
let columns = this.getColumns();
if(!columns)
return -1;
for(let i in columns)
{
if(this.getValue(columns[i]) == this.internalValue) {
this.defaultIndex = i;
this.visibleValue = this.getLabel(columns[i]);
this.onChanged(columns[i]);
return i;
}
}
if(1) // 不存在
{
this.defaultIndex = -1;
this.visibleValue = this.internalValue;
this.onChanged(null);
}
return -1;
},
getColumns() {
return this.columns ? this.columns : this.remoteColumns;
},
requestRemote() {
if(!this.remoteUrl)
return;
this.loading = true;
this.remoteColumns = [];
let promise = typeof(this.remoteUrl) === 'function' ? this.remoteUrl() : (this.remoteUrl instanceof Promise ? this.remoteUrl : request(this.remoteUrl));
promise.then((resp) => {
this.remoteResponse = resp;
this.parseRemote();
this.syncIndex();
}).catch((e) => {
console.error(e);
}).finally(() => {
this.loading = false;
})
},
parseRemote() {
if(!this.remoteResponse)
return;
let type = typeof(this.onRemoteResponse);
if(type === 'function')
this.remoteColumns = this.onRemoteResponse(this.remoteResponse);
else if(type === 'string')
{
let arr = this.onRemoteResponse.split('.');
let ptr = this.remoteResponse;
for(let i in arr)
{
ptr = this.remoteResponse[arr[i]];
}
this.remoteColumns = ptr;
}
else
this.remoteColumns = this.remoteResponse;
},
},
computed: {
options() {
return this.columns ? this.columns : (this.remoteColumns || []);
}
}
}
</script>

<style scoped>

</style>

+ 112
- 0
src/components/common/nav_bar.vue Voir le fichier

@@ -0,0 +1,112 @@
<template>
<div>
<div
:class='[background == "1"?"nav-wrap":"nav-wrap1",positionType=="fixed"?"nav-position-fixed":"nav-position-relative"]'
:style='{"height": 50+"px","overflow": "hidden","background":backgroundColor}'
>
<!-- // 导航栏 中间的标题 -->
<div class='nav-title' :style='{"line-height": 50+"px"}'>{{title}}</div>
<div style='display: flex; justify-content: center;flex-direction: column;height: 50px;padding-left: 2%;'>
<!-- // 其中wx:if='{{navbarData.showCapsule}}' 是控制左上角按钮的显示隐藏,首页不显示 -->
<van-icon name="arrow-left" color="#333333" size="25" @click="onClickLeft()" />
</div>
</div>
<div :style='{"height": 50+"px"}' v-if="positionType == 'fixed'"></div>
</div>
</template>

<script>
export default {
name: "nav_bar",
props: [
"background",
"backgroundColor",
"positionType",
"showCapsule",
"title",
],
data() {
return {
height: '',
navHeight:'',
}
},
created() {

},
methods: {

},
}
</script>

<style scoped lang="scss">
.nav-wrap {
width: 100%;
top: 0;
background: transparent;
color: #000;
z-index: 9999999;
}

.nav-wrap1 {
width: 100%;
top: 0;
background: linear-gradient(to bottom right,#91E1CA,#E0F4E4);
color: #333333;
z-index: 9999999;
}

/* 标题要居中 */
.nav-title {
position: absolute;
text-align: center;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
font-size: 16Px;
}

.nav-capsule {
display: flex;
align-items: center;
margin-left: 5px;
width: 70px;
justify-content: space-between;
height: 100%;
}

.navbar-v-line {
width: 1px;
height: 16px;
background-color: #e5e5e5;
}

/*.back-pre,*/
/*.back-home {*/
/* width: 18Px;*/
/* height: 25Px;*/
/* margin-top: 2px;*/
/* padding: 5px;*/
/* border-radius: 50%;*/
/*}*/

.nav-capsule .back-home {
width: 30px;
height: 30px;
margin-top: 1.5px;
}

.nav-position-fixed{
position: fixed;
}
.nav-position-relative{
position: relative;
}
</style>

+ 5
- 4
src/components/common/nav_footer.vue Voir le fichier

@@ -5,11 +5,11 @@
<p class="text">首页</p>
</router-link>
<router-link to="/project" class="tab" active-class="active">
<span class="icon"><van-icon name="notes-o" size="25" /></span>
<span class="icon"><van-icon name="notes" size="25" /></span>
<p class="text">交易项目</p>
</router-link>
<router-link to="/user" class="tab" active-class="active">
<span class="icon"><van-icon name="contact" size="25" /></span>
<span class="icon"><van-icon name="manager-o" size="25" /></span>
<p class="text">我的</p>
</router-link>
<!-- <router-link to="/addressBook" class="tab" active-class="active">-->
@@ -45,12 +45,13 @@ export default {
-webkit-box-align: center;
align-items: center;
position: fixed;
padding: 10px 40px;
padding: 10Px 0Px;
height: 70Px;
.tab {
color: #5d656b;
text-align: center;
&.active {
color: #007b76;
color: #0DBCAA;
}
.icon {
padding-bottom: 3px;


+ 160
- 0
src/components/form/CommonUpload.vue Voir le fichier

@@ -0,0 +1,160 @@
<!-- 通用上传组件 zhao -->

<template>
<van-uploader
v-model="fileList"
:multiple="multiple"
:after-read="afterRead"
:show-upload="showUpload"
:deletable="deletable"
@delete="deleteFile"
:accept="accept || null"
/>
</template>

<script>

import {commonUpload} from "@/api/sunVillage_info/fixedAssets";

export default {
name: "commonUpload",
props: {
name: String,
value: { // 绑定值 字符串 ,分隔 可监听
type: String,
default: null,
},
accept: { // 上传类型限制: 默认图片, * = 任意类型
type: String,
},
multiple: { // 多文件上传
type: Boolean,
default: false,
},
deletable: { // 允许删除
type: Boolean,
default: true,
},
showUpload: { // 显示上传按钮
type: Boolean,
default: true,
},
formData: { // 额外请求参数
type: Object,
default: function() {
return {};
},
},
file: { // 上传文件字段名
type: String,
default: 'file',
},
host: {
type: String, // 文件地址前缀
default: '/api',
},
},
watch: {
value: function (newVal, oldVal) {
if(newVal != this.internalValue)
this.setInternalValue(newVal);
},
},
created() {
this.parseValue(this.value);
},
data() {
return {
internalValue: this.value,
fileList: [],
pathList: [],
};
},
methods: {
setInternalValue(newVal) {
this.parseValue(newVal);
this.internalValue = newVal;
},
parseValue(data) {
if(data)
{
this.pathList = data.split(',');
}
else
{
this.pathList = [];
}
this.fileList = this.pathList.map((x) => {
return {
url: this.host + x,
};
});
},
makeFormData() {
let fd = new FormData();
if(this.formData)
{
for(let k of Object.keys(this.formData))
{
fd.set(k, this.formData[k]);
}
}
return fd;
},
upload(file) {
let params1 = this.makeFormData();
params1.append(this.file, file.file);
return commonUpload(params1).then((resp) => {
this.pathList.push(resp.fileName);
this.updateInternalValue();
this.$emit('upload', resp.fileName);
});
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array) {//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(file.length > 0)
{
let index = 0;
const f = () => {
if(index >= file.length)
return;
let up = file[index];
//console.log(up);
console.log(`上传文件: ${index} -> ${up.file.name}`);
this.upload(up).then(() => {
index++;
if(index < file.length)
f();
});
};
f();
}
} else {
this.upload(file);
}
},
deleteFile(detail){
this.pathList.splice(detail.index,1);
this.updateInternalValue();
this.$emit('remove', detail.index);
},
updateInternalValue() {
let files = this.pathList.join(',');
console.log(files);
this.internalValue = files;
if(this.internalValue != this.value)
this.$emit('input', this.internalValue);
},
},
}
</script>

<style scoped>

</style>

+ 5
- 0
src/components/form/FieldDatePicker.vue Voir le fichier

@@ -15,6 +15,7 @@
:required="required"
:label-width="labelWidth || 'auto'"
:input-align="inputAlign || 'left'"
:size="size || ''"
>
<!-- <template #button>
<van-icon name="notes-o" size="20"/>
@@ -41,6 +42,8 @@
:type="type || 'date'"
:readonly="readonly"
:title="label || ''"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirm"
@cancel="onCancel"
@change="onChanged"
@@ -62,6 +65,8 @@ export default {
'formatter', // value的格式化 String|Function|undefined 字符串为格式字符串, 函数则必须有返回 undefined则不转换
'clearable', // 点击取消时清空绑定值
'yearRangeLength', // type === 'year' 时生成的年份数量范围 [YEAR - yearRangeLength, YEAR + yearRangeLength]
'minDate', 'maxDate',
'size',
],
watch: {
value: function (newVal, oldVal) {


+ 2
- 0
src/components/form/FieldSelect.vue Voir le fichier

@@ -14,6 +14,7 @@
:rules="rules"
:required="required"
:label-width="labelWidth || 'auto'"
:size="size || ''"
>
</van-field>
<van-popup v-model="popupVisible" position="bottom">
@@ -46,6 +47,7 @@ export default {
'remoteUrl', // 远程列表加载地址 String
'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
'clearable', // 点击取消时清空绑定值
'size',
],
watch: {
value: function (newVal, oldVal) {


+ 11
- 2
src/components/form/SubjectTreeChooser.vue Voir le fichier

@@ -23,7 +23,7 @@ export default {
name: "SubjectTreeChooser",
components: {SubjectTreeChooserNodeItem},
props: [
'value', 'visible', 'height', 'canSelectNonLeaf',
'year','value', 'visible', 'height', 'canSelectNonLeaf',
],
watch: {
value: function (newVal, oldVal) {
@@ -33,6 +33,14 @@ export default {
this.syncIndex();
}
},
year: function (newVal, oldVal) {
//console.log(newVal)
if(newVal != this.yearNews)
{
this.yearNews = newVal;
this.getSubjects();
}
},
visible: function(newVal, oldVal) {
if(this.popupVisible !== newVal)
{
@@ -53,6 +61,7 @@ export default {
return {
popupVisible: false,
internalValue: this.value,
yearNews: this.year,
searchValue: '',
active: '1',
subjects: [],
@@ -76,7 +85,7 @@ export default {
map[x.dictValue] = item;
return item;
});
let url = '/finance/subject/listAll'; // '/open/villageAffairs/public/subjects/153'
let url = '/finance/subject/listAll?year='+this.yearNews; // '/open/villageAffairs/public/subjects/153'
request(url).then((resp) => {
let list = this.makeTree(resp.rows || resp.data);
for(let v of list)


+ 254
- 226
src/components/home/HomeApplyUploadComp.vue Voir le fichier

@@ -30,185 +30,214 @@
</template>

<script>
import { treeSingleProcessView , attach , removeFile , getAttachmentConfigTree, attachmentFind } from "@/api/sunVillage_info/homestead/application";
import {getToken} from "@/utils/auth";
import request from '@/utils/request'
import {Notify} from "vant";
/** 导入JS方法 */
import {
treeSingleProcessView,
attach,
removeFile,
getAttachmentConfigTree,
attachmentFind
} from "@/api/sunVillage_info/homestead/application";
import {getToken} from "@/utils/auth";
import request from '@/utils/request'
import {Notify} from "vant";

export default {
name: "houseApplyUploadComp",
components: {},
props: ["businessType", "proposerId", "houseApplyStatus", "processKey", "tableName", "readonly", 'full',"userName"],
data() {
return {
disabled: this.readonly,
loading: false,
attachmentList: [],
uploadImg: {
//上传图片配置
uploadImgUrl: "/open/home/mobile/common/attach",
/** 导入JS方法 */

export default {
name: "houseApplyUploadComp",
components: {},
props: ["businessType", "proposerId", "houseApplyStatus", "processKey", "tableName", "readonly", 'full', "userName"],
data() {
return {
disabled: this.readonly,
loading: false,
attachmentList: [],
uploadImg: {
//上传图片配置
uploadImgUrl: "/open/home/mobile/common/attach",
},
newAttachments: [],
fileTypeList:[],
active: -1,
has: false,
}
},
watch: {
proposerId: function (newVal, oldVal) {
this.showAttachmentComp(this.businessType, newVal, this.houseApplyStatus, this.processKey, this.tableName, this.full);
},
readonly: function (newVal, oldVal) {
this.disabled = newVal;
},
newAttachments: [],
active: -1,
has: false,
}
},
watch: {
proposerId: function (newVal, oldVal) {
this.showAttachmentComp(this.businessType, newVal, this.houseApplyStatus, this.processKey, this.tableName, this.full);
},
readonly: function (newVal, oldVal) {
this.disabled = newVal;
created() {
if (this.businessType !== null && this.proposerId == -1) {
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full)
}
},
},
created() {
if (this.businessType !== null && this.proposerId == -1) {
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full)
}
},
methods: {
handleUploadSuccess(file, detail, item) {
this.setFileStatus(file, 'uploading', '文件上传中...');
let formData = new FormData;
formData.set('file', file.file);
this.$set(item.postData, 'userName', this.userName);
request({
url: this.uploadImg.uploadImgUrl,
method: "post",
params: item.postData,
data: formData,
}).then((resp) => {
if(resp.code == 200)
{
file.response = resp;
console.log(resp);
file.fileList = item.fileList;
this.onFileListChanged("ADD", resp.id);
this.setFileStatus(file, 'done', '文件上传成功');
this.$emit('onUploadSuccess', file);
}
else
methods: {
handleUploadSuccess(file, detail, item) {
this.setFileStatus(file, 'uploading', '文件上传中...');
let formData = new FormData;
formData.set('file', file.file);
this.$set(item.postData, 'userName', this.userName);
request({
url: this.uploadImg.uploadImgUrl,
method: "post",
params: item.postData,
data: formData,
}).then((resp) => {

if (resp.code === 200) {
file.response = resp;
file.fileList = item.fileList;
this.onFileListChanged("ADD", resp);
this.setFileStatus(file, 'done', '文件上传成功');

this.$emit('onUploadSuccess', file);
} else
this.setFileStatus(file, 'fail', '文件上传失败!');
}).catch((e) => {
this.setFileStatus(file, 'fail', '文件上传失败!');
}).catch((e) => {
this.setFileStatus(file, 'fail', '文件上传失败!');
});
return true;
},
handleRemove(file, detail) {
console.log(file, detail);
this.setFileStatus(file, 'uploading', '文件删除中...');
let id = file.id || file.response.id;
removeFile(id).then(resp => {
if(this.proposerId != -1 && false) // 不刷新
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full)
/* else // 新增时
{
let fileList = file.fileList;
//console.log(fileList);
fileList.splice(fileList.indexOf(file), 1);
}*/
this.setFileStatus(file, 'done', '文件删除成功');
});
return true;
},
//获取ip
getPath() {
// 获取当前页面的URL
const url = window.location.href;
// 使用正则表达式解析URL以获取IP和端口
const ipAndPortRegex = /^(?:https?:\/\/)?(?:([^\s:@\/]+)(?::([^\s:@\/]+))?@)?([\da-z\.-]+)(?::(\d+))?(?:\/([^\?#]+))?(?:\?([^#]+))?(?:#(.+))?$/;
const match = url.match(ipAndPortRegex);
// 提取IP和端口
const ip = match[3];
const port = match[4];
return "http://"+ip + ":" + port + "/api"
},
handleRemove(file, detail) {
console.log(file);
this.setFileStatus(file, 'uploading', '文件删除中...');
let id = file.id || file.response.id;
this.onFileListChanged("REMOVE", id);
}).catch((e) => {
this.setFileStatus(file, 'fail', '文件删除失败!');
}).finally(() => {
//loading.close();
});
return true;
},
showAttachmentComp(businessType, proposerId, houseApplyStatus, processKey, tableName, full) {
this.attachmentList = [];
this.active = -1;
this.has = false;
if(!full && 0)
{
this.getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName);
}
else
{
this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName);
}
},
formatFile(list) {
if (list !== null && list !== undefined) {
const baseImgUrl = this.$store.getters.baseRoutingUrl;
let UfileList = []; //上传图片列表
list.forEach((value, index) => {
UfileList.push({
name: value.fileName,
fileUrl: value.fileUrl,
url: baseImgUrl + value.fileUrl,
id: value.id,
fileList: UfileList,
});
removeFile(id).then(resp => {
if (this.proposerId != -1 && false) // 不刷新
this.showAttachmentComp(this.businessType, this.proposerId, this.houseApplyStatus, this.processKey, this.tableName, this.full)
/* else // 新增时
{
let fileList = file.fileList;
//console.log(fileList);
fileList.splice(fileList.indexOf(file), 1);
}*/
this.setFileStatus(file, 'done', '文件删除成功');
}).catch((e) => {
this.setFileStatus(file, 'fail', '文件删除失败!');
}).finally(() => {
//loading.close();
});
return UfileList;
}
},
onFileListChanged(type, id) {
if(this.proposerId != -1) return;
if(type === "ADD")
{
this.newAttachments.push(id);
}
else if(type === "REMOVE")
{
let index = this.newAttachments.indexOf(id);
if(index !== -1)
this.newAttachments.splice(index, 1);
}
console.log(this.newAttachments);
this.$emit('uploadFinished', this.newAttachments);
},
getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) {
this.loading = true;
treeSingleProcessView({
businessType: businessType,
houseApplyStatus: houseApplyStatus,
processKey: processKey,
tableName: tableName,
}).then(res => {
this.handleResponse(res.rows, proposerId, houseApplyStatus, tableName);
if(this.attachmentList.length === 0)
{
this.disabled = true;
return true;
},
showAttachmentComp(businessType, proposerId, houseApplyStatus, processKey, tableName, full) {
this.attachmentList = [];
this.active = -1;
this.has = false;
if (!full && 0) {
this.getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName);
} else {
this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName);
}
}).finally(() => {
this.loading = false;
});
},
getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) {
this.loading = true;
getAttachmentConfigTree({
businessType: businessType,
nodeStatus: houseApplyStatus,
processKey: processKey,
dictTypeSort: 'home_stage_status',
nodeStatusSort: '',
}).then(resp => {
//console.log(resp);
try {
if(!resp.data || resp.data.length === 0)
return;
let rows = resp.data[0].children;
rows.forEach((value, index) => {
if (!value.children)
return;
this.handleResponse(value.children, proposerId, houseApplyStatus, tableName);
},
formatFile(list) {

if (list !== null && list !== undefined) {
let baseImgUrl = this.$store.getters.baseRoutingUrl;
if (baseImgUrl === "") {
baseImgUrl = this.getPath();
}

let UfileList = []; //上传图片列表
list.forEach((value, index) => {
UfileList.push({
name: value.fileName,
fileUrl: value.fileUrl,
url: baseImgUrl + value.fileUrl,
id: value.id,
fileList: UfileList,
});
if(list.length > 0){
this.newAttachments.push(value);
this.fileTypeList.push(value.fileType)
}
});
return UfileList;
}
catch (e)
},
onFileListChanged(type, data) {
console.info(data);
if(type === "ADD")
{
console.error(e);
this.newAttachments.push(data);
this.fileTypeList.push(data.fileType);
}
}).finally(() => {
this.loading = false;
});
},
handleResponse(rows, proposerId, houseApplyStatus, tableName) {
rows.forEach((value, index) => {
else if(type === "REMOVE")
{
this.fileTypeList = [];
this.newAttachments = this.newAttachments.filter((item)=>{
return item.id !== data;
});
this.newAttachments.forEach((item)=>{
this.fileTypeList.push(item.fileType);
});
}
console.log(this.newAttachments);
this.$emit('uploadFinished', this.newAttachments,this.fileTypeList);
},
getCurrentFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) {
this.loading = true;
treeSingleProcessView({
businessType: businessType,
houseApplyStatus: houseApplyStatus,
processKey: processKey,
tableName: tableName,
}).then(res => {
this.handleResponse(res.rows, proposerId, houseApplyStatus, tableName);
if (this.attachmentList.length === 0) {
this.disabled = true;
this.getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName);
}
}).finally(() => {
this.loading = false;
});
},
getHistoryFiles(businessType, proposerId, houseApplyStatus, processKey, tableName) {
this.loading = true;
getAttachmentConfigTree({
businessType: businessType,
nodeStatus: houseApplyStatus,
processKey: processKey,
dictTypeSort: 'home_stage_status',
nodeStatusSort: '',
tableId: proposerId,
}).then(resp => {
//console.log(resp);
try {
if (!resp.data || resp.data.length === 0)
return;
let rows = resp.data[0].children;
rows.forEach((value, index) => {
if (!value.children)
return;
this.handleResponse(value.children, proposerId, houseApplyStatus, tableName);
});
} catch (e) {
console.error(e);
}
}).finally(() => {
this.loading = false;
});
},
handleResponse(rows, proposerId, houseApplyStatus, tableName) {
rows.forEach((value, index) => {

let obj = {
fileTypeName: value.fileTypeName,
tableId: proposerId,
@@ -224,76 +253,75 @@ export default {
current: value.nodeStatus == houseApplyStatus,
collapse: this.disabled || value.nodeStatus == houseApplyStatus ? 0 : '',
};
if(value.nodeStatus != houseApplyStatus && !this.has)
if (value.nodeStatus != houseApplyStatus && !this.has)
this.active++;
if(value.nodeStatus == houseApplyStatus)
{
if(!this.has)
if (value.nodeStatus == houseApplyStatus) {
if (!this.has)
this.active++;
this.has = true;
}
this.attachmentList.push(obj);

});
if (proposerId !== -1) {
this.attachmentList.forEach((value, index) => {
attachmentFind(value).then(resp => {
let list = this.formatFile(resp.data);
this.$set(this.attachmentList[index], "fileList", list);
});
if(value.attachmentList != null){
if(value.attachmentList.length > 0){
let list = this.formatFile( value.attachmentList);
this.$set(obj, "fileList", list);
}
}
this.attachmentList.push(obj);
console.info(this.attachmentList);
});
}
console.info(this.attachmentList);
},
setFileStatus(file, status, message) {
file.status = status;
file.message = message;
},
checkFile(file) {
let mime = file.type;
if([
"image/png",
"image/jpeg",
"image/gif",
"image/bmp",
].indexOf(mime) === -1)
{
this.notify('请上传jpg/png/gif/bmp等格式图片!', 'danger');
return false;
}
return true;
},
notify(message, type) {
Notify.clear();
Notify({ type: type || 'primary', message: message });
},
}
};
if (proposerId !== -1) {
this.$emit('uploadFinished',this.newAttachments,this.fileTypeList);
}
},
setFileStatus(file, status, message) {
file.status = status;
file.message = message;
},
checkFile(file) {
let mime = file.type;
if ([
"image/png",
"image/jpeg",
"image/gif",
"image/bmp",
].indexOf(mime) === -1) {
this.notify('请上传jpg/png/gif/bmp等格式图片!', 'danger');
return false;
}
return true;
},
notify(message, type) {
Notify.clear();
Notify({type: type || 'primary', message: message});
},
}
};
</script>
<style scoped>
.my_class >>> .el-upload--picture-card {
width: 72px;
height: 72px;
line-height: 78px;
}
.my_class >>> .el-upload--picture-card {
width: 72px;
height: 72px;
line-height: 78px;
}

.my_class >>> .el-upload-list__item {
width: 72px;
height: 72px;
}
.my_class >>> .el-upload-list__item {
width: 72px;
height: 72px;
}

.my_class >>> .el-upload-list__item-preview {
width: 20px;
}
.my_class >>> .el-upload-list__item-preview {
width: 20px;
}

.my_class >>> .el-upload-list__item-delete {
width: 20px;
}
.my_class >>> .el-upload-list__item-delete {
width: 20px;
}

.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_title {
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
</style>

+ 4
- 4
src/components/home/HomeApplyUploadCompTc.vue Voir le fichier

@@ -85,7 +85,7 @@ export default {
file.response = resp;
console.log(resp);
file.fileList = item.fileList;
this.onFileListChanged("ADD", resp.id);
this.onFileListChanged("ADD", resp);
this.setFileStatus(file, 'done', '文件上传成功');
this.$emit('onUploadSuccess', file);
}
@@ -147,15 +147,15 @@ export default {
return UfileList;
}
},
onFileListChanged(type, id) {
onFileListChanged(type, data) {
if(this.proposerId != -1) return;
if(type === "ADD")
{
this.newAttachments.push(id);
this.newAttachments.push(data);
}
else if(type === "REMOVE")
{
let index = this.newAttachments.indexOf(id);
let index = this.newAttachments.indexOf(data.id);
if(index !== -1)
this.newAttachments.splice(index, 1);
}


+ 1
- 2
src/components/house/CommonMap.vue Voir le fichier

@@ -207,6 +207,7 @@ export default {
return this.setLayerVisible(name, true);
},
setDraw(on) {

if(!this.mapObject)
return;
/* if(this.allowDraw === on)
@@ -214,7 +215,6 @@ export default {
if(on) {
let self = this;
let draw;

// 不要使用 $('DOM-selector').click(function), 动态加载按钮时手机端会失效
$(document).on('click', "#drawPolygon" + this.elementId, function () {
self.drawResult = null;
@@ -274,7 +274,6 @@ export default {
addLayer(name, theGeom) {
if(!this.mapObject)
return false;

//地图只加载一次
//加载地图编辑
//图层查询定位开始 ---------start


+ 6
- 6
src/components/house/MultiImageUploadComp.vue Voir le fichier

@@ -44,9 +44,9 @@ export default {
return {
uploadImg: {
//上传图片配置
attachImgUrl: "/common/attach",
uploadImgUrl: "/common/upload",
removeImgUrl: "/system/attachment/remove",
attachImgUrl: "/open/home/mobile/common/attach",
uploadImgUrl: "/open/home/mobile/common/upload",
removeImgUrl: "/open/home/mobile/attach/remove",
uploadImgHeaders: {
Authorization: "Bearer " + getToken(),
},
@@ -79,7 +79,7 @@ export default {
file.path = resp.fileName;
}
file.fileList = this.uploadImg.fileList;
this.$emit('fileChanged', this.uploadImg.fileList);
this.$emit('fileChanged', resp.fileUrl);
this.updateValue();
console.log('新增', this.uploadImg.fileList);
}).catch((e) => {
@@ -96,7 +96,7 @@ export default {
Notify({ type: type || 'primary', message: message });
},
handleRemove(file, detail) {
console.log(file, detail);
console.log(file.id);
if(file.id) // new upload
{
this.setFileStatus(file, 'uploading', '文件删除中...');
@@ -107,7 +107,7 @@ export default {
if(index !== -1)
this.uploadImg.fileList.splice(index, 1);
console.log(this.uploadImg.fileList);
this.$emit('fileChanged', this.uploadImg.fileList);
this.$emit('fileChanged', null);
this.updateValue();
console.log('删除', this.uploadImg.fileList);
})


+ 69
- 4
src/permission.js Voir le fichier

@@ -15,6 +15,7 @@ const whiteList = [
'/register',

'/news/index',
'/news/index_new',
'/news/newDetail',
'/notice/index',
'/notice/inviteTendersDetail',
@@ -35,8 +36,11 @@ const whiteList = [
'/project',
'/policy',
'/policyDetail',
'/policyPDF',
'/attestationDetail',
'/noticeDetail',
'/stopDetail',
'/abnormalDetail',
'/homestead/login',
'/applicationForm',
'/applicationList',
@@ -70,6 +74,7 @@ const whiteList = [
'/lawEnforcement/complaintAdd',
'/homesteadLogin',
'/yinnongLogin',
'/yinnongLiteLogin',
'/lawEnforcement/userRegister',
'/lawEnforcement/companyRegister',

@@ -95,7 +100,9 @@ const whiteList = [
'/sunVillage_info/list_finance_detail', //详情页
'/sunVillage_info/list_photo_detail', //详情页
'/sunVillage_info/list_finance_ranking', //详情页
'/sunVillage_info/list_tourists_ranking', //详情页
'/sunVillage_info/list_tourists_ranking', //零工排行榜
'/sunVillage_info/list_tourists_ranking_lite', //零工排行榜
'/sunVillage_info/list_tourists_registration_detail_visitor', //零工详情页
'/sunVillage_info/login_code', //详情页
'/sunVillage_info/index_code_rights', //详情页
'/sunVillage_info/list_vote', //详情页
@@ -109,11 +116,17 @@ const whiteList = [
'/sunVillage_info/list_message_add', //详情页
'/sunVillage_info/list_message_detail', //详情页
'/sunVillage_info/homeApplication/applicationList', //列表页面
'/sunVillage_info/homeApplication/applicationNewList', //列表页面
'/sunVillage_info/proposerLite',
'/sunVillage_info/proposerLiteNew',
'/sunVillage_info/paidExitAddNew',
'/sunVillage_info/paidExit/paidExitList', //列表页面
'/sunVillage_info/paidExit/paidExitNewList', //宅基地退出列表页面(新)
'/sunVillage_info/paidExitAdd',
'/sunVillage_info/paidExitModify',
'/sunVillage_info/paidExitModifyNew',
'/sunVillage_info/paidExitDetail',
'/sunVillage_info/paidExitDetailNew',
'/sunVillage_info/arbitrationList',
'/sunVillage_info/arbitrationDetail',
'/sunVillage_info/familyMember',
@@ -131,6 +144,21 @@ const whiteList = [
'/sunVillage_info/list_contract_ranking',
'/sunVillage_info/identity_check',
'/sunVillage_info/assetMapOpen',
'/sunVillage_info/otherOpenVisitIndex',
'/sunVillage_info/otherOpenVisitDetail',
'/sunVillage_info/list_discussions_new',
'/sunVillage_info/list_discussions_new_detail',
'/sunVillage_info/list_process',
'/sunVillage_info/list_process_detail',
'/sunVillage_info/list_issues_zy',
'/sunVillage_info/list_issues_zy_detail',
'/sunVillage_info/list_special',
'/sunVillage_info/list_special_detail',
'/sunVillage_info/list_special_detail_vote',
'/sunVillage_info/special_vote',
'/sunVillage_info/special_vote_detail',
'/sunVillage_info/list_finance_new',
'/sunVillage_info/list_finance_new_detail',

// 新型经营主体
'newBusinessEntity/newsBulletin', //新闻公告
@@ -185,10 +213,35 @@ const whiteList = [
'/plotPremisesMobile/index',//闲置资源


'/sunVillage_info/login_farmer', //村民登录
'/sunVillage_info/index_farmer', //村民主页
'/sunVillage_info/financeOpen', //村民主页


'/sunVillage_info/login_code_new', //村民登录
'/sunVillage_info/index_code_rights_new', //村民登录
'/sunVillage_info/list_revenueAndExpenditure', //村民登录
'/sunVillage_info/list_operatingAssets', //村民登录
'/sunVillage_info/list_operatingAssets_detail', //村民登录
'/sunVillage_info/list_operatingAssets_detail2', //村民登录
'/sunVillage_info/otherOpenVisitIndexNew', //村民登录
'/sunVillage_info/otherOpenVisitDetailNew', //村民登录


//承包地确权
'/contracted/login',//登录
'/contracted/index',//首页

//虫害APP
'/pest/pestLogin',//登录
'/pest/index',//首页
'/pest/agriculturalRecords',//农事记录
'/pest/agriculturalRecordsAdd',//农事记录(新增)
'/pest/soilTesting',//土壤检测
'/pest/weather',//气象服务
'/pest/growthMonitoring',//长势监测
'/pest/temperatureAndHumidity',//温湿度

]

router.beforeEach((to, from, next) => {
@@ -205,6 +258,7 @@ router.beforeEach((to, from, next) => {
store.dispatch('GetInfo').then(res => {
// 拉取user_info
const roles = res.roles
Cookies.set('user',res.user)
// store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
// // 根据roles权限生成可访问的路由表
// router.addRoutes(accessRoutes) // 动态添加可访问路由表
@@ -258,9 +312,18 @@ router.beforeEach((to, from, next) => {
} else {
try {
let loginUrl = Cookies.get("_Login_url");
if (loginUrl && loginUrl.indexOf("onlineHomeLogin") !== -1) {
next({ path: `/onlineHomeLogin?redirect=${to.fullPath}` })
return;
console.log('登录页面: ' + loginUrl)
if (loginUrl) {
if(loginUrl.indexOf("onlineHomeLogin") !== -1)
{
next({ path: `/onlineHomeLogin?redirect=${to.fullPath}` })
return;
}
else if(loginUrl.indexOf("yinnongLiteLogin") !== -1)
{
next({ path: '/yinnongLiteLogin' })
return;
}
}
} catch (e) { console.log(e); }
if ('/authenticRight/index'.indexOf(to.path) !== -1) {
@@ -279,6 +342,8 @@ router.beforeEach((to, from, next) => {
next(`/lawEnforcement/login?redirect=${to.fullPath}`)
} else if (to.path.indexOf('/sunVillage') !== -1) {
next(`/sunVillage/login`)
} else if (to.path.indexOf('/pest') !== -1) {
next(`/pest/pestLogin`)
} else {
next(`/login?redirect=${to.fullPath}`)
}


+ 751
- 21
src/router/index.js Voir le fichier

@@ -147,6 +147,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/news/index'], resolve)
},
{
path: '/news/index_new',
name: 'newsNew',
meta: {
title: '新闻资讯',
hidden: true,
},
component: (resolve) => require(['@/views/news/index_new'], resolve)
},
{
path: '/news/newDetail',
name: 'newDetailCJ',
@@ -380,6 +389,24 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/notice/noticeDetail'], resolve)
},
{
path: '/stopDetail',
name: 'stopDetail',
meta: {
title: '公告详情',
hidden: true,
},
component: (resolve) => require(['@/views/notice/stopDetail'], resolve)
},
{
path: '/abnormalDetail',
name: 'abnormalDetail',
meta: {
title: '公告详情',
hidden: true,
},
component: (resolve) => require(['@/views/notice/abnormalDetail'], resolve)
},
{
path: '/attestationDetail',
name: 'attestationDetailCJ',
@@ -398,6 +425,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/policy/policyDetail'], resolve)
},
{
path: '/policyPDF',
name: 'policyPDF',
meta: {
title: '文件预览',
hidden: true,
},
component: (resolve) => require(['@/views/policy/policyPDF'], resolve)
},
{
path: '/interactionAdd',
name: 'interactionAddCJ',
@@ -463,6 +499,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnongLogin'], resolve)
},
{
path: '/yinnongLiteLogin',
name: 'yinnongLiteLogin',
meta: {
title: '登录页',
hidden: true,
},
component: (resolve) => require(['@/views/yinnongNoSMSLogin'], resolve)
},
{
path: '/yinnongIndex',
name: 'yinnongIndex',
@@ -1068,6 +1113,33 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilize/paidUtilizeList'], resolve)
},
{
path: '/paidUtilizeCqList',
name: 'paidUtilizeCqList',
meta: {
title: '有偿使用',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilize/paidUtilizeCqList'], resolve)
},
{
path: '/paidUtilizeFeeplanList',
name: 'paidUtilizeFeeplanList',
meta: {
title: '收费计划',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilizeFeeplan/paidUtilizeFeeplanList'], resolve)
},
{
path: '/paidUtilizeFeeplanDteail',
name: 'paidUtilizeFeeplanDteail',
meta: {
title: '收费计划详情',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/homestead/paidUtilizeFeeplan/paidUtilizeFeeplanDteail'], resolve)
},
{
path: '/paidUtilizeModify',
name: 'paidUtilizeModify',
@@ -1979,31 +2051,22 @@ export const constantRoutes = [
component: (resolve) => require(['@/views/yinnong/personalPicture'], resolve)
},
{
path: '/yinnong/done',
name: 'yinnongDone',
meta: {
title: '我的已办',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/done'], resolve)
},
{
path: '/yinnong/doneCompleted/done',
name: 'yinnongDoneCompletedDone',
path: '/yinnong/doneCompleted/doneNew',
name: 'yinnongDoneCompletedDoneNew',
meta: {
title: '我的已办',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/doneCompleted/done'], resolve)
component: (resolve) => require(['@/views/yinnong/doneCompleted/doneNew'], resolve)
},
{
path: '/yinnong/doneCompleted/completed',
name: 'yinnongDoneCompletedCompleted',
path: '/yinnong/doneCompleted/completedNew',
name: 'yinnongDoneCompletedCompletedNew',
meta: {
title: '我的待办',
title: '我的待办(新)',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/doneCompleted/completed'], resolve)
component: (resolve) => require(['@/views/yinnong/doneCompleted/completedNew'], resolve)
},
{
path: '/yinnong/advice',
@@ -2330,6 +2393,33 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentApproval/approvalApproval13'], resolve)
},
{
path: '/yinnong/sealApproval',
name: 'sealApproval',
meta: {
title: '用章事项申请审批',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/approval/sealApproval'], resolve)
},
{
path: '/yinnong/assetApproval',
name: 'assetApproval',
meta: {
title: '资产处置申请审批',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/approval/assetApproval'], resolve)
},
{
path: '/yinnong/contractionApproval',
name: 'contractionApproval',
meta: {
title: '合同签订申请审批',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/approval/contractionApproval'], resolve)
},

{
path: '/yinnong/approvalModify',
@@ -2668,6 +2758,51 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionDetail'], resolve)
},
{
path: '/yinnong/cashExpenseList',
name: 'yinnongCashExpenseList',
meta: {
title: '资金审批申请列表',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseList'], resolve)
},
{
path: '/yinnong/cashExpenseForm',
name: 'yinnongCashExpenseForm',
meta: {
title: '资金审批申请表单',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseForm'], resolve)
},
{
path: '/yinnong/cashExpenseDetail',
name: 'yinnongCashExpenseDetail',
meta: {
title: '资金审批申请详情',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseDetail'], resolve)
},
{
path: '/yinnong/cashExpenseApproval',
name: 'yinnongCashExpenseApproval',
meta: {
title: '资金审批申请',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseApproval'], resolve)
},
{
path: '/yinnong/cashExpenseProcess',
name: 'yinnongCashExpenseProcess',
meta: {
title: '资金审批申请流程',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseProcess'], resolve)
},
{
path: '/lawEnforcement',
name: 'lawEnforcement',
@@ -3308,6 +3443,123 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_contract'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_process',
name: 'sunVillageInfoListProcess',
meta: {
title: '实施过程公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_process'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_process_detail',
name: 'sunVillageInfoListProcessDetail',
meta: {
title: '实施过程公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_process_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new',
name: 'sunVillageInfoListDiscussions',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new_detail',
name: 'sunVillageInfoListDiscussionsDetail',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new_edit',
name: 'sunVillageInfoListDiscussionsEdit',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_edit'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new_add',
name: 'sunVillageInfoListDiscussionsAdd',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_add'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special',
name: 'sunVillageInfoListSpecial',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_add',
name: 'sunVillageInfoListSpecialAdd',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_add'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_detail',
name: 'sunVillageInfoListSpecialDetail',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_detail_vote',
name: 'sunVillageInfoListSpecialDetailVote',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_detail_vote'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_edit',
name: 'sunVillageInfoListSpecialEdit',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_edit'], resolve)
},
{ ////阳光村务(新)-- 四议表决
path: '/sunVillage_info/special_vote',
name: 'sunVillageInfoSpecialVote',
meta: {
title: '四议表决',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/special_vote'], resolve)
},
{ ////阳光村务(新)-- 四议表决
path: '/sunVillage_info/special_vote_detail',
name: 'sunVillageInfoSpecialVoteDetail',
meta: {
title: '四议表决',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/special_vote_detail'], resolve)
},
{ ////阳光村务(新)-- 一张图公开
path: '/sunVillage_info/list_contract_detail',
name: 'sunVillageInfoListContractDetail',
@@ -3525,6 +3777,42 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_edit'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new',
name: 'sunVillageInfoListFinanceNew',
meta: {
title: '财务公开榜',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new_add',
name: 'sunVillageInfoListFinanceAddNew',
meta: {
title: '新增财务公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_add'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new_detail',
name: 'sunVillageInfoListFinanceDetailNew',
meta: {
title: '查看财务公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_detail'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new_edit',
name: 'sunVillageInfoListFinanceEditNew',
meta: {
title: '修改财务公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_edit'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_tourists_edit',
name: 'sunVillageInfoListTouristsEdit',
@@ -3571,6 +3859,42 @@ export const constantRoutes = [
component: (resolve) => require(['@/views/sunVillage_info/list_issues_edit'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy',
name: 'sunVillageInfoListIssuesZy',
meta: {
title: '重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy_add',
name: 'sunVillageInfoListIssuesAddZy',
meta: {
title: '新增重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_add'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy_detail',
name: 'sunVillageInfoListIssuesDetailZy',
meta: {
title: '查看重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_detail'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy_edit',
name: 'sunVillageInfoListIssuesEditZy',
meta: {
title: '修改重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_edit'], resolve)
},
{ ////阳光村务(新)-- 零工公开榜
path: '/sunVillage_info/list_tourists_ranking',
name: 'sunVillageInfoListTouristsRanking',
meta: {
@@ -3579,6 +3903,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_tourists_ranking'], resolve)
},
{ ////阳光村务(新)-- 零工公开榜(精简)
path: '/sunVillage_info/list_tourists_ranking_lite',
name: 'sunVillageInfoListTouristsRankingLite',
meta: {
title: '零工公式公布榜',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_tourists_ranking_lite'], resolve)
},
{ ////阳光村务(新)-- 零工登记
path: '/sunVillage_info/list_tourists_registration',
name: 'sunVillageInfoListTouristsRegistration',
@@ -3597,6 +3930,33 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_add'], resolve)
},
{ ////阳光村务(新)-- 零工登记详情
path: '/sunVillage_info/list_tourists_registration_detail',
name: 'sunVillageInfoListTouristsRegistrationDetail',
meta: {
title: '查看零工登记',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_detail'], resolve)
},
{ ////阳光村务(新)-- 零工登记详情(游客)
path: '/sunVillage_info/list_tourists_registration_detail_visitor',
name: 'sunVillageInfoListTouristsRegistrationDetailVisitor',
meta: {
title: '查看零工登记',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_detail_visitor'], resolve)
},
{ ////阳光村务(新)-- 零工登记修改
path: '/sunVillage_info/list_tourists_registration_edit',
name: 'sunVillageInfoListTouristsRegistrationEdit',
meta: {
title: '修改零工登记',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_edit'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_register',
name: 'sunVillageInfoListRegister',
@@ -3633,6 +3993,97 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_register_detail'], resolve)
},
{ ////阳光村务(新)-- 零工事项
path: '/sunVillage_info/registrationIndex',
name: 'registrationIndex',
meta: {
title: '零工事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/registration/registrationList'], resolve)
},
{ ////阳光村务(新)-- 零工事项详情
path: '/sunVillage_info/registrationDetail',
name: 'registrationDetail',
meta: {
title: '零工事项详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/registration/registrationDetail'], resolve)
},
{ ////阳光村务(新)-- 新增/编辑零工事项
path: '/sunVillage_info/registrationEdit',
name: 'registrationEdit',
meta: {
title: '编辑零工事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/registration/registrationEdit'], resolve)
},
{ ////阳光村务(新)-- 综合公开
path: '/sunVillage_info/otherOpenIndex',
name: 'otherOpenIndex',
meta: {
title: '综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenList'], resolve)
},
{ ////阳光村务(新)-- 综合公开详情
path: '/sunVillage_info/otherOpenDetail',
name: 'otherOpenDetail',
meta: {
title: '综合公开详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenDetail'], resolve)
},
{ ////阳光村务(新)-- 新增/编辑综合公开
path: '/sunVillage_info/otherOpenEdit',
name: 'otherOpenEdit',
meta: {
title: '编辑综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenEdit'], resolve)
},
{ ////阳光村务(新)-- 综合公开 游客
path: '/sunVillage_info/otherOpenVisitIndex',
name: 'otherOpenVisitIndex',
meta: {
title: '综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitList'], resolve)
},
{ ////阳光村务(新)-- 综合公开详情 游客
path: '/sunVillage_info/otherOpenVisitDetail',
name: 'otherOpenVisitDetail',
meta: {
title: '综合公开详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitDetail'], resolve)
},
{ ////阳光村务(新)-- 综合公开 游客
path: '/sunVillage_info/otherOpenVisitIndexNew',
name: 'otherOpenVisitIndexNew',
meta: {
title: '综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpenNew/otherOpenVisitList'], resolve)
},
{ ////阳光村务(新)-- 综合公开详情 游客
path: '/sunVillage_info/otherOpenVisitDetailNew',
name: 'otherOpenVisitDetailNew',
meta: {
title: '综合公开详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpenNew/otherOpenVisitDetail'], resolve)
},

{ ////阳光村务(新)-- 发包方审核
path: '/sunVillage_info/list_employer_process',
name: 'sunVillageInfoListEmployerProcess',
@@ -3786,6 +4237,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/voucher'], resolve)
},
{ // 凭证列表
path: '/voucherList',
name: 'voucherList',
meta: {
title: '凭证列表',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/voucher/voucherList'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/user',
name: 'sunVillageInfoUser',
@@ -4002,6 +4462,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/applicationList'], resolve)
},
{ ////阳光村务(新)-- 宅基地申请
path: '/sunVillage_info/homeApplication/applicationNewList',
name: 'sunVillageInfoApplicationNewList',
meta: {
title: '宅基地申请(新)',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/applicationNewList'], resolve)
},
{
path: '/sunVillage_info/proposerLite',
name: 'sunVillageInfoProposerLite',
@@ -4011,6 +4480,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/proposerLite'], resolve)
},
{
path: '/sunVillage_info/proposerLiteNew',
name: 'sunVillageInfoProposerLiteNew',
meta: {
title: '农村宅基地申请(新)',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/proposerLiteNew'], resolve)
},
{
path: '/homesteadProposerLite',
name: 'homesteadProposerLite',
@@ -4029,6 +4507,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitList'], resolve)
},
{
path: '/sunVillage_info/paidExit/paidExitNewList',
name: 'sunVillageInfoPaidExitNewList',
meta: {
title: '有偿退出',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitNewList'], resolve)
},
{
path: '/sunVillage_info/paidExitAdd',
name: 'sunVillageInfoPaidExitAdd',
@@ -4039,13 +4526,22 @@ export const constantRoutes = [
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitAdd'], resolve)
},
{
path: '/sunVillage_info/paidExitModify',
name: 'sunVillageInfoPaidExitModify',
path: '/sunVillage_info/paidExitAddNew',
name: 'sunVillageInfoPaidExitAddNew',
meta: {
title: '有偿退出修改',
title: '有偿退出新增(新)',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitAddNew'], resolve)
},
{
path: '/sunVillage_info/paidExitModifyNew',
name: 'sunVillageInfoPaidExitModifyNew',
meta: {
title: '有偿退出修改(新)',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitModify'], resolve)
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitModifyNew'], resolve)
},
{
path: '/sunVillage_info/paidExitDetail',
@@ -4056,6 +4552,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitDetail'], resolve)
},
{
path: '/sunVillage_info/paidExitDetailNew',
name: 'sunVillageInfoPaidExitDetailNew',
meta: {
title: '有偿退出审批',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/paidExit/paidExitDetailNew'], resolve)
},
{
path: '/sunVillage_info/arbitrationList',
name: 'sunVillageInfoArbitrationList',
@@ -4245,6 +4750,42 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/resourceDetail'], resolve)
},
{ ////阳光村务(新)-- 三清台账管理
path: '/sunVillage_info/three',
name: 'sunVillageInfoListThree',
meta: {
title: '三清台账管理',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/three'], resolve)
},
{ ////阳光村务(新)-- 新增三清台账
path: '/sunVillage_info/threeAdd',
name: 'sunVillageInfoListThreeAdd',
meta: {
title: '新增三清台账',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/threeAdd'], resolve)
},
{ ////阳光村务(新)-- 修改三清台账
path: '/sunVillage_info/threeEdit',
name: 'sunVillageInfoListThreeEdit',
meta: {
title: '修改三清台账',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/threeEdit'], resolve)
},
{ ////阳光村务(新)-- 三清台账详情
path: '/sunVillage_info/threeDetail',
name: 'sunVillageInfoListThreeDetail',
meta: {
title: '三清台账详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/threeDetail'], resolve)
},
{ ////阳光村务(新)-- 修改资源
path: '/sunVillage_info/detailed_liabilities',
name: 'sunVillageInfoDetailedLiabilities',
@@ -5376,7 +5917,33 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/recordDetail/recordDetailList'], resolve)
},

{
path: '/sunVillage_info/paymentPendingList',
name: 'sunVillagePaymentPendingList',
meta: {
title: '待我支付',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/paymentPending/approvalList'], resolve)
},
{
path: '/sunVillage_info/payRecordList',
name: 'sunVillagePayRecordList',
meta: {
title: '支付记录',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/paymentPending/payRecordList'], resolve)
},
{
path: '/sunVillage_info/paymentPendingApprovalDetail',
name: 'sunVillagePaymentPendingApprovalDetail',
meta: {
title: '银农银行卡转账申请',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/paymentPending/approvalDetail'], resolve)
},
//<--------------------------------------农业大托管-------------------------------------->
{
path: '/agriculturalTrusteeship/index',
@@ -5873,6 +6440,169 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/contracted/user/passWord'], resolve)
},
//<--------------------------------------虫害APP-------------------------------------->
{
path: '/pest/pestLogin',
name: 'pestLogin',
meta: {
title: '登录',
hidden: true,
},
component: (resolve) => require(['@/views/pest/pestLogin'], resolve)
},
{
path: '/pest/index',
name: 'pestIndex',
meta: {
title: '首页',
hidden: true,
},
component: (resolve) => require(['@/views/pest/index'], resolve)
},
{
path: '/pest/agriculturalRecords',
name: 'pestAgriculturalRecords',
meta: {
title: '农事记录',
hidden: true,
},
component: (resolve) => require(['@/views/pest/agriculturalRecords/agriculturalRecords'], resolve)
},
{
path: '/pest/agriculturalRecordsAdd',
name: 'agriculturalRecordsAdd',
meta: {
title: '新增农事记录',
hidden: true,
},
component: (resolve) => require(['@/views/pest/agriculturalRecords/agriculturalRecordsAdd'], resolve)
},
{
path: '/pest/insectMonitoring',
name: 'insectMonitoring',
meta: {
title: '虫情监测',
hidden: true,
},
component: (resolve) => require(['@/views/pest/insectMonitoring/insectMonitoring'], resolve)
},
{
path: '/pest/soilTesting',
name: 'soilTesting',
meta: {
title: '土壤检测',
hidden: true,
},
component: (resolve) => require(['@/views/pest/soilTesting/soilTesting'], resolve)
},
{
path: '/pest/weather',
name: 'weather',
meta: {
title: '气象服务',
hidden: true,
},
component: (resolve) => require(['@/views/pest/weather/weather'], resolve)
},
{
path: '/pest/growthMonitoring',
name: 'growthMonitoring',
meta: {
title: '长势监测',
hidden: true,
},
component: (resolve) => require(['@/views/pest/growthMonitoring/growthMonitoring'], resolve)
},
{
path: '/pest/temperatureAndHumidity',
name: 'temperatureAndHumidity',
meta: {
title: '温湿度',
hidden: true,
},
component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/login_code_new',
name: 'sunVillageInfoCodeLoginNew',
meta: {
title: '登录',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/login_code_new'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/index_code_rights_new',
name: 'sunVillageInfoCodeRightsNew',
meta: {
title: '首页',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/index_code_rights_new'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_revenueAndExpenditure',
name: 'sunVillageInfoRevenueAndExpendituresNew',
meta: {
title: '收支明细公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_revenueAndExpenditure'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_operatingAssets',
name: 'sunVillageInfoOperatingAssets',
meta: {
title: '经营性资产情况公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_operatingAssets_detail',
name: 'sunVillageInfoOperatingAssetsDetail',
meta: {
title: '经营性资产情况公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets_detail'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_operatingAssets_detail2',
name: 'sunVillageInfoOperatingAssetsDetail2',
meta: {
title: '经营性资产情况公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets_detail2'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/login_farmer',
name: 'sunVillageInfoFarmerLogin',
meta: {
title: '村民验证登录',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/login_farmer'], resolve)
},
{ // 阳光村务(一村一码)-- 村民主页
path: '/sunVillage_info/index_farmer',
name: 'sunVillageInfoFarmerIndex',
meta: {
title: '阳光村务',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/index_farmer'], resolve)
},
{ ////阳光村务(一村一码)-- 财务公开榜
path: '/sunVillage_info/financeOpen',
name: 'sunVillageInfoFinanceOpen',
meta: {
title: '财务公开榜',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/financeOpen'], resolve)
},
];




+ 8
- 1
src/store/modules/user.js Voir le fichier

@@ -17,6 +17,7 @@ const user = {
baseRoutingUrl: '',
businessLevel: '',
userId:null,
deptId:null,
},

mutations: {
@@ -41,6 +42,9 @@ const user = {
SET_LOGINDEPTID: (state, loginDeptId) => {
state.loginDeptId = loginDeptId
},
SET_DEPTID: (state, deptId) => {
state.deptId = deptId
},
SET_LOGINBOOKID: (state, loginBookId) => {
state.loginBookId = loginBookId
},
@@ -74,7 +78,7 @@ const user = {
commit('SET_TOKEN', res.token)
getInfo(res.token).then(response => {
const user = response.user
console.info(user.nickName);
//console.info(user.nickName);
// const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
const avatar = "";
if (response.roles && response.roles.length > 0) { // 验证返回的roles是否是一个非空数组
@@ -86,6 +90,7 @@ const user = {
commit('SET_BOOKNAME', user.bookName)
commit('SET_NAME', user.userName)
commit('SET_USERID', user.userId)
commit('SET_DEPTID', user.deptId)
commit('SET_LOGINDEPTID', user.loginDeptId)
commit('SET_LOGINBOOKID', user.loginBookId)
commit('SET_DEPTNAME', user.deptName)
@@ -157,6 +162,7 @@ const user = {
commit('SET_BOOKNAME', user.bookName)
commit('SET_NAME', user.userName)
commit('SET_USERID', user.userId)
commit('SET_DEPTID', user.deptId)
commit('SET_LOGINDEPTID', user.loginDeptId)
commit('SET_LOGINBOOKID', user.loginBookId)
commit('SET_DEPTNAME', user.deptName)
@@ -227,6 +233,7 @@ const user = {
commit('SET_BOOKNAME', user.bookName)
commit('SET_NAME', user.userName)
commit('SET_USERID', user.userId)
commit('SET_DEPTID', user.deptId)
commit('SET_LOGINDEPTID', user.loginDeptId)
commit('SET_LOGINBOOKID', user.loginBookId)
commit('SET_DEPTNAME', user.deptName)


+ 21
- 0
src/utils/finance.js Voir le fichier

@@ -236,6 +236,27 @@ export const FINANCE = {
a = new BigNumber(a, 10);
return a.isZero();
},
sub(a, b) {
if(!(a instanceof BigNumber))
a = new BigNumber(a, 10);
if(!(b instanceof BigNumber))
b = new BigNumber(b, 10);
return a.minus(b, 10);
},
mul(a, b) {
if(!(a instanceof BigNumber))
a = new BigNumber(a, 10);
if(!(b instanceof BigNumber))
b = new BigNumber(b, 10);
return a.multipliedBy(b, 10);
},
div(a, b) {
if(!(a instanceof BigNumber))
a = new BigNumber(a, 10);
if(!(b instanceof BigNumber))
b = new BigNumber(b, 10);
return a.div(b, 10);
},
toNumber(a) {
if(typeof(a) === 'number')
return a;


+ 0
- 2
src/utils/global.js Voir le fichier

@@ -1,10 +1,8 @@
const deptId = 100 ;
const severApi = 'http://192.168.31.107:8080';

export default
{
deptId,//区县ID
severApi,//全局API
}
export const REGION = {
YI_LONG_XIAN: '仪陇',


+ 12
- 5
src/utils/request.js Voir le fichier

@@ -65,10 +65,11 @@ if(responseInterceptor === undefined){
responseInterceptor = service.interceptors.response.use(res => {
Toast.clear();
// 未设置状态码则默认成功状态
const code = res.data.code || 200;
const code = res.data.code || 200 || '200';
// 获取错误信息
const msg = errorCode[code] || res.data.msg || errorCode['default']
// console.info(gqnum); && gqnum === 0
// console.log(code)
if (code === 401) {
// gqnum++;
Dialog.confirm({
@@ -82,9 +83,15 @@ if(responseInterceptor === undefined){
console.log('退出')
try {
let loginUrl = Cookies.get("_Login_url");
if(loginUrl && loginUrl.indexOf("onlineHomeLogin") !== -1) {
window.location.href = loginUrl;
return;
console.log('登录页面: ' + loginUrl)
if(loginUrl) {
if(loginUrl.indexOf("onlineHomeLogin") !== -1
|| loginUrl.indexOf('yinnongLiteLogin') !== -1
)
{
window.location.href = loginUrl;
return;
}
}
} catch (e) { console.log(e); }

@@ -135,7 +142,7 @@ if(responseInterceptor === undefined){
} else if (code === 500) {
Dialog.alert({ type: 'warning', message: msg });
return Promise.reject(new Error(msg))
} else if (code !== 200 && code !== 401) {
} else if (code !== 200 && code !== 401 && code !== '200') {
Dialog.alert({ type: 'warning', message: msg });
return Promise.reject('error')
} else {


+ 53
- 96
src/views/biddingHall/index.vue Voir le fichier

@@ -1,21 +1,15 @@
<template>
<div>
<van-nav-bar
title="竞价大厅"
left-arrow
fixed
placeholder
@click-left="onClickLeft"
/>
<navBar title="竞价大厅" background="0" positionType="fixed"></navBar>
<van-search
v-model="value"
shape="round"
background="#fff"
background="linear-gradient(to top right,#91E1CA,#E0F4E4)"
placeholder="请输入搜索关键词"
@search="onSearch"
style="margin-top: -1PX;"
/>
<van-row>
<van-dropdown-menu>
<van-dropdown-menu active-color="#0EB8A4">
<van-dropdown-item v-model="value1" :options="projectTypeOption" @change="tabChange"/>
<van-dropdown-item :value="value2" :title="value2">
<van-tree-select
@@ -30,73 +24,28 @@
<van-dropdown-item v-model="value3" :options="option3" @change="tabChange"/>
</van-dropdown-menu>
</van-row>
<p class="biddingProcessTitle">
<img src="../../../static/images/title_icon.png" alt="">
竞价流程
</p>
<div class="biddingProcessContent">
<div class="head_box">
<p class="biddingProcessTitle">
<img src="../../../static/images/transaction_new/bidding/bidding_icon_01.png" alt="">
竞价流程
</p>
<div class="biddingProcessContent">

<div class="content_li">
<div class="biddingProcess">
<i></i>
<div></div>
</div>
<p class="biddingProcess_text">查看项目</p>
</div>
<p class="biddingProcess_text">查看<br/>项目</p>

<div class="content_li">
<div class="biddingProcess">
<div></div>
<i></i>
<div></div>
</div>
<p class="biddingProcess_text">注册报名</p>
</div>
<p class="biddingProcess_text">注册<br/>报名</p>

<div class="content_li">
<div class="biddingProcess">
<div></div>
<i></i>
<div></div>
</div>
<p class="biddingProcess_text">交保证金</p>
</div>
<p class="biddingProcess_text">交保<br/>证金</p>

<div class="content_li">
<div class="biddingProcess">
<div></div>
<i></i>
<div></div>
</div>
<p class="biddingProcess_text">资质审核</p>
</div>
<p class="biddingProcess_text">资质<br/>审核</p>

<div class="content_li">
<div class="biddingProcess">
<div></div>
<i></i>
<div></div>
</div>
<p class="biddingProcess_text">参与竞价</p>
</div>
<p class="biddingProcess_text">参与<br/>竞价</p>

<div class="content_li">
<div class="biddingProcess">
<div></div>
<i></i>
<div></div>
</div>
<p class="biddingProcess_text">成交确认</p>
</div>
<p class="biddingProcess_text">成交<br/>确认</p>

<div class="content_li">
<div class="biddingProcess" style="justify-content: left;">
<div></div>
<i></i>
</div>
<p class="biddingProcess_text">结算交割</p>
</div>
<p class="biddingProcess_text">结算<br/>交割</p>

</div>
</div>
<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">-->
<van-list
@@ -115,27 +64,27 @@
<span style="color: #848484">当前价:</span>

<!--自由竞价竞价中-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="item.biddingType=='自由竞价'&&item.deadline>0 && item.projectShowStatus == '正在竞价'">*</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="item.biddingType=='自由竞价'&&item.deadline>0 && item.projectShowStatus == '正在竞价'">*</span>
<!--自由竞价竞价中-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType=='自由竞价'&&item.deadline<=0)&&item.money && item.projectShowStatus == '正在竞价'">*</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType=='自由竞价'&&item.deadline<=0)&&item.money && item.projectShowStatus == '正在竞价'">*</span>
<!--自由竞价竞价结束(有人出价)-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType=='自由竞价'&&item.deadline<=0)&&item.money && item.projectShowStatus != '正在竞价' && item.projectShowStatus != '等待竞价'">{{item.money}}{{item.priceUnit}}</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType=='自由竞价'&&item.deadline<=0)&&item.money && item.projectShowStatus != '正在竞价' && item.projectShowStatus != '等待竞价'">{{item.money}}{{item.priceUnit}}</span>
<!--自由竞价竞价结束(无人出价)-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType=='自由竞价'&&item.deadline<=0)&&!item.money">暂无出价</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType=='自由竞价'&&item.deadline<=0)&&!item.money">暂无出价</span>

<!--阶梯竞价竞价中(有人出价)-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline>0)&&item.money">{{item.money}}{{item.priceUnit}}</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline>0)&&item.money">{{item.money}}{{item.priceUnit}}</span>
<!--阶梯竞价竞价中(无人出价)-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline>0)&&!item.money">暂无出价</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline>0)&&!item.money">暂无出价</span>
<!--阶梯竞价竞价结束(有人出价)-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline<=0)&&item.money">{{item.money}}{{item.priceUnit}}</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline<=0)&&item.money">{{item.money}}{{item.priceUnit}}</span>
<!--阶梯竞价竞价结束(无人出价)-->
<span :style="{'font-size':'14px',color: {'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline<=0)&&!item.money">暂无出价</span>
<span :style="{'font-size':'14px',color: {'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',}[item.projectShowStatus]}" v-if="(item.biddingType!='自由竞价'&&item.deadline<=0)&&!item.money">暂无出价</span>

</p>
<p :style="{
color: {
'正在报名': '#007E72','等待竞价': '#848484','等待成交': '#848484','已经成交': '#848484','正在竞价': '#c21F3a',
'正在报名': '#0DBCAA','等待竞价': '#848484','等待成交': '#848484','已经成交': '#2D87E8','正在竞价': 'red',
}[item.projectShowStatus]}">{{item.projectShowStatus}}</p>
</div>
<div class="list_li_time">
@@ -167,9 +116,11 @@

<script>
import {getBiddingList, getDeptList} from "../../api/biddingHall";
import navBar from "@/components/common/nav_bar.vue";

export default {
name: "biddingHallApply",
components: { navBar },
data() {
return {
//标的物类型
@@ -397,7 +348,13 @@ export default {
</script>

<style scoped lang="scss">

.head_box{
background: linear-gradient(#96E0CF,#CBF1C8);
border-radius: 15PX;
width: 94%;
margin: 2vh auto 0;
padding: 1vh 3vw 2vh;
}
.list_li{
width: 94%;
background: #ffffff;
@@ -439,7 +396,8 @@ export default {
}

.van-search__content{
border:1px solid #007E72;
/*border:1px solid #007E72;*/
border-radius: 10Px;
}
/*>>> .van-dropdown-menu__title{*/
/* font-size: 14PX;*/
@@ -466,35 +424,34 @@ export default {
height:100%;
}
.biddingProcessTitle{
background-color:#007E72;
color:#fff;
color:#333333;
text-align: center;
line-height: 0.8rem;
font-size: 14PX;
font-size: 18PX;
display: flex;
align-items: center;
justify-content: center;
padding: 5PX 0;
justify-content: left;
img{
margin-right: 5PX;
width: 18PX;
width: 25PX;
}
}
.biddingProcess_text{
/*font-size: 1vh;*/
margin-top: 10PX;
color: #848484;
color: #333333;
background: #ffffff;
padding: 1vh;
line-height: 1;
border-radius: 10PX;
}
.biddingProcessContent{
padding:0.4rem 0;
background-color: #ffffff;
padding:3vw;
background-color: rgba(255,255,255,.5);
text-align: center;
display: flex;
align-items: flex-start;
justify-content: center;
.content_li{
width: 15%;
}
align-items: center;
justify-content: space-between;
border-radius: 10PX;
margin-top: 1vh;
}
.biddingProcessListLeftCol{
padding:10px 0.25rem 10px 0.3rem;


+ 18
- 6
src/views/contracted/village/contractor/contractWord.vue Voir le fichier

@@ -25,7 +25,9 @@
</template>
</van-field>
<van-field v-model="form.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="left" maxlength="19" />
<van-field v-model="form.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="14" />
<van-field v-model="form.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" maxlength="14" />
<van-field v-model="form.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" maxlength="18" />
<van-field v-model="form.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" />
<van-field
v-model="cbflxText"
label="承包方类型:"
@@ -48,8 +50,6 @@
@cancel="showType = false"
/>
</van-popup>
<van-field v-model="form.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" maxlength="18" />
<van-field v-model="form.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" />
<van-field
v-model="cbfsText"
label="承包方式:"
@@ -149,8 +149,9 @@
@cancel="showCbqxz = false"
/>
</van-popup>
<van-field v-model="form.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" required :rules="[{ required: true }]" :border="false" input-align="left" type="digit" />
<van-field v-model="form.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" />
<van-field v-model="form.cbdkzs" label="承包地块总数:" placeholder="请输入承包地块总数" required :rules="[{ required: true }]" :border="false" input-align="left" type="digit" />
<van-field v-model="form.htzmjm" label="合同总面积(亩):" placeholder="请输入合同总面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" />
<van-field v-model="form.yhtzmjm" label="原合同总面积(亩):" placeholder="请输入原合同总面积(亩)" :border="false" input-align="left" type="number" />
</van-form>
<p class="btn" @click="submitForm" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">保存</p>
</div>
@@ -248,6 +249,16 @@
});
},
submitForm() {
let householdStatus = Cookies.get('householdStatus');
if (householdStatus !== '1') {
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能保存承包合同信息';
this.$toast({
icon: 'fail', // 找到自己需要的图标
message: msg,
duration:"2000"
});
return;
}
this.$refs.formData.validate().then(() => {
if (this.form.id) {
updateCbht(this.form).then(response => {
@@ -293,6 +304,7 @@
cbqxz: null,
cbdkzs: null,
htzmjm: null,
yhtzmjm: null,
};
this.cbfsText = '家庭承包';
this.cbflxText = '农户';
@@ -359,7 +371,7 @@
}

/deep/ .van-field__label {
width: 225px;
width: 245px;
}

/deep/ .van-field--disabled .van-field__label {


+ 1
- 1
src/views/contracted/village/contractor/contractor.vue Voir le fichier

@@ -186,7 +186,7 @@
},
deleteContractor(id, index) {
this.$dialog.confirm({
message: '是否确认删除此条承包方信息?',
message: '是否确认删除此条承包方信息以及与其相关联的家庭成员、承包合同、承包地块?',
}).then(() => {
// on confirm
deleteCbf(id).then(res => {


+ 113
- 2
src/views/contracted/village/contractor/contractorDetail.vue Voir le fichier

@@ -70,7 +70,82 @@
<van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="100" />
<van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="6" />
<van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="15" />
<van-field v-model="form.cbfcysl" label="成员数量:" placeholder="请输入成员数量" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" />
<van-field name="radio" label="是否有住房" :border="false" input-align="left">
<template #input>
<van-radio-group v-model="form.sfyzf" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field name="radio" label="是否在村居住" :border="false" input-align="left">
<template #input>
<van-radio-group v-model="form.sfzcjz" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-model="form.householdStatusText"
label="整户状态:"
placeholder="请选择整户状态"
:border="false"
input-align="left"
right-icon="arrow-down"
readonly
clickable
@click="showZhzt = true"
/>
<van-popup v-model="showZhzt" position="bottom">
<van-picker
show-toolbar
:columns="householdStatusOptions"
value-key="dictLabel"
@confirm="onConfirmHouseholdStatusOptions"
@cancel="showZhzt = false"
/>
</van-popup>
<van-field v-model="form.totalArea" label="总面积(亩):" placeholder="请输入总面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.qqArea" label="确权面积(亩):" placeholder="请输入确权面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.qtArea" label="其他面积(亩):" placeholder="请输入其他面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.dks" label="地块数(块):" placeholder="请输入地块数(块)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.zzjyArea" label="自主经营面积(亩):" placeholder="请输入自主经营面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.lzcArea" label="流转出面积(亩):" placeholder="请输入流转出面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.shArea" label="损毁面积(亩):" placeholder="请输入损毁面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.zzArea" label="征占面积(亩):" placeholder="请输入征占面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.cbfdcy" label="调查员:" placeholder="请输入调查员" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" />
<van-field v-model="form.cbfdcrq" label="调查日期:" placeholder="请选择调查日期" required :rules="[{ required: true }]"
:border="false" input-align="left" right-icon="arrow-down" readonly clickable @click="showDcrq = true" />
<van-popup v-model="showDcrq" position="bottom">
<van-datetime-picker
:value="form.cbfdcrq ? new Date(form.cbfdcrq) : new Date()"
type="date"
title="请选择调查日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDcrq"
@cancel="showDcrq = false"
/>
</van-popup>
<van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="250" />
<van-field v-model="form.gsjsr" label="公示记事人:" placeholder="请输入公示记事人" :border="false" input-align="left" maxlength="50" />
<van-field v-model="form.gsjs" label="公示记事:" type="textarea" rows="3" placeholder="请输入公示记事" :border="false" input-align="left" maxlength="250" />
<van-field v-model="form.gsshr" label="公示审核人:" placeholder="请输入公示审核人" :border="false" input-align="left" maxlength="20" />
<van-field v-model="form.gsshrq" label="公示审核日期:" placeholder="请选择公示审核日期" :border="false" input-align="left" right-icon="arrow-down"
readonly clickable @click="showGsshrq = true" />
<van-popup v-model="showGsshrq" position="bottom">
<van-datetime-picker
:value="form.gsshrq ? new Date(form.gsshrq) : new Date()"
type="date"
title="请选择公示审核日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmGsshrq"
@cancel="showGsshrq = false"
/>
</van-popup>
</van-form>
<p class="btn" @click="submitForm" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">保存</p>
</div>
@@ -81,17 +156,21 @@
<script>
import Cookies from "js-cookie";
import contractorHeader from "./contractorHeader";
import FieldRadio from "@/components/form/FieldRadio";
import { getCbf, updateCbf } from "@/api/contracted/cbf";

export default {
name: "contractedVillageContractor",
components: {
contractorHeader
contractorHeader,FieldRadio
},
data() {
return {
showType:false,
showZjType:false,
showZhzt:false,
showDcrq: false,
showGsshrq: false,
// 承包方信息表单
form: {},
// 承包方类型字典
@@ -100,6 +179,10 @@
credentialTypeOptions: [],
// 调查任务的完成状态:1表示已完成,2表示未完成
taskStatus: null,
// 整户状态类型字典
householdStatusOptions: [],
minDate: new Date(1978, 0, 1),
maxDate: new Date(2100, 11, 31),
};
},
created() {
@@ -110,6 +193,9 @@
this.getDicts("cert_type").then(response => {
this.credentialTypeOptions = response.data;
});
this.getDicts("household_status").then(response => {
this.householdStatusOptions = response.data;
});
},
mounted() {
setTimeout(() => {
@@ -122,6 +208,9 @@
this.form = response.data;
this.$set(this.form, 'cbflxText', this.selectDictLabel(this.contractorTypeOptions, response.data.cbflx));
this.$set(this.form, 'cbfzjlxText', this.selectDictLabel(this.credentialTypeOptions, response.data.cbfzjlx));
this.$set(this.form, 'householdStatusText', this.selectDictLabel(this.householdStatusOptions, response.data.householdStatus));
Cookies.set('householdStatus', this.form.householdStatus, { expires: 30 });
Cookies.set('householdStatusText', this.form.householdStatusText, { expires: 30 });
});
},
onConfirmTypeOptions(value){
@@ -134,6 +223,19 @@
this.form.cbfzjlxText = value.dictLabel;
this.showZjType = false;
},
onConfirmHouseholdStatusOptions(value){
this.form.householdStatus = value.dictValue;
this.form.householdStatusText = value.dictLabel;
this.showZhzt = false;
},
onConfirmDcrq(data) {
this.form.cbfdcrq = this.format(data, 'yyyy-MM-dd');
this.showDcrq = false;
},
onConfirmGsshrq(data) {
this.form.gsshrq = this.format(data, 'yyyy-MM-dd');
this.showGsshrq = false;
},
submitForm() {
this.$refs.formData.validate().then(() => {
updateCbf(this.form).then(response => {
@@ -178,7 +280,16 @@
padding: 0 4vw;
overflow: hidden;
}

/deep/ .van-field__label {
-webkit-box-flex: 0;
flex: none;
box-sizing: border-box;
width: 9em;
margin-right: 0.32rem;
color: #646566;
text-align: left;
word-wrap: break-word;
}
/deep/ .van-nav-bar{
background: transparent;
}


+ 133
- 3
src/views/contracted/village/contractor/contractorDetailAdd.vue Voir le fichier

@@ -11,7 +11,7 @@

<div class="list_main">
<van-form ref="formData">
<van-field v-model="form.cbfbm" label="代码:" placeholder="<自动生成>" :border="false" input-align="left" maxlength="18">
<van-field v-model="form.cbfbm" label="代码:" placeholder="<自动生成>" :border="false" input-align="left" :disabled="true" maxlength="18">
<!-- <template #button>
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button>
</template> -->
@@ -66,7 +66,82 @@
<van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="100" />
<van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="6" />
<van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="15" />
<van-field v-model="form.cbfcysl" label="成员数量:" placeholder="请输入成员数量" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" />
<van-field name="radio" label="是否有住房" :border="false" input-align="left">
<template #input>
<van-radio-group v-model="form.sfyzf" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field name="radio" label="是否在村居住" :border="false" input-align="left">
<template #input>
<van-radio-group v-model="form.sfzcjz" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-model="householdStatusText"
label="整户状态:"
placeholder="请选择整户状态"
:border="false"
input-align="left"
right-icon="arrow-down"
readonly
clickable
@click="showZhzt = true"
/>
<van-popup v-model="showZhzt" position="bottom">
<van-picker
show-toolbar
:columns="householdStatusOptions"
value-key="dictLabel"
@confirm="onConfirmHouseholdStatusOptions"
@cancel="showZhzt = false"
/>
</van-popup>
<van-field v-model="form.totalArea" label="总面积(亩):" placeholder="请输入总面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.qqArea" label="确权面积(亩):" placeholder="请输入确权面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.qtArea" label="其他面积(亩):" placeholder="请输入其他面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.dks" label="地块数(块):" placeholder="请输入地块数(块)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.zzjyArea" label="自主经营面积(亩):" placeholder="请输入自主经营面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.lzcArea" label="流转出面积(亩):" placeholder="请输入流转出面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.shArea" label="损毁面积(亩):" placeholder="请输入损毁面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.zzArea" label="征占面积(亩):" placeholder="请输入征占面积(亩)" :border="false" input-align="left" type="number"/>
<van-field v-model="form.cbfdcy" label="调查员:" placeholder="请输入调查员" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="50" />
<van-field v-model="form.cbfdcrq" label="调查日期:" placeholder="请选择调查日期" required :rules="[{ required: true }]"
:border="false" input-align="left" right-icon="arrow-down" readonly clickable @click="showDcrq = true" />
<van-popup v-model="showDcrq" position="bottom">
<van-datetime-picker
:value="new Date()"
type="date"
title="请选择调查日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDcrq"
@cancel="showDcrq = false"
/>
</van-popup>
<van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" maxlength="250" />
<van-field v-model="form.gsjsr" label="公示记事人:" placeholder="请输入公示记事人" :border="false" input-align="left" maxlength="50" />
<van-field v-model="form.gsjs" label="公示记事:" type="textarea" rows="3" placeholder="请输入公示记事" :border="false" input-align="left" maxlength="250" />
<van-field v-model="form.gsshr" label="公示审核人:" placeholder="请输入公示审核人" :border="false" input-align="left" maxlength="20" />
<van-field v-model="form.gsshrq" label="公示审核日期:" placeholder="请选择公示审核日期" :border="false" input-align="left" right-icon="arrow-down"
readonly clickable @click="showGsshrq = true" />
<van-popup v-model="showGsshrq" position="bottom">
<van-datetime-picker
:value="new Date()"
type="date"
title="请选择公示审核日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmGsshrq"
@cancel="showGsshrq = false"
/>
</van-popup>
</van-form>
<p class="btn" @click="submitForm">保存</p>
</div>
@@ -77,13 +152,21 @@
<script>
import Cookies from "js-cookie";
import { addCbf, generateContractorCode } from "@/api/contracted/cbf";
import FieldRadio from "@/components/form/FieldRadio";
import FieldSelect from "@/components/form/FieldSelect";

export default {
name: "contractedVillageContractorAdd",
components: {
FieldRadio,FieldSelect
},
data() {
return {
showType:false,
showZjType:false,
showZhzt:false,
showDcrq: false,
showGsshrq: false,
// 承包方信息表单
form: {
deptId: null,
@@ -96,16 +179,38 @@
yzbm: null,
lxdh: null,
cbfcysl: null,
cbfdcy: null,
cbfdcrq: null,
cbfdcjs: null,
gsjsr: null,
gsjs: null,
gsshr: null,
gsshrq: null,
sfyzf: 'Y',
sfzcjz: 'Y',
householdStatus: '1',
totalArea: null,
qqArea: null,
qtArea: null,
dks: null,
zzjyArea: null,
lzcArea: null,
shArea: null,
zzArea: null,
},
// 承包方类型(标签名)
cbflxText: '农户',
// 承包方证件类型(标签名)
cbfzjlxText: '居民身份证',
householdStatusText: "正常",
// 承包方类型字典
contractorTypeOptions: [],
// 承包方证件类型字典
credentialTypeOptions: [],
// 整户状态类型字典
householdStatusOptions: [],
minDate: new Date(1978, 0, 1),
maxDate: new Date(2100, 11, 31),
};
},
created() {
@@ -115,6 +220,9 @@
this.getDicts("cert_type").then(response => {
this.credentialTypeOptions = response.data;
});
this.getDicts("household_status").then(response => {
this.householdStatusOptions = response.data;
});
},
methods: {
onConfirmTypeOptions(value){
@@ -127,10 +235,23 @@
this.cbfzjlxText = value.dictLabel;
this.showZjType = false;
},
onConfirmHouseholdStatusOptions(value){
this.form.householdStatus = value.dictValue;
this.householdStatusText = value.dictLabel;
this.showZhzt = false;
},
onConfirmDcrq(data) {
this.form.cbfdcrq = this.format(data, 'yyyy-MM-dd');
this.showDcrq = false;
},
onConfirmGsshrq(data) {
this.form.gsshrq = this.format(data, 'yyyy-MM-dd');
this.showGsshrq = false;
},
submitForm() {
this.$refs.formData.validate().then(() => {
this.form.deptId = this.$route.params.deptId;
this.form.cbfcysl = 1;
// this.form.cbfcysl = 1;
addCbf(this.form).then(response => {
if (response.code == 200) {
this.$toast({
@@ -164,7 +285,16 @@
padding: 0 4vw;
overflow: hidden;
}

/deep/ .van-field__label {
-webkit-box-flex: 0;
flex: none;
box-sizing: border-box;
width: 9em;
margin-right: 0.32rem;
color: #646566;
text-align: left;
word-wrap: break-word;
}
/deep/ .van-nav-bar{
background: transparent;
}


+ 65
- 3
src/views/contracted/village/contractor/contractorFamily.vue Voir le fichier

@@ -59,8 +59,8 @@
</div>
</template>
</van-swipe-cell>
<!-- getDetail不加(), 第一个参数默认传递的是event,getDetail加(), 需要手动传递$event -->
<p class="btn" @click="goDetail()" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">新增</p>
<!-- addMember不加(), 第一个参数默认传递的是event,addMember加(), 需要手动传递$event -->
<p class="btn" @click="addMember()" v-if="taskStatus === '2' && $route.params.surveyStatus !== '3'">新增</p>
</div>
<van-popup v-model="showContractorPopup" position="bottom">
<van-search v-model="searchKeyword" placeholder="请输入姓名搜索" />
@@ -120,7 +120,7 @@
});
},
getContractorList() {
listCbf({deptId: this.$route.params.deptId}).then(response => {
listCbf({deptId: this.$route.params.deptId, householdStatus: '1'}).then(response => {
this.contractorList = response.rows;
});
},
@@ -135,6 +135,28 @@
}
});
},
addMember() {
let householdStatus = Cookies.get('householdStatus');
if (householdStatus !== '1') {
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能新增家庭成员信息';
this.$toast({
icon: 'fail', // 找到自己需要的图标
message: msg,
duration:"2000"
});
return;
}
this.$router.push({
name: 'contractedVillageContractorFamilyDetail',
params: {
id: undefined,
deptId: this.$route.params.deptId,
cbfbm: this.$route.params.cbfbm,
cbfmc: this.$route.params.cbfmc,
surveyStatus: this.$route.params.surveyStatus
}
});
},
goDetail(id) {
this.$router.push({
name: 'contractedVillageContractorFamilyDetail',
@@ -148,6 +170,16 @@
});
},
deleteFamilyMember(id, index) {
let householdStatus = Cookies.get('householdStatus');
if (householdStatus !== '1') {
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能删除家庭成员信息';
this.$toast({
icon: 'fail', // 找到自己需要的图标
message: msg,
duration:"2000"
});
return;
}
this.$dialog.confirm({
message: '是否确认删除此条家庭成员信息?',
}).then(() => {
@@ -163,6 +195,16 @@
});
},
householdDivision(item, index) {
let householdStatus = Cookies.get('householdStatus');
if (householdStatus !== '1') {
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能执行分户操作';
this.$toast({
icon: 'fail', // 找到自己需要的图标
message: msg,
duration:"2000"
});
return;
}
if (item.yhzgx === '户主') {
this.$toast.fail('该成员身份为户主,不能分户');
return false;
@@ -188,6 +230,16 @@
});
},
householdTransfer(item) {
let householdStatus = Cookies.get('householdStatus');
if (householdStatus !== '1') {
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能执行移户操作';
this.$toast({
icon: 'fail', // 找到自己需要的图标
message: msg,
duration:"2000"
});
return;
}
if (item.yhzgx === '户主') {
this.$toast.fail('该成员身份为户主,不能移户');
return false;
@@ -220,6 +272,16 @@
});
},
houseHolder(item) {
let householdStatus = Cookies.get('householdStatus');
if (householdStatus !== '1') {
let msg = '当前承包方已' + Cookies.get('householdStatusText') + ',不能执行设为户主操作';
this.$toast({
icon: 'fail', // 找到自己需要的图标
message: msg,
duration:"2000"
});
return;
}
if (item.yhzgx === '户主') {
this.$toast.fail('该成员身份为户主,无需设置');
return false;


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff

Chargement…
Annuler
Enregistrer