Parcourir la Source

pc问题修改,app

liuyifan il y a 4 ans
Parent
commit
4b2528d91c
27 fichiers modifiés avec 1428 ajouts et 145 suppressions
  1. 1 1
      WebUI/CallCenterWeb.UI/Appeal/Lawsuit.html
  2. 0 2
      WebUI/CallCenterWeb.UI/CommonHtml/AddAppealDCL.html
  3. 68 8
      WebUI/CallCenterWeb.UI/CommonHtml/WorkDatil.html
  4. 10 5
      WebUI/CallCenterWeb.UI/CommonHtml/banli.html
  5. 10 5
      WebUI/CallCenterWeb.UI/CommonHtml/banli_zilei.html
  6. 12 13
      WebUI/CallCenterWeb.UI/ReportForm/superviseReport.html
  7. 10 4
      WebUI/CallCenterWeb.UI/ReportForm/superviseReportList.html
  8. 3 4
      WebUI/CallCenterWeb.UI/SuperviseManagement/superviseReturnReview.html
  9. 7 3
      WebUI/CallCenterWeb.UI/SuperviseManagement/superviseUpcoming.html
  10. 8 2
      WebUI/CallCenterWeb.UI/TelCall/SeatMonitor.html
  11. 12 2
      WebUI/CallCenterWeb.UI/home.html
  12. 7 0
      WebUI/CallCenterWeb.UI/js/index.js
  13. 11 31
      WebUI/CallCenterWeb.UI/js/main.js
  14. 1 1
      WebUI/CallCenterWeb.UI/zhiShiKu/addOrEditZhiShiKuGuide.html
  15. 1 1
      WebUI/CallCenterWeb.UI/zhiShiKu/detailZhiShiKuGuide.html
  16. 64 0
      anyangWebAPP/components/yi-line/yi-line.vue
  17. 9 0
      anyangWebAPP/package.json
  18. 14 4
      anyangWebAPP/pages.json
  19. 474 0
      anyangWebAPP/pages/editWorkOrder/editWorkOrder.vue
  20. 0 1
      anyangWebAPP/pages/myTask/myTask.vue
  21. 4 4
      anyangWebAPP/pages/setting/setting.vue
  22. 163 0
      anyangWebAPP/pages/workOrderDetail/workOrderDetail.vue
  23. 153 54
      anyangWebAPP/pages/workOrderList/workOrderList.vue
  24. 10 0
      anyangWebAPP/uni_modules/uni-combox/changelog.md
  25. 239 0
      anyangWebAPP/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
  26. 85 0
      anyangWebAPP/uni_modules/uni-combox/package.json
  27. 52 0
      anyangWebAPP/uni_modules/uni-combox/readme.md

+ 1 - 1
WebUI/CallCenterWeb.UI/Appeal/Lawsuit.html

@@ -387,7 +387,7 @@
387 387
                 contentType: "application/x-www-form-urlencoded",
388 388
                 striped: true, //表格显示条纹
389 389
                 pagination: true, //启动分页
390
-                pageSize: 10, //每页显示的记录数
390
+                pageSize: 100, //每页显示的记录数
391 391
                 pageNumber: 1, //当前第几页
392 392
                 pageList: [10, 20, 50, 100], //记录数可选列表
393 393
                 search: false, //是否启用查询

+ 0 - 2
WebUI/CallCenterWeb.UI/CommonHtml/AddAppealDCL.html

@@ -411,7 +411,6 @@
411 411
                             } else {
412 412
                                 $('#workcontent').val(Data[0].F_Content);
413 413
                             }
414
-                            $("#email").val(Data[0].F_Email);
415 414
                             $("#zipcode").val(Data[0].F_ZipCode);
416 415
                             $("#result").val(Data[0].F_Result);
417 416
                             $("#reflectCategory").val(Data[0].KeyName)
@@ -579,7 +578,6 @@
579 578
                     cusname: $("#cusname").val(), //=来电人姓名
580 579
                     cussex: $("#SEX").val(),
581 580
                     cusphone: $("#cusphone").val(), //=来电人电话
582
-                    email: $("#email").val(),
583 581
                     zipcode: $("#zipcode").val(),
584 582
                     conphone: $("#conphone").val(),
585 583
                     title: $("#title").val(),

+ 68 - 8
WebUI/CallCenterWeb.UI/CommonHtml/WorkDatil.html

@@ -172,11 +172,11 @@
172 172
                                 <th>来源:</th>
173 173
                                 <td><span class="LY"></span></td>
174 174
                                 <th class="phoneTitle">来电号码:</th>
175
-                                <td><span class="F_ConPhone"></span></td>
175
+                                <td><span class="F_CusPhone"></span></td>
176 176
                                 <th>电话类别:</th>
177 177
                                 <td><span class="phoneType"></span></td>
178 178
                                 <!-- <th>联系号码:</th>
179
-									<td><span class="F_CusPhone"></span></td> -->
179
+									<td><span class="F_ConPhone"></span></td> -->
180 180
                             </tr>
181 181
                             <tr>
182 182
                                 <th>分管领导:</th>
@@ -578,6 +578,7 @@
578 578
                                 <td class="text-center" style="min-width:80px;">是否满意</td>
579 579
                                 <td class="text-center" style="min-width:80px;">审核领导</td>
580 580
                                 <td class="text-center" style="min-width:80px;">审核领导职务</td>
581
+                                <td class="text-center" style="min-width:80px;">审核领导联系方式</td>
581 582
                                 <!-- <td class="text-center" style="min-width:80px;">沟通时间</td>
582 583
                                 <td class="text-center" style="min-width:80px;">沟通方式</td>
583 584
                                 <td class="text-center" style="min-width:80px;">是否满意</td> -->
@@ -611,6 +612,7 @@
611 612
                                 <td class="text-center" style="min-width:80px;">是否满意</td>
612 613
                                 <td class="text-center" style="min-width:80px;">审核领导</td>
613 614
                                 <td class="text-center" style="min-width:80px;">审核领导职务</td>
615
+                                <td class="text-center" style="min-width:80px;">审核领导联系方式</td>
614 616
                                 <!-- <td class="text-center" style="min-width:80px;">沟通时间</td>
615 617
                                 <td class="text-center" style="min-width:80px;">沟通方式</td>
616 618
                                 <td class="text-center" style="min-width:80px;">是否满意</td> -->
@@ -862,8 +864,8 @@
862 864
                                     var isprotect = Data[0].isprotect;
863 865
                                     var level = Data[0].F_Level;
864 866
                                     $(".F_CusName").text(Data[0].F_CusName);
865
-                                    $(".F_ConPhone").text(Data[0].F_CusPhone);
866
-                                    $(".F_CusPhone").text(Data[0].F_ConPhone);
867
+                                    $(".F_CusPhone").text(Data[0].F_CusPhone);
868
+                                    $(".F_ConPhone").text(Data[0].F_ConPhone);
867 869
                                     $(".phoneType").text(Data[0].F_PhoneType);
868 870
                                     $(".splituser").text(Data[0].F_SplitUser);
869 871
                                     $(".F_ComTitle").text(Data[0].F_ComTitle);
@@ -893,7 +895,7 @@
893 895
                                     isProtect = result.data.data[0].F_IsProtect
894 896
                                     if (Data[0].F_CusPhone) {
895 897
                                         if (roleCode !== "WLDW" && roleCode !== "EJWLDW") {
896
-                                            $(".F_ConPhone").hide()
898
+                                            $(".F_CusPhone").hide()
897 899
                                         } else {
898 900
                                             $(".phoneTitle").unbind("click");
899 901
                                         }
@@ -1433,6 +1435,33 @@
1433 1435
                                                 break;
1434 1436
                                         }
1435 1437
 
1438
+                                        // 领导职务
1439
+                                        var auditPost
1440
+                                        switch (n.F_AuditPost) {
1441
+                                            case "":
1442
+                                                auditPost = ""
1443
+                                                break;
1444
+                                            case null:
1445
+                                                auditPost = ""
1446
+                                                break;
1447
+                                            default:
1448
+                                                auditPost = n.F_AuditPost
1449
+                                                break;
1450
+                                        }
1451
+
1452
+                                        // 领导联系方式
1453
+                                        var auditContact
1454
+                                        switch (n.F_AuditContact) {
1455
+                                            case "":
1456
+                                                auditContact = ""
1457
+                                                break;
1458
+                                            case null:
1459
+                                                auditContact = ""
1460
+                                                break;
1461
+                                            default:
1462
+                                                auditContact = n.F_AuditContact
1463
+                                                break;
1464
+                                        }
1436 1465
 
1437 1466
                                         htmls += '<tr>' +
1438 1467
                                             '<td class="text-center">' + n.F_DealUser +
@@ -1462,7 +1491,9 @@
1462 1491
                                             '</td>' +
1463 1492
                                             '<td class="text-center">' + auditUser +
1464 1493
                                             '</td>' +
1465
-                                            '<td class="text-center">' + n.F_AuditPost +
1494
+                                            '<td class="text-center">' + auditPost +
1495
+                                            '</td>' +
1496
+                                            '<td class="text-center">' + auditContact +
1466 1497
                                             '</td>' +
1467 1498
                                             // '<td class="text-center">' + connectTimeValue +
1468 1499
                                             // '</td>' +
@@ -1642,6 +1673,33 @@
1642 1673
                                                 break;
1643 1674
                                         }
1644 1675
 
1676
+                                        // 领导职务
1677
+                                        var auditPost
1678
+                                        switch (n.F_AuditPost) {
1679
+                                            case "":
1680
+                                                auditPost = ""
1681
+                                                break;
1682
+                                            case null:
1683
+                                                auditPost = ""
1684
+                                                break;
1685
+                                            default:
1686
+                                                auditPost = n.F_AuditPost
1687
+                                                break;
1688
+                                        }
1689
+
1690
+                                        // 领导联系方式
1691
+                                        var auditContact
1692
+                                        switch (n.F_AuditContact) {
1693
+                                            case "":
1694
+                                                auditContact = ""
1695
+                                                break;
1696
+                                            case null:
1697
+                                                auditContact = ""
1698
+                                                break;
1699
+                                            default:
1700
+                                                auditContact = n.F_AuditContact
1701
+                                                break;
1702
+                                        }
1645 1703
 
