提交 486d94ff 编写于 作者: NoSubject's avatar NoSubject

数据网格附件移动端支持

上级 3032a858
......@@ -1589,7 +1589,17 @@ MWF.xApplication.process.Xform.Attachment = MWF.APPAttachment = new Class({
getTextData: function(){
var data = [];
this.attachmentController.attachments.each(function(att){
data.push(att.data);
var o = {
"person": att.data.person,
"creatorUid": att.data.creatorUid,
"name": att.data.name,
"orderNumber": att.data.orderNumber,
"length": att.data.length,
"extension": att.data.extension,
"lastUpdateTime": att.data.lastUpdateTime,
"activityName": att.data.activityName
}
data.push(o);
});
return data;
},
......
......@@ -219,6 +219,8 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
var module = this.editModules[index];
if( module && module.json.type == "ImageClipper" ){
this._createImage( cell, module, v );
}else if( module && (module.json.type == "Attachment" || module.json.type == "AttachmentDg") ){
this._createAttachment( cell, module, v );
}else{
text = this._getValueText(index, v);
if( module && module.json.type == "Textarea" ){
......@@ -306,6 +308,8 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
var module = this.editModules[index];
if( module && module.json.type == "ImageClipper" ){
this._createImage( cell, module, v )
}else if( module && (module.json.type == "Attachment" || module.json.type == "AttachmentDg") ){
this._createAttachment( cell, module, v );
}else{
text = this._getValueText(index, v);
if( module && module.json.type == "Textarea" ){
......@@ -415,6 +419,50 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
"max-width": "90%"
})
},
_createAttachment: function ( cell, module, data ){
cell.empty();
var options = {
"style": module.json.style || "default",
"title": "附件区域",
"listStyle": module.json.dg_listStyle || "icon",
"size": module.json.dg_size || "min",
"resize": (module.json.dg_resize === "y" || this.json.dg_resize === "true"),
"attachmentCount": 0,
"isUpload": false,
"isDelete": false,
"isReplace": false,
"isDownload": true,
"isSizeChange": (module.json.dg_isSizeChange === "y" || module.json.dg_isSizeChange === "true"),
"readonly": true,
"availableListStyles": module.json.dg_availableListStyles ? module.json.dg_availableListStyles : ["list", "seq", "icon", "preview"],
"isDeleteOption": "n",
"isReplaceOption": "n",
"toolbarGroupHidden": module.json.dg_toolbarGroupHidden || []
};
if (this.readonly) options.readonly = true;
var atts = [];
data.each(function(d){
var att = module.attachmentController.attachments.find(function(a){
return d.id == a.data.id;
});
if (att) module.attachmentController.removeAttachment(att);
});
module.setAttachmentBusinessData();
var attachmentController = new MWF.xApplication.process.Xform.AttachmentController(cell, this, options);
attachmentController.load();
data.each(function (att) {
var attachment = this.form.businessData.attachmentList.find(function(a){
return a.id==att.id;
});
var attData = attachment || att;
//if (att.site===this.json.id || (this.json.isOpenInOffice && this.json.officeControlName===att.site)) this.attachmentController.addAttachment(att);
attachmentController.addAttachment(attData);
}.bind(this));
},
_createItemTitleNode: function(node, idx){
var n = idx+1;
var titleDiv = new Element("div", {"styles": this.json.itemTitleStyles}).inject(node);
......@@ -588,6 +636,15 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
if(datagridDataDiv)datagridDataDiv.destroy();
}
datagrid.editModules.each(function(module){
if (module && (module.json.type=="Attachment" || module.json.type=="AttachmentDg")){
module.attachmentController.attachments.each(function(att){
datagrid.form.workAction.deleteAttachment(att.data.id, datagrid.form.businessData.work.id);
});
module.attachmentController.clear();
}
});
datagrid.currentEditLine = null;
if (!_self.gridData.data.length){
......@@ -679,6 +736,11 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
i = this.currentEditLine.getElement("table").getElements("tr")[idx].getElement("td").get("text");
}
data = {"value": [i], "text": [i]};
}else if (module.json.type=="Attachment" || module.json.type == "AttachmentDg"){
var data = module.getTextData();
//data.site = module.json.site;
if (!griddata[id]) griddata[id] = {};
griddata[id][module.json.id] = data;
}else{
data = module.getTextData();
//if (data.value[0]) flag = false;
......@@ -697,6 +759,8 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
if( module.json.type == "ImageClipper" ){
this._createImage( cell, module, data.text );
}else if( module.json.type == "Attachment" || module.json.type == "AttachmentDg" ){
this._createAttachment( cell, module, data );
}else{
var text = this._getValueText(idx, data.text.join(", "));
if( module.json.type == "Textarea"){
......@@ -719,6 +783,8 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
var cellData = data[th.get("id")];
if( module.json.type == "ImageClipper" ){
this._createImage( cell, module, data.text );
}else if( module.json.type == "Attachment" || module.json.type == "AttachmentDg" ){
this._createAttachment( cell, module, data );
}else{
var text = this._getValueText(idx, data.text.join(", "));
if( module.json.type == "Textarea"){
......@@ -763,7 +829,7 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
this._addLine();
}.bind(this));
this.form.saveFormData();
return true;
},
_editorTrGoBack: function(){
......@@ -881,6 +947,20 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
this.form.confirm("warn", e, MWF.xApplication.process.Xform.LP.deleteDatagridLineTitle, MWF.xApplication.process.Xform.LP.deleteDatagridLine, 300, 120, function(){
_self.fireEvent("deleteLine", [currentTable]);
var data = currentTable.retrieve("data");
//var attKeys = [];
var titleThs = currentTable.getElements("th");
titleThs.each(function(th, i){
var key = th.get("id");
var module = _self.editModules[i];
if (key && module && (module.json.type=="Attachment" || module.json.type=="AttachmentDg")){
data[key][module.json.id].each(function(d){
_self.form.workAction.deleteAttachment(d.id, _self.form.businessData.work.id);
});
}
});
node.destroy();
//datagrid._loadZebraStyle();
datagrid._loadSequence();
......@@ -897,6 +977,8 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
this.close();
_self.fireEvent("afterDeleteLine");
_self.form.saveFormData();
}, function(){
//var color = currentTr.retrieve("bgcolor");
//currentTr.tween("background-color", color);
......@@ -1483,6 +1565,13 @@ MWF.xApplication.process.Xform.DatagridMobile$Data = new Class({
moduleNodes.each(function(node){
var json = this.form._getDomjson(node);
var isField = false;
if (json.type=="Attachment" || json.type=="AttachmentDg" ){
json.type = "AttachmentDg";
//json.site = this.dataGrid.getAttachmentRandomSite();
//json.id = json.site;
}
var module = this.form._loadModule(json, node, function(){
isField = this.field;
this.field = false;
......
......@@ -79,10 +79,6 @@ MWF.xApplication.process.Xform.DatagridPC = new Class({
this.editorTr = trs[trs.length-1];
this.editorTr.addClass("datagridEditorTr");
this.editorTr.addEvent("blur", function(){
alert('blur')
});
return this.editorTr;
},
_addTitleActionColumn: function(){
......@@ -440,7 +436,7 @@ MWF.xApplication.process.Xform.DatagridPC = new Class({
if (!this.editValidation()){
return false;
}
debugger;
this.isEdit = false;
var flag = true;
......@@ -489,7 +485,7 @@ debugger;
if (cell){
if( module.json.type == "ImageClipper" ){
this._createImage( cell, module, data.text );
}if( module.json.type == "Attachment" || module.json.type == "AttachmentDg" ){
}else if( module.json.type == "Attachment" || module.json.type == "AttachmentDg" ){
this._createAttachment( cell, module, data );
}else{
var text = this._getValueText(idx-1, data.text.join(", "));
......@@ -626,29 +622,6 @@ debugger;
var currentTr = node.getParent("tr");
if (currentTr){
this.editorTr.inject(currentTr, "after");
this.editorTr.focus();
this.editModules.each(function(module, idx){
if (module.json.type=="Attachment" || module.json.type == "AttachmentDg"){
//module.json.site = this.getAttachmentRandomSite();
//module.json.id = module.json.site;
//module.reload();
// var d = this.getData();
//
// var titleThs = this.titleTr.getElements("th");
// var th = titleThs[idx+1];
// var title = th.get("id");
//
// var atts = [];
// d.data.each(function(line){
// atts = line[title][module.json.id];
// });
//d.data
// if (json.type=="Attachment" || json.type=="AttachmentDg" ){
// module.
// }
}
}.bind(this));
}
this.isEdit =true;
this.validationMode();
......@@ -665,9 +638,6 @@ debugger;
currentTr.tween("background-color", "#ffd4d4");
var datagrid = this;
var _self = this;
this.form.confirm("warn", e, MWF.xApplication.process.Xform.LP.deleteDatagridLineTitle, MWF.xApplication.process.Xform.LP.deleteDatagridLine, 300, 120, function(){
_self.fireEvent("deleteLine", [currentTr]);
......@@ -684,14 +654,6 @@ debugger;
});
}
});
// attKeys.each(function(k){
// if (data[k]){
// data[k].each(function(d){
// _self.form.workAction.deleteAttachment(d.id, _self.form.businessData.work.id);
// });
// }
// });
currentTr.destroy();
datagrid._loadZebraStyle();
......@@ -1396,6 +1358,5 @@ MWF.xApplication.process.Xform.DatagridPC$Data = new Class({
this.dataGrid.editModules.push(module);
}.bind(this));
}
},
}
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册