@steedos-widgets/amis-lib 1.0.14 → 1.0.15

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
@@ -1,4 +1,4 @@
1
- !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("lodash"),require("lodash/isPlainObject")):"function"==typeof define&&define.amd?define(["exports","lodash","lodash/isPlainObject"],a):a((e="undefined"!=typeof globalThis?globalThis:e||self)["amis-lib"]={},e._$1,e.isPlainObject)}(this,function(e,b,a){window;function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function P(t){var r;return t&&t.__esModule?t:(r=Object.create(null),t&&Object.keys(t).forEach(function(e){var a;"default"!==e&&(a=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(r,e,a.get?a:{enumerable:!0,get:function(){return t[e]}}))}),r.default=t,Object.freeze(r))}var y=P(b),u=C(b),B=C(a);const L=[],R=(e,a=window.location)=>{(e=e||"")&&"#"===e[0]?e=a.pathname+a.search+e:e&&"?"===e[0]&&(e=a.pathname+e);var t=e.indexOf("?"),r=e.indexOf("#");let i=~t?e.substring(0,t):~r?e.substring(0,r):e;t=~t?e.substring(t,~r?r:void 0):"",e=~r?e.substring(r):a.hash;if(i){if("/"!=i[0]&&!/^https?\:\/\//.test(i)){var l,s=a.pathname.split("/");for(s.pop();l=/^\.\.?\//.exec(i);)"../"===l[0]&&s.pop(),i=i.substring(l[0].length);i=s.concat(i).join("/")}}else i=a.pathname;return i+t+e};const z=t=>({theme:"antd",notify:(e,a)=>{a.props?.schema.tpl?SteedosUI.message[e](a.props?.schema.tpl):"string"==typeof a?SteedosUI.message[e](a):console.warn("notify",e,a)},confirm:t=>new Promise((e,a)=>SteedosUI.Modal.confirm({title:t,onOk:()=>{e(!0)},okText:"确认",cancelText:"取消"})),jumpTo:(e,a)=>{if("goBack"===e)return window.history.back();e=R(e),a&&"url"===a.actionType?!1===a.blank?t.push(e):window.open(e):a&&e&&a.target?window.open(e,a.target):/^https?:\/\//.test(e)?window.location.replace(e):t.push(e)}}),J=e=>{if(!b.isEmpty(e)&&b.isArray(e)){var a=amisRequire("amis");const t={renderer:a.Renderer,formitem:a.FormItem,options:a.OptionsControl};let s=amisRequire("react");b.each(e,a=>{if(!b.find(L,e=>e===a.componentName)){let l=Builder.components.find(e=>e.name===a.componentName),e=l.class;"amisSchema"===a.componentType&&(e=a=>{var{body:e,render:t}=a;const[r,i]=s.useState(null);return s.useEffect(()=>{var e=l.class(a);e&&e.then&&"function"==typeof e.then?e.then(e=>{i(e)}):i(e)},[]),s.createElement(s.Fragment,null,s.createElement(s.Fragment,null,r&&t?t("body",r):""),s.createElement(s.Fragment,null,t?t("body",e):""))}),t[a.usage]?(t[a.usage]({test:new RegExp("(^|/)"+a.type),type:a.type,weight:a.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:a.type,weight:a.weight,component:e,framework:a.framework,usage:a.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${a.usage}自定义组件类型。`),L.push(a.componentName)}})}};const M={},r=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings;async function s(e,a={credentials:"include"}){var t={"Content-Type":"application/json"},r=K(),r=(r&&(t.Authorization=r),a.headers=Object.assign({},t,a.headers),a.credentials="include",await fetch(""+o()+e,a));if(401===r.status)throw new Error(401);t=await r.json();if(t.errors)throw console.error(t.errors),new Error("Failed to fetch API");return t}function H(){try{let e=r().tenantId;var a;return(window.location.search&&!e&&(a=new URLSearchParams(window.location.search),e=a.get("X-Space-Id")),e)?e:null}catch(e){console.error(e)}}function U(){try{var e=r().authToken;return e?e:null}catch(e){console.error(e)}}function K(){try{var e=r(),a=e.tenantId,t=e.authToken;return a&&t?`Bearer ${a},`+t:null}catch(e){console.error(e)}}function o(e){var a=r();return a.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}const t=()=>b.cloneDeep(M);async function Y(e,a){0!=a&&(a=!0);let t=["_id"],r=[],i=[];for(const l of i=y.isArray(e)?e:y.values(e))l.name.indexOf(".")<0&&(!a||"lookup"!=l.type&&"master_detail"!=l.type?t.push(l.alias?l.alias+":"+l.name:l.name):(t.push(""+l.name),r.push(""+l.name)),b.includes(["time","date","datetime","boolean","number","currency"],l.type)&&t.push(""+l.name),b.includes(["time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&r.push(""+l.name));return r=y.uniq(r),t=y.uniq(t),0<r.length?`${t.join(",")},_display:_ui{${r.join(",")}}`:""+t.join(" ")}function W(){return`
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("lodash"),require("lodash/isPlainObject")):"function"==typeof define&&define.amd?define(["exports","lodash","lodash/isPlainObject"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["amis-lib"]={},e._$1,e.isPlainObject)}(this,function(e,b,t){window;function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function P(a){var r;return a&&a.__esModule?a:(r=Object.create(null),a&&Object.keys(a).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(a,e),Object.defineProperty(r,e,t.get?t:{enumerable:!0,get:function(){return a[e]}}))}),r.default=a,Object.freeze(r))}var g=P(b),u=q(b),L=q(t);const B=[],R=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),r=e.indexOf("#");let i=~a?e.substring(0,a):~r?e.substring(0,r):e;a=~a?e.substring(a,~r?r:void 0):"",e=~r?e.substring(r):t.hash;if(i){if("/"!=i[0]&&!/^https?\:\/\//.test(i)){var l,s=t.pathname.split("/");for(s.pop();l=/^\.\.?\//.exec(i);)"../"===l[0]&&s.pop(),i=i.substring(l[0].length);i=s.concat(i).join("/")}}else i=t.pathname;return i+a+e};const z=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t)},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0)},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=R(e),t&&"url"===t.actionType?!1===t.blank?a.push(e):window.open(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e)}}),J=e=>{if(!b.isEmpty(e)&&b.isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let s=amisRequire("react");b.each(e,t=>{if(!b.find(B,e=>e===t.componentName)){let l=Builder.components.find(e=>e.name===t.componentName),e=l.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[r,i]=s.useState(null);return s.useEffect(()=>{var e=l.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{i(e)}):i(e)},[]),s.createElement(s.Fragment,null,s.createElement(s.Fragment,null,r&&a?a("body",r):""),s.createElement(s.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),B.push(t.componentName)}})}};const M={},r=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings;async function s(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},r=K(),r=(r&&(a.Authorization=r),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+o()+e,t));if(401===r.status)throw new Error(401);a=await r.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function U(){try{let e=r().tenantId;var t;return(window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e)}}function H(){try{var e=r().authToken;return e?e:null}catch(e){console.error(e)}}function K(){try{var e=r(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e)}}function Y(){try{var e=r().userId;return e?e:null}catch(e){console.error(e)}}function o(e){var t=r();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}const a=()=>b.cloneDeep(M);async function W(e,t){0!=t&&(t=!0);let a=["_id"],r=[],i=[];for(const l of i=g.isArray(e)?e:g.values(e))l.name.indexOf(".")<0&&(!t||"lookup"!=l.type&&"master_detail"!=l.type?a.push(l.alias?l.alias+":"+l.name:l.name):(a.push(""+l.name),r.push(""+l.name)),b.includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),b.includes(["time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&r.push(""+l.name));return r=g.uniq(r),a=g.uniq(a),0<r.length?`${a.join(",")},_display:_ui{${r.join(",")}}`:""+a.join(" ")}function G(){return`
2
2
  recordPermissions: _permissions{
3
3
  allowCreate,
4
4
  allowCreateFiles,
@@ -23,7 +23,7 @@
23
23
  viewAssignCompanysRecords,
24
24
  viewCompanyRecords,
25
25
  }
26
- `}async function G(e,a,t,r){let i="",l=(a&&(i=`(filters:["${e.idFieldName}", "=", "${a}"])`),"data");return r&&(r.alias&&(l=r.alias),r.filters&&(i=`(filters:${r.filters})`),r.queryOptions&&(i=`(${r.queryOptions})`)),{query:`{${l}:${e.name}${i}{${await Y(t)}, ${W()}}}`}}function Z(e){return`
26
+ `}async function Z(e,t,a,r){let i="",l=(t&&(i=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return r&&(r.alias&&(l=r.alias),r.filters&&(i=`(filters:${r.filters})`),r.queryOptions&&(i=`(${r.queryOptions})`)),{query:`{${l}:${e.name}${i}{${await W(a)}, ${G()}}}`}}function X(e){return`
27
27
  const formData = api.data.$;
28
28
  for (key in formData){
29
29
  // image、select等字段清空值后保存的空字符串转换为null。
@@ -38,10 +38,10 @@
38
38
  delete formData.modified;
39
39
  delete formData.modified_by;
40
40
  delete formData._display;
41
- ${a=e,t=[],a.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`)}),t.join("\r\n")}
42
- ${function(e){let a=[],t={};return e.forEach(e=>{b.includes(["image","avatar"],e.type)&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
43
- let imgFieldsKeys = ${JSON.stringify(a)};
44
- let imgFields = ${JSON.stringify(t)};
41
+ ${t=e,a=[],t.forEach(e=>{e.readonly&&a.push(`delete formData.${e.name};`)}),a.join("\r\n")}
42
+ ${function(e){let t=[],a={};return e.forEach(e=>{b.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple})}),t.length?`
43
+ let imgFieldsKeys = ${JSON.stringify(t)};
44
+ let imgFields = ${JSON.stringify(a)};
45
45
  imgFieldsKeys.forEach((item)=>{
46
46
  let imgFieldValue = formData[item];
47
47
  if(imgFieldValue && imgFieldValue.length){
@@ -60,9 +60,9 @@
60
60
  }
61
61
  })
62
62
  `:""}(e)}
63
- ${function(e){let a=[],t={};return e.forEach(e=>{"file"===e.type&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
64
- let fileFieldsKeys = ${JSON.stringify(a)};
65
- let fileFields = ${JSON.stringify(t)};
63
+ ${function(e){let t=[],a={};return e.forEach(e=>{"file"===e.type&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple})}),t.length?`
64
+ let fileFieldsKeys = ${JSON.stringify(t)};
65
+ let fileFields = ${JSON.stringify(a)};
66
66
  fileFieldsKeys.forEach((item)=>{
67
67
  let fileFieldValue = formData[item];
68
68
  if(fileFieldValue){
@@ -88,26 +88,27 @@
88
88
  query = \`mutation{record: \${objectName}__update(id: "\${formData._id}", doc: {__saveData}){_id}}\`;
89
89
  };
90
90
  delete formData._id;
91
+ delete formData.__selectUserLoaded__;//选人控件加载标志不应该保存到数据库中
91
92
  let __saveData = JSON.stringify(JSON.stringify(formData));
92
- `;var a,t}async function i(e,a,t,r){var i=r.limit||10;let l=`(top: ${i})`,s=(a&&(l=`(filters:["_id", "=", "${a}"], top: ${i})`),"data");r&&(r.alias&&(s=r.alias),r.filters&&(l=`(filters:${r.filters})`),r.queryOptions&&(l=`(${r.queryOptions})`));a="",e.enable_tree&&y.includes(y.keys(e.fields),"parent")&&y.includes(y.keys(e.fields),"children")&&(a=",parent,children"),i="";return"cms_files"===e.name&&(i=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${s}:${e.name}${l}{${await Y(t,r.expand)}${a}${i}},count:${e.name}__count(filters:{__filters})}`}}function m(e){if(!e)return"${context.rootUrl}/graphql"}const h={getAppPath({appId:e}){return"/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:a,listViewName:t}){return`/app/${e}/${a}/grid/`+t},getObjectDetailPath(e){var{appId:e,objectName:a,recordId:t}=e;return"instances"===a?"/workflow/space/${context.tenantId}/${listName}/"+t:`/app/${e}/${a}/view/`+t},getObjectRelatedViewPath({appId:e,masterObjectName:a,masterRecordId:t,objectName:r,foreignKey:i}){return`/app/${e}/${a}/${t}/${r}/grid?related_field_name=`+i}};function X(e){return`<div>\${_display.${e.name}}</div>`}function n(e){return`<div>\${_display.${e.name}}</div>`}function d(e){return`<div>\${_display.${e.name}}</div>`}function c(e){return`<div>\${_display.${e.name}}</div>`}function Q(e,a){let t="";var r;return t=_.isString(e.reference_to)||!e.reference_to?e.multiple?(r=h.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
93
+ `;var t,a}async function l(e,t,a,r){var i=r.limit||10;let l=`(top: ${i})`,s=(t&&(l=`(filters:["_id", "=", "${t}"], top: ${i})`),"data");r&&(r.alias&&(s=r.alias),r.filters&&(l=`(filters:${r.filters})`),r.queryOptions&&(l=`(${r.queryOptions})`));t="",e.enable_tree&&g.includes(g.keys(e.fields),"parent")&&g.includes(g.keys(e.fields),"children")&&(t=",parent,children"),i="";return"cms_files"===e.name&&(i=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${s}:${e.name}${l}{${await W(a,r.expand)}${t}${i}},count:${e.name}__count(filters:{__filters})}`}}function m(e){if(!e)return"${context.rootUrl}/graphql"}const v={getAppPath({appId:e}){return"/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:a}){return`/app/${e}/${t}/grid/`+a},getObjectDetailPath(e){var{appId:e,objectName:t,recordId:a}=e;return"instances"===t?"/workflow/space/${context.tenantId}/${listName}/"+a:`/app/${e}/${t}/view/`+a},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:a,objectName:r,foreignKey:i}){return`/app/${e}/${t}/${a}/${r}/grid?related_field_name=`+i}};function Q(e){return`<div>\${_display.${e.name}}</div>`}function p(e){return`<div>\${_display.${e.name}}</div>`}function f(e){return`<div>\${_display.${e.name}}</div>`}function y(e){return`<div>\${_display.${e.name}}</div>`}function ee(e,t){let a="";var r;return a=_.isString(e.reference_to)||!e.reference_to?e.multiple?(r=v.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
93
94
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${r}"><%=item.label%></a> <% }); %><% } %>
94
- `):`<a href="${h.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:`\${_display.${e.name}.objectName}`,recordId:`\${_display.${e.name}.value}`})}">\${_display.${e.name}.label}</a>`:(r=h.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
95
+ `):`<a href="${v.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:`\${_display.${e.name}.objectName}`,recordId:`\${_display.${e.name}.value}`})}">\${_display.${e.name}.label}</a>`:(r=v.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
95
96
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${r}"><%=item.label%></a> <% }); %><% } %>
96
- `)}async function g(e,a){var t,r;return e.reference_to?(t=await((await V(e.reference_to)).NAME_FIELD_KEY||"name"),e.multiple?(r=h.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:e.reference_to,recordId:"<%=item._id%>"}),`
97
- <% if (data.${e.name} && data.${e.name}.length) { %><% data.${e.name}.forEach(function(item) { %> <a href="${r}"><%=item.${t}%></a> <% }); %><% } %>
98
- `):`<a href="${h.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:e.reference_to,recordId:`\${${e.name}._id}`})}">\${${e.name}.${t}}</a>`):c(e)}function ee(e){return`<% if (data.${e.name}) { %>
97
+ `)}async function w(e,t){var a,r;return e.reference_to?(a=await((await V(e.reference_to)).NAME_FIELD_KEY||"name"),e.multiple?(r=v.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:"<%=item._id%>"}),`
98
+ <% if (data.${e.name} && data.${e.name}.length) { %><% data.${e.name}.forEach(function(item) { %> <a href="${r}"><%=item.${a}%></a> <% }); %><% } %>
99
+ `):`<a href="${v.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:`\${${e.name}._id}`})}">\${${e.name}.${a}}</a>`):y(e)}function te(e){return`<% if (data.${e.name}) { %>
99
100
  <span class="slds-icon_container slds-icon-utility-check slds-current-color" title="<%=data._display.${e.name}%>">
100
101
  <span ><%= data._display.${e.name} === "√" ? "<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-4 h-4'><path stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /></svg>" : data._display.${e.name} %></span>
101
102
  </span>
102
103
  <% } %>`}function ae(e){return`<% if (data.${e.name}) { %>
103
104
  <span>······</span>
104
- <% } %>`}async function te(e,a){if(e.is_name||e.name===a.labelFieldName)return t=e,"cms_files"===(r=a).objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${t.name}}</a>`:`<a href="${h.getObjectDetailPath({...r,formFactor:r.formFactor,appId:"${appId}",objectName:r.objectName||"${objectName}",recordId:`\${${r.idFieldName}}`})}">\${${t.name}}</a>`;var t,r;switch(e.type){case"password":return ae(e);case"boolean":return ee(e);case"select":return c(e);case"time":return`<div>\${_display.${e.name}}</div>`;case"date":return n(e);case"datetime":return d(e);case"lookup":case"master_detail":return Q(e,a);case"number":case"currency":return X(e);case"formula":case"summary":case"filesize":return`<div>\${_display.${e.name}}</div>`}}const re=100;async function ie(e,a,t,r){return{method:"post",url:m()+"?rf="+(new Date).getTime(),cache:re,adaptor:function(e){let t="";var a=y.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return y.each(a,function(e){var a;y.includes(O,e.name)||(e.name,e.options?(a=JSON.stringify({options:e.options}),t+=`var ${e.name}Options= (${a}).options;`):e.optionsFunction?t+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`:e._optionsFunction&&(t+=`var ${e.name}Options = eval(${e._optionsFunction})(api.data);`),e.multiple?t+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:t=(t+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`)}),`
105
+ <% } %>`}async function re(e,t){if(e.is_name||e.name===t.labelFieldName)return a=e,"cms_files"===(r=t).objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${a.name}}</a>`:`<a href="${v.getObjectDetailPath({...r,formFactor:r.formFactor,appId:"${appId}",objectName:r.objectName||"${objectName}",recordId:`\${${r.idFieldName}}`})}">\${${a.name}}</a>`;var a,r;switch(e.type){case"password":return ae(e);case"boolean":return te(e);case"select":return y(e);case"time":return`<div>\${_display.${e.name}}</div>`;case"date":return p(e);case"datetime":return f(e);case"lookup":case"master_detail":return ee(e,t);case"number":case"currency":return Q(e);case"formula":case"summary":case"filesize":return`<div>\${_display.${e.name}}</div>`}}const ie=100;async function le(e,t,a,r){return{method:"post",url:m()+"?rf="+(new Date).getTime(),cache:ie,adaptor:function(e){let a="";var t=g.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return g.each(t,function(e){var t;g.includes(et,e.name)||(e.name,e.options?(t=JSON.stringify({options:e.options}),a+=`var ${e.name}Options= (${t}).options;`):e.optionsFunction?a+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`:e._optionsFunction&&(a+=`var ${e.name}Options = eval(${e._optionsFunction})(api.data);`),e.multiple?a+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:a=(a+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`)}),`
105
106
  if(payload.data.data){
106
107
  var data = payload.data.data[0];
107
108
  try{
108
- ${t}
109
- ${le(e)}
109
+ ${a}
110
110
  ${se(e)}
111
+ ${oe(e)}
111
112
  }catch(e){
112
113
  console.error(e)
113
114
  }
@@ -119,10 +120,10 @@
119
120
  payload.msg = payload.errors[0].message;
120
121
  }
121
122
  return payload;
122
- `}(t),data:await G(e,a,t,r),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function le(e){let a=[],t={};return e.forEach(e=>{y.includes(["image","avatar"],e.type)&&(a.push(e.name),t[e.name]={name:e.name,type:e.type,multiple:e.multiple})}),a.length?`
123
+ `}(a),data:await Z(e,t,a,r),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function se(e){let t=[],a={};return e.forEach(e=>{g.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,type:e.type,multiple:e.multiple})}),t.length?`
123
124
  // image字段值添加URL前缀
124
- let imgFieldsKeys = ${JSON.stringify(a)};
125
- let imgFields = ${JSON.stringify(t)};
125
+ let imgFieldsKeys = ${JSON.stringify(t)};
126
+ let imgFields = ${JSON.stringify(a)};
126
127
  imgFieldsKeys.forEach((item)=>{
127
128
  let imgFieldValue = data[item];
128
129
  let imgFieldDisplayValue = data._display && data._display[item];
@@ -137,10 +138,10 @@
137
138
  }
138
139
  }
139
140
  })
140
- `:""}function se(e){let a=[],t={};return e.forEach(e=>{"file"===e.type&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
141
+ `:""}function oe(e){let t=[],a={};return e.forEach(e=>{"file"===e.type&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple})}),t.length?`
141
142
  // file字段值重写以便编辑时正常显示附件名、点击附件名正常下载附件
142
- let fileFieldsKeys = ${JSON.stringify(a)};
143
- let fileFields = ${JSON.stringify(t)};
143
+ let fileFieldsKeys = ${JSON.stringify(t)};
144
+ let fileFields = ${JSON.stringify(a)};
144
145
  fileFieldsKeys.forEach((item)=>{
145
146
  let fileFieldValue = data[item];
146
147
  let fileFieldDisplayValue = data._display && data._display[item];
@@ -166,26 +167,26 @@
166
167
  }
167
168
  }
168
169
  })
169
- `:""}function oe(e,a,t){return{method:"post",url:m(),data:{objectName:e.name,$:"$$",recordId:a,modalName:"${modalName}"},requestAdaptor:`
170
- ${Z(t)}
170
+ `:""}function ne(e,t,a){return{method:"post",url:m(),data:{objectName:e.name,$:"$$",recordId:t,modalName:"${modalName}"},requestAdaptor:`
171
+ ${X(a)}
171
172
  api.data = {query: query.replace('{__saveData}', __saveData)};
172
173
  return api;
173
174
  `,responseData:{recordId:"${record._id}"},adaptor:`
174
175
  if(payload.errors){
175
176
  payload.status = 2;
176
- payload.msg = payload.errors[0].message;
177
+ payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
177
178
  }
178
179
  return payload;
179
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const ne=e=>{let r=[];return r.length=0,y.forEach(e.fields,(e,a)=>{y.has(e,"name")||(e.name=a)}),y.forEach(y.sortBy(e.fields,"sort_no"),e=>{e.group&&"null"!=e.group&&"-"!=e.group||(e.group="通用");var a=e.name,t=/\w+\.\w+/.test(a);"grid"!=e.type&&"object"!=e.type||(e.is_wide=!0),t||e.hidden||r.push(Object.assign({name:a},e,{permission:{allowEdit:!0}}))}),r},de=async(a,e,t,r)=>{e=y.filter(e,{group:t});if(e.length!=y.filter(e,["hidden",!0]).length){var i,l=[];for(const s of e){let e=s;"grid"===s.type?e=await Ze(s,a):"object"===s.type&&(e=await Ge(s,a)),e.name.indexOf(".")<0&&((i=await I(e,e.readonly,r))&&l.push(i))}e=y.map(y.compact(y.map(l,"visibleOn")),e=>`(${e.substring(2,e.length-1)})`),t={type:"fieldSet",title:t,collapsable:!0,body:l};return 0<e.length&&l.length===e.length&&(t.visibleOn=`\${${e.join(" || ")}}`),t}},ce=async(e,a,t)=>{var r=ne(a),i=[];for(const s in y.groupBy(r,"group")){var l=await de(e,r,s,t);0<l.body.length&&i.push(l)}return i};async function pe(e,a,t){return ce(e,a,t)}async function ue(e,a){var t=[];for(const i of e){var r=await te(i,a);let e=r?"tpl":"text";i.hidden||i.extra||t.push({name:i.name,label:i.label,sortable:i.sortable,width:i.width,type:e,tpl:r,toggled:i.toggled})}return{type:"hbox",columns:t}}function me(e){return{perPage:e.top||e.perPage||10}}function fe(e){var a,t;return"string"==typeof e&&(a=/^{{(function.+)}}$/,t=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(a)||e.match(t)))}function ye(a,e,t,r,i={}){var l,s;if(void 0===e&&(e={}),s=he(t),s=_e(e,s)||{},"string"!=typeof a)return a;l=a.substring(2,a.length-2),i=`
180
- var $user=${JSON.stringify(i)}; return `+l.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,be)).replace(/\bglobal\b/g,JSON.stringify(r)).replace(new RegExp("\\b"+be+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(s));try{return Function(i)()}catch(e){return console.log(e,a,t),a}}const p=(...e)=>{let a={};return b.toArray(e).reverse().forEach(e=>{b.mergeWith(a,e,(e,a)=>b.isArray(a)?a:void 0)}),a},be="__G_L_O_B_A_L__",he=function(e){return"string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},_e=function(e,a){return"#"!==a&&a?"string"==typeof a?b.get(e,a):void console.error("path has to be a string"):e||{}};var ge={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function l({type:e,pageId:a,appId:t,objectName:r="",recordId:i,formFactor:l="LARGE"}){e=await s(`/api/pageSchema/${e}?app=${t}&objectApiName=${r=r||""}&recordId=${i=i||""}&pageId=${a=a||""}&formFactor=`+l);if(e&&e.schema)return e}const f={getStandardNew:async(e,a)=>({type:"amis_button",amis_schema:await(async(e,a)=>{e="新建 "+e.label;let t={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"};a=await l({type:"form",appId:a.appId,objectName:a.objectName,formFactor:a.formFactor});return{type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$","&":"${defaultData}",appId:"${appId}",objectName:"${objectName}",context:"${context}",listViewId:"${listViewId}"},title:e,bodyClassName:"",body:[t=a?_.isString(a.schema)?JSON.parse(a.schema):a.schema:t],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}})(e,a)}),getStandardEdit:async(e,a)=>({type:"amis_button",amis_schema:await(async(e,a)=>{e="编辑 "+e.label;let t={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};a=await l({type:"form",appId:a.appId,objectName:a.objectName,formFactor:a.formFactor});return{type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[t=a?_.isString(a.schema)?JSON.parse(a.schema):a.schema:t],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"",id:"u:3c5cbc0429bb"}})(e,a)}),getStandardDelete:async(e,a)=>({type:"amis_button",amis_schema:await{type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
180
+ `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const de=e=>{let r=[];return r.length=0,g.forEach(e.fields,(e,t)=>{g.has(e,"name")||(e.name=t)}),g.forEach(g.sortBy(e.fields,"sort_no"),e=>{e.group&&"null"!=e.group&&"-"!=e.group||(e.group="通用");var t=e.name,a=/\w+\.\w+/.test(t);"grid"!=e.type&&"object"!=e.type||(e.is_wide=!0),a||e.hidden||r.push(Object.assign({name:t},e,{permission:{allowEdit:!0}}))}),r},ce=async(t,e,a,r)=>{e=g.filter(e,{group:a});if(e.length!=g.filter(e,["hidden",!0]).length){var i,l=[];for(const s of e){let e=s;"grid"===s.type?e=await at(s,t):"object"===s.type&&(e=await tt(s,t)),e.name.indexOf(".")<0&&((i=await O(e,e.readonly,r))&&l.push(i))}e=g.map(g.compact(g.map(l,"visibleOn")),e=>`(${e.substring(2,e.length-1)})`),a={type:"fieldSet",title:a,collapsable:!0,body:l};return 0<e.length&&l.length===e.length&&(a.visibleOn=`\${${e.join(" || ")}}`),a}},pe=async(e,t,a)=>{var r=de(t),i=[];for(const s in g.groupBy(r,"group")){var l=await ce(e,r,s,a);0<l.body.length&&i.push(l)}return i};async function ue(e,t,a){return pe(e,t,a)}async function me(e,t){var a=[];for(const i of e){var r=await re(i,t);let e=r?"tpl":"text";i.hidden||i.extra||a.push({name:i.name,label:i.label,sortable:i.sortable,width:i.width,type:e,tpl:r,toggled:i.toggled})}return{type:"hbox",columns:a}}function fe(e){return{perPage:e.top||e.perPage||10}}function ye(e){var t,a;return"string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))}function be(t,e,a,r,i={}){var l,s;if(void 0===e&&(e={}),s=_e(a),s=ge(e,s)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),i=`
181
+ var $user=${JSON.stringify(i)}; return `+l.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,he)).replace(/\bglobal\b/g,JSON.stringify(r)).replace(new RegExp("\\b"+he+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(s));try{return Function(i)()}catch(e){return console.log(e,t,a),t}}const c=(...e)=>{let t={};return b.toArray(e).reverse().forEach(e=>{b.mergeWith(t,e,(e,t)=>b.isArray(t)?t:void 0)}),t},he="__G_L_O_B_A_L__",_e=function(e){return"string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},ge=function(e,t){return"#"!==t&&t?"string"==typeof t?b.get(e,t):void console.error("path has to be a string"):e||{}};var ve={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function i({type:e,pageId:t,appId:a,objectName:r="",recordId:i,formFactor:l="LARGE"}){e=await s(`/api/pageSchema/${e}?app=${a}&objectApiName=${r=r||""}&recordId=${i=i||""}&pageId=${t=t||""}&formFactor=`+l);if(e&&e.schema)return e}const n={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await(async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"};t=await i({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$","&":"${defaultData}",appId:"${appId}",objectName:"${objectName}",context:"${context}",global:"${global}",listViewId:"${listViewId}"},title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}})(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await(async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await i({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"",id:"u:3c5cbc0429bb"}})(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await{type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
181
182
  if(payload.errors){
182
183
  payload.status = 2;
183
184
  payload.msg = payload.errors[0].message;
184
185
  }
185
186
  return payload;
186
- `},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}}),getStandardDeleteMany:async(e,a)=>({type:"script",todo:function(){var{appId:e,objectName:a,uiSchema:t}=this,e=this.scopeId||`amis-${e}-${a}-listview`,a=(this.scope||SteedosUI?.getRef(e)).getComponentById("listview_"+t.name);console.log("listViewRef",a),_.isEmpty(a.props.store.toJSON().selectedItems)?a.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):a.handleBulkAction(a.props.store.toJSON().selectedItems,[],{},a.props.bulkActions[0])}}),getStandardImportData:async(e,a)=>({type:"amis_button",amis_schema:await{type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\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 var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\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 ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\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._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"markdown",className:"whitespace-nowrap",html:!0},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}}),getStandardOpenView:async(e,a)=>({type:"amis_button",amis_schema:await{type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}})};function v(e){let a=e.visible;if(e._visible&&(a=e._visible),a=u.default.isBoolean(a)?a.toString():a)return a.trim().startsWith("function")?a+`.apply({
187
+ `},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}}),getStandardDeleteMany:async(e,t)=>({type:"script",todo:function(){var{appId:e,objectName:t,uiSchema:a}=this,e=this.scopeId||`amis-${e}-${t}-listview`,t=(this.scope||SteedosUI?.getRef(e)).getComponentById("listview_"+a.name);console.log("listViewRef",t),_.isEmpty(t.props.store.toJSON().selectedItems)?t.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):t.handleBulkAction(t.props.store.toJSON().selectedItems,[],{},t.props.bulkActions[0])}}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await{type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{data:{"&":"$$",object_name:"${objectName}"},type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\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 var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\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 ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\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._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"markdown",className:"whitespace-nowrap",html:!0},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await{type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}})};function d(e){let t=e.visible;if(e._visible&&(t=e._visible),t=u.default.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+`.apply({
187
188
  object: uiSchema
188
- }, [objectName, _id, recordPermissions, data])`:a;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}a={standard_delete_many:function(){var{listViewId:e,uiSchema:a,scopeId:t}=this,t=SteedosUI?.getRef(t||e).getComponentById("listview_"+a.name);u.default.isEmpty(t.props.store.toJSON().selectedItems)?t.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):t.handleBulkAction(t.props.store.toJSON().selectedItems,[],{},t.props.bulkActions[0])}};const w=(a,t)=>{const r=a.permissions&&a.permissions.disabled_actions;let e=u.default.sortBy(u.default.values(a.actions),"sort");return u.default.has(a,"allow_customActions")&&(e=u.default.filter(e,e=>u.default.include(a.allow_customActions,e.name))),u.default.has(a,"exclude_actions")&&(e=u.default.filter(e,e=>!u.default.include(a.exclude_actions,e.name))),u.default.each(e,e=>{e.objectName=a.name,t.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more")}),t.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(a.name)&&u.default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),u.default.filter(e,e=>u.default.indexOf(r,e.name)<0&&"standard_query"!=e.name)},ve=(e,a)=>{e=w(e,a);return u.default.filter(e,e=>"list"==e.on)},we=(e,a)=>{e=w(e,a),a=u.default.filter(e,e=>"record"==e.on||"record_only"==e.on);return u.default.sortBy(a,"sort")},$e=(e,a)=>{e=w(e,a),a=u.default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return u.default.sortBy(a,"sort")},$=async(e,a)=>{e=w(e,a);return u.default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},Ne=async(e,a)=>{e=w(e,a);return u.default.filter(e,e=>"list"==e.on)};var Fe=(e,a)=>{if(e.todo)return u.default.isString(e.todo)&&u.default.startsWith(u.default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),u.default.isFunction(e.todo)?(a={objectName:a.objectName,object_name:a.objectName,object:a.uiSchema,record:a.record,recordId:a.recordId,record_id:a.recordId,...a,action:e},e.todo.apply(a,[a.objectName,a.recordId])):void 0},Se=Fe;function ke(t,e,a){var{icon:r,label:i}=t;const l=[];b.each(t.list_views,(e,a)=>{l.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${t.name}/grid/`+a})});var s=ve(t,{}),s=b.map(s,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:v(e),className:"button_"+e.name})),o=new RegExp("_","g");return{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon slds-icon_container slds-icon-standard-${r&&r.replace(o,"-")} slds-page-header__icon" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${r}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center",valign:"middle"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",className:"text-md leading-none text-black"},{type:"dropdown-button",className:"",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",size:"sm",hideCaret:!0,btnClassName:"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none",buttons:l}],md:"",columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"},{body:{type:"flex",items:s},md:"auto",valign:"middle"}],className:"flex justify-between"}}async function xe(a,e,t){var r=b.keys(a.fields),r=b.sortBy(b.compact(b.map(r,e=>a.fields[e])),"sort_no");return await ra(a,r,t)}async function N(e,a,t){return[{type:"wrapper",body:[ke(e)],className:"bg-gray-100 sm:rounded-tl sm:rounded-tr p-4 -mb-4"}]}async function je(e,a,t){var{showRecordTitle:t=!0}=t||{},{name:r,label:i,icon:l}=e,s=we(e,{}),o=$e(e,{recordId:a,objectName:r}),s=b.map(s,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:v(e),className:"button_"+e.name})),o=b.map(o,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:v(e)})),o=(s.push({type:"steedos-dropdown-button",label:"",buttons:o,className:"slds-icon"}),new RegExp("_","g")),o=l&&l.replace(o,"-"),n=[],t=(t&&n.push({body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class='slds-icon slds-icon_container slds-icon-standard-${o}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${l}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",className:"leading-4 text-md"},{type:"tpl",tpl:"${name}",inline:!1,wrapperComponent:"",className:"leading-5 text-xl font-bold"}],columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"}),n.push({body:{type:"flex",items:s},md:"auto"}),[{type:"service",body:[{type:"wrapper",className:"bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4",body:[{type:"grid",columns:n,className:"flex justify-between"}],size:"xs"}],messages:{},hiddenOn:"${recordLoaded != true}"}]);return{type:"service",bodyClassName:"",name:"page",data:{"&":"$$",objectName:r,_id:a,recordPermissions:e.permissions,uiSchema:e},body:t}}async function F(e){var{icon:a,label:t}=e,e=await Ne(e,{}),e=b.map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:v(e),className:"button_"+e.name})),r=new RegExp("_","g");return{type:"wrapper",body:[{type:"grid",valign:"middle",columns:[{body:[{type:"grid",valign:"middle",className:"flex justify-between",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${a&&a.replace(r,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${a}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:`<a class="text-black text-base font-bold" href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${t}(\${$count})</a>`,inline:!1,wrapperComponent:"",className:""}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:{type:"flex",items:e},md:"auto"}],className:"flex justify-between"}],className:"border-b border-gray-300 p-3"}}function Oe(e,a){return"SMALL"===a?[{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"}]:["bulkActions",{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"},{label:"",icon:"fa fa-search",type:"button",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"custom",script:`
189
+ }, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}t={standard_delete_many:function(){var{listViewId:e,uiSchema:t,scopeId:a}=this,a=SteedosUI?.getRef(a||e).getComponentById("listview_"+t.name);u.default.isEmpty(a.props.store.toJSON().selectedItems)?a.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):a.handleBulkAction(a.props.store.toJSON().selectedItems,[],{},a.props.bulkActions[0])}};const h=(t,a)=>{const r=t.permissions&&t.permissions.disabled_actions;let e=u.default.sortBy(u.default.values(t.actions),"sort");return u.default.has(t,"allow_customActions")&&(e=u.default.filter(e,e=>u.default.include(t.allow_customActions,e.name))),u.default.has(t,"exclude_actions")&&(e=u.default.filter(e,e=>!u.default.include(t.exclude_actions,e.name))),u.default.each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more")}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&u.default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),u.default.filter(e,e=>u.default.indexOf(r,e.name)<0&&"standard_query"!=e.name)},we=(e,t)=>{e=h(e,t);return u.default.filter(e,e=>"list"==e.on)},$e=(e,t)=>{e=h(e,t),t=u.default.filter(e,e=>"record"==e.on||"record_only"==e.on);return u.default.sortBy(t,"sort")},Fe=(e,t)=>{e=h(e,t),t=u.default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return u.default.sortBy(t,"sort")},$=async(e,t)=>{e=h(e,t);return u.default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},Ne=async(e,t)=>{e=h(e,t);return u.default.filter(e,e=>"list"==e.on)};var Se=(e,t)=>{if(e.todo)return u.default.isString(e.todo)&&u.default.startsWith(u.default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),u.default.isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},ke=Se;function je(a,e,t){var{icon:r,label:i}=a;const l=[];b.each(a.list_views,(e,t)=>{l.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t})});var s=we(a,{}),s=b.map(s,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:d(e),className:"button_"+e.name})),o=new RegExp("_","g");return{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon slds-icon_container slds-icon-standard-${r&&r.replace(o,"-")} slds-page-header__icon" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${r}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center",valign:"middle"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",className:"text-md leading-none text-black"},{type:"dropdown-button",className:"",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",size:"sm",hideCaret:!0,btnClassName:"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none",buttons:l}],md:"",columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"},{body:{type:"flex",items:s},md:"auto",valign:"middle"}],className:"flex justify-between"}}async function xe(t,e,a){var r=b.keys(t.fields),r=b.sortBy(b.compact(b.map(r,e=>t.fields[e])),"sort_no");return await nt(t,r,a)}async function F(e,t,a){return[{type:"wrapper",body:[je(e)],className:"bg-gray-100 sm:rounded-tl sm:rounded-tr p-4 -mb-4"}]}async function Oe(e,t,a){var{showRecordTitle:a=!0}=a||{},{name:r,label:i,icon:l}=e,s=$e(e,{}),o=Fe(e,{recordId:t,objectName:r}),s=b.map(s,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:d(e),className:"button_"+e.name})),o=b.map(o,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:d(e)})),o=(s.push({type:"steedos-dropdown-button",label:"",buttons:o,className:"slds-icon"}),new RegExp("_","g")),o=l&&l.replace(o,"-"),n=[],a=(a&&n.push({body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class='slds-icon slds-icon_container slds-icon-standard-${o}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${l}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",className:"leading-4 text-md"},{type:"tpl",tpl:"${name}",inline:!1,wrapperComponent:"",className:"leading-5 text-xl font-bold"}],columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"}),n.push({body:{type:"flex",items:s},md:"auto"}),[{type:"service",body:[{type:"wrapper",className:"bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4",body:[{type:"grid",columns:n,className:"flex justify-between"}],size:"xs"}],messages:{},hiddenOn:"${recordLoaded != true}"}]);return{type:"service",bodyClassName:"",name:"page",data:{"&":"$$",objectName:r,_id:t,recordPermissions:e.permissions,uiSchema:e},body:a}}async function N(e,t){var a=e["icon"],e=await Ne(e,{}),e=b.map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:d(e),className:"button_"+e.name})),r=new RegExp("_","g");return{type:"wrapper",body:[{type:"grid",valign:"middle",columns:[{body:[{type:"grid",valign:"middle",className:"flex justify-between",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${a&&a.replace(r,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${a}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:`<a class="text-black text-base font-bold" href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${t}(\${$count})</a>`,inline:!1,wrapperComponent:"",className:""}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:{type:"flex",items:e},md:"auto"}],className:"flex justify-between"}],className:"border-b border-gray-300 p-3"}}function Ie(e,t){return"SMALL"===t?[{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"}]:["bulkActions",{type:"columns-toggler",className:"hidden"},{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"},{label:"",icon:"fa fa-search",type:"button",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"custom",script:`
189
190
  const scope = event.context.scoped;
190
191
  const filterForm = scope.getComponents().find(function(n){
191
192
  return n.props.type === "form";
@@ -194,7 +195,7 @@
194
195
  return n.props.type === "service";
195
196
  });
196
197
  filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
197
- `}]}}}]}function Ie(){return["statistics","pagination"]}async function De(e,a,t){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await xe(e,0,t)]}}function Ve(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:(e=e.name,{method:"post",url:m(),requestAdaptor:`
198
+ `}]}}}]}function De(){return["statistics","pagination"]}async function Ve(e,t,a){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await xe(e,0,a)]}}function Ee(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:(e=e.name,{method:"post",url:m(),requestAdaptor:`
198
199
  var ids = api.data.ids.split(",");
199
200
  var deleteArray = [];
200
201
  ids.forEach((id,index)=>{
@@ -202,12 +203,12 @@
202
203
  })
203
204
  api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
204
205
  return api;
205
- `,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}})}]}async function S(e,a,t){var{top:r,perPage:i}=t,l=e.paging&&!1===e.paging.enabled,s=Ve(e),o={toolbar:[],bodyClassName:"",headerToolbar:Oe(0,t.formFactor),headerToolbarClassName:"px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",className:""+(t.className||"")};"SMALL"!==t.formFactor&&Object.assign(o,{footerToolbar:Ie(),filter:!!t.filterVisible&&await De(e,0,t),bulkActions:0!=t.bulkActions&&s}),r||i?r&&(o.footerToolbar=[]):l&&(t.top=1e3,o.footerToolbar=[]);let n=null;s="listview_"+e.name,t.formFactor,i=await Re(a,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},t)),delete i.mode,n=Object.assign({},i,{type:"crud",primaryField:"_id",affixHeader:!1,id:s,name:s,keepItemSelectionOnPageChange:!0,api:await ze(e,a,t),hiddenOn:t.tableHiddenOn,autoFillHeight:!0},o),r=t.defaults;if(r){l=r.listSchema||{},i=(n=p({},l,n),r.headerSchema),a=r.footerSchema;if(i||a){let e=[n];i&&(u.default.isArray(i)?e=u.default.union(i,e):e.unshift(i)),a&&(u.default.isArray(a)?e=u.default.union(e,a):e.push(a)),n=e}}return{type:"service",className:"",id:"service_"+s,name:"page",data:{$master:"$$",objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:n}}const Ee=e=>{var a=t();return{mode:e,user:a,spaceId:a.spaceId,userId:a.userId}};async function Ae(e,a){var t,r,{recordId:i,formFactor:l,layout:l="SMALL"===l?"normal":"horizontal",labelAlign:s,defaults:o}=a,n=u.default.values(e.fields),o=o&&o.formSchema||{},d={type:"service",className:"p-0",name:"page_edit_"+i,api:(d=e,t=i,r=n,await{method:"post",url:m(),sendOn:"!!this.recordId",cache:re,adaptor:`
206
+ `,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}})}]}async function S(e,t,a){var r=a["top"],i=e.paging&&!1===e.paging.enabled,l=Ee(e),s={toolbar:[],bodyClassName:"",headerToolbar:Ie(0,a.formFactor),headerToolbarClassName:"px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",className:""+(a.className||"")};"SMALL"!==a.formFactor&&Object.assign(s,{footerToolbar:De(),filter:!!a.filterVisible&&await Ve(e,0,a),bulkActions:0!=a.bulkActions&&l}),i?(a.top=1e3,s.footerToolbar=[]):r&&(s.footerToolbar=[]);let o=null;l="listview_"+e.name,a.formFactor,i=await ze(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a)),delete i.mode,o=Object.assign({},i,{type:"crud",primaryField:"_id",affixHeader:!1,id:l,name:l,keepItemSelectionOnPageChange:!0,api:await Je(e,t,a),hiddenOn:a.tableHiddenOn,autoFillHeight:!0},s),r=a.defaults;if(r){i=r.listSchema||{},t=(o=c({},i,o),r.headerSchema),s=r.footerSchema;if(t||s){let e=[o];t&&(u.default.isArray(t)?e=u.default.union(t,e):e.unshift(t)),s&&(u.default.isArray(s)?e=u.default.union(e,s):e.push(s)),o=e}}return{type:"service",className:"",id:"service_"+l,name:"page",data:{$master:"$$",objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:o}}const Ae=e=>{var t=a();return{mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function Te(e,t){var a,r,{recordId:i,formFactor:l,layout:l="SMALL"===l?"normal":"horizontal",labelAlign:s,defaults:o}=t,n=u.default.values(e.fields),o=o&&o.formSchema||{},d={type:"service",className:"p-0",name:"page_edit_"+i,api:(d=e,a=i,r=n,await{method:"post",url:m(),sendOn:"!!this.recordId",cache:ie,adaptor:`
206
207
  if(payload.data.data){
207
208
  var data = payload.data.data[0];
208
209
  if(data){
209
- ${le(r)}
210
210
  ${se(r)}
211
+ ${oe(r)}
211
212
  //初始化接口返回的字段移除字段值为null的字段
212
213
  for (key in data){
213
214
  if(data[key] === null){
@@ -219,7 +220,7 @@
219
220
  delete payload.extensions;
220
221
  }
221
222
  return payload;
222
- `,data:await G(d,t,r),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}),initApi:null,initFetch:null,body:[p({},o,{type:"form",mode:l,labelAlign:s,persistData:!1,promptPageLeave:!0,name:"form_edit_"+i,debug:!1,title:"",submitText:"",api:await oe(e,i,n),initFetch:"new"!=i,body:await pe(n,e,a),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{actionType:"custom",script:`
223
+ `,data:await Z(d,a,r),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}),initApi:null,initFetch:null,body:[c({},o,{type:"form",mode:l,labelAlign:s,persistData:!1,promptPageLeave:!0,name:"form_edit_"+i,debug:!1,title:"",submitText:"",api:await ne(e,i,n),initFetch:"new"!=i,body:await ue(n,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{actionType:"custom",script:`
223
224
  const { recordId, listViewId } = context.props.data;
224
225
  const data = event.data;
225
226
  const appId = data.appId;
@@ -249,14 +250,14 @@
249
250
  "actionType": "link"
250
251
  });
251
252
  }
252
- `}]}}})]};return o.id&&(d.id="service-"+o.id),d}const Te=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function k(e,a,t){return a?y.includes(["text","image"],e)?"image"===e&&t&&t.multiple?"static-images":"static-"+e:"static":y.includes(Te,e)?"input-"+e:e}const qe=(e,a)=>k("avatar"===e.type?"image":e.type,a,{multiple:e.multiple}),Ce=e=>{var a=e.type,t=qe(e,!0);return _.includes(["avatar","image"],a)?{type:t,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===a?{type:t,tpl:`
253
+ `}]}}})]};return o.id&&(d.id="service-"+o.id),d}const Ce=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function k(e,t,a){return t?g.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":g.includes(Ce,e)?"input-"+e:e}const qe=(e,t)=>k("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),Pe=e=>{var t=e.type,a=qe(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
253
254
  <% let fileData = data.${e.name}; if (fileData) { %>
254
255
  <% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
255
256
  <% fileData.forEach(function(item) { %>
256
257
  <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
257
- <% });} %>`}:void 0},Pe=e=>{var a=(e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}})(e),a={type:qe(e,!1),useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/"+a,data:{$:"$$",context:"${context}"},adaptor:`
258
+ <% });} %>`}:void 0},Le=e=>{var t=(e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}})(e),t={type:qe(e,!1),useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/"+t,data:{$:"$$",context:"${context}"},adaptor:`
258
259
  const { context } = api.body;
