瀏覽代碼

工单详情全屏,上传附件修改

liuzhen 6 年之前
父節點
當前提交
b155c01e4b

+ 1 - 1
CallCenterWeb.UI/WorkOrder/WorkOrderAppoint.html

@@ -87,7 +87,7 @@
87 87
 				</table>
88 88
 			</div>
89 89
 			<!--查看详情-->
90
-			<div id="order_details" class="ckxq Hidens"></div>
90
+			<!--<div id="order_details" class="ckxq Hidens"></div>-->
91 91
 		</div>
92 92
 		<script src="../js/laydate/laydate.js"></script>
93 93
 		<script src="../js/bootstrap-select/js/bootstrap-select.js"></script>

+ 203 - 173
CallCenterWeb.UI/WorkOrder/template/orderDetails.html

@@ -1,175 +1,205 @@
1
-<!-- 工单详情 orderDtails -->
2
-<ul class="clearfix ckxq_ul">
3
-	<li class="Active">工单详情</li>
4
-	<li>处理记录</li>
5
-	<li>催办记录</li>
6
-	<li class="hidden">评论记录</li>
7
-	<li>修改记录</li>
8
-	<span class="Closed">×</span>
9
-</ul>
10
-<div class="gdxq">
11
-	<table id="gdxq_table" border="0" class="table table-bordered  table-hover " style="width: 100%;">
12
-		<tbody class="tbodys">
13
-			<tr>
14
-				<th>工单编号:</th>
15
-				<td>
16
-					<span id="xq_gdbh"></span>
17
-				</td>
18
-				<th>工单类型:</th>
19
-				<td>
20
-					<span id="xq_gdlx"></span>
21
-				</td>
22
-				<th>创建时间:</th>
23
-				<td>
24
-					<span id="xq_cjsj"></span>
25
-				</td>
26
-			</tr>
27
-			<tr>
28
-				<th>工单状态:</th>
29
-				<td>
30
-					<span id="xq_gdzt"></span>
31
-				</td>
32
-				<th>客户姓名:</th>
33
-				<td>
34
-					<span id="xq_khxm"></span>
35
-				</td>
36
-				<th>客户电话:</th>
37
-				<td>
38
-					<span id="xq_khdh"></span>
39
-				</td>
40
-			</tr>
41
-			<tr>
42
-				<!-- <th>公司名称:</th>
43
-				<td>
44
-					<span id="xq_company"></span>
45
-				</td> -->
46
-				<th>工单有效性:</th>
47
-				<td>
48
-					<span id="xq_iseffective"></span>
49
-				</td>
50
-				<th>工单来源:</th>
51
-				<td>
52
-					<span id="xq_source"></span>
53
-				</td>
54
-				<th>接收部门</th>
55
-				<td>
56
-					<span id="xq_fkdep"></span>
57
-				</td>
58
-			</tr>
59
-			<tr>
60
-				<!-- <th>业务办理:</th>
61
-				<td>
62
-					<span id="xq_handle"></span>
63
-				</td> -->
1
+<!DOCTYPE html>
2
+<html>
3
+	<head>
4
+		<meta charset="UTF-8">
5
+		<title>工单详情</title>
6
+		<script src="../../Script/Common/huayi.load.js"></script>
7
+		<script src="../../Script/Common/huayi.config.js"></script>
8
+		<link href="../../js/bootstrap-select/css/bootstrap-select.css" rel="stylesheet" />
9
+		<link href="../../css/WorkOrder/Search.css" rel="stylesheet">
10
+		<link href="../../css/init.css" rel="stylesheet" />
11
+	</head>
12
+	<body>
13
+		<div  class="ckxq" id="order_details">
14
+			<ul class="clearfix ckxq_ul">
15
+				<li class="Active">工单详情</li>
16
+				<li>处理记录</li>
17
+				<li>催办记录</li>
18
+				<li class="hidden">评论记录</li>
19
+				<li>修改记录</li>
20
+				<!--<span class="Closed">×</span>-->
21
+			</ul>
22
+			<div class="gdxq">
23
+				<table id="gdxq_table" border="0" class="table table-bordered  table-hover " style="width: 100%;">
24
+					<tbody class="tbodys">
25
+						<tr>
26
+							<th>工单编号:</th>
27
+							<td>
28
+								<span id="xq_gdbh"></span>
29
+							</td>
30
+							<th>工单类型:</th>
31
+							<td>
32
+								<span id="xq_gdlx"></span>
33
+							</td>
34
+							<th>创建时间:</th>
35
+							<td>
36
+								<span id="xq_cjsj"></span>
37
+							</td>
38
+						</tr>
39
+						<tr>
40
+							<th>工单状态:</th>
41
+							<td>
42
+								<span id="xq_gdzt"></span>
43
+							</td>
44
+							<th>客户姓名:</th>
45
+							<td>
46
+								<span id="xq_khxm"></span>
47
+							</td>
48
+							<th>客户电话:</th>
49
+							<td>
50
+								<span id="xq_khdh"></span>
51
+							</td>
52
+						</tr>
53
+						<tr>
54
+							<!-- <th>公司名称:</th>
55
+							<td>
56
+								<span id="xq_company"></span>
57
+							</td> -->
58
+							<th>工单有效性:</th>
59
+							<td>
60
+								<span id="xq_iseffective"></span>
61
+							</td>
62
+							<th>工单来源:</th>
63
+							<td>
64
+								<span id="xq_source"></span>
65
+							</td>
66
+							<th>接收部门</th>
67
+							<td>
68
+								<span id="xq_fkdep"></span>
69
+							</td>
70
+						</tr>
71
+						<tr>
72
+							<!-- <th>业务办理:</th>
73
+							<td>
74
+								<span id="xq_handle"></span>
75
+							</td> -->
76
+							
77
+							<!-- <th>接收人:</th>
78
+							<td>
79
+								<span id="xq_responseUser"></span>
80
+							</td> -->
81
+						</tr>
82
+						<tr>
83
+							<th>创建人:</th>
84
+							<td colspan="5">
85
+								<span id="xq_zxgh"></span>
86
+							</td>
87
+						</tr>
88
+						<tr>
89
+							<th>反馈内容:</th>
90
+							<td colspan="5">
91
+								<p id="xq_gdnr" class="receptions"></p>
92
+							</td>
93
+						</tr>
94
+						<tr>
95
+							<th>处理内容:</th>
96
+							<td colspan="5">
97
+								<span id="xq_clcontent"></span>
98
+							</td>
99
+						</tr>
100
+						<tr class="xq_notes">
101
+							<th>无效原因:</th>
102
+							<td colspan="5">
103
+								<p id="xq_note" class="receptions"></p>
104
+							</td>
105
+						</tr>
106
+					</tbody>
107
+				</table>
108
+			</div>
109
+			<div class="gdxq" style="display:none;">
110
+				<table id="itemTableList1" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
111
+					<thead>
112
+						<tr>
113
+							<!-- <th data-field="WorkOrderID" data-width="20%" data-align="left" data-formatter="formatterDealDetail">处理详情</th> -->
114
+							<th data-field="F_OptContent" data-align="left">处理内容</th>
115
+							<th data-field="F_CreateTime" data-width="10%" data-align="center">创建时间</th>
116
+						</tr>
117
+					</thead>
118
+				</table>
119
+			</div>
120
+			<div class="gdxq" style="display:none;">
121
+				<table id="itemTableList2" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
122
+					<thead>
123
+						<tr>
124
+							<th data-field="F_CreateUserName" data-width="6%" data-align="center">催办人</th>
125
+							<th data-field="F_NextDeptName" data-width="6%" data-align="center">被催办部门</th>
126
+							<th data-field="F_NextUserName" data-width="6%" data-align="center">被催办人</th>
127
+							<th data-field="F_OptContent">催办详情</th>
128
+							<th data-field="F_CreateTime" data-width="10%" data-align="center">创建时间</th>
129
+						</tr>
130
+					</thead>
131
+				</table>
132
+			</div>
133
+			<div class="gdxq" style="display:none;">
134
+				<table id="itemTableList3" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
135
+					<thead>
136
+						<tr>
137
+							<th data-field="CreateUserName" data-width="15%" data-align="center">评论人</th>
138
+							<th data-field="Detail" data-width="" data-align="left">评论详情</th>
139
+							<th data-field="CreateTime" data-width="10%" data-align="center">创建时间</th>
140
+						</tr>
141
+					</thead>
142
+				</table>
143
+			</div>
144
+			<div class="gdxq" style="display:none;">
145
+				<table id="itemTableList4" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
146
+					<thead>
147
+						<tr>
148
+							<th data-field="WorkOrderID" data-align="center">工单编号</th>
149
+							<th data-field="BeforeContent" data-align="center">反馈内容修改前</th>
150
+							<th data-field="UpdateContent" data-align="center">反馈内容修改后</th>
151
+							<th data-field="UserCode" data-align="center">修改人</th>
152
+							<th data-field="AddTime" data-width="180" data-align="center">修改时间</th>
153
+							<!-- <th data-field="Id" data-class="workOprate" data-width="80" data-formatter="formatterOprateLogs" data-align="center">操作</th> -->
154
+						</tr>
155
+					</thead>
156
+				</table>
157
+			</div>
158
+			<div id="print_foot">
159
+				<a href="" class="print_foot">导出</a>
160
+			</div>
161
+		</div>
162
+		<script type="text/javascript">
163
+			var wid = helper.request.queryString("Str");
164
+			
165
+			// 工单详情
166
+			$(function(){
167
+				getWorkOrderDetails(wid);
168
+				// 绑定事件
169
+				$("#order_details ul li").click(function() {
170
+					$(this).addClass("Active").siblings().removeClass("Active");
171
+					var tabindex = $(this).index();
172
+					$(".gdxq").hide();
173
+					$(".gdxq").eq(tabindex).show();
174
+					if(tabindex === 0) {
175
+						getWorkOrderDetails(wid);
176
+					} else if(tabindex > 0 && tabindex < 4) {
177
+						getItemList(tabindex,wid);
178
+					} else if(tabindex === 4) {
179
+						initTableLogs();
180
+					}
181
+				});
182
+				//如果是来电弹屏中的 工单详情不显示关闭按钮
183
+				if($('#order_details').attr('data-isCallSreen') === 'callSreenOrderDetail'){
184
+					$(".Closed").hide();
185
+				}else{
186
+					$(".Closed").click(function() {
187
+						$("#order_details").addClass("Hidens");
188
+					});
189
+				}
64 190
 				
65
-				<!-- <th>接收人:</th>
66
-				<td>
67
-					<span id="xq_responseUser"></span>
68
-				</td> -->
69
-			</tr>
70
-			<tr>
71
-				<th>创建人:</th>
72
-				<td colspan="5">
73
-					<span id="xq_zxgh"></span>
74
-				</td>
75
-			</tr>
76
-			<tr>
77
-				<th>处理内容:</th>
78
-				<td colspan="5">
79
-					<span id="xq_clcontent"></span>
80
-				</td>
81
-			</tr>
82
-			<tr>
83
-				<th>反馈内容:</th>
84
-				<td colspan="5">
85
-					<p id="xq_gdnr" class="receptions"></p>
86
-				</td>
87
-			</tr>
88
-			<tr class="xq_notes">
89
-				<th>无效原因:</th>
90
-				<td colspan="5">
91
-					<p id="xq_note" class="receptions"></p>
92
-				</td>
93
-			</tr>
94
-		</tbody>
95
-	</table>
96
-</div>
97
-<div class="gdxq" style="display:none;">
98
-	<table id="itemTableList1" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
99
-		<thead>
100
-			<tr>
101
-				<!-- <th data-field="WorkOrderID" data-width="20%" data-align="left" data-formatter="formatterDealDetail">处理详情</th> -->
102
-				<th data-field="F_OptContent" data-align="left">处理内容</th>
103
-				<th data-field="F_CreateTime" data-width="10%" data-align="center">创建时间</th>
104
-			</tr>
105
-		</thead>
106
-	</table>
107
-</div>
108
-<div class="gdxq" style="display:none;">
109
-	<table id="itemTableList2" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
110
-		<thead>
111
-			<tr>
112
-				<th data-field="F_CreateUserName" data-width="6%" data-align="center">催办人</th>
113
-				<th data-field="F_NextDeptName" data-width="6%" data-align="center">被催办部门</th>
114
-				<th data-field="F_NextUserName" data-width="6%" data-align="center">被催办人</th>
115
-				<th data-field="F_OptContent">催办详情</th>
116
-				<th data-field="F_CreateTime" data-width="10%" data-align="center">创建时间</th>
117
-			</tr>
118
-		</thead>
119
-	</table>
120
-</div>
121
-<div class="gdxq" style="display:none;">
122
-	<table id="itemTableList3" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
123
-		<thead>
124
-			<tr>
125
-				<th data-field="CreateUserName" data-width="15%" data-align="center">评论人</th>
126
-				<th data-field="Detail" data-width="" data-align="left">评论详情</th>
127
-				<th data-field="CreateTime" data-width="10%" data-align="center">创建时间</th>
128
-			</tr>
129
-		</thead>
130
-	</table>
131
-</div>
132
-<div class="gdxq" style="display:none;">
133
-	<table id="itemTableList4" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
134
-		<thead>
135
-			<tr>
136
-				<th data-field="WorkOrderID" data-align="center">工单编号</th>
137
-				<th data-field="BeforeContent" data-align="center">反馈内容修改前</th>
138
-				<th data-field="UpdateContent" data-align="center">反馈内容修改后</th>
139
-				<th data-field="UserCode" data-align="center">修改人</th>
140
-				<th data-field="AddTime" data-width="180" data-align="center">修改时间</th>
141
-				<!-- <th data-field="Id" data-class="workOprate" data-width="80" data-formatter="formatterOprateLogs" data-align="center">操作</th> -->
142
-			</tr>
143
-		</thead>
144
-	</table>
145
-</div>
146
-
147
-<script type="text/javascript">
148
-	// 工单详情
149
-	$(function(){
150
-		// 绑定事件
151
-		$("#order_details ul li").click(function() {
152
-			$(this).addClass("Active").siblings().removeClass("Active");
153
-			var tabindex = $(this).index();
154
-			$(".gdxq").hide();
155
-			$(".gdxq").eq(tabindex).show();
156
-			if(tabindex === 0) {
157
-				getWorkOrderDetails();
158
-			} else if(tabindex > 0 && tabindex < 4) {
159
-				getItemList(tabindex);
160
-			} else if(tabindex === 4) {
161
-				initTableLogs();
162
-			}
163
-		});
164
-		//如果是来电弹屏中的 工单详情不显示关闭按钮
165
-		if($('#order_details').attr('data-isCallSreen') === 'callSreenOrderDetail'){
166
-			$(".Closed").hide();
167
-		}else{
168
-			$(".Closed").click(function() {
169
-				$("#order_details").addClass("Hidens");
191
+				$("#order_details ul li").eq(0).trigger("click");
192
+				//导出功能
193
+				$('#print_foot').on('click',print_list);
170 194
 			});
171
-		}
172
-		
173
-		$("#order_details ul li").eq(0).trigger("click");
174
-	});
175
-</script>
195
+			function print_list(wid){
196
+				var url = huayi.config.callcenter_url + "WorkOrder/ExportWorkOrder?orderid="+wid +"&token=" + $.cookie("token");
197
+				$('.print_foot').attr('href',url);
198
+			}
199
+		</script>
200
+		<script src="../../js/laydate/laydate.js"></script>
201
+		<script src="../../js/bootstrap-select/js/bootstrap-select.js"></script>
202
+		<script src="../../js/bootstrap-select/js/i18n/defaults-zh_CN.js"></script>
203
+		<script src="../../js/WorkOrder/WorkOrder.js"></script>
204
+	</body>
205
+</html>

+ 27 - 3
CallCenterWeb.UI/commonTpl/WorkOrderEnd.html

@@ -5,8 +5,10 @@
5 5
 		<meta charset="UTF-8">
6 6
 		<script src="../Script/Common/huayi.load.js"></script>
7 7
 		<script src="../Script/Common/huayi.config.js"></script>
8
-		<link href="../css/WorkOrder/Search.css" rel="stylesheet">
8
+		<link href="../callScreen/css/call.css" rel="stylesheet" />
9
+		<link rel="stylesheet" href="../js/webuploader/webuploader.css" />
9 10
 		<link href="../css/init.css" rel="stylesheet" />
11
+		<link href="../css/WorkOrder/Search.css" rel="stylesheet">
10 12
 		<title>工单处理(结束)</title>
11 13
 	</head>
12 14
 
@@ -61,6 +63,28 @@
61 63
 						</td>
62 64
 					</tr>
63 65
 					<tr>
66
+						<th>上传附件:</th>
67
+						<td colspan="3">
68
+							<div>
69
+								<div id="imgPicker" class="apply_forms_file">+</div>
70
+								<p class="help-block text-warning" style="display:inline-block;">
71
+									<span id="fileNum">0</span>/6 每个文件大小不超过30M
72
+								</p>
73
+								<ul id="fileList" class="file_imgs clearfix">
74
+								</ul>
75
+							</div>
76
+						</td>
77
+					</tr>
78
+					<!--<div class=" form-group col-md-12 " style="margin:20px 0 0 -15px;">
79
+						<label class="col-md-2" >附件:</label>
80
+						<div id="imgPicker" class="apply_forms_file">+</div>
81
+							<p class="help-block text-warning" style="display:inline-block;">
82
+								<span id="fileNum">0</span>/6 每个文件大小不超过30M
83
+							</p>
84
+							<ul id="fileList" class="file_imgs clearfix">
85
+							</ul>
86
+					</div>-->
87
+					<tr>
64 88
 						<th>处理状态:</th>
65 89
 						<td colspan="3">
66 90
 							<label class="radio-inline">
@@ -77,8 +101,8 @@
77 101
 				<input type="button" value="确定" class="btn btn-primary btn-sm" id="clgd" />
78 102
 			</div>
79 103
 		</div>
80
-
81
-		<script src="../js/autosize/autosize.js"></script>
104
+		<script src="../js/autosize/autosize.min.js"></script>
105
+		<script src="../js/webuploader/webuploader.min.js"></script>
82 106
 		<script src="../js/WorkOrder/WorkOrderEnd.js"></script>
83 107
 	</body>
84 108
 

+ 170 - 1
CallCenterWeb.UI/css/WorkOrder/Search.css

@@ -486,4 +486,173 @@ textarea {
486 486
 .th-content {
487 487
 	width: 90%;
488 488
 	margin: 0 auto;
489
-}
489
+}
490
+#print_foot{
491
+	text-align: center;
492
+	margin: 10px auto 0;
493
+	width: 70px;
494
+	height: 30px;
495
+	line-height: 30px;
496
+	border: 1px solid #eee;
497
+}
498
+/* 附件开始 */
499
+.file_imgs {
500
+	/*padding: 10px 70px;*/
501
+	list-style: none;
502
+	/*margin-bottom: 60px;*/
503
+	margin-left: -15px;
504
+}
505
+
506
+.file_imgs li {
507
+	float: left;
508
+	position: relative;
509
+	width: 109px;
510
+	height: 109px;
511
+	margin-left: 10px;
512
+	margin-right: 10px;
513
+	margin-bottom: 40px;
514
+	padding-top: 0;
515
+	padding-bottom: 0;
516
+}
517
+
518
+.file_imgs li:hover .img_mask {
519
+	display: block;
520
+}
521
+
522
+.file_imgs .img_mask {
523
+	display: none;
524
+	position: absolute;
525
+	left: 0;
526
+	top: 0;
527
+	background-color: rgba(0, 0, 0, .3);
528
+	width: 100%;
529
+	height: 22px;
530
+	z-index: 1;
531
+}
532
+
533
+.file_imgs .img_mask i {
534
+	position: absolute;
535
+	right: 5px;
536
+	top: 5px;
537
+	display: inline-block;
538
+	width: 13px;
539
+	height: 12px;
540
+	cursor: pointer;
541
+	background: url(../../img/file_img_icons.png) no-repeat 0 0;
542
+}
543
+
544
+.file_imgs .file_name {
545
+	width: 100%;
546
+	display: inline-block;
547
+	text-align: center;
548
+	
549
+	word-break: break-all;
550
+	padding-top: 8px;
551
+}
552
+
553
+.file_imgs li img {
554
+	width: 100%;
555
+	height: 100%;
556
+	border: 0;
557
+	vertical-align: middle;
558
+}
559
+
560
+.file_imgs .upload-state-done .img_state {
561
+	display: block;
562
+	position: absolute;
563
+	right: 7px;
564
+	bottom: 29px;
565
+	width: 0;
566
+	height: 0;
567
+	border-bottom: 40px solid #01b2fe;
568
+	border-left: 40px solid transparent;
569
+	overflow: inherit;
570
+}
571
+
572
+.file_imgs .img_state i {
573
+	position: absolute;
574
+	right: 4px;
575
+	bottom: -32px;
576
+	display: inline-block;
577
+	width: 15px;
578
+	height: 11px;
579
+	background: url(../../img/file_img_icons.png) no-repeat 0 -16px;
580
+}
581
+
582
+.error {
583
+	color: red;
584
+	text-align: center;
585
+}
586
+
587
+.noThumb {
588
+	width: 109px;
589
+	height: 83px;
590
+	text-align: center;
591
+	color: #1aaad0;
592
+}
593
+
594
+.glyphicon.glyphicon-paperclip {
595
+	font-size: 44px;
596
+	text-align: center;
597
+}
598
+
599
+.img-box {
600
+	float: left;
601
+	width: 120px;
602
+	height: 120px;
603
+	background-size: 100% 100%;
604
+	display: inline-block;
605
+	position: relative;
606
+	border-radius: 5px;
607
+	margin-right: 10px;
608
+	border: solid 1px #e8e8e8;
609
+	cursor: pointer;
610
+	text-align: center;
611
+	line-height: 120px
612
+}
613
+
614
+.img-box .img_mask {
615
+	display: none;
616
+	position: absolute;
617
+	left: 0;
618
+	top: 0;
619
+	background-color: rgba(0, 0, 0, .3);
620
+	width: 100%;
621
+	height: 22px;
622
+	z-index: 5;
623
+}
624
+
625
+.image-item {
626
+	width: 120px;
627
+	height: 120px;
628
+	background-size: 100% 100%;
629
+	display: inline-block;
630
+	position: relative;
631
+	border-radius: 5px;
632
+	margin-right: 10px;
633
+
634
+	cursor: pointer;
635
+}
636
+
637
+.img-box .img_mask i {
638
+	position: absolute;
639
+	right: 5px;
640
+	top: 5px;
641
+	display: inline-block;
642
+	width: 13px;
643
+	height: 12px;
644
+	cursor: pointer;
645
+	color: #fff;
646
+}
647
+
648
+.img-box:hover .img_mask {
649
+	display: block;
650
+}
651
+
652
+.img_filename{
653
+	font-size: 14px;
654
+	/* display: block; */
655
+  width: 100%;
656
+  height: calc(100% - 22px);
657
+} 
658
+/* 附件结束 */

+ 12 - 6
CallCenterWeb.UI/js/WorkOrder/WorkOrder.js

@@ -24,7 +24,6 @@ $(document).ready(function() {
24 24
 		$(".Closed").trigger('click');
25 25
 	});
26 26
 });
