1d5efb3c5777cebbcc0778c26f538f3f.json 37 KB

1
  1. {"remainingRequest":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\views\\system\\fromModeling\\package\\components\\KFormDesign\\module\\formComponentPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\views\\system\\fromModeling\\package\\components\\KFormDesign\\module\\formComponentPanel.vue","mtime":1688724235534},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1688725391035},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1688725407620},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1688725391035},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1688725415411}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBkcmFnZ2FibGUgZnJvbSAidnVlZHJhZ2dhYmxlIjsKaW1wb3J0IGxheW91dEl0ZW0gZnJvbSAiLi9sYXlvdXRJdGVtIjsKaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gImFudC1kZXNpZ24tdnVlIjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiS0NlbnRlciIsCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGZvcm06IHRoaXMuJGZvcm0uY3JlYXRlRm9ybSh0aGlzKSwKICAgICAgaW5zZXJ0QWxsb3dlZFR5cGU6IFsKICAgICAgICAiaW5wdXQiLAogICAgICAgICJ0ZXh0YXJlYSIsCiAgICAgICAgIm51bWJlciIsCiAgICAgICAgInNlbGVjdCIsCiAgICAgICAgImNoZWNrYm94IiwKICAgICAgICAicmFkaW8iLAogICAgICAgICJkYXRlIiwKICAgICAgICAidGltZSIsCiAgICAgICAgInJhdGUiLAogICAgICAgICJzbGlkZXIiLAogICAgICAgICJ1cGxvYWRGaWxlIiwKICAgICAgICAidXBsb2FkSW1nIiwKICAgICAgICAiY2FzY2FkZXIiLAogICAgICAgICJ0cmVlU2VsZWN0IiwKICAgICAgICAic3dpdGNoIiwKICAgICAgICAidGV4dCIsCiAgICAgICAgImh0bWwiCiAgICAgIF0sCiAgICAgIHJpZ2h0TWVudVNlbGVjdFZhbHVlOiB7fSwKICAgICAgc2hvd1JpZ2h0TWVudTogZmFsc2UsCiAgICAgIG1lbnVUb3A6IDAsCiAgICAgIG1lbnVMZWZ0OiAwLAogICAgICB0ckluZGV4OiAwLAogICAgICB0ZEluZGV4OiAwCiAgICB9OwogIH0sCiAgcHJvcHM6IHsKICAgIG5vTW9kZWw6IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgc3RhcnRUeXBlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICBkYXRhOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICBzZWxlY3RJdGVtOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogKCkgPT4ge30KICAgIH0sCiAgICBoaWRlTW9kZWw6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0KICB9LAogIGNvbXBvbmVudHM6IHsKICAgIGRyYWdnYWJsZSwKICAgIGxheW91dEl0ZW0KICB9LAogIG1ldGhvZHM6IHsKICAgIGRlZXBDbG9uZShldnQpIHsKICAgICAgY29uc3QgbmV3SW5kZXggPSBldnQubmV3SW5kZXg7CiAgICAgIC8vIGpzb27mt7Hmi7fotJ3kuIDmrKEKICAgICAgY29uc3QgbGlzdFN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YS5saXN0KTsKICAgICAgdGhpcy5kYXRhLmxpc3QgPSBKU09OLnBhcnNlKGxpc3RTdHJpbmcpOwogICAgICAvLyDliKDpmaRpY29u5Y+KY29tcG9lbnTlsZ7mgKcKICAgICAgZGVsZXRlIHRoaXMuZGF0YS5saXN0W25ld0luZGV4XS5pY29uOwogICAgICBkZWxldGUgdGhpcy5kYXRhLmxpc3RbbmV3SW5kZXhdLmNvbXBvbmVudDsKICAgICAgdGhpcy4kZW1pdCgiaGFuZGxlU2V0U2VsZWN0SXRlbSIsIHRoaXMuZGF0YS5saXN0W25ld0luZGV4XSk7CiAgICB9LAogICAgaGFuZGxlQ29sQWRkKGV2dCwgY29sdW1ucywgaXNDb3B5ID0gZmFsc2UpIHsKICAgICAgLy8g6YeN572u5oiW6ICF55Sf5oiQa2V55YC8CiAgICAgIGNvbnN0IG5ld0luZGV4ID0gZXZ0Lm5ld0luZGV4OwogICAgICBjb25zdCBrZXkgPSBjb2x1bW5zW25ld0luZGV4XS50eXBlICsgIl8iICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGlmIChjb2x1bW5zW25ld0luZGV4XS5rZXkgPT09ICIiIHx8IGlzQ29weSkgewogICAgICAgIHRoaXMuJHNldChjb2x1bW5zLCBuZXdJbmRleCwgewogICAgICAgICAgLi4uY29sdW1uc1tuZXdJbmRleF0sCiAgICAgICAgICBrZXksCiAgICAgICAgICBtb2RlbDoga2V5CiAgICAgICAgfSk7CiAgICAgICAgaWYgKHRoaXMubm9Nb2RlbC5pbmNsdWRlcyhjb2x1bW5zW25ld0luZGV4XS50eXBlKSkgewogICAgICAgICAgLy8g5Yig6Zmk5LiN6ZyA6KaB55qEbW9kZWzlsZ7mgKcKICAgICAgICAgIGRlbGV0ZSBjb2x1bW5zW25ld0luZGV4XS5tb2RlbDsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBjb2x1bW5zW25ld0luZGV4XS5vcHRpb25zICE9PSAidW5kZWZpbmVkIikgewogICAgICAgICAgLy8g5rex5ou36LSdb3B0aW9ucwogICAgICAgICAgY29uc3Qgb3B0aW9uc1N0ciA9IEpTT04uc3RyaW5naWZ5KGNvbHVtbnNbbmV3SW5kZXhdLm9wdGlvbnMpOwogICAgICAgICAgY29sdW1uc1tuZXdJbmRleF0ub3B0aW9ucyA9IEpTT04ucGFyc2Uob3B0aW9uc1N0cik7CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgY29sdW1uc1tuZXdJbmRleF0ucnVsZXMgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAvLyDmt7Hmi7fotJ1ydWxlcwogICAgICAgICAgY29uc3QgcnVsZXNTdHIgPSBKU09OLnN0cmluZ2lmeShjb2x1bW5zW25ld0luZGV4XS5ydWxlcyk7CiAgICAgICAgICBjb2x1bW5zW25ld0luZGV4XS5ydWxlcyA9IEpTT04ucGFyc2UocnVsZXNTdHIpOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGNvbHVtbnNbbmV3SW5kZXhdLmxpc3QgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAvLyDmt7Hmi7fotJ1saXN0CiAgICAgICAgICBjb2x1bW5zW25ld0luZGV4XS5saXN0ID0gW107CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgY29sdW1uc1tuZXdJbmRleF0uY29sdW1ucyAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgIC8vIOa3seaLt+i0nWNvbHVtbnMKICAgICAgICAgIGNvbnN0IGNvbHVtbnNTdHIgPSBKU09OLnN0cmluZ2lmeShjb2x1bW5zW25ld0luZGV4XS5jb2x1bW5zKTsKICAgICAgICAgIGNvbHVtbnNbbmV3SW5kZXhdLmNvbHVtbnMgPSBKU09OLnBhcnNlKGNvbHVtbnNTdHIpOwogICAgICAgICAgLy8g5aSN5Yi25pe277yM5riF56m65pWw5o2uCiAgICAgICAgICBjb2x1bW5zW25ld0luZGV4XS5jb2x1bW5zLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgIGl0ZW0ubGlzdCA9IFtdOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGlmIChjb2x1bW5zW25ld0luZGV4XS50eXBlID09PSAidGFibGUiKSB7CiAgICAgICAgICAvLyDmt7Hmi7fotJ10cnMKICAgICAgICAgIGNvbnN0IHRyc1N0ciA9IEpTT04uc3RyaW5naWZ5KGNvbHVtbnNbbmV3SW5kZXhdLnRycyk7CiAgICAgICAgICBjb2x1bW5zW25ld0luZGV4XS50cnMgPSBKU09OLnBhcnNlKHRyc1N0cik7CiAgICAgICAgICAvLyDlpI3liLbml7bvvIzmuIXnqbrmlbDmja4KICAgICAgICAgIGNvbHVtbnNbbmV3SW5kZXhdLnRycy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgICBpdGVtLnRkcy5mb3JFYWNoKHZhbCA9PiB7CiAgICAgICAgICAgICAgdmFsLmxpc3QgPSBbXTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLy8g5rex5ou36LSd5pWw5o2uCiAgICAgIGNvbnN0IGxpc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShjb2x1bW5zW25ld0luZGV4XSk7CiAgICAgIGNvbHVtbnNbbmV3SW5kZXhdID0gSlNPTi5wYXJzZShsaXN0U3RyaW5nKTsKICAgICAgdGhpcy4kZW1pdCgiaGFuZGxlU2V0U2VsZWN0SXRlbSIsIGNvbHVtbnNbbmV3SW5kZXhdKTsKICAgIH0sCiAgICBkcmFnU3RhcnQoZXZ0LCBsaXN0KSB7CiAgICAgIC8vIOaLluaLvee7k+adnyzoh6rliqjpgInmi6nmi5bmi73nmoTmjqfku7bpobkKICAgICAgdGhpcy4kZW1pdCgiaGFuZGxlU2V0U2VsZWN0SXRlbSIsIGxpc3RbZXZ0Lm9sZEluZGV4XSk7CiAgICB9LAogICAgaGFuZGxlU2VsZWN0SXRlbShyZWNvcmQpIHsKICAgICAgLy8g5L+u5pS56YCJ5oupSXRlbQogICAgICB0aGlzLiRlbWl0KCJoYW5kbGVTZXRTZWxlY3RJdGVtIiwgcmVjb3JkKTsKICAgIH0sCiAgICBoYW5kbGVDb3B5KGlzQ29weSA9IHRydWUsIGRhdGEpIHsKICAgICAgY29uc3QgdHJhdmVyc2UgPSBhcnJheSA9PiB7CiAgICAgICAgYXJyYXkuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHsKICAgICAgICAgIGlmIChlbGVtZW50LmtleSA9PT0gdGhpcy5zZWxlY3RJdGVtLmtleSkgewogICAgICAgICAgICBpZiAoaXNDb3B5KSB7CiAgICAgICAgICAgICAgLy8g5aSN5Yi25re75Yqg5Yiw6YCJ5oup6IqC54K55ZCO6Z2iCiAgICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGluZGV4ICsgMSwgMCwgZWxlbWVudCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgLy8g5Y+M5Ye75re75Yqg5Yiw6YCJ5oup6IqC54K55ZCO6Z2iCiAgICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGluZGV4ICsgMSwgMCwgZGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8g5aSN5Yi25a6M5oiQ77yM6YeN572ua2V55YC8CiAgICAgICAgICAgIGNvbnN0IGV2dCA9IHsKICAgICAgICAgICAgICBuZXdJbmRleDogaW5kZXggKyAxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29sQWRkKGV2dCwgYXJyYXksIHRydWUpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoWyJncmlkIiwgInRhYnMiLCAic2VsZWN0SW5wdXRMaXN0Il0uaW5jbHVkZXMoZWxlbWVudC50eXBlKSkgewogICAgICAgICAgICAvLyDmoIXmoLzluIPlsYAKICAgICAgICAgICAgZWxlbWVudC5jb2x1bW5zLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgICAgdHJhdmVyc2UoaXRlbS5saXN0KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQudHlwZSA9PT0gImNhcmQiKSB7CiAgICAgICAgICAgIC8vIOWNoeeJh+W4g+WxgAogICAgICAgICAgICB0cmF2ZXJzZShlbGVtZW50Lmxpc3QpOwogICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnR5cGUgPT09ICJiYXRjaCIpIHsKICAgICAgICAgICAgLy8g5Yqo5oCB6KGo5qC85YaF5aSN5Yi2CiAgICAgICAgICAgIGlmICghaXNDb3B5ICYmICF0aGlzLmluc2VydEFsbG93ZWRUeXBlLmluY2x1ZGVzKGRhdGEudHlwZSkpIHsKICAgICAgICAgICAgICAvLyDmj5LlhaXkuI3lhYHorrjnmoTlrZfmrrXml7bvvIznm7TmjqVyZXR1cm4gZmFsc2UKICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHJhdmVyc2UoZWxlbWVudC5saXN0KTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICJ0YWJsZSIpIHsKICAgICAgICAgICAgLy8g6KGo5qC85biD5bGACiAgICAgICAgICAgIGVsZW1lbnQudHJzLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgICAgaXRlbS50ZHMuZm9yRWFjaCh2YWwgPT4gewogICAgICAgICAgICAgICAgdHJhdmVyc2UodmFsLmxpc3QpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfTsKICAgICAgdHJhdmVyc2UodGhpcy5kYXRhLmxpc3QpOwogICAgfSwKICAgIGhhbmRsZURlbGV0ZSgpIHsKICAgICAgLy8g5Yig6Zmk5bey6YCJ5oupCiAgICAgIGNvbnN0IHRyYXZlcnNlID0gYXJyYXkgPT4gewogICAgICAgIGFycmF5ID0gYXJyYXkuZmlsdGVyKChlbGVtZW50LCBpbmRleCkgPT4gewogICAgICAgICAgaWYgKFsiZ3JpZCIsICJ0YWJzIiwgInNlbGVjdElucHV0TGlzdCJdLmluY2x1ZGVzKGVsZW1lbnQudHlwZSkpIHsKICAgICAgICAgICAgLy8g5qCF5qC85biD5bGACiAgICAgICAgICAgIGVsZW1lbnQuY29sdW1ucy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgICAgIGl0ZW0ubGlzdCA9IHRyYXZlcnNlKGl0ZW0ubGlzdCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gImNhcmQiIHx8IGVsZW1lbnQudHlwZSA9PT0gImJhdGNoIikgewogICAgICAgICAgICAvLyDljaHniYfluIPlsYAKICAgICAgICAgICAgZWxlbWVudC5saXN0ID0gdHJhdmVyc2UoZWxlbWVudC5saXN0KTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICJ0YWJsZSIpIHsKICAgICAgICAgICAgLy8g6KGo5qC85biD5bGACiAgICAgICAgICAgIGVsZW1lbnQudHJzLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgICAgaXRlbS50ZHMuZm9yRWFjaCh2YWwgPT4gewogICAgICAgICAgICAgICAgdmFsLmxpc3QgPSB0cmF2ZXJzZSh2YWwubGlzdCk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGVsZW1lbnQua2V5ICE9PSB0aGlzLnNlbGVjdEl0ZW0ua2V5KSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA9PT0gMSkgewogICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0SXRlbSh7IGtleTogIiIgfSk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoYXJyYXkubGVuZ3RoIC0gMSA+IGluZGV4KSB7CiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RJdGVtKGFycmF5W2luZGV4ICsgMV0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0SXRlbShhcnJheVtpbmRleCAtIDFdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICB9OwoKICAgICAgdGhpcy5kYXRhLmxpc3QgPSB0cmF2ZXJzZSh0aGlzLmRhdGEubGlzdCk7CiAgICB9LAogICAgaGFuZGxlRG93bk1lcmdlKCkgewogICAgICAvLyDlkJHkuIvlkIjlubYKCiAgICAgIC8vIOWIpOaWreW9k+WJjeihjOaYr+WQpuaYr+acgOWQjuS4gOihjO+8jOacgOWQjuS4gOihjOaXoOazleWQkeS4i+WQiOW5tgogICAgICBpZiAoCiAgICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnMubGVuZ3RoIC0KICAgICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0KICAgICAgICAgICAgLnJvd3NwYW4gPD0KICAgICAgICB0aGlzLnRySW5kZXgKICAgICAgKSB7CiAgICAgICAgbWVzc2FnZS5lcnJvcigi5b2T5YmN5piv5pyA5ZCO5LiA6KGM77yM5peg5rOV5ZCR5LiL5ZCI5bm2Iik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICAvLyDojrflj5blvZPliY3ljZXlhYPmoLznmoRyb3dzcGFuCiAgICAgIGNvbnN0IGN1cnJlbnRSb3dzcGFuID0gdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbCiAgICAgICAgdGhpcy50ZEluZGV4CiAgICAgIF0ucm93c3BhbjsKCiAgICAgIC8vIOWIpOaWreS4i+S4gOWIl+WNleWFg+agvOS4juW9k+WJjeWNleWFg+agvOeahGNvbHNwYW7mmK/lkKbkuIDoh7TvvIzlpoLmnpzkuI3kuIDoh7TliJnml6Dms5XlkIjlubYKICAgICAgaWYgKAogICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0KICAgICAgICAgIC5jb2xzcGFuICE9PQogICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleCArIGN1cnJlbnRSb3dzcGFuXS50ZHNbCiAgICAgICAgICB0aGlzLnRkSW5kZXgKICAgICAgICBdLmNvbHNwYW4KICAgICAgKSB7CiAgICAgICAgbWVzc2FnZS5lcnJvcigi5b2T5YmN6KGo5qC85peg5rOV5ZCR5LiL5ZCI5bm2Iik7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICAvLyDojrflj5bkuIvkuIDliJfljZXlhYPmoLznmoRyb3dzcGFuCiAgICAgIGNvbnN0IG5leHRSb3dTcGFuID0gdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbCiAgICAgICAgdGhpcy50ckluZGV4ICsgY3VycmVudFJvd3NwYW4KICAgICAgXS50ZHNbdGhpcy50ZEluZGV4XS5yb3dzcGFuOwoKICAgICAgLy8g5b2T5YmN5Y2V5YWD5qC8cm93c3BhbuetieS6juW9k+WJjeWNleWFg+agvHJvd3NwYW7liqDkuIrkuIvkuIDliJfljZXlhYPmoLxyb3dzcGFuCiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0ucm93c3BhbiA9CiAgICAgICAgY3VycmVudFJvd3NwYW4gKyBuZXh0Um93U3BhbjsKCiAgICAgIC8vIOWwhuiiq+WQiOW5tueahOWNleWFg3Jvd3NwYW7kv67mlLnkuLowCiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleCArIGN1cnJlbnRSb3dzcGFuXS50ZHNbCiAgICAgICAgdGhpcy50ZEluZGV4CiAgICAgIF0ucm93c3BhbiA9IDA7CgogICAgICAvLyDmuIXnqbrooqvlkIjlubbljZXlhYPmoLxsaXN0CiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleCArIGN1cnJlbnRSb3dzcGFuXS50ZHNbCiAgICAgICAgdGhpcy50ZEluZGV4CiAgICAgIF0ubGlzdCA9IFtdOwogICAgfSwKICAgIGhhbmRsZVJpZ2h0TWVyZ2UoKSB7CiAgICAgIC8vIOWQkeWPs+WQiOW5tgogICAgICAvLyDojrflj5blvZPliY3liJfnmoTmiYDmnIljb2xzcGFu5oC75ZKMCiAgICAgIGNvbnN0IHN1bUNvbHMgPSB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkcwogICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLmNvbHNwYW4pCiAgICAgICAgLnJlZHVjZShmdW5jdGlvbihwYXJ0aWFsLCB2YWx1ZSkgewogICAgICAgICAgcmV0dXJuIHBhcnRpYWwgKyB2YWx1ZTsKICAgICAgICB9KTsKCiAgICAgIC8vIOWIpOaWreaYr+WQpuaYr+acgOWQjuS4gOWIl++8jOacgOWQjuS4gOWIl+aXoOazlee7p+e7reWQkeWPs+WQiOW5tgogICAgICBpZiAoCiAgICAgICAgc3VtQ29scyAtCiAgICAgICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1t0aGlzLnRkSW5kZXhdCiAgICAgICAgICAgIC5jb2xzcGFuIDw9CiAgICAgICAgdGhpcy50ZEluZGV4CiAgICAgICkgewogICAgICAgIG1lc3NhZ2UuZXJyb3IoIuW9k+WJjeaYr+acgOWQjuS4gOWIl++8jOaXoOazleWQkeWPs+WQiOW5tiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgLy8g6I635Y+W5b2T5YmN5Y2V5YWD5qC855qEY29sc3BhbgogICAgICBjb25zdCBjdXJyZW50Q29sc3BhbiA9IHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzWwogICAgICAgIHRoaXMudGRJbmRleAogICAgICBdLmNvbHNwYW47CgogICAgICAvLyDliKTmlq3pnIDopoHlkIjlubbnmoTljZXlhYPmoLxyb3dzcGFu5piv5ZCm5LiO5b2T5YmN5Y2V5YWD5qC85LiA6Ie0CiAgICAgIGlmICgKICAgICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1t0aGlzLnRkSW5kZXhdCiAgICAgICAgICAucm93c3BhbiAhPT0KICAgICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1sKICAgICAgICAgIHRoaXMudGRJbmRleCArIGN1cnJlbnRDb2xzcGFuCiAgICAgICAgXS5yb3dzcGFuCiAgICAgICkgewogICAgICAgIG1lc3NhZ2UuZXJyb3IoIuW9k+WJjeihqOagvOaXoOazleWQkeWPs+WQiOW5tiIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgLy8g5ZCI5bm25Y2V5YWD5qC8Y29sc3BhbgogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1sKICAgICAgICB0aGlzLnRkSW5kZXgKICAgICAgXS5jb2xzcGFuICs9IHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzWwogICAgICAgIHRoaXMudGRJbmRleCArIGN1cnJlbnRDb2xzcGFuCiAgICAgIF0uY29sc3BhbjsKCiAgICAgIC8vIOWwhuiiq+WQiOW5tueahOWNleWFg+agvGNvbHNwYW7orr7nva7kuLowCiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzWwogICAgICAgIHRoaXMudGRJbmRleCArIGN1cnJlbnRDb2xzcGFuCiAgICAgIF0uY29sc3BhbiA9IDA7CgogICAgICAvLyDmg4XlhrXooqvlkIjlubbljZXlhYPmoLznmoRsaXN0CiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzWwogICAgICAgIHRoaXMudGRJbmRleCArIGN1cnJlbnRDb2xzcGFuCiAgICAgIF0ubGlzdCA9IFtdOwogICAgfSwKICAgIC8vIOaLhuWIhuWNleWFg+agvAogICAgaGFuZGxlUmlnaHRTcGxpdCgpIHsKICAgICAgLy8g6I635Y+W5b2T5YmN5Y2V5YWD5qC855qEY29sc3BhbuWPinJvd3NwYW4KICAgICAgY29uc3QgeyBjb2xzcGFuLCByb3dzcGFuIH0gPSB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1sKICAgICAgICB0aGlzLnRySW5kZXgKICAgICAgXS50ZHNbdGhpcy50ZEluZGV4XTsKCiAgICAgIGZvciAoCiAgICAgICAgbGV0IHJvd0luZGV4ID0gdGhpcy50ckluZGV4LCByb3dMZW4gPSB0aGlzLnRySW5kZXggKyByb3dzcGFuOwogICAgICAgIHJvd0luZGV4IDwgcm93TGVuOwogICAgICAgIHJvd0luZGV4KysKICAgICAgKSB7CiAgICAgICAgZm9yICgKICAgICAgICAgIGxldCBjb2xJbmRleCA9IHRoaXMudGRJbmRleCwgY29sTGVuID0gdGhpcy50ZEluZGV4ICsgY29sc3BhbjsKICAgICAgICAgIGNvbEluZGV4IDwgY29sTGVuOwogICAgICAgICAgY29sSW5kZXgrKwogICAgICAgICkgewogICAgICAgICAgaWYgKHJvd0luZGV4ID09PSB0aGlzLnRySW5kZXggJiYgY29sSW5kZXggPT09IHRoaXMudGRJbmRleCkgY29udGludWU7CiAgICAgICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1tyb3dJbmRleF0udGRzLnNwbGljZShjb2xJbmRleCwgMSwgewogICAgICAgICAgICBjb2xzcGFuOiAxLAogICAgICAgICAgICByb3dzcGFuOiAxLAogICAgICAgICAgICBsaXN0OiBbXQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIOS/ruaUueW9k+WJjeWNleWFg+agvGNvbHNwYW7jgIFyb3dzcGFu5Li6MQogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1t0aGlzLnRkSW5kZXhdLmNvbHNwYW4gPSAxOwogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1t0aGlzLnRkSW5kZXhdLnJvd3NwYW4gPSAxOwogICAgfSwKICAgIGhhbmRsZUFkZENvbCgpIHsKICAgICAgLy8g5aKe5Yqg5YiXCgogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRycy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGl0ZW0udGRzLnNwbGljZSh0aGlzLnRkSW5kZXggKyAxLCAwLCB7CiAgICAgICAgICBjb2xzcGFuOiAxLAogICAgICAgICAgcm93c3BhbjogMSwKICAgICAgICAgIGxpc3Q6IFtdCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZUFkZFJvdygpIHsKICAgICAgLy8g5aKe5Yqg6KGMCiAgICAgIC8vIOiOt+WPluaAu2NvbOWAvAogICAgICBjb25zdCBzdW1Db2xzID0gdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbMF0udGRzCiAgICAgICAgLm1hcChpdGVtID0+IGl0ZW0uY29sc3BhbikKICAgICAgICAucmVkdWNlKGZ1bmN0aW9uKHBhcnRpYWwsIHZhbHVlKSB7CiAgICAgICAgICByZXR1cm4gcGFydGlhbCArIHZhbHVlOwogICAgICAgIH0pOwogICAgICBjb25zdCByb3dKc29uID0geyB0ZHM6IFtdIH07CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3VtQ29sczsgaSsrKSB7CiAgICAgICAgcm93SnNvbi50ZHMucHVzaCh7CiAgICAgICAgICBjb2xzcGFuOiAxLAogICAgICAgICAgcm93c3BhbjogMSwKICAgICAgICAgIGxpc3Q6IFtdCiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIOWPluW9k+WJjXJvd3NwYW7mnIDlpKflgLwKICAgICAgbGV0IG1heFJvd1NwYW4gPSAxOwogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkcy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGlmIChtYXhSb3dTcGFuIDwgaXRlbS5yb3dzcGFuKSB7CiAgICAgICAgICBtYXhSb3dTcGFuID0gaXRlbS5yb3dzcGFuOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICAvLyDlnKhyb3dzcGFu5pyA5aSn5YC85aSE5o+S5YWl5pWw5o2uCiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzLnNwbGljZSgKICAgICAgICB0aGlzLnRySW5kZXggKyBtYXhSb3dTcGFuLAogICAgICAgIDAsCiAgICAgICAgcm93SnNvbgogICAgICApOwogICAgfSwKICAgIGhhbmRsZVNob3dSaWdodE1lbnUoZSwgdmFsLCB0ckluZGV4LCB0ZEluZGV4KSB7CiAgICAgIC8vIOaYvuekuuWPs+mUruiPnOWNlQogICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAvLyB0aGlzLmZpbGVJdGVtID0gaXRlbQogICAgICAvLyDmmL7npLoKICAgICAgdGhpcy5zaG93UmlnaHRNZW51ID0gdHJ1ZTsKCiAgICAgIC8vIOWumuS9jQogICAgICB0aGlzLm1lbnVUb3AgPSBlLmNsaWVudFk7CiAgICAgIHRoaXMubWVudUxlZnQgPSBlLmNsaWVudFg7CiAgICAgIC8vIHRoaXMucmlnaHRNZW51VHlwZSA9IHR5cGUKICAgICAgLy8gdGhpcy5yaWdodElkID0gaWQKICAgICAgdGhpcy5hY3RpdmVBcnIgPSBbdmFsXTsKICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZSA9IHZhbDsKICAgICAgdGhpcy50ckluZGV4ID0gdHJJbmRleDsKICAgICAgdGhpcy50ZEluZGV4ID0gdGRJbmRleDsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKICAgIGhhbmRsZVJlbW92ZVJpZ2h0TWVudSgpIHsKICAgICAgLy8g5Y+W5raI5Y+z6ZSu6I+c5Y2VCiAgICAgIHRoaXMuc2hvd1JpZ2h0TWVudSA9IGZhbHNlOwogICAgfQogIH0sCiAgbW91bnRlZCgpIHsKICAgIC8vIOa3u+WKoOebkeWQrOWPlua2iOWPs+mUruiPnOWNlQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLmhhbmRsZVJlbW92ZVJpZ2h0TWVudSwgdHJ1ZSk7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuaGFuZGxlUmVtb3ZlUmlnaHRNZW51LCB0cnVlKTsKICB9LAogIGRlc3Ryb3llZCgpIHsKICAgIC8vIOenu+mZpOebkeWQrAogICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLmhhbmRsZVJlbW92ZVJpZ2h0TWVudSwgdHJ1ZSk7CiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKAogICAgICAiY29udGV4dG1lbnUiLAogICAgICB0aGlzLmhhbmRsZVJlbW92ZVJpZ2h0TWVudSwKICAgICAgdHJ1ZQogICAgKTsKICB9Cn07Cg=="},{"version":3,"sources":["formComponentPanel.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"formComponentPanel.vue","sourceRoot":"src/views/system/fromModeling/package/components/KFormDesign/module","sourcesContent":["<!--\n * @Description: 表单设计器内容展示操作组件\n * @Author: kcz\n * @Date: 2019-12-31 19:39:48\n * @LastEditors: kcz\n * @LastEditTime: 2022-11-12 00:11:55\n -->\n<template>\n <div class=\"form-panel\">\n <p class=\"hint-text\" v-show=\"data.list.length === 0\">\n <a-empty description=\"从左侧选择控件添加组件进行编辑\" />\n </p>\n\n <a-form\n class=\"a-form-box k-form-build\"\n :form=\"form\"\n selfUpdate\n :layout=\"data.config.layout\"\n :hideRequiredMark=\"data.config.hideRequiredMark\"\n :style=\"data.config.customStyle\"\n >\n <draggable\n tag=\"div\"\n class=\"draggable-box\"\n v-bind=\"{\n group: 'form-draggable',\n ghostClass: 'moving',\n animation: 180,\n handle: '.drag-move'\n }\"\n v-model=\"data.list\"\n @add=\"deepClone\"\n @start=\"dragStart($event, data.list)\"\n >\n <transition-group tag=\"div\" name=\"list\" class=\"list-main\">\n <layoutItem\n class=\"drag-move\"\n v-for=\"record in data.list\"\n :key=\"record.key\"\n :record=\"record\"\n :config=\"data.config\"\n :selectItem.sync=\"selectItem\"\n :startType=\"startType\"\n :insertAllowedType=\"insertAllowedType\"\n :hideModel=\"hideModel\"\n @dragStart=\"dragStart\"\n @handleSelectItem=\"handleSelectItem\"\n @handleCopy=\"handleCopy\"\n @handleDelete=\"handleDelete\"\n @handleColAdd=\"handleColAdd\"\n @handleShowRightMenu=\"handleShowRightMenu\"\n />\n </transition-group>\n </draggable>\n </a-form>\n <!-- 右键菜单 start -->\n <div\n v-show=\"showRightMenu\"\n :style=\"{ top: menuTop + 'px', left: menuLeft + 'px' }\"\n class=\"right-menu\"\n >\n <ul>\n <li @click=\"handleDownMerge\"><a-icon type=\"caret-down\" />向下合并</li>\n <li @click=\"handleRightMerge\"><a-icon type=\"caret-right\" />向右合并</li>\n <li @click=\"handleRightSplit\">\n <a-icon type=\"border-inner\" />拆分单元格\n </li>\n <li @click=\"handleAddCol\">\n <a-icon type=\"border-horizontal\" />增加一列\n </li>\n <li @click=\"handleAddRow\"><a-icon type=\"border-verticle\" />增加一行</li>\n </ul>\n </div>\n </div>\n</template>\n<script>\nimport draggable from \"vuedraggable\";\nimport layoutItem from \"./layoutItem\";\nimport { message } from \"ant-design-vue\";\n\nexport default {\n name: \"KCenter\",\n data() {\n return {\n form: this.$form.createForm(this),\n insertAllowedType: [\n \"input\",\n \"textarea\",\n \"number\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"date\",\n \"time\",\n \"rate\",\n \"slider\",\n \"uploadFile\",\n \"uploadImg\",\n \"cascader\",\n \"treeSelect\",\n \"switch\",\n \"text\",\n \"html\"\n ],\n rightMenuSelectValue: {},\n showRightMenu: false,\n menuTop: 0,\n menuLeft: 0,\n trIndex: 0,\n tdIndex: 0\n };\n },\n props: {\n noModel: {\n type: Array,\n required: true\n },\n startType: {\n type: String,\n required: true\n },\n data: {\n type: Object,\n required: true\n },\n selectItem: {\n type: Object,\n default: () => {}\n },\n hideModel: {\n type: Boolean,\n default: false\n }\n },\n components: {\n draggable,\n layoutItem\n },\n methods: {\n deepClone(evt) {\n const newIndex = evt.newIndex;\n // json深拷贝一次\n const listString = JSON.stringify(this.data.list);\n this.data.list = JSON.parse(listString);\n // 删除icon及compoent属性\n delete this.data.list[newIndex].icon;\n delete this.data.list[newIndex].component;\n this.$emit(\"handleSetSelectItem\", this.data.list[newIndex]);\n },\n handleColAdd(evt, columns, isCopy = false) {\n // 重置或者生成key值\n const newIndex = evt.newIndex;\n const key = columns[newIndex].type + \"_\" + new Date().getTime();\n if (columns[newIndex].key === \"\" || isCopy) {\n this.$set(columns, newIndex, {\n ...columns[newIndex],\n key,\n model: key\n });\n if (this.noModel.includes(columns[newIndex].type)) {\n // 删除不需要的model属性\n delete columns[newIndex].model;\n }\n if (typeof columns[newIndex].options !== \"undefined\") {\n // 深拷贝options\n const optionsStr = JSON.stringify(columns[newIndex].options);\n columns[newIndex].options = JSON.parse(optionsStr);\n }\n if (typeof columns[newIndex].rules !== \"undefined\") {\n // 深拷贝rules\n const rulesStr = JSON.stringify(columns[newIndex].rules);\n columns[newIndex].rules = JSON.parse(rulesStr);\n }\n if (typeof columns[newIndex].list !== \"undefined\") {\n // 深拷贝list\n columns[newIndex].list = [];\n }\n if (typeof columns[newIndex].columns !== \"undefined\") {\n // 深拷贝columns\n const columnsStr = JSON.stringify(columns[newIndex].columns);\n columns[newIndex].columns = JSON.parse(columnsStr);\n // 复制时,清空数据\n columns[newIndex].columns.forEach(item => {\n item.list = [];\n });\n }\n if (columns[newIndex].type === \"table\") {\n // 深拷贝trs\n const trsStr = JSON.stringify(columns[newIndex].trs);\n columns[newIndex].trs = JSON.parse(trsStr);\n // 复制时,清空数据\n columns[newIndex].trs.forEach(item => {\n item.tds.forEach(val => {\n val.list = [];\n });\n });\n }\n }\n // 深拷贝数据\n const listString = JSON.stringify(columns[newIndex]);\n columns[newIndex] = JSON.parse(listString);\n this.$emit(\"handleSetSelectItem\", columns[newIndex]);\n },\n dragStart(evt, list) {\n // 拖拽结束,自动选择拖拽的控件项\n this.$emit(\"handleSetSelectItem\", list[evt.oldIndex]);\n },\n handleSelectItem(record) {\n // 修改选择Item\n this.$emit(\"handleSetSelectItem\", record);\n },\n handleCopy(isCopy = true, data) {\n const traverse = array => {\n array.forEach((element, index) => {\n if (element.key === this.selectItem.key) {\n if (isCopy) {\n // 复制添加到选择节点后面\n array.splice(index + 1, 0, element);\n } else {\n // 双击添加到选择节点后面\n array.splice(index + 1, 0, data);\n }\n // 复制完成,重置key值\n const evt = {\n newIndex: index + 1\n };\n this.handleColAdd(evt, array, true);\n return;\n }\n if ([\"grid\", \"tabs\", \"selectInputList\"].includes(element.type)) {\n // 栅格布局\n element.columns.forEach(item => {\n traverse(item.list);\n });\n } else if (element.type === \"card\") {\n // 卡片布局\n traverse(element.list);\n } else if (element.type === \"batch\") {\n // 动态表格内复制\n if (!isCopy && !this.insertAllowedType.includes(data.type)) {\n // 插入不允许的字段时,直接return false\n return false;\n }\n traverse(element.list);\n }\n if (element.type === \"table\") {\n // 表格布局\n element.trs.forEach(item => {\n item.tds.forEach(val => {\n traverse(val.list);\n });\n });\n }\n });\n };\n traverse(this.data.list);\n },\n handleDelete() {\n // 删除已选择\n const traverse = array => {\n array = array.filter((element, index) => {\n if ([\"grid\", \"tabs\", \"selectInputList\"].includes(element.type)) {\n // 栅格布局\n element.columns.forEach(item => {\n item.list = traverse(item.list);\n });\n }\n if (element.type === \"card\" || element.type === \"batch\") {\n // 卡片布局\n element.list = traverse(element.list);\n }\n if (element.type === \"table\") {\n // 表格布局\n element.trs.forEach(item => {\n item.tds.forEach(val => {\n val.list = traverse(val.list);\n });\n });\n }\n if (element.key !== this.selectItem.key) {\n return true;\n } else {\n if (array.length === 1) {\n this.handleSelectItem({ key: \"\" });\n } else if (array.length - 1 > index) {\n this.handleSelectItem(array[index + 1]);\n } else {\n this.handleSelectItem(array[index - 1]);\n }\n return false;\n }\n });\n return array;\n };\n\n this.data.list = traverse(this.data.list);\n },\n handleDownMerge() {\n // 向下合并\n\n // 判断当前行是否是最后一行,最后一行无法向下合并\n if (\n this.rightMenuSelectValue.trs.length -\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\n .rowspan <=\n this.trIndex\n ) {\n message.error(\"当前是最后一行,无法向下合并\");\n return false;\n }\n\n // 获取当前单元格的rowspan\n const currentRowspan = this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex\n ].rowspan;\n\n // 判断下一列单元格与当前单元格的colspan是否一致,如果不一致则无法合并\n if (\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\n .colspan !==\n this.rightMenuSelectValue.trs[this.trIndex + currentRowspan].tds[\n this.tdIndex\n ].colspan\n ) {\n message.error(\"当前表格无法向下合并\");\n return false;\n }\n\n // 获取下一列单元格的rowspan\n const nextRowSpan = this.rightMenuSelectValue.trs[\n this.trIndex + currentRowspan\n ].tds[this.tdIndex].rowspan;\n\n // 当前单元格rowspan等于当前单元格rowspan加上下一列单元格rowspan\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex].rowspan =\n currentRowspan + nextRowSpan;\n\n // 将被合并的单元rowspan修改为0\n this.rightMenuSelectValue.trs[this.trIndex + currentRowspan].tds[\n this.tdIndex\n ].rowspan = 0;\n\n // 清空被合并单元格list\n this.rightMenuSelectValue.trs[this.trIndex + currentRowspan].tds[\n this.tdIndex\n ].list = [];\n },\n handleRightMerge() {\n // 向右合并\n // 获取当前列的所有colspan总和\n const sumCols = this.rightMenuSelectValue.trs[this.trIndex].tds\n .map(item => item.colspan)\n .reduce(function(partial, value) {\n return partial + value;\n });\n\n // 判断是否是最后一列,最后一列无法继续向右合并\n if (\n sumCols -\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\n .colspan <=\n this.tdIndex\n ) {\n message.error(\"当前是最后一列,无法向右合并\");\n return false;\n }\n\n // 获取当前单元格的colspan\n const currentColspan = this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex\n ].colspan;\n\n // 判断需要合并的单元格rowspan是否与当前单元格一致\n if (\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\n .rowspan !==\n this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex + currentColspan\n ].rowspan\n ) {\n message.error(\"当前表格无法向右合并\");\n return false;\n }\n\n // 合并单元格colspan\n this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex\n ].colspan += this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex + currentColspan\n ].colspan;\n\n // 将被合并的单元格colspan设置为0\n this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex + currentColspan\n ].colspan = 0;\n\n // 情况被合并单元格的list\n this.rightMenuSelectValue.trs[this.trIndex].tds[\n this.tdIndex + currentColspan\n ].list = [];\n },\n // 拆分单元格\n handleRightSplit() {\n // 获取当前单元格的colspan及rowspan\n const { colspan, rowspan } = this.rightMenuSelectValue.trs[\n this.trIndex\n ].tds[this.tdIndex];\n\n for (\n let rowIndex = this.trIndex, rowLen = this.trIndex + rowspan;\n rowIndex < rowLen;\n rowIndex++\n ) {\n for (\n let colIndex = this.tdIndex, colLen = this.tdIndex + colspan;\n colIndex < colLen;\n colIndex++\n ) {\n if (rowIndex === this.trIndex && colIndex === this.tdIndex) continue;\n this.rightMenuSelectValue.trs[rowIndex].tds.splice(colIndex, 1, {\n colspan: 1,\n rowspan: 1,\n list: []\n });\n }\n }\n // 修改当前单元格colspan、rowspan为1\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex].colspan = 1;\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex].rowspan = 1;\n },\n handleAddCol() {\n // 增加列\n\n this.rightMenuSelectValue.trs.forEach(item => {\n item.tds.splice(this.tdIndex + 1, 0, {\n colspan: 1,\n rowspan: 1,\n list: []\n });\n });\n },\n handleAddRow() {\n // 增加行\n // 获取总col值\n const sumCols = this.rightMenuSelectValue.trs[0].tds\n .map(item => item.colspan)\n .reduce(function(partial, value) {\n return partial + value;\n });\n const rowJson = { tds: [] };\n for (let i = 0; i < sumCols; i++) {\n rowJson.tds.push({\n colspan: 1,\n rowspan: 1,\n list: []\n });\n }\n\n // 取当前rowspan最大值\n let maxRowSpan = 1;\n this.rightMenuSelectValue.trs[this.trIndex].tds.forEach(item => {\n if (maxRowSpan < item.rowspan) {\n maxRowSpan = item.rowspan;\n }\n });\n\n // 在rowspan最大值处插入数据\n this.rightMenuSelectValue.trs.splice(\n this.trIndex + maxRowSpan,\n 0,\n rowJson\n );\n },\n handleShowRightMenu(e, val, trIndex, tdIndex) {\n // 显示右键菜单\n e.stopPropagation();\n // this.fileItem = item\n // 显示\n this.showRightMenu = true;\n\n // 定位\n this.menuTop = e.clientY;\n this.menuLeft = e.clientX;\n // this.rightMenuType = type\n // this.rightId = id\n this.activeArr = [val];\n this.rightMenuSelectValue = val;\n this.trIndex = trIndex;\n this.tdIndex = tdIndex;\n return false;\n },\n handleRemoveRightMenu() {\n // 取消右键菜单\n this.showRightMenu = false;\n }\n },\n mounted() {\n // 添加监听取消右键菜单\n document.addEventListener(\"click\", this.handleRemoveRightMenu, true);\n document.addEventListener(\"contextmenu\", this.handleRemoveRightMenu, true);\n },\n destroyed() {\n // 移除监听\n document.removeEventListener(\"click\", this.handleRemoveRightMenu, true);\n document.removeEventListener(\n \"contextmenu\",\n this.handleRemoveRightMenu,\n true\n );\n }\n};\n</script>\n"]}]}