259
- var rootUrl = context.rootUrl + "/api/files/${a}/";
260
+ var rootUrl = context.rootUrl + "/api/files/${t}/";
260
261
  payload = {
261
262
  status: response.status == 200 ? 0 : response.status,
262
263
  msg: response.statusText,
@@ -267,10 +268,10 @@
267
268
  }
268
269
  }
269
270
  return payload;
270
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(a.multiple=!0,a.joinValues=!1,a.extractValue=!0),a},Be=(e,a)=>(a?Ce:Pe)(e);async function Le(e){e=e.buttons;const a=[];if(b.each(e,e=>{b.isBoolean(e.visible)&&(e.visible=e.visible.toString()),a.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:function(e){let a=e.visible;if(e._visible&&(a=e._visible),a=b.isBoolean(a)?a.toString():a)return a.trim().startsWith("function")?a+"(objectName, _id, recordPermissions, data)":a;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}(e),className:"antd-Button--default"})}),!(a.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:a,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
271
+ `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},Be=(e,t)=>(t?Pe:Le)(e);async function Re(e){e=e.buttons;const t=[];if(b.each(e,e=>{b.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:function(e){let t=e.visible;if(e._visible&&(t=e._visible),t=b.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}(e),className:"antd-Button--default"})}),!(t.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
271
272
  payload.recordPermissions = payload;
272
273
  return payload;
273
- `}}]}}async function Re(e,a){var t,e=await async function(e,a){var t=[{name:"_index",type:"text",width:32,placeholder:""}];for(const i of e)if(!i.is_name&&i.name!==a.labelFieldName||"cms_files"!==a.objectName)if("toggle"===i.type)t.push({type:"switch",name:i.name,label:i.label,width:i.width,toggled:i.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===i.type||"image"===i.type||"file"===i.type)t.push({type:"switch",name:i.name,label:i.label,width:i.width,toggled:i.toggled,disabled:!0,className:"whitespace-nowrap",...Ce(i)});else{var r=await te(i,a);let e="text";r?e="tpl":"html"===i.type&&(e="markdown"),i.hidden||i.extra||t.push({name:i.name,label:i.label,sortable:i.sortable,width:i.width,type:e,tpl:r,toggled:i.toggled,className:"textarea"===i.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===i.type||null})}else t.push({type:"button",className:"whitespace-nowrap",label:`<%=data.versions ? data.name : "${i.label}"%>`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return t}(e,a=a||{});return e.push(await Le(a)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-0",className:"",draggable:!1,defaultParams:{perPage:(t=a).top||t.perPage||ge.listView.perPage},columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${a.labelFieldName}}`,autoFillHeight:!1}}async function ze(e,a,t){const r=[];let{globalFilter:i,filter:l,sort:s,top:o,setDataToComponentId:n=""}=t,d=(l=(l=y.isArray(l)?y.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],null);b.isEmpty(i)||b.isEmpty(l)?i?d=i:l&&(d=l):d=[i,"and",l],y.each(a,function(e){e.searchable&&r.push(e.name)});const c={},p=[];a.forEach(e=>{y.includes(["image","avatar","file"],e.type)&&(p.push(e.name),c[e.name]={name:e.name,type:e.type,multiple:e.multiple})});t=e.key_field||"_id",a=await Je(e,null,a,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return a.data.$term="$term",a.data.$self="$$",a.data.filter="$filter",a.data.loaded="${loaded}",a.data.listViewId="${listViewId}",a.requestAdaptor=`
274
+ `}}]}}async function ze(e,t){var a,e=await async function(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const i of e)if(!i.is_name&&i.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===i.type)a.push({type:"switch",name:i.name,label:i.label,width:i.width,toggled:i.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===i.type||"image"===i.type||"file"===i.type)a.push({type:"switch",name:i.name,label:i.label,width:i.width,toggled:i.toggled,disabled:!0,className:"whitespace-nowrap",...Pe(i)});else{var r=await re(i,t);let e="text";r?e="tpl":"html"===i.type&&(e="markdown"),i.hidden||i.extra||a.push({name:i.name,label:i.label,sortable:i.sortable,width:i.width,type:e,tpl:r,toggled:i.toggled,className:"textarea"===i.type?"min-w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===i.type||null})}else a.push({type:"button",className:"whitespace-nowrap",label:`<%=data.versions ? data.name : "${i.label}"%>`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}(e,t=t||{});return e.push(await Re(t)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-0",className:"",draggable:!1,defaultParams:{perPage:(a=t).top||a.perPage||ve.listView.perPage},columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function Je(e,t,a){const r=[];let{globalFilter:i,filter:l,sort:s,top:o,setDataToComponentId:n=""}=a,d=(l=(l=g.isArray(l)?g.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],null);b.isEmpty(i)||b.isEmpty(l)?i?d=i:l&&(d=l):d=[i,"and",l],g.each(t,function(e){e.searchable&&r.push(e.name)});const c={},p=[];t.forEach(e=>{g.includes(["image","avatar","file"],e.type)&&(p.push(e.name),c[e.name]={name:e.name,type:e.type,multiple:e.multiple})});a=e.key_field||"_id",t=await Me(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.data.loaded="${loaded}",t.data.listViewId="${listViewId}",t.requestAdaptor=`
274
275
  let selfData = JSON.parse(JSON.stringify(api.data.$self));
275
276
  try{
276
277
  // TODO: 不应该直接在这里取localStorage,应该从外面传入
@@ -294,12 +295,14 @@
294
295
  catch(ex){
295
296
  console.error("本地存储中crud参数解析异常:", ex);
296
297
  }
297
- ${d?`var filters = ${JSON.stringify(d)};`:"var filters = [];"}
298
- if(_.isEmpty(filters)){
299
- filters = api.data.filter || [];
298
+ ${d?`var systemFilters = ${JSON.stringify(d)};`:"var systemFilters = [];"}
299
+ let userFilters =[];
300
+
301
+ if(_.isEmpty(systemFilters)){
302
+ systemFilters = api.data.filter || [];
300
303
  }else{
301
304
  if(!_.isEmpty(api.data.filter)){
302
- filters = [filters, 'and', api.data.filter];
305
+ systemFilters = [systemFilters, 'and', api.data.filter];
303
306
  }
304
307
  }
305
308
  var pageSize = api.data.pageSize || 10;
@@ -311,9 +314,9 @@
311
314
  sort = orderBy ? sort : "${s}";
312
315
  var allowSearchFields = ${JSON.stringify(r)};
313
316
  if(api.data.$term){
314
- filters = [["name", "contains", "'+ api.data.$term +'"]];
317
+ userFilters = [["name", "contains", "'+ api.data.$term +'"]];
315
318
  }else if(selfData.op === 'loadOptions' && selfData.value){
316
- filters = [["${t.name}", "=", selfData.value]];
319
+ userFilters = [["${a.name}", "=", selfData.value]];
317
320
  }
318
321
  var searchableFilter = [];
319
322
  _.each(selfData, (value, key)=>{
@@ -331,10 +334,10 @@
331
334
  });
332
335
 
333
336
  if(searchableFilter.length > 0){
334
- if(filters.length > 0 ){
335
- filters = [filters, 'and', searchableFilter];
337
+ if(userFilters.length > 0 ){
338
+ userFilters = [userFilters, 'and', searchableFilter];
336
339
  }else{
337
- filters = searchableFilter;
340
+ userFilters = searchableFilter;
338
341
  }
339
342
  }
340
343
 
@@ -342,9 +345,9 @@
342
345
  allowSearchFields.forEach(function(key){
343
346
  const keyValue = selfData[key];
344
347
  if(_.isString(keyValue)){
345
- filters.push([key, "contains", keyValue]);
348
+ userFilters.push([key, "contains", keyValue]);
346
349
  }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){
347
- filters.push([key, "=", keyValue]);
350
+ userFilters.push([key, "=", keyValue]);
348
351
  }
349
352
  })
350
353
  }
@@ -360,15 +363,34 @@
360
363
  }
361
364
  }
362
365
  })
363
- filters.push(keywordsFilters);
366
+ userFilters.push(keywordsFilters);
367
+ };
368
+
369
+ let filters = [];
370
+
371
+ if(!_.isEmpty(systemFilters)){
372
+ filters = systemFilters;
373
+ }
374
+
375
+ if(!_.isEmpty(userFilters)){
376
+ if(_.isEmpty(filters)){
377
+ filters = userFilters;
378
+ }else{
379
+ filters.push('and');
380
+ filters.push(userFilters)
381
+ }
382
+ }
383
+ api.data = {
384
+ query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())
364
385
  }
