forked from liweijie/education
1 line
58 KiB
JSON
1 line
58 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\subjectMajor\\major\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\subjectMajor\\major\\index.vue","mtime":1787648648721},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKdmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQyLmpzIikpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLnRvLWpzb24uanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmRlbGV0ZS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmhhcy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLnNpemUuanMiKTsKdmFyIF9tYWpvciA9IHJlcXVpcmUoIkAvYXBpL3N1YmplY3RNYWpvci9tYWpvciIpOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSBleHBvcnRzLmRlZmF1bHQgPSB7CiAgbmFtZTogIk1ham9yIiwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5p+l6K+i5p2h5Lu2ID09PT09PT09PT09PT09PT09PT09CiAgICAgIHNlYXJjaEZvcm06IHsKICAgICAgICB6eW1jOiAnJywKICAgICAgICB6eWZ4OiAnJywKICAgICAgICB6eWRtOiAnJywKICAgICAgICB4bno6ICcnLAogICAgICAgIHB4bHg6ICcnLAogICAgICAgIHB4bHgyOiAnJywKICAgICAgICBweGNjOiAnJywKICAgICAgICB4a3p5eHhic2g6ICcnLAogICAgICAgIHR5OiAnJwogICAgICB9LAogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDliJfooajmlbDmja4gPT09PT09PT09PT09PT09PT09PT0KICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIHRhYmxlRGF0YTogW10sCiAgICAgIHRvdGFsOiAwLAogICAgICBwYWdlTnVtOiAxLAogICAgICBwYWdlU2l6ZTogMjAsCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOaWsOWini/nvJbovpEgPT09PT09PT09PT09PT09PT09PT0KICAgICAgZm9ybURpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBmb3JtVGl0bGU6ICfmlrDlop7kuJPkuJonLAogICAgICBpc0FkZDogdHJ1ZSwKICAgICAgZm9ybVNhdmluZzogZmFsc2UsCiAgICAgIGZvcm06IHRoaXMuY3JlYXRlRW1wdHlGb3JtKCksCiAgICAgIGZvcm1SdWxlczogewogICAgICAgIHp5ZGg6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLkuJPkuJrku6Plj7fkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgenltYzogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuS4k+S4muWQjeensOS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICB6eWZ4OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi5LiT5Lia5pa55ZCR5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHp5ZG06IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLkuJPkuJrku6PnoIHkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgenliYjogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuS4k+S4mueJiOacrOS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICB4bno6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLlrablubTliLbkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgeHFzOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi5a2m5pyf5pWw5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJjaGFuZ2UiCiAgICAgICAgfV0sCiAgICAgICAgenlic2g6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLkuJPkuJrmoIfor4blj7fkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgcHhjYzogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuWfueiureWxguasoeS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICBweGx4OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi5Z+56K6t57G75Z6L5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHB4bHgyOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi5Z+56K6t57G75Z6LMuS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICB4eWxiOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi5a2m5ZGY57G75Yir5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHpkeWZsOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi6Ieq5a6a5LmJ5YiG57G75LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHpnenk6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLkuLvlubLkuJPkuJrkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImNoYW5nZSIKICAgICAgICB9XSwKICAgICAgICBqY2xiOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi6IqC5qyh57G75Yir5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHh0bXM6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLns7vnu5/mqKHlvI/kuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g6K+m5oOFID09PT09PT09PT09PT09PT09PT09CiAgICAgIHZpZXdEaWFsb2dWaXNpYmxlOiBmYWxzZSwKICAgICAgdmlld0xvYWRpbmc6IGZhbHNlLAogICAgICB2aWV3Rm9ybToge30KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5mZXRjaExpc3QoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8qKiDooajmoLzluo/lj7fvvIjot6jpobXov57nu63vvIkgKi9mbXRYaDogZnVuY3Rpb24gZm10WGgoaW5kZXgpIHsKICAgICAgcmV0dXJuICh0aGlzLnBhZ2VOdW0gLSAxKSAqIHRoaXMucGFnZVNpemUgKyBpbmRleCArIDE7CiAgICB9LAogICAgLyoqIOWIm+W7uuepuuihqOWNlSAqL2NyZWF0ZUVtcHR5Rm9ybTogZnVuY3Rpb24gY3JlYXRlRW1wdHlGb3JtKCkgewogICAgICByZXR1cm4gewogICAgICAgIHp5ZGg6ICcnLAogICAgICAgIHp5bWM6ICcnLAogICAgICAgIHp5Zng6ICcnLAogICAgICAgIHhuejogJycsCiAgICAgICAgeHFzOiB1bmRlZmluZWQsCiAgICAgICAgenliejogJycsCiAgICAgICAgenlnZjogJycsCiAgICAgICAgenlkbTogJycsCiAgICAgICAgenliYjogJycsCiAgICAgICAgdHk6IDAsCiAgICAgICAgcXlzajogbnVsbCwKICAgICAgICB0eXNqOiBudWxsLAogICAgICAgIGp4Z2xqZ2JoOiAnJywKICAgICAgICBweGNjOiAnJywKICAgICAgICBweGx4OiAnJywKICAgICAgICB4a3p5eHhic2g6ICcnLAogICAgICAgIHB4bHgyOiAnJywKICAgICAgICB4eWxiOiAnJywKICAgICAgICB6ZHlmbDogJycsCiAgICAgICAgenlic2g6ICcnLAogICAgICAgIHhoYnM6IHVuZGVmaW5lZCwKICAgICAgICBqYzogJycsCiAgICAgICAgamNsYjogJycsCiAgICAgICAgeHRtczogJycsCiAgICAgICAganNvbnpkOiAnJywKICAgICAgICB6Z3p5OiAnJywKICAgICAgICBnZm1jOiAnJywKICAgICAgICBqeGRnYmg6ICcnLAogICAgICAgIHJwYmg6ICcnLAogICAgICAgIHB5bWI6ICcnCiAgICAgIH07CiAgICB9LAogICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5p+l6K+i5YiX6KGoID09PT09PT09PT09PT09PT09PT09CiAgICBmZXRjaExpc3Q6IGZ1bmN0aW9uIGZldGNoTGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgdmFyIHBhcmFtcyA9IHsKICAgICAgICBwYWdlTnVtOiB0aGlzLnBhZ2VOdW0sCiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUKICAgICAgfTsKICAgICAgLy8g54q25oCB77yaMCDlkK/nlKggLyAxIOWBnOeUqO+8iOmAieS4reaXtuaJjeS8oO+8iQogICAgICBpZiAodGhpcy5zZWFyY2hGb3JtLnR5ICE9PSAnJyAmJiB0aGlzLnNlYXJjaEZvcm0udHkgIT09IG51bGwgJiYgdGhpcy5zZWFyY2hGb3JtLnR5ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBwYXJhbXMudHkgPSB0aGlzLnNlYXJjaEZvcm0udHk7CiAgICAgIH0KICAgICAgLy8g5YW25L2Z5paH5pys5p2h5Lu26Z2e56m65pe25omN5LygCiAgICAgIDsKICAgICAgWyd6eW1jJywgJ3p5ZngnLCAnenlkbScsICd4bnonLCAncHhseCcsICdweGx4MicsICdweGNjJywgJ3hrenl4eGJzaCddLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIGlmIChfdGhpcy5zZWFyY2hGb3JtW2tleV0gIT09ICcnICYmIF90aGlzLnNlYXJjaEZvcm1ba2V5XSAhPT0gbnVsbCAmJiBfdGhpcy5zZWFyY2hGb3JtW2tleV0gIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgcGFyYW1zW2tleV0gPSBfdGhpcy5zZWFyY2hGb3JtW2tleV0udHJpbSgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgICgwLCBfbWFqb3IubGlzdE1ham9yKShwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgdmFyIGRhdGEgPSByZXNwb25zZS5kYXRhIHx8IHt9OwogICAgICAgIF90aGlzLnRhYmxlRGF0YSA9IGRhdGEucmVjb3JkcyB8fCBbXTsKICAgICAgICBfdGhpcy50b3RhbCA9IGRhdGEudG90YWwgfHwgMDsKICAgICAgICBfdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpcy50YWJsZURhdGEgPSBbXTsKICAgICAgICBfdGhpcy50b3RhbCA9IDA7CiAgICAgICAgX3RoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVTZWFyY2g6IGZ1bmN0aW9uIGhhbmRsZVNlYXJjaCgpIHsKICAgICAgdGhpcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5mZXRjaExpc3QoKTsKICAgIH0sCiAgICBoYW5kbGVSZXNldDogZnVuY3Rpb24gaGFuZGxlUmVzZXQoKSB7CiAgICAgIHRoaXMuc2VhcmNoRm9ybSA9IHsKICAgICAgICB6eW1jOiAnJywKICAgICAgICB6eWZ4OiAnJywKICAgICAgICB6eWRtOiAnJywKICAgICAgICB4bno6ICcnLAogICAgICAgIHB4bHg6ICcnLAogICAgICAgIHB4bHgyOiAnJywKICAgICAgICBweGNjOiAnJywKICAgICAgICB4a3p5eHhic2g6ICcnLAogICAgICAgIHR5OiAnJwogICAgICB9OwogICAgICB0aGlzLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmZldGNoTGlzdCgpOwogICAgfSwKICAgIGhhbmRsZVBhZ2VDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVBhZ2VDaGFuZ2UoY3VycmVudCkgewogICAgICB0aGlzLnBhZ2VOdW0gPSBjdXJyZW50OwogICAgICB0aGlzLmZldGNoTGlzdCgpOwogICAgfSwKICAgIGhhbmRsZVNpemVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNpemVDaGFuZ2Uoc2l6ZSkgewogICAgICB0aGlzLnBhZ2VTaXplID0gc2l6ZTsKICAgICAgdGhpcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5mZXRjaExpc3QoKTsKICAgIH0sCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDmlrDlop4v57yW6L6RID09PT09PT09PT09PT09PT09PT09CiAgICBoYW5kbGVBZGQ6IGZ1bmN0aW9uIGhhbmRsZUFkZCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuaXNBZGQgPSB0cnVlOwogICAgICB0aGlzLmZvcm1UaXRsZSA9ICfmlrDlop7kuJPkuJonOwogICAgICB0aGlzLmZvcm0gPSB0aGlzLmNyZWF0ZUVtcHR5Rm9ybSgpOwogICAgICB0aGlzLmZvcm1EaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMi4kcmVmcy5mb3JtUmVmICYmIF90aGlzMi4kcmVmcy5mb3JtUmVmLmNsZWFyVmFsaWRhdGUoKTsKICAgICAgfSk7CiAgICB9LAogICAgaGFuZGxlRWRpdDogZnVuY3Rpb24gaGFuZGxlRWRpdChyb3cpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHRoaXMuaXNBZGQgPSBmYWxzZTsKICAgICAgdGhpcy5mb3JtVGl0bGUgPSAn57yW6L6R5LiT5LiaJzsKICAgICAgdGhpcy5mb3JtID0gdGhpcy5jcmVhdGVFbXB0eUZvcm0oKTsKICAgICAgdGhpcy5mb3JtRGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczMuJHJlZnMuZm9ybVJlZiAmJiBfdGhpczMuJHJlZnMuZm9ybVJlZi5jbGVhclZhbGlkYXRlKCk7CiAgICAgIH0pOwogICAgICAoMCwgX21ham9yLmdldE1ham9yKShyb3cuenlkaCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICB2YXIgZGF0YSA9IHJlc3BvbnNlLmRhdGEgfHwge307CiAgICAgICAgX3RoaXMzLmZvcm0gPSB7CiAgICAgICAgICB6eWRoOiBkYXRhLnp5ZGgsCiAgICAgICAgICB6eW1jOiBkYXRhLnp5bWMsCiAgICAgICAgICB6eWZ4OiBkYXRhLnp5ZngsCiAgICAgICAgICB4bno6IGRhdGEueG56LAogICAgICAgICAgeHFzOiBkYXRhLnhxcyAhPT0gbnVsbCAmJiBkYXRhLnhxcyAhPT0gdW5kZWZpbmVkID8gZGF0YS54cXMgOiB1bmRlZmluZWQsCiAgICAgICAgICB6eWJ6OiBkYXRhLnp5YnosCiAgICAgICAgICB6eWdmOiBkYXRhLnp5Z2YsCiAgICAgICAgICB6eWRtOiBkYXRhLnp5ZG0sCiAgICAgICAgICB6eWJiOiBkYXRhLnp5YmIsCiAgICAgICAgICB0eTogZGF0YS50eSA9PT0gMSB8fCBkYXRhLnR5ID09PSB0cnVlID8gMSA6IDAsCiAgICAgICAgICBxeXNqOiBkYXRhLnF5c2osCiAgICAgICAgICB0eXNqOiBkYXRhLnR5c2osCiAgICAgICAgICBqeGdsamdiaDogZGF0YS5qeGdsamdiaCwKICAgICAgICAgIHB4Y2M6IGRhdGEucHhjYywKICAgICAgICAgIHB4bHg6IGRhdGEucHhseCwKICAgICAgICAgIHhrenl4eGJzaDogZGF0YS54a3p5eHhic2gsCiAgICAgICAgICBweGx4MjogZGF0YS5weGx4MiwKICAgICAgICAgIHh5bGI6IGRhdGEueHlsYiwKICAgICAgICAgIHpkeWZsOiBkYXRhLnpkeWZsLAogICAgICAgICAgenlic2g6IGRhdGEuenlic2gsCiAgICAgICAgICB4aGJzOiBkYXRhLnhoYnMsCiAgICAgICAgICBqYzogZGF0YS5qYywKICAgICAgICAgIGpjbGI6IGRhdGEuamNsYiwKICAgICAgICAgIHh0bXM6IGRhdGEueHRtcywKICAgICAgICAgIGpzb256ZDogZGF0YS5qc29uemQsCiAgICAgICAgICB6Z3p5OiBkYXRhLnpnenksCiAgICAgICAgICBnZm1jOiBkYXRhLmdmbWMsCiAgICAgICAgICBqeGRnYmg6IGRhdGEuanhkZ2JoLAogICAgICAgICAgcnBiaDogZGF0YS5ycGJoLAogICAgICAgICAgcHltYjogZGF0YS5weW1iCiAgICAgICAgfTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIGhhbmRsZUZvcm1TdWJtaXQ6IGZ1bmN0aW9uIGhhbmRsZUZvcm1TdWJtaXQoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB0aGlzLiRyZWZzLmZvcm1SZWYudmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKCF2YWxpZCkgcmV0dXJuOwogICAgICAgIF90aGlzNC5mb3JtU2F2aW5nID0gdHJ1ZTsKICAgICAgICB2YXIgcGF5bG9hZCA9ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSh7fSwgX3RoaXM0LmZvcm0pOwogICAgICAgIHZhciByZXF1ZXN0ID0gX3RoaXM0LmlzQWRkID8gKDAsIF9tYWpvci5hZGRNYWpvcikocGF5bG9hZCkgOiAoMCwgX21ham9yLnVwZGF0ZU1ham9yKShwYXlsb2FkKTsKICAgICAgICByZXF1ZXN0LnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLnN1Y2Nlc3MoX3RoaXM0LmlzQWRkID8gJ+aWsOWinuaIkOWKnycgOiAn5L+u5pS55oiQ5YqfJyk7CiAgICAgICAgICBfdGhpczQuZm9ybURpYWxvZ1Zpc2libGUgPSBmYWxzZTsKICAgICAgICAgIF90aGlzNC5mZXRjaExpc3QoKTsKICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSkuZmluYWxseShmdW5jdGlvbiAoKSB7CiAgICAgICAgICBfdGhpczQuZm9ybVNhdmluZyA9IGZhbHNlOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDlgZznlKgv5ZCv55So5YiH5o2iID09PT09PT09PT09PT09PT09PT09CiAgICBoYW5kbGVUb2dnbGVEaXNhYmxlOiBmdW5jdGlvbiBoYW5kbGVUb2dnbGVEaXNhYmxlKHJvdywgdmFsKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICB2YXIgaXNEaXNhYmxlID0gdmFsID09PSAxIHx8IHZhbCA9PT0gdHJ1ZTsKICAgICAgdmFyIHByZXZUeSA9IGlzRGlzYWJsZSA/IDAgOiAxOwogICAgICB2YXIgYWN0aW9uTmFtZSA9IGlzRGlzYWJsZSA/ICflgZznlKgnIDogJ+WQr+eUqCc7CiAgICAgIHRoaXMuJGNvbmZpcm0oIlx1Nzg2RVx1NUI5QVx1ODk4MSIuY29uY2F0KGFjdGlvbk5hbWUsICJcdTMwMEMiKS5jb25jYXQocm93Lnp5bWMgfHwgcm93Lnp5ZGggfHwgJ+ivpeS4k+S4micsICJcdTMwMERcdTU0MTdcdUZGMUYiKSwgJ+ezu+e7n+aPkOekuicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX21ham9yLnVwZGF0ZU1ham9yKSgoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCByb3cpLCB7fSwgewogICAgICAgICAgdHk6IGlzRGlzYWJsZSA/IDEgOiAwCiAgICAgICAgfSkpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczUuJG1lc3NhZ2Uuc3VjY2VzcyhhY3Rpb25OYW1lICsgJ+aIkOWKnycpOwogICAgICAgIF90aGlzNS5mZXRjaExpc3QoKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgIC8vIOWPlua2iOaIluaOpeWPo+Wksei0peaXtuWbnua7muW8gOWFs+eKtuaAgeW5tuWIt+aWsAogICAgICAgIHJvdy50eSA9IHByZXZUeTsKICAgICAgICBfdGhpczUuZmV0Y2hMaXN0KCk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vID09PT09PT09PT09PT09PT09PT09IOWIoOmZpCA9PT09PT09PT09PT09PT09PT09PQogICAgaGFuZGxlRGVsZXRlOiBmdW5jdGlvbiBoYW5kbGVEZWxldGUocm93KSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCJcdTc4NkVcdTVCOUFcdTg5ODFcdTUyMjBcdTk2NjRcdTMwMEMiLmNvbmNhdChyb3cuenltYyB8fCByb3cuenlkaCB8fCAn6K+l5LiT5LiaJywgIlx1MzAwRFx1NTQxN1x1RkYxRiIpLCAn57O757uf5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfbWFqb3IuZGVsTWFqb3IpKHJvdy56eWRoKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM2LiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpOwogICAgICAgIF90aGlzNi5mZXRjaExpc3QoKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIC8vID09PT09PT09PT09PT09PT09PT09IOS4i+i9veaooeadvyA9PT09PT09PT09PT09PT09PT09PQogICAgaGFuZGxlRG93bmxvYWRUZW1wbGF0ZTogZnVuY3Rpb24gaGFuZGxlRG93bmxvYWRUZW1wbGF0ZSgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgICgwLCBfbWFqb3IuZG93bmxvYWRNYWpvclRlbXBsYXRlKSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW3Jlc10sIHsKICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWw7Y2hhcnNldD11dGYtOCcKICAgICAgICB9KTsKICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICBsaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwogICAgICAgIGxpbmsuZG93bmxvYWQgPSAn5Lq65omN5Z+55YW75pa55qGI6K++56iL5pWw5o2u5paH5Lu25qih5p2/Lnhscyc7CiAgICAgICAgbGluay5jbGljaygpOwogICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwobGluay5ocmVmKTsKICAgICAgICBfdGhpczcuJG1lc3NhZ2Uuc3VjY2Vzcygn5qih5p2/5LiL6L295oiQ5YqfJyk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDor6bmg4UgPT09PT09PT09PT09PT09PT09PT0KICAgIGhhbmRsZVZpZXc6IGZ1bmN0aW9uIGhhbmRsZVZpZXcocm93KSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICB0aGlzLnZpZXdEaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy52aWV3TG9hZGluZyA9IHRydWU7CiAgICAgIHRoaXMudmlld0Zvcm0gPSB7fTsKICAgICAgKDAsIF9tYWpvci5nZXRNYWpvcikocm93Lnp5ZGgpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM4LnZpZXdGb3JtID0gcmVzcG9uc2UuZGF0YSB8fCB7fTsKICAgICAgICBfdGhpczgudmlld0xvYWRpbmcgPSBmYWxzZTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzOC52aWV3TG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0KICB9Cn07"},{"version":3,"names":["_major","require","name","data","searchForm","zymc","zyfx","zydm","xnz","pxlx","pxlx2","pxcc","xkzyxxbsh","ty","loading","tableData","total","pageNum","pageSize","formDialogVisible","formTitle","isAdd","formSaving","form","createEmptyForm","formRules","zydh","required","message","trigger","zybb","xqs","zybsh","xylb","zdyfl","zgzy","jclb","xtms","viewDialogVisible","viewLoading","viewForm","created","fetchList","methods","fmtXh","index","undefined","zybz","zygf","qysj","tysj","jxgljgbh","xhbs","jc","jsonzd","gfmc","jxdgbh","rpbh","pymb","_this","params","forEach","key","trim","listMajor","then","response","records","catch","handleSearch","handleReset","handlePageChange","current","handleSizeChange","size","handleAdd","_this2","$nextTick","$refs","formRef","clearValidate","handleEdit","row","_this3","getMajor","handleFormSubmit","_this4","validate","valid","payload","_objectSpread2","default","request","addMajor","updateMajor","$message","success","finally","handleToggleDisable","val","_this5","isDisable","prevTy","actionName","$confirm","concat","confirmButtonText","cancelButtonText","type","handleDelete","_this6","delMajor","handleDownloadTemplate","_this7","downloadMajorTemplate","res","blob","Blob","link","document","createElement","href","URL","createObjectURL","download","click","revokeObjectURL","handleView","_this8"],"sources":["src/views/subjectMajor/major/index.vue"],"sourcesContent":["<template>\r\n <div class=\"app-container major-page\">\r\n <!-- ==================== 1. 查询条件 ==================== -->\r\n <el-card shadow=\"never\" class=\"search-card\">\r\n <el-form ref=\"searchFormRef\" :model=\"searchForm\" label-width=\"140px\" class=\"search-form\">\r\n <el-row :gutter=\"24\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"专业名称\">\r\n <el-input v-model=\"searchForm.zymc\" placeholder=\"请输入专业名称\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"专业方向\">\r\n <el-input v-model=\"searchForm.zyfx\" placeholder=\"请输入专业方向\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"专业代码\">\r\n <el-input v-model=\"searchForm.zydm\" placeholder=\"请输入专业代码\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"学年制\">\r\n <el-input v-model=\"searchForm.xnz\" placeholder=\"请输入学年制\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"培训类型\">\r\n <el-input v-model=\"searchForm.pxlx\" placeholder=\"请输入培训类型\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"培训类型2\">\r\n <el-input v-model=\"searchForm.pxlx2\" placeholder=\"请输入培训类型2\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"培训层次\">\r\n <el-input v-model=\"searchForm.pxcc\" placeholder=\"请输入培训层次\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"学科专业信息标识号\">\r\n <el-input v-model=\"searchForm.xkzyxxbsh\" placeholder=\"请输入学科专业信息标识号\" clearable @keyup.enter.native=\"handleSearch\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\r\n <el-form-item label=\"状态\">\r\n <el-select v-model=\"searchForm.ty\" placeholder=\"请选择状态\" clearable style=\"width: 100%\">\r\n <el-option label=\"启用\" :value=\"0\" />\r\n <el-option label=\"停用\" :value=\"1\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row class=\"search-actions-row\">\r\n <el-col :span=\"24\" class=\"search-actions\">\r\n <el-button type=\"primary\" icon=\"el-icon-search\" @click=\"handleSearch\">查询</el-button>\r\n <el-button icon=\"el-icon-refresh\" @click=\"handleReset\">重置</el-button>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-card>\r\n\r\n <!-- ==================== 2. 列表 ==================== -->\r\n <el-card shadow=\"never\" class=\"table-card\">\r\n <div class=\"table-header\">\r\n <span class=\"table-title\">专业列表:</span>\r\n <div class=\"table-actions\">\r\n <el-button type=\"primary\" icon=\"el-icon-download\" @click=\"handleDownloadTemplate\">下载模板</el-button>\r\n <el-button type=\"primary\" icon=\"el-icon-plus\" @click=\"handleAdd\">新增专业</el-button>\r\n </div>\r\n </div>\r\n <el-table v-loading=\"loading\" :data=\"tableData\" stripe border highlight-current-row>\r\n <el-table-column label=\"序号\" width=\"60\" align=\"center\">\r\n <template slot-scope=\"scope\">{{ fmtXh(scope.$index) }}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"zydh\" label=\"专业代号\" width=\"120\" show-overflow-tooltip />\r\n <el-table-column prop=\"zymc\" label=\"专业名称\" min-width=\"140\" show-overflow-tooltip />\r\n <el-table-column prop=\"zyfx\" label=\"专业方向\" min-width=\"120\" show-overflow-tooltip />\r\n <el-table-column prop=\"zydm\" label=\"专业代码\" width=\"110\" show-overflow-tooltip />\r\n <el-table-column prop=\"xnz\" label=\"学年制\" width=\"80\" align=\"center\" />\r\n <el-table-column prop=\"xqs\" label=\"学期数\" width=\"80\" align=\"center\" />\r\n <el-table-column prop=\"pxcc\" label=\"培训层次\" width=\"100\" align=\"center\" />\r\n <el-table-column prop=\"pxlx\" label=\"培训类型\" width=\"100\" align=\"center\" />\r\n <el-table-column prop=\"pxlx2\" label=\"培训类型2\" width=\"100\" align=\"center\" />\r\n <el-table-column prop=\"xylb\" label=\"学员类别\" width=\"100\" align=\"center\" />\r\n <el-table-column label=\"停用\" width=\"80\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <el-tag\r\n :type=\"scope.row.ty === 1 || scope.row.ty === true ? 'danger' : 'success'\"\r\n class=\"ty-tag\"\r\n @click.native=\"handleToggleDisable(scope.row, scope.row.ty === 1 || scope.row.ty === true ? 0 : 1)\"\r\n >\r\n {{ scope.row.ty === 1 || scope.row.ty === true ? '是' : '否' }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" width=\"180\" align=\"center\" fixed=\"right\">\r\n <template slot-scope=\"scope\">\r\n <el-button type=\"text\" size=\"small\" icon=\"el-icon-view\" @click=\"handleView(scope.row)\">详情</el-button>\r\n <el-button type=\"text\" size=\"small\" icon=\"el-icon-edit\" @click=\"handleEdit(scope.row)\">编辑</el-button>\r\n <el-button type=\"text\" size=\"small\" icon=\"el-icon-delete\" class=\"text-danger\" @click=\"handleDelete(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <el-pagination\r\n :current-page=\"pageNum\"\r\n :page-size=\"pageSize\"\r\n :total=\"total\"\r\n :page-sizes=\"[10, 20, 50, 100]\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n class=\"pagination-wrapper\"\r\n @current-change=\"handlePageChange\"\r\n @size-change=\"handleSizeChange\"\r\n />\r\n </el-card>\r\n\r\n <!-- ==================== 3. 新增/编辑专业对话框 ==================== -->\r\n <el-dialog\r\n :title=\"formTitle\"\r\n :visible.sync=\"formDialogVisible\"\r\n width=\"900px\"\r\n :close-on-click-modal=\"false\"\r\n >\r\n <el-form ref=\"formRef\" :model=\"form\" :rules=\"formRules\" label-width=\"130px\" class=\"form-dialog-form\">\r\n <el-divider content-position=\"left\">基本信息</el-divider>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专业代号\" prop=\"zydh\">\r\n <el-input v-model=\"form.zydh\" :disabled=\"!isAdd\" placeholder=\"请输入专业代号\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专业名称\" prop=\"zymc\">\r\n <el-input v-model=\"form.zymc\" placeholder=\"请输入专业名称\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专业方向\" prop=\"zyfx\">\r\n <el-input v-model=\"form.zyfx\" placeholder=\"请输入专业方向\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专业代码\" prop=\"zydm\">\r\n <el-input v-model=\"form.zydm\" placeholder=\"请输入专业代码\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专业版本\" prop=\"zybb\">\r\n <el-input v-model=\"form.zybb\" placeholder=\"请输入专业版本\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"学年制\" prop=\"xnz\">\r\n <el-input v-model=\"form.xnz\" placeholder=\"请输入学年制\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"学期数\" prop=\"xqs\">\r\n <el-input-number v-model=\"form.xqs\" :min=\"0\" :max=\"999\" controls-position=\"right\" style=\"width: 100%\" placeholder=\"请输入学期数\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专业标识号\" prop=\"zybsh\">\r\n <el-input v-model=\"form.zybsh\" placeholder=\"请输入专业标识号\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"学科专业信息标识号\" prop=\"xkzyxxbsh\">\r\n <el-input v-model=\"form.xkzyxxbsh\" placeholder=\"请输入学科专业信息标识号\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"教学管理机构编号\">\r\n <el-input v-model=\"form.jxgljgbh\" placeholder=\"请输入教学管理机构编号\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"规范名称\">\r\n <el-input v-model=\"form.gfmc\" placeholder=\"请输入规范名称\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"简称\">\r\n <el-input v-model=\"form.jc\" placeholder=\"请输入简称\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-divider content-position=\"left\">培训信息</el-divider>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"培训层次\" prop=\"pxcc\">\r\n <el-input v-model=\"form.pxcc\" placeholder=\"请输入培训层次\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"培训类型\" prop=\"pxlx\">\r\n <el-input v-model=\"form.pxlx\" placeholder=\"请输入培训类型\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"培训类型2\" prop=\"pxlx2\">\r\n <el-input v-model=\"form.pxlx2\" placeholder=\"请输入培训类型2\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"学员类别\" prop=\"xylb\">\r\n <el-input v-model=\"form.xylb\" placeholder=\"请输入学员类别\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"主干专业\" prop=\"zgzy\">\r\n <el-select v-model=\"form.zgzy\" placeholder=\"请选择\" clearable style=\"width: 100%\">\r\n <el-option label=\"是\" value=\"是\" />\r\n <el-option label=\"否\" value=\"否\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"自定义分类\" prop=\"zdyfl\">\r\n <el-input v-model=\"form.zdyfl\" placeholder=\"请输入自定义分类\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"节次类别\" prop=\"jclb\">\r\n <el-input v-model=\"form.jclb\" placeholder=\"请输入节次类别\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"系统模式\" prop=\"xtms\">\r\n <el-input v-model=\"form.xtms\" placeholder=\"请输入系统模式\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-divider content-position=\"left\">其他信息</el-divider>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"教学大纲编号\">\r\n <el-input v-model=\"form.jxdgbh\" placeholder=\"请输入教学大纲编号\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"人培编号\">\r\n <el-input v-model=\"form.rpbh\" placeholder=\"请输入人培编号\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"序号标识\">\r\n <el-input-number v-model=\"form.xhbs\" :min=\"0\" controls-position=\"right\" style=\"width: 100%\" placeholder=\"请输入序号标识\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"JSON字段\">\r\n <el-input v-model=\"form.jsonzd\" placeholder=\"请输入JSON字段\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"停用\" prop=\"ty\">\r\n <el-switch v-model=\"form.ty\" :active-value=\"1\" :inactive-value=\"0\" active-text=\"是\" inactive-text=\"否\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"启用时间\">\r\n <el-date-picker v-model=\"form.qysj\" type=\"datetime\" placeholder=\"请选择启用时间\" value-format=\"yyyy-MM-dd HH:mm:ss\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"停用时间\">\r\n <el-date-picker v-model=\"form.tysj\" type=\"datetime\" placeholder=\"请选择停用时间\" value-format=\"yyyy-MM-dd HH:mm:ss\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"培养目标\">\r\n <el-input v-model=\"form.pymb\" placeholder=\"请输入培养目标\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"专业备注\">\r\n <el-input v-model=\"form.zybz\" type=\"textarea\" :rows=\"3\" placeholder=\"请输入专业备注\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"专业规范\">\r\n <el-input v-model=\"form.zygf\" type=\"textarea\" :rows=\"3\" placeholder=\"请输入专业规范\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"formDialogVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\" :loading=\"formSaving\" @click=\"handleFormSubmit\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <!-- ==================== 4. 详情对话框 ==================== -->\r\n <el-dialog title=\"专业详情\" :visible.sync=\"viewDialogVisible\" width=\"700px\" :close-on-click-modal=\"false\">\r\n <div v-loading=\"viewLoading\" class=\"detail-body\">\r\n <el-descriptions :column=\"2\" border>\r\n <el-descriptions-item label=\"专业代号\">{{ viewForm.zydh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业名称\">{{ viewForm.zymc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业方向\">{{ viewForm.zyfx || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业代码\">{{ viewForm.zydm || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业版本\">{{ viewForm.zybb || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业标识号\">{{ viewForm.zybsh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学年制\">{{ viewForm.xnz || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学期数\">{{ viewForm.xqs || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训层次\">{{ viewForm.pxcc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训类型\">{{ viewForm.pxlx || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训类型2\">{{ viewForm.pxlx2 || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学员类别\">{{ viewForm.xylb || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"主干专业\">{{ viewForm.zgzy || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"自定义分类\">{{ viewForm.zdyfl || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"教学管理机构编号\">{{ viewForm.jxgljgbh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学科专业信息标识号\">{{ viewForm.xkzyxxbsh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"简称\">{{ viewForm.jc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"规范名称\">{{ viewForm.gfmc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"节次类别\">{{ viewForm.jclb || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"系统模式\">{{ viewForm.xtms || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"序号标识\">{{ viewForm.xhbs || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"教学大纲编号\">{{ viewForm.jxdgbh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"人培编号\">{{ viewForm.rpbh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"启用时间\">{{ viewForm.qysj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"停用时间\">{{ viewForm.tysj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"停用\">\r\n <el-tag :type=\"viewForm.ty === 1 || viewForm.ty === true ? 'danger' : 'success'\" size=\"mini\">\r\n {{ viewForm.ty === 1 || viewForm.ty === true ? '是' : '否' }}\r\n </el-tag>\r\n </el-descriptions-item>\r\n <el-descriptions-item label=\"JSON字段\">{{ viewForm.jsonzd || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培养目标\" :span=\"2\">{{ viewForm.pymb || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业备注\" :span=\"2\">{{ viewForm.zybz || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业规范\" :span=\"2\">{{ viewForm.zygf || '-' }}</el-descriptions-item>\r\n </el-descriptions>\r\n </div>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"viewDialogVisible = false\">关 闭</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n listMajor,\r\n getMajor,\r\n addMajor,\r\n updateMajor,\r\n delMajor,\r\n downloadMajorTemplate\r\n} from \"@/api/subjectMajor/major\"\r\n\r\nexport default {\r\n name: \"Major\",\r\n data() {\r\n return {\r\n // ==================== 查询条件 ====================\r\n searchForm: {\r\n zymc: '',\r\n zyfx: '',\r\n zydm: '',\r\n xnz: '',\r\n pxlx: '',\r\n pxlx2: '',\r\n pxcc: '',\r\n xkzyxxbsh: '',\r\n ty: ''\r\n },\r\n\r\n // ==================== 列表数据 ====================\r\n loading: false,\r\n tableData: [],\r\n total: 0,\r\n pageNum: 1,\r\n pageSize: 20,\r\n\r\n // ==================== 新增/编辑 ====================\r\n formDialogVisible: false,\r\n formTitle: '新增专业',\r\n isAdd: true,\r\n formSaving: false,\r\n form: this.createEmptyForm(),\r\n formRules: {\r\n zydh: [{ required: true, message: \"专业代号不能为空\", trigger: \"blur\" }],\r\n zymc: [{ required: true, message: \"专业名称不能为空\", trigger: \"blur\" }],\r\n zyfx: [{ required: true, message: \"专业方向不能为空\", trigger: \"blur\" }],\r\n zydm: [{ required: true, message: \"专业代码不能为空\", trigger: \"blur\" }],\r\n zybb: [{ required: true, message: \"专业版本不能为空\", trigger: \"blur\" }],\r\n xnz: [{ required: true, message: \"学年制不能为空\", trigger: \"blur\" }],\r\n xqs: [{ required: true, message: \"学期数不能为空\", trigger: \"change\" }],\r\n zybsh: [{ required: true, message: \"专业标识号不能为空\", trigger: \"blur\" }],\r\n pxcc: [{ required: true, message: \"培训层次不能为空\", trigger: \"blur\" }],\r\n pxlx: [{ required: true, message: \"培训类型不能为空\", trigger: \"blur\" }],\r\n pxlx2: [{ required: true, message: \"培训类型2不能为空\", trigger: \"blur\" }],\r\n xylb: [{ required: true, message: \"学员类别不能为空\", trigger: \"blur\" }],\r\n zdyfl: [{ required: true, message: \"自定义分类不能为空\", trigger: \"blur\" }],\r\n zgzy: [{ required: true, message: \"主干专业不能为空\", trigger: \"change\" }],\r\n jclb: [{ required: true, message: \"节次类别不能为空\", trigger: \"blur\" }],\r\n xtms: [{ required: true, message: \"系统模式不能为空\", trigger: \"blur\" }]\r\n },\r\n\r\n // ==================== 详情 ====================\r\n viewDialogVisible: false,\r\n viewLoading: false,\r\n viewForm: {}\r\n }\r\n },\r\n created() {\r\n this.fetchList()\r\n },\r\n methods: {\r\n /** 表格序号(跨页连续) */\r\n fmtXh(index) {\r\n return (this.pageNum - 1) * this.pageSize + index + 1\r\n },\r\n\r\n /** 创建空表单 */\r\n createEmptyForm() {\r\n return {\r\n zydh: '',\r\n zymc: '',\r\n zyfx: '',\r\n xnz: '',\r\n xqs: undefined,\r\n zybz: '',\r\n zygf: '',\r\n zydm: '',\r\n zybb: '',\r\n ty: 0,\r\n qysj: null,\r\n tysj: null,\r\n jxgljgbh: '',\r\n pxcc: '',\r\n pxlx: '',\r\n xkzyxxbsh: '',\r\n pxlx2: '',\r\n xylb: '',\r\n zdyfl: '',\r\n zybsh: '',\r\n xhbs: undefined,\r\n jc: '',\r\n jclb: '',\r\n xtms: '',\r\n jsonzd: '',\r\n zgzy: '',\r\n gfmc: '',\r\n jxdgbh: '',\r\n rpbh: '',\r\n pymb: ''\r\n }\r\n },\r\n\r\n // ==================== 查询列表 ====================\r\n fetchList() {\r\n this.loading = true\r\n const params = {\r\n pageNum: this.pageNum,\r\n pageSize: this.pageSize\r\n }\r\n // 状态:0 启用 / 1 停用(选中时才传)\r\n if (this.searchForm.ty !== '' && this.searchForm.ty !== null && this.searchForm.ty !== undefined) {\r\n params.ty = this.searchForm.ty\r\n }\r\n // 其余文本条件非空时才传\r\n ;['zymc', 'zyfx', 'zydm', 'xnz', 'pxlx', 'pxlx2', 'pxcc', 'xkzyxxbsh'].forEach(key => {\r\n if (this.searchForm[key] !== '' && this.searchForm[key] !== null && this.searchForm[key] !== undefined) {\r\n params[key] = this.searchForm[key].trim()\r\n }\r\n })\r\n listMajor(params).then(response => {\r\n const data = response.data || {}\r\n this.tableData = data.records || []\r\n this.total = data.total || 0\r\n this.loading = false\r\n }).catch(() => {\r\n this.tableData = []\r\n this.total = 0\r\n this.loading = false\r\n })\r\n },\r\n\r\n handleSearch() {\r\n this.pageNum = 1\r\n this.fetchList()\r\n },\r\n\r\n handleReset() {\r\n this.searchForm = {\r\n zymc: '',\r\n zyfx: '',\r\n zydm: '',\r\n xnz: '',\r\n pxlx: '',\r\n pxlx2: '',\r\n pxcc: '',\r\n xkzyxxbsh: '',\r\n ty: ''\r\n }\r\n this.pageNum = 1\r\n this.fetchList()\r\n },\r\n\r\n handlePageChange(current) {\r\n this.pageNum = current\r\n this.fetchList()\r\n },\r\n\r\n handleSizeChange(size) {\r\n this.pageSize = size\r\n this.pageNum = 1\r\n this.fetchList()\r\n },\r\n\r\n // ==================== 新增/编辑 ====================\r\n handleAdd() {\r\n this.isAdd = true\r\n this.formTitle = '新增专业'\r\n this.form = this.createEmptyForm()\r\n this.formDialogVisible = true\r\n this.$nextTick(() => {\r\n this.$refs.formRef && this.$refs.formRef.clearValidate()\r\n })\r\n },\r\n\r\n handleEdit(row) {\r\n this.isAdd = false\r\n this.formTitle = '编辑专业'\r\n this.form = this.createEmptyForm()\r\n this.formDialogVisible = true\r\n this.$nextTick(() => {\r\n this.$refs.formRef && this.$refs.formRef.clearValidate()\r\n })\r\n getMajor(row.zydh).then(response => {\r\n const data = response.data || {}\r\n this.form = {\r\n zydh: data.zydh,\r\n zymc: data.zymc,\r\n zyfx: data.zyfx,\r\n xnz: data.xnz,\r\n xqs: data.xqs !== null && data.xqs !== undefined ? data.xqs : undefined,\r\n zybz: data.zybz,\r\n zygf: data.zygf,\r\n zydm: data.zydm,\r\n zybb: data.zybb,\r\n ty: data.ty === 1 || data.ty === true ? 1 : 0,\r\n qysj: data.qysj,\r\n tysj: data.tysj,\r\n jxgljgbh: data.jxgljgbh,\r\n pxcc: data.pxcc,\r\n pxlx: data.pxlx,\r\n xkzyxxbsh: data.xkzyxxbsh,\r\n pxlx2: data.pxlx2,\r\n xylb: data.xylb,\r\n zdyfl: data.zdyfl,\r\n zybsh: data.zybsh,\r\n xhbs: data.xhbs,\r\n jc: data.jc,\r\n jclb: data.jclb,\r\n xtms: data.xtms,\r\n jsonzd: data.jsonzd,\r\n zgzy: data.zgzy,\r\n gfmc: data.gfmc,\r\n jxdgbh: data.jxdgbh,\r\n rpbh: data.rpbh,\r\n pymb: data.pymb\r\n }\r\n }).catch(() => {})\r\n },\r\n\r\n handleFormSubmit() {\r\n this.$refs.formRef.validate(valid => {\r\n if (!valid) return\r\n this.formSaving = true\r\n const payload = { ...this.form }\r\n const request = this.isAdd ? addMajor(payload) : updateMajor(payload)\r\n request.then(() => {\r\n this.$message.success(this.isAdd ? '新增成功' : '修改成功')\r\n this.formDialogVisible = false\r\n this.fetchList()\r\n }).catch(() => {\r\n }).finally(() => {\r\n this.formSaving = false\r\n })\r\n })\r\n },\r\n\r\n // ==================== 停用/启用切换 ====================\r\n handleToggleDisable(row, val) {\r\n const isDisable = val === 1 || val === true\r\n const prevTy = isDisable ? 0 : 1\r\n const actionName = isDisable ? '停用' : '启用'\r\n this.$confirm(`确定要${actionName}「${row.zymc || row.zydh || '该专业'}」吗?`, '系统提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n return updateMajor({ ...row, ty: isDisable ? 1 : 0 })\r\n }).then(() => {\r\n this.$message.success(actionName + '成功')\r\n this.fetchList()\r\n }).catch(() => {\r\n // 取消或接口失败时回滚开关状态并刷新\r\n row.ty = prevTy\r\n this.fetchList()\r\n })\r\n },\r\n\r\n // ==================== 删除 ====================\r\n handleDelete(row) {\r\n this.$confirm(`确定要删除「${row.zymc || row.zydh || '该专业'}」吗?`, '系统提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n return delMajor(row.zydh)\r\n }).then(() => {\r\n this.$message.success('删除成功')\r\n this.fetchList()\r\n }).catch(() => {})\r\n },\r\n\r\n // ==================== 下载模板 ====================\r\n handleDownloadTemplate() {\r\n downloadMajorTemplate().then(res => {\r\n const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })\r\n const link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = '人才培养方案课程数据文件模板.xls'\r\n link.click()\r\n URL.revokeObjectURL(link.href)\r\n this.$message.success('模板下载成功')\r\n }).catch(() => {})\r\n },\r\n\r\n // ==================== 详情 ====================\r\n handleView(row) {\r\n this.viewDialogVisible = true\r\n this.viewLoading = true\r\n this.viewForm = {}\r\n getMajor(row.zydh).then(response => {\r\n this.viewForm = response.data || {}\r\n this.viewLoading = false\r\n }).catch(() => {\r\n this.viewLoading = false\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.major-page {\r\n .search-card {\r\n margin-bottom: 16px;\r\n }\r\n\r\n .search-form {\r\n ::v-deep .el-form-item {\r\n margin-bottom: 18px;\r\n }\r\n\r\n .search-actions-row {\r\n margin-top: 2px;\r\n border-top: 1px dashed #ebeef5;\r\n padding-top: 14px;\r\n }\r\n\r\n .search-actions {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n gap: 12px;\r\n }\r\n }\r\n\r\n .table-card {\r\n .table-header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 16px;\r\n\r\n .table-title {\r\n font-size: 16px;\r\n font-weight: 600;\r\n color: #303133;\r\n }\r\n\r\n .table-actions {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n }\r\n }\r\n\r\n .pagination-wrapper {\r\n display: flex;\r\n justify-content: flex-end;\r\n margin-top: 16px;\r\n }\r\n }\r\n\r\n .form-dialog-form {\r\n max-height: 62vh;\r\n overflow-y: auto;\r\n padding-right: 6px;\r\n\r\n ::v-deep .el-divider--horizontal {\r\n margin: 4px 0 16px;\r\n }\r\n }\r\n\r\n .text-danger {\r\n color: #f56c6c;\r\n padding: 0;\r\n }\r\n\r\n .ty-tag {\r\n cursor: pointer;\r\n user-select: none;\r\n }\r\n}\r\n</style>\r\n"],"mappings":"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","ignoreList":[]}]} |