|
@@ -39,9 +39,19 @@ let basicInfoView = {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ setDatePicker: function (sheet, dateRows) {
|
|
|
+ let me = this;
|
|
|
+ this.renderSheetFuc(sheet, function () {
|
|
|
+ for(let i = 0, len = dateRows.length; i < len; i++){
|
|
|
+ sheet.getCell(dateRows[i], 1).cellType(me.getDatePickerCellType()).width(100).formatter('yyyy-mm-dd');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
buildHeader: function (sheet, headers) {
|
|
|
let me = basicInfoView;
|
|
|
let fuc = function () {
|
|
|
+ sheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values;
|
|
|
sheet.setColumnCount(headers.length);
|
|
|
sheet.setRowHeight(0, 40, GC.Spread.Sheets.SheetArea.colHeader);
|
|
|
for(let i = 0, len = headers.length; i < len; i++){
|
|
@@ -77,6 +87,7 @@ let basicInfoView = {
|
|
|
let fuc = function () {
|
|
|
sheet.setRowCount(datas.length);
|
|
|
me.initTree(sheet, true, datas);
|
|
|
+ me.setDatePicker(sheet, me.setting.dateRows);
|
|
|
sheet.setFormatter(-1, 1, '@');
|
|
|
for(let col = 0, cLen = cols.length; col < cLen; col++){
|
|
|
sheet.getRange(-1, col, -1, 1).hAlign(GC.Spread.Sheets.HorizontalAlign[cols[col]['hAlign']]);
|
|
@@ -107,6 +118,7 @@ let basicInfoView = {
|
|
|
//date
|
|
|
if(me.setting.dateRows.indexOf(args.row) !== -1){
|
|
|
if(v.length > 0){
|
|
|
+ v = formatDate(new Date(v), 'yyyy-MM-dd')
|
|
|
v = me.filtDate(v);
|
|
|
if(!v){
|
|
|
alert('请输入正确的日期格式yyyy-mm-dd');
|
|
@@ -130,6 +142,7 @@ let basicInfoView = {
|
|
|
let me = basicInfoView;
|
|
|
let items = sheetCommonObj.analyzePasteData(me.setting, args);
|
|
|
let recRows = [];
|
|
|
+ console.log('enter');
|
|
|
for(let i = 0, len = items.length; i < len; i++){
|
|
|
let row = i + args.cellRange.row;
|
|
|
if(me.setting.locked.rows.indexOf(row) !== -1){
|
|
@@ -137,7 +150,9 @@ let basicInfoView = {
|
|
|
}
|
|
|
else if(me.setting.dateRows.indexOf(row) !== -1){
|
|
|
items[i].value = me.filtDate(items[i].value);
|
|
|
- if(!items[i].value){
|
|
|
+ console.log(items.value);
|
|
|
+ if(!me.isDef(items[i].value)){
|
|
|
+ console.log('aa');
|
|
|
recRows.push(row);
|
|
|
}
|
|
|
else {
|
|
@@ -148,6 +163,8 @@ let basicInfoView = {
|
|
|
me.datas[row].value = items[i].value;
|
|
|
}
|
|
|
}
|
|
|
+ console.log(recRows);
|
|
|
+ console.log(me.datas);
|
|
|
if(recRows.length > 0){
|
|
|
me.renderSheetFuc(args.sheet, function () {
|
|
|
for(let i = 0, len = recRows.length; i < len; i++){
|
|
@@ -369,7 +386,57 @@ let basicInfoView = {
|
|
|
}
|
|
|
};
|
|
|
return new TreeNodeCellType()
|
|
|
+ },
|
|
|
+
|
|
|
+ getDatePickerCellType: function () {
|
|
|
+ let ns = GC.Spread.Sheets;
|
|
|
+
|
|
|
+ function DatePickerCellType() {
|
|
|
+ }
|
|
|
+ DatePickerCellType.prototype = new GC.Spread.Sheets.CellTypes.Base();
|
|
|
+
|
|
|
+ DatePickerCellType.prototype.createEditorElement = function (context) {
|
|
|
+ //Create input presenter.
|
|
|
+ return document.createElement("input");
|
|
|
+ };
|
|
|
+ DatePickerCellType.prototype.activateEditor = function (editorContext, cellStyle, cellRect, context) {
|
|
|
+ //Initialize input editor.
|
|
|
+ if (editorContext) {
|
|
|
+ $editor = $(editorContext);
|
|
|
+ //DatePickerCellType.prototype.activateEditor.apply(this, arguments);
|
|
|
+ $editor.datepicker({dateFormat: 'yy-mm-dd'});
|
|
|
+ $editor.css("position", "absolute");
|
|
|
+ $editor.attr("gcUIElement", "gcEditingInput");
|
|
|
+ $(".ui-datepicker").attr("gcUIElement", "gcEditingInput");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ DatePickerCellType.prototype.deactivateEditor = function (editorContext, context) {
|
|
|
+ //Remove input editor when end editor status.
|
|
|
+ if (editorContext) {
|
|
|
+ var element = editorContext;
|
|
|
+ $(element).datepicker("hide");
|
|
|
+ $(element).datepicker("destroy");
|
|
|
+ }
|
|
|
+ // DatePickerCellType.prototype.deactivateEditor.apply(this, arguments)
|
|
|
+ };
|
|
|
+ DatePickerCellType.prototype.setEditorValue = function (editor, value, context) {
|
|
|
+ //Sync value from Cell value to editor value.
|
|
|
+ $(editor).datepicker("setDate", value);
|
|
|
+ };
|
|
|
+ DatePickerCellType.prototype.getEditorValue = function (editor, context) {
|
|
|
+ //Sync value from editor value to cell value.
|
|
|
+ return $(editor).datepicker("getDate");
|
|
|
+ };
|
|
|
+ DatePickerCellType.prototype.updateEditor = function (editorContext, cellStyle, cellRect, context) {
|
|
|
+ if (editorContext) {
|
|
|
+ $editor = $(editorContext);
|
|
|
+ $editor.css("width", cellRect.width - 1);
|
|
|
+ $editor.css("height", cellRect.height - 3);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return new DatePickerCellType();
|
|
|
}
|
|
|
+
|
|
|
};
|
|
|
|
|
|
$(document).ready(function () {
|