Commit f1ed06d59d49e60de6b9f9c90408b8dd9c4e1a35

Authored by 徐烜
1 parent 9b3eb948

update

src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js
1 // 车辆基础信息维护 service controller等写在一起 1 // 车辆基础信息维护 service controller等写在一起
2 2
3 angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageService_g', function(service) { 3 angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageService_g', function(service) {
4 - /** 车辆类型常量 */  
5 - var carTypes = [  
6 - {type: "营运车"},  
7 - {type: "包车"},  
8 - {type: "学校班车"},  
9 - {type: "公司班车"},  
10 - {type: "待报废车"},  
11 - {type: "备车"}  
12 - ];  
13 - /** 机动车类型常量 */  
14 - var vehicleStates = [  
15 - {type: "非机动车"},  
16 - {type: "机动一队"},  
17 - {type: "机动二队"},  
18 - {type: "机动三队"},  
19 - {type: "备车"},  
20 - {type: "抢修车"}  
21 - ];  
22 - /** 营运状态类型常量 */  
23 - var operatorsStates = [  
24 - {type: "营运"},  
25 - {type: "停运"},  
26 - {type: "挂失"},  
27 - {type: "迁出(过户)"},  
28 - {type: "迁出(转籍)"},  
29 - {type: "报废"},  
30 - {type: "歇业"},  
31 - {type: "注销"},  
32 - {type: "其他"}  
33 - ];  
34 - /** 设备厂商名字 */  
35 - var supplierNames = [  
36 - {name: "巴士拓华"},  
37 - {name: "博康"}  
38 - ];  
39 - /** 公司字典 */  
40 - var gses = [  
41 - {gsdm: "55", gsmc: "上南公司"},  
42 - {gsdm: "22", gsmc: "金高公司"},  
43 - {gsdm: "05", gsmc: "杨高公司"},  
44 - {gsdm: "26", gsmc: "南汇公司"}  
45 - ];  
46 4
47 /** 当前的查询条件信息 */ 5 /** 当前的查询条件信息 */
48 var currentSearchCondition = { 6 var currentSearchCondition = {
@@ -56,36 +14,6 @@ angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageSer @@ -56,36 +14,6 @@ angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageSer
56 var currentPageNo = 1; 14 var currentPageNo = 1;
57 return { 15 return {
58 /** 16 /**
59 - * 获取公司字典。  
60 - */  
61 - getGses: function() {  
62 - return gses;  
63 - },  
64 - /**  
65 - * 获取设备厂商名字。  
66 - */  
67 - getSupplierNames: function() {  
68 - return supplierNames;  
69 - },  
70 - /**  
71 - * 获取营运状态类型。  
72 - */  
73 - getOperatorsStates: function() {  
74 - return operatorsStates;  
75 - },  
76 - /**  
77 - * 获取机动车类型。  
78 - */  
79 - getVehicleStates: function() {  
80 - return vehicleStates;  
81 - },  
82 - /**  
83 - * 获取车辆类型。  
84 - */  
85 - getCarTypes: function() {  
86 - return carTypes;  
87 - },  
88 - /**  
89 * 获取查询条件信息, 17 * 获取查询条件信息,
90 * 用于给controller用来和页面数据绑定。 18 * 用于给controller用来和页面数据绑定。
91 */ 19 */
@@ -287,63 +215,6 @@ angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManag @@ -287,63 +215,6 @@ angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManag
287 // 欲保存的busInfo信息,绑定 215 // 欲保存的busInfo信息,绑定
288 self.busInfoForSave = {}; 216 self.busInfoForSave = {};
289 217
290 - // 车辆类型 selectedItem  
291 - self.busInfoForSave.carType_selected = null;  
292 - self.carTypes = busInfoManageService.getCarTypes();  
293 - self.carType_selected_change = function($item, $model) {  
294 - self.busInfoForSave.carType = $item.type;  
295 - };  
296 - self.carType_selected_remove = function($item, $model) {  
297 - self.busInfoForSave.carType_selected = null;  
298 - self.busInfoForSave.carType = null;  
299 - };  
300 -  
301 - // 机动车类型 selectedItem  
302 - self.busInfoForSave.vehicleStats_selected = null;  
303 - self.vehicleStates = busInfoManageService.getVehicleStates();  
304 - self.vehicleStats_selected_change = function($item, $model) {  
305 - self.busInfoForSave.vehicleStats = $item.type;  
306 - };  
307 - self.vehicleStats_selected_remove = function($item, $model) {  
308 - self.busInfoForSave.vehicleStats_selected = null;  
309 - self.busInfoForSave.vehicleStats = null;  
310 - };  
311 -  
312 - // 营运状态类型 selectedItem  
313 - self.busInfoForSave.operatorsState_selected = null;  
314 - self.operatorsStates = busInfoManageService.getOperatorsStates();  
315 - self.operatorsState_selected_change = function($item, $model) {  
316 - self.busInfoForSave.operatorsState = $item.type;  
317 - };  
318 - self.operatorsState_selected_remove = function($item, $model) {  
319 - self.busInfoForSave.operatorsState_selected = null;  
320 - self.busInfoForSave.operatorsState = null;  
321 - };  
322 -  
323 - // 设备厂商 selectedItem  
324 - self.busInfoForSave.supplierName_selected = null;  
325 - self.supplierNames = busInfoManageService.getSupplierNames();  
326 - self.supplierName_selected_change = function($item, $model) {  
327 - self.busInfoForSave.supplierName = $item.name;  
328 - };  
329 - self.supplierName_selected_remove = function() {  
330 - self.busInfoForSave.supplierName_selected = null;  
331 - self.busInfoForSave.supplierName = null;  
332 - };  
333 -  
334 - // 公司 selectedItem  
335 - self.busInfoForSave.gs_selected = null;  
336 - self.gses = busInfoManageService.getGses();  
337 - self.gs_selected_change = function($item, $model) {  
338 - self.busInfoForSave.businessCode = $item.gsdm;  
339 - self.busInfoForSave.company = $item.gsmc;  
340 - };  
341 - self.gs_selected_remove = function() {  
342 - self.busInfoForSave.gs_selected = null;  
343 - self.busInfoForSave.businessCode = null;  
344 - self.busInfoForSave.company = null;  
345 - };  
346 -  
347 // 获取传过来的id,有的话就是修改,获取一遍数据 218 // 获取传过来的id,有的话就是修改,获取一遍数据
348 var id = $stateParams.id; 219 var id = $stateParams.id;
349 if (id) { 220 if (id) {
@@ -354,48 +225,6 @@ angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManag @@ -354,48 +225,6 @@ angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManag
354 for (key in result) { 225 for (key in result) {
355 self.busInfoForSave[key] = result[key]; 226 self.busInfoForSave[key] = result[key];
356 } 227 }
357 - // 填写所有的 select 控件选中框数据  
358 - // 公司字典  
359 - if (self.busInfoForSave.businessCode) {  
360 - angular.forEach(self.gses, function(data) {  
361 - if (self.busInfoForSave.businessCode == data.gsdm) {  
362 - self.busInfoForSave.gs_selected = data;  
363 - }  
364 - });  
365 - }  
366 - // 设备厂商字典  
367 - if (self.busInfoForSave.supplierName) {  
368 - angular.forEach(self.supplierNames, function(data) {  
369 - if (self.busInfoForSave.supplierName == data.name) {  
370 - self.busInfoForSave.supplierName_selected = data;  
371 - }  
372 - });  
373 - }  
374 - // 车辆类型字典  
375 - if (self.busInfoForSave.carType) {  
376 - angular.forEach(self.carTypes, function(data) {  
377 - if (self.busInfoForSave.carType == data.type) {  
378 - self.busInfoForSave.carType_selected = data;  
379 - }  
380 - });  
381 - }  
382 - // 机动车类型字典  
383 - if (self.busInfoForSave.vehicleStats) {  
384 - angular.forEach(self.vehicleStates, function(data) {  
385 - if (self.busInfoForSave.vehicleStats == data.type) {  
386 - self.busInfoForSave.vehicleStats_selected = data;  
387 - }  
388 - });  
389 - }  
390 - // 营运状态类型字典  
391 - if (self.busInfoForSave.operatorsState) {  
392 - angular.forEach(self.operatorsStates, function(data) {  
393 - if (self.busInfoForSave.operatorsState == data.type) {  
394 - self.busInfoForSave.operatorsState_selected = data;  
395 - }  
396 - });  
397 - }  
398 -  
399 }, 228 },
400 function(result) { 229 function(result) {
401 alert("出错啦!"); 230 alert("出错啦!");
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/detail.html
@@ -247,7 +247,7 @@ @@ -247,7 +247,7 @@
247 <label class="col-md-2 control-label">车辆类型:</label> 247 <label class="col-md-2 control-label">车辆类型:</label>
248 <div class="col-md-3"> 248 <div class="col-md-3">
249 <input type="text" class="form-control" 249 <input type="text" class="form-control"
250 - name="carType" ng-model="ctrl.busInfoForDetail.carType" readonly/> 250 + name="carType" ng-value="ctrl.busInfoForDetail.carType | dict:'carType':'未知'" readonly/>
251 </div> 251 </div>
252 </div> 252 </div>
253 253
@@ -255,7 +255,7 @@ @@ -255,7 +255,7 @@
255 <label class="col-md-2 control-label">是否机动车:</label> 255 <label class="col-md-2 control-label">是否机动车:</label>
256 <div class="col-md-3"> 256 <div class="col-md-3">
257 <input type="text" class="form-control" 257 <input type="text" class="form-control"
258 - name="vehicleStats" ng-model="ctrl.busInfoForDetail.vehicleStats" readonly/> 258 + name="vehicleStats" ng-value="ctrl.busInfoForDetail.vehicleStats | dict:'jdcType':'未知'" readonly/>
259 </div> 259 </div>
260 </div> 260 </div>
261 261
@@ -263,7 +263,7 @@ @@ -263,7 +263,7 @@
263 <label class="col-md-2 control-label">营运状态:</label> 263 <label class="col-md-2 control-label">营运状态:</label>
264 <div class="col-md-3"> 264 <div class="col-md-3">
265 <input type="text" class="form-control" 265 <input type="text" class="form-control"
266 - name="operatorsState" ng-model="ctrl.busInfoForDetail.operatorsState" readonly/> 266 + name="operatorsState" ng-value="ctrl.busInfoForDetail.operatorsState | dict:'yyztType':'未知'" readonly/>
267 </div> 267 </div>
268 </div> 268 </div>
269 269
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/edit.html
@@ -63,21 +63,14 @@ @@ -63,21 +63,14 @@
63 <div class="form-group has-success has-feedback"> 63 <div class="form-group has-success has-feedback">
64 <label class="col-md-2 control-label">所属公司*:</label> 64 <label class="col-md-2 control-label">所属公司*:</label>
65 <div class="col-md-3"> 65 <div class="col-md-3">
66 - <div class="input-group">  
67 - <ui-select ng-model="ctrl.busInfoForSave.gs_selected"  
68 - on-select="ctrl.gs_selected_change($item, $model)"  
69 - theme="bootstrap" name="gs" required>  
70 - <ui-select-match placeholder="请选择所属公司...">{{$select.selected.gsmc}}</ui-select-match>  
71 - <ui-select-choices repeat="item in ctrl.gses">  
72 - <span ng-bind="item.gsmc"></span>  
73 - </ui-select-choices>  
74 - </ui-select>  
75 - <span class="input-group-btn">  
76 - <button type="button" ng-click="ctrl.gs_selected_remove()" class="btn btn-default">  
77 - <span class="glyphicon glyphicon-trash"></span>  
78 - </button>  
79 - </span>  
80 - </div> 66 + <sa-Select model="ctrl.busInfoForSave"
  67 + dicgroup="gsType"
  68 + placeholder="请选择所属公司..."
  69 + name="gs"
  70 + codename="businessCode"
  71 + dicname="company"
  72 + required="true">
  73 + </sa-Select>
81 </div> 74 </div>
82 <!-- 隐藏块,显示验证信息 --> 75 <!-- 隐藏块,显示验证信息 -->
83 <div class="alert alert-danger well-sm" ng-show="myForm.gs.$error.required"> 76 <div class="alert alert-danger well-sm" ng-show="myForm.gs.$error.required">
@@ -128,30 +121,13 @@ @@ -128,30 +121,13 @@
128 <div class="form-group has-success has-feedback"> 121 <div class="form-group has-success has-feedback">
129 <label class="col-md-2 control-label">设备供应厂商*:</label> 122 <label class="col-md-2 control-label">设备供应厂商*:</label>
130 <div class="col-md-3"> 123 <div class="col-md-3">
131 - <!--<div class="input-group">-->  
132 - <!--<ui-select ng-model="ctrl.busInfoForSave.supplierName_selected"-->  
133 - <!--on-select="ctrl.supplierName_selected_change($item, $model)"-->  
134 - <!--theme="bootstrap" name="supplierName" required>-->  
135 - <!--<ui-select-match placeholder="请选择设备厂商...">{{$select.selected.name}}</ui-select-match>-->  
136 - <!--<ui-select-choices repeat="item in ctrl.supplierNames">-->  
137 - <!--<span ng-bind="item.name"></span>-->  
138 - <!--</ui-select-choices>-->  
139 - <!--</ui-select>-->  
140 -  
141 - <sa-Select model="ctrl.busInfoForSave"  
142 - dicgroup="snames"  
143 - placeholder="请选择设备厂商..."  
144 - name="supplierName"  
145 - codename="supplierName"  
146 - ></sa-Select>  
147 -  
148 -  
149 - <!--<span class="input-group-btn">-->  
150 - <!--<button type="button" ng-click="ctrl.supplierName_selected_remove()" class="btn btn-default">-->  
151 - <!--<span class="glyphicon glyphicon-trash"></span>-->  
152 - <!--</button>-->  
153 - <!--</span>-->  
154 - <!--</div>--> 124 + <sa-Select model="ctrl.busInfoForSave"
  125 + dicgroup="snames"
  126 + placeholder="请选择设备厂商..."
  127 + name="supplierName"
  128 + codename="supplierName"
  129 + required="true">
  130 + </sa-Select>
155 </div> 131 </div>
156 <!-- 隐藏快,显示验证信息 --> 132 <!-- 隐藏快,显示验证信息 -->
157 <div class="alert alert-danger well-sm" ng-show="myForm.supplierName.$error.required"> 133 <div class="alert alert-danger well-sm" ng-show="myForm.supplierName.$error.required">
@@ -361,24 +337,36 @@ @@ -361,24 +337,36 @@
361 <div class="form-group"> 337 <div class="form-group">
362 <label class="col-md-2 control-label">车辆类型:</label> 338 <label class="col-md-2 control-label">车辆类型:</label>
363 <div class="col-md-3"> 339 <div class="col-md-3">
364 - <input type="text" class="form-control"  
365 - name="carType" ng-model="ctrl.busInfoForSave.carType" readonly/> 340 + <sa-Select model="ctrl.busInfoForSave"
  341 + dicgroup="carType"
  342 + placeholder="请选择车辆类型..."
  343 + name="carType"
  344 + codename="carType" >
  345 + </sa-Select>
366 </div> 346 </div>
367 </div> 347 </div>
368 348
369 <div class="form-group"> 349 <div class="form-group">
370 <label class="col-md-2 control-label">是否机动车:</label> 350 <label class="col-md-2 control-label">是否机动车:</label>
371 <div class="col-md-3"> 351 <div class="col-md-3">
372 - <input type="text" class="form-control"  
373 - name="vehicleStats" ng-model="ctrl.busInfoForSave.vehicleStats" readonly/> 352 + <sa-Select model="ctrl.busInfoForSave"
  353 + dicgroup="jdcType"
  354 + placeholder="请选择机动车类型..."
  355 + name="vehicleStats"
  356 + codename="vehicleStats" >
  357 + </sa-Select>
374 </div> 358 </div>
375 </div> 359 </div>
376 360
377 <div class="form-group"> 361 <div class="form-group">
378 <label class="col-md-2 control-label">营运状态:</label> 362 <label class="col-md-2 control-label">营运状态:</label>
379 <div class="col-md-3"> 363 <div class="col-md-3">
380 - <input type="text" class="form-control"  
381 - name="operatorsState" ng-model="ctrl.busInfoForSave.operatorsState" readonly/> 364 + <sa-Select model="ctrl.busInfoForSave"
  365 + dicgroup="yyztType"
  366 + placeholder="请选择营运状态..."
  367 + name="operatorsState"
  368 + codename="operatorsState" >
  369 + </sa-Select>
382 </div> 370 </div>
383 </div> 371 </div>
384 372
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/form.html
@@ -63,21 +63,14 @@ @@ -63,21 +63,14 @@
63 <div class="form-group has-success has-feedback"> 63 <div class="form-group has-success has-feedback">
64 <label class="col-md-2 control-label">所属公司*:</label> 64 <label class="col-md-2 control-label">所属公司*:</label>
65 <div class="col-md-3"> 65 <div class="col-md-3">
66 - <div class="input-group">  
67 - <ui-select ng-model="ctrl.busInfoForSave.gs_selected"  
68 - on-select="ctrl.gs_selected_change($item, $model)"  
69 - theme="bootstrap" name="gs" required>  
70 - <ui-select-match placeholder="请选择所属公司...">{{$select.selected.gsmc}}</ui-select-match>  
71 - <ui-select-choices repeat="item in ctrl.gses">  
72 - <span ng-bind="item.gsmc"></span>  
73 - </ui-select-choices>  
74 - </ui-select>  
75 - <span class="input-group-btn">  
76 - <button type="button" ng-click="ctrl.gs_selected_remove()" class="btn btn-default">  
77 - <span class="glyphicon glyphicon-trash"></span>  
78 - </button>  
79 - </span>  
80 - </div> 66 + <sa-Select model="ctrl.busInfoForSave"
  67 + dicgroup="gsType"
  68 + placeholder="请选择所属公司..."
  69 + name="gs"
  70 + codename="businessCode"
  71 + dicname="company"
  72 + required="true">
  73 + </sa-Select>
81 </div> 74 </div>
82 <!-- 隐藏块,显示验证信息 --> 75 <!-- 隐藏块,显示验证信息 -->
83 <div class="alert alert-danger well-sm" ng-show="myForm.gs.$error.required"> 76 <div class="alert alert-danger well-sm" ng-show="myForm.gs.$error.required">
@@ -128,21 +121,13 @@ @@ -128,21 +121,13 @@
128 <div class="form-group has-success has-feedback"> 121 <div class="form-group has-success has-feedback">
129 <label class="col-md-2 control-label">设备供应厂商*:</label> 122 <label class="col-md-2 control-label">设备供应厂商*:</label>
130 <div class="col-md-3"> 123 <div class="col-md-3">
131 - <div class="input-group">  
132 - <ui-select ng-model="ctrl.busInfoForSave.supplierName_selected"  
133 - on-select="ctrl.supplierName_selected_change($item, $model)"  
134 - theme="bootstrap" name="supplierName" required>  
135 - <ui-select-match placeholder="请选择设备厂商...">{{$select.selected.name}}</ui-select-match>  
136 - <ui-select-choices repeat="item in ctrl.supplierNames">  
137 - <span ng-bind="item.name"></span>  
138 - </ui-select-choices>  
139 - </ui-select>  
140 - <span class="input-group-btn">  
141 - <button type="button" ng-click="ctrl.supplierName_selected_remove()" class="btn btn-default">  
142 - <span class="glyphicon glyphicon-trash"></span>  
143 - </button>  
144 - </span>  
145 - </div> 124 + <sa-Select model="ctrl.busInfoForSave"
  125 + dicgroup="snames"
  126 + placeholder="请选择设备厂商..."
  127 + name="supplierName"
  128 + codename="supplierName"
  129 + required="true">
  130 + </sa-Select>
146 </div> 131 </div>
147 <!-- 隐藏快,显示验证信息 --> 132 <!-- 隐藏快,显示验证信息 -->
148 <div class="alert alert-danger well-sm" ng-show="myForm.supplierName.$error.required"> 133 <div class="alert alert-danger well-sm" ng-show="myForm.supplierName.$error.required">
@@ -324,59 +309,71 @@ @@ -324,59 +309,71 @@
324 <div class="form-group"> 309 <div class="form-group">
325 <label class="col-md-2 control-label">是否空调车:</label> 310 <label class="col-md-2 control-label">是否空调车:</label>
326 <div class="col-md-3"> 311 <div class="col-md-3">
327 - <sa-Radiogroup model="ctrl.busInfoForSave.hvacCar" disabled="true" dicgroup="truefalseType" name="hvacCar"></sa-Radiogroup> 312 + <sa-Radiogroup model="ctrl.busInfoForSave.hvacCar" dicgroup="truefalseType" name="hvacCar"></sa-Radiogroup>
328 </div> 313 </div>
329 </div> 314 </div>
330 315
331 <div class="form-group"> 316 <div class="form-group">
332 <label class="col-md-2 control-label">有无人售票:</label> 317 <label class="col-md-2 control-label">有无人售票:</label>
333 <div class="col-md-3"> 318 <div class="col-md-3">
334 - <sa-Radiogroup model="ctrl.busInfoForSave.ticketType" disabled="true" dicgroup="truefalseType" name="ticketType"></sa-Radiogroup> 319 + <sa-Radiogroup model="ctrl.busInfoForSave.ticketType" dicgroup="truefalseType" name="ticketType"></sa-Radiogroup>
335 </div> 320 </div>
336 </div> 321 </div>
337 322
338 <div class="form-group"> 323 <div class="form-group">
339 <label class="col-md-2 control-label">是否有LED服务屏:</label> 324 <label class="col-md-2 control-label">是否有LED服务屏:</label>
340 <div class="col-md-3"> 325 <div class="col-md-3">
341 - <sa-Radiogroup model="ctrl.busInfoForSave.ledScreen" disabled="true" dicgroup="truefalseType" name="ledScreen"></sa-Radiogroup> 326 + <sa-Radiogroup model="ctrl.busInfoForSave.ledScreen" dicgroup="truefalseType" name="ledScreen"></sa-Radiogroup>
342 </div> 327 </div>
343 </div> 328 </div>
344 329
345 <div class="form-group"> 330 <div class="form-group">
346 <label class="col-md-2 control-label">是否有TV视屏:</label> 331 <label class="col-md-2 control-label">是否有TV视屏:</label>
347 <div class="col-md-3"> 332 <div class="col-md-3">
348 - <sa-Radiogroup model="ctrl.busInfoForSave.tvVideoType" disabled="true" dicgroup="truefalseType" name="tvVideoType"></sa-Radiogroup> 333 + <sa-Radiogroup model="ctrl.busInfoForSave.tvVideoType" dicgroup="truefalseType" name="tvVideoType"></sa-Radiogroup>
349 </div> 334 </div>
350 </div> 335 </div>
351 336
352 <div class="form-group"> 337 <div class="form-group">
353 <label class="col-md-2 control-label">车辆类型:</label> 338 <label class="col-md-2 control-label">车辆类型:</label>
354 <div class="col-md-3"> 339 <div class="col-md-3">
355 - <input type="text" class="form-control"  
356 - name="carType" ng-model="ctrl.busInfoForSave.carType" readonly/> 340 + <sa-Select model="ctrl.busInfoForSave"
  341 + dicgroup="carType"
  342 + placeholder="请选择车辆类型..."
  343 + name="carType"
  344 + codename="carType" >
  345 + </sa-Select>
357 </div> 346 </div>
358 </div> 347 </div>
359 348
360 <div class="form-group"> 349 <div class="form-group">
361 <label class="col-md-2 control-label">是否机动车:</label> 350 <label class="col-md-2 control-label">是否机动车:</label>
362 <div class="col-md-3"> 351 <div class="col-md-3">
363 - <input type="text" class="form-control"  
364 - name="vehicleStats" ng-model="ctrl.busInfoForSave.vehicleStats" readonly/> 352 + <sa-Select model="ctrl.busInfoForSave"
  353 + dicgroup="jdcType"
  354 + placeholder="请选择机动车类型..."
  355 + name="vehicleStats"
  356 + codename="vehicleStats" >
  357 + </sa-Select>
365 </div> 358 </div>
366 </div> 359 </div>
367 360
368 <div class="form-group"> 361 <div class="form-group">
369 <label class="col-md-2 control-label">营运状态:</label> 362 <label class="col-md-2 control-label">营运状态:</label>
370 <div class="col-md-3"> 363 <div class="col-md-3">
371 - <input type="text" class="form-control"  
372 - name="operatorsState" ng-model="ctrl.busInfoForSave.operatorsState" readonly/> 364 + <sa-Select model="ctrl.busInfoForSave"
  365 + dicgroup="yyztType"
  366 + placeholder="请选择营运状态..."
  367 + name="operatorsState"
  368 + codename="operatorsState" >
  369 + </sa-Select>
373 </div> 370 </div>
374 </div> 371 </div>
375 372
376 <div class="form-group"> 373 <div class="form-group">
377 <label class="col-md-2 control-label">是否电车:</label> 374 <label class="col-md-2 control-label">是否电车:</label>
378 <div class="col-md-3"> 375 <div class="col-md-3">
379 - <sa-Radiogroup model="ctrl.busInfoForSave.sfdc" disabled="true" dicgroup="truefalseType" name="sfdc"></sa-Radiogroup> 376 + <sa-Radiogroup model="ctrl.busInfoForSave.sfdc" dicgroup="truefalseType" name="sfdc"></sa-Radiogroup>
380 </div> 377 </div>
381 </div> 378 </div>
382 379
src/main/resources/static/pages/scheduleApp/module/main.js
@@ -941,69 +941,101 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect&quot;, [&#39;$timeout&#39;, function($timeo @@ -941,69 +941,101 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect&quot;, [&#39;$timeout&#39;, function($timeo
941 var self = this; 941 var self = this;
942 self.datas = []; // 关联的字典数据,内部格式 {code:{值},name:{名字}} 942 self.datas = []; // 关联的字典数据,内部格式 {code:{值},name:{名字}}
943 }, 943 },
944 -  
945 /** 944 /**
946 - * 重要属性如下:  
947 - * model 是绑定外部值。  
948 - * dicgroup 字典组的类型  
949 - * name input name属性值 945 + * 此阶段可以改dom结构,此时angular还没扫描指令,
  946 + * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。
  947 + * @param tElem
  948 + * @param tAttrs
  949 + * @returns {{pre: Function, post: Function}}
950 */ 950 */
951 - link: function(scope, element, attr, ctrl) {  
952 - // 1、获取属性  
953 - var dicgroup_attr = attr['dicgroup']; // 字典组的类型  
954 - var name_attr = attr['name']; // input name属性值  
955 - var dicname_attr = attr['dicname']; // model关联的字典名字段  
956 - var codename_attr = attr['codename']; // model关联的字典值字段  
957 - var placeholder_attr = attr['placeholder']; // select placeholder提示  
958 -  
959 - // 系统的字典对象,使用dictionaryUtils类获取  
960 - var origin_dicgroup;  
961 - var dic_key; // 字典key  
962 -  
963 - if (dicgroup_attr) { // 赋值指定的字典数据  
964 - origin_dicgroup = dictionaryUtils.getByGroup(dicgroup_attr);  
965 - for (dic_key in origin_dicgroup) {  
966 - var data = {}; // 重新组合的字典元素对象  
967 - if (dic_key == "true")  
968 - data.code = true;  
969 - else  
970 - data.code = dic_key;  
971 - data.name = origin_dicgroup[dic_key];  
972 - scope["$saSelectCtrl"].datas.push(data); 951 + compile: function(tElem, tAttrs) {
  952 + // 确定是否使用angularjs required验证
  953 + // 属性 required
  954 + // 如果没有填写,内部不添加验证,如果填写了,并且等于true添加验证,否则不添加
  955 + var required_attr = tAttrs["required"];
  956 + if (required_attr) {
  957 + if (required_attr == "true") {
  958 + // 添加required属性指令
  959 + tElem.find("ui-select").attr("required", "");
  960 + } else {
  961 + // 不等于true,不添加required属性指令
973 } 962 }
  963 + } else {
  964 + // 不添加required属性指令
974 } 965 }
975 966
976 - if (name_attr) {  
977 - scope["$saSelectCtrl"].nv = name_attr;  
978 - }  
979 - if (placeholder_attr) {  
980 - scope["$saSelectCtrl"].ph = placeholder_attr;  
981 - } 967 + //console.log("saSelect" + ":compile = >" + tElem.html());
982 968
983 - scope["$saSelectCtrl"].select = function($item) {  
984 - if (codename_attr) {  
985 - scope["$saSelectCtrl"].model[codename_attr] = $item.code;  
986 - }  
987 - if (dicname_attr) {  
988 - scope["$saSelectCtrl"].model[dicname_attr] = $item.name;  
989 - }  
990 - }; 969 + return {
  970 + pre: function(scope, element, attr) {
  971 + // TODO:
  972 + },
  973 + /**
  974 + * 相当于link函数。
  975 + *
  976 + * 重要属性如下:
  977 + * model 是绑定外部值。
  978 + * dicgroup 字典组的类型
  979 + * name input name属性值
  980 + */
  981 + post: function(scope, element, attr) {
  982 + // 1、获取属性
  983 + var dicgroup_attr = attr['dicgroup']; // 字典组的类型
  984 + var name_attr = attr['name']; // input name属性值
  985 + var dicname_attr = attr['dicname']; // model关联的字典名字段
  986 + var codename_attr = attr['codename']; // model关联的字典值字段
  987 + var placeholder_attr = attr['placeholder']; // select placeholder提示
  988 +
  989 + // 系统的字典对象,使用dictionaryUtils类获取
  990 + var origin_dicgroup;
  991 + var dic_key; // 字典key
  992 +
  993 + if (dicgroup_attr) { // 赋值指定的字典数据
  994 + origin_dicgroup = dictionaryUtils.getByGroup(dicgroup_attr);
  995 + for (dic_key in origin_dicgroup) {
  996 + var data = {}; // 重新组合的字典元素对象
  997 + if (dic_key == "true")
  998 + data.code = true;
  999 + else
  1000 + data.code = dic_key;
  1001 + data.name = origin_dicgroup[dic_key];
  1002 + scope["$saSelectCtrl"].datas.push(data);
  1003 + }
  1004 + }
991 1005
992 - scope["$saSelectCtrl"].remove = function() {  
993 - if (codename_attr) {  
994 - scope["$saSelectCtrl"].model[codename_attr] = null;  
995 - }  
996 - if (dicname_attr) {  
997 - scope["$saSelectCtrl"].model[dicname_attr] = null; 1006 + if (name_attr) {
  1007 + scope["$saSelectCtrl"].nv = name_attr;
  1008 + }
  1009 + if (placeholder_attr) {
  1010 + scope["$saSelectCtrl"].ph = placeholder_attr;
  1011 + }
  1012 +
  1013 + scope["$saSelectCtrl"].select = function($item) {
  1014 + if (codename_attr) {
  1015 + scope["$saSelectCtrl"].model[codename_attr] = $item.code;
  1016 + }
  1017 + if (dicname_attr) {
  1018 + scope["$saSelectCtrl"].model[dicname_attr] = $item.name;
  1019 + }
  1020 + };
  1021 +
  1022 + scope["$saSelectCtrl"].remove = function() {
  1023 + if (codename_attr) {
  1024 + scope["$saSelectCtrl"].model[codename_attr] = null;
  1025 + }
  1026 + if (dicname_attr) {
  1027 + scope["$saSelectCtrl"].model[dicname_attr] = null;
  1028 + }
  1029 + scope["$saSelectCtrl"].cmodel = null;
  1030 + };
  1031 +
  1032 + $timeout(function() {
  1033 + // 创建内部使用的绑定对象
  1034 + var model_code = scope["$saSelectCtrl"].model[codename_attr];
  1035 + scope["$saSelectCtrl"].cmodel = model_code;
  1036 + }, 0);
998 } 1037 }
999 - scope["$saSelectCtrl"].cmodel = null;  
1000 - };  
1001 -  
1002 - $timeout(function() {  
1003 - // 创建内部使用的绑定对象  
1004 - var model_code = scope["$saSelectCtrl"].model[codename_attr];  
1005 - scope["$saSelectCtrl"].cmodel = model_code;  
1006 - }, 0); 1038 + }
1007 } 1039 }
1008 }; 1040 };
1009 }]); 1041 }]);