1646 1704
                                         SJhtmls += '<tr>' +
1647 1705
                                             '<td class="text-center">' + n.F_DealUser +
@@ -1669,9 +1727,11 @@
1669 1727
                                             // '</td>' +
1670 1728
                                             '<td class="text-center">' + isSatisfiedValue +
1671 1729
                                             '</td>' +
1672
-                                            '<td class="text-center">' + n.F_AuditUser +
1730
+                                            '<td class="text-center">' + auditUser +
1731
+                                            '</td>' +
1732
+                                            '<td class="text-center">' + auditPost +
1673 1733
                                             '</td>' +
1674
-                                            '<td class="text-center">' + n.F_AuditPost +
1734
+                                            '<td class="text-center">' + auditContact +
1675 1735
                                             '</td>' +
1676 1736
                                             // '<td class="text-center">' + connectTimeValue +
1677 1737
                                             // '</td>' +

+ 10 - 5
WebUI/CallCenterWeb.UI/CommonHtml/banli.html

@@ -35,24 +35,28 @@
35 35
                     <datalist id="dealmanList">
36 36
                     </datalist>
37 37
                 </td>
38
-                <th class="Importent">联系方式:</th>
39
-                <td>
40
-                    <input type="text" id="dealcontact" />
41
-                </td>
42 38
                 <th class="Importent">职务:</th>
43 39
                 <td>
44 40
                     <input type="text" id="duties" />
45 41
                 </td>
42
+                <th class="Importent">联系方式:</th>
43
+                <td>
44
+                    <input type="text" id="dealcontact" />
45
+                </td>
46 46
             </tr>
47 47
             <tr>
48 48
                 <th class="Importent">审核领导:</th>
49 49
                 <td>
50 50
                     <input type="text" id="auditUser" />
51 51
                 </td>
52
-                <th class="Importent">审核领导职务:</th>
52
+                <th class="Importent">职务:</th>
53 53
                 <td>
54 54
                     <input type="text" id="auditUserDuties" />
55 55
                 </td>
56
+                <th class="Importent">联系方式:</th>
57
+                <td>
58
+                    <input type="text" id="auditContact" />
59
+                </td>
56 60
             </tr>
57 61
             <tr>
58 62
                 <th class="Importent">处理结果:</th>
@@ -339,6 +343,7 @@
339 343
                     duties: $("#duties").val(), //职务
340 344
                     AuditUser: $("#auditUser").val(), //审核领导
341 345
                     post: $("#auditUserDuties").val(), //审核领导职务
346
+                    auditContact: $("#auditContact").val(), //审核领导联系方式
342 347
                     situation: $("#situation").val(), //处理情况
343 348
                     result: $("#result").val(), //办理结果
344 349
                     isproresult: $(

+ 10 - 5
WebUI/CallCenterWeb.UI/CommonHtml/banli_zilei.html

@@ -81,24 +81,28 @@
81 81
                     <datalist id="dealmanList">
82 82
                     </datalist>
83 83
                 </td>
84
-                <th class="Importent">联系方式:</th>
85
-                <td>
86
-                    <input type="text" id="dealcontact">
87
-                </td>
88 84
                 <th class="Importent">职务:</th>
89 85
                 <td>
90 86
                     <input type="text" id="duties">
91 87
                 </td>
88
+                <th class="Importent">联系方式:</th>
89
+                <td>
90
+                    <input type="text" id="dealcontact">
91
+                </td>
92 92
             </tr>
93 93
             <tr>
94 94
                 <th class="Importent">审核领导:</th>
95 95
                 <td>
96 96
                     <input type="text" id="auditUser" />
97 97
                 </td>
98
-                <th class="Importent">审核领导职务:</th>
98
+                <th class="Importent">职务:</th>
99 99
                 <td>
100 100
                     <input type="text" id="auditUserDuties" />
101 101
                 </td>
102
+                <th class="Importent">联系方式:</th>
103
+                <td>
104
+                    <input type="text" id="auditContact" />
105
+                </td>
102 106
             </tr>
103 107
             <tr>
104 108
                 <th class="Importent">处理结果:</th>
@@ -302,6 +306,7 @@
302 306
                 dealman: $("#dealman").val(), //承办人
303 307
                 AuditUser: $("#auditUser").val(), //审核领导
304 308
                 post: $("#auditUserDuties").val(), //审核领导职务
309
+                auditContact: $("#auditContact").val(), //审核领导联系方式
305 310
                 result: $('#result').val(), //处理情况
306 311
                 situation: $("#situation").val(), //办理结果
307 312
                 isproresult: $('#isProResultRadio input[name="isDisposeResult"]:checked').val(), //处理结果

+ 12 - 13
WebUI/CallCenterWeb.UI/ReportForm/superviseReport.html

@@ -131,12 +131,12 @@
131 131
             laydate.render({
132 132
                 elem: '#squeryTime',
133 133
                 theme: '#00a1cb',
134
-                type: 'date'
134
+                type: 'datetime'
135 135
             });
136 136
             laydate.render({
137 137
                 elem: '#equeryTime',
138 138
                 theme: '#00a1cb',
139
-                type: 'date'
139
+                type: 'datetime'
140 140
             });
141 141
             initTable();
142 142
         });
@@ -183,43 +183,42 @@
183 183
 
184 184
         // 督办查收
185 185
         function superviseCheck(val, row) {
186
-            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.name + '\', \'1\')" >' + val +
186
+            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.UserCode + '\', \'1\')" >' + val +
187 187
                 '</a></div>';
188 188
         }
189 189
 
190 190
         // 督办派单
191 191
         function superviseDispatch(val, row) {
192
-            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.name + '\', \'2\')" >' + val +
192
+            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.UserCode + '\', \'2\')" >' + val +
193 193
                 '</a></div>';
194 194
         }
195 195
 
196 196
         // 督办退回
197 197
         function superviseReturn(val, row) {
198
-            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.name + '\', \'3\')" >' + val +
198
+            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.UserCode + '\', \'3\')" >' + val +
199 199
                 '</a></div>';
200 200
         }
201 201
 
202 202
         // 督办结案
203 203
         function superviseClosed(val, row) {
204
-            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.name + '\', \'4\')" >' + val +
204
+            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.UserCode + '\', \'4\')" >' + val +
205 205
                 '</a></div>';
206 206
         }
207 207
 
208 208
         // 督办待办
209 209
         function superviseUpcoming(val, row) {
210
-            return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.name + '\', \'4\')" >' + val +
210
+            return '<div class="imgs" ><a class="" onclick="viewList(\'' + '\', \'5\')" >' + val +
211 211
                 '</a></div>';
212 212
         }
213 213
 
214 214
         // 查看列表
215
-        function viewList(name, db) {
216
-            name = encodeURIComponent(name);
217
-            var starttime = $('#squeryTime').val()
218
-            var endtime = $('#equeryTime').val()
215
+        function viewList(dbusercode, db) {
216
+            dbusercode = encodeURIComponent(dbusercode);
217
+            var starttime = encodeURIComponent($('#squeryTime').val())
218
+            var endtime = encodeURIComponent($('#equeryTime').val())
219 219
             layer.open({
220 220
                 type: 2,
221
-                content: "./superviseReportList.html?name=" + name + "&db=" + db + "&starttime=" + starttime +
222
-                    "&endtime=" + endtime, //iframe的url,no代表不显示滚动条
221
+                content: "./superviseReportList.html?dbusercode=" + dbusercode + "&db=" + db + "&starttime=" + starttime + "&endtime=" + endtime, //iframe的url,no代表不显示滚动条
223 222
                 title: '督办报表',
224 223
                 area: ['90%', '90%'], //宽高
225 224
             });

+ 10 - 4
WebUI/CallCenterWeb.UI/ReportForm/superviseReportList.html

@@ -39,11 +39,16 @@
39 39
     <script src="../js/layui/layui.js"></script>
40 40
     <script src="../js/WorkOrder/WorkOrderList.js"></script>
41 41
     <script>
42
-        var name = decodeURIComponent(helper.request.queryString("name"));
42
+        var dbusercode = decodeURIComponent(helper.request.queryString("dbusercode"));
43 43
         var db = helper.request.queryString("db");   
44
-        var starttime = helper.request.queryString("starttime");
44
+        var starttime = decodeURIComponent(helper.request.queryString("starttime"));
45 45
         var endtime = decodeURIComponent(helper.request.queryString("endtime"));
46
+        var dbdb = "";
46 47
         $(document).ready(function () {
48
+            if (db === "5") {
49
+                dbdb = db;
50
+                db = "";
51
+            }
47 52
             load();
48 53
         });
49 54
         //获取查询信息
@@ -71,8 +76,9 @@
71 76
                     var param = {
72 77
                         page: params.pageNumber,
73 78
                         pagesize: params.pageSize,
74
-                        dbusercode: name, // 督办人员
79
+                        dbusercode: dbusercode, // 督办人员
75 80
                         db: db, // 1督办查收2督办派单3督办退回4督办结案
81
+                        dbdb: dbdb,
76 82
                         strstarttime: starttime, // 开始时间
77 83
                         strendtime: endtime, // 结束时间
78 84
                         token: $.cookie("token")
@@ -209,7 +215,7 @@
209 215
 
210 216
             var url = huayi.config.callcenter_url + "WorkOrder/GetModelList?token=" + $.cookie("token");
211 217
 
212
-            url += "&strstarttime=" + starttime + "&strendtime=" + endtime + "&dbusercode=" + name + "&db=" + db + "&isdc=1";
218
+            url += "&strstarttime=" + starttime + "&strendtime=" + endtime + "&dbusercode=" + dbusercode + "&db=" + db + "&isdc=1";
213 219
 
214 220
             window.location.href = url;
215 221
         }

+ 3 - 4
WebUI/CallCenterWeb.UI/SuperviseManagement/superviseReturnReview.html

@@ -376,11 +376,10 @@
376 376
                     html1 = html1.replace("row", row.F_MainDeptId);
377 377
                 }
378 378
                 html += html1;
379
-
380
-            }
381
-            if (roleCode !== "WLDW") {
382
-                html += '<a class="xg sendMsg" onclick="sendMsg(\'' + row.F_WorkOrderId + '\')" title="催办">催办</a>';
383 379
             }