365
- api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
366
386
  return api;
367
- `,a.adaptor=`
387
+ `,t.adaptor=`
368
388
  const enable_tree = ${e.enable_tree};
369
389
  if(!enable_tree){
370
390
  _.each(payload.data.rows, function(item, index){
371
- item._index = index + 1;
391
+ const {pageNo, pageSize} = api.body;
392
+ const skip = (pageNo - 1) * pageSize;
393
+ item._index = skip + index + 1;
372
394
  })
373
395
  }
374
396
  window.postMessage(Object.assign({type: "listview.loaded"}), "*");
@@ -418,7 +440,7 @@
418
440
 
419
441
  try{
420
442
  // TODO: 不应该直接在这里取localStorage,应该从外面传入
421
- const listViewId = api.data.listViewId;
443
+ const listViewId = api.body.listViewId;
422
444
  const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
423
445
  /**
424
446
  * localListViewProps规范来自crud请求api中api.data.$self参数值的。
@@ -431,11 +453,11 @@
431
453
  * orderDir:排序方向
432
454
  */
433
455
  let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
434
- let selfData = JSON.parse(JSON.stringify(api.data.$self));
456
+ let selfData = JSON.parse(JSON.stringify(api.body.$self));
435
457
  if(localListViewProps){
436
458
  localListViewProps = JSON.parse(localListViewProps);
437
- selfData = Object.assign({}, localListViewProps, selfData, { filter: api.data.filter });
438
- if(!api.data.loaded){
459
+ selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });
460
+ if(!api.body.loaded){
439
461
  // 第一次加载组件,比如刷新浏览器时因为api.data.pageNo有默认值1
440
462
  // 所以会把localSearchableFilter中已经存过的页码覆盖
441
463
  // 如果是第一次加载组件始终让翻页页码从本地存储中取值
@@ -460,11 +482,12 @@
460
482
  }
461
483
 
462
484
  return payload;
463
- `,a}async function Je(e,a,t,r){e=await i(e,a,t,r);return{method:"post",url:m(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function Me(e,a,t){e=function(e,a,t){let r="",i=(a&&(r=`(filters:["${e.idFieldName}", "=", "${a}"])`),"data"),l=(t&&(t.alias&&(i=t.alias),t.filters&&(r=`(filters:${t.filters})`),t.queryOptions&&(r=`(${t.queryOptions})`)),W());return t?.fields&&t.fields.length&&(l=`
485
+ `,t}async function Me(e,t,a,r){e=await l(e,t,a,r);return{method:"post",url:m(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function Ue(e,t,a){e=function(e,t,a){let r="",i=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data"),l=(a&&(a.alias&&(i=a.alias),a.filters&&(r=`(filters:${a.filters})`),a.queryOptions&&(r=`(${a.queryOptions})`)),G());return a?.fields&&a.fields.length&&(l=`
464
486
  recordPermissions: _permissions{
465
- ${t.fields.join(",")}
487
+ ${a.fields.join(",")}
466
488
  }
467
- `),{query:`{${i}:${e.name}${r}{${e.idFieldName},${l}}}`}}(e,a,t);return{method:"post",url:m(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function He(e,a,t){if(!e)return{};t=t||{};var r={type:k("select",a)};return a?r.tpl=await g(e,t):(Object.assign(r,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await async function(e){var a=await i({name:"organizations"},null,[{name:"_id",alias:"value"},{name:"name",alias:"label"},{name:"children"}],{alias:"leftOptions",filters:"{__filters}"});a.query=a.query.replace(/,count\:.+/,"}"),(t=await i({name:"organizations"},null,[{name:"_id",alias:"ref"}],{alias:"children",filters:"{__filters}"})).query=t.query.replace(/,count\:.+/,"}"),a.query=a.query.replace(/}$/,","+t.query.replace(/{(.+)}/,"$1}"));(t=await i({name:"space_users"},null,[{name:"user"},{name:"name"}],{alias:"defaultValueOptions",filters:"{__options_filters}"})).query=t.query.replace(/,count\:.+/,"}"),a.query=a.query.replace(/}$/,","+t.query.replace(/{(.+)}/,"$1}")),a.$value="$"+e.name;var t=`
489
+ `),{query:`{${i}:${e.name}${r}{${e.idFieldName},${l}}}`}}(e,t,a);return{method:"post",url:m(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const j="space_users",x="organizations";function He(e){e=g.find(e.list_views,(e,t)=>"all"===t);let t="";return t=e?D(e):t}async function Ke(t,a,r){if(!t)return{};r=r||{};var i={type:k("select",a)};if(a)i.tpl=await w(t,r);else{a=await V(j),a=(r.usersSort=He(a),await V(x));r.orgsSort=He(a),Object.assign(i,{labelField:"name",valueField:"user",multiple:t.multiple,searchable:t.searchable,selectMode:"associated",leftMode:"tree",extractValue:!0,clearable:!0,source:await async function(e,t){var a=await l({name:x},null,[{name:"_id",alias:"value"},{name:"name",alias:"label"},{name:"children"}],{alias:"leftOptions",filters:"{__filters}"}),r=(a.query=a.query.replace(/,count\:.+/,"}"),await l({name:x},null,[{name:"_id",alias:"ref"}],{alias:"children",filters:"{__filters}"}));r.query=r.query.replace(/,count\:.+/,"}"),a.query=a.query.replace(/}$/,","+r.query.replace(/{(.+)}/,"$1}")),(r=await l({name:j},null,[{name:"user"},{name:"name"}],{alias:"defaultValueOptions",filters:"{__options_filters}"})).query=r.query.replace(/,count\:.+/,"}"),a.query=a.query.replace(/}$/,","+r.query.replace(/{(.+)}/,"$1}"));let i=""+e.name;return t.fieldNamePrefix&&(i=""+t.fieldNamePrefix+e.name),a.$value="$"+i,a.__selectUserLoaded__="${__selectUserLoaded__}",r=`
490
+ console.log("select user field '${e.name}' requestAdaptor api:", api);
468
491
  var filters = [['parent', '=', null]];
469
492
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
470
493
  var defaultValue = api.data.$value;
@@ -475,7 +498,7 @@
475
498
  }
