@steedos-widgets/amis-lib 3.6.2-beta.1 → 3.6.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -113,22 +113,23 @@ if(typeof width=='string'){if(isNaN(width)){return width||defaultWidth;}else{ret
113
113
  "size": "none",
114
114
  "className": "flex items-center justify-between"//每行样式类
115
115
  }
116
- */function _getTableColumns(){_getTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(fields,options){var _options$permissions;var columns,allowEdit,_iterator6,_step7,field,quickEditSchema,className,columnItem,previewFileScript,map,tpl,type,href;return _regeneratorRuntime().wrap(function _callee56$(_context56){while(1){switch(_context56.prev=_context56.next){case 0:columns=[];if(!options.isLookup&&!options.isInputTable){if(!options.enable_tree){columns.push({name:'_index',type:'text',width:32,placeholder:""});}}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=51;break;}field=_step7.value;if(!(field.hidden||field.extra)){_context56.next=10;break;}return _context56.abrupt("continue",49);case 10:if(!allowEdit){_context56.next=16;break;}_context56.next=13;return getQuickEditSchema(field,options);case 13:_context56.t0=_context56.sent;_context56.next=17;break;case 16:_context56.t0=allowEdit;case 17:quickEditSchema=_context56.t0;className="";if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-all ";}columnItem=void 0;if(!((field.is_name||field.name===options.labelFieldName)&&options.objectName==='cms_files')){_context56.next=26;break;}previewFileScript="\n var data = event.data;\n var file_name = data.versions ? data.name : \"".concat(field.label,"\";\n var file_id = data._id;\n SteedosUI.previewFile && SteedosUI.previewFile({file_name, file_id});\n ");columnItem={"type":"button","label":"<%=data.versions ? data.name : \"".concat(field.label,"\"%>"),className:className,"level":"link","onEvent":{"click":{"actions":[{"args":{"api":{"url":"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download",// "expression": "!!!window?.nw?.require"//浏览器上直接下载
116
+ */function _getTableColumns(){_getTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(fields,options){var _options$permissions;var columns,allowEdit,_iterator6,_step7,field,quickEditSchema,className,columnItem,previewFileScript,map,_field$amis,_field$amis2,_field$amis3,tpl,type,href;return _regeneratorRuntime().wrap(function _callee56$(_context56){while(1){switch(_context56.prev=_context56.next){case 0:columns=[];if(!options.isLookup&&!options.isInputTable){if(!options.enable_tree){columns.push({name:'_index',type:'text',width:32,placeholder:""});}}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=53;break;}field=_step7.value;if(!(field.hidden||field.extra)){_context56.next=10;break;}return _context56.abrupt("continue",51);case 10:if(!allowEdit){_context56.next=16;break;}_context56.next=13;return getQuickEditSchema(field,options);case 13:_context56.t0=_context56.sent;_context56.next=17;break;case 16:_context56.t0=allowEdit;case 17:quickEditSchema=_context56.t0;className="";if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-all ";}columnItem=void 0;if(!((field.is_name||field.name===options.labelFieldName)&&options.objectName==='cms_files')){_context56.next=26;break;}previewFileScript="\n var data = event.data;\n var file_name = data.versions ? data.name : \"".concat(field.label,"\";\n var file_id = data._id;\n SteedosUI.previewFile && SteedosUI.previewFile({file_name, file_id});\n ");columnItem={"type":"button","label":"<%=data.versions ? data.name : \"".concat(field.label,"\"%>"),className:className,"level":"link","onEvent":{"click":{"actions":[{"args":{"api":{"url":"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download",// "expression": "!!!window?.nw?.require"//浏览器上直接下载
117
117
  "expression":"!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
118
118
  },{"args":{},"actionType":"custom","script":previewFileScript,// "expression": "!!window?.nw?.require" //PC客户端预览附件
119
119
  "expression":"!!!(window && window.nw && window.nw.require)"//PC客户端预览附件
120
- }]}}};_context56.next=48;break;case 26:if(!(field.type==='toggle')){_context56.next=30;break;}columnItem=Object.assign({},{type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},field.amis,{name:field.name});_context56.next=48;break;case 30:if(!(field.type==='avatar'||field.type==='image'||field.type==='file')){_context56.next=34;break;}columnItem=Object.assign({},_objectSpread({type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},getAmisFileReadonlySchema(field)),field.amis,{name:field.name});_context56.next=48;break;case 34:if(!(field.type==='select')){_context56.next=39;break;}map=getSelectMap(field.options);columnItem=Object.assign({},{type:"static-mapping",name:field.name,label:field.label,map:map,sortable:field.sortable,width:getFieldWidth(field.width),toggled:field.toggled,className:className,inputClassName:"inline","static":true},field.amis,{name:field.name});_context56.next=48;break;case 39:_context56.next=41;return getFieldTpl(field,options);case 41:tpl=_context56.sent;type='static-text';if(tpl){type='static';}else if(field.type==='html'){type='static-markdown';}else if(field.type==='url'){if(field.show_as_qr){type='static-qr-code';}else{type='input-url';}}if(field.type==='textarea'){className+='min-w-56';}if(field.type==='date'){className+='date-min-w';}if(field.type==='datetime'){className+='datetime-min-w';}if(!field.hidden&&!field.extra){columnItem=Object.assign({},{name:field.name,label:field.label,sortable:field.sortable,// searchable: field.searchable,
120
+ }]}}};_context56.next=50;break;case 26:if(!(field.type==='toggle')){_context56.next=30;break;}columnItem=Object.assign({},{type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},field.amis,{name:field.name});_context56.next=50;break;case 30:if(!(field.type==='avatar'||field.type==='image'||field.type==='file')){_context56.next=34;break;}columnItem=Object.assign({},_objectSpread({type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},getAmisFileReadonlySchema(field)),field.amis,{name:field.name});_context56.next=50;break;case 34:if(!(field.type==='select')){_context56.next=39;break;}map=getSelectMap(field.options);columnItem=Object.assign({},{type:"static-mapping",name:field.name,label:field.label,map:map,sortable:field.sortable,width:getFieldWidth(field.width),toggled:field.toggled,className:className,inputClassName:"inline","static":true},field.amis,{name:field.name});_context56.next=50;break;case 39:_context56.next=41;return getFieldTpl(field,options);case 41:tpl=_context56.sent;type='static-text';if(tpl){type='static';}else if(field.type==='html'){type='static-markdown';}else if(field.type==='url'){if(field.show_as_qr){type='static-qr-code';}else{type='input-url';}}if(field.type==='textarea'){className+='min-w-56';}if(field.type==='date'){className+='date-min-w';}if(field.type==='datetime'){className+='datetime-min-w';}//field上的amis属性里的clssname需要单独判断类型合并
121
+ if(_typeof((_field$amis=field.amis)===null||_field$amis===void 0?void 0:_field$amis.className)=="object"){className=_objectSpread(_defineProperty({},className,"true"),field.amis.className);}else if(typeof((_field$amis2=field.amis)===null||_field$amis2===void 0?void 0:_field$amis2.className)=="string"){className="".concat(className," ").concat(field.amis.className," ");}(_field$amis3=field.amis)===null||_field$amis3===void 0?true:delete _field$amis3.className;if(!field.hidden&&!field.extra){columnItem=Object.assign({},{name:field.name,label:field.label,sortable:field.sortable,// searchable: field.searchable,
121
122
  width:getFieldWidth(field.width),type:type,tpl:tpl,toggled:field.toggled,className:className,inputClassName:"inline","static":true,options:field.type==='html'?{html:true}:null// toggled: true
122
- },field.amis,{name:field.name});if(field.type==='color'){columnItem.type='color';columnItem.defaultColor=null;}}case 48:if(columnItem){if(quickEditSchema){columnItem.quickEdit=quickEditSchema;columnItem.quickEditEnabledOn="${is_system !== true}";}columnItem.id="".concat(options.objectName,"_").concat(field.name,"_${_index}");columns.push(columnItem);}case 49:_context56.next=6;break;case 51:_context56.next=56;break;case 53:_context56.prev=53;_context56.t1=_context56["catch"](4);_iterator6.e(_context56.t1);case 56:_context56.prev=56;_iterator6.f();return _context56.finish(56);case 59:// columns.push(getOperation(fields));
123
+ },field.amis,{name:field.name});if(field.type==='color'){columnItem.type='color';columnItem.defaultColor=null;}}case 50:if(columnItem){if(quickEditSchema){columnItem.quickEdit=quickEditSchema;columnItem.quickEditEnabledOn="${is_system !== true}";}columnItem.id="".concat(options.objectName,"_").concat(field.name,"_${_index}");columns.push(columnItem);}case 51:_context56.next=6;break;case 53:_context56.next=58;break;case 55:_context56.prev=55;_context56.t1=_context56["catch"](4);_iterator6.e(_context56.t1);case 58:_context56.prev=58;_iterator6.f();return _context56.finish(58);case 61:// columns.push(getOperation(fields));
123
124
  if(!options.isLookup&&!options.isInputTable&&!___namespace.some(columns,{name:options.labelFieldName})){// 没有名称字段时显示序号字段为链接,lookup弹出的picker不需要此功能
124
- href=Router.getObjectDetailPath(_objectSpread(_objectSpread({},options),{},{formFactor:options.formFactor,appId:"${appId}",objectName:options.objectName||"${objectName}",recordId:"${".concat(options.idFieldName,"}")}));columns[0].type="tpl";columns[0].tpl="<a href=\"".concat(href,"\">${").concat(columns[0].name,"}</a>");}return _context56.abrupt("return",columns);case 61:case"end":return _context56.stop();}}},_callee56,null,[[4,53,56,59]]);}));return _getTableColumns.apply(this,arguments);}function getMobileLines(tpls){var lines=[];var maxLineCount=3;var lineChildren=[];var isNewLine=false;var isLeft=true;var lineChildrenClassName="";var lineClassName="flex items-center justify-between";tpls.forEach(function(item){if(isNewLine&&lines.length<maxLineCount){lines.push({"type":"wrapper","body":lineChildren,"size":"none","className":lineClassName});lineChildren=[];}if(isLeft){// 左侧半行
125
+ href=Router.getObjectDetailPath(_objectSpread(_objectSpread({},options),{},{formFactor:options.formFactor,appId:"${appId}",objectName:options.objectName||"${objectName}",recordId:"${".concat(options.idFieldName,"}")}));columns[0].type="tpl";columns[0].tpl="<a href=\"".concat(href,"\">${").concat(columns[0].name,"}</a>");}return _context56.abrupt("return",columns);case 63:case"end":return _context56.stop();}}},_callee56,null,[[4,55,58,61]]);}));return _getTableColumns.apply(this,arguments);}function getMobileLines(tpls){var lines=[];var maxLineCount=3;var lineChildren=[];var isNewLine=false;var isLeft=true;var lineChildrenClassName="";var lineClassName="flex items-center justify-between";tpls.forEach(function(item){var _item$field$amis,_item$field$amis2;if(isNewLine&&lines.length<maxLineCount){lines.push({"type":"wrapper","body":lineChildren,"size":"none","className":lineClassName});lineChildren=[];}if(isLeft){// 左侧半行
125
126
  lineChildrenClassName="steedos-listview-item-left truncate";if(item.field.is_wide){// 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
126
127
  lineChildrenClassName="steedos-listview-item-wide";}if(lines.length===0){// 第一个字段加粗黑色显示
127
128
  lineChildrenClassName+=" font-bold text-gray-800";}}else{// 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
128
- lineChildrenClassName="steedos-listview-item-right truncate ml-2 flex flex-shrink-0";}lineChildren.push({"type":"tpl","tpl":item.tpl,"className":lineChildrenClassName});if(item.field.is_wide){// 宽字段占整行
129
+ lineChildrenClassName="steedos-listview-item-right truncate ml-2 flex flex-shrink-0";}//支持字段amis属性配置classname,识别classname的类型,与原样式合并
130
+ var className;if(_typeof((_item$field$amis=item.field.amis)===null||_item$field$amis===void 0?void 0:_item$field$amis.className)=="object"){className=_objectSpread(_defineProperty({},lineChildrenClassName,"true"),item.field.amis.className);}else if(typeof((_item$field$amis2=item.field.amis)===null||_item$field$amis2===void 0?void 0:_item$field$amis2.className)=="string"){className="".concat(lineChildrenClassName," ").concat(item.field.amis.className," ");}else{className=lineChildrenClassName;}lineChildren.push({"type":"tpl","tpl":item.tpl,className:className});if(item.field.is_wide){// 宽字段占整行
129
131
  isLeft=true;isNewLine=true;}else{isLeft=!isLeft;isNewLine=isLeft;}});if(lineChildren.length&&lines.length<maxLineCount){lines.push({"type":"wrapper","body":lineChildren,"size":"none","className":lineClassName});}return lines;}function getMobileTableColumns(_x21,_x22){return _getMobileTableColumns.apply(this,arguments);}function _getMobileTableColumns(){_getMobileTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee57(fields,options){var columns,nameField,tpls,_iterator7,_step8,field,tpl,url,columnLines,column,_window$Meteor;return _regeneratorRuntime().wrap(function _callee57$(_context57){while(1){switch(_context57.prev=_context57.next){case 0:columns=[];nameField={};tpls=[];_iterator7=_createForOfIteratorHelper(fields);_context57.prev=4;_iterator7.s();case 6:if((_step8=_iterator7.n()).done){_context57.next=29;break;}field=_step8.value;tpl="";if(!(field.is_name||field.name===options.labelFieldName)){_context57.next=17;break;}nameField=field;options=Object.assign({},options,{onlyDisplayLookLabel:true});_context57.next=14;return getFieldTpl(field,options);case 14:tpl=_context57.sent;_context57.next=25;break;case 17:if(!(field.type==='avatar'||field.type==='image'||field.type==='file')){_context57.next=21;break;}// 图片和附件类型字段暂时显示为附件名称,后续需要再优化
130
- tpl="${_display.".concat(field.name,".name}");_context57.next=25;break;case 21:if(field.type==='lookup'||field.type==='master_detail'){options=Object.assign({},options,{onlyDisplayLookLabel:true});}_context57.next=24;return getFieldTpl(field,options);case 24:tpl=_context57.sent;case 25:if(!tpl){//qhd需求简易处理,加上raw以支持审批王名称字段通过颜色区分缓急,若之后手机端列表支持配置amis,则可以去掉
131
- tpl="${".concat(field.name," | raw}");}if(!field.hidden&&!field.extra){tpls.push({field:field,tpl:tpl});}case 27:_context57.next=6;break;case 29:_context57.next=34;break;case 31:_context57.prev=31;_context57.t0=_context57["catch"](4);_iterator7.e(_context57.t0);case 34:_context57.prev=34;_iterator7.f();return _context57.finish(34);case 37:url=getNameTplUrl(nameField,options);columnLines=getMobileLines(tpls);column={name:nameField.name,label:nameField.label,sortable:nameField.sortable,type:"button",level:"link",actionType:"link",link:url,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{"type":"wrapper","body":columnLines,"size":"none","className":"p-1"}};if(options.objectName==='cms_files'){if((_window$Meteor=window.Meteor)!==null&&_window$Meteor!==void 0&&_window$Meteor.isCordova){column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"script":"\n let cms_url = \"/api/files/files/\"+event.data.versions[0]+\"?download=true\"\n Steedos.cordovaDownload(encodeURI(Steedos.absoluteUrl(cms_url)), event.data.name);\n ","actionType":"custom"}],"weight":0}}});}else{column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"args":{"api":{"url":url,"method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download"}],"weight":0}}});}}columns.push(column);return _context57.abrupt("return",columns);case 43:case"end":return _context57.stop();}}},_callee57,null,[[4,31,34,37]]);}));return _getMobileTableColumns.apply(this,arguments);}function getDefaultParams$1(options){return{perPage:options.top||options.perPage||config.listView.perPage};}function getButtonVisibleOn$1(button){var visible=button.visible;if(button._visible){visible=button._visible;}if(_$1.isBoolean(visible)){visible=visible.toString();}if(visible){// if(visible.indexOf("Meteor.") > 0 || visible.indexOf("Creator.") > 0 || visible.indexOf("Session.") > 0){
132
+ tpl="${_display.".concat(field.name,".name}");_context57.next=25;break;case 21:if(field.type==='lookup'||field.type==='master_detail'){options=Object.assign({},options,{onlyDisplayLookLabel:true});}_context57.next=24;return getFieldTpl(field,options);case 24:tpl=_context57.sent;case 25:if(!tpl){tpl="${".concat(field.name,"}");}if(!field.hidden&&!field.extra){tpls.push({field:field,tpl:tpl});}case 27:_context57.next=6;break;case 29:_context57.next=34;break;case 31:_context57.prev=31;_context57.t0=_context57["catch"](4);_iterator7.e(_context57.t0);case 34:_context57.prev=34;_iterator7.f();return _context57.finish(34);case 37:url=getNameTplUrl(nameField,options);columnLines=getMobileLines(tpls);column={name:nameField.name,label:options.displayAs=='split'?'':nameField.label,sortable:nameField.sortable,type:"button",level:"link",actionType:"link",link:url,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{"type":"wrapper","body":columnLines,"size":"none","className":"p-1"}};if(options.objectName==='cms_files'){if((_window$Meteor=window.Meteor)!==null&&_window$Meteor!==void 0&&_window$Meteor.isCordova){column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"script":"\n let cms_url = \"/api/files/files/\"+event.data.versions[0]+\"?download=true\"\n Steedos.cordovaDownload(encodeURI(Steedos.absoluteUrl(cms_url)), event.data.name);\n ","actionType":"custom"}],"weight":0}}});}else{column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"args":{"api":{"url":url,"method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download"}],"weight":0}}});}}columns.push(column);return _context57.abrupt("return",columns);case 43:case"end":return _context57.stop();}}},_callee57,null,[[4,31,34,37]]);}));return _getMobileTableColumns.apply(this,arguments);}function getDefaultParams$1(options){return{perPage:options.top||options.perPage||config.listView.perPage};}function getButtonVisibleOn$1(button){var visible=button.visible;if(button._visible){visible=button._visible;}if(_$1.isBoolean(visible)){visible=visible.toString();}if(visible){// if(visible.indexOf("Meteor.") > 0 || visible.indexOf("Creator.") > 0 || visible.indexOf("Session.") > 0){
132
133
  // console.warn('无效的visible', visible)
133
134
  // return 'false';
134
135
  // }
@@ -155,7 +156,7 @@ useMobileColumns=false;}if(!useMobileColumns){_context60.next=14;break;}_context
155
156
  columnsTogglable:false});case 24:if(!(!isLookup&&!hiddenColumnOperation)){_context60.next=29;break;}_context60.next=27;return getTableOperation(options);case 27:toolbarOperation=_context60.sent;columns.push(toolbarOperation);case 29:treeConfig={};if(options.enable_tree){treeConfig.expandConfig={expand:'first'};}return _context60.abrupt("return",_objectSpread({mode:"table",perPageAvailable:[5,10,20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,defaultParams:getDefaultParams$1(options),columns:columns,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
156
157
  columnsTogglable:false},treeConfig));case 32:case"end":return _context60.stop();}}},_callee60);}));return _getTableSchema$.apply(this,arguments);}function getTableApi(_x28,_x29,_x30){return _getTableApi.apply(this,arguments);}function _getTableApi(){_getTableApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee61(mainObject,fields,options){var searchableFields,filter,filtersFunction,sort,top,_options$setDataToCom,setDataToComponentId,baseFilters,fileFields,fileFieldsKeys,lookupFields,valueField,api;return _regeneratorRuntime().wrap(function _callee61$(_context61){while(1){switch(_context61.prev=_context61.next){case 0:searchableFields=[];filter=options.filter,filtersFunction=options.filtersFunction,sort=options.sort,top=options.top,_options$setDataToCom=options.setDataToComponentId,setDataToComponentId=_options$setDataToCom===void 0?'':_options$setDataToCom;if(___namespace.isArray(filter)){filter=___namespace.map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}baseFilters=null;if(filter){baseFilters=filter;}___namespace.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fileFields={};fileFieldsKeys=[];// 含有optionsFunction属性, 无reference_to属性的lookup字段
157
158
  lookupFields={};fields.forEach(function(item){if(___namespace.includes(['image','avatar','file'],item.type)){fileFieldsKeys.push(item.name);fileFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}if(___namespace.includes(['lookup'],item.type)&&!item.reference_to){lookupFields[item.name]=item;}});valueField=mainObject.key_field||'_id';_context61.next=14;return getApi$1(mainObject,null,fields,{count:options.queryCount,alias:'rows',limit:top,queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 14:api=_context61.sent;api.url+="&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
158
- if(options.isRelated){api.url+="&recordId=${_master.recordId}";}api.cache=3000;api.data.$term="$term";api.data.term="$term";api.data.$self="$$";api.data.self="$$";api.data.filter="$filter";api.data.loaded="${loaded}";api.data.listViewId="${listViewId}";api.data.listName="${listName}";api.requestAdaptor="\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n // \u8FD9\u91CC\u76F4\u63A5\u5408\u5E76\u5230api.data.$self\uFF0C\u800C\u4E0D\u662F\u540E\u9762\u5B9A\u4E49\u7684selfData\u53D8\u91CF\uFF0C\u662F\u56E0\u4E3A\u53EF\u4EE5\u7701\u53BB\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\n // \u5982\u679C\u6709\u95EE\u9898\u53EF\u4EE5\u6539\u4E3A\u5408\u5E76\u5230selfData\u53D8\u91CF\u4E2D\uFF0C\u4F46\u662F\u8981\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E0A\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\uFF0C\u5426\u5219\u91CC\u9762\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E0D\u4F1A\u5B58\u5165\u672C\u5730\u5B58\u50A8\u4E2D\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData \u4E2D\u7684\u6570\u636E\u7531 CRUD \u63A7\u5236. selfData\u4E2D,\u53EA\u80FD\u83B7\u53D6\u5230 CRUD \u7ED9\u5B9A\u7684data. \u65E0\u6CD5\u4ECE\u6570\u636E\u94FE\u4E2D\u83B7\u53D6\u6570\u636E.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // \u4FDD\u7559\u4E00\u4EFD\u521D\u59CBdata\uFF0C\u4EE5\u4F9B\u81EA\u5B9A\u4E49\u53D1\u9001\u9002\u914D\u5668\u4E2D\u83B7\u53D6\u539F\u59CB\u6570\u636E\u3002\n const data = _.cloneDeep(api.data);\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"".concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // \u79FB\u52A8\u7AEF\u6682\u65F6\u53BB\u9664\u52A0\u8F7D\u66F4\u591A\uFF0C\u653E\u5F00\u7FFB\u9875\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n ").concat(baseFilters?"var systemFilters = ".concat(JSON.stringify(baseFilters),";"):'var systemFilters = [];',"\n var _ids = []\n const filtersFunction = ").concat(filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort||'',"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"\u641C\u7D22\u6B64\u5217\u8868\"\u641C\u7D22\u6846\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = self._master.recordId;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ").concat(options.requestAdaptor||'',";\n\n //\u5199\u5165\u672C\u6B21\u5B58\u50A8filters\u3001sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(___namespace.map(fields,'name')),"\n }));\n return api;\n ");api.adaptor="\n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ".concat(mainObject.enable_tree,";\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ").concat(JSON.stringify(fileFields),";\n let lookupFields = ").concat(JSON.stringify(lookupFields),";\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n item[key] = value\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // \u6784\u5EFA\u5F53\u524D\u8282\u70B9\u7684 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // \u8D4B\u503C\u7ED9\u8282\u70B9\n node._index = currentIndex;\n \n // \u5982\u679C\u6709\u5B50\u8282\u70B9\uFF0C\u9012\u5F52\u8C03\u7528\u51FD\u6570\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(!isTreeOptionsComputed){\n // \u5982\u679Capi\u63A5\u53E3\u8BBE\u7F6E\u5728\u7F13\u5B58\uFF0C\u7F13\u5B58\u671F\u95F4\u5E76\u4E0D\u4F1A\u91CD\u65B0\u8BF7\u6C42\u63A5\u53E3\uFF0Cpayload.data.rows\u662F\u4E0A\u6B21\u8BA1\u7B97\u540E\u7684\u7ED3\u679C\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n }\n\n\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.body.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps\u89C4\u8303\u6765\u81EAcrud\u8BF7\u6C42api\u4E2Dapi.data.$self\u53C2\u6570\u503C\u7684\u3002\n * \u6BD4\u5982\uFF1A{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:\u9876\u90E8\u653E\u5927\u955C\u641C\u7D22\u6761\u4EF6\n * filter:\u53F3\u4FA7\u8FC7\u6EE4\u5668\n * perPage:\u6BCF\u9875\u6761\u6570\n * page:\u5F53\u524D\u9875\u7801\n * orderBy:\u6392\u5E8F\u5B57\u6BB5\n * orderDir:\u6392\u5E8F\u65B9\u5411\n */\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"").concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n // \u8FD4\u56DE\u9875\u7801\u5230UI\u754C\u9762\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n // \u6807\u8BB0\u52A0\u8F7D\u8FC7\uFF0C\u540E\u7EED\u4F18\u5148\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u52A0\u8F7D\u76F8\u5173\u53C2\u6570\n payload.data.loaded= true;\n\n const setDataToComponentId = \"").concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent\u7684\u6539\u52A8\u662F\u4E3A\u9002\u5E943.2getComponentById\u7684\u89C4\u5219\u6539\u52A8\uFF0C\u4E0D\u5F71\u54CD2.9\n var scope = SteedosUI.getRef(api.body.$self.$scopeId);\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n };\n ").concat(options.adaptor||'',"\n return payload;\n ");return _context61.abrupt("return",api);case 29:case"end":return _context61.stop();}}},_callee61);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x31,_x32,_x33,_x34){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee62$(_context62){while(1){switch(_context62.prev=_context62.next){case 0:_context62.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context62.sent;return _context62.abrupt("return",{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
159
+ if(options.isRelated){api.url+="&recordId=${_master.recordId}";}api.cache=3000;api.data.$term="$term";api.data.term="$term";api.data.$self="$$";api.data.self="$$";api.data.filter="$filter";api.data.loaded="${loaded}";api.data.listViewId="${listViewId}";api.data.listName="${listName}";api.requestAdaptor="\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n // \u8FD9\u91CC\u76F4\u63A5\u5408\u5E76\u5230api.data.$self\uFF0C\u800C\u4E0D\u662F\u540E\u9762\u5B9A\u4E49\u7684selfData\u53D8\u91CF\uFF0C\u662F\u56E0\u4E3A\u53EF\u4EE5\u7701\u53BB\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\n // \u5982\u679C\u6709\u95EE\u9898\u53EF\u4EE5\u6539\u4E3A\u5408\u5E76\u5230selfData\u53D8\u91CF\u4E2D\uFF0C\u4F46\u662F\u8981\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E0A\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\uFF0C\u5426\u5219\u91CC\u9762\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E0D\u4F1A\u5B58\u5165\u672C\u5730\u5B58\u50A8\u4E2D\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData \u4E2D\u7684\u6570\u636E\u7531 CRUD \u63A7\u5236. selfData\u4E2D,\u53EA\u80FD\u83B7\u53D6\u5230 CRUD \u7ED9\u5B9A\u7684data. \u65E0\u6CD5\u4ECE\u6570\u636E\u94FE\u4E2D\u83B7\u53D6\u6570\u636E.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // \u4FDD\u7559\u4E00\u4EFD\u521D\u59CBdata\uFF0C\u4EE5\u4F9B\u81EA\u5B9A\u4E49\u53D1\u9001\u9002\u914D\u5668\u4E2D\u83B7\u53D6\u539F\u59CB\u6570\u636E\u3002\n const data = _.cloneDeep(api.data);\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"".concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // \u79FB\u52A8\u7AEF\u6682\u65F6\u53BB\u9664\u52A0\u8F7D\u66F4\u591A\uFF0C\u653E\u5F00\u7FFB\u9875\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n ").concat(baseFilters?"var systemFilters = ".concat(JSON.stringify(baseFilters),";"):'var systemFilters = [];',"\n var _ids = []\n const filtersFunction = ").concat(filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort||'',"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"\u641C\u7D22\u6B64\u5217\u8868\"\u641C\u7D22\u6846\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = self._master.recordId;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ").concat(options.requestAdaptor||'',";\n\n //\u5199\u5165\u672C\u6B21\u5B58\u50A8filters\u3001sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(___namespace.map(fields,'name')),"\n }));\n return api;\n ");api.adaptor="\n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ".concat(mainObject.enable_tree,";\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ").concat(JSON.stringify(fileFields),";\n let lookupFields = ").concat(JSON.stringify(lookupFields),";\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n item[key] = value\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // \u6784\u5EFA\u5F53\u524D\u8282\u70B9\u7684 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // \u8D4B\u503C\u7ED9\u8282\u70B9\n node._index = currentIndex;\n \n // \u5982\u679C\u6709\u5B50\u8282\u70B9\uFF0C\u9012\u5F52\u8C03\u7528\u51FD\u6570\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(!isTreeOptionsComputed){\n // \u5982\u679Capi\u63A5\u53E3\u8BBE\u7F6E\u5728\u7F13\u5B58\uFF0C\u7F13\u5B58\u671F\u95F4\u5E76\u4E0D\u4F1A\u91CD\u65B0\u8BF7\u6C42\u63A5\u53E3\uFF0Cpayload.data.rows\u662F\u4E0A\u6B21\u8BA1\u7B97\u540E\u7684\u7ED3\u679C\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n }\n\n\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.body.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps\u89C4\u8303\u6765\u81EAcrud\u8BF7\u6C42api\u4E2Dapi.data.$self\u53C2\u6570\u503C\u7684\u3002\n * \u6BD4\u5982\uFF1A{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:\u9876\u90E8\u653E\u5927\u955C\u641C\u7D22\u6761\u4EF6\n * filter:\u53F3\u4FA7\u8FC7\u6EE4\u5668\n * perPage:\u6BCF\u9875\u6761\u6570\n * page:\u5F53\u524D\u9875\u7801\n * orderBy:\u6392\u5E8F\u5B57\u6BB5\n * orderDir:\u6392\u5E8F\u65B9\u5411\n */\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"").concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n // \u8FD4\u56DE\u9875\u7801\u5230UI\u754C\u9762\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n // \u6807\u8BB0\u52A0\u8F7D\u8FC7\uFF0C\u540E\u7EED\u4F18\u5148\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u52A0\u8F7D\u76F8\u5173\u53C2\u6570\n payload.data.loaded= true;\n\n const setDataToComponentId = \"").concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent\u7684\u6539\u52A8\u662F\u4E3A\u9002\u5E943.2getComponentById\u7684\u89C4\u5219\u6539\u52A8\uFF0C\u4E0D\u5F71\u54CD2.9\n var scope = SteedosUI.getRef(api.body.$self.$scopeId);\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n };\n const listviewComponent = $(\".steedos-object-listview .antd-Table-table\");\n const firstListviewComponent = listviewComponent && listviewComponent[0];\n if(firstListviewComponent){\n setTimeout(()=>{\n firstListviewComponent.scrollIntoView();\n }, 600);\n }\n ").concat(options.adaptor||'',"\n return payload;\n ");return _context61.abrupt("return",api);case 29:case"end":return _context61.stop();}}},_callee61);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x31,_x32,_x33,_x34){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee62$(_context62){while(1){switch(_context62.prev=_context62.next){case 0:_context62.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context62.sent;return _context62.abrupt("return",{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
159
160
  data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context62.stop();}}},_callee62);}));return _getApi$.apply(this,arguments);}function getRecordPermissionsApi(object,recordId,options){var data=getRecordPermissionsQuery(object,recordId,options);return{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var API_CACHE=100;function getReadonlyFormAdaptor(object,fields,options){var scriptStr='';var selectFields=___namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type=='select'&&field.options||(field.type=='lookup'||field.type=='master_detail')&&!field.reference_to);});var gridAndObjectFieldsName=___namespace.map(___namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type==='object'||field.type==='grid');}),'name');___namespace.each(selectFields,function(field){if(!___namespace.includes(OMIT_FIELDS,field.name)){field.name;if(field.options){var _options=JSON.stringify({options:field.options});scriptStr=scriptStr+"var ".concat(field.name,"Options= (").concat(_options,").options;");}else if(field.optionsFunction){scriptStr=scriptStr+"var ".concat(field.name,"Options = eval(").concat(field.optionsFunction.toString(),")(api.data);");}else if(field._optionsFunction){scriptStr=scriptStr+"var ".concat(field.name,"Options = eval(").concat(field._optionsFunction,")(api.data);");}if(field.multiple){scriptStr=scriptStr+"data.".concat(field.name,"__label = _.map(_.filter(").concat(field.name,"Options, function(option){return _.includes(data.").concat(field.name,", option.value)}), 'label');");}else{scriptStr=scriptStr+"var ".concat(field.name,"Selected = _.find(").concat(field.name,"Options, function(option){return data.").concat(field.name," == option.value});");scriptStr=scriptStr+"data.".concat(field.name,"__label = ").concat(field.name,"Selected ? ").concat(field.name,"Selected.label:null;");}}});// const refFields = _.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to});
