123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777 |
- /**
- * Created by chen on 2017/8/1.
- */
- var feeRateObject={
- mainViews:null,
- datas:null,
- canEdit:false,
- activateFeeRate:null,
- needCascadeSet:false,
- selectionLoad:false,
- changeInfo:null,
- feeRateSpreads:null,
- editingCell:null,
- sheetSetting: {
- header: [
- {headerName: "专业名称", headerWidth: 200, dataCode: "name", dataType: "String"},
- {headerName: "值%", headerWidth: 150, dataCode: "rate", dataType: "String",hAlign: "right"},
- {headerName: "备注", dataCode: "memo", dataType: "String"}
- ],
- view: {
- comboBox: [],
- lockColumns: [0, 1, 2]
- }
- },
- columns: [
- {
- id: 'name',
- caption: '专业名称',
- dataField: 'name',
- width: 450,
- allowEditing: false
- },
- {
- id: 'rate',
- caption: '值%',
- dataField: 'rate',
- format: '0.000',
- width: 120,
- minWidth: 50,
- allowEditing: true
- },
- {
- id: 'memo',
- caption: '备注',
- dataField: 'memo',
- minWidth: 120,
- allowEditing: true
- },
- {
- id: 'ID',
- caption: 'ID',
- dataField: 'ID',
- width: 80,
- visible: false,
- allowEditing: false
- },
- {
- id: 'subFeeRate',
- caption: '子费率',
- dataField: 'subFeeRate',
- width: 80,
- visible: false,
- allowEditing: false
- },
- {
- id: '_id',
- caption: '自动ID',
- dataField: '_id',
- width: 80,
- visible: false,
- allowEditing: false
- },
- {
- id: 'ParentID',
- caption: '父结点ID',
- dataField: 'ParentID',
- width: 80,
- visible: false,
- allowEditing: false
- }
- ],
- options :{
- allowSorting: false,
- showRowHeader: true,
- colMinWidth: 80,
- rowHeight: 30,
- allowEditing: true,
- editMode: 'inline',
- editUnit: 'cell',
- selectionUnit: "row",
- hierarchy: {
- keyField: 'ID',
- parentField: 'ParentID',
- collapsed: false,
- column: 'name'
- }
- },
- dataSource : {
- loadRange: function(params) {
- params.success(feeRateObject.datas);
- },
- update: function(params) {
- if(!params.hasOwnProperty('sourceIndex')){
- var selected = feeRateObject.mainViews.getSelections()[0];
- params.sourceIndex = selected.sourceRow;
- }
- params.success();
- if(!$('#cascadeSet').prop('checked')||params.hasOwnProperty('viewIndex')){
- projectObj.project.FeeRate.updateFeeRateByEdit(params,feeRateObject.activateFeeRate);
- }
- }
- },
- createSheet:function(){
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
- feeRateObject.feeRateSpreads=sheetCommonObj.buildSheet($('#fee_rate_sheet')[0], feeRateObject.sheetSetting,feeRateFile.rates.length);
- //gljOprObj.gljLibSpresd.bind(GC.Spread.Sheets.Events.ButtonClicked,gljOprObj.onButtonClick);
- feeRateObject.feeRateSheet = feeRateObject.feeRateSpreads.getSheet(0);
- feeRateObject.feeRateSheet.selectionUnit(1)//0 cell,1 row,2 col;
- feeRateObject.feeRateSheet.options.isProtected = true;
- feeRateObject.feeRateSheet.name('fee_rate');
- },
- showSelectTree:function () {
- var sheet= feeRateObject.feeRateSheet;
- var setting=feeRateObject.sheetSetting;
- var data = projectObj.project.FeeRate.getActivateFeeRate().rates;
- var ch = GC.Spread.Sheets.SheetArea.viewport;
- var groups=[];
- sheet.suspendPaint();
- sheet.suspendEvent();
- sheet.rowOutlines.direction(GC.Spread.Sheets.Outlines.OutlineDirection.backward);
- sheet.getRange(-1, 0, -1, 1).cellType(feeRateObject.getTreeNodeCellType());
- for (var col = 0; col < setting.header.length; col++) {
- var hAlign = "left", vAlign = "center";
- if (setting.header[col].hAlign) {
- hAlign = setting.header[col].hAlign;
- } else if (setting.header[col].dataType !== "String"){
- hAlign = "right";
- }
- vAlign = setting.header[col].vAlign?setting.header[col].vAlign:vAlign;
- sheetCommonObj.setAreaAlign(sheet.getRange(-1, col, -1, 1), hAlign, vAlign);
- if (setting.header[col].formatter) {
- sheet.setFormatter(-1, col, setting.header[col].formatter, GC.Spread.Sheets.SheetArea.viewport);
- }
- for (var row = 0; row < data.length; row++) {
- var val = data[row][setting.header[col].dataCode];
- if(val&&setting.header[col].dataType === "Number"){
- if(setting.header[col].hasOwnProperty('tofix')){
- val =parseFloat(val).toFixed(setting.header[col].tofix);
- }else {
- val =parseFloat(val).toFixed(2);
- }
- }
- sheet.setValue(row, col, val, ch);
- if(col==0){
- feeRateObject.setSheetGroup(data[row],data,groups,row+1);
- }
- }
- }
- //this.lockCells(sheet,setting);
- console.log(groups);
- _.forEach(groups,function (g) {
- for(var k in g){
- sheet.rowOutlines.group(parseInt(k), g[k]);
- }
- })
- /* sheet.rowOutlines.group(1, 6);
- sheet.rowOutlines.group(8, 6);
- sheet.rowOutlines.group(15, 6);
- sheet.rowOutlines.group(22, 6);*/
- // sheet.getRange(-1, 0, -1, 1).width(300);
- sheet.showRowOutline(false);
- sheet.resumeEvent();
- sheet.resumePaint(false);
- },
- getTreeNodeCellType:function () {
- var ns = GC.Spread.Sheets;
- function TreeNodeCellType() {
- }
- TreeNodeCellType.prototype = new ns.CellTypes.Text();
- TreeNodeCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
- var level = options.sheet.rowOutlines.getLevel(options.row);
- var nlevel = -1;
- if (options.row < options.sheet.getRowCount() - 1) {
- nlevel = options.sheet.rowOutlines.getLevel(options.row + 1);
- }
- var hoffset = (level + 2) * 12;
- x += hoffset;
- w -= hoffset;
- GC.Spread.Sheets.CellTypes.Base.prototype.paint.apply(this, arguments);
- if (options.row == options.sheet.getRowCount() - 1) return; //last row
- if (nlevel > level) {
- var collapsed = options.sheet.rowOutlines.isCollapsed(options.row + 1);
- x--;
- y += h / 2 - 3;
- ctx.save();
- ctx.fillStyle = "black";
- ctx.beginPath();
- if (collapsed) {
- ctx.moveTo(x - 5, y);
- ctx.lineTo(x, y + 3);
- ctx.lineTo(x - 5, y + 6);
- } else {
- ctx.moveTo(x, y);
- ctx.lineTo(x, y + 5);
- ctx.lineTo(x - 5, y + 5);
- }
- ctx.fill();
- ctx.restore();
- }
- else {
- x--;
- y += h / 2 - 3;
- ctx.save();
- ctx.restore();
- }
- };
- // override getHitInfo to allow cell type get mouse messages
- TreeNodeCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
- return {
- x: x,
- y: y,
- row: context.row,
- col: context.col,
- cellStyle: cellStyle,
- cellRect: cellRect,
- sheetArea: context.sheetArea
- };
- }
- TreeNodeCellType.prototype.processMouseDown = function (hitinfo) {
- var level = hitinfo.sheet.rowOutlines.getLevel(hitinfo.row);
- var hoffset = (level + 2) * 12 + hitinfo.cellRect.x;
- if (hitinfo.x < hoffset && hitinfo.x > hoffset - 10) {
- var collapsed = hitinfo.sheet.rowOutlines.isCollapsed(hitinfo.row + 1);
- hitinfo.sheet.rowOutlines.setCollapsed(hitinfo.row, !collapsed);
- hitinfo.sheet.invalidateLayout();
- hitinfo.sheet.repaint();
- }
- };
- return new TreeNodeCellType()
- },
- getFeeRateEditCellType:function () {
- var ns = GC.Spread.Sheets;
- function FeeRateEditCellType() {
- var init=false;
- }
- FeeRateEditCellType.prototype = new ns.CellTypes.Text();
- FeeRateEditCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
- if(value!=null){
- ctx.fillText(value,x+3+ctx.measureText(value).width,y+h-3);
- }
- if(feeRateObject.editingCell){
- if(feeRateObject.editingCell.row==options.row&&feeRateObject.editingCell.col==options.col){
- var image = document.getElementById('f_btn'),imageMagin = 3;
- var imageHeight = h-2*imageMagin;
- var imageWidth = imageHeight* 4/3;
- var imageX = x + w - imageWidth- imageMagin, imageY = y + h / 2 - imageHeight / 2;
- ctx.save();
- ctx.drawImage(image, imageX, imageY,imageWidth,imageHeight);
- ctx.beginPath();
- ctx.arc(imageX+imageWidth/2,imageY+imageHeight/2,1,0,360,false);
- ctx.arc(imageX+imageWidth/2-4,imageY+imageHeight/2,1,0,360,false);
- ctx.arc(imageX+imageWidth/2+4,imageY+imageHeight/2,1,0,360,false);
- ctx.fillStyle="black";//填充颜色,默认是黑色
- ctx.fill();//画实心圆
- ctx.closePath();
- ctx.restore();
- }
- }
- };
- FeeRateEditCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
- return {
- x: x,
- y: y,
- row: context.row,
- col: context.col,
- cellStyle: cellStyle,
- cellRect: cellRect,
- sheetArea: context.sheetArea
- };
- };
- FeeRateEditCellType.prototype.processMouseDown = function (hitinfo) {
- if(feeRateObject.editingCell==null){
- feeRateObject.editingCell={
- row:hitinfo.row,
- col:hitinfo.col
- }
- hitinfo.sheet.invalidateLayout();
- hitinfo.sheet.repaint();
- }else if(hitinfo.row==feeRateObject.editingCell.row){
- var offset=hitinfo.cellRect.x+hitinfo.cellRect.width-6;
- var imageMagin=3;
- var imageHeight = hitinfo.cellRect.height-2*imageMagin;
- var imageWidth = imageHeight* 4/3;
- if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
- feeRateObject.showSelectModal(hitinfo);
- }
- }
- };
- FeeRateEditCellType.prototype.processMouseLeave = function (hitinfo) {
- feeRateObject.editingCell=null;
- hitinfo.sheet.invalidateLayout();
- hitinfo.sheet.repaint();
- }
- return new FeeRateEditCellType();
- },
- showSelectModal:function (hitinfo) {
- $("#fee_rate_tree").modal({show:true});
- $('#edit_from').val(hitinfo.sheet.name());
- $('#edit_row').val(hitinfo.row);
- },
- setSheetGroup:function (rate,data,groups,row) {
- var me=this;
- var group={};
- var count=me.getChildrenCount(rate.ID,data);
- if(count>0){
- group[row]=count;
- groups.push(group);
- }
- return groups;
- },
- getChildrenCount:function (id,data) {
- var me=this;
- var sum=0;
- var children=_.filter(data,{'ParentID':id});
- if(children&&children.length==0){
- return 0;
- }
- for(var i=0;i<children.length;i++){
- sum+=me.getChildrenCount(children[i].ID,data);
- }
- return children.length+sum;
- },
- createSpreadView:function () {
- if (this.mainViews) {
- this.mainViews.destroy();
- this.mainViews = null;
- }
- this.activateFeeRate = projectObj.project.FeeRate.getActivateFeeRate();
- this.datas = this.activateFeeRate.rates;
- this.mainViews = new GC.Spread.Views.DataView($('#divFee')[0],
- this.dataSource, this.columns, new GC.Spread.Views.Plugins.GridLayout(this.options));
- this.mainViews["rowClick"].addHandler(subRateObject.reFreshRateViews);
- this.mainViews .invalidate();
- document.querySelector('#divFee').focus();
- },
- reFreshRateViews:function() {
- if(this.mainViews){
- this.mainViews.refresh()
- }else {
- feeRateObject.createSpreadView();
- //setTimeout("feeRateObject.createSpreadView()",100);
- }
- },
- updateBySelect:function (rate,selectMap,mapID) {
- var selected = this.mainViews.getSelections()[0];
- var item = this.datas[selected.sourceRow];
- item.rate = rate;
- _.forEach(selectMap,function (value,key) {
- var recode = item.subFeeRate.recodes[key];
- var optionList = recode.optionList;
- _.forEach(optionList,function (o) {
- if(o.value==value){
- o.selected=true;
- }else {
- o.selected = false;
- }
- })
- })
- if($('#cascadeSet').prop('checked')){
- this.cascadeSetRates(item,selected.sourceRow,mapID,selectMap)
- }else {
- this.mainViews.data.updateItem(selected.sourceRow,item);
- }
- projectObj.project.FeeRate.synchronizeFeeRate();
- //this.views.data.updateItem()
- },
- cascadeSetRates:function(selectedItem,sourceRow,mapID,selectMap){
- var items=[];
- items.push({rateIndex:sourceRow,rate:selectedItem});
- _.forEach(this.datas,function (recode,Index) {
- if(Index!=sourceRow&&recode.subFeeRate){
- var valueMaps = recode.subFeeRate.valueMaps;
- var valueMap = _.find(valueMaps,{ID:mapID});
- if(valueMap){//选项完全一样的情况
- if(valueMap.value==recode.rate){
- return;
- }else {
- recode.rate = valueMap.value;
- _.forEach(selectMap,function (value,key) {
- var tempRecode = recode.subFeeRate.recodes[key];
- var optionList = tempRecode.optionList;
- _.forEach(optionList,function (o) {
- if(o.value==value){
- o.selected=true;
- }else {
- o.selected = false;
- }
- })
- })
- items.push({rateIndex:Index,rate:recode});
- }
- }else {//某条选项一样的情况
- var needUpdate = false;
- var selectList = mapID.split('-');
- var newList=[];
- _.forEach(recode.subFeeRate.recodes,function (r) {
- var oList = r.optionList;
- var oldSelectIndex=0;
- var hasChange=false;
- _.forEach(oList,function (o,key) {
- if(o.selected){
- oldSelectIndex = key;
- }
- if(_.includes(selectList,o.value)){
- needUpdate=true;
- o.selected=true;
- hasChange=true;
- newList.push(o.value);
- }else {
- o.selected=false;
- }
- })
- if(!hasChange){
- oList[oldSelectIndex].selected=true;
- newList.push(oList[oldSelectIndex].value)
- }
- })
- if(needUpdate){
- var newValue = _.find(valueMaps,{ID:newList.join("-")})//取出费率值并更新
- if(newValue){
- if(recode.rate != newValue.value){
- recode.rate = newValue.value
- items.push({rateIndex:Index,rate:recode});
- }
- }
- }
- }
- }
- })
- _.forEach(items,function (t) {
- feeRateObject.mainViews.data.updateItem(t.rateIndex,t.rate);
- })
- projectObj.project.FeeRate.batchUpdateFeeRate(items,feeRateObject.activateFeeRate);
- },
- loadPageContent:function(){
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
- var usageProjects = feeRateFile.usageProjects;
- $('#feeRateFileName').text(feeRateFile.name);
- $('#feeRateLibName').text(feeRateFile.libName);
- $('#projectCount').text(usageProjects.length);
- },
- loadFeeRateSelection:function() {
- if(!this.selectionLoad){
- var selectedID=0;
- _.forEach(projectObj.project.FeeRate.datas,function (data) {
- var option = $("<option>").val(data.ID).text(data.libName);
- $('#inlineFormCustomSelect').append(option);
- if(data.status=='activate'){
- selectedID=data.ID;
- }
- })
- $('#inlineFormCustomSelect').val(selectedID);
- }
- },
- getFeeRateStandards:function (callback) {
- CommonAjax.post('/feeRates/getFeeRateStandards', {"projectID": projectObj.project.ID()}, function (data) {
- if (data) {
- callback(data);
- }
- });
- },
- changeFeeRateStandard:function(newVal){
- var callback=function () {
- feeRateObject.createSpreadView();
- feeRateObject.loadPageContent();
- projectObj.project.FeeRate.synchronizeFeeRate();
- subRateObject.destorySpreadView();
- };
- projectObj.project.FeeRate.changeFeeRateStandard(newVal,callback);
- },
- checkFeeRateName:function (newVal) {
- if(!newVal||newVal==""){
- $('#saveAsConfirm').attr("disabled","disabled");
- $('#nameError').text("请输入文件名称。").show();
- return;
- }
- var callback=function (data) {
- if(data){
- $('#saveAsConfirm').attr("disabled","disabled");
- $('#nameError').text("已存在同名费率文件。").show();
- $('#valid_name').val('');
- }else {
- $('#valid_name').val(newVal);
- $('#saveAsConfirm').removeAttr("disabled");
- $('#nameError').hide();
- }
- console.log(data);
- };
- projectObj.project.FeeRate.checkFeeRateName(newVal,callback);
- },
- feeRateFileSaveAs:function (newName) {
- if(!newName||newName==""){
- $('#saveAsConfirm').attr("disabled","disabled");
- $('#nameError').text("请输入文件名称。").show();
- return;
- }
- var valideName = $('#valid_name').val();
- if(valideName==''||valideName!==newName){
- var callback=function (data) {
- if(data){
- $('#saveAsConfirm').attr("disabled","disabled");
- $('#nameError').text("已存在同名费率文件。").show();
- $('#valid_name').val('');
- }else {
- feeRateObject.submitSaveAs(newName);
- }
- }
- projectObj.project.FeeRate.checkFeeRateName(newName,callback)
- }else {
- feeRateObject.submitSaveAs(newName);
- }
- },
- submitSaveAs:function (newName) {
- this.activateFeeRate = projectObj.project.FeeRate.feeRateFileSaveAs(newName);
- feeRateObject.loadPageContent();
- $('#copy-lv').modal('hide');
- },
- getChangeInfo:function () {
- var me = this;
- var callback=function (data) {
- me.changeInfo=data;
- me.loadChangePageContent(data);
- console.log(data);
- };
- projectObj.project.FeeRate.getChangeInfo(callback);
- },
- loadChangePageContent:function (data) {
- $('#currentProject').text(data.currentProject.name);
- $('#currentOptions').empty();
- _.forEach(data.currentProject.currentOptions,function (s) {
- var option = $("<option>").val(s.ID).text(s.name);
- $('#currentOptions').append(option);
- })
- $('#currentOptions').val(projectObj.project.FeeRate.getActivateFeeRateID());
- $('#otherProject').empty();
- _.forEach(data.others,function (p) {
- var option = $("<option>").val(p.ID).text(p.name);
- $('#otherProject').append(option);
- });
- $('#otherFeeRateOption').empty();
- if(data.others.length>0){
- _.forEach(data.others[0].optionList,function (f) {
- var option = $("<option>").val(f.ID).text(f.name);
- $('#otherFeeRateOption').append(option);
- });
- }
- },
- changeFeeRateFileFromCurrent:function(){
- var newVal = $("#currentOptions").val();
- if($("#currentOptions").val()==this.activateFeeRate.ID){
- return;
- }
- var name =$("#currentOptions").find("option:selected").text();
- var newFeeRateFile = {
- id:newVal,
- name:name
- }
- var callback=function () {
- feeRateObject.createSpreadView();
- feeRateObject.loadPageContent();
- projectObj.project.FeeRate.synchronizeFeeRate();
- }
- projectObj.project.FeeRate.changeFeeRateFileFromCurrent(newFeeRateFile,callback);
- },
- changeFeeRateFileFromOthers:function () {
- var feeRateFileID = $("#otherFeeRateOption").val();
- var name =$("#otherFeeRateOption").find("option:selected").text();
- if(null===feeRateFileID){
- alert("请选择一个费率文件!");
- return;
- }
- var currentOption = _.find(this.changeInfo.currentProject.currentOptions,{name:name})
- if(currentOption){
- $("#rename-lv").modal({show:true});
- $("#newFeeRateID").val(feeRateFileID);
- $("#newFeeRateName").val(name);
- }else {
- this.changeFeeRateFileConfirm(feeRateFileID,name);
- }
- },
- changeFeeRateFileConfirm:function(feeRateFileID,name){
- var callback=function () {
- feeRateObject.createSpreadView();
- feeRateObject.loadPageContent();
- projectObj.project.FeeRate.synchronizeFeeRate();
- }
- projectObj.project.FeeRate.changeFeeRateFileFromOthers(feeRateFileID,name,callback);
- }
- }
- function getPopoverContent() {
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
- var usageProjects = feeRateFile.usageProjects;
- var popover_content = "";
- _.forEach(usageProjects,function (p,index) {
- if(index>0){
- popover_content+='<br>';
- }
- popover_content+=p.name;
- })
- return popover_content;
- }
- $('#pop-lv').popover({
- placement:"bottom",
- html:true,
- trigger:"hover | focus",
- content:getPopoverContent
- }
- );
- $('#tab_fee_rate').on('shown.bs.tab', function (e) {
- feeRateObject.reFreshRateViews();
- feeRateObject.loadPageContent();
- });
- $('#setNewFeeRate').bind('click', function () {
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
- var usageProjects = feeRateFile.usageProjects;
- var listString ='';
- _.forEach(usageProjects,function (u) {
- listString+="<li>"+u.name+"</li>"
- })
- $("#usageProjectList").html(listString);
- $("#set-lv-feeRateName").text(feeRateFile.name);
- $("#set-use-feeRateName").text(feeRateFile.name);
- feeRateObject.getFeeRateStandards(function (data) {
- $('#standardSelect').empty();
- _.forEach(data,function (s) {
- var option = $("<option>").val(s.ID).text(s.libName);
- $('#standardSelect').append(option);
- })
- $('#standardSelect').val(feeRateFile.libID);
- });
- });
- $('#changeConfirm').bind('click', function (){
- var newVal=$('#standardSelect').val();
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
- if(newVal&&newVal!=feeRateFile.libID){
- feeRateObject.changeFeeRateStandard(newVal);
- }
- });
- $('#saveAs').bind('click', function (){
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
- $('#copyFeeRateName').val(feeRateFile.name+'副本');
- $('#valid_name').val(feeRateFile.name+'副本');
- $('#nameError').hide();
- });
- $('#saveAsConfirm').bind('click',function () {
- feeRateObject.feeRateFileSaveAs($('#copyFeeRateName').val());
- })
- $('#copyFeeRateName').change(function () {
- feeRateObject.checkFeeRateName(this.value);
- });
- $('#newFeeRateName').change(function () {
- var newName = $(this).val();
- if(!newName||newName==""){
- $('#renameConfirm').attr("disabled","disabled");
- $('#renameError').text("请输入文件名称。").show();
- return;
- }
- var callback=function (data) {
- if(data){
- $('#renameConfirm').attr("disabled","disabled");
- $('#renameError').text("本建设项目中已存在同名费率文件。").show();
- }else {
- $('#renameConfirm').removeAttr("disabled");
- $('#renameError').hide();
- }
- };
- projectObj.project.FeeRate.checkFeeRateName(newName,callback);
- });
- function changeFRadioClick() {
- var radioV= $("input[name='chaneg-lv-Radio']:checked").val();
- if(radioV==='0'){
- $("#fromProject").show();
- $("#fromOther").hide();
- }else {
- $("#fromProject").hide();
- $("#fromOther").show();
- }
- }
- $('#changeFeeRateConfirm').bind('click',function (){
- var radioV= $("input[name='chaneg-lv-Radio']:checked").val();
- if(radioV==='0'){
- feeRateObject.changeFeeRateFileFromCurrent();
- }else {
- feeRateObject.changeFeeRateFileFromOthers();
- }
- })
- $('#changFeeRateFile').bind('click',function (){
- $("input[name='chaneg-lv-Radio']")[0].checked=true;
- $("#fromProject").show();
- $("#fromOther").hide();
- feeRateObject.getChangeInfo();
- })
- $('#otherProject').change(function(){
- var newVal = $(this).val();
- var projects = feeRateObject.changeInfo.others;
- var selected = _.find(projects,{ID:parseInt(newVal)});
- $('#otherFeeRateOption').empty();
- _.forEach(selected.optionList,function (f) {
- var option = $("<option>").val(f.ID).text(f.name);
- $('#otherFeeRateOption').append(option);
- });
- })
- $('#renameConfirm').bind('click',function (){
- var feeRateFileID= $("#newFeeRateID").val();
- var name = $("#newFeeRateName").val();
- feeRateObject.changeFeeRateFileConfirm(feeRateFileID,name);
- })
- $('#inlineFormCustomSelect').change(function(){
- var updateTask = [];
- var selectID = $(this).val();
- var oldValue=0;
- _.forEach(projectObj.project.FeeRate.datas,function (feeRate) {
- if(feeRate.status=='activate'){
- oldValue=feeRate.ID;
- }
- if(feeRate.ID ==selectID){
- feeRate.status='activate';
- }else {
- feeRate.status='disable';
- }
- updateTask.push({query:{ID:feeRate.feeRateID},doc:{status:feeRate.status}});
- })
- projectObj.project.FeeRate.updateStatusBySelected(updateTask);
- feeRateObject.createSpreadView();
- subRateObject.destorySpreadView();
- socket.emit('changeActivateFeeRate',{oldRoom:oldValue,newRoom:selectID});
- })
- $('#fee_rate_tree').on('shown.bs.modal', function (e) {
- if(feeRateObject.feeRateSpreads==null){
- feeRateObject.createSheet();
- }
- feeRateObject.showSelectTree();
- });
- $('#fee_rate_tree').on('hidden.bs.modal', function (e) {
- if(feeRateObject.feeRateSpreads){
- feeRateObject.feeRateSpreads.destroy();
- feeRateObject.feeRateSpreads=null;
- $('#edit_from').val('');
- $('#edit_row').val('');
- }
- });
|