476
499
  api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));
477
500
  return api;
478
- `;return{method:"post",url:m()+"?_id=${_id}",requestAdaptor:t,adaptor:`
501
+ `,{method:"post",url:m()+`?value=\${${e.multiple?i+"|join":i}}`,requestAdaptor:r,adaptor:`
479
502
  const data = payload.data;
480
503
  data.children = data.children.map(function (child) {
481
504
  // child.defer = !!(child.children && child.children.length);
@@ -493,30 +516,33 @@
493
516
  delete data.defaultValueOptions;
494
517
  payload.data = { options: [data] };
495
518
  return payload;
496
- `,data:a,sendOn:"!!this._id || !!!this."+e.name,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(e),deferApi:await async function(e){var a=await i({name:"{__object_name}"},null,[],{alias:"options",filters:"{__filters}"});let t=e.filters;return"function"==typeof(t="string"==typeof t?(t=new Function("return "+t))():t)&&(t=t(e)),a.query=a.query.replace(/,count\:.+/,"}"),a.query=a.query.replace("{_id}","{{__fields}}"),e=`
519
+ `,data:a,sendOn:"!this.__selectUserLoaded__",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(t,r),deferApi:await async function(e,t){var a=await l({name:"{__object_name}"},null,[],{alias:"options",queryOptions:'filters: {__filters}, sort: "{__sort}"'});let r=e.filters;return"function"==typeof(r="string"==typeof r?(r=new Function("return "+r))():r)&&(r=r(e)),a.query=a.query.replace(/,count\:.+/,"}"),a.query=a.query.replace("{_id}","{{__fields}}"),e=`
497
520
  var dep = api.query.dep;
498
521
  var ref = api.query.ref;
499
522
  var term = api.query.term;
500
523
  var filters;
501
524
  var objectName;
502
525
  var fields;
526
+ var sort = "";
503
527
  if (dep) {
504
- objectName = "organizations";
528
+ objectName = "${x}";
505
529
  fields = "value:_id,label:name,children";
506
530
  filters = [['parent', '=', dep]];
531
+ sort = "${t.orgsSort}";
507
532
  }
508
533
  else if (ref) {
509
- objectName = "space_users";
534
+ objectName = "${j}";
510
535
  // 这里要额外把字段转为value和label是因为valueField和labelField在deferApi/searchApi中不生效,所以字段要取两次
511
536
  fields = "user,name,value:user,label:name";
512
537
  filters = [['user_accepted', '=', true]];
513
- var defaultFilters = ${t&&JSON.stringify(t)};
538
+ var defaultFilters = ${r&&JSON.stringify(r)};
514
539
  if(defaultFilters){
515
540
  filters.push(defaultFilters);
516
541
  }
517
542
  filters.push(['organizations_parents', '=', ref]);
543
+ sort = "${t.usersSort}";
518
544
  }
519
- api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters));
545
+ api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());
520
546
  return api;
521
547
  `,{method:"post",url:m()+"?ref=${ref}&dep=${value}",requestAdaptor:e,adaptor:`
522
548
  if (api.query.dep) {
@@ -530,9 +556,10 @@
530
556
  payload.data = data;
531
557
  }
532
558
  return payload;
533
- `,data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(e),searchApi:await async function(e){var a=await i({name:"space_users"},null,[{name:"user"},{name:"name"},{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",filters:"{__filters}"});a.query=a.query.replace(/,count\:.+/,"}");e=`
559
+ `,data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(t,r),searchApi:await async function(e,t){var a=await l({name:j},null,[{name:"user"},{name:"name"},{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",queryOptions:'filters: {__filters}, sort: "{__sort}"'});a.query=a.query.replace(/,count\:.+/,"}");e=`
534
560
  var term = api.query.term;
535
561
  var filters;
562
+ var sort = "";
536
563
  if (term) {
537
564
  filters = [['user_accepted', '=', true]];
538
565
  var defaultFilters = ${(e=e.filters)&&JSON.stringify(e)};
@@ -547,10 +574,26 @@
547
574
  });
548
575
  termFilters.pop();
549
576
  filters.push(termFilters);
577
+ sort = "${t.usersSort}";
550
578
  }
551
- api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
579
+ api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());
552
580
  return api;
553
- `;return{method:"post",url:m()+"?term=${term}",requestAdaptor:e,data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(r.value=e.defaultValue),"boolean"!=typeof r.searchable&&(r.searchable=!0),(a=e.onEvent)&&(r.onEvent=a)),r}const x=async t=>{let r=t.reference_to;if(r){"users"===r&&(r="space_users",t.reference_to_field="user");var i=await V(r);let e=null,a=t.reference_to_field;return a=a||i.idFieldName||"_id",e="_id"===a?{name:"_id",label:"ID",type:"text",toggled:!1}:i.fields[a]||{name:a},{objectName:r,valueField:e,labelField:i.fields[i.NAME_FIELD_KEY||"name"]}}};async function Ue(r,i,l){var s=await x(r);if(s){const c=await V(s.objectName),p=[];let e=0;const u=[],m=[];var o=y.find(c.list_views,(e,a)=>"all"===a);o&&o.columns?y.each(o.columns,function(e){y.isString(e)&&c.fields[e]?m.push(c.fields[e]):y.isObject(e)&&c.fields[e.field]&&m.push(Object.assign({},c.fields[e.field],{width:e.width,wrap:e.wrap}))}):y.each(c.fields,(e,a)=>{"_id"==a||e.hidden||(y.has(e,"name")||(e.name=a),m.push(e))}),y.each(y.sortBy(m,"sort_no"),function(a){e<5&&(y.find(p,function(e){return e.name===a.name})||(e++,p.push(a),a.searchable&&u.push(a.name)))});const f={[s.labelField.name]:s.labelField,[s.valueField.name]:s.valueField};y.each(p,e=>{e.hidden||(f[e.name]=e)});var n,o=await Ke(c,null,f,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});o.data.$term="$term",o.data.$self="$$",o.requestAdaptor=`
581
+ `;return{method:"post",url:m()+"?term=${term}",requestAdaptor:e,data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(t,r)}),t.multiple&&Object.assign(i,{joinValues:!1});let e=t.defaultValue;!g.has(t,"defaultValue")||g.isString(e)&&e.startsWith("{")||(g.isString(e)&&e.startsWith("{{")&&(e="$"+e.substring(1,e.length-1)),i.value=e),"boolean"!=typeof i.searchable&&(i.searchable=!0);a=t.onEvent,r=(a&&(i.onEvent=a),{actionType:"custom",script:`
582
+ // 往上找到form,设置__selectUserLoaded__标记已经加载过选人字段不能再调用source接口初始化选人组件了
583
+ const getClosestAmisComponentByType = function(scope, type){
584
+ const re = scope.getComponents().find(function(n){
585
+ return n.props.type === type;
586
+ });
587
+ if(re){
588
+ return re;
589
+ }
590
+ else{
591
+ return getClosestAmisComponentByType(scope.parent, type);
592
+ }
593
+ }
594
+ const form = getClosestAmisComponentByType(event.context.scoped, "form");
595
+ form.setData({"__selectUserLoaded__":true});
596
+ `});i.onEvent?i.onEvent.change?.actions?.length?i.onEvent.change.actions.unshift(r):i.onEvent.change={weight:0,actions:[r]}:Object.assign(i,{onEvent:{change:{weight:0,actions:[r]}}})}return i}const Ye=async a=>{let r=a.reference_to;if(r){"users"===r&&(r="space_users",a.reference_to_field="user");var i=await V(r);let e=null,t=a.reference_to_field;return t=t||i.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:i.fields[t]||{name:t},{objectName:r,valueField:e,labelField:i.fields[i.NAME_FIELD_KEY||"name"],NAME_FIELD_KEY:i.NAME_FIELD_KEY||"name"}}};async function We(i,l,s){var o=await Ye(i);if(o){const p=await V(o.objectName),u=[];let e=0;const m=[],f=[];var n=g.find(p.list_views,(e,t)=>"all"===t);n&&n.columns?g.each(n.columns,function(e){g.isString(e)&&p.fields[e]?f.push(p.fields[e]):g.isObject(e)&&p.fields[e.field]&&f.push(Object.assign({},p.fields[e.field],{width:e.width,wrap:e.wrap}))}):g.each(p.fields,(e,t)=>{"_id"==t||e.hidden||(g.has(e,"name")||(e.name=t),f.push(e))}),g.each(g.sortBy(f,"sort_no"),function(t){e<5&&(g.find(u,function(e){return e.name===t.name})||(e++,u.push(t),t.searchable&&m.push(t.name)))});const y={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField};g.each(u,e=>{e.hidden||(y[e.name]=e)});let t="";n&&(t=D(n));var d,n=await Ze(p,null,y,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});if(n.url){const b=[],h=[];g.each(i.depend_on,e=>{b.push(`depend_on_${e}=\${${e}}`),h.push("this."+e)}),0<b.length&&(n.url=n.url+"?"+b.join("&"),n.sendOn=""+h.join(" && "))}n.data.$term="$term",n.data.$self="$$",n.requestAdaptor=`
554
597
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
555
598
  var filters = [];
556
599
  var pageSize = api.data.pageSize || 10;
@@ -559,14 +602,15 @@
559
602
  var orderBy = api.data.orderBy || '';
560
603
  var orderDir = api.data.orderDir || '';
561
604
  var sort = orderBy + ' ' + orderDir;
562
- var allowSearchFields = ${JSON.stringify(u)};
605
+ sort = orderBy ? sort : "${t}";
606
+ var allowSearchFields = ${JSON.stringify(m)};
563
607
  if(api.data.$term){
564
608
  filters = [["name", "contains", "'+ api.data.$term +'"]];
565
609
  }else if(selfData.op === 'loadOptions' && selfData.value){
566
610
  if(selfData.value?.indexOf(',') > 0){
567
- filters = [["${s.valueField.name}", "=", selfData.value.split(',')]];
611
+ filters = [["${o.valueField.name}", "=", selfData.value.split(',')]];
568
612
  }else{
569
- filters = [["${s.valueField.name}", "=", selfData.value]];
613
+ filters = [["${o.valueField.name}", "=", selfData.value]];
570
614
  }
571
615
  }
572
616
 
@@ -602,7 +646,7 @@
602
646
  })
603
647
  }
604
648
 
605
- const filtersFunction = ${r._filtersFunction};
649
+ const filtersFunction = ${i._filtersFunction};
606
650
 
607
651
  if(filtersFunction){
608
652
  const _filters = filtersFunction(filters, api.data.$self.__super.__super);
@@ -613,8 +657,8 @@
613
657
 
614
658
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
615
659
  return api;
616
- `,o.adaptor=`
617
- const enable_tree = ${c.enable_tree};
660
+ `,n.adaptor=`
661
+ const enable_tree = ${p.enable_tree};
618
662
  if(enable_tree){
619
663
  const records = payload.data.rows;
620
664
  const treeRecords = [];
@@ -641,20 +685,30 @@
641
685
  payload.data.rows = treeRecords;
642
686
  }
643
687
  return payload;
644
- `;let a=20,t=(c.paging&&!1===c.paging.enabled&&(a=1e3),null);"SMALL"===l.formFactor?t=(n=p,d={top:a,...l,actions:!1},n=(await ue(n,d)).columns,await{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:me(d),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...n],actions:!1===d.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:h.getObjectDetailPath({formFactor:d.formFactor,appId:d.appId,objectName:d.tabId,listView:d.listView,recordId:"${_id}"})}]}}):((t=await Re(p,{labelFieldName:c.NAME_FIELD_KEY,top:a,...l})).headerToolbar=Oe(c,l.formFactor),t.footerToolbar=Ie(),!1!==l.filterVisible&&(n=l.filterLoopCount||0,n++,t.filter=await De(c,f,{isLookup:!0,...l,filterLoopCount:n})),t.data=Object.assign({},t.data,{"&":"$$",objectName:c.name,uiSchema:c,listName:"all",isLookup:!0}));var d={type:k("picker",i),labelField:s.labelField.name,valueField:s.valueField.name,modalMode:"dialog",source:o,size:"lg",pickerSchema:t,joinValues:!1,extractValue:!0};return r.multiple&&(d.multiple=!0,d.extractValue=!0),i&&(d.tpl=await g(r,l)),d}}async function j(e,a,t){var r=await x(e);let i;(i=r?await Ke({name:r.objectName},null,{[r.labelField.name]:Object.assign({},r.labelField,{alias:"label"}),[r.valueField.name]:Object.assign({},r.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:m(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",i.data.$value=`$${e.name}.`+(r?r.valueField.name:"_id"),y.each(e.depend_on,function(e){i.data[e]="$"+e}),i.data.$="$$",i.data.rfield="${object_name}",i.requestAdaptor=`
645
- var filters = '[]';
688
+ `;let a=20,r=(p.paging&&!1===p.paging.enabled&&(a=1e3),null);"SMALL"===s.formFactor?r=(d=u,c={top:a,...s,actions:!1},d=(await me(d,c)).columns,await{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:fe(c),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...d],actions:!1===c.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:v.getObjectDetailPath({formFactor:c.formFactor,appId:c.appId,objectName:c.tabId,listView:c.listView,recordId:"${_id}"})}]}}):((r=await ze(u,{labelFieldName:p.NAME_FIELD_KEY,top:a,...s})).headerToolbar=Ie(p,s.formFactor),r.footerToolbar=De(),!1!==s.filterVisible&&(d=s.filterLoopCount||0,d++,r.filter=await Ve(p,y,{isLookup:!0,...s,filterLoopCount:d})),r.data=Object.assign({},r.data,{"&":"$$",objectName:p.name,uiSchema:p,listName:"all",isLookup:!0}));var c={type:k("picker",l),labelField:o.labelField.name,valueField:o.valueField.name,modalMode:"dialog",source:n,size:"lg",pickerSchema:r,joinValues:!1,extractValue:!0};return i.multiple&&(c.multiple=!0,c.extractValue=!0),l&&(c.tpl=await w(i,s)),c}}async function Ge(e,t,a){var r=await Ye(e);let i;i=r?await Ze({name:r.objectName},null,{[r.labelField.name]:Object.assign({},r.labelField,{alias:"label"}),[r.valueField.name]:Object.assign({},r.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:'filters: {__filters}, top: {__top}, sort: "{__sort}"'}):{method:"post",url:m(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}};var l=r&&await V(r.objectName),l=l&&g.find(l.list_views,(e,t)=>"all"===t);let s="";if(l&&(s=D(l)),i.url){const n=[],d=[];g.each(e.depend_on,e=>{n.push(`depend_on_${e}=\${${e}}`),d.push("this."+e)}),0<n.length&&(i.url=i.url+"?"+n.join("&"),i.sendOn=""+d.join(" && "))}i.data.$term="$term",i.data.$value=`$${e.name}.`+(r?r.valueField.name:"_id"),g.each(e.depend_on,function(e){i.data[e]="$"+e}),i.data.$="$$",i.data.rfield="${object_name}",i.requestAdaptor=`
689
+ var filters = [];
646
690
  var top = 10;
647
691
  if(api.data.$term){
648
- filters = '["name", "contains", "'+ api.data.$term +'"]';
692
+ filters = [["${r?.NAME_FIELD_KEY||"name"}", "contains", api.data.$term]];
649
693
  }else if(api.data.$value){
650
- filters = '["_id", "=", "'+ api.data.$value +'"]';
694
+ filters = [["_id", "=", api.data.$value]];
695
+ }
696
+
697
+ const filtersFunction = ${e._filtersFunction};
698
+
699
+ if(filtersFunction){
700
+ const _filters = filtersFunction(filters, api.data.$);
701
+ if(_filters && _filters.length > 0){
702
+ filters.push(_filters);
703
+ }
651
704
  }
652
- api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);
705
+ var sort = "${s}";
706
+ api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());
653
707
  return api;
