Commit 6ed39e8495a8f77313970fca7f4103b6cdfdbf18

Authored by 娄高锋
2 parents 1a476261 c36f9287

Merge branch 'minhang' of 192.168.168.201:panzhaov5/bsth_control into minhang

src/main/resources/static/pages/scheduleApp/Gruntfile.js
... ... @@ -84,7 +84,8 @@ module.exports = function (grunt) {
84 84 'module/common/dts2/dateGroup/saDategroup.js', // 特殊日期选择指令
85 85 'module/common/dts2/guideboardGroup/saGuideboardgroup.js', // 路牌选择整合指令
86 86 'module/common/dts2/employeeGroup/saEmployeegroup.js', // 人员选饿整合指令
87   - 'module/common/dts2/bcGroup/saBcgroup.js' // 班次选择整合指令
  87 + 'module/common/dts2/bcGroup/saBcgroup.js', // 班次选择整合指令
  88 + 'module/common/dts2/ttinfotable/saTimeTable.js' // 时刻表显示指令
88 89 ],
89 90 dest: 'module/common/prj-common-directive.js'
90 91 },
... ...
src/main/resources/static/pages/scheduleApp/module/common/dts2/ttinfotable/saTimeTable.js 0 → 100644
  1 +/**
  2 + * saTimeTable指令,时刻表显示指令,excel表格形式,支持菜单,事件处理。
  3 + * name(必须),控件的名字
  4 + * ds,外部数据源
  5 + *
  6 + * TODO:优化开发中
  7 + *
  8 + */
  9 +angular.module('ScheduleApp').directive('saTimetable', ['$compile',
  10 + function($compile) {
  11 + return {
  12 + restrict: 'E',
  13 + templateUrl: '/pages/scheduleApp/module/common/dts2/ttinfotable/saTimeTableTemplate.html',
  14 + scope: { // 独立作用域
  15 + // 注意:数据暂时从外部ngModel里获取,以后内部自己处理
  16 + ds: "=ngModel"
  17 +
  18 + // TODO:
  19 +
  20 + },
  21 + controllerAs: "$saTimeTableCtrl",
  22 + bindToController: true,
  23 + controller: function() {
  24 + var self = this;
  25 + this.$$headToolTip = ""; // 表头tooltip信息
  26 +
  27 + // TODO:
  28 + },
  29 +
  30 + /**,
  31 + * compile阶段,angular还没有编译模版,根据需要可以修改模版dom
  32 + * @param tElem
  33 + * @param tAttrs
  34 + * @returns {{pre: Function, post: Function}}
  35 + */
  36 + compile: function(tElem, tAttrs) {
  37 + // 获取属性
  38 + var $attr_name = tAttrs["name"]; // 控件的名字
  39 + if (!$attr_name) {
  40 + throw new Error("saTimeTable指令 name属性required");
  41 + }
  42 +
  43 + // 内部controlAs名字
  44 + var ctrlAs = '$saTimeTableCtrl';
  45 +
  46 + // TODO:
  47 +
  48 + return {
  49 + pre: function(scope, element, attr) {
  50 + // TODO:
  51 + //alert(element.find("#tooltipTest").html());
  52 + //$compile(element.find("#tooltipTest"))(scope);
  53 +
  54 + },
  55 + post: function(scope, element, attr) {
  56 + // TODO:
  57 +
  58 + // ------------------- dom事件处理function -----------------//
  59 + scope[ctrlAs].$$cell_click = function(rowindex, colindex, cell) {
  60 + if (cell.ttdid) {
  61 + //alert(rowindex + "-" + colindex);
  62 + cell.sel = !cell.sel;
  63 + }
  64 + // TODO:
  65 + };
  66 +
  67 + // ------------------- 监控function ------------------//
  68 + // 监控明细数据,生成表头的tooltip
  69 + scope.$watch(
  70 + function() {
  71 + return scope[ctrlAs].ds;
  72 + },
  73 + function(newValue, oldValue) {
  74 + if (newValue &&
  75 + newValue.detailHeads &&
  76 + newValue.detailHeads.length > 0) {
  77 + var tooltip = [];
  78 + tooltip.push("出场");
  79 + angular.forEach(newValue.detailHeads, function(value) {
  80 + if (value != "出场" &&
  81 + value != "路牌" &&
  82 + value != "进场" &&
  83 + value != "空驶班次/空驶里程" &&
  84 + value != "运营班次/运营里程" ) {
  85 + var exist = false;
  86 + angular.forEach(tooltip, function(tip) {
  87 + if (tip == value) {
  88 + exist = true;
  89 + }
  90 + });
  91 + if (!exist) {
  92 + tooltip.push(value);
  93 + }
  94 + }
  95 + });
  96 + tooltip.push("进场");
  97 + scope[ctrlAs].$$headToolTip = tooltip.join(",");
  98 + }
  99 + },
  100 + true
  101 + )
  102 + }
  103 + };
  104 + }
  105 +
  106 + };
  107 + }
  108 +]);