27
-
28 27
 //工单管理内的列表
29 28
 function initTable() {
30 29
 	var orderMenu = top.$("iframe:visible")[0].src.split('/WorkOrder/')[1];
@@ -763,17 +762,24 @@ function btn_deleteLogs(oid) {
763 762
  * isCallScreen 是否是来单弹屏中的工单详情
764 763
  * */
765 764
 function btn_detail(oid, isCallScreen) {
765
+	detailOrderNum = oid;
766 766
 	if(!isCallScreen){
767
-		$('#order_details').load('./template/orderDetails.html');
767
+//		$('#order_details').load('./template/orderDetails.html');
768
+			layer.open({
769
+			type: 2,
770
+			title: '工单详情',
771
+			maxmin: true, //开启最大化最小化按钮
772
+			area: ['80%', '70%'],
773
+			content: './template/orderDetails.html?Str='+detailOrderNum, 
774
+		});
768 775
 	}else{
769 776
 		$('#order_details').load('../WorkOrder/template/orderDetails.html');
770 777
 	}
771
-	$("#order_details").removeClass("Hidens");
772
-	detailOrderNum = oid;
778
+//	$("#order_details").removeClass("Hidens");
773 779
 }
774 780
 
775 781
 //获取工单详情
776
-function getWorkOrderDetails() {
782
+function getWorkOrderDetails(detailOrderNum) {
777 783
 	$.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetWorkOrder', {
778 784
 		"orderid": detailOrderNum,
779 785
 		"token": $.cookie("token")
@@ -853,7 +859,7 @@ function initTableLogs() {
853 859
 }
854 860
 
855 861
 //获取 处理记录 催办记录 评论记录
856
-function getItemList(type) {
862
+function getItemList(type,detailOrderNum) {
857 863
 	//先销毁表格
858 864
 	var table = $("#itemTableList" + type);
859 865
 	table.bootstrapTable('destroy');

+ 414 - 4
CallCenterWeb.UI/js/WorkOrder/WorkOrderEnd.js

@@ -18,7 +18,8 @@ $(document).ready(function() {
18 18
 			});
19 19
 			return;
20 20
 		}
21
-		dealWorkOrder(ID);
21
+		var str=proimglist.toString();
22
+		dealWorkOrder(ID,str);
22 23
 	});
23 24
 
24 25
 })
@@ -39,9 +40,13 @@ function getWorkOrderInfo(oid) {
39 40
 			if(data.state == "success") {
40 41
 				var Str = data.data.data;
41 42
 				if(Str && Str.length > 0) {
43
+					console.log(Str[0].GDLYName)
44
+					if(Str[0].GDLYName=='数字化城管'||Str[0].GDLYName=='市长专线'){
45
+						$("#xq_source").text(Str[0].GDLYName).CSS('color','red'); //工单来源
46
+					}
42 47
 					$('#cl_gdbh').text(Str[0].WorkOrderID); //工单编号
43 48
 					$("#cl_gdlx").text(Str[0].GDLXName); //工单类型
44
-					$("#xq_source").text(Str[0].GDLYName); //工单来源
49
+					
45 50
 					$("#xq_handle").text(Str[0].YWLXName); //业务办理
46 51
 					$("#cl_khxm").text(Str[0].Customer); //姓名
47 52
 					$("#cl_khdh").text(helper.filter.cutTel(Str[0].CustomerTel)); //电话
@@ -83,14 +88,37 @@ function getTypeName(val) {
83 88
 	}
84 89
 	return str;
85 90
 }
91
+//上传文件
92
+$('#filelist').change(function(){
93
+	 var objUrl = getObjectURL(this.files[0]) ;//获取文件信息  
94
+//		 console.log(objUrl);  
95
+//		  if (objUrl) {  
96
+//		  $("#img0").attr("src", objUrl);  
97
+//		 } 
98
+})
99
+//获取图片路径
86 100
 
101
+function getObjectURL(file) {  
102
+		console.log(file)
103
+		 var url = null;   
104
+		 if (window.createObjectURL!=undefined) {  
105
+		  url = window.createObjectURL(file) ;  
106
+		 } else if (window.URL!=undefined) { // mozilla(firefox)  
107
+		  url = window.URL.createObjectURL(file) ;  
108
+		 } else if (window.webkitURL!=undefined) { // webkit or chrome  
109
+		  url = window.webkitURL.createObjectURL(file) ;  
110
+		 }  
111
+		 return url ;  
112
+		}
87 113
 //处理
88
-function dealWorkOrder(oid) {
114
+function dealWorkOrder(oid,str) {
89 115
 	var isDetail = helper.request.queryString("isDetail"); //是否是详情页面的处理
90 116
 	$.post(huayi.config.callcenter_url + 'WorkOrder/DealWorkOrder', {
117
+//		ResultFiles:$('')
91 118
 		orderid: oid, //否	strubg	工单ID
92 119
 		isover: $("input[name='isoverOptions']:checked").val(), //是否完结 0否,1是
93 120
 		cont: $("#cont").val(), //否	处理内容
121
+		ResultFiles:str,
94 122
 		token: $.cookie("token")
95 123
 	}, function(result) {
96 124
 		result = $.parseJSON(result);
@@ -109,4 +137,386 @@ function dealWorkOrder(oid) {
109 137
 			top.workcount();
110 138
 		}
111 139
 	})
112
-}
140
+}
141
+
142
+
143
+
144
+/**
145
+ * 附件上传直接在知识库管理拿来用     开始
146
+ * */
147
+
148
+var proimglist = []; //保存附件数组
149
+var uploader; //上传实例
150
+var limitNum = 6; //限制数量
151
+var edit_id = helper.request.queryString("edit_id");
152
+var token = $.cookie("token");
153
+
154
+$(function() {
155
+	autosize($('textarea'));
156
+	getChangeTree();
157
+	if(edit_id) {
158
+		getDetail();
159
+	} else {
160
+		$('#kn_type').val('顶级分类');
161
+		$('#kn_type').attr('data-id', 0)
162
+		uploaderImages();
163
+	}
164
+	//初始化 下拉
165
+	$('.inps1').focus(function() {
166
+		$('.xlAdd').css('display', 'block');
167
+	});
168
+	$('.xl_one').click(function() {
169
+		if($('.xlAdd').css('display') == 'block') {
170
+			$('.xlAdd').css('display', 'none')
171
+		} else {
172
+			$('.xlAdd').css('display', 'block')
173
+		}
174
+	});
175
+	$('.addTree').mouseleave(function() {
176
+		$(this).css('display', 'none')
177
+	});
178
+	
179
+	$('#save_knowledge').on('click', saveKnowledge);
180
+});
181
+
182
+
183
+
184
+//修改弹出框内 下拉树形图参数配置项
185
+function getChangeTree() {
186
+	var setting3 = {
187
+		data: {
188
+			key: {
189
+				name: "text"
190
+			},
191
+			simpleData: {
192
+				enable: true,
193
+				idKey: "id",
194
+				rootPId: 0
195
+			}
196
+		},
197
+		callback: {
198
+			onClick: changeTreeClick
199
+		}
200
+	}
201
+	$.get(huayi.config.callcenter_url + 'KnowledgeClass/GetList', {
202
+//		"pid": pid,
203
+		"token": token,
204
+	}, function(result) {
205
+		result = $.parseJSON(result);
206
+		$.fn.zTree.init($("#addTreeDemo"), setting3, result.data); //实例化树形图
207
+	});
208
+}
209
+
210
+function changeTreeClick(event, treeId, treeNode) {
211
+	$('#kn_type').val(treeNode.text);
212
+	$('#kn_type').attr('data-id', treeNode.id);
213
+};
214
+
215
+//获取详情
216
+function getDetail() {
217
+	var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
218
+	$.ajax({
219
+		type: "post",
220
+		url: huayi.config.callcenter_url + "Knowledge/GetInfo",
221
+		async: true,
222
+		dataType: 'json',
223
+		data: {
224
+			infoid: edit_id,
225
+			token: token
226
+		},
227
+		success: function(data) {
228
+			var con = data.data;
229
+			$('#kn_title').val(con.F_Title);
230
+			$('#kn_key').val(con.F_KeyWords);
231
+			$('#kn_content').val(con.F_Description);
232
+			$('#kn_type').val(con.F_Expand1);
233
+			$('#kn_type').attr('data-id', con.F_CategoryId);
234
+
235
+			//附件
236
+			var proimglists = con.FileUrls;
237
+			proimglists = proimglists == null ? [] : proimglists;
238
+			limitNum -= proimglists.length;
239
+			uploaderImages(); //附件上传
240
+			if(proimglists.length > 0) {
241
+				$('#fileNum').text(proimglists.length);
242
+				var $list = $("#fileList");
243
+				$.each(proimglists, function(i, v) {
244
+					proimglist.push(v.F_FileId);
245
+					if(v.F_FileType.split("\/")[0] === 'image') {
246
+						//原来的图片
247
+						var $li = $(
248
+							'<li><span class="img_mask"><i class="img_del"></i></span>' +
249
+							'<img src="' + v.F_FileUrl + '" title="原来的图片"/>' +
250
+							'<span class="file_name">' + v.F_FileName + '</span>' +
251
+							'</li>'
252
+						);
253
+						$list.append($li);
254
+					} else {
255
+						var $liFile = $(
256
+							'<li><span class="img_mask"><i class="img_del"></i></span>' +
257
+							'<div class="noThumb" title="原来的文件"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>' +
258
+							'<span class="file_name">' + v.F_FileName + '</span>' +
259
+							'</li>'
260
+						);
261
+						$list.append($liFile);
262
+					}
263
+				});
264
+				$list.find('li').off('click');
265
+				$list.find('li').on('click', '.img_del', function() {
266
+					$(this).parent().parent().remove();
267
+					var itemFileName = $(this).parent().parent().find('.file_name').text();
268
+					$.each(proimglists, function(i, v) {
269
+						if(v && v.F_FileName == itemFileName) {
270
+							proimglist.splice(i, 1);
271
+						}
272
+					});
273
+					$('#fileNum').text(proimglist.length);
274
+					limitNum = 6 - proimglist.length;
275
+					uploaderImages();
276
+				});
277
+			}
278
+			dtd.resolve(); // 改变Deferred对象的执行状态
279
+		}
280
+	});
281
+	return dtd.promise(); // 返回promise对象
282
+}
283
+
284
+//保存
285
+function saveKnowledge() {
286
+	var wUrl;
287
+	if(!$.trim($('#kn_type').val())) {
288
+		layer.confirm('所属分类不能为空', {
289
+			icon: 2,
290
+			btn: ['确定'] //按钮
291
+		});
292
+		return;
293
+	}
294
+	
295
+	if(!$.trim($('#kn_title').val())) {
296
+		layer.confirm('标题不能为空', {
297
+			icon: 2,
298
+			btn: ['确定'] //按钮
299
+		});
300
+		return;
301
+	}
302
+	
303
+	if(edit_id) {
304
+		wURL = "Knowledge/EditInfo";
305
+	} else {
306
+		wURL = "Knowledge/AddInfo";
307
+	}
308
+	$.ajax({
309
+		type: "post",
310
+		url: huayi.config.callcenter_url + wURL,
311
+		dataType: 'json',
312
+		async: true,
313
+		beforeSend: function() { //触发ajax请求开始时执行
314
+			$('#save_knowledge').attr("disabled", true);
315
+			$('#save_knowledge').text('保存中...');
316
+			$(document).off('click', '#save_knowledge', saveKnowledge);
317
+			loadIndex = layer.load();
318
+		},
319
+		data: {
320
+			infoid: edit_id,
321
+			title: $('#kn_title').val(),
322
+			key: $('#kn_key').val(),
323
+			con: helper.filter.delHtmlTag($('#kn_content').val()),
324
+			pid: $('#kn_type').attr('data-id'),
325
+			fileids: proimglist && proimglist.join(','),
326
+			token: token
327
+		},
328
+		success: function(result) {
329
+			if(result.state.toLowerCase() === "success") {
330
+				var index = parent.layer.getFrameIndex(window.name);
331
+				parent.layer.close(index);
332
+				parent.table.bootstrapTable('refresh');
333
+				layer.msg("保存成功");
334
+			}
335
+		},
336
+		error: function(textStatus) {
337
+			layer.close(loadIndex);
338
+			layer.confirm('网络繁忙,请稍后再试...', {
339
+				icon: 7,
340
+				closeBtn: 0,
341
+				btn: ['确定'] //按钮
342
+			});
343
+			$('#save_knowledge').text('保存');
344
+			$('#save_knowledge').attr("disabled", false);
345
+			$(document).off('click', '#save_knowledge', saveKnowledge);
346
+			$(document).on('click', '#save_knowledge', saveKnowledge);
347
+		},
348
+		complete: function(XMLHttpRequest, textStatus) {
349
+			layer.close(loadIndex);
350
+			if(textStatus == 'timeout') {
351
+				var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
352
+				xmlhttp.abort();
353
+				layer.confirm('网络超时,请稍后再试...', {
354
+					icon: 7,
355
+					closeBtn: 0,
356
+					btn: ['确定'] //按钮
357
+				});    
358
+			}
359
+			$('#save_knowledge').text('保存');
360
+			$('#save_knowledge').attr("disabled", false);
361
+			$(document).off('click', '#save_knowledge', saveKnowledge);
362
+			$(document).on('click', '#save_knowledge', saveKnowledge);
363
+		},
364
+	});
365
+}
366
+
367
+//上传附件
368
+function uploaderImages() {
369
+	if(uploader) {
370
+		uploader.destroy();
371
+	}
372
+	
373
+	uploader = WebUploader.create({
374
+		auto: true, // 选完文件后,是否自动上传 
375
+		swf: '../../js/webuploader/Uploader.swf', // swf文件路径 
376
+		server: huayi.config.callcenter_url + "Knowledge/UpLoadProcess", // 文件接收服务端 
377
+		pick: '#imgPicker', // 选择文件的按钮。可选 
378
+		formData: {
379
+			token: token,
380
+		},
381
+		// 多类型文件上传 
382
+		accept: {
383
+			title: 'Files',
384
+			extensions: 'gif,jpg,jpeg,bmp,png,pdf,doc,docx,txt,xls,xlsx,ppt,pptx,zip,mp3,mp4,text,csv',
385
+			mimeTypes: 'image/*,text/*,audio/mpeg,audio/mp4, video/mp4'
386
+					//word
387
+			+',application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
388
+					//excel
389
+			+',application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
390
+					//ppt
391
+			+',application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation'
392
+			+',application/pdf'
393
+			+',application/zip'
394
+			+',application/csv'
395
+			//			title: 'Images',
396
+			//			extensions: 'gif,jpg,jpeg,bmp,png',
397
+			//			mimeTypes: 'image/*'
398
+		},
399
+		compress: false, //webuploader默认压缩图片,设置compress:false,可以按照原始比例上传图片  
400
+		//fileVal: "upFile",//设置文件上传域的name。  
401
+		threads: limitNum, //上传并发数。允许同时最大上传进程数,为了保证文件上传顺序  
402
+		fileNumLimit: limitNum,
403
+		fileSizeLimit: 180 * 1024 * 1024, // 180 M
404
+		fileSingleSizeLimit: 30 * 1024 * 1024 // 30 M
405
+	});
406
+//	uploader.on('uploadBeforeSend', function (obj,formData) {
407
+//		console.log(obj.file)
408
+//		console.log(formData)
409
+//		formData['ResultFiles']=obj.file;
410
+////		delete formData['file']
411
+//		return formData;
412
+//	});
413
+	uploader.on('fileQueued', function(file) {
414
+		var $list = $("#fileList"),
415
+			$li = $(
416
+				'<li id="' + file.id + '"><span class="img_mask"><i class="img_del"></i></span>' +
417
+				'<img/>' +
418
+				'<span class="img_state"><i></i></span>' +
419
+				'<span class="file_name">' + file.name + '</span>' +
420
+				'</li>'
421
+			),
422
+			$img = $li.find('img');
423
+
424
+		// $list为容器jQuery实例 
425
+		$list.append($li);
426
+
427
+		// 保存缩略图 
428
+		uploader.makeThumb(file, function(error, src) {
429
+			if(error) {
430
+				$img.replaceWith('<div class="noThumb"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>');
431
+				return;
432
+			}
433
+			$img.attr('src', src);
434
+		}, 109, 109); //109*109为缩略图尺寸 
435
+
436
+		//绑定删除
437
+		$('#' + file.id).on('click', '.img_del', function() {
438
+			uploader.removeFile(file);
439
+			var $fileLi = $('#' + file.id);
440
+			$fileLi.off().find('.img_del').off().end().remove();
441
+			var itemFileName = $(this).parent().parent().find('.file_name').text();
442
+			$.each(proimglist, function(i, v) {
443
+				if(v && v.filename == itemFileName) {
444
+					proimglist.splice(i, 1);
445
+					//helper.methods.delImgs(v.filesmallurl, v.fileurl);
446
+				}
447
+			});
448
+			$('#fileNum').text(proimglist.length);
449
+		});
450
+
451
+	});
452
+
453
+	// 文件上传过程中保存进度条实时显示。 
454
+	uploader.on('uploadProgress', function(file, percentage) {
455
+		var $li = $('#' + file.id),
456
+			$percent = $li.find('.progress span');
457
+
458
+		// 避免重复保存 
459
+		if(!$percent.length) {
460
+			$percent = $('<div class="progress" style="">' +
461
+					'<span class="text">0%</span>' +
462
+					'<span class="percentage"></span>' +
463
+					'</div>')
464
+				.appendTo($li)
465
+				.find('span');
466
+		}
467
+
468
+		$percent.eq(0).text(Math.round(percentage * 100) + '%');
469
+		$percent.eq(1).css('width', Math.round(percentage * 100) + '%');
470
+	});
471
+
472
+	// 文件上传成功,给item添加成功class, 用样式标记上传成功。 
473
+	uploader.on('uploadSuccess', function(file, res) {
474
+		proimglist.push(res.data.F_FileId);
475
+		$('#fileNum').text(proimglist.length);
476
+		$('#' + file.id).addClass('upload-state-done');
477
+	});
478
+	// 文件上传失败,显示上传出错。 
479
+	uploader.on('uploadError', function(file) {
480
+		var $li = $('#' + file.id),
481
+			$error = $li.find('div.error');
482
+
483
+		// 避免重复创建
484
+		if(!$error.length) {
485
+			$error = $('<div class="error"></div>').appendTo($li);
486
+		}
487
+
488
+		$error.text('上传失败');
489
+	});
490
+
491
+	// 完成上传完了,成功或者失败,先删除进度条。 
492
+	uploader.on('uploadComplete', function(file) {
493
+		$('#' + file.id).find('.progress').remove();
494
+	});
495
+
496
+	uploader.onError = function(code) {
497
+		//		console.log('Error:' + code);
498
+		switch(code) {
499
+			case "Q_EXCEED_NUM_LIMIT":
500
+				layer.msg('只能上传六个文件。');
501
+				break;
502
+			case "Q_TYPE_DENIED":
503
+				layer.msg('文件类型不正确。');
504
+				break;
505
+			case "F_DUPLICATE":
506
+				layer.msg('该文件已上传,请选择其它文件。');
507
+				break;
508
+			case "F_EXCEED_SIZE":
509
+				layer.msg('单文件大小不能超过30M。');
510
+				break;
511
+			case "Q_EXCEED_SIZE_LIMIT":
512
+				layer.msg('总文件大小不能超过180M。');
513
+				break;
514
+			default:
515
+				break;
516
+		}
517
+
518
+	};
519
+}
520
+/**
521
+ * 附件上传直接在知识库管理拿来用     结束
522
+ * */