654
708
  `,r&&r.labelField.name,r&&r.valueField.name,e._optionsFunction&&(i.adaptor=`
655
709
  payload.data.options = eval(${e._optionsFunction})(api.data);
656
710
  return payload;
657
- `);r={type:k("select",a),joinValues:!1,extractValue:!0,autoComplete:i};return!y.has(e,"defaultValue")||y.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(r.value=e.defaultValue),e.multiple&&(r.multiple=!0,r.extractValue=!0),a&&(r.tpl=await g(e,t)),r}async function Ke(e,a,t,r){e=await i(e,a,t,r);return{method:"post",url:m(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function Ye(e,a,t){var r,i;return a?{type:k("picker",a),tpl:Q(e,t)}:!e.reference_to||y.isString(e.reference_to)||a?((r=await x(e))?(i=await V(r.objectName),"space_users"===r.objectName?We:1==i.enable_enhanced_lookup?Ue:j):j)(e,a,t):{type:"steedos-field-lookup",field:e,readonly:a,ctx:{}}}async function We(e,a,t){return He(e,a,t)}const O=["created","created_by","modified","modified_by"];function Ge(a,e){var t=Object.assign({subFields:[]},a),e=y.filter(e,function(e){return e.name.startsWith(a.name+".")});return t.subFields=e,t}function Ze(a,e){var t=Object.assign({subFields:[]},a),e=y.filter(e,function(e){return e.name.startsWith(a.name+".")});return t.subFields=e,t}function Xe(e){const a=e.data_type||"text",t=[];return y.each(e.options,e=>{switch(a){case"number":t.push({label:e.label,value:Number(e.value)});break;case"text":t.push({label:e.label,value:String(e.value)});break;case"boolean":t.push({label:e.label,value:"false"!==e.value})}}),t}async function I(i,l,e){if(!y.includes(O,i.name)||1==e.showSystemFields){var a,t={name:e.fieldNamePrefix?""+e.fieldNamePrefix+i.name:i.name,label:i.label,labelRemark:i.inlineHelpText,required:(y.has(e,"required")?e:i).required};let r={};switch(i.type){case"text":r.type=k("text",l);break;case"textarea":r.type=k("textarea",l),r.tpl=`<b><%=data.${i.name}%></b>`;break;case"html":r={type:"editor",language:"html",value:i.defaultValue||""};break;case"select":r={type:k("select",l),joinValues:!1,options:Xe(i),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?c(i):null},!y.has(i,"defaultValue")||y.isString(i.defaultValue)&&i.defaultValue.startsWith("{")||(a=i.data_type||"text",null!=i.defaultValue&&("text"===a?r.value=String(i.defaultValue):"number"===a?r.value=Number(i.defaultValue):"boolean"===a&&(r.value="false"!==i.defaultValue))),i.multiple&&(r.multiple=!0,r.extractValue=!0);break;case"boolean":r={type:k("checkbox",l),option:i.inlineHelpText,tpl:l?ee(i):null};break;case"input-date-range":r={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?n(i):null};break;case"date":r={type:k("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?n(i):null};break;case"input-datetime-range":r={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?d(i):null,utc:!0};break;case"datetime":r={type:k("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?d(i):null,utc:!0};break;case"input-time-range":r={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?d(i):null};break;case"time":r={type:k("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?d(i):null};break;case"currency":case"number":r=l?{type:"static-tpl",tpl:X(i)}:{type:k("number",l),min:i.min,max:i.max,precision:i.scale};break;case"input-array":r=Object.assign({},i,t);break;case"input-range":r={type:"input-range",min:i.min,max:i.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":r={type:k("number",l),min:i.min,max:i.max,precision:i.scale};break;case"password":r={type:k("password",l),tpl:l?ae(i):null};break;case"lookup":case"master_detail":r=await Ye(i,l,e);break;case"autonumber":l&&(r={type:"static-text"});break;case"url":r={type:k("url",l)};break;case"email":r={type:k("email",l)};break;case"avatar":case"image":case"file":r=Be(i,l);break;case"formula":case"summary":l&&(r.type=k(i.data_type,l));break;case"code":r={type:"editor",language:i.language,value:i.defaultValue||""};break;case"toggle":r={type:"switch",name:i.name,label:i.label,width:i.width,toggled:i.toggled,disabled:l};break;case"grid":r={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},y.each(i.subFields,function(e){var a=e.name.replace(i.name+".$.","").replace(i.name+".",""),t=I(Object.assign({},e,{name:a}),l);t&&(delete t.name,delete t.label,r.columns.push({name:a,label:e.label,quickEdit:!l&&t}))})}return y.isEmpty(r)?void 0:(i.is_wide?r.className="col-span-2 m-1":r.className="m-1",l&&(r.className=r.className+" md:border-b"),r.labelClassName="text-left",l&&(r.quickEdit=!1),i.visible_on&&(r.visibleOn="$"+i.visible_on.substring(1,i.visible_on.length-1).replace(/formData./g,"")),Object.assign({},t,r,{clearValueOnHidden:!0,fieldName:i.name}))}}async function Qe(e,a,t){var r=t.filterLoopCount||0;let i=e,l=("grid"===i.type?i=await Ze(e,a):"object"===e.type&&(i=await Ge(e,a)),"__searchable__");if(i.name.indexOf(".")<0){e=b.cloneDeep(i),a=(b.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,l+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,l+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,l+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,l+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await I(e,!1,Object.assign({},t,{fieldNamePrefix:l,required:!1,showSystemFields:!0,filterVisible:r<5})));if(a)return a}}var ea=Object.freeze({__proto__:null,OMIT_FIELDS:O,getBaseFields:function(e){let a="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:a=e?""+a:a,tpl:`<div><a href='${h.getObjectDetailPath({formFactor:r,appId:"admin",objectName:"users",recordId:"${created_by._id}"})}'>\${_display.created_by.label}</a>\${_display.created}</div>`},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:a,tpl:`<div><a href='${h.getObjectDetailPath({formFactor:t,appId:"admin",objectName:"users",recordId:"${modified_by._id}"})}'>\${_display.modified_by.label}</a>\${_display.modified}</div>`}];var t,r},getAmisFieldType:function(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}},getObjectFieldSubFields:Ge,getGridFieldSubFields:Ze,getPermissionFields:function(e,a){const t=[],r=[];return y.each(e.fields,(e,a)=>{y.has(e,"name")||(e.name=a),r.push(e)}),y.each(y.sortBy(r,"sort_no"),function(e){e.hidden||t.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),t},getSelectFieldOptions:Xe,convertSFieldToAmisField:I,getFieldSearchable:Qe,getAmisStaticFieldType:k});async function aa(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function ta(e,a,t){t=t||{};var r,i,l=[];for(r of a)b.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],r.type)||(delete r.defaultValue,delete r.required,delete r.is_wide,delete r.readonly,delete r.hidden,delete r.omit,(i=await Qe(r,a,t))&&l.push(i));b.map(l,"name"),t.enableSearchableFieldsVisibleOn&&l.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`});return{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",data:{"&":"${filterFormValues || {}}",...t.initData},body:l,onEvent:{broadcastSearchableFieldsChange:{actions:[{actionType:"custom",script:`
711
+ `);l={type:k("select",t),joinValues:!1,extractValue:!0,source:i,autoComplete:i,searchable:!0};let o=e.defaultValue;return!g.has(e,"defaultValue")||g.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(g.isString(o)&&o.startsWith("{{")&&(o="$"+o.substring(1,o.length-1)),l.value=o),e.multiple&&(l.multiple=!0,l.extractValue=!0),t&&(l.tpl=await w(e,a)),l}async function Ze(e,t,a,r){e=await l(e,t,a,r);return{method:"post",url:m(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function Xe(e,t,a){var r,i;return t?{type:k("picker",t),tpl:ee(e,a)}:!e.reference_to||g.isString(e.reference_to)||t?((r=await Ye(e))?(i=await V(r.objectName),"space_users"===r.objectName?Qe:1==i.enable_enhanced_lookup&&g.isEmpty(e.depend_on)?We:Ge):Ge)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function Qe(e,t,a){return Ke(e,t,a)}const et=["created","created_by","modified","modified_by"];function tt(t,e){var a=Object.assign({subFields:[]},t),e=g.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function at(t,e){var a=Object.assign({subFields:[]},t),e=g.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function rt(e){const t=e.data_type||"text",a=[];return g.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value})}}),a}async function O(a,r,i){if(!g.includes(et,a.name)||1==i.showSystemFields){var l,s,o={name:i.fieldNamePrefix?""+i.fieldNamePrefix+a.name:a.name,label:a.label,labelRemark:a.inlineHelpText,required:(g.has(i,"required")?i:a).required};let t={};switch(a.type){case"text":t.type=k("text",r);break;case"textarea":t.type=k("textarea",r),t.tpl=`<b><%=data.${a.name}%></b>`;break;case"html":t=(s=a,r?{type:"html",name:s.name}:{type:"input-rich-text",name:s.name});break;case"markdown":t=(s=a,r?{type:"markdown",name:s.name,options:{linkify:!0,html:!0,breaks:!0}}:{type:"group",body:[{type:"editor",name:s.name,language:"markdown"},{type:"markdown",name:s.name,options:{linkify:!0,html:!0,breaks:!0}}]});break;case"select":t={type:k("select",r),joinValues:!1,options:rt(a),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:r?y(a):null};let e=a.defaultValue;!g.has(a,"defaultValue")||g.isString(a.defaultValue)&&a.defaultValue.startsWith("{")||(g.isString(e)&&e.startsWith("{{")&&(e="$"+e.substring(1,e.length-1)),l=a.data_type||"text",null!=e&&("text"===l?t.value=String(e):"number"===l?t.value=Number(e):"boolean"===l&&(t.value="false"!==e))),a.multiple&&(t.multiple=!0,t.extractValue=!0);break;case"boolean":t={type:k("checkbox",r),tpl:r?te(a):null};break;case"input-date-range":t={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:r?p(a):null,joinValues:!1};break;case"date":t={type:k("date",r),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:r?p(a):null};break;case"input-datetime-range":t={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:r?f(a):null,utc:!0,joinValues:!1};break;case"datetime":t={type:k("datetime",r),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:r?f(a):null,utc:!0};break;case"input-time-range":t={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:r?f(a):null,joinValues:!1};break;case"time":t={type:k("time",r),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:r?f(a):null};break;case"currency":case"number":t=r?{type:"static-tpl",tpl:Q(a)}:{type:k("number",r),min:a.min,max:a.max,precision:a.scale};break;case"input-array":t=Object.assign({},a,o);break;case"input-range":t={type:"input-range",min:a.min,max:a.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":t={type:k("number",r),min:a.min,max:a.max,precision:a.scale};break;case"password":t={type:k("password",r),tpl:r?ae(a):null};break;case"lookup":case"master_detail":t=await Xe(a,r,i);break;case"autonumber":r&&(t={type:"static-text"});break;case"url":t={type:k("url",r)};break;case"email":t={type:k("email",r)};break;case"avatar":case"image":case"file":t=Be(a,r);break;case"formula":case"summary":r&&(t.type=k(a.data_type,r));break;case"code":t={type:"editor",language:a.language,value:a.defaultValue||""};break;case"toggle":t={type:"switch",name:a.name,label:a.label,width:a.width,toggled:a.toggled,disabled:r};break;case"grid":t={type:"input-table",strictMode:!1,affixHeader:!1,editable:!r,addable:!r,removable:!r,draggable:!r,columns:[]};for(const c of a.subFields){var n=c.name.replace(a.name+".$.","").replace(a.name+".",""),d=await O(Object.assign({},c,{name:n}),r,i);d&&(delete d.name,delete d.label,t.columns.push({name:n,label:c.label,quickEdit:!r&&d}))}}return g.isEmpty(t)?void 0:(a.is_wide||"group"===t.type?t.className="col-span-2 m-1":t.className="m-1",r&&(t.className=t.className+" md:border-b"),r&&(t.quickEdit=!1),a.visible_on&&(a.visible_on.startsWith("{{")?t.visibleOn=""+a.visible_on.substring(2,a.visible_on.length-2).replace(/formData./g,"data."):t.visibleOn=""+a.visible_on.replace(/formData./g,"data.")),"group"===t.type?(t.body[0]=Object.assign({},o,t.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}),t):Object.assign({},o,t,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}))}}async function it(e,t,a){var r=a.filterLoopCount||0;let i=e,l=("grid"===i.type?i=await at(e,t):"object"===e.type&&(i=await tt(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=b.cloneDeep(i),t=(b.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,l+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,l+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,l+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,l+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await O(e,!1,Object.assign({},a,{fieldNamePrefix:l,required:!1,showSystemFields:!0,filterVisible:r<5})));if(t)return t}}var lt=Object.freeze({__proto__:null,OMIT_FIELDS:et,getBaseFields:function(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:`<div><a href='${v.getObjectDetailPath({formFactor:r,appId:"admin",objectName:"users",recordId:"${created_by._id}"})}'>\${_display.created_by.label}</a>\${_display.created}</div>`},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:`<div><a href='${v.getObjectDetailPath({formFactor:a,appId:"admin",objectName:"users",recordId:"${modified_by._id}"})}'>\${_display.modified_by.label}</a>\${_display.modified}</div>`}];var a,r},getAmisFieldType:function(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"markdown":return"markdown";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}},getObjectFieldSubFields:tt,getGridFieldSubFields:at,getPermissionFields:function(e,t){const a=[],r=[];return g.each(e.fields,(e,t)=>{g.has(e,"name")||(e.name=t),r.push(e)}),g.each(g.sortBy(r,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a},getSelectFieldOptions:rt,convertSFieldToAmisField:O,getFieldSearchable:it,getAmisStaticFieldType:k});async function st(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function ot(e,t,a){a=a||{};var r,i,l=[];for(r of t)b.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],r.type)||(delete r.defaultValue,delete r.required,delete r.is_wide,delete r.readonly,delete r.hidden,delete r.omit,(i=await it(r,t,a))&&l.push(i));b.map(l,"name"),a.enableSearchableFieldsVisibleOn&&l.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`});return{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",data:{"&":"${filterFormValues || {}}",...a.initData},body:l,onEvent:{broadcastSearchableFieldsChange:{actions:[{actionType:"custom",script:`
658
712
  const data = event.data;
659
713
  const listViewId = data.listViewId;
660
714
  const searchableFields = data.fields;
@@ -688,7 +742,7 @@
688
742
  });
689
743
  localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
690
744
  }
691
- `}]}}}}async function ra(e,a,t){t=t||{};a=await ta(e,a,Object.assign({},{enableSearchableFieldsVisibleOn:!0},t));return{type:"service",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
745
+ `}]}}}}async function nt(e,t,a){a=a||{};t=await ot(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
692
746
  const objectName = data.objectName;
693
747
  const isLookup = data.isLookup;
694
748
  const listViewId = data.listViewId;
@@ -743,7 +797,7 @@
743
797
  }
744
798
  }
745
799
  }
746
- `},body:{type:"wrapper",body:{type:"wrapper",body:[{type:"wrapper",body:[a],size:"xs",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"slds-filters__body p-0"},{type:"wrapper",body:{type:"wrapper",body:[{type:"button",label:"搜索",icon:"fa fa-search",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",onEvent:{click:{actions:[{actionType:"custom",script:`
800
+ `},body:{type:"wrapper",body:{type:"wrapper",body:[{type:"wrapper",body:[t],size:"xs",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"slds-filters__body p-0"},{type:"wrapper",body:{type:"wrapper",body:[{type:"button",label:"搜索",icon:"fa fa-search",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",onEvent:{click:{actions:[{actionType:"custom",script:`
747
801
  const scope = event.context.scoped;
