浏览代码

批量更新好多

fanxw 1 年之前
父节点
当前提交
89dadff986
共有 100 个文件被更改,包括 6109 次插入3657 次删除
  1. 4 0
      pom.xml
  2. 39 0
      src/main/java/com/chinaitop/depot/config/WebSecurityConfig.java
  3. 14 14
      src/main/resources/application.properties
  4. 83 0
      src/main/resources/static/app/act/util/auditInfoList-new-state.html
  5. 4 4
      src/main/resources/static/app/additionalHome/controller/businessCtrl.js
  6. 5 5
      src/main/resources/static/app/additionalHome/controller/defendCtrl.js
  7. 5 5
      src/main/resources/static/app/additionalHome/controller/qualityCtrl.js
  8. 4 4
      src/main/resources/static/app/additionalHome/controller/storageCtrl.js
  9. 4 4
      src/main/resources/static/app/additionalHome/controller/transferCtrl.js
  10. 6 6
      src/main/resources/static/app/app.js
  11. 25 0
      src/main/resources/static/app/basic/file/fileService.js
  12. 56 1
      src/main/resources/static/app/basic/keeper/controller/keeperCtrl.js
  13. 127 10
      src/main/resources/static/app/basic/keeper/views/keeper-edit.html
  14. 1 1
      src/main/resources/static/app/basic/keeper/views/keeper-list.html
  15. 1 1
      src/main/resources/static/app/basic/keeper/views/keeper-view.html
  16. 40 526
      src/main/resources/static/app/basic/module.js
  17. 132 0
      src/main/resources/static/app/business/commonUtilService.js
  18. 2 2
      src/main/resources/static/app/business/customer/controller/customerCtrl.js
  19. 1 1
      src/main/resources/static/app/business/customer/controller/customerSaveCtrl.js
  20. 2 5
      src/main/resources/static/app/business/deliveryStorageNotice/controller/deliveryStorageNoticeAuditPassCtrl.js
  21. 103 72
      src/main/resources/static/app/business/deliveryStorageNotice/controller/grainDeliveryStorageNoticeSaveCtrl.js
  22. 1 0
      src/main/resources/static/app/business/deliveryStorageNotice/controller/propertyTransitionSheetAuditCtrl.js
  23. 1 4
      src/main/resources/static/app/business/deliveryStorageNotice/controller/receiveNoticeCtrl.js
  24. 9 2
      src/main/resources/static/app/business/deliveryStorageNotice/controller/receiveNoticeSaveCtrl.js
  25. 2 0
      src/main/resources/static/app/business/deliveryStorageNotice/views/grainStorageNotice-edit.html
  26. 14 5
      src/main/resources/static/app/business/deliveryStorageNotice/views/propertyTSheet-list.html
  27. 1 1
      src/main/resources/static/app/business/deliveryStorageNotice/views/receiveNotice-edit.html
  28. 11 1
      src/main/resources/static/app/business/deliveryStorageNotice/views/receiveNotice-list.html
  29. 1 1
      src/main/resources/static/app/business/device/controller/deviceAccountCtrl.js
  30. 6 6
      src/main/resources/static/app/business/device/controller/deviceCheckCtrl.js
  31. 5 5
      src/main/resources/static/app/business/device/controller/deviceGetCtrl.js
  32. 4 4
      src/main/resources/static/app/business/device/controller/deviceInputCtrl.js
  33. 3 3
      src/main/resources/static/app/business/device/controller/deviceKeepCtrl.js
  34. 3 3
      src/main/resources/static/app/business/device/controller/deviceRepairCtrl.js
  35. 4 4
      src/main/resources/static/app/business/device/controller/deviceStorageCtrl.js
  36. 10 8
      src/main/resources/static/app/business/device/views/deviceStorage-edit.html
  37. 4 4
      src/main/resources/static/app/business/facility/controller/facilityGetListCtrl.js
  38. 4 4
      src/main/resources/static/app/business/facility/controller/facilityKeepListCtrl.js
  39. 4 4
      src/main/resources/static/app/business/facility/controller/facilityListCtrl.js
  40. 2 2
      src/main/resources/static/app/business/index/views/business-index.html
  41. 276 45
      src/main/resources/static/app/business/jsgl/controller/jsglCtrl.js
  42. 73 0
      src/main/resources/static/app/business/jsgl/controller/tzdZjCtrl.js
  43. 3 1
      src/main/resources/static/app/business/jsgl/service/jsglService.js
  44. 3 3
      src/main/resources/static/app/business/jsgl/view/jsgl-list.html
  45. 241 0
      src/main/resources/static/app/business/jsgl/view/jsgl-sl-edit.html
  46. 95 0
      src/main/resources/static/app/business/jsgl/view/jsgl-sl-list.html
  47. 53 0
      src/main/resources/static/app/business/jsgl/view/tzd-zj-model.html
  48. 905 6
      src/main/resources/static/app/business/module.js
  49. 1 1
      src/main/resources/static/app/business/purchase/controller/purchaseAddCtrl.js
  50. 3 3
      src/main/resources/static/app/business/purchase/controller/purchaseListCtrl.js
  51. 1 1
      src/main/resources/static/app/business/schedule/controller/contractScheduleCtrl.js
  52. 2 2
      src/main/resources/static/app/business/schedule/controller/deliveryStorageNoticeScheduleCtrl.js
  53. 1 1
      src/main/resources/static/app/business/schedule/controller/planScheduleCtrl.js
  54. 27 28
      src/main/resources/static/app/business/storeWareDetail/service/storeWareDetailService.js
  55. 19 12
      src/main/resources/static/app/business/storeWareDetail/views/grainStoreWareDetailModal.html
  56. 1 1
      src/main/resources/static/app/business/util/controller/addCustomerModal.js
  57. 3 0
      src/main/resources/static/app/business/util/controller/customerListModalCtrl.js
  58. 9 23
      src/main/resources/static/app/business/util/controller/grainUtilReceiveNoticeCtrl .js
  59. 1 0
      src/main/resources/static/app/business/util/views/grainReceiveNotice-list.html
  60. 1 1
      src/main/resources/static/app/home/controller/daibsxCtrl.js
  61. 72 45
      src/main/resources/static/app/intelligent/aeration/controller/aerationJobCtrl.js
  62. 1 0
      src/main/resources/static/app/intelligent/aeration/service/aerationJobService.js
  63. 252 149
      src/main/resources/static/app/intelligent/aeration/views/aerationJob-edit.html
  64. 93 0
      src/main/resources/static/app/intelligent/aeration/views/aerationJob-js-list.html
  65. 93 0
      src/main/resources/static/app/intelligent/aeration/views/aerationJob-ks-list.html
  66. 87 57
      src/main/resources/static/app/intelligent/fumigation/controller/fumHomeWorkCtrl.js
  67. 3 2
      src/main/resources/static/app/intelligent/fumigation/service/fumHomeWorkService.js
  68. 33 24
      src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkAfter-edit.html
  69. 1 1
      src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkAfter-list.html
  70. 155 74
      src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkProcess-edit.html
  71. 2 0
      src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkProcess-list.html
  72. 263 322
      src/main/resources/static/app/intelligent/fumigation/views/plan/forRecord-edit.html
  73. 2 15
      src/main/resources/static/app/intelligent/fumigation/views/plan/forRecord-list.html
  74. 8 9
      src/main/resources/static/app/intelligent/fumigation/views/plan/pesticide-list-modal.html
  75. 43 6
      src/main/resources/static/app/intelligent/grainDetection/controller/humitureDetectionCtrl.js
  76. 3 2
      src/main/resources/static/app/intelligent/grainDetection/controller/humitureDetectionModel.js
  77. 511 0
      src/main/resources/static/app/intelligent/grainDetection/controller/humitureDetectionModel2.js
  78. 6 4
      src/main/resources/static/app/intelligent/grainDetection/service/temperatureRecordService.js
  79. 2 1
      src/main/resources/static/app/intelligent/grainDetection/views/humitureDetection-list.html
  80. 137 0
      src/main/resources/static/app/intelligent/grainDetection/views/humitureDetection-model2.html
  81. 21 43
      src/main/resources/static/app/intelligent/module.js
  82. 32 41
      src/main/resources/static/app/layout/partials/header.tpl.html
  83. 1396 1493
      src/main/resources/static/app/layout/partials/navigation.tpl.html
  84. 173 0
      src/main/resources/static/app/monitor/controller/cameraPlayNewCtrl.js
  85. 1 1
      src/main/resources/static/app/monitor/group/module.js
  86. 5 423
      src/main/resources/static/app/monitor/module.js
  87. 1 1
      src/main/resources/static/app/monitor/qualityDlag/module.js
  88. 2 2
      src/main/resources/static/app/monitor/record/module.js
  89. 1 1
      src/main/resources/static/app/monitor/setting/module.js
  90. 17 0
      src/main/resources/static/app/monitor/views/camera-new-play.html
  91. 6 2
      src/main/resources/static/app/storage/changestorage/service/changeStoreRopService.js
  92. 2 2
      src/main/resources/static/app/storage/changestorage/views/ChangeStoreSee.html
  93. 4 4
      src/main/resources/static/app/storage/controller/dailyListCtrl.js
  94. 4 4
      src/main/resources/static/app/storage/controller/festivalbeforeCtrl.js
  95. 23 10
      src/main/resources/static/app/storage/controller/keepAccount/houseKeepAccountCtrl.js
  96. 26 61
      src/main/resources/static/app/storage/controller/keepAccount/keepDetailedAccountCtrl.js
  97. 15 7
      src/main/resources/static/app/storage/controller/keepAccount/keepTotalAccountCtrl.js
  98. 147 0
      src/main/resources/static/app/storage/controller/keepAccount/keepVoucherCtrl.js
  99. 1 1
      src/main/resources/static/app/storage/controller/numberManage/sheetCtrl.js
  100. 0 0
      src/main/resources/static/app/storage/controller/qualitycheckAssayCtrl.js

+ 4 - 0
pom.xml

@@ -53,6 +53,10 @@
53 53
 			<groupId>org.springframework.cloud</groupId>
54 54
 			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
55 55
 		</dependency>
56
+		<dependency>  
57
+		    <groupId>org.springframework.boot</groupId>  
58
+		    <artifactId>spring-boot-starter-security</artifactId>  
59
+		</dependency>
56 60
 		<dependency>
57 61
             <groupId>org.springframework.cloud</groupId>
58 62
             <artifactId>spring-cloud-starter-netflix-zuul</artifactId>

+ 39 - 0
src/main/java/com/chinaitop/depot/config/WebSecurityConfig.java

@@ -0,0 +1,39 @@
1
+package com.chinaitop.depot.config;
2
+
3
+import org.springframework.context.annotation.Configuration;
4
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
5
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
6
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
7
+
8
+@Configuration
9
+@EnableWebSecurity
10
+public class WebSecurityConfig 
11
+extends WebSecurityConfigurerAdapter 
12
+{
13
+
14
+	@Override
15
+    protected void configure(HttpSecurity http) throws Exception {
16
+        String[] urls = {
17
+                "*",
18
+                "/*",
19
+                "/*/*",
20
+                "/*/*/*",
21
+                "/*/*/*/*",
22
+                "/*/*/*/*/*/*",
23
+                "/depot-system/userInfo/login",
24
+                "/login",
25
+                "depot-system/userInfo/login",
26
+                "login"
27
+        };
28
+
29
+        
30
+        http.authorizeRequests()
31
+        .antMatchers("/**")
32
+//        .anyRequest()
33
+        .permitAll() //允许所有用户访问所有资源
34
+                .and()
35
+                .csrf().disable(); // 禁用CSRF(防止伪造的跨域攻击)
36
+
37
+        super.configure(http);
38
+    }
39
+}

+ 14 - 14
src/main/resources/application.properties

@@ -1,31 +1,31 @@
1 1
 server.port=9025
2 2
 #本项目ip
3
-#eureka.instance.ip-address=10.10.1.25
4
-#使用ip替代实例名
5
-#eureka.instance.prefer-ip-address=true
6
-#设置实例的ID为ip:port
7
-#eureka.instance.instance-id=${eureka.instance.ip-address}:${server.port}
3
+eureka.instance.hostname=172.16.0.16
8 4
 # 每隔10s发送一次心跳(默认30s)
9 5
 eureka.instance.lease-renewal-interval-in-seconds=10
10 6
 # 告知服务端30秒还未收到心跳的话,就将该服务移除列表(默认90s)
11 7
 eureka.instance.lease-expiration-duration-in-seconds=30
12 8
 
9
+#eureka.client.serviceUrl.defaultZone=http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:9001/eureka/
10
+eureka.client.serviceUrl.defaultZone=http://tj_admin:Admin_1234@${eureka.instance.hostname}:9001/eureka/
11
+eureka.instance.status-page-url=http://${eureka.instance.hostname}:${server.port}/swagger-ui.html
12
+
13
+management.server.port=-1
14
+#management.endpoints.enabled-by-default=false
15
+
16
+
13 17
 #gbase8s的数据库配置
14 18
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
15
-#spring.datasource.url=jdbc:gbasedbt-sqli://101.36.160.140:19089/depot:INFORMIXSERVER=ol_gbasedbt1210;NEWCODESET=GB18030,GB18030-2000,5488;DB_LOCALE=zh_cn.GB18030-2000;GL_USEGLU=1;IFX_USE_STRENC=true;characterEncoding=utf8;
16
-#spring.datasource.username=gbasedbt
17
-#spring.datasource.password=cDbK2S0go8
18
-spring.datasource.url=jdbc:gbasedbt-sqli://111.164.113.172:666/depot:INFORMIXSERVER=gbaseserver;NEWCODESET=GBK,8859-1,819;GL_USEGLU=1;IFX_USE_STRENC=true;characterEncoding=utf8;
19
+spring.datasource.url=jdbc:gbasedbt-sqli://101.36.160.140:19089/depot:INFORMIXSERVER=ol_gbasedbt1210;NEWCODESET=GB18030,GB18030-2000,5488;DB_LOCALE=zh_cn.GB18030-2000;GL_USEGLU=1;IFX_USE_STRENC=true;characterEncoding=utf8;
19 20
 spring.datasource.username=gbasedbt
20
-spring.datasource.password=GBase123
21
+spring.datasource.password=cDbK2S0go8
22
+
21 23
 spring.datasource.driverClassName=com.gbasedbt.jdbc.IfxDriver
22 24
 mybatis.config-location=classpath:mybatis/mybatis-config.xml
23 25
 
24
-eureka.client.serviceUrl.defaultZone=http://localhost:9001/eureka/
25
-
26 26
 spring.application.name=depot-web
27 27
 
28
-#eureka.instance.status-page-url=http://10.10.1.25:${server.port}/swagger-ui.html
28
+#eureka.instance.status-page-url=http://${eureka.instance.hostname}:${server.port}/swagger-ui.html
29 29
 
30 30
 # Redis数据库索引(默认为0)
31 31
 spring.redis.database=3
@@ -66,5 +66,5 @@ spring.servlet.multipart.max-request-size=60MB
66 66
 #validationQuery = "SELECT 1"
67 67
 #testWhileIdle = "true
68 68
 #图片路径 „
69
-web.upload-path=/home
69
+web.upload-path=/home/depot/depot-web/depot-file
70 70
 spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}

+ 83 - 0
src/main/resources/static/app/act/util/auditInfoList-new-state.html

@@ -0,0 +1,83 @@
1
+<!-- MAIN CONTENT -->
2
+<div style="position:relative; padding: 0 14px;">
3
+    <!-- widget grid -->
4
+    <section id="widget-grid" widget-grid>
5
+        <!-- START ROW -->
6
+        <div class="row" style="margin: 0;">
7
+            <!-- NEW COL START -->
8
+            <article class="col-sm-12 col-md-12 col-lg-12">
9
+                <!-- Widget ID (each widget will need unique ID)-->
10
+                <div jarvis-widget id="form-grid-widget"
11
+                    data-widget-colorbutton="false" data-widget-editbutton="false"
12
+                    data-widget-custombutton="false">
13
+                    <!-- widget div-->
14
+                    <div style="border-top-width:1px; border-width:1px;position:relative;padding: 0; box-sizing: border-box;">
15
+                        <!-- widget content -->
16
+                        <div class="widget-body no-padding" style="margin: 0;">
17
+                            <form id="auditAdivce-form" class="smart-form ng-pristine ng-valid" data-validator-option="validateOptions" novalidate="novalidate" >
18
+                                <header ng-hide="isAuditMsg"><h3><strong>审批信息</strong></h3></header>
19
+                                <fieldset ng-hide="isAuditMsg">
20
+                                    <div ng-hide="isAuditMsg" class="form-group has-feedback"  >
21
+		                                <table class="table table-striped table-bordered table-hover" ng-repeat="audit in auditList" >
22
+		                                	<tr>
23
+		                                		<td  rowspan="3" width='10%'  >
24
+		                                			<label class="label"  style="margin-top: 45%;text-align: center;">{{audit.taskName}}</label>
25
+		                                		</td>
26
+		                                		<td>
27
+		                                			<label class="label" style="margin-top: 9px;text-align: center;">处理人</label>
28
+		                                		</td>
29
+		                                		<td width='20%'>
30
+						                            <section>
31
+			                                            <label class="input"> 
32
+			                                                <input class="form-control" type="text" ng-readonly="true" ng-disabled="true"
33
+			                                                placeholder="{{userInfoAllData[audit.operator] }}"
34
+			                                                required>
35
+			                                            </label>
36
+			                                        </section>
37
+		                                		</td>
38
+		                                		<td >
39
+		                                			<label class="label" style="margin-top: 9px;text-align: center;">审批时间</label>
40
+		                                		</td>
41
+		                                		<td colspan="2" width='30%' style="margin-top: 9px;text-align: center;">
42
+		                                			<label class="label" style="margin-top: 9px;text-align: center;">{{audit.operateTime}}</label>
43
+		                                		</td>
44
+		                                	</tr>
45
+		                                	<tr>
46
+		                                		<td rowspan="2">
47
+		                                			<label class="label" style="margin-top: 20px;text-align: center;">审批意见</label>
48
+		                                		</td>
49
+		                                		<td colspan="4" style="margin-top: 9px;text-align: center;">
50
+		                                			<label class="label" style="margin-top: 9px;text-align: center;">{{audit.content}}</label>
51
+		                                		</td>
52
+		                                	</tr>
53
+		                                	<tr>
54
+		                                		<td colspan="3" style="border-top: 0px;border-right: 0px;">
55
+		                                			<!-- 签字前面 -->
56
+		                                		</td>
57
+		                                		<td width='30%' style="border-top: 0px;border-left: 0px;">
58
+		                                		电子签名
59
+		                                		</td>
60
+		                                	</tr>
61
+		                                </table>
62
+                                    </div>
63
+                                 
64
+                                </fieldset>
65
+	                                <div  ng-hide="!isAudit" style=" border-width:1px; position:relative; padding: 12px 14px 12px 12px;">
66
+	                                    <label class="control-label pull-left" style="font-size:150%">审批意见</label>
67
+	                                    <textarea  class="form-control"  ng-model="audit.content" ng-readonly="!isAudit" rows="2" data-bv-field="review" required></textarea>
68
+	                                </div>
69
+	                                <footer class="text-align-center" >
70
+	                                    <button type="button" class="btn btn-default" ng-click="retList()">取消</button>
71
+	                                    <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save()">保存</button>
72
+	                                    <button type="button" class="btn btn-primary" ng-hide="!isAudit" ng-click="audit('3')">拒绝</button>
73
+	                                    <button type="button" class="btn btn-primary" ng-hide="!isAudit" ng-click="audit('2')">驳回</button>
74
+	                                    <button type="button" class="btn btn-primary" ng-hide="!isAudit" ng-click="audit('1')">通过</button>
75
+	                                </footer>
76
+                            </form>
77
+                        </div>
78
+                    </div>
79
+				</div>
80
+            </article>
81
+        </div>
82
+    </section>
83
+</div>

+ 4 - 4
src/main/resources/static/app/additionalHome/controller/businessCtrl.js

@@ -136,7 +136,7 @@ angular.module('app.additionalHome').controller('businessCtrl', function ($rootS
136 136
     	var className = $("#"+id).parent().parent().attr("class");
137 137
     	if(className.indexOf("flip-current") != -1){
138 138
     		$scope.switchTopMenu(19);
139
-    		$state.go('app.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
139
+    		$state.go('app.storage.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
140 140
     	}
141 141
     };
142 142
     
@@ -204,7 +204,7 @@ angular.module('app.additionalHome').controller('businessCtrl', function ($rootS
204 204
     // 安全生产通知
205 205
     $scope.safeProduceNotifyTodo=function() {
206 206
     	$scope.switchTopMenu(19);
207
-    	$state.go("app.safeproduce.notifyList");
207
+    	$state.go("app.storage.safeproduce.notifyList");
208 208
     }
209 209
     
210 210
     // 安全生产管理制度
@@ -213,11 +213,11 @@ angular.module('app.additionalHome').controller('businessCtrl', function ($rootS
213 213
     		var className = $("#"+id).parent().parent().attr("class");
214 214
         	if(className.indexOf("flip-current") != -1){
215 215
         		$scope.switchTopMenu(19);
216
-        		$state.go('app.safeproduce.list', {type:1,layerType:'publish'});
216
+        		$state.go('app.storage.safeproduce.list', {type:1,layerType:'publish'});
217 217
         	}
218 218
     	}else if("list" == layerType) {//跳转文档列表页面
219 219
     		$scope.switchTopMenu(19);
220
-    		$state.go('app.safeproduce.list', {type:1});
220
+    		$state.go('app.storage.safeproduce.list', {type:1});
221 221
     	}
222 222
     }
223 223
     

+ 5 - 5
src/main/resources/static/app/additionalHome/controller/defendCtrl.js

@@ -47,19 +47,19 @@ angular.module('app.additionalHome').controller('defendCtrl', function ($rootSco
47 47
 	// 查看页面
48 48
     $scope.showViewNotify = function(id) {
49 49
     	$scope.switchTopMenu(19);
50
-        $state.go('app.safeproduce.notifyAdd', {id:id,isNotEdit:true});
50
+        $state.go('app.storage.safeproduce.notifyAdd', {id:id,isNotEdit:true});
51 51
     };
52 52
     
53 53
     // 发布通知公告
54 54
     $scope.showAddNotify=function () {
55 55
     	$scope.switchTopMenu(19);
56
-        $state.go('app.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
56
+        $state.go('app.storage.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
57 57
     };
58 58
     
59 59
     // 安全生产通知
60 60
     $scope.safeProduceNotifyTodo=function() {
61 61
     	$scope.switchTopMenu(19);
62
-    	$state.go("app.safeproduce.notifyList");
62
+    	$state.go("app.storage.safeproduce.notifyList");
63 63
     }
64 64
     
65 65
     //跳转报警信息列表
@@ -76,9 +76,9 @@ angular.module('app.additionalHome').controller('defendCtrl', function ($rootSco
76 76
     $scope.safeProduceTodo=function(layerType) {
77 77
     	$scope.switchTopMenu(19);
78 78
     	if("publish" == layerType){//跳转文档发布页面
79
-    		$state.go('app.safeproduce.list', {type:1,layerType:'publish'});
79
+    		$state.go('app.storage.safeproduce.list', {type:1,layerType:'publish'});
80 80
     	}else if("list" == layerType) {//跳转文档列表页面
81
-    		$state.go('app.safeproduce.list', {type:1});
81
+    		$state.go('app.storage.safeproduce.list', {type:1});
82 82
     	}
83 83
     }
84 84
     

+ 5 - 5
src/main/resources/static/app/additionalHome/controller/qualityCtrl.js

@@ -96,7 +96,7 @@ angular.module('app.additionalHome').controller('qualityCtrl', function ($rootSc
96 96
 	// 查看页面
97 97
     $scope.showViewNotify = function(id) {
98 98
     	$scope.switchTopMenu(19);
99
-        $state.go('app.safeproduce.notifyAdd', {id:id,isNotEdit:true});
99
+        $state.go('app.storage.safeproduce.notifyAdd', {id:id,isNotEdit:true});
100 100
     };
101 101
     
102 102
     // 发布通知公告
@@ -104,7 +104,7 @@ angular.module('app.additionalHome').controller('qualityCtrl', function ($rootSc
104 104
     	var className = $("#"+id).parent().parent().attr("class");
105 105
     	if(className.indexOf("flip-current") != -1){
106 106
     		$scope.switchTopMenu(19);
107
-    		$state.go('app.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
107
+    		$state.go('app.storage.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
108 108
     	}
109 109
     };
110 110
     
@@ -149,7 +149,7 @@ angular.module('app.additionalHome').controller('qualityCtrl', function ($rootSc
149 149
     // 安全生产通知
150 150
     $scope.safeProduceNotifyTodo=function() {
151 151
     	$scope.switchTopMenu(19);
152
-    	$state.go("app.safeproduce.notifyList");
152
+    	$state.go("app.storage.safeproduce.notifyList");
153 153
     }
154 154
     
155 155
     // 安全生产管理制度
@@ -158,11 +158,11 @@ angular.module('app.additionalHome').controller('qualityCtrl', function ($rootSc
158 158
     		var className = $("#"+id).parent().parent().attr("class");
159 159
         	if(className.indexOf("flip-current") != -1){
160 160
         		$scope.switchTopMenu(19);
161
-        		$state.go('app.safeproduce.list', {type:1,layerType:'publish'});
161
+        		$state.go('app.storage.safeproduce.list', {type:1,layerType:'publish'});
162 162
         	}
163 163
     	}else if("list" == layerType) {//跳转文档列表页面
164 164
     		$scope.switchTopMenu(19);
165
-    		$state.go('app.safeproduce.list', {type:1});
165
+    		$state.go('app.storage.safeproduce.list', {type:1});
166 166
     	}
167 167
     }
168 168
     

+ 4 - 4
src/main/resources/static/app/additionalHome/controller/storageCtrl.js

@@ -117,7 +117,7 @@ angular.module('app.additionalHome').controller('storageCtrl', function ($rootSc
117 117
     	var className = $("#"+id).parent().parent().attr("class");
118 118
     	if(className.indexOf("flip-current") != -1){
119 119
     		$scope.switchTopMenu(19);
120
-    		$state.go('app.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
120
+    		$state.go('app.storage.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
121 121
     	}
122 122
     };
123 123
     
@@ -168,7 +168,7 @@ angular.module('app.additionalHome').controller('storageCtrl', function ($rootSc
168 168
     // 安全生产通知
169 169
     $scope.safeProduceNotifyTodo=function() {
170 170
     	$scope.switchTopMenu(19);
171
-    	$state.go("app.safeproduce.notifyList");
171
+    	$state.go("app.storage.safeproduce.notifyList");
172 172
     }
173 173
     
174 174
     // 安全生产管理制度
@@ -177,11 +177,11 @@ angular.module('app.additionalHome').controller('storageCtrl', function ($rootSc
177 177
     		var className = $("#"+id).parent().parent().attr("class");
178 178
         	if(className.indexOf("flip-current") != -1){
179 179
         		$scope.switchTopMenu(19);
180
-        		$state.go('app.safeproduce.list', {type:1,layerType:'publish'});
180
+        		$state.go('app.storage.safeproduce.list', {type:1,layerType:'publish'});
181 181
         	}
182 182
     	}else if("list" == layerType) {//跳转文档列表页面
183 183
     		$scope.switchTopMenu(19);
184
-    		$state.go('app.safeproduce.list', {type:1});
184
+    		$state.go('app.storage.safeproduce.list', {type:1});
185 185
     	}
186 186
     }
187 187
     

+ 4 - 4
src/main/resources/static/app/additionalHome/controller/transferCtrl.js

@@ -96,7 +96,7 @@ angular.module('app.additionalHome').controller('transferCtrl', function ($rootS
96 96
     	var className = $("#"+id).parent().parent().attr("class");
97 97
     	if(className.indexOf("flip-current") != -1){
98 98
     		$scope.switchTopMenu(19);
99
-    		$state.go('app.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
99
+    		$state.go('app.storage.safeproduce.notifyAdd', {id:0,isNotEdit:false,topRow:$rootScope.orgInfo.orgName+"通告:\n"});
100 100
     	}
101 101
     };
102 102
     
@@ -118,7 +118,7 @@ angular.module('app.additionalHome').controller('transferCtrl', function ($rootS
118 118
     // 安全生产通知
119 119
     $scope.safeProduceNotifyTodo=function() {
120 120
     	$scope.switchTopMenu(19);
121
-    	$state.go("app.safeproduce.notifyList");
121
+    	$state.go("app.storage.safeproduce.notifyList");
122 122
     }
123 123
     
124 124
     // 安全生产管理制度
@@ -127,11 +127,11 @@ angular.module('app.additionalHome').controller('transferCtrl', function ($rootS
127 127
     		var className = $("#"+id).parent().parent().attr("class");
128 128
         	if(className.indexOf("flip-current") != -1){
129 129
         		$scope.switchTopMenu(19);
130
-        		$state.go('app.safeproduce.list', {type:1,layerType:'publish'});
130
+        		$state.go('app.storage.safeproduce.list', {type:1,layerType:'publish'});
131 131
         	}
132 132
     	}else if("list" == layerType) {//跳转文档列表页面
133 133
     		$scope.switchTopMenu(19);
134
-    		$state.go('app.safeproduce.list', {type:1});
134
+    		$state.go('app.storage.safeproduce.list', {type:1});
135 135
     	}
136 136
     }
137 137
     

+ 6 - 6
src/main/resources/static/app/app.js

@@ -51,7 +51,7 @@ angular.module('app', [
51 51
     'app.supervise',
52 52
     'app.cameraRecord',
53 53
     'app.alarm',
54
-    'app.safeproduce',
54
+    // 'app.safeproduce',
55 55
     //'app.foodbasicinfo',
56 56
     'app.qualityDlag',
57 57
     'app.cameraGroup',
@@ -68,11 +68,11 @@ angular.module('app', [
68 68
     'app.log',
69 69
     'app.additionalHome',
70 70
     'app.registrationTable',
71
-    'app.archive',
72
-    'app.risk',
73
-    'app.cstj',
74
-    'app.jczcsupervise'
75
-    
71
+    'app.archive'
72
+    //'app.risk',
73
+    //'app.cstj',
74
+    //'app.jczcsupervise'
75
+
76 76
 ])
77 77
 
78 78
 

+ 25 - 0
src/main/resources/static/app/basic/file/fileService.js

@@ -0,0 +1,25 @@
1
+"use strict";
2
+
3
+angular.module('app.basic').service("fileService", function($http, $q, APP_CONFIG) {
4
+
5
+    //删除一个服务器的文件
6
+    this.deleteFile = function(wjpath) {
7
+        var d = $q.defer();
8
+    	$http({
9
+            method: 'POST',
10
+            url: APP_CONFIG.basicUrl + '/depot/basic/file/removeFile',
11
+            data: {
12
+            	wjPath : wjpath
13
+            }
14
+        }).then(function successCallback(response) {
15
+            // 请求成功执行代码
16
+            d.resolve(response.data);
17
+        }, function errorCallback(response) {
18
+        	// 请求失败执行代码
19
+    		d.reject("error");
20
+        });
21
+        
22
+        return d.promise;
23
+    }
24
+
25
+});

+ 56 - 1
src/main/resources/static/app/basic/keeper/controller/keeperCtrl.js

@@ -178,6 +178,8 @@ angular.module('app.basic')
178 178
     $scope.addZyzg = [];
179 179
     // 用于存放新增的上岗证
180 180
     //$scope.addSgz = [];
181
+    // 用于存放新增的证书附件
182
+    $scope.addZswj = [];
181 183
 	
182 184
 	// 新增或修改保管员信息跳转页面加载数据
183 185
     $scope.edit = function() {
@@ -193,6 +195,7 @@ angular.module('app.basic')
193 195
     		
194 196
     		$scope.addXwxl = data.xlxwList;
195 197
     		$scope.addZyjs = data.zyjsList;
198
+    		$scope.addZswj = data.zswjList;
196 199
     		for (var i = 0; i < $scope.addZyjs.length; i++) {
197 200
     			$scope.addZyjs[i].issueTime = $filter('date')($scope.addZyjs[i].issueTime, "yyyy-MM-dd");
198 201
     		}
@@ -328,6 +331,13 @@ angular.module('app.basic')
328 331
     			return;
329 332
     		}
330 333
     		$scope.addZyzg.push({datatype: 3,keeperId:kId});
334
+    	} else if (typeId === 5) {
335
+    		i = $scope.addZswj.length;
336
+    		if (i > 0 && null == $scope.addZswj[i-1].department) {
337
+    			alert("请先录入空行!");
338
+    			return;
339
+    		}
340
+    		$scope.addZswj.push({datatype: 5,keeperId:kId});
331 341
     	}
332 342
     }
333 343
 
@@ -367,6 +377,17 @@ angular.module('app.basic')
367 377
    		    }
368 378
    		    index = $scope.addZyzg.indexOf(obj);
369 379
    		    $scope.addZyzg.splice(index, 1);
380
+   	    } else if (typeId === 5) {
381
+   	    	/*if ($scope.addZswj.length <=1 ) {
382
+	            alert("至少要有一条职业资格信息!");
383
+	            return;
384
+	        }*/
385
+   	    	// 如果有ID,说明当前数据已经是存在于数据库的,那么要郑重删除
386
+   		    if (obj.id != undefined) {
387
+   		    	$scope.deleteEdu(obj.id);
388
+   		    }
389
+   		    index = $scope.addZswj.indexOf(obj);
390
+   		    $scope.addZswj.splice(index, 1);
370 391
    	    }
371 392
     }
372 393
     
@@ -386,7 +407,7 @@ angular.module('app.basic')
386 407
         });
387 408
     }
388 409
     
389
-    // 文件上传实例
410
+    // 头像图片文件上传
390 411
 	$scope.uploader = new FileUploader({
391 412
 		url : APP_CONFIG.basicUrl + '/fileUpload/uploadFileYS',
392 413
 		autoUpload : true, // 将文件添加到队列后自动上传
@@ -402,6 +423,40 @@ angular.module('app.basic')
402 423
 		}
403 424
 	});
404 425
 	
426
+	// 头像图片文件上传
427
+	$scope.zswjUploader = new FileUploader({
428
+		url : APP_CONFIG.basicUrl + '/fileUpload/uploadFileYS',
429
+		autoUpload : true, // 将文件添加到队列后自动上传
430
+		formData : [{fileType:'image'}], // 与文件一起发送的数据
431
+		removeAfterUpload : true, // 从队列上传后删除文件
432
+		// 上传进度
433
+		onProgressItem : function(fileItem, progress) {
434
+			console.info("正在上传:" + progress + "%");
435
+		},
436
+		// 回调函数,在一个文件上传成功后触发
437
+		onSuccessItem : function(fileItem, response, status, headers) {
438
+			$scope.keeper.avatorUrl = response;
439
+		}
440
+	});
441
+	
442
+	$scope.deleteFileByLinenumber = function(index) {
443
+		var index = $scope.addZswj.indexOf(index);
444
+        if (index != -1) {
445
+        	// 从linenumbers移除.
446
+            $scope.addZswj.splice(index, 1);
447
+            
448
+            if ($scope.fileMap.has($scope.linenumber)) {
449
+            	// 以linenumber为key从$scope.fileMap获取fileId.
450
+            	   var fileId = $scope.fileMap.get($scope.linenumber).id;
451
+		        	// 后台删除数据和文件.
452
+		        	$scope.deleteFileByFileId(fileId, index);
453
+		        	
454
+		        	// 从$scope.fileMap移除.
455
+		        	$scope.fileMap.delete(linenumber);
456
+			}
457
+        }
458
+	}
459
+	
405 460
 	//返回和取消
406 461
 	$scope.returnTop = function() {
407 462
 		if ($rootScope.previousState_name != '') {

+ 127 - 10
src/main/resources/static/app/basic/keeper/views/keeper-edit.html

@@ -21,7 +21,7 @@
21 21
 									<a href-void class="btn btn-default btn-xs" ng-click="returnTop()">
22 22
 										<i class="fa fa-angle-left"></i>&nbsp;返回&nbsp;
23 23
 									</a>
24
-									&nbsp;<strong>员信息编辑</strong>
24
+									&nbsp;<strong>员信息编辑</strong>
25 25
 									<span class="pull-right font-xs">带*的部分必须填写</span>
26 26
 								</header>
27 27
 								<fieldset>
@@ -153,6 +153,16 @@
153 153
 									            </span><input type="text" ng-model="keeper.avatorUrl" placeholder="" ng-readonly="isNotEdit">
154 154
 											</div>
155 155
 										</section>
156
+										<section class="col col-3">
157
+											<label class="label">是否涉及交流轮岗</label> 
158
+											<label class="select">
159
+												<select ng-model="keeper.sfsjjllg" name="sfsjjllg" ng-disabled="isNotEdit" class="form-control">
160
+													<option value="">--请选择--</option>
161
+													<option value="0">是</option>
162
+													<option value="1">否</option>
163
+												</select>
164
+											</label>
165
+										</section>
156 166
 									</div>
157 167
 								</fieldset>
158 168
 								<header>
@@ -201,7 +211,7 @@
201 211
 													</select>
202 212
 												</label>
203 213
 											</section>
204
-											<section class="col col-2">
214
+											<!-- <section class="col col-2">
205 215
 												<label class="label">学位明细</label>
206 216
 												<label class="select">
207 217
 													<select type="text" ng-model="keeperedu.degreeDetailed" name="degreeDetailed{{$index}}" 
@@ -216,6 +226,16 @@
216 226
 													ng-options="enum.enumid as enum.enumname for enum in dicDataList[5294]"
217 227
 													class="form-control" ng-disabled="isNotEdit"></select>
218 228
 												</label>
229
+											</section> -->
230
+											<section class="col col-2">
231
+												<label class="label">是否为涉粮专业</label> 
232
+												<label class="select">
233
+													<select ng-model="keeperedu.sfwslzy" name="sfwslzy{{$index}}" class="form-control" ng-disabled="isNotEdit">
234
+													    <option value="">--请选择--</option>
235
+													    <option value="0">是</option>
236
+													    <option value="1">否</option>
237
+													</select>
238
+												</label>
219 239
 											</section>
220 240
 											<section class="col col-1">
221 241
 												<label class="label"> </label>
@@ -290,17 +310,14 @@
290 310
 										<input type="hidden" ng-model="zyzg.id" />
291 311
 										<div class="row">
292 312
 											<section class="col col-2">
293
-												<label class="label">专业</label>
294
-												<label class="select">
295
-													<select ng-model="zyzg.occupation" name="occupation{{$index}}"
296
-													ng-options="enum.enumid as enum.enumname for enum in dicDataList[5307]"
297
-													class="form-control" ng-disabled="isNotEdit">
298
-														<option value="">--请选择--</option>
299
-												</select>
313
+												<label class="label">职业资格证书名称</label>
314
+												<label class="input">
315
+													<input type="text" ng-model="zyzg.department" maxlength="20"
316
+													name="departmente{{$index}}" ng-readonly="isNotEdit" />
300 317
 												</label>
301 318
 											</section>
302 319
 											<section class="col col-2">
303
-												<label class="label">等级</label>
320
+												<label class="label">职称(等级)</label>
304 321
 												<label class="select">
305 322
 													<select ng-model="zyzg.rank" name="rank{{$index}}" 
306 323
 														ng-options="enum.enumid as enum.enumname for enum in dicDataList[5310]"
@@ -310,6 +327,35 @@
310 327
 												</label>
311 328
 											</section>
312 329
 											<section class="col col-2">
330
+												<label class="label">证书编号</label>
331
+												<label class="input">
332
+													<input type="text" ng-model="zyzg.zsbh" maxlength="25"
333
+													name="zsbh{{$index}}" ng-readonly="isNotEdit" />
334
+												</label>
335
+											</section>
336
+											<section class="col col-2">
337
+												<label class="label">专业</label>
338
+												<label class="select">
339
+													<select ng-model="zyzg.sfwslzy" name="sfwslzy{{$index}}" class="form-control" ng-disabled="isNotEdit">
340
+														<option value="">--请选择--</option>
341
+														<option value="0">涉粮相关专业</option>
342
+														<option value="1">非涉粮相关专业</option>
343
+												</select>
344
+												</label>
345
+											</section>
346
+											<section class="col col-2">
347
+												<label class="label">&nbsp;</label>
348
+												<label class="select">
349
+													<select ng-model="zyzg.occupation" name="occupation{{$index}}"
350
+													ng-options="enum.enumid as enum.enumname for enum in dicDataList[5307]"
351
+													class="form-control" ng-disabled="isNotEdit">
352
+														<option value="">--请选择--</option>
353
+												</select>
354
+												</label>
355
+											</section>
356
+										</div>
357
+									    <div class="row">
358
+											<section class="col col-2">
313 359
 												<label class="label">颁证机构</label> <label class="input">
314 360
 													<input type="text" ng-model="zyzg.issueFacility" maxlength="20"
315 361
 													name="issueFacility{{$index}}" ng-readonly="isNotEdit">
@@ -322,6 +368,7 @@
322 368
 													name="zyzgissueTime{{$index}}" ng-disabled="isNotEdit">
323 369
 												</label>
324 370
 											</section>
371
+											
325 372
 											<section class="col col-2">
326 373
 												<label class="label"></label> 
327 374
 												<label class="input">
@@ -364,6 +411,76 @@
364 411
 										</div>
365 412
 									</div>
366 413
 								</fieldset>
414
+								<header>
415
+									<h3>
416
+										<strong>证书附件</strong>&nbsp;&nbsp; <a ng-hide="isNotEdit" 
417
+											class="btn btn-primary btn-circle" ng-click="addEducation(keeper.id,5)">新增</a>
418
+									</h3>
419
+								</header>
420
+								<fieldset>
421
+									<!-- <div ng-repeat="zswj in addZswj">
422
+										<input type="hidden" ng-model="zswj.datatype" />
423
+										<input type="hidden" ng-model="zswj.keeperId" />
424
+										<input type="hidden" ng-model="zswj.id" />
425
+										<div class="input input-file">
426
+												<span class="button">
427
+									            	<input type="file" nv-file-select="" uploader="uploader" accept="image/*" options="id" id="fileInputId{{zswj}}
428
+									            	 ng-hide="isNotEdit" onchange="if (this.value != '')this.parentNode.nextSibling.value = this.value" />
429
+									                	浏览
430
+									            </span><input type="text" ng-model="zswj.department" name="departments{{$index}}" placeholder="" ng-readonly="isNotEdit">
431
+											</div>
432
+									</div> -->
433
+									<div>
434
+                                	<table ng-hide="isNotEdit" class="table table-striped table-bordered table-hover" ng-repeat="zswj in addZswj" ng-click="clickFileInput(linenumber)" >
435
+										<input type="hidden" ng-model="zswj.datatype" />
436
+										<input type="hidden" ng-model="zswj.keeperId" />
437
+										<input type="hidden" ng-model="zswj.id" />
438
+										<tr>
439
+											<th width='10%' >
440
+												<label class="label" style="margin-top: 9px;text-align: center;">附件</label>
441
+											</th>
442
+											<th colspan="4">
443
+												<section>
444
+									            	<div class="input input-file" style="margin-top: 9px; text-align: center; margin-right: 22px;">
445
+											            <span class="button" >
446
+											            	<input type="file" nv-file-select="" uploader="uploader" accept="image/*" options="id" id="fileInputId{{linenumber}}"
447
+											            		onchange="if (this.value != '')this.parentNode.nextSibling.value = this.value">
448
+											                	上传
449
+											            </span><input type="text" name="imgUrl" placeholder="" readonly="">
450
+										        	</div>
451
+									            </section>
452
+											</th>
453
+											<th width='10%'>
454
+										            <div class="input input-file" style="margin-top: 9px; text-align: center; margin-right: 16px;">
455
+														<span class="button"  ng-click="deleteFileByLinenumber(zswj)">删除
456
+											            </span>
457
+													</div>
458
+											</th>
459
+											
460
+										</tr>
461
+										<!--第四3个tr结束 -->
462
+		                             </table>
463
+
464
+                                	<!--回显文件的表格  -->
465
+                                	<table class="table table-striped table-bordered table-hover" ng-repeat="file in fileList" >
466
+										<tr>
467
+											<th width='10%' >
468
+												<label class="label" style="margin-top: 9px;text-align: center;">附件</label>
469
+											</th>
470
+											<th colspan="5">
471
+												<section >
472
+										            <input class="form-control" type="text" ng-model="file.department" readonly="">
473
+		                                		</section>
474
+											</th>
475
+											<th width='10%' >
476
+												<section style="margin-top: 9px; text-align: center; margin-right: 22px;">
477
+							                        <a class="btn btn-default" href-void ng-click="downloads(file.filePath, file.department)"><i class="fa fa-download"></i>下载</a>
478
+		                                		</section>
479
+											</th>
480
+										</tr>
481
+		                             </table>
482
+		                             </div>
483
+								</fieldset>
367 484
 								<footer class="modal-footer text-align-center">
368 485
 									<button ng-click="returnTop()"
369 486
 										class="btn btn-default btn-lg" data-dismiss="modal">取消</button>

+ 1 - 1
src/main/resources/static/app/basic/keeper/views/keeper-list.html

@@ -9,7 +9,7 @@
9 9
 					<header>
10 10
 						<span class="widget-icon"> <i class="fa fa-table"></i>
11 11
 						</span>
12
-						<h2>员信息列表</h2>
12
+						<h2>员信息列表</h2>
13 13
 					</header>
14 14
 					<div>
15 15
 						<div class="widget-body no-padding">

+ 1 - 1
src/main/resources/static/app/basic/keeper/views/keeper-view.html

@@ -10,7 +10,7 @@
10 10
 							<a href-void class="btn btn-default btn-xs" ng-click="returnTop()">
11 11
 								<i class="fa fa-angle-left"></i>&nbsp;返回&nbsp;
12 12
 							</a>
13
-							&nbsp;<strong>员信息展示</strong>
13
+							&nbsp;<strong>员信息展示</strong>
14 14
 						</header>
15 15
 						<div class="col-sm-5" style="width:30%;padding-top:10px;height:305px">
16 16
 							<img style="width: 100%;height:100%" class="img-responsive"

+ 40 - 526
src/main/resources/static/app/basic/module.js

@@ -9,7 +9,7 @@ angular.module('app.basic')
9 9
     .state('app.basic', {
10 10
         abstract: true,
11 11
         data: {
12
-            title: '基本信息'
12
+            title: '基础数据'
13 13
         }
14 14
     })
15 15
     //仓房管理list页
@@ -128,8 +128,45 @@ angular.module('app.basic')
128 128
             }
129 129
         }
130 130
     })
131
-    
132
-    
131
+    //初始化员工信息调用
132
+    .state('app.basic.keeperList', {
133
+    	url: '/keeperList',
134
+        data: {
135
+            title: '员工信息管理'
136
+        },
137
+        views: {
138
+            "content@app": {
139
+                controller: 'keeperCtrl',
140
+                templateUrl: 'app/basic/keeper/views/keeper-list.html'
141
+            }
142
+        }
143
+    })
144
+    //点新增或修改保管员信息调用
145
+    .state('app.basic.keeperEdit', {
146
+    	url: '/keeperEdit/:id/:showType',
147
+        data: {
148
+            title: '员工信息详情'
149
+        },
150
+        views: {
151
+            "content@app": {
152
+                controller: 'keeperCtrlEdit',
153
+                templateUrl: 'app/basic/keeper/views/keeper-edit.html'
154
+            }
155
+        }
156
+    })
157
+    //点查看跳转页面
158
+    .state('app.basic.keeperView', {
159
+    	url: '/keeperView/:id/:types',
160
+        data: {
161
+            title: '员工信息展示'
162
+        },
163
+        views: {
164
+            "content@app": {
165
+                controller: 'keeperViewCtrl',
166
+                templateUrl: 'app/basic/keeper/views/keeper-view.html'
167
+            }
168
+        }
169
+    })
133 170
     .state('app.basic.cameraList', {
134 171
         url: '/basic/cameraList',// 传参 : id/:name/:pwd
135 172
         data: {
@@ -395,527 +432,4 @@ angular.module('app.basic')
395 432
             }
396 433
         }
397 434
     })
398
-    
399
-    
400
-    /*----------------------------------------------客户------------------------------------*/
401
-    .state('app.basic.customer', {
402
-        abstract: true,
403
-        data: {
404
-            title: '客户管理'
405
-        }
406
-    })
407
-    
408
-    .state('app.basic.customer.list', {
409
-        url: '/basic/customer',
410
-        data: {
411
-            title: '客户档案管理'
412
-        },
413
-        views: {
414
-            "content@app": {
415
-                controller: 'customerCtrl',
416
-                templateUrl: 'app/business/customer/views/customer-list.html'
417
-            }
418
-        }
419
-    })
420
-    .state('app.basic.customer.add', {
421
-            url: '/basic/customer/add/:id',
422
-            data: {
423
-                title: '客户档案新增'
424
-            },
425
-            views: {
426
-                "content@app": {
427
-                    controller: 'customerSaveCtrl as datatables',
428
-                    templateUrl: 'app/business/customer/views/customer-edit.html'
429
-                }
430
-            }
431
-        }
432
-    )
433
-    .state('app.basic.customer.edit', {
434
-        url: '/basic/customer/edit/:id',
435
-        data: {
436
-            title: '客户档案修改'
437
-        },
438
-        views: {
439
-            "content@app": {
440
-                controller: 'customerSaveCtrl as datatables',
441
-                templateUrl: 'app/business/customer/views/customer-edit.html'
442
-            }
443
-        }
444
-    })
445
-    
446
-    
447
-    .state('app.basic.customer.badrecord', {
448
-        url: '/basic/customer/badrecord',
449
-        data: {
450
-            title: '客户不良记录管理'
451
-        },
452
-        views: {
453
-            "content@app": {
454
-                controller: 'customerBadrecordCtrl',
455
-                templateUrl: 'app/business/customer/views/customerBadrecord-list.html'
456
-            }
457
-        }
458
-    })
459
-    
460
-    .state('app.basic.customer.blackList', {
461
-        url: '/basic/customer/blackList',
462
-        data: {
463
-            title: '客户黑名单管理'
464
-        },
465
-        views: {
466
-            "content@app": {
467
-                controller: 'customerBlackListCtrl',
468
-                templateUrl: 'app/business/customer/views/customer-blackList.html'
469
-            }
470
-        }
471
-    })
472
-    
473
-    
474
-    //-----------------------------------------------------智能器材库------------------------------------------------------//
475
-        // 设备器材管理二级路由
476
-        .state('app.basic.device', {
477
-            abstract: true,
478
-            data: {
479
-                title: '设备器材管理'
480
-            }
481
-        })
482
-        // 设备器材入库
483
-        .state('app.basic.device.deviceStorageList', {
484
-            url: '/device/deviceStorageList',
485
-            data: {
486
-                title: '设备器材入库'
487
-            },
488
-            views: {
489
-                "content@app": {
490
-                    controller: 'deviceStorageCtrl',
491
-                    templateUrl: 'app/business/device/views/deviceStorage-list.html'
492
-                }
493
-            }
494
-        })
495
-        // 详情,编辑
496
-        .state('app.basic.device.deviceStorageList.edit', {
497
-            url: '/device/deviceStorageList/edit/:id/:isNotEdit',
498
-            data: {
499
-                title: '设备器材入库详情'
500
-            },
501
-            views: {
502
-                "content@app": {
503
-                    controller: 'deviceStorageEditCtrl',
504
-                    templateUrl: 'app/business/device/views/deviceStorage-edit.html'
505
-                }
506
-            }
507
-        })
508
-        //----------------设备入库登记开始---------------//
509
-        .state('app.basic.deviceInputList', {
510
-            url: '/deviceInputList',
511
-            data: {
512
-                title: '设备入库列表'
513
-            },
514
-            views: {
515
-                "content@app": {
516
-                    controller: 'deviceInputCtrl',
517
-                    templateUrl: 'app/business/device/views/deviceInput-list.html'
518
-                }
519
-            }
520
-        })  
521
-        .state('app.basic.deviceInputAdd', {
522
-        	url: '/deviceInputAdd/:id/:isNotEdit',
523
-        	data: {
524
-        		title: '设备入库'
525
-        	},
526
-        	views: {
527
-        		"content@app": {
528
-        			controller: 'deviceInputCheckCtrl',
529
-        			templateUrl: 'app/business/device/views/deviceInput-edit.html'
530
-        		}
531
-        	}
532
-        })  
533
-        .state('app.basic.inputEdit', {
534
-        	url: '/inputEdit/:id/:isNotEdit',
535
-        	data: {
536
-        		title: '设备查看'
537
-        	},
538
-        	views: {
539
-        		"content@app": {
540
-        			controller: 'deviceInputCheckCtrl',
541
-        			templateUrl: 'app/business/device/views/deviceInput-edit.html'
542
-        		}
543
-        	}
544
-        })  
545
-        //----------------设备入库登记结束---------------//
546
-        
547
-        //----------------器材领用开始---------------//
548
-        .state('app.basic.device.deviceGetList', {
549
-        	url: '/deviceGetList',
550
-        	data: {
551
-        		title: '机械器材领用'
552
-        	},
553
-        	views: {
554
-        		"content@app": {
555
-        			controller: 'deviceGetCtrl',
556
-        			templateUrl: 'app/business/device/views/deviceGet-list.html'
557
-        		}
558
-        	}
559
-        })  
560
-        .state('app.basic.device.deviceGetAdd', {
561
-        	url: '/deviceGetAdd',
562
-        	data: {
563
-        		title: '领用信息'
564
-        	},
565
-        	views: {
566
-        		"content@app": {
567
-        			controller: 'deviceGetCtrl',
568
-        			templateUrl: 'app/business/device/views/deviceGet-add.html'
569
-        		}
570
-        	}
571
-        })  
572
-        .state('app.basic.device.deviceGetBack', {
573
-        	url: '/deviceGetBack/:id/:getCount',
574
-        	data: {
575
-        		title: '归还信息'
576
-        	},
577
-        	views: {
578
-        		"content@app": {
579
-        			controller: 'deviceGetBackCtrl',
580
-        			templateUrl: 'app/business/device/views/deviceGet-back.html'
581
-        		}
582
-        	}
583
-        })  
584
-        .state('app.basic.device.deviceChack', {
585
-        	url: '/deviceChack/:id',
586
-        	data: {
587
-        		title: '信息详情'
588
-        	},
589
-        	views: {
590
-        		"content@app": {
591
-        			controller: 'deviceGetBackCtrl',
592
-        			templateUrl: 'app/business/device/views/deviceGet-detail.html'
593
-        		}
594
-        	}
595
-        })  
596
-        //----------------器材领用结束---------------//
597
-
598
-        // 设备器材管理三级路由
599
-        .state('app.basic.device.manage', {
600
-            abstract: true,
601
-            data: {
602
-                title: '设备管理'
603
-            }
604
-        })
605
-        //----------------器材保养开始---------------//
606
-        .state('app.basic.device.manage.deviceKeepList', {
607
-        	url: '/deviceKeepList',
608
-        	data: {
609
-        		title: '器材保养'
610
-        	},
611
-        	views: {
612
-        		"content@app": {
613
-        			controller: 'deviceKeepCtrl',
614
-        			templateUrl: 'app/business/device/views/deviceKeep-list.html'
615
-        		}
616
-        	}
617
-        })  
618
-        .state('app.basic.device.manage.deviceKeepAdd', {
619
-        	url: '/deviceKeepAdd',
620
-        	data: {
621
-        		title: '添加保养信息'
622
-        	},
623
-        	views: {
624
-        		"content@app": {
625
-        			controller: 'deviceKeepAddCtrl',
626
-        			templateUrl: 'app/business/device/views/deviceKeep-add.html'
627
-        		}
628
-        	}
629
-        }) 
630
-        .state('app.basic.device.manage.deviceKeepMassage', {
631
-        	url: '/deviceKeepMassage/:id',
632
-        	data: {
633
-        		title: '保养信息明细'
634
-        	},
635
-        	views: {   
636
-        		"content@app": {
637
-        			controller: 'deviceKeepSelCtrl',
638
-        			templateUrl: 'app/business/device/views/deviceKeep-olist.html'
639
-        		}
640
-        	}
641
-        }) 
642
-         //----------------器材保养结束---------------//
643
-        
644
-         //----------------器材维修开始---------------//
645
-        .state('app.basic.device.manage.deviceRepairList', {
646
-        	url: '/deviceRepairList',
647
-        	data: {
648
-        		title: '器材维修'
649
-        	},
650
-        	views: {
651
-        		"content@app": {
652
-        			controller: 'deviceRepairCtrl',
653
-        			templateUrl: 'app/business/device/views/deviceRepair-list.html'
654
-        		}
655
-        	}
656
-        })  
657
-        .state('app.basic.device.manage.devicerepairAdd', {
658
-        	url: '/devicerepairAdd',
659
-        	data: {
660
-        		title: '添加维修信息'
661
-        	},
662
-        	views: {
663
-        		"content@app": {
664
-        			controller: 'deviceRepairAddCtrl',
665
-        			templateUrl: 'app/business/device/views/deviceRepair-add.html'
666
-        		}
667
-        	}
668
-        })  
669
-        .state('app.basic.device.manage.deviceRepairMassage', {
670
-        	url: '/deviceRepairMassage/:id/:isNotEdit',
671
-        	data: {
672
-        		title: '维修信息明细'
673
-        	},
674
-        	views: {   
675
-        		"content@app": {
676
-        			controller: 'deviceRepairSaveCtrl',
677
-        			templateUrl: 'app/business/device/views/deviceRepair-olist.html'
678
-        		}
679
-        	}
680
-        }) 
681
-        
682
-        //----------------器材维修结束---------------//
683
-        
684
-        
685
-        //----------------设备报废开始---------------//
686
-        .state('app.basic.device.manage.deviceOutList', {
687
-        	url: '/deviceOutList',
688
-        	data: {
689
-        		title: '设备报废'
690
-        	},
691
-        	views: {
692
-        		"content@app": {
693
-        			controller: 'deviceOutCtrl',
694
-        			templateUrl: 'app/business/device/views/deviceOut-list.html'
695
-        		}
696
-        	}
697
-        })  
698
-         //----------------设备报废结束---------------//
699
-        //----------------台账开始---------------//
700
-        .state('app.basic.device.deviceAccountList', {
701
-        	url: '/deviceAccountList',
702
-        	data: {
703
-        		title: '台账'
704
-        	},
705
-        	views: {
706
-        		"content@app": {
707
-        			controller: 'deviceAccountCtrl',
708
-        			templateUrl: 'app/business/device/views/deviceAccount-list.html'
709
-        		}
710
-        	}
711
-        })
712
-        
713
-        .state('app.basic.device.accountEdit', {
714
-        	url: '/accountEdit/:deviceType/:deviceName/:model/:isNotEdit',
715
-        	data: {
716
-        		title: '设备台账'
717
-        	},
718
-        	views: {
719
-        		"content@app": {
720
-        			controller: 'deviceInputCheckCtrl',
721
-        			templateUrl: 'app/business/device/views/deviceAccount-edit.html'
722
-        		}
723
-        	}
724
-        }) 
725
-         //----------------台账结束---------------//
726
-        .state('app.basic.device.deviceCheckList', {
727
-        	url: '/deviceCheckList',
728
-        	data: {
729
-        		title: '盘点单'
730
-        	},
731
-        	views: {
732
-        		"content@app": {
733
-        			controller: 'deviceCheckCtrl',
734
-        			templateUrl: 'app/business/device/views/deviceCheck-list.html'
735
-        		}
736
-        	}
737
-        })
738
-        .state('app.basic.device.checkAdd', {
739
-        	url: '/checkAdd',
740
-        	data: {
741
-        		title: '新建盘点单'
742
-        	},
743
-        	views: {
744
-        		"content@app": {
745
-        			controller: 'deviceCheckAddCtrl',
746
-        			templateUrl: 'app/business/device/views/deviceAdd.html'
747
-        		}
748
-        	}
749
-        })
750
-        .state('app.basic.device.checkEdit', {
751
-        	url: '/checkEdit/:checkNumber/:isNotEdit',
752
-        	data: {
753
-        		title: '修改盘点单'
754
-        	},
755
-        	views: {
756
-        		"content@app": {
757
-        			controller: 'deviceCheckEditCtrl',
758
-        			templateUrl: 'app/business/device/views/deviceEdit.html'
759
-        		}
760
-        	}
761
-        })
762
-        //---------------------------------设施管理------------------------------------------------------
763
-         // 设施管理二级路由
764
-         .state('app.basic.facility', {
765
-            abstract: true,
766
-            data: {
767
-                title: '设施管理'
768
-            }
769
-        })
770
-        //----------------设施基础信息维护开始---------------//
771
-        .state('app.basic.facility.facilityStorageList', {
772
-            url: '/facilityStorageList',
773
-            data: {
774
-                title: '设施基础信息维护'
775
-            },
776
-            views: {
777
-                "content@app": {
778
-                    controller: 'facilityListCtrl',
779
-                    templateUrl: 'app/business/facility/views/facility-list.html'
780
-                }
781
-            }
782
-        })  
783
-        .state('app.basic.facility.addFacility', {
784
-            url: '/addFacility/:isNotEdit/:facility?',
785
-            data: {
786
-                title: '新增设施'
787
-            },
788
-            views: {
789
-                "content@app": {
790
-                    controller: 'addfacilityCtrl',
791
-                    templateUrl: 'app/business/facility/views/add-facility.html'
792
-                }
793
-            }
794
-        })  
795
-        
796
-        //----------------设施基础信息维护结束---------------//
797
-        //----------------设施保养开始---------------//
798
-        .state('app.basic.facility.facilityKeepList', {
799
-            url: '/facilityKeepList',
800
-            data: {
801
-                title: '设施保养'
802
-            },
803
-            views: {
804
-                "content@app": {
805
-                    controller: 'facilityKeepListCtrl',
806
-                    templateUrl: 'app/business/facility/views/facility-keep.html'
807
-                }
808
-            }
809
-        }) 
810
-        .state('app.basic.facility.addFacilityKeep', {
811
-            url: '/addFacilityKeep/:isNotEdit/:facility?',
812
-            data: {
813
-                title: '添加设施保养信息'
814
-            },
815
-            views: {
816
-                "content@app": {
817
-                    controller: 'addfacilityKeepCtrl',
818
-                    templateUrl: 'app/business/facility/views/add-facility-keep.html'
819
-                }
820
-            }
821
-        })  
822
-        
823
-        //----------------设施保养结束---------------//
824
-         //----------------设施维修开始---------------//
825
-         .state('app.basic.facility.facilityGetList', {
826
-            url: '/facilityGetList',
827
-            data: {
828
-                title: '设施维修'
829
-            },
830
-            views: {
831
-                "content@app": {
832
-                    controller: 'facilityGetListCtrl',
833
-                    templateUrl: 'app/business/facility/views/facility-get-list.html'
834
-                }
835
-            }
836
-        }) 
837
-        .state('app.basic.facility.addFacilityGet', {
838
-            url: '/addfacilityGet/:isNotEdit/:facility?',
839
-            data: {
840
-                title: '添加设施维修信息'
841
-            },
842
-            views: {
843
-                "content@app": {
844
-                    controller: 'addFacilityGetCtrl',
845
-                    templateUrl: 'app/business/facility/views/add-facility-get.html'
846
-                }
847
-            }
848
-        })  
849
-        
850
-        //----------------设施维修结束---------------//
851
-        // //----------------设施报废开始---------------//
852
-        // .state('app.basic.facility.facilityScrapList', {
853
-        //     url: '/facilityScrapList',
854
-        //     data: {
855
-        //         title: '设施报废'
856
-        //     },
857
-        //     views: {
858
-        //         "content@app": {
859
-        //             controller: 'facilityScrapListCtrl',
860
-        //             templateUrl: 'app/business/facility/views/facility-scraplist.html'
861
-        //         }
862
-        //     }
863
-        // }) 
864
-        // .state('app.basic.facility.addFacilityScrap', {
865
-        //     url: '/addFacilityScrap',
866
-        //     data: {
867
-        //         title: '添加设施报废信息'
868
-        //     },
869
-        //     views: {
870
-        //         "content@app": {
871
-        //             controller: 'addFacilityScrapCtrl',
872
-        //             templateUrl: 'app/business/facility/views/add-facility-scrap.html'
873
-        //         }
874
-        //     }
875
-        // })  
876
-        
877
-        // //----------------设施报废结束---------------//
878
-        
879
-        
880
-        
881
-        //初始化员工信息调用
882
-    .state('app.basic.keeperList', {
883
-    	url: '/keeperList',
884
-        data: {
885
-            title: '人员管理'
886
-        },
887
-        views: {
888
-            "content@app": {
889
-                controller: 'keeperCtrl',
890
-                templateUrl: 'app/basic/keeper/views/keeper-list.html'
891
-            }
892
-        }
893
-    })
894
-    
895
-    //点新增或修改保管员信息调用
896
-    .state('app.basic.keeperEdit', {
897
-    	url: '/keeperEdit/:id/:showType',
898
-        data: {
899
-            title: '人员信息详情'
900
-        },
901
-        views: {
902
-            "content@app": {
903
-                controller: 'keeperCtrlEdit',
904
-                templateUrl: 'app/basic/keeper/views/keeper-edit.html'
905
-            }
906
-        }
907
-    })
908
-    //点查看跳转页面
909
-    .state('app.basic.keeperView', {
910
-    	url: '/keeperView/:id/:types',
911
-        data: {
912
-            title: '人员信息展示'
913
-        },
914
-        views: {
915
-            "content@app": {
916
-                controller: 'keeperViewCtrl',
917
-                templateUrl: 'app/basic/keeper/views/keeper-view.html'
918
-            }
919
-        }
920
-    })
921 435
 });

+ 132 - 0
src/main/resources/static/app/business/commonUtilService.js

@@ -124,4 +124,136 @@ angular.module('app.business').service("commonUtilService", function($http, $q,
124 124
         return (arg1*m+arg2*m+arg3*m+arg4*m+arg5*m+arg6*m)/m;
125 125
     }
126 126
 
127
+    //四舍五入保留一位小数
128
+    this.getMath1 = function(v) {
129
+        if (isNaN(v) || v == "") {
130
+            v = "0.0";
131
+        } else {
132
+            v = Math.round(v*10)/10;
133
+            v = v.toString();
134
+            var rs = v.indexOf('.');
135
+            if(rs < 0){
136
+                v = v + ".0";
137
+            }else{
138
+                while(v.length <= rs + 1){v += '0';}
139
+            }
140
+        }
141
+        return v;
142
+    }
143
+
144
+    //四舍五入保留两位小数
145
+    this.getMath = function(v) {
146
+        if (isNaN(v) || v == "") {
147
+            v = "0.00";
148
+        } else {
149
+            v = Math.round(v*100)/100;
150
+            v = v.toString();
151
+            var rs = v.indexOf('.');
152
+            if(rs < 0){
153
+                v = v + ".00";
154
+            }else{
155
+                while(v.length <= rs + 2){v += '0';}
156
+            }
157
+        }
158
+        return v;
159
+    }
160
+    
161
+    //将v四舍五入,且保留n位小数
162
+    this.getMath_N = function(v, n) {
163
+        if (isNaN(v) || v == "") {
164
+        	if (isNaN(n) || v == "") {
165
+        		v = "0.00";
166
+        	} else if (n == 0) {
167
+        		v = "0";
168
+        	} else {
169
+        		v = "";
170
+        		for (var i = 1; i <= n; i++) {
171
+            		if (i == 1) {
172
+            			v = "0.0";
173
+            		} else {
174
+            			v = v+"0";
175
+            		}
176
+            	}
177
+        	}
178
+        } else {
179
+            v = Math.round(v*100)/100;
180
+            v = v.toString();
181
+            var rs = v.indexOf('.');
182
+            if (rs < 0) {
183
+            	if (n > 0) {
184
+            		for (var i = 1; i <= n; i++) {
185
+            			if (i == 1) {
186
+                			v = v+".0";
187
+                		} else {
188
+                			v = v+"0";
189
+                		}
190
+            		}
191
+            	}
192
+            }else{
193
+                while(v.length <= rs + n){v += '0';}
194
+            }
195
+        }
196
+        return v;
197
+    }
198
+
199
+    /**
200
+     * 判断奇进偶舍(目前最多保留两位小数)
201
+     * v:原数据值
202
+     * n:要保留的小数位数
203
+     */
204
+    this.checkJqos = function(v, n) {
205
+    	if (!isNaN(v) && v != "") {
206
+    	    var pos = v.toString().indexOf(".");
207
+    	    if (pos == -1) {
208
+    	    	var f = n;
209
+    	    	v = v + ".";
210
+    	    	for (var i = 0; i < n+1; i++) {
211
+    	    		v=v+"0";
212
+    	    	}
213
+    		} else {
214
+                var len = v.toString().substr(pos + 1, v.toString().length).length;
215
+                if (len<(n+1)) {
216
+                    var d = n+1;
217
+                    var s = d-len;//计算少了少几位小数
218
+                    //把少的位置补上
219
+                    for (var i = 0; i < s; i++) {
220
+    	    			v=v+"0";
221
+    	    		}
222
+                }
223
+    			var intv, secondNum, firstNum;
224
+    	        if (n==1) {
225
+    	        	intv = v.toString().substr(0, pos);
226
+    	        	secondNum = parseInt(v.toString().substr(pos + 2, 1));	//第二位小数
227
+    	        	firstNum = parseInt(v.toString().substr(pos + 1, 1));	//第一位小数
228
+    	            if (secondNum == 5) {
229
+    	                if (firstNum % 2 == 0) {
230
+    	                    v = intv.toString()+'.'+firstNum.toString()+'4';
231
+    	                } else {
232
+    	                    v = intv.toString()+'.'+firstNum.toString()+'6';
233
+    	                }
234
+    	        	} else {
235
+    	        		v = intv.toString()+'.'+firstNum.toString()+secondNum.toString();
236
+    	        	}
237
+    	        } else if (n==2) {
238
+    	        	intv = v.toString().substr(0, pos+2);
239
+                    firstNum = parseInt(v.toString().substr(pos + 2, 1));	//第二位小数
240
+    	            secondNum = parseInt(v.toString().substr(pos + 3, 1));	//第三位小数
241
+
242
+    	        	if (secondNum == 5) {
243
+    	                if (firstNum % 2 == 0) {
244
+    	                    v = intv.toString()+firstNum.toString()+'4';
245
+    	                } else {
246
+    	                    v = intv.toString()+firstNum.toString()+'6';
247
+    	                }
248
+    	        	} else {
249
+    	        		v = intv.toString()+firstNum.toString()+secondNum.toString();
250
+    	        	}
251
+    	        }
252
+    	     }
253
+    	    v = this.getMath1(v);
254
+    	} else {
255
+    		v = 0.0
256
+    	}
257
+    	return v;
258
+    }
127 259
 })

+ 2 - 2
src/main/resources/static/app/business/customer/controller/customerCtrl.js

@@ -28,7 +28,7 @@ angular.module('app.business').controller("customerCtrl", function($scope, $root
28 28
     	if($scope.menu!=null){
29 29
     		$state.go('app.business.management.customer.add', {id : 0,menu:$scope.menu});
30 30
     	}else{
31
-    		$state.go('app.basic.customer.add', {id : 0});
31
+    		$state.go('app.business.customer.add', {id : 0});
32 32
     	}
33 33
         
34 34
     }
@@ -38,7 +38,7 @@ angular.module('app.business').controller("customerCtrl", function($scope, $root
38 38
     	if($scope.menu!=null){
39 39
     		$state.go('app.business.management.customer.edit', {id : id,menu:$scope.menu});
40 40
     	}else{
41
-    		$state.go('app.basic.customer.edit', {id : id});
41
+    		$state.go('app.business.customer.edit', {id : id});
42 42
     	}
43 43
     }
44 44
     

+ 1 - 1
src/main/resources/static/app/business/customer/controller/customerSaveCtrl.js

@@ -163,7 +163,7 @@ angular.module('app.business').controller("customerSaveCtrl", function($scope, $
163 163
         if ($rootScope.previousState_name != '') {
164 164
         	$rootScope.back();
165 165
         } else {
166
-        	$state.go('app.basic.customer.list');
166
+        	$state.go('app.business.customer.list');
167 167
         }
168 168
     }
169 169
     

+ 2 - 5
src/main/resources/static/app/business/deliveryStorageNotice/controller/deliveryStorageNoticeAuditPassCtrl.js

@@ -11,18 +11,15 @@ angular.module('app.business').controller("deliveryStorageNoticeAuditPassCtrl",
11 11
             console.log(data);
12 12
         });
13 13
     }
14
-    
15
-    
14
+
16 15
     $scope.loadData();
17
-    
16
+
18 17
     // 清空查询条件.
19 18
     $scope.clearConditions = function() {
20 19
    	    $scope.searchCondition = {};
21 20
    	    $scope.loadData();
22 21
     }
23 22
 
24
-
25
-
26 23
     // 查看页面.
27 24
     $scope.showView = function(deliveryStorageNotice) {
28 25
         if (deliveryStorageNotice.billType == "1") {

+ 103 - 72
src/main/resources/static/app/business/deliveryStorageNotice/controller/grainDeliveryStorageNoticeSaveCtrl.js

@@ -1,7 +1,7 @@
1 1
 angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
2 2
     function($scope, $http, $filter, $stateParams, $state, $uibModal, $rootScope,agentDepotService,
3
-             deliveryStorageNoticeService, deliveryStorageNoticeAuditService, commonUtilService,
4
-             storeWareDetailService, enumService, codeRuleService,planService, customerService, contractReceiveService, userRoleService, $location, APP_CONFIG) {
3
+             deliveryStorageNoticeService, deliveryStorageNoticeAuditService, commonUtilService, 
4
+             storeWareDetailService, enumService, codeRuleService,planService, customerService, contractReceiveService, userRoleService, qualitycheckService, $location, APP_CONFIG) {
5 5
 
6 6
         $scope.deliveryStorageNotice = {};
7 7
         $scope.billNumber = {};
@@ -73,22 +73,22 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
73 73
                 }
74 74
             });
75 75
         }
76
-        
77 76
 
78 77
         //选择接收通知单
79 78
         $scope.getNotice = function (val) {
80 79
         	
81
-        	//$scope.deliveryStorageNotice.agreementNumber = "";//协议号
80
+        	//$scope.deliveryStorageNotice.agreementNumber = "";//协议号1111
82 81
         	
83 82
         	$scope.modelItem = [];
84 83
 
85 84
         	if($stateParams.noticeType == "delivery"){//出库通知单  选择销售或者轮换的通知单
86
-        		$scope.modelItem.ywtype = 1; //竞买的通知单
87
-        		$scope.modelItem.cktzd = 0; //标识
88
-        		//$scope.modelItem.crktype = 3; //出库
85
+        		//$scope.modelItem.ywtype = 1; //竞买的通知单
86
+        		//$scope.modelItem.cktzd = 0; //标识
87
+        		$scope.modelItem.crktype = 3; //出库
88
+        		$scope.modelItem.auditState = 5;//选择审批通过的
89 89
         	}else{
90
-                $scope.modelItem.ywtype = 1;//入库 收储
91
-                //$scope.modelItem.crktype = 1;//入库 
90
+                //$scope.modelItem.ywtype = 1;//入库 收储
91
+                $scope.modelItem.crktype = 1;//入库 
92 92
         	}
93 93
         	if($scope.lsoryltype == '000'){//粮食
94 94
         		$scope.modelItem.lyflag = 1;
@@ -96,7 +96,6 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
96 96
         		$scope.modelItem.lyflag = 0;
97 97
         	}
98 98
         	
99
-        	$scope.modelItem.auditState = 5;//选择审批通过的
100 99
         	$scope.modelItem.isNotice = 0;//选择可以引用的通知单
101 100
             var modalInstance = $uibModal.open({
102 101
                 size: 'lg',
@@ -115,74 +114,103 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
115 114
             modalInstance.result.then(function (result) {
116 115
                 if (result != null) {
117 116
                     //result是选中的值,addedDetail是现在的值,遍历一遍result里面的值,在addedDetail里面存在不存在,如果不存在,就进去就可以了
118
-                    for (var index = 0;index < result.length; index++) {
119
-                        const ele1 = result[index];
120
-                        var isfind = false;//标记是否在addedDetail里面找到该值
121
-                        for (var j = 0; j < $scope.addedDetail.length; j++) {
122
-                            const ele2 = $scope.addedDetail[j];
123
-                            if(ele1.id === ele2.id){
124
-                                //id唯一,判断id是否相等,如果相等,标记找到,说明addedDetail里面已经存在该值,不需要放在addedDetail里面了
125
-                                isfind = true;
126
-                                continue;
117
+                	const ele1 = result[0];
118
+                    ele1.state = ele1.orgId;//代储库的orgId
119
+                    if(ele1.wareHouseId != 'undefined' && ele1.wareHouseId !=null){
120
+                    	ele1.warehouseId = ele1.wareHouseId;
121
+                    	ele1.warehouseName = $rootScope.wares[ele1.warehouseId].warehouseName;
122
+            		}
123
+                    ele1.houseName = $rootScope.storehouseObj[ele1.houseId].storehouseName;
124
+
125
+                    if ($stateParams.noticeType == "delivery") {//出库前检查有没有做出库检验
126
+                    	//判断当前仓房是否做了出库检验,没做的话不允许做出库通知单
127
+                		qualitycheckService.findConditionCkCheck(ele1.houseId, ele1.warehouseId, '3').then(function (data) {
128
+
129
+                            if (data.status == "200" && data.msg.length > 0) {
130
+                            	$scope.settzdData(ele1, result);
131
+                            } else {
132
+                            	$scope.addedDetail = [];
133
+                            	result = [];
134
+                            	alert("您当前所选择的仓房未做出库检验,不允许做出库通知单!");
135
+                            	return;
127 136
                             }
128
-                        }
129
-                        if(!isfind){
130
-                            //如果没有找到该值,说明不存在,就需要放到改数组里面,渲染到页面上
131
-//                            $scope.addedDetail.push(ele1);
132
-                        	$scope.addedDetail[0] = ele1;
133
-                        }
134
-                    }
135
-
136
-                    if(val=="1" && $scope.addedDetail.length>0){
137
-                		$('#xzht').css('display','none');
138
-                	}
139
-                    
140
-                    //给协议号赋值
141
-                    for (var i=0; i< result.length; i++) {
142
-                    	if ($stateParams.noticeType == "delivery") {//出库
143
-                    		if (result[i].ywtype == "2") {//销售=竞价
144
-                				$scope.addedDetail[i].htbh = result[i].contractNumber;//通知单本身的协议号就是合同号
145
-                				$scope.addedDetail[i].agreementNumber = null;
146
-                    		}else if (result[i].ywtype == "3") {//包干,通知单的合同号是从接收合同引的,本身的协议号/合同号的值就只是协议号
147
-                    			$scope.addedDetail[i].htbh = result[i].htbh;
148
-                    			$scope.addedDetail[i].agreementNumber = result[i].contractNumber;
149
-                    		}
150
-                    	}
151
-                    }
152
-                    //根据合同号获取接收合同信息中的客户ID
153
-                    if ($scope.addedDetail[0].htbh != null) {
154
-                    	contractReceiveService.getPageInfo(null, 
155
-                    			null, 
156
-                    			$scope.addedDetail[0].htbh,
157
-                    			null,
158
-                    			null,
159
-                    			null).then(function (data) {
160
-                    				$scope.pageInfo = data;
161
-                    				if (data.list != null && data.list.length > 0) {
162
-                    					var khid = data.list[0].khid;
163
-                    					$scope.addedDetail[0].outCount = data.list[0].htzsl;
164
-                    					$scope.addedDetail[0].outPrice = data.list[0].htdj;
165
-                    					$scope.addedDetail[0].outDetailTotalPrice = data.list[0].htzj;
166
-                    					$scope.deliveryStorageNotice.shipingCount = $scope.addedDetail[0].outCount;
167
-                    					$scope.deliveryStorageNotice.moneyQuantity = $scope.addedDetail[0].outDetailTotalPrice;
168
-                    					//带出客户
169
-                    					$scope.getCustomer(khid);
170
-                    				}
171
-                    			}, function (data) {
172
-                    				console.log(data);
173
-                    			});
137
+                        }, function (data) {
138
+                            console.log(data);
139
+                        });
140
+                    } else {//入库
141
+                    	ele1.grainAttribute = 3052;
142
+                    	$scope.settzdData(ele1, result);
174 143
                     }
175
-                    // 计算总数量.
176
-                    $scope.countSumAmount();
177
-                    //计算总金额
178
-                    $scope.countMoneyQuantity();
179 144
                     
145
+
180 146
                 }
181 147
 
182 148
             }, function (reason) {
183 149
                 console.log(reason);
184 150
             });
185 151
         }
152
+        
153
+        $scope.settzdData = function(ele1, result) {
154
+        	var isfind = false;//标记是否在addedDetail里面找到该值
155
+
156
+        	if ($scope.addedDetail.length > 0) {
157
+        		const ele2 = $scope.addedDetail[0];
158
+        		if(ele1.id === ele2.id){
159
+        			//id唯一,判断id是否相等,如果相等,标记找到,说明addedDetail里面已经存在该值,不需要放在addedDetail里面了
160
+        			isfind = true;
161
+        		}
162
+        	}
163
+
164
+            if(!isfind){
165
+                //如果没有找到该值,说明不存在,就需要放到改数组里面,渲染到页面上
166
+//                    $scope.addedDetail.push(ele1);
167
+            	$scope.addedDetail[0] = ele1;
168
+            }
169
+
170
+            //给协议号赋值
171
+            if (result[0].ywtype == "3") {//包干,通知单的合同号是从接收合同引的,本身的协议号/合同号的值就只是协议号
172
+    			$scope.addedDetail[0].htbh = result[0].htbh;
173
+    			$scope.addedDetail[0].agreementNumber = result[0].contractNumber;
174
+    			$scope.addedDetail[0].incomingType = "1";//包干轮换
175
+    		} else {//出库和入库的竞价类型、还有兜底是一种模式
176
+        		$scope.addedDetail[0].htbh = result[0].contractNumber;//通知单本身的协议号就是合同号
177
+				$scope.addedDetail[0].agreementNumber = null;
178
+				if (result[0].ywtype == "4") {
179
+					$scope.addedDetail[0].incomingType = "5";//兜底
180
+				} else if (result[0].ywtype == "1") {
181
+					$scope.addedDetail[0].incomingType = "3";//竞买
182
+				}
183
+        	}
184
+
185
+            //根据合同号获取接收合同信息中的客户ID
186
+            if ($scope.addedDetail[0].htbh != null) {
187
+            	contractReceiveService.getPageInfo(null, 
188
+            			null, 
189
+            			$scope.addedDetail[0].htbh,
190
+            			null,
191
+            			null,
192
+            			null).then(function (datas) {
193
+            				$scope.pageInfo = datas;
194
+            				if (datas.list != null && datas.list.length > 0) {
195
+            					var khid = datas.list[0].khid;
196
+            					//$scope.addedDetail[0].outCount = data.list[0].htzsl;
197
+            					$scope.addedDetail[0].outPrice = datas.list[0].htdj;
198
+            					var outDetailTotalPrice = commonUtilService.accMul($scope.addedDetail[0].outCount, $scope.addedDetail[0].outPrice);
199
+            					$scope.addedDetail[0].outDetailTotalPrice = outDetailTotalPrice;
200
+            					$scope.deliveryStorageNotice.shipingCount = $scope.addedDetail[0].outCount;
201
+            					$scope.deliveryStorageNotice.moneyQuantity = $scope.addedDetail[0].outDetailTotalPrice;
202
+            					//带出客户
203
+            					$scope.getCustomer(khid);
204
+            				}
205
+            			}, function (datas) {
206
+            				console.log(datas);
207
+            			});
208
+            }
209
+            // 计算总数量.
210
+            $scope.countSumAmount();
211
+            //计算总金额
212
+            $scope.countMoneyQuantity();
213
+        }
186 214
 
187 215
      
188 216
         //------------------------------提交(选择审批人)-----------------------------------
@@ -525,7 +553,8 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
525 553
                     contract_obj.grainKind = result.lypz;
526 554
                     contract_obj.grainDetailKind = result.mxpz;
527 555
                     contract_obj.grainGrade = result.lydj;
528
-                    contract_obj.grainAttribute = result.lyxz;
556
+                    //contract_obj.grainAttribute = result.lyxz; 
557
+                    contract_obj.grainAttribute = 3052;
529 558
                     contract_obj.grainAnnual = result.shnd;
530 559
                     contract_obj.grainProducingArea = result.lycd;
531 560
                     contract_obj.inPrice = result.htdj;
@@ -770,7 +799,7 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
770 799
 	    		params.planOutRemainingNumber = detailInfo.planOutRemainingNumber;  //计划的剩余数量
771 800
 	    		params.copyId = copyId;
772 801
 	    		if (detailInfo.crktype == 3) {//出库
773
-	    			if (detailInfo.ywtype == "2") {//销售=竞价
802
+	    			if (detailInfo.ywtype == "2" || detailInfo.ywtype == "4") {//销售=竞价
774 803
 	    				if (detailInfo.htbh == null) {
775 804
 	    					params.htbh = detailInfo.contractNumber;//通知单本身的协议号就是合同号
776 805
 	    					params.agreementNumber = null;
@@ -840,7 +869,7 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
840 869
 	    						}
841 870
 	    						
842 871
 	    					}, function (data) {
843
-	    						console.log(data);  
872
+	    						console.log(data);
844 873
 	    					});
845 874
 	    					//货位名称
846 875
 	    					agentDepotService.getAgentStoreWareList($rootScope.userInfo.orgId,result.houseId).then(function(data) {
@@ -1161,6 +1190,8 @@ angular.module('app.business').controller("grainDeliveryStorageNoticeSaveCtrl",
1161 1190
 		                                		delete $scope.addedDetail[i].id;
1162 1191
 		                                  }*/
1163 1192
                                         $scope.detailList.push($scope.addedDetail[i]);
1193
+                                        delete $scope.addedDetail[i].cblx;
1194
+                                        delete $scope.addedDetail[i].ysid;
1164 1195
                                         
1165 1196
                                         if($scope.addedDetail[i].grainGrade == null || $scope.addedDetail[i].grainGrade == ""){
1166 1197
                                         	alert("明细信息中等级不能为空,否则不能提交");

+ 1 - 0
src/main/resources/static/app/business/deliveryStorageNotice/controller/propertyTransitionSheetAuditCtrl.js

@@ -2,6 +2,7 @@ angular.module('app.business').controller("propertyTransitionSheetAuditCtrl", fu
2 2
 		receiveNoticeService,commonUtilService,warehouseService,$rootScope,APP_CONFIG) {
3 3
 	
4 4
 	$scope.pageInfo = {pageNum : 1, pageSize : 10};
5
+	//isSheet=0代表是性质转变单
5 6
 	$scope.searchCondition = {isSheet:0};
6 7
      // 获取列表数据
7 8
      $scope.loadData = function() {

+ 1 - 4
src/main/resources/static/app/business/deliveryStorageNotice/controller/receiveNoticeCtrl.js

@@ -3,14 +3,11 @@ angular.module('app.business').controller("receiveNoticeCtrl", function($scope,
3 3
 	
4 4
 	$scope.pageInfo = {pageNum : 1, pageSize : 10};
5 5
 
6
+	//isNotice=0代表是可引用的通知单,sfzswtzd=0代表允许展示在接收通知单列表中
6 7
 	$scope.searchCondition = {isNotice : 0};
7 8
      // 获取列表数据
8 9
      $scope.loadData = function() {
9 10
     	 receiveNoticeService.getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize,$scope.searchCondition).then(function(data){
10
-             /*//单位换算成吨
11
-    		 for (var i = 0; i < data.list.length; i++) {
12
-            	 data.list[i].count = commonUtilService.accDiv(data.list[i].count,1000);
13
-			 }*/
14 11
              $scope.pageInfo = data;
15 12
          },function(data){
16 13
              console.log(data);

+ 9 - 2
src/main/resources/static/app/business/deliveryStorageNotice/controller/receiveNoticeSaveCtrl.js

@@ -12,12 +12,14 @@ angular.module('app.business').controller("receiveNoticeSaveCtrl",
12 12
 	         }else if($scope.businessNoticeReceive.crktype == 3){
13 13
 	        	 $scope.businessNoticeReceive.crktype = "出库";
14 14
 	         }
15
-	         
15
+
16 16
 	         $scope.ywlx = "";
17 17
 	         if ($scope.businessNoticeReceive.ywtype == 1 || $scope.businessNoticeReceive.ywtype == 2) {//<!-- 1竞买=竞价,2 销售=竞价 3轮换=包干 --> 
18 18
 	        	 $scope.ywlx = "竞价";
19 19
 	         } else if ($scope.businessNoticeReceive.ywtype == 3){
20 20
 	        	 $scope.ywlx = "包干";
21
+	         } else if ($scope.businessNoticeReceive.ywtype == 4){
22
+	        	 $scope.ywlx = "兜底";
21 23
 	         }
22 24
 	     },function(data){
23 25
 	    	 console.log(data);
@@ -29,7 +31,12 @@ angular.module('app.business').controller("receiveNoticeSaveCtrl",
29 31
 	 $scope.getReceiveContract = function(businessNoticeReceive) {
30 32
          var params = [];
31 33
          params.houseId = businessNoticeReceive.houseId;
32
- 		 params.warehouseId = businessNoticeReceive.wareHouseId;
34
+         var cflx = $rootScope.storehouseObj[params.houseId].datatype;
35
+         if (cflx == "0") {//仓房的数据
36
+        	 params.warehouseId = businessNoticeReceive.wareHouseId;
37
+         } else {
38
+        	 params.warehouseId = null;
39
+         }
33 40
  		 if (businessNoticeReceive.crktype == "出库") {//销售
34 41
  			 params.htlx = "1";
35 42
  		 } else if (businessNoticeReceive.crktype == "入库") {//采购

+ 2 - 0
src/main/resources/static/app/business/deliveryStorageNotice/views/grainStorageNotice-edit.html

@@ -138,6 +138,8 @@
138 138
 												<strong>粮食信息</strong>
139 139
 												<a class="btn btn-primary" ng-hide="xztzdButton" 
140 140
 													ng-click="getContract()">选择合同</a>
141
+												<a class="btn btn-primary" ng-hide="xztzdButton" 
142
+													ng-click="getNotice('0')">选择通知单</a>
141 143
 											</h3>
142 144
 
143 145
 										</header>

+ 14 - 5
src/main/resources/static/app/business/deliveryStorageNotice/views/propertyTSheet-list.html

@@ -17,7 +17,7 @@
17 17
                                     <div class="form-group">
18 18
                                        <label>仓房名称:&emsp;   
19 19
 											<select ng-model="searchCondition.houseId" class="form-control input-sm"
20
-													ng-options="store.storehouseId as store.storehouseName for store in storelist"
20
+													ng-options="store.storehouseId as store.storehouseName for store in store_tank_list"
21 21
 													ng-change="loadWare()">
22 22
 												<option value="">请选择</option>
23 23
 											</select>&emsp;
@@ -30,14 +30,19 @@
30 30
 												<option value="">请选择</option>
31 31
 											</select>&emsp;
32 32
                                        </label>
33
-                                       <label>
33
+                                       <select class="form-control input-sm" ng-model="searchCondition.crktype">
34
+                                           <option value="">请选择</option>
35
+                                           <option value="1">入库</option>
36
+                                           <option value="3">出库</option>
37
+                                       </select>
38
+                                       <!-- <label>
34 39
                                        		审批状态:&emsp;
35 40
                                             <select class="form-control input-sm" ng-model="searchCondition.auditState">
36 41
                                                             <option value="">请选择</option>
37 42
                                                             <option value="14">审批中</option>
38 43
                                                             <option value="5">审批结束</option>
39 44
                                             </select>
40
-                                       </label>&emsp;
45
+                                       </label> -->&emsp;
41 46
 	                                       <label><a class="btn btn-default btn-sm" ng-click="loadData()">
42 47
 														<i class="fa fa-search"></i>&nbsp;查&nbsp;询
43 48
 													</a>
@@ -60,6 +65,7 @@
60 65
 		                        <tr>
61 66
 		                        	<th data-class="expand" style="text-align:center;" width="3%"> 序号</th>
62 67
 		                            <th data-class="expand" style="text-align:center;" width="7%"> 性质转变单编号</th>
68
+		                            <th data-class="expand" style="text-align:center;" width="7%"> 出入库类型</th>
63 69
 		                            <th data-class="expand" style="text-align:center;" width="4%"> 仓房名称</th>
64 70
 		                            <th data-class="expand" style="text-align:center;" width="4%"> 货位名称</th>
65 71
 		                            <th data-class="expand" style="text-align:center;" width="5%"> 粮油品种</th>
@@ -77,6 +83,7 @@
77 83
 	                            <tr ng-repeat="receiveNotice in pageInfo.list">
78 84
 	                                <td data-class="expand" style="text-align:center;">{{$index+1}}</td>
79 85
 	                                <td data-class="expand" style="text-align:center;">{{receiveNotice.lsxzzbdh}}</td>
86
+	                                <td data-class="expand" style="text-align:center;">{{receiveNotice.crktype==1?"入库":"出库"}}</td>
80 87
 	                                <td data-class="expand" style="text-align:center;">{{storehouseObj[receiveNotice.houseId].storehouseName}}</td>
81 88
 	                                <td data-class="expand" style="text-align:center;">
82 89
 									    <span ng-if="receiveNotice.wareHouseId != null">{{wares[receiveNotice.wareHouseId].warehouseName}}</span>
@@ -87,14 +94,16 @@
87 94
 	                                <td data-class="expand" style="text-align:center;">{{dicData[receiveNotice.grainAttribute]}}</td>
88 95
 	                                <td data-class="expand" style="text-align:center;">{{dicData[receiveNotice.hzqlsxzdm]}}</td>
89 96
 	                                <td data-class="expand" style="text-align:center;">{{receiveNotice.count}}</td>
90
-	                                <td data-class="expand" style="text-align:center;">{{receiveNotice.receiveTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>
97
+	                                <td data-class="expand" style="text-align:center;">{{receiveNotice.hzrq | date:'yyyy-MM-dd HH:mm:ss'}}</td>
91 98
 	                                <td data-class="expand" style="text-align:center;">
92 99
 									    <span ng-if="receiveNotice.auditState == 0">仓储部经理审批中</span>
93 100
 									    <span ng-if="receiveNotice.auditState == 1">质检部经理审批中</span>
94 101
 									    <span ng-if="receiveNotice.auditState == 2">统计部经理审批中</span>
95 102
 									    <span ng-if="receiveNotice.auditState == 3">会计审批中</span>
96 103
 									    <span ng-if="receiveNotice.auditState == 4">库领导审批中</span>
97
-									    <span ng-if="receiveNotice.auditState == 5">审批结束</span>
104
+									    <span ng-if="receiveNotice.auditState == 5 && receiveNotice.crktype=='3'">审批结束</span>
105
+									    <span ng-if="receiveNotice.auditState == 5 && receiveNotice.crktype=='1'">待第三方质检合格</span>
106
+									    <span ng-if="receiveNotice.auditState == 6 && receiveNotice.crktype=='1'">审批结束</span>
98 107
 									</td>
99 108
 	                                <td data-class="expand" style="text-align:center;">
100 109
 	                                	<a href-void ng-click="auditView(receiveNotice.id)"><i class="fa fa-info-circle"></i>查看</a>

+ 1 - 1
src/main/resources/static/app/business/deliveryStorageNotice/views/receiveNotice-edit.html

@@ -104,7 +104,7 @@
104 104
                               	</div>
105 105
                               	<div>
106 106
                               		<section class="col col-3">
107
-										<label class="label">出库期限:</label>
107
+										<label class="label">质检报告有效期:</label>
108 108
 										<label class="input">
109 109
 											<input type="text" ng-model="businessNoticeReceive.outgoingPeriod" name="outgoingPeriod" ng-readonly="isNotEdit" />
110 110
 												   

+ 11 - 1
src/main/resources/static/app/business/deliveryStorageNotice/views/receiveNotice-list.html

@@ -93,6 +93,7 @@
93 93
 		                                    <div ng-switch-when="1">竞价</div>
94 94
 		                                    <div ng-switch-when="2">竞价</div>
95 95
 		                                    <div ng-switch-when="3">包干</div>
96
+		                                    <div ng-switch-when="4">兜底</div>
96 97
 	                                    </div>
97 98
 	                                </td>
98 99
 	                                <td>{{storehouseObj[receiveNotice.houseId].storehouseName}}</td>
@@ -104,7 +105,16 @@
104 105
 	                                <td>{{dicData[receiveNotice.grainGrade]}}</td>
105 106
 	                                <td>{{receiveNotice.count}}</td>
106 107
 	                                <td>{{receiveNotice.receiveTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>
107
-	                                <td>{{receiveNotice.htbh}}</td>
108
+	                                <td>
109
+	                                    <div>
110
+	                                        <div ng-switch="{{receiveNotice.ywtype}}"><!-- 1竞买2 销售 3轮换 -->
111
+			                                    <div ng-switch-when="1">{{receiveNotice.contractNumber}}</div>
112
+			                                    <div ng-switch-when="2">{{receiveNotice.contractNumber}}</div>
113
+			                                    <div ng-switch-when="3">{{receiveNotice.htbh}}</div>
114
+			                                    <div ng-switch-when="4">{{receiveNotice.contractNumber}}</div>
115
+		                                    </div>
116
+	                                    </div>
117
+	                                </td>
108 118
 	                                <td>
109 119
 	                                	<a href-void ng-click="edit(receiveNotice.id, 'show')"><i class="fa fa-info-circle"></i>查看</a>
110 120
 	                                	<a ng-show="receiveNotice.ywtype==3" href-void ng-click="edit(receiveNotice.id, 'glht')"><i class="fa fa-info-circle"></i>关联合同</a>

+ 1 - 1
src/main/resources/static/app/business/device/controller/deviceAccountCtrl.js

@@ -23,7 +23,7 @@ angular.module('app.business')
23 23
 	    
24 24
 	 // 查看页面
25 25
 	    $scope.showViewInput = function(deviceType,deviceName,model) {
26
-	    	$state.go('app.basic.device.accountEdit',{ssfl:deviceType,deviceName:deviceName,model:model,isNotEdit:true});
26
+	    	$state.go('app.business.device.accountEdit',{ssfl:deviceType,deviceName:deviceName,model:model,isNotEdit:true});
27 27
 	    }
28 28
 	 
29 29
 })

+ 6 - 6
src/main/resources/static/app/business/device/controller/deviceCheckCtrl.js

@@ -37,7 +37,7 @@ angular.module('app.business')
37 37
 
38 38
         //新增
39 39
         $scope.showCheck = function () {
40
-            $state.go('app.basic.device.checkAdd');
40
+            $state.go('app.business.device.checkAdd');
41 41
         }
42 42
 
43 43
         // 翻页
@@ -59,7 +59,7 @@ angular.module('app.business')
59 59
 
60 60
         //修改
61 61
         $scope.loadDataById = function (checkNumber, type) {
62
-            $state.go("app.basic.device.checkEdit", {checkNumber: checkNumber, isNotEdit: type});
62
+            $state.go("app.business.device.checkEdit", {checkNumber: checkNumber, isNotEdit: type});
63 63
         }
64 64
 
65 65
         // 翻页
@@ -133,7 +133,7 @@ angular.module('app.business')
133 133
         }
134 134
 
135 135
         $scope.back = function () {
136
-            $state.go("app.basic.device.deviceCheckList");
136
+            $state.go("app.business.device.deviceCheckList");
137 137
         }
138 138
         var validator = $("#deviceCheck-form").validate();
139 139
         $scope.pd = {};
@@ -166,7 +166,7 @@ angular.module('app.business')
166 166
                 }).then(function successCallback(response) {
167 167
                     if (response.data.status == "success") {
168 168
                         alert("保存成功!");
169
-                        $state.go('app.basic.device.deviceCheckList');
169
+                        $state.go('app.business.device.deviceCheckList');
170 170
                     } else {
171 171
                         alert("保存失败!");
172 172
                     }
@@ -233,7 +233,7 @@ angular.module('app.business')
233 233
             if (type == 1) return years + "-" + month + "-" + strDate + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
234 234
         };
235 235
         $scope.back = function () {
236
-            $state.go("app.basic.device.deviceCheckList");
236
+            $state.go("app.business.device.deviceCheckList");
237 237
         }
238 238
 
239 239
         $scope.deviceCheck = {};
@@ -293,7 +293,7 @@ angular.module('app.business')
293 293
             }).then(function successCallback(response) {
294 294
                 if (response.data.status == "success") {
295 295
                     alert("保存成功!");
296
-                    $state.go('app.basic.device.deviceCheckList');
296
+                    $state.go('app.business.device.deviceCheckList');
297 297
                 } else {
298 298
                     alert("保存失败!");
299 299
                 }

+ 5 - 5
src/main/resources/static/app/business/device/controller/deviceGetCtrl.js

@@ -174,18 +174,18 @@ angular.module('app.business')
174 174
 
175 175
         //领取
176 176
         $scope.showGet = function () {
177
-            $state.go('app.basic.device.deviceGetAdd');
177
+            $state.go('app.business.device.deviceGetAdd');
178 178
         }
179 179
 
180 180
 
181 181
         //归还
182 182
         $scope.showGetBack = function (id, getCount) {
183
-            $state.go('app.basic.device.deviceGetBack', {id: id, getCount: getCount});
183
+            $state.go('app.business.device.deviceGetBack', {id: id, getCount: getCount});
184 184
         }
185 185
 
186 186
         //查看
187 187
         $scope.showMassage = function (id) {
188
-            $state.go('app.basic.device.deviceChack', {id: id});
188
+            $state.go('app.business.device.deviceChack', {id: id});
189 189
         }
190 190
 
191 191
         // 翻页
@@ -230,7 +230,7 @@ angular.module('app.business')
230 230
                 }).then(function successCallback(response) {
231 231
                     if (response.data.status == "success") {
232 232
                         alert("保存成功!");
233
-                        $state.go('app.basic.device.deviceGetList');
233
+                        $state.go('app.business.device.deviceGetList');
234 234
                     } else {
235 235
                         alert(response.data.msg);
236 236
                     }
@@ -322,7 +322,7 @@ angular.module('app.business')
322 322
                 }).then(function successCallback(response) {
323 323
                     if (response.data.status == "success") {
324 324
                         alert("归还成功!");
325
-                        $state.go('app.basic.device.deviceGetList');
325
+                        $state.go('app.business.device.deviceGetList');
326 326
                     } else {
327 327
                         alert(response.data.msg);
328 328
                     }

+ 4 - 4
src/main/resources/static/app/business/device/controller/deviceInputCtrl.js

@@ -32,7 +32,7 @@ angular.module('app.business')
32 32
 	 $scope.loadData();
33 33
 	 //新增
34 34
 	 $scope.showAddInput = function () {
35
-		 $state.go('app.basic.device.deviceInputAdd',{id:0,isNotEdit:false});
35
+		 $state.go('app.business.device.deviceInputAdd',{id:0,isNotEdit:false});
36 36
 	 }
37 37
 
38 38
 
@@ -57,12 +57,12 @@ angular.module('app.business')
57 57
 	
58 58
 	// 查看页面
59 59
     $scope.showViewInput = function(id) {
60
-    	$state.go('app.basic.device.inputEdit',{id:id,isNotEdit:true});
60
+    	$state.go('app.business.device.inputEdit',{id:id,isNotEdit:true});
61 61
     }
62 62
     
63 63
     //修改页面
64 64
     $scope.showEditInput = function(id) {
65
-    	$state.go('app.basic.device.inputEdit',{id:id,isNotEdit:false});
65
+    	$state.go('app.business.device.inputEdit',{id:id,isNotEdit:false});
66 66
     }
67 67
 
68 68
     //树形下拉框获取器材设备名称
@@ -182,7 +182,7 @@ angular.module('app.business')
182 182
    			}).then(function successCallback(response) {
183 183
    				if(response.data.status == "success"){
184 184
    					alert("保存成功!");
185
-   					$state.go('app.basic.device.deviceInputList');
185
+   					$state.go('app.business.device.deviceInputList');
186 186
    				}else{
187 187
    					alert(response.data.msg);
188 188
    					$scope.saveFlag = false;

+ 3 - 3
src/main/resources/static/app/business/device/controller/deviceKeepCtrl.js

@@ -34,12 +34,12 @@ angular.module('app.business')
34 34
 
35 35
         //新增
36 36
         $scope.showKeep = function () {
37
-            $state.go('app.basic.device.manage.deviceKeepAdd');
37
+            $state.go('app.business.device.manage.deviceKeepAdd');
38 38
         }
39 39
 
40 40
         //展示保养信息
41 41
         $scope.showKeepMassage = function (id) {
42
-            $state.go('app.basic.device.manage.deviceKeepMassage', {id: id});
42
+            $state.go('app.business.device.manage.deviceKeepMassage', {id: id});
43 43
         }
44 44
 
45 45
 
@@ -137,7 +137,7 @@ angular.module('app.business')
137 137
                 }).then(function successCallback(response) {
138 138
                     if (response.data.status == "success") {
139 139
                         alert("保存成功!");
140
-                        $state.go('app.basic.device.manage.deviceKeepList');
140
+                        $state.go('app.business.device.manage.deviceKeepList');
141 141
                     } else {
142 142
                         alert("保存失败!");
143 143
                     }

+ 3 - 3
src/main/resources/static/app/business/device/controller/deviceRepairCtrl.js

@@ -34,12 +34,12 @@ angular.module('app.business')
34 34
     
35 35
 	 //添加维护信息页面
36 36
 	 $scope.showRepair = function () {
37
-	   $state.go('app.basic.device.manage.devicerepairAdd');
37
+	   $state.go('app.business.device.manage.devicerepairAdd');
38 38
 	 }
39 39
 	 
40 40
 	 //维护信息详情
41 41
 	 $scope.showRepairMassage = function (id) {
42
-		 $state.go('app.basic.device.manage.deviceRepairMassage',{id:id,isNotEdit:false});
42
+		 $state.go('app.business.device.manage.deviceRepairMassage',{id:id,isNotEdit:false});
43 43
 	 }
44 44
 
45 45
     	
@@ -205,7 +205,7 @@ angular.module('app.business')
205 205
                     }).then(function successCallback(response) {
206 206
                         if (response.data.status == "success") {
207 207
                             alert("保存成功!");
208
-                            $state.go('app.basic.device.manage.deviceRepairList');
208
+                            $state.go('app.business.device.manage.deviceRepairList');
209 209
                         } else {
210 210
                             alert("保存失败!");
211 211
                         }

+ 4 - 4
src/main/resources/static/app/business/device/controller/deviceStorageCtrl.js

@@ -31,17 +31,17 @@ angular.module('app.business').controller("deviceStorageCtrl", function ($scope,
31 31
 
32 32
     // 新增页面
33 33
     $scope.showAdd = function () {
34
-        $state.go('app.basic.device.deviceStorageList.edit', { id: '0', isNotEdit: false });
34
+        $state.go('app.business.device.deviceStorageList.edit', { id: '0', isNotEdit: false });
35 35
     };
36 36
     // 修改页面
37 37
     $scope.showEdit = function (dSbxxsjy) {
38 38
         dSbxxsjy.ssfl.toString();
39
-        $state.go("app.basic.device.deviceStorageList.edit", { id: angular.toJson(dSbxxsjy), isNotEdit: false });
39
+        $state.go("app.business.device.deviceStorageList.edit", { id: angular.toJson(dSbxxsjy), isNotEdit: false });
40 40
     };
41 41
     // 查看页面
42 42
     $scope.showView = function (dSbxxsjy) {
43 43
         dSbxxsjy.ssfl.toString();
44
-        $state.go("app.basic.device.deviceStorageList.edit", { id: angular.toJson(dSbxxsjy), isNotEdit: true });
44
+        $state.go("app.business.device.deviceStorageList.edit", { id: angular.toJson(dSbxxsjy), isNotEdit: true });
45 45
     };
46 46
     // 删除一条记录.
47 47
     $scope.delete = function (id) {
@@ -251,7 +251,7 @@ angular.module('app.business').controller("deviceStorageCtrl", function ($scope,
251 251
         if ($rootScope.previousState_name != '') {
252 252
             $rootScope.back();
253 253
         } else {
254
-            $state.go("app.basic.device.deviceStorageList");
254
+            $state.go("app.business.device.deviceStorageList");
255 255
         }
256 256
     };
257 257
 

+ 10 - 8
src/main/resources/static/app/business/device/views/deviceStorage-edit.html

@@ -117,18 +117,20 @@
117 117
                                             <section class="col col-3">
118 118
                                                 <label class="label">生产日期:<span style="color: red;">*</span></label>
119 119
                                                 <label class="input">
120
-                                                    <input type="text" ng-model="dSbxxsjy.scrq" name="scrq" class="Wdate" id="disablescrq"
121
-                                                           ng-readonly="true" ng-disabled="isNotEdit" required onClick="WdatePicker({lang:'zh-cn'})">
120
+                                                    <input type="text" ng-model="dSbxxsjy.scrq" name="scrq" id="disablescrq"
121
+                                                           ng-disabled="isNotEdit" required onClick="WdatePicker({lang:'zh-cn'})">
122 122
                                                 </label>
123 123
                                             </section>
124 124
                                         </div>
125 125
 
126 126
                                         <div class="row">
127 127
                                             <section class="col col-3">
128
-                                                <label class="label">入库日期:</label>
128
+                                                <label class="label">入库日期:<span style="color: red;">*</span></label>
129 129
                                                 <label class="input">
130
-                                                    <input type="text" ng-model="dSbxxsjy.rkrq" name="rkrq" class="Wdate" id="disablerkrq"
131
-                                                           ng-readonly="true" ng-disabled="isNotEdit" required onClick="WdatePicker({lang:'zh-cn'})">
130
+                                                    <input type="text" ng-model="dSbxxsjy.rkrq" name="rkrq" onClick="WdatePicker({lang:'zh-cn'})" ng-disabled="isNotEdit"
131
+														    id="disablerkrq" required />
132
+                                                    <!-- <input type="text" ng-model="dSbxxsjy.rkrq" name="rkrq" class="Wdate" id="disablerkrq"
133
+                                                           ng-readonly="true" ng-disabled="isNotEdit" required onClick="WdatePicker({lang:'zh-cn'})" /> -->
132 134
                                                 </label>
133 135
                                             </section>
134 136
                                             <section class="col col-3">
@@ -267,10 +269,10 @@
267 269
                                         </div>
268 270
                                         <div class="row">
269 271
                                             <section class="col col-3">
270
-                                                <label class="label">入库日期:</label>
272
+                                                <label class="label">入库日期:<span style="color: red;">*</span></label>
271 273
                                                 <label class="input">
272
-                                                    <input type="text" ng-model="dSbxxsjy.rkrq" name="rkrq" class="Wdate" id="disableQcrkrq"
273
-                                                           ng-readonly="true" ng-disabled="isNotEdit" required onClick="WdatePicker({lang:'zh-cn'})">
274
+                                                    <input type="text" ng-model="dSbxxsjy.rkrq" name="rkrq" onClick="WdatePicker({lang:'zh-cn'})" ng-disabled="isNotEdit"
275
+														    id="disableQcrkrq" required />
274 276
                                                 </label>
275 277
                                             </section>
276 278
                                             <section class="col col-3">

+ 4 - 4
src/main/resources/static/app/business/facility/controller/facilityGetListCtrl.js

@@ -17,7 +17,7 @@ angular.module('app.business')
17 17
 	 $scope.loadData();
18 18
 	 //新增
19 19
 	 $scope.showAddInput = function () {
20
-		 $state.go('app.basic.facility.addFacilityGet',{isNotEdit:false});
20
+		 $state.go('app.business.facility.addFacilityGet',{isNotEdit:false});
21 21
 	 }
22 22
 
23 23
 
@@ -42,12 +42,12 @@ angular.module('app.business')
42 42
 	
43 43
 	// 查看页面
44 44
     $scope.viewFacility = function(facility) {
45
-    	$state.go('app.basic.facility.addFacilityGet',{facility:angular.toJson(facility),isNotEdit:true});
45
+    	$state.go('app.business.facility.addFacilityGet',{facility:angular.toJson(facility),isNotEdit:true});
46 46
     }
47 47
     
48 48
     //修改页面
49 49
     $scope.editFacility = function(facility) {
50
-    	$state.go('app.basic.facility.addFacilityGet',{facility:angular.toJson(facility),isNotEdit:false});
50
+    	$state.go('app.business.facility.addFacilityGet',{facility:angular.toJson(facility),isNotEdit:false});
51 51
     }
52 52
 
53 53
     // //树形下拉框获取器材设备名称
@@ -176,7 +176,7 @@ angular.module('app.business')
176 176
                 FacilityGetService.savaFacility({dFacilitiesRepairJson : angular.toJson(params)}).then(function (response) {
177 177
                     if(response.status == "success"){
178 178
                         alert("保存成功!");
179
-                        $state.go('app.basic.facility.facilityGetList');
179
+                        $state.go('app.business.facility.facilityGetList');
180 180
                     }else{
181 181
                         alert(response.msg);
182 182
                         $scope.saveFlag = false;

+ 4 - 4
src/main/resources/static/app/business/facility/controller/facilityKeepListCtrl.js

@@ -17,7 +17,7 @@ angular.module('app.business')
17 17
 	 $scope.loadData();
18 18
 	 //新增
19 19
 	 $scope.showAddInput = function () {
20
-		 $state.go('app.basic.facility.addFacilityKeep',{isNotEdit:false});
20
+		 $state.go('app.business.facility.addFacilityKeep',{isNotEdit:false});
21 21
 	 }
22 22
 
23 23
 
@@ -42,12 +42,12 @@ angular.module('app.business')
42 42
 	
43 43
 	// 查看页面
44 44
     $scope.viewFacility = function(facility) {
45
-    	$state.go('app.basic.facility.addFacilityKeep',{facility:angular.toJson(facility),isNotEdit:true});
45
+    	$state.go('app.business.facility.addFacilityKeep',{facility:angular.toJson(facility),isNotEdit:true});
46 46
     }
47 47
     
48 48
     //修改页面
49 49
     $scope.editFacility = function(facility) {
50
-    	$state.go('app.basic.facility.addFacilityKeep',{facility:angular.toJson(facility),isNotEdit:false});
50
+    	$state.go('app.business.facility.addFacilityKeep',{facility:angular.toJson(facility),isNotEdit:false});
51 51
     }
52 52
 
53 53
     // //树形下拉框获取器材设备名称
@@ -172,7 +172,7 @@ angular.module('app.business')
172 172
                 facilityKeepService.savaFacility({dFacilitiesMaintainJson : angular.toJson(params)}).then(function (response) {
173 173
                     if(response.status == "success"){
174 174
                         alert("保存成功!");
175
-                        $state.go('app.basic.facility.facilityKeepList');
175
+                        $state.go('app.business.facility.facilityKeepList');
176 176
                     }else{
177 177
                         alert(response.msg);
178 178
                         $scope.saveFlag = false;

+ 4 - 4
src/main/resources/static/app/business/facility/controller/facilityListCtrl.js

@@ -18,7 +18,7 @@ angular.module('app.business')
18 18
 	 $scope.loadData();
19 19
 	 //新增
20 20
 	 $scope.showAddInput = function () {
21
-		 $state.go('app.basic.facility.addFacility',{isNotEdit:false});
21
+		 $state.go('app.business.facility.addFacility',{isNotEdit:false});
22 22
 	 }
23 23
 
24 24
 
@@ -43,12 +43,12 @@ angular.module('app.business')
43 43
 	
44 44
 	// 查看页面
45 45
     $scope.viewFacility = function(facility) {
46
-    	$state.go('app.basic.facility.addFacility',{facility:angular.toJson(facility),isNotEdit:true});
46
+    	$state.go('app.business.facility.addFacility',{facility:angular.toJson(facility),isNotEdit:true});
47 47
     }
48 48
     
49 49
     //修改页面
50 50
     $scope.editFacility = function(facility) {
51
-    	$state.go('app.basic.facility.addFacility',{facility:angular.toJson(facility),isNotEdit:false});
51
+    	$state.go('app.business.facility.addFacility',{facility:angular.toJson(facility),isNotEdit:false});
52 52
     }
53 53
 
54 54
     // 报废
@@ -174,7 +174,7 @@ angular.module('app.business')
174 174
                 facilityListService.savaFacility({dFacilitiesBasicsJson : angular.toJson(params)}).then(function (response) {
175 175
                     if(response.status == "success"){
176 176
                         alert("保存成功!");
177
-                        $state.go('app.basic.facility.facilityStorageList');
177
+                        $state.go('app.business.facility.facilityStorageList');
178 178
                     }else{
179 179
                         alert(response.msg);
180 180
                     }

+ 2 - 2
src/main/resources/static/app/business/index/views/business-index.html

@@ -70,12 +70,12 @@
70 70
 			$("a[data-ui-sref='app.business.plan-schedule']").click();
71 71
 		});
72 72
 		$("#customer").click(function(){
73
-			$("a[data-ui-sref='app.basic.customer.list']").parents('li').each(function () {
73
+			$("a[data-ui-sref='app.business.customer.list']").parents('li').each(function () {
74 74
 				if($(this).attr("ng-show") == null && !$(this).hasClass('open')){//非顶级且当前不是打开的
75 75
 	                $(this).find("a:first").click();
76 76
 				}
77 77
             });
78
-			$("a[data-ui-sref='app.basic.customer.list']").click();
78
+			$("a[data-ui-sref='app.business.customer.list']").click();
79 79
 		});
80 80
 		setTimeout(function(){
81 81
 			var receiveNotice = $("#images")[0].width*0.35936+","+$("#images")[0].height*0.49819+",50";

+ 276 - 45
src/main/resources/static/app/business/jsgl/controller/jsglCtrl.js

@@ -4,15 +4,18 @@ angular.module('app.business')
4 4
     .controller("jsglCtrl", function($scope, $http, $state, $rootScope, jsglService, warehouseService, $stateParams, APP_CONFIG) {
5 5
     // 获取列表数据
6 6
     $scope.jslx = $stateParams.jslx;
7
-	if ($scope.jslx == "0") {
7
+    $scope.ywlx = $stateParams.ywlx;
8
+	if ($scope.jslx == "0" && $scope.ywlx == '1') {
8 9
     	$scope.top_title = "入库结算列表";
9
-    } else if ($scope.jslx == "1") {
10
+    } else if ($scope.jslx == "1" && $scope.ywlx == '1') {
10 11
     	$scope.top_title = "出库结算列表";
12
+    } else {
13
+    	$scope.top_title = "散粮入库结算列表";
11 14
     }
12 15
      $scope.pageInfo = {pageNum : 1, pageSize : 10};
13
-     $scope.search = {houseId:null, wareId: null};
16
+     $scope.search = {houseId:null, wareId: null, ywlx: $scope.ywlx};
14 17
 	 $scope.loadData = function() {
15
-		 jsglService.getPageInfoDevice($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, $stateParams.jslx, $scope.search).then(function(data){
18
+		 jsglService.getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, $stateParams.jslx, $scope.search).then(function(data){
16 19
 			 $scope.pageInfo = data;
17 20
 	     },function(data){
18 21
 	         console.log(data);
@@ -44,7 +47,11 @@ angular.module('app.business')
44 47
 	 * jslx: 0是入库,1是出库
45 48
 	 */
46 49
     $scope.edit = function(id, butType) {
47
-    	$state.go('app.business.rkjslist.edit',{id:id, butType:butType, jslx: $stateParams.jslx});
50
+    	if ($scope.ywlx == "0") {
51
+    		$state.go('app.business.rkjs-sl-list.edit',{id:id, butType:butType, jslx: $stateParams.jslx});
52
+    	} else {
53
+    		$state.go('app.business.rkjslist.edit',{id:id, butType:butType, jslx: $stateParams.jslx});
54
+    	}
48 55
     }
49 56
 
50 57
     //删除
@@ -60,7 +67,7 @@ angular.module('app.business')
60 67
     }
61 68
 
62 69
 })
63
-.controller("jsglEditCtrl", function($scope, $http, $filter, $state, $rootScope, $stateParams, $uibModal, APP_CONFIG, jsglService, warehouseService, customerService ) {
70
+.controller("jsglEditCtrl", function($scope, $http, $filter, $state, $rootScope, $stateParams, $uibModal, APP_CONFIG, jsglService, warehouseService, customerService, commonUtilService ) {
64 71
     var id = $stateParams.id;
65 72
     var butType = $stateParams.butType;
66 73
     $scope.jslx = $stateParams.jslx;
@@ -110,6 +117,7 @@ angular.module('app.business')
110 117
     	$scope.jsgl.jslx = $scope.jslx;
111 118
     	$scope.jsgl.fpzt = "1"; //发票状态默认1正常
112 119
     	$scope.jsgl.bcjsfs = "1"; //付款方式默认1转账
120
+    	$scope.jsgl.ywlx = "1"; //业务类型是非散粮类型
113 121
     }
114 122
 	
115 123
 	$scope.getReceiveContract = function() {
@@ -208,47 +216,9 @@ angular.module('app.business')
208 216
 		 * 
209 217
 		 */
210 218
 		var bcjsje = $scope.jsgl.bcjssl * 1000 * $scope.jsgl.bcjsdj * 1000 / 1000000;
211
-		$scope.jsgl.bcjsje = $scope.getMath(bcjsje, 2);
219
+		$scope.jsgl.bcjsje = $scope.getMath_N(bcjsje, 2);
212 220
 	}
213 221
 
214
-	//将v四舍五入,且保留n位小数
215
-    $scope.getMath = function(v, n) {
216
-        if (isNaN(v) || v == "") {
217
-        	if (isNaN(n) || v == "") {
218
-        		v = "0.00";
219
-        	} else if (n == 0) {
220
-        		v = "0";
221
-        	} else {
222
-        		v = "";
223
-        		for (var i = 1; i <= n; i++) {
224
-            		if (i == 1) {
225
-            			v = "0.0";
226
-            		} else {
227
-            			v = v+"0";
228
-            		}
229
-            	}
230
-        	}
231
-        } else {
232
-            v = Math.round(v*100)/100;
233
-            v = v.toString();
234
-            var rs = v.indexOf('.');
235
-            if (rs < 0) {
236
-            	if (n > 0) {
237
-            		for (var i = 1; i <= n; i++) {
238
-            			if (i == 1) {
239
-                			v = v+".0";
240
-                		} else {
241
-                			v = v+"0";
242
-                		}
243
-            		}
244
-            	}
245
-            }else{
246
-                while(v.length <= rs + n){v += '0';}
247
-            }
248
-        }
249
-        return v;
250
-    }
251
-	
252 222
 	// 返回.
253 223
     $scope.retList = function () {
254 224
         if ($rootScope.previousState_name != '') {
@@ -307,3 +277,264 @@ angular.module('app.business')
307 277
     	}
308 278
     }
309 279
 })
280
+.controller("jsglSlEditCtrl", function($scope, $http, $filter, $state, $rootScope, $stateParams, $uibModal, APP_CONFIG, jsglService, warehouseService, customerService, commonUtilService ) {
281
+
282
+	var id = $stateParams.id;
283
+    var butType = $stateParams.butType;
284
+    $scope.jslx = $stateParams.jslx;
285
+    if ($scope.jslx == "0") {
286
+    	$scope.top_title = "入库结算详情";
287
+    	
288
+    } else if ($scope.jslx == "1") {
289
+    	$scope.top_title = "出库结算详情";
290
+    }
291
+    var isNotEdit = false;//大多数文本框
292
+    var isEdit = false;//少数要控制的文本框
293
+    $scope.jsgl = {};
294
+
295
+	// 获取列表数据
296
+	$scope.loadData = function() {
297
+		jsglService.findBykey($stateParams.id).then(function(data){
298
+			$scope.jsgl = data;
299
+			$scope.jsgl.orgId = $rootScope.orgInfo.orgId;
300
+			$scope.loadWare($scope.jsgl.houseId);
301
+	    },function(data){
302
+	        console.log(data);
303
+	    });
304
+	}
305
+
306
+	$scope.loadWare = function(houseId) {
307
+		//按照单位获取单位下的仓房信息
308
+		var orgId = $rootScope.orgInfo.orgId;
309
+		warehouseService.getStorehouse(orgId, houseId, "0").then(function(data){
310
+			$scope.warehouseList = data.wareList;  //下拉列表数据
311
+		},function (data) {
312
+			console.log(data);
313
+		});
314
+	}
315
+
316
+	if ("" != id) {
317
+    	if (butType == "show") {//查看
318
+    		$scope.isNotEdit = true;
319
+    		$scope.isEdit = true;
320
+        } else {
321
+        	$scope.isEdit = true;
322
+        }
323
+    	$scope.loadData();
324
+    } else {
325
+    	$scope.jsgl.bcjssj = $filter('date')(new Date(), "yyyy-MM-dd HH:mm:ss");
326
+    	$scope.jsgl.fkdw = $rootScope.orgInfo.orgName;
327
+    	$scope.jsgl.orgId = $rootScope.orgInfo.orgId;
328
+    	$scope.jsgl.jslx = $scope.jslx;
329
+    	$scope.jsgl.fpzt = "1"; //发票状态默认1正常
330
+    	$scope.jsgl.bcjsfs = "1"; //付款方式默认1转账
331
+    	$scope.jsgl.ywlx = "0"; //业务类型是散粮类型
332
+    }
333
+
334
+	//获取储备粮外面的自建通知单列表
335
+	$scope.getDeliveryStorageNotice = function() {
336
+		var params = [];
337
+		if ($scope.jslx == "0") {//入库
338
+			params.billType = "1";//查询入库类型的通知单
339
+		} else if ($scope.jslx == "1") {//出库
340
+			params.billType = "3";
341
+		} else {
342
+			alert("系统异常,请联系管理员!");
343
+			return;
344
+		}
345
+		params.orgId = $scope.jsgl.orgId;
346
+        var uibModalInstance = $uibModal.open({
347
+            size:'lg',
348
+            templateUrl: 'app/business/jsgl/view/tzd-zj-model.html',
349
+            controller: 'tzdZjCtrl',
350
+            resolve: {
351
+                // items是一个回调函数
352
+                items: function () {
353
+                    // 这个值会被模态框的控制器获取到
354
+                    return params;
355
+                }
356
+            }
357
+        });
358
+        uibModalInstance.result.then(function (result) {
359
+            if (result != null) {
360
+                // 获取明细信息.
361
+            	$scope.jsgl.htid = result.id;
362
+           	    $scope.jsgl.htbh = result.billNumber;
363
+           	    $scope.jsgl.htzsl = parseInt(result.shipingCount);
364
+           	    $scope.jsgl.yjssl = result.yjssl;
365
+           	    $scope.jsgl.houseId = result.houseId;
366
+           	    $scope.jsgl.warehouseId = result.warehouseId;
367
+           	    if (result.warehouseId != null) {
368
+           	    	$scope.loadWare(result.houseId);
369
+           	    }
370
+           	    $scope.jsgl.lypz = result.lypz;
371
+           	    $scope.jsgl.mxpz = result.mxpz;
372
+           	    $scope.jsgl.lyxz = result.lyxz;
373
+           	    $scope.jsgl.bcjsdj = result.dj;
374
+           	    //$scope.getCustomer(result.khid);
375
+            }
376
+        }, function (result) {
377
+            console.log(result);
378
+        });
379
+	}
380
+
381
+	// 选择个人客户.
382
+    $scope.getCustomer = function(id) {
383
+        if (id == null) {
384
+        	var params = [];
385
+            params.type = "addBlacklist"; //不是黑名单人员
386
+            params.classify = 3152;
387
+            var uibModalInstance = $uibModal.open({
388
+                size:'lg',
389
+                templateUrl: 'app/business/util/views/customer-list-modal.html',
390
+                controller: 'customerListModalCtrl',
391
+                resolve: {
392
+                    // items是一个回调函数
393
+                    items: function () {
394
+                        // 这个值会被模态框的控制器获取到
395
+                        return params;
396
+                    }
397
+                }
398
+            });
399
+            uibModalInstance.result.then(function (result) {
400
+                if (result != null) {
401
+                    // 客户表id.
402
+                    $scope.jsgl.customerId = result.id;
403
+                    // 收付款人赋值客户姓名.
404
+                    $scope.jsgl.sfkr = result.name;
405
+                    //开户行名称
406
+                    $scope.jsgl.khhmc = result.bankName;
407
+                    //开户行号
408
+                    $scope.jsgl.khhh = result.khhh;
409
+                    //银行账号
410
+                    $scope.jsgl.yhzh = result.accountNumber;
411
+
412
+                    if (result.classify == 3152) {
413
+                        // 个人.
414
+                        //收付款人身份证号
415
+                    	$scope.jsgl.skrsfzh = result.identification;
416
+                    } else if (result.classify == 3153) {
417
+                        // 企业.
418
+                        //收付款人身份证号(社会信用代码)
419
+                    	$scope.jsgl.skrsfzh = result.socialCreditCode;
420
+                    }
421
+                    //付款单位
422
+                    $scope.jsgl.fkdw = $rootScope.orgInfo.orgName;
423
+                }
424
+                // 关闭模态框时刷新页面数据
425
+            }, function (reason) {
426
+                console.log(reason);
427
+            });
428
+        } else {
429
+        	customerService.loadDataById(id).then(function(data){
430
+                // 客户表id.
431
+        		$scope.jsgl.customerId = id;
432
+                // 收付款人姓名.
433
+        		$scope.jsgl.sfkr = data.name;
434
+        		//开户行名称
435
+                $scope.jsgl.khhmc = data.bankName;
436
+                //开户行号
437
+                $scope.jsgl.khhh = data.khhh;
438
+                //银行账号
439
+                $scope.jsgl.yhzh = data.accountNumber;
440
+                if (data.classify == 3152) {
441
+                    // 个人.
442
+                    //身份证号
443
+                	$scope.jsgl.skrsfzh = data.identification;
444
+                } else if (data.classify == 3153) {
445
+                    // 企业.
446
+                    //社会信用代码
447
+                	$scope.jsgl.skrsfzh = data.socialCreditCode;
448
+                }
449
+                //付款单位
450
+                $scope.jsgl.fkdw = $rootScope.orgInfo.orgName;
451
+        	}, function (data) {
452
+				console.log(data);
453
+			});
454
+        }
455
+    }
456
+
457
+    /**
458
+	 * 计算本次结算金额 = 本次结算数量 * 本次结算单价
459
+	 * 保留两位小数
460
+	 */
461
+	$scope.calculate = function() {
462
+		var bcjssl = $scope.jsgl.bcjssl;
463
+		var bcjsdj = $scope.jsgl.bcjsdj;
464
+		var re = /^([0-9]+.[0-9]{3})[0-9]*/;
465
+		if(bcjssl !== undefined && bcjssl !== "" && bcjssl != null) {
466
+			bcjssl = bcjssl.toString().replace(re,"$1");
467
+			bcjssl = parseFloat(bcjssl);
468
+			$scope.jsgl.bcjssl = bcjssl;
469
+		} else {
470
+			return;
471
+		}
472
+		if(bcjsdj !== undefined && bcjsdj !== "" && bcjsdj != null) {
473
+			bcjsdj = bcjsdj.toString().replace(re,"$1");
474
+			bcjsdj = parseFloat(bcjsdj);
475
+			$scope.jsgl.bcjsdj = bcjsdj;
476
+		} else {
477
+			return;
478
+		}
479
+
480
+		/**
481
+		 * 
482
+		 */
483
+		var bcjsje = $scope.jsgl.bcjssl * 1000 * $scope.jsgl.bcjsdj * 1000 / 1000000;
484
+		$scope.jsgl.bcjsje = commonUtilService.getMath(bcjsje);
485
+	}
486
+	
487
+	// 返回.
488
+    $scope.retList = function () {
489
+        if ($rootScope.previousState_name != '') {
490
+        	$rootScope.back();
491
+        } else {
492
+        	$state.go('app.business.rkjs-sl-list');
493
+        }
494
+    }
495
+    
496
+    
497
+
498
+    //保存(0:保存,1:提交)
499
+    $scope.save = function(czlx) {
500
+    	$scope.jsgl.dataStatus = czlx;
501
+    	var fp_s = $scope.jsgl.fpStart;
502
+    	var fp_e = $scope.jsgl.fpEnd;
503
+    	var fps = $scope.jsgl.fps;
504
+    	if (fp_s == null && fp_e == null && fps == null) {
505
+    		alert("连续发票号和不连续发票号至少要录入一种,不能都为空值!");
506
+    		return;
507
+    	} else {
508
+    		if ((fp_s == null && fp_e != null) || (fp_s != null && fp_e == null)) {
509
+    			alert("连续发票号码不能只录入起始值或只录入终止值!");
510
+    			return;
511
+    		}
512
+    	}
513
+    	$scope.isCustomerEdit = $scope.jsgl.bcjsfs=='0'?false:true
514
+    	if ($scope.jsgl.bcjsfs == '1') {
515
+    		if ($scope.jsgl.yhzh == null || $scope.jsgl.khhmc == null || $scope.jsgl.khhh == null) {
516
+    			alert("请补全对应客户档案信息!");
517
+    			return;
518
+    		}
519
+    	}
520
+    	var validator = $("#jsgl-sl-form").validate();
521
+    	if (validator.form()) {
522
+    		//本次结算时间
523
+            $("input[name='bcjssj']").each(function(j,item){
524
+                if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
525
+                    $scope.jsgl.bcjssj = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
526
+                }
527
+            });
528
+    		jsglService.saveData($scope.jsgl).then(function(data){
529
+    			if (data.status == "200") {
530
+    				alert("操作成功!");
531
+    			} else {
532
+    				alert("操作失败!");
533
+    			}
534
+    			$state.go('app.business.rkjs-sl-list');
535
+    	    },function(data){
536
+    	        console.log(data);
537
+    	    });
538
+    	}
539
+    }
540
+})

+ 73 - 0
src/main/resources/static/app/business/jsgl/controller/tzdZjCtrl.js

@@ -0,0 +1,73 @@
1
+angular.module('app.business').controller("tzdZjCtrl", 
2
+	function($scope, $uibModalInstance, $filter, $http, $uibModal,deliveryStorageNoticeService, storeWareDetailService, jsglService, commonUtilService, APP_CONFIG, items) {
3
+
4
+	$scope.pageInfo = {pageNum : 1, pageSize : 10};  
5
+	$scope.searchCondition = {}; //查询入库的
6
+    // 获取列表数据
7
+	
8
+    $scope.loadData = function() {
9
+    	deliveryStorageNoticeService.getPassPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, $scope.searchCondition).then(function(data){
10
+            $scope.pageInfo = data;
11
+        },function(data){
12
+            console.log(data);
13
+        });
14
+    }
15
+
16
+    if (items != undefined && items != null) {
17
+        if (items.billType != undefined && items.billType != null) {
18
+            $scope.searchCondition.billType = items.ywtype;
19
+        }
20
+        if (items.orgId != undefined && items.orgId != null) {
21
+        	$scope.searchCondition.orgId = items.orgId;
22
+        }
23
+    }
24
+
25
+    $scope.loadData();
26
+
27
+    // 翻页
28
+	$scope.goPage = function(pageNum) {
29
+		if ($scope.pageInfo.pageNum != pageNum && pageNum > 0) {  
30
+     		$scope.pageInfo.pageNum = pageNum;
31
+     		$scope.loadData();
32
+     	}
33
+	}
34
+
35
+	$scope.selected = [];
36
+
37
+	// 选择一条数据
38
+	$scope.selectData = function(check) {
39
+		var datas = {billNumber: check.billNumber, shipingCount: check.shipingCount};
40
+		storeWareDetailService.getStoreWareDetailList(check.id, 'notice').then(function(data) {
41
+			datas.houseId = data[0].houseId;
42
+			datas.warehouseId = data[0].warehouseId;
43
+			datas.lypz = data[0].grainKind;
44
+			datas.mxpz = data[0].grainDetailKind;
45
+			datas.lyxz = data[0].grainAttribute;
46
+			datas.dj = data[0].inPrice;
47
+			//查询已结算数量
48
+			var conditions = {htbh:check.billNumber};
49
+			jsglService.getPageInfo(null, null, '0', conditions).then(function(jsdata) {
50
+				var yjssl = 0;
51
+				if (jsdata.list != null) {
52
+					for (var i = 0; i < jsdata.list.length; i++) {
53
+						if (jsdata.list[i].dataStatus=='1') {
54
+							yjssl = commonUtilService.accAdd(yjssl, jsdata.list[i].bcjssl);
55
+						}
56
+					}
57
+				}
58
+				datas.yjssl = yjssl;
59
+				$uibModalInstance.close(datas);
60
+			},function(jsdata){
61
+				console.log(jsdata);
62
+			});
63
+		},function(data){
64
+			console.log(data);
65
+		});
66
+	}
67
+
68
+	// 关闭模态窗口
69
+	$scope.cancel = function() {
70
+		$uibModalInstance.close();
71
+	}
72
+
73
+})

+ 3 - 1
src/main/resources/static/app/business/jsgl/service/jsglService.js

@@ -1,7 +1,7 @@
1 1
 "use strict";
2 2
 angular.module('app.business').service("jsglService", function($http, $q,$rootScope, APP_CONFIG) {
3 3
     // 结算管理:分页查询
4
-    this.getPageInfoDevice = function(pageNum, pageSize, jslx, search){
4
+    this.getPageInfo = function(pageNum, pageSize, jslx, search){
5 5
         var d = $q.defer();
6 6
         $http({
7 7
             method : 'GET',
@@ -12,6 +12,8 @@ angular.module('app.business').service("jsglService", function($http, $q,$rootSc
12 12
                 jslx: jslx,
13 13
                 houseId: search.houseId,
14 14
                 warehouseId : search.wareId,
15
+                ywlx : search.ywlx,
16
+                htbh : search.htbh,
15 17
                 orgId : $rootScope.orgInfo.orgId
16 18
             }
17 19
         }).then(function successCallback(response) {

+ 3 - 3
src/main/resources/static/app/business/jsgl/view/jsgl-list.html

@@ -52,7 +52,7 @@
52 52
                         <thead>
53 53
 	                        <tr>
54 54
 	                            <th data-hide="phone">序号</th>
55
-								<th data-class="expand">合同号</th>
55
+								<th data-class="expand">合同/通知单号</th>
56 56
 								<th data-class="expand">仓房名称</th>
57 57
 								<th data-class="expand">货位名称</th>
58 58
 	                            <th data-class="expand">明细品种</th>
@@ -76,8 +76,8 @@
76 76
 								<td>{{data.bcjsje}}</td>
77 77
 								<td>{{data.bcjssj}}</td>
78 78
 								<td>
79
-									<a href-void ng-click="edit(data.id, 'show')"><i class="fa fa-info-circle"></i>查看</a>&nbsp;&nbsp;
80
-                        			<a href-void ng-click="edit(data.id, 'update')" ng-hide="data.dataStatus=='1'"><i class="fa fa-edit"></i>修改</a>&nbsp;&nbsp;
79
+									<a href-void ng-click="edit(data.id, 'show', data.ywlx)"><i class="fa fa-info-circle"></i>查看</a>&nbsp;&nbsp;
80
+                        			<a href-void ng-click="edit(data.id, 'update', data.ywlx)" ng-hide="data.dataStatus=='1'"><i class="fa fa-edit"></i>修改</a>&nbsp;&nbsp;
81 81
                         			<a href-void ng-click="remove(data.id)" ng-hide="data.dataStatus=='1'"><i class="fa fa-trash-o"></i>删除</a>
82 82
                         		</td>
83 83
                         	</tr>

+ 241 - 0
src/main/resources/static/app/business/jsgl/view/jsgl-sl-edit.html

@@ -0,0 +1,241 @@
1
+<div id="content">
2
+    <section id="widget-grid" widget-grid>
3
+        <div class="row">
4
+            <article class="col-sm-12 col-md-12 col-lg-12">
5
+                <div jarvis-widget id="form-grid-widget"
6
+                    data-widget-colorbutton="false" data-widget-editbutton="false"
7
+                    data-widget-custombutton="false">
8
+                    <div>
9
+                        <div class="widget-body no-padding">
10
+                            <form id="jsgl-sl-form" class="smart-form ng-pristine ng-valid" data-validator-option="validateOptions" novalidate="novalidate">
11
+                                <header>
12
+									<a href-void class="btn btn-default btn-xs" ng-click="retList()">
13
+										<i class="fa fa-angle-left"></i>&nbsp;返回&nbsp;
14
+									</a>
15
+									&nbsp;<strong>散粮入库结算详情</strong>
16
+									<span class="pull-right font-xs">带*的部分必须填写</span>
17
+								</header>
18
+								
19
+								<header><strong>结算信息</strong></header>
20
+                                <fieldset>
21
+                                    <div class="row">
22
+                                        <section class="col col-4">
23
+                                            <label class="label">通知单信息<span style="color: red;">*</span></label>
24
+                                            <label class="input">
25
+                                                <input class="form-control" type="hidden" ng-model="jsgl.htid" name="htid" />
26
+                                             	<input class="form-control" type="text" ng-model="jsgl.htbh" name="htbh" ng-disabled="isEdit" 
27
+                                                ng-click="getDeliveryStorageNotice()" placeholder="请选择出入库通知单" required />
28
+                                         	</label>
29
+                                        </section>
30
+                                        <section class="col col-4">
31
+                                            <label class="label">通知单总数量(吨)</label> 
32
+                                            <label class="input"> 
33
+                                                <input class="form-control" type="text" ng-model="jsgl.htzsl" ng-readonly="true"
34
+                                                name="htzsl" placeholder="" />
35
+                                            </label>
36
+                                        </section>
37
+                                    	<section class="col col-4">
38
+                                            <label class="label">已结算数量(吨)<span style="color: red;">不含本次</span></label> 
39
+                                            <label class="input"> 
40
+                                                <input class="form-control" type="text" ng-model="jsgl.yjssl" ng-readonly="true"
41
+                                                name="yjssl" placeholder="" />
42
+                                            </label>
43
+                                        </section>
44
+                                    </div>
45
+                                    <div class="row">
46
+                                        <section class="col col-4">
47
+                                            <label class="label">仓房名称<span style="color: red;">*</span></label> 
48
+                                            <label class="select"> 
49
+                                            	<select ng-model="jsgl.houseId" name="houseId" ng-options="store.storehouseId as store.storehouseName for store in store_tank_list" 
50
+                                            	ng-change="loadWare(jsgl.houseId)" required ng-disabled="true">
51
+                                             		<option value="">--请选择--</option><i></i>
52
+                                             	</select><i></i>
53
+                                         	</label>
54
+                                        </section>
55
+										<section class="col col-4">
56
+                                            <label class="label">货位名称<span style="color: red;">*</span></label>
57
+                                            <label class="select"> 
58
+                                            	<select ng-model="jsgl.warehouseId" ng-disabled="true" name="warehouseId"
59
+                                             	ng-options="ware.warehouseId as ware.warehouseName for ware in warehouseList" required>
60
+                                             		<option value="">--请选择--</option><i></i>
61
+                                             	</select><i></i>
62
+                                         	</label>
63
+                                        </section>
64
+                                        <section class="col col-4">
65
+                                            <label class="label">粮油品种<span style="color: red;">*</span></label>
66
+                                            <label class="select"> 
67
+                                            	<select ng-model="jsgl.lypz" ng-disabled="true" name="lypz" ng-change="getMxpz()"
68
+                                             	ng-options="enum.enumid as enum.enumname for enum in dicDataList[1061]" required >
69
+                                             		<option value="">--请选择--</option><i></i>
70
+                                             	</select><i></i>
71
+                                         	</label>
72
+                                        </section>
73
+                                    </div>
74
+                                    <div class="row">
75
+                                        <section class="col col-4">
76
+                                            <label class="label">明细品种<span style="color: red;">*</span></label> 
77
+                                            <label class="input">
78
+												<input class="form-control" type="text" ng-model="dicData[jsgl.mxpz]" ng-readonly="true"
79
+                                                name="yjssl" placeholder="" />
80
+                                                <input class="form-control" type="hidden" ng-model="jsgl.mxpz" ng-hide="true"
81
+                                                name="mxpz" placeholder="" />
82
+											</label>
83
+                                        </section>
84
+										<section class="col col-4">
85
+                                            <label class="label">粮油性质<span style="color: red;">*</span></label>
86
+                                            <label class="input">
87
+												<input class="form-control" type="text" ng-model="dicData[jsgl.lyxz]" ng-readonly="true"
88
+                                                name="yjssl" placeholder="" />
89
+                                                <input class="form-control" type="hidden" ng-model="jsgl.lyxz" ng-hide="true"
90
+                                                name="mxpz" placeholder="" />
91
+											</label>
92
+                                        </section>
93
+                                        <section class="col col-4">
94
+                                            <label class="label">本次结算数量(吨)<span style="color: red;">*</span></label>
95
+                                            <label class="input"> 
96
+                                                <input class="form-control" type="text" ng-model="jsgl.bcjssl" ng-readonly="isNotEdit" ng-blur="calculate()"
97
+                                                name="yjssl" placeholder="" onkeyup="this.value=this.value.match(/\d+(\.\d{0,3})?/) ? this.value.match(/\d+(\.\d{0,3})?/)[0] : '' " required />
98
+                                            </label>
99
+                                        </section>
100
+                                    </div>
101
+                                    <div class="row">
102
+                                        <section class="col col-4">
103
+                                            <label class="label">本次结算单价(元/吨)<span style="color: red;">*</span></label>
104
+                                            <label class="input"> 
105
+                                            	<input class="form-control" type="text" ng-model="jsgl.bcjsdj" ng-readonly="isNotEdit" ng-blur="calculate()"
106
+                                                name="bcjsdj" placeholder="" onkeyup="this.value=this.value.match(/\d+(\.\d{0,3})?/) ? this.value.match(/\d+(\.\d{0,3})?/)[0] : '' " required />
107
+                                            </label>
108
+                                         	</label>
109
+                                        </section>
110
+                                        <section class="col col-4">
111
+                                            <label class="label">本次结算金额(元)<span style="color: red;">*</span></label> 
112
+                                            <label class="input"> 
113
+                                                <input class="form-control" type="text" ng-model="jsgl.bcjsje" ng-readonly="isNotEdit"
114
+                                                name="bcjsje" placeholder="" required />
115
+                                            </label>
116
+                                        </section>
117
+                                    	<section class="col col-4">
118
+                                            <label class="label">本次结算时间<span style="color: red;">*</span></label> 
119
+                                            <label class="input"> 
120
+                                                <input type="text" ng-model="jsgl.bcjssj" ng-disabled="isNotEdit" required
121
+                                                name="bcjssj" placeholder="" onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
122
+                                            </label>
123
+                                        </section>
124
+                                    </div>
125
+                                    <div class="row">
126
+                                        <section class="col col-4">
127
+                                            <label class="label">本次结算方式<span style="color: red;">*</span></label>
128
+                                            <label class="select"> 
129
+                                            	<select ng-model="jsgl.bcjsfs" ng-disabled="isNotEdit" name="bcjsfs" required >
130
+                                             		<option value="">--请选择--</option>
131
+                                             		<option value="0">现金</option>
132
+                                             		<option value="1">转账</option>
133
+                                             	</select>
134
+                                         	</label>
135
+                                        </section>
136
+                                    </div>
137
+                                </fieldset>
138
+                                <header><strong>发票信息</strong></header>
139
+                                <fieldset>
140
+                                    <div class="row">
141
+                                        <section class="col col-12">
142
+                                            <label class="label">连续发票号码填写</label>
143
+                                            <label class="input"> 
144
+                                            	<div>
145
+                                            	<table border="0">
146
+                                            	    <tr>
147
+                                            	        <td>
148
+                                            	             <input type="text" ng-model="jsgl.fpStart" ng-readonly="isNotEdit" name="fpStart" placeholder="" />
149
+                                            	        </td>
150
+                                            	        <td><span>&nbsp;——&nbsp;</span></td>
151
+                                            	        <td>
152
+                                            	             <input type="text" ng-model="jsgl.fpEnd" ng-readonly="isNotEdit" name="fpEnd" />
153
+                                            	        </td>
154
+                                            	        <td><span style="color: red;">&nbsp;&nbsp;&nbsp;&nbsp;说明:连续发票号码,请填写第一张和最后一张即可</span></td>
155
+                                            	    </tr>
156
+                                            	</table>
157
+                                            	</div>
158
+                                            </label>
159
+                                        </section>
160
+                                    </div>
161
+                                    <section>
162
+                                        <label class="label">不连续发票号码填写</label>
163
+                                        <label class="textarea textarea-resizable"> 
164
+                                          <textarea
165
+                                            rows="5" ng-model="jsgl.fps" name="fps" ng-disabled="isNotEdit" class="custom-scroll"
166
+                                            placeholder="多个发票号码填写,请用英文逗号进行间隔。例如:1234567890,123456788">
167
+                                          </textarea>
168
+                                        </label>
169
+                                    </section>
170
+                                    <div class="row">
171
+                                        <section class="col col-4">
172
+                                        <label class="label">发票状态</label>
173
+                                        <label class="select"> 
174
+                                        	<select ng-model="jsgl.fpzt" ng-disabled="isNotEdit" name="fpzt">
175
+                                         		<option value="1">正常</option>
176
+                                         		<option value="0">作废</option>
177
+                                         	</select>
178
+                                     	</label>
179
+                                    </section>
180
+                                    </div>
181
+                                </fieldset>
182
+                                <header><strong>收/付款信息</strong></header>
183
+                                <fieldset>
184
+                                    <div class="row">
185
+                                        <section class="col col-4">
186
+                                            <label class="label">收/付款人<span style="color: red;">*</span></label>
187
+                                            <label class="input"> 
188
+                                                <input class="form-control" type="text" ng-model="jsgl.sfkr" name="sfkr" ng-disabled="isNotEdit" 
189
+                                                ng-click="getCustomer()" placeholder="请选择客户" required />
190
+                                            </label>
191
+                                        </section>
192
+                                        <section class="col col-4">
193
+                                            <label class="label">开户行名称<span style="color: red;">*</span></label>
194
+                                            <label class="input"> 
195
+                                                <input class="form-control" type="text" ng-model="dicData[jsgl.khhmc]" ng-readonly="true" name="khhmc" placeholder="" ng-required="isCustomerEdit" />
196
+                                            </label>
197
+                                        </section>
198
+                                        <section class="col col-4">
199
+                                            <label class="label">开户行号<span style="color: red;">*</span></label>
200
+                                            <label class="input"> 
201
+                                                <input type="text" ng-model="jsgl.khhh" ng-readonly="true" ng-required="isCustomerEdit" name="khhh" placeholder="" />
202
+                                            </label>
203
+                                        </section>
204
+                                    </div>
205
+                                    <div class="row">
206
+                                        <section class="col col-4">
207
+                                            <label class="label">银行账号<span style="color: red;">*</span></label>
208
+                                            <label class="input"> 
209
+                                                <input class="form-control" type="text" ng-model="jsgl.yhzh" ng-readonly="true" name="yhzh" placeholder="" ng-required="isCustomerEdit" />
210
+                                            </label>
211
+                                        </section>
212
+                                        <section class="col col-4" ng-hide="jslx=='1'">
213
+                                            <label class="label">收款人身份证号</label>
214
+                                            <label class="input"> 
215
+                                                <input class="form-control" type="text" ng-model="jsgl.skrsfzh" ng-readonly="true" name="skrsfzh" placeholder="" />
216
+                                            </label>
217
+                                        </section>
218
+                                        <section class="col col-4" ng-hide="jslx=='1'">
219
+                                            <label class="label">付款单位<span style="color: red;">*</span></label>
220
+                                            <label class="input"> 
221
+                                                <input type="text" ng-model="jsgl.fkdw" name="fkdw" ng-readonly="isNotEdit" required placeholder="" />
222
+                                            </label>
223
+                                        </section>
224
+                                    </div>
225
+                                </fieldset>
226
+
227
+                                <div>
228
+                                    <footer class="text-align-center">
229
+                                        <button type="button" class="btn btn-default" ng-click="retList()">取消</button>
230
+                                        <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save('1')">提交</button>
231
+                                        <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save('0')">保存</button>
232
+                                    </footer>
233
+                                </div>
234
+                            </form>
235
+                        </div>
236
+                    </div>
237
+                </div>
238
+            </article>
239
+        </div>
240
+    </section>
241
+</div>

+ 95 - 0
src/main/resources/static/app/business/jsgl/view/jsgl-sl-list.html

@@ -0,0 +1,95 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+    <!-- widget grid -->
4
+    <section widget-grid id="widget-grid">
5
+        <div class="row">
6
+            <article class="col-sm-12">
7
+
8
+                <div jarvis-widget id="standard-datatable-widget" data-widget-color="darken" data-widget-editbutton="false">
9
+                    <header>
10
+                        <span class="widget-icon"> <i class="fa fa-table"></i> </span>
11
+                        <h2>散粮入库结算管理</h2>
12
+                    </header>
13
+                    <div>
14
+                        <div class="widget-body no-padding">
15
+                        <div id="DataTables_Table_1_wrapper" class="dataTables_wrapper form-inline no-footer">
16
+							<div class="dt-toolbar">
17
+								<div class="col-xs-12 col-sm-9">
18
+									<div class="form-group">
19
+										<a class="btn btn-primary btn-sm" ng-click="edit()">
20
+											<span class="fa fa-plus"></span>&nbsp;新&nbsp;增
21
+										</a>&emsp;
22
+										<label>
23
+											<select ng-model="search.houseId" class="form-control input-sm" 
24
+												ng-options="store.storehouseId as store.storehouseName for store in store_tank_list" 
25
+												ng-change="loadWare(search.houseId)">
26
+												<option value="">--仓房名称--</option>
27
+											</select>&emsp;
28
+										</label>
29
+										<label>
30
+											<select ng-model="search.wareId" class="form-control input-sm" 
31
+												ng-options="ware.warehouseId as ware.warehouseName for ware in warehouseList">
32
+												<option value="">--货位名称--</option>
33
+											</select>&emsp;
34
+										</label>
35
+										<a class="btn btn-default btn-sm" ng-click="loadData()">
36
+										<i class="fa fa-search"></i>&nbsp;查&nbsp;询</a>
37
+									</div>
38
+								</div>
39
+
40
+								<div class="col-sm-3 col-xs-6 hidden-xs">
41
+									<div class="dataTables_length">
42
+										<label>每页显示 <select ng-model="pageInfo.pageSize" ng-change="loadData()"
43
+															ng-options="num as num for num in [10,25,50,100]"
44
+															class="form-control input-sm"></select> 条
45
+										</label>
46
+									</div>
47
+								</div>
48
+							</div>
49
+
50
+
51
+						<table class="table table-striped table-bordered table-hover" width="100%">
52
+                        <thead>
53
+	                        <tr>
54
+	                            <th data-hide="phone">序号</th>
55
+								<th data-class="expand">合同号</th>
56
+								<th data-class="expand">仓房名称</th>
57
+								<th data-class="expand">货位名称</th>
58
+	                            <th data-class="expand">明细品种</th>
59
+	                            <th data-class="expand">本次结算数量</th>
60
+	                            <th data-hide="expand">本次结算单价</th>
61
+	                            <th data-hide="expand">本次结算金额</th>
62
+	                            <th data-hide="expand">本次结算时间</th>
63
+	                            <th data-hide="phone,tablet"> 操作</th>
64
+	                        </tr>
65
+                        </thead>
66
+                        
67
+                        <tbody>
68
+                        	<tr ng-repeat="data in pageInfo.list">
69
+								<th align="center">{{$index + 1 + (pageInfo.pageNum-1) * pageInfo.pageSize}}</th>
70
+								<td>{{data.htbh}}</td>
71
+								<td>{{storehouseObj[data.houseId].storehouseName}}</td>
72
+								<td>{{wares[data.warehouseId].warehouseName}}</td>
73
+								<td>{{dicData[data.mxpz]}}</td>
74
+								<td>{{data.bcjssl}}</td>
75
+								<td>{{data.bcjsdj}}</td>
76
+								<td>{{data.bcjsje}}</td>
77
+								<td>{{data.bcjssj}}</td>
78
+								<td>
79
+									<a href-void ng-click="edit(data.id, 'show')"><i class="fa fa-info-circle"></i>查看</a>&nbsp;&nbsp;
80
+                        			<a href-void ng-click="edit(data.id, 'update')" ng-hide="data.dataStatus=='1'"><i class="fa fa-edit"></i>修改</a>&nbsp;&nbsp;
81
+                        			<a href-void ng-click="remove(data.id)" ng-hide="data.dataStatus=='1'"><i class="fa fa-trash-o"></i>删除</a>
82
+                        		</td>
83
+                        	</tr>
84
+                        </tbody>
85
+
86
+                        </table>
87
+							<div smart-include="app/layout/partials/page.tpl.html"></div>
88
+						</div>
89
+                    	</div>
90
+                    </div>
91
+                </div>
92
+            </article>
93
+        </div>
94
+    </section>
95
+</div>

+ 53 - 0
src/main/resources/static/app/business/jsgl/view/tzd-zj-model.html

@@ -0,0 +1,53 @@
1
+<div class="modal-content">
2
+    <div class="modal-header">
3
+        <button type="button" class="close" ng-click="cancel()">
4
+            &times;
5
+        </button>
6
+        <h4 class="modal-title" id="myModalLabel">出入库通知单列表</h4>  
7
+    </div>
8
+    <div class="modal-body">
9
+        <div>
10
+            <div class="widget-body no-padding">  
11
+                <div id="DataTables_Table_1_wrapper" class="dataTables_wrapper form-inline no-footer">
12
+                    <table class="table table-striped table-bordered table-hover" width="100%">
13
+                        <thead>
14
+                            <tr>
15
+                                <th> 序号</th>  
16
+	                            <th> 通知单编号</th>
17
+	                            <th> 通知单类型</th>
18
+	                            <th> 合同编号</th>
19
+	                            <th> 计划编号</th>
20
+	                            <th> 客户名称</th>
21
+	                            <th> 计划数量(吨)</th>
22
+	                            <th> 金额(元)</th>
23
+	                            <th> 操作</th>
24
+                            </tr>
25
+                        </thead>
26
+
27
+                        <tbody>
28
+                            <tr ng-repeat="datas in pageInfo.list">
29
+                                <td>{{$index+1}}</td>
30
+		                        <td>{{datas.billNumber}}</td>	
31
+	                            <td>
32
+                                    <div ng-switch="{{datas.billType}}">
33
+                                    	<div ng-switch-when="1">入库</div>
34
+                                    	<div ng-switch-when="3">出库</div>
35
+                                    </div>
36
+                                </td>
37
+                                <td>{{datas.contract}}</td>
38
+								<td>{{datas.planNumber}}</td>
39
+                                <td>{{datas.deliveryCustomer}}</td>
40
+                                <td>{{datas.shipingCount}}</td>
41
+                                <td>{{datas.moneyQuantity}}</td>
42
+                                <td>
43
+                                    <a href-void ng-click="selectData(datas)"><i class="fa fa-edit"></i>选择</a>
44
+                                </td>
45
+                            </tr>
46
+                        </tbody>
47
+                    </table>
48
+                    <div smart-include="app/layout/partials/page.tpl.html"></div>
49
+                </div>
50
+            </div>
51
+        </div>
52
+    </div>
53
+</div>

+ 905 - 6
src/main/resources/static/app/business/module.js

@@ -9,7 +9,7 @@ angular.module('app.business')
9 9
         .state('app.business', {
10 10
             abstract: true,
11 11
             data: {
12
-                title: '粮食购销'
12
+                title: '综合业务管理'
13 13
             }
14 14
         })
15 15
         
@@ -188,8 +188,451 @@ angular.module('app.business')
188 188
         })
189 189
         
190 190
         
191
+        //-----------------------------------------预警管理---------------------------------------
192
+        .state('app.business.warning', {
193
+            abstract: true,
194
+            data: {
195
+                title: '预警报警'
196
+            }
197
+        })
198
+        // 温度报警
199
+        .state('app.business.warning.temperature', {
200
+                url: '/business/warning/temperature',
201
+                data: {
202
+                    title: '温度报警列表'
203
+                },
204
+                views: {
205
+                    "content@app": {
206
+                        controller: 'sptWdbjCtrl',
207
+                        templateUrl: 'app/supervise/views/tempAlarm-list.html'
208
+                    }
209
+                }
210
+            }
211
+        )
212
+		// 湿度报警
213
+        .state('app.business.warning.humidity', {
214
+			url: '/business/warning/humidity',
215
+			data: {
216
+				title: '湿度报警'
217
+			},
218
+			views: {
219
+				"content@app": {
220
+					controller: 'sptSdbjCtrl',
221
+					templateUrl: 'app/supervise/views/humidityWarningThreshold.html'
222
+				}
223
+			}
224
+		})
225
+		// 结露报警
226
+        .state('app.business.warning.dewing', {
227
+			url: '/business/warning/dewing',
228
+			data: {
229
+				title: '结露预警'
230
+			},
231
+			views: {
232
+				"content@app": {
233
+					controller: 'sptJlyjCtrl',
234
+					templateUrl: 'app/supervise/views/dewingAlarm-list.html'
235
+				}
236
+			}
237
+		})
238
+		// 库存超限报警
239
+        .state('app.business.warning.stock', {
240
+			url: '/business/warning/stock/:isShow/:houseId',
241
+			data: {
242
+				title: '库存超限报警'
243
+			},
244
+			params:{
245
+				showType : "WD"
246
+			},
247
+			views: {
248
+				"content@app": {
249
+					controller: 'stockWarningThresholdCtrl',
250
+					templateUrl: 'app/supervise/views/stockWarningThreshold.html'
251
+				}
252
+			}
253
+		})
254
+		//库存空仓报警
255
+		.state('app.business.warning.emptyPoliceList', {
256
+                url: '/business/warning/emptyPolice-list/:id',
257
+                data: {
258
+                    title: '库存空仓报警'
259
+                },
260
+                params:{
261
+                    isNotEdit : true
262
+                },
263
+                views: {
264
+                    "content@app": {
265
+                        controller: 'emptyPoliceCtrl as datatables',
266
+                        templateUrl: 'app/storage/views/numberManage/emptyPolice-list.html'
267
+                    }
268
+                }
269
+            }
270
+        )
271
+        // 设备异常报警
272
+        .state('app.business.warning.AbnormalEquipment', {
273
+                url: '/business/warning/AbnormalEquipment',
274
+                data: {
275
+                    title: '设备异常报警列表'
276
+                },
277
+                views: {
278
+                    "content@app": {
279
+                        controller: 'AbnormalEquipmentCtrl',
280
+                        templateUrl: 'app/intelligent/grainDetection/views/AbnormalEquipment-list.html'
281
+                    }
282
+                }
283
+            }
284
+        )
285
+        .state('app.business.warning.rotation-warning', {
286
+            abstract: true,
287
+            data: {
288
+                title: '轮换预警管理'
289
+            }
290
+        })
291
+        //预警时间
292
+        .state('app.business.warning.rotation-warning.plan-warning-time', {
293
+        	url: '/business/warning/rotation-warning/plan-warning-time',
294
+        	data: {
295
+        		title: '预警时间'
296
+        	},
297
+        	views: {
298
+        		"content@app": {
299
+        			controller: 'planWarningCtrl as datatables',
300
+        			templateUrl: 'app/business/plan/views/plan-warning-time-list.html'
301
+        		}
302
+        	}
303
+        })
304
+        //轮换预警设置
305
+        .state('app.business.warning.rotation-warning.plan-warning-set', {
306
+			url: '/business/warning/rotation-warning/plan-warning-set',
307
+			data: {
308
+				title: '轮换预警设置'
309
+			},
310
+			views: {
311
+				"content@app": {
312
+					controller: 'planWarningCtrl as datatables',
313
+					templateUrl: 'app/business/plan/views/plan-warning-set.html'
314
+				}
315
+			}
316
+		})
317
+		//预警列表
318
+        .state('app.business.warning.rotation-warning.plan-warning-list', {
319
+            url: '/business/warning/rotation-warning/plan-warning-list',
320
+            data: {
321
+                title: '预警列表'
322
+            },
323
+            views: {
324
+                "content@app": {
325
+                    controller: 'planWarningCtrl as datatables',
326
+                    templateUrl: 'app/business/plan/views/plan-warning-list.html'
327
+                }
328
+            }
329
+        })
330
+		// 储存超限报警
331
+        .state('app.business.warning.store', {
332
+			url: '/business/warning/store/:isShow/:houseId',
333
+			data: {
334
+				title: '储存超限报警'
335
+			},
336
+			params:{
337
+				showType : "WD"
338
+			},
339
+			views: {
340
+				"content@app": {
341
+					controller: 'storeWarningThresholdCtrl',
342
+					templateUrl: 'app/supervise/views/storeWarningThreshold.html'
343
+				}
344
+			}
345
+		})
346
+		// 内控预警列表
347
+        .state('app.business.warning.internalControl', {
348
+			url: '/business/warning/internalControl/:isShow/:houseId',
349
+			data: {
350
+				title: '内控预警列表'
351
+			},
352
+			params:{
353
+				showType : "WD"
354
+			},
355
+			views: {
356
+				"content@app": {
357
+					controller: 'internalWarningListCtrl',
358
+					templateUrl: 'app/supervise/views/internalWarningList.html'
359
+				}
360
+			}
361
+		})
362
+		// 违规预警
363
+        .state('app.business.warning.violation', {
364
+			url: '/business/warning/violation',
365
+			data: {
366
+				title: '违规预警'
367
+			},
368
+			params:{
369
+				showType : "WD"
370
+			},
371
+			views: {
372
+				"content@app": {
373
+					controller: 'violationWarningListCtrl',
374
+					templateUrl: 'app/supervise/views/violationWarningList.html'
375
+				}
376
+			}
377
+		})
378
+		// 违规预警详情页
379
+        .state('app.business.warning.violationDetail', {
380
+			url: '/business/warning/violationDetail/:id/:disabled',
381
+			data: {
382
+				title: '违规预警详情'
383
+			},
384
+			params:{
385
+				showType : "WD"
386
+			},
387
+			views: {
388
+				"content@app": {
389
+					controller: 'violationDetailCtrl',
390
+					templateUrl: 'app/supervise/views/violationDetail.html'
391
+				}
392
+			}
393
+		})
394
+
395
+        // 智能分析报警
396
+        .state('app.business.warning.intelligentWarn', {
397
+            url: '/business/warning/intelligentWarn',
398
+            data: {
399
+                title: '智能分析报警'
400
+            },
401
+            views: {
402
+                "content@app": {
403
+                    controller: 'intelligentWarnListCtrl',
404
+                    templateUrl: 'app/business/alarm/views/intelligentWarnList.html'
405
+                }
406
+            }
407
+        })
408
+
409
+        // 摄像头故障数
410
+        .state('app.business.warning.cameraMalfunction', {
411
+            url: '/business/warning/cameraMalfunction',
412
+            data: {
413
+                title: '摄像头故障'
414
+            },
415
+            views: {
416
+                "content@app": {
417
+                    controller: 'sptSxtgzsCtrl',
418
+                    templateUrl: 'app/supervise/views/cameraMalfunction-list.html'
419
+                }
420
+            }
421
+        })
422
+
423
+        // 测温点故障数
424
+        .state('app.business.warning.temperaturefunction', {
425
+            url: '/business/warning/temperaturefunction',
426
+            data: {
427
+                title: '测温点故障'
428
+            },
429
+            views: {
430
+                "content@app": {
431
+                    controller: 'sptCwdgzsCtrl',
432
+                    templateUrl: 'app/supervise/views/temperaturepoint-list.html'
433
+                }
434
+            }
435
+        })
436
+        
437
+        // 检验报告超期预警
438
+        .state('app.business.warning.jybgcqWarning', {
439
+            url: '/business/warning/jybgcqWarning',
440
+            data: {
441
+                title: '检验报告超期预警'
442
+            },
443
+            views: {
444
+                "content@app": {
445
+                    controller: 'sptJybgcqyjCtrl',
446
+                    templateUrl: 'app/supervise/views/jybgdcqyj-list.html'
447
+                }
448
+            }
449
+        })
450
+
451
+        //架空期预警
452
+        .state('app.business.warning.jkqWarning', {
453
+            url: '/business/warning/jkqWarning',
454
+            data: {
455
+                title: '架空期预警'
456
+            },
457
+            views: {
458
+                "content@app": {
459
+                    controller: 'sptJkqyjxxCtrl',
460
+                    templateUrl: 'app/supervise/views/jkqyj-list.html'
461
+                }
462
+            }
463
+        })
464
+
465
+        //转圈粮预警
466
+        .state('app.business.warning.zqlWarning', {
467
+            url: '/business/warning/zqlWarning',
468
+            data: {
469
+                title: '转圈粮预警'
470
+            },
471
+            views: {
472
+                "content@app": {
473
+                    controller: 'sptZqlyjxxCtrl',
474
+                    templateUrl: 'app/supervise/views/zqlyj-list.html'
475
+                }
476
+            }
477
+        })
478
+        /*---------------------------------------财务管理---------------------------------------------*/
479
+        .state('app.business.zcfzb', {
480
+            url: '/business/zcfzb',
481
+            data: {
482
+                title: '资产负债表'
483
+            },
484
+            params:{
485
+                type : 'asset'
486
+            },
487
+            views: {
488
+                "content@app": {
489
+                    controller: 'sptCwglCtrl',
490
+                    templateUrl: 'app/supervise/views/cwgl-list.html'
491
+                }
492
+            }
493
+        })
494
+        
495
+        .state('app.business.zcfzbView', {
496
+            url: '/business/zcfzbView/:id/:type',
497
+            data: {
498
+                title: '资产负债表详情'
499
+            },
500
+            views: {
501
+                "content@app": {
502
+                    controller: 'sptCwglSaveCtrl as datatables',
503
+                    templateUrl: 'app/supervise/views/cwgl-edit.html'
504
+                }
505
+            }
506
+        })
507
+        .state('app.business.xjllb', {
508
+            url: '/business/xjllb',
509
+            data: {
510
+                title: '现金流量表'
511
+            },
512
+            params:{
513
+                type : 'cash'
514
+            },
515
+            views: {
516
+                "content@app": {
517
+                    controller: 'sptCwglCtrl',
518
+                    templateUrl: 'app/supervise/views/cwgl-list.html'
519
+                }
520
+            }
521
+        })
522
+        .state('app.business.xjllbView', {
523
+            url: '/business/xjllbView/:id/:type',
524
+            data: {
525
+                title: '现金流量表详情'
526
+            },
527
+            views: {
528
+                "content@app": {
529
+                    controller: 'sptCwglSaveCtrl as datatables',
530
+                    templateUrl: 'app/supervise/views/cwglxjll-edit.html'
531
+                }
532
+            }
533
+        })
534
+        .state('app.business.lrb', {
535
+            url: '/business/lrb',
536
+            data: {
537
+                title: '利润表'
538
+            },
539
+            params:{
540
+                type : 'profit'
541
+            },
542
+            views: {
543
+                "content@app": {
544
+                    controller: 'sptCwglCtrl',
545
+                    templateUrl: 'app/supervise/views/cwgl-list.html'
546
+                }
547
+            }
548
+        })
549
+        
550
+        .state('app.business.lrbView', {
551
+            url: '/business/lrbView/:id/:type',
552
+            data: {
553
+                title: '利润表详情'
554
+            },
555
+            views: {
556
+                "content@app": {
557
+                    controller: 'sptCwglSaveCtrl as datatables',
558
+                    templateUrl: 'app/supervise/views/cwgllrb-edit.html'
559
+                }
560
+            }
561
+        })
562
+        
563
+        /*----------------------------------------------客户------------------------------------*/
564
+        .state('app.business.customer', {
565
+            abstract: true,
566
+            data: {
567
+                title: '客户管理'
568
+            }
569
+        })
570
+        
571
+        .state('app.business.customer.list', {
572
+            url: '/business/customer',
573
+            data: {
574
+                title: '客户档案管理'
575
+            },
576
+            views: {
577
+                "content@app": {
578
+                    controller: 'customerCtrl',
579
+                    templateUrl: 'app/business/customer/views/customer-list.html'
580
+                }
581
+            }
582
+        })
583
+        .state('app.business.customer.add', {
584
+                url: '/business/customer/add/:id',
585
+                data: {
586
+                    title: '客户档案新增'
587
+                },
588
+                views: {
589
+                    "content@app": {
590
+                        controller: 'customerSaveCtrl as datatables',
591
+                        templateUrl: 'app/business/customer/views/customer-edit.html'
592
+                    }
593
+                }
594
+            }
595
+        )
596
+        .state('app.business.customer.edit', {
597
+            url: '/business/customer/edit/:id',
598
+            data: {
599
+                title: '客户档案修改'
600
+            },
601
+            views: {
602
+                "content@app": {
603
+                    controller: 'customerSaveCtrl as datatables',
604
+                    templateUrl: 'app/business/customer/views/customer-edit.html'
605
+                }
606
+            }
607
+        })
191 608
         
192 609
         
610
+        .state('app.business.customer.badrecord', {
611
+            url: '/business/customer/badrecord',
612
+            data: {
613
+                title: '客户不良记录管理'
614
+            },
615
+            views: {
616
+                "content@app": {
617
+                    controller: 'customerBadrecordCtrl',
618
+                    templateUrl: 'app/business/customer/views/customerBadrecord-list.html'
619
+                }
620
+            }
621
+        })
622
+        
623
+        .state('app.business.customer.blackList', {
624
+            url: '/business/customer/blackList',
625
+            data: {
626
+                title: '客户黑名单管理'
627
+            },
628
+            views: {
629
+                "content@app": {
630
+                    controller: 'customerBlackListCtrl',
631
+                    templateUrl: 'app/business/customer/views/customer-blackList.html'
632
+                }
633
+            }
634
+        })
635
+        
193 636
         
194 637
         /*------------------------------------------------合同--------------------------------------*/
195 638
         .state('app.business.contract', {
@@ -797,7 +1240,8 @@ angular.module('app.business')
797 1240
         		title: '入库结算管理'
798 1241
         	},
799 1242
         	params:{
800
-        		jslx: '0'
1243
+        		jslx: '0',
1244
+        		ywlx: '1'
801 1245
         	},
802 1246
         	views: {
803 1247
         		"content@app": {
@@ -819,14 +1263,14 @@ angular.module('app.business')
819 1263
                 }
820 1264
             }
821 1265
         })
822
-
823 1266
         .state('app.business.ckjslist', {
824 1267
         	url: '/business/ckjslist',
825 1268
         	data: {
826 1269
         		title: '出库结算管理'
827 1270
         	},
828 1271
         	params:{
829
-        		jslx: '1'
1272
+        		jslx: '1',
1273
+        		ywlx: '1'
830 1274
         	},
831 1275
         	views: {
832 1276
         		"content@app": {
@@ -835,7 +1279,6 @@ angular.module('app.business')
835 1279
         		}
836 1280
         	}
837 1281
         })
838
-
839 1282
         .state('app.business.ckjslist.edit', {
840 1283
             url: '/business/ckjslist/edit/:id/:butType',
841 1284
             data: {
@@ -848,8 +1291,61 @@ angular.module('app.business')
848 1291
                 }
849 1292
             }
850 1293
         })
1294
+        .state('app.business.rkjs-sl-list', {
1295
+        	url: '/business/rkjs-sl-list',
1296
+        	data: {
1297
+        		title: '散粮入库结算管理'
1298
+        	},
1299
+        	params:{
1300
+        		jslx: '0',
1301
+        		ywlx: '0'
1302
+        	},
1303
+        	views: {
1304
+        		"content@app": {
1305
+        			controller: 'jsglCtrl',
1306
+        			templateUrl: 'app/business/jsgl/view/jsgl-sl-list.html'
1307
+        		}
1308
+        	}
1309
+        })
1310
+        .state('app.business.rkjs-sl-list.edit', {
1311
+            url: '/business/rkjs-sl-list/edit/:id',
1312
+            data: {
1313
+                title: '散粮入库结算详情'
1314
+            },
1315
+            views: {
1316
+                "content@app": {
1317
+                    controller: 'jsglSlEditCtrl',
1318
+                    templateUrl: 'app/business/jsgl/view/jsgl-sl-edit.html'
1319
+                }
1320
+            }
1321
+        })
851 1322
         /************************** 结算管理 end*******************************/
852 1323
 
1324
+        //---------------------------------------------统计管理-----------------------------------------------------  
1325
+        .state('app.business.gxhttz', {
1326
+            url: '/business/gxhttz',
1327
+            data: {
1328
+                title: '购销合同台账'
1329
+            },
1330
+            views: {
1331
+                "content@app": {
1332
+                    controller: 'purchaseListCtrl',
1333
+                    templateUrl: 'app/business/purchase/views/list.html'
1334
+                }
1335
+		}
1336
+        })
1337
+		.state('app.business.gxhttz-add', {
1338
+            url: '/business/gxhttz-add/:info/:disabled',
1339
+            data: {
1340
+                title: '购销合同台账详情'
1341
+            },
1342
+            views: {
1343
+                "content@app": {
1344
+                    controller: 'purchaseAddCtrl',
1345
+                    templateUrl: 'app/business/purchase/views/add.html'
1346
+                }
1347
+            }
1348
+        })
853 1349
         
854 1350
         //---------------------------------------------合同收付款-----------------------------------------------------  
855 1351
         .state('app.business.contract-pay-recevice', {
@@ -2634,7 +3130,410 @@ angular.module('app.business')
2634 3130
                     }
2635 3131
                 }
2636 3132
             })
2637
-      
3133
+      //-----------------------------------------------------智能器材库------------------------------------------------------//
3134
+        // 设备器材管理二级路由
3135
+        .state('app.business.device', {
3136
+            abstract: true,
3137
+            data: {
3138
+                title: '设备器材管理'
3139
+            }
3140
+        })
3141
+        // 设备器材入库
3142
+        .state('app.business.device.deviceStorageList', {
3143
+            url: '/device/deviceStorageList',
3144
+            data: {
3145
+                title: '设备器材入库'
3146
+            },
3147
+            views: {
3148
+                "content@app": {
3149
+                    controller: 'deviceStorageCtrl',
3150
+                    templateUrl: 'app/business/device/views/deviceStorage-list.html'
3151
+                }
3152
+            }
3153
+        })
3154
+        // 详情,编辑
3155
+        .state('app.business.device.deviceStorageList.edit', {
3156
+            url: '/device/deviceStorageList/edit/:id/:isNotEdit',
3157
+            data: {
3158
+                title: '设备器材入库详情'
3159
+            },
3160
+            views: {
3161
+                "content@app": {
3162
+                    controller: 'deviceStorageEditCtrl',
3163
+                    templateUrl: 'app/business/device/views/deviceStorage-edit.html'
3164
+                }
3165
+            }
3166
+        })
3167
+        //----------------设备入库登记开始---------------//
3168
+        .state('app.business.deviceInputList', {
3169
+            url: '/deviceInputList',
3170
+            data: {
3171
+                title: '设备入库列表'
3172
+            },
3173
+            views: {
3174
+                "content@app": {
3175
+                    controller: 'deviceInputCtrl',
3176
+                    templateUrl: 'app/business/device/views/deviceInput-list.html'
3177
+                }
3178
+            }
3179
+        })  
3180
+        .state('app.business.deviceInputAdd', {
3181
+        	url: '/deviceInputAdd/:id/:isNotEdit',
3182
+        	data: {
3183
+        		title: '设备入库'
3184
+        	},
3185
+        	views: {
3186
+        		"content@app": {
3187
+        			controller: 'deviceInputCheckCtrl',
3188
+        			templateUrl: 'app/business/device/views/deviceInput-edit.html'
3189
+        		}
3190
+        	}
3191
+        })  
3192
+        .state('app.business.inputEdit', {
3193
+        	url: '/inputEdit/:id/:isNotEdit',
3194
+        	data: {
3195
+        		title: '设备查看'
3196
+        	},
3197
+        	views: {
3198
+        		"content@app": {
3199
+        			controller: 'deviceInputCheckCtrl',
3200
+        			templateUrl: 'app/business/device/views/deviceInput-edit.html'
3201
+        		}
3202
+        	}
3203
+        })  
3204
+        //----------------设备入库登记结束---------------//
3205
+        
3206
+        //----------------器材领用开始---------------//
3207
+        .state('app.business.device.deviceGetList', {
3208
+        	url: '/deviceGetList',
3209
+        	data: {
3210
+        		title: '机械器材领用'
3211
+        	},
3212
+        	views: {
3213
+        		"content@app": {
3214
+        			controller: 'deviceGetCtrl',
3215
+        			templateUrl: 'app/business/device/views/deviceGet-list.html'
3216
+        		}
3217
+        	}
3218
+        })  
3219
+        .state('app.business.device.deviceGetAdd', {
3220
+        	url: '/deviceGetAdd',
3221
+        	data: {
3222
+        		title: '领用信息'
3223
+        	},
3224
+        	views: {
3225
+        		"content@app": {
3226
+        			controller: 'deviceGetCtrl',
3227
+        			templateUrl: 'app/business/device/views/deviceGet-add.html'
3228
+        		}
3229
+        	}
3230
+        })  
3231
+        .state('app.business.device.deviceGetBack', {
3232
+        	url: '/deviceGetBack/:id/:getCount',
3233
+        	data: {
3234
+        		title: '归还信息'
3235
+        	},
3236
+        	views: {
3237
+        		"content@app": {
3238
+        			controller: 'deviceGetBackCtrl',
3239
+        			templateUrl: 'app/business/device/views/deviceGet-back.html'
3240
+        		}
3241
+        	}
3242
+        })  
3243
+        .state('app.business.device.deviceChack', {
3244
+        	url: '/deviceChack/:id',
3245
+        	data: {
3246
+        		title: '信息详情'
3247
+        	},
3248
+        	views: {
3249
+        		"content@app": {
3250
+        			controller: 'deviceGetBackCtrl',
3251
+        			templateUrl: 'app/business/device/views/deviceGet-detail.html'
3252
+        		}
3253
+        	}
3254
+        })  
3255
+        //----------------器材领用结束---------------//
3256
+
3257
+        // 设备器材管理三级路由
3258
+        .state('app.business.device.manage', {
3259
+            abstract: true,
3260
+            data: {
3261
+                title: '设备管理'
3262
+            }
3263
+        })
3264
+        //----------------器材保养开始---------------//
3265
+        .state('app.business.device.manage.deviceKeepList', {
3266
+        	url: '/deviceKeepList',
3267
+        	data: {
3268
+        		title: '器材保养'
3269
+        	},
3270
+        	views: {
3271
+        		"content@app": {
3272
+        			controller: 'deviceKeepCtrl',
3273
+        			templateUrl: 'app/business/device/views/deviceKeep-list.html'
3274
+        		}
3275
+        	}
3276
+        })  
3277
+        .state('app.business.device.manage.deviceKeepAdd', {
3278
+        	url: '/deviceKeepAdd',
3279
+        	data: {
3280
+        		title: '添加保养信息'
3281
+        	},
3282
+        	views: {
3283
+        		"content@app": {
3284
+        			controller: 'deviceKeepAddCtrl',
3285
+        			templateUrl: 'app/business/device/views/deviceKeep-add.html'
3286
+        		}
3287
+        	}
3288
+        }) 
3289
+        .state('app.business.device.manage.deviceKeepMassage', {
3290
+        	url: '/deviceKeepMassage/:id',
3291
+        	data: {
3292
+        		title: '保养信息明细'
3293
+        	},
3294
+        	views: {   
3295
+        		"content@app": {
3296
+        			controller: 'deviceKeepSelCtrl',
3297
+        			templateUrl: 'app/business/device/views/deviceKeep-olist.html'
3298
+        		}
3299
+        	}
3300
+        }) 
3301
+         //----------------器材保养结束---------------//
3302
+        
3303
+         //----------------器材维修开始---------------//
3304
+        .state('app.business.device.manage.deviceRepairList', {
3305
+        	url: '/deviceRepairList',
3306
+        	data: {
3307
+        		title: '器材维修'
3308
+        	},
3309
+        	views: {
3310
+        		"content@app": {
3311
+        			controller: 'deviceRepairCtrl',
3312
+        			templateUrl: 'app/business/device/views/deviceRepair-list.html'
3313
+        		}
3314
+        	}
3315
+        })  
3316
+        .state('app.business.device.manage.devicerepairAdd', {
3317
+        	url: '/devicerepairAdd',
3318
+        	data: {
3319
+        		title: '添加维修信息'
3320
+        	},
3321
+        	views: {
3322
+        		"content@app": {
3323
+        			controller: 'deviceRepairAddCtrl',
3324
+        			templateUrl: 'app/business/device/views/deviceRepair-add.html'
3325
+        		}
3326
+        	}
3327
+        })  
3328
+        .state('app.business.device.manage.deviceRepairMassage', {
3329
+        	url: '/deviceRepairMassage/:id/:isNotEdit',
3330
+        	data: {
3331
+        		title: '维修信息明细'
3332
+        	},
3333
+        	views: {   
3334
+        		"content@app": {
3335
+        			controller: 'deviceRepairSaveCtrl',
3336
+        			templateUrl: 'app/business/device/views/deviceRepair-olist.html'
3337
+        		}
3338
+        	}
3339
+        }) 
3340
+        
3341
+        //----------------器材维修结束---------------//
3342
+        
3343
+        
3344
+        //----------------设备报废开始---------------//
3345
+        .state('app.business.device.manage.deviceOutList', {
3346
+        	url: '/deviceOutList',
3347
+        	data: {
3348
+        		title: '设备报废'
3349
+        	},
3350
+        	views: {
3351
+        		"content@app": {
3352
+        			controller: 'deviceOutCtrl',
3353
+        			templateUrl: 'app/business/device/views/deviceOut-list.html'
3354
+        		}
3355
+        	}
3356
+        })  
3357
+         //----------------设备报废结束---------------//
3358
+        //----------------台账开始---------------//
3359
+        .state('app.business.device.deviceAccountList', {
3360
+        	url: '/deviceAccountList',
3361
+        	data: {
3362
+        		title: '台账'
3363
+        	},
3364
+        	views: {
3365
+        		"content@app": {
3366
+        			controller: 'deviceAccountCtrl',
3367
+        			templateUrl: 'app/business/device/views/deviceAccount-list.html'
3368
+        		}
3369
+        	}
3370
+        })
3371
+        
3372
+        .state('app.business.device.accountEdit', {
3373
+        	url: '/accountEdit/:deviceType/:deviceName/:model/:isNotEdit',
3374
+        	data: {
3375
+        		title: '设备台账'
3376
+        	},
3377
+        	views: {
3378
+        		"content@app": {
3379
+        			controller: 'deviceInputCheckCtrl',
3380
+        			templateUrl: 'app/business/device/views/deviceAccount-edit.html'
3381
+        		}
3382
+        	}
3383
+        }) 
3384
+         //----------------台账结束---------------//
3385
+        .state('app.business.device.deviceCheckList', {
3386
+        	url: '/deviceCheckList',
3387
+        	data: {
3388
+        		title: '盘点单'
3389
+        	},
3390
+        	views: {
3391
+        		"content@app": {
3392
+        			controller: 'deviceCheckCtrl',
3393
+        			templateUrl: 'app/business/device/views/deviceCheck-list.html'
3394
+        		}
3395
+        	}
3396
+        })
3397
+        .state('app.business.device.checkAdd', {
3398
+        	url: '/checkAdd',
3399
+        	data: {
3400
+        		title: '新建盘点单'
3401
+        	},
3402
+        	views: {
3403
+        		"content@app": {
3404
+        			controller: 'deviceCheckAddCtrl',
3405
+        			templateUrl: 'app/business/device/views/deviceAdd.html'
3406
+        		}
3407
+        	}
3408
+        })
3409
+        .state('app.business.device.checkEdit', {
3410
+        	url: '/checkEdit/:checkNumber/:isNotEdit',
3411
+        	data: {
3412
+        		title: '修改盘点单'
3413
+        	},
3414
+        	views: {
3415
+        		"content@app": {
3416
+        			controller: 'deviceCheckEditCtrl',
3417
+        			templateUrl: 'app/business/device/views/deviceEdit.html'
3418
+        		}
3419
+        	}
3420
+        })
3421
+        //---------------------------------设施管理------------------------------------------------------
3422
+         // 设施管理二级路由
3423
+         .state('app.business.facility', {
3424
+            abstract: true,
3425
+            data: {
3426
+                title: '设施管理'
3427
+            }
3428
+        })
3429
+        //----------------设施基础信息维护开始---------------//
3430
+        .state('app.business.facility.facilityStorageList', {
3431
+            url: '/facilityStorageList',
3432
+            data: {
3433
+                title: '设施基础信息维护'
3434
+            },
3435
+            views: {
3436
+                "content@app": {
3437
+                    controller: 'facilityListCtrl',
3438
+                    templateUrl: 'app/business/facility/views/facility-list.html'
3439
+                }
3440
+            }
3441
+        })  
3442
+        .state('app.business.facility.addFacility', {
3443
+            url: '/addFacility/:isNotEdit/:facility?',
3444
+            data: {
3445
+                title: '新增设施'
3446
+            },
3447
+            views: {
3448
+                "content@app": {
3449
+                    controller: 'addfacilityCtrl',
3450
+                    templateUrl: 'app/business/facility/views/add-facility.html'
3451
+                }
3452
+            }
3453
+        })  
3454
+        
3455
+        //----------------设施基础信息维护结束---------------//
3456
+        //----------------设施保养开始---------------//
3457
+        .state('app.business.facility.facilityKeepList', {
3458
+            url: '/facilityKeepList',
3459
+            data: {
3460
+                title: '设施保养'
3461
+            },
3462
+            views: {
3463
+                "content@app": {
3464
+                    controller: 'facilityKeepListCtrl',
3465
+                    templateUrl: 'app/business/facility/views/facility-keep.html'
3466
+                }
3467
+            }
3468
+        }) 
3469
+        .state('app.business.facility.addFacilityKeep', {
3470
+            url: '/addFacilityKeep/:isNotEdit/:facility?',
3471
+            data: {
3472
+                title: '添加设施保养信息'
3473
+            },
3474
+            views: {
3475
+                "content@app": {
3476
+                    controller: 'addfacilityKeepCtrl',
3477
+                    templateUrl: 'app/business/facility/views/add-facility-keep.html'
3478
+                }
3479
+            }
3480
+        })  
3481
+        
3482
+        //----------------设施保养结束---------------//
3483
+         //----------------设施维修开始---------------//
3484
+         .state('app.business.facility.facilityGetList', {
3485
+            url: '/facilityGetList',
3486
+            data: {
3487
+                title: '设施维修'
3488
+            },
3489
+            views: {
3490
+                "content@app": {
3491
+                    controller: 'facilityGetListCtrl',
3492
+                    templateUrl: 'app/business/facility/views/facility-get-list.html'
3493
+                }
3494
+            }
3495
+        }) 
3496
+        .state('app.business.facility.addFacilityGet', {
3497
+            url: '/addfacilityGet/:isNotEdit/:facility?',
3498
+            data: {
3499
+                title: '添加设施维修信息'
3500
+            },
3501
+            views: {
3502
+                "content@app": {
3503
+                    controller: 'addFacilityGetCtrl',
3504
+                    templateUrl: 'app/business/facility/views/add-facility-get.html'
3505
+                }
3506
+            }
3507
+        })  
3508
+        
3509
+        //----------------设施维修结束---------------//
3510
+        // //----------------设施报废开始---------------//
3511
+        // .state('app.business.facility.facilityScrapList', {
3512
+        //     url: '/facilityScrapList',
3513
+        //     data: {
3514
+        //         title: '设施报废'
3515
+        //     },
3516
+        //     views: {
3517
+        //         "content@app": {
3518
+        //             controller: 'facilityScrapListCtrl',
3519
+        //             templateUrl: 'app/business/facility/views/facility-scraplist.html'
3520
+        //         }
3521
+        //     }
3522
+        // }) 
3523
+        // .state('app.business.facility.addFacilityScrap', {
3524
+        //     url: '/addFacilityScrap',
3525
+        //     data: {
3526
+        //         title: '添加设施报废信息'
3527
+        //     },
3528
+        //     views: {
3529
+        //         "content@app": {
3530
+        //             controller: 'addFacilityScrapCtrl',
3531
+        //             templateUrl: 'app/business/facility/views/add-facility-scrap.html'
3532
+        //         }
3533
+        //     }
3534
+        // })  
3535
+        
3536
+        // //----------------设施报废结束---------------//
2638 3537
         
2639 3538
   //---------------------------------储备粮管理------------------------------------------------------
2640 3539
         

+ 1 - 1
src/main/resources/static/app/business/purchase/controller/purchaseAddCtrl.js

@@ -11,7 +11,7 @@ angular.module('app.supervise').controller("purchaseAddCtrl", function ($scope,
11 11
         if ($rootScope.previousState_name != '') {
12 12
         	$rootScope.back();
13 13
         } else {
14
-        	$state.go("app.cstj.gxhttz");
14
+        	$state.go("app.business.gxhttz");
15 15
         }
16 16
     }
17 17
 

+ 3 - 3
src/main/resources/static/app/business/purchase/controller/purchaseListCtrl.js

@@ -21,21 +21,21 @@ angular.module('app.supervise').controller("purchaseListCtrl", function ($scope,
21 21
 	}
22 22
 
23 23
 	$scope.addRow = function() {
24
-		$state.go("app.cstj.gxhttz-add", {
24
+		$state.go("app.business.gxhttz-add", {
25 25
 			info: 0,
26 26
 			disabled: 0
27 27
 		});
28 28
 	}
29 29
 	// 编辑
30 30
 	$scope.handleEditor = function (info) {
31
-		$state.go("app.cstj.gxhttz-add", {
31
+		$state.go("app.business.gxhttz-add", {
32 32
 			info: angular.toJson(info),
33 33
 			disabled: 0
34 34
 		});
35 35
 	};
36 36
 	// 查看
37 37
 	$scope.handleLook = function (info) {
38
-		$state.go("app.cstj.gxhttz-add", {
38
+		$state.go("app.business.gxhttz-add", {
39 39
 			info: angular.toJson(info),
40 40
 			disabled: 1
41 41
 		});

+ 1 - 1
src/main/resources/static/app/business/schedule/controller/contractScheduleCtrl.js

@@ -25,7 +25,7 @@ angular.module('app.business').controller("contractScheduleCtrl", function($scop
25 25
     // 查看页面
26 26
     $scope.showView = function(id, processInstanceId,contractType) {
27 27
     	if ($stateParams.SalesStatistics) {
28
-            $state.go("app.jczcsupervise.decisionSupport.SalesStatistics.contract-schedule.contract-view", {id : id, processInstanceId : processInstanceId});
28
+            $state.go("app.supervise.decisionSupport.SalesStatistics.contract-schedule.contract-view", {id : id, processInstanceId : processInstanceId});
29 29
             return;
30 30
 		}
31 31
     	if(contractType == 6913){

+ 2 - 2
src/main/resources/static/app/business/schedule/controller/deliveryStorageNoticeScheduleCtrl.js

@@ -25,9 +25,9 @@ angular.module('app.business').controller("deliveryStorageNoticeScheduleCtrl", f
25 25
     $scope.showView = function(id, billType, processInstanceId) {
26 26
          if ($stateParams.SalesStatistics) {
27 27
              if (billType == "1") {
28
-                 $state.go("app.jczcsupervise.decisionSupport.SalesStatistics.deliveryStorageNotice-schedule.deliveryNotice-view", {id : id, processInstanceId : processInstanceId});
28
+                 $state.go("app.supervise.decisionSupport.SalesStatistics.deliveryStorageNotice-schedule.deliveryNotice-view", {id : id, processInstanceId : processInstanceId});
29 29
              } else if (billType == "3") {
30
-                 $state.go("app.jczcsupervise.decisionSupport.SalesStatistics.deliveryStorageNotice-schedule.storageNotice-view", {id : id, processInstanceId : processInstanceId});
30
+                 $state.go("app.supervise.decisionSupport.SalesStatistics.deliveryStorageNotice-schedule.storageNotice-view", {id : id, processInstanceId : processInstanceId});
31 31
              }
32 32
              return;
33 33
          }

+ 1 - 1
src/main/resources/static/app/business/schedule/controller/planScheduleCtrl.js

@@ -19,7 +19,7 @@ angular.module('app.business').controller("planScheduleCtrl", function($scope, $
19 19
     $scope.showView = function(id, processInstanceId) {
20 20
         // 粮食购销统计 计划执行进度详情
21 21
         if ($stateParams.SalesStatistics) {
22
-            $state.go("app.jczcsupervise.decisionSupport.SalesStatistics.plan-schedule.plan-view",{id : id, processInstanceId : processInstanceId});
22
+            $state.go("app.supervise.decisionSupport.SalesStatistics.plan-schedule.plan-view",{id : id, processInstanceId : processInstanceId});
23 23
             return;
24 24
         }
25 25
         $state.go("app.business.plan-view",{id : id, processInstanceId : processInstanceId});

+ 27 - 28
src/main/resources/static/app/business/storeWareDetail/service/storeWareDetailService.js

@@ -52,27 +52,8 @@ angular.module('app.business').service("storeWareDetailService", function($rootS
52 52
         });
53 53
         return d.promise;
54 54
     }
55
-    
56
-   /* this.getHwhFromDsfjy = function(grainDetailKind, grainGrade, houseId) {
57
-        var d = $q.defer();
58
-        $http({
59
-            method : 'GET',
60
-            url : APP_CONFIG.baseUrl + '/qualitycheck/getHouseOrWareList',
61
-            params : {
62
-            	subTypeDetailed : grainDetailKind,
63
-				level : grainGrade,
64
-				houseId : houseId
65
-            }
66
-        }).then(function successCallback(response) {
67
-            // 请求成功执行代码
68
-            d.resolve(response.data);
69
-        }, function errorCallback(response) {
70
-            // 请求失败执行代码
71
-            d.reject("error");
72
-        });
73
-        return d.promise;
74
-    }*/
75
-     this.getchByfat = function(grainDetailKind, grainGrade) {
55
+
56
+    this.getchByfat = function(grainDetailKind, grainGrade) {
76 57
         var d = $q.defer();
77 58
         $http({
78 59
             method : 'GET',
@@ -91,7 +72,7 @@ angular.module('app.business').service("storeWareDetailService", function($rootS
91 72
         return d.promise;
92 73
     }
93 74
      
94
-     this.getCountBych = function(grainDetailKind, grainGrade,storehouseId,warehouseId) {
75
+    this.getCountBych = function(grainDetailKind, grainGrade,storehouseId,warehouseId) {
95 76
     	 var d = $q.defer();
96 77
     	 $http({
97 78
     		 method : 'GET',
@@ -110,9 +91,9 @@ angular.module('app.business').service("storeWareDetailService", function($rootS
110 91
     		 d.reject("error");
111 92
     	 });
112 93
     	 return d.promise;
113
-     }
94
+    }
114 95
     
115
-     //从库存根据仓房和货位号获取相应信息
96
+    //从库存根据仓房和货位号获取相应信息
116 97
     this.getMassageFromKc = function(houseId,warehouseId,qualitycheckList) {
117 98
         var d = $q.defer();
118 99
         $http({
@@ -133,8 +114,7 @@ angular.module('app.business').service("storeWareDetailService", function($rootS
133 114
         return d.promise;
134 115
     }
135 116
     
136
-     this.queryStoreWareDetailInfo = function(id) {
137
-    //    this.queryStoreWareDetailInfo = function() {
117
+    this.queryStoreWareDetailInfo = function(id) {
138 118
     	var d = $q.defer();
139 119
     	$http({
140 120
     		method : 'GET',
@@ -152,7 +132,7 @@ angular.module('app.business').service("storeWareDetailService", function($rootS
152 132
     	});
153 133
     	return d.promise;
154 134
     }
155
-     
135
+
156 136
      //获取剩余数量(合同)
157 137
      this.getRemainNumber = function(receiveNotice) {
158 138
          var d = $q.defer();
@@ -210,5 +190,24 @@ angular.module('app.business').service("storeWareDetailService", function($rootS
210 190
     	 });
211 191
     	 return d.promise;
212 192
      }
213
-     
193
+
194
+     //获取剩余数量(出库通知单)
195
+     this.getStoreWareDetailList = function(zid, dataType) {
196
+    	 var d = $q.defer();
197
+    	 $http({
198
+    		 method : 'GET',
199
+    		 url : APP_CONFIG.businessUrl + '/depot/business/storeWareDetail/getStoreWareDetailList',
200
+    		 params : {
201
+    			 zid : zid,
202
+    			 dataType : dataType
203
+    		 }
204
+    	 }).then(function successCallback(response) {
205
+    		 // 请求成功执行代码
206
+    		 d.resolve(response.data);
207
+    	 }, function errorCallback(response) {
208
+    		 // 请求失败执行代码
209
+    		 d.reject("error");
210
+    	 });
211
+    	 return d.promise;
212
+     }
214 213
 })

+ 19 - 12
src/main/resources/static/app/business/storeWareDetail/views/grainStoreWareDetailModal.html

@@ -28,16 +28,6 @@
28 28
 						</select>
29 29
 					</label>
30 30
 				</section>
31
-				<!-- <section class="col col-sm-4" ng-hide="wareHidden">
32
-					<label class="label">油罐名称<span style="color: red;">*</span></label> 
33
-					<label class="select">
34
-	                    <select ng-model="storeWareDetail.houseId" name="houseId" required
35
-							ng-options="tank.storehouseId as tank.storehouseName for tank in tankList"
36
-							 	ng-change="warehouseChange()" class="form-control" >
37
-								<option value="">--请选择--</option>
38
-						</select>
39
-					</label>
40
-				</section> -->
41 31
 				<section class="col col-sm-4">
42 32
 					<label class="label">货位名称<span style="color: red;">*</span></label> 
43 33
 					<label class="select"> 
@@ -77,7 +67,7 @@
77 67
                          line-height:15px;" id="grainDetailKind-error"></span></em>
78 68
                     </label>
79 69
 				</section>
80
-				<section class="col col-sm-4">
70
+				<section class="col col-sm-4" ng-show="xiaoshou">
81 71
 					<label class="label">粮油性质<span style="color: red;">*</span></label>
82 72
 		             <label class="select" id="grainAttribute-label">
83 73
                           <multi-select-tree
@@ -93,6 +83,22 @@
93 83
                          line-height:15px;" id="grainAttribute-error"></span></em>
94 84
                      </label>
95 85
 				</section>
86
+				<section class="col col-sm-4" ng-show="shouchu">
87
+					<label class="label">粮油性质<span style="color: red;">*</span></label>
88
+		             <label class="select" id="grainAttribute-label">
89
+                          <multi-select-tree
90
+                              disabled-tree="isEdit"
91
+                              data-input-model="grainAttributeTreeData"
92
+                              data-output-model="storeWareDetail.grainAttribute"
93
+                              data-default-label="请选择" name="grainAttribute"
94
+                              multi-select="false"
95
+                              select-only-leafs="true"
96
+                              data-callback="selectOnly1Or2(item, selectedItems)" required>
97
+                          </multi-select-tree>
98
+                          <em><span style="color: #D56161;margin-top:6px;padding:0 1px;font-style:normal;font-size:11px;
99
+                         line-height:15px;" id="grainAttribute-error"></span></em>
100
+                     </label>
101
+				</section>
96 102
 			</div>
97 103
 			<div class="row">
98 104
 			    <section class="col col-sm-4"  ng-show="shouchu">
@@ -244,13 +250,14 @@
244 250
                              	<option value="2">调节储备轮换</option>
245 251
                              	<option value="3">竞价采购</option>
246 252
                              	<option value="4">移库倒仓补库</option>
253
+                             	<option value="5">兜底</option>
247 254
                              </select> 
248 255
 		                 </label> 
249 256
 				</section>
250 257
 			    <section class="col col-sm-4">
251 258
 					<label class="label">协议编号<span style="color: red;">*</span></label> 
252 259
 		                <label class="input">
253
-		                  <input class="form-control" type="text" ng-model="storeWareDetail.agreementNumber"  ng-disabled="isEdit"  name="agreementNumber" ng-required="storeWareDetail.incomingType!=4" />
260
+		                  <input class="form-control" type="text" ng-model="storeWareDetail.agreementNumber"  ng-disabled="isEdit"  name="agreementNumber" ng-required="storeWareDetail.incomingType=='1' || storeWareDetail.incomingType=='2'" />
254 261
 		                </label>
255 262
 				</section>
256 263
 			    <section class="col col-sm-4">

+ 1 - 1
src/main/resources/static/app/business/util/controller/addCustomerModal.js

@@ -117,7 +117,7 @@ angular.module('app.business').controller("addCustomerCtrl", function($scope, $h
117 117
     
118 118
     // 返回.
119 119
    /* $scope.retList = function () {
120
-    	$state.go('app.basic.customer.list');
120
+    	$state.go('app.business.customer.list');
121 121
     }*/
122 122
     // 返回.
123 123
     $scope.retList = function () {

+ 3 - 0
src/main/resources/static/app/business/util/controller/customerListModalCtrl.js

@@ -23,6 +23,9 @@ angular.module('app.business').controller("customerListModalCtrl",
23 23
             $scope.type = "addBlacklist";
24 24
             $scope.searchCondition.isInBlacklist = 0;
25 25
         }
26
+        if (items.classify != undefined && items.classify != null) {
27
+        	$scope.searchCondition.classify = items.classify;
28
+        }
26 29
     }
27 30
     $scope.loadData();
28 31
     

+ 9 - 23
src/main/resources/static/app/business/util/controller/grainUtilReceiveNoticeCtrl .js

@@ -46,7 +46,7 @@ angular.module('app.business').controller("grainUtilReceiveNoticeCtrl",
46 46
         
47 47
     }
48 48
     
49
-    $scope.loadData(1,10,$scope.searchCondition);
49
+    $scope.loadData();
50 50
     
51 51
     
52 52
     // 翻页
@@ -61,34 +61,20 @@ angular.module('app.business').controller("grainUtilReceiveNoticeCtrl",
61 61
 
62 62
 	// 勾选一条验收数据
63 63
 	$scope.selectData = function(check) {
64
-//	    var checked = $event.target.checked;
65
-//	    if(checked){
66
-//	        $scope.selected.push(check);
67
-//	    }else{
68
-//	        var idx = $scope.selected.indexOf(check);
69
-//	        $scope.selected.splice(idx,1);
70
-//	    }
71
-//		$scope.selected.push(check);
72 64
 		var data = [];
73
-		var remainNumber = [];
74
-//		for (var index = 0; index < $scope.pageInfo.list.length; index++) {
75
-//			const e = $scope.pageInfo.list[index];
76
-//			if(e.selected){  //筛选勾上的数据
77
-//				data.push(e)
78
-//			}
79
-//		}  
65
+		var remainNumber = []; 
80 66
 		data.push(check);
81 67
 		//在界面上,如果list就是表格所有的数据,勾选那条,那条就会selected就时true
82 68
 		//查询使用过的数量,展示剩余数量
83
-		if(items.cktzd ==null){
84
-			if(items.ywtype ==1){
69
+//		if(items.cktzd ==null){
70
+			if (check.crktype == 1) {
85 71
 				  storeWareDetailService.getRkRemainNumber(data).then(function(remainData) {
86 72
 					remainNumber = remainData.list;
87 73
 					$uibModalInstance.close(remainNumber);
88 74
 		          },function(remainData){
89 75
 		              console.log(remainData);
90 76
 		          });
91
-			}else if(items.ywtype==2){
77
+			} else if (check.crktype == 3) {
92 78
 				storeWareDetailService.getCkRemainNumber(data).then(function(remainData) {
93 79
 					remainNumber = remainData.list;
94 80
 					$uibModalInstance.close(remainNumber);
@@ -96,16 +82,16 @@ angular.module('app.business').controller("grainUtilReceiveNoticeCtrl",
96 82
 		              console.log(remainData);
97 83
 		          });
98 84
 			}
99
-		}else if(items.cktzd !=null && items.cktzd == 0){
85
+		/*}else if(items.cktzd !=null && items.cktzd == 0){
100 86
 			if(items.ywtype ==1){ //求销售和轮换的
101
-				if(check.ywtype == 3){
87
+				if(check.ywtype == 1){
102 88
 					storeWareDetailService.getRemainNumber(data).then(function(remainData) {
103 89
 		            	remainNumber = remainData.list;
104 90
 		            	$uibModalInstance.close(remainNumber);
105 91
 		            },function(remainData){
106 92
 		                console.log(remainData);
107 93
 		            });
108
-				}else if(check.ywtype == 2){
94
+				}else if(check.ywtype == 2 || check.ywtype == 3){
109 95
 					storeWareDetailService.getCkRemainNumber(data).then(function(remainData) {
110 96
 						remainNumber = remainData.list;
111 97
 						$uibModalInstance.close(remainNumber);
@@ -115,7 +101,7 @@ angular.module('app.business').controller("grainUtilReceiveNoticeCtrl",
115 101
 				}
116 102
 
117 103
 			}
118
-		}
104
+		}*/
119 105
 	}
120 106
 
121 107
 	// 关闭模态窗口

+ 1 - 0
src/main/resources/static/app/business/util/views/grainReceiveNotice-list.html

@@ -34,6 +34,7 @@
34 34
 	                                    <div ng-switch-when="1">竞买</div>
35 35
 		                                <div ng-switch-when="2">竞价销售</div>
36 36
 		                                <div ng-switch-when="3">包干</div>
37
+		                                <div ng-switch-when="4">兜底</div>
37 38
 	                                </div>
38 39
 	                            </td>
39 40
                                 <td>{{receiveNotice.contractNumber}}</td>  

+ 1 - 1
src/main/resources/static/app/home/controller/daibsxCtrl.js

@@ -29,7 +29,7 @@ angular.module('app.system')
29 29
         // 安全生产通知链接
30 30
         var safeProduceNotifyCtrlScope = $('div[ng-controller="headerCtrl"]').scope();
31 31
         $scope.safeProduceNotifyTodo = function () {
32
-            safeProduceNotifyCtrlScope.switchTopMenu(19, "app.safeproduce.notifyList");
32
+            safeProduceNotifyCtrlScope.switchTopMenu(19, "app.storage.safeproduce.notifyList");
33 33
         };
34 34
 
35 35
         // ----------------获取药剂采购审批事项数据------------------

+ 72 - 45
src/main/resources/static/app/intelligent/aeration/controller/aerationJobCtrl.js

@@ -4,7 +4,6 @@ angular.module('app.intelligent')
4 4
 .controller("aerationJobCtrl", function($scope, $rootScope, $state, $http, $stateParams, 
5 5
 		 aerationJobService,archiveService, $filter) {
6 6
 
7
-	
8 7
 	//通风作业数据查询
9 8
 	$scope.pageInfo = {pageNum : 1, pageSize : 10};
10 9
 	$scope.aerationJob = {cfbh: ""};
@@ -44,6 +43,8 @@ angular.module('app.intelligent')
44 43
 				console.log(data);
45 44
 			});
46 45
 		}else {
46
+			$scope.aerationJob.funcType = $stateParams.funcType;//1:代表通风作业开始功能,2:代表通风作业结束功能
47
+			$scope.funcType = $stateParams.funcType;
47 48
 			aerationJobService.getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, $scope.aerationJob, null).then(function (data) {
48 49
 				$scope.pageInfo = data.data;
49 50
 			}, function (data) {
@@ -62,24 +63,12 @@ angular.module('app.intelligent')
62 63
       	}
63 64
  	}
64 65
 
66
+    // 新增、修改、查看页面
67
+    $scope.edit = function(id, butType, funcType) {
68
+        $state.go("app.intelligent.aeration.aerationJob-edit", {id: id, butType: butType, funcType: funcType});
69
+    }
65 70
 
66
-    // 查看页面
67
-    $scope.showView = function(id) {
68
-        $state.go("app.intelligent.aeration.aerationJob-view", {id: id});
69
-    };
70
-    
71
-    
72
-    // 修改页面
73
-    $scope.editView = function(id) {
74
-    	$state.go("app.intelligent.aeration.aerationJob-edit", {id: id});
75
-    };
76
-    
77
-    // 新增页面
78
-    $scope.addView = function() {
79
-    	$state.go("app.intelligent.aeration.aerationJob-add", {id: 0});
80
-    };
81
-    
82
-   // 删除一条记录.
71
+    // 删除一条记录.
83 72
     $scope.remove = function(id) {
84 73
         if (!confirm("确定要删除吗?")) {
85 74
             return;
@@ -101,6 +90,8 @@ angular.module('app.intelligent')
101 90
     // 防止重复提交标记
102 91
     $scope.saveFlag = false;
103 92
     
93
+    $scope.funcType = $stateParams.funcType;
94
+    
104 95
     $scope.aerationJob = {};
105 96
    
106 97
     //通风作业负责人校验
@@ -137,18 +128,9 @@ angular.module('app.intelligent')
137 128
 
138 129
     $scope.lwChange = function(){
139 130
     	if($scope.aerationJob.tfhpjlw!=null && $scope.aerationJob.tfqpjlw!=null){
140
-    		
141 131
 			//降温幅度
142 132
 			var jwl = parseFloat($scope.aerationJob.tfqpjlw) - parseFloat($scope.aerationJob.tfhpjlw);
143 133
 			$scope.aerationJob.jwfd = jwl.toFixed(1);
144
-			//计算降温幅度(%)百分比
145
-			// if (parseFloat($scope.aerationJob.tfqpjlw)!=0) {
146
-			// 	//降水幅度(%),保留1位小数
147
-			// 	var jwfd = parseFloat(parseFloat(jwl) / parseFloat($scope.aerationJob.tfqpjlw)*100).toFixed(1);
148
-			// 	$scope.aerationJob.jwfd = jwfd;
149
-			// } else {
150
-			// 	$scope.aerationJob.jwfd = 0;
151
-			// }
152 134
     	}
153 135
     }
154 136
     
@@ -190,7 +172,10 @@ angular.module('app.intelligent')
190 172
             $scope.aerationJob.cfmc=parseInt(data.data.cfmc);
191 173
             $scope.aerationJob.cflx=parseInt(data.data.cflx);
192 174
             $scope.aerationJob.dlxs=parseInt(data.data.dlxs);
193
-           
175
+            if ($scope.funcType == '2' && $stateParams.butType == 'update') {
176
+        		$scope.aerationJob.zyjsxxjlr = $rootScope.userInfo.realName;
177
+        		$scope.aerationJob.zyjsxxjlsj = $filter('date')(new Date(), "yyyy-MM-dd HH:mm:ss");
178
+        	}
194 179
         },function(data){
195 180
         });
196 181
     };
@@ -218,10 +203,16 @@ angular.module('app.intelligent')
218 203
 			$scope.aerationJob.dljsnh = parseFloat(parseFloat(v)/0.01*parseFloat(kcsl)).toFixed(3);
219 204
 		}
220 205
 	}
221
-    
222
-    
223
- // 保存.
224
-    
206
+
207
+	$scope.zyksxxShowData = function() {
208
+		if ($scope.zyksxxData) {
209
+			$scope.zyksxxData = false;
210
+		} else {
211
+			$scope.zyksxxData = true;
212
+		}
213
+	}
214
+
215
+    // 保存.
225 216
     var validator = $("#aerationJob-form").validate();
226 217
     
227 218
     $.validator.addMethod("tfjts",function(value,element, params) {
@@ -230,11 +221,24 @@ angular.module('app.intelligent')
230 221
     	return this.optional(element)||(checkNumber.test(value));  
231 222
     },"请输入正整数");
232 223
     
233
-    $scope.save = function () {
234
-    	$scope.aerationJob.tfkssj = $("#tfkssj").val();
235
-    	$scope.aerationJob.tfjssj = $("#tfjssj").val();
236
-    	$scope.aerationJob.djrq = $("#djrq").val();
237
-    	
224
+    $scope.save = function (funcType, butType) {
225
+    	if (funcType == '1') {
226
+    		if (butType == '0') {
227
+    			$scope.aerationJob.dataStatus = '0';
228
+    		} else {
229
+    			$scope.aerationJob.dataStatus = '1';
230
+    		}
231
+    		$scope.aerationJob.tfkssj = $("#tfkssj").val();
232
+    	}
233
+    	if (funcType == '2') {
234
+    		if (butType == '0') {
235
+    			$scope.aerationJob.dataStatus = '2';
236
+    		} else {
237
+    			$scope.aerationJob.dataStatus = '3';
238
+    		}
239
+    		$scope.aerationJob.tfjssj = $("#tfjssj").val();
240
+    	}
241
+
238 242
     	if (!$scope.saveFlag) {
239 243
     		if (validator.form()) {
240 244
     			// 设置saveFlag为true,防止重复提交.
@@ -253,7 +257,6 @@ angular.module('app.intelligent')
253 257
     	}
254 258
     }
255 259
 
256
-    
257 260
     //获取仓房名称
258 261
     $scope.houseName = function(){
259 262
     	$scope.kcswStr = {unitid : $rootScope.userInfo.orgId};
@@ -269,24 +272,48 @@ angular.module('app.intelligent')
269 272
         if ($rootScope.previousState_name != '') {
270 273
             $rootScope.back();
271 274
         } else {
272
-            $state.go("app.intelligent.aeration.aerationJob");
275
+        	if ($stateParams.funcType == 1) {
276
+        		$state.go("app.intelligent.aeration.aerationJob_ks", {funcType: '1'});
277
+        	} else {
278
+        		$state.go("app.intelligent.aeration.aerationJob_js", {funcType: '2'});
279
+        	}
273 280
         }
274 281
     }
275 282
     
276 283
     
277
-    if($stateParams.id!=0){
284
+    if($stateParams.id != 0){
278 285
     	$scope.loadDataById($stateParams.id);
279
-    	$scope.isNotEdit = $stateParams.isNotEdit;
280
-    	//$scope.houseName();
286
+    	if ($stateParams.funcType == 1) {
287
+    		$scope.isJsNotEdit = true;
288
+    		if ($stateParams.butType == 'update') {
289
+    			$scope.isKsNotEdit = false;
290
+    			$scope.but_IsNotEdit = true;//保存和提交按钮
291
+    		} else {
292
+    			$scope.isKsNotEdit = true;
293
+    			$scope.but_IsNotEdit = false;//保存和提交按钮
294
+    		}
295
+    	} else if ($stateParams.funcType == 2) {//作业结束
296
+    		$scope.isKsNotEdit = true;
297
+    		$scope.zyksxxData = false;
298
+        	if ($stateParams.butType == 'update') {
299
+        		$scope.isJsNotEdit = false;
300
+        		$scope.but_IsNotEdit = true;//保存和提交按钮
301
+        	} else {
302
+        		$scope.isJsNotEdit = true;
303
+        		$scope.but_IsNotEdit = false;//保存和提交按钮
304
+        	}
305
+        }
281 306
     }else{
282
-    	//$scope.houseName();
283
-    	$scope.isNotEdit = false;
307
+    	$scope.isJsNotEdit = true;
308
+    	$scope.isKsNotEdit = false;
284 309
     	$scope.aerationJob.tfzyfzr = $rootScope.userInfo.realName;
285 310
     	$scope.aerationJob.djrq = $filter('date')(new Date(), "yyyy-MM-dd");
286 311
     	$scope.depotName = $rootScope.orgInfo.orgName;
312
+    	$scope.aerationJob.zyksxxjlr = $rootScope.userInfo.realName;
313
+    	$scope.aerationJob.zyksxxjlsj = $filter('date')(new Date(), "yyyy-MM-dd HH:mm:ss");
314
+    	$scope.but_IsNotEdit = true;//保存和提交按钮
287 315
     }
288 316
 
289
-    
290 317
     //仓房名称改变 获取数据
291 318
     $scope.houseChange = function(houseId){
292 319
     	if(houseId!=null){

+ 1 - 0
src/main/resources/static/app/intelligent/aeration/service/aerationJobService.js

@@ -12,6 +12,7 @@ angular.module('app.intelligent').service("aerationJobService", function($http,
12 12
 				pageSize : pageSize,
13 13
 				cfbh : aerationJob==undefined?"":aerationJob.cfbh,
14 14
 				createTime : aerationJob==undefined?"":aerationJob.createTime,
15
+				funcType : aerationJob==undefined?"":aerationJob.funcType,
15 16
 				cfmc : cfmc,
16 17
 				orgId : $rootScope.userInfo.orgId
17 18
 				

文件差异内容过多而无法显示
+ 252 - 149
src/main/resources/static/app/intelligent/aeration/views/aerationJob-edit.html


+ 93 - 0
src/main/resources/static/app/intelligent/aeration/views/aerationJob-js-list.html

@@ -0,0 +1,93 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+	<!-- widget grid -->
4
+	<section widget-grid id="widget-grid">
5
+
6
+
7
+		<div class="row">
8
+			<article class="col-sm-12">
9
+
10
+				<div jarvis-widget id="standard-datatable-widget"
11
+					data-widget-color="darken" data-widget-editbutton="true">
12
+					<header>
13
+						<span class="widget-icon"> <i class="fa fa-table"></i>
14
+						</span>
15
+						<h2>通风作业结束列表</h2>
16
+					</header>
17
+					<div>
18
+						<div class="widget-body no-padding">
19
+							<div id="DataTables_Table_1_wrapper"
20
+								class="dataTables_wrapper form-inline no-footer">
21
+								<div class="dt-toolbar">
22
+									<div class="col-xs-12 col-sm-9">
23
+										<div class="form-group">
24
+<!-- 										    <a ng-hide="isArchive" has-permission="703" class="btn btn-primary btn-sm" ng-click="edit(null, 'add', '2')"><i class="fa fa-plus"></i>&nbsp;新&nbsp;增</a> -->
25
+											&emsp;
26
+											<label> 仓房名称:&emsp;
27
+                                                <select ng-model="aerationJob.cfbh" 
28
+                                                        ng-options="store.storehouseId as store.storehouseName for store in storelist"
29
+                                                         class="form-control">
30
+                                                    <option value="">--请选择--</option>
31
+                                                </select>&emsp;
32
+                                            </label>
33
+											<a class="btn btn-default btn-sm" ng-click="loadData()">
34
+												<i class="fa fa-search"></i>&nbsp;查&nbsp;询
35
+											</a>
36
+										</div>
37
+									</div>
38
+									<div class="col-sm-3 col-xs-12 hidden-xs">
39
+                                    <div class="dataTables_length">
40
+											<label>每页显示 <select ng-model="pageInfo.pageSize" ng-change="loadData(pageInfo.pageNum=1)"
41
+																ng-options="num as num for num in [1,10,25,50,100]"
42
+																class="form-control input-sm"></select> 条
43
+											</label>
44
+									</div>
45
+                                </div>
46
+								</div>
47
+
48
+								<table class="table table-striped table-bordered table-hover" width="100%">
49
+									<thead>
50
+										<tr>
51
+											<th data-class="expand">序号</th>
52
+											<th data-class="expand">仓房名称</th>
53
+											<th data-class="expand">通风开始时间</th>
54
+											<th data-class="expand">通风结束时间</th>
55
+											<th data-hide="expand">通风作业负责人</th>
56
+											<th data-hide="expand">操作</th>
57
+										</tr>
58
+									</thead>
59
+
60
+									<tbody>
61
+										<tr ng-repeat="aerationJob in pageInfo.list">
62
+											<td>{{$index + 1}}</td>
63
+											<td>{{storehouseObj[aerationJob.cfmc].storehouseName}}</td>
64
+											<td>{{aerationJob.tfkssj | date:'yyyy-MM-dd'}}</td>
65
+											<td>{{aerationJob.tfjssj | date:'yyyy-MM-dd'}}</td>
66
+											<td>{{aerationJob.tfzyfzr}}</td>
67
+											<td>
68
+												    <span ng-hide="funcType==2 && aerationJob.dataStatus==3">
69
+														<a has-permission="704" href-void ng-click="edit(aerationJob.id, 'update', '2')">
70
+														    <i class="fa fa-info-circle"></i>处理
71
+													    </a>
72
+													    <!-- <a has-permission="705"  ng-click="remove(aerationJob.id)">
73
+															<i class="fa fa-trash-o"></i>删除
74
+														</a> -->
75
+												    </span>
76
+													<a href-void ng-click="edit(aerationJob.id, 'view', '2')">
77
+													    <i class="fa fa-info-circle"></i>查看
78
+												    </a>
79
+											</td>
80
+										</tr>
81
+									</tbody>
82
+								</table>
83
+								<div smart-include="app/layout/partials/page.tpl.html"></div>
84
+							</div>
85
+						</div>
86
+					</div>
87
+				</div>
88
+			</article>
89
+		</div>
90
+
91
+	</section>
92
+
93
+</div>

+ 93 - 0
src/main/resources/static/app/intelligent/aeration/views/aerationJob-ks-list.html

@@ -0,0 +1,93 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+	<!-- widget grid -->
4
+	<section widget-grid id="widget-grid">
5
+
6
+
7
+		<div class="row">
8
+			<article class="col-sm-12">
9
+
10
+				<div jarvis-widget id="standard-datatable-widget"
11
+					data-widget-color="darken" data-widget-editbutton="true">
12
+					<header>
13
+						<span class="widget-icon"> <i class="fa fa-table"></i>
14
+						</span>
15
+						<h2>通风作业开始列表</h2>
16
+					</header>
17
+					<div>
18
+						<div class="widget-body no-padding">
19
+							<div id="DataTables_Table_1_wrapper"
20
+								class="dataTables_wrapper form-inline no-footer">
21
+								<div class="dt-toolbar">
22
+									<div class="col-xs-12 col-sm-9">
23
+										<div class="form-group">
24
+										    <a ng-hide="isArchive" has-permission="703" class="btn btn-primary btn-sm" ng-click="edit(null, 'add', '1')"><i class="fa fa-plus"></i>&nbsp;新&nbsp;增</a>
25
+											&emsp;
26
+											<label> 仓房名称:&emsp;
27
+                                                <select ng-model="aerationJob.cfbh" 
28
+                                                        ng-options="store.storehouseCode as store.storehouseName for store in storelist"
29
+                                                         class="form-control">
30
+                                                    <option value="">--请选择--</option>
31
+                                                </select>&emsp;
32
+                                            </label>
33
+											<a class="btn btn-default btn-sm" ng-click="loadData()">
34
+												<i class="fa fa-search"></i>&nbsp;查&nbsp;询
35
+											</a>
36
+										</div>
37
+									</div>
38
+									<div class="col-sm-3 col-xs-12 hidden-xs">
39
+                                    <div class="dataTables_length">
40
+											<label>每页显示 <select ng-model="pageInfo.pageSize" ng-change="loadData(pageInfo.pageNum=1)"
41
+																ng-options="num as num for num in [1,10,25,50,100]"
42
+																class="form-control input-sm"></select> 条
43
+											</label>
44
+									</div>
45
+                                </div>
46
+								</div>
47
+
48
+								<table class="table table-striped table-bordered table-hover" width="100%">
49
+									<thead>
50
+										<tr>
51
+											<th data-class="expand">序号</th>
52
+											<th data-class="expand">仓房名称</th>
53
+											<th data-class="expand">通风开始时间</th>
54
+											<th data-class="expand">通风结束时间</th>
55
+											<th data-hide="expand">通风作业负责人</th>
56
+											<th data-hide="expand">操作</th>
57
+										</tr>
58
+									</thead>
59
+
60
+									<tbody>
61
+										<tr ng-repeat="aerationJob in pageInfo.list">
62
+											<td>{{$index + 1}}</td>
63
+											<td>{{storehouseObj[aerationJob.cfmc].storehouseName}}</td>
64
+											<td>{{aerationJob.tfkssj | date:'yyyy-MM-dd'}}</td>
65
+											<td>{{aerationJob.tfjssj | date:'yyyy-MM-dd'}}</td>
66
+											<td>{{aerationJob.tfzyfzr}}</td>
67
+											<td>
68
+													<a href-void ng-click="edit(aerationJob.id, 'view', '1')">
69
+													    <i class="fa fa-info-circle"></i>查看
70
+												    </a>
71
+												    <span ng-show="funcType==1 && aerationJob.dataStatus == 0">
72
+														<a has-permission="704" href-void ng-click="edit(aerationJob.id, 'update', '1')">
73
+														    <i class="fa fa-info-circle"></i>修改
74
+													    </a>
75
+													    <a has-permission="705"  ng-click="remove(aerationJob.id)">
76
+															<i class="fa fa-trash-o"></i>删除
77
+														</a>
78
+												    </span>
79
+											</td>
80
+										</tr>
81
+									</tbody>
82
+								</table>
83
+								<div smart-include="app/layout/partials/page.tpl.html"></div>
84
+							</div>
85
+						</div>
86
+					</div>
87
+				</div>
88
+			</article>
89
+		</div>
90
+
91
+	</section>
92
+
93
+</div>

+ 87 - 57
src/main/resources/static/app/intelligent/fumigation/controller/fumHomeWorkCtrl.js

@@ -161,7 +161,16 @@ angular.module('app.intelligent')
161 161
 
162 162
                 $scope.fumigationProcess.fumigationId = id;
163 163
                 $scope.fumigationProcess.operationSupervisor = $scope.fumigation.xzzyfzr;
164
-
164
+                $scope.fumigationProcess.djcxz = parseInt($scope.fumigation.yxzcs)+1;
165
+                $scope.fumigationProcess.createTime = $filter('date')(new Date(), "yyyy-MM-dd HH:mm:ss");
166
+                $scope.fumigationProcess.cjr = $rootScope.userInfo.realName;
167
+
168
+                $scope.drug = data.drugUse;
169
+                $scope.fumigationProcess.yjlysqbh = $scope.drug.applyNumber;
170
+                $scope.fumigationProcess.yjmc = $scope.drug.drugName;
171
+                $scope.fumigationProcess.jx = $scope.drug.drugType;
172
+                $scope.fumigationProcess.lyhjzl = $scope.drug.totalNumber;
173
+                
165 174
             },function(data){
166 175
                 console.log(data);
167 176
             });
@@ -213,51 +222,6 @@ angular.module('app.intelligent')
213 222
                 return this.optional(element)|| true;
214 223
             }
215 224
         },"不能填写无,暂无,空等选项!");
216
-        
217
-        $scope.countSqts = function() {
218
-        	var sqksrq = null;
219
-        	var sqjsrq = null;
220
-        	$("input[name='bulkStartTime']").each(function(j,item){
221
-                if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
222
-                	sqksrq = $filter('date')(item.value.substring(0,10), "yyyy-MM-dd");
223
-                	sqksrq = sqksrq.split('-');
224
-                }
225
-            });
226
-            $("input[name='bulkEndTime']").each(function(j,item){
227
-                if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
228
-                	sqjsrq = $filter('date')(item.value.substring(0,10), "yyyy-MM-dd");
229
-                	sqjsrq = sqjsrq.split('-');
230
-                }
231
-            });
232
-            if (null != sqksrq && "undefined" != sqksrq && sqjsrq != null && "undefined" != sqjsrq) {
233
-            	var sqksrq_int = new Date(sqksrq[0], sqksrq[1]-1, sqksrq[2]);
234
-            	var sqjsrq_int = new Date(sqjsrq[0], sqjsrq[1]-1, sqjsrq[2]);
235
-            	var day = parseInt(Math.abs(sqjsrq_int-sqksrq_int) / (1000 * 60 * 60 * 24));
236
-            	$scope.fumigationProcess.perforatedDays = day+1;
237
-            }
238
-        }
239
-        
240
-        // 自定义验证:实际散气开始日期
241
-        $.validator.addMethod("sjsqkssj",function(value,element, params) {
242
-        	//var xzsykssj = $filter('date')($scope.fumigation.fumigationStart, "yyyy-MM-dd HH:mm:ss");
243
-        	var xzsyjssj = $filter('date')($scope.fumigation.fumigationEnd, "yyyy-MM-dd HH:mm:ss");
244
-        	//实际散气开始时间
245
-        	var sjsqkssj = $filter('date')(value, "yyyy-MM-dd HH:mm:ss");
246
-        	//实际散气结束时间
247
-        	var sjsqjssj = $filter('date')($scope.fumigationProcess.bulkEndTime, "yyyy-MM-dd HH:mm:ss");
248
-            if(sjsqkssj < xzsyjssj){
249
-                return this.optional(element)|| false;
250
-            }else{
251
-            	$scope.countSqts();
252
-                return this.optional(element)|| true;
253
-            }
254
-        }, "实际散气开始时间不的早于熏蒸作业施药结束时间,可以等于!");
255
-
256
-        // 自定义验证:实际散气结束时间
257
-        $.validator.addMethod("sjsqjssj",function(value,element, params) {
258
-        	$scope.countSqts();
259
-            return this.optional(element)|| true;
260
-        }, "");
261 225
 
262 226
         // 返回.
263 227
         $scope.retList = function () {
@@ -265,12 +229,24 @@ angular.module('app.intelligent')
265 229
         };
266 230
 
267 231
         // 保存.
268
-        $scope.save = function () {
232
+        $scope.save = function (dataStatus) {
269 233
             if (!$scope.saveFlag) {
234
+            	if ($scope.fumigationProcess.totalUseDrugCount > $scope.fumigationProcess.lyhjzl || $scope.fumigationProcess.totalUseDrugCount > $scope.fumigation.jhyyl) {
235
+            		var flag = confirm("实际使用总量已超过领用合计总量或计划用药量,确定要提交吗?");
236
+                    if (!flag) {
237
+                        return;
238
+                    }
239
+            	}
270 240
                 if (validator.form()) {
271 241
                     // 设置saveFlag为true,防止重复提交.
272 242
                     $scope.saveFlag = true;
243
+                    $scope.fumigationProcess.dataStatus = dataStatus;
273 244
 
245
+                    $("input[name='createTime']").each(function(j,item){
246
+                        if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
247
+                            $scope.fumigationProcess.createTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
248
+                        }
249
+                    });
274 250
                     $("input[name='firstUseDrugTime']").each(function(j,item){
275 251
                         if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
276 252
                             $scope.fumigationProcess.firstUseDrugTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
@@ -488,13 +464,6 @@ angular.module('app.intelligent')
488 464
         $scope.loadAddDataById = function(id) {//新增
489 465
             fumigationPlanService.getFumigationPlanRecord(id).then(function(data){
490 466
                 $scope.fumigation = data.record;
491
-                $scope.hc_num = $scope.fumigation.zyhc.split("#");
492
-
493
-                //处理主要虫害的展示方式
494
-                for (var i = 0; i< $scope.hc_num.length; i++) {
495
-                    $scope.hc_num[i] = $rootScope.dicData[$scope.hc_num[i]];
496
-                }
497
-                $scope.zyhcs = $scope.hc_num.join("|"); //把数组用“,”隔开,以字符串的方式返回
498 467
 
499 468
                 $scope.fumigationAfter.fumigationId = id;
500 469
                 $scope.fumigationAfter.recordId = $scope.fumigation.id;
@@ -531,6 +500,13 @@ angular.module('app.intelligent')
531 500
             var checkNumber = /^\d*\.{0,1}\d{1,2}$/g;
532 501
             return this.optional(element)||(checkNumber.test(value));
533 502
         },"请输入正确的数字类型,最多两位小数!");
503
+        
504
+        // 自定义验证,验证正数数字
505
+        $.validator.addMethod("positiveNumber",function(value,element, params) {
506
+            //var checkNumber = /^\d*\.{0,1}\d{1,2}$/g;
507
+            var checkNumber =/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/g;
508
+            return this.optional(element)||(checkNumber.test(value));
509
+        },"请输入大于0的数字,最多两位小数!");
534 510
 
535 511
         // 自定义验证,验证数字
536 512
         $.validator.addMethod("validInteger",function(value,element, params) {
@@ -551,7 +527,7 @@ angular.module('app.intelligent')
551 527
                 return this.optional(element)|| true;
552 528
             }
553 529
         },"不能填写无,暂无,空等选项!");
554
-        
530
+
555 531
         // 自定义验证:实际残渣收集作业开始时间
556 532
         $.validator.addMethod("sjczsjzykssj",function(value,element, params) {
557 533
         	//实际残渣收集作业开始时间
@@ -565,18 +541,72 @@ angular.module('app.intelligent')
565 541
             }
566 542
         },"实际残残渣收集开始时间不得早于实际散气结束时间!");
567 543
 
544
+        $scope.countSqts = function() {
545
+        	var sqksrq = null;
546
+        	var sqjsrq = null;
547
+        	$("input[name='bulkStartTime']").each(function(j,item){
548
+                if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
549
+                	sqksrq = $filter('date')(item.value.substring(0,10), "yyyy-MM-dd");
550
+                	sqksrq = sqksrq.split('-');
551
+                }
552
+            });
553
+            $("input[name='bulkEndTime']").each(function(j,item){
554
+                if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
555
+                	sqjsrq = $filter('date')(item.value.substring(0,10), "yyyy-MM-dd");
556
+                	sqjsrq = sqjsrq.split('-');
557
+                }
558
+            });
559
+            if (null != sqksrq && "undefined" != sqksrq && sqjsrq != null && "undefined" != sqjsrq) {
560
+            	var sqksrq_int = new Date(sqksrq[0], sqksrq[1]-1, sqksrq[2]);
561
+            	var sqjsrq_int = new Date(sqjsrq[0], sqjsrq[1]-1, sqjsrq[2]);
562
+            	var day = parseInt(Math.abs(sqjsrq_int-sqksrq_int) / (1000 * 60 * 60 * 24));
563
+            	$scope.fumigationProcess.perforatedDays = day+1;
564
+            }
565
+        }
566
+
567
+        // 自定义验证:实际散气开始日期
568
+        $.validator.addMethod("sjsqkssj",function(value,element, params) {
569
+        	//实际施药结束时间
570
+        	var xzsyjssj = $filter('date')($scope.fumigation.fumigationEnd, "yyyy-MM-dd HH:mm:ss");
571
+        	//实际散气开始时间
572
+        	var sjsqkssj = $filter('date')(value, "yyyy-MM-dd HH:mm:ss");
573
+            if(sjsqkssj < xzsyjssj){
574
+                return this.optional(element)|| false;
575
+            }else{
576
+            	$scope.countSqts();
577
+                return this.optional(element)|| true;
578
+            }
579
+        }, "实际散气开始时间不的早于熏蒸作业施药结束时间,可以等于!");
580
+
581
+        // 自定义验证:实际散气结束时间
582
+        $.validator.addMethod("sjsqjssj",function(value,element, params) {
583
+        	$scope.countSqts();
584
+            return this.optional(element)|| true;
585
+        }, "");
586
+        
568 587
         // 返回.
569 588
         $scope.retList = function () {
570 589
             $rootScope.back();
571 590
         };
572 591
 
573 592
         // 保存.
574
-        $scope.save = function () {
593
+        $scope.save = function (datastatus) {
575 594
             if (!$scope.saveFlag) {
576 595
                 if (validator.form()) {
577 596
                     // 设置saveFlag为true,防止重复提交.
578 597
                     $scope.saveFlag = true;
579 598
 
599
+                    $scope.fumigationAfter.dataStatus = datastatus;
600
+                    $("input[name='bulkStartTime']").each(function(j,item){
601
+                        if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
602
+                            $scope.fumigationProcess.bulkStartTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
603
+                        }
604
+                    });
605
+                    $("input[name='bulkEndTime']").each(function(j,item){
606
+                        if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
607
+                            $scope.fumigationProcess.bulkEndTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
608
+                        }
609
+                    });
580 610
                     $("input[name='checkInsectCageTime']").each(function(j,item){
581 611
                         if(item.value != '' && item.value != null && typeof item.value != 'undefined'){
582 612
                             $scope.fumigationAfter.checkInsectCageTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
@@ -597,7 +627,7 @@ angular.module('app.intelligent')
597 627
                     //$scope.fumigationAfter.recordId = $stateParams.homeWorkId;
598 628
                     $scope.fumigationAfter.createTime = $filter('date')($scope.fumigationAfter.createTime, "yyyy-MM-dd HH:mm:ss");
599 629
 
600
-                    homeWorkService.saveFumigationAfterDate($scope.fumigationAfter).then(function(data){
630
+                    homeWorkService.saveFumigationAfterDate($scope.fumigationAfter, $scope.fumigationProcess).then(function(data){
601 631
                         if(data.status == "success"){
602 632
                             alert("保存成功!");
603 633
                             $scope.retList();

+ 3 - 2
src/main/resources/static/app/intelligent/fumigation/service/fumHomeWorkService.js

@@ -126,13 +126,14 @@ angular.module('app.intelligent').service("homeWorkService", function($http, $q,
126 126
     };
127 127
 
128 128
     // 新增/修改熏蒸善后数据
129
-    this.saveFumigationAfterDate = function (fumigationAfter) {
129
+    this.saveFumigationAfterDate = function (fumigationAfter, fumigationProcess) {
130 130
         var d = $q.defer();
131 131
         $http({
132 132
             method : 'POST',
133 133
             url : APP_CONFIG.depotStorageUrl + '/storage/fumigationAfter/saveFumigationAfterDate',
134 134
             params : {
135
-                fumigationAfter : fumigationAfter
135
+            	fumigationProcess : fumigationProcess,
136
+            	fumigationAfter : fumigationAfter
136 137
             }
137 138
         }).then(function successCallback(response) {
138 139
             // 请求成功执行代码

+ 33 - 24
src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkAfter-edit.html

@@ -90,8 +90,8 @@
90 90
                                                 <th>
91 91
                                                     <section>
92 92
                                                         <label class="input">
93
-                                                            <input class="form-control" type="text" ng-model="zyhcs"
94
-                                                                   ng-readonly="true" name="zyhcs">
93
+                                                            <input class="form-control" type="text" ng-model="fumigation.zyhc"
94
+                                                                   ng-readonly="true" name="zyhc">
95 95
                                                         </label>
96 96
                                                     </section>
97 97
                                                 </th>
@@ -124,24 +124,34 @@
124 124
                                                     <label class="label" style="margin-top: 50%;text-align: center;">散气情况</label>
125 125
                                                 </th>
126 126
                                                 <th>
127
-                                                    <label label class="label" style="margin-top: 9px;text-align: center;">实际散气开始时间</label>
127
+                                                    <label label class="label" style="margin-top: 9px;text-align: center;">熏蒸作业终止日期:(同散气起始日期)</label>
128 128
                                                 </th>
129 129
                                                 <th>
130 130
                                                     <section>
131 131
                                                         <label class="input">
132
-                                                            <input type="text" class="form-control" ng-model="fumigationProcess.bulkStartTime" name="bulkStartTime"
133
-                                                                   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" ng-disabled="true">
132
+                                                            <input type="text" class="form-control" ng-model="fumigation.fumigationEnd" name="fumigationEnd" ng-disabled="true">
134 133
                                                         </label>
135 134
                                                     </section>
136 135
                                                 </th>
137 136
                                                 <th>
138
-                                                    <label label class="label" style="margin-top: 9px;text-align: center;">实际散气结束时间</label>
137
+                                                    <label label class="label" style="margin-top: 9px;text-align: center;">实际散气开始时间<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
139 138
                                                 </th>
140 139
                                                 <th>
141 140
                                                     <section>
142 141
                                                         <label class="input">
143
-                                                            <input type="text" class="form-control" ng-model="fumigationProcess.bulkEndTime" name="bulkEndTime"
144
-                                                                   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" ng-disabled="true">
142
+                                                            <input type="text" class="form-control" ng-model="fumigationProcess.bulkStartTime" name="bulkStartTime" id="bulkStartTime"
143
+                                                                   onClick="WdatePicker({lang:'zh-cn', maxDate:'#F{$dp.$D(\'bulkEndTime\')}', dateFmt:'yyyy-MM-dd HH:mm:ss'})" ng-disabled="isNotEdit" sjsqkssj=true required>
144
+                                                        </label>
145
+                                                    </section>
146
+                                                </th>
147
+                                                <th>
148
+                                                    <label label class="label" style="margin-top: 9px;text-align: center;">实际散气结束时间<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
149
+                                                </th>
150
+                                                <th>
151
+                                                    <section>
152
+                                                        <label class="input">
153
+                                                            <input type="text" class="form-control" ng-model="fumigationProcess.bulkEndTime" name="bulkEndTime" id="bulkEndTime"
154
+                                                                   onClick="WdatePicker({lang:'zh-cn', minDate:'#F{$dp.$D(\'bulkStartTime\')}', dateFmt:'yyyy-MM-dd HH:mm:ss'})" ng-disabled="isNotEdit" sjsqjssj=true required>
145 155
                                                         </label>
146 156
                                                     </section>
147 157
                                                 </th>
@@ -152,10 +162,12 @@
152 162
                                                     <section>
153 163
                                                         <label class="input">
154 164
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.perforatedDays"
155
-                                                                   ng-readonly="true" name="perforatedDays" />
165
+                                                                   ng-readonly="true" name="perforatedDays" validInteger="true" required />
156 166
                                                         </label>
157 167
                                                     </section>
158 168
                                                 </th>
169
+                                            </tr>
170
+                                            <tr>
159 171
                                                 <th>
160 172
                                                     <label label class="label" style="margin-top: 9px;text-align: center;">密闭时间(天)</label>
161 173
                                                 </th>
@@ -163,12 +175,10 @@
163 175
                                                     <section>
164 176
                                                         <label class="input">
165 177
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.closedTime"
166
-                                                                   ng-readonly="true" name="closedTime">
178
+                                                                   ng-readonly="isNotEdit" name="closedTime" validInteger="true" />
167 179
                                                         </label>
168 180
                                                     </section>
169 181
                                                 </th>
170
-                                            </tr>
171
-                                            <tr>
172 182
                                                 <th>
173 183
                                                     <label label class="label" style="margin-top: 9px;text-align: center;">CT值</label>
174 184
                                                 </th>
@@ -176,7 +186,7 @@
176 186
                                                     <section>
177 187
                                                         <label class="input">
178 188
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.ctValue"
179
-                                                                   ng-readonly="true" name="ctValue">
189
+                                                                   ng-readonly="isNotEdit" name="ctValue" positiveNumber="true">
180 190
                                                         </label>
181 191
                                                     </section>
182 192
                                                 </th>
@@ -187,7 +197,7 @@
187 197
                                                     <section>
188 198
                                                         <label class="input">
189 199
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.perforatedBefore"
190
-                                                                   ng-readonly="true" name="perforatedBefore" validNumber="true" />
200
+                                                                   ng-readonly="isNotEdit" name="perforatedBefore" positiveNumber="true" />
191 201
                                                         </label>
192 202
                                                     </section>
193 203
                                                 </th>
@@ -198,10 +208,12 @@
198 208
                                                     <section>
199 209
                                                         <label class="input">
200 210
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.perforatedEnd"
201
-                                                                   ng-readonly="true" name="perforatedEnd" validNumber="true" />
211
+                                                                   ng-readonly="isNotEdit" name="perforatedEnd" positiveNumber="true" />
202 212
                                                         </label>
203 213
                                                     </section>
204 214
                                                 </th>
215
+                                            </tr>
216
+                                            <tr>
205 217
                                                 <th>
206 218
                                                     <label label class="label" style="margin-top: 9px;text-align: center;">散气方法<span style="color: red;">*</span></label>
207 219
                                                 </th>
@@ -209,12 +221,10 @@
209 221
                                                     <section>
210 222
                                                         <label class="input">
211 223
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.bulkGasType"
212
-                                                                   ng-readonly="true" name="bulkGasType" />
224
+                                                                   ng-readonly="isNotEdit" name="bulkGasType" required />
213 225
                                                         </label>
214 226
                                                     </section>
215 227
                                                 </th>
216
-                                            </tr>
217
-                                            <tr>
218 228
                                                 <th>
219 229
                                                     <label label class="label" style="margin-top: 9px;text-align: center;">药剂残留率(ppm)</label>
220 230
                                                 </th>
@@ -222,7 +232,7 @@
222 232
                                                     <section>
223 233
                                                         <label class="input">
224 234
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.drugResidueRate"
225
-                                                                   ng-readonly="true" name="drugResidueRate" validNumber="true" />
235
+                                                                   ng-readonly="isNotEdit" name="drugResidueRate" validNumber="true" />
226 236
                                                         </label>
227 237
                                                     </section>
228 238
                                                 </th>
@@ -233,7 +243,7 @@
233 243
                                                     <section>
234 244
                                                         <label class="input">
235 245
                                                             <input class="form-control" type="text" ng-model="fumigationProcess.perforatedApprover"
236
-                                                                   ng-readonly="true" name="perforatedApprover" />
246
+                                                                   ng-readonly="isNotEdit" name="perforatedApprover" setState="true" />
237 247
                                                         </label>
238 248
                                                     </section>
239 249
                                                 </th>
@@ -244,12 +254,10 @@
244 254
 						                            <section>
245 255
 						                                <label class="input">
246 256
 						                                    <input class="form-control" type="text" ng-model="fumigationProcess.remark"
247
-						                                     ng-readonly="true" name="remark" />
257
+						                                     ng-readonly="isNotEdit" name="remark" />
248 258
 						                                </label>
249 259
 						                            </section>
250 260
 						                        </th>
251
-						                        <th></th>
252
-						                        <th></th>
253 261
                                             </tr>
254 262
                                         </table>
255 263
 
@@ -536,7 +544,8 @@
536 544
                                 </fieldset>
537 545
                                 <footer class="text-align-center" >
538 546
                                     <button type="button" class="btn btn-default" ng-click="retList()">取消</button>
539
-                                    <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save()">保存</button>
547
+                                    <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save(0)">保存</button>
548
+                                    <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save(1)">提交</button>
540 549
                                 </footer>
541 550
                                 <div id="dtBox"></div><!-- 时间控件:有时分秒 -->
542 551
                             </form>

+ 1 - 1
src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkAfter-list.html

@@ -60,7 +60,7 @@
60 60
                                         <td style="text-align:center;">{{ dicData[afterPlan.drugname] }}</td>
61 61
                                         <td style="text-align:center;">{{ afterPlan.createtime | date:'yyyy-MM-dd HH:mm:ss' }}</td>
62 62
                                         <td style="text-align:center;">
63
-                                            <a href-void has-permission="609" ng-click="getAddAndEdit('edit',afterPlan.id, afterPlan.recordid)"><i class=""></i>修改</a>
63
+                                            <a href-void has-permission="609" ng-hide="afterPlan.datastatus=='1'" ng-click="getAddAndEdit('edit',afterPlan.id, afterPlan.recordid)"><i class=""></i>修改</a>
64 64
 <!--                                             <a href-void has-permission="610" ng-click="removeDetail(afterPlan.id,afterPlan.recordid)"><i class=""></i>删除</a> -->
65 65
                                             <a href-void ng-click="getAddAndEdit('detail',afterPlan.id)"><i class=""></i>详情</a>
66 66
                                         </td>

+ 155 - 74
src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkProcess-edit.html

@@ -30,7 +30,7 @@
30 30
                     <table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0" >
31 31
                       <!--第一个tr开始 -->
32 32
                       <tr>
33
-                        <th rowspan="3" width="10%">
33
+                        <th rowspan="5" width="10%">
34 34
                           <label class="label" style="margin-top: 50%; text-align: center">作业基本情况</label>
35 35
                         </th>
36 36
                         <th width="15%">
@@ -88,8 +88,8 @@
88 88
                         <th>
89 89
                           <section>
90 90
                             <label class="input">
91
-                              <input class="form-control" type="text" ng-model="fumigation.fumigationStart"
92
-                                ng-readonly="true" name="fumigationStart" required />
91
+                              <input class="form-control" type="text" ng-model="fumigation.sykssj"
92
+                                ng-readonly="true" name="sykssj" required />
93 93
                             </label>
94 94
                           </section>
95 95
                         </th>
@@ -99,13 +99,45 @@
99 99
                         <th>
100 100
                           <section>
101 101
                             <label class="input">
102
-                              <input class="form-control" type="text" ng-model="fumigation.fumigationEnd"
103
-                                ng-readonly="true" name="fumigationEnd" required />
102
+                              <input class="form-control" type="text" ng-model="fumigation.syjssj"
103
+                                ng-readonly="true" name="syjssj" required />
104 104
                             </label>
105 105
                           </section>
106 106
                         </th>
107 107
                       </tr>
108 108
                       <tr>
109
+                          <th>
110
+                              <label class="label" style="margin-top: 9px; text-align: center">粮食性质</label>
111
+                          </th>
112
+                          <th>
113
+                              <section>
114
+                                  <label class="input">
115
+                                      <input class="form-control" type="text" ng-model="dicData[fumigation.lyxz]" ng-disabled="true" name="lyxz" />
116
+                                  </label>
117
+                              </section>
118
+                          </th>
119
+                          <th>
120
+                              <label class="label" style="margin-top: 9px; text-align: center">主要虫害</label>
121
+                          </th>
122
+                          <th>
123
+                              <section>
124
+                                  <label class="input">
125
+                                      <input class="form-control" type="text" ng-model="fumigation.zyhc" ng-disabled="true" name="zyhc" />
126
+                                  </label>
127
+                              </section>
128
+                          </th>
129
+                          <th>
130
+                              <label class="label" style="margin-top: 9px; text-align: center">害虫密度(头/kg)</label>
131
+                          </th>
132
+                          <th>
133
+                              <section>
134
+                                  <label class="input">
135
+                                      <input class="form-control" type="text" ng-model="fumigation.ckmd" ng-disabled="true" name="ckmd" />
136
+                                  </label>
137
+                              </section>
138
+                          </th>
139
+                      </tr>
140
+                      <tr>
109 141
                         <th>
110 142
                           <label class="label" style="margin-top: 9px; text-align: center">熏蒸作业负责人</label>
111 143
                         </th>
@@ -119,48 +151,139 @@
119 151
                         <th>
120 152
                           <label class="label" style="margin-top: 9px; text-align: center">熏蒸作业人员</label>
121 153
                         </th>
122
-                        <th>
154
+                        <th colspan="3">
123 155
                           <section>
124 156
                             <label class="input">
125 157
                               <input class="form-control" type="text" ng-model="fumigationProcess.xzczry" ng-disabled="isNotEdit" name="xzczry" />
126 158
                             </label>
127 159
                           </section>
128 160
                         </th>
129
-                        <th></th>
130
-                        <th></th>
161
+                      </tr>
162
+                      <tr>
163
+                          <th>
164
+                              <label class="label" style="margin-top: 9px; text-align: center">创建人</label>
165
+                          </th>
166
+                          <th>
167
+                              <section>
168
+                                  <label class="input">
169
+                                      <input class="form-control" type="text" ng-model="fumigationProcess.cjr" ng-disabled="true" name="cjr" />
170
+                                  </label>
171
+                              </section>
172
+                          </th>
173
+                          <th>
174
+                              <label class="label" style="margin-top: 9px; text-align: center">创建时间</label>
175
+                          </th>
176
+                          <th>
177
+                              <section>
178
+                                  <label class="input">
179
+                                      <input type="text" class="form-control" ng-model="fumigationProcess.createTime" name="createTime"
180
+                                onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" ng-disabled="isNotEdit" required />
181
+                                  </label>
182
+                              </section>
183
+                          </th>
184
+                          <th></th>
185
+                          <th></th>
131 186
                       </tr>
132 187
                     </table>
133 188
                 </fieldset>
134 189
 
190
+				<header>
191
+                  <h3>
192
+                    <strong>熏蒸方式</strong>
193
+                  </h3>
194
+                </header>
195
+                <fieldset>
196
+                    <table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0" >
197
+                        <tr>
198
+                          <th rowspan="2" style="text-align: center"><label style="margin-top: 12%;text-align: center">熏蒸方式</label></th>
199
+                          <th><label style="text-align: center">常规熏蒸</label></th>
200
+                          <th><label style="text-align: center">环流熏蒸</label></th>
201
+                          <th><label style="text-align: center">环流熏蒸与内环流技术结合</label></th>
202
+                        </tr>
203
+                        <tr>
204
+                          <td style="text-align: center">
205
+                              <label class="select" style="text-align: left;" ng-if="fumigation.xzfs=='5245'">
206
+								  <select ng-model="fumigation.xzfsxl" ng-options="enum.enumid as enum.enumname for enum in dicDataList[5245]" ng-disabled="true">
207
+								  </select>
208
+							  </label>
209
+						  </td>
210
+                          <td style="text-align: center">
211
+                              <label class="select" style="text-align: left;" ng-if="fumigation.xzfs=='5246'" ng-disabled="true">
212
+								  <select ng-model="fumigation.xzfsxl" ng-options="enum.enumid as enum.enumname for enum in dicDataList[5246]">
213
+								  </select>
214
+							  </label>
215
+                          </td>
216
+                          <td style="text-align: center">
217
+                              <label class="select" style="text-align: left;" ng-if="fumigation.xzfs=='5248'" ng-disabled="true">
218
+								  <select ng-model="fumigation.xzfsxl" ng-options="enum.enumid as enum.enumname for enum in dicDataList[5248]">
219
+								  </select>
220
+							  </label>
221
+                          </td>
222
+                        </tr>
223
+                    </table>
224
+                </fieldset>
135 225
                 <header>
136 226
                   <h3>
137
-                    <strong>计划施药情况</strong>
227
+                    <strong>施药情况</strong>
138 228
                   </h3>
139 229
                 </header>
140 230
                 <fieldset>
141 231
                     <table class="table table-striped table-bordered table-hover">
142
-                      <thead>
143 232
                         <tr>
144
-                          <th data-class="expand" style="text-align: center">药剂名称</th>
145
-                          <th data-class="expand" style="text-align: center">剂型</th>
146
-                          <th data-class="expand" style="text-align: center">浓度</th>
147
-                          <th data-class="expand" style="text-align: center">施药方法</th>
148
-                          <th data-class="expand" style="text-align: center">堆粮单位用药量(g/m3)</th>
149
-                          <th data-class="expand" style="text-align: center">空间单位用药量(g/m3)</th>
150
-                          <th data-class="expand" style="text-align: center">总用药量(kg)</th>
233
+                            <th><label class="label" style="text-align: center;">药剂领用申请编号</label></th>
234
+                            <th><label class="label" style="text-align: center;">{{fumigationProcess.yjlysqbh}}</label></th>
235
+                            <th><label class="label" style="text-align: center;">药剂名称</label></th>
236
+                            <th><label class="label" style="text-align: center;">{{dicData[fumigationProcess.yjmc]}}</label></th>
237
+                            <th><label class="label" style="text-align: center;">剂型</label></th>
238
+                            <th><label class="label" style="text-align: center;">{{dicData[fumigationProcess.jx]}}</label></th>
151 239
                         </tr>
152
-                      </thead>
153
-                      <tbody>
154 240
                         <tr>
155
-                          <td style="text-align: center">{{ dicData[fumigation.yjmc] }}</td>
156
-                          <td style="text-align: center">{{ dicData[fumigation.jx] }}</td>
157
-                          <td style="text-align: center">{{ fumigation.nd }}</td>
158
-                          <td style="text-align: center">{{ fumigation.syff }}</td>
159
-                          <td style="text-align: center">{{ fumigation.lddwyyl }}</td>
160
-                          <td style="text-align: center">{{ fumigation.kjdwyyl }}</td>
161
-                          <td style="text-align: center">{{ fumigation.zyyl }}</td>
241
+                            <th><label class="label" style="text-align: center;">领用合计总量</label></th>
242
+                            <th><label class="label" style="text-align: center;">{{fumigationProcess.lyhjzl}}</label></th>
243
+                            <th><label class="label" style="text-align: center;">计划用药量</label></th>
244
+                            <th><label class="label" style="text-align: center;">{{fumigation.jhyyl}}</label></th>
245
+                            <th><label class="label" style="text-align: center;">实际使用总量(kg)<apan style="color: red;">*</apan></label></th>
246
+                            <th>
247
+                                <label class="input" style="text-align: center;">
248
+                                    <input class="form-control" type="text" ng-model="fumigationProcess.totalUseDrugCount" ng-readonly="isNotEdit" name="totalUseDrugCount" required />
249
+                                </label>
250
+                            </th>
251
+                        </tr>
252
+                        <tr>
253
+                            <th><label class="label" style="text-align: center;">施药方式</label></th>
254
+                            <th>
255
+                                <label class="label" style="text-align: center;">
256
+                                    <div ng-switch="fumigation.syff">
257
+	                                    <div ng-switch-when="0">潮解法</div>
258
+	                                    <div ng-switch-when="1">仓外发生器</div>
259
+	                                    <div ng-switch-when="2">钢瓶气</div>
260
+	                                    <div ng-switch-default>{{fumigation.syff}}</div>
261
+	                                   </div>
262
+                                </label>
263
+                            </th>
264
+                            <th><label class="label" style="text-align: center;">堆量单位用药量(g/m³)<apan style="color: red;">*</apan></label></th>
265
+                            <th>
266
+                                <label class="label" style="text-align: center;">
267
+                                    <label class="input" style="text-align: center;">
268
+	                                    <input type="text" ng-model="fumigationProcess.heapMedication" name="heapMedication" ng-readonly="isNotEdit" required />
269
+	                                </label>
270
+                                </label>
271
+                            </th>
272
+                            <th><label class="label" style="text-align: center;">空间单位用药量(g/m3)<apan style="color: red;">*</apan></label></th>
273
+                            <th>
274
+                                <label class="input" style="text-align: center;">
275
+                                    <input type="text" ng-model="fumigationProcess.spaceMedication" name="spaceMedication" ng-readonly="isNotEdit" required />
276
+                                </label>
277
+                            </th>
278
+                        </tr>
279
+                        <tr>
280
+                            <th><label class="label" style="text-align: center;">浓度(%)<apan style="color: red;">*</apan></label></th>
281
+                            <th colspan="5">
282
+                                <label class="input" style="text-align: center;">
283
+                                    <input type="text" ng-model="fumigationProcess.concentration" name="concentration" ng-readonly="isNotEdit" required />
284
+                                </label>
285
+                            </th>
162 286
                         </tr>
163
-                      </tbody>
164 287
                     </table>
165 288
                 </fieldset>
166 289
 
@@ -983,8 +1106,8 @@
983 1106
                         </th>
984 1107
                       </tr>
985 1108
                     </table>
986
-                    <table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0">
987
-                      <!-- 散气情况 -->
1109
+                    <!-- <table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0">
1110
+                      散气情况
988 1111
                       <tr>
989 1112
                         <th rowspan="3" width="10%">
990 1113
                           <label class="label" style="margin-top: 50%; text-align: center" >散气情况</label>
@@ -1128,54 +1251,12 @@
1128 1251
                         <th></th>
1129 1252
                         <th></th>
1130 1253
                       </tr>
1131
-
1132
-                      <!-- 创建信息 -->
1133
-                      <tr ng-hide="!isNotEdit">
1134
-                        <th>
1135
-                          <label
1136
-                            label
1137
-                            class="label"
1138
-                            style="margin-top: 9px; text-align: center"
1139
-                            >创建信息</label
1140
-                          >
1141
-                        </th>
1142
-                        <th>
1143
-                          <label
1144
-                            label
1145
-                            class="label"
1146
-                            style="margin-top: 9px; text-align: center"
1147
-                            >创建时间</label
1148
-                          >
1149
-                        </th>
1150
-                        <th colspan="2">
1151
-                          <section>
1152
-                            <label label class="input" style="margin-top: 9px">
1153
-                              {{ fumigationProcess.createTime | date:'yyyy-MM-dd
1154
-                              HH:mm:ss' }}
1155
-                            </label>
1156
-                          </section>
1157
-                        </th>
1158
-                        <th>
1159
-                          <label
1160
-                            label
1161
-                            class="label"
1162
-                            style="margin-top: 9px; text-align: center"
1163
-                            >创建人</label
1164
-                          >
1165
-                        </th>
1166
-                        <th colspan="2">
1167
-                          <section>
1168
-                            <label label class="input" style="margin-top: 9px">
1169
-                              {{userInfoData[fumigationProcess.creater]}}
1170
-                            </label>
1171
-                          </section>
1172
-                        </th>
1173
-                      </tr>
1174
-                  </table>
1254
+                  </table> -->
1175 1255
                 </fieldset>
1176 1256
                 <footer class="text-align-center">
1177 1257
                   <button type="button" class="btn btn-default"ng-click="retList()">取消</button>
1178
-                  <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save()">保存</button>
1258
+                  <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save('0')">保存</button>
1259
+                  <button type="button" class="btn btn-primary" ng-hide="isNotEdit" ng-click="save('1')">提交</button>
1179 1260
                 </footer>
1180 1261
                 <div id="dtBox"></div>
1181 1262
                 <!-- 时间控件:有时分秒 -->

+ 2 - 0
src/main/resources/static/app/intelligent/fumigation/views/homework/fumHomeWorkProcess-list.html

@@ -62,7 +62,9 @@
62 62
                                         <td style="text-align:center;">{{ dicData[processPlan.drugname] }}</td>
63 63
                                         <td style="text-align:center;">{{ processPlan.createtime | date:'yyyy-MM-dd HH:mm:ss' }}</td>
64 64
                                         <td style="text-align:center;">
65
+                                            <span ng-show="processPlan.datastatus=='0'">
65 66
                                             <a ng-hide="isArchive" has-permission="605" href-void ng-click="getAddAndEdit('edit',processPlan.id, processPlan.recordid)"><i class=""></i>修改</a>
67
+                                            </span>
66 68
 <!--                                             <a ng-hide="isArchive" has-permission="606" href-void ng-click="removeDetail(processPlan.id,processPlan.fumigationId)"><i class=""></i>删除</a> -->
67 69
                                             <a href-void ng-click="getAddAndEdit('detail',processPlan.id, processPlan.recordid)"><i class=""></i>详情</a>
68 70
                                         </td>

+ 263 - 322
src/main/resources/static/app/intelligent/fumigation/views/plan/forRecord-edit.html

@@ -24,452 +24,393 @@
24 24
 
25 25
 								<fieldset>
26 26
 									<table style="width:70%; border-width:5px; margin-left:15%;position:relative;margin-right:15%;">
27
+										<header>
28
+										    <h5>熏蒸方案信息</h5>
29
+										</header>
27 30
 										<table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0;" >
28 31
 											<tr>
29
-												<th width='15%'>
30
-													<label class="label" style="margin-top: 9px;text-align: center;">申请日期</label>
32
+											    <th width='15%'>
33
+													<label class="label" style="text-align: center;">单位名称</label>
31 34
 												</th>
32 35
 												<th width='15%'>
33
-													<section >
34
-														<label class="input">
35
-															<input class="form-control" type="text" ng-model="fumForRecord.createTime"
36
-																   ng-readonly="true">
37
-														</label>
38
-													</section>
36
+													<label class="label">{{fumForRecord.dwmc}}</label>
39 37
 												</th>
40 38
 												<th>
41
-													<label class="label" style="margin-top: 9px;text-align: center;">熏蒸方案制定人</label>
39
+													<label class="label" style="text-align: center;">单位负责人</label>
42 40
 												</th>
43 41
 												<th width='15%'>
44
-													<section>
45
-														<label class="input">
46
-															<input class="form-control" type="text" ng-model="fumForRecord.xzfazd" name="xzfazd">
47
-														</label>
48
-													</section>
42
+													<label class="label">{{fumForRecord.dwfzr}}</label>
49 43
 												</th>
50 44
 												<th>
51
-													<label class="label" style="margin-top: 9px;text-align: center;">熏蒸方案起草人</label>
45
+													<label class="label" style="text-align: center;">联系电话</label>
52 46
 												</th>
53 47
 												<th width='15%'>
54
-													<section>
55
-														<label class="input">
56
-															<input class="form-control" type="text" ng-model="fumForRecord.xzfaqcr" name="xzfaqcr">
57
-														</label>
58
-													</section>
48
+													<label class="label">{{fumForRecord.dwlxdh}}</label>
59 49
 												</th>
60 50
 											</tr>
61 51
 											<tr>
62
-												<th>
63
-													<label class="label" style="margin-top: 9px;text-align: center;">制定人联系电话</label>
52
+												<th width='15%'>
53
+													<label class="label" style="margin-top: 9px;text-align: center;">熏蒸作业地点</label>
64 54
 												</th>
65 55
 												<th width='15%'>
66
-													<section>
67
-														<label class="input">
68
-															<input class="form-control" type="text" ng-model="fumForRecord.contactPhone" name="contactPhone">
69
-														</label>
70
-													</section>
56
+													<label class="label">{{fumForRecord.xzzydd}}</label>
71 57
 												</th>
72 58
 												<th width='15%'>
73
-													<label class="label" style="margin-top: 9px;text-align: center;">熏蒸作业地点</label>
59
+													<label class="label" style="text-align: center;">熏蒸方案负责人</label>
74 60
 												</th>
75 61
 												<th width='15%'>
76
-													<section >
77
-														<label class="input">
78
-															<input class="form-control" type="text" ng-model="fumForRecord.xzzydd" ng-readonly="true">
79
-														</label>
80
-													</section>
62
+													<label class="label">{{fumForRecord.xzfafzr}}</label>
81 63
 												</th>
82
-												<th>
83
-													<label class="label" style="margin-top: 9px;text-align: center;">熏蒸施药开始时间<span style="color: red;">*</span></label>
64
+												<th width='15%'>
65
+													<label class="label" style="text-align: center;">联系电话</label>
84 66
 												</th>
85 67
 												<th width='15%'>
86
-													<section>
87
-														<label class="input">
88
-															<input type="text" ng-model="fumForRecord.fumigationStart" name="fumigationStart"
89
-																   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" validDrugTime=true>
90
-														</label>
91
-													</section>
68
+													<label class="label">{{fumForRecord.fafzrlxdh}}</label>
92 69
 												</th>
93 70
 											</tr>
94 71
 											<tr>
95 72
 												<th>
96
-													<label class="label" style="margin-top: 9px;text-align: center;">熏蒸施药结束时间<span style="color: red;">*</span></label>
73
+													<label class="label" style="text-align: center;">熏蒸方案起草人</label>
97 74
 												</th>
98 75
 												<th width='15%'>
99
-													<section>
100
-														<label class="input">
101
-															<input type="text" ng-model="fumForRecord.fumigationEnd" name="fumigationEnd"
102
-																   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" validDrugTime=true>
103
-														</label>
104
-													</section>
76
+													<label class="label">{{fumForRecord.xzfaqcr}}</label>
105 77
 												</th>
106
-												<th>
107
-													<label class="label" style="margin-top: 9px;text-align: center;">预计散气开始时间<span style="color: red;">*</span></label>
78
+												<th width='15%'>
79
+													<label class="label" style="text-align: center;">起草人联系电话</label>
108 80
 												</th>
109 81
 												<th width='15%'>
110
-													<section>
111
-														<label class="input">
112
-															<input type="text" ng-model="fumForRecord.gasStart" name="gasStart"
113
-																   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
114
-														</label>
115
-													</section>
82
+													<label class="label">{{fumForRecord.qcrlxdh}}</label>
116 83
 												</th>
117 84
 												<th>
118
-													<label class="label" style="margin-top: 9px;text-align: center;">预计散气结束时间<span style="color: red;">*</span></label>
85
+													<label class="label" style="text-align: center;">熏蒸作业开始日期<span style="color: red;">*</span></label>
119 86
 												</th>
120 87
 												<th width='15%'>
121
-													<section>
122
-														<label class="input">
123
-															<input type="text" ng-model="fumForRecord.gasEnd" name="gasEnd"
124
-																   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
125
-														</label>
126
-													</section>
88
+													<label class="label">{{fumForRecord.fumigationStart}}</label>
127 89
 												</th>
90
+											</tr>
128 91
 											<tr>
129
-											    <th>
130
-													<label class="label" style="margin-top: 9px;text-align: center;">预计残渣收集开始时间<span style="color: red;">*</span></label>
92
+												<th>
93
+													<label class="label" style="text-align: center;">施药开始时间</label>
131 94
 												</th>
132 95
 												<th width='15%'>
133
-													<section>
134
-														<label class="input">
135
-															<input type="text" ng-model="fumForRecord.residueStart" name="residueStart"
136
-																   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
137
-														</label>
138
-													</section>
96
+													<label class="label">{{fumForRecord.sykssj}}</label>
139 97
 												</th>
140
-												<th>
141
-													<label class="label" style="margin-top: 9px;text-align: center;">预计残收集结束时间<span style="color: red;">*</span></label>
98
+											    <th>
99
+													<label class="label" style="text-align: center;">施药结束时间</label>
142 100
 												</th>
143 101
 												<th width='15%'>
144
-													<section>
145
-														<label class="input">
146
-															<input type="text" ng-model="fumForRecord.residueEnd" name="residueEnd"
147
-																   onClick="WdatePicker({lang:'zh-cn', dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
148
-														</label>
149
-													</section>
102
+													<label class="label">{{fumForRecord.syjssj}}</label>
150 103
 												</th>
151
-												<th>
152
-													<label class="label" style="margin-top: 9px;text-align: center;">常规熏蒸方式</label>
104
+												<th width='15%'>
105
+													<label class="label" style="text-align: center;">熏蒸作业终止日期:(同散气起始日期)</label>
153 106
 												</th>
154 107
 												<th width='15%'>
155
-													<section>
156
-														<label class="select">
157
-															<select ng-model="fumForRecord.cgxzfs" name="cgxzfs" ng-disabled="true">
158
-																<option value=""></option>
159
-																<option value="0">粮面潮解</option>
160
-																<option value="1">布袋埋藏</option>
161
-																<option value="2">探管</option>
162
-																<option value="3">综合施药</option>
163
-															</select><i></i>
164
-														</label>
165
-													</section>
108
+													<label class="label">{{fumForRecord.fumigationEnd}}</label>
166 109
 												</th>
110
+											</tr>
111
+										</table>
112
+										<header>
113
+										    <h5>熏蒸药剂信息</h5>
114
+										</header>
115
+										<table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0;" >
116
+											<thead>
167 117
 											<tr>
168
-												<th>
169
-													<label class="label" style="margin-top: 9px;text-align: center;">环流熏蒸方式</label>
118
+												<th data-class="expand" style="text-align:center;">药剂名称</th>
119
+												<th data-class="expand" style="text-align:center;">生产厂家(品牌)</th>
120
+												<th data-class="expand" style="text-align:center;">生产日期</th>
121
+												<th data-class="expand" style="text-align:center;">有效期</th>
122
+												<th data-class="expand" style="text-align:center;">领取数量(kg)</th>
123
+												<th data-class="expand" style="text-align:center;">领取人</th>
124
+												<th data-class="expand" style="text-align:center;">领取时间</th>
125
+												<th data-class="expand" style="text-align:center;">备注</th>
126
+											</tr>
127
+											</thead>
128
+											<tbody>
129
+											<tr>
130
+												<td style="text-align: center;">{{dicData[fumForRecord.yjmc]}}</td>
131
+												<td style="text-align: center;">{{fumForRecord.sccj}}</td>
132
+												<td style="text-align: center;">{{fumForRecord.scrq}}</td>
133
+												<td style="text-align: center;">{{fumForRecord.yxq}}</td>
134
+												<td style="text-align: center;">{{fumForRecord.lqsl}}</td>
135
+												<td style="text-align: center;">{{fumForRecord.yjlqr}}</td>
136
+												<td style="text-align: center;">{{fumForRecord.yjlqsj}}</td>
137
+												<td style="text-align: center;">{{fumForRecord.yjbz}}</td>
138
+											</tr>
139
+											</tbody>
140
+										</table>
141
+										<header>
142
+										    <h5>熏蒸 / 预熏蒸</h5>
143
+										</header>
144
+										<table class="table table-striped table-bordered table-hover" style="padding: 0;">
145
+										    <tr>
146
+										        <th>
147
+													<label class="label" style="text-align: center;">熏蒸对象</label>
148
+												</th>
149
+										    	<th>
150
+													<label class="label" style="text-align: center;">{{fumForRecord.cfmc}}</label>
151
+												</th>
152
+										        <th>
153
+													<label class="label" style="text-align: center;">熏蒸类型</label>
154
+												</th>
155
+										        <th>
156
+													<label class="label" style="text-align: center;">
157
+													    <div ng-switch="fumForRecord.xzlx">
158
+													        <div ng-switch-when="1">熏蒸</div>
159
+													        <div ng-switch-when="2">预熏蒸</div>
160
+													        <div ng-switch-when="3">空仓熏蒸</div>
161
+													        <div ng-switch-default>{{fumForRecord.syff}}</div>
162
+													    </div>
163
+													</label>
164
+												</th>
165
+										    </tr>
166
+										</table>
167
+										<table ng-show="fumForRecord.xzlx != '2'" class="table table-striped table-bordered table-hover" width="100%" style="padding: 0;" >
168
+											<tr>
169
+												<th style="width: 16%;">
170
+													<label class="label" style="text-align: center;">仓型</label>
170 171
 												</th>
171
-												<th width='15%'>
172
-													<section>
173
-														<label class="select">
174
-															<select ng-model="fumForRecord.hlxzfs" name="hlxzfs" ng-disabled="true">
175
-																<option value=""></option>
176
-																<option value="0">固定式布置形式</option>
177
-																<option value="1">移动式布置形式</option>
178
-															</select><i></i>
179
-														</label>
180
-													</section>
172
+												<th style="width: 16%;">
173
+													<label class="label" style="text-align: center;">{{fumForRecord.cflx}}</label>
181 174
 												</th>
182
-												<th>
183
-													<label class="label" style="margin-top: 9px;text-align: center;">环流熏蒸与内环流技术结合</label>
175
+												<th style="width: 16%;">
176
+													<label class="label" style="text-align: center;">粮食品种</label>
184 177
 												</th>
185
-												<th width='15%'>
186
-													<section>
187
-														<label class="select">
188
-															<select ng-model="fumForRecord.hlxzynhljsjh" name="hlxzynhljsjh" ng-disabled="true">
189
-																<option value=""></option>
190
-																<option value="0">分别使用_固定式</option>
191
-																<option value="1">分别使用_移动式</option>
192
-																<option value="2">二合一应用_单向控制</option>
193
-																<option value="3">二合一应用_双向控制</option>
194
-															</select><i></i>
195
-														</label>
196
-													</section>
178
+												<th style="width: 16%;">
179
+													<label class="label" style="text-align: center;">{{dicData[fumForRecord.lspz]}}</label>
197 180
 												</th>
198
-												<th>
199
-													<label class="label" style="margin-top: 9px;text-align: center;">害虫检测单号<span style="color: red;">*</span></label>
181
+												<th style="width: 16%;">
182
+													<label class="label" style="text-align: center;">粮油性质</label>
200 183
 												</th>
201
-												<th width='15%'>
202
-													<section>
203
-														<label class="input">
204
-															<input class="form-control" type="text" ng-model="fumForRecord.hcjcdh" ng-readonly="true">
205
-														</label>
206
-													</section>
184
+												<th style="width: 16%;">
185
+													<label class="label" style="text-align: center;">{{dicData[fumForRecord.lyxz]}}</label>
207 186
 												</th>
208 187
 											</tr>
209
-											<!--第一个tr结束 -->
210
-											<!--第二个tr开始 -->
211
-										</table>
212
-										<table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0;" >
213 188
 											<tr>
214
-												<th width='10%' rowspan="2">
215
-													<label class="label" style="margin-top: 15%;text-align: center;">熏蒸对象</label>
189
+												<th>
190
+													<label class="label" style="text-align: center;">粮食数量(吨)</label>
216 191
 												</th>
217 192
 												<th>
218
-													<label class="label" style="margin-top: 9px;text-align: center;">仓房名称</label>
193
+													<label class="label" style="text-align: center;">{{fumForRecord.lssl}}</label>
219 194
 												</th>
220 195
 												<th>
221
-													<label class="label" style="margin-top: 9px;text-align: center;">粮食品种</label>
196
+													<label class="label" style="text-align: center;">入库年月</label>
222 197
 												</th>
223 198
 												<th>
224
-													<label class="label" style="margin-top: 9px;text-align: center;">数量(吨)</label>
199
+													<label class="label" style="text-align: center;">{{fumForRecord.rkrq}}</label>
225 200
 												</th>
226 201
 												<th>
227
-													<label class="label" style="margin-top: 9px;text-align: center;">粮油性质</label>
202
+													<label class="label" style="text-align: center;">生产年份</label>
228 203
 												</th>
229 204
 												<th >
230
-													<label class="label" style="margin-top: 9px;text-align: center;">主要害虫</label>
231
-												</th>
232
-												<th>
233
-													<label class="label" style="margin-top: 9px;text-align: center;">虫口密度(头/公斤)</label>
205
+													<label class="label" style="text-align: center;">{{fumForRecord.scnf}}</label>
234 206
 												</th>
235 207
 											</tr>
236 208
 											<tr>
237 209
 												<th>
238
-													<section>
239
-														<label class="input">
240
-															<input class="form-control" type="text" ng-model="fumForRecord.cfmc"
241
-																   ng-readonly="true" name="cfmc" style="text-align: center;">
242
-														</label>
243
-													</section>
210
+													<label class="label" style="text-align: center;">堆装方式</label>
244 211
 												</th>
245 212
 												<th>
246
-													<section>
247
-														<label class="input">
248
-															<input class="form-control" type="text" ng-model="dicData[fumForRecord.lspz]"
249
-																   ng-readonly="true" name="lspz" style="text-align: center;">
250
-														</label>
251
-													</section>
213
+													<label class="label" style="text-align: center;">{{fumForRecord.dzfs}}</label>
252 214
 												</th>
253 215
 												<th>
254
-													<section>
255
-														<label class="input">
256
-															<input class="form-control" type="text" ng-model="fumForRecord.lssl"
257
-																   ng-readonly="true" name="lssl" style="text-align: center;">
258
-														</label>
259
-													</section>
216
+													<label class="label" style="text-align: center;">已熏蒸次数</label>
260 217
 												</th>
261 218
 												<th>
262
-													<section>
263
-														<label class="input">
264
-															<input class="form-control" type="text" ng-model="dicData[fumForRecord.lyxz]"
265
-																   ng-readonly="true" name="lyxz" style="text-align: center;">
266
-														</label>
267
-													</section>
219
+													<label class="label" style="text-align: center;">{{fumForRecord.yxzcs}}</label>
268 220
 												</th>
269 221
 												<th>
270
-													<section>
271
-														<label class="input">
272
-															<input class="form-control" type="text" ng-model="zyhcs" ng-readonly="true" name="zyhcs" style="text-align: center;">
273
-														</label>
274
-													</section>
222
+													<label class="label" style="text-align: center;">虫害检测单号</label>
275 223
 												</th>
276
-												<th>
277
-													<section>
278
-														<label class="input">
279
-															<input class="form-control" type="text" ng-model="fumForRecord.ckmd"
280
-																   ng-readonly="true" name="ckmd" style="text-align: center;">
281
-														</label>
282
-													</section>
224
+												<th >
225
+													<label class="label" style="text-align: center;">{{fumForRecord.hcjcdh}}</label>
283 226
 												</th>
284 227
 											</tr>
285
-										</table>
286
-
287
-										<table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0;" >
288 228
 											<tr>
289
-												<th width='10%' rowspan="2">
290
-													<label class="label" style="margin-top: 15%;text-align: center;">药剂信息</label>
229
+												<th>
230
+													<label class="label" style="text-align: center;">害虫种类</label>
231
+												</th>
232
+												<th>
233
+													<label class="label" style="text-align: center;">{{fumForRecord.zyhc}}</label>
234
+												</th>
235
+												<th>
236
+													<label class="label" style="text-align: center;">发现时间</label>
291 237
 												</th>
292 238
 												<th>
293
-													<label class="label" style="margin-top: 9px;text-align: center;">药剂名称</label>
239
+													<label class="label" style="text-align: center;">{{fumForRecord.hcfxsj}}</label>
294 240
 												</th>
295 241
 												<th>
296
-													<label class="label" style="margin-top: 9px;text-align: center;">剂型</label>
242
+													<label class="label" style="text-align: center;">虫害密度(头/kg)</label>
243
+												</th>
244
+												<th >
245
+													<label class="label" style="text-align: center;">{{fumForRecord.ckmd}}</label>
297 246
 												</th>
247
+											</tr>
248
+											<tr>
298 249
 												<th>
299
-													<label class="label" style="margin-top: 9px;text-align: center;">领取数量(kg)</label>
250
+													<label class="label" style="text-align: center;">发生部位</label>
300 251
 												</th>
301 252
 												<th>
302
-													<label class="label" style="margin-top: 9px;text-align: center;">浓度</label>
253
+													<label class="label" style="text-align: center;">{{fumForRecord.fsbw}}</label>
303 254
 												</th>
304 255
 												<th>
305
-													<label class="label" style="margin-top: 9px;text-align: center;">堆粮单位用药量(g/m3)</label>
256
+													<label class="label" style="text-align: center;">计划用药量(kg)</label>
306 257
 												</th>
307 258
 												<th>
308
-													<label class="label" style="margin-top: 9px;text-align: center;">空间单位用药量(g/m3)</label>
259
+													<label class="label" style="text-align: center;">{{fumForRecord.jhyyl}}</label>
309 260
 												</th>
310 261
 												<th>
311
-													<label class="label" style="margin-top: 9px;text-align: center;">总用药量(kg)</label>
262
+													<label class="label" style="text-align: center;">施药方式</label>
312 263
 												</th>
313
-												<th style="width: 9%;">
314
-													<label class="label" style="margin-top: 9px;text-align: center;">施药方式</label>
264
+												<th >
265
+													<label class="label" style="text-align: center;">
266
+													    <div ng-switch="fumForRecord.syff">
267
+						                                    <div ng-switch-when="0">潮解法</div>
268
+						                                    <div ng-switch-when="1">仓外发生器</div>
269
+						                                    <div ng-switch-when="2">钢瓶气</div>
270
+						                                    <div ng-switch-default>{{fumForRecord.syff}}</div>
271
+					                                    </div>
272
+													</label>
315 273
 												</th>
316 274
 											</tr>
317 275
 											<tr>
318 276
 												<th>
319
-													<section>
320
-														<label class="input">
321
-															<input class="form-control" type="text" ng-model="dicData[fumForRecord.yjmc]"
322
-																   ng-readonly="true" name="yjmc" style="text-align: center;">
323
-														</label>
324
-													</section>
277
+													<label class="label" style="text-align: center;margin-top: 4%;">熏蒸方式</label>
325 278
 												</th>
326 279
 												<th>
327
-													<section>
328
-														<label class="input">
329
-															<input class="form-control" type="text" ng-model="dicData[fumForRecord.jx]"
330
-																   ng-readonly="true" name="reagentType" style="text-align: center;">
331
-														</label>
332
-													</section>
280
+													<label class="label" style="text-align: center;margin-top: 4%;">{{dicData[fumForRecord.xzfs]}}</label>
333 281
 												</th>
334
-												<th>
335
-													<section>
336
-														<label class="input">
337
-															<input type="text" ng-model="fumForRecord.lqsl" name="lqsl"
338
-																   style="text-align: center;" ng-disabled="isNotSave" required />
339
-														</label>
340
-													</section>
282
+												<th colspan="4">
283
+													<label class="select" style="text-align: left;">
284
+													    <select ng-model="fumForRecord.xzfsxl" ng-options="enum.enumid as enum.enumname for enum in dicDataList[fumForRecord.xzfs]">
285
+													    
286
+													    </select>
287
+													</label>
341 288
 												</th>
342
-												<th>
343
-													<section>
344
-														<label class="input">
345
-															<input type="text" ng-model="fumForRecord.nd" name="nd"
346
-																   style="text-align: center;" ng-disabled="isNotSave" required />
347
-														</label>
348
-													</section>
289
+											</tr>
290
+										</table>
291
+										<table ng-show="fumForRecord.xzlx=='2'" class="table table-striped table-bordered table-hover" style="padding: 0;">
292
+										    <tr>
293
+										        <th>
294
+													<label class="label" style="text-align: center;">计划用药量(kg)</label>
349 295
 												</th>
350
-												<th>
351
-													<section>
352
-														<label class="input">
353
-															<input type="text" ng-model="fumForRecord.lddwyyl" name="lddwyyl"
354
-																   style="text-align: center;" ng-disabled="isNotSave" required>
355
-														</label>
356
-													</section>
296
+										    	<th>
297
+													<label class="label">{{fumForRecord.jhyyl}}</label>
357 298
 												</th>
358
-												<th>
359
-													<section>
360
-														<label class="input">
361
-															<input type="text" ng-model="fumForRecord.kjdwyyl" name="kjdwyyl"
362
-																   style="text-align: center;" ng-disabled="isNotSave" required>
363
-														</label>
364
-													</section>
299
+										        <th>
300
+													<label class="label" style="text-align: center;">施药方式</label>
301
+												</th>
302
+										        <th>
303
+													<label class="label" style="text-align: center;">
304
+													    <div ng-switch="fumForRecord.syff">
305
+						                                    <div ng-switch-when="0">潮解法</div>
306
+						                                    <div ng-switch-when="1">仓外发生器</div>
307
+						                                    <div ng-switch-when="2">钢瓶气</div>
308
+						                                    <div ng-switch-default>{{fumForRecord.syff}}</div>
309
+					                                    </div>
310
+													</label>
365 311
 												</th>
312
+										    </tr>
313
+										    <tr>
366 314
 												<th>
367
-													<section>
368
-														<label class="input">
369
-															<input class="form-control" type="text" ng-model="fumForRecord.zyyl"
370
-																   ng-readonly="true" name="zyyl" style="text-align: center;">
371
-														</label>
372
-													</section>
315
+													<label class="label" style="text-align: center;margin-top: 2%;">熏蒸方式</label>
373 316
 												</th>
374 317
 												<th>
375
-													<section>
376
-														<label class="select">
377
-															<select ng-model="fumForRecord.syff" name="syff" ng-disabled="true">
378
-																<option value="">--请选择--</option>
379
-																<option value="0">潮解法</option>
380
-																<option value="1">仓外发生器</option>
381
-																<option value="2">钢瓶气</option>
382
-															</select><i></i>
383
-														</label>
384
-													</section>
318
+													<label class="label" style="text-align: center;margin-top: 2%;">{{dicData[fumForRecord.xzfs]}}</label>
319
+												</th>
320
+												<th colspan="4">
321
+													<label class="select" style="text-align: center;">
322
+													    <select ng-model="fumForRecord.xzfsxl" ng-options="enum.enumid as enum.enumname for enum in dicDataList[fumForRecord.xzfs]">
323
+													    
324
+													    </select>
325
+													</label>
385 326
 												</th>
386 327
 											</tr>
387 328
 										</table>
388
-									</table>
389
-								</fieldset>
390
-
391
-								<header >
392
-									<h3>
393
-										<strong>熏蒸施药人员</strong>
394
-									</h3>
395
-								</header>
396
-								<fieldset >
397
-									<table class="table table-striped table-bordered table-hover"  >
398
-										<thead>
399
-										<tr>
400
-											<th data-class="expand" style="text-align:center;">姓名</th>
401
-											<th data-class="expand" style="text-align:center;">职业资格</th>
402
-											<th data-class="expand" style="text-align:center;">施药资质审核</th>
403
-											<th data-class="expand" style="text-align:center;">工作任务</th>
404
-											<th data-class="expand" style="text-align:center;">是否为外请</th>
405
-										</tr>
406
-										</thead>
407
-
408
-										<tbody>
409
-										<tr ng-repeat="record in addedDetail">
410
-											<td style="text-align:center;"><input type="text" ng-disabled="isNotSave" name="personnelName" ng-model="record.personnelName" required/></td>
411
-											<td style="text-align:center;"><input type="text" ng-disabled="isNotSave" name="professionalQualification" ng-model="record.professionalQualification"/></td>
412
-											<td style="text-align:center;"><input type="text" ng-disabled="isNotSave" name="physicalCondition" ng-model="record.physicalCondition"/></td>
413
-											<td style="text-align:center;"><input type="text" ng-disabled="isNotSave" name="workTask" ng-model="record.workTask"/></td>
414
-											<td style="text-align:center;"><input type="text" ng-disabled="isNotSave" name="outside" ng-model="record.outside"/></td>
415
-										</tr>
416
-										</tbody>
417
-									</table>
418
-								</fieldset>
419
-
420
-								<fieldset>
421
-									<table style="width:70%; border-width:5px; margin-left:15%;position:relative;margin-right:15%;">
422
-										<table class="table table-striped table-bordered table-hover" width="100%" style="padding: 0;" >
423
-											<tr>
424
-												<th width='10%'>
425
-													<label class="label" style="margin-top: 15px;text-align: center;">申请企业意见<span style="color: red;">*</span></label>
426
-												</th>
427
-												<th colspan="5">
428
-													<section>
429
-														<label class="input">
430
-															<input class="form-control" type="text" ng-model="fumForRecord.enterpriseOpinion" name="enterpriseOpinion" required>
431
-														</label>
432
-													</section>
329
+										<header>
330
+										    <h5>其他信息</h5>
331
+										</header>
332
+										<table class="table table-striped table-bordered table-hover" style="padding: 0;">
333
+										    <tr>
334
+										        <th style="width: 14%;">
335
+													<label class="label" style="text-align: center;">警戒距离</label>
336
+												</th>
337
+										    	<th colspan="6">
338
+													<label class="label">
339
+														东: {{fumForRecord.east}}   m     /      南: {{fumForRecord.south}} m    /     西:{{fumForRecord.west}}  m     /     北:{{fumForRecord.north}}  m
340
+													</label>
341
+												</th>
342
+										    </tr>
343
+										    <tr>
344
+												<th style="width: 14%;">
345
+													<label class="label" style="text-align: center;">空气呼吸器信息</label>
346
+												</th>
347
+												<th style="width: 14%;">
348
+													<label class="label" style="text-align: center;">使用套数</label>
349
+												</th>
350
+												<th style="width: 14%;">
351
+													<label class="label" style="text-align: center;">
352
+													    {{fumForRecord.kqhxqsyts}}
353
+													</label>
354
+												</th>
355
+												<th style="width: 14%;">
356
+													<label class="label" style="text-align: center;">品牌型号</label>
357
+												</th>
358
+												<th style="width: 14%;">
359
+													<label class="label" style="text-align: center;">
360
+													    {{fumForRecord.kqhxqppxh}}
361
+													</label>
362
+												</th>
363
+												<th style="width: 14%;">
364
+													<label class="label" style="text-align: center;">校验日期</label>
365
+												</th>
366
+												<th style="width: 14%;">
367
+													<label class="label" style="text-align: center;">
368
+													    {{fumForRecord.kqhxqjyrq}}
369
+													</label>
433 370
 												</th>
434 371
 											</tr>
435
-											<tr ng-show="isShow">
436
-												<th width='10%'>
437
-													<label class="label" style="margin-top: 15px;text-align: center;">备案机关意见</label>
372
+											<tr>
373
+										        <th style="width: 14%;">
374
+													<label class="label" style="text-align: center;">包装物及药剂残渣处理说明</label>
438 375
 												</th>
439
-												<th colspan="5">
440
-													<section>
441
-														<label class="input">
442
-															<input class="form-control" type="text" ng-readonly="true" ng-model="fumForRecord.organsOpinion" name="organsOpinion">
443
-														</label>
444
-													</section>
376
+										    	<th colspan="6">
377
+													<label class="label">{{fumForRecord.bzwjyjczclsm}}</label>
445 378
 												</th>
379
+										    </tr>
380
+										</table>
381
+										<header>
382
+										    <h5>熏蒸作业人员信息</h5>
383
+										</header>
384
+										<table class="table table-striped table-bordered table-hover"  >
385
+											<thead>
386
+											<tr>
387
+												<th data-class="expand" style="text-align:center;"></th>
388
+												<th data-class="expand" style="text-align:center;">姓名</th>
389
+												<th data-class="expand" style="text-align:center;">职务</th>
390
+												<th data-class="expand" style="text-align:center;">职务资质</th>
391
+												<th data-class="expand" style="text-align:center;">工作任务</th>
392
+												<th data-class="expand" style="text-align:center;">身体情况</th>
393
+												<th data-class="expand" style="text-align:center;">是否经专业培训</th>
394
+												<th data-class="expand" style="text-align:center;">是否为外请</th>
446 395
 											</tr>
447
-											<tr ng-show="isShow">
448
-												<th width='10%'>
449
-													<label class="label" style="margin-top: 15px;text-align: center;">审批人</label>
450
-												</th>
451
-												<th colspan="2">
452
-													<section>
453
-														<label class="input">
454
-															<input class="form-control" type="text" ng-readonly="true" ng-model="fumForRecord.outPerson" name="outPerson">
455
-														</label>
456
-													</section>
457
-												</th>
458
-												<th width='10%'>
459
-													<label class="label" style="margin-top: 15px;text-align: center;">审批时间</label>
460
-												</th>
461
-												<th colspan="2">
462
-													<section>
463
-														<label class="input">
464
-															<input class="form-control" type="text" ng-readonly="true" ng-model="fumForRecord.outForrecordTime" name="outForrecordTime">
465
-														</label>
466
-													</section>
467
-												</th>
396
+											</thead>
397
+	
398
+											<tbody>
399
+											<tr ng-repeat="record in addedDetail">
400
+												<td style="text-align:center;">{{record.rylx}}</td>
401
+												<td style="text-align:center;">{{record.personnelName}}</td>
402
+												<td style="text-align:center;">{{record.zw}}</td>
403
+												<td style="text-align:center;">{{record.professionalQualification}}</td>
404
+												<td style="text-align:center;">{{record.workTask}}</td>
405
+												<td style="text-align:center;">{{record.physicalCondition}}</td>
406
+												<td style="text-align:center;">{{record.sfjzypx}}</td>
407
+												<td style="text-align:center;">{{record.outside}}</td>
468 408
 											</tr>
469
-											<!--第一个tr结束 -->
409
+											</tbody>
470 410
 										</table>
471 411
 									</table>
472 412
 								</fieldset>
413
+
473 414
 								<footer class="text-align-center" >
474 415
 									<button type="button" class="btn btn-default" ng-click="retList()">取消</button>
475 416
 									<button type="button" class="btn btn-primary" ng-hide="isNotSave" ng-click="save('getSubmit')">提交</button>

+ 2 - 15
src/main/resources/static/app/intelligent/fumigation/views/plan/forRecord-list.html

@@ -64,23 +64,10 @@
64 64
                                         <td style="text-align:center;">{{ forRecordApprove.xzzydh }}</td>
65 65
                                         <td style="text-align:center;">{{ forRecordApprove.createTime | date:'yyyy-MM-dd'}}</td>
66 66
                                         <td style="text-align:center;">{{ forRecordApprove.cfmc }}</td>
67
-                                        <td style="text-align:center;">{{ forRecordApprove.fumigationStart | date:'yyyy-MM-dd'}}</td>
68
-                                        <td style="text-align:center;">{{ forRecordApprove.fumigationEnd | date:'yyyy-MM-dd'}}</td>
67
+                                        <td style="text-align:center;">{{ forRecordApprove.sykssj}}</td>
68
+                                        <td style="text-align:center;">{{ forRecordApprove.syjssj}}</td>
69 69
                                         </td>
70 70
                                         <td style="text-align:center;">
71
-<!--                                            <span ng-if="forRecordApprove.stateType=='6'">-->
72
-<!--                                                <a has-permission="597" href-void ng-click="getAddAndEdit('detail',forRecordApprove.id)"><i class=""></i>查看</a>-->
73
-<!--                                                <a has-permission="597" href-void ng-click="getAddAndEdit('edit',forRecordApprove.id)"><i class=""></i>修改</a>-->
74
-<!--                                                <a has-permission="598" href-void ng-click="removeDetail(forRecordApprove.planIds,forRecordApprove.id)"><i class=""></i>删除</a>-->
75
-<!--                                                <a  href-void ng-click="getSubmit(forRecordApprove.planIds,forRecordApprove.id)">-->
76
-<!--                                                    <i class="fa fa-pencil-square"></i>备案-->
77
-<!--                                                </a>-->
78
-<!--                                            </span>-->
79
-<!--                                            <span ng-if="forRecordApprove.stateType=='7'">-->
80
-<!--                                                <a  href-void ng-click="getAddAndEdit('isEdit',forRecordApprove.id)">-->
81
-<!--                                                    <i class="fa fa-pencil-square"></i>备案中-->
82
-<!--                                                </a>-->
83
-<!--                                            </span>-->
84 71
                                             <span ng-if="!(forRecordApprove.stateType=='7' || forRecordApprove.stateType=='6')">
85 72
                                                 <a href-void ng-click="getAddAndEdit('details',forRecordApprove.id)">
86 73
                                                    <i class="fa fa-info-circle"></i>备案详情

+ 8 - 9
src/main/resources/static/app/intelligent/fumigation/views/plan/pesticide-list-modal.html

@@ -14,6 +14,7 @@
14 14
                    <tr>
15 15
                        <th data-class="expand" style="text-align:center;">熏蒸编号</th>
16 16
                        <th data-class="expand" style="text-align:center;">仓房名称</th>
17
+                       <th data-class="expand" style="text-align:center;">熏蒸类型</th>
17 18
                        <th data-class="expand" style="text-align:center;">熏蒸方式</th>
18 19
                        <th data-class="expand" style="text-align:center;">熏蒸方案制定人</th>
19 20
                        <th data-class="expand" style="text-align:center;">申请时间</th>
@@ -26,16 +27,14 @@
26 27
                           <td style="text-align:center;">{{ plan.xzzydh }}</td>
27 28
                           <td style="text-align:center;">{{ storehouseObj[plan.houseId].storehouseName }}</td>
28 29
                           <td style="text-align:center;">
29
-                              <span ng-if="plan.cgxzfs != ''">
30
-                                  常规熏蒸
31
-                              </span>
32
-                              <span ng-if="plan.hlxzfs != ''">
33
-                                  环流熏蒸
34
-                              </span>
35
-                              <span ng-if="plan.hlxzynhljsjh != ''">
36
-                                  环流熏蒸与内环流技术结合
37
-                              </span>
30
+                              <div ng-switch="plan.xzlx">
31
+							       <div ng-switch-when="1">熏蒸</div>
32
+							       <div ng-switch-when="2">预熏蒸</div>
33
+							       <div ng-switch-when="3">空仓熏蒸</div>
34
+							       <div ng-switch-default>{{plan.xzlx}}</div>
35
+							  </div>
38 36
                           </td>
37
+                          <td style="text-align:center;">{{ dicData[plan.xzfs] }}</td>
39 38
                           <td style="text-align:center;">{{ plan.xzfazd  }}</td>
40 39
                           <td style="text-align:center;">{{ plan.createTime | date:'yyyy-MM-dd'}}</td>
41 40
                           <td>

+ 43 - 6
src/main/resources/static/app/intelligent/grainDetection/controller/humitureDetectionCtrl.js

@@ -25,7 +25,7 @@ angular.module('app.intelligent').controller("humitureDetectionCtrl", function (
25 25
     $scope.loadData();
26 26
 
27 27
     // 详情(层温)
28
-    $scope.grainDetectionDetail = function (humitureDetection) {
28
+    $scope.grainDetectionDetail = function (humitureDetection, zsfs) {
29 29
         var params = [];
30 30
         params.vCfCode = humitureDetection.storehouse; // 仓房编码
31 31
         params.time = humitureDetection.time; // 检测时间
@@ -37,10 +37,49 @@ angular.module('app.intelligent').controller("humitureDetectionCtrl", function (
37 37
         params.min = humitureDetection.min; // 最低粮温
38 38
         params.avg = humitureDetection.avg; // 平均粮温
39 39
         params.id = humitureDetection.id;
40
+        params.zsfs = zsfs;
41
+        /*if (zsfs == "1") {
42
+        	$uibModal.open({
43
+                size: 'lg',
44
+                templateUrl: 'app/intelligent/grainDetection/views/humitureDetection-model2.html',
45
+                controller: 'humitureDetectionModel2',
46
+                resolve: {
47
+                    // 传入参数
48
+                    items: function () {
49
+                        // 这个值会被模态框的控制器获取到
50
+                        return params;
51
+                    }
52
+                }
53
+
54
+            });
55
+        } else {
56
+        	$uibModal.open({
57
+                size: 'lg',
58
+                templateUrl: 'app/intelligent/grainDetection/views/humitureDetection-model.html',
59
+                controller: 'humitureDetectionModel',
60
+                resolve: {
61
+                    // 传入参数
62
+                    items: function () {
63
+                        // 这个值会被模态框的控制器获取到
64
+                        return params;
65
+                    }
66
+                }
67
+
68
+            });
69
+        }*/
70
+        var pageurl;
71
+        var ctrlurl;
72
+        if (zsfs == '1') {
73
+        	pageurl = 'app/intelligent/grainDetection/views/humitureDetection-model2.html';
74
+        	ctrlurl = 'humitureDetectionModel2';
75
+        } else {
76
+        	pageurl = 'app/intelligent/grainDetection/views/humitureDetection-model.html';
77
+        	ctrlurl = 'humitureDetectionModel';
78
+        }
40 79
         $uibModal.open({
41 80
             size: 'lg',
42
-            templateUrl: 'app/intelligent/grainDetection/views/humitureDetection-model.html',
43
-            controller: 'humitureDetectionModel',
81
+            templateUrl: pageurl,
82
+            controller: ctrlurl,
44 83
             resolve: {
45 84
                 // 传入参数
46 85
                 items: function () {
@@ -50,9 +89,7 @@ angular.module('app.intelligent').controller("humitureDetectionCtrl", function (
50 89
             }
51 90
 
52 91
         });
53
-
54
-
55
-    };
92
+    }
56 93
 
57 94
     // 所有仓检测
58 95
     $scope.allStoreGrainTemperatureDetection = function () {

+ 3 - 2
src/main/resources/static/app/intelligent/grainDetection/controller/humitureDetectionModel.js

@@ -61,7 +61,8 @@ angular.module('app.intelligent').controller("humitureDetectionModel", function
61 61
             data: {
62 62
                 vDatatime: items.time == undefined ? "" : items.time,
63 63
                 vCfCode: items.vCfCode == undefined ? "" : items.vCfCode,
64
-                lqId: items.id
64
+                lqId: items.id,
65
+                zsfs: items.zsfs
65 66
             },
66 67
             success: function (data) {
67 68
                 td_type_5 = Object.keys(data.data[0]).length; // 温度表格单行温度值的数量
@@ -166,7 +167,7 @@ angular.module('app.intelligent').controller("humitureDetectionModel", function
166 167
     // 点温
167 168
     $scope.pointTemp = function () {
168 169
         // 点温表格
169
-        temperatureRecordService.findByTempTable(items.id).then(function (data) {
170
+        temperatureRecordService.findByTempTable(items.id, items.zsfs).then(function (data) {
170 171
             var detailList = data.data;
171 172
             var trNum = 0;
172 173
             /**

+ 511 - 0
src/main/resources/static/app/intelligent/grainDetection/controller/humitureDetectionModel2.js

@@ -0,0 +1,511 @@
1
+"use strict";
2
+angular.module('app.intelligent').controller("humitureDetectionModel2", function ($scope, $state, $rootScope, $uibModalInstance, items, temperatureRecordService, $filter, $uibModal, keeperService, APP_CONFIG, $timeout, Word, Excel) {
3
+
4
+    $scope.orgId = $rootScope.depotInfo.orgId;
5
+    $scope.id = items.id;
6
+    $scope.vCfCode = items.vCfCode; // 仓房编码
7
+    $scope.time = items.time; // 检测时间
8
+    $scope.intemp = items.intemp; // 仓内温
9
+    $scope.inh = items.inh; // 仓内湿
10
+    $scope.outtemp = items.outtemp; // 仓外温
11
+    $scope.outh = items.outh; // 仓外湿
12
+    $scope.max = items.max; // 最高粮温
13
+    $scope.min = items.min; // 最低粮温
14
+    $scope.avg = items.avg; // 平均粮温 'yyyy-MM-dd HH:mm:ss'
15
+    $scope.tableTime = $filter('date')(new Date(), 'yyyy-MM-dd HH:mm:ss'); // 制表时间
16
+
17
+    // 合并列计算
18
+    $scope.calculateMethod = function () {
19
+        /**
20
+         * 1.静态-定长
21
+         *  仓名-平均温: td_type_1=8
22
+         *  处理意见和备注: td_type_2=4
23
+         *  检验员: td_type_3=6
24
+         * 2.动态-变长
25
+         *  层均温: td_type_4=N*2
26
+         *  层温表格: td_type_5=N
27
+         */
28
+        var td_type_1 = 8;
29
+        var td_type_2 = 4;
30
+        var td_type_3 = 6;
31
+        var td_type_4 = 1;// 层数
32
+        $scope.td_type_4_true = false;
33
+        var td_type_5 = 1;//温度表格单行温度值的数量
34
+        // 放行标志
35
+        $scope.td_type_5_avg_true = false;
36
+        $scope.td_type_5_avg_p_true = false;
37
+        var td_type_5_d = 0;// 温度表格行数总大小
38
+        // 每条测温数据对应的各层最高温、最低温、平均温
39
+        $.ajax({
40
+            type: "GET",
41
+            dataType: "json",
42
+            // async:true;   //异步
43
+            async: false,  //同步
44
+            url: APP_CONFIG.intelligentUrl + '/intelligents/temperatureRecord/findByHouseAndTime',
45
+            data: {
46
+                vDatatime: items.time == undefined ? "" : items.time,
47
+                vCfCode: items.vCfCode == undefined ? "" : items.vCfCode,
48
+                lqId: items.id
49
+            },
50
+            success: function (data) {
51
+                td_type_4 = data.data.length * 2; // 层数
52
+            }
53
+        });
54
+        // 行/列
55
+        $.ajax({
56
+            type: "GET",
57
+            dataType: "json",
58
+            // async:true;   //异步
59
+            async: false,  //同步
60
+            url: APP_CONFIG.intelligentUrl + '/intelligents/temperatureRecord/findByHouseAndTimes',
61
+            data: {
62
+                vDatatime: items.time == undefined ? "" : items.time,
63
+                vCfCode: items.vCfCode == undefined ? "" : items.vCfCode,
64
+                lqId: items.id,
65
+                zsfs: items.zsfs
66
+            },
67
+            success: function (data) {
68
+                td_type_5 = Object.keys(data.data[0]).length; // 温度表格单行温度值的数量
69
+                td_type_5_d = data.data.length; // 温度表格行数总大小
70
+            }
71
+        });
72
+        // 获取最长列(td)
73
+        var max = Math.max(td_type_1, td_type_2, td_type_3, td_type_4, td_type_5);
74
+        // 计算合并列
75
+        if (max > td_type_1) {
76
+            // +2 分配给两个td
77
+            $scope.td_type_1 = (max - td_type_1) + 2;
78
+        }
79
+        if (max > td_type_2) {
80
+            $scope.td_type_2 = (max - td_type_2) + 2;
81
+        }
82
+        if (max > td_type_3) {
83
+            // +3 分配给3个td
84
+            $scope.td_type_3 = (max - td_type_3) + 3;
85
+        }
86
+        if (max > td_type_4) {
87
+            $scope.td_type_4 = max - td_type_4;
88
+            $scope.td_type_4_true = true;
89
+        }
90
+        // 温度表格合并计算
91
+        $scope.td_type_5_avg = 1;
92
+        $scope.td_type_5_avg_p = 1;
93
+        if (max > td_type_5) {
94
+            // 温度表格平均分配到层以外的其他列(td)
95
+            var td_type_5_t = max - td_type_5; // 获取比最大小几
96
+            // 判断是否可以每人得到一个
97
+            var td_type_5_r = td_type_5_t % td_type_5; // 取余
98
+            if (td_type_5_t > td_type_5) { // 没人大于一个就分
99
+                if (td_type_5_r == 0) { // 整除
100
+                    $scope.td_type_5_avg = td_type_5_t / td_type_5 + 1; // 平均分,加1把自己算上
101
+                    // 放行标志
102
+                    $scope.td_type_5_avg_true = true;
103
+                } else { // 不能整除
104
+                    var td_type_5_d = td_type_5_t - td_type_5_r; // 减掉多余
105
+                    $scope.td_type_5_avg = td_type_5_d / (td_type_5 - 1) + 1; // 减掉多余的在平均分(平均-1),少分一份
106
+                    $scope.td_type_5_avg_p = $scope.td_type_5_avg + td_type_5_r + 1; // 余数给一个人加上plus
107
+                    // 放行标志
108
+                    $scope.td_type_5_avg_true = true;
109
+                    $scope.td_type_5_avg_p_true = true;
110
+                }
111
+            } else { // 不够分,直接plus
112
+                $scope.td_type_5_avg_p = td_type_5_r + 1; // 加的1为自己
113
+                // 放行标志
114
+                $scope.td_type_5_avg_p_true = true;
115
+            }
116
+        }
117
+        /**
118
+         * 检测员,保管员,主管科长
119
+         * @type {number}
120
+         */
121
+        // 声明合并变量
122
+        var td_type_3_t = $scope.td_type_3 % 3; // 计算临时变量,并获取余数
123
+        var td_type_3_s = 1; // 将余数分配,主管科长
124
+        var td_type_3_avg = 1; // 可平均分配变量
125
+        var td_type_3_r = 1; // 去除余数,可平均分配值变量
126
+        if (td_type_3_t == 0) { // 可平均分配
127
+            var avg_avg_avg = $scope.td_type_3 / 3;
128
+            $scope.td_type_avg_1 = avg_avg_avg; // 检测员
129
+            $scope.td_type_avg_2 = avg_avg_avg; // 保管员
130
+            $scope.td_type_avg_3 = avg_avg_avg; // 主管科长
131
+        } else { // 不可平均分配
132
+            td_type_3_r = $scope.td_type_3 - td_type_3_t; // 获取可平均分配值
133
+            td_type_3_avg = td_type_3_r / 3; // 检测员,保管员可平均分配值
134
+            td_type_3_s = td_type_3_avg + td_type_3_t;// 主管科长(余数+平均)
135
+
136
+            $scope.td_type_avg_1 = td_type_3_avg; // 检测员可平均分配值
137
+            $scope.td_type_avg_2 = td_type_3_avg; // 保管员可平均分配值
138
+            $scope.td_type_avg_3 = td_type_3_s; // 主管科长(余数+平均)
139
+        }
140
+    };
141
+
142
+    // 动态表格
143
+    $scope.layersAvgTemp = function () {
144
+        // 层均温动态表格
145
+        temperatureRecordService.findByHouseAndTime(items.vCfCode, items.time, items.id).then(function (data) {
146
+            var dataLayerList = data.data;
147
+            //根据返回数据算出层均温这行单元格的个数
148
+            var eachTdWidth = 100 / (dataLayerList.length * 2) + '%';
149
+            if (dataLayerList != null && dataLayerList.length > 0) {
150
+                // for (var layer in dataLayerList) {
151
+                var layernumber = 1;
152
+                for (var i = 0; i < dataLayerList.length; i++) {
153
+                    // var layernumber = dataLayerList[layer].layernumber;
154
+                    var lavg = dataLayerList[i].lavg;
155
+                    $("#layersAvgTemp").eq(0).append(
156
+                        "<td style=\"text-align: center;width:" + eachTdWidth + "\">"
157
+                        + layernumber + '层均温' + "</td>" +
158
+                        "<td style=\"text-align: center;width:" + eachTdWidth + "\">"
159
+                        + lavg + "</td>"
160
+                    );
161
+                    layernumber++;
162
+                }
163
+            }
164
+        });
165
+    };
166
+
167
+    // 点温
168
+    $scope.pointTemp = function () {
169
+        // 点温表格
170
+        temperatureRecordService.findByHouseAndTimes(null, null, items.id, items.zsfs).then(function (data) {
171
+            var detailList = data.data;
172
+            var trNum = 0;
173
+            /**
174
+             *  $scope.td_type_5_avg_true = true;
175
+             $scope.td_type_5_avg_p_true = true;
176
+             $scope.td_type_5_avg $scope.td_type_5_avg_p
177
+             */
178
+            // 高低温报警
179
+//            var tallTemp = $rootScope.warningValueList[$scope.vCfCode] == undefined
180
+//                ? 100 : $rootScope.warningValueList[$scope.vCfCode].high == undefined
181
+//                    ? 100 : $rootScope.warningValueList[$scope.vCfCode].high; // 一般不超过3000℃
182
+//            var lowTemp = $rootScope.warningValueList[$scope.vCfCode] == undefined
183
+//                ? -274 : $rootScope.warningValueList[$scope.vCfCode].low == undefined
184
+//                    ? -274 : $rootScope.warningValueList[$scope.vCfCode].low; // 绝对0度为-273.15℃
185
+
186
+            var key_z = 1;
187
+            // 天津库要求1层为最底层最大层数.
188
+            for (var i = 0; i < detailList.length; i++) {
189
+            	var le = detailList[i];
190
+            	$("#t_body").append("<tr></tr>");
191
+            	for (var j = 0; j < le.length; j++) {
192
+            		$("#t_body tr").eq(i).append(
193
+                            "<td style=\"border: 1px solid #000;text-align: center;\">"
194
+                            + le[j] + "</td>"
195
+                        );
196
+            	}
197
+            }
198
+            
199
+        });
200
+    };
201
+
202
+    $scope.shallowCircularPointTemp = function () {
203
+        // 浅圆仓点温表格
204
+        temperatureRecordService.shallowCircularPointTempTable(items.id).then(function (data) {
205
+            /**
206
+             * 浅圆仓数据,x不用值永远为 1.
207
+             * detailList (xyz)
208
+             *  第一级 为 1-n 层(层号 z)
209
+             *  y 为 列
210
+             */
211
+            var detailMap = data.data;
212
+            var xIny = 12; // 每行多少列
213
+            var trNum = 0; // td位置初始化
214
+            var gs = 1; // 初始化每层数据量
215
+
216
+            var layerNumber = Object.keys(detailMap).length; // z层数
217
+
218
+            var yNumber = detailMap[1].length; // 单层大小(y列数)
219
+
220
+            // 计算分几列
221
+            var groups = Math.ceil(yNumber / xIny); // 向正无穷取整
222
+
223
+            var gs1 = 0; // 初始化每层数据数据
224
+
225
+            /**
226
+             * 计算合并
227
+             *  已确定初始化 每行 xIny=12列
228
+             */
229
+            var td_type_1 = 8; // 仓房名称 定长
230
+            var td_type_2 = 4; // 处理意见 定长
231
+            var td_type_3 = 6; // 检测员 定长
232
+            // 行 xIny = 12 需要加层号行+1
233
+            var xInyP = xIny + 1;
234
+            // 层均温 变长 为 layerNumber z层和参数位 需 *2
235
+            var layerNumberV = layerNumber * 2;
236
+            if (layerNumberV > xInyP) {
237
+                $scope.td_type_1 = (layerNumberV - td_type_1) + 2;
238
+                $scope.td_type_2 = (layerNumberV - td_type_2) + 2;
239
+                $scope.td_type_3 = (layerNumberV - td_type_3) + 3;
240
+                $scope.td_type_5_avg = layerNumberV - xIny;
241
+            } else {
242
+                $scope.td_type_1 = (xInyP - td_type_1) + 2;
243
+                $scope.td_type_2 = (xInyP - td_type_2) + 2;
244
+                $scope.td_type_3 = (xInyP - td_type_3) + 3;
245
+                $scope.td_type_5_avg = xIny - layerNumberV;
246
+            }
247
+            /**
248
+             * 检测员,保管员,主管科长
249
+             * @type {number}
250
+             */
251
+            // 声明合并变量
252
+            var td_type_3_t = $scope.td_type_3 % 3; // 计算临时变量,并获取余数
253
+            var td_type_3_s = 1; // 将余数分配,主管科长
254
+            var td_type_3_avg = 1; // 可平均分配变量
255
+            var td_type_3_r = 1; // 去除余数,可平均分配值变量
256
+            if (td_type_3_t == 0) { // 可平均分配
257
+                var avg_avg_avg = $scope.td_type_3 / 3;
258
+                $scope.td_type_avg_1 = avg_avg_avg; // 检测员
259
+                $scope.td_type_avg_2 = avg_avg_avg; // 保管员
260
+                $scope.td_type_avg_3 = avg_avg_avg; // 主管科长
261
+            } else { // 不可平均分配
262
+                td_type_3_r = $scope.td_type_3 - td_type_3_t; // 获取可平均分配值
263
+                td_type_3_avg = td_type_3_r / 3; // 检测员,保管员可平均分配值
264
+                td_type_3_s = td_type_3_avg + td_type_3_t;// 主管科长(余数+平均)
265
+
266
+                $scope.td_type_avg_1 = td_type_3_avg; // 检测员可平均分配值
267
+                $scope.td_type_avg_2 = td_type_3_avg; // 保管员可平均分配值
268
+                $scope.td_type_avg_3 = td_type_3_s; // 主管科长(余数+平均)
269
+            }
270
+            /**
271
+             *  $scope.td_type_5_avg_true = true;
272
+             $scope.td_type_5_avg_p_true = true;
273
+             $scope.td_type_5_avg $scope.td_type_5_avg_p
274
+             */
275
+            // 高低温报警
276
+            var tallTemp = $rootScope.warningValueList[$scope.vCfCode] == undefined
277
+                ? 100 : $rootScope.warningValueList[$scope.vCfCode].high == undefined
278
+                    ? 100 : $rootScope.warningValueList[$scope.vCfCode].high; // 一般不超过3000℃
279
+            var lowTemp = $rootScope.warningValueList[$scope.vCfCode] == undefined
280
+                ? -274 : $rootScope.warningValueList[$scope.vCfCode].low == undefined
281
+                    ? -274 : $rootScope.warningValueList[$scope.vCfCode].low; // 绝对0度为-273.15℃
282
+
283
+            // 先把tr初始化多个,已存在2个(groups向上取整*层数+groups向上取整-html初始化的2个)
284
+            var trMath = groups * layerNumber + groups - 2;
285
+            for (var a = 0; a < trMath; a++) {
286
+                $("#t_body").append("<tr></tr>");
287
+            }
288
+
289
+            // 放入层号字样
290
+            for (var i = 0; i < groups; i++) { // 分多批显示
291
+                $("#t_body tr").eq(trNum).append(
292
+                    "<td colspan='" + $scope.td_type_5_avg + "' style=\"border: 1px solid #000;text-align: center;width:5%;\">"
293
+                    + '层号' + "</td>"
294
+                );
295
+
296
+                // 每列显示12条
297
+                for (var z = 0; z < xIny; z++) {
298
+                    if (gs <= yNumber) { // 每层数据个数分散添加
299
+                        $("#t_body tr").eq(trNum).append(
300
+                            "<td style=\"border: 1px solid #000;text-align: center;\">"
301
+                            + gs + "</td>"
302
+                        );
303
+                        gs++;
304
+                    } else {
305
+                        // 不够长补空列
306
+                        $("#t_body tr").eq(trNum).append(
307
+                            "<td style=\"border: 1px solid #000;text-align: center;\">" + "</td>"
308
+                        );
309
+                    }
310
+                }
311
+                // 添加层编号
312
+                var zr = layerNumber; // 初始获取层,倒叙获取数据
313
+                for (var j = 1; j <= layerNumber; j++) {
314
+                    trNum++; // 下一个tr 添加 td
315
+                    $("#t_body tr").eq(trNum).prepend(
316
+                        "<td colspan='" + $scope.td_type_5_avg + "' style=\"border:1 solid #000;text-align: center;\">" + j + "</td>"
317
+                    );
318
+                    // 填充数据
319
+                    if (i === 0) {
320
+                        gs1 = 0;
321
+                    } else {
322
+                        gs1 = i * xIny;
323
+                    }
324
+                    for (var k = 0; k < xIny; k++) {
325
+
326
+                        if (gs1 < yNumber) {
327
+                            var temp = detailMap[zr][gs1].temp;
328
+
329
+                            // 过滤高低温设备异常报警
330
+                            if (temp == 250) { // 250设备异常
331
+                                $("#t_body tr").eq(trNum).append(
332
+                                    "<td style=\"border:0 none;text-align: center;color: red;\">"
333
+                                    + '-100' + "</td>"
334
+                                );
335
+                            } else {
336
+                                if (temp >= tallTemp) { // 高温报警
337
+                                    $("#t_body tr").eq(trNum).append(
338
+                                        "<td style=\"border:0 none;text-align: center;color: red;\">"
339
+                                        + "<acronym title=\"粮温高限报警为: " + tallTemp + "℃\">"
340
+                                        + temp + "</td>"
341
+                                    );
342
+                                } else if (temp <= lowTemp) { // 低温报警
343
+                                    $("#t_body tr").eq(trNum).append(
344
+                                        "<td style=\"border:0 none;text-align: center;color: blue;\">"
345
+                                        + "<acronym title=\"粮温低限报警为: " + lowTemp + "℃\">"
346
+                                        + temp + "</td>"
347
+                                    );
348
+                                } else if (temp == $scope.max) { // 低温报警
349
+                                    $("#t_body tr").eq(trNum).append(
350
+                                        "<td style=\"border:0 none;text-align: center;color: red;\">"
351
+                                        + "<acronym title=\"整仓最高温为: " + temp + "℃\">"
352
+                                        + temp + "</td>"
353
+                                    );
354
+                                } else if (temp == $scope.min) { // 低温报警
355
+                                    $("#t_body tr").eq(trNum).append(
356
+                                        "<td style=\"border:0 none;text-align: center;color: blue;\">"
357
+                                        + "<acronym title=\"整仓最低温为: " + temp + "℃\">"
358
+                                        + temp + "</td>"
359
+                                    );
360
+                                } else { // 正常值
361
+                                    $("#t_body tr").eq(trNum).append(
362
+                                        "<td style=\"border:0 none;text-align: center;\">"
363
+                                        + temp + "</td>"
364
+                                    );
365
+                                }
366
+                            }
367
+                        } else {
368
+                            $("#t_body tr").eq(trNum).append(
369
+                                "<td style=\"border:0 none;text-align: center;\">" + "</td>"
370
+                            );
371
+                        }
372
+                        gs1++;
373
+                    }
374
+                    zr--;
375
+                }
376
+                trNum++; // 下一个tr 添加 td
377
+            }
378
+
379
+        });
380
+    };
381
+
382
+    /*
383
+     * 区分浅圆仓与其它仓粮情表格显示点温
384
+     * 判断仓房类型是否为浅圆仓 (enumid = 2973 , enumname = 浅圆仓)
385
+     */
386
+    // 用仓房code 获取仓房类型字典id编码
387
+    var dictionaryId = $rootScope.storeHouseCodeObj[$scope.vCfCode].storehouseType;
388
+    // 字典id编码获取仓房字典名称
389
+    var dictionaryName = $rootScope.dicData[dictionaryId];
390
+    // 是否为浅圆仓
391
+    if (dictionaryId === 2973 && dictionaryName === '浅圆仓') // 是浅圆仓
392
+    {
393
+
394
+        // 层温
395
+        $scope.layersAvgTemp();
396
+        // 浅圆仓点温 shallowCircular
397
+        $scope.shallowCircularPointTemp();
398
+    }
399
+    else // 非浅圆仓
400
+    {
401
+        // 计算非浅圆仓合并列
402
+        $scope.calculateMethod();
403
+        // 层温
404
+        $scope.layersAvgTemp();
405
+        // 非浅圆仓点温
406
+        $scope.pointTemp();
407
+    }
408
+    // 仓房展示
409
+    $scope.vCfCode3DShow = function () {
410
+        var params = items;
411
+        params.vCfCode = items.vCfCode; // 仓房编码
412
+        // params.time = items.time; // 检测时间
413
+        params.id = items.id;
414
+        $uibModal.open({
415
+            size: 'lg',
416
+            templateUrl: 'app/intelligent/grainDetection/views/humitureDetection3D.html',
417
+            controller: 'humitureDetection3DCtrl',
418
+            resolve: {
419
+                // 传入参数
420
+                items: function () {
421
+                    // 这个值会被模态框的控制器获取到
422
+                    return params;
423
+                }
424
+            }
425
+        });
426
+    };
427
+    // 粮情趋势(图)
428
+    $scope.vCfCodeGrainSituationTrend = function () {
429
+        var params = [];
430
+        params.vCfCode = items.vCfCode; // 仓房编码
431
+        params.time = items.time; // 检测时间
432
+        $uibModal.open({
433
+            size: 'lg',
434
+            templateUrl: 'app/intelligent/grainInspect/views/grainSituationTrend-model.html',
435
+            controller: 'grainSituationTrendModelCtrl',
436
+            resolve: {
437
+                // 传入参数
438
+                items: function () {
439
+                    // 这个值会被模态框的控制器获取到
440
+                    return params;
441
+                }
442
+            }
443
+        });
444
+    };
445
+    // 粮情对比
446
+    $scope.vCfCodeGSituationComparison = function () {
447
+        var params = [];
448
+        params.vCfCode = items.vCfCode; // 仓房编码
449
+        params.time = items.time; // 检测时间
450
+        $uibModal.open({
451
+            size: 'lg',
452
+            templateUrl: 'app/intelligent/grainInspect/views/grainSituationComparison-model.html',
453
+            controller: 'grainSituationComparisonModelCtrl',
454
+            resolve: {
455
+                // 传入参数
456
+                items: function () {
457
+                    // 这个值会被模态框的控制器获取到
458
+                    return params;
459
+                }
460
+            }
461
+        });
462
+    };
463
+    // 所有点粮情对比
464
+    $scope.vCfCodePointAllGrainComparison = function () {
465
+        var params = [];
466
+        params.vCfCode = items.vCfCode; // 仓房编码
467
+        params.time = items.time; // 检测时间
468
+        params.id = items.id;
469
+        $uibModal.open({
470
+            size: 'lg',
471
+            templateUrl: 'app/intelligent/grainInspect/views/grainPointAllComparison-model.html',
472
+            controller: 'grainPointAllComparisonModelCtrl',
473
+            resolve: {
474
+                // 传入参数
475
+                items: function () {
476
+                    // 这个值会被模态框的控制器获取到
477
+                    return params;
478
+                }
479
+            }
480
+        });
481
+    };
482
+
483
+    // 导出excel
484
+    $scope.exportToExcel = function (tableId) {
485
+        var excelTime = $filter('date')(new Date(), "yyyyMMddhhmmss");
486
+        var exportHref = Excel.tableToExcel(tableId, 'worksheetName');
487
+        $timeout(function () {
488
+            // IE
489
+            if (window.navigator.msSaveOrOpenBlob) {
490
+                var base64Data = atob(exportHref.split(',')[1]);
491
+                var n = base64Data.length;
492
+                var u8arr = new Uint8Array(n);
493
+                while (n--) {
494
+                    u8arr[n] = base64Data.charCodeAt(n)
495
+                }
496
+                var blob = new Blob([u8arr]);
497
+                // excel
498
+                window.navigator.msSaveOrOpenBlob(blob, excelTime + '.' + 'xls');
499
+            } else {
500
+                // Chrome
501
+                window.location = exportHref;
502
+            }
503
+        }, 100);
504
+    };
505
+
506
+    // 关闭模态窗口
507
+    $scope.cancel = function () {
508
+        $uibModalInstance.close();
509
+    };
510
+
511
+});

+ 6 - 4
src/main/resources/static/app/intelligent/grainDetection/service/temperatureRecordService.js

@@ -50,7 +50,7 @@ angular.module('app.intelligent').service("temperatureRecordService", function($
50 50
     };
51 51
 
52 52
     // 根据仓号和检测时间获取数据
53
-    this.findByHouseAndTimes = function (vCfCode, vDatatime, id) {
53
+    this.findByHouseAndTimes = function (vCfCode, vDatatime, id, zsfs) {
54 54
         var d = $q.defer();
55 55
         $http({
56 56
             method : 'GET',
@@ -58,7 +58,8 @@ angular.module('app.intelligent').service("temperatureRecordService", function($
58 58
             params : {
59 59
                 vDatatime : vDatatime == undefined ? "":vDatatime,
60 60
                 vCfCode : vCfCode == undefined ? "":vCfCode,
61
-                lqId: id
61
+                lqId: id,
62
+                zsfs: zsfs
62 63
             }
63 64
         }).then(function successCallback(response) {
64 65
             // 请求成功执行代码
@@ -71,13 +72,14 @@ angular.module('app.intelligent').service("temperatureRecordService", function($
71 72
     };
72 73
 
73 74
     // 非浅圆仓列表
74
-    this.findByTempTable = function (id) {
75
+    this.findByTempTable = function (id, zsfs) {
75 76
         var d = $q.defer();
76 77
         $http({
77 78
             method : 'GET',
78 79
             url : APP_CONFIG.intelligentUrl + '/intelligents/temperatureRecord/findByTempTable',
79 80
             params : {
80
-                id: id
81
+                id: id,
82
+                zsfs: zsfs
81 83
             }
82 84
         }).then(function successCallback(response) {
83 85
             // 请求成功执行代码

+ 2 - 1
src/main/resources/static/app/intelligent/grainDetection/views/humitureDetection-list.html

@@ -124,7 +124,8 @@
124 124
                                             <a href-void ng-click="onlyStoreGrainTemperatureDetection(humitureDetection.storehouse)"><i class=""></i>{{storeHouseCodeObj[humitureDetection.storehouse].storehouseName}}检测</a>
125 125
                                         </td>
126 126
                                         <td style="text-align:center;">
127
-                                            <a href-void ng-click="grainDetectionDetail(humitureDetection)"><i class=""></i>详情</a>
127
+                                            <a href-void ng-click="grainDetectionDetail(humitureDetection)"><i class=""></i>详情1&nbsp;&nbsp;&nbsp;</a>
128
+                                            <a href-void ng-click="grainDetectionDetail(humitureDetection, '1')"><i class=""></i>详情2&nbsp;&nbsp;&nbsp;</a>
128 129
                                         </td>
129 130
                                     </tr>
130 131
                                     </tbody>

+ 137 - 0
src/main/resources/static/app/intelligent/grainDetection/views/humitureDetection-model2.html

@@ -0,0 +1,137 @@
1
+<div class="modal-content">
2
+    <div class="modal-header">
3
+        <button type="button" class="close" ng-click="cancel()">
4
+            &times;
5
+        </button>
6
+        <h4 class="modal-title" id="myModalLabel">温湿度检测详情</h4>
7
+    </div>
8
+    <div class="modal-body">
9
+        <div style="width: 100%;margin-top:-15px;text-align: left;">
10
+            <!--<a class="btn btn-default btn-sm" ng-click="vCfCodeGrainSituationTrend()"> <i class="fa fa-search"></i>&nbsp;粮情趋势</a>
11
+            <a class="btn btn-default btn-sm" ng-click="vCfCodeGSituationComparison()"> <i class="fa fa-search"></i>&nbsp;粮情对比</a>-->
12
+            <!--只有平方仓显示-->
13
+            <a ng-if="storeHouseCodeObj[vCfCode].storehouseType === 2971" class="btn btn-default btn-sm" ng-click="vCfCode3DShow()"> <i class="fa fa-language"></i>&nbsp;仓房展示</a>
14
+            <a class="btn btn-default btn-sm"
15
+               href="3Dlc/index.html?orgId={{orgId}}&vCfCode={{vCfCode}}&id={{id}}&libraryType=0" target="_blank"> <i
16
+                    class="fa fa-search"></i>&nbsp;三维图展示</a>
17
+            <!--<a class="btn btn-default btn-sm" ng-click="vCfCodePointAllGrainComparison()"> <i class="fa fa-search"></i>&nbsp;所有点粮情对比</a>-->
18
+        </div>
19
+        <div style="width: 100%;margin-top:-30px;text-align: right;">
20
+            <!--<a class="btn btn-primary btn-sm" href-void ng-click="exportToWord('#print')">
21
+                <span class="glyphicon glyphicon-export"></span>导出Word
22
+            </a>&nbsp;-->
23
+            <a class="btn btn-primary btn-sm" href-void ng-click="exportToExcel('#print')">
24
+                <span class="glyphicon glyphicon-export"></span>导出Excel
25
+            </a>&nbsp;
26
+            <a class="btn btn-primary btn-sm" onclick="Print('#print')">
27
+                <span class="fa fa-print"></span>&nbsp;打&nbsp;印
28
+            </a>
29
+        </div>
30
+        <!--温度表格-->
31
+        <div id="print" style="width: 100%;margin: 0 auto">
32
+            <!--startprint1-->
33
+            <table border="1" id="table" class="table table-bordered table-striped" style="table-layout: fixed;border-collapse:collapse; width:100%;margin-bottom:0">
34
+            	<caption align="top" style="font-size: 25px;text-align: center;color:black">{{orgInfo.orgName}}粮情检测报表</caption>
35
+            	<tbody style="font-size: 10px;">
36
+            	<tr style="text-align: center;height:30px;">
37
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">仓房名称</td>
38
+            		<td style="border: 1px solid #000;text-align: center;width:19%;">{{storeHouseCodeObj[vCfCode].storehouseName}}</td>
39
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">粮油品种</td>
40
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">{{dicData[storehouseCode[vCfCode].pz]}}</td>
41
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">储粮性质</td>
42
+            		<td style="border: 1px solid #000;text-align: center;width:13%;">{{dicData[storehouseCode[vCfCode].hwxz]}}</td>
43
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">数量(t)</td>
44
+            		<td style="border: 1px solid #000;text-align: center;width:10%;">{{storehouseCode[vCfCode]==undefined?'':storehouseCode[vCfCode].kcsl/1000}}</td>
45
+            	</tr>
46
+            	<tr style="text-align: center;height:30px;">
47
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">检测时间</td>
48
+            		<td style="border: 1px solid #000;text-align: center;width:19%;">{{time | date:'yyyy/MM/dd HH:mm:ss'}}</td>
49
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">仓温</td>
50
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">
51
+            			<div ng-if="intemp==250">
52
+                        	<span ng-if="orgId==161">-</span>
53
+                            <span ng-if="orgId!=161" style="color: red;">-100</span>
54
+                        </div>
55
+                        <div ng-if="intemp!=250">{{intemp}}</div>
56
+            		</td>
57
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">仓湿</td>
58
+            		<td style="border: 1px solid #000;text-align: center;width:13%;">
59
+            			<div ng-if="inh==250">
60
+                            <span ng-if="orgId==161">-</span>
61
+                            <span ng-if="orgId!=161" style="color: red;">-1</span>
62
+                        </div>
63
+                        <div ng-if="inh!=250">{{inh}}</div>
64
+            		</td>
65
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">气温</td>
66
+            		<td style="border: 1px solid #000;text-align: center;width:10%;">
67
+            			<div ng-if="outtemp==250">
68
+                            <span style="color: red;">-100</span>
69
+                        </div>
70
+                        <div ng-if="outtemp!=250">{{outtemp}}</div>
71
+            		</td>
72
+            	</tr>
73
+            	<tr>
74
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">气湿</td>
75
+            		<td style="border: 1px solid #000;text-align: center;width:19%;">
76
+            			<div ng-if="outh==250">
77
+                            <span style="color: red;">-1</span>
78
+                        </div>
79
+                        <div ng-if="outh!=250">{{outh}}</div>
80
+            		</td>
81
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">最高温</td>
82
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">
83
+            			<div ng-if="max==250">
84
+                            <span style="color: red;">-100</span>
85
+                        </div>
86
+                        <div ng-if="max!=250">{{max}}</div>
87
+            		</td>
88
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">最低温</td>
89
+            		<td style="border: 1px solid #000;text-align: center;width:13%;">
90
+            			<div ng-if="min==250">
91
+                            <span style="color: red;">-100</span>
92
+                        </div>
93
+                        <div ng-if="min!=250">{{min}}</div>
94
+            		</td>
95
+            		<td style="border: 1px solid #000;text-align: center;width:9.5%;">平均温</td>
96
+            		<td style="border: 1px solid #000;text-align: center;width:10%;">
97
+            			<div ng-if="avg==250">
98
+                            <span style="color: red;">-100</span>
99
+                        </div>
100
+                        <div ng-if="avg!=250">{{avg}}</div>
101
+            		</td>
102
+            	</tr>
103
+            	</tbody>
104
+			</table>
105
+            <table border="1" class="table table-bordered table-striped" style="table-layout: fixed;border-collapse:collapse; width:100%;margin-bottom:0">
106
+                <tr id="layersAvgTemp" style="font-size: 10px;"></tr>
107
+            </table>
108
+            <table border="1" class="table table-bordered table-striped" style="table-layout: fixed;border-collapse:collapse; width:100%; margin-bottom:0;">
109
+                <tbody id="t_body" style="font-size: 10px;">
110
+                </tbody>
111
+            </table>
112
+            <table border="1" class="table table-bordered" style="table-layout: fixed;border-collapse:collapse; width:100%; margin-bottom:0; text-align: center;">
113
+                <tbody id="t_body2" style="font-size: 10px;">
114
+                <tr>
115
+                    <td class="text-center" style="width:10%">处理意见</td>
116
+                    <td colspan="{{td_type_2 % 2 == 0 ? td_type_2/2:(td_type_2 + 1)/2}}" class="text-center" style="width:40%"></td>
117
+                    <td class="text-center" style="width:10%"> 备注</td>
118
+                    <td colspan="{{td_type_2 % 2 == 0 ? td_type_2/2:(td_type_2 + 1)/2-1}}" class="text-center" style="width:40%"></td>
119
+                </tr>
120
+                </tbody>
121
+            </table>
122
+            <table border="1" class="table table-bordered" style="table-layout: fixed;border-collapse:collapse; width:100%;margin-bottom:0;text-align: center;">
123
+                <tbody id="t_body3" style="font-size: 10px;">
124
+                <tr>
125
+                    <td class="text-center" style="width:10%">检测员</td>
126
+                    <td colspan="{{td_type_avg_1}}" class="text-center"></td>
127
+                    <td class="text-center" style="width:10%">保管员</td>
128
+                    <td colspan="{{td_type_avg_2}}" class="text-center"></td>
129
+                    <td class="text-center" style="width: 10%;">主管科长</td>
130
+                    <td colspan="{{td_type_avg_3}}" class="text-center"></td>
131
+                </tr>
132
+                </tbody>
133
+            </table>
134
+            <!--endprint1-->
135
+        </div>
136
+    </div>
137
+</div>

+ 21 - 43
src/main/resources/static/app/intelligent/module.js

@@ -571,67 +571,45 @@ angular.module('app.intelligent',['ui.router']).config(function($stateProvider)
571 571
             }
572 572
         })
573 573
         /*-------通风作业------*/
574
-        //通风参数值设置列表
575
-        .state('app.intelligent.aeration.aerationJob', {
576
-            url: '/intelligent/aeration/aerationJob',
574
+        //通风作业开始列表
575
+        .state('app.intelligent.aeration.aerationJob_ks', {
576
+            url: '/intelligent/aeration/aerationJob_ks/:funcType',
577 577
             data: {
578
-                title: '通风作业'
578
+                title: '通风作业开始'
579 579
             },
580 580
             views: {
581 581
                 "content@app": {
582 582
                     controller: 'aerationJobCtrl',
583
-                    templateUrl: 'app/intelligent/aeration/views/aerationJob-list.html'
583
+                    templateUrl: 'app/intelligent/aeration/views/aerationJob-ks-list.html'
584 584
                 }
585 585
             }
586 586
         })
587
-
588
-
589
-        //通风作业新增
590
-        .state('app.intelligent.aeration.aerationJob-add', {
591
-                url: '/intelligent/aeration/aerationJob-add/:id',
592
-                data: {
593
-                    title: '新增'
594
-                },
595
-                views: {
596
-                    "content@app": {
597
-                        controller: 'aerationJobEditCtrl',
598
-                        templateUrl: 'app/intelligent/aeration/views/aerationJob-edit.html'
599
-                        //templateUrl: 'app/storage/aeration/views/aerationSummary-edit.html'
600
-                    }
587
+        //通风作业结束列表
588
+        .state('app.intelligent.aeration.aerationJob_js', {
589
+            url: '/intelligent/aeration/aerationJob_js/:funcType',
590
+            data: {
591
+                title: '通风作业结束'
592
+            },
593
+            views: {
594
+                "content@app": {
595
+                    controller: 'aerationJobCtrl',
596
+                    templateUrl: 'app/intelligent/aeration/views/aerationJob-js-list.html'
601 597
                 }
602 598
             }
603
-        )
599
+        })
600
+
604 601
 
605
-        // 通风作业-修改
602
+        //通风作业新增、修改、查看
606 603
         .state('app.intelligent.aeration.aerationJob-edit', {
607
-                url: '/intelligent/aeration/aerationJob-edit/:id',
604
+                url: '/intelligent/aeration/aerationJob-add/:id/:butType/:funcType',
608 605
                 data: {
609
-                    title: '修改'
610
-                },
611
-                params: {
612
-                    "isNotEdit" : false
613
-                },
614
-                views: {
615
-                    "content@app": {
616
-                        controller: 'aerationJobEditCtrl',
617
-                        templateUrl: 'app/intelligent/aeration/views/aerationJob-edit.html'
618
-                    }
619
-                }
620
-            }
621
-        )
622
-        // 通风作业-查看
623
-        .state('app.intelligent.aeration.aerationJob-view', {
624
-                url: '/intelligent/aeration/aerationJob-view/:id',
625
-                data: {
626
-                    title: '查看'
627
-                },
628
-                params: {
629
-                    "isNotEdit" : true
606
+                    title: '详情'
630 607
                 },
631 608
                 views: {
632 609
                     "content@app": {
633 610
                         controller: 'aerationJobEditCtrl',
634 611
                         templateUrl: 'app/intelligent/aeration/views/aerationJob-edit.html'
612
+                        //templateUrl: 'app/storage/aeration/views/aerationSummary-edit.html'
635 613
                     }
636 614
                 }
637 615
             }

+ 32 - 41
src/main/resources/static/app/layout/partials/header.tpl.html

@@ -40,81 +40,72 @@
40 40
 								首页</a>
41 41
 							<i class="nav-feng-line"></i>
42 42
 						</div>
43
-						 <div has-func="1" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==1]">
44
-							<a href-void ng-click="switchTopMenu(1,'app.system.user')">
45
-								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/xitgl-icon.png" /></i>
46
-								系统管理</a>
47
-                            <i class="nav-feng-line"></i>
48
-						</div>
49
-						<div has-func="2" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==2]">
50
-							<a href-void ng-click="switchTopMenu(2,'app.basic.index')">
51
-								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/jicsj-icon.png" /></i>
52
-								基本信息</a>
53
-							<i class="nav-feng-line"></i>
54
-						</div>
55
-						<div has-func="18" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==18]">
56
-							<a href-void ng-click="switchTopMenu(18, 'app.risk.warning.temperature')">
57
-								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/liangkyw-icon.png" /></i>
58
-								风险管理</a>
59
-							<i class="nav-feng-line"></i>
60
-						</div>
61 43
 						<div has-func="8" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==8]">
62 44
 							<a href-void ng-click="switchTopMenu(8, 'app.business.index')">
63 45
 								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/liangkyw-icon.png" /></i>
64
-								粮食购销</a>
46
+								综合业务</a>
47
+							<i class="nav-feng-line"></i>
48
+						</div>
49
+						<div has-func="124" class="nav-li" role="presentation">
50
+							<a href="javaScript:void(0)" ng-click="crk()">
51
+								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/churk-icon.png" /></i>
52
+								出入库</a>
65 53
 							<i class="nav-feng-line"></i>
66 54
 						</div>
67 55
 						<div has-func="19" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==19]">
68 56
 							<a href-void ng-click="switchTopMenu(19,'app.storage.index')">
69 57
 								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/cangcyw.png" /></i>
70
-								仓储保管</a>
58
+								仓储业务</a>
71 59
 							<i class="nav-feng-line"></i>
72 60
 						</div>
73 61
 						<div has-func="17" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==17]">
74 62
 							<a href-void ng-click="switchTopMenu(17,'app.camera.index')">
75 63
 								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/zhinaf-icon.png" /></i>
76
-								安全生产</a>
64
+								智能安防</a>
77 65
 							<i class="nav-feng-line"></i>
78 66
 						</div>
79
-						<div has-func="" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==495]">
80
-							<a href-void ng-click="switchTopMenu(495, 'app.cstj.account.keepDetailedAccount')">
81
-								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/liangkyw-icon.png" /></i>
82
-								财税统计</a>
67
+						<div has-func="18" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==18]">
68
+							<a href-void ng-click="switchTopMenu(18,'app.supervise.cameraPT')">
69
+								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/yuancjg-icon.png" /></i>
70
+								粮库决策</a>
83 71
 							<i class="nav-feng-line"></i>
84 72
 						</div>
85
-						 <div has-func="124" class="nav-li" role="presentation">
86
-							<a href="javaScript:void(0)" ng-click="crk()">
87
-								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/churk-icon.png" /></i>
88
-								出入库</a>
89
-							<i class="nav-feng-line"></i>
90
-						</div> 
91
-						
92 73
 						<!-- <div has-func="324" class="nav-li" role="presentation">
93 74
 							<a href="{{financeUrl}}" target="_blank">
94 75
 								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/cwgl-icon.png" /></i>
95 76
 								财务管理</a>
96 77
 							<i class="nav-feng-line"></i>
97 78
 						</div> -->
98
-						
99
-						<div has-func="218" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==218]">
100
-							<a href-void ng-click="switchTopMenu(218,'app.intelligent.index')">
101
-								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/yuancjg-icon.png" /></i>
102
-								智能仓房</a>
103
-							<i class="nav-feng-line"></i>
104
-						</div>
105 79
 						<div has-func="23" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==23]">
106 80
 							<a href-void ng-click="switchTopMenu(23,'app.synth.warehouseSource')">
107 81
 								<i class="nav-icon"><img alt="查询追溯" src="styles/img/home-1/nav-icon/chaxzs-icon.png" /></i>
108 82
 								查询追溯</a>
109 83
                             <i class="nav-feng-line"></i>
110 84
 						</div>
85
+						<div has-func="218" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==218]">
86
+							<a href-void ng-click="switchTopMenu(218,'app.intelligent.index')">
87
+								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/yuancjg-icon.png" /></i>
88
+								智能仓房</a>
89
+							<i class="nav-feng-line"></i>
90
+						</div>
111 91
 						<div has-func="439" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==439]">
112 92
 							<a href-void ng-click="switchTopMenu(439,'app.archive.storage.foodSituation')">
113 93
 								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/gdsj-icon.png" /></i>
114 94
 								归档数据</a>
115 95
 							<i class="nav-feng-line"></i>
116
-						</div>  
117
-						
96
+						</div>
97
+						<div has-func="2" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==2]">
98
+							<a href-void ng-click="switchTopMenu(2,'app.basic.index')">
99
+								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/jicsj-icon.png" /></i>
100
+								基础数据</a>
101
+							<i class="nav-feng-line"></i>
102
+						</div>
103
+						<div has-func="1" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==1]">
104
+							<a href-void ng-click="switchTopMenu(1,'app.system.user')">
105
+								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/xitgl-icon.png" /></i>
106
+								系统管理</a>
107
+                            <i class="nav-feng-line"></i>
108
+						</div>
118 109
 						<!-- <div has-func="20" ng-hide="isEmergency" class="nav-li" role="presentation" ng-class="{true:'active'}[childSysId==20]">
119 110
 							<a href-void ng-click="switchTopMenu(20,'app.act')">
120 111
 								<i class="nav-icon"><img src="styles/img/home-1/nav-icon/lcgl.png" /></i>

文件差异内容过多而无法显示
+ 1396 - 1493
src/main/resources/static/app/layout/partials/navigation.tpl.html


+ 173 - 0
src/main/resources/static/app/monitor/controller/cameraPlayNewCtrl.js

@@ -0,0 +1,173 @@
1
+angular.module('app.camera')
2
+    .controller("cameraPlayNewCtrl", function($scope, $rootScope, $http, $state,cameraService, nvrService, enumService, FileUploader, APP_CONFIG) {
3
+    
4
+	var g_iWndIndex = 0; //可以不用设置这个变量,有窗口参数的接口中,不用传值,开发包会默认使用当前选择窗口
5
+	var g_oLocalConfig = null; //本地配置
6
+    $scope.init = function () {
7
+        WebVideoCtrl.I_InitPlugin({
8
+	        bWndFull: true,     //是否支持单窗口双击全屏,默认支持 true:支持 false:不支持
9
+	        iWndowType: 2,//窗口初始化默认比例
10
+	        //鼠标单机窗口事件,获取窗口号
11
+	        cbSelWnd: function (xmlDoc) {
12
+	            //窗口号
13
+	        	g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10);
14
+	        	console.log("当前选择的窗口编号:" + g_iWndIndex);
15
+	            //var szInfo = "当前选择的窗口编号:" + g_iWndIndex;
16
+	            //showCBInfo(szInfo);
17
+	        },
18
+	        //窗口放大
19
+	        cbDoubleClickWnd: function (iWndIndex, bFullScreen) {
20
+	        	console.log("当前放大的窗口编号:" + iWndIndex);
21
+	            if (!bFullScreen) {            
22
+	            	console.log("当前还原的窗口编号:" + iWndIndex);
23
+	            }
24
+	            //showCBInfo(szInfo);
25
+	        },
26
+	        //窗口回放
27
+	        cbEvent: function (iEventType, iParam1, iParam2) {
28
+				if (2 == iEventType) {// 回放正常结束
29
+					console.log("窗口" + iParam1 + "回放结束!");
30
+	            } else if (-1 == iEventType) {
31
+	            	console.log("设备" + iParam1 + "网络错误!");
32
+	            } else if (3001 == iEventType) {
33
+	                clickStopRecord(g_szRecordType, iParam1);
34
+	            }
35
+	        },
36
+	        //初始化界面
37
+	        cbInitPluginComplete: function () {
38
+				WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin").then(() => {
39
+	                // 检查插件是否最新
40
+	                WebVideoCtrl.I_CheckPluginVersion().then((bFlag) => {
41
+	                    if (bFlag) {
42
+	                        alert("检测到新的插件版本,双击开发包目录里的HCWebSDKPlugin.exe升级!");
43
+	                    }
44
+	                });
45
+	            }, () => {
46
+	                alert("插件初始化失败,请确认是否已安装插件;如果未安装,请双击开发包目录里的HCWebSDKPlugin.exe安装!");
47
+	            });
48
+	        }
49
+    	});
50
+    }
51
+    
52
+    $scope.init();
53
+    
54
+    //全屏
55
+    function clickFullScreen() {
56
+        WebVideoCtrl.I_FullScreen(true).then(() => {
57
+        	console.log("全屏成功");
58
+        }, (oError) => {
59
+        	console.log("全屏失败!", oError.errorCode, oError.errorMsg);
60
+        });
61
+    }
62
+
63
+    //登录
64
+    function clickLogin() {
65
+        var szIP = $("#loginip").val(),
66
+            szPort = $("#port").val(),
67
+            szUsername = $("#username").val(),
68
+            szPassword = $("#password").val();
69
+
70
+        if ("" == szIP || "" == szPort) {
71
+            return;
72
+        }
73
+
74
+        var szDeviceIdentify = szIP + "_" + szPort;//当前摄像头IP+端口
75
+
76
+        WebVideoCtrl.I_Login(szIP, 1, szPort, szUsername, szPassword, {
77
+            timeout: 3000,
78
+            success: function (xmlDoc) {            
79
+            	console.log(szDeviceIdentify + " 登录成功!");
80
+                $("#ip").prepend("<option value='" + szDeviceIdentify + "'>" + szDeviceIdentify + "</option>");
81
+                setTimeout(function () {
82
+                    $("#ip").val(szDeviceIdentify);
83
+                    setTimeout(function() {
84
+                        getChannelInfo();
85
+                    }, 1000);
86
+                    getDevicePort();
87
+                }, 10);
88
+            },
89
+            error: function (oError) {
90
+                if (ERROR_CODE_LOGIN_REPEATLOGIN === status) {
91
+                    showOPInfo(szDeviceIdentify + " 已登录过!");
92
+                } else {
93
+                    showOPInfo(szDeviceIdentify + " 登录失败!", oError.errorCode, oError.errorMsg);
94
+                }
95
+            }
96
+        });
97
+    }
98
+    
99
+    // 退出
100
+    function clickLogout() {
101
+        var szDeviceIdentify = $("#ip").val();
102
+
103
+        if (null == szDeviceIdentify) {
104
+            return;
105
+        }
106
+
107
+        WebVideoCtrl.I_Logout(szDeviceIdentify).then(() => {
108
+            showOPInfo(szDeviceIdentify + " " + "退出成功!");
109
+       }, () => {
110
+        showOPInfo(szDeviceIdentify + " " + "退出失败!");
111
+       });
112
+    }
113
+    
114
+    //开始预览
115
+    function clickStartRealPlay(iStreamType) {
116
+        var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex),
117
+            szDeviceIdentify = $("#ip").val(),
118
+            iRtspPort = parseInt($("#rtspport").val(), 10),
119
+            iChannelID = parseInt($("#channels").val(), 10),
120
+            bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false,
121
+            szInfo = "";
122
+
123
+        if ("undefined" === typeof iStreamType) {
124
+            iStreamType = parseInt($("#streamtype").val(), 10);
125
+        }
126
+
127
+        if (null == szDeviceIdentify) {
128
+            return;
129
+        }
130
+        var startRealPlay = function () {
131
+            WebVideoCtrl.I_StartRealPlay(szDeviceIdentify, {
132
+                iStreamType: iStreamType,
133
+                iChannelID: iChannelID,
134
+                bZeroChannel: bZeroChannel,
135
+                success: function () {
136
+                    szInfo = "开始预览成功!";
137
+                    showOPInfo(szDeviceIdentify + " " + szInfo);               
138
+                },
139
+                error: function (oError) {
140
+                    showOPInfo(szDeviceIdentify + " 开始预览失败!", oError.errorCode, oError.errorMsg);
141
+                }
142
+            });
143
+        };
144
+       
145
+        if (oWndInfo != null) {// 已经在播放了,先停止
146
+            WebVideoCtrl.I_Stop({
147
+                success: function () {
148
+                    startRealPlay();
149
+                }
150
+            });
151
+        } else {
152
+            startRealPlay();
153
+        }
154
+    }
155
+
156
+    // 停止预览
157
+    function clickStopRealPlay() {
158
+        var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex),
159
+            szInfo = "";
160
+
161
+        if (oWndInfo != null) {
162
+            WebVideoCtrl.I_Stop({
163
+                success: function () {
164
+                    szInfo = "停止预览成功!";
165
+                    showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo);
166
+                },
167
+                error: function (oError) {
168
+                    showOPInfo(szDeviceIdentify + " 停止预览失败!", oError.errorCode, oError.errorMsg);
169
+                }
170
+            });
171
+        }
172
+    }
173
+})

+ 1 - 1
src/main/resources/static/app/monitor/group/module.js

@@ -6,7 +6,7 @@ angular.module('app.cameraGroup', ['ui.router','app.alert', 'ui.bootstrap', 'dat
6 6
         .state('app.cameraGroup', {
7 7
             abstract: true,
8 8
             data: {
9
-                title: '安全生产 / 视频监控在线监测'
9
+                title: '智能安防'
10 10
             }
11 11
         })
12 12
         .state('app.cameraGroup.list', {

+ 5 - 423
src/main/resources/static/app/monitor/module.js

@@ -54,7 +54,7 @@ angular.module('app.camera', ['ui.router', 'datatables', 'datatables.bootstrap']
54 54
             .state('app.camera', {
55 55
                 abstract: true,
56 56
                 data: {
57
-                    title: '安全生产/ 视频监控在线监测'
57
+                    title: '智能安防'
58 58
                 }
59 59
             })
60 60
             .state('app.camera.list', {
@@ -114,12 +114,15 @@ angular.module('app.camera', ['ui.router', 'datatables', 'datatables.bootstrap']
114 114
                     "content@app": {
115 115
                         controller: 'cameraPlayCtrl as datatables',
116 116
                         templateUrl: 'app/monitor/views/camera-play.html'
117
+                        	//controller: 'cameraPlayNewCtrl as datatables',
118
+                        	//templateUrl: 'app/monitor/views/camera-new-play.html'
117 119
                     }
118 120
                 },
119 121
                 resolve: {
120 122
                     scripts: function(lazyScript){
121 123
                         return lazyScript.register([
122 124
                             'bower_components/jquery-jsencrypt/jsencrypt.min.js','bower_components/jquery-jsencrypt/jsWebControl-1.0.0.min.js'
125
+                            //'bower_components/jquery-jsencrypt/webVideoCtrl.js','bower_components/jquery-jsencrypt/jsVideoPlugin-1.0.0.min.js'
123 126
                         ]);
124 127
                     }
125 128
                 }
@@ -193,425 +196,4 @@ angular.module('app.log', ['ui.router', 'datatables', 'datatables.bootstrap'])
193 196
 	                }
194 197
 	            }
195 198
 	        })
196
-	});
197
-
198
-angular.module('app.safeproduce', ['ui.router', 'datatables', 'datatables.bootstrap'])
199
-.config(function ($stateProvider) {
200
-    $stateProvider
201
-        .state('app.safeproduce', {
202
-            abstract: true,
203
-            data: {
204
-                title: '安全生产 / 安全管理'
205
-            }
206
-        })
207
-        //----------------安全生产开始---------------//
208
-            .state('app.safeproduce.list', {
209
-                url: '/safeproduce/list/:type/:layerType',
210
-                data: {
211
-                    title: '安全生产管理'
212
-                },
213
-                views: {
214
-                    "content@app": {
215
-                        controller: 'safeproduceCtrl',
216
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-list.html'
217
-                    }
218
-                }
219
-            })
220
-
221
-            // 安全风险等级管控
222
-            .state('app.safeproduce.safeRiskLevelCtrl', {
223
-                url: '/safeproduce/riskLevelCtrl',
224
-                data: {
225
-                    title: '安全风险分级管控'
226
-                },
227
-                views: {
228
-                    "content@app": {
229
-                        controller: 'safeProduceRiskCtrl',
230
-                        templateUrl: 'app/storage/views/safeproduce/safeRiskLevelCtrl-list.html'
231
-                    }
232
-                }
233
-            })
234
-            .state('app.safeproduce.safeRiskAdd', {
235
-                url: '/safeproduce/riskLevelCtrl/:id/:isNotEdit',
236
-                data: {
237
-                    title: '安全风险分级管控编辑'
238
-                },
239
-                views: {
240
-                    "content@app": {
241
-                        controller: 'safeProduceRiskCtrlSave',
242
-                        templateUrl: 'app/storage/views/safeproduce/safeRiskLevelCtrl-edit.html'
243
-                    }
244
-                }
245
-            })
246
-            // 安全隐患跟踪处理
247
-            .state('app.safeproduce.safeDangerHandle', {
248
-                url: '/safeproduce/dangerHandle',
249
-                data: {
250
-                    title: '安全隐患跟踪处理'
251
-                },
252
-                views: {
253
-                    "content@app": {
254
-                        controller: 'safeProduceDangerHandle',
255
-                        templateUrl: 'app/storage/views/safeproduce/safeDangerHandle-list.html'
256
-                    }
257
-                }
258
-            })
259
-            .state('app.safeproduce.safeProduceDangerHandleSave', {
260
-                url: '/safeproduce/dangerHandle/:id/:isNotEdit',
261
-                data: {
262
-                    title: '安全隐患跟踪处理编辑'
263
-                },
264
-                views: {
265
-                    "content@app": {
266
-                        controller: 'safeProduceDangerHandleSave',
267
-                        templateUrl: 'app/storage/views/safeproduce/safeDangerHandle-edit.html'
268
-                    }
269
-                }
270
-            })
271
-
272
-            /*--------------安全生产通知---------------*/
273
-            .state('app.safeproduce.notifyList', {
274
-                url: '/safeproduce/list',
275
-                data: {
276
-                    title: '安全生产通告'
277
-                },
278
-                views: {
279
-                    "content@app": {
280
-                        controller: 'safeProduceNotifyCtrl',
281
-                        templateUrl: 'app/storage/views/safeproduce/safeProduceNotify-list.html'
282
-                    }
283
-                }
284
-            })
285
-
286
-            .state('app.safeproduce.notifyAdd', {
287
-                url: '/safeproduce/add/:id/:isNotEdit/:topRow',
288
-                data: {
289
-                    title: '安全生产通知编辑'
290
-                },
291
-                views: {
292
-                    "content@app": {
293
-                        controller: 'safeProduceNotifySaveCtrl',
294
-                        templateUrl: 'app/storage/views/safeproduce/safeProduceNotify-edit.html'
295
-                    }
296
-                }
297
-            })
298
-
299
-            .state('app.safeproduce.notifyView', {
300
-                url: '/safeproduce/view/:id/:isNotEdit',
301
-                data: {
302
-                    title: '安全生产通知查看'
303
-                },
304
-                views: {
305
-                    "content@app": {
306
-                        controller: 'safeProduceNotifySaveCtrl',
307
-                        templateUrl: 'app/storage/views/safeproduce/safeProduceNotify-view.html'
308
-                    }
309
-                }
310
-            })
311
-            /*--------------法律规章信息库---------------*/
312
-            .state('app.safeproduce.rulelibrary', {
313
-                url: '/rulelibrary/list',
314
-                data: {
315
-                    title: '法律规章信息库'
316
-                },
317
-                views: {
318
-                    "content@app": {
319
-                        controller: 'rulelibraryCtrl',
320
-                        templateUrl: 'app/storage/views/safeproduce/ruleLibrary.html'
321
-                    }
322
-                }
323
-            })
324
-            // 安全事故管理
325
-            .state('app.safeproduce.safeAccidentManageList', {
326
-                url: '/safeproduce/safeAccidentManageList',
327
-                data: {
328
-                    title: '安全生产事故管理'
329
-                },
330
-                views: {
331
-                    "content@app": {
332
-                        controller: 'safeAccidentManageCtrl',
333
-                        templateUrl: 'app/storage/views/safeproduce/safeAccidentManage-list.html'
334
-                    }
335
-                }
336
-            })
337
-            // 编辑
338
-            .state('app.safeproduce.safeAccidentManageList.edit', {
339
-                url: '/safeproduce/safeAccidentManageEdit/:id/:isNotEdit',
340
-                data: {
341
-                    title: '安全事故管理编辑'
342
-                },
343
-                views: {
344
-                    "content@app": {
345
-                        controller: 'safeAccidentManageSaveCtrl',
346
-                        templateUrl: 'app/storage/views/safeproduce/safeAccidentManage-edit.html'
347
-                    }
348
-                }
349
-            })
350
-            // ---------------------备案及实施情况的管理------------------- //
351
-            // 三级路由--备案管理
352
-            .state('app.safeproduce.recordManage', {
353
-                abstract: true,
354
-                data: {
355
-                    title: '备案管理'
356
-                }
357
-            })
358
-            // ----------安全检查---------//
359
-            // 三级路由--安全检查
360
-            .state('app.safeproduce.safeCheck', {
361
-                abstract: true,
362
-                data: {
363
-                    title: '安全检查'
364
-                }
365
-            })
366
-            //日常检查
367
-            .state('app.safeproduce.safeCheck.dailyList', {
368
-                url: '/safeproduce/safeCheck/dailyList',
369
-                data: {
370
-                    title: '日常检查'
371
-                },
372
-                views: {
373
-                    "content@app": {
374
-                        controller: 'dailyListCtrl',
375
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-dailyList-list.html'
376
-                    }
377
-                }
378
-            })
379
-             //日常检查新增
380
-             .state('app.safeproduce.safeCheck.dailyList.add', {
381
-                url: '/safeproduce/safeCheck/dailyList/add/:id/:isNotEdit',
382
-                data: {
383
-                    title: '新增'
384
-                },
385
-                views: {
386
-                    "content@app": {
387
-                        controller: 'dailyListAddCtrl',
388
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-dailyList-add.html'
389
-                    }
390
-                }
391
-            })
392
-            //日常检查修改
393
-             .state('app.safeproduce.safeCheck.dailyList.edit', {
394
-                url: '/safeproduce/safeCheck/dailyList/edit/:id/:isNotEdit',
395
-                data: {
396
-                    title: '修改'
397
-                },
398
-                views: {
399
-                    "content@app": {
400
-                        controller: 'dailyListAddCtrl',
401
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-dailyList-add.html'
402
-                    }
403
-                }
404
-            })
405
-
406
-            // 节前安全检查
407
-            .state('app.safeproduce.safeCheck.fbelist', {
408
-                url: '/safeproduce/safeCheck/fbelist',
409
-                data: {
410
-                    title: '节前安全检查'
411
-                },
412
-                views: {
413
-                    "content@app": {
414
-                        controller: 'festivalbeforeCtrl',
415
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-festivalbefore-list.html'
416
-                    }
417
-                }
418
-            })
419
-            .state('app.safeproduce.safeCheck.fbelist.add', {
420
-                url: '/safeproduce/safeCheck/fbeadd/add/:id/:isNotEdit',
421
-                data: {
422
-                    title: '新增'
423
-                },
424
-                views: {
425
-                    "content@app": {
426
-                        controller: 'festivalbeforeSaveCtrl',
427
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-festivalbefore-edit.html'
428
-                    }
429
-                }
430
-            })
431
-            .state('app.safeproduce.safeCheck.fbelist.edit', {
432
-                url: '/safeproduce/safeCheck/fbeedit/edit/:id/:isNotEdit',
433
-                data: {
434
-                    title: '修改'
435
-                },
436
-                views: {
437
-                    "content@app": {
438
-                        controller: 'festivalbeforeSaveCtrl',
439
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-festivalbefore-edit.html'
440
-                    }
441
-                }
442
-            })
443
-            .state('app.safeproduce.safeCheck.fbelist.view', {
444
-                url: '/safeproduce/safeCheck/fbeedit/view/:id/:isNotEdit',
445
-                data: {
446
-                    title: '查看'
447
-                },
448
-                views: {
449
-                    "content@app": {
450
-                        controller: 'festivalbeforeSaveCtrl',
451
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-festivalbefore-edit.html'
452
-                    }
453
-                }
454
-            })
455
-
456
-            // 风雨雪三查
457
-            .state('app.safeproduce.safeCheck.wrslist', {
458
-                url: '/safeproduce/safeCheck/wrslist',
459
-                data: {
460
-                    title: '风雨雪三查'
461
-                },
462
-                views: {
463
-                    "content@app": {
464
-                        controller: 'windrainsnowCtrl',
465
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-windrainsnowcheck-list.html'
466
-                    }
467
-                }
468
-            })
469
-            .state('app.safeproduce.safeCheck.wrslist.add', {
470
-                url: '/safeproduce/safeCheck/wrslist/add/:id/:isNotEdit',
471
-                data: {
472
-                    title: '新增'
473
-                },
474
-                views: {
475
-                    "content@app": {
476
-                        controller: 'windrainsnowSaveCtrl',
477
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-windrainsnowcheck-edit.html'
478
-                    }
479
-                }
480
-            })
481
-            .state('app.safeproduce.safeCheck.wrslist.edit', {
482
-                url: '/safeproduce/safeCheck/wrslist/edit/:id/:isNotEdit',
483
-                data: {
484
-                    title: '修改'
485
-                },
486
-                views: {
487
-                    "content@app": {
488
-                        controller: 'windrainsnowSaveCtrl',
489
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-windrainsnowcheck-edit.html'
490
-                    }
491
-                }
492
-            })
493
-            .state('app.safeproduce.safeCheck.wrslist.view', {
494
-                url: '/safeproduce/safeCheck/wrslist/view/:id/:isNotEdit',
495
-                data: {
496
-                    title: '查看'
497
-                },
498
-                views: {
499
-                    "content@app": {
500
-                        controller: 'windrainsnowSaveCtrl',
501
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-windrainsnowcheck-edit.html'
502
-                    }
503
-                }
504
-            })
505
-
506
-            // 五温检查
507
-            .state('app.safeproduce.safeCheck.ttplist', {
508
-                url: '/safeproduce/safeCheck/ttplist/:houseId',
509
-                data: {
510
-                    title: '五温检查'
511
-                },
512
-                views: {
513
-                    "content@app": {
514
-                        controller: 'threetempCheckCtrl',
515
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-threetempcheck-list.html'
516
-                    }
517
-                },
518
-                resolve: {
519
-                    scripts: function(lazyScript){
520
-                        return lazyScript.register([
521
-                            'build/vendor.graphs.js'
522
-                        ]);
523
-                    }
524
-                }
525
-            })
526
-
527
-            // 其他检查
528
-            .state('app.safeproduce.safeCheck.otherchecklist', {
529
-                url: '/safeproduce/safeCheck/otherchecklist',
530
-                data: {
531
-                    title: '其他检查'
532
-                },
533
-                views: {
534
-                    "content@app": {
535
-                        controller: 'foodotherCheckCtrl',
536
-                        templateUrl: 'app/storage/views/safeproduce/safeproduce-foodothercheck-list.html'
537
-                    }
538
-                },
539
-                resolve: {
540
-                    scripts: function(lazyScript){
541
-                        return lazyScript.register([
542
-                            'build/vendor.graphs.js'
543
-                        ]);
544
-                    }
545
-                }
546
-            })
547
-            
548
-            // 虫害检测
549
-	        .state('app.safeproduce.safeCheck.insectPestDetectionList', {
550
-	                url: '/safeproduce/safeCheck/insectPestDetectionList/:show/:vCfCode',
551
-	                data: {
552
-	                    title: '虫害检测列表'
553
-	                },
554
-	                views: {
555
-	                    "content@app": {
556
-	                        controller: 'insectPestDetectionNewCtrl',
557
-	                        templateUrl: 'app/storage/insectPestDetection/view/insectPestDetection-list.html'
558
-	                    }
559
-	                }
560
-	            }
561
-	        )
562
-	        // 虫害手工录入
563
-	        .state('app.safeproduce.safeCheck.insectPestDetectionEdit', {
564
-	                url: '/safeproduce/safeCheck/insectPestDetectionEdit/:id/:butType',
565
-	                data: {
566
-	                    title: '虫害检测数据'
567
-	                },
568
-	                views: {
569
-	                    "content@app": {
570
-	                        controller: 'insectPestEditNewCtrl',
571
-	                        templateUrl: 'app/storage/insectPestDetection/view/insectPestDetection-edit.html'
572
-	                    }
573
-	                }
574
-	            }
575
-	        )
576
-	        // 虫害检测图表展示
577
-	        .state('app.safeproduce.safeCheck.insectPestDetectionList.chart', {
578
-	                url: '/safeproduce/safeCheck/insectPestDetectionList/chart',
579
-	                data: {
580
-	                    title: '虫害检测图表'
581
-	                },
582
-	                views: {
583
-	                    "content@app": {
584
-	                        controller: 'insectPestDetectionChartNew',
585
-	                        templateUrl: 'app/storage/insectPestDetection/view/insectPestDetectionChart.html'
586
-	                    }
587
-	                }
588
-	            }
589
-	        )
590
-
591
-            //安全隐患排查治理
592
-            .state('app.safeproduce.safeManage', {
593
-                url: '/safeproduce/safeManage/safeManageList',
594
-                data: {
595
-                    title: '安全隐患排查治理'
596
-                },
597
-                views: {
598
-                    "content@app": {
599
-                        controller: 'safeManageCtrl',
600
-                        templateUrl: 'app/storage/safe-manage/views/safeManage-list.html'
601
-                    }
602
-                }
603
-            })
604
-
605
-            .state('app.safeproduce.safeManage.edit', {
606
-                url: '/safeproduce/safeManage/safeManageEdit/:id/:butType',
607
-                data: {
608
-                    title: '安全隐患排查治理详情'
609
-                },
610
-                views: {
611
-                    "content@app": {
612
-                        controller: 'safeManageEditCtrl',
613
-                        templateUrl: 'app/storage/safe-manage/views/safeManage-edit.html'
614
-                    }
615
-                }
616
-            })
617
-});
199
+	});

+ 1 - 1
src/main/resources/static/app/monitor/qualityDlag/module.js

@@ -8,7 +8,7 @@ angular.module('app.qualityDlag', ['ui.router', 'ui.bootstrap', 'datatables', 'd
8 8
         .state('app.qualityDlag', {
9 9
             abstract: true,
10 10
             data: {
11
-                title: '安全生产 / 视频监控在线监测 / 质量诊断'
11
+                title: '智能安防 / 质量诊断'
12 12
             }
13 13
         })
14 14
         .state('app.qualityDlag.playList', {

+ 2 - 2
src/main/resources/static/app/monitor/record/module.js

@@ -9,13 +9,13 @@ angular.module('app.cameraRecord', ['ui.router','app.alert', 'ui.bootstrap', 'da
9 9
         .state('app.cameraRecord', {
10 10
             abstract: true,
11 11
             data: {
12
-                title: '安全生产/ 视频监控在线监测'
12
+                title: '智能安防'
13 13
             }
14 14
         })
15 15
         .state('app.cameraRecord.list', {
16 16
             url: '/cameraRecord/list',// 传参 : id/:name/:pwd
17 17
             data: {
18
-                title: '录像管理'
18
+                title: '回放通道'
19 19
             },
20 20
             views: {
21 21
                 "content@app": {

+ 1 - 1
src/main/resources/static/app/monitor/setting/module.js

@@ -9,7 +9,7 @@ angular.module('app.cameraSetting', ['ui.router','app.alert']).config(function (
9 9
         .state('app.cameraSetting', {
10 10
             abstract: true,
11 11
             data: {
12
-                title: '安全生产 / 视频监控在线监测 / 配置管理'
12
+                title: '智能安防 / 配置管理'
13 13
             }
14 14
         })
15 15
         .state('app.cameraSetting.set', {

+ 17 - 0
src/main/resources/static/app/monitor/views/camera-new-play.html

@@ -0,0 +1,17 @@
1
+<META HTTP-EQUIV="pragma" CONTENT="no-cache">
2
+<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
3
+<META HTTP-EQUIV="expires" CONTENT="0">
4
+<meta HTTP-EQUIV="Expires" content="0" />
5
+<div style="float:left;">
6
+    <div id="divPlugin" style="width:1000px;height:550px;"></div>
7
+</div>
8
+<div style="float:left;">
9
+    <ul id="myTab1" class="nav nav-tabs bordered">
10
+        <li class="active" id="qiye-li">
11
+            <a href="#trees" data-toggle="tab" aria-expanded="true">摄像头列表</a>
12
+        </li>
13
+        <li class="" id="geren-li">
14
+            <a href="#operat" data-toggle="tab" aria-expanded="false">操作</a>
15
+        </li>
16
+    </ul>
17
+</div>

+ 6 - 2
src/main/resources/static/app/storage/changestorage/service/changeStoreRopService.js

@@ -47,7 +47,7 @@ angular.module('app.basic').service("changeStoreRopService", function($http, $q,
47 47
         
48 48
         return d.promise;
49 49
     }
50
-    this.getPageInfoRop = function(pageNum, pageSize, orgId, changehouseNo, applyTimeA, applyTimeB) {
50
+    this.getPageInfoRop = function(pageNum, pageSize, orgId, changehouseNo, applyTimeA, applyTimeB,  dcch, dchwh, drch, drhwh) {
51 51
         var d = $q.defer();
52 52
         $http({
53 53
             method : 'GET',
@@ -58,7 +58,11 @@ angular.module('app.basic').service("changeStoreRopService", function($http, $q,
58 58
                 orgId : orgId, //单位ID
59 59
                 changehouseNo : changehouseNo, //倒仓业务单号
60 60
                 applyTimeA : applyTimeA, //申请日期
61
-                applyTimeB : applyTimeB //申请日期
61
+                applyTimeB : applyTimeB, //申请日期
62
+                dcch : dcch, //倒出仓号
63
+                dchwh : dchwh, //倒出货位号
64
+                drch : drch, //倒入仓号
65
+                drhwh : drhwh //倒入货位号
62 66
             }
63 67
         }).then(function successCallback(response) {
64 68
             // 请求成功执行代码

+ 2 - 2
src/main/resources/static/app/storage/changestorage/views/ChangeStoreSee.html

@@ -71,8 +71,8 @@
71 71
 											<td>{{storehouseObj[changestorage.outStorehouse].storehouseName}}</td>
72 72
 											<td>{{storehouseObj[changestorage.intoStorehouse].storehouseName}}</td>
73 73
 											<td>{{dicData[changestorage.foodWar]}}</td>
74
-											<td>{{changestorage.goalNumber}}</td>
75
-											<td>{{changestorage.foodNumber}}</td>
74
+											<td>{{changestorage.goalNumber/1000 | number : 3}}</td>
75
+											<td>{{changestorage.foodNumber/1000 | number : 3}}</td>
76 76
 											<td>{{changestorage.foodStatus}}</td>
77 77
 											<td>{{changestorage.createTime | date :'yyyy-MM-dd'}}</td>
78 78
 											<td>

+ 4 - 4
src/main/resources/static/app/storage/controller/dailyListCtrl.js

@@ -90,17 +90,17 @@ angular.module('app.storage')
90 90
 
91 91
         //新增
92 92
         $scope.addDailyList=function () {
93
-            $state.go('app.safeproduce.safeCheck.dailyList.add',{id:0,isNotEdit:false});
93
+            $state.go('app.storage.safeproduce.safeCheck.dailyList.add',{id:0,isNotEdit:false});
94 94
         };
95 95
 
96 96
         //修改
97 97
         $scope.showEditFbe=function (id) {
98
-            $state.go('app.safeproduce.safeCheck.dailyList.edit',{id:id,isNotEdit:false});
98
+            $state.go('app.storage.safeproduce.safeCheck.dailyList.edit',{id:id,isNotEdit:false});
99 99
         };
100 100
 
101 101
         // 查看页面
102 102
         $scope.showViewOut = function(id) {
103
-            $state.go('app.safeproduce.safeCheck.dailyList.add',{id:id,isNotEdit:true});
103
+            $state.go('app.storage.safeproduce.safeCheck.dailyList.add',{id:id,isNotEdit:true});
104 104
         }
105 105
 
106 106
         // 根据id删除信息
@@ -263,7 +263,7 @@ angular.module('app.storage')
263 263
                 }).then(function successCallback(response) {
264 264
                     if (response.data.status == "success") {
265 265
                         alert("保存成功!");
266
-                        $state.go('app.safeproduce.safeCheck.dailyList');
266
+                        $state.go('app.storage.safeproduce.safeCheck.dailyList');
267 267
                     } else {
268 268
                         alert("保存失败!");
269 269
                     }

+ 4 - 4
src/main/resources/static/app/storage/controller/festivalbeforeCtrl.js

@@ -83,15 +83,15 @@ angular.module('app.storage')
83 83
 
84 84
         // 显示增加页面
85 85
         $scope.showAddFbe=function () {
86
-            $state.go('app.safeproduce.safeCheck.fbelist.add', {id:0,isNotEdit:false});
86
+            $state.go('app.storage.safeproduce.safeCheck.fbelist.add', {id:0,isNotEdit:false});
87 87
         };
88 88
         //修改编辑页面
89 89
         $scope.showEditFbe = function (id) {
90
-            $state.go('app.safeproduce.safeCheck.fbelist.edit', {id:id,isNotEdit:false});
90
+            $state.go('app.storage.safeproduce.safeCheck.fbelist.edit', {id:id,isNotEdit:false});
91 91
         };
92 92
         // 查看页面
93 93
         $scope.showViewFbe = function(id) {
94
-            $state.go('app.safeproduce.safeCheck.fbelist.view', {id:id,isNotEdit:true});
94
+            $state.go('app.storage.safeproduce.safeCheck.fbelist.view', {id:id,isNotEdit:true});
95 95
         };
96 96
 
97 97
         // 根据id删除信息
@@ -169,7 +169,7 @@ angular.module('app.storage')
169 169
                         if ($rootScope.previousState_name != '') {
170 170
                             $rootScope.back();
171 171
                         } else {
172
-                            $state.go('app.safeproduce.safeCheck.fbelist');
172
+                            $state.go('app.storage.safeproduce.safeCheck.fbelist');
173 173
                         }
174 174
                     } else {
175 175
                         alert("保存失败!");

+ 23 - 10
src/main/resources/static/app/storage/controller/keepAccount/houseKeepAccountCtrl.js

@@ -37,7 +37,17 @@ angular.module('app.storage').controller("houseKeepAccountCtrl",
37 37
 
38 38
 	// 获取列表数据
39 39
 	$scope.pageInfo = {pageNum : 1, pageSize : 10};
40
+	if ($stateParams.findPage != null && $stateParams.findPage != "") {
41
+		var findP = angular.fromJson($stateParams.findPage);
42
+		$scope.pageInfo.pageNum = findP.pageNum;
43
+		$scope.pageInfo.pageSize = findP.pageSize;
44
+	}
40 45
 	$scope.search = {ch:"", hwh:"", lspz:"", lsxz:"", startDate:"", endDate:"", wjh:"", zy:""};
46
+	if ($stateParams.findSearch != null && $stateParams.findSearch != "") {
47
+		$scope.search = angular.fromJson($stateParams.findSearch);
48
+		$("#startDate").val($scope.search.startDate);
49
+		$("#endDate").val($scope.search.endDate);
50
+	}
41 51
 	if($stateParams.houseId != "" && $stateParams.houseId != null){
42 52
 		$scope.search.ch = $stateParams.houseId;
43 53
 	}
@@ -245,12 +255,14 @@ angular.module('app.storage').controller("houseKeepAccountCtrl",
245 255
 					}
246 256
 				}
247 257
 				account.id === data.obj.id;
248
-				$state.go('app.cstj.account.houseKeepAccount.houseKeepAccountEdit',{account:angular.toJson(account), butType:butType});
258
+				$state.go('app.storage.account.houseKeepAccount.houseKeepAccountEdit',{account:angular.toJson(account), butType:butType,
259
+					findPage: angular.toJson($scope.pageInfo), 
260
+					findSearch: angular.toJson($scope.search)});
249 261
 			},function(data){
250 262
 		        console.log(data);
251 263
 		    });
252 264
 		} else { //明细账
253
-			$state.go('app.cstj.account.keepDetailedAccount',{account:angular.toJson(account), type:butType});
265
+			$state.go('app.storage.account.keepDetailedAccount',{account:angular.toJson(account), type:butType});
254 266
 		}
255 267
 	}
256 268
 
@@ -261,7 +273,7 @@ angular.module('app.storage').controller("houseKeepAccountCtrl",
261 273
 
262 274
 	//返回保管总账列表
263 275
 	$scope.returnTotal = function() {
264
-		$state.go('app.cstj.account.keepTotalAccount');
276
+		$state.go('app.storage.account.keepTotalAccount');
265 277
 	}
266 278
 
267 279
 	//返回粮库决策
@@ -312,10 +324,10 @@ angular.module('app.storage').controller("houseKeepAccountCtrl",
312 324
 			//初始分仓保管账表对象数据
313 325
 			$scope.fcbgz.lcmc = $rootScope.depotInfo.orgName;
314 326
 			$scope.fcbgz.rq = rq;
327
+			$scope.account.houseId = $scope.fcbgz.ch; //仓房
328
+			$scope.account.wareId = $scope.fcbgz.hwh; //货位
315 329
 			if ($stateParams.butType == 0) { //记账
316 330
 				//初始化数据记账表对象数据
317
-				$scope.account.houseId = $scope.fcbgz.ch; //仓房
318
-				$scope.account.wareId = $scope.fcbgz.hwh; //货位
319 331
 				$scope.account.recordUnite = $scope.fcbgz.lqgs; //粮权归属
320 332
 				$scope.account.lspz = $scope.fcbgz.pz; //粮食品种
321 333
 				$scope.account.hwxz = $scope.fcbgz.hwxz; //货物性质
@@ -383,10 +395,11 @@ angular.module('app.storage').controller("houseKeepAccountCtrl",
383 395
 	
384 396
 	//返回
385 397
     $scope.retList = function () {
386
-		if ($rootScope.previousState_name != '') {
387
-        	$rootScope.back();
388
-        } else {
389
-        	$state.go('app.cstj.account.houseKeepAccount');
390
-        }
398
+//		if ($rootScope.previousState_name != '') {
399
+//        	$rootScope.back();
400
+//        } else {
401
+        	$state.go('app.storage.account.houseKeepAccount', {account: null, type: null, 
402
+    			findPage: $stateParams.findPage, findSearch: $stateParams.findSearch});
403
+//        }
391 404
     }
392 405
 });

+ 26 - 61
src/main/resources/static/app/storage/controller/keepAccount/keepDetailedAccountCtrl.js

@@ -17,9 +17,20 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
17 17
 
18 18
 	// 获取列表数据
19 19
 	$scope.pageInfo = {pageNum : 1, pageSize : 10};
20
+	if ($stateParams.findPage != null && $stateParams.findPage != "") {
21
+		var findP = angular.fromJson($stateParams.findPage);
22
+		$scope.pageInfo.pageNum = findP.pageNum;
23
+		$scope.pageInfo.pageSize = findP.pageSize;
24
+	}
20 25
 	$scope.search = {ch:"", hwh:"", lspz:"", lsxz:"", startDate:"", endDate:"", wjh:"", zy:""};
21
-			$scope.isArchive = false;
22
-			$scope.isArchiveHouse = 0;
26
+	if ($stateParams.findSearch != null && $stateParams.findSearch != "") {
27
+		$scope.search = angular.fromJson($stateParams.findSearch);
28
+		$("#startDate").val($scope.search.startDate);
29
+		$("#endDate").val($scope.search.endDate);
30
+	}
31
+
32
+	$scope.isArchive = false;
33
+	$scope.isArchiveHouse = 0;
23 34
 	$scope.loadData = function() {
24 35
 		//归档用
25 36
 		if($stateParams.dataState == "archive"){
@@ -57,8 +68,8 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
57 68
 					$scope.search.hwh = $scope.fcbgz.hwh;
58 69
 					$scope.search.lspz = parseInt($scope.fcbgz.pz);
59 70
 					$scope.search.hwxz = parseInt($scope.fcbgz.hwxz);
60
-					$scope.search.startDate = $filter('date')($scope.fcbgz.rq, "yyyy-MM-dd");
61
-					$scope.search.endDate = $filter('date')($scope.fcbgz.rq, "yyyy-MM-dd");
71
+					$scope.search.startDate = $filter('date')($scope.fcbgz.rqs, "yyyy-MM-dd");
72
+					$scope.search.endDate = $filter('date')($scope.fcbgz.rqs, "yyyy-MM-dd");
62 73
 					$scope.search.wjh = $scope.fcbgz.wjh;
63 74
 					$scope.search.zy = $scope.fcbgz.zy;
64 75
 				} else {
@@ -88,8 +99,8 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
88 99
 				$scope.search.hwh = $scope.fcbgz.hwh;
89 100
 				$scope.search.lspz = parseInt($scope.fcbgz.pz);
90 101
 				$scope.search.hwxz = parseInt($scope.fcbgz.hwxz);
91
-				$scope.search.startDate = $filter('date')($scope.fcbgz.rq, "yyyy-MM-dd");
92
-				$scope.search.endDate = $filter('date')($scope.fcbgz.rq, "yyyy-MM-dd");
102
+				$scope.search.startDate = $filter('date')($scope.fcbgz.rqs, "yyyy-MM-dd");
103
+				$scope.search.endDate = $filter('date')($scope.fcbgz.rqs, "yyyy-MM-dd");
93 104
 				$scope.search.wjh = $scope.fcbgz.wjh;
94 105
 				$scope.search.zy = $scope.fcbgz.zy;
95 106
 			} else {
@@ -109,7 +120,7 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
109 120
 				console.log(data);
110 121
 			});
111 122
 
112
-			$scope.loadWare(null);
123
+			$scope.loadWare($scope.search.ch);
113 124
 		}
114 125
 		//加载打印区域的数据
115 126
 		keepAccountService.getPageInfo(null, null, $scope.search).then(function(data){
@@ -153,7 +164,10 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
153 164
 		 * type 操作类型:0:记账,1:审核,2:查看
154 165
 		 * 此处是记账功能,所以type写死为0
155 166
 		 */
156
-		$state.go('app.cstj.account.keepVoucher.edit', {account: angular.toJson(event), type: 0});
167
+		event = angular.toJson(event);
168
+		$state.go('app.storage.account.keepDetailedAccount.edit', {account: event, type: 0, 
169
+			findPage: angular.toJson($scope.pageInfo), 
170
+			findSearch: angular.toJson($scope.search)});
157 171
 	}
158 172
 	// 翻页
159 173
 	$scope.goPage = function(pageNum) {
@@ -181,57 +195,8 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
181 195
 	    }
182 196
 	};
183 197
 	
184
-})
185
-//记账凭证列表
186
-.controller('keepVoucherCtrl', function($scope, $state,	 $stateParams, $rootScope, warehouseService, keepVoucherService) {
187
-
188
-	// 获取列表数据
189
-	$scope.pageInfo = {pageNum : 1, pageSize : 10};
190
-	$scope.search = {ch:"", hwh:""};
191
-
192
-	// 获取货位列表
193
-	$scope.loadWare = function() {
194
-		if ($scope.search.ch != null && $scope.search.ch != "") {
195
-			warehouseService.getStorehouse($rootScope.orgInfo.orgId, $scope.search.ch, "0").then(function(data){
196
-				//$scope.warehouseObj = data.wares;	//查询数据列表货位信息转换
197
-				$scope.warelist = data.wareList;  //下拉列表数据
198
-			},function(data){
199
-				console.log(data);
200
-			});
201
-		} else {
202
-			$scope.warelist = null;
203
-			$scope.search.hwh = null;
204
-		}
205
-	}
206
-
207
-	$scope.loadData = function () {
208
-		keepVoucherService.getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, $scope.search).then(function (data) {
209
-			$scope.pageInfo = data;
210
-		}, function (data) {
211
-			console.log(data);
212
-		});
213
-	}
214
-	$scope.loadData();
215
-
216
-	// 翻页
217
-	$scope.goPage = function(pageNum) {
218
-		$scope.pageInfo.pageNum = pageNum;
219
-		$scope.loadData();
220
-	}
221
-
222
-	//页面跳转
223
-	$scope.edit = function(account, type) {
224
-		$state.go('app.cstj.account.keepVoucher.edit',{account:angular.toJson(account), type:type});
225
-	}
226
-
227
-	//打印
228
-	$scope.print = function() {
229
-		$("#print").printArea();
230
-	}
231
-
232
-})
233
-//记账凭证详情(保管明细账记账)
234
-.controller('keepVoucherEditCtrl', function($scope, $state, $stateParams, $rootScope, $filter, keeperService, keepVoucherService) {
198
+})//记账凭证详情(跟保管明细账记账同一个页面)
199
+.controller('keepDetailedAccountEditCtrl', function($scope, $state, $stateParams, $rootScope, $filter, keeperService, keepVoucherService) {
235 200
 
236 201
 	/*----初始化页面数据------start----*/
237 202
 	/**
@@ -303,7 +268,7 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
303 268
 	$scope.submit = function () {
304 269
 		keepVoucherService.submit($scope.accountInfo).then(function (data) {
305 270
 			alert(data.msg);
306
-			$state.go('app.cstj.account.keepVoucher');
271
+			$scope.retList();
307 272
 		}, function (data) {
308 273
 			console.log(data);
309 274
 		});
@@ -311,7 +276,7 @@ angular.module('app.storage').controller("keepDetailedAccountCtrl",
311 276
 
312 277
 	//取消按钮
313 278
 	$scope.retList = function () {
314
-		$state.go('app.cstj.account.keepVoucher');
279
+		$state.go('app.storage.account.keepDetailedAccount', {findPage: $stateParams.findPage, findSearch: $stateParams.findSearch});
315 280
 	}
316 281
 
317 282
 });

+ 15 - 7
src/main/resources/static/app/storage/controller/keepAccount/keepTotalAccountCtrl.js

@@ -6,7 +6,17 @@ angular.module('app.storage').controller("keepTotalAccountCtrl",
6 6
 
7 7
 	// 获取列表数据
8 8
 	$scope.pageInfo = {pageNum : 1, pageSize : 10};
9
+	if ($stateParams.findPage != null && $stateParams.findPage != "") {
10
+		var findP = angular.fromJson($stateParams.findPage);
11
+		$scope.pageInfo.pageNum = findP.pageNum;
12
+		$scope.pageInfo.pageSize = findP.pageSize;
13
+	}
9 14
 	$scope.search = {lspz:"", lsxz:"", startDate:"", endDate:""};
15
+	if ($stateParams.findSearch != null && $stateParams.findSearch != "") {
16
+		$scope.search = angular.fromJson($stateParams.findSearch);
17
+		$("#startDate").val($scope.search.startDate);
18
+		$("#endDate").val($scope.search.endDate);
19
+	}
10 20
 	$scope.loadData = function() {
11 21
 		if($scope.search.lsxz != undefined && $scope.search.lsxz != ""){
12 22
 			$scope.search.lsxz = $scope.search.lsxz[0].id;
@@ -109,12 +119,14 @@ angular.module('app.storage').controller("keepTotalAccountCtrl",
109 119
 
110 120
 				account.id === data.obj.id;
111 121
 
112
-				$state.go('app.cstj.account.keepTotalAccount.keepTotalAccountEdit',{account:angular.toJson(account), butType:butType});
122
+				$state.go('app.storage.account.keepTotalAccount.keepTotalAccountEdit',{account:angular.toJson(account), butType:butType,
123
+					findPage: angular.toJson($scope.pageInfo), 
124
+					findSearch: angular.toJson($scope.search)});
113 125
 			},function(data){
114 126
 		        console.log(data);
115 127
 		    });
116 128
 		} else { //分仓账
117
-			$state.go('app.cstj.account.houseKeepAccount',{account:angular.toJson(account), type:butType});
129
+			$state.go('app.storage.account.houseKeepAccount',{account:angular.toJson(account), type:butType});
118 130
 		}
119 131
 	}
120 132
 	//打印
@@ -202,10 +214,6 @@ angular.module('app.storage').controller("keepTotalAccountCtrl",
202 214
 	
203 215
 	//返回
204 216
     $scope.retList = function () {
205
-		if ($rootScope.previousState_name != '') {
206
-        	$rootScope.back();
207
-        } else {
208
-        	$state.go('app.cstj.account.keepTotalAccount');
209
-        }
217
+    	$state.go('app.storage.account.keepTotalAccount', {findPage: $stateParams.findPage, findSearch: $stateParams.findSearch});
210 218
     }
211 219
 });

+ 147 - 0
src/main/resources/static/app/storage/controller/keepAccount/keepVoucherCtrl.js

@@ -0,0 +1,147 @@
1
+"use strict";
2
+
3
+//记账凭证列表
4
+angular.module('app.storage').controller('keepVoucherCtrl', 
5
+		function($scope, $state, $stateParams, $rootScope, warehouseService, keepVoucherService) {
6
+
7
+	// 获取货位列表
8
+	$scope.loadWare = function() {
9
+		if ($scope.search.ch != null && $scope.search.ch != "") {
10
+			warehouseService.getStorehouse($rootScope.orgInfo.orgId, $scope.search.ch, "0").then(function(data){
11
+				//$scope.warehouseObj = data.wares;	//查询数据列表货位信息转换
12
+				$scope.warelist = data.wareList;  //下拉列表数据
13
+			},function(data){
14
+				console.log(data);
15
+			});
16
+		} else {
17
+			$scope.warelist = null;
18
+			$scope.search.hwh = null;
19
+		}
20
+	}
21
+
22
+	// 获取列表数据
23
+	$scope.pageInfo = {pageNum : 1, pageSize : 10};
24
+	if ($stateParams.findPage != null && $stateParams.findPage != "") {
25
+		var findP = angular.fromJson($stateParams.findPage);
26
+		$scope.pageInfo.pageNum = findP.pageNum;
27
+		$scope.pageInfo.pageSize = findP.pageSize;
28
+	}
29
+	$scope.search = {ch:"", hwh:""};
30
+	if ($stateParams.findSearch != null && $stateParams.findSearch != "") {
31
+		$scope.search = angular.fromJson($stateParams.findSearch);
32
+		$scope.loadWare();
33
+	}
34
+
35
+	$scope.loadData = function () {
36
+		keepVoucherService.getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, $scope.search).then(function (data) {
37
+			$scope.pageInfo = data;
38
+		}, function (data) {
39
+			console.log(data);
40
+		});
41
+	}
42
+	$scope.loadData();
43
+
44
+	// 翻页
45
+	$scope.goPage = function(pageNum) {
46
+		$scope.pageInfo.pageNum = pageNum;
47
+		$scope.loadData();
48
+	}
49
+
50
+	//页面跳转
51
+	$scope.edit = function(account, type) {
52
+		$state.go('app.storage.account.keepVoucher.edit',{account:angular.toJson(account), butType:type,
53
+			findPage: angular.toJson($scope.pageInfo), 
54
+			findSearch: angular.toJson($scope.search)});
55
+	}
56
+
57
+	//打印
58
+	$scope.print = function() {
59
+		$("#print").printArea();
60
+	}
61
+
62
+})
63
+//记账凭证详情(跟保管明细账记账同一个页面)
64
+.controller('keepVoucherEditCtrl', function($scope, $state, $stateParams, $rootScope, $filter, keeperService, keepVoucherService) {
65
+
66
+	/*----初始化页面数据------start----*/
67
+	/**
68
+	 * type判断说明如下:
69
+	 * 操作类型:0:记账,1:审核,2:查看
70
+	 */
71
+	if ($stateParams.butType != "0") {
72
+		//查询后台已保存的数据
73
+		$scope.accountInfo = angular.fromJson($stateParams.account);
74
+
75
+		if ($stateParams.butType == 1) {//审核功能加载
76
+			$scope.accountInfo.shr = $rootScope.userInfo.realName;
77
+			$scope.accountInfo.shsj = $filter('date')(new Date(), "yyyy-MM-dd");
78
+		} else if ($stateParams.butType == "2") {
79
+			$scope.isNotEdit = true;
80
+		}
81
+	} else {//记账的默认加载方式如下
82
+		$scope.accountObj = angular.fromJson($stateParams.account);
83
+		$scope.accountInfo = {};
84
+		//查询这个保管明细账数据有没有记过账,有就按照修改走,没有就按新数据走
85
+		keepVoucherService.findByCondition($scope.accountObj.dataid).then(function (data) {
86
+			$scope.jz_list = data;
87
+			if ($scope.jz_list.length > 0) {
88
+				$scope.accountInfo.id = $scope.jz_list[0].id;
89
+			}
90
+			$scope.accountInfo.orgId = $scope.accountObj.unitid;
91
+			$scope.accountInfo.ch = $scope.accountObj.ch;
92
+			$scope.accountInfo.hwh = $scope.accountObj.hwh;
93
+			$scope.accountInfo.lkmc = $rootScope.orgInfo.orgName;
94
+			$scope.accountInfo.rq = $scope.accountObj.rq;
95
+			$scope.accountInfo.yDataid = $scope.accountObj.dataid;
96
+			$scope.accountInfo.lyxz = $rootScope.dicData[$scope.accountObj.hwxz];
97
+			$scope.accountInfo.lypz = $rootScope.dicData[$scope.accountObj.pz];
98
+			$scope.accountInfo.lydj = $rootScope.dicData[$scope.accountObj.dj];
99
+			$scope.accountInfo.sf = $scope.accountObj.bpsf;
100
+			$scope.accountInfo.zz = $scope.accountObj.bpzz;
101
+			$scope.accountInfo.lqss = $scope.accountObj.lqgs;
102
+			if ($scope.accountObj.srsl > 0) {
103
+				$scope.accountInfo.ywlx = "入库";
104
+				$scope.accountInfo.sjsl = $scope.accountObj.srsl;
105
+			} else {
106
+				$scope.accountInfo.ywlx = "出库";
107
+				$scope.accountInfo.sjsl = $scope.accountObj.zcsl;
108
+			}
109
+			$scope.accountInfo.ccfs = "散装储存";
110
+			$scope.accountInfo.glfs = "直储";
111
+			$scope.accountInfo.rcfs = "机械方式";
112
+			$scope.accountInfo.rcfs = "机械方式";
113
+			$scope.accountInfo.jzr = $rootScope.userInfo.realName; //记账人
114
+			$scope.accountInfo.jzsj = $filter('date')(new Date(), "yyyy-MM-dd"); //记账时间
115
+			//通过仓房ID带出的保管员
116
+			keeperService.getKeeperNamesByHouseId($scope.accountObj.ch).then(function (data) {
117
+				$scope.accountInfo.bgy = data.keeperNames;
118
+			}, function (data) {
119
+				console.log(data);
120
+			});
121
+		}, function (data) {
122
+			console.log(data);
123
+		});
124
+
125
+
126
+		//记账时,审核人、审核时间、审核意见不可见
127
+		$scope.sh_th = true;
128
+		$scope.sh_th = true;
129
+	}
130
+	/*----初始化页面数据------end----*/
131
+
132
+	//提交按钮
133
+	$scope.submit = function () {
134
+		keepVoucherService.submit($scope.accountInfo).then(function (data) {
135
+			alert(data.msg);
136
+			$scope.retList();
137
+		}, function (data) {
138
+			console.log(data);
139
+		});
140
+	}
141
+
142
+	//取消按钮
143
+	$scope.retList = function () {
144
+		$state.go('app.storage.account.keepVoucher', {findPage: $stateParams.findPage, findSearch: $stateParams.findSearch});
145
+	}
146
+
147
+});

+ 1 - 1
src/main/resources/static/app/storage/controller/numberManage/sheetCtrl.js

@@ -67,7 +67,7 @@ angular.module('app.business').controller("sheetCtrl", function($scope,$rootScop
67 67
     // 查看页面
68 68
     $scope.showView = function(id) {
69 69
         if($stateParams.jumpType == "DT"){//动态粮情统计
70
-            $state.go("app.jczcsupervise.decisionSupport.dynamicFoodDetail",{id : id});
70
+            $state.go("app.supervise.decisionSupport.dynamicFoodDetail",{id : id});
71 71
         }else if($stateParams.jumpType == "KC"){//库存统计
72 72
             $state.go("app.supervise.storage.inventoryDetails",{id : id});
73 73
         }else{

+ 0 - 0
src/main/resources/static/app/storage/controller/qualitycheckAssayCtrl.js


部分文件因为文件数量过多而无法显示