160
161
  // _.each(refFields, function(field){
161
162
  // if(!_.includes(OMIT_FIELDS, field.name)){
@@ -175,7 +176,7 @@ var fieldNames=___namespace.map(fields,function(n){return n.name;});return"\n
175
176
  findOneOptions={filters:[],queryOptions:"top: 1"};}_context63.t0=getApi$2()+'&objectName=${objectName}'+"&recordId=${recordId}";_context63.t1=API_CACHE;_context63.t2="\n ".concat(options&&options.initApiRequestAdaptor||'',"\n return api;\n ");_context63.t3=getReadonlyFormAdaptor(object,fields,options);_context63.next=7;return getFindOneQuery$1(object,recordId,fields,findOneOptions);case 7:_context63.t4=_context63.sent;_context63.t5={Authorization:"Bearer ${context.tenantId},${context.authToken}"};return _context63.abrupt("return",{method:"post",url:_context63.t0,cache:_context63.t1,requestAdaptor:_context63.t2,adaptor:_context63.t3,data:_context63.t4,headers:_context63.t5});case 10:case"end":return _context63.stop();}}},_callee63);}));return _getReadonlyFormInitApi.apply(this,arguments);}function getScriptForAddUrlPrefixForImgFields(fields){var imgFieldsKeys=[];var imgFields={};fields.forEach(function(item){if(___namespace.includes(['image','avatar'],item.type)){imgFieldsKeys.push(item.name);imgFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}});if(!imgFieldsKeys.length){return'';}return"\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n let imgFieldsKeys = ".concat(JSON.stringify(imgFieldsKeys),";\n let imgFields = ").concat(JSON.stringify(imgFields),";\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url);\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url);\n data[item] = url;\n }\n }\n })\n ");}/*
176
177
  file字段值重写使其在amis中正常显示附件名、点击附件名下载文件。
177
178
  */function getScriptForRewriteValueForFileFields(fields){var fileFieldsKeys=[];var fileFields={};fields.forEach(function(item){if(item.type==='file'){fileFieldsKeys.push(item.name);fileFields[item.name]={name:item.name,multiple:item.multiple};}});if(!fileFieldsKeys.length){return'';}return"\n // file\u5B57\u6BB5\u503C\u91CD\u5199\u4EE5\u4FBF\u7F16\u8F91\u65F6\u6B63\u5E38\u663E\u793A\u9644\u4EF6\u540D\u3001\u70B9\u51FB\u9644\u4EF6\u540D\u6B63\u5E38\u4E0B\u8F7D\u9644\u4EF6\n let fileFieldsKeys = ".concat(JSON.stringify(fileFieldsKeys),";\n let fileFields = ").concat(JSON.stringify(fileFields),";\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = data[item];\n let fileFieldDisplayValue = data._display && data._display[item];\n if(fileFieldValue && fileFieldValue.length){\n if(fileFields[item].multiple){\n if(fileFieldDisplayValue instanceof Array){\n data[item] = fileFieldDisplayValue.map((item, index)=>{ \n return {\n value: fileFieldValue[index],\n name: item.name,\n url: item.url + \"?download=true\",\n state: \"uploaded\"\n }\n });\n }\n }else{\n data[item] = [{\n value: fileFieldValue,\n name: fileFieldDisplayValue.name,\n url: fileFieldDisplayValue.url + \"?download=true\",\n state: \"uploaded\"\n }];\n }\n }\n })\n ");}function getEditFormInitApi(_x39,_x40,_x41,_x42){return _getEditFormInitApi.apply(this,arguments);}function _getEditFormInitApi(){_getEditFormInitApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee64(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee64$(_context64){while(1){switch(_context64.prev=_context64.next){case 0:_context64.next=2;return getFindOneQuery$1(object,recordId,fields);case 2:data=_context64.sent;data.recordId="${recordId}";data.objectName="${objectName}";data.uiSchema="${uiSchema}";data.global="${global}";data.context="${context}";data.defaultData="${defaultData}";data._master="${_master}";return _context64.abrupt("return",{method:"post",url:getApi$2()+'&objectName=${objectName}',// sendOn: "!!this.recordId",
178
- cache:API_CACHE,requestAdaptor:"\n // \u6240\u6709\u4E0D\u60F3\u5728network\u8BF7\u6C42\u4E2D\u53D1\u9001\u7684\u6570\u636E\u90FD\u5E94\u8BE5\u4ECEdata\u4E2D\u5206\u79BB\u51FA\u6765\uFF0Cdata\u53D8\u91CF\u53EA\u9700\u8981\u7559\u4E0Bquery\u624D\u9700\u8981\u53D1\u9001\u51FA\u53BB\n var { recordId, objectName, uiSchema, global, context, ...data} = api.data;\n if(!recordId){\n // \u65B0\u5EFA\u5219\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u6570\u636E\n data.query = \"{data:\" + objectName + \"(filters: \" + JSON.stringify([\"_id\", \"=\", null]) + \", top: 1){_id}}\";\n }\n api.data = data;\n ".concat(options.initApiRequestAdaptor||'',"\n return api;\n "),adaptor:"\n const recordId = api.body.recordId;\n let initialValues={};\n if(recordId && payload.data.data){\n var data = payload.data.data[0];\n const dataKeys = _.keys(data);\n const uiSchema = api.body.uiSchema;\n const fieldKeys = uiSchema && _.keys(uiSchema.fields);\n\n if(data){\n ".concat(getScriptForAddUrlPrefixForImgFields(fields),"\n ").concat(getScriptForRewriteValueForFileFields(fields),"\n\n _.each(dataKeys, function(key){\n if(fieldKeys.indexOf(key)<0 && key !== \"_display\"){\n delete data[key];\n }\n })\n \n //\u521D\u59CB\u5316\u63A5\u53E3\u8FD4\u56DE\u7684\u5B57\u6BB5\u79FB\u9664\u5B57\u6BB5\u503C\u4E3Anull\u7684\u5B57\u6BB5\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n };\n initialValues = data;\n }\n else{\n var uiSchema = api.body.uiSchema;\n var defaultData = api.body.defaultData;\n var defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function(field){\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if(!_.isNil(value)){\n defaultValues[field.name] = value;\n }\n });\n if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){\n defaultValues = Object.assign({}, defaultValues, defaultData)\n }\n if(uiSchema.form){\n try{\n var objectFormConfig = JSON.parse(uiSchema.form);\n var formInitialValuesFun = objectFormConfig.initialValues;\n if(formInitialValuesFun){\n formInitialValuesFun = new Function(\"return \" + formInitialValuesFun)();\n }\n if(typeof formInitialValuesFun === \"function\"){\n initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global, master: api.body._master })\n }\n }\n catch(ex){\n console.warn(ex);\n }\n }\n if(_.isObject(initialValues)){\n // uiSchema.form.initialValues\u4E3A\u51FD\u6570\u4E14\u6267\u884C\u540E\u4E3Ajson\uFF0C\u5219\u4F18\u5148\u53D6initialValues\u4E2D\u7684\u9ED8\u8BA4\u503C\n initialValues = Object.assign({}, defaultValues, initialValues);\n }\n else{\n initialValues = defaultValues;\n }\n }\n // data\u4E0B\u7684\u53D8\u91CF\u9700\u8981\u5728\u4FDD\u5B58\u63A5\u53E3\uFF08getSaveApi\uFF09\u4E2D\u88AB\u5220\u9664\u3002\n payload.data = {\n ...initialValues\n }\n ").concat(options.initApiAdaptor||'',"\n return payload;\n "),responseData:{initialValues:"$$",editFormInited:true},data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 11:case"end":return _context64.stop();}}},_callee64);}));return _getEditFormInitApi.apply(this,arguments);}function getSaveApi(object,recordId,fields,options){return{method:'post',url:getApi$2(),data:getSaveQuery(object,recordId),requestAdaptor:getSaveRequestAdaptor(fields,options),responseData:{"recordId":"${record._id}"},adaptor:"\n if(payload.errors){\n delete payload.data;\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n ".concat(options.apiAdaptor||'',"\n return payload;\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}function getBatchDelete(objectName){return{method:'post',url:getApi$2(),requestAdaptor:"\n var ids = api.data.ids.split(\",\");\n var deleteArray = [];\n ids.forEach((id,index)=>{\n deleteArray.push(`delete__${index}:".concat(objectName,"__delete(id: \"${id}\")`);\n })\n api.data = {query: `mutation{${deleteArray.join(',')}}`};\n return api;\n "),data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};function getCalendarApi(_x43,_x44,_x45){return _getCalendarApi.apply(this,arguments);}function _getCalendarApi(){_getCalendarApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee65(mainObject,fields,options){var calendarOptions,searchableFields,_options3,filter,sort,top,_options3$setDataToCo,setDataToComponentId,idFieldName,valueField,api;return _regeneratorRuntime().wrap(function _callee65$(_context65){while(1){switch(_context65.prev=_context65.next){case 0:if(!options){options={};}calendarOptions=options.calendarOptions;searchableFields=[];_options3=options,filter=_options3.filter,sort=_options3.sort,top=_options3.top,_options3$setDataToCo=_options3.setDataToComponentId,setDataToComponentId=_options3$setDataToCo===void 0?'':_options3$setDataToCo;if(!top){// 日历请求不翻页
179
+ cache:API_CACHE,requestAdaptor:"\n // \u6240\u6709\u4E0D\u60F3\u5728network\u8BF7\u6C42\u4E2D\u53D1\u9001\u7684\u6570\u636E\u90FD\u5E94\u8BE5\u4ECEdata\u4E2D\u5206\u79BB\u51FA\u6765\uFF0Cdata\u53D8\u91CF\u53EA\u9700\u8981\u7559\u4E0Bquery\u624D\u9700\u8981\u53D1\u9001\u51FA\u53BB\n var { recordId, objectName, uiSchema, global, context, ...data} = api.data;\n if(!recordId){\n // \u65B0\u5EFA\u5219\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u6570\u636E\n data.query = \"{data:\" + objectName + \"(filters: \" + JSON.stringify([\"_id\", \"=\", null]) + \", top: 1){_id}}\";\n }\n api.data = data;\n ".concat(options.initApiRequestAdaptor||'',"\n return api;\n "),adaptor:"\n const recordId = api.body.recordId;\n let initialValues={};\n if(recordId && payload.data.data){\n var data = payload.data.data[0];\n const dataKeys = _.keys(data);\n const uiSchema = api.body.uiSchema;\n const fieldKeys = uiSchema && _.keys(uiSchema.fields);\n\n if(data){\n ".concat(getScriptForAddUrlPrefixForImgFields(fields),"\n ").concat(getScriptForRewriteValueForFileFields(fields),"\n\n _.each(dataKeys, function(key){\n if(fieldKeys.indexOf(key)<0 && key !== \"_display\"){\n delete data[key];\n }\n })\n \n //\u521D\u59CB\u5316\u63A5\u53E3\u8FD4\u56DE\u7684\u5B57\u6BB5\u79FB\u9664\u5B57\u6BB5\u503C\u4E3Anull\u7684\u5B57\u6BB5\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n };\n initialValues = data;\n }\n else{\n var uiSchema = api.body.uiSchema;\n var defaultData = api.body.defaultData;\n var defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function(field){\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if(!_.isNil(value)){\n defaultValues[field.name] = value;\n }\n });\n if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){\n defaultValues = Object.assign({}, defaultValues, defaultData)\n }\n if(uiSchema.form){\n try{\n var objectFormConfig = JSON.parse(uiSchema.form);\n var formInitialValuesFun = objectFormConfig.initialValues;\n if(formInitialValuesFun){\n formInitialValuesFun = new Function(\"return \" + formInitialValuesFun)();\n }\n if(typeof formInitialValuesFun === \"function\"){\n initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global, master: api.body._master })\n }\n }\n catch(ex){\n console.warn(ex);\n }\n }\n if(_.isObject(initialValues)){\n // uiSchema.form.initialValues\u4E3A\u51FD\u6570\u4E14\u6267\u884C\u540E\u4E3Ajson\uFF0C\u5219\u4F18\u5148\u53D6initialValues\u4E2D\u7684\u9ED8\u8BA4\u503C\n initialValues = Object.assign({}, defaultValues, initialValues);\n }\n else{\n initialValues = defaultValues;\n }\n }\n // data\u4E0B\u7684\u53D8\u91CF\u9700\u8981\u5728\u4FDD\u5B58\u63A5\u53E3\uFF08getSaveApi\uFF09\u4E2D\u88AB\u5220\u9664\u3002\n payload.data = {\n ...initialValues\n }\n ").concat(options.initApiAdaptor||'',"\n return payload;\n "),responseData:{initialValues:"$$",editFormInited:true},data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 11:case"end":return _context64.stop();}}},_callee64);}));return _getEditFormInitApi.apply(this,arguments);}function getSaveApi(object,recordId,fields,options){return{method:'post',url:getApi$2(),data:getSaveQuery(object,recordId),requestAdaptor:getSaveRequestAdaptor(fields,options),responseData:{"recordId":"${record._id}"},adaptor:"\n if(payload.errors){\n delete payload.data;\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n ".concat(options.apiAdaptor||'',"\n return payload;\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}function getBatchDelete(objectName){return{method:'post',url:getApi$2(),adaptor:"\n if(payload.errors){\n payload.data.deleteErrorMessage = [];\n payload.errors.forEach(function(error){\n let errorRecord = error.path.map(function (item) {\n return item.split('delete__')[1].to_float() + 1;\n }).toString();\n payload.data.deleteErrorMessage.push(\"\u7B2C\" + errorRecord + \"\u6761\u8BB0\u5F55\u5220\u9664\u51FA\u73B0\u5F02\u5E38\uFF0C\u62A5\u9519\u4FE1\u606F\u4E3A(\" + (window.t ? window.t(error.message) : error.message) + \")\");\n })\n }\n return payload;\n ",requestAdaptor:"\n var ids = api.data.ids.split(\",\");\n var deleteArray = [];\n ids.forEach((id,index)=>{\n deleteArray.push(`delete__${index}:".concat(objectName,"__delete(id: \"${id}\")`);\n })\n api.data = {query: `mutation{${deleteArray.join(',')}}`};\n return api;\n "),data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};function getCalendarApi(_x43,_x44,_x45){return _getCalendarApi.apply(this,arguments);}function _getCalendarApi(){_getCalendarApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee65(mainObject,fields,options){var calendarOptions,searchableFields,_options3,filter,sort,top,_options3$setDataToCo,setDataToComponentId,idFieldName,valueField,api;return _regeneratorRuntime().wrap(function _callee65$(_context65){while(1){switch(_context65.prev=_context65.next){case 0:if(!options){options={};}calendarOptions=options.calendarOptions;searchableFields=[];_options3=options,filter=_options3.filter,sort=_options3.sort,top=_options3.top,_options3$setDataToCo=_options3.setDataToComponentId,setDataToComponentId=_options3$setDataToCo===void 0?'':_options3$setDataToCo;if(!top){// 日历请求不翻页
179
180
  top=200;}if(___default["default"].isArray(filter)){filter=___default["default"].map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}___default["default"].each(fields,function(field){if(field.searchable){searchableFields.push(field.name);}});idFieldName=mainObject.idFieldName||"_id";valueField=mainObject.key_field||'_id';_context65.next=12;return getApi$1(mainObject,null,fields,{alias:'rows',limit:top,queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 12:api=_context65.sent;api.data.$term="$term";api.data.$self="$$";api.data.filter="$filter";api.data.pageSize=top||10;api.requestAdaptor="\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = api.data.filter || ".concat(JSON.stringify(filter)," || [];\n const eventFetchInfo = selfData.fetchInfo;\n const startDateExpr = \"").concat(calendarOptions.startDateExpr,"\";\n const endDateExpr = \"").concat(calendarOptions.endDateExpr,"\";\n const eventDurationFilters = [[endDateExpr, \">=\", eventFetchInfo.start], [startDateExpr, \"<=\", eventFetchInfo.end]];\n if(_.isEmpty(filters)){\n filters = eventDurationFilters;\n }else{\n filters = [filters, 'and', eventDurationFilters]\n }\n\n if(api.data.$self.additionalFilters){\n filters.push(api.data.$self.additionalFilters)\n }else if(api.data.$self.event.data.additionalFilters){\n filters.push(api.data.$self.event.data.additionalFilters)\n }\n\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n if(selfData.__keywords && allowSearchFields){\n const keywordsFilters = [];\n allowSearchFields.forEach(function(key, index){\n const keyValue = selfData.__keywords;\n if(keyValue){\n keywordsFilters.push([key, \"contains\", keyValue]);\n if(index < allowSearchFields.length - 1){\n keywordsFilters.push('or');\n }\n }\n })\n filters.push(keywordsFilters);\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n delete api.data.$term;\n delete api.data.filter;\n delete api.data.pageSize;\n delete api.data.pageNo;\n delete api.data.orderBy;\n delete api.data.orderDir;\n return api;\n ");api.adaptor="\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n const setDataToComponentId = \"".concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n var scope = SteedosUI.getRef(api.body.$self.scopeId);\n var setDataToComponent = scope && scope.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n }\n const rows = payload.data.rows || [];\n const selfData = api.data.$self;\n const events = rows.map(function(n){\n return {\n id: n[\"").concat(idFieldName,"\"],\n title: n[\"").concat(calendarOptions.textExpr,"\"],\n start: n[\"").concat(calendarOptions.startDateExpr,"\"],\n end: n[\"").concat(calendarOptions.endDateExpr,"\"],\n allDay: n[\"").concat(calendarOptions.allDayExpr,"\"],\n extendedProps: n\n }\n });\n const successCallback = selfData.successCallback;\n const failureCallback = selfData.failureCallback;\n successCallback(events);\n return payload;\n ");return _context65.abrupt("return",api);case 20:case"end":return _context65.stop();}}},_callee65);}));return _getCalendarApi.apply(this,arguments);}function getCalendarRecordPermissionsApi(mainObject,recordId){var api=getRecordPermissionsApi(mainObject,recordId,{alias:'rows',limit:1,fields:["allowEdit"]});api.data.$self="$$";api.adaptor="\n const rows = payload.data.rows || [];\n const selfData = api.data.$self;\n const revert = selfData.revert;\n const recordPermissions = rows[0] && rows[0].recordPermissions;\n const editable = !!(recordPermissions && recordPermissions.allowEdit);\n if(!editable){\n // \u6CA1\u6709\u6743\u9650\u65F6\u8FD8\u539F\n revert && revert();\n }\n payload.data.editable = editable;\n return payload;\n ";return api;}function getCalendarRecordSaveApi(object,calendarOptions){var formData={};var idFieldName=object.idFieldName||"_id";formData[idFieldName]="${event.data.event.id}";var nameFieldKey=object.NAME_FIELD_KEY||"name";formData[nameFieldKey]="${event.data.event.title}";formData[calendarOptions.startDateExpr]="${event.data.event.start}";formData[calendarOptions.endDateExpr]="${event.data.event.end}";formData[calendarOptions.allDayExpr]="${event.data.event.allDay}";// formData[calendarOptions.textExpr] = "${event.data.event.title}";
180
181
  var apiData={objectName:"${objectName}",$:formData,$self:"$$"};var saveDataTpl="\n const formData = api.data.$;\n const objectName = api.data.objectName;\n let query = `mutation{record: ${objectName}__update(id: \"${formData.".concat(idFieldName,"}\", doc: {__saveData}){").concat(idFieldName,"}}`;\n delete formData.").concat(idFieldName,";\n let __saveData = JSON.stringify(JSON.stringify(formData));\n ");var requestAdaptor="\n ".concat(saveDataTpl,"\n api.data.query = query.replace('{__saveData}', __saveData);\n return api;\n ");return{method:'post',url:getApi$2(),data:apiData,requestAdaptor:requestAdaptor,adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n const revert = api.data.$self.event.data.revert;\n revert && revert();\n }\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}/**
181
182
  * 列表视图Calendar amisSchema
@@ -472,7 +473,7 @@ if(formFactor==='SMALL'){// return [
472
473
  // "load-more",
473
474
  // ]
474
475
  if(options.displayAs==='split'){return["switch-per-page",{"type":"pagination","maxButtons":5,"showPageInput":false}];}else{return[// "statistics",
475
- {"type":"pagination","maxButtons":5,"showPageInput":true,"layout":"total,pager,go"}];}}else{if(options&&options.isRelated){return["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];}else{var no_pagination=mainObject.paging&&mainObject.paging.enabled===false;var is_lookup=options.isLookup;var commonConfig=["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];if(no_pagination&&is_lookup){return commonConfig;}else{return["switch-per-page"].concat(commonConfig);}}}}function getObjectFilter(_x100,_x101,_x102){return _getObjectFilter.apply(this,arguments);}function _getObjectFilter(){_getObjectFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(objectSchema,fields,options){var fieldsFilterBarSchema,onSubmitSuccScript,onChangeScript;return _regeneratorRuntime().wrap(function _callee79$(_context79){while(1){switch(_context79.prev=_context79.next){case 0:_context79.next=2;return getObjectListHeaderFieldsFilterBar(objectSchema,null,options);case 2:fieldsFilterBarSchema=_context79.sent;onSubmitSuccScript="\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // \u5217\u8868\u641C\u7D22\u680F\u5B57\u6BB5\u503C\u53D8\u66F4\u540E\u7ACB\u523B\u89E6\u53D1\u63D0\u4EA4\u8868\u5355\u6267\u884Ccrud\u641C\u7D22\uFF0C\u6240\u4EE5\u8FD9\u91CC\u9700\u8981\u989D\u5916\u91CD\u7B97crud\u9AD8\u5EA6\u53CA\u7B5B\u9009\u6309\u94AE\u7EA2\u8272\u661F\u53F7\u56FE\u6807\u663E\u793A\u9690\u85CF\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 1000\n }\n });\n resizeWindow();\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData()\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty});\n ");onChangeScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n ";return _context79.abrupt("return",{"title":"","submitText":"","className":"","debug":false,"mode":"normal","wrapWithPanel":false,"body":[fieldsFilterBarSchema],"onEvent":{"submitSucc":{"actions":[{"actionType":"custom","script":onSubmitSuccScript}]},"change":{"actions":[{"actionType":"custom","script":onChangeScript}]}}});case 6:case"end":return _context79.stop();}}},_callee79);}));return _getObjectFilter.apply(this,arguments);}function getBulkActions(objectSchema){return[{"type":"button","level":"danger","label":"批量删除","actionType":"ajax","confirmText":i18next__default["default"].t('frontend_delete_many_confirm_text'),"className":"hidden","id":"batchDelete","api":getBatchDelete(objectSchema.name)}// {
476
+ {"type":"pagination","maxButtons":5,"showPageInput":true,"layout":"total,pager,go"}];}}else{if(options&&options.isRelated){return[{"type":"pagination","maxButtons":10,"showPageInput":false}];}else{var no_pagination=mainObject.paging&&mainObject.paging.enabled===false;var is_lookup=options.isLookup;var commonConfig=[{"type":"pagination","maxButtons":10,"showPageInput":false}];if(no_pagination&&is_lookup){return commonConfig;}else{return["switch-per-page"].concat(commonConfig);}}}}function getObjectFilter(_x100,_x101,_x102){return _getObjectFilter.apply(this,arguments);}function _getObjectFilter(){_getObjectFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(objectSchema,fields,options){var fieldsFilterBarSchema,onSubmitSuccScript,onChangeScript;return _regeneratorRuntime().wrap(function _callee79$(_context79){while(1){switch(_context79.prev=_context79.next){case 0:_context79.next=2;return getObjectListHeaderFieldsFilterBar(objectSchema,null,options);case 2:fieldsFilterBarSchema=_context79.sent;onSubmitSuccScript="\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // \u5217\u8868\u641C\u7D22\u680F\u5B57\u6BB5\u503C\u53D8\u66F4\u540E\u7ACB\u523B\u89E6\u53D1\u63D0\u4EA4\u8868\u5355\u6267\u884Ccrud\u641C\u7D22\uFF0C\u6240\u4EE5\u8FD9\u91CC\u9700\u8981\u989D\u5916\u91CD\u7B97crud\u9AD8\u5EA6\u53CA\u7B5B\u9009\u6309\u94AE\u7EA2\u8272\u661F\u53F7\u56FE\u6807\u663E\u793A\u9690\u85CF\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 1000\n }\n });\n resizeWindow();\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData()\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty});\n ");onChangeScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n ";return _context79.abrupt("return",{"title":"","submitText":"","className":"","debug":false,"mode":"normal","wrapWithPanel":false,"body":[fieldsFilterBarSchema],"onEvent":{"submitSucc":{"actions":[{"actionType":"custom","script":onSubmitSuccScript}]},"change":{"actions":[{"actionType":"custom","script":onChangeScript}]}}});case 6:case"end":return _context79.stop();}}},_callee79);}));return _getObjectFilter.apply(this,arguments);}function getBulkActions(objectSchema){return[{"type":"button","level":"danger","label":"批量删除","actionType":"ajax","confirmText":i18next__default["default"].t('frontend_delete_many_confirm_text'),"className":"hidden","id":"batchDelete","api":getBatchDelete(objectSchema.name),"feedback":{"title":"删除警告","visibleOn":"${deleteErrorMessage}","body":[{"type":"each","name":"deleteErrorMessage","items":{"type":"alert","body":"${item}","level":"danger","className":"mb-3"}}],"actions":[{"type":"button","actionType":"close","label":"关闭"}]}}// {
476
477
  // "label": "批量修改",
477
478
  // "actionType": "dialog",
478
479
  // "dialog": {
@@ -505,7 +506,7 @@ recordPermissions:objectSchema.permissions,uiSchema:objectSchema// loaded: false
505
506
  });body=null;id="listview_".concat(objectSchema.name);if(!(options.formFactor==='SMALL'&&false)){_context81.next=42;break;}delete bodyProps.bulkActions;delete bodyProps.headerToolbar;delete bodyProps.footerToolbar;_context81.next=27;return getCardSchema(fields,Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:objectSchema.NAME_FIELD_KEY||'name'},options,{actions:false}));case 27:card=_context81.sent;_context81.t3=Object;_context81.t4={};_context81.t5=card;_context81.t6=id;_context81.t7=id;_context81.next=35;return getTableApi(objectSchema,fields,options);case 35:_context81.t8=_context81.sent;_context81.t9=options.tableHiddenOn;_context81.t10={type:'crud',primaryField:'_id',id:_context81.t6,name:_context81.t7,keepItemSelectionOnPageChange:false,api:_context81.t8,hiddenOn:_context81.t9};_context81.t11=bodyProps;body=_context81.t3.assign.call(_context81.t3,_context81.t4,_context81.t5,_context81.t10,_context81.t11);_context81.next=71;break;case 42:labelFieldName=objectSchema.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
506
507
  if(objectSchema.name==='organizations'){labelFieldName='name';}tableOptions=Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:labelFieldName,permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit,crudId:listSchema.id||id,enable_tree:objectSchema.enable_tree},options);tableOptions.amisData=createObject(options.amisData||{},{});_context81.next=48;return getTableSchema$1(fields,tableOptions);case 48:table=_context81.sent;// delete table.mode;
507
508
  //image与avatar需要在提交修改时特别处理
508
- imageNames=___default["default"].compact(___default["default"].map(___default["default"].filter(fields,function(field){return["image","avatar"].includes(field.type);}),'name'));quickSaveApiRequestAdaptor="\n var graphqlOrder = \"\";\n var imageNames = ".concat(JSON.stringify(imageNames),";\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\/([^\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\/([^\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n ");autoFillHeight=true;if(options.isRelated||window.innerWidth<768){autoFillHeight=false;}_context81.t12=Object;_context81.t13={};_context81.t14=table;_context81.t15=id;_context81.t16=id;_context81.next=60;return getTableApi(objectSchema,fields,options);case 60:_context81.t17=_context81.sent;_context81.t18=options.tableHiddenOn;_context81.t19=autoFillHeight;_context81.t20="flex-auto ".concat(crudClassName||"");_context81.t21={"bg-white":"true","is-steedos-crud-data-empty":"${!items || COUNT(items) == 0}"};_context81.t22=crudClassName;_context81.t23={url:"${context.rootUrl}/graphql",method:"post",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:quickSaveApiRequestAdaptor,adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n return payload;\n "};_context81.t24=options.rowClassNameExpr;_context81.t25={type:'crud',primaryField:'_id',affixHeader:false,id:_context81.t15,name:_context81.t16,keepItemSelectionOnPageChange:true,api:_context81.t17,hiddenOn:_context81.t18,autoFillHeight:_context81.t19,className:_context81.t20,bodyClassName:_context81.t21,crudClassName:_context81.t22,quickSaveApi:_context81.t23,rowClassNameExpr:_context81.t24};_context81.t26=bodyProps;body=_context81.t12.assign.call(_context81.t12,_context81.t13,_context81.t14,_context81.t25,_context81.t26);case 71:body=defaultsDeep({},listSchema,body);_context81.next=74;return getCrudSchemaWithDataFilter(body,{crudDataFilter:crudDataFilter,onCrudDataFilter:onCrudDataFilter,amisData:amisData,env:env});case 74:body=_context81.sent;crudModeClassName="";if(body.mode){crudModeClassName="steedos-crud-mode-".concat(body.mode);}if(body.columns&&options.formFactor!='SMALL'){//将_display放入crud的columns的倒数第二列中(最后一列会影响固定列),可以通过setvalue修改行内数据域的_display,而不影响上层items的_display,用于批量编辑
509
+ imageNames=___default["default"].compact(___default["default"].map(___default["default"].filter(fields,function(field){return["image","avatar"].includes(field.type);}),'name'));quickSaveApiRequestAdaptor="\n var graphqlOrder = \"\";\n var imageNames = ".concat(JSON.stringify(imageNames),";\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n // image\u3001select\u7B49\u5B57\u6BB5\u6E05\u7A7A\u503C\u540E\u4FDD\u5B58\u7684\u7A7A\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3Anull\u3002\n if(item[key] === ''){\n item[key] = null;\n }\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\/([^\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\/([^\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n ");autoFillHeight=true;if(options.isRelated||window.innerWidth<768){autoFillHeight=false;}_context81.t12=Object;_context81.t13={};_context81.t14=table;_context81.t15=id;_context81.t16=id;_context81.next=60;return getTableApi(objectSchema,fields,options);case 60:_context81.t17=_context81.sent;_context81.t18=options.tableHiddenOn;_context81.t19=autoFillHeight;_context81.t20="flex-auto ".concat(crudClassName||"");_context81.t21={"bg-white":"true","is-steedos-crud-data-empty":"${!items || COUNT(items) == 0}"};_context81.t22=crudClassName;_context81.t23={url:"${context.rootUrl}/graphql",method:"post",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:quickSaveApiRequestAdaptor,adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n return payload;\n "};_context81.t24=options.rowClassNameExpr;_context81.t25={type:'crud',primaryField:'_id',affixHeader:false,id:_context81.t15,name:_context81.t16,keepItemSelectionOnPageChange:true,api:_context81.t17,hiddenOn:_context81.t18,autoFillHeight:_context81.t19,className:_context81.t20,bodyClassName:_context81.t21,crudClassName:_context81.t22,quickSaveApi:_context81.t23,rowClassNameExpr:_context81.t24};_context81.t26=bodyProps;body=_context81.t12.assign.call(_context81.t12,_context81.t13,_context81.t14,_context81.t25,_context81.t26);case 71:body=defaultsDeep({},listSchema,body);_context81.next=74;return getCrudSchemaWithDataFilter(body,{crudDataFilter:crudDataFilter,onCrudDataFilter:onCrudDataFilter,amisData:amisData,env:env});case 74:body=_context81.sent;crudModeClassName="";if(body.mode){crudModeClassName="steedos-crud-mode-".concat(body.mode);}if(body.columns&&options.formFactor!='SMALL'){//将_display放入crud的columns的倒数第二列中(最后一列会影响固定列),可以通过setvalue修改行内数据域的_display,而不影响上层items的_display,用于批量编辑
509
510
  body.columns.splice(body.columns.length-1,0,{name:'_display',type:'static',width:32,placeholder:"",id:objectSchema.name+"_display_${_index}",className:"hidden"});}if(defaults){headerSchema=defaults.headerSchema;footerSchema=defaults.footerSchema;if(headerSchema||footerSchema){wrappedBody=[body];if(headerSchema){if(___default["default"].isArray(headerSchema)){wrappedBody=___default["default"].union(headerSchema,wrappedBody);}else{wrappedBody.unshift(headerSchema);}}if(footerSchema){if(___default["default"].isArray(footerSchema)){wrappedBody=___default["default"].union(wrappedBody,footerSchema);}else{wrappedBody.push(footerSchema);}}body=wrappedBody;}}// console.timeEnd('getObjectCRUD');
510
511
  // TODO: data应该只留loaded,其他属性都改为从上层传递下来
511
512
  return _context81.abrupt("return",{type:'service',className:crudModeClassName,//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
@@ -638,7 +639,7 @@ data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n
638
639
  Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context106.abrupt("return",amisSchema);case 31:case"end":return _context106.stop();}}},_callee106);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
639
640
  if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x175){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n // console.log(\"===getLookupSapceUserTreeSchema===\", JSON.stringify(payload));\n const records = payload.data.options;\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(isTreeOptionsComputed){\n return payload;\n }\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x176,_x177,_x178){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee107(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,headerToolbarItems,isAllowCreate,isCreate,isHasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee107$(_context107){while(1){switch(_context107.prev=_context107.next){case 0:_context107.next=2;return getReferenceTo(field);case 2:referenceTo=_context107.sent;if(referenceTo){_context107.next=5;break;}return _context107.abrupt("return");case 5:_context107.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context107.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];searchableFields=[];fieldsArr=[];isMobile=window.innerWidth<768;listView=getLookupListView(refObjectConfig);listName=listView&&listView.name;if(listView&&listView.columns){___namespace.each(listView.columns,function(column){if(___namespace.isString(column)&&refObjectConfig.fields[column]){fieldsArr.push(refObjectConfig.fields[column]);}else if(___namespace.isObject(column)&&refObjectConfig.fields[column.field]){fieldsArr.push(Object.assign({},refObjectConfig.fields[column.field],{width:column.width,wrap:column.wrap}));}});}else{___namespace.each(refObjectConfig.fields,function(field,field_name){if(field_name!='_id'&&!field.hidden){if(!___namespace.has(field,"name")){field.name=field_name;}fieldsArr.push(field);}});// 没有视图权限时,取对象上前5个字段,按sort_no排序
640
641
  fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});sort="";if(listView){sort=getListViewSort(listView);}_context107.next=25;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 25:source=_context107.sent;if(source.url&&!ctx.inFilterForm){depend_on=[];sendOn=[];___namespace.each(field.depend_on,function(fName){depend_on.push("depend_on_".concat(fName,"=${").concat(fName,"}"));sendOn.push("this.".concat(fName));});if(depend_on.length>0){source.url="".concat(source.url,"?").concat(depend_on.join('&'));source.sendOn="".concat(sendOn.join(' && '));}}source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
641
- keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n delete item.children;\n delete item.parent;\n return item;\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
642
+ keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
642
643
  if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context107.next=40;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 40:pickerSchema=_context107.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
643
644
  isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context107.next=54;break;}_context107.next=51;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 51:new_button=_context107.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
644
645
  pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 54:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context107.next=59;break;}_context107.next=58;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 58:pickerSchema.filter=_context107.sent;case 59:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
@@ -859,8 +860,8 @@ sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fi
859
860
  */function getFormBody(_x212,_x213,_x214){return _getFormBody.apply(this,arguments);}/*
860
861
  * @Author: 殷亮辉 yinlianghui@hotoa.com
861
862
  * @Date: 2023-11-15 09:50:22
862
- * @LastEditors: liaodaxue
863
- * @LastEditTime: 2024-01-09 18:12:28
863
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
864
+ * @LastEditTime: 2024-01-12 14:51:00
864
865
  */ /**
865
866
  * @param {*} props
866
867
  * @param {*} mode edit/new/readonly
@@ -877,7 +878,10 @@ field=fields.find(function(fieldItem){return fieldItem.name===column;});}else{//
877
878
  field=fields.find(function(fieldItem){return fieldItem.name===column.name;});if(field){// field.amis = Object.assign({}, field.amis, column);
878
879
  // 如果把column合并到field.amis,column的label/width等属性不会生效,只能放外层合并
879
880
  extendColumnProps=column;}}if(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return Object.assign({},tableCell,extendColumnProps);}else{return column;}}));case 8:return _context117.abrupt("return",fields.map(function(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return tableCell;})||[]);case 9:case"end":return _context117.stop();}}},_callee117);}));return _getInputTableColumns.apply(this,arguments);}function getFormPagination(props,mode){var showPagination=true;if(mode==="new"&&!!!props.editable){//不允许编辑只允许新建时不应该让用户操作翻页
880
- showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n let pageChangeDirection = context.props.pageChangeDirection;\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n let currentFormValues = scope.getComponentById(__formId).getValues();\n fieldValue[currentIndex] = currentFormValues;\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u524D\u9700\u8981\u540C\u65F6\u628A\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u6700\u7EC8\u6B63\u5F0F\u7684\u8868\u5355\u5B57\u6BB5\u4E2D\uFF0C\u6240\u4EE5\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n\n // \u4EE5\u4E0B\u662F\u7FFB\u9875\u903B\u8F91\uFF0C\u7FFB\u5230\u4E0B\u4E00\u9875\u5E76\u628A\u4E0B\u4E00\u9875\u5185\u5BB9\u663E\u793A\u5230\u8868\u5355\u4E0A\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table\u7EC4\u4EF6\u884C\u7D22\u5F15\uFF0C\u4ECE0\u5F00\u59CB\u7684\u7D22\u5F15\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // \u8FD9\u91CC\u4E0D\u7528\u8FDB\u4E00\u6B65\u628A\u8868\u5355\u5185\u5BB9setValue\u5230form\u4E2D\uFF0C\u662F\u56E0\u4E3A\u7F16\u8F91\u8868\u5355\u4E2DschemaApi\u76D1\u542C\u4E86\u884C\u7D22\u5F15index\u7684\u53D8\u5316\uFF0C\u5176\u503C\u53D8\u5316\u65F6\u4F1A\u91CD\u65B0build\u6574\u4E2Aform\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2\u4E0D\u652F\u6301override\u6A21\u5F0F\uFF0C\u9AD8\u7248\u672C\u624D\u652F\u6301\n // });\n ");return{"type":"wrapper","size":"none","className":"mr-1","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":showPagination?"${__page <= 1}":"true","size":"sm","id":buttonPrevId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}},{"type":"tpl","tpl":"${__page}/${__tableItems.length}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next","disabledOn":showPagination?"${__page >= __tableItems.length}":"true","size":"sm","id":buttonNextId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}}]};}/**
881
+ showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n let pageChangeDirection = context.props.pageChangeDirection;\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n let currentFormValues = scope.getComponentById(__formId).getValues();\n if(event.data.parent){\n fieldValue[event.data.__parentIndex].children[currentIndex] = currentFormValues;\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u524D\u9700\u8981\u540C\u65F6\u628A\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u6700\u7EC8\u6B63\u5F0F\u7684\u8868\u5355\u5B57\u6BB5\u4E2D\uFF0C\u6240\u4EE5\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n\n // \u4EE5\u4E0B\u662F\u7FFB\u9875\u903B\u8F91\uFF0C\u7FFB\u5230\u4E0B\u4E00\u9875\u5E76\u628A\u4E0B\u4E00\u9875\u5185\u5BB9\u663E\u793A\u5230\u8868\u5355\u4E0A\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table\u7EC4\u4EF6\u884C\u7D22\u5F15\uFF0C\u4ECE0\u5F00\u59CB\u7684\u7D22\u5F15\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // \u8FD9\u91CC\u4E0D\u7528\u8FDB\u4E00\u6B65\u628A\u8868\u5355\u5185\u5BB9setValue\u5230form\u4E2D\uFF0C\u662F\u56E0\u4E3A\u7F16\u8F91\u8868\u5355\u4E2DschemaApi\u76D1\u542C\u4E86\u884C\u7D22\u5F15index\u7684\u53D8\u5316\uFF0C\u5176\u503C\u53D8\u5316\u65F6\u4F1A\u91CD\u65B0build\u6574\u4E2Aform\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2\u4E0D\u652F\u6301override\u6A21\u5F0F\uFF0C\u9AD8\u7248\u672C\u624D\u652F\u6301\n // });\n ");return{"type":"wrapper","size":"none","className":"mr-1","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":showPagination?"${__page <= 1}":"true","size":"sm","id":buttonPrevId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}},{"type":"tpl",// 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
882
+ "tpl":"${__page}/${__super.parent ? __tableItems[__parentIndex]['children'].length : __tableItems.length}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next",// "disabledOn": showPagination ? "${__page >= __tableItems.length}" : "true",
883
+ // 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
884
+ "disabledOn":showPagination?"${__page >= (__super.parent ? __tableItems[__parentIndex]['children'].length : __tableItems.length)}":"true","size":"sm","id":buttonNextId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}}]};}/**
881
885
  * 传入formSchema输出带翻页容器的wrapper
882
886
  * @param {*} props input-table组件props
883
887
  * @param {*} form formSchema
@@ -886,9 +890,10 @@ showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);va
886
890
  */function getFormPaginationWrapper(props,form,mode){// console.log("==getFormPaginationWrapper===", props, mode);
887
891
  var serviceId=getComponentId("form_pagination",props.id);var tableServiceId=getComponentId("table_service",props.id);var innerForm=Object.assign({},form,{"data":{// 这里加__super前缀是因为__parentForm变量(即主表单)中可能会正好有名为index的字段
888
892
  // 比如“对象字段”对象options字段是一个子表字段,但是主表(即“对象字段”对象)中正好有一个名为index的字段
889
- "&":"${__tableItems[__super.index]}"}});var formBody=[{"type":"wrapper","size":"none","className":"flex justify-end sticky top-0 right-0 left-0 z-20 bg-white -mt-2","body":[getFormPagination(props,mode)]},{"type":"service","body":[innerForm],"data":{"&":"${__parentForm}"}}];var onServiceInitedScript="\n // \u4EE5\u4E0B\u811A\u672C\u662F\u4E3A\u4E86\u89E3\u51B3\u6709\u65F6\u5F39\u51FA\u7F16\u8F91\u8868\u5355\u65F6\uFF0C\u8868\u5355\u4E2D\u7684\u503C\u6BD4\u6700\u540E\u4E00\u6B21\u7F16\u8F91\u4FDD\u5B58\u7684\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\u3002\n // \u6BD4\u5982\uFF1AinlineEditMode\u6A21\u5F0F\u65F6\uFF0C\u7528\u6237\u5728\u8868\u683C\u5355\u5143\u683C\u4E2D\u76F4\u63A5\u4FEE\u6539\u6570\u636E\uFF0C\u7136\u540E\u5F39\u51FA\u7684\u8868\u5355form\u4E2D\u5E76\u6CA1\u6709\u5305\u542B\u5355\u5143\u683C\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\n // \u53E6\u5916\u6709\u7684\u5730\u65B9\u5728\u975EinlineEditMode\u6A21\u5F0F\u65F6\u4E5F\u4F1A\u6709\u8FD9\u79CD\u5EF6\u8FDF\u4E00\u62CD\u95EE\u9898\uFF0C\u6BD4\u5982\u5BF9\u8C61\u5B57\u6BB5\u4E2D\u4E0B\u62C9\u6846\u7C7B\u578B\u5B57\u6BB5\u7684\u201D\u9009\u62E9\u9879\u201C\u5C5E\u6027\n // \u518D\u6BD4\u5982\u5DE5\u4F5C\u6D41\u89C4\u5219\u8BE6\u7EC6\u9875\u9762\u4FEE\u6539\u4E86\u5B50\u8868\u5B57\u6BB5\u201D\u65F6\u95F4\u89E6\u53D1\u5668\u201C\u503C\u540E\uFF0C\u5728\u53EA\u8BFB\u754C\u9762\u70B9\u51FB\u67E5\u770B\u6309\u94AE\u5F39\u51FA\u7684\u8868\u5355\u4E2D__tableItems\u503C\u662F\u4FEE\u6539\u524D\u7684\u503C\n // \u5904\u7406\u601D\u8DEF\u662F\u6BCF\u6B21\u5F39\u51FAform\u4E4B\u524D\u5148\u628A\u5176__tableItems\u540C\u6B65\u66F4\u65B0\u4E3A\u6700\u65B0\u503C\uFF0C\u8FD9\u6837\u5C31\u80FD\u5728\u5F39\u51FAform\u4E2D\u5305\u542B\u5355\u5143\u683C\u4E2D\u505A\u7684\u4FEE\u6539\n // \u6CE8\u610F\uFF1Aservice init\u4E8B\u4EF6\u53EA\u4F1A\u5728\u6BCF\u6B21\u5F39\u51FA\u7A97\u53E3\u65F6\u624D\u6267\u884C\uFF0C\u5728\u89E6\u53D1\u7FFB\u9875\u65F6\u5E76\u4E0D\u4F1A\u89E6\u53D1service init\u4E8B\u4EF6\n let scope = event.context.scoped;\n let __wrapperServiceId = \"".concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n // \u8FD9\u91CC\u5982\u679C\u4E0D.clone\u7684\u8BDD\uFF0C\u5728\u5F39\u51FA\u7A97\u53E3\u4E2D\u663E\u793A\u7684\u5B50\u8868\u7EC4\u4EF6\uFF0C\u6DFB\u52A0\u884C\u540E\u70B9\u7A97\u53E3\u7684\u53D6\u6D88\u6309\u94AE\u5173\u95ED\u7A97\u53E3\u540E\u65E0\u6CD5\u628A\u4E4B\u524D\u7684\u64CD\u4F5C\u8FD8\u539F\uFF0C\u5373\u628A\u4E4B\u524D\u6DFB\u52A0\u7684\u884C\u81EA\u52A8\u79FB\u9664\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"] || []);\n //\u4E0D\u53EF\u4EE5\u76F4\u63A5\u50CFevent.data.__tableItems = lastestFieldValue; \u8FD9\u6837\u6574\u4E2A\u8D4B\u503C\uFF0C\u5426\u5219\u4F5C\u7528\u57DF\u4F1A\u65AD\n let mode = \"").concat(mode,"\";\n if(mode === \"new\"){\n // \u70B9\u51FB\u5B50\u8868\u7EC4\u4EF6\u5E95\u90E8\u65B0\u589E\u6309\u94AE\u65F6\u65B0\u589E\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u81EA\u52A8\u7FFB\u9875\u5230\u65B0\u589E\u884C\n // \u6CE8\u610F\u70B9\u51FB\u5F39\u51FA\u7684\u5B50\u8868\u884C\u8BE6\u7EC6\u8868\u5355\u4E2D\u7684\u65B0\u589E\u6309\u94AE\u4E0D\u4F1A\u8FDB\u6B64service init\u4E8B\u4EF6\u51FD\u6570\u4E2D\n let newItem = {};\n event.data.__tableItems.push(newItem);\n lastestFieldValue.push(newItem);\n event.data.index = lastestFieldValue.length - 1;\n event.data.__page = lastestFieldValue.length;\n // \u8FD9\u91CC\u65B0\u589E\u7A7A\u767D\u884C\u65F6\u8981\u628A\u503C\u540C\u6B65\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\u4E2D\uFF0C\u5982\u679C\u4E0D\u540C\u6B65\u4FDD\u5B58\u7684\u8BDD\uFF0C\u7528\u6237\u70B9\u51FB\u5F39\u51FA\u8868\u5355\u53F3\u4E0A\u89D2\u7684\u5173\u95ED\u7A97\u53E3\u65F6\u4E0D\u4F1A\u81EA\u52A8\u5220\u9664\u8FD9\u91CC\u81EA\u52A8\u589E\u52A0\u7684\u7A7A\u767D\u884C\uFF0C\u540C\u6B65\u540E\u53EF\u4EE5\u8BA9\u7528\u6237\u624B\u52A8\u5220\u9664\u6B64\u884C\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n }\n event.data.__tableItems.forEach(function(n,i){\n event.data.__tableItems[i] = lastestFieldValue[i];\n });\n ");var schema={"type":"service","id":serviceId,"schemaApi":{// "url": "${context.rootUrl}/graphql?rebuildOn=${index}",
893
+ "&":"${__super.parent ? __tableItems[__parentIndex]['children'][__super.index] : __tableItems[__super.index]}"}});var formBody=[{"type":"wrapper","size":"none","className":"flex justify-end sticky top-0 right-0 left-0 z-20 bg-white -mt-2","body":[getFormPagination(props,mode)]},{"type":"service","body":[innerForm],"data":{"&":"${__parentForm}"}}];var onServiceInitedScript="\n if(event.data.parent){\n // \u5982\u679C\u662F\u5B50\u884C\uFF0C\u5373\u5728\u8282\u70B9\u5D4C\u5957\u60C5\u51B5\u4E0B\uFF0C\u5F53\u524D\u8282\u70B9\u5982\u679C\u662Fchildren\u5C5E\u6027\u4E0B\u7684\u5B50\u8282\u70B9\u65F6\uFF0C\u5219\u7B97\u51FA\u5176\u6240\u5C5E\u7236\u884C\u7684\u7D22\u5F15\u503C\n event.data.__parentIndex = _.findIndex(event.data.__tableItems, {_id: event.data.parent._id});\n }\n // \u4EE5\u4E0B\u811A\u672C\u662F\u4E3A\u4E86\u89E3\u51B3\u6709\u65F6\u5F39\u51FA\u7F16\u8F91\u8868\u5355\u65F6\uFF0C\u8868\u5355\u4E2D\u7684\u503C\u6BD4\u6700\u540E\u4E00\u6B21\u7F16\u8F91\u4FDD\u5B58\u7684\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\u3002\n // \u6BD4\u5982\uFF1AinlineEditMode\u6A21\u5F0F\u65F6\uFF0C\u7528\u6237\u5728\u8868\u683C\u5355\u5143\u683C\u4E2D\u76F4\u63A5\u4FEE\u6539\u6570\u636E\uFF0C\u7136\u540E\u5F39\u51FA\u7684\u8868\u5355form\u4E2D\u5E76\u6CA1\u6709\u5305\u542B\u5355\u5143\u683C\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\n // \u53E6\u5916\u6709\u7684\u5730\u65B9\u5728\u975EinlineEditMode\u6A21\u5F0F\u65F6\u4E5F\u4F1A\u6709\u8FD9\u79CD\u5EF6\u8FDF\u4E00\u62CD\u95EE\u9898\uFF0C\u6BD4\u5982\u5BF9\u8C61\u5B57\u6BB5\u4E2D\u4E0B\u62C9\u6846\u7C7B\u578B\u5B57\u6BB5\u7684\u201D\u9009\u62E9\u9879\u201C\u5C5E\u6027\n // \u518D\u6BD4\u5982\u5DE5\u4F5C\u6D41\u89C4\u5219\u8BE6\u7EC6\u9875\u9762\u4FEE\u6539\u4E86\u5B50\u8868\u5B57\u6BB5\u201D\u65F6\u95F4\u89E6\u53D1\u5668\u201C\u503C\u540E\uFF0C\u5728\u53EA\u8BFB\u754C\u9762\u70B9\u51FB\u67E5\u770B\u6309\u94AE\u5F39\u51FA\u7684\u8868\u5355\u4E2D__tableItems\u503C\u662F\u4FEE\u6539\u524D\u7684\u503C\n // \u5904\u7406\u601D\u8DEF\u662F\u6BCF\u6B21\u5F39\u51FAform\u4E4B\u524D\u5148\u628A\u5176__tableItems\u540C\u6B65\u66F4\u65B0\u4E3A\u6700\u65B0\u503C\uFF0C\u8FD9\u6837\u5C31\u80FD\u5728\u5F39\u51FAform\u4E2D\u5305\u542B\u5355\u5143\u683C\u4E2D\u505A\u7684\u4FEE\u6539\n // \u6CE8\u610F\uFF1Aservice init\u4E8B\u4EF6\u53EA\u4F1A\u5728\u6BCF\u6B21\u5F39\u51FA\u7A97\u53E3\u65F6\u624D\u6267\u884C\uFF0C\u5728\u89E6\u53D1\u7FFB\u9875\u65F6\u5E76\u4E0D\u4F1A\u89E6\u53D1service init\u4E8B\u4EF6\n let scope = event.context.scoped;\n let __wrapperServiceId = \"".concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n // \u8FD9\u91CC\u5982\u679C\u4E0D.clone\u7684\u8BDD\uFF0C\u5728\u5F39\u51FA\u7A97\u53E3\u4E2D\u663E\u793A\u7684\u5B50\u8868\u7EC4\u4EF6\uFF0C\u6DFB\u52A0\u884C\u540E\u70B9\u7A97\u53E3\u7684\u53D6\u6D88\u6309\u94AE\u5173\u95ED\u7A97\u53E3\u540E\u65E0\u6CD5\u628A\u4E4B\u524D\u7684\u64CD\u4F5C\u8FD8\u539F\uFF0C\u5373\u628A\u4E4B\u524D\u6DFB\u52A0\u7684\u884C\u81EA\u52A8\u79FB\u9664\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"] || []);\n //\u4E0D\u53EF\u4EE5\u76F4\u63A5\u50CFevent.data.__tableItems = lastestFieldValue; \u8FD9\u6837\u6574\u4E2A\u8D4B\u503C\uFF0C\u5426\u5219\u4F5C\u7528\u57DF\u4F1A\u65AD\n let mode = \"").concat(mode,"\";\n if(mode === \"new\"){\n // \u70B9\u51FB\u5B50\u8868\u7EC4\u4EF6\u5E95\u90E8\u65B0\u589E\u6309\u94AE\u65F6\u65B0\u589E\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u81EA\u52A8\u7FFB\u9875\u5230\u65B0\u589E\u884C\n // \u6CE8\u610F\u70B9\u51FB\u5F39\u51FA\u7684\u5B50\u8868\u884C\u8BE6\u7EC6\u8868\u5355\u4E2D\u7684\u65B0\u589E\u6309\u94AE\u4E0D\u4F1A\u8FDB\u6B64service init\u4E8B\u4EF6\u51FD\u6570\u4E2D\n let newItem = {};\n event.data.__tableItems.push(newItem);\n lastestFieldValue.push(newItem);\n event.data.index = lastestFieldValue.length - 1;\n event.data.__page = lastestFieldValue.length;\n // \u8FD9\u91CC\u65B0\u589E\u7A7A\u767D\u884C\u65F6\u8981\u628A\u503C\u540C\u6B65\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\u4E2D\uFF0C\u5982\u679C\u4E0D\u540C\u6B65\u4FDD\u5B58\u7684\u8BDD\uFF0C\u7528\u6237\u70B9\u51FB\u5F39\u51FA\u8868\u5355\u53F3\u4E0A\u89D2\u7684\u5173\u95ED\u7A97\u53E3\u65F6\u4E0D\u4F1A\u81EA\u52A8\u5220\u9664\u8FD9\u91CC\u81EA\u52A8\u589E\u52A0\u7684\u7A7A\u767D\u884C\uFF0C\u540C\u6B65\u540E\u53EF\u4EE5\u8BA9\u7528\u6237\u624B\u52A8\u5220\u9664\u6B64\u884C\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n }\n event.data.__tableItems.forEach(function(n,i){\n event.data.__tableItems[i] = lastestFieldValue[i];\n });\n ");var schema={"type":"service","id":serviceId,"schemaApi":{// "url": "${context.rootUrl}/graphql?rebuildOn=${index}",
890
894
  "url":"${context.rootUrl}/api/v1/spaces/none","trackExpression":"${index}","method":"get","adaptor":"\n const formBody = ".concat(JSON.stringify(formBody),";\n return {\n \"body\": formBody\n }\n "),"cache":600000},// "body": formBody,
891
- "data":{"__page":"${index + 1}"// "__total": `\${${props.name}.length}`,
895
+ "data":{"__page":"${index + 1}","__parentIndex":null//兼容节点嵌套情况,即节点中有children属性时,这里记录当前节点所属上层节点index,只支持向上找一层,不支持多层
896
+ // "__total": `\${${props.name}.length}`,
892
897
  // "__total": "${__tableItems.length}",
893
898
  // "__paginationServiceId": serviceId,
894
899
  // "__formId": form.id
@@ -900,7 +905,7 @@ var serviceId=getComponentId("form_pagination",props.id);var tableServiceId=getC
900
905
  * @param {*} props
901
906
  * @param {*} mode edit/new/readonly/delete
902
907
  */function _getForm(){_getForm=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee118(props){var mode,formId,formFields,body,schema,onEditItemSubmitScript,_args118=arguments;return _regeneratorRuntime().wrap(function _callee118$(_context118){while(1){switch(_context118.prev=_context118.next){case 0:mode=_args118.length>1&&_args118[1]!==undefined?_args118[1]:"edit";formId=_args118.length>2?_args118[2]:undefined;formFields=getFormFields(props,mode);_context118.next=5;return getFormBody(null,formFields);case 5:body=_context118.sent;if(!formId){formId=getComponentId("form",props.id);}schema={"type":"form","id":formId,"title":"表单","debug":false,"mode":"normal","body":body,"wrapWithPanel":false,"canAccessSuperData":false,"className":"steedos-object-form steedos-amis-form"};if(mode==="edit"||mode==="new"){// 新增行弹出编辑行表单,在弹出之前已经不用先增加一行,因为在翻页service初始化的时候会判断mode为new时自动新增一行
903
- onEditItemSubmitScript="\n // let fieldValue = _.cloneDeep(event.data[\"".concat(props.name,"\"]);\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n //\u8FD9\u91CC\u52A0__super.__super\u524D\u7F00\u662F\u56E0\u4E3A__parentForm\u53D8\u91CF\uFF08\u5373\u4E3B\u8868\u5355\uFF09\u4E2D\u53EF\u80FD\u4F1A\u6B63\u597D\u6709\u540D\u4E3Aindex\u7684\u5B57\u6BB5\n // \u6BD4\u5982\u201C\u5BF9\u8C61\u5B57\u6BB5\u201D\u5BF9\u8C61options\u5B57\u6BB5\u662F\u4E00\u4E2A\u5B50\u8868\u5B57\u6BB5\uFF0C\u4F46\u662F\u4E3B\u8868\uFF08\u5373\u201C\u5BF9\u8C61\u5B57\u6BB5\u201D\u5BF9\u8C61\uFF09\u4E2D\u6B63\u597D\u6709\u4E00\u4E2A\u540D\u4E3Aindex\u7684\u5B57\u6BB5\n fieldValue[event.data.__super.__super.index] = JSON.parse(JSON.stringify(event.data));\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n ");Object.assign(schema,{"onEvent":{"submit":{"weight":0,"actions":[// {
908
+ onEditItemSubmitScript="\n // let fieldValue = _.cloneDeep(event.data[\"".concat(props.name,"\"]);\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n //\u8FD9\u91CC\u52A0__super.__super\u524D\u7F00\u662F\u56E0\u4E3A__parentForm\u53D8\u91CF\uFF08\u5373\u4E3B\u8868\u5355\uFF09\u4E2D\u53EF\u80FD\u4F1A\u6B63\u597D\u6709\u540D\u4E3Aindex\u7684\u5B57\u6BB5\n // \u6BD4\u5982\u201C\u5BF9\u8C61\u5B57\u6BB5\u201D\u5BF9\u8C61options\u5B57\u6BB5\u662F\u4E00\u4E2A\u5B50\u8868\u5B57\u6BB5\uFF0C\u4F46\u662F\u4E3B\u8868\uFF08\u5373\u201C\u5BF9\u8C61\u5B57\u6BB5\u201D\u5BF9\u8C61\uFF09\u4E2D\u6B63\u597D\u6709\u4E00\u4E2A\u540D\u4E3Aindex\u7684\u5B57\u6BB5\n // fieldValue[event.data.__super.__super.index] = JSON.parse(JSON.stringify(event.data));\n var currentIndex = event.data.__super.__super.index;\n var currentFormValues = JSON.parse(JSON.stringify(event.data));\n var parent = event.data.__super.__super.parent;\n var __parentIndex = event.data.__super.__super.__parentIndex;\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n ");Object.assign(schema,{"onEvent":{"submit":{"weight":0,"actions":[// {
904
909
  // "actionType": "setValue",
905
910
  // "args": {
906
911
  // "index": "${index}",
@@ -991,7 +996,7 @@ schema=getFormPaginationWrapper(props,schema,mode);return _context118.abrupt("re
991
996
  // }
992
997
  // }
993
998
  // };
994
- onSaveAndNewItemScript="\n let scope = event.context.scoped;\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u65B0\u5EFA\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n fieldValue.push({});\n doAction({\n \"componentId\": \"".concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");onSaveAndCopyItemScript="\n let scope = event.context.scoped;\n let __formId = \"".concat(formId,"\";\n // let newItem = JSON.parse(JSON.stringify(event.data));\n let newItem = scope.getComponentById(__formId).getValues();//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data\uFF0C\u56E0\u4E3A\u5176\u62FF\u5230\u7684\u662F\u5F39\u51FA\u8868\u5355\u65F6\u7684\u521D\u59CB\u503C\uFF0C\u4E0D\u662F\u7528\u6237\u5B9E\u65F6\u586B\u5199\u7684\u6570\u636E\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u590D\u5236\u5F53\u524D\u9875\u6570\u636E\u5230\u65B0\u5EFA\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n fieldValue.push(newItem);\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");dialogButtons=[{"type":"button","label":"完成","actionType":"confirm","level":"primary"}];if(props.addable){// 有新增行权限时额外添加新增和复制按钮
999
+ onSaveAndNewItemScript="\n let scope = event.context.scoped;\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u65B0\u5EFA\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n var parent = event.data.__super.parent;\n var __parentIndex = parent && _.findIndex(fieldValue, {_id: parent._id});\n if(parent){\n fieldValue[__parentIndex].children.push({});\n }\n else{\n fieldValue.push({});\n }\n doAction({\n \"componentId\": \"".concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n if(parent){\n event.data.__page = fieldValue[__parentIndex].children.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n event.data.__parentIndex = __parentIndex; //\u6267\u884C\u4E0B\u9762\u7684\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\u4E2D\u4F9D\u8D56\u4E86__parentIndex\u503C\n }\n else{\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n }\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");onSaveAndCopyItemScript="\n let scope = event.context.scoped;\n let __formId = \"".concat(formId,"\";\n // let newItem = JSON.parse(JSON.stringify(event.data));\n let newItem = scope.getComponentById(__formId).getValues();//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data\uFF0C\u56E0\u4E3A\u5176\u62FF\u5230\u7684\u662F\u5F39\u51FA\u8868\u5355\u65F6\u7684\u521D\u59CB\u503C\uFF0C\u4E0D\u662F\u7528\u6237\u5B9E\u65F6\u586B\u5199\u7684\u6570\u636E\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u590D\u5236\u5F53\u524D\u9875\u6570\u636E\u5230\u65B0\u5EFA\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n // fieldValue.push(newItem);\n var parent = event.data.__super.parent;\n var __parentIndex = parent && _.findIndex(fieldValue, {_id: parent._id});\n if(parent){\n fieldValue[__parentIndex].children.push(newItem);\n }\n else{\n fieldValue.push(newItem);\n }\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n // event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n if(parent){\n event.data.__page = fieldValue[__parentIndex].children.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n event.data.__parentIndex = __parentIndex; //\u6267\u884C\u4E0B\u9762\u7684\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\u4E2D\u4F9D\u8D56\u4E86__parentIndex\u503C\n }\n else{\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n }\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");dialogButtons=[{"type":"button","label":"完成","actionType":"confirm","level":"primary"}];if(props.addable){// 有新增行权限时额外添加新增和复制按钮
995
1000
  dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一行,即保存当前行数据并新增一条空白行","onEvent":{"click":{"actions":[{"actionType":"custom","script":onSaveAndNewItemScript}]}}},{"type":"button","label":"复制","tooltip":"复制并新增一行,即保存当前行数据并复制当前行数据到新增行","onEvent":{"click":{"actions":[{"actionType":"custom","script":onSaveAndCopyItemScript}]}}},dialogButtons[0]];}_context119.t0=dialogId;_context119.t1="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context119.next=17;return getForm(props,mode,formId);case 17:_context119.t2=_context119.sent;_context119.t3=[_context119.t2];_context119.t4={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
996
1001
  // 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
997
1002
  // 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
@@ -1000,12 +1005,47 @@ dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一
1000
1005
  // 映射到中间变量__parentForm而不是直接用&展开映射是为了避免表单中字段名与作用域中变量重名
1001
1006
  // "__parentForm": "${__super.__super || {}}",
1002
1007
  // "__parentForm": mode == "new" ? "$$" : "${__super.__super || {}}",
1003
- "__parentForm":mode=="new"?"$$":parentFormData,"_master":"${_master}","global":"${global}","uiSchema":"${uiSchema}","index":"${index}",// "__tableItems": `\${${props.name}}`
1008
+ "__parentForm":mode=="new"?"$$":parentFormData,"_master":"${_master}","global":"${global}","uiSchema":"${uiSchema}","index":"${index}",//amis组件自带行索引,在节点嵌套情况下,当前节点如果是children属性下的子节点时,这里的index是当前节点在children中的索引,而不是外层父节点的index
1009
+ "parent":"${parent}",//amis组件自带父节点数据域数据,即节点嵌套情况下,当前节点为某个节点(比如A节点)的children属性下的子节点时,当前节点的父节点(即A节点)的数据域数据
1010
+ // "__tableItems": `\${${props.name}}`
1004
1011
  // 为了解决"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog
1005
1012
  // 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系
1006
1013
  // "__tableItems": `\${${props.name}|json|toJson}`
1007
1014
  "__tableItems":"${(".concat(props.name," || [])|json|toJson}")};_context119.t5=dialogButtons;_context119.t6={"confirm":{"actions":[{"actionType":"validate","componentId":formId},{"preventDefault":true,"expression":"${event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
1008
- }]}};_context119.t7={"type":"dialog","id":_context119.t0,"title":_context119.t1,"body":_context119.t3,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"data":_context119.t4,"actions":_context119.t5,"onEvent":_context119.t6};actionShowEditDialog={"actionType":"dialog","dialog":_context119.t7};if(props.dialog){Object.assign(actionShowEditDialog.dialog,props.dialog);}if(mode=="new"){"\n let newItem = {};\n if(event.data[\"".concat(props.name,"\"]){\n // let fieldValue = event.data.__tableItems;\n // \u8FD9\u91CC\u4E0D\u7528__tableItems\u662F\u56E0\u4E3A\u65B0\u5EFA\u7684\u65F6\u5019\u6CA1\u6709\u7FFB\u9875\uFF0C\u91CC\u9762\u6CA1\u6709\u4E5F\u4E0D\u9700\u8981\u8D70__tableItems\u53D8\u91CF\n // let fieldValue = _.clone(event.data[\"").concat(props.name,"\"]);\n let fieldValue = event.data[\"").concat(props.name,"\"];\n fieldValue.push(newItem);\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n event.data.index = fieldValue.length - 1;\n }\n else{\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u6267\u884Cevent.data[\"").concat(props.name,"\"]=[newItem]\uFF0C\u6570\u636E\u57DF\u4F1A\u65AD\u6389\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": [newItem]\n }\n });\n event.data.index = 1;\n }\n ");// 新增行时不需要在弹出编辑表单前先加一行,因为会在编辑表单所在service初始化时判断到是新增就自动增加一行,因为这里拿不到event.data.__tableItems,也无法变更其值
1015
+ }]}};_context119.t7={"type":"dialog","id":_context119.t0,"title":_context119.t1,"body":_context119.t3,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"data":_context119.t4,"actions":_context119.t5,"onEvent":_context119.t6};actionShowEditDialog={"actionType":"dialog","dialog":_context119.t7};if(props.dialog){Object.assign(actionShowEditDialog.dialog,props.dialog);}if(mode=="new"){// let onNewLineScript = `
1016
+ // let newItem = {};
1017
+ // if(event.data["${props.name}"]){
1018
+ // // let fieldValue = event.data.__tableItems;
1019
+ // // 这里不用__tableItems是因为新建的时候没有翻页,里面没有也不需要走__tableItems变量
1020
+ // // let fieldValue = _.clone(event.data["${props.name}"]);
1021
+ // let fieldValue = event.data["${props.name}"];
1022
+ // fieldValue.push(newItem);
1023
+ // doAction({
1024
+ // "componentId": "${props.id}",
1025
+ // "actionType": "setValue",
1026
+ // "args": {
1027
+ // "value": fieldValue
1028
+ // }
1029
+ // });
1030
+ // event.data.index = fieldValue.length - 1;
1031
+ // }
1032
+ // else{
1033
+ // // 这里不可以执行event.data["${props.name}"]=[newItem],数据域会断掉
1034
+ // doAction({
1035
+ // "componentId": "${props.id}",
1036
+ // "actionType": "setValue",
1037
+ // "args": {
1038
+ // "value": [newItem]
1039
+ // }
1040
+ // });
1041
+ // event.data.index = 1;
1042
+ // }
1043
+ // `;
1044
+ // let actionNewLine = {
1045
+ // "actionType": "custom",
1046
+ // "script": onNewLineScript
1047
+ // };
1048
+ // 新增行时不需要在弹出编辑表单前先加一行,因为会在编辑表单所在service初始化时判断到是新增就自动增加一行,因为这里拿不到event.data.__tableItems,也无法变更其值
1009
1049
  // actions = [actionNewLine, actionShowEditDialog];
1010
1050
  actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDialog];}_context119.next=42;break;case 28:if(!(mode=="readonly")){_context119.next=41;break;}_context119.t8="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context119.next=32;return getForm(props,"readonly");case 32:_context119.t9=_context119.sent;_context119.t10=[_context119.t9];_context119.t11=[];_context119.t12={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
1011
1051
  // 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
@@ -1018,7 +1058,7 @@ actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDia
1018
1058
  // 为了解决"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog
1019
1059
  // 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系
1020
1060
  // "__tableItems": `\${${props.name}|json|toJson}`
1021
- "__tableItems":"${(".concat(props.name," || [])|json|toJson}")};_context119.t13={"type":"dialog","title":_context119.t8,"body":_context119.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context119.t11,"data":_context119.t12};_context119.t14={"actionType":"dialog","dialog":_context119.t13};actions=[_context119.t14];_context119.next=42;break;case 41:if(mode=="delete"){tableServiceId=getComponentId("table_service",props.id);onDeleteItemScript="\n // let fieldValue = event.data[\"".concat(props.name,"\"];\n let scope = event.context.scoped;\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n // \u8FD9\u91CC_.clone\u662F\u56E0\u4E3A\u5B57\u6BB5\u8BBE\u8BA1\u5E03\u5C40\u8BBE\u7F6E\u5206\u7EC4\u8FD9\u79CD\u5F39\u51FA\u7A97\u53E3\u4E2D\u7684\u5B50\u8868\u7EC4\u4EF6\uFF0C\u76F4\u63A5\u5220\u9664\u540E\uFF0C\u70B9\u53D6\u6D88\u65E0\u6CD5\u8FD8\u539F\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"]);\n lastestFieldValue.splice(event.data.index, 1);\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n ");actions=[// {
1061
+ "__tableItems":"${(".concat(props.name," || [])|json|toJson}")};_context119.t13={"type":"dialog","title":_context119.t8,"body":_context119.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context119.t11,"data":_context119.t12};_context119.t14={"actionType":"dialog","dialog":_context119.t13};actions=[_context119.t14];_context119.next=42;break;case 41:if(mode=="delete"){tableServiceId=getComponentId("table_service",props.id);onDeleteItemScript="\n // let fieldValue = event.data[\"".concat(props.name,"\"];\n let scope = event.context.scoped;\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n // \u8FD9\u91CC_.clone\u662F\u56E0\u4E3A\u5B57\u6BB5\u8BBE\u8BA1\u5E03\u5C40\u8BBE\u7F6E\u5206\u7EC4\u8FD9\u79CD\u5F39\u51FA\u7A97\u53E3\u4E2D\u7684\u5B50\u8868\u7EC4\u4EF6\uFF0C\u76F4\u63A5\u5220\u9664\u540E\uFF0C\u70B9\u53D6\u6D88\u65E0\u6CD5\u8FD8\u539F\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"]);\n var currentIndex = event.data.index;\n var parent = event.data.__super.parent;\n var __parentIndex = parent && _.findIndex(lastestFieldValue, {_id: parent._id});\n if(parent){\n lastestFieldValue[__parentIndex].children.splice(currentIndex, 1);\n }\n else{\n lastestFieldValue.splice(currentIndex, 1);\n }\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n ");actions=[// {
1022
1062
  // "actionType": "deleteItem",
1023
1063
  // "args": {
1024
1064
  // "index": "${index+','}" //这里不加逗号后续会报错,语法是逗号分隔可以删除多行