748
802
  var filterForm = scope.getComponents().find(function(n){
749
803
  return n.props.type === "form";
@@ -776,7 +830,7 @@
776
830
  searchableFieldsStoreKey += listViewId;
777
831
  }
778
832
  localStorage.setItem(searchableFieldsStoreKey, value);
779
- `},{actionType:"broadcast",eventName:"broadcastSearchableFieldsChange",args:{eventName:"broadcastSearchableFieldsChange"},data:{fields:"${event.data.fields}"}},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",listViewId:"${listViewId}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap "+(!t.isLookup&&"mt-2"),visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const ia={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};async function la(a,e,t){var r=a.permissions,i=(t=t||{},(e=Object.assign({},ia,b.omitBy(e,b.isNil))).title||[e.startDateExpr,e.endDateExpr,e.allDayExpr,e.textExpr]);let l=[],s=(b.each(i,function(e){a.fields[e]&&l.push(a.fields[e])}),a.fields[e.allDayExpr]&&l.push(a.fields[e.allDayExpr]),t.sort||(i=t.sortField,t.sortOrder,i&&0),e.currentView);if(s)switch(s){case"day":s="timeGridDay";break;case"week":s="timeGridWeek";break;case"month":s="dayGridMonth";break;case"agenda":s="timeGridDay"}else s="timeGridWeek";t.calendarOptions=e;var o,n,i=await async function(e,a,t){var r=(t=t||{}).calendarOptions;const i=[];let{globalFilter:l,filter:s,sort:o,top:n,setDataToComponentId:d=""}=t;n=n||200,s=(s=u.default.isArray(s)?u.default.map(s,function(e){return e.operation?[e.field,e.operation,e.value]:e}):s)||[],u.default.each(a,function(e){e.searchable&&i.push(e.name)});var t=e.idFieldName||"_id",c=e.key_field||"_id";return(e=await Je(e,null,a,{alias:"rows",limit:n,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'})).data.$term="$term",e.data.$self="$$",e.data.filter="$filter",e.data.pageSize=n||10,e.requestAdaptor=`
833
+ `},{actionType:"broadcast",eventName:"broadcastSearchableFieldsChange",args:{eventName:"broadcastSearchableFieldsChange"},data:{fields:"${event.data.fields}"}},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",listViewId:"${listViewId}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap "+(!a.isLookup&&"mt-2"),visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const dt={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};async function ct(t,e,a){var r=t.permissions,i=(a=a||{},(e=Object.assign({},dt,b.omitBy(e,b.isNil))).title||[e.startDateExpr,e.endDateExpr,e.allDayExpr,e.textExpr]);let l=[],s=(b.each(i,function(e){t.fields[e]&&l.push(t.fields[e])}),t.fields[e.allDayExpr]&&l.push(t.fields[e.allDayExpr]),a.sort||(i=a.sortField,a.sortOrder,i&&0),e.currentView);if(s)switch(s){case"day":s="timeGridDay";break;case"week":s="timeGridWeek";break;case"month":s="dayGridMonth";break;case"agenda":s="timeGridDay"}else s="timeGridWeek";a.calendarOptions=e;var o,n,i=await async function(e,t,a){var r=(a=a||{}).calendarOptions;const i=[];let{globalFilter:l,filter:s,sort:o,top:n,setDataToComponentId:d=""}=a;n=n||200,s=(s=u.default.isArray(s)?u.default.map(s,function(e){return e.operation?[e.field,e.operation,e.value]:e}):s)||[],u.default.each(t,function(e){e.searchable&&i.push(e.name)});var a=e.idFieldName||"_id",c=e.key_field||"_id";return(e=await Me(e,null,t,{alias:"rows",limit:n,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'})).data.$term="$term",e.data.$self="$$",e.data.filter="$filter",e.data.pageSize=n||10,e.requestAdaptor=`
780
834
  let selfData = JSON.parse(JSON.stringify(api.data.$self));
781
835
  ${l?`var filters = ${JSON.stringify(l)};`:"var filters = [];"}
782
836
  if(_.isEmpty(filters)){
@@ -871,7 +925,7 @@
871
925
  const selfData = api.data.$self;
872
926
  const events = rows.map(function(n){
873
927
  return {
874
- id: n["${t}"],
928
+ id: n["${a}"],
875
929
  title: n["${r.textExpr}"],
876
930
  start: n["${r.startDateExpr}"],
877
931
  end: n["${r.endDateExpr}"],
@@ -882,7 +936,7 @@
882
936
  const failureCallback = selfData.failureCallback;
883
937
  successCallback(events);
884
938
  return payload;
885
- `,e}(a,l,t),t=`
939
+ `,e}(t,l,a),a=`
886
940
  const api = ${JSON.stringify(i)};
887
941
  event.data.calendarOptions = ${JSON.stringify(e)};
888
942
  doAction({
@@ -902,7 +956,7 @@
902
956
  // TODO: 待组件支持initValues属性后应该改掉,不应该通过data直接传值
903
957
  // TODO: 全天事件属性传入doc了但是没有生效,需要手动在ObjectForm中勾选全天事件
904
958
  event.data = doc;
905
- const title = "新建 ${a.label}";
959
+ const title = "新建 ${t.label}";
906
960
  doAction(
907
961
  {
908
962
  "actionType": "dialog",
@@ -933,7 +987,7 @@
933
987
  "size": "lg"
934
988
  }
935
989
  });
936
- `,d=((n=Me(n=a,"${event.id}",{alias:"rows",limit:1,fields:["allowEdit"]})).data.$self="$$",n.adaptor=`
990
+ `,d=((n=Ue(n=t,"${event.id}",{alias:"rows",limit:1,fields:["allowEdit"]})).data.$self="$$",n.adaptor=`
937
991
  const rows = payload.data.rows || [];
938
992
  const selfData = api.data.$self;
939
993
  const revert = selfData.revert;
@@ -945,7 +999,7 @@
945
999
  }
946
1000
  payload.data.editable = editable;
947
1001
  return payload;
948
- `,d=e,c={},o=(p=a).idFieldName||"_id",c[o]="${event.data.event.id}",p=p.NAME_FIELD_KEY||"name",c[p]="${event.data.event.title}",c[d.startDateExpr]="${event.data.event.start}",c[d.endDateExpr]="${event.data.event.end}",c[d.allDayExpr]="${event.data.event.allDay}",p={objectName:"${objectName}",$:c,$self:"$$"},{method:"post",url:m(),data:p,requestAdaptor:`
1002
+ `,d=e,c={},o=(p=t).idFieldName||"_id",c[o]="${event.data.event.id}",p=p.NAME_FIELD_KEY||"name",c[p]="${event.data.event.title}",c[d.startDateExpr]="${event.data.event.start}",c[d.endDateExpr]="${event.data.event.end}",c[d.allDayExpr]="${event.data.event.allDay}",p={objectName:"${objectName}",$:c,$self:"$$"},{method:"post",url:m(),data:p,requestAdaptor:`
949
1003
  ${`
950
1004
  const formData = api.data.$;
951
1005
  const objectName = api.data.objectName;
@@ -963,7 +1017,7 @@
963
1017
  revert && revert();
964
1018
  }
965
1019
  return payload;
966
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}),c={daysOfWeek:[1,2,3,4,5],startTime:"08:00",endTime:"18:00"},p=(b.isEmpty(e.startDayHour)||(c.startTime=e.startDayHour+":00"),b.isEmpty(e.endDayHour)||(c.endTime=e.endDayHour+":00"),{type:"steedos-fullcalendar",label:"",name:"fullcalendar",editable:r.allowEdit,selectable:r.allowCreate,selectMirror:r.allowCreate,initialView:s,businessHours:c,onEvent:{getEvents:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:t}]},select:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:i}]},eventClick:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:`
1020
+ `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}),c={daysOfWeek:[1,2,3,4,5],startTime:"08:00",endTime:"18:00"},p=(b.isEmpty(e.startDayHour)||(c.startTime=e.startDayHour+":00"),b.isEmpty(e.endDayHour)||(c.endTime=e.endDayHour+":00"),{type:"steedos-fullcalendar",label:"",name:"fullcalendar",editable:r.allowEdit,selectable:r.allowCreate,selectMirror:r.allowCreate,initialView:s,businessHours:c,onEvent:{getEvents:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:a}]},select:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:i}]},eventClick:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:`
967
1021
  const data = event.data;
968
1022
  const eventData = data.event;
969
1023
  const appId = data.appId;
@@ -988,16 +1042,16 @@
988
1042
  "actions": []
989
1043
  }
990
1044
  });
991
- `}]},eventAdd:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventAdd'); console.log(event);"}]},eventChange:{weight:0,actions:[{actionType:"ajax",args:{api:n}},{actionType:"toast",expression:"!event.data.editable",args:{msgType:"error",msg:"您没有编辑该记录的权限!",position:"top-center"}},{actionType:"ajax",expression:"event.data.editable",args:{api:d,messages:{success:a.label+"修改成功",failed:a.label+"修改失败!"}}}]},eventRemove:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventRemove'); console.log(event);"}]},eventsSet:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventsSet'); console.log(event);"}]}}});return p}const sa=(e,a,t)=>{e=e.replace(/\./g,"_");t=(e=>{const a=["_id"];return e.push("record_permissions"),b.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),a.push(""+e)}),""+a.join(" ")})(t);let r="";a=[`id: "${a}"`];return`{record:${e}__findOne${r=0<a.length?`(${a.join(",")})`:r}{${t}}}`},oa=async(e,a,t)=>{return(await s("/graphql",{method:"post",body:JSON.stringify({query:sa(e,a,t)})})).data.record};let D={},na;"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=D),D=window.UI_SCHEMA_CACHE);const da=(e,a)=>{D[e]=a},ca=e=>b.cloneDeep(D[e]),pa=e=>b.has(D,e);function ua(e,a){let t=[];return t="SMALL"===a?b.isEmpty(e.mobile_columns)?b.slice(e.columns,0,4):e.mobile_columns:e.columns}function ma(e){let r="";return e&&e.sort&&e.sort.length&&b.each(e.sort,function(e,a){var t;b.isArray(e)?(t=e[0]+" "+(e[1]||""),t=0<a?","+t:t,r+=t):(t=e.field_name+" "+e.order,t=0<a?","+t:t,r+=t)}),r}async function V(a,e){if(a){if(!pa(a)||e){let t=null;try{if(!(t=na?await na(a,e):await s(`/service/api/@${a.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;da(a,t),b.each(t.list_views,(e,a)=>{e.name=a,b.has(e,"columns")||(e.columns=t.list_views.all.columns)})}catch(e){console.error("getUISchema",a,e),da(a,null)}}return ca(a)}}async function E(e,a){return(await V(e))?.fields[a]}async function fa(e,a){e=await V(e);return{uiSchema:e,amisSchema:await Ae(e,a)}}async function A(e,a,t,r={}){var i=await V(a),l=b.find(i.list_views,(e,a)=>a===(t=t||a)||e._id===t);if(!l)return{uiSchema:i};if(l.enable_amis_schema&&l.amis_schema){const u=b.isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema;return{uiSchema:i,isCustomAmisSchema:!0,amisSchema:u}}var s=ua(l,r.formFactor),o=ma(l);if("calendar"===l.type){const u={type:"steedos-object-calendar",objectApiName:a,filters:l.filters,sort:o,...l.options};return{uiSchema:i,isCalendar:!0,amisSchema:u}}var n=r.defaults||{};!n.headerSchema&&r.showHeader&&(n.headerSchema=await N(i)),r.showHeader||(n.headerSchema=null);try{var d,c=location.pathname+"/crud/"+r.listViewId,p=localStorage.getItem(c);p&&(p=JSON.parse(p),d={},p.orderBy&&(d.orderBy=p.orderBy),p.orderDir&&(d.orderDir=p.orderDir),p.perPage&&(d.defaultParams={perPage:p.perPage}),n.listSchema=b.defaultsDeep({},d,n.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}r.defaults=n;const u={type:"steedos-object-table",objectApiName:a,columns:s,extraColumns:l.extra_columns,filters:l.filters,sort:o,ctx:r};return{uiSchema:i,amisSchema:u}}async function ya(e,a,t,r={}){const i=await V(a);let l=r.sort;l||(o=r.sortField,n=r.sortOrder,o&&(l=o+" "+n||"asc"));let s=[];b.each(t,function(e){b.isString(e)&&i.fields[e]?s.push(i.fields[e]):b.isObject(e)&&i.fields[e.field]&&s.push(Object.assign({},i.fields[e.field],{width:e.width,wrap:e.wrap}))});var o=r.extraColumns,n=(o&&b.each(o,function(e){b.isString(e)?s.push({extra:!0,name:e}):b.isObject(e)&&s.push({extra:!0,name:e.field})}),await S(i,s,{tabId:a,appId:e,objectName:a,...r,filter:r.filters,sort:l,buttons:await $(i,r)}));return{uiSchema:i,amisSchema:n}}const ba=(e,a,t,r)=>{t=b.find(t.fields,e=>r===e?.name);return b.isString(t.reference_to)?t.multiple?[a]:a:{o:e,ids:[a]}};async function ha(a,r,t,i){var e=await V(r),l=[],s=[].concat(e.related_lists||[]);if(b.isEmpty(s))for(const m of[].concat(e.details||[])){var o,n,d=m.split("."),c=await V(d[0]);c&&(((o=await E(d[0],d[1]))._reference_to||o.reference_to&&!b.isString(o.reference_to))&&d[1],d[1],n=(o=await A(0,d[0],"all",{formFactor:i,buttons:await $(c,{isMobile:!1})})).amisSchema,c=await F(c),n.headerSchema=c,n.headerToolbar=[],n.columnsTogglable=!1,delete n.ctx,o.amisSchema={type:"service",className:"b-a m-b",data:{masterObjectName:r,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...n,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:ba(r,t,o.uiSchema,d[1])}}}]},l.push({masterObjectName:r,object_name:d[0],foreign_key:d[1],schema:o}))}else for(const f of s){var p=f.related_field_fullname.split(".");let e=null;var u=await E(p[0],p[1]);if(u){e=u._reference_to||u.reference_to&&!b.isString(u.reference_to)?[[p[1]+"/o","=",r],[p[1]+"/ids","=",t]]:[""+p[1],"=",t];const y=await V(p[0]);if(y){let t=[];b.forEach(f.field_names,a=>{var e=b.find(y.fields,e=>e.name===a);e&&t.push(e)}),l.push({masterObjectName:r,object_name:p[0],foreign_key:p[1],schema:{uiSchema:y,amisSchema:await S(y,t,{tabId:r,appId:a,objectName:p[0],formFactor:i,globalFilter:e,buttons:await $(y,{isMobile:!1})})}})}}}return l}const T={};async function _a(e,a,t){return{type:"picker",label:"人员",name:a,id:t.id,modalMode:"dialog",joinValues:!1,source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}',$term:"$term",$self:"$$"},requestAdaptor:"\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 var allowSearchFields = [\"name\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\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 "},pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["switch-per-page","pagination"],defaultParams:{perPage:50},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"_id",label:"ID",type:"text",toggled:!1},{name:"name",label:"姓名",sortable:!0,searchable:!0,type:"text"},{name:"email",label:"邮件",sortable:!0,type:"text",searchable:!0},{name:"mobile",label:"手机",type:"text",sortable:!0,searchable:!0}],syncLocation:!1,keepItemSelectionOnPageChange:!0},labelField:"name",valueField:"_id",size:"lg",extractValue:!0,className:"m-0",labelClassName:"text-left"}}const ga=["last_year","this_year","next_year","last_quarter","this_quarter","next_quarter","last_month","this_month","next_month","last_week","this_week","next_week","yestday","today","tomorrow","last_7_days","last_30_days","last_60_days","last_90_days","last_120_days","next_7_days","next_30_days","next_60_days","next_90_days","next_120_days"],va={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},wa=e=>_.has(e,"conjunction"),$a=e=>{const t=[],{conjunction:r,children:a}=e;return r&&a&&a.forEach(e=>{var a;0<t.length&&t.push(r),wa(e)?(a=$a(e))&&0<a.length&&t.push(a):(a=Na(e))&&t.push(a)}),t},Na=e=>{var a,{left:e,op:t,right:r}=e;if(e&&"field"===e.type&&t)return t.startsWith("between:")?(a=t.split(":"),[e.field,a[0],a[1]]):null!=r?[e.field,va[t],r]:void 0},Fa=a=>{var e;if(3===a.length)return"between"===(e=u.default.findKey(va,e=>e===a[1]))&&u.default.includes(ga,a[2])?{left:{type:"field",field:a[0]},op:e+":"+a[2]}:{left:{type:"field",field:a[0]},op:e,right:a[2]};console.warn("无效的filter:"+JSON.stringify(a))},Sa=e=>!u.default.isArray(e)&&u.default.isObject(e)?[e.field,e.operation,e.value]:e,ka=e=>{e=Sa(e);const a={conjunction:"and",children:[]};return e&&0!=e.length&&e.forEach(e=>{"or"===(e=Sa(e))||"and"===e?a.conjunction=e:3===e.length&&-1==e.indexOf("and")&&-1==e.indexOf("or")?a.children.push(Fa(e)):a.children.push(ka(e))}),a};const xa=e=>{const t=[];return b.each(e.options.split("\n"),e=>{var a=e.split(":");2==a.length?t.push({label:a[0],value:a[1]}):t.push({label:e,value:e})}),t},ja=(e,a)=>{const t={label:!0===a&&e.name,name:e.code,mode:"horizontal",className:"m-none p-none",disabled:"readonly"===e.permission};switch(e.type){case"input":e.is_textarea?t.type="textarea":t.type="input-text";break;case"number":t.type="input-number";break;case"date":t.type="input-date";break;case"dateTime":t.type="input-datetime";break;case"checkbox":t.type="checkbox";break;case"email":t.type="input-email",t.validations={isEmail:!0};break;case"url":t.type="input-url",t.validations={isUrl:!0};break;case"password":t.type="input-password",t.showCounter=!0;break;case"select":t.type="select",t.options=xa(e);break;case"user":case"group":t.type="input-text";break;case"radio":t.type="radios",t.options=xa(e);break;case"multiSelect":t.type="checkboxes",t.options=xa(e);break;case"odata":var r=e.formula.substr(1,e.formula.length-2);t.type="select",t.multiple=e.is_multiselect,t.labelField=r,t.valueField="$$",t.source={url:b.startsWith(e.url,"http")?e.url:"${context.rootUrl}"+e.url,method:"get",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};break;case"html":t.type="html";break;case"table":t.type="input-table",t.addable="readonly"!=e.permission,t.editable=t.addable,t.copyable=t.addable,t.columns=[],b.each(e.sfields,e=>{"hidden"!=e.type&&t.columns.push(ja(e,!0))});break;case"section":t.type="input-text"}return t},Oa=t=>{const r=[];return b.each(t,e=>{var a;"table"!=e.type&&r.push({className:"td-title",align:"section"!=e.type?"center":"left",width:"section"!=e.type?"16%":"",colspan:"section"==e.type?4:"",body:[{type:"tpl",tpl:`<div style='font-size:20px'>${e.name}</div>`}]}),"section"!=e.type&&r.push((e=e,a=t.length,{background:"readonly"===e.permission?"":"rgba(255,255,0,.1)",colspan:"table"===e.type?4:3-2*(a-1),align:"left",className:"td-field",body:[ja(e)],style:{marginTop:"0",paddingTop:"0",paddingRight:"0",paddingBottom:"0",paddingLeft:"0",marginRight:"0",marginBottom:"0",marginLeft:"0"}}))}),r},Ia=t=>{const a=[],r=[];let i=[];return b.each(t.fields,(e,a)=>{e.is_wide?(0!=i.length&&r.push(i),"table"==e.type&&r.push([Object.assign({},e,{type:"section"})]),(i=[]).push(e),r.push(i),i=[]):(i.push(e),2!=i.length&&a!==t.fields.length-1||(r.push(i),i=[]))}),b.each(r,e=>{a.push({background:"#F7F7F7",tds:Oa(e)})}),a};function Da(e){var i=[];return e.charCodeAt(0)===".".charCodeAt(0)&&i.push(""),e.replace(new RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),function(e,a,t,r){return t?e=r.replace(/\\(\\)?/g,"$1"):a&&(e=a.trim()),i.push(e),""}),i}var q=function(){return(q=Object.assign||function(e){for(var a,t=1,r=arguments.length;t<r;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);return e}).apply(this,arguments)};function Va(a,e){void 0===e&&(e=!0);var t=a&&a.__super?Object.create(a.__super,{__super:{value:a.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&a&&Object.keys(a).forEach(function(e){return t[e]=a[e]}),t}function Ea(e){var a=typeof e;return e&&"string"!=a&&"number"!=a&&"boolean"!=a&&"function"!=a&&!Array.isArray(e)}e.Field=ea,e.absoluteUrl=function(e){return""+o()+e},e.amisRender=(e,a,t={},r={},i)=>{var l=amisRequire("amis/embed"),{router:i,assets:s}=i;return J(s),l.embed(e,a,t,Object.assign(z(i),r))},e.amisRootClick=(e,a)=>{"a"===a.target.nodeName.toLocaleLowerCase()&&a.target.href&&(a.preventDefault(),e.push(a.target.href))},e.cloneObject=Va,e.conditionsToFilters=e=>$a(e),e.createObject=function(e,a,t){var r=(e=e&&Object.isFrozen(e)?Va(e):e)?Object.create(e,q(q({},t),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,t);return a&&Ea(a)&&Object.keys(a).forEach(function(e){return r[e]=a[e]}),r},e.defaultsDeep=p,e.deleteVariable=function(e,a){if(e)if(e.hasOwnProperty(a))delete e[a];else{for(var t=Da(a),a=t.pop();t.length;){var r=t.shift();if(!B.default(e[r])){if(e[r])throw new Error("目标路径不是纯对象,不能修改");break}e=e[r]=q({},e[r])}e&&e.hasOwnProperty&&e.hasOwnProperty(a)&&delete e[a]}},e.execute=Fe,e.executeButton=Se,e.extendObject=function(e,a,t){var r=Va(e,t=void 0===t?!0:t);return a&&Object.keys(a).forEach(function(e){return r[e]=a[e]}),r},e.fetchAPI=s,e.filtersToConditions=e=>ka(e),e.getAmisObjectRelatedList=ha,e.getApp=async function(e){return await s(`/service/api/apps/${e}/menus`)},e.getApps=async function(){return await s("/service/api/apps/menus")},e.getAuthToken=U,e.getAuthorization=K,e.getButton=async(e,a,t)=>{var r=await V(e);if(r){var i=await w(r,t),i=u.default.find(i,e=>e.name===a);if(i)return"standard_edit"==i.name?{label:i.label,name:i.name,on:i.on,...await f.getStandardEdit(r,t)}:"cms_files"!=e&&"standard_new"==i.name&&0<i._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:i.label,name:i.name,on:i.on,...await f.getStandardNew(r,t)}:"standard_delete"==i.name&&0<i._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await f.getStandardDelete(r,t)}:r.hasImportTemplates&&"standard_import_data"===i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await f.getStandardImportData(r,t)}:"standard_open_view"===i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await f.getStandardOpenView(r,t)}:"standard_delete_many"===i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await f.getStandardDeleteMany(r,t)}:i}},e.getButtonVisible=(a,e)=>{if(a._visible&&(u.default.startsWith(u.default.trim(a._visible),"function")?(window.eval("var fun = "+a._visible),a.visible=fun):fe(a._visible)&&(a.visible=e=>{ye(a._visible,e.record,"#",{now:new Date},e.userSession)})),!u.default.isFunction(a.visible))return a.visible;try{return a.visible(e)}catch(e){}},e.getButtonVisibleOn=v,e.getButtons=w,e.getCalendarSchema=async function(e,a,t,r={}){var i=await V(a);return{uiSchema:i,amisSchema:await la(i,t,{tabId:a,appId:e,objectName:a,...r})}},e.getDefaultRenderData=function(){var e=t();return{context:{rootUrl:o(),userId:e.userId,tenantId:e.spaceId,authToken:e.authToken,user:e},global:{userId:e.userId,spaceId:e.spaceId,user:e,now:new Date}}},e.getEnv=e=>T[e],e.getEnvs=()=>T,e.getEvn=z,e.getField=E,e.getFileSrc=function(e){return o()+"/api/files/files/"+e},e.getFlowFormSchema=e=>{return{type:"page",body:[{type:"service",data:{beijing:"20",tianjing:"19"},body:[{type:"tpl",id:"u:f5bb0ad602a6",tpl:`<div style='font-size:20px'>${e.title}</div>`,inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:12,textAlign:"center"}},(e=e,{type:"table-view",trs:Ia(e),id:"u:047f3669468b"})],id:"u:a381684e042b"}],id:"u:63849ea39e12",messages:{},pullRefresh:{},regions:["body"]}},e.getFormPageInitSchema=async function(e){return{type:"page",bodyClassName:"",regions:["body"],body:[(await fa(e,{recordId:"${recordId}"})).amisSchema]}},e.getFormSchema=fa,e.getImageSrc=function(e){return o()+"/api/files/images/"+e},e.getListPageInitSchema=async function(e,a,t){return{type:"page",bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0}]}},e.getListSchema=A,e.getListViewButtons=ve,e.getListViewColumns=ua,e.getListViewItemButtons=$,e.getListViewSort=ma,e.getListviewInitSchema=async function(a,t,r){r=r||{};var i=await V(a),l=b.find(i.list_views,(e,a)=>a===t);let s={};if(l){var o=ua(l,r.formFactor),l=ma(l),n=r.defaults||{};n.headerSchema||(i=await N(i),n.headerSchema=i),r.defaults=n;let e=r.setDataToComponentId;e=e||"service_listview_"+a;i=await ya(null,a,o,{sort:l,...r,setDataToComponentId:e});delete(s=i.amisSchema).data.$master,delete s.data._id,delete s.data.recordPermissions,delete s.data.uiSchema}return s},e.getNotifications=async()=>{var e=t(),e=`
1045
+ `}]},eventAdd:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventAdd'); console.log(event);"}]},eventChange:{weight:0,actions:[{actionType:"ajax",args:{api:n}},{actionType:"toast",expression:"!event.data.editable",args:{msgType:"error",msg:"您没有编辑该记录的权限!",position:"top-center"}},{actionType:"ajax",expression:"event.data.editable",args:{api:d,messages:{success:t.label+"修改成功",failed:t.label+"修改失败!"}}}]},eventRemove:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventRemove'); console.log(event);"}]},eventsSet:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventsSet'); console.log(event);"}]}}});return p}const pt=(e,t,a)=>{e=e.replace(/\./g,"_");a=(e=>{const t=["_id"];return e.push("record_permissions"),b.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e)}),""+t.join(" ")})(a);let r="";t=[`id: "${t}"`];return`{record:${e}__findOne${r=0<t.length?`(${t.join(",")})`:r}{${a}}}`},ut=async(e,t,a)=>{return(await s("/graphql",{method:"post",body:JSON.stringify({query:pt(e,t,a)})})).data.record};let I={},mt;"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=I),I=window.UI_SCHEMA_CACHE);const ft=(e,t)=>{I[e]=t},yt=e=>b.cloneDeep(I[e]),bt=e=>b.has(I,e);function ht(e,t){let a=[];return a="SMALL"===t?b.isEmpty(e.mobile_columns)?b.slice(e.columns,0,4):e.mobile_columns:e.columns}function D(e){let r="";return e&&e.sort&&e.sort.length&&b.each(e.sort,function(e,t){var a;b.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,r+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,r+=a)}),r}function _t(t){if(t){var a=Y();let e=t.filters;return"mine"===t.filter_scope&&(u.default.isEmpty(e)?e=[["owner","=",a]]:e.push(["owner","=",a])),e}}async function V(t,e){if(t){if(!bt(t)||e){let a=null;try{if(!(a=mt?await mt(t,e):await s(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;ft(t,a),b.each(a.list_views,(e,t)=>{e.name=t,b.has(e,"columns")||(e.columns=a.list_views.all.columns)})}catch(e){console.error("getUISchema",t,e),ft(t,null)}}return yt(t)}}async function E(e,t){return(await V(e))?.fields[t]}async function gt(e,t){e=await V(e);return{uiSchema:e,amisSchema:await Te(e,t)}}async function A(e,t,a,r={}){var i=await V(t),l=b.find(i.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!l)return{uiSchema:i};if(l.enable_amis_schema&&l.amis_schema){const m=b.isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema;return{uiSchema:i,isCustomAmisSchema:!0,amisSchema:m}}var s=ht(l,r.formFactor),o=D(l),n=_t(l);if("calendar"===l.type){const m={type:"steedos-object-calendar",objectApiName:t,filters:n,sort:o,...l.options};return{uiSchema:i,isCalendar:!0,amisSchema:m}}var d=r.defaults||{};!d.headerSchema&&r.showHeader&&(d.headerSchema=await F(i)),r.showHeader||(d.headerSchema=null);try{var c,p=location.pathname+"/crud/"+r.listViewId,u=localStorage.getItem(p);u&&(u=JSON.parse(u),c={},u.orderBy&&(c.orderBy=u.orderBy),u.orderDir&&(c.orderDir=u.orderDir),u.perPage&&(c.defaultParams={perPage:u.perPage}),d.listSchema=b.defaultsDeep({},c,d.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}r.defaults=d;const m={type:"steedos-object-table",objectApiName:t,columns:s,extraColumns:l.extra_columns,filters:n,sort:o,ctx:r};return{uiSchema:i,amisSchema:m}}async function vt(e,t,a,r={}){const i=await V(t);let l=r.sort;l||(o=r.sortField,n=r.sortOrder,o&&(l=o+" "+n||"asc"));let s=[];b.each(a,function(e){b.isString(e)&&i.fields[e]?s.push(i.fields[e]):b.isObject(e)&&i.fields[e.field]&&s.push(Object.assign({},i.fields[e.field],{width:e.width,wrap:e.wrap}))});var o=r.extraColumns,n=(o&&b.each(o,function(e){b.isString(e)?s.push({extra:!0,name:e}):b.isObject(e)&&s.push({extra:!0,name:e.field})}),await S(i,s,{tabId:t,appId:e,objectName:t,...r,filter:r.filters,sort:l,buttons:await $(i,r)}));return{uiSchema:i,amisSchema:n}}const wt=(e,t,a,r)=>{a=b.find(a.fields,e=>r===e?.name);return b.isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function $t(t,r,a,i){var e=await V(r),l=[],s=[].concat(e.related_lists||[]);if(b.isEmpty(s))for(const m of[].concat(e.details||[])){var o,n,d=m.split("."),c=await V(d[0]);c&&(((o=await E(d[0],d[1]))._reference_to||o.reference_to&&!b.isString(o.reference_to))&&d[1],d[1],n=(o=await A(0,d[0],"all",{formFactor:i,buttons:await $(c,{isMobile:!1})})).amisSchema,c=await N(c),n.headerSchema=c,n.headerToolbar=[],n.columnsTogglable=!1,delete n.ctx,o.amisSchema={type:"service",className:"b-a m-b",data:{masterObjectName:r,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...n,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:wt(r,a,o.uiSchema,d[1])}}}]},l.push({masterObjectName:r,object_name:d[0],foreign_key:d[1],schema:o}))}else for(const f of s){var p=f.related_field_fullname.split(".");let e=null;var u=await E(p[0],p[1]);if(u){e=u._reference_to||u.reference_to&&!b.isString(u.reference_to)?[[p[1]+"/o","=",r],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const y=await V(p[0]);if(y){let a=[];b.forEach(f.field_names,t=>{var e=b.find(y.fields,e=>e.name===t);e&&a.push(e)}),l.push({masterObjectName:r,object_name:p[0],foreign_key:p[1],schema:{uiSchema:y,amisSchema:await S(y,a,{tabId:r,appId:t,objectName:p[0],formFactor:i,globalFilter:e,buttons:await $(y,{isMobile:!1})})}})}}}return l}const T={};async function Ft(e,t,a){return{type:"picker",label:"人员",name:t,id:a.id,modalMode:"dialog",joinValues:!1,source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}',$term:"$term",$self:"$$"},requestAdaptor:"\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 var allowSearchFields = [\"name\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\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 "},pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["switch-per-page","pagination"],defaultParams:{perPage:50},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"_id",label:"ID",type:"text",toggled:!1},{name:"name",label:"姓名",sortable:!0,searchable:!0,type:"text"},{name:"email",label:"邮件",sortable:!0,type:"text",searchable:!0},{name:"mobile",label:"手机",type:"text",sortable:!0,searchable:!0}],syncLocation:!1,keepItemSelectionOnPageChange:!0},labelField:"name",valueField:"_id",size:"lg",extractValue:!0,className:"m-0",labelClassName:"text-left"}}const Nt=["last_year","this_year","next_year","last_quarter","this_quarter","next_quarter","last_month","this_month","next_month","last_week","this_week","next_week","yestday","today","tomorrow","last_7_days","last_30_days","last_60_days","last_90_days","last_120_days","next_7_days","next_30_days","next_60_days","next_90_days","next_120_days"],St={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},kt=e=>_.has(e,"conjunction"),jt=e=>{const a=[],{conjunction:r,children:t}=e;return r&&t&&t.forEach(e=>{var t;0<a.length&&a.push(r),kt(e)?(t=jt(e))&&0<t.length&&a.push(t):(t=xt(e))&&a.push(t)}),a},xt=e=>{var t,{left:e,op:a,right:r}=e;if(e&&"field"===e.type&&a)return a.startsWith("between:")?(t=a.split(":"),[e.field,t[0],t[1]]):null!=r?[e.field,St[a],r]:void 0},Ot=t=>{var e;if(3===t.length)return"between"===(e=u.default.findKey(St,e=>e===t[1]))&&u.default.includes(Nt,t[2])?{left:{type:"field",field:t[0]},op:e+":"+t[2]}:{left:{type:"field",field:t[0]},op:e,right:t[2]};console.warn("无效的filter:"+JSON.stringify(t))},It=e=>!u.default.isArray(e)&&u.default.isObject(e)?[e.field,e.operation,e.value]:e,Dt=e=>{e=It(e);const t={conjunction:"and",children:[]};return e&&0!=e.length&&e.forEach(e=>{"or"===(e=It(e))||"and"===e?t.conjunction=e:3===e.length&&-1==e.indexOf("and")&&-1==e.indexOf("or")?t.children.push(Ot(e)):t.children.push(Dt(e))}),t};const Vt=e=>{const a=[];return b.each(e.options.split("\n"),e=>{var t=e.split(":");2==t.length?a.push({label:t[0],value:t[1]}):a.push({label:e,value:e})}),a},Et=(e,t)=>{const a={label:!0===t&&e.name,name:e.code,mode:"horizontal",className:"m-none p-none",disabled:"readonly"===e.permission};switch(e.type){case"input":e.is_textarea?a.type="textarea":a.type="input-text";break;case"number":a.type="input-number";break;case"date":a.type="input-date";break;case"dateTime":a.type="input-datetime";break;case"checkbox":a.type="checkbox";break;case"email":a.type="input-email",a.validations={isEmail:!0};break;case"url":a.type="input-url",a.validations={isUrl:!0};break;case"password":a.type="input-password",a.showCounter=!0;break;case"select":a.type="select",a.options=Vt(e);break;case"user":case"group":a.type="input-text";break;case"radio":a.type="radios",a.options=Vt(e);break;case"multiSelect":a.type="checkboxes",a.options=Vt(e);break;case"odata":var r=e.formula.substr(1,e.formula.length-2);a.type="select",a.multiple=e.is_multiselect,a.labelField=r,a.valueField="$$",a.source={url:b.startsWith(e.url,"http")?e.url:"${context.rootUrl}"+e.url,method:"get",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};break;case"html":a.type="html";break;case"table":a.type="input-table",a.addable="readonly"!=e.permission,a.editable=a.addable,a.copyable=a.addable,a.columns=[],b.each(e.sfields,e=>{"hidden"!=e.type&&a.columns.push(Et(e,!0))});break;case"section":a.type="input-text"}return a},At=a=>{const r=[];return b.each(a,e=>{var t;"table"!=e.type&&r.push({className:"td-title",align:"section"!=e.type?"center":"left",width:"section"!=e.type?"16%":"",colspan:"section"==e.type?4:"",body:[{type:"tpl",tpl:`<div style='font-size:20px'>${e.name}</div>`}]}),"section"!=e.type&&r.push((e=e,t=a.length,{background:"readonly"===e.permission?"":"rgba(255,255,0,.1)",colspan:"table"===e.type?4:3-2*(t-1),align:"left",className:"td-field",body:[Et(e)],style:{marginTop:"0",paddingTop:"0",paddingRight:"0",paddingBottom:"0",paddingLeft:"0",marginRight:"0",marginBottom:"0",marginLeft:"0"}}))}),r},Tt=a=>{const t=[],r=[];let i=[];return b.each(a.fields,(e,t)=>{e.is_wide?(0!=i.length&&r.push(i),"table"==e.type&&r.push([Object.assign({},e,{type:"section"})]),(i=[]).push(e),r.push(i),i=[]):(i.push(e),2!=i.length&&t!==a.fields.length-1||(r.push(i),i=[]))}),b.each(r,e=>{t.push({background:"#F7F7F7",tds:At(e)})}),t};function Ct(e){var i=[];return e.charCodeAt(0)===".".charCodeAt(0)&&i.push(""),e.replace(new RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),function(e,t,a,r){return a?e=r.replace(/\\(\\)?/g,"$1"):t&&(e=t.trim()),i.push(e),""}),i}var C=function(){return(C=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function qt(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function Pt(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}e.Field=lt,e.absoluteUrl=function(e){return""+o()+e},e.amisRender=(e,t,a={},r={},i)=>{var l=amisRequire("amis/embed"),{router:i,assets:s}=i;return J(s),l.embed(e,t,a,Object.assign(z(i),r))},e.amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href))},e.cloneObject=qt,e.conditionsToFilters=e=>jt(e),e.createObject=function(e,t,a){var r=(e=e&&Object.isFrozen(e)?qt(e):e)?Object.create(e,C(C({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&Pt(t)&&Object.keys(t).forEach(function(e){return r[e]=t[e]}),r},e.defaultsDeep=c,e.deleteVariable=function(e,t){if(e)if(e.hasOwnProperty(t))delete e[t];else{for(var a=Ct(t),t=a.pop();a.length;){var r=a.shift();if(!L.default(e[r])){if(e[r])throw new Error("目标路径不是纯对象,不能修改");break}e=e[r]=C({},e[r])}e&&e.hasOwnProperty&&e.hasOwnProperty(t)&&delete e[t]}},e.execute=Se,e.executeButton=ke,e.extendObject=function(e,t,a){var r=qt(e,a=void 0===a?!0:a);return t&&Object.keys(t).forEach(function(e){return r[e]=t[e]}),r},e.fetchAPI=s,e.filtersToConditions=e=>Dt(e),e.getAmisObjectRelatedList=$t,e.getApp=async function(e){return await s(`/service/api/apps/${e}/menus`)},e.getApps=async function(){return await s("/service/api/apps/menus")},e.getAuthToken=H,e.getAuthorization=K,e.getButton=async(e,t,a)=>{var r=await V(e);if(r){var i=await h(r,a),i=u.default.find(i,e=>e.name===t);if(i)return"standard_edit"==i.name?{label:i.label,name:i.name,on:i.on,...await n.getStandardEdit(r,a)}:"cms_files"!=e&&"standard_new"==i.name?{label:i.label,name:i.name,on:i.on,...await n.getStandardNew(r,a)}:"standard_delete"==i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await n.getStandardDelete(r,a)}:r.hasImportTemplates&&"standard_import_data"===i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await n.getStandardImportData(r,a)}:"standard_open_view"===i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await n.getStandardOpenView(r,a)}:"standard_delete_many"===i.name?{label:i.label,name:i.name,on:i.on,sort:i.sort,...await n.getStandardDeleteMany(r,a)}:i}},e.getButtonVisible=(t,e)=>{if(t._visible&&(u.default.startsWith(u.default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):ye(t._visible)&&(t.visible=e=>{be(t._visible,e.record,"#",{now:new Date},e.userSession)})),!u.default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},e.getButtonVisibleOn=d,e.getButtons=h,e.getCalendarSchema=async function(e,t,a,r={}){var i=await V(t);return{uiSchema:i,amisSchema:await ct(i,a,{tabId:t,appId:e,objectName:t,...r})}},e.getDefaultRenderData=function(){var e=a();return{context:{rootUrl:o(),userId:e.userId,tenantId:e.spaceId,authToken:e.authToken,user:e},global:{userId:e.userId,spaceId:e.spaceId,user:e,now:new Date}}},e.getEnv=e=>T[e],e.getEnvs=()=>T,e.getEvn=z,e.getField=E,e.getFileSrc=function(e){return o()+"/api/files/files/"+e},e.getFlowFormSchema=e=>{return{type:"page",body:[{type:"service",data:{beijing:"20",tianjing:"19"},body:[{type:"tpl",id:"u:f5bb0ad602a6",tpl:`<div style='font-size:20px'>${e.title}</div>`,inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:12,textAlign:"center"}},(e=e,{type:"table-view",trs:Tt(e),id:"u:047f3669468b"})],id:"u:a381684e042b"}],id:"u:63849ea39e12",messages:{},pullRefresh:{},regions:["body"]}},e.getFormPageInitSchema=async function(e){return{type:"page",bodyClassName:"",regions:["body"],body:[(await gt(e,{recordId:"${recordId}"})).amisSchema]}},e.getFormSchema=gt,e.getImageSrc=function(e){return o()+"/api/files/images/"+e},e.getListPageInitSchema=async function(e,t,a){return{type:"page",bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0}]}},e.getListSchema=A,e.getListViewButtons=we,e.getListViewColumns=ht,e.getListViewFilter=_t,e.getListViewItemButtons=$,e.getListViewSort=D,e.getListviewInitSchema=async function(t,a,r){r=r||{};var i=await V(t),l=b.find(i.list_views,(e,t)=>t===a);let s={};if(l){var o=ht(l,r.formFactor),l=D(l),n=r.defaults||{};n.headerSchema||(i=await F(i),n.headerSchema=i),r.defaults=n;let e=r.setDataToComponentId;e=e||"service_listview_"+t;i=await vt(null,t,o,{sort:l,...r,setDataToComponentId:e});delete(s=i.amisSchema).data.$master,delete s.data._id,delete s.data.recordPermissions,delete s.data.uiSchema}return s},e.getNotifications=async()=>{var e=a(),e=`
992
1046
  {
993
1047
  notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
994
1048
  _id,name,body,related_to,related_name,url,owner,is_read,from,created
995
1049
  },
996
1050
  unReadCount: notifications__count(filters: [["owner","=","${e.userId}"], ["is_read", "!=", true]])
997
1051
  }