380
+            // if (roleCode !== "WLDW") {
381
+            //     html += '<a class="xg sendMsg" onclick="sendMsg(\'' + row.F_WorkOrderId + '\')" title="催办">催办</a>';
382
+            // }
384 383
             return html;
385 384
         }
386 385
 

+ 7 - 3
WebUI/CallCenterWeb.UI/SuperviseManagement/superviseUpcoming.html

@@ -209,11 +209,15 @@
209 209
             laydate.skin('blue');
210 210
             laydate({
211 211
                 elem: '#dealstarttime',
212
-                event: 'focus'
212
+                event: 'focus',
213
+                istime: true,
214
+                format: 'YYYY-MM-DD hh:mm:ss'
213 215
             });
214 216
             laydate({
215 217
                 elem: '#dealstrendtime',
216
-                event: 'focus'
218
+                event: 'focus',
219
+                istime: true,
220
+                format: 'YYYY-MM-DD hh:mm:ss'
217 221
             });
218 222
             laydate({
219 223
                 elem: '#dbstarttime',
@@ -273,7 +277,7 @@
273 277
                 contentType: "application/x-www-form-urlencoded",
274 278
                 striped: true, //表格显示条纹
275 279
                 pagination: true, //启动分页
276
-                pageSize: 10, //每页显示的记录数
280
+                pageSize: 100, //每页显示的记录数
277 281
                 pageNumber: 1, //当前第几页
278 282
                 pageList: [10, 20, 50, 100], //记录数可选列表
279 283
                 search: false, //是否启用查询

+ 8 - 2
WebUI/CallCenterWeb.UI/TelCall/SeatMonitor.html

@@ -228,6 +228,10 @@
228 228
             background: #d91e06;
229 229
         }
230 230
 
231
+        .mandatoryCheckOut {
232
+            background: #d91e06;
233
+        }
234
+
231 235
         .dis {
232 236
             background: #989898;
233 237
         }
@@ -386,6 +390,7 @@
386 390
                     <li><b class="qca" item="Insert">强插</b></li>
387 391
                     <li><b class="lj" item="Intercept">拦截</b></li>
388 392
                     <li><b class="qc" item="Break">强拆</b></li>
393
+                    <li><b class="mandatoryCheckOut" item="MotorSetState">签出</b></li>
389 394
                 </ul>
390 395
             </div>
391 396
         </div>
@@ -467,8 +472,6 @@
467 472
                         top.obj.SubType = "1";//根据工号订阅线路状态
468 473
                         top.Send();
469 474
                     })
470
-                    //top.obj.Type = "SubScribe";
471
-                    //top.obj.SubParmer = "8003";
472 475
 
473 476
                     //top.obj.SubType = "0";//根据工号订阅坐席状态
474 477
                     //top.Send();
@@ -641,6 +644,9 @@
641 644
             if (zxState == '2' && xlState == '5') {
642 645
                 $(".zxtp .dj").removeClass("dis");
643 646
             }
647
+            if (!(zxState === '0')) {
648
+                $(".zxtp .mandatoryCheckOut").removeClass("dis");
649
+            }
644 650
         }
645 651
 
646 652
         //       	    //浏览器窗口大小改变时

+ 12 - 2
WebUI/CallCenterWeb.UI/home.html

@@ -486,6 +486,12 @@
486 486
             background-position: 0px -197px !important;
487 487
         }
488 488
 
489
+        /*外呼签入*/
490
+
491
+        .callOutLogin {
492
+            background-position: 0px -197px !important;
493
+        }
494
+
489 495
         /*签出*/
490 496
 
