Pārlūkot izejas kodu

工作时间设置修改

seimin 11 mēneši atpakaļ
vecāks
revīzija
2117b4c4ea

+ 239 - 118
assets/js/controllers/system/organizationdesign/worktimeCtrl.js

@@ -1,5 +1,5 @@
1 1
 'use strict';
2
-/** 
2
+/**
3 3
  * controller for User Profile Example
4 4
  */
5 5
 app.controller('woketimeCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_schedule", "api_bpm_data", "api_wechatfile", function($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_schedule, api_bpm_data, api_wechatfile) {
@@ -46,6 +46,9 @@ app.controller('woketimeCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$
46 46
     $scope.gridOptions.getRowIdentity = function(row) {
47 47
         return row.id;
48 48
     };
49
+    $scope.transferWorkDay = function(deleteFlag) {
50
+        if (deleteFlag == true) { return "工作日" } else { return "节假日" }
51
+    }
49 52
     $scope.transfer = function(deleteFlag) {
50 53
         if (deleteFlag == true) { return "是" } else { return "否" }
51 54
     }
@@ -60,25 +63,31 @@ app.controller('woketimeCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$
60 63
         { name: 'name', displayName: '班次', width: '8%', enableFiltering: false },
61 64
         {
62 65
             name: 'startTime',
63
-            displayName: '开始时间',
66
+            displayName: '起始时间1',
67
+            width: '8%',
68
+            enableFiltering: false,
69
+            cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.translate(row.entity.startTime)}}~{{grid.appScope.translate(row.entity.endTime)}}</div>'
70
+        },
71
+        {
72
+            name: 'startTime2',
73
+            displayName: '起始时间2',
64 74
             width: '8%',
65 75
             enableFiltering: false,
66
-            cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.translate(row.entity.startTime)}}</div>'
76
+            cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.translate(row.entity.startTime2)}}~{{grid.appScope.translate(row.entity.endTime2)}}</div>'
67 77
         },
68 78
         {
69
-            name: 'endTime',
70
-            displayName: '结束时间',
79
+            name: 'startTime3',
80
+            displayName: '起始时间3',
71 81
             width: '8%',
72 82
             enableFiltering: false,
73
-            cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.translate(row.entity.endTime)}}</div>'
83
+            cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.translate(row.entity.startTime3)}}~{{grid.appScope.translate(row.entity.endTime3)}}</div>'
74 84
         },
75
-        { name: 'person', displayName: '本班次人数', width: '8%', enableFiltering: false },
76
-        { name: 'dictionaryDTO.name', displayName: '季节', width: '8%', enableFiltering: false },
85
+        { name: 'type.name', displayName: '班次类型', width: '8%', enableFiltering: false },
86
+        { name: 'isTemplate', displayName: '呼叫中心关联', width: '8%', enableFiltering: false, cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.transfer(row.entity.isTemplate)}}</div>' },
87
+        { name: 'priority.name', displayName: '优先级关联', width: '8%', enableFiltering: false },
77 88
         { name: 'description', displayName: '班次描述', width: '10%', enableFiltering: false },
78 89
         { name: 'deleteFlag', displayName: '使用状态', width: '8%', enableFiltering: false, cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.transferstatus(row.entity.deleteFlag)}}</div>' },
