宜搭工具箱

宜搭组件\fieldId\接口\代码快捷复制\图片压缩\一键配置表格列\一键插入远程数据源,优化宜搭体验

当前为 2024-08-09 提交的版本,查看 最新版本

// ==UserScript==
// @name           宜搭工具箱
// @namespace      yida-plugin-yiye
// @version        2.1.3.3
// @author         页一(原创)
// @description:0  宜搭组件ieldId接口代码快捷复制图片压缩一键配置表格列一键插入远程数据源,优化宜搭体验
// @license        MIT
// @icon           https://img.alicdn.com/imgextra/i3/O1CN01Bqjz5u1tuBe2IKv8V_!!6000000005961-73-tps-128-128.ico
// @match          https://*.aliwork.com/alibaba/web/*/design/*
// @match          https://*.aliwork.com/dingtalk/web/*/design/*
// @grant          GM_addStyle
// @grant          unsafeWindow
// @description 宜搭组件\fieldId\接口\代码快捷复制\图片压缩\一键配置表格列\一键插入远程数据源,优化宜搭体验
// ==/UserScript==

(function (d) {
	'use strict';

	var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(t,n,i)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i,s=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&a(e,n,t[n]);if(i)for(var n of i(t))o.call(t,n)&&a(e,n,t[n]);return e},l=(e,i)=>t(e,n(i)),c=(e,t,n)=>new Promise(((i,r)=>{var o=e=>{try{s(n.next(e));}catch(t){r(t);}},a=e=>{try{s(n.throw(e));}catch(t){r(t);}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(o,a);s((n=n.apply(e,t)).next());}));var p={exports:{}},m={},u=d,h=Symbol.for("react.element"),f=Symbol.for("react.fragment"),g=Object.prototype.hasOwnProperty,y=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,x={key:!0,ref:!0,__self:!0,__source:!0};function v(e,t,n){var i,r={},o=null,a=null;for(i in void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),void 0!==t.ref&&(a=t.ref),t)g.call(t,i)&&!x.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===r[i]&&(r[i]=t[i]);return {$$typeof:h,type:e,key:o,ref:a,props:r,_owner:y.current}}m.Fragment=f,m.jsx=v,m.jsxs=v,p.exports=m;var w=p.exports,b=(()=>"undefined"!=typeof GM_addStyle?GM_addStyle:void 0)(),j=(()=>"undefined"!=typeof unsafeWindow?unsafeWindow:void 0)();const{Icon:F}=j.Deep,I=F.createFromIconfontCN({scriptUrl:"//at.alicdn.com/t/c/font_4414352_vo25wbhv3np.js"}),{Deep:T,AliLowCodeEngine:O}=j,E=O,{Message:D}=T,C={fc(e,t,n=1e3){D.show({type:t,duration:n,title:e});},success(e){this.fc(e,"success");},error(e,t){this.fc(e,"error",t);},notice(e,t){this.fc(e,"notice",t);}};function S(){const{skeleton:e}=E,t=e.getPanel("yeyiTools");t&&t.hide();}const k=function(e,t=!0){navigator.clipboard.writeText(e).then((function(){C.success("复制成功"),t&&S();}),(function(){C.error("复制失败");}));},R=function(e,t=!0){navigator.clipboard.writeText(e).then((function(){C.success("翻译成功,请粘贴"),t&&S();}),(function(){C.error("复制失败");}));},U=(e,t)=>{j.localStorage.setItem(e,t);},B=e=>j.localStorage.getItem(e),P={padding:"10px",margin:"10px",borderStyle:"solid",borderWidth:"1px",borderColor:"rgba(31,56,88,0.2)",borderRadius:"8px",overflowY:"auto",maxHeight:"calc(100vh - 150px)"},M=e=>{const t=[{name:"图片压缩",code:'{"type":"nodeSchema","componentsMap":{},"componentsTree":[{"componentName":"Jsx","props":{"render":{"type":"js","compiled":"function main(){\\n    \\n    \\"use strict\\";\\n\\nvar __compiledFunc__ = function render() {\\n  var _this = this;\\n\\n  //{id=a100001}//\\n  //$$\\nvar setting={\\"quality\\":0.8,\\"maxHeight\\":1200,\\"maxWidth\\":1000};\\n//$$\\n  /*** 压缩组件 by 页一*/\\n  window.Compressor = function () {\\n    \\"use strict\\";\\n    function t(t, e) {\\n      var r,\\n          i = Object.keys(t);return Object.getOwnPropertySymbols && (r = Object.getOwnPropertySymbols(t), e && (r = r.filter(function (e) {\\n        return Object.getOwnPropertyDescriptor(t, e).enumerable;\\n      })), i.push.apply(i, r)), i;\\n    }function a(i) {\\n      for (var e = 1; e < arguments.length; e++) {\\n        var a = null != arguments[e] ? arguments[e] : {};e % 2 ? t(Object(a), !0).forEach(function (e) {\\n          var t, r;t = i, e = a[r = e], r in t ? Object.defineProperty(t, r, { value: e, enumerable: !0, configurable: !0, writable: !0 }) : t[r] = e;\\n        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(a)) : t(Object(a)).forEach(function (e) {\\n          Object.defineProperty(i, e, Object.getOwnPropertyDescriptor(a, e));\\n        });\\n      }return i;\\n    }function n(e, t) {\\n      for (var r = 0; r < t.length; r++) {\\n        var i = t[r];i.enumerable = i.enumerable || !1, i.configurable = !0, \\"value\\" in i && (i.writable = !0), Object.defineProperty(e, i.key, i);\\n      }\\n    }function s() {\\n      return (s = Object.assign || function (e) {\\n        for (var t = 1; t < arguments.length; t++) {\\n          var r,\\n              i = arguments[t];for (r in i) {\\n            Object.prototype.hasOwnProperty.call(i, r) && (e[r] = i[r]);\\n          }\\n        }return e;\\n      }).apply(this, arguments);\\n    }var e,\\n        r,\\n        o,\\n        l,\\n        c,\\n        h,\\n        u,\\n        f,\\n        i = { exports: {} };e = i, \\"undefined\\" != typeof window && (o = (r = window).HTMLCanvasElement && r.HTMLCanvasElement.prototype, l = r.Blob && function () {\\n      try {\\n        return Boolean(new Blob());\\n      } catch (e) {\\n        return !1;\\n      }\\n    }(), c = l && r.Uint8Array && function () {\\n      try {\\n        return 100 === new Blob([new Uint8Array(100)]).size;\\n      } catch (e) {\\n        return !1;\\n      }\\n    }(), h = r.BlobBuilder || r.WebKitBlobBuilder || r.MozBlobBuilder || r.MSBlobBuilder, u = /^data:((.*?)(;charset=.*?)?)(;base64)?,/, f = (l || h) && r.atob && r.ArrayBuffer && r.Uint8Array && function (e) {\\n      var t,\\n          r,\\n          i,\\n          a,\\n          n,\\n          o = e.match(u);if (!o) throw new Error(\\"invalid data URI\\");for (t = o[2] ? o[1] : \\"text/plain\\" + (o[3] || \\";charset=US-ASCII\\"), i = !!o[4], o = e.slice(o[0].length), r = (i ? atob : decodeURIComponent)(o), i = new ArrayBuffer(r.length), a = new Uint8Array(i), n = 0; n < r.length; n += 1) {\\n        a[n] = r.charCodeAt(n);\\n      }return l ? new Blob([c ? a : i], { type: t }) : ((o = new h()).append(i), o.getBlob(t));\\n    }, r.HTMLCanvasElement && !o.toBlob && (o.mozGetAsFile ? o.toBlob = function (e, t, r) {\\n      var i = this;setTimeout(function () {\\n        r && o.toDataURL && f ? e(f(i.toDataURL(t, r))) : e(i.mozGetAsFile(\\"blob\\", t));\\n      });\\n    } : o.toDataURL && f && (o.msToBlob ? o.toBlob = function (e, t, r) {\\n      var i = this;setTimeout(function () {\\n        (t && \\"image/png\\" !== t || r) && o.toDataURL && f ? e(f(i.toDataURL(t, r))) : e(i.msToBlob(t));\\n      });\\n    } : o.toBlob = function (e, t, r) {\\n      var i = this;setTimeout(function () {\\n        e(f(i.toDataURL(t, r)));\\n      });\\n    })), e.exports ? e.exports = f : r.dataURLtoBlob = f);function j(e) {\\n      return 0 < e && e < 1 / 0;\\n    }var T = i.exports,\\n        d = { strict: !0, checkOrientation: !0, maxWidth: 1 / 0, maxHeight: 1 / 0, minWidth: 0, minHeight: 0, width: void 0, height: void 0, resize: \\"none\\", quality: .8, mimeType: \\"auto\\", convertTypes: [\\"image/png\\"], convertSize: 5e6, beforeDraw: null, drew: null, success: null, error: null },\\n        m = \\"undefined\\" != typeof window && void 0 !== window.document ? window : {},\\n        p = Array.prototype.slice;var b = /^image\\\\/.+$/;function R(e) {\\n      return b.test(e);\\n    }var g = String.fromCharCode;var y = m.btoa;function w(e, t) {\\n      for (var r, i = [], a = new Uint8Array(e); 0 < a.length;) {\\n        i.push(g.apply(null, (r = a.subarray(0, 8192), Array.from ? Array.from(r) : p.call(r)))), a = a.subarray(8192);\\n      }return \\"data:\\".concat(t, \\";base64,\\").concat(y(i.join(\\"\\")));\\n    }function v(e) {\\n      var t,\\n          r,\\n          i,\\n          a,\\n          n,\\n          o,\\n          s,\\n          l = new DataView(e);try {\\n        if (255 === l.getUint8(0) && 216 === l.getUint8(1)) for (var c = l.byteLength, h = 2; h + 1 < c;) {\\n          if (255 === l.getUint8(h) && 225 === l.getUint8(h + 1)) {\\n            r = h;break;\\n          }h += 1;\\n        }if (r && (a = r + 10, \\"Exif\\" === function (e, t, r) {\\n          var i,\\n              a = \\"\\";for (r += t, i = t; i < r; i += 1) {\\n            a += g(e.getUint8(i));\\n          }return a;\\n        }(l, r + 4, 4) && (!(s = 18761 === (n = l.getUint16(a))) && 19789 !== n || 42 !== l.getUint16(a + 2, s) || 8 <= (o = l.getUint32(a + 4, s)) && (i = a + o))), i) for (var u, f = l.getUint16(i, s), d = 0; d < f; d += 1) {\\n          if (u = i + 12 * d + 2, 274 === l.getUint16(u, s)) {\\n            u += 8, t = l.getUint16(u, s), l.setUint16(u, 1, s);break;\\n          }\\n        }\\n      } catch (e) {\\n        t = 1;\\n      }return t;\\n    }var U = /\\\\.\\\\d*(?:0|9){12}\\\\d*$/;function k(e, t) {\\n      t = 1 < arguments.length && void 0 !== t ? t : 1e11;return U.test(e) ? Math.round(e * t) / t : e;\\n    }function x(e, t) {\\n      var r = e.aspectRatio,\\n          i = e.height,\\n          a = e.width,\\n          n = 1 < arguments.length && void 0 !== t ? t : \\"none\\",\\n          o = j(a),\\n          e = j(i);return o && e ? (t = i * r, (\\"contain\\" === n || \\"none\\" === n) && a < t || \\"cover\\" === n && t < a ? i = a / r : a = i * r) : o ? i = a / r : e && (a = i * r), { width: a, height: i };\\n    }var O = m.ArrayBuffer,\\n        B = m.FileReader,\\n        A = m.URL || m.webkitURL,\\n        M = /\\\\.\\\\w+$/,\\n        D = m.Compressor;return function () {\\n      function r(e, t) {\\n        !function (e, t) {\\n          if (!(e instanceof t)) throw new TypeError(\\"Cannot call a class as a function\\");\\n        }(this, r), this.file = e, this.image = new Image(), this.options = a(a({}, d), t), this.aborted = !1, this.result = null, this.init();\\n      }var e, t, i;return e = r, i = [{ key: \\"noConflict\\", value: function value() {\\n          return window.Compressor = D, r;\\n        } }, { key: \\"setDefaults\\", value: function value(e) {\\n          s(d, e);\\n        } }], (t = [{ key: \\"init\\", value: function value() {\\n          var i,\\n              e,\\n              a,\\n              n = this,\\n              o = this.file,\\n              t = this.options;e = o, \\"undefined\\" != typeof Blob && (e instanceof Blob || \\"[object Blob]\\" === Object.prototype.toString.call(e)) ? R(i = o.type) ? A && B ? (O || (t.checkOrientation = !1), A && !t.checkOrientation ? this.load({ url: A.createObjectURL(o) }) : (e = new B(), a = t.checkOrientation && \\"image/jpeg\\" === i, (this.reader = e).onload = function (e) {\\n            var t = e.target.result,\\n                r = {};a ? 1 < (e = v(t)) || !A ? (r.url = w(t, i), 1 < e && s(r, function (e) {\\n              var t = 0,\\n                  r = 1,\\n                  i = 1;switch (e) {case 2:\\n                  r = -1;break;case 3:\\n                  t = -180;break;case 4:\\n                  i = -1;break;case 5:\\n                  t = 90, i = -1;break;case 6:\\n                  t = 90;break;case 7:\\n                  t = 90, r = -1;break;case 8:\\n                  t = -90;}return { rotate: t, scaleX: r, scaleY: i };\\n            }(e))) : r.url = A.createObjectURL(o) : r.url = t, n.load(r);\\n          }, e.onabort = function () {\\n            n.fail(new Error(\\"Aborted to read the image with FileReader.\\"));\\n          }, e.onerror = function () {\\n            n.fail(new Error(\\"Failed to read the image with FileReader.\\"));\\n          }, e.onloadend = function () {\\n            n.reader = null;\\n          }, a ? e.readAsArrayBuffer(o) : e.readAsDataURL(o))) : this.fail(new Error(\\"The current browser does not support image compression.\\")) : this.fail(new Error(\\"The first argument must be an image File or Blob object.\\")) : this.fail(new Error(\\"The first argument must be a File or Blob object.\\"));\\n        } }, { key: \\"load\\", value: function value(e) {\\n          var t = this,\\n              r = this.file,\\n              i = this.image;i.onload = function () {\\n            t.draw(a(a({}, e), {}, { naturalWidth: i.naturalWidth, naturalHeight: i.naturalHeight }));\\n          }, i.onabort = function () {\\n            t.fail(new Error(\\"Aborted to load the image.\\"));\\n          }, i.onerror = function () {\\n            t.fail(new Error(\\"Failed to load the image.\\"));\\n          }, m.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(m.navigator.userAgent) && (i.crossOrigin = \\"anonymous\\"), i.alt = r.name, i.src = e.url;\\n        } }, { key: \\"draw\\", value: function value(e) {\\n          var t = this,\\n              r = e.naturalWidth,\\n              i = e.naturalHeight,\\n              a = e.rotate,\\n              n = void 0 === a ? 0 : a,\\n              o = e.scaleX,\\n              s = void 0 === o ? 1 : o,\\n              l = e.scaleY,\\n              c = void 0 === l ? 1 : l,\\n              h = this.file,\\n              u = this.image,\\n              f = this.options,\\n              d = document.createElement(\\"canvas\\"),\\n              m = d.getContext(\\"2d\\"),\\n              p = Math.abs(n) % 180 == 90,\\n              b = (\\"contain\\" === f.resize || \\"cover\\" === f.resize) && j(f.width) && j(f.height),\\n              g = Math.max(f.maxWidth, 0) || 1 / 0,\\n              y = Math.max(f.maxHeight, 0) || 1 / 0,\\n              w = Math.max(f.minWidth, 0) || 0,\\n              a = Math.max(f.minHeight, 0) || 0,\\n              o = r / i,\\n              e = f.width,\\n              l = f.height;p && (g = (v = [y, g])[0], y = v[1], w = (v = [a, w])[0], a = v[1], e = (v = [l, e])[0], l = v[1]);var v = x({ aspectRatio: o = b ? e / l : o, width: g, height: y }, \\"contain\\");g = v.width, y = v.height;v = x({ aspectRatio: o, width: w, height: a }, \\"cover\\");w = v.width, a = v.height, l = b ? (e = (v = x({ aspectRatio: o, width: e, height: l }, f.resize)).width, v.height) : (e = void 0 === (O = (U = x({ aspectRatio: o, width: e, height: l })).width) ? r : O, void 0 === (O = U.height) ? i : O);var U = -(e = Math.floor(k(Math.min(Math.max(e, w), g)))) / 2,\\n              O = -(l = Math.floor(k(Math.min(Math.max(l, a), y)))) / 2,\\n              w = e,\\n              g = l,\\n              a = [];b && (y = (o = x({ aspectRatio: o, width: y = r, height: b = i }, { contain: \\"cover\\", cover: \\"contain\\" }[f.resize])).width, b = o.height, a.push((r - y) / 2, (i - b) / 2, y, b)), a.push(U, O, w, g), p && (e = (B = [l, e])[0], l = B[1]), d.width = e, d.height = l, R(f.mimeType) || (f.mimeType = h.type);var B = \\"transparent\\";h.size > f.convertSize && 0 <= f.convertTypes.indexOf(f.mimeType) && (f.mimeType = \\"image/jpeg\\"), \\"image/jpeg\\" === f.mimeType && (B = \\"#fff\\"), m.fillStyle = B, m.fillRect(0, 0, e, l), f.beforeDraw && f.beforeDraw.call(this, m, d), this.aborted || (m.save(), m.translate(e / 2, l / 2), m.rotate(n * Math.PI / 180), m.scale(s, c), m.drawImage.apply(m, [u].concat(a)), m.restore(), f.drew && f.drew.call(this, m, d), this.aborted || (m = function m(e) {\\n            t.aborted || t.done({ naturalWidth: r, naturalHeight: i, result: e });\\n          }, d.toBlob ? d.toBlob(m, f.mimeType, f.quality) : m(T(d.toDataURL(f.mimeType, f.quality)))));\\n        } }, { key: \\"done\\", value: function value(e) {\\n          var t = e.naturalWidth,\\n              r = e.naturalHeight,\\n              i = e.result,\\n              a = this.file,\\n              n = this.image,\\n              e = this.options;A && !e.checkOrientation && A.revokeObjectURL(n.src), !i || e.strict && i.size > a.size && e.mimeType === a.type && !(e.width > t || e.height > r || e.minWidth > t || e.minHeight > r || e.maxWidth < t || e.maxHeight < r) ? i = a : (r = new Date(), i.lastModified = r.getTime(), i.lastModifiedDate = r, i.name = a.name, i.name && i.type !== a.type && (i.name = i.name.replace(M, (a = R(a = i.type) ? a.substr(6) : \\"\\", \\".\\".concat(a = \\"jpeg\\" === a ? \\"jpg\\" : a))))), this.result = i, e.success && e.success.call(this, i);\\n        } }, { key: \\"fail\\", value: function value(e) {\\n          var t = this.options;if (!t.error) throw e;t.error.call(this, e);\\n        } }, { key: \\"abort\\", value: function value() {\\n          this.aborted || (this.aborted = !0, this.reader ? this.reader.abort() : this.image.complete ? this.fail(new Error(\\"The compression process has been aborted.\\")) : (this.image.onload = null, this.image.onabort()));\\n        } }]) && n(e.prototype, t), i && n(e, i), r;\\n    }();\\n  }();\\n  var quality = setting.quality,\\n      maxWidth = setting.maxWidth,\\n      maxHeight = setting.maxHeight;\\n  var closeLoading = void 0;this.showLoading = function (title_str, s) {\\n    closeLoading = _this.utils.toast({ title: title_str, type: \'loading\', size: \'large\' });if (s !== 0) {\\n      setTimeout(function () {\\n        _this.hideLoading();\\n      }, s * 1000);\\n    }\\n  };this.hideLoading = function () {\\n    closeLoading && closeLoading();\\n  };this.compressImage = function (imageFile) {\\n    return new Promise(function (resolve, reject) {\\n      new Compressor(imageFile, { quality: quality, maxWidth: maxWidth, maxHeight: maxHeight, mimeType: \'image/jpeg\', success: function success(result) {\\n          if (result.size >= imageFile.size) {\\n            resolve(imageFile);\\n          }var newImageFile = new File([result], imageFile.name, { type: result.type });newImageFile.uid = imageFile.uid;resolve(newImageFile);\\n        },\\n        error: function error(err) {\\n          resolve(imageFile);\\n        }\\n      });\\n    });\\n  };this.batchCompression = function (selectedFiles, allFiles, imageFiledId) {\\n    var _this2 = this;\\n\\n    if (!window.Compressor) {\\n      return this.utils.toast(\'缺少压缩插件\');\\n    };this.showLoading(\'正在压缩图片\', 20);var selectedFD = this.$(imageFiledId);var compressPromises = selectedFiles.map(function (item) {\\n      return _this2.compressImage(item.originFileObj);\\n    });Promise.all(compressPromises).then(function (compressedFiles) {\\n      allFiles.forEach(function (rawFile) {\\n        var file = compressedFiles.find(function (compressFile) {\\n          return compressFile.uid === rawFile.uid;\\n        });if (file && file.type.split(\'/\')[0] === \'image\') {\\n          rawFile.name = file.name.replace(/.[^.]+$/, \\".\\" + file.type.split(\'/\')[1]);rawFile.size = file.size;rawFile.originFileObj = file;rawFile.type = file.type;\\n        }\\n      });selectedFD.setValue(allFiles);_this2.hideLoading();selectedFD.startUpload();\\n    }).catch(function (err) {\\n      console.error(err);\\n    });\\n  };return React.createElement(\\n    \\"div\\",\\n    { style: { display: \'none\' } },\\n    \\" \\\\u538B\\\\u7F29\\\\u7EC4\\\\u4EF6\\"\\n  );\\n};\\n    return __compiledFunc__.apply(this, arguments);\\n  }","source":"function render() {\\n  //{id=a100001}//\\n  //$$\\nvar setting={\\"quality\\":0.8,\\"maxHeight\\":1200,\\"maxWidth\\":1000};\\n//$$\\n  /*** 压缩组件 by 页一*/\\n  window.Compressor = (function () { \\"use strict\\"; function t(t, e) { var r, i = Object.keys(t); return Object.getOwnPropertySymbols && (r = Object.getOwnPropertySymbols(t), e && (r = r.filter(function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable })), i.push.apply(i, r)), i } function a(i) { for (var e = 1; e < arguments.length; e++) { var a = null != arguments[e] ? arguments[e] : {}; e % 2 ? t(Object(a), !0).forEach(function (e) { var t, r; t = i, e = a[r = e], r in t ? Object.defineProperty(t, r, { value: e, enumerable: !0, configurable: !0, writable: !0 }) : t[r] = e }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(a)) : t(Object(a)).forEach(function (e) { Object.defineProperty(i, e, Object.getOwnPropertyDescriptor(a, e)) }) } return i } function n(e, t) { for (var r = 0; r < t.length; r++) { var i = t[r]; i.enumerable = i.enumerable || !1, i.configurable = !0, \\"value\\" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function s() { return (s = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var r, i = arguments[t]; for (r in i) Object.prototype.hasOwnProperty.call(i, r) && (e[r] = i[r]) } return e }).apply(this, arguments) } var e, r, o, l, c, h, u, f, i = { exports: {} }; e = i, \\"undefined\\" != typeof window && (o = (r = window).HTMLCanvasElement && r.HTMLCanvasElement.prototype, l = r.Blob && function () { try { return Boolean(new Blob) } catch (e) { return !1 } }(), c = l && r.Uint8Array && function () { try { return 100 === new Blob([new Uint8Array(100)]).size } catch (e) { return !1 } }(), h = r.BlobBuilder || r.WebKitBlobBuilder || r.MozBlobBuilder || r.MSBlobBuilder, u = /^data:((.*?)(;charset=.*?)?)(;base64)?,/, f = (l || h) && r.atob && r.ArrayBuffer && r.Uint8Array && function (e) { var t, r, i, a, n, o = e.match(u); if (!o) throw new Error(\\"invalid data URI\\"); for (t = o[2] ? o[1] : \\"text/plain\\" + (o[3] || \\";charset=US-ASCII\\"), i = !!o[4], o = e.slice(o[0].length), r = (i ? atob : decodeURIComponent)(o), i = new ArrayBuffer(r.length), a = new Uint8Array(i), n = 0; n < r.length; n += 1)a[n] = r.charCodeAt(n); return l ? new Blob([c ? a : i], { type: t }) : ((o = new h).append(i), o.getBlob(t)) }, r.HTMLCanvasElement && !o.toBlob && (o.mozGetAsFile ? o.toBlob = function (e, t, r) { var i = this; setTimeout(function () { r && o.toDataURL && f ? e(f(i.toDataURL(t, r))) : e(i.mozGetAsFile(\\"blob\\", t)) }) } : o.toDataURL && f && (o.msToBlob ? o.toBlob = function (e, t, r) { var i = this; setTimeout(function () { (t && \\"image/png\\" !== t || r) && o.toDataURL && f ? e(f(i.toDataURL(t, r))) : e(i.msToBlob(t)) }) } : o.toBlob = function (e, t, r) { var i = this; setTimeout(function () { e(f(i.toDataURL(t, r))) }) })), e.exports ? e.exports = f : r.dataURLtoBlob = f); function j(e) { return 0 < e && e < 1 / 0 } var T = i.exports, d = { strict: !0, checkOrientation: !0, maxWidth: 1 / 0, maxHeight: 1 / 0, minWidth: 0, minHeight: 0, width: void 0, height: void 0, resize: \\"none\\", quality: .8, mimeType: \\"auto\\", convertTypes: [\\"image/png\\"], convertSize: 5e6, beforeDraw: null, drew: null, success: null, error: null }, m = \\"undefined\\" != typeof window && void 0 !== window.document ? window : {}, p = Array.prototype.slice; var b = /^image\\\\/.+$/; function R(e) { return b.test(e) } var g = String.fromCharCode; var y = m.btoa; function w(e, t) { for (var r, i = [], a = new Uint8Array(e); 0 < a.length;)i.push(g.apply(null, (r = a.subarray(0, 8192), Array.from ? Array.from(r) : p.call(r)))), a = a.subarray(8192); return \\"data:\\".concat(t, \\";base64,\\").concat(y(i.join(\\"\\"))) } function v(e) { var t, r, i, a, n, o, s, l = new DataView(e); try { if (255 === l.getUint8(0) && 216 === l.getUint8(1)) for (var c = l.byteLength, h = 2; h + 1 < c;) { if (255 === l.getUint8(h) && 225 === l.getUint8(h + 1)) { r = h; break } h += 1 } if (r && (a = r + 10, \\"Exif\\" === function (e, t, r) { var i, a = \\"\\"; for (r += t, i = t; i < r; i += 1)a += g(e.getUint8(i)); return a }(l, r + 4, 4) && (!(s = 18761 === (n = l.getUint16(a))) && 19789 !== n || 42 !== l.getUint16(a + 2, s) || 8 <= (o = l.getUint32(a + 4, s)) && (i = a + o))), i) for (var u, f = l.getUint16(i, s), d = 0; d < f; d += 1)if (u = i + 12 * d + 2, 274 === l.getUint16(u, s)) { u += 8, t = l.getUint16(u, s), l.setUint16(u, 1, s); break } } catch (e) { t = 1 } return t } var U = /\\\\.\\\\d*(?:0|9){12}\\\\d*$/; function k(e, t) { t = 1 < arguments.length && void 0 !== t ? t : 1e11; return U.test(e) ? Math.round(e * t) / t : e } function x(e, t) { var r = e.aspectRatio, i = e.height, a = e.width, n = 1 < arguments.length && void 0 !== t ? t : \\"none\\", o = j(a), e = j(i); return o && e ? (t = i * r, (\\"contain\\" === n || \\"none\\" === n) && a < t || \\"cover\\" === n && t < a ? i = a / r : a = i * r) : o ? i = a / r : e && (a = i * r), { width: a, height: i } } var O = m.ArrayBuffer, B = m.FileReader, A = m.URL || m.webkitURL, M = /\\\\.\\\\w+$/, D = m.Compressor; return function () { function r(e, t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError(\\"Cannot call a class as a function\\") }(this, r), this.file = e, this.image = new Image, this.options = a(a({}, d), t), this.aborted = !1, this.result = null, this.init() } var e, t, i; return e = r, i = [{ key: \\"noConflict\\", value: function () { return window.Compressor = D, r } }, { key: \\"setDefaults\\", value: function (e) { s(d, e) } }], (t = [{ key: \\"init\\", value: function () { var i, e, a, n = this, o = this.file, t = this.options; e = o, \\"undefined\\" != typeof Blob && (e instanceof Blob || \\"[object Blob]\\" === Object.prototype.toString.call(e)) ? R(i = o.type) ? A && B ? (O || (t.checkOrientation = !1), A && !t.checkOrientation ? this.load({ url: A.createObjectURL(o) }) : (e = new B, a = t.checkOrientation && \\"image/jpeg\\" === i, (this.reader = e).onload = function (e) { var t = e.target.result, r = {}; a ? 1 < (e = v(t)) || !A ? (r.url = w(t, i), 1 < e && s(r, function (e) { var t = 0, r = 1, i = 1; switch (e) { case 2: r = -1; break; case 3: t = -180; break; case 4: i = -1; break; case 5: t = 90, i = -1; break; case 6: t = 90; break; case 7: t = 90, r = -1; break; case 8: t = -90 }return { rotate: t, scaleX: r, scaleY: i } }(e))) : r.url = A.createObjectURL(o) : r.url = t, n.load(r) }, e.onabort = function () { n.fail(new Error(\\"Aborted to read the image with FileReader.\\")) }, e.onerror = function () { n.fail(new Error(\\"Failed to read the image with FileReader.\\")) }, e.onloadend = function () { n.reader = null }, a ? e.readAsArrayBuffer(o) : e.readAsDataURL(o))) : this.fail(new Error(\\"The current browser does not support image compression.\\")) : this.fail(new Error(\\"The first argument must be an image File or Blob object.\\")) : this.fail(new Error(\\"The first argument must be a File or Blob object.\\")) } }, { key: \\"load\\", value: function (e) { var t = this, r = this.file, i = this.image; i.onload = function () { t.draw(a(a({}, e), {}, { naturalWidth: i.naturalWidth, naturalHeight: i.naturalHeight })) }, i.onabort = function () { t.fail(new Error(\\"Aborted to load the image.\\")) }, i.onerror = function () { t.fail(new Error(\\"Failed to load the image.\\")) }, m.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(m.navigator.userAgent) && (i.crossOrigin = \\"anonymous\\"), i.alt = r.name, i.src = e.url } }, { key: \\"draw\\", value: function (e) { var t = this, r = e.naturalWidth, i = e.naturalHeight, a = e.rotate, n = void 0 === a ? 0 : a, o = e.scaleX, s = void 0 === o ? 1 : o, l = e.scaleY, c = void 0 === l ? 1 : l, h = this.file, u = this.image, f = this.options, d = document.createElement(\\"canvas\\"), m = d.getContext(\\"2d\\"), p = Math.abs(n) % 180 == 90, b = (\\"contain\\" === f.resize || \\"cover\\" === f.resize) && j(f.width) && j(f.height), g = Math.max(f.maxWidth, 0) || 1 / 0, y = Math.max(f.maxHeight, 0) || 1 / 0, w = Math.max(f.minWidth, 0) || 0, a = Math.max(f.minHeight, 0) || 0, o = r / i, e = f.width, l = f.height; p && (g = (v = [y, g])[0], y = v[1], w = (v = [a, w])[0], a = v[1], e = (v = [l, e])[0], l = v[1]); var v = x({ aspectRatio: o = b ? e / l : o, width: g, height: y }, \\"contain\\"); g = v.width, y = v.height; v = x({ aspectRatio: o, width: w, height: a }, \\"cover\\"); w = v.width, a = v.height, l = b ? (e = (v = x({ aspectRatio: o, width: e, height: l }, f.resize)).width, v.height) : (e = void 0 === (O = (U = x({ aspectRatio: o, width: e, height: l })).width) ? r : O, void 0 === (O = U.height) ? i : O); var U = -(e = Math.floor(k(Math.min(Math.max(e, w), g)))) / 2, O = -(l = Math.floor(k(Math.min(Math.max(l, a), y)))) / 2, w = e, g = l, a = []; b && (y = (o = x({ aspectRatio: o, width: y = r, height: b = i }, { contain: \\"cover\\", cover: \\"contain\\" }[f.resize])).width, b = o.height, a.push((r - y) / 2, (i - b) / 2, y, b)), a.push(U, O, w, g), p && (e = (B = [l, e])[0], l = B[1]), d.width = e, d.height = l, R(f.mimeType) || (f.mimeType = h.type); var B = \\"transparent\\"; h.size > f.convertSize && 0 <= f.convertTypes.indexOf(f.mimeType) && (f.mimeType = \\"image/jpeg\\"), \\"image/jpeg\\" === f.mimeType && (B = \\"#fff\\"), m.fillStyle = B, m.fillRect(0, 0, e, l), f.beforeDraw && f.beforeDraw.call(this, m, d), this.aborted || (m.save(), m.translate(e / 2, l / 2), m.rotate(n * Math.PI / 180), m.scale(s, c), m.drawImage.apply(m, [u].concat(a)), m.restore(), f.drew && f.drew.call(this, m, d), this.aborted || (m = function (e) { t.aborted || t.done({ naturalWidth: r, naturalHeight: i, result: e }) }, d.toBlob ? d.toBlob(m, f.mimeType, f.quality) : m(T(d.toDataURL(f.mimeType, f.quality))))) } }, { key: \\"done\\", value: function (e) { var t = e.naturalWidth, r = e.naturalHeight, i = e.result, a = this.file, n = this.image, e = this.options; A && !e.checkOrientation && A.revokeObjectURL(n.src), !i || e.strict && i.size > a.size && e.mimeType === a.type && !(e.width > t || e.height > r || e.minWidth > t || e.minHeight > r || e.maxWidth < t || e.maxHeight < r) ? i = a : (r = new Date, i.lastModified = r.getTime(), i.lastModifiedDate = r, i.name = a.name, i.name && i.type !== a.type && (i.name = i.name.replace(M, (a = R(a = i.type) ? a.substr(6) : \\"\\", \\".\\".concat(a = \\"jpeg\\" === a ? \\"jpg\\" : a))))), this.result = i, e.success && e.success.call(this, i) } }, { key: \\"fail\\", value: function (e) { var t = this.options; if (!t.error) throw e; t.error.call(this, e) } }, { key: \\"abort\\", value: function () { this.aborted || (this.aborted = !0, this.reader ? this.reader.abort() : this.image.complete ? this.fail(new Error(\\"The compression process has been aborted.\\")) : (this.image.onload = null, this.image.onabort())) } }]) && n(e.prototype, t), i && n(e, i), r }() })();\\nconst { quality, maxWidth, maxHeight } = setting;let closeLoading;this.showLoading = (title_str, s) => {closeLoading = this.utils.toast({title: title_str, type: \'loading\', size:\'large\'});if (s !== 0) { setTimeout(() => { this.hideLoading(); }, s * 1000); }};this.hideLoading = () => {closeLoading && closeLoading();};this.compressImage = (imageFile) => {return new Promise((resolve, reject) => {new Compressor(imageFile, {quality,maxWidth,maxHeight,mimeType: \'image/jpeg\',success(result) {if (result.size >= imageFile.size) {resolve(imageFile);}const newImageFile = new File([result], imageFile.name, { type: result.type });newImageFile.uid = imageFile.uid;resolve(newImageFile);},error(err) { resolve(imageFile);}})})};this.batchCompression = function (selectedFiles, allFiles, imageFiledId) {if (!window.Compressor) { return this.utils.toast(\'缺少压缩插件\'); };this.showLoading(\'正在压缩图片\', 20);const selectedFD = this.$(imageFiledId);const compressPromises = selectedFiles.map(item => this.compressImage(item.originFileObj));Promise.all(compressPromises).then(compressedFiles => {allFiles.forEach(rawFile => {const file = compressedFiles.find(compressFile => compressFile.uid === rawFile.uid);if (file && file.type.split(\'/\')[0] === \'image\') {rawFile.name = file.name.replace(/.[^.]+$/, `.${file.type.split(\'/\')[1]}`);rawFile.size = file.size;rawFile.originFileObj = file;rawFile.type = file.type;}});selectedFD.setValue(allFiles);this.hideLoading();selectedFD.startUpload();}).catch(err => { console.error(err); })};return (<div style={{ display: \'none\' }}> 压缩组件</div>);}\\n","error":{}},"__style__":{},"fieldId":"jsx_lygst2ac"},"condition":true,"hidden":false,"title":"","isLocked":false,"conditionGroup":""}]}',icon:"icon-compress",tutorial:"https://v.douyin.com/i6caVkSp/!"}],{Button:n,Input:i,Form:r,Radio:o,ResponsiveGrid:a,Checkbox:c,Balloon:d}=j.Deep,p=r.Item,m=o.Group,{Cell:u}=a,h=[{name:"按钮",code:'{ "componentsTree": [{ "componentName": "Button" }] } ',icon:"icon-button"},{name:"容器",code:'{ "componentsTree": [{ "componentName": "Div" }] } ',icon:"icon-div"},{name:"文本",code:'{ "componentsTree": [{ "componentName": "Text" }] } ',icon:"icon-text"},{name:"选项卡",code:'{ "componentsTree": [{ "componentName": "TabsLayout" }] } ',icon:"icon-tab"},{name:"折叠面板",code:'{ "componentsTree": [{ "componentName": "Collapse" }] } ',icon:"icon-collapse"},{name:"对话框",code:'{ "componentsTree": [{ "componentName": "Dialog" }] } ',icon:"icon-dialog"},{name:"HTML 组件",code:'{"componentsTree":[{"componentName":"Html"}]}',icon:"icon-html"},{name:"JSX 组件",code:'{ "componentsTree": [{ "componentName": "Jsx" }] } ',icon:"icon-jsx"},{name:"抽屉",code:'{ "componentsTree": [{ "componentName": "Drawer" }] } ',icon:"icon-chouti"},{name:"连接块",code:'{ "componentsTree": [{ "componentName": "LinkBlock" }] } ',icon:"icon-fujian"},{name:"内嵌网页",code:'{ "componentsTree": [{ "componentName": "Iframe" }] } ',icon:"icon-iframe"}];const f={border:"1px solid #ddd",borderColor:"#ddd",boxShadow:"rgba(31, 56, 88, 0.2) 1px 1px 4px 0px",borderRadius:"5px"},g={margin:"5px 2px 5px 2px"},y=e=>{const{complist:t}=e;return w.jsx("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center"},children:t.map(((e,t)=>{const i=w.jsxs(n,{style:{width:"30%",height:"35px",padding:"5px",margin:"5px"},onClick:()=>{if(e.hasOwnProperty("code"))return k(e.code)},children:[w.jsx(I,{type:e.icon,style:{marginRight:"10px"}}),e.name]},t);return e.tutorial?w.jsx(d,{v2:!0,trigger:i,triggerType:"hover",title:"",children:w.jsx("a",{target:"_blank",href:e.tutorial,children:"点击查看使用方法"})},t):i}))})};return w.jsx("div",{style:P,children:w.jsxs(a,{gap:10,device:"desktop",children:[w.jsx(u,{style:f,colSpan:12,children:w.jsx(y,{complist:h})}),w.jsxs(u,{style:l(s({},f),{background:"#CCCCFF"}),colSpan:12,children:[w.jsx("span",{style:{color:"#eecb97",margin:"5px 5px 0 5px",padding:"2px",background:"#171a1d",cursor:"pointer",display:"inline-block",borderRadius:"5px",fontWeight:"normal"},children:"高级低代码组件"}),w.jsx(y,{complist:t})]}),w.jsx(u,{style:f,colSpan:12,children:w.jsxs(r,{labelAlign:"left",inline:!1,size:"small",style:{padding:"5px",width:"100%"},children:[w.jsxs("div",{children:[w.jsx(p,{name:"yeyiAPPKEY",required:!0,requiredMessage:"APPKEY必填",style:g,children:w.jsx(i,{placeholder:"应用APPKEY",size:"small",label:"APPKEY:",defaultValue:j.pageConfig.appType||j.g_config.appKey})}),w.jsx(p,{name:"yeyiFormUuid",required:!0,requiredMessage:"formUuid必填",style:g,children:w.jsx(i,{placeholder:"表单FormUuid",size:"small",label:"FormUuid:"})}),w.jsx(p,{name:"yeyiDataType",required:!0,requiredMessage:"请选择表单类型",style:g,children:w.jsxs(m,{"aria-labelledby":"groupId",label:"表单类型",defaultValue:"formData",children:[w.jsx(o,{id:"formData",value:"formData",children:"普通表单"}),w.jsx(o,{id:"data",value:"data",children:"流程表单"})]})}),w.jsx(p,{name:"onlyFieldId",label:"",colon:!1,style:g,children:w.jsx(c,{children:"只保留fieldId - (去掉数据字段的formData.\\data.)"})})]}),w.jsxs("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-around",width:"100%"},children:[w.jsx(r.Submit,{type:"primary",validate:!0,onClick:(e,t)=>{if(t)return;const{yeyiDataType:n,yeyiAPPKEY:i,yeyiFormUuid:r,onlyFieldId:o}=e;if(!n||!i||!r)return C.error("缺少参数",3e3);fetch(`/${i}/query/formdesign/getLatestFormWithNavNew.json?formUuid=${r}`).then((e=>e.json())).then((({content:{pages:e}})=>{const t=e[0].componentsTree[0].children[1].children[0].children;let i={type:"nodeSchema",componentsMap:{},componentsTree:[{componentName:"TablePc",props:{columns:[]}}]};const r=["TextField","TextareaField","NumberField","RateField","RadioField","CheckboxField","DateField","CascadeDateField","AttachmentField","EmployeeField","ImageField","SelectField","MultiSelectField","CascadeSelectField","PageSection","CountrySelectField","DepartmentSelectField","AddressField","LocationField","AssociationFormField","DigitalSignatureField","SerialNumberField","CompanyField"],a={AssociationFormField:"_id"},s={DateField:"timestamp",EmployeeField:"custom",DepartmentSelectField:"custom"},l={type:"js",source:"/**\n * 表格列自定义渲染\n * @param value 当前列的数据\n * @param index 当前行所在的行号\n * @param rowData 当前行的数据\n */\nfunction renderCell(value, index, rowData) {\n  return <span>{value!==undefined && value.toString()}</span>;\n}",compiled:'function main(){\n    \n    "use strict";\n\nvar __compiledFunc__ = /**\n                       * 表格列自定义渲染\n                       * @param value 当前列的数据\n                       * @param index 当前行所在的行号\n                       * @param rowData 当前行的数据\n                       */\nfunction renderCell(value, index, rowData) {\n  return React.createElement(\n    "span",\n    null,\n    value !== undefined && value.toString()\n  );\n};\n    return __compiledFunc__.apply(this, arguments);\n  }',error:{},params:{}},c={EmployeeField:l,DepartmentSelectField:l};!function e(t){if("object"==typeof t){if(t.hasOwnProperty("componentName")){if(r.includes(t.componentName))try{i.componentsTree[0].props.columns.push({dataKey:(o?"":n+".")+t.props.fieldId+(a[t.componentName]||""),title:{zh_CN:t.props.label.zh_CN,en_US:"",type:"i18n",use:"zh_CN"},width:100,dataType:s[t.componentName]||"text",timeFormatter:"YYYY-MM-DD",render:c[t.componentName]||null});}catch(l){}if("TableField"===t.componentName)return}for(let n in t)t.hasOwnProperty(n)&&e(t[n]);}}(t),k(JSON.stringify(i));}));},style:{marginRight:8},children:"生成带列表格"}),w.jsx(r.Submit,{type:"primary",validate:!0,warning:!0,onClick:(e,t)=>{if(t)return;const{yeyiDataType:n,yeyiAPPKEY:i,yeyiFormUuid:r,onlyFieldId:o}=e;if(!n||!i||!r)return C.error("缺少参数",3e3);j.open(`/alibaba/web/${i}/design/pageDesigner?formUuid=${r}&__debug`);},style:{marginRight:8},children:"解决页面卡死"})]})]})})]})})},{Deep:_,React:A}=j,{Icon:N,Radio:L,Button:z}=_;L.Group;const J=()=>w.jsxs("div",{style:{display:"flex",margin:"5px",justifyContent:"space-between",alignItems:"flex-end"},children:[w.jsx("div",{style:{display:"flex",margin:"5px"},children:w.jsx("h4",{children:"宜搭 Tools 2.0"})}),w.jsx(N,{type:"close",size:"small",style:{margin:"5px",cursor:"pointer"},onClick:S})]}),{Deep:Y,AliLowCodeEngine:H}=j,$=()=>{const{List:e,Collapse:t,Balloon:n,Icon:i,Input:r,Button:o,Avatar:a,Tab:s}=Y,l=n.Tooltip;t.Panel;let c="`/${ window.pageConfig.appType || window.g_config.appKey }";const d=[{title:"新增表单实例",requestType:"POST",desc:"/v1/form/saveFormData.json",copyInfo:c+"/v1/form/saveFormData.json`",showExp:'{\n\t//表单ID\n\tformUuid:"FORM-NJYJZELV8...",\n\n\t//写入字段参数\n\tformDataJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t//成员组件写入格式\n\t\t"employeeField_jcos0sar": ["70001"],\n\t}),\n}',copyParams:'{\n\tformUuid:"FORM-NJYJZELV8...",\n\tformDataJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t"employeeField_jcos0sar": ["70001"],\n\t}),\n}',formType:0},{title:"更新表单实例",requestType:"POST",desc:"/v1/form/updateFormData.json",copyInfo:c+"/v1/form/updateFormData.json`",showExp:'{\n\t//表单实例id\n\tformInstId:\'FINST-NJYJZELVZRVG...\',\n\n\t//要更新的字段参数\n\tupdateFormDataJson:JSON.stringify({\n\t\t//成员组件更新格式\n\t\t"employeeField_jcpm5gy2": ["70001","70002"],\n\t}),\n\n\t//使用最新的表单版本进行更新 y | n\n\tuseLatestVersion:\'y\',\n}',copyParams:'{\n\tformInstId:\'FINST-NJYJZELVZRVG...\',\n\tupdateFormDataJson:JSON.stringify({\n\t\t"employeeField_jcpm5gy2": ["70001","70002"],\n\t}),\n\tuseLatestVersion:\'y\',\n}',formType:0},{title:"删除表单实例",requestType:"POST",desc:"/v1/form/deleteFormData.json",copyInfo:c+"/v1/form/deleteFormData.json`",showExp:"{\n\t//要删除的表单数据ID\n\tformInstId:'FINST-NJYJZELVVYZ...',\n}",copyParams:"{\n\tformInstId:'FINST-NJYJZELVVYZ...',\n}",formType:0},{title:"条件搜索表单实例列表",requestType:"GET",desc:"/v1/form/searchFormDatas.json",copyInfo:c+"/v1/form/searchFormDatas.json`",showExp:'{\n\t//表单ID\n\tformUuid:"FORM-EF6Y4G8WO...",\n\n\t//要查询的字段参数\n\tsearchFieldJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t//成员组件查询格式\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\n\t//当前页\n\tcurrentPage:1,\n\t//每页记录数\n\tpageSize:10,\n\t//表单实例创建人userId\n\toriginatorId:"70441",\n\t//表单实例创建开始时间\n\tcreateFrom:"2023-04-11",\n\t//表单实例创建结束时间\n\tcreateTo:"2023-04-11",\n\t//表单实例修改开始时间\n\tmodifiedFrom:"2023-04-11",\n\t//表单实例修改结束时间\n\tmodifiedTo:"2023-04-11",\n\t//指定排序字段 +升序 -降序\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',copyParams:'{\n\tformUuid:"FORM-EF6Y4G8WO...",\n\tsearchFieldJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\tcurrentPage:1,\n\tpageSize:10,\n\toriginatorId:"70441",\n\tcreateFrom:"2023-04-11",\n\tcreateTo:"2023-04-11",\n\tmodifiedFrom:"2023-04-11",\n\tmodifiedTo:"2023-04-11",\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',formType:0},{title:"条件搜索表单ID列表",requestType:"GET",desc:"/v1/form/searchFormDataIds.json",copyInfo:c+"/v1/form/searchFormDataIds.json`",showExp:'{\n\t//表单ID\n\tformUuid:"FORM-EF6Y4G8WO...",\n\n\t//要查询的字段参数\n\tsearchFieldJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t//成员组件查询格式\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\n\t//当前页\n\tcurrentPage:1,\n\t//每页记录数\n\tpageSize:10,\n\t//表单实例创建人userId\n\toriginatorId:"70441",\n\t//表单实例创建开始时间\n\tcreateFrom:"2023-04-11",\n\t//表单实例创建结束时间\n\tcreateTo:"2023-04-11",\n\t//表单实例修改开始时间\n\tmodifiedFrom:"2023-04-11",\n\t//表单实例修改结束时间\n\tmodifiedTo:"2023-04-11",\n\t//指定排序字段 +升序 -降序\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',copyParams:'{\n\tformUuid:"FORM-EF6Y4G8WO...",\n\tsearchFieldJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\tcurrentPage:1,\n\tpageSize:10,\n\toriginatorId:"70441",\n\tcreateFrom:"2023-04-11",\n\tcreateTo:"2023-04-11",\n\tmodifiedFrom:"2023-04-11",\n\tmodifiedTo:"2023-04-11",\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',formType:0},{title:"ID搜索表单实例",requestType:"GET",desc:"/v1/form/getFormDataById.json",copyInfo:c+"/v1/form/getFormDataById.json`",showExp:"{\n\t//要查询的表单实例ID\n\tformInstId:'FINST-NJYJZELVVYZ...',\n}",copyParams:"{\n\tformInstId:'FINST-NJYJZELVVYZ...',\n}",formType:0},{title:"流程发起",requestType:"POST",desc:"/v1/process/startInstance.json",copyInfo:c+"/v1/process/startInstance.json`",showExp:'{\n\t//流程 code::单独发起页链接上可查\n\tprocessCode:"TPROC--EF6Y4G8WO2FN0...",\n\t//流程表单ID::单独发起页链接上可查\n\tformUuid:"FORM-EF6Y4G8WO2F...",\n\n\t//添加字段参数\n\tformDataJson:JSON.stringify({\n\t\t//单行输入框格式\n\t\t"textField_jcpm6agt": "页一",\n\t\t//成员组件查询格式\n\t\t"employeeField_jcos0sar": ["70001"],\n\t}),\n\n\t//发起人所在部门号 (不填,默认发起人主职部门)\n\tdeptId:"18888",\n}',copyParams:'{\n\tprocessCode:"TPROC--EF6Y4G8WO2FN0...",\n\tformUuid:"FORM-EF6Y4G8WO2F...",\n\tformDataJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t"employeeField_jcos0sar": ["70001"],\n\t}),\n\tdeptId:"18888",\n}',formType:1},{title:"流程实例更新",requestType:"POST",desc:"/v1/process/updateInstance.json",copyInfo:c+"/v1/process/updateInstance.json`",showExp:'{\n\t//流程实例ID\n\tprocessInstanceId:"8c124808-82e7-473...",\n\n\t//更新流程字段\n\tupdateFormDataJson:JSON.stringify({\n\t//单行输入框格式\n\t"textField_jcpm6agt": "页一",\n\t//成员组件查询格式\n\t"employeeField_jcos0sar": ["70001"],\n\t}),\n}',copyParams:'{\n\tprocessInstanceId:"8c124808-82e7-473...",\n\tupdateFormDataJson:JSON.stringify({\n\t"textField_jcpm6agt": "页一",\n\t"employeeField_jcos0sar": ["70001"],\n\t}),\n}',formType:1},{title:"删除流程实例",requestType:"POST",desc:"/v1/process/deleteInstance.json",copyInfo:c+"/v1/process/deleteInstance.json`",showExp:'{\n\t//流程实例ID\n\tprocessInstanceId:"8c124808-82e7-473...",\n}',copyParams:'{\n\tprocessInstanceId:"8c124808-82e7-473...",\n}',formType:1},{title:"条件搜索流程实例列表",requestType:"GET",desc:"/v1/process/getInstances.json",copyInfo:c+"/v1/process/getInstances.json`",showExp:'{\n\t//流程表单ID\n\tformUuid:"FORM-EF6Y4G8WO...",\n\n\t//要查询的字段参数\n\tsearchFieldJson:JSON.stringify({\n\t\t//单行文本输入框\n\t\t"textField_jcpm6agt": "页一",\n\t\t//成员组件查询格式\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\n\t//流程实例状态 RUNNING | TERMINATED | COMPLETED | ERROR\n\t//分别代表:运行中,已终止,已完成,异常\n\tinstanceStatus:"RUNNING",\n\t//流程审批结果 agree | disagree  同意 | 拒绝\n\tapprovedResult:"agree",\n\t//当前页\n\tcurrentPage:1,\n\t//每页记录数\n\tpageSize:10,\n\t//表单实例创建人userId\n\toriginatorId:"70441",\n\t//表单实例创建开始时间\n\tcreateFrom:"2023-04-11",\n\t//表单实例创建结束时间\n\tcreateTo:"2023-04-11",\n\t//表单实例修改开始时间\n\tmodifiedFrom:"2023-04-11",\n\t//表单实例修改结束时间\n\tmodifiedTo:"2023-04-11",\n\t//指定排序字段 +升序 -降序\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',copyParams:'{\n\tformUuid:"FORM-EF6Y4G8WO...",\n\tsearchFieldJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\tinstanceStatus:"RUNNING",\n\tapprovedResult:"agree",\n\tcurrentPage:1,\n\tpageSize:10,\n\toriginatorId:"70441",\n\tcreateFrom:"2023-04-11",\n\tcreateTo:"2023-04-11",\n\tmodifiedFrom:"2023-04-11",\n\tmodifiedTo:"2023-04-11",\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',formType:1},{title:"条件搜索流程ID列表",requestType:"GET",desc:"/v1/process/getInstanceIds.json",copyInfo:c+"/v1/process/getInstanceIds.json`",showExp:'{\n\t//流程表单ID\n\tformUuid:"FORM-EF6Y4G8WO...",\n\n\t//要查询的字段参数\n\tsearchFieldJson:JSON.stringify({\n\t\t//单行文本输入框\n\t\t"textField_jcpm6agt": "页一",\n\t\t//成员组件查询格式\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\n\t//流程实例状态 RUNNING | TERMINATED | COMPLETED | ERROR\n\t//分别代表:运行中,已终止,已完成,异常\n\tinstanceStatus:"RUNNING",\n\t//流程审批结果 agree | disagree  同意 | 拒绝\n\tapprovedResult:"agree",\n\t//当前页\n\tcurrentPage:1,\n\t//每页记录数\n\tpageSize:10,\n\t//表单实例创建人userId\n\toriginatorId:"70441",\n\t//表单实例创建开始时间\n\tcreateFrom:"2023-04-11",\n\t//表单实例创建结束时间\n\tcreateTo:"2023-04-11",\n\t//表单实例修改开始时间\n\tmodifiedFrom:"2023-04-11",\n\t//表单实例修改结束时间\n\tmodifiedTo:"2023-04-11",\n\t//指定排序字段 +升序 -降序\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',copyParams:'{\n\tformUuid:"FORM-EF6Y4G8WO...",\n\tsearchFieldJson:JSON.stringify({\n\t\t"textField_jcpm6agt": "页一",\n\t\t"employeeField_jcos0sar": ["70001"]\n\t}),\n\tinstanceStatus:"RUNNING",\n\tapprovedResult:"agree",\n\tcurrentPage:1,\n\tpageSize:10,\n\toriginatorId:"70441",\n\tcreateFrom:"2023-04-11",\n\tcreateTo:"2023-04-11",\n\tmodifiedFrom:"2023-04-11",\n\tmodifiedTo:"2023-04-11",\n\tdynamicOrder:JSON.stringify({"numberField_1ac":"+"}),\n}',formType:1},{title:"ID搜索流程实例",requestType:"GET",desc:"/v1/process/getInstanceById.json",copyInfo:c+"/v1/process/getInstanceById.json`",showExp:'{\n\t//流程实例ID\n\tprocessInstanceId:"f30233fb-72e1-44...",\n}',copyParams:'{\n\tprocessInstanceId:"f30233fb-72e1-44...",\n}',formType:1}],p=(e,t,n,i,r,o)=>({id:"",name:t,description:n,formUuid:j.pageConfig.formUuid,protocal:"REMOTE",options:{shouldFetch:!0,method:i,params:r?{type:"variable",variable:r,value:[]}:e&&{}||[],isSync:!1,url:o?{type:"variable",variable:o,value:"yeyi"}:{},loadType:""},isInit:!1,dpType:"REMOTE",type:"legao",requestHandler:{type:"JSExpression",value:"this.utils.legaoBuiltin.dataSourceHandler"},dataHandler:{type:"js",source:`function(data, err) { this.setState({${t}: data}); return data; }`,compiled:`function(data, err) { this.setState({${t}: data}); return data; }`}}),m={color:"#66CCCC",cursor:"pointer",margin:"5px"},u=t=>w.jsx("div",{style:{width:"100%"},children:w.jsx(e,{size:"small",dataSource:d.filter((e=>e.formType===t)),renderItem:(t,s)=>w.jsx(e.Item,{extra:w.jsxs("div",{children:[w.jsx(l,{v2:!0,trigger:w.jsx(i,{style:m,size:"large",type:"success-filling",onClick:()=>{const{project:e,skeleton:n}=H,i=e.getSchema(),r=p(!0,t.desc.match(/\/([^\/.]+)\./)[1],t.title,t.requestType,t.copyParams,t.copyInfo);i.componentsTree[0].dataSource.list.push(r),i.componentsTree[0].dataSource.online.push(r),e.setSchema(i);const o=n.getPanel("datapool");o.parent.remove(o),setTimeout((function(){o.parent.add(o);}),10),C.success(`${t.title} 接口(带参数)添加成功`);}}),align:"t",children:"向数据源插入接口和参数"}),w.jsx(l,{v2:!0,trigger:w.jsx(i,{style:m,size:"large",type:"success",onClick:()=>{const{project:e,skeleton:n}=H,i=e.getSchema(),r=p(!0,t.desc.match(/\/([^\/.]+)\./)[1],t.title,t.requestType,null,t.copyInfo),o=p(!1,t.desc.match(/\/([^\/.]+)\./)[1],t.title,t.requestType,null,t.copyInfo);i.componentsTree[0].dataSource.list.push(r),i.componentsTree[0].dataSource.online.push(o),e.setSchema(i);const a=n.getPanel("datapool");a.parent.remove(a),setTimeout((function(){a.parent.add(a);}),10),C.success(`${t.title} 接口添加成功`);}}),align:"t",children:"只向数据源插入接口"})]}),title:w.jsx("span",{style:{padding:"0 0 0 10px",fontSize:"14px"},children:t.title}),media:w.jsx(a,{style:{color:"while",backgroundColor:"POST"===t.requestType?"#FF6666":"#3399CC"},children:t.requestType}),children:w.jsxs(n,{v2:!0,trigger:w.jsx("p",{style:{color:"#0099CC",cursor:"pointer"},children:t.desc}),title:"参数详解",triggerType:"hover",children:[w.jsxs("div",{children:[w.jsx(o,{onClick:e=>{k(t.copyInfo);},type:"primary",text:!0,children:"复制接口"})," ",w.jsx(o,{onClick:()=>{k(t.copyParams);},type:"primary",text:!0,children:"复制参数"})," ",w.jsx(o,{onClick:()=>{k(t.showExp);},type:"primary",text:!0,children:"复制参数(带注释)"})]}),w.jsx(r.TextArea,{style:{width:"300px"},autoHeight:{minRows:2,maxRows:30},readOnly:!0,defaultValue:t.showExp,placeholder:"TextArea","aria-label":"TextArea"}),w.jsx("p",{style:{color:"#FF6666",margin:"5px"},children:"跨应用获取数据请修改接口的appKey"})]})},s)})});return w.jsx("div",{style:P,children:w.jsxs(s,{size:"small",shape:"wrapped",style:{minHeight:"400px"},children:[w.jsx(s.Item,{title:"普通表单",children:u(0)},0),w.jsx(s.Item,{title:"流程表单",children:u(1)},1)]})})},{Deep:q}=j,W=()=>{const{Tab:e,List:t,Button:n,Balloon:i}=q,r=i.Tooltip,o=[{title:"Utils工具代码",children:[{title:"提示框",desc:"短暂停留的弹框",showExp:"this.utils.toast({\n  title: '页一',//标题\n  type: 'success',//success,warning,error,notice,help,loading\n  size: 'large',\n  duration: 2000, //显示时长,type 为 loding 时无效\n})"},{title:"对话框",desc:"需要手动关闭的弹窗",showExp:"this.utils.dialog({\n  type: 'confirm',//弹窗类型 'alert', 'confirm', 'show'\n  title: 'title', //标题\n  content: 'content', //内容,支持jsx语法嵌入复杂布局\n  hasMask: true,  //是否有遮罩 true , false\n  footer: true,  //是否有底部操作按钮 true , false\n  footerAlign: 'left',//底部操作对齐方向'left', 'center', 'right'  'right'  \n  //底部操作类型和顺序 ['cancel','ok'], ['ok','cancel'], ['ok'], ['cancel']\n  footerActions: ['ok', 'cancel'],\n  onOk: () => { }, //点击确定的回调函数\n  onCancel: () => { },//点击取消的回调函数\n})"},{title:"加载JS",desc:"加载远程js脚本库",showExp:'//加载远程脚本  这是一个加载二维码模块的例子\nthis.utils.loadScript(\'https://g.alicdn.com/code/lib/qrcodejs/1.0.0/qrcode.min.js\').then(() => {\n  //加载完成后执行下方代码\n  //在页面中查找id为qrcode元素,把二维码数据渲染上去\n  var qrcode = new QRCode(document.getElementById(\'qrcode\'), {\n    //二维码参数\n    text: "http://jindo.dev.naver.com/collie",\n    width: 128,\n    height: 128,\n    colorDark: "#000000",\n    colorLight: "#ffffff",\n    correctLevel: QRCode.CorrectLevel.H\n  });\n});'},{title:"预览图片",desc:"全屏预览图片",showExp:"//注意参数格式为 {current:图片地址}\nthis.utils.previewImage({ current: 'https://img.alicdn.com/tfs/TB1JUnZ2GL7gK0jSZFBXXXZZpXa-260-192.png_.webp' });"},{title:"页面跳转",desc:"2种页面跳转方式",showExp:"/**\n * 参数1:完整url\n * 参数2:携带跳转参数\n * 参数3:是否新页面打开 true  false\n * 参数4:是否是网址\n */\nthis.utils.router.push('https://yeyi...', {}, true, true); \n/**\n * 参数1:表单页面ID,必须是同一个应用内\n * 参数2:携带跳转参数\n * 参数3:是否新页面打开 true  false\n */\nthis.utils.router.push('FORM-WC96669...', {}, true);"}]},{title:"格式化函数",showExp:"",children:[{title:"日期",desc:"将日期格式化为指定字符串",showExp:"this.utils.formatter('date', dateValue, 'YYYY-MM-DD')"},{title:"金额",desc:"金额格式化",showExp:"this.utils.formatter('money', money)"},{title:"手机号",desc:"手机号格式化",showExp:"this.utils.formatter('cnmobile', mobile, ' ')"},{title:"卡号",desc:"卡号格式化",showExp:"this.utils.formatter('card', card, ' ')"}]},{title:"登录(不可用)者信息",showExp:"",children:[{title:"userId",desc:"当前登录(不可用)者",showExp:"window.loginUser.userId"},{title:"姓名",desc:"当前登录(不可用)者",showExp:"window.loginUser.userName"},{title:"工号",desc:"当前登录(不可用)者",showExp:"window.loginUser.businessWorkNo"}]},{title:"页面判类型判断",children:[{title:"移动端",desc:"如果是移动端返回 true",showExp:"this.utils.isMobile()"},{title:"提交页",desc:"如果是 提交页 返回 true",showExp:"this.utils.isSubmissionPage()"},{title:"预览页",desc:"如果是 预览页 返回 true (不包含流程进行中)",showExp:"export function isViewPage() {\n const { flowData = {} } = this.utils.getFormInstanceData();\n const { editMode, viewMode } = flowData;\n if (viewMode && editMode === false) return true;\n return false;\n}"},{title:"编辑页",desc:"如果是 编辑页 返回 true (不包含流程进行中)",showExp:"export function isEditPage() {\n const { flowData = {} } = this.utils.getFormInstanceData();\n const { editMode, viewMode } = flowData;\n if (editMode && viewMode === false) return true;\n return false;\n}"},{title:"全页面类型判断",desc:"精确区分各种页面状态",showExp:"export function getPageMode() { \n const { flowData = {} } = this.utils.getFormInstanceData();\n const { editMode, viewMode } = flowData;\n if (this.utils.isSubmissionPage()) return '提交页';\n if (viewMode && editMode === false) return '预览页'; \nif (editMode && viewMode === false) return '编辑页';\n return '流程中';}"}]},{title:"常用代码",children:[{title:"组件预览状态自定义渲染",desc:"修改宜搭某组件预览状态",showExp:"if (!this.utils.isSubmissionPage()) {\n// 红色的文字 \n this.$('textField_lbam5p6w').set('renderView', (value) => {\n return <span style={{ color: 'red' }}>{value}</span>;\n});\n}"},{title:"控制子表单组件",desc:"设置子表各组件属性",showExp:"if (!this.utils.isSubmissionPage()) {\n  const tableField = this.$('tableField_lfhnlfkf'); // 获取子表单定义\n const items = tableField.getItems(); // 获取子表单行标识\n items.forEach((item, index) => {\n// 访问网址 - 子表单\n tableField.setComponentProps(item, 'textField_lfhnlfkg', {\n renderView: (value) => {\n return <a href={value} target=\"_blank\" rel=\"noreferrer\">{value}</a>;\n},\n});\n});\n}"},{title:"代码触发公式/数据联动",desc:"js给组件赋值,触发公式或者数据联动",showExp:"this.$('组件一id').getProps().onChange({value:  'newValue'}); //触发组件一参与的公式计算"},{title:"数据循环请求",desc:"循环请求远程数据源所有数据",showExp:"//延时\nfunction sleep(ms) {\nreturn new Promise(resolve => setTimeout(resolve, ms));\n}\n\n /* -----------调用方法------------\n  this.getAllData(\n    'searchFormDatas', //数据源名称\n    'FORM-0C3DBD9C6F5649D3B0DB13F468F2C39DSDNI', //要查询的表单id\n    100, //一次请求多少条数据\n    {\"radioField_lqgawnyl\": \"页一\",}, //字段查询条件\n    200, //延迟多少毫秒\n  ).then(res => {\n    console.log(res); //请求成功 \n })\n----------------------------------*/\n\n/**\n * @param {string} requestName 数据源名称\n * @param {string} formUuid 要查询的表单id\n * @param {integer} pageSize 一次请求多少条数据\n * @param {object} searchFieldJson 字段查询条件\n * @param {integer} dealy 每条查询之间延迟多少毫秒\n */\nexport function getAllData(requestName = '', formUuid = '', pageSize = 100, searchFieldJson = {}, dealy = 200) {\nreturn new Promise(async (resolve, reject) => {\nif (requestName === '') return reject('缺少查询方法 requestName数据源名称 参数!');\nif (formUuid === '') return reject('缺少查询方法 formUuid 参数!');\ntry {\nlet dataList = [];\nconst count = await this.dataSourceMap[requestName].load({\nformUuid,\nsearchFieldJson: JSON.stringify(searchFieldJson),\npageSize,\n}).then(res => {\nres.data.forEach(parent => {\ndataList.push(parent.formData||parent.data);\n})\nreturn Math.ceil(res.totalCount / pageSize);\n})\n\nlet promises = [];\n\nif (count > 1) {\nfor (let n = 1; n < count; n++) {\npromises.push(\nthis.dataSourceMap[requestName].load({\nformUuid,\nsearchFieldJson: JSON.stringify(searchFieldJson),\ncurrentPage: n + 1,\npageSize,\n}).then(res => res.data)\n);\nawait sleep(dealy);\n}\n\nawait Promise.all(promises).then(res => {\nres.forEach(child => {\nchild.forEach(parent => {\ndataList.push(parent.formData||parent.data);\n})\n})\n})\n}\nresolve(dataList);\n}\ncatch (err) {\nreject(err.message);\n}\n})\n}\n"},{title:"await sleep 等待 ",desc:"异步转同步",showExp:"/**\n * 调用 await sleep(200);等待200毫秒执行后面的语句\n * 必须配合 async 使用 调用例子 \n * async function func(){\n *    await sleep(200);\n *    console.log('页一'); \n * }\n */\nfunction sleep(ms) {\n    return new Promise(resolve => setTimeout(resolve, ms));\n}"},{title:"loading 加载",desc:"打开/关闭加载提示框",showExp:"/**\n * this.poptoastLoading('数据加载中...',20); //显示loading\n * this.onCloseLoading(); //隐藏loading\n */\nlet closeLoading;\n\nexport function poptoastLoading(title_str, s) {\n  closeLoading = this.utils.toast({\n    title: title_str,\n    type: 'loading',\n    size: \"large\"\n  });\n  if (s != 0) {\n    setTimeout(() => {\n      this.onCloseLoading();\n    }, s * 1000);\n  }\n}\n\nexport function onCloseLoading() {\n  if (closeLoading) {\n    closeLoading();\n  }\n}"},{title:"setTimeout 定时器(单次)",desc:"延迟执行代码",showExp:'// 设置一个2秒的定时器\nsetTimeout(function() {\n    //这里写2秒后需要执行的代码\n    console.log("2秒后打印页一");\n}, 2000);'},{title:"setInterval 定时器(反复)",desc:"循环定时执行代码",showExp:'// 设置一个计数器\nlet count = 0;\n\n// 设置一个每隔1秒执行的间隔ID\nconst intervalId = setInterval(function() {\n  // 每次调用打印计数器的值\n  console.log(++count);\n\n  // 当计数器达到5时,清除间隔ID并打印“页一”消息\n  if (count === 5) {\n    clearInterval(intervalId);\n    console.log("页一");\n  }\n}, 1000);'}]},{title:"常用公式",showExp:"",children:[{title:"当天日期时分秒归零",desc:"返回时间戳(只保留年月日)",showExp:'{"text":"DAYBEGIN(TIMESTAMP(TODAY()))","marks":[],"isCmData":true}'},{title:"当天开始日期",desc:"返回指定格式字符串",showExp:'{"text":"TEXT(DATE(DAYBEGIN(TIMESTAMP(TODAY()))),\\"yyyy-MM-dd HH:mm:ss\\")","marks":[],"isCmData":true}'},{title:"当天结束日期",desc:"返回指定格式字符串",showExp:'{"text":"TEXT(DATE(DAYEND(TIMESTAMP(TODAY()))),\\"yyyy-MM-dd HH:mm:ss\\")","marks":[],"isCmData":true}'},{title:"获取提交人的userid",desc:"供集成自动化使用",showExp:'{"text":"TRIM(REPLACE(REPLACE(​表单触发人​,1,2,\\" \\"),LEN(​表单触发人​)-2,2,\\" \\"))","marks":[{"from":{"line":0,"ch":21,"sticky":null},"to":{"line":0,"ch":28,"sticky":null},"value":"form_inst_modifier","invalid":false},{"from":{"line":0,"ch":42,"sticky":null},"to":{"line":0,"ch":49,"sticky":null},"value":"form_inst_modifier","invalid":false}],"isCmData":true}'},{title:"拼接修改字段",desc:"集成自动化中连接器修改数据使用",showExp:'{"text":"CONCATENATE(\\"{\'radioField_ljdxxl92\':\'已完成\',\'dateField_ljdyq1ib\':\'\\",TIMESTAMP(TODAY()),\\"\'}\\")","marks":[],"isCmData":true}'},{title:"关联表单字段赋值",desc:"集成自动化中关联表单赋值使用",showExp:'{"text":"CONCATENATE(\\"[{\\\\\\"appType\\\\\\": \\\\\\"(替换)APPKEY\\\\\\", \\\\\\"formUuid\\\\\\": \\\\\\"(替换)表单formUuid\\\\\\",\\\\\\"formType\\\\\\": \\\\\\"receipt\\\\\\", \\\\\\"instanceId\\\\\\": \\\\\\"\\", (替换)表单instid字段, \\"\\\\\\", \\\\\\"title\\\\\\": \\\\\\"\\", (替换)标题字段, \\"\\\\\\", \\\\\\"subTitle\\\\\\": \\\\\\"\\", (替换)副标题字段, \\"\\\\\\"}]\\")","marks":[],"isCmData":true}'}]}],a=e=>{k(e);};return w.jsx("div",{style:P,children:w.jsx(e,{shape:"wrapped",tabPosition:"left",size:"small",style:{minHeight:"400px",height:"500px",maxHeight:"85vh",overflowY:"auto"},className:"yeyiTab",children:o.map(((i,o)=>w.jsx(e.Item,{title:i.title,children:w.jsx(t,{size:"small",dataSource:i.children,renderItem:(e,i)=>w.jsx(t.Item,{style:{padding:"0 0 0 5px"},title:w.jsx(r,{v2:!0,trigger:w.jsx(n,{type:"primary",text:!0,style:{padding:"4px 5px",fontSize:"15px"},onClick:a.bind(null,e.showExp),children:e.title}),align:"r",children:"点击复制"}),children:w.jsx("span",{style:{padding:"0 0 0 10px",fontSize:"12px"},children:e.desc})},i)})},o)))})})},{Deep:V}=j,G=()=>{const{Card:e,Button:t,Timeline:n}=V,i=n.Item,r={subTitle:w.jsx(t,{text:!0,type:"primary",onClick:()=>{j.open("https://jinhuayanshi.cn");},children:"点击查看-高阶完整版工具箱"}),extra:w.jsx(t,{text:!0,type:"primary",onClick:()=>{j.open("dingtalk://dingtalkclient/action/sendmsg?dingtalk_id=yidaadmin");},children:"金华岩石信息技术"})};return w.jsx("div",{style:P,children:w.jsxs(e,{free:!0,style:{width:"100%"},children:[w.jsx(e.Header,s({title:"宜搭工具箱"},r)),w.jsx(e.Content,{children:w.jsx(n,{children:[{title:"202401",ev:["·新增中文变量翻译成英文"]},{title:"202308",ev:["·添加一键导出带列表格","·添加多选快速复制组件fieldId","·添加一键插入数据源"]},{title:"202305",ev:["·添加低代码压缩组件","·增加常用接口快速复制","·增加常用代码快速复制"]},{title:"202304",ev:["·可快速复制自定义页面组件到表单页面","·修正JS面板查询遮挡退出按钮","·可移动机器人到左下角","·默认开发schema开关","·快速复制组件fielId"]}].map(((e,t)=>w.jsx(i,{title:e.title,time:w.jsx("div",{children:e.ev.map(((e,t)=>w.jsx("div",{children:e},t)))}),state:"process"},t)))})})]})})},{useState:K,useEffect:Z}=j.React,X={width:"98%",margin:"5px"},Q=()=>{const{Input:{TextArea:e},Radio:t,Button:n,Tag:i,Radio:{Group:r}}=j.Deep,[o,a]=K("https://"),[s,l]=K("1"),[c,d]=K(""),[p,m]=K("");Z((()=>{u();}),[c,s,o]);const u=()=>{const e=c.trim();if(e){const t=-1===e.indexOf("?")?"?":"&",n=h(e);"1"===s?m(`dingtalk://dingtalkclient/page/link?url=${encodeURIComponent(n+t+"ddtab=true")}`):"2"===s&&m(`dingtalk://dingtalkclient/page/link?url=${encodeURIComponent(n)}&pc_slide=true`);}},h=e=>(/^https?:\/\//i.test(e)||(e=o+e),e);return w.jsxs("div",{children:[w.jsx(i,{type:"normal",color:"#2db7f5",style:{margin:"5px 5px 0 5px"},children:"(钉钉链接拼接)"}),w.jsx(e,{placeholder:"请输入基础链接",style:X,rows:2,showLimitHint:!0,"aria-label":"input max length 100",onChange:e=>{d(e),u();}}),w.jsxs(r,{defaultValue:"https://",onChange:e=>{a(e),u();},children:[w.jsx(t,{style:{margin:"5px"},value:"https://",children:" https"}),w.jsx(t,{style:{margin:"5px"},value:"http://",children:" http"})]}),w.jsxs(r,{defaultValue:"1",onChange:e=>{l(e),u();},children:[w.jsx(t,{style:{margin:"5px"},value:"1",children:"钉钉浏览器打开"}),w.jsx(t,{style:{margin:"5px"},value:"2",children:"钉钉侧边栏打开"})]}),w.jsx(e,{placeholder:"拼接后的链接",style:X,rows:2,value:p,readOnly:!0}),w.jsxs("div",{style:{display:"flex",justifyContent:"flex-end"},children:[" ",w.jsx(n,{type:"primary",style:{margin:"5px"},onClick:()=>{k(p);},children:"复制拼接后的链接"}),w.jsx(n,{type:"primary",style:{margin:"5px"},onClick:()=>{j.open(p);},children:"调用钉钉客户端打开"})]})]})},ee=()=>{const{Input:e,ResponsiveGrid:t,Checkbox:n,Tag:i}=j.Deep,{Cell:r}=t,o={border:"1px solid #ddd",borderColor:"#ddd",boxShadow:"rgba(31, 56, 88, 0.2) 1px 1px 4px 0px",borderRadius:"5px"};return w.jsxs("div",{style:P,children:[w.jsx(t,{gap:10,device:"desktop",style:{marginBottom:"5px"},children:w.jsx(r,{style:o,colSpan:12,children:w.jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center"},children:[w.jsxs("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"space-between",width:"100%",margin:"5px 5px 0 5px"},children:[w.jsx(i,{type:"normal",color:"#2db7f5",children:"(变量翻译:选中翻译:Ctrl+B 粘贴翻译:Ctrl+V)"}),w.jsx(n,{defaultChecked:"false"!==B("yyBadiduHump"),onChange:e=>{U("yyBadiduHump",e);},children:"驼峰翻译"})]}),w.jsx(e,{defaultValue:B("yyBaiduAppid")||"",style:X,placeholder:"百度翻译appid",size:"small",label:"百度翻译Appid:",onChange:e=>{U("yyBaiduAppid",e);}}),w.jsx(e,{defaultValue:B("yyBaiduKey")||"",style:X,placeholder:"百度翻译key",size:"small",label:"百度翻译KEY:",onChange:e=>{U("yyBaiduKey",e);}}),w.jsx("div",{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:w.jsx("p",{style:{margin:"5px",cursor:"pointer",color:"#0099CC"},onClick:()=>{j.open("https://blog.csdn.net/dydn120w/article/details/135648666?spm=1001.2014.3001.5502","_blank");},children:"点击查看百度翻译秘钥申请教程"})})]})})}),w.jsx(t,{gap:10,device:"desktop",children:w.jsx(r,{style:o,colSpan:12,children:w.jsx(Q,{})})})]})};function te(){return c(this,null,(function*(){const e=j.AliLowCodeEngine,{React:t,Deep:n}=j;function i(e){return new Promise(((t,n)=>{const i=document.createElement("script");i.src=e,i.onload=t,i.onerror=n,document.head.append(i);}))}U("yeyiTestEnable",!1),b("\n        \n        .next-tabs-tabpane { outline: none!important; outline-offset: none !important; -webkit-box-shadow:none; box-shadow: none;}\n        \n        .lc-left-area-bottom div:last-child{ display: block }\n        .editor-widget.find-widget.visible{ right: 30px !important }\n        .vs-link-options path{ fill: black!important }\n        .helper-entry{ right: unset!important; bottom:10%; }\n        .yeyiTab .next-tabs-bar {position: -webkit-sticky; position: sticky;  top: 0 ;}\n    "),j.yeyiVariable={},i("https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/blueimp-md5/2.19.0/js/md5.min.js"),i("https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/json5/0.5.1/json5.min.js");const r=e=>{if(e){var t=B("yyBaiduAppid"),n=B("yyBaiduKey");if(t&&n){var i=(new Date).getTime(),r=e,o=md5(t+r+i+n);!function(e,t){var n="jsonp_callback_"+Math.round(1e5*Math.random());j[n]=function(e){delete j[n],document.body.removeChild(i),t(e);};var i=document.createElement("script");i.src=e+(e.indexOf("?")>=0?"&":"?")+"callback="+n,document.body.appendChild(i);}("https://api.fanyi.baidu.com/api/trans/vip/translate?q="+encodeURIComponent(r)+"&appid="+t+"&salt="+i+"&from=zh&to=en&sign="+o,(function(e){if(e&&e.error_code)C.error(e.error_msg);else {var t=e.trans_result[0].dst;"false"===B("yyBadiduHump")?R(t,!1):R(function(e){let t=e.split(" ");for(let n=0;n<t.length;n++)t[n]=0===n?t[n].charAt(0).toLowerCase()+t[n].substring(1):t[n].charAt(0).toUpperCase()+t[n].substring(1);return t.join("").replace(/\s+/g,"")}(t),!1);}}));}else C.error("请先输入百度翻译appid和key");}};j.document.addEventListener("keydown",(function(e){if(e.ctrlKey&&"KeyB"===e.code){var t=j.getSelection().toString();r(t);}if(e.metaKey&&"KeyB"===e.code){t=j.getSelection().toString();r(t);}}));const o=[{id:"a100001",name:"图片压缩配置",editCode:e=>{const{AliLowCodeEngine:t}=j,{id:i,jsxSet:r,jsxComp:o,yeyi:a}=e,{quality:c,maxHeight:d,maxWidth:p}=r,{Grid:m,Card:u,Button:h,NumberPicker:f,Form:g,Select:y}=n,x=g.Item;function v(e){}return w.jsx("div",{className:"site-card-wrapper",children:w.jsxs(m.Row,{gutter:16,children:[w.jsxs(m.Col,{span:14,children:[w.jsx(u,{title:"1.上传组件复制",contentHeight:"400px",children:w.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"space-around",height:"130px",width:"260px"},children:[w.jsx(h,{type:"normal",style:{margin:"0 5px 0 5px"},onClick:()=>{k('{"type":"nodeSchema","componentsMap":{},"componentsTree":[{"componentName":"ImageField","props":{"autoUpload":false,"onSelect":{"type":"JSExpression","value":"this.utils.legaoBuiltin.execEventFlow.bind(this, [function x(){this.params={\\"fieldId\\":\\"\\"};}, this.onSelectYeYi])","events":[{"id":"onSelectYeYi","name":"onSelectYeYi","params":{"fieldId":""},"type":"actionRef"}]}}}]}'),a.dialog.hide();},children:"图片上传组件[压缩]"}),w.jsx(h,{type:"normal",style:{margin:"0 5px 0 5px"},onClick:()=>{k('{"type":"nodeSchema","componentsMap":{},"componentsTree":[{"componentName":"AttachmentField","props":{"autoUpload":false,"onSelect":{"type":"JSExpression","value":"this.utils.legaoBuiltin.execEventFlow.bind(this, [function x(){this.params={\\"fieldId\\":\\"\\"};}, this.onSelectYeYi])","events":[{"id":"onSelectYeYi","name":"onSelectYeYi","params":{"fieldId":""},"type":"actionRef"}]}}}]}'),a.dialog.hide();},children:"附件上传组件[压缩]"})]})}),w.jsx(u,{title:"2.粘贴到JS面板(必要)",contentHeight:"400px",children:w.jsx(h,{type:"normal",onClick:()=>{navigator.clipboard.writeText("export function onSelectYeYi() {\nconst { fieldId } = this.params;\nif (!fieldId) { return this.utils.toast('缺少组件fieldId参数'); }\nthis.batchCompression(...arguments, fieldId);\n}").then((function(){n.Message.show("复制成功"),a.dialog.hide();}));},children:"复制代码(首次)"})})]}),w.jsx(m.Col,{span:10,children:w.jsx(u,{title:"压缩参数设置",contentHeight:"400px",children:w.jsxs(g,l(s({},{labelCol:{fixedSpan:8},wrapperCol:{span:14}}),{colon:!0,children:[w.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"space-around"},children:[w.jsx(x,{name:"quality",label:"压缩率",required:!0,requiredMessage:"压缩率越高,尺寸越大",children:w.jsx(f,{onCorrect:v,defaultValue:c,min:.6,max:.9,step:.1,precision:1})}),w.jsx(x,{name:"maxHeight",label:"输出图片最大高度",required:!0,requiredMessage:"尺寸越大,图片越大,体积越大",children:w.jsx(f,{onCorrect:v,defaultValue:d,min:100,max:1400,step:100})}),w.jsx(x,{name:"maxWidth",label:"输出图片最大宽度",required:!0,requiredMessage:"尺寸越大,图片越大,体积越大",children:w.jsx(f,{onCorrect:v,defaultValue:p,min:100,max:1800,step:100})})]}),w.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",width:"100%"},children:w.jsx(g.Submit,{type:"primary",validate:!0,onClick:(e,n)=>{let i="//$$$$\nvar setting="+JSON.stringify(e)+";\n//$$$$",r=t.selection.getNodes()[0],o=r.export();o.props.render.source=o.props.render.source.replace(/(\/\/\$\$)[\s\S]*?(\/\/\$\$)/,i),o.props.render.compiled=o.props.render.compiled.replace(/(\/\/\$\$)[\s\S]*?(\/\/\$\$)/,i),r.import(o),a.dialog.hide();},style:{marginRight:8},children:"保存配置"})})]}))})})]})})}}];function a(){const{Tab:e}=j.Deep;return w.jsxs("div",{children:[w.jsx(J,{}),w.jsxs(e,{excessMode:"dropdown",children:[w.jsx(e.Item,{title:"组件市场",children:w.jsx(M,{jsxComps:o})},"1"),w.jsx(e.Item,{title:"常用接口",children:w.jsx($,{})},"2"),w.jsx(e.Item,{title:"常用代码",children:w.jsx(W,{})},"3"),w.jsx(e.Item,{title:"其它",children:w.jsx(ee,{})},"4"),w.jsx(e.Item,{title:"关于",children:w.jsx(G,{})},"5")]})]})}const d=()=>w.jsx("svg",{viewBox:"0 0 600 600",children:w.jsxs("g",{transform:"translate(-14.755)",children:[w.jsx("circle",{cx:"300",cy:"300",r:"284.5",fill:"#fff",stroke:"#000","stroke-width":"10"}),w.jsx("circle",{cx:"300",cy:"300",r:"201",fill:"#fff",stroke:"#000","stroke-width":"10"}),w.jsx("path",{d:"M65.253 436.09a150 150 0 0 0 252.176-53.218l-3.17-15.49a70 70 0 0 1-77.32-93.924l-18.66-12.32c24.51 72.452-74.055 221.734-153.026 174.952m473.01-.938A150 150 0 0 0 366.087 243.37l-11.83 10.49a70 70 0 0 1-42.68 113.923l-1.34 22.32c50.49-57.451 229.055-46.733 228.026 45.049M301 26a150 150 0 0 0-80 245l15 5a70 70 0 0 1 120-20l20-10c-75-15-155-175-75-220",style:{fill:"#000"}})]})});e.skeleton.add({area:"leftArea",type:"PanelDock",name:"yeyiTools",content:w.jsx(a,{}),props:{align:"left",icon:w.jsx(d,{}),description:"宜搭 Tools"},panelProps:{floatable:!0,hidenameBar:!1,name:"宜搭 Tools",width:500,enableDrag:!0,hideTitleBar:!0}}),e.designerCabin.addBuiltinComponentAction({name:"yida-jsx",content:{icon:w.jsx(I,{type:"icon-setting"}),title:"压缩配置",action:e=>c(this,null,(function*(){const t=e.propsData.render.source,i=t.match(/\/\/{id=(.*?)}\/\//);let r=i?i[1]:null;if(!r)return;r=String(r.replace(/\s/g,""));const a=t.match(new RegExp("\\/\\/\\$\\$(.*?)\\/\\/\\$\\$","s")),s=a?a[1]:null;let l={},c=s.indexOf("{"),d=s.lastIndexOf("}"),p=s.substring(c,d+1);l=j.JSON5.parse(p);let m,u=o.filter((e=>e.id===r))[0]||null,h="true"===B("yeyiTestEnable")&&B("yeyiEditCode")||u&&u.editCode;h&&(m=n.Dialog.show({footer:!1,title:(u&&u.name||"测试模式")+" 配置:",closeMode:["esc","close"],content:h({id:r,jsxSet:l,currentJsx:u,yeyi:j.yeyiVariable})}),j.yeyiVariable.dialog=m);}))},important:!0,condition:e=>{var t,n;if(null==(n=null==(t=null==e?void 0:e.propsData)?void 0:t.onSelect)?void 0:n.events){e.propsData.onSelect.events.some((t=>{if(t.id.includes("onSelectYeYi"))return t.params.fieldId=e.schema.props.fieldId,!0}))&&(e.propsData.onSelect.value=e.propsData.onSelect.value.replace(/("fieldId":")[^"]*"/g,`"fieldId":"${e.schema.props.fieldId}"`));}if(!e.propsData||!e.propsData.render||!e.propsData.render.source)return !1;const i=e.propsData.render.source.match(/\/\/{id=(.*?)}\/\//);return !!(i?i[1]:null)}}),e.designerCabin.addBuiltinComponentAction({name:"复制组件fieldId",content:{icon:w.jsx(d,{}),title:"复制组件fieldId",action(t){const n=e.designer.currentSelection._selected;if(1===n.length){const e=(null==(null==t?void 0:t.propsData)?void 0:t.propsData.fieldId)||t.id;k(e);}else k(n.reduce(((t,n,i)=>{const r=e.project.currentDocument.getNode(n).propsData;return t+`${`{title: "${r.label&&r.label.zh_CN||"无名"}", fieldId: "${r.fieldId}"}`},\n`}),"[\n")+"]");}},important:!0,condition:!0}),e.designerCabin.addBuiltinComponentAction({name:"循环渲染",content:{icon:w.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"50",height:"50",class:"icon",viewBox:"0 0 1024 1024",children:[w.jsx("path",{fill:"#fff",d:"m681.946 687.009.114-91.814S561.576 747.65 561.576 809.541c0 61.835 120.484 214.402 120.484 214.402l-.114-91.586h120.257a82.996 82.996 0 0 0 72.813-42.664l148.927-265.03a120.94 120.94 0 0 1-105.978 62.29H681.889h.057zm68.15-612.944A95.397 95.397 0 0 0 667.61 25.03c-33.96 0-65.476 19.113-82.143 49.49 0 0-27.703 48.979-55.577 98.81l56.203 99.835-78.161 44.94s188.86 30.946 241.195-.114c52.107-30.889 120.598-214.345 120.598-214.345l-77.365 46.02s-30.15-54.155-42.266-75.658z"}),w.jsx("path",{fill:"#fff",d:"M1004.09 612.375c17.066-30.49 16.838-67.637-.455-97.9L896.462 323.907 689.57 446.61l120.598 214.345h111.04a94.317 94.317 0 0 0 82.883-48.58zm-719.775-49.889 77.364 46.02s-68.262-183.513-120.597-214.402c-52.164-30.889-241.082 0-241.082 0l77.535 45.68L17.35 546.843a87.32 87.32 0 0 0-.455 86.01l148.927 264.918a127.993 127.993 0 0 1 .512-125.377l117.98-209.908z"}),w.jsx("path",{fill:"#fff",d:"M186.244 886.28c17.009 30.32 48.75 48.921 82.712 48.694h214.459V689.683h-241.31c-27.873 49.718-55.52 98.81-55.634 98.924a99.322 99.322 0 0 0-.227 97.616zm-13.596-619.827 207.633 123.1S536.148 112.065 564.534 61.892C586.321 23.323 624.833 0 668.35 0H370.44c-31.003 0-57.227 17.919-72.302 43.233C271.8 87.15 172.648 266.51 172.648 266.51z"})]}),title:"绑定循环变量",action(e){const{AliLowCodeEngine:t}=j;let i,r=t.selection.getNodes()[0],o=r.export(),{variable:a=""}=o.loop||{};n.Dialog.show({footer:!0,title:"循环渲染-绑定变量",closeMode:["esc","close"],content:w.jsxs("div",{children:[w.jsx("div",{children:"例如:state.arr"}),w.jsx("div",{children:"state 就是数据源"}),w.jsx("div",{children:"arr就是其中的变量"}),w.jsx(n.Input,{autoFocus:!0,defaultValue:a,onChange:e=>{i=e;}})]}),onOk:()=>{void 0!==i&&a!==i&&(i?o.loop={type:"variable",value:"[]",variable:i}:delete o.loop,r.import(o));}});}},important:!0,condition:e=>["Text","LinkBlock","PageSection","ColumnsLayout","Button","Div"].includes(e.componentName)}),e.designerCabin.addBuiltinComponentAction({name:"fieldId重命名",content:{icon:w.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"35",height:"35",class:"icon",viewBox:"0 0 1024 1024",children:w.jsx("path",{fill:"#fff",d:"M64.7 772.6v186h186l548.8-548.7-186.1-186.1zM943.4 266c9.3-9.3 14.5-21.9 14.5-35.1 0-13.1-5.2-25.7-14.5-35l-116.1-116c-9.3-9.3-21.9-14.6-35-14.6-13.2 0-25.7 5.2-35 14.6l-90.8 90.7 186.1 186.1 90.8-90.7zm-245 616.4H549.3c-20.6 0-37.3 16.7-37.3 37.3 0 20.6 16.7 37.3 37.3 37.3h149.1c20.6 0 37.3-16.7 37.3-37.3 0-20.6-16.7-37.3-37.3-37.3zm223.7 0h-74.6c-20.6 0-37.3 16.7-37.3 37.3 0 20.6 16.7 37.3 37.3 37.3h74.6c20.6 0 37.3-16.7 37.3-37.3-.1-20.6-16.8-37.3-37.3-37.3z",class:"selected","data-spm-anchor-id":"a313x.search_index.0.i7.2b643a81vEN2yw"})}),title:"fieldId重命名",action(e){const{AliLowCodeEngine:t}=j;let i,r=t.selection.getNodes()[0],o=r.export(),{fieldId:a=""}=o.props||{};n.Dialog.show({footer:!0,title:"fieldId重命名",closeMode:["esc","close"],content:w.jsx("div",{children:w.jsx(n.Input,{autoFocus:!0,defaultValue:a,onChange:e=>{i=e;}})}),onOk:()=>{void 0!==i&&a!==i&&""!==i&&(o.props.fieldId=i,r.import(o));}});}},important:!0,condition:!0}),e.skeleton.add({area:"topArea",type:"Widget",name:"logo",content:w.jsx(j.Next.Button,{children:"提交数据"}),contentProps:{onClick:function(){j.open(`${j.origin}/${j.pageConfig.appType}/submission/${j.pageConfig.formUuid}`);}},props:{align:"right",width:100}});}))}(()=>{const e=j.location.href;e.includes("newDesigner")&&e.includes("processCode")&&b(".variable-input-wrapper .message-formula-editor.link {height:auto} .variable-input-wrapper .message-formula-editor.link .formula-pane {height: 120px}.helper-entry{right:unset!important;bottom:10%;}");})();let ne=0;const ie=setInterval((()=>{if(20===ne)return clearInterval(ie);ne++,j.LeGao&&j.AliLowCodeEngine&&j.__VcDeepYidaUtils__&&j.React&&(te(),clearInterval(ie));}),200);

})(unsafeWindow.React);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址