491 497
         .Logout {
@@ -1433,6 +1439,10 @@
1433 1439
                                     <i class="iconfont fa-5x Login"></i>
1434 1440
                                     <p>签入</p>
1435 1441
                                 </li>
1442
+                                <li datafun="callOutLogin">
1443
+                                    <i class="iconfont fa-5x callOutLogin"></i>
1444
+                                    <p>外呼签入</p>
1445
+                                </li>
1436 1446
                                 <li datafun="Logout">
1437 1447
                                     <i class="iconfont fa-5x Logout"></i>
1438 1448
                                     <p>签出</p>
@@ -2024,7 +2034,7 @@
2024 2034
                                         名词解释
2025 2035
                                     </li>
2026 2036
                                     <li style="border-bottom:1px solid #f95a83;" data-type="6">
2027
-                                        政策法规
2037
+                                        部门职能
2028 2038
                                     </li>
2029 2039
                                 </ul>
2030 2040
                                 <!-- <div class="ld-search">
@@ -2481,7 +2491,7 @@
2481 2491
                             <table class="table" id="zxTable">
2482 2492
                                 <thead>
2483 2493
                                     <tr>
2484
-                                        <th>姓名</th>
2494
+                                        <!-- <th>姓名</th> -->
2485 2495
                                         <th>工号</th>
2486 2496
                                         <th>分机号</th>
2487 2497
                                         <th>状态</th>

+ 7 - 0
WebUI/CallCenterWeb.UI/js/index.js

@@ -418,9 +418,16 @@ $(document).ready(function () {
418 418
                 obj.Type = fun;
419 419
                 switch (fun) {
420 420
                     case "Login":
421
+                        obj.AgentGroup = "364";
421 422
                         obj.AgentType = "0";
422 423
                         Send();
423 424
                         break; //签入
425
+                    case "callOutLogin":
426
+                        obj.AgentGroup = "300";
427
+                        obj.AgentType = "0";
428
+                        obj.Type = "Login";
429
+                        Send();
430
+                        break; //外呼签入  
424 431
                     case "MakeCall":
425 432
                         $(".hidCallID").val("");
426 433
                         $("#hidwhtype").val(fun);

+ 11 - 31
WebUI/CallCenterWeb.UI/js/main.js

@@ -37,13 +37,8 @@ function Connect() {
37 37
         heartCheck.reset().start();
38 38
         cls = 0;
39 39
         $(".Login").addClass("active");
40
+        $(".callOutLogin").addClass("active");
40 41
         lasttime = new Date().getTime();
41
-
42
-        //自动签入
43
-        // if ($.cookie("socket_state") != null) {
44
-            // SetLogin($.cookie("socket_state"));
45
-        // }
46
-        //$(".hwzt").text('连接成功!');
47 42
     };
48 43
     //接收到消息的回调方法
49 44
     ws.onmessage = function (evt) {
@@ -130,6 +125,11 @@ function Connect() {
130 125
                     case "consult":
131 126
                         ConsultationCall();
132 127
                         break;//协商呼叫
128
+                    case "forcelogout":
129
+                        break;// 强制签出(主控)
130
+                    case "motorlogout":
131
+                        LogoutBack()
132
+                        break;// 强制签出(被控)
133 133
                 }
134 134
             } else {
135 135
                 if (rlt == false) {
@@ -248,6 +248,7 @@ function LoginBack() {
248 248
 function LogoutBack() {
249 249
     $("#top-search li i").removeClass("active");
250 250
     $(".Login").addClass("active");
251
+    $(".callOutLogin").addClass("active");
251 252
     $(".zxzt").removeClass("bl").addClass("br");
252 253
     $(".fwzt").removeClass("bl").addClass("br");
253 254
     $(".hwzt").text('');
@@ -534,27 +535,6 @@ function SetState(obj) {
534 535
     }
535 536
 }
536 537
 
537
-// 自动签入
538
-// function SetLogin(state) {
539
-//     if (state == 2) { return; }
540
-//     if (obj.AgentID) {
541
-//         obj.Type = "Login";
542
-//          if( $("#RoleCode").val()=='DBHWY'){
543
-//          	obj.AgentGroup = "1";
544
-//          }
545
-//          else if($("#RoleCode").val()=='ZJZY'){
546
-//                 	obj.AgentGroup = "2";
547
-//                 }
548
-//          else{
549
-//          	obj.AgentGroup = "364";
550
-//          }
551
-//         obj.AgentType = "0";
552
-//         Send();
553
-//     }
554
-//     if (state == 1) {
555
-//         setTimeout('SayBusy()', 500);
556
-//     }
557
-// }
558 538
 //置忙
559 539
 function SayBusy() {
560 540
     if (obj.AgentID) {
@@ -572,8 +552,8 @@ function SayBusyBack() {
572 552
 //置闲
573 553
 function SayFreeBack() {
574 554
 	$(".SayBusy").addClass("active");
575
-    $(".SayFree").removeClass("active");
576
-    $(".zxzt").removeClass("br").addClass("bl"); //坐席状态指示
555
+  $(".SayFree").removeClass("active");
556
+  $(".zxzt").removeClass("br").addClass("bl"); //坐席状态指示
577 557
 	$(".hwzt").text('空闲');// 增加坐席状态指示
578 558
 	$("#isml").val(0)
579 559
 }
@@ -741,8 +721,8 @@ function GetAgentListBack(data) {
741 721
                         break; //注销
742 722
                 }
743 723
                 var html = '<tr fjh="' + m.AgentExten + '">' +
744
-                    '<td>' + (m.userName ? '' : m.userName) + '</td>' //姓名
745
-                    +
724
+                    // '<td>' + (m.userName == undefined ? '' : m.userName) + '</td>' //姓名
725
+                    // +
746 726
                     '<td>' + m.AgentID + '</td>' //工号
747 727
                     +
748 728
                     '<td>' + m.AgentExten + '</td>'//分机号

+ 1 - 1
WebUI/CallCenterWeb.UI/zhiShiKu/addOrEditZhiShiKuGuide.html

@@ -122,7 +122,7 @@
122 122
                 <td><input type="text" id="policyBased" autocomplete="off" /></td>
123 123
             </tr>
124 124
             <tr>
125
-                <td width="100">网上办理接</td>
125
+                <td width="100">网上办理接</td>
126 126
                 <td><input type="text" id="onlineURL" autocomplete="off" /></td>
127 127
                 <td width="100">附件</td>
128 128
                 <td>

+ 1 - 1
WebUI/CallCenterWeb.UI/zhiShiKu/detailZhiShiKuGuide.html

@@ -134,7 +134,7 @@
134 134
                 <td><input type="text" id="policyBased" autocomplete="off" readonly="readonly" /></td>
135 135
             </tr>
136 136
             <tr>
137
-                <td width="100">网上办理接</td>
137
+                <td width="100">网上办理接</td>
138 138
                 <td><input type="text" id="onlineURL" autocomplete="off" readonly="readonly" /></td>
139 139
                 <td width="100">附件</td>
140 140
                 <td id="file">

+ 64 - 0
anyangWebAPP/components/yi-line/yi-line.vue

@@ -0,0 +1,64 @@
1
+<template>
2
+	<view class="empty-container">
3
+		<view class="empty-line" ref="left-line-dom">
4
+			
5
+		</view>
6
+		
7
+		<view class="empty-words" v-if="isHasWords">
8
+			<slot>
9
+				<view>
10
+					暂无数据
11
+				</view>
12
+				<view>
13
+					请在右上角添加
14
+				</view>
15
+			</slot>
16
+		</view>
17
+		
18
+		<view class="empty-line" ref="right-line-dom">
19
+			
20
+		</view>
21
+	</view>
22
+</template>
23
+
24
+<script>
25
+	export default {
26
+		data() {
27
+			return {
28
+				
29
+			}
30
+		},
31
+		mounted() {
32
+			this.$refs['left-line-dom'].$el.style.backgroundColor = this.lineColor
33
+			this.$refs['right-line-dom'].$el.style.backgroundColor = this.lineColor
34
+		},
35
+		props: {
36
+			isHasWords: {
37
+				type: Boolean,
38
+				default: true
39
+			},
40
+			lineColor: {
41
+				type: String,
42
+				default: '#DCDFE6'
43
+			}
44
+		}
45
+	}
46
+</script>
47
+
48
+<style scoped>
49
+	.empty-container{
50
+		display: flex;
51
+		font-size: 14px;
52
+		align-items: center;
53
+	}
54
+	.empty-line{
55
+		width: 100%;
56
+		height: 1px;
57
+	}
58
+	.empty-words{
59
+		flex-shrink: 0;
60
+		text-align: center;
61
+		color: #909399;
62
+		font-size: 12px;
63
+	}
64
+</style>

+ 9 - 0
anyangWebAPP/package.json

@@ -0,0 +1,9 @@
1
+{
2
+    "id": "yi-line",
3
+    "name": "底部分割线",
4
+    "version": "0.0.1",
5
+    "description": "底部分割线,虽然不复杂但是每次都重写好麻烦,封装出来下次直接用吧",
6
+    "keywords": [
7
+        "底部分割线"
8
+    ]
9
+}

+ 14 - 4
anyangWebAPP/pages.json

@@ -31,13 +31,23 @@
31 31
     {
32 32
       "path": "pages/workOrderList/workOrderList",
33 33
       "style": {
34
-        "navigationBarTitleText": "工单列表"
34
+        "navigationBarTitleText": "工单列表",
35
+        "enablePullDownRefresh": true
36
+      }
37
+    },
38
+    {
39
+      "path": "pages/workOrderDetail/workOrderDetail",
40
+      "style": {
41
+        "navigationBarTitleText": "工单详情"
42
+      }
43
+    },
44
+    {
45
+      "path": "pages/editWorkOrder/editWorkOrder",
46
+      "style": {
47
+        "navigationBarTitleText": "编辑工单"
35 48
       }
36 49
     }
37 50
   ],
38
-  // "tabBar":{
39
-
40
-  // },
41 51
   "globalStyle": {
42 52
     "navigationBarTextStyle": "white",
43 53
     "navigationBarTitleText": "全局",

+ 474 - 0
anyangWebAPP/pages/editWorkOrder/editWorkOrder.vue

@@ -0,0 +1,474 @@
1
+<template>
2
+  <view class="wrapper">
3
+    <view class="form">
4
+      <form @submit="formSubmit" @reset="formReset">
5
+        <view class="uni-form-item uni-column">
6
+          <view class="title">标题:</view>
7
+          <input class="uni-input" name="workOrderTitle" :value="formData.workOrderTitle" placeholder="标题" />
8
+        </view>
9
+        <view class="uni-form-item uni-column">
10
+          <view class="title">来电内容:</view>
11
+          <view class="uni-textarea">
12
+            <textarea name="callContent" :value="formData.callContent" auto-height />
13
+          </view>
14
+        </view>
15
+        <view class="uni-form-item uni-column">
16
+          <view class="title">工单内容:</view>
17
+          <view class="uni-textarea">
18
+            <textarea name="workOrderContent" :value="formData.workOrderContent" auto-height />
19
+          </view>
20
+        </view>
21
+        <view class="uni-form-item uni-column">
22
+          <view class="title">处理方式:</view>
23
+          <radio-group name="processingMethod" :value="formData.processingMethod" @change="bindChangeProcessingMethod">
24
+            <label> <radio value="1" :checked="!radioChecked.processingMethod" /><text>当即办理</text> </label>
25
+            <label> <radio value="0"  :checked="radioChecked.processingMethod" /><text>网络转办</text> </label>
26
+          </radio-group>
27
+        </view>
28
+        <view class="uni-form-item uni-column" v-show="isDisplay.result">
29
+          <view class="title">办理内容:</view>
30
+          <view class="uni-textarea">
31
+            <textarea name="result" :value="formData.result" auto-height />
32
+          </view>
33
+        </view>
34
+        <view class="uni-form-item uni-column">
35
+          <view class="title">姓名:</view>
36
+          <input class="uni-input" name="name" :value="formData.name" placeholder="这是一个输入框" />
37
+        </view>
38
+        <view class="uni-form-item uni-column">
39
+          <view class="title">性别:</view>
40
+          <radio-group name="gender" :value="formData.gender">
41
+            <label> <radio value="0" :checked="radioChecked.gender" /><text>男</text></label>
42
+            <label> <radio value="1" :checked="!radioChecked.gender" /><text>女</text></label>
43
+          </radio-group>
44
+        </view>
45
+        <view class="uni-form-item uni-column">
46
+          <view class="uni-title uni-common-pl">来源:</view>
47
+          <view class="uni-list">
48
+            <view class="uni-list-cell">
49
+              <view class="uni-list-cell-db">
50
+                <picker @change="bindPickerChangeSource" :range="sourceListData" :range-key="'F_Value'">
51
+                  <view name="source" class="uni-input">{{ sourceListData[pickerIndex.indexSource].F_Value }}</view>
52
+                </picker>
53
+              </view>
54
+            </view>
55
+          </view>
56
+        </view>
57
+        <view class="uni-form-item uni-column">
58
+          <view class="title">来电号码:</view>
59
+          <input class="uni-input" name="callerNumber" :value="formData.callerNumber" placeholder="这是一个输入框" />
60
+        </view>
61
+        <view class="uni-form-item uni-column">
62
+          <view class="uni-title uni-common-pl">类型:</view>
63
+          <view class="uni-list">
64
+            <view class="uni-list-cell">
65
+              <view class="uni-list-cell-db">
66
+                <picker @change="bindPickerChangeType" value="" :range="typeListData" :range-key="'F_Value'">
67
+                  <view class="uni-input">{{ typeListData[pickerIndex.indexType].F_Value }}</view>
68
+                </picker>
69
+              </view>
70
+            </view>
71
+          </view>
72
+        </view>
73
+        <view class="uni-form-item uni-column">
74
+          <view class="uni-title uni-common-pl">反映类别:</view>
75
+          <uni-combox :candidates="candidates" v-model="city" labelWidth="10000"></uni-combox>
76
+
77
+          <!-- <view class="uni-list">
78
+            <view class="uni-list-cell">
79
+              <view class="uni-list-cell-db">
80
+                <picker @change="bindPickerChange" :value="formData.index" :range="array">
81
+                  <view class="uni-input">{{ array[index] }}</view>
82
+                </picker>
83
+              </view>
84
+            </view>
85
+          </view> -->
86
+        </view>
87
+        <view class="uni-form-item uni-column">
88
+          <view class="title">号码密级:</view>
89
+          <radio-group name="numberSecurityLevel" :value="formData.numberSecurityLevel">
90
+            <label> <radio value="0" :checked="radioChecked.numberSecurityLevel" /><text>普通</text> </label>
91
+            <label> <radio value="1" :checked="!radioChecked.numberSecurityLevel" /><text>保密</text> </label>
92
+          </radio-group>
93
+        </view>
94
+        <view class="uni-form-item uni-column">
95
+          <view class="uni-title uni-common-pl">紧急程度:</view>
96
+          <view class="uni-list">
97
+            <view class="uni-list-cell">
98
+              <view class="uni-list-cell-db">
99
+                <picker @change="bindPickerChangeEmergencyLevel" :value="pickerIndex.indexEmergencyLevel" :range="emergencyLevelListData" :range-key="'text'">
100
+                  <view class="uni-input">{{ emergencyLevelListData[pickerIndex.indexEmergencyLevel].text }}</view>
101
+                </picker>
102
+              </view>
103
+            </view>
104
+          </view>
105
+        </view>
106
+        <view class="uni-form-item uni-column">
107
+          <view class="uni-title uni-common-pl">分管领导:</view>
108
+          <view class="uni-list">
109
+            <view class="uni-list-cell">
110
+              <view class="uni-list-cell-db">
111
+                <picker @change="bindPickerChangeLeaderCharge" :value="formData.leaderCharge" :range="leaderChargeListData" :range-key="'text'">
112
+                  <view class="uni-input">{{ leaderChargeListData[pickerIndex.indexLeaderCharge].text }}</view>
113
+                </picker>
114
+              </view>
115
+            </view>
116
+          </view>
117
+        </view>
118
+        <!-- <view class="uni-form-item uni-column">
119
+          <view class="uni-title uni-common-pl">承办单位:</view>
120
+          <view class="uni-list">
121
+            <view class="uni-list-cell">
122
+              <view class="uni-list-cell-db">
123
+                <picker @change="bindPickerChange" :value="formData.index" :range="array">
124
+                  <view class="uni-input">{{ array[index] }}</view>
125
+                </picker>
126
+              </view>
127
+            </view>
128
+          </view>
129
+        </view>
130
+        <view class="uni-form-item uni-column">
131
+          <view class="uni-title uni-common-pl">办理时限:</view>
132
+          <view class="uni-list">
133
+            <view class="uni-list-cell">
134
+              <view class="uni-list-cell-db">
135
+                <picker @change="bindPickerChange" :value="formData.index" :range="array">
136
+                  <view class="uni-input">{{ array[index] }}</view>
137
+                </picker>
138
+              </view>
139
+            </view>
140
+          </view>
141
+        </view>
142
+        <view class="uni-form-item uni-column">
143
+          <view class="uni-title uni-common-pl">紧急时限:</view>
144
+          <view class="uni-list">
145
+            <view class="uni-list-cell">
146
+              <view class="uni-list-cell-db">
147
+                <picker @change="bindPickerChange" :value="formData.index" :range="array">
148
+                  <view class="uni-input">{{ array[index] }}</view>
149
+                </picker>
150
+              </view>
151
+            </view>
152
+          </view>
153
+        </view> -->
154
+        <view class="uni-btn-v">
155
+          <button form-type="submit">Submit</button>
156
+        </view>
157
+      </form>
158
+    </view>
159
+  </view>
160
+</template>
161
+
162
+<script>
163
+export default {
164
+  data() {
165
+    return {
166
+      wid: "", // 工单id
167
+      title: "picker",
168
+      array: ["中国", "美国", "巴西", "日本"],
169
+      index: 0,
170
+      // date: currentDate,
171
+      formData: {
172
+        workOrderTitle: "", // 标题
173
+        callContent: "", // 来电内容
174
+        workOrderContent: "", // 工单内容
175
+        processingMethod: "", // 处理方式
176
+        result: "", // 办理内容
177
+        name: "", // 姓名
178
+        gender: "", // 性别
179
+        source: "", // 来源
180
+        callerNumber: "", // 来电号码
181
+        workOrderType: "", // 工单类型
182
+        responseCategory: "", // 反映类别
183
+        numberSecurityLevel: "", // 来电号码密级
184
+        emergencyLevel: "", // 紧急程度
185
+        organizer: "", // 承办单位
186
+        processingTimeLimit: "", // 办理时限
187
+        emergencyTimeLimit: "", // 积极时限
188
+        leaderCharge: "", // 分管领导
189
+        threeWayCall: "", // 三方通话
190
+      },
191
+      radioChecked: {
192
+        processingMethod: true,
193
+        gender: true,
194
+        numberSecurityLevel: true,
195
+      },
196
+      isDisplay: {
197
+        result: false, // 办理内容
198
+      },
199
+      pickerIndex: {
200
+        indexSource: 0, // 来源index
201
+        indexType: 0, // 类型index
202
+        indexEmergencyLevel: 0, // 紧急程度index
203
+        indexLeaderCharge: 0, // 分管领导index
204
+      },
205
+      // 来源数据
206
+      sourceListData: [
207
+        {
208
+          F_Value: "请选择",
209
+        }
210
+      ],
211
+      // 工单类型数据
212
+      typeListData: [
213
+        {
214
+          F_Value: "请选择",
215
+        }
216
+      ], 
217
+      // 紧急程度
218
+      emergencyLevelListData: [
219
+        {
220
+          value: "1",
221
+          text: "普通",
222
+        },
223
+        {
224
+          value: "2",
225
+          text: "紧急",
226
+        },
227
+      ],
228
+      // 分管领导
229
+      leaderChargeListData: [
230
+        {
231
+          value: "0",
232
+          text: "省长",
233
+        },
234
+        {
235
+          value: "1",
236
+          text: "市长",
237
+        }
238
+      ]
239
+    }
240
+  },
241
+  onLoad(option) {
242
+    console.log("option", option);
243
+    this.wid = option.wid
244
+    // 获取来源数据 dictionaryId=1
245
+    this.getDictionaryData(1)
246
+    // 获取来源数据 dictionaryId=2
247
+    this.getDictionaryData(2)
248
+    // 获取详情 type=0
249
+    this.getDetail(0)
250
+  },
251
+  methods: {
252
+    formSubmit: function (e) {
253
+      this.formData.workOrderTitle = e.detail.value.workOrderTitle;
254
+      this.formData.processingMethod = e.detail.value.processingMethod;
255
+      this.formData.name = e.detail.value.name;
256
+      this.formData.gender = e.detail.value.gender;
257
+      this.formData.callerNumber = e.detail.value.callerNumber;
258
+      this.formData.numberSecurityLevel = e.detail.value.numberSecurityLevel;
259
+      this.formData.callContent = e.detail.value.callContent;
260
+      this.formData.workOrderContent = e.detail.value.workOrderContent;
261
+      this.formData.result = e.detail.value.result;
262
+      console.log("form发生了submit事件,携带数据为:" + JSON.stringify(e.detail.value))
263
+      this.saveData();
264
+    },
265
+    // 保存
266
+    saveData() {
267
+      const params = {
268
+        workorderid: this.wid,
269
+        cusname: this.formData.name, // 姓名
270
+        cussex: this.formData.gender, // 性别
271
+        cusphone: this.formData.callerNumber, // 电话
272
+        title: this.formData.workOrderTitle, // 标题
273
+        content: this.formData.callContent, // 来电内容
274
+        workcontent: this.formData.workOrderContent, // 工单内容
275
+        // files: $("#file").val(), //(多个用英文逗号,隔开)
276
+        files: "",
277
+        // sourcearea: $("#sourcearea").val(), //=事发地域id
278
+        sourcearea: "",
279
+        // sourceaddress: $("#sourceaddress").val(), //=事发详细地址
280
+        sourceaddress: "",
281
+        source: this.formData.source, // 来源
282
+        splituser: this.formData.leaderCharge, // 分管领导
283
+        isresult: this.formData.processingMethod, //=(0转办1直办)
284
+        // business: this.formData.threeWayCall, // 三方通话
285
+        business: "0",
286
+        result: this.formData.result, // 办理内容
287
+        keys: this.formData.responseCategory, // 反映类别
288
+        type: this.formData.workOrderType, // 类型
289
+        isprotect: this.formData.numberSecurityLevel, //=(0普通1保密)
290
+        level: this.formData.emergencyLevel, //=(1普通2紧急)
291
+        // visittype: $("#visittype").val(), // 回访方式
292
+        issubmit: 0, //=(0保存1保存并提交)
293
+        token: uni.getStorageSync("token"),
294
+      }
295
+      this.$http
296
+        .get("/WorkOrder/EditWorkOrder", params)
297
+        .then((response) => {
298
+          if (response.state.toLowerCase() === "success") {
299
+          }
300
+        })
301
+        .catch((e) => {
302
+          console.log(e)
303
+        })
304
+    },
305
+
306
+    //获取详情
307
+    getDetail(type) {
308
+      let params = {
309
+        type: type,
310
+        workorderid: this.wid,
311
+        token: uni.getStorageSync("token"),
312
+      }
313
+      this.$http.get("/WorkOrder/GetWorkOrderNew", params).then((response) => {
314
+        if (response.state.toLowerCase() === "success") {
315
+          let data = response.data.data[0];
316
+
317
+          this.formData.name = data.F_CusName; // 姓名
318
+          this.formData.gender = data.F_CusSex; // 性别
319
+          this.formData.callerNumber = data.F_CusPhone; // 电话
320
+          this.formData.workOrderTitle = data.F_ComTitle; // 标题
321
+          this.formData.callContent = data.F_Content; // 来电内容
322
+          this.formData.workOrderContent = data.F_Content; // 工单内容
323
+          // files: $("#file").val(), //(多个用英文逗号,隔开)
324
+          // sourcearea: $("#sourcearea").val(), //=事发地域id
325
+          // sourceaddress: $("#sourceaddress").val(), //=事发详细地址
326
+          // this.formData.threeWayCall = data.F_Business, // 三方通话
327
+          this.formData.result = data.F_Result; // 办理内容
328
+          this.formData.responseCategory = data.F_Key; // 反映类别
329
+
330
+          // 处理方式(0转办1直办)
331
+          if (String(data.F_IsResult) === "0") {
332
+            this.radioChecked.processingMethod = true;
333
+          } else if (Sting(data.F_IsResult) === "1") {
334
+            this.radioChecked.processingMethod = false;
335
+          }
336
+
337
+          // 性别(0男1女)
338
+          if (String(data.F_CusSex) === "0") {
339
+            this.radioChecked.gender = true;
340
+          } else if (String(data.F_CusSex) === "1") {
341
+            this.radioChecked.gender = false;
342
+          }
343
+
344
+          // 号码密级(0普通1保密)
345
+          if (String(data.F_IsProtect) === "0") {
346
+            this.radioChecked.numberSecurityLevel = true;
347
+          } else if (String(data.F_IsProtect) === "1") {
348
+            this.radioChecked.numberSecurityLevel = false;
349
+          }
350
+
351
+          // 来源
352
+          this.sourceListData.forEach((e,i) => {
353
+            if (String(e.F_ValueId) === String(data.F_InfoSource)) {
354
+              this.pickerIndex.indexSource = i;
355
+              this.formData.source = data.F_InfoSource;
356
+            }
357
+          });
358
+
359
+          // 咨询
360
+          this.typeListData.forEach((e,i) => {
361
+            if (String(e.F_ValueId) === String(data.F_InfoType)) {
362
+              this.pickerIndex.indexType = i;
363
+              this.formData.workOrderType = data.F_InfoType;
364
+            }
365
+          });
366
+
367
+          // 紧急程度
368
+          this.emergencyLevelListData.forEach((e,i) => {
369
+            if (String(e.value) === String(data.F_Level)) {
370
+              this.pickerIndex.indexEmergencyLevel = i;
371
+              this.formData.emergencyLevel = data.F_Level;
372
+            }
373
+          });
374
+
375
+          // 分管领导
376
+          this.leaderChargeListData.forEach((e,i) => {
377
+            if (String(e.text) === String(data.F_SplitUser)) {
378
+              this.pickerIndex.indexLeaderCharge = i;
379
+              this.formData.leaderCharge = data.F_SplitUser;
380
+            }
381
+          });
382
+
383
+        // visittype: $("#visittype").val(), // 回访方式
384
+        }
385
+      }).catch((e) => {
386
+        console.log(e);
387
+      })
388
+    },
389
+
390
+    // 获取数据字典
391
+    getDictionaryData(dictionaryId) {
392
+      const params = {
393
+        id: dictionaryId,
394
+        token: uni.getStorageSync("token"),
395
+      }
396
+      this.$http
397
+        .get("/Dictionary/GetDicValueListById", params)
398
+        .then((response) => {
399
+          if (response.state.toLowerCase() === "success") {
400
+            let data = response.data;
401
+            if (String(dictionaryId) === "1") {
402
+              // 来源数据
403
+              this.sourceListData = data;
404
+            } else if (String(dictionaryId) === "2") {
405
+              // 类型数据
406
+              this.typeListData = data;
407
+            }
408
+          }
409
+        })
410
+        .catch((e) => {
411
+          console.log(e)
412
+        })
413
+    },
414
+    bindPickerChange: function (e) {
415
+      console.log("picker发送选择改变,携带值为", e.target.value)
416
+      this.index = e.target.value
417
+    },
418
+
419
+    bindPickerChangeSource: function (e) {
420
+      this.pickerIndex.indexSource = e.target.value;
421
+      this.formData.source = this.sourceListData[e.target.value].F_ValueId;
422
+    },
423
+    bindPickerChangeType: function (e) {
424
+      this.pickerIndex.indexType = e.target.value;
425
+      this.formData.workOrderType = this.typeListData[e.target.value].F_ValueId
426
+    },
427
+    bindPickerChangeEmergencyLevel: function (e) {
428
+      this.pickerIndex.indexEmergencyLevel = e.target.value;
429
+      this.formData.emergencyLevel = this.emergencyLevelListData[e.target.value].value
430
+    },
431
+    bindPickerChangeLeaderCharge: function (e) {
432
+      this.pickerIndex.indexLeaderCharge = e.target.value;
433
+      this.formData.leaderCharge = this.leaderChargeListData[e.target.value].text
434
+    },
435
+    bindChangeProcessingMethod: function (e) {
436
+      if (String(e.detail.value) === "0") {
437
+        this.isDisplay.result = false;
438
+      } else if (String(e.detail.value) === "1") {
439
+        this.isDisplay.result = true;
440
+      }
441
+    }
442
+  },
443
+}
444
+</script>
445
+
446
+<style lang="scss">
447
+.wrapper {
448
+  padding: 10px 15px;
449
+  .form {
450
+    .uni-form-item {
451
+      // display: flex;
452
+      margin: 10px 0 0 0;
453
+      padding: 0 0 5px 0;
454
+      font-size: 14px;
455
+      border-bottom: 1px solid #bfbfbf;
456
+      .title {
457
+        font-size: 14px;
458
+      }
459
+      .uni-title {
460
+        width: 70px !important;
461
+      }
462
+      .uni-input {
463
+        font-size: 14px;
464
+      }
465
+      radio-group label radio {
466
+        transform: scale(0.7);
467
+      }
468
+      radio-group uni-text {
469
+        font-size: 14px;
470
+      }
471
+    }
472
+  }
473
+}
474
+</style>

+ 0 - 1
anyangWebAPP/pages/myTask/myTask.vue

@@ -85,7 +85,6 @@
85 85
             console.log(this.State)
86 86
         },
87 87
       workOrderListClick(item) {
88
-        console.log(123, item)
89 88
         uni.navigateTo({
90 89
           url: item.navigateToUrl
91 90
         })

+ 4 - 4
anyangWebAPP/pages/setting/setting.vue

@@ -58,10 +58,10 @@
58 58
             content: '退出到登录页面',
59 59
             success: function (res) {
60 60
                 if (res.confirm) {
61
-                    uni.setStorageSync('Username', '')
62
-                    uni.setStorageSync('Password', '')
63
-										uni.setStorageSync('token', '')
64
-										
61
+                    uni.setStorageSync('Username', '');
62
+                    uni.setStorageSync('Password', '');
63
+										uni.setStorageSync('token', '');
64
+
65 65
                     uni.reLaunch({
66 66
                     	url: '/pages/login/login'
67 67
                     });

+ 163 - 0
anyangWebAPP/pages/workOrderDetail/workOrderDetail.vue

@@ -0,0 +1,163 @@
1
+<template>
2
+  <view class="wrapper">
3
+    <view class="detailContent">
4
+      <view class="contentTable">
5
+        <text class="contentTitle">工单编号:</text>
6
+        <text class="contentText">{{ detailContentData.F_WorkOrderId }}</text>
7
+      </view>
8
+      <view class="contentTable">
9
+        <text class="contentTitle">标题:</text>
10
+        <text class="contentText">{{ detailContentData.F_ComTitle }}</text>
11
+      </view>
12
+      <view class="contentTable">
13
+        <text class="contentTitle">来电内容:</text>
14
+        <text class="contentText">{{ detailContentData.F_ComContent }}</text>
15
+      </view>
16
+      <view class="contentTable">
17
+        <text class="contentTitle">工单内容:</text>
18
+        <text class="contentText">{{ detailContentData.F_Content }}</text>
19
+      </view>
20
+      <view class="contentTable">
21
+        <text class="contentTitle">来电人:</text>
22
+        <text class="contentText">{{ detailContentData.F_CusName }}</text>
23
+      </view>
24
+      <view class="contentTable">
25
+        <text class="contentTitle">来电号码:</text>
26
+        <text class="contentText">{{ detailContentData.F_CusPhone }}</text>
27
+      </view>
28
+      <view class="contentTable">
29
+        <text class="contentTitle">来源:</text>
30
+        <text class="contentText">{{ detailContentData.SourceName }}</text>
31
+      </view>
32
+    </view>
33
+    <yiLine>
34
+      <view></view>
35
+    </yiLine>
36
+    <view class="operationButton">
37
+      <view>
38
+        <text class="operationButtonTitle">操作按钮</text>
39
+        <view class="buttons">
40
+          <button class="mini-btn" type="default" size="mini" @click="editBtn">编辑</button>
41
+        </view>
42
+      </view>
43
+    </view>
44
+    <yiLine>
45
+      <view></view>
46
+    </yiLine>
47
+    <view class="handleProcess">
48
+      <view>
49
+        <text class="handleProcessTitle">办理过程</text>
50
+        <view class="handleProcessContent" v-for="item in handleProcessListData" :key=item.F_Id>
51
+          <view class="handleProcessContentTime">
52
+            <text>{{ item.F_CreateTime }}</text>
53
+          </view>
54
+          <view class="handleProcessContentText">
55
+            <text>{{ item.F_Message }}</text>
56
+          </view>
57
+        </view>
58
+      </view>
59
+    </view>
60
+  </view>
61
+</template>
62
+
63
+<script>
64
+import yiLine from "../../components/yi-line/yi-line.vue"
65
+export default {
66
+  components: {
67
+    yiLine,
68
+  },
69
+  data() {
70
+    return {
71
+      wid: "", // 工单id
72
+      detailContentData: {}, // 详情内容
73
+      handleProcessListData: [], // 办理过程
74
+    }
75
+  },
76
+  onLoad(option) {
77
+    this.wid = option.wid;
78
+    // 获取详情
79
+    this.getDetail("0");
80
+    // 获取办理过程
81
+    this.getDetail("9");
82
+  },
83
+  methods: {
84
+    getDetail(type) {
85
+      let params = {
86
+        type: type,
87
+        workorderid: this.wid,
88
+        token: uni.getStorageSync("token"),
89
+      }
90
+      this.$http.get("/WorkOrder/GetWorkOrderNew", params).then((response) => {
91
+          if (response.state.toLowerCase() === "success") {
92
+            let data = response.data;
93
+            if (type === "0") {
94
+              this.detailContentData = data.data[0];
95
+              console.log(this.detailContentData)
96
+            } else if (type === "9") {
97
+              this.handleProcessListData = data;
98
+            }
99
+          }
100
+        }).catch((e) => {
101
+          console.log(e);
102
+        })
103
+    },
104
+
105
+    editBtn() {
106
+      uni.navigateTo({
107
+        url: "/pages/editWorkOrder/editWorkOrder?wid=" + this.wid,
108
+      })
109
+    },
110
+  },
111
+}
112
+</script>
113
+
114
+<style lang="scss">
115
+.wrapper {
116
+  padding: 10px 10px 0 10px;
117
+  .detailContent {
118
+    margin: 0 0 15px 0;
119
+    .contentTable {
120
+      margin: 0 0 5px 0;
121
+      .contentTitle {
122
+        font-weight: 700;
123
+        font-size: 14px;
124
+      }
125
+      .contentText {
126
+        color: #525252;
127
+        font-size: 14px;
128
+      }
129
+    }
130
+  }
131
+  .operationButton {
132
+    margin: 15px 0;
133
+    .operationButtonTitle {
134
+      font-weight: 700;
135
+    }
136
+    .buttons {
137
+      margin: 10px 0 0 0;
138
+      .mini-btn {
139
+        margin-right: 3px;
140
+        color: #fff;
141
+        background: #1e90ff;
142
+      }
143
+    }
144
+  }
145
+  .handleProcess {
146
+    margin: 15px 0;
147
+    .handleProcessTitle {
148
+      font-weight: 700;
149
+    }
150
+    .handleProcessContent {
151
+      margin: 8px 0 0 0;
152
+      .handleProcessContentTime text {
153
+        font-size: 12px;
154
+        color: #73d13d;
155
+      }
156
+      .handleProcessContentText text {
157
+        font-size: 12px;
158
+        color: #525252;
159
+      }
160
+    }
161
+  }
162
+}
163
+</style>

+ 153 - 54
anyangWebAPP/pages/workOrderList/workOrderList.vue

@@ -1,65 +1,164 @@
1 1
 <template>
2
-    <view>
3
-      <uni-table border stripe emptyText="暂无更多数据" >
4
-        <!-- 表头行 -->
5
-        <uni-tr>
6
-            <!-- <uni-th align="center">序号</uni-th> -->
7
-            <uni-th align="center">工单单号</uni-th>
8
-            <uni-th align="center">诉求标题</uni-th>
9
-            <uni-th align="center">来电内容</uni-th>
10
-            <uni-th align="center">承办单位</uni-th>
11
-            <uni-th align="center">受理人</uni-th>
12
-            <uni-th align="center">办理状态</uni-th>
13
-            <uni-th align="center">时限</uni-th>
14
-            <uni-th align="center">办理时限</uni-th>
15
-        </uni-tr>
16
-        <!-- 表格数据行 -->
17
-        <uni-tr v-for="item in listData" :key="item.F_WorkOrderId">
18
-          <!-- <uni-td align="center">{{  }}</uni-td> -->
19
-          <uni-td align="center">{{ item.F_WorkOrderId }}</uni-td>
20
-          <uni-td align="center">{{ item.F_ComTitle }}</uni-td>
21
-          <uni-td align="center">{{ item.F_ComContent }}</uni-td>
22
-          <uni-td align="center">{{ item.DeptName }}</uni-td>
23
-          <uni-td align="center">{{ item.UserName }}</uni-td>
24
-          <uni-td align="center">{{ item.F_WorkState }}</uni-td>
25
-          <uni-td align="center">{{ item.OverState }}</uni-td>
26
-          <uni-td align="center">{{ item.LimitTime }}</uni-td>
27
-        </uni-tr>
28
-      </uni-table>
29
-    </view>
2
+  <view>
3
+    <uni-table border stripe emptyText="暂无更多数据">
4
+      <!-- 表头行 -->
5
+      <uni-tr>
6
+        <!-- <uni-th align="center">序号</uni-th> -->
7
+        <uni-th align="center">工单单号</uni-th>
8
+        <uni-th align="center">诉求标题</uni-th>
9
+        <uni-th align="center">来电内容</uni-th>
10
+        <uni-th align="center">承办单位</uni-th>
11
+        <uni-th align="center">受理人</uni-th>
12
+        <uni-th align="center">办理状态</uni-th>
13
+        <uni-th align="center">时限</uni-th>
14
+        <uni-th align="center">办理时限</uni-th>
15
+      </uni-tr>
16
+      <!-- 表格数据行 -->
17
+      <uni-tr v-for="item in listData" :key="item.F_WorkOrderId">
18
+        <!-- <uni-td align="center">{{  }}</uni-td> -->
19
+        <uni-td align="center">
20
+          <view @click="workOrderIdClick(item.F_WorkOrderId)">
21
+            {{ item.F_WorkOrderId }}
22
+          </view>
23
+        </uni-td>
24
+        <uni-td align="center">{{ item.F_ComTitle | limitContentLength(item) }}</uni-td>
25
+        <uni-td align="center">{{ item.F_ComContent | limitContentLength(item) }}</uni-td>
26
+        <uni-td align="center">{{ item.DeptName }}</uni-td>
27
+        <uni-td align="center">{{ item.UserName }}</uni-td>
28
+        <uni-td align="center">{{ item.F_WorkState | workOrderState(item) }}</uni-td>
29
+        <uni-td align="center">{{ item.OverState }}</uni-td>
30
+        <uni-td align="center">{{ item.LimitTime }}</uni-td>
31
+      </uni-tr>
32
+    </uni-table>
33
+  </view>
30 34
 </template>
31 35
 
32 36
 <script>
33
-  const urlData = ["/WorkOrder/GetList", "/WorkOrder/GetLDDealList"]
34
-  export default {
35
-    
36
-    data() {
37
-      return {
38
-        listData: [],
39
-        workOrderStatusData: []
40
-      };
41
-    },
42
-    onLoad(optioin) {
43
-      this.getList(optioin);
44
-    },
45
-    methods: {
46
-      getList(optioin) {
47
-        const params = {
48
-          "tab": optioin.tab, // 待处理
49
-          "token": uni.getStorageSync('token')
50
-        }
51
-        let workOrderListType = Number(optioin.workOrderListType)
52
-        this.$http.get(urlData[workOrderListType],params).then((response)=>{
53
-          if (response.state.toLowerCase() === 'success') {
54
-            this.listData = response.rows;
37
+const urlData = ["/WorkOrder/GetList", "/WorkOrder/GetLDDealList"]
38
+export default {
39
+  data() {
40
+    return {
41
+      listData: [],
42
+      paramsData: {},
43
+      pageNumber: 1,
44
+    }
45
+  },
46
+  onLoad(optioin) {
47
+    optioin.page = 1; // 页码
48
+    optioin.pagesize = 10; // 条数
49
+    this.paramsData = optioin;
50
+    this.getList(this.paramsData);
51
+  },
52
+  methods: {
53
+    getList(optioin) {
54
+      const params = {
55
+        page: optioin.page,
56
+        pagesize: optioin.pagesize,
57
+        tab: optioin.tab, // 待处理
58
+        token: uni.getStorageSync("token"),
59
+      }
60
+      let workOrderListType = Number(optioin.workOrderListType);
61
+      this.$http.get(urlData[workOrderListType], params).then((response) => {
62
+          if (response.state.toLowerCase() === "success") {
63
+            let data = response.rows;
64
+            this.listData = data.concat(this.listData);
65
+            uni.stopPullDownRefresh();
55 66
           }
56
-        }).catch((e)=>{
67
+        }).catch((e) => {
57 68
           console.log(e)
58 69
         })
59
-      },
70
+    },
71
+    workOrderIdClick(value) {
72
+      uni.navigateTo({
73
+        url: "/pages/workOrderDetail/workOrderDetail?wid=" + value,
74
+      })
75
+    }
76
+  },
77
+  filters: {
78
+    // 工单状态过滤
79
+    workOrderState(value, options) {
80
+      var resultData = ""
81
+      switch (value + "") {
82
+        case "0":
83
+          resultData = "新工单"
84
+          if (options.F_IsReturn == 1) {
85
+            resultData = "新工单(回退)"
86
+          }
87
+          break
88
+        case "1":
89
+          resultData = "待交办"
90
+          break
91
+        case "2":
92
+          resultData = '待查收'
93
+          break
94
+        case "3":
95
+          resultData = "退回审核中"
96
+          break
97
+        case "4":
98
+          resultData = "办理中"
99
+          break
100
+        case "5":
101
+          resultData = "延时审核"
102
+          break
103
+        case "6":
104
+          if (options.F_IsProtect === 2 || options.F_IsProtect === 3) {
105
+            resultData = "已办未果"
106
+          } else {
107
+            resultData = "已办理"
108
+          }
109
+          break
110
+        case "7":
111
+          resultData = "已回访"
112
+          break
113
+        case "8":
114
+          if (options.F_Identification === 0) {
115
+            resultData = "重置转发"
116
+          } else if (options.F_Identification === 1) {
117
+            resultData = "退回重办"
118
+          } else {
119
+            resultData = "重办中"
120
+          }
121
+          break
122
+        case "9":
123
+          resultData = "已结案"
124
+          break
125
+        case "10":
126
+          resultData = "待审核"
127
+          break
128
+        case "11":
129
+          resultData = "重办待交办"
130
+          break
131
+        //              case '12':
132
+        //                  resultData = '待审核';
133
+        //                  break;
134
+        case "13":
135
+          resultData = "重办驳回"
136
+          break
137
+      }
138
+      return resultData
139
+    },
140
+
141
+    // 限制内容长度
142
+    limitContentLength(value, options) {
143
+      if (value) {
144
+        if (value.length > 15) {
145
+          value = value.substr(0, 15) + "...";
146
+        }
147
+        return value;
148
+      } else {
149
+          return "";
150
+      }
60 151
     }
61
-  }
152
+  },
153
+  onPullDownRefresh() {
154
+    this.pageNumber = this.pageNumber + 1;
155
+    this.paramsData.page = this.pageNumber;
156
+    this.getList(this.paramsData);
157
+    // setTimeout(function () {
158
+    // }, 1500)
159
+  },
160
+}
62 161
 </script>
63 162
 
64
-<style>
163
+<style lang="scss">
65 164
 </style>

+ 10 - 0
anyangWebAPP/uni_modules/uni-combox/changelog.md

@@ -0,0 +1,10 @@
1
+## 0.1.0(2021-07-30)
2
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
3
+## 0.0.6(2021-05-12)
4
+- 新增 组件示例地址
5
+## 0.0.5(2021-04-21)
6
+- 优化 添加依赖 uni-icons, 导入后自动下载依赖
7
+## 0.0.4(2021-02-05)
8
+- 优化 组件引用关系,通过uni_modules引用组件
9
+## 0.0.3(2021-02-04)
10
+- 调整为uni_modules目录规范

+ 239 - 0
anyangWebAPP/uni_modules/uni-combox/components/uni-combox/uni-combox.vue

@@ -0,0 +1,239 @@
1
+<template>
2
+	<view class="uni-combox">
3
+		<view v-if="label" class="uni-combox__label" :style="labelStyle">
4
+			<text>{{label}}</text>
5
+		</view>
6
+		<view class="uni-combox__input-box">
7
+			<input class="uni-combox__input" type="text" :placeholder="placeholder" v-model="inputVal" @input="onInput"
8
+			 @focus="onFocus" @blur="onBlur" />
9
+			<uni-icons class="uni-combox__input-arrow" type="arrowdown" size="14" @click="toggleSelector"></uni-icons>
10
+			<view class="uni-combox__selector" v-if="showSelector">
11
+				<scroll-view scroll-y="true" class="uni-combox__selector-scroll">
12
+					<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
13
+						<text>{{emptyTips}}</text>
14
+					</view>
15
+					<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" @click="onSelectorClick(index)">
16
+						<text>{{item}}</text>
17
+					</view>
18
+				</scroll-view>
19
+			</view>
20
+		</view>
21
+	</view>
22
+</template>
23
+
24
+<script>
25
+	/**
26
+	 * Combox 组合输入框
27
+	 * @description 组合输入框一般用于既可以输入也可以选择的场景
28
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=1261
29
+	 * @property {String} label 左侧文字
30
+	 * @property {String} labelWidth 左侧内容宽度
31
+	 * @property {String} placeholder 输入框占位符
32
+	 * @property {Array} candidates 候选项列表
33
+	 * @property {String} emptyTips 筛选结果为空时显示的文字
34
+	 * @property {String} value 组合框的值
35
+	 */
36
+	export default {
37
+		name: 'uniCombox',
38
+		emits:['input','update:modelValue'],
39
+		props: {
40
+			label: {
41
+				type: String,
42
+				default: ''
43
+			},
44
+			labelWidth: {
45
+				type: String,
46
+				default: 'auto'
47
+			},
48
+			placeholder: {
49
+				type: String,
50
+				default: ''
51
+			},
52
+			candidates: {
53
+				type: Array,
54
+				default () {
55
+					return []
56
+				}
57
+			},
58
+			emptyTips: {
59
+				type: String,
60
+				default: '无匹配项'
61
+			},
62
+			// #ifndef VUE3
63
+			value: {
64
+				type: [String, Number],
65
+				default: ''
66
+			},
67
+			// #endif
68
+			// #ifdef VUE3
69
+			modelValue: {
70
+				type: [String, Number],
71
+				default: ''
72
+			},
73
+			// #endif
74
+		},
75
+		data() {
76
+			return {
77
+				showSelector: false,
78
+				inputVal: ''
79
+			}
80
+		},
81
+		computed: {
82
+			labelStyle() {
83
+				if (this.labelWidth === 'auto') {
84
+					return {}
85
+				}
86
+				return {
87
+					width: this.labelWidth
88
+				}
89
+			},
90
+			filterCandidates() {
91
+				return this.candidates.filter((item) => {
92
+					return item.toString().indexOf(this.inputVal) > -1
93
+				})
94
+			},
95
+			filterCandidatesLength() {
96
+				return this.filterCandidates.length
97
+			}
98
+		},
99
+		watch: {
100
+			// #ifndef VUE3
101
+			value: {
102
+				handler(newVal) {
103
+					this.inputVal = newVal
104
+				},
105
+				immediate: true
106
+			},
107
+			// #endif
108
+			// #ifdef VUE3
109
+			modelValue: {
110
+				handler(newVal) {
111
+					this.inputVal = newVal
112
+				},
113
+				immediate: true
114
+			},
115
+			// #endif
116
+		},
117
+		methods: {
118
+			toggleSelector() {
119
+				this.showSelector = !this.showSelector
120
+			},
121
+			onFocus() {
122
+				this.showSelector = true
123
+			},
124
+			onBlur() {
125
+				setTimeout(() => {
126
+					this.showSelector = false
127
+				}, 153)
128
+			},
129
+			onSelectorClick(index) {
130
+				this.inputVal = this.filterCandidates[index]
131
+				this.showSelector = false
132
+				this.$emit('input', this.inputVal)
133
+				this.$emit('update:modelValue', this.inputVal)
134
+			},
135
+			onInput() {
136
+				setTimeout(() => {
137
+					this.$emit('input', this.inputVal)
138
+					this.$emit('update:modelValue', this.inputVal)
139
+				})
140
+			}
141
+		}
142
+	}
143
+</script>
144
+
145
+<style lang="scss" scoped>
146
+	.uni-combox {
147
+		/* #ifndef APP-NVUE */
148
+		display: flex;
149
+		/* #endif */
150
+		height: 40px;
151
+		flex-direction: row;
152
+		align-items: center;
153
+		// border-bottom: solid 1px #DDDDDD;
154
+	}
155
+
156
+	.uni-combox__label {
157
+		font-size: 16px;
158
+		line-height: 22px;
159
+		padding-right: 10px;
160
+		color: #999999;
161
+	}
162
+
163
+	.uni-combox__input-box {
164
+		position: relative;
165
+		/* #ifndef APP-NVUE */
166
+		display: flex;
167
+		/* #endif */
168
+		flex: 1;
169
+		flex-direction: row;
170
+		align-items: center;
171
+	}
172
+
173
+	.uni-combox__input {
174
+		flex: 1;
175
+		font-size: 16px;
176
+		height: 22px;
177
+		line-height: 22px;
178
+	}
179
+
180
+	.uni-combox__input-arrow {
181
+		padding: 10px;
182
+	}
183
+
184
+	.uni-combox__selector {
185
+		/* #ifndef APP-NVUE */
186
+		box-sizing: border-box;
187
+		/* #endif */
188
+		position: absolute;
189
+		top: 42px;
190
+		left: 0;
191
+		width: 100%;
192
+		background-color: #FFFFFF;
193
+		border-radius: 6px;
194
+		box-shadow: #DDDDDD 4px 4px 8px, #DDDDDD -4px -4px 8px;
195
+		z-index: 2;
196
+	}
197
+
198
+	.uni-combox__selector-scroll {
199
+		/* #ifndef APP-NVUE */
200
+		max-height: 200px;
201
+		box-sizing: border-box;
202
+		/* #endif */
203
+	}
204
+
205
+	.uni-combox__selector::before {
206
+		/* #ifndef APP-NVUE */
207
+		content: '';
208
+		/* #endif */
209
+		position: absolute;
210
+		width: 0;
211
+		height: 0;
212
+		border-bottom: solid 6px #FFFFFF;
213
+		border-right: solid 6px transparent;
214
+		border-left: solid 6px transparent;
215
+		left: 50%;
216
+		top: -6px;
217
+		margin-left: -6px;
218
+	}
219
+
220
+	.uni-combox__selector-empty,
221
+	.uni-combox__selector-item {
222
+		/* #ifndef APP-NVUE */
223
+		display: flex;
224
+		cursor: pointer;
225
+		/* #endif */
226
+		line-height: 36px;
227
+		font-size: 14px;
228
+		text-align: center;
229
+		border-bottom: solid 1px #DDDDDD;
230
+		margin: 0px 10px;
231
+	}
232
+
233
+	.uni-combox__selector-empty:last-child,
234
+	.uni-combox__selector-item:last-child {
235
+		/* #ifndef APP-NVUE */
236
+		border-bottom: none;
237
+		/* #endif */
238
+	}
239
+</style>

+ 85 - 0
anyangWebAPP/uni_modules/uni-combox/package.json

@@ -0,0 +1,85 @@
1
+{
2
+  "id": "uni-combox",
3
+  "displayName": "uni-combox 组合框",
4
+  "version": "0.1.0",
5
+  "description": "可以选择也可以输入的表单项 ",
6
+  "keywords": [
7
+    "uni-ui",
8
+    "uniui",
9
+    "combox",
10
+    "组合框",
11
+    "select"
12
+],
13
+  "repository": "https://github.com/dcloudio/uni-ui",
14
+  "engines": {
15
+    "HBuilderX": ""
16
+  },
17
+  "directories": {
18
+    "example": "../../temps/example_temps"
19
+  },
20
+  "dcloudext": {
21
+    "category": [
22
+      "前端组件",
23
+      "通用组件"
24
+    ],
25
+    "sale": {
26
+      "regular": {
27
+        "price": "0.00"
28
+      },
29
+      "sourcecode": {
30
+        "price": "0.00"
31
+      }
32
+    },
33
+    "contact": {
34
+      "qq": ""
35
+    },
36
+    "declaration": {
37
+      "ads": "无",
38
+      "data": "无",
39
+      "permissions": "无"
40
+    },
41
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
42
+  },
43
+  "uni_modules": {
44
+    "dependencies": [
45
+			"uni-icons"
46
+		],
47
+    "encrypt": [],
48
+    "platforms": {
49
+      "cloud": {
50
+        "tcb": "y",
51
+        "aliyun": "y"
52
+      },
53
+      "client": {
54
+        "App": {
55
+          "app-vue": "y",
56
+          "app-nvue": "n"
57
+        },
58
+        "H5-mobile": {
59
+          "Safari": "y",
60
+          "Android Browser": "y",
61
+          "微信浏览器(Android)": "y",
62
+          "QQ浏览器(Android)": "y"
63
+        },
64
+        "H5-pc": {
65
+          "Chrome": "y",
66
+          "IE": "y",
67
+          "Edge": "y",
68
+          "Firefox": "y",
69
+          "Safari": "y"
70
+        },
71
+        "小程序": {
72
+          "微信": "y",
73
+          "阿里": "y",
74
+          "百度": "y",
75
+          "字节跳动": "y",
76
+          "QQ": "y"
77
+        },
78
+        "快应用": {
79
+          "华为": "u",
80
+          "联盟": "u"
81
+        }
82
+      }
83
+    }
84
+  }
85
+}

+ 52 - 0
anyangWebAPP/uni_modules/uni-combox/readme.md

@@ -0,0 +1,52 @@
1
+
2
+
3
+## Combox 组合框
4
+> **组件名:uni-combox**
5
+> 代码块: `uCombox`
6
+
7
+
8
+组合框组件。
9
+
10
+### 平台兼容性说明
11
+
12
+**暂不支持nvue**
13
+
14
+### 安装方式
15
+
16
+本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。
17
+
18
+如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
19
+
20
+### 基本用法
21
+
22
+在 ``template`` 中使用组件
23
+```html
24
+<uni-combox label="所在城市" :candidates="candidates" placeholder="请选择所在城市" v-model="city"></uni-combox>
25
+```
26
+
27
+## API
28
+
29
+### Combox Props
30
+
31
+|属性名		|类型			|默认值		|说明								|
32
+|:-:		|:-:			|:-:		|:-:								|
33
+|label		|String			|-			|标签文字							|
34
+|value		|String			|-			|combox的值							|
35
+|labelWidth	|String			|auto		|标签宽度,有单位字符串,如:'100px'	|
36
+|placeholder|String			|-			|输入框占位符						|
37
+|candidates	|Array/String	|[]			|候选字段							|
38
+|emptyTips	|String			|无匹配项	|无匹配项时的提示语					|
39
+
40
+### Combox Events
41
+
42
+|事件称名	|说明					|返回值												|
43
+|:-:		|:-:					|:-:													|
44
+|@input	|combox输入事件	|返回combox值|
45
+
46
+
47
+
48
+
49
+
50
+## 组件示例
51
+
52
+点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/combox/combox](https://hellouniapp.dcloud.net.cn/pages/extUI/combox/combox)