... ...
src/main/resources/static/pages/scheduleApp/module/common/dts2/ttinfotable/saTimeTableTemplate.html 0 → 100644
  1 +<style>
  2 + .ttInfo_detail {
  3 + height: 100%;
  4 + overflow: hidden;
  5 + }
  6 + .ttInfo_detail .container-fluid {
  7 + height: 100%;
  8 + margin-left: 0;
  9 + }
  10 + .ttInfo_detail .container-fluid>* {
  11 + padding: 0;
  12 + }
  13 + .ttInfo_detail .container-fluid.top-container {
  14 + margin-top: 5px;
  15 + padding: 0;
  16 + overflow: hidden;
  17 + }
  18 + .ttInfo_detail .detail-wrap {
  19 + height: calc(100% - 1px);
  20 + padding: 0;
  21 + }
  22 + .ttInfo_detail .detail-wrap .header-title {
  23 + cursor: pointer; /* 图例点击按钮 */
  24 + font-size: 14px;
  25 + color: #cccaca;
  26 + }
  27 + .ttInfo_detail .detail-wrap h3 {
  28 + margin: 7px 0 5px;
  29 + text-indent: 5px;
  30 + margin: 0;
  31 + height: 31px;
  32 + line-height: 31px;
  33 + }
  34 + .ttInfo_detail .detail-wrap.up h3 {
  35 + color: #2765A7;
  36 + }
  37 +
  38 + .ttInfo_detail .detail-panel {
  39 + padding: 0;
  40 + height: 100%;
  41 + border: 1px solid #ddd;
  42 + background: #fafafa;
  43 + border-radius: 10px !important;
  44 + moz-user-select: -moz-none;
  45 + -moz-user-select: none;
  46 + -o-user-select: none;
  47 + -khtml-user-select: none;
  48 + -webkit-user-select: none;
  49 + -ms-user-select: none;
  50 + user-select: none;
  51 + }
  52 +
  53 + .ttInfo_detail .tt_table {
  54 + padding-top: 36px;
  55 + }
  56 +
  57 + .ttInfo_detail .tt_table>.tt_table_head {
  58 + height: 36px;
  59 + line-height: 36px;
  60 + }
  61 +
  62 + .detail-body {
  63 + height: calc(100% - 37px);
  64 + background: #fff;
  65 + }
  66 +
  67 + .detail-body .tt_table_wrap {
  68 + height: 100%;
  69 + border-bottom: 0;
  70 + /*overflow-x: hidden;*/
  71 + }
  72 +
  73 + .detail-body .tt_table_wrap .tt_table .tt_table_body dl:last-child {
  74 + border-bottom: 0;
  75 + }
  76 +
  77 + .detail-body .tt_table>.tt_table_body dl:hover dd:nth-of-type(1) {
  78 + background: #fafafa;
  79 + background: linear-gradient(to right, #fafafa, #f5fbff);
  80 + }
  81 +
  82 + .detail-body .tt_table dl dd, .detail-body .tt_table dl dt {
  83 + font-size: 14px;
  84 + line-height: 37px;
  85 + }
  86 +
  87 + .tt_table dl dt:nth-of-type(1), .tt_table dl dd:nth-of-type(1) {
  88 + width: 50px;
  89 + }
  90 + .tt_table dl dd:nth-of-type(1) {
  91 + background: #eae8e8;
  92 + /*border-bottom: 1px solid #b3b3b3;*/
  93 + border-right: 1px solid #b3b3b3;
  94 + text-align: center;
  95 + text-indent: -3px;
  96 + }
  97 +
  98 + .tt_table dl dt:nth-of-type(2), .tt_table dl dd:nth-of-type(2) {
  99 + width: 55px;
  100 + text-align: center;
  101 + }
  102 + .tt_table dl dt:nth-of-type(n + 3), .tt_table dl dd:nth-of-type(n + 3) {
  103 + width: 50px;
  104 + text-align: center;
  105 + }
  106 + .tt_table dl dt:nth-last-child(1), .tt_table dl dd:nth-last-child(1) {
  107 + width: 130px;
  108 + text-align: center;
  109 + }
  110 + .tt_table dl dt:nth-last-child(2), .tt_table dl dd:nth-last-child(2) {
  111 + width: 130px;
  112 + text-align: center;
  113 + }
  114 +
  115 +</style>
  116 +
  117 +<style>
  118 + .tt_table_wrap {
  119 + width: 100%;
  120 + height: 100%;
  121 + overflow: auto;
  122 + /*position: relative;*/
  123 +
  124 + }
  125 +
  126 + .tt_table {
  127 + position: relative;
  128 + padding-top: 30px;
  129 + font-size: 13px;
  130 + }
  131 +
  132 + .tt_table>.tt_table_head {
  133 + position: absolute;
  134 + top: 0;
  135 + height: 30px;
  136 + background: #f5f5f5;
  137 + width: 100%;
  138 + line-height: 30px;
  139 + z-index: 1;
  140 + }
  141 +
  142 + .tt_table>.tt_table_head dl {
  143 + border-bottom: 0;
  144 + }
  145 +
  146 + .tt_table>.tt_table_head dl dt {
  147 + font-weight: normal;
  148 + font-size: 12px;
  149 + }
  150 +
  151 + .tt_table>.tt_table_body {
  152 + width: 100%;
  153 + border-bottom: 1px solid #dedede;
  154 + }
  155 +
  156 + .tt_table dl {
  157 + display: block;
  158 + width: 100%;
  159 + margin: 0;
  160 + /*border-bottom: 1px solid;*/
  161 + height: 30px;
  162 + cursor: default;
  163 + }
  164 +
  165 + .tt_table>.tt_table_body dl:hover, .tt_table>.tt_table_body dl.context-menu-active {
  166 + box-shadow: 0 0 4px #656c71;
  167 + background: #f5fbff;
  168 + }
  169 +
  170 + .tt_table dl dd, .tt_table dl dt {
  171 + display: inline-block;
  172 + white-space: nowrap;
  173 + overflow: hidden;
  174 + text-overflow: ellipsis;
  175 + height: 100%;
  176 + line-height: 30px;
  177 + border-right: 1px solid;
  178 + text-indent: 5px;
  179 + }
  180 +
  181 + .tt_table_wrap {
  182 + /*border: 1px solid #e6e6e6;*/
  183 + border-left: 0;
  184 + }
  185 +
  186 + .tt_table>.tt_table_head {
  187 + border-bottom: 1px solid #dedede;
  188 + }
  189 +
  190 + .tt_table dl {
  191 + font-size: 0;
  192 + white-space: nowrap;
  193 + }
  194 +
  195 + .tt_table dl dd, .tt_table dl dt {
  196 + border-right-color: #dedede;
  197 + font-size: 13px;
  198 + /*border-bottom: 1px solid #dedede;*/
  199 + border-top: 1px solid #dedede;
  200 + }
  201 + .tt_table dl{
  202 + transition: all .1s ease;
  203 + }
  204 + .tt_table dd.active {
  205 + background: #8baabf !important;
  206 + color: white;
  207 + }
  208 + .tt_table_no_border .tt_table>.tt_table_head dl dt {
  209 + font-weight: 600;
  210 + font-size: 13px;
  211 + }
  212 + .tt_table_no_border .tt_table dl dd,.tt_table_no_border .tt_table dl dt {
  213 + font-size: 14px;
  214 + border-right: 0;
  215 + }
  216 +
  217 +
  218 +
  219 +</style>
  220 +
  221 +<style>
  222 + .table_scrollbar::-webkit-scrollbar {
  223 + width: 15px;
  224 + height: 16px;
  225 + }
  226 +
  227 + .table_scrollbar::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb {
  228 + border-radius: 999px;
  229 + border: 5px solid transparent;
  230 + }
  231 +
  232 + .table_scrollbar::-webkit-scrollbar-track {
  233 + box-shadow: 1px 1px 5px rgba(0, 0, 0, .2) inset;
  234 + }
  235 +
  236 + .table_scrollbar::-webkit-scrollbar-thumb {
  237 + min-height: 20px;
  238 + background-clip: content-box;
  239 + box-shadow: 0 0 0 5px rgba(0, 0, 0, .2) inset;
  240 + }
  241 +
  242 + .table_scrollbar::-webkit-scrollbar-corner {
  243 + background: transparent;
  244 + }
  245 +</style>
  246 +
  247 +<style>
  248 + /* Specify styling for tooltip contents */
  249 + .tooltip.headClass .tooltip-inner {
  250 + color: #880000;
  251 + background-color: #ffff66;
  252 + box-shadow: 0 6px 12px rgba(0,0,0,.175);
  253 + }
  254 + /* Hide arrow */
  255 + .tooltip.headClass .tooltip-arrow {
  256 + display: none;
  257 + }
  258 +</style>
  259 +
  260 +
  261 +<div class="ttInfo_detail">
  262 + <div class="container-fluid top-container">
  263 + <div class="col-md-12 container-fluid schedule-wrap">
  264 + <div class="col-md-12" style="height: 100%">
  265 + <div class="detail-panel">
  266 + <div class="detail-wrap up">
  267 + <!--<h3 class="header-title">-->
  268 + <!--{{$saTimeTableCtrl.ds.yydesc}}-->
  269 + <!--</h3>-->
  270 +
  271 + <h3>
  272 + <a href="#"
  273 + tooltip-animation="false"
  274 + tooltip-placement="right-top"
  275 + uib-tooltip="{{$saTimeTableCtrl.$$headToolTip}}"
  276 + tooltip-class="headClass">
  277 + {{$saTimeTableCtrl.ds.yydesc}}
  278 + </a>
  279 + </h3>
  280 +
  281 + <div class="detail-body">
  282 + <div class="tt_table_wrap table_scrollbar">
  283 + <div class="tt_table">
  284 + <div class="tt_table_head" style="top: 0;">
  285 + <dl>
  286 + <dt>
  287 + 序号
  288 + </dt>
  289 + <dt ng-repeat="head in $saTimeTableCtrl.ds.detailHeads track by $index">
  290 + {{(head != '路牌' && head != '空驶班次/空驶里程' && head != '运营班次/运营里程') ? (head.substr(0, 1) + $index): head}}
  291 + </dt>
  292 + </dl>
  293 + </div>
  294 + <div class="tt_table_body">
  295 + <dl ng-repeat="info in $saTimeTableCtrl.ds.detailInfos track by $index"
  296 + ng-init="rowIndex = $index"
  297 + >
  298 + <dd>
  299 + {{rowIndex + 1}}
  300 + </dd>
  301 + <dd ng-repeat="cell in info track by $index"
  302 + ng-init="colIndex = $index"
  303 + ng-click="$saTimeTableCtrl.$$cell_click(rowIndex, colIndex, cell)"
  304 + ng-class="{lpName: !cell.ttdid, active: cell.sel}"
  305 + >
  306 + {{cell.fcsj}}
  307 + </dd>
  308 +
  309 + </dl>
  310 +
  311 + </div>
  312 +
  313 + </div>
  314 +
  315 +
  316 + </div>
  317 +
  318 + </div>
  319 +
  320 + <!--TODO-->
  321 + </div>
  322 +
  323 + </div>
  324 + </div>
  325 +
  326 +
  327 + </div>
  328 +
  329 +
  330 +
  331 + </div>
  332 +
  333 +
  334 +
  335 +</div>
0 336 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
... ... @@ -3658,4 +3658,112 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saBcgroup&#39;, [
3658 3658 }
3659 3659 }
3660 3660 }
3661   -]);
3662 3661 \ No newline at end of file
  3662 +]);
  3663 +/**
  3664 + * saTimeTable指令,时刻表显示指令,excel表格形式,支持菜单,事件处理。
  3665 + * name(必须),控件的名字
  3666 + * ds,外部数据源
  3667 + *
  3668 + * TODO:优化开发中
  3669 + *
  3670 + */
  3671 +angular.module('ScheduleApp').directive('saTimetable', ['$compile',
  3672 + function($compile) {
  3673 + return {
  3674 + restrict: 'E',
  3675 + templateUrl: '/pages/scheduleApp/module/common/dts2/ttinfotable/saTimeTableTemplate.html',
  3676 + scope: { // 独立作用域
  3677 + // 注意:数据暂时从外部ngModel里获取,以后内部自己处理
  3678 + ds: "=ngModel"
  3679 +
  3680 + // TODO:
  3681 +
  3682 + },
  3683 + controllerAs: "$saTimeTableCtrl",
  3684 + bindToController: true,
  3685 + controller: function() {
  3686 + var self = this;
  3687 + this.$$headToolTip = ""; // 表头tooltip信息
  3688 +
  3689 + // TODO:
  3690 + },
  3691 +
  3692 + /**,
  3693 + * compile阶段,angular还没有编译模版,根据需要可以修改模版dom
  3694 + * @param tElem
  3695 + * @param tAttrs
  3696 + * @returns {{pre: Function, post: Function}}
  3697 + */
  3698 + compile: function(tElem, tAttrs) {
  3699 + // 获取属性
  3700 + var $attr_name = tAttrs["name"]; // 控件的名字
  3701 + if (!$attr_name) {
  3702 + throw new Error("saTimeTable指令 name属性required");
  3703 + }
  3704 +
  3705 + // 内部controlAs名字
  3706 + var ctrlAs = '$saTimeTableCtrl';
  3707 +
  3708 + // TODO:
  3709 +
  3710 + return {
  3711 + pre: function(scope, element, attr) {
  3712 + // TODO:
  3713 + //alert(element.find("#tooltipTest").html());
  3714 + //$compile(element.find("#tooltipTest"))(scope);
  3715 +
  3716 + },
  3717 + post: function(scope, element, attr) {
  3718 + // TODO:
  3719 +
  3720 + // ------------------- dom事件处理function -----------------//
  3721 + scope[ctrlAs].$$cell_click = function(rowindex, colindex, cell) {
  3722 + if (cell.ttdid) {
  3723 + //alert(rowindex + "-" + colindex);
  3724 + cell.sel = !cell.sel;
  3725 + }
  3726 + // TODO:
  3727 + };
  3728 +
  3729 + // ------------------- 监控function ------------------//
  3730 + // 监控明细数据,生成表头的tooltip
  3731 + scope.$watch(
  3732 + function() {
  3733 + return scope[ctrlAs].ds;
  3734 + },
  3735 + function(newValue, oldValue) {
  3736 + if (newValue &&
  3737 + newValue.detailHeads &&
  3738 + newValue.detailHeads.length > 0) {
  3739 + var tooltip = [];
  3740 + tooltip.push("出场");
  3741 + angular.forEach(newValue.detailHeads, function(value) {
  3742 + if (value != "出场" &&
  3743 + value != "路牌" &&
  3744 + value != "进场" &&
  3745 + value != "空驶班次/空驶里程" &&
  3746 + value != "运营班次/运营里程" ) {
  3747 + var exist = false;
  3748 + angular.forEach(tooltip, function(tip) {
  3749 + if (tip == value) {
  3750 + exist = true;
  3751 + }
  3752 + });
  3753 + if (!exist) {
  3754 + tooltip.push(value);
  3755 + }
  3756 + }
  3757 + });
  3758 + tooltip.push("进场");
  3759 + scope[ctrlAs].$$headToolTip = tooltip.join(",");
  3760 + }
  3761 + },
  3762 + true
  3763 + )
  3764 + }
  3765 + };
  3766 + }
  3767 +
  3768 + };
  3769 + }
  3770 +]);
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-ui-route-state.js
... ... @@ -1130,6 +1130,24 @@ ScheduleApp.config([
1130 1130 }]
1131 1131 }
1132 1132 })
  1133 + .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑
  1134 + url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag',
  1135 + views: {
  1136 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'}
  1137 + },
  1138 + resolve: {
  1139 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  1140 + return $ocLazyLoad.load({
  1141 + name: 'ttInfoDetailManage_edit_module',
  1142 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  1143 + files: [
  1144 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js",
  1145 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/module_edit3.js"
  1146 + ]
  1147 + });
  1148 + }]
  1149 + }
  1150 + })