998
- `;return(await s("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},e.getObjectDetailButtons=we,e.getObjectDetailMoreButtons=$e,e.getObjectFieldsFilterBarSchema=ra,e.getObjectFieldsFilterButtonSchema=aa,e.getObjectFieldsFilterFormSchema=ta,e.getObjectListHeader=N,e.getObjectListHeaderFieldsFilterBar=xe,e.getObjectListHeaderFirstLine=ke,e.getObjectListHeaderSecordLine=async function(e,a,t){return e="listview_"+e.name,{type:"grid",columns:[{body:[{type:"tpl",tpl:"${$count} 个项目",visibleOn:"this.$count >= 0",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:14},id:"u:1661f8471235"}],md:"auto",columnClassName:"flex items-center"},{body:[await aa(),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:e,className:"bg-white p-2 rounded border-gray-300 text-gray-500"}],md:"auto"}],className:"flex justify-between"}},e.getObjectRecordDetailHeader=je,e.getObjectRecordDetailRelatedListHeader=F,e.getObjectRelated=async function({masterObjectName:e,objectName:a,relatedFieldName:t,recordId:r,formFactor:i}){let l=null;var s=await E(a,t),s=(l=s._reference_to||s.reference_to&&!b.isString(s.reference_to)?[[t+"/o","=",e],[t+"/ids","=",r]]:[""+t,"=",r],await V(e));return{masterObjectName:e,object_name:a,foreign_key:t,schema:await A(0,a,"all",{globalFilter:l,formFactor:i}),record:await oa(e,r,[s.NAME_FIELD_KEY]),masterObjectUISchema:s}},e.getObjectRelatedList=async function(a,r,t,i){var e=await V(r),l=[],s=[].concat(e.related_lists||[]);if(b.isEmpty(s))for(const u of[].concat(e.details||[])){var o=u.split("."),n=await V(o[0]);if(n){let e=null;var d=await E(o[0],o[1]);e=d._reference_to||d.reference_to&&!b.isString(d.reference_to)?[[o[1]+"/o","=",r],[o[1]+"/ids","=",t]]:[""+o[1],"=",t],l.push({masterObjectName:r,object_name:o[0],foreign_key:o[1],schema:await A(0,o[0],"all",{globalFilter:e,formFactor:i,buttons:await $(n,{isMobile:!1})})})}}else for(const m of s){var c=m.related_field_fullname.split(".");let e=null;var p=await E(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!b.isString(p.reference_to)?[[c[1]+"/o","=",r],[c[1]+"/ids","=",t]]:[""+c[1],"=",t];const f=await V(c[0]);if(f){let t=[];b.forEach(m.field_names,a=>{var e=b.find(f.fields,e=>e.name===a);e&&t.push(e)}),l.push({masterObjectName:r,object_name:c[0],foreign_key:c[1],schema:{uiSchema:f,amisSchema:await S(f,t,{tabId:r,appId:a,objectName:c[0],formFactor:i,globalFilter:e,buttons:await $(f,{isMobile:!1})})}})}}}return l},e.getObjectRelatedListButtons=Ne,e.getObjectRelatedListHeader=async function(e,a,t){},e.getPage=l,e.getRecord=oa,e.getRecordDetailHeaderSchema=async function(e,a,t){return{uiSchema:e=await V(e),amisSchema:await je(e,a,t)}},e.getRecordDetailRelatedListSchema=async function(a,e,t,r,i,l,s,o){var n=await V(t),{list_views:d,fields:c}=n,d=b.keys(d)[0];let p=null,u=(c=await E(t,r=r||b.findKey(c,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===a})),e);return c.reference_to_field&&"_id"!=c.reference_to_field&&(e=await oa(a,e,[c.reference_to_field]),u=e[c.reference_to_field]),p=c._reference_to||c.reference_to&&!b.isString(c.reference_to)?[[r+"/o","=",a],[r+"/ids","=",u]]:[""+r,"=",u],e=await F(n),c="steedos-record-related-list-"+t,d=(await A(0,t,d,{globalFilter:p,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:i,perPage:l,setDataToComponentId:c,tableHiddenOn:s?"this.$count === 0":null,appId:o})).amisSchema,{uiSchema:n,amisSchema:{type:"service",id:c,className:"steedos-record-related-list sm:rounded sm:border border-slate-300 bg-gray-100 mb-4",data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:a,masterRecordId:"${recordId}",relatedKey:r,objectName:t,listViewId:`amis-\${appId}-${t}-listview`},body:[{...d,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:r,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[r]:ba(a,u,n,r)}}}]}}},e.getRecordDetailSchema=async function(e,a){return{uiSchema:e=await V(e),amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${e?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},{type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:a}],id:"u:5d4e7e3f6ecc"},{title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:a}],id:"u:1a0326aeec2b"}],id:"u:a649e4094a12"}]}}},e.getRecordPageInitSchema=async function(e){var a=await ha(null,e,"${recordId}",null),t=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await V(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],r={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"};return(a=b.map(a,e=>e.schema.amisSchema)).length&&r.tabs.push({title:"相关",body:a}),t.push(r),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:t}},e.getRecordPermissions=async(e,a)=>{return await s(`/service/api/@${e}/recordPermissions/`+a,{method:"GET"})},e.getRelatedFieldValue=ba,e.getRelatedsCount=async(a,e)=>{const t=[];b.each(e,e=>{t.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${a}"]])`)});e=`
1052
+ `;return(await s("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},e.getObjectDetailButtons=$e,e.getObjectDetailMoreButtons=Fe,e.getObjectFieldsFilterBarSchema=nt,e.getObjectFieldsFilterButtonSchema=st,e.getObjectFieldsFilterFormSchema=ot,e.getObjectListHeader=F,e.getObjectListHeaderFieldsFilterBar=xe,e.getObjectListHeaderFirstLine=je,e.getObjectListHeaderSecordLine=async function(e,t,a){return e="listview_"+e.name,{type:"grid",columns:[{body:[{type:"tpl",tpl:"${$count} 个项目",visibleOn:"this.$count >= 0",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:14},id:"u:1661f8471235"}],md:"auto",columnClassName:"flex items-center"},{body:[await st(),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:e,className:"bg-white p-2 rounded border-gray-300 text-gray-500"}],md:"auto"}],className:"flex justify-between"}},e.getObjectRecordDetailHeader=Oe,e.getObjectRecordDetailRelatedListHeader=N,e.getObjectRelated=async function({masterObjectName:e,objectName:t,relatedFieldName:a,recordId:r,formFactor:i}){let l=null;var s=await E(t,a),s=(l=s._reference_to||s.reference_to&&!b.isString(s.reference_to)?[[a+"/o","=",e],[a+"/ids","=",r]]:[""+a,"=",r],await V(e));return{masterObjectName:e,object_name:t,foreign_key:a,schema:await A(0,t,"all",{globalFilter:l,formFactor:i}),record:await ut(e,r,[s.NAME_FIELD_KEY]),masterObjectUISchema:s}},e.getObjectRelatedList=async function(t,r,a,i){var e=await V(r),l=[],s=[].concat(e.related_lists||[]);if(b.isEmpty(s))for(const u of[].concat(e.details||[])){var o=u.split("."),n=await V(o[0]);if(n){let e=null;var d=await E(o[0],o[1]);e=d._reference_to||d.reference_to&&!b.isString(d.reference_to)?[[o[1]+"/o","=",r],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],l.push({masterObjectName:r,object_name:o[0],foreign_key:o[1],schema:await A(0,o[0],"all",{globalFilter:e,formFactor:i,buttons:await $(n,{isMobile:!1})})})}}else for(const m of s){var c=m.related_field_fullname.split(".");let e=null;var p=await E(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!b.isString(p.reference_to)?[[c[1]+"/o","=",r],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await V(c[0]);if(f){let a=[];b.forEach(m.field_names,t=>{var e=b.find(f.fields,e=>e.name===t);e&&a.push(e)}),l.push({masterObjectName:r,object_name:c[0],foreign_key:c[1],label:m.label,schema:{uiSchema:f,amisSchema:await S(f,a,{tabId:r,appId:t,objectName:c[0],formFactor:i,globalFilter:e,buttons:await $(f,{isMobile:!1})})}})}}}return l},e.getObjectRelatedListButtons=Ne,e.getObjectRelatedListHeader=async function(e,t,a){},e.getPage=i,e.getRecord=ut,e.getRecordDetailHeaderSchema=async function(e,t,a){return{uiSchema:e=await V(e),amisSchema:await Oe(e,t,a)}},e.getRecordDetailRelatedListSchema=async function(t,e,a,r,i,l,s,o,n){var d=await V(a),{list_views:c,label:p,fields:u}=d,p=(n=n||p,b.keys(c)[0]);let m=null,f=(c=await E(a,r=r||b.findKey(u,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t})),e);return c.reference_to_field&&"_id"!=c.reference_to_field&&(u=await ut(t,e,[c.reference_to_field]),f=u[c.reference_to_field]),m=c._reference_to||c.reference_to&&!b.isString(c.reference_to)?[[r+"/o","=",t],[r+"/ids","=",f]]:[""+r,"=",f],e=await N(d,n),u="steedos-record-related-list-"+a,c=(await A(0,a,p,{globalFilter:m,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:i,perPage:l,setDataToComponentId:u,tableHiddenOn:s?"this.$count === 0":null,appId:o})).amisSchema,{uiSchema:d,amisSchema:{type:"service",id:u,className:"steedos-record-related-list sm:rounded sm:border border-slate-300 bg-gray-100 mb-4",data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:r,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...c,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:r,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[r]:wt(t,f,d,r)}}}]}}},e.getRecordDetailSchema=async function(e,t){return{uiSchema:e=await V(e),amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${e?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},{type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"},{title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}],id:"u:a649e4094a12"}]}}},e.getRecordPageInitSchema=async function(e){var t=await $t(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await V(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],r={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"};return(t=b.map(t,e=>e.schema.amisSchema)).length&&r.tabs.push({title:"相关",body:t}),a.push(r),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}},e.getRecordPermissions=async(e,t)=>{return await s(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})},e.getRelatedFieldValue=wt,e.getRelatedsCount=async(t,e)=>{const a=[];b.each(e,e=>{a.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${t}"]])`)});e=`
999
1053
  {
1000
- ${t.join(",")}
1054
+ ${a.join(",")}
1001
1055
  }