79
-        { name: 'isTemplate', displayName: '是否为模版', width: '8%', enableFiltering: false, cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.transfer(row.entity.isTemplate)}}</div>' },
80
-        { name: 'sendMsg', displayName: '是否值班提醒', width: '8%', enableFiltering: false, cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.transfer(row.entity.sendMsg)}}</div>' },
81
-        { name: 'sendTime', displayName: '每日发送时间', width: '8%', enableFiltering: false, cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.translate(row.entity.sendTime)}}</div>' },
90
+        { name: 'workDay', displayName: '工作日/节假日', width: '8%', enableFiltering: false, cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.transferWorkDay(row.entity.workDay)}}</div>' },
82 91
         {
83 92
             name: '编辑',
84 93
             cellTemplate: '<div><div class="links cl-effect-1 ui-grid-cell-contents" >' +
@@ -101,61 +110,125 @@ app.controller('woketimeCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$
101 110
             templateUrl: 'assets/views/system/tpl/systemworktime.html',
102 111
             controller: function($scope, scope, $modalInstance, api_bpm_data) {
103 112
                 $scope.title = "修改班次";
104
-                $scope.worktimedata = {};
105
-                selectdata.sendMsg = selectdata.sendMsg?selectdata.sendMsg:0;
106
-                selectdata.sendTime = selectdata.sendTime?moment(selectdata.sendTime).format('YYYY-MM-DD HH:mm:ss'):moment().format('YYYY-MM-DD HH:mm:ss');
113
+
114
+                $scope.changeType = function(e){
115
+                    $scope.worktimedata.isTemplate = false;
116
+                    $scope.worktimedata.priority = undefined;
117
+                }
118
+
119
+                // 时间start
120
+                $scope.times = [];
121
+                $scope.timeId = 1;
122
+                $scope.isAdd = true;
123
+                // 新添加
124
+                $scope.add = function() {
125
+                    $scope.times.push({ id: ++$scope.timeId, startTime: new Date(), endTime: new Date() });
126
+                    $scope.timeChange();
127
+                }
128
+                // 删除
129
+                $scope.remove = function(index) {
130
+                    $scope.times.splice(index, 1);
131
+                    $scope.timeChange();
132
+                }
133
+                //监听输入事件
134
+                $scope.timeChange = function(e, time, i) {
135
+                    console.log(e, time)
136
+                    // -------------判断添加按钮是否禁用 start
137
+                    $scope.isAdd = $scope.times.length >= 3;
138
+                    // -------------判断添加按钮是否禁用 end
139
+                }
140
+                $scope.timeChange();
141
+                // 时间end
142
+
143
+                $scope.worktimedata = {"isTemplate": false, name: ''};
144
+                selectdata.workDay = selectdata.workDay?selectdata.workDay:0;
145
+                var times = [];
146
+                if(selectdata.startTime && selectdata.endTime){
147
+                    times.push({id: $scope.timeId++, startTime: selectdata.startTime, endTime: selectdata.endTime})
148
+                }
149
+                if(selectdata.startTime2 && selectdata.endTime2){
150
+                    times.push({id: $scope.timeId++, startTime: selectdata.startTime2, endTime: selectdata.endTime2})
151
+                }
152
+                if(selectdata.startTime3 && selectdata.endTime3){
153
+                    times.push({id: $scope.timeId++, startTime: selectdata.startTime3, endTime: selectdata.endTime3})
154
+                }
155
+                $scope.times = times;
107 156
                 $scope.worktimedata = angular.copy(selectdata);
108 157
                 $scope.dictionary = [];
109
-                api_wechatfile.getDictionary({ "type": "list", "key": "incident_scheduleclass" }).then(function(data) {
158
+                api_wechatfile.getDictionary({ "type": "list", "key": "schedule_class_type" }).then(function(data) {
110 159
                     if (data) {
111 160
                         $scope.dictionary = data;
112 161
                     }
113 162
                 })
163
+                $scope.priorityList = [];
164
+                api_wechatfile.getDictionary({ "type": "list", "key": "incident_priority" }).then(function(data) {
165
+                    if (data) {
166
+                        $scope.priorityList = data;
167
+                    }
168
+                })
114 169
                 $scope.cancel = function() {
115 170
                     $modalInstance.dismiss('cancel');
116 171
                 };
117 172
                 $scope.savercode = function(worktimedata) {
118 173
                     var fildata = {
119
-                            "scheduleclass": {
120
-                                "id": worktimedata.id,
121
-                                // "code": worktimedata.code,
122
-                                "name": worktimedata.name,
123
-                                "person": worktimedata.person,
124
-                                "description": worktimedata.description,
125
-                                "startTime": moment(worktimedata.startTime).format('YYYY-MM-DD HH:mm:ss'),
126
-                                "endTime": moment(worktimedata.endTime).format('YYYY-MM-DD HH:mm:ss'),
127
-                                "shiftTime": worktimedata.shiftTime,
128
-                                "succeedTime": worktimedata.succeedTime,
129
-                                "dictionaryDTO": worktimedata.dictionaryDTO,
130
-                                "isTemplate": worktimedata.isTemplate,
131
-                                "deleteFlag": worktimedata.deleteFlag,
132
-                                "sendMsg": worktimedata.sendMsg,
133
-                                "sendTime": worktimedata.sendMsg == 1?(worktimedata.sendTime?moment(worktimedata.sendTime).format('YYYY-MM-DD HH:mm:ss'):moment().format('YYYY-MM-DD HH:mm:ss')):undefined
134
-                            }
135
-                        }
136
-                        // api_wechatfile.getDictionary({ "type": "list", "key": "incident_scheduleclass" }).then(function(data) {
137
-                        //     if (data.status == 200) {
138
-                        //         $scope.dictionary = data;
139
-                        //     }
140
-                        // })
141
-                    api_bpm_data.updData('scheduleclass', fildata).then(function(response) {
142
-                        if (response) {
143
-                            if (response.status == 200) {
144
-                                SweetAlert.swal({
145
-                                    title: "修改成功!",
146
-                                    type: "success"
147
-                                }, function() {
148
-                                    scope.refreshData('expand-right');
149
-                                })
150
-                            } else {
151
-                                SweetAlert.swal({
152
-                                    title: "修改失败!",
153
-                                    type: "error"
154
-                                })
155
-                            }
156
-                        }
174
+                        "scheduleclass": worktimedata
175
+                    }
176
+                    $scope.times.forEach( (v, i) => {
177
+                        fildata.scheduleclass['startTime' + (i === 0 ? '' : (i + 1))] = v.startTime ? moment(v.startTime).format('YYYY-MM-DD HH:mm:ss') : undefined;
178
+                        fildata.scheduleclass['endTime' + (i === 0 ? '' : (i + 1))] = v.endTime ? moment(v.endTime).format('YYYY-MM-DD HH:mm:ss') : undefined;
157 179
                     })
158
-                    $modalInstance.close();
180
+
181
+                    if (!fildata.scheduleclass.name.trim()) {
182
+                        SweetAlert.swal({
183
+                            title: "新增失败!",
184
+                            text: "班次未填",
185
+                            type: "error"
186
+                        })
187
+                    } else if (!fildata.scheduleclass.startTime) {
188
+                        SweetAlert.swal({
189
+                            title: "新增失败!",
190
+                            text: "班次开始时间未填",
191
+                            type: "error"
192
+                        })
193
+                    } else if (!fildata.scheduleclass.endTime) {
194
+                        SweetAlert.swal({
195
+                            title: "新增失败!",
196
+                            text: "班次结束时间未填",
197
+                            type: "error"
198
+                        })
199
+                    } else if (!fildata.scheduleclass.type) {
200
+                        SweetAlert.swal({
201
+                            title: "新增失败!",
202
+                            text: "班次类型未填",
203
+                            type: "error"
204
+                        })
205
+                    } else if (fildata.scheduleclass.workDay === undefined) {
206
+                        SweetAlert.swal({
207
+                            title: "新增失败!",
208
+                            text: "工作日/节假日未填",
209
+                            type: "error"
210
+                        })
211
+                    }else{
212
+                        api_bpm_data.updData('scheduleclass', fildata).then(function(response) {
213
+                            if (response) {
214
+                                if (response.status == 200) {
215
+                                    SweetAlert.swal({
216
+                                        title: "修改成功!",
217
+                                        type: "success"
218
+                                    }, function() {
219
+                                        scope.refreshData('expand-right');
220
+                                        $modalInstance.close();
221
+                                    })
222
+                                } else {
223
+                                    SweetAlert.swal({
224
+                                        title: "修改失败!",
225
+                                        type: "error"
226
+                                    })
227
+                                }
228
+                            }
229
+                        })
230
+
231
+                    }
159 232
                 }
160 233
             }
161 234
         });
@@ -167,81 +240,126 @@ app.controller('woketimeCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$
167 240
             templateUrl: 'assets/views/system/tpl/systemworktime.html',
168 241
             controller: function($scope, $modalInstance, api_bpm_data) {
169 242
                 $scope.title = "新增班次";
243
+
244
+                $scope.changeType = function(e){
245
+                    $scope.worktimedata.isTemplate = false;
246
+                    $scope.worktimedata.priority = undefined;
247
+                }
248
+
249
+                // 时间start
250
+                $scope.times = [{id: 1, startTime: new Date(), endTime: new Date()}];
251
+                $scope.timeId = 1;
252
+                $scope.isAdd = true;
253
+                // 新添加
254
+                $scope.add = function() {
255
+                    $scope.times.push({ id: ++$scope.timeId, startTime: new Date(), endTime: new Date() });
256
+                    $scope.timeChange();
257
+                }
258
+                // 删除
259
+                $scope.remove = function(index) {
260
+                    $scope.times.splice(index, 1);
261
+                    $scope.timeChange();
262
+                }
263
+                //监听输入事件
264
+                $scope.timeChange = function(e, time, i) {
265
+                    console.log(e, time)
266
+                    // -------------判断添加按钮是否禁用 start
267
+                    $scope.isAdd = $scope.times.length >= 3;
268
+                    // -------------判断添加按钮是否禁用 end
269
+                }
270
+                $scope.timeChange();
271
+                // 时间end
272
+
170 273
                 $scope.dictionary = [];
171
-                api_wechatfile.getDictionary({ "type": "list", "key": "incident_scheduleclass" }).then(function(data) {
274
+                api_wechatfile.getDictionary({ "type": "list", "key": "schedule_class_type" }).then(function(data) {
172 275
                     if (data) {
173 276
                         $scope.dictionary = data;
174 277
                     }
175 278
                 })
176
-                $scope.worktimedata = { "startTime": new Date(), "endTime": new Date(), "isTemplate": false, sendMsg:0,sendTime:new Date() }
279
+                $scope.priorityList = [];
280
+                api_wechatfile.getDictionary({ "type": "list", "key": "incident_priority" }).then(function(data) {
281
+                    if (data) {
282
+                        $scope.priorityList = data;
283
+                    }
284
+                })
285
+                $scope.worktimedata = { "isTemplate": false, name: '' }
177 286
                 $scope.cancel = function() {
178 287
                     $modalInstance.dismiss('cancel');
179 288
                 };
180 289
                 $scope.savercode = function(worktimedata) {
181
-                    $modalInstance.close(worktimedata);
290
+                    var selectedItem = worktimedata;
291
+                    var fildata = {
292
+                        "scheduleclass": {
293
+                            // "code": selectedItem.code,
294
+                            "name": selectedItem.name,
295
+                            "description": selectedItem.description,
296
+                            "shiftTime": selectedItem.shiftTime,
297
+                            "succeedTime": selectedItem.succeedTime,
298
+                            "type": selectedItem.type,
299
+                            "priority": selectedItem.priority,
300
+                            "isTemplate": selectedItem.isTemplate,
301
+                            "deleteFlag": selectedItem.deleteFlag,
302
+                            "workDay": selectedItem.workDay,
303
+                        }
304
+                    }
305
+                    $scope.times.forEach( (v, i) => {
306
+                        fildata.scheduleclass['startTime' + (i === 0 ? '' : (i + 1))] = v.startTime ? moment(v.startTime).format('YYYY-MM-DD HH:mm:ss') : undefined;
307
+                        fildata.scheduleclass['endTime' + (i === 0 ? '' : (i + 1))] = v.endTime ? moment(v.endTime).format('YYYY-MM-DD HH:mm:ss') : undefined;
308
+                    })
309
+                    if (!fildata.scheduleclass.name.trim()) {
310
+                        SweetAlert.swal({
311
+                            title: "新增失败!",
312
+                            text: "班次未填",
313
+                            type: "error"
314
+                        })
315
+                    } else if (!fildata.scheduleclass.startTime) {
316
+                        SweetAlert.swal({
317
+                            title: "新增失败!",
318
+                            text: "班次开始时间未填",
319
+                            type: "error"
320
+                        })
321
+                    } else if (!fildata.scheduleclass.endTime) {
322
+                        SweetAlert.swal({
323
+                            title: "新增失败!",
324
+                            text: "班次结束时间未填",
325
+                            type: "error"
326
+                        })
327
+                    } else if (!fildata.scheduleclass.type) {
328
+                        SweetAlert.swal({
329
+                            title: "新增失败!",
330
+                            text: "班次类型未填",
331
+                            type: "error"
332
+                        })
333
+                    } else if (fildata.scheduleclass.workDay === undefined) {
334
+                        SweetAlert.swal({
335
+                            title: "新增失败!",
336
+                            text: "工作日/节假日未填",
337
+                            type: "error"
338
+                        })
339
+                    }else{
340
+                        $modalInstance.close(fildata);
341
+                    }
182 342
                 };
183 343
             }
184 344
         });
185 345
         modalInstance.result.then(function(selectedItem) {
186 346
             if (selectedItem) {
187
-                var fildata = {
188
-                    "scheduleclass": {
189
-                        // "code": selectedItem.code,
190
-                        "name": selectedItem.name,
191
-                        "person": selectedItem.person,
192
-                        "description": selectedItem.description,
193
-                        "startTime": moment(selectedItem.startTime).format('YYYY-MM-DD HH:mm:ss'),
194
-                        "endTime": moment(selectedItem.endTime).format('YYYY-MM-DD HH:mm:ss'),
195
-                        "shiftTime": selectedItem.shiftTime,
196
-                        "succeedTime": selectedItem.succeedTime,
197
-                        "dictionaryDTO": selectedItem.dictionaryDTO,
198
-                        "isTemplate": selectedItem.isTemplate,
199
-                        "deleteFlag": selectedItem.deleteFlag,
200
-                        "sendMsg": selectedItem.sendMsg,
201
-                        "sendTime": selectedItem.sendMsg == 1?moment(selectedItem.sendTime).format('YYYY-MM-DD HH:mm:ss'):undefined
347
+                var fildata = selectedItem
348
+                api_bpm_data.addData('scheduleclass', fildata).then(function(response) {
349
+                    if (response.status == 200) {
350
+                        SweetAlert.swal({
351
+                            title: "新增成功!",
352
+                            type: "success"
353
+                        }, function() {
354
+                            $scope.refreshData('expand-right', defaultFilterData);
355
+                        })
356
+                    } else {
357
+                        SweetAlert.swal({
358
+                            title: "新增失败!",
359
+                            type: "error"
360
+                        })
202 361
                     }
203
-                }
204
-                if (!fildata.scheduleclass.name) {
205
-                    SweetAlert.swal({
206
-                        title: "新增失败!",
207
-                        text: "班次未填",
208
-                        type: "error"
209
-                    })
210
-                } else if (!fildata.scheduleclass.startTime) {
211
-                    SweetAlert.swal({
212
-                        title: "新增失败!",
213
-                        text: "班次开始时间未填",
214
-                        type: "error"
215
-                    })
216
-                } else if (!fildata.scheduleclass.endTime) {
217
-                    SweetAlert.swal({
218
-                        title: "新增失败!",
219
-                        text: "班次结束时间未填",
220
-                        type: "error"
221
-                    })
222
-                } else if (!fildata.scheduleclass.person) {
223
-                    SweetAlert.swal({
224
-                        title: "新增失败!",
225
-                        text: "本班次人数未填",
226
-                        type: "error"
227
-                    })
228
-                } else {
229
-                    api_bpm_data.addData('scheduleclass', fildata).then(function(response) {
230
-                        if (response.status == 200) {
231
-                            SweetAlert.swal({
232
-                                title: "新增成功!",
233
-                                type: "success"
234
-                            }, function() {
235
-                                $scope.refreshData('expand-right', defaultFilterData);
236
-                            })
237
-                        } else {
238
-                            SweetAlert.swal({
239
-                                title: "新增失败!",
240
-                                type: "error"
241
-                            })
242
-                        }
243
-                    })
244
-                }
362
+                })
245 363
             }
246 364
         });
247 365
     }
@@ -379,18 +497,21 @@ app.controller('woketimeCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$
379 497
                             name: item['name'],
380 498
                             // code: item['code'],
381 499
                             startTime: item.startTime,
382
-                            person: item.person,
500
+                            startTime2: item.startTime2,
501
+                            startTime3: item.startTime3,
383 502
                             //starts_at:
384 503
                             endTime: item.endTime,
385
-                            dictionaryDTO: item.dictionaryDTO,
504
+                            endTime2: item.endTime2,
505
+                            endTime3: item.endTime3,
506
+                            type: item.type,
507
+                            priority: item.priority,
386 508
                             succeedTime: item.succeedTime,
387 509
                             shiftTime: item.shiftTime,
388 510
                             description: item.description,
389 511
                             deleteFlag: item.deleteFlag,
390 512
                             isTemplate: item.isTemplate,
391 513
                             draggable: true,
392
-                            sendMsg: item.sendMsg,
393
-                            sendTime: item.sendTime
514
+                            workDay: item.workDay,
394 515
                         };
395 516
                         $scope.myData.push(templateEvent);
396 517
                     })

+ 159 - 19
assets/views/system/tpl/systemworktime.html

@@ -1,3 +1,95 @@
1
+<style>
2
+    .btn-plus-div{
3
+        text-align: left;
4
+        margin-top: 15px;
5
+    }
6
+    .btn-plus-div .btn-plus{
7
+        line-height: 1.5;
8
+        position: relative;
9
+        display: inline-block;
10
+        font-weight: 400;
11
+        white-space: nowrap;
12
+        text-align: center;
13
+        background-image: none;
14
+        border: 1px dashed #d9d9d9;
15
+        -webkit-box-shadow: 0 2px 0 rgba(0,0,0,.015);
16
+        box-shadow: 0 2px 0 rgba(0,0,0,.015);
17
+        -webkit-transition: .3s cubic-bezier(.645,.045,.355,1);
18
+        transition: all .3s cubic-bezier(.645,.045,.355,1);
19
+        -webkit-user-select: none;
20
+        -moz-user-select: none;
21
+        -ms-user-select: none;
22
+        user-select: none;
23
+        -ms-touch-action: manipulation;
24
+        touch-action: manipulation;
25
+        height: 32px;
26
+        padding: 0 15px;
27
+        font-size: 14px;
28
+        border-radius: 4px;
29
+        cursor: pointer;
30
+        color: rgba(0,0,0,.65);
31
+        background-color: #fff;
32
+    }
33
+    .btn-plus-div .btn-plus .icon-tianjia{
34
+        font-size: 12px;
35
+        margin-right: 8px;
36
+    }
37
+    .btn-plus-div .btn-plus{
38
+        line-height: 1.5;
39
+        position: relative;
40
+        display: inline-block;
41
+        font-weight: 400;
42
+        white-space: nowrap;
43
+        text-align: center;
44
+        background-image: none;
45
+        border: 1px dashed #d9d9d9;
46
+        -webkit-box-shadow: 0 2px 0 rgba(0,0,0,.015);
47
+        box-shadow: 0 2px 0 rgba(0,0,0,.015);
48
+        -webkit-transition: .3s cubic-bezier(.645,.045,.355,1);
49
+        transition: all .3s cubic-bezier(.645,.045,.355,1);
50
+        -webkit-user-select: none;
51
+        -moz-user-select: none;
52
+        -ms-user-select: none;
53
+        user-select: none;
54
+        -ms-touch-action: manipulation;
55
+        touch-action: manipulation;
56
+        height: 32px;
57
+        padding: 0 15px;
58
+        font-size: 14px;
59
+        border-radius: 4px;
60
+        cursor: pointer;
61
+        color: rgba(0,0,0,.65);
62
+        background-color: #fff;
63
+    }
64
+    .btn-plus-div .btn-plus[disabled]{
65
+        color: rgba(0,0,0,.25);
66
+        background-color: #f5f5f5;
67
+        border-color: #d9d9d9;
68
+        text-shadow: none;
69
+        -webkit-box-shadow: none;
70
+        box-shadow: none;
71
+        background: #f5f5f5;
72
+        cursor: not-allowed;
73
+        border: 1px solid rgba(0,0,0,.25);
74
+    }
75
+    .btn-plus-div .btn-plus[disabled] .icon-tianjia{
76
+        color: inherit;
77
+    }
78
+    .btn-plus-input{
79
+        text-align: left;
80
+        display: flex;
81
+        align-items: center;
82
+        margin-bottom: 16px;
83
+    }
84
+    .btn-plus-input .form-control{
85
+        width: 90%;
86
+    }
87
+    .btn-plus-input .icon-shanchu3{
88
+        cursor: pointer;
89
+        margin-left: 8px;
90
+        font-size: 18px;
91
+    }
92
+</style>
1 93
 <div class="modal-header">
2 94
     <div class="modal-title fontcolor-two fontsizes-14">{{title}}<button type="button" class="close pull-right" ng-click="cancel()">×</button></div>
3 95
 </div>
@@ -5,12 +97,12 @@
5 97
     <form role="form" class="row">
6 98
         <div class="margin-left-30 margin-right-30 margin-top-20">
7 99
             <div class="margin-bottom-15 anline">
8
-                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">班次*:</div>
100
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14"><span class="red">*</span>班次:</div>
9 101
                 <div class="pull-right openaddinput">
10 102
                     <input class="form-control" ng-model="worktimedata.name" placeholder="输入班次..." />
11 103
                 </div>
12 104
             </div>
13
-            <div class="margin-bottom-15 anline">
105
+            <!-- <div class="margin-bottom-15 anline">
14 106
                 <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14 margin-top-10">开始时间*:</div>
15 107
                 <div class="pull-right openaddinput">
16 108
                     <timepicker ng-model="worktimedata.startTime" ng-change="changed()" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></timepicker>
@@ -21,18 +113,31 @@
21 113
                 <div class="pull-right openaddinput">
22 114
                     <timepicker ng-model="worktimedata.endTime" ng-change="changed()" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></timepicker>
23 115
                 </div>
24
-            </div>
116
+            </div> -->
25 117
             <div class="margin-bottom-15 anline">
26
-                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">班次人数*:</div>
118
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14"><span class="red">*</span>起始时间:</div>
27 119
                 <div class="pull-right openaddinput">
28
-                    <input class="form-control" ng-model="worktimedata.person" placeholder="输入班次人数..." />
120
+                    <div class="btn-plus-input" ng-repeat="time in times">
121
+                        <timepicker class="pull-left" style="margin-right: 8px;" ng-model="time.startTime" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian" ng-change="timeChange(e,time)"></timepicker>
122
+                        <timepicker class="pull-right" ng-model="time.endTime" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian" ng-change="timeChange(e,time)"></timepicker>
123
+                        <span class="icon iconfont icon-shanchu3" ng-click="remove($index)" ng-if="!$first"></span>
124
+                    </div>
125
+                    <div class="btn-plus-div">
126
+                        <button class="btn-plus" ng-click="add()" ng-disabled="isAdd" ng-if="!isAdd"><span class="icon iconfont icon-tianjia"></span>添加起始时间</button>
127
+                    </div>
29 128
                 </div>
30 129
             </div>
130
+            <!-- <div class="margin-bottom-15 anline">
131
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14"><span class="red">*</span>班次人数:</div>
132
+                <div class="pull-right openaddinput">
133
+                    <input class="form-control" ng-model="worktimedata.person" placeholder="输入班次人数..." />
134
+                </div>
135
+            </div> -->
31 136
             <div class="margin-bottom-15 anline">
32
-                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">季节:</div>
137
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14"><span class="red">*</span>班次类型:</div>
33 138
                 <div class="pull-right openaddinput">
34
-                    <ui-select ng-model="worktimedata.dictionaryDTO" theme="bootstrap">
35
-                        <ui-select-match placeholder="选择所属季节...">
139
+                    <ui-select ng-model="worktimedata.type" theme="bootstrap" ng-change="changeType(e)">
140
+                        <ui-select-match placeholder="选择所属班次类型...">
36 141
                             {{$select.selected.name}}
37 142
                         </ui-select-match>
38 143
                         <ui-select-choices repeat="item in dictionary | filter: $select.search">
@@ -41,34 +146,69 @@
41 146
                     </ui-select>
42 147
                 </div>
43 148
             </div>
149
+            <div class="margin-bottom-15 anline" ng-if="worktimedata.type && worktimedata.type.value == 'service'">
150
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14" style="width: 100px;">呼叫中心关联:</div>
151
+                <div class="pull-right openaddinput">
152
+                    <div class="setting-box clearfix">
153
+                        <span class="setting-switch pull-left">
154
+                        <switch ng-model="worktimedata.isTemplate"  class="green"></switch>
155
+                    </span>
156
+                    </div>
157
+                </div>
158
+            </div>
159
+            <div class="margin-bottom-15 anline" ng-if="worktimedata.type && worktimedata.type.value == 'handle'">
160
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14"><span class="red">*</span>优先级关联:</div>
161
+                <div class="pull-right openaddinput">
162
+                    <ui-select ng-model="worktimedata.priority" theme="bootstrap">
163
+                        <ui-select-match placeholder="选择所属优先级关联...">
164
+                            {{$select.selected.name}}
165
+                        </ui-select-match>
166
+                        <ui-select-choices repeat="item in priorityList | filter: $select.search">
167
+                            {{item.name}}
168
+                        </ui-select-choices>
169
+                    </ui-select>
170
+                </div>
171
+            </div>
44 172
             <div class="margin-bottom-15 anline">
45 173
                 <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">班次描述:</div>
46 174
                 <div class="pull-right openaddinput">
47 175
                     <input class="form-control" ng-model="worktimedata.description" placeholder="输入班次描述..." />
48 176
                 </div>
49 177
             </div>
178
+
50 179
             <div class="margin-bottom-15 anline">
51
-                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">是否为模版:</div>
180
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">是否停用:</div>
52 181
                 <div class="pull-right openaddinput">
53 182
                     <div class="setting-box clearfix">
54 183
                         <span class="setting-switch pull-left">
55
-                        <switch ng-model="worktimedata.isTemplate"  class="green"></switch>
184
+                        <switch ng-model="worktimedata.deleteFlag"  class="green"></switch>
56 185
                     </span>
57 186
                     </div>
58 187
                 </div>
59 188
             </div>
60 189
             <div class="margin-bottom-15 anline">
61
-                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14">是否停用:</div>
190
+                <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14" style="width: 100px;"><span class="red">*</span>工作日/节假日:</div>
62 191
                 <div class="pull-right openaddinput">
63 192
                     <div class="setting-box clearfix">
64
-                        <span class="setting-switch pull-left">
65
-                        <switch ng-model="worktimedata.deleteFlag"  class="green"></switch>
66
-                    </span>
193
+                        <div class="setting-switch pull-left">
194
+                            <div class="radio clip-radio radio-primary radio-inline">
195
+                                <input type="radio" id="yes" ng-value="1" name="workDay" ng-model="worktimedata.workDay">
196
+                                <label for="yes">
197
+                                    工作日
198
+                                </label>
199
+                            </div>
200
+                            <div class="radio clip-radio radio-primary radio-inline">
201
+                                <input type="radio" id="no" ng-value="0" name="workDay" ng-model="worktimedata.workDay">
202
+                                <label for="no">
203
+                                    节假日
204
+                                </label>
205
+                            </div>
206
+                        </div>
67 207
                     </div>
68 208
                 </div>
69 209
             </div>
70 210
             <!-- 是否值班提醒 -->
71
-            <div class="margin-bottom-15 anline">
211
+            <!-- <div class="margin-bottom-15 anline">
72 212
                 <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14" style="width: 100px;">是否值班提醒:</div>
73 213
                 <div class="pull-right openaddinput">
74 214
                     <div class="setting-box clearfix">
@@ -88,18 +228,18 @@
88 228
                         </div>
89 229
                     </div>
90 230
                 </div>
91
-            </div>
231
+            </div> -->
92 232
             <!-- 值班提醒选择是的时候,需要选择时间 -->
93
-            <div class="margin-bottom-15 anline" ng-if="worktimedata.sendMsg == 1">
233
+            <!-- <div class="margin-bottom-15 anline" ng-if="worktimedata.sendMsg == 1">
94 234
                 <div class="pull-left openaddlable control-label fontcolor-two fontsizes-14 margin-top-10" style="width: 100px;">每日发送时间*:</div>
95 235
                 <div class="pull-right openaddinput">
96 236
                     <timepicker ng-model="worktimedata.sendTime" ng-change="changed()" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></timepicker>
97 237
                 </div>
98
-            </div>
238
+            </div> -->
99 239
         </div>
100 240
     </form>
101 241
 </div>
102 242
 <div class="modal-footer">
103 243
     <button class="btn btn-primary" ng-click="savercode(worktimedata)" data-dismiss="modal" translate="modal.button.OK">OK</button>
104 244
     <button class="btn btn-primary btn-o" ng-click="cancel()" translate="modal.button.CANCEL">Cancel</button>
105
-</div>
245
+</div>