Commit f1ed06d59d49e60de6b9f9c90408b8dd9c4e1a35
1 parent
9b3eb948
update
Showing
5 changed files
with
161 additions
and
315 deletions
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js
| 1 | 1 | // 车辆基础信息维护 service controller等写在一起 |
| 2 | 2 | |
| 3 | 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 | 6 | var currentSearchCondition = { |
| ... | ... | @@ -56,36 +14,6 @@ angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageSer |
| 56 | 14 | var currentPageNo = 1; |
| 57 | 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 | 18 | * 用于给controller用来和页面数据绑定。 |
| 91 | 19 | */ |
| ... | ... | @@ -287,63 +215,6 @@ angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManag |
| 287 | 215 | // 欲保存的busInfo信息,绑定 |
| 288 | 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 | 218 | // 获取传过来的id,有的话就是修改,获取一遍数据 |
| 348 | 219 | var id = $stateParams.id; |
| 349 | 220 | if (id) { |
| ... | ... | @@ -354,48 +225,6 @@ angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManag |
| 354 | 225 | for (key in result) { |
| 355 | 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 | 229 | function(result) { |
| 401 | 230 | alert("出错啦!"); | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/detail.html
| ... | ... | @@ -247,7 +247,7 @@ |
| 247 | 247 | <label class="col-md-2 control-label">车辆类型:</label> |
| 248 | 248 | <div class="col-md-3"> |
| 249 | 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 | 251 | </div> |
| 252 | 252 | </div> |
| 253 | 253 | |
| ... | ... | @@ -255,7 +255,7 @@ |
| 255 | 255 | <label class="col-md-2 control-label">是否机动车:</label> |
| 256 | 256 | <div class="col-md-3"> |
| 257 | 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 | 259 | </div> |
| 260 | 260 | </div> |
| 261 | 261 | |
| ... | ... | @@ -263,7 +263,7 @@ |
| 263 | 263 | <label class="col-md-2 control-label">营运状态:</label> |
| 264 | 264 | <div class="col-md-3"> |
| 265 | 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 | 267 | </div> |
| 268 | 268 | </div> |
| 269 | 269 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/edit.html
| ... | ... | @@ -63,21 +63,14 @@ |
| 63 | 63 | <div class="form-group has-success has-feedback"> |
| 64 | 64 | <label class="col-md-2 control-label">所属公司*:</label> |
| 65 | 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 | 74 | </div> |
| 82 | 75 | <!-- 隐藏块,显示验证信息 --> |
| 83 | 76 | <div class="alert alert-danger well-sm" ng-show="myForm.gs.$error.required"> |
| ... | ... | @@ -128,30 +121,13 @@ |
| 128 | 121 | <div class="form-group has-success has-feedback"> |
| 129 | 122 | <label class="col-md-2 control-label">设备供应厂商*:</label> |
| 130 | 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 | 131 | </div> |
| 156 | 132 | <!-- 隐藏快,显示验证信息 --> |
| 157 | 133 | <div class="alert alert-danger well-sm" ng-show="myForm.supplierName.$error.required"> |
| ... | ... | @@ -361,24 +337,36 @@ |
| 361 | 337 | <div class="form-group"> |
| 362 | 338 | <label class="col-md-2 control-label">车辆类型:</label> |
| 363 | 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 | 346 | </div> |
| 367 | 347 | </div> |
| 368 | 348 | |
| 369 | 349 | <div class="form-group"> |
| 370 | 350 | <label class="col-md-2 control-label">是否机动车:</label> |
| 371 | 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 | 358 | </div> |
| 375 | 359 | </div> |
| 376 | 360 | |
| 377 | 361 | <div class="form-group"> |
| 378 | 362 | <label class="col-md-2 control-label">营运状态:</label> |
| 379 | 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 | 370 | </div> |
| 383 | 371 | </div> |
| 384 | 372 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/form.html
| ... | ... | @@ -63,21 +63,14 @@ |
| 63 | 63 | <div class="form-group has-success has-feedback"> |
| 64 | 64 | <label class="col-md-2 control-label">所属公司*:</label> |
| 65 | 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 | 74 | </div> |
| 82 | 75 | <!-- 隐藏块,显示验证信息 --> |
| 83 | 76 | <div class="alert alert-danger well-sm" ng-show="myForm.gs.$error.required"> |
| ... | ... | @@ -128,21 +121,13 @@ |
| 128 | 121 | <div class="form-group has-success has-feedback"> |
| 129 | 122 | <label class="col-md-2 control-label">设备供应厂商*:</label> |
| 130 | 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 | 131 | </div> |
| 147 | 132 | <!-- 隐藏快,显示验证信息 --> |
| 148 | 133 | <div class="alert alert-danger well-sm" ng-show="myForm.supplierName.$error.required"> |
| ... | ... | @@ -324,59 +309,71 @@ |
| 324 | 309 | <div class="form-group"> |
| 325 | 310 | <label class="col-md-2 control-label">是否空调车:</label> |
| 326 | 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 | 313 | </div> |
| 329 | 314 | </div> |
| 330 | 315 | |
| 331 | 316 | <div class="form-group"> |
| 332 | 317 | <label class="col-md-2 control-label">有无人售票:</label> |
| 333 | 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 | 320 | </div> |
| 336 | 321 | </div> |
| 337 | 322 | |
| 338 | 323 | <div class="form-group"> |
| 339 | 324 | <label class="col-md-2 control-label">是否有LED服务屏:</label> |
| 340 | 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 | 327 | </div> |
| 343 | 328 | </div> |
| 344 | 329 | |
| 345 | 330 | <div class="form-group"> |
| 346 | 331 | <label class="col-md-2 control-label">是否有TV视屏:</label> |
| 347 | 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 | 334 | </div> |
| 350 | 335 | </div> |
| 351 | 336 | |
| 352 | 337 | <div class="form-group"> |
| 353 | 338 | <label class="col-md-2 control-label">车辆类型:</label> |
| 354 | 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 | 346 | </div> |
| 358 | 347 | </div> |
| 359 | 348 | |
| 360 | 349 | <div class="form-group"> |
| 361 | 350 | <label class="col-md-2 control-label">是否机动车:</label> |
| 362 | 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 | 358 | </div> |
| 366 | 359 | </div> |
| 367 | 360 | |
| 368 | 361 | <div class="form-group"> |
| 369 | 362 | <label class="col-md-2 control-label">营运状态:</label> |
| 370 | 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 | 370 | </div> |
| 374 | 371 | </div> |
| 375 | 372 | |
| 376 | 373 | <div class="form-group"> |
| 377 | 374 | <label class="col-md-2 control-label">是否电车:</label> |
| 378 | 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 | 377 | </div> |
| 381 | 378 | </div> |
| 382 | 379 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/main.js
| ... | ... | @@ -941,69 +941,101 @@ angular.module('ScheduleApp').directive("saSelect", ['$timeout', function($timeo |
| 941 | 941 | var self = this; |
| 942 | 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 | }]); | ... | ... |