1002
- `;return(await s("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},e.getRootUrl=o,e.getSearchableFieldsFilterSchema=async function(e,a,t){return ta(e,a,t)},e.getSelectUserSchema=He,e.getSpaceUsersPickerAmisSchema=_a,e.getSpaceUsersPickerSchema=async function(e,a){var t=await V("space_users");return{uiSchema:t,amisSchema:await _a(0,e,a)}},e.getSteedosAuth=t,e.getTableSchema=ya,e.getTenantId=H,e.getUISchema=V,e.getViewSchema=async function(e,a,t){return{uiSchema:e=await V(e),amisSchema:await async function(e,a,t){var{formFactor:r,layout:r="SMALL"===r?"normal":"horizontal",labelAlign:i,formInitProps:l}=t,s=u.default.values(e.fields);return{type:"service",name:"page_readonly_"+a,id:"detail_"+a,data:{global:Ee("read"),context:{rootUrl:o(),tenantId:H(),authToken:U()}},api:await ie(e,a,s,l),body:[{type:"form",mode:r,labelAlign:i,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+a,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await pe(b.map(s,e=>(e.readonly=!0,e)),e,Object.assign({},t,{showSystemFields:!0})),className:"steedos-amis-form bg-white",actions:[],hiddenOn:"${recordLoaded != true}"}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}},{actionType:"setValue",args:{value:{recordLoaded:!0}}}]}}}}(e,a,t)}},e.isExpression=fe,e.isObject=Ea,e.lookupToAmis=Ye,e.lookupToAmisPicker=Ue,e.lookupToAmisSelect=j,e.lookupToAmisSelectUser=We,e.markReadAll=async()=>s("/api/v4/notifications/all/markReadAll",{method:"POST"}),e.parseSingleExpression=ye,e.registerRemoteAssets=async a=>{if(a&&0<a.length){let e=a;b.isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);a=b.filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return b.map(a,e=>({componentType:e.componentType,componentName:e.componentName,...e.amis.render}))}return[]},e.registerRenders=J,e.setEnv=(e,a)=>{T[e]=a},e.setEnvs=e=>{b.map(e,(e,a)=>{T[a]=e})},e.setRootUrl=function(e){b.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e)},e.setSteedosAuth=e=>{Object.assign(M,e)},e.setUISchemaFunction=function(e){na=e},e.setVariable=function(e,a,t,r){if(a in(e=e||{}))e[a]=t;else{for(var i=!1!==r?Da(a):[a],r=i.pop();i.length;){var l=i.shift();e=B.default(e[l])?e[l]=q({},e[l]):(Array.isArray(e[l])?e[l]=e[l].concat():(e[l],e[l]={}),e[l])}e[r]=t}},e.standardButtonsTodo=a,Object.defineProperty(e,"__esModule",{value:!0})});
1056
+ `;return(await s("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},e.getRootUrl=o,e.getSearchableFieldsFilterSchema=async function(e,t,a){return ot(e,t,a)},e.getSelectUserSchema=Ke,e.getSpaceUsersPickerAmisSchema=Ft,e.getSpaceUsersPickerSchema=async function(e,t){var a=await V("space_users");return{uiSchema:a,amisSchema:await Ft(0,e,t)}},e.getSteedosAuth=a,e.getTableSchema=vt,e.getTenantId=U,e.getUISchema=V,e.getUserId=Y,e.getViewSchema=async function(e,t,a){return{uiSchema:e=await V(e),amisSchema:await async function(e,t,a){var{formFactor:r,layout:r="SMALL"===r?"normal":"horizontal",labelAlign:i,formInitProps:l}=a,s=u.default.values(e.fields);return{type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:Ae("read"),context:{rootUrl:o(),tenantId:U(),authToken:H()}},api:await le(e,t,s,l),body:[{type:"form",mode:r,labelAlign:i,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await ue(b.map(s,e=>(e.readonly=!0,e)),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white",actions:[],hiddenOn:"${recordLoaded != true}"}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}},{actionType:"setValue",args:{value:{recordLoaded:!0}}}]}}}}(e,t,a)}},e.isExpression=ye,e.isObject=Pt,e.lookupToAmis=Xe,e.lookupToAmisPicker=We,e.lookupToAmisSelect=Ge,e.lookupToAmisSelectUser=Qe,e.markReadAll=async()=>s("/api/v4/notifications/all/markReadAll",{method:"POST"}),e.parseSingleExpression=be,e.registerRemoteAssets=async t=>{if(t&&0<t.length){let e=t;b.isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=b.filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return b.map(t,e=>({componentType:e.componentType,componentName:e.componentName,...e.amis.render}))}return[]},e.registerRenders=J,e.setEnv=(e,t)=>{T[e]=t},e.setEnvs=e=>{b.map(e,(e,t)=>{T[t]=e})},e.setRootUrl=function(e){b.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e)},e.setSteedosAuth=e=>{Object.assign(M,e)},e.setUISchemaFunction=function(e){mt=e},e.setVariable=function(e,t,a,r){if(t in(e=e||{}))e[t]=a;else{for(var i=!1!==r?Ct(t):[t],r=i.pop();i.length;){var l=i.shift();e=L.default(e[l])?e[l]=C({},e[l]):(Array.isArray(e[l])?e[l]=e[l].concat():(e[l],e[l]={}),e[l])}e[r]=a}},e.standardButtonsTodo=t,Object.defineProperty(e,"__esModule",{value:!0})});
1003
1057
  //# sourceMappingURL=index.umd.js.map