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\\node_modules\\k-form-design\\packages\\components\\KFormDesign\\module\\formComponentPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\k-form-design\\packages\\components\\KFormDesign\\module\\formComponentPanel.vue","mtime":1688725441686},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgZHJhZ2dhYmxlIGZyb20gInZ1ZWRyYWdnYWJsZSI7DQppbXBvcnQgbGF5b3V0SXRlbSBmcm9tICIuL2xheW91dEl0ZW0iOw0KaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gImFudC1kZXNpZ24tdnVlIjsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAiS0NlbnRlciIsDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIGZvcm06IHRoaXMuJGZvcm0uY3JlYXRlRm9ybSh0aGlzKSwNCiAgICAgIGluc2VydEFsbG93ZWRUeXBlOiBbDQogICAgICAgICJpbnB1dCIsDQogICAgICAgICJ0ZXh0YXJlYSIsDQogICAgICAgICJudW1iZXIiLA0KICAgICAgICAic2VsZWN0IiwNCiAgICAgICAgImNoZWNrYm94IiwNCiAgICAgICAgInJhZGlvIiwNCiAgICAgICAgImRhdGUiLA0KICAgICAgICAidGltZSIsDQogICAgICAgICJyYXRlIiwNCiAgICAgICAgInNsaWRlciIsDQogICAgICAgICJ1cGxvYWRGaWxlIiwNCiAgICAgICAgInVwbG9hZEltZyIsDQogICAgICAgICJjYXNjYWRlciIsDQogICAgICAgICJ0cmVlU2VsZWN0IiwNCiAgICAgICAgInN3aXRjaCIsDQogICAgICAgICJ0ZXh0IiwNCiAgICAgICAgImh0bWwiDQogICAgICBdLA0KICAgICAgcmlnaHRNZW51U2VsZWN0VmFsdWU6IHt9LA0KICAgICAgc2hvd1JpZ2h0TWVudTogZmFsc2UsDQogICAgICBtZW51VG9wOiAwLA0KICAgICAgbWVudUxlZnQ6IDAsDQogICAgICB0ckluZGV4OiAwLA0KICAgICAgdGRJbmRleDogMA0KICAgIH07DQogIH0sDQogIHByb3BzOiB7DQogICAgbm9Nb2RlbDogew0KICAgICAgdHlwZTogQXJyYXksDQogICAgICByZXF1aXJlZDogdHJ1ZQ0KICAgIH0sDQogICAgc3RhcnRUeXBlOiB7DQogICAgICB0eXBlOiBTdHJpbmcsDQogICAgICByZXF1aXJlZDogdHJ1ZQ0KICAgIH0sDQogICAgZGF0YTogew0KICAgICAgdHlwZTogT2JqZWN0LA0KICAgICAgcmVxdWlyZWQ6IHRydWUNCiAgICB9LA0KICAgIHNlbGVjdEl0ZW06IHsNCiAgICAgIHR5cGU6IE9iamVjdCwNCiAgICAgIGRlZmF1bHQ6ICgpID0+IHt9DQogICAgfSwNCiAgICBoaWRlTW9kZWw6IHsNCiAgICAgIHR5cGU6IEJvb2xlYW4sDQogICAgICBkZWZhdWx0OiBmYWxzZQ0KICAgIH0NCiAgfSwNCiAgY29tcG9uZW50czogew0KICAgIGRyYWdnYWJsZSwNCiAgICBsYXlvdXRJdGVtDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBkZWVwQ2xvbmUoZXZ0KSB7DQogICAgICBjb25zdCBuZXdJbmRleCA9IGV2dC5uZXdJbmRleDsNCiAgICAgIC8vIGpzb27mt7Hmi7fotJ3kuIDmrKENCiAgICAgIGNvbnN0IGxpc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEubGlzdCk7DQogICAgICB0aGlzLmRhdGEubGlzdCA9IEpTT04ucGFyc2UobGlzdFN0cmluZyk7DQogICAgICAvLyDliKDpmaRpY29u5Y+KY29tcG9lbnTlsZ7mgKcNCiAgICAgIGRlbGV0ZSB0aGlzLmRhdGEubGlzdFtuZXdJbmRleF0uaWNvbjsNCiAgICAgIGRlbGV0ZSB0aGlzLmRhdGEubGlzdFtuZXdJbmRleF0uY29tcG9uZW50Ow0KICAgICAgdGhpcy4kZW1pdCgiaGFuZGxlU2V0U2VsZWN0SXRlbSIsIHRoaXMuZGF0YS5saXN0W25ld0luZGV4XSk7DQogICAgfSwNCiAgICBoYW5kbGVDb2xBZGQoZXZ0LCBjb2x1bW5zLCBpc0NvcHkgPSBmYWxzZSkgew0KICAgICAgLy8g6YeN572u5oiW6ICF55Sf5oiQa2V55YC8DQogICAgICBjb25zdCBuZXdJbmRleCA9IGV2dC5uZXdJbmRleDsNCiAgICAgIGNvbnN0IGtleSA9IGNvbHVtbnNbbmV3SW5kZXhdLnR5cGUgKyAiXyIgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKTsNCiAgICAgIGlmIChjb2x1bW5zW25ld0luZGV4XS5rZXkgPT09ICIiIHx8IGlzQ29weSkgew0KICAgICAgICB0aGlzLiRzZXQoY29sdW1ucywgbmV3SW5kZXgsIHsNCiAgICAgICAgICAuLi5jb2x1bW5zW25ld0luZGV4XSwNCiAgICAgICAgICBrZXksDQogICAgICAgICAgbW9kZWw6IGtleQ0KICAgICAgICB9KTsNCiAgICAgICAgaWYgKHRoaXMubm9Nb2RlbC5pbmNsdWRlcyhjb2x1bW5zW25ld0luZGV4XS50eXBlKSkgew0KICAgICAgICAgIC8vIOWIoOmZpOS4jemcgOimgeeahG1vZGVs5bGe5oCnDQogICAgICAgICAgZGVsZXRlIGNvbHVtbnNbbmV3SW5kZXhdLm1vZGVsOw0KICAgICAgICB9DQogICAgICAgIGlmICh0eXBlb2YgY29sdW1uc1tuZXdJbmRleF0ub3B0aW9ucyAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAvLyDmt7Hmi7fotJ1vcHRpb25zDQogICAgICAgICAgY29uc3Qgb3B0aW9uc1N0ciA9IEpTT04uc3RyaW5naWZ5KGNvbHVtbnNbbmV3SW5kZXhdLm9wdGlvbnMpOw0KICAgICAgICAgIGNvbHVtbnNbbmV3SW5kZXhdLm9wdGlvbnMgPSBKU09OLnBhcnNlKG9wdGlvbnNTdHIpOw0KICAgICAgICB9DQogICAgICAgIGlmICh0eXBlb2YgY29sdW1uc1tuZXdJbmRleF0ucnVsZXMgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgLy8g5rex5ou36LSdcnVsZXMNCiAgICAgICAgICBjb25zdCBydWxlc1N0ciA9IEpTT04uc3RyaW5naWZ5KGNvbHVtbnNbbmV3SW5kZXhdLnJ1bGVzKTsNCiAgICAgICAgICBjb2x1bW5zW25ld0luZGV4XS5ydWxlcyA9IEpTT04ucGFyc2UocnVsZXNTdHIpOw0KICAgICAgICB9DQogICAgICAgIGlmICh0eXBlb2YgY29sdW1uc1tuZXdJbmRleF0ubGlzdCAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAvLyDmt7Hmi7fotJ1saXN0DQogICAgICAgICAgY29sdW1uc1tuZXdJbmRleF0ubGlzdCA9IFtdOw0KICAgICAgICB9DQogICAgICAgIGlmICh0eXBlb2YgY29sdW1uc1tuZXdJbmRleF0uY29sdW1ucyAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAvLyDmt7Hmi7fotJ1jb2x1bW5zDQogICAgICAgICAgY29uc3QgY29sdW1uc1N0ciA9IEpTT04uc3RyaW5naWZ5KGNvbHVtbnNbbmV3SW5kZXhdLmNvbHVtbnMpOw0KICAgICAgICAgIGNvbHVtbnNbbmV3SW5kZXhdLmNvbHVtbnMgPSBKU09OLnBhcnNlKGNvbHVtbnNTdHIpOw0KICAgICAgICAgIC8vIOWkjeWItuaXtu+8jOa4heepuuaVsOaNrg0KICAgICAgICAgIGNvbHVtbnNbbmV3SW5kZXhdLmNvbHVtbnMuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgICAgIGl0ZW0ubGlzdCA9IFtdOw0KICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgICAgIGlmIChjb2x1bW5zW25ld0luZGV4XS50eXBlID09PSAidGFibGUiKSB7DQogICAgICAgICAgLy8g5rex5ou36LSddHJzDQogICAgICAgICAgY29uc3QgdHJzU3RyID0gSlNPTi5zdHJpbmdpZnkoY29sdW1uc1tuZXdJbmRleF0udHJzKTsNCiAgICAgICAgICBjb2x1bW5zW25ld0luZGV4XS50cnMgPSBKU09OLnBhcnNlKHRyc1N0cik7DQogICAgICAgICAgLy8g5aSN5Yi25pe277yM5riF56m65pWw5o2uDQogICAgICAgICAgY29sdW1uc1tuZXdJbmRleF0udHJzLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgICBpdGVtLnRkcy5mb3JFYWNoKHZhbCA9PiB7DQogICAgICAgICAgICAgIHZhbC5saXN0ID0gW107DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgLy8g5rex5ou36LSd5pWw5o2uDQogICAgICBjb25zdCBsaXN0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoY29sdW1uc1tuZXdJbmRleF0pOw0KICAgICAgY29sdW1uc1tuZXdJbmRleF0gPSBKU09OLnBhcnNlKGxpc3RTdHJpbmcpOw0KICAgICAgdGhpcy4kZW1pdCgiaGFuZGxlU2V0U2VsZWN0SXRlbSIsIGNvbHVtbnNbbmV3SW5kZXhdKTsNCiAgICB9LA0KICAgIGRyYWdTdGFydChldnQsIGxpc3QpIHsNCiAgICAgIC8vIOaLluaLvee7k+adnyzoh6rliqjpgInmi6nmi5bmi73nmoTmjqfku7bpobkNCiAgICAgIHRoaXMuJGVtaXQoImhhbmRsZVNldFNlbGVjdEl0ZW0iLCBsaXN0W2V2dC5vbGRJbmRleF0pOw0KICAgIH0sDQogICAgaGFuZGxlU2VsZWN0SXRlbShyZWNvcmQpIHsNCiAgICAgIC8vIOS/ruaUuemAieaLqUl0ZW0NCiAgICAgIHRoaXMuJGVtaXQoImhhbmRsZVNldFNlbGVjdEl0ZW0iLCByZWNvcmQpOw0KICAgIH0sDQogICAgaGFuZGxlQ29weShpc0NvcHkgPSB0cnVlLCBkYXRhKSB7DQogICAgICBjb25zdCB0cmF2ZXJzZSA9IGFycmF5ID0+IHsNCiAgICAgICAgYXJyYXkuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHsNCiAgICAgICAgICBpZiAoZWxlbWVudC5rZXkgPT09IHRoaXMuc2VsZWN0SXRlbS5rZXkpIHsNCiAgICAgICAgICAgIGlmIChpc0NvcHkpIHsNCiAgICAgICAgICAgICAgLy8g5aSN5Yi25re75Yqg5Yiw6YCJ5oup6IqC54K55ZCO6Z2iDQogICAgICAgICAgICAgIGFycmF5LnNwbGljZShpbmRleCArIDEsIDAsIGVsZW1lbnQpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgLy8g5Y+M5Ye75re75Yqg5Yiw6YCJ5oup6IqC54K55ZCO6Z2iDQogICAgICAgICAgICAgIGFycmF5LnNwbGljZShpbmRleCArIDEsIDAsIGRhdGEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8g5aSN5Yi25a6M5oiQ77yM6YeN572ua2V55YC8DQogICAgICAgICAgICBjb25zdCBldnQgPSB7DQogICAgICAgICAgICAgIG5ld0luZGV4OiBpbmRleCArIDENCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB0aGlzLmhhbmRsZUNvbEFkZChldnQsIGFycmF5LCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKFsiZ3JpZCIsICJ0YWJzIiwgInNlbGVjdElucHV0TGlzdCJdLmluY2x1ZGVzKGVsZW1lbnQudHlwZSkpIHsNCiAgICAgICAgICAgIC8vIOagheagvOW4g+WxgA0KICAgICAgICAgICAgZWxlbWVudC5jb2x1bW5zLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgICAgIHRyYXZlcnNlKGl0ZW0ubGlzdCk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQudHlwZSA9PT0gImNhcmQiKSB7DQogICAgICAgICAgICAvLyDljaHniYfluIPlsYANCiAgICAgICAgICAgIHRyYXZlcnNlKGVsZW1lbnQubGlzdCk7DQogICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnR5cGUgPT09ICJiYXRjaCIpIHsNCiAgICAgICAgICAgIC8vIOWKqOaAgeihqOagvOWGheWkjeWItg0KICAgICAgICAgICAgaWYgKCFpc0NvcHkgJiYgIXRoaXMuaW5zZXJ0QWxsb3dlZFR5cGUuaW5jbHVkZXMoZGF0YS50eXBlKSkgew0KICAgICAgICAgICAgICAvLyDmj5LlhaXkuI3lhYHorrjnmoTlrZfmrrXml7bvvIznm7TmjqVyZXR1cm4gZmFsc2UNCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJhdmVyc2UoZWxlbWVudC5saXN0KTsNCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gInRhYmxlIikgew0KICAgICAgICAgICAgLy8g6KGo5qC85biD5bGADQogICAgICAgICAgICBlbGVtZW50LnRycy5mb3JFYWNoKGl0ZW0gPT4gew0KICAgICAgICAgICAgICBpdGVtLnRkcy5mb3JFYWNoKHZhbCA9PiB7DQogICAgICAgICAgICAgICAgdHJhdmVyc2UodmFsLmxpc3QpOw0KICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICB9Ow0KICAgICAgdHJhdmVyc2UodGhpcy5kYXRhLmxpc3QpOw0KICAgIH0sDQogICAgaGFuZGxlRGVsZXRlKCkgew0KICAgICAgLy8g5Yig6Zmk5bey6YCJ5oupDQogICAgICBjb25zdCB0cmF2ZXJzZSA9IGFycmF5ID0+IHsNCiAgICAgICAgYXJyYXkgPSBhcnJheS5maWx0ZXIoKGVsZW1lbnQsIGluZGV4KSA9PiB7DQogICAgICAgICAgaWYgKFsiZ3JpZCIsICJ0YWJzIiwgInNlbGVjdElucHV0TGlzdCJdLmluY2x1ZGVzKGVsZW1lbnQudHlwZSkpIHsNCiAgICAgICAgICAgIC8vIOagheagvOW4g+WxgA0KICAgICAgICAgICAgZWxlbWVudC5jb2x1bW5zLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgICAgIGl0ZW0ubGlzdCA9IHRyYXZlcnNlKGl0ZW0ubGlzdCk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gImNhcmQiIHx8IGVsZW1lbnQudHlwZSA9PT0gImJhdGNoIikgew0KICAgICAgICAgICAgLy8g5Y2h54mH5biD5bGADQogICAgICAgICAgICBlbGVtZW50Lmxpc3QgPSB0cmF2ZXJzZShlbGVtZW50Lmxpc3QpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSAidGFibGUiKSB7DQogICAgICAgICAgICAvLyDooajmoLzluIPlsYANCiAgICAgICAgICAgIGVsZW1lbnQudHJzLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgICAgIGl0ZW0udGRzLmZvckVhY2godmFsID0+IHsNCiAgICAgICAgICAgICAgICB2YWwubGlzdCA9IHRyYXZlcnNlKHZhbC5saXN0KTsNCiAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKGVsZW1lbnQua2V5ICE9PSB0aGlzLnNlbGVjdEl0ZW0ua2V5KSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA9PT0gMSkgew0KICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEl0ZW0oeyBrZXk6ICIiIH0pOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChhcnJheS5sZW5ndGggLSAxID4gaW5kZXgpIHsNCiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RJdGVtKGFycmF5W2luZGV4ICsgMV0pOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RJdGVtKGFycmF5W2luZGV4IC0gMV0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJheTsNCiAgICAgIH07DQoNCiAgICAgIHRoaXMuZGF0YS5saXN0ID0gdHJhdmVyc2UodGhpcy5kYXRhLmxpc3QpOw0KICAgIH0sDQogICAgaGFuZGxlRG93bk1lcmdlKCkgew0KICAgICAgLy8g5ZCR5LiL5ZCI5bm2DQoNCiAgICAgIC8vIOWIpOaWreW9k+WJjeihjOaYr+WQpuaYr+acgOWQjuS4gOihjO+8jOacgOWQjuS4gOihjOaXoOazleWQkeS4i+WQiOW5tg0KICAgICAgaWYgKA0KICAgICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRycy5sZW5ndGggLQ0KICAgICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0NCiAgICAgICAgICAgIC5yb3dzcGFuIDw9DQogICAgICAgIHRoaXMudHJJbmRleA0KICAgICAgKSB7DQogICAgICAgIG1lc3NhZ2UuZXJyb3IoIuW9k+WJjeaYr+acgOWQjuS4gOihjO+8jOaXoOazleWQkeS4i+WQiOW5tiIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQoNCiAgICAgIC8vIOiOt+WPluW9k+WJjeWNleWFg+agvOeahHJvd3NwYW4NCiAgICAgIGNvbnN0IGN1cnJlbnRSb3dzcGFuID0gdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbDQogICAgICAgIHRoaXMudGRJbmRleA0KICAgICAgXS5yb3dzcGFuOw0KDQogICAgICAvLyDliKTmlq3kuIvkuIDliJfljZXlhYPmoLzkuI7lvZPliY3ljZXlhYPmoLznmoRjb2xzcGFu5piv5ZCm5LiA6Ie077yM5aaC5p6c5LiN5LiA6Ie05YiZ5peg5rOV5ZCI5bm2DQogICAgICBpZiAoDQogICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0NCiAgICAgICAgICAuY29sc3BhbiAhPT0NCiAgICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4ICsgY3VycmVudFJvd3NwYW5dLnRkc1sNCiAgICAgICAgICB0aGlzLnRkSW5kZXgNCiAgICAgICAgXS5jb2xzcGFuDQogICAgICApIHsNCiAgICAgICAgbWVzc2FnZS5lcnJvcigi5b2T5YmN6KGo5qC85peg5rOV5ZCR5LiL5ZCI5bm2Iik7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCg0KICAgICAgLy8g6I635Y+W5LiL5LiA5YiX5Y2V5YWD5qC855qEcm93c3Bhbg0KICAgICAgY29uc3QgbmV4dFJvd1NwYW4gPSB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1sNCiAgICAgICAgdGhpcy50ckluZGV4ICsgY3VycmVudFJvd3NwYW4NCiAgICAgIF0udGRzW3RoaXMudGRJbmRleF0ucm93c3BhbjsNCg0KICAgICAgLy8g5b2T5YmN5Y2V5YWD5qC8cm93c3BhbuetieS6juW9k+WJjeWNleWFg+agvHJvd3NwYW7liqDkuIrkuIvkuIDliJfljZXlhYPmoLxyb3dzcGFuDQogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1t0aGlzLnRkSW5kZXhdLnJvd3NwYW4gPQ0KICAgICAgICBjdXJyZW50Um93c3BhbiArIG5leHRSb3dTcGFuOw0KDQogICAgICAvLyDlsIbooqvlkIjlubbnmoTljZXlhYNyb3dzcGFu5L+u5pS55Li6MA0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4ICsgY3VycmVudFJvd3NwYW5dLnRkc1sNCiAgICAgICAgdGhpcy50ZEluZGV4DQogICAgICBdLnJvd3NwYW4gPSAwOw0KDQogICAgICAvLyDmuIXnqbrooqvlkIjlubbljZXlhYPmoLxsaXN0DQogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXggKyBjdXJyZW50Um93c3Bhbl0udGRzWw0KICAgICAgICB0aGlzLnRkSW5kZXgNCiAgICAgIF0ubGlzdCA9IFtdOw0KICAgIH0sDQogICAgaGFuZGxlUmlnaHRNZXJnZSgpIHsNCiAgICAgIC8vIOWQkeWPs+WQiOW5tg0KICAgICAgLy8g6I635Y+W5b2T5YmN5YiX55qE5omA5pyJY29sc3BhbuaAu+WSjA0KICAgICAgY29uc3Qgc3VtQ29scyA9IHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzDQogICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLmNvbHNwYW4pDQogICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24ocGFydGlhbCwgdmFsdWUpIHsNCiAgICAgICAgICByZXR1cm4gcGFydGlhbCArIHZhbHVlOw0KICAgICAgICB9KTsNCg0KICAgICAgLy8g5Yik5pat5piv5ZCm5piv5pyA5ZCO5LiA5YiX77yM5pyA5ZCO5LiA5YiX5peg5rOV57un57ut5ZCR5Y+z5ZCI5bm2DQogICAgICBpZiAoDQogICAgICAgIHN1bUNvbHMgLQ0KICAgICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0NCiAgICAgICAgICAgIC5jb2xzcGFuIDw9DQogICAgICAgIHRoaXMudGRJbmRleA0KICAgICAgKSB7DQogICAgICAgIG1lc3NhZ2UuZXJyb3IoIuW9k+WJjeaYr+acgOWQjuS4gOWIl++8jOaXoOazleWQkeWPs+WQiOW5tiIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQoNCiAgICAgIC8vIOiOt+WPluW9k+WJjeWNleWFg+agvOeahGNvbHNwYW4NCiAgICAgIGNvbnN0IGN1cnJlbnRDb2xzcGFuID0gdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbDQogICAgICAgIHRoaXMudGRJbmRleA0KICAgICAgXS5jb2xzcGFuOw0KDQogICAgICAvLyDliKTmlq3pnIDopoHlkIjlubbnmoTljZXlhYPmoLxyb3dzcGFu5piv5ZCm5LiO5b2T5YmN5Y2V5YWD5qC85LiA6Ie0DQogICAgICBpZiAoDQogICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0NCiAgICAgICAgICAucm93c3BhbiAhPT0NCiAgICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbDQogICAgICAgICAgdGhpcy50ZEluZGV4ICsgY3VycmVudENvbHNwYW4NCiAgICAgICAgXS5yb3dzcGFuDQogICAgICApIHsNCiAgICAgICAgbWVzc2FnZS5lcnJvcigi5b2T5YmN6KGo5qC85peg5rOV5ZCR5Y+z5ZCI5bm2Iik7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCg0KICAgICAgLy8g5ZCI5bm25Y2V5YWD5qC8Y29sc3Bhbg0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbDQogICAgICAgIHRoaXMudGRJbmRleA0KICAgICAgXS5jb2xzcGFuICs9IHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzWw0KICAgICAgICB0aGlzLnRkSW5kZXggKyBjdXJyZW50Q29sc3Bhbg0KICAgICAgXS5jb2xzcGFuOw0KDQogICAgICAvLyDlsIbooqvlkIjlubbnmoTljZXlhYPmoLxjb2xzcGFu6K6+572u5Li6MA0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbDQogICAgICAgIHRoaXMudGRJbmRleCArIGN1cnJlbnRDb2xzcGFuDQogICAgICBdLmNvbHNwYW4gPSAwOw0KDQogICAgICAvLyDmg4XlhrXooqvlkIjlubbljZXlhYPmoLznmoRsaXN0DQogICAgICB0aGlzLnJpZ2h0TWVudVNlbGVjdFZhbHVlLnRyc1t0aGlzLnRySW5kZXhdLnRkc1sNCiAgICAgICAgdGhpcy50ZEluZGV4ICsgY3VycmVudENvbHNwYW4NCiAgICAgIF0ubGlzdCA9IFtdOw0KICAgIH0sDQogICAgLy8g5ouG5YiG5Y2V5YWD5qC8DQogICAgaGFuZGxlUmlnaHRTcGxpdCgpIHsNCiAgICAgIC8vIOiOt+WPluW9k+WJjeWNleWFg+agvOeahGNvbHNwYW7lj4pyb3dzcGFuDQogICAgICBjb25zdCB7IGNvbHNwYW4sIHJvd3NwYW4gfSA9IHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzWw0KICAgICAgICB0aGlzLnRySW5kZXgNCiAgICAgIF0udGRzW3RoaXMudGRJbmRleF07DQoNCiAgICAgIGZvciAoDQogICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMudHJJbmRleCwgcm93TGVuID0gdGhpcy50ckluZGV4ICsgcm93c3BhbjsNCiAgICAgICAgcm93SW5kZXggPCByb3dMZW47DQogICAgICAgIHJvd0luZGV4KysNCiAgICAgICkgew0KICAgICAgICBmb3IgKA0KICAgICAgICAgIGxldCBjb2xJbmRleCA9IHRoaXMudGRJbmRleCwgY29sTGVuID0gdGhpcy50ZEluZGV4ICsgY29sc3BhbjsNCiAgICAgICAgICBjb2xJbmRleCA8IGNvbExlbjsNCiAgICAgICAgICBjb2xJbmRleCsrDQogICAgICAgICkgew0KICAgICAgICAgIGlmIChyb3dJbmRleCA9PT0gdGhpcy50ckluZGV4ICYmIGNvbEluZGV4ID09PSB0aGlzLnRkSW5kZXgpIGNvbnRpbnVlOw0KICAgICAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3Jvd0luZGV4XS50ZHMuc3BsaWNlKGNvbEluZGV4LCAxLCB7DQogICAgICAgICAgICBjb2xzcGFuOiAxLA0KICAgICAgICAgICAgcm93c3BhbjogMSwNCiAgICAgICAgICAgIGxpc3Q6IFtdDQogICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIC8vIOS/ruaUueW9k+WJjeWNleWFg+agvGNvbHNwYW7jgIFyb3dzcGFu5Li6MQ0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHNbdGhpcy50ZEluZGV4XS5jb2xzcGFuID0gMTsNCiAgICAgIHRoaXMucmlnaHRNZW51U2VsZWN0VmFsdWUudHJzW3RoaXMudHJJbmRleF0udGRzW3RoaXMudGRJbmRleF0ucm93c3BhbiA9IDE7DQogICAgfSwNCiAgICBoYW5kbGVBZGRDb2woKSB7DQogICAgICAvLyDlop7liqDliJcNCg0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnMuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgaXRlbS50ZHMuc3BsaWNlKHRoaXMudGRJbmRleCArIDEsIDAsIHsNCiAgICAgICAgICBjb2xzcGFuOiAxLA0KICAgICAgICAgIHJvd3NwYW46IDEsDQogICAgICAgICAgbGlzdDogW10NCiAgICAgICAgfSk7DQogICAgICB9KTsNCiAgICB9LA0KICAgIGhhbmRsZUFkZFJvdygpIHsNCiAgICAgIC8vIOWinuWKoOihjA0KICAgICAgLy8g6I635Y+W5oC7Y29s5YC8DQogICAgICBjb25zdCBzdW1Db2xzID0gdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbMF0udGRzDQogICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLmNvbHNwYW4pDQogICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24ocGFydGlhbCwgdmFsdWUpIHsNCiAgICAgICAgICByZXR1cm4gcGFydGlhbCArIHZhbHVlOw0KICAgICAgICB9KTsNCiAgICAgIGNvbnN0IHJvd0pzb24gPSB7IHRkczogW10gfTsNCiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3VtQ29sczsgaSsrKSB7DQogICAgICAgIHJvd0pzb24udGRzLnB1c2goew0KICAgICAgICAgIGNvbHNwYW46IDEsDQogICAgICAgICAgcm93c3BhbjogMSwNCiAgICAgICAgICBsaXN0OiBbXQ0KICAgICAgICB9KTsNCiAgICAgIH0NCg0KICAgICAgLy8g5Y+W5b2T5YmNcm93c3BhbuacgOWkp+WAvA0KICAgICAgbGV0IG1heFJvd1NwYW4gPSAxOw0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnNbdGhpcy50ckluZGV4XS50ZHMuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgaWYgKG1heFJvd1NwYW4gPCBpdGVtLnJvd3NwYW4pIHsNCiAgICAgICAgICBtYXhSb3dTcGFuID0gaXRlbS5yb3dzcGFuOw0KICAgICAgICB9DQogICAgICB9KTsNCg0KICAgICAgLy8g5Zyocm93c3BhbuacgOWkp+WAvOWkhOaPkuWFpeaVsOaNrg0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZS50cnMuc3BsaWNlKA0KICAgICAgICB0aGlzLnRySW5kZXggKyBtYXhSb3dTcGFuLA0KICAgICAgICAwLA0KICAgICAgICByb3dKc29uDQogICAgICApOw0KICAgIH0sDQogICAgaGFuZGxlU2hvd1JpZ2h0TWVudShlLCB2YWwsIHRySW5kZXgsIHRkSW5kZXgpIHsNCiAgICAgIC8vIOaYvuekuuWPs+mUruiPnOWNlQ0KICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsNCiAgICAgIC8vIHRoaXMuZmlsZUl0ZW0gPSBpdGVtDQogICAgICAvLyDmmL7npLoNCiAgICAgIHRoaXMuc2hvd1JpZ2h0TWVudSA9IHRydWU7DQoNCiAgICAgIC8vIOWumuS9jQ0KICAgICAgdGhpcy5tZW51VG9wID0gZS5jbGllbnRZOw0KICAgICAgdGhpcy5tZW51TGVmdCA9IGUuY2xpZW50WDsNCiAgICAgIC8vIHRoaXMucmlnaHRNZW51VHlwZSA9IHR5cGUNCiAgICAgIC8vIHRoaXMucmlnaHRJZCA9IGlkDQogICAgICB0aGlzLmFjdGl2ZUFyciA9IFt2YWxdOw0KICAgICAgdGhpcy5yaWdodE1lbnVTZWxlY3RWYWx1ZSA9IHZhbDsNCiAgICAgIHRoaXMudHJJbmRleCA9IHRySW5kZXg7DQogICAgICB0aGlzLnRkSW5kZXggPSB0ZEluZGV4Ow0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0sDQogICAgaGFuZGxlUmVtb3ZlUmlnaHRNZW51KCkgew0KICAgICAgLy8g5Y+W5raI5Y+z6ZSu6I+c5Y2VDQogICAgICB0aGlzLnNob3dSaWdodE1lbnUgPSBmYWxzZTsNCiAgICB9DQogIH0sDQogIG1vdW50ZWQoKSB7DQogICAgLy8g5re75Yqg55uR5ZCs5Y+W5raI5Y+z6ZSu6I+c5Y2VDQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLmhhbmRsZVJlbW92ZVJpZ2h0TWVudSwgdHJ1ZSk7DQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLCB0aGlzLmhhbmRsZVJlbW92ZVJpZ2h0TWVudSwgdHJ1ZSk7DQogIH0sDQogIGRlc3Ryb3llZCgpIHsNCiAgICAvLyDnp7vpmaTnm5HlkKwNCiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuaGFuZGxlUmVtb3ZlUmlnaHRNZW51LCB0cnVlKTsNCiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKA0KICAgICAgImNvbnRleHRtZW51IiwNCiAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlUmlnaHRNZW51LA0KICAgICAgdHJ1ZQ0KICAgICk7DQogIH0NCn07DQo="},{"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":"node_modules/k-form-design/packages/components/KFormDesign/module","sourcesContent":["<!--\r\n * @Description: 表单设计器内容展示操作组件\r\n * @Author: kcz\r\n * @Date: 2019-12-31 19:39:48\r\n * @LastEditors: kcz\r\n * @LastEditTime: 2022-11-12 00:11:55\r\n -->\r\n<template>\r\n <div class=\"form-panel\">\r\n <p class=\"hint-text\" v-show=\"data.list.length === 0\">\r\n <a-empty description=\"从左侧选择控件添加\" />\r\n </p>\r\n\r\n <a-form\r\n class=\"a-form-box k-form-build\"\r\n :form=\"form\"\r\n selfUpdate\r\n :layout=\"data.config.layout\"\r\n :hideRequiredMark=\"data.config.hideRequiredMark\"\r\n :style=\"data.config.customStyle\"\r\n >\r\n <draggable\r\n tag=\"div\"\r\n class=\"draggable-box\"\r\n v-bind=\"{\r\n group: 'form-draggable',\r\n ghostClass: 'moving',\r\n animation: 180,\r\n handle: '.drag-move'\r\n }\"\r\n v-model=\"data.list\"\r\n @add=\"deepClone\"\r\n @start=\"dragStart($event, data.list)\"\r\n >\r\n <transition-group tag=\"div\" name=\"list\" class=\"list-main\">\r\n <layoutItem\r\n class=\"drag-move\"\r\n v-for=\"record in data.list\"\r\n :key=\"record.key\"\r\n :record=\"record\"\r\n :config=\"data.config\"\r\n :selectItem.sync=\"selectItem\"\r\n :startType=\"startType\"\r\n :insertAllowedType=\"insertAllowedType\"\r\n :hideModel=\"hideModel\"\r\n @dragStart=\"dragStart\"\r\n @handleSelectItem=\"handleSelectItem\"\r\n @handleCopy=\"handleCopy\"\r\n @handleDelete=\"handleDelete\"\r\n @handleColAdd=\"handleColAdd\"\r\n @handleShowRightMenu=\"handleShowRightMenu\"\r\n />\r\n </transition-group>\r\n </draggable>\r\n </a-form>\r\n <!-- 右键菜单 start -->\r\n <div\r\n v-show=\"showRightMenu\"\r\n :style=\"{ top: menuTop + 'px', left: menuLeft + 'px' }\"\r\n class=\"right-menu\"\r\n >\r\n <ul>\r\n <li @click=\"handleDownMerge\"><a-icon type=\"caret-down\" />向下合并</li>\r\n <li @click=\"handleRightMerge\"><a-icon type=\"caret-right\" />向右合并</li>\r\n <li @click=\"handleRightSplit\">\r\n <a-icon type=\"border-inner\" />拆分单元格\r\n </li>\r\n <li @click=\"handleAddCol\">\r\n <a-icon type=\"border-horizontal\" />增加一列\r\n </li>\r\n <li @click=\"handleAddRow\"><a-icon type=\"border-verticle\" />增加一行</li>\r\n </ul>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport draggable from \"vuedraggable\";\r\nimport layoutItem from \"./layoutItem\";\r\nimport { message } from \"ant-design-vue\";\r\n\r\nexport default {\r\n name: \"KCenter\",\r\n data() {\r\n return {\r\n form: this.$form.createForm(this),\r\n insertAllowedType: [\r\n \"input\",\r\n \"textarea\",\r\n \"number\",\r\n \"select\",\r\n \"checkbox\",\r\n \"radio\",\r\n \"date\",\r\n \"time\",\r\n \"rate\",\r\n \"slider\",\r\n \"uploadFile\",\r\n \"uploadImg\",\r\n \"cascader\",\r\n \"treeSelect\",\r\n \"switch\",\r\n \"text\",\r\n \"html\"\r\n ],\r\n rightMenuSelectValue: {},\r\n showRightMenu: false,\r\n menuTop: 0,\r\n menuLeft: 0,\r\n trIndex: 0,\r\n tdIndex: 0\r\n };\r\n },\r\n props: {\r\n noModel: {\r\n type: Array,\r\n required: true\r\n },\r\n startType: {\r\n type: String,\r\n required: true\r\n },\r\n data: {\r\n type: Object,\r\n required: true\r\n },\r\n selectItem: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n hideModel: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n components: {\r\n draggable,\r\n layoutItem\r\n },\r\n methods: {\r\n deepClone(evt) {\r\n const newIndex = evt.newIndex;\r\n // json深拷贝一次\r\n const listString = JSON.stringify(this.data.list);\r\n this.data.list = JSON.parse(listString);\r\n // 删除icon及compoent属性\r\n delete this.data.list[newIndex].icon;\r\n delete this.data.list[newIndex].component;\r\n this.$emit(\"handleSetSelectItem\", this.data.list[newIndex]);\r\n },\r\n handleColAdd(evt, columns, isCopy = false) {\r\n // 重置或者生成key值\r\n const newIndex = evt.newIndex;\r\n const key = columns[newIndex].type + \"_\" + new Date().getTime();\r\n if (columns[newIndex].key === \"\" || isCopy) {\r\n this.$set(columns, newIndex, {\r\n ...columns[newIndex],\r\n key,\r\n model: key\r\n });\r\n if (this.noModel.includes(columns[newIndex].type)) {\r\n // 删除不需要的model属性\r\n delete columns[newIndex].model;\r\n }\r\n if (typeof columns[newIndex].options !== \"undefined\") {\r\n // 深拷贝options\r\n const optionsStr = JSON.stringify(columns[newIndex].options);\r\n columns[newIndex].options = JSON.parse(optionsStr);\r\n }\r\n if (typeof columns[newIndex].rules !== \"undefined\") {\r\n // 深拷贝rules\r\n const rulesStr = JSON.stringify(columns[newIndex].rules);\r\n columns[newIndex].rules = JSON.parse(rulesStr);\r\n }\r\n if (typeof columns[newIndex].list !== \"undefined\") {\r\n // 深拷贝list\r\n columns[newIndex].list = [];\r\n }\r\n if (typeof columns[newIndex].columns !== \"undefined\") {\r\n // 深拷贝columns\r\n const columnsStr = JSON.stringify(columns[newIndex].columns);\r\n columns[newIndex].columns = JSON.parse(columnsStr);\r\n // 复制时,清空数据\r\n columns[newIndex].columns.forEach(item => {\r\n item.list = [];\r\n });\r\n }\r\n if (columns[newIndex].type === \"table\") {\r\n // 深拷贝trs\r\n const trsStr = JSON.stringify(columns[newIndex].trs);\r\n columns[newIndex].trs = JSON.parse(trsStr);\r\n // 复制时,清空数据\r\n columns[newIndex].trs.forEach(item => {\r\n item.tds.forEach(val => {\r\n val.list = [];\r\n });\r\n });\r\n }\r\n }\r\n // 深拷贝数据\r\n const listString = JSON.stringify(columns[newIndex]);\r\n columns[newIndex] = JSON.parse(listString);\r\n this.$emit(\"handleSetSelectItem\", columns[newIndex]);\r\n },\r\n dragStart(evt, list) {\r\n // 拖拽结束,自动选择拖拽的控件项\r\n this.$emit(\"handleSetSelectItem\", list[evt.oldIndex]);\r\n },\r\n handleSelectItem(record) {\r\n // 修改选择Item\r\n this.$emit(\"handleSetSelectItem\", record);\r\n },\r\n handleCopy(isCopy = true, data) {\r\n const traverse = array => {\r\n array.forEach((element, index) => {\r\n if (element.key === this.selectItem.key) {\r\n if (isCopy) {\r\n // 复制添加到选择节点后面\r\n array.splice(index + 1, 0, element);\r\n } else {\r\n // 双击添加到选择节点后面\r\n array.splice(index + 1, 0, data);\r\n }\r\n // 复制完成,重置key值\r\n const evt = {\r\n newIndex: index + 1\r\n };\r\n this.handleColAdd(evt, array, true);\r\n return;\r\n }\r\n if ([\"grid\", \"tabs\", \"selectInputList\"].includes(element.type)) {\r\n // 栅格布局\r\n element.columns.forEach(item => {\r\n traverse(item.list);\r\n });\r\n } else if (element.type === \"card\") {\r\n // 卡片布局\r\n traverse(element.list);\r\n } else if (element.type === \"batch\") {\r\n // 动态表格内复制\r\n if (!isCopy && !this.insertAllowedType.includes(data.type)) {\r\n // 插入不允许的字段时,直接return false\r\n return false;\r\n }\r\n traverse(element.list);\r\n }\r\n if (element.type === \"table\") {\r\n // 表格布局\r\n element.trs.forEach(item => {\r\n item.tds.forEach(val => {\r\n traverse(val.list);\r\n });\r\n });\r\n }\r\n });\r\n };\r\n traverse(this.data.list);\r\n },\r\n handleDelete() {\r\n // 删除已选择\r\n const traverse = array => {\r\n array = array.filter((element, index) => {\r\n if ([\"grid\", \"tabs\", \"selectInputList\"].includes(element.type)) {\r\n // 栅格布局\r\n element.columns.forEach(item => {\r\n item.list = traverse(item.list);\r\n });\r\n }\r\n if (element.type === \"card\" || element.type === \"batch\") {\r\n // 卡片布局\r\n element.list = traverse(element.list);\r\n }\r\n if (element.type === \"table\") {\r\n // 表格布局\r\n element.trs.forEach(item => {\r\n item.tds.forEach(val => {\r\n val.list = traverse(val.list);\r\n });\r\n });\r\n }\r\n if (element.key !== this.selectItem.key) {\r\n return true;\r\n } else {\r\n if (array.length === 1) {\r\n this.handleSelectItem({ key: \"\" });\r\n } else if (array.length - 1 > index) {\r\n this.handleSelectItem(array[index + 1]);\r\n } else {\r\n this.handleSelectItem(array[index - 1]);\r\n }\r\n return false;\r\n }\r\n });\r\n return array;\r\n };\r\n\r\n this.data.list = traverse(this.data.list);\r\n },\r\n handleDownMerge() {\r\n // 向下合并\r\n\r\n // 判断当前行是否是最后一行,最后一行无法向下合并\r\n if (\r\n this.rightMenuSelectValue.trs.length -\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\r\n .rowspan <=\r\n this.trIndex\r\n ) {\r\n message.error(\"当前是最后一行,无法向下合并\");\r\n return false;\r\n }\r\n\r\n // 获取当前单元格的rowspan\r\n const currentRowspan = this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex\r\n ].rowspan;\r\n\r\n // 判断下一列单元格与当前单元格的colspan是否一致,如果不一致则无法合并\r\n if (\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\r\n .colspan !==\r\n this.rightMenuSelectValue.trs[this.trIndex + currentRowspan].tds[\r\n this.tdIndex\r\n ].colspan\r\n ) {\r\n message.error(\"当前表格无法向下合并\");\r\n return false;\r\n }\r\n\r\n // 获取下一列单元格的rowspan\r\n const nextRowSpan = this.rightMenuSelectValue.trs[\r\n this.trIndex + currentRowspan\r\n ].tds[this.tdIndex].rowspan;\r\n\r\n // 当前单元格rowspan等于当前单元格rowspan加上下一列单元格rowspan\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex].rowspan =\r\n currentRowspan + nextRowSpan;\r\n\r\n // 将被合并的单元rowspan修改为0\r\n this.rightMenuSelectValue.trs[this.trIndex + currentRowspan].tds[\r\n this.tdIndex\r\n ].rowspan = 0;\r\n\r\n // 清空被合并单元格list\r\n this.rightMenuSelectValue.trs[this.trIndex + currentRowspan].tds[\r\n this.tdIndex\r\n ].list = [];\r\n },\r\n handleRightMerge() {\r\n // 向右合并\r\n // 获取当前列的所有colspan总和\r\n const sumCols = this.rightMenuSelectValue.trs[this.trIndex].tds\r\n .map(item => item.colspan)\r\n .reduce(function(partial, value) {\r\n return partial + value;\r\n });\r\n\r\n // 判断是否是最后一列,最后一列无法继续向右合并\r\n if (\r\n sumCols -\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\r\n .colspan <=\r\n this.tdIndex\r\n ) {\r\n message.error(\"当前是最后一列,无法向右合并\");\r\n return false;\r\n }\r\n\r\n // 获取当前单元格的colspan\r\n const currentColspan = this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex\r\n ].colspan;\r\n\r\n // 判断需要合并的单元格rowspan是否与当前单元格一致\r\n if (\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex]\r\n .rowspan !==\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex + currentColspan\r\n ].rowspan\r\n ) {\r\n message.error(\"当前表格无法向右合并\");\r\n return false;\r\n }\r\n\r\n // 合并单元格colspan\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex\r\n ].colspan += this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex + currentColspan\r\n ].colspan;\r\n\r\n // 将被合并的单元格colspan设置为0\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex + currentColspan\r\n ].colspan = 0;\r\n\r\n // 情况被合并单元格的list\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[\r\n this.tdIndex + currentColspan\r\n ].list = [];\r\n },\r\n // 拆分单元格\r\n handleRightSplit() {\r\n // 获取当前单元格的colspan及rowspan\r\n const { colspan, rowspan } = this.rightMenuSelectValue.trs[\r\n this.trIndex\r\n ].tds[this.tdIndex];\r\n\r\n for (\r\n let rowIndex = this.trIndex, rowLen = this.trIndex + rowspan;\r\n rowIndex < rowLen;\r\n rowIndex++\r\n ) {\r\n for (\r\n let colIndex = this.tdIndex, colLen = this.tdIndex + colspan;\r\n colIndex < colLen;\r\n colIndex++\r\n ) {\r\n if (rowIndex === this.trIndex && colIndex === this.tdIndex) continue;\r\n this.rightMenuSelectValue.trs[rowIndex].tds.splice(colIndex, 1, {\r\n colspan: 1,\r\n rowspan: 1,\r\n list: []\r\n });\r\n }\r\n }\r\n // 修改当前单元格colspan、rowspan为1\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex].colspan = 1;\r\n this.rightMenuSelectValue.trs[this.trIndex].tds[this.tdIndex].rowspan = 1;\r\n },\r\n handleAddCol() {\r\n // 增加列\r\n\r\n this.rightMenuSelectValue.trs.forEach(item => {\r\n item.tds.splice(this.tdIndex + 1, 0, {\r\n colspan: 1,\r\n rowspan: 1,\r\n list: []\r\n });\r\n });\r\n },\r\n handleAddRow() {\r\n // 增加行\r\n // 获取总col值\r\n const sumCols = this.rightMenuSelectValue.trs[0].tds\r\n .map(item => item.colspan)\r\n .reduce(function(partial, value) {\r\n return partial + value;\r\n });\r\n const rowJson = { tds: [] };\r\n for (let i = 0; i < sumCols; i++) {\r\n rowJson.tds.push({\r\n colspan: 1,\r\n rowspan: 1,\r\n list: []\r\n });\r\n }\r\n\r\n // 取当前rowspan最大值\r\n let maxRowSpan = 1;\r\n this.rightMenuSelectValue.trs[this.trIndex].tds.forEach(item => {\r\n if (maxRowSpan < item.rowspan) {\r\n maxRowSpan = item.rowspan;\r\n }\r\n });\r\n\r\n // 在rowspan最大值处插入数据\r\n this.rightMenuSelectValue.trs.splice(\r\n this.trIndex + maxRowSpan,\r\n 0,\r\n rowJson\r\n );\r\n },\r\n handleShowRightMenu(e, val, trIndex, tdIndex) {\r\n // 显示右键菜单\r\n e.stopPropagation();\r\n // this.fileItem = item\r\n // 显示\r\n this.showRightMenu = true;\r\n\r\n // 定位\r\n this.menuTop = e.clientY;\r\n this.menuLeft = e.clientX;\r\n // this.rightMenuType = type\r\n // this.rightId = id\r\n this.activeArr = [val];\r\n this.rightMenuSelectValue = val;\r\n this.trIndex = trIndex;\r\n this.tdIndex = tdIndex;\r\n return false;\r\n },\r\n handleRemoveRightMenu() {\r\n // 取消右键菜单\r\n this.showRightMenu = false;\r\n }\r\n },\r\n mounted() {\r\n // 添加监听取消右键菜单\r\n document.addEventListener(\"click\", this.handleRemoveRightMenu, true);\r\n document.addEventListener(\"contextmenu\", this.handleRemoveRightMenu, true);\r\n },\r\n destroyed() {\r\n // 移除监听\r\n document.removeEventListener(\"click\", this.handleRemoveRightMenu, true);\r\n document.removeEventListener(\r\n \"contextmenu\",\r\n this.handleRemoveRightMenu,\r\n true\r\n );\r\n }\r\n};\r\n</script>\r\n"]}]}
|