1133 1151 .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑
1134 1152 url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname',
1135 1153 views: {
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html
... ... @@ -322,7 +322,7 @@
322 322 <button type="submit" class="btn green"
323 323 ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>
324 324 <a type="button" class="btn default"
325   - ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a>
  325 + ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a>
326 326 </div>
327 327 </div>
328 328 </div>
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html
... ... @@ -42,7 +42,7 @@
42 42 <div class="form-group">
43 43 <label class="col-md-3 control-label">方向:</label>
44 44 <div class="col-md-5">
45   - <sa-Radiogroup model="ctrl.TimeTableDetailForSave.xlDir" dicgroup="LineTrend" name="xlDir"></sa-Radiogroup>
  45 + <sa-Radiogroup model="ctrl.tt.xlDir" dicgroup="LineTrend" name="xlDir"></sa-Radiogroup>
46 46 </div>
47 47  
48 48 </div>
... ... @@ -50,7 +50,7 @@
50 50 <label class="col-md-3 control-label">起点站:</label>
51 51 <div class="col-md-5">
52 52 <sa-Select5 name="qdz"
53   - model="ctrl.TimeTableDetailForSave"
  53 + model="ctrl.tt"
54 54 cmaps="{'qdz.id' : 'stationid'}"
55 55 dcname="qdz.id"
56 56 icname="stationid"
... ... @@ -67,7 +67,7 @@
67 67 <label class="col-md-3 control-label">终点站:</label>
68 68 <div class="col-md-5">
69 69 <sa-Select5 name="zdz"
70   - model="ctrl.TimeTableDetailForSave"
  70 + model="ctrl.tt"
71 71 cmaps="{'zdz.id' : 'stationid'}"
72 72 dcname="zdz.id"
73 73 icname="stationid"
... ... @@ -84,7 +84,7 @@
84 84 <label class="col-md-3 control-label">停车场:</label>
85 85 <div class="col-md-5">
86 86 <sa-Select5 name="tcc"
87   - model="ctrl.TimeTableDetailForSave"
  87 + model="ctrl.tt"
88 88 cmaps="{'tcc.id': 'id'}"
89 89 dcname="tcc.id"
90 90 icname="id"
... ... @@ -102,7 +102,7 @@
102 102 <label class="col-md-3 control-label">发车时间:</label>
103 103 <div class="col-md-5">
104 104 <input type="text" class="form-control" name="fcsj"
105   - ng-model="ctrl.TimeTableDetailForSave.fcsj"
  105 + ng-model="ctrl.tt.fcsj"
106 106 ng-pattern="ctrl.time_regex"
107 107 />
108 108 </div>
... ... @@ -116,7 +116,7 @@
116 116 <label class="col-md-3 control-label">计划里程:</label>
117 117 <div class="col-md-5">
118 118 <input type="text" class="form-control" name="jhlc"
119   - ng-model="ctrl.TimeTableDetailForSave.jhlc"
  119 + ng-model="ctrl.tt.jhlc"
120 120 ng-pattern="ctrl.float_regex"
121 121 />
122 122 </div>
... ... @@ -130,7 +130,7 @@
130 130 <label class="col-md-3 control-label">班次历时:</label>
131 131 <div class="col-md-5">
132 132 <input type="text" class="form-control" name="bcsj"
133   - ng-model="ctrl.TimeTableDetailForSave.bcsj"
  133 + ng-model="ctrl.tt.bcsj"
134 134 ng-pattern="ctrl.number_regex"
135 135 />
136 136 </div>
... ... @@ -144,7 +144,7 @@
144 144 <label class="col-md-3 control-label">班次类型:</label>
145 145 <div class="col-md-5">
146 146 <sa-Select5 name="bcType"
147   - model="ctrl.TimeTableDetailForSave"
  147 + model="ctrl.tt"
148 148 cmaps="{'bcType': 'code'}"
149 149 dcname="bcType"
150 150 icname="code"
... ... @@ -167,7 +167,7 @@
167 167 <button type="submit" class="btn green"
168 168 ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>
169 169 <a type="button" class="btn default"
170   - ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a>
  170 + ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a>
171 171 </div>
172 172 </div>
173 173 </div>
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html 0 → 100644
  1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <a ui-sref="ttInfoManage">时刻表管理</a>
  18 + <i class="fa fa-circle"></i>
  19 + </li>
  20 + <li>
  21 + <span class="active">编辑时刻表明细信息</span>
  22 + </li>
  23 +</ul>
  24 +
  25 +<div class="row" id="timeTableDetail" ng-controller="TimeTableDetailManageCtrl_old as ctrl">
  26 + <div class="col-md-12">
  27 + <div class="portlet light bordered">
  28 + <div class="portlet-title">
  29 + <div class="caption font-dark">
  30 + <i class="fa fa-database font-dark"></i>
  31 + <span class="caption-subject bold uppercase" ng-bind="ctrl.title"></span>
  32 + </div>
  33 + <div class="actions">
  34 + <i class="fa fa-arrow-up" aria-hidden="true"></i>
  35 + <span style="padding-right: 10px;">上行班次</span>
  36 + <i class="fa fa-arrow-down" aria-hidden="true"></i>
  37 + <span style="padding-right: 10px;">下行班次</span>
  38 + <i class="fa fa-circle-o-notch" aria-hidden="true"></i>
  39 + <span style="padding-right: 10px;">区间班次</span>
  40 + <i class="fa fa-adjust" aria-hidden="true"></i>
  41 + <span style="padding-right: 10px;">分班班次</span>
  42 +
  43 + <div class="btn-group">
  44 + <a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">
  45 + <i class="fa fa-share"></i>
  46 + <span>数据工具</span>
  47 + <i class="fa fa-angle-down"></i>
  48 + </a>
  49 + <ul class="dropdown-menu pull-right">
  50 + <li>
  51 + <a href="javascript:" class="tool-action" ng-click="ctrl.singleEditBcDetail()">
  52 + <i class="fa fa-file-excel-o"></i>
  53 + 修改
  54 + </a>
  55 + </li>
  56 + <li>
  57 + <a href="javascript:" class="tool-action" ng-click="ctrl.editInfos()">
  58 + <i class="fa fa-file-excel-o"></i>
  59 + 批量修改
  60 + </a>
  61 + </li>
  62 + <li class="divider"></li>
  63 + <li>
  64 + <a href="javascript:" class="tool-action" ng-click="ctrl.refresh()">
  65 + <i class="fa fa-refresh"></i>
  66 + 刷行数据
  67 + </a>
  68 + </li>
  69 + </ul>
  70 + </div>
  71 +
  72 + </div>
  73 + </div>
  74 +
  75 + <div class="portlet-body">
  76 + <!--<div ng-view></div>-->
  77 + <div style="height: {{ctrl.ttHeight}}px;">
  78 + <sa-Timetable name="tt" ng-model="ctrl.editInfo" ng-model-options="{ getterSetter: true }">
  79 +
  80 + </sa-Timetable>
  81 + </div>
  82 +
  83 +
  84 + </div>
  85 + </div>
  86 + </div>
  87 +</div>
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/module_edit3.js 0 → 100644
  1 +// 时刻表明细编辑信息service
  2 +angular.module('ScheduleApp').factory(
  3 + 'ttInfoDetailService_edit3',
  4 + [
  5 + 'TimeTableDetailManageService_g',
  6 + '$state',
  7 + '$q',
  8 + function(service, $state, $q) {
  9 + // 查询对象类
  10 + var queryClass = service.rest;
  11 +
  12 + // TODO:
  13 +
  14 + return {
  15 + getQueryClass: function() {
  16 + return queryClass;
  17 + },
  18 +
  19 + /**
  20 + * 获取编辑用的时刻表明细数据
  21 + * @param xlid 线路id
  22 + * @param ttid 时刻表id
  23 + */
  24 + getEditInfo: function(xlid, ttid) {
  25 + var deferred = $q.defer();
  26 +
  27 + service.edit.list({xlid: xlid, ttid: ttid}, function(result) {
  28 + if (result.status != 'ERROR') {
  29 + deferred.resolve(result);
  30 + } else {
  31 + deferred.reject(result.msg);
  32 + }
  33 + });
  34 +
  35 + return deferred.promise;
  36 + },
  37 +
  38 + /**
  39 + * 批量修改。
  40 + * @param updateObject
  41 + * @param editInfo
  42 + * @returns {*}
  43 + */
  44 + editInfos: function(updateObject, editInfo) { // 批量保存数据
  45 + var deferred = $q.defer();
  46 +
  47 + // 找出所有选中的ttinfodetailids
  48 + var ttinfodetailIds = [];
  49 + for (var i = 0; i < editInfo.detailInfos.length; i++) {
  50 + for (var j = 0; j < editInfo.detailInfos[i].length; j++) {
  51 + if (editInfo.detailInfos[i][j].sel == true)
  52 + ttinfodetailIds.push(editInfo.detailInfos[i][j]);
  53 + }
  54 + }
  55 + // ajax调用
  56 + var success_counts = 0; // 成功数
  57 + var error_counts = 0; // 失败数
  58 + for (var n = 0; n < ttinfodetailIds.length; n++) {
  59 + (function(index) {
  60 + queryClass.get({id: ttinfodetailIds[index].ttdid}, function(value) {
  61 + if (value.status == 'ERROR') {
  62 + error_counts ++;
  63 + if (success_counts + error_counts == ttinfodetailIds.length) {
  64 + deferred.reject();
  65 + }
  66 + } else {
  67 + for (var key in updateObject) {
  68 + if (updateObject[key]) {
  69 + value[key] = updateObject[key];
  70 + }
  71 + }
  72 + }
  73 + value.$save(function() {
  74 + if (value.status == 'ERROR') {
  75 + error_counts ++;
  76 + if (success_counts + error_counts == ttinfodetailIds.length) {
  77 + deferred.reject();
  78 + }
  79 + } else {
  80 + // 赋值(上下行,发车时间,班次类型,起点站,终点站,停车场)
  81 + if (value.fcsj) {
  82 + ttinfodetailIds[index].fcsj = value.fcsj;
  83 + }
  84 + if (value.xlDir) {
  85 + ttinfodetailIds[index].xldir = value.xlDir;
  86 + }
  87 + if (value.bcType) {
  88 + ttinfodetailIds[index].bc_type = value.bcType;
  89 + }
  90 + if (value.qdz) {
  91 + ttinfodetailIds[index].qdz = value.qdz;
  92 + }
  93 + if (value.zdz) {
  94 + ttinfodetailIds[index].zdz = value.zdz;
  95 + }
  96 + if (value.tcc) {
  97 + ttinfodetailIds[index].tcc = value.tcc;
  98 + }
  99 +
  100 + success_counts ++;
  101 + if (success_counts + error_counts == ttinfodetailIds.length) {
  102 + deferred.resolve();
  103 + }
  104 + }
  105 + }, function() {
  106 + error_counts ++;
  107 + if (success_counts + error_counts == ttinfodetailIds.length) {
  108 + deferred.reject();
  109 + }
  110 + });
  111 + }, function() {
  112 + error_counts ++;
  113 + if (success_counts + error_counts == ttinfodetailIds.length) {
  114 + deferred.reject();
  115 + }
  116 + });
  117 + })(n);
  118 + }
  119 +
  120 + return deferred.promise;
  121 + }
  122 + }
  123 + }
  124 + ]
  125 +);
  126 +
  127 +// edit3.html控制器
  128 +angular.module('ScheduleApp').controller(
  129 + 'ttInfoDetailService_edit3_ctrl',
  130 + [
  131 + 'ttInfoDetailService_edit3',
  132 + '$stateParams',
  133 + '$uibModal',
  134 + '$state',
  135 + '$scope',
  136 + '$window',
  137 + function(service, $stateParams, $uibModal, $state, $scope, $window) {
  138 + var self = this;
  139 + self.xlid = $stateParams.xlid; // 获取传过来的线路id
  140 + self.ttid = $stateParams.ttid; // 获取传过来的时刻表id
  141 + self.xlname = $stateParams.xlname; // 获取传过来的线路名字
  142 + self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字
  143 + self.rflag = $stateParams.rflag; // 刷新标志
  144 +
  145 + self.title = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息";
  146 +
  147 + self.editInfo = {
  148 + /**
  149 + * 时刻表明细表头
  150 + * 格式:[‘路牌’, '出场', '某起点站', '某起点站', ...... , '空驶班次/空驶里程', '运营班次/运营里程']
  151 + */
  152 + detailHeads: [], // 时刻表头信息
  153 + /**
  154 + * 时刻表班次明细信息
  155 + * 格式:行列二维数组,类似一个表格,每个单元格为一个object,表示班次的信息
  156 + * object格式:
  157 + * {
  158 + * ttdid : 时刻表id,
  159 + * fcsj : 发车时间,
  160 + * bc_type : 班次类型,
  161 + * xldir : 线路上下行,
  162 + * isfb : 是否分班,
  163 + * qdz : 起点站,
  164 + * zdz : 终点站,
  165 + * tcc : 停车场
  166 + * }
  167 + */
  168 + detailInfos: [], // 时刻表明细信息
  169 + yydesc: "" // 营运汇总描述
  170 + };
  171 + self.refreshEditInfo = function() {
  172 + service.getEditInfo(self.xlid, self.ttid).then(
  173 + function(result) {
  174 + self.editInfo.detailHeads = result.header;
  175 + self.editInfo.detailInfos = result.contents;
  176 + self.editInfo.yydesc = result.yy_desc;
  177 +
  178 + // detailInfos里添加是否选中的flag
  179 + for (var i = 0; i < self.editInfo.detailInfos.length; i++) {
  180 + for (var j = 0; j < self.editInfo.detailInfos[i].length; j++) {
  181 + self.editInfo.detailInfos[i][j].sel = false;
  182 + }
  183 + }
  184 + }
  185 + );
  186 + };
  187 +
  188 + self.refreshEditInfo();
  189 +
  190 + self.ttHeight = 500; // 时刻表的高度
  191 + var w = angular.element($window);
  192 + $scope.$watch(
  193 + function(){
  194 + return $window.innerHeight;
  195 + },
  196 + function(value) {
  197 + // 监控窗口高度
  198 + console.log(value);
  199 + //alert(value);
  200 + self.ttHeight = value - 295;
  201 + },
  202 + true
  203 + );
  204 + w.bind('resize', function() {
  205 + // 监控resize事件
  206 + $scope.$apply();
  207 + });
  208 +
  209 +
  210 +
  211 +
  212 + // TODO:
  213 + // 查询对象类
  214 + var TTInfoDetail = service.getQueryClass();
  215 +
  216 + /**
  217 + * 单独修改班次明细。
  218 + */
  219 + self.singleEditBcDetail = function() {
  220 + var id = null;
  221 + if (self.editInfo &&
  222 + self.editInfo.detailInfos &&
  223 + self.editInfo.detailInfos.length > 0) { // 找出第一个被选中的就可以了
  224 + for (var i = 0; i < self.editInfo.detailInfos.length; i++) {
  225 + for (var j = 0; j < self.editInfo.detailInfos[i].length; j++) {
  226 + if (self.editInfo.detailInfos[i][j].sel) {
  227 + id = self.editInfo.detailInfos[i][j].ttdid;
  228 + break;
  229 + }
  230 + }
  231 + if (id) {
  232 + break;
  233 + }
  234 + }
  235 + }
  236 + if (!id) {
  237 + alert("请选择具体班次!");
  238 + } else {
  239 + $state.go('ttInfoDetailManage_detail_edit',
  240 + {
  241 + id: id,
  242 + xlid: self.xlid,
  243 + ttid: self.ttid,
  244 + xlname: self.xlname,
  245 + ttname: self.ttname
  246 + });
  247 + }
  248 + };
  249 +
  250 + /**
  251 + * 批量修改。
  252 + */
  253 + self.batchEditBcDetail = function() {
  254 + var flag = false;
  255 + if (self.editInfo &&
  256 + self.editInfo.detailInfos &&
  257 + self.editInfo.detailInfos.length > 0) { // 找出第一个被选中的就可以了
  258 + for (var i = 0; i < self.editInfo.detailInfos.length; i++) {
  259 + for (var j = 0; j < self.editInfo.detailInfos[i].length; j++) {
  260 + if (self.editInfo.detailInfos[i][j].sel) {
  261 + flag = true;
  262 + break;
  263 + }
  264 + }
  265 + if (flag) {
  266 + break;
  267 + }
  268 + }
  269 + }
  270 +
  271 + if (!flag) {
  272 + alert("请选择具体班次!");
  273 + } else {
  274 + $state.go('ttInfoDetailManage_detail_edit2',
  275 + {
  276 + xlid: self.xlid,
  277 + ttid: self.ttid,
  278 + xlname: self.xlname,
  279 + ttname: self.ttname
  280 + });
  281 + }
  282 + };
  283 +
  284 +
  285 +
  286 +
  287 +
  288 +
  289 + }
  290 + ]
  291 +);
0 292 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/route.js
... ... @@ -63,6 +63,24 @@ ScheduleApp.config([
63 63 }]
64 64 }
65 65 })
  66 + .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑
  67 + url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag',
  68 + views: {
  69 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'}
  70 + },
  71 + resolve: {
  72 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  73 + return $ocLazyLoad.load({
  74 + name: 'ttInfoDetailManage_edit_module',
  75 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  76 + files: [
  77 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js",
  78 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/module_edit3.js"
  79 + ]
  80 + });
  81 + }]
  82 + }
  83 + })
66 84 .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑
67 85 url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname',
68 86 views: {
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js
... ... @@ -91,7 +91,14 @@ angular.module(&#39;ScheduleApp&#39;).factory(
91 91 } else {
92 92 for (var key in updateObject) {
93 93 if (updateObject[key]) {
94   - value[key] = updateObject[key];
  94 + if (key == 'tcc' || key == 'qdz' || key == 'zdz') {
  95 + if (updateObject[key].id) {
  96 + value[key] = updateObject[key];
  97 + }
  98 + } else {
  99 + value[key] = updateObject[key];
  100 + }
  101 +
95 102 }
96 103 }
97 104 }
... ... @@ -160,7 +167,9 @@ angular.module(&#39;ScheduleApp&#39;).controller(
160 167 '$stateParams',
161 168 '$uibModal',
162 169 '$state',
163   - function(service, $stateParams, $uibModal, $state) {
  170 + '$scope',
  171 + '$window',
  172 + function(service, $stateParams, $uibModal, $state, $scope, $window) {
164 173 var self = this;
165 174 self.xlid = $stateParams.xlid; // 获取传过来的线路id
166 175 self.ttid = $stateParams.ttid; // 获取传过来的时刻表id
... ... @@ -181,11 +190,76 @@ angular.module(&#39;ScheduleApp&#39;).controller(
181 190 return service.getEditInfo().yydesc;
182 191 };
183 192  
  193 + self.editInfo = undefined;
  194 +
  195 + $scope.$watch(
  196 + function() {
  197 + return service.getEditInfo();
  198 + },
  199 + function(n, o) {
  200 + self.editInfo = n;
  201 + },
  202 + true
  203 + );
  204 +
184 205 // 刷新时刻表数据
185 206 self.refresh = function() {
186 207 service.refreshEditInfo(self.xlid, self.ttid);
187 208 };
188 209  
  210 + self.ttHeight = 500; // 时刻表的高度
  211 + var w = angular.element($window);
  212 + $scope.$watch(
  213 + function(){
  214 + return $window.innerHeight;
  215 + },
  216 + function(value) {
  217 + // 监控窗口高度
  218 + console.log(value);
  219 + //alert(value);
  220 + self.ttHeight = value - 295;
  221 + },
  222 + true
  223 + );
  224 + w.bind('resize', function() {
  225 + // 监控resize事件
  226 + $scope.$apply();
  227 + });
  228 +
  229 + /**
  230 + * 单独修改班次明细。
  231 + */
  232 + self.singleEditBcDetail = function() {
  233 + var id = null;
  234 + if (self.editInfo &&
  235 + self.editInfo.detailInfos &&
  236 + self.editInfo.detailInfos.length > 0) { // 找出第一个被选中的就可以了
  237 + for (var i = 0; i < self.editInfo.detailInfos.length; i++) {
  238 + for (var j = 0; j < self.editInfo.detailInfos[i].length; j++) {
  239 + if (self.editInfo.detailInfos[i][j].sel) {
  240 + id = self.editInfo.detailInfos[i][j].ttdid;
  241 + break;
  242 + }
  243 + }
  244 + if (id) {
  245 + break;
  246 + }
  247 + }
  248 + }
  249 + if (!id) {
  250 + alert("请选择具体班次!");
  251 + } else {
  252 + $state.go('ttInfoDetailManage_detail_edit',
  253 + {
  254 + id: id,
  255 + xlid: self.xlid,
  256 + ttid: self.ttid,
  257 + xlname: self.xlname,
  258 + ttname: self.ttname
  259 + });
  260 + }
  261 + };
  262 +
189 263 // 批量修改
190 264 self.editInfos = function() {
191 265 if (!service.editIsSel()) {
... ... @@ -363,7 +437,13 @@ angular.module(&#39;ScheduleApp&#39;).controller(
363 437 }
364 438 }
365 439 }
366   - $state.go("ttInfoDetailManage_edit", {
  440 + //$state.go("ttInfoDetailManage_edit", {
  441 + // xlid: self.xlid,
  442 + // ttid: self.ttid,
  443 + // xlname: self.xlname,
  444 + // ttname: self.ttname
  445 + //});
  446 + $state.go("ttInfoDetailManage_edit3", {
367 447 xlid: self.xlid,
368 448 ttid: self.ttid,
369 449 xlname: self.xlname,
... ... @@ -382,9 +462,10 @@ angular.module(&#39;ScheduleApp&#39;).controller(
382 462 'TimeTableDetailManageFormCtrl_old2',
383 463 [
384 464 'TimeTableDetailManageService_old',
  465 + 'ttInfoDetailService_edit3',
385 466 '$stateParams',
386 467 '$state',
387   - function(service, $stateParams, $state) {
  468 + function(service, service2, $stateParams, $state) {
388 469 var self = this;
389 470 var TTInfoDetail = service.getQueryClass();
390 471  
... ... @@ -396,10 +477,10 @@ angular.module(&#39;ScheduleApp&#39;).controller(
396 477 self.float_regex = /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/;
397 478  
398 479 // 欲保存的busInfo信息,绑定
399   - self.TimeTableDetailForSave = new TTInfoDetail;
400   - self.TimeTableDetailForSave.tcc = {};
401   - self.TimeTableDetailForSave.qdz = {};
402   - self.TimeTableDetailForSave.zdz = {};
  480 + self.tt = new TTInfoDetail;
  481 + self.tt.tcc = {id: undefined};
  482 + self.tt.qdz = {id: undefined};
  483 + self.tt.zdz = {id: undefined};
403 484  
404 485 // 获取传过来的id,有的话就是修改,获取一遍数据
405 486 self.xlid = $stateParams.xlid; // 获取传过来的线路id
... ... @@ -411,15 +492,25 @@ angular.module(&#39;ScheduleApp&#39;).controller(
411 492  
412 493 // 提交方法
413 494 self.submit = function() {
414   - if (!self.TimeTableDetailForSave.tcc.id)
415   - delete self.TimeTableDetailForSave.tcc;
416   - if (!self.TimeTableDetailForSave.qdz.id)
417   - delete self.TimeTableDetailForSave.qdz;
418   - if (!self.TimeTableDetailForSave.zdz.id)
419   - delete self.TimeTableDetailForSave.zdz;
420   -
421   - service.editInfos(self.TimeTableDetailForSave).then(function() {
422   - $state.go("ttInfoDetailManage_edit", {
  495 + //service.editInfos(self.tt).then(function() {
  496 + // $state.go("ttInfoDetailManage_edit", {
  497 + // xlid: self.xlid,
  498 + // ttid: self.ttid,
  499 + // xlname: self.xlname,
  500 + // ttname: self.ttname
  501 + // });
  502 + //}, function() {
  503 + // alert("批量更新失败!");
  504 + // $state.go("ttInfoDetailManage_edit", {
  505 + // xlid: self.xlid,
  506 + // ttid: self.ttid,
  507 + // xlname: self.xlname,
  508 + // ttname: self.ttname
  509 + // });
  510 + //});
  511 +
  512 + service.editInfos(self.tt).then(function() {
  513 + $state.go("ttInfoDetailManage_edit3", {
423 514 xlid: self.xlid,
424 515 ttid: self.ttid,
425 516 xlname: self.xlname,
... ... @@ -427,7 +518,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(
427 518 });
428 519 }, function() {
429 520 alert("批量更新失败!");
430   - $state.go("ttInfoDetailManage_edit", {
  521 + $state.go("ttInfoDetailManage_edit3", {
431 522 xlid: self.xlid,
432 523 ttid: self.ttid,
433 524 xlname: self.xlname,
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/list.html
... ... @@ -83,6 +83,8 @@
83 83 class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a>
84 84 <!--<a ui-sref="ttInfoDetailManage_edit2({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})"-->
85 85 <!--class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑2 </a>-->
  86 + <a ui-sref="ttInfoDetailManage_edit3({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name, rflag : true})"
  87 + class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑3 </a>
86 88 <a ng-click="ctrl.toTtInfoDetailAuto(info.id)"
87 89 class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 生成 </a>
88 90 <a ui-sref="ttInfoDetailManage_form({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})"
... ...