forked from liweijie/education
1 line
34 KiB
JSON
1 line
34 KiB
JSON
{"remainingRequest":"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\\discipline\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\subjectMajor\\discipline\\index.vue","mtime":1787567871649},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgew0KICBsaXN0RGlzY2lwbGluZSwNCiAgZ2V0RGlzY2lwbGluZSwNCiAgYWRkRGlzY2lwbGluZSwNCiAgdXBkYXRlRGlzY2lwbGluZSwNCiAgZGlzYWJsZURpc2NpcGxpbmUNCn0gZnJvbSAnQC9hcGkvc3ViamVjdE1ham9yL2Rpc2NpcGxpbmUnDQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ0Rpc2NpcGxpbmVJbmRleCcsDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOafpeivouadoeS7tiA9PT09PT09PT09PT09PT09PT09PQ0KICAgICAgc2VhcmNoRm9ybTogew0KICAgICAgICB6eW1jOiAnJywNCiAgICAgICAgenlkbTogJycsDQogICAgICAgIHp5Zng6ICcnLA0KICAgICAgICB4bno6ICcnLA0KICAgICAgICB0eTogZmFsc2UsDQogICAgICAgIHB4bHgyOiAnJw0KICAgICAgfSwNCg0KICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5YiX6KGo5pWw5o2uID09PT09PT09PT09PT09PT09PT09DQogICAgICBsb2FkaW5nOiBmYWxzZSwNCiAgICAgIHRhYmxlRGF0YTogW10sDQogICAgICB0b3RhbDogMCwNCiAgICAgIHBhZ2VOdW06IDEsDQogICAgICBwYWdlU2l6ZTogMjAsDQoNCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOaWsOWini/nvJbovpEgPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIGZvcm1EaWFsb2dWaXNpYmxlOiBmYWxzZSwNCiAgICAgIGRpYWxvZ1RpdGxlOiAn5paw5aKe5a2m56eR5LiT5LiaJywNCiAgICAgIGlzQWRkOiB0cnVlLA0KICAgICAgZm9ybVNhdmluZzogZmFsc2UsDQogICAgICBmb3JtOiB0aGlzLmNyZWF0ZUVtcHR5Rm9ybSgpLA0KDQogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDor6bmg4UgPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIGRldGFpbERpYWxvZ1Zpc2libGU6IGZhbHNlLA0KICAgICAgZGV0YWlsTG9hZGluZzogZmFsc2UsDQogICAgICBkZXRhaWxGb3JtOiB7fQ0KICAgIH0NCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLmZldGNoTGlzdCgpDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvKiog5bqP5Y+377ya5oyJ5b2T5YmN6aG15pWw5o2u57Si5byV55Sf5oiQ6Leo6aG16L+e57ut55qE5bqP5Y+3ICovDQogICAgZm10WGgoaW5kZXgpIHsNCiAgICAgIHJldHVybiAodGhpcy5wYWdlTnVtIC0gMSkgKiB0aGlzLnBhZ2VTaXplICsgaW5kZXggKyAxDQogICAgfSwNCg0KICAgIGNyZWF0ZUVtcHR5Rm9ybSgpIHsNCiAgICAgIHJldHVybiB7DQogICAgICAgIGJzaDogJycsDQogICAgICAgIGdmbWM6ICcnLA0KICAgICAgICB4aDogdW5kZWZpbmVkLA0KICAgICAgICB6eWRtOiAnJywNCiAgICAgICAgenltYzogJycsDQogICAgICAgIHp5Zng6ICcnLA0KICAgICAgICB4bno6ICcnLA0KICAgICAgICB4cXM6IHVuZGVmaW5lZCwNCiAgICAgICAgcHhjYzogJycsDQogICAgICAgIHB4bHg6ICcnLA0KICAgICAgICBweGx4MjogJycsDQogICAgICAgIGp4Z2xqZ2JoOiAnJywNCiAgICAgICAgeHlsYjogJycsDQogICAgICAgIHpkeWZsOiAnJywNCiAgICAgICAganNvbnpkOiAnJywNCiAgICAgICAgemd6eTogJycsDQogICAgICAgIGJ6OiAnJw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDmn6Xor6LliJfooaggPT09PT09PT09PT09PT09PT09PT0NCiAgICBmZXRjaExpc3QoKSB7DQogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlDQogICAgICBjb25zdCBwYXJhbXMgPSB7DQogICAgICAgIHBhZ2VOdW06IHRoaXMucGFnZU51bSwNCiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUNCiAgICAgIH0NCiAgICAgIC8vIOeKtuaAge+8muWLvumAieOAjOWBnOeUqOOAjeaXtuS7heafpeW3suWBnOeUqO+8iHR5PTHvvInvvIzmnKrli77pgInliJnmn6Xor6Llhajpg6gNCiAgICAgIGlmICh0aGlzLnNlYXJjaEZvcm0udHkpIHsNCiAgICAgICAgcGFyYW1zLnR5ID0gMQ0KICAgICAgfQ0KICAgICAgLy8g5YW25L2Z5paH5pys5p2h5Lu26Z2e56m65pe25omN5LygDQogICAgICA7Wyd6eW1jJywgJ3p5ZG0nLCAnenlmeCcsICd4bnonLCAncHhseDInXS5mb3JFYWNoKGtleSA9PiB7DQogICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZWFyY2hGb3JtW2tleV0NCiAgICAgICAgaWYgKHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgcGFyYW1zW2tleV0gPSBTdHJpbmcodmFsdWUpLnRyaW0oKQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgICAgbGlzdERpc2NpcGxpbmUocGFyYW1zKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGEgfHwge30NCiAgICAgICAgdGhpcy50YWJsZURhdGEgPSBkYXRhLnJlY29yZHMgfHwgW10NCiAgICAgICAgdGhpcy50b3RhbCA9IGRhdGEudG90YWwgfHwgMA0KICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZQ0KICAgICAgfSkuY2F0Y2goKCkgPT4gew0KICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IFtdDQogICAgICAgIHRoaXMudG90YWwgPSAwDQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlDQogICAgICB9KQ0KICAgIH0sDQoNCiAgICBoYW5kbGVTZWFyY2goKSB7DQogICAgICB0aGlzLnBhZ2VOdW0gPSAxDQogICAgICB0aGlzLmZldGNoTGlzdCgpDQogICAgfSwNCg0KICAgIGhhbmRsZVJlc2V0KCkgew0KICAgICAgdGhpcy4kcmVmcy5zZWFyY2hGb3JtUmVmLnJlc2V0RmllbGRzKCkNCiAgICAgIHRoaXMucGFnZU51bSA9IDENCiAgICAgIHRoaXMuZmV0Y2hMaXN0KCkNCiAgICB9LA0KDQogICAgaGFuZGxlUGFnZUNoYW5nZShjdXJyZW50KSB7DQogICAgICB0aGlzLnBhZ2VOdW0gPSBjdXJyZW50DQogICAgICB0aGlzLmZldGNoTGlzdCgpDQogICAgfSwNCg0KICAgIGhhbmRsZVNpemVDaGFuZ2Uoc2l6ZSkgew0KICAgICAgdGhpcy5wYWdlU2l6ZSA9IHNpemUNCiAgICAgIHRoaXMucGFnZU51bSA9IDENCiAgICAgIHRoaXMuZmV0Y2hMaXN0KCkNCiAgICB9LA0KDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5paw5aKeL+e8lui+kSA9PT09PT09PT09PT09PT09PT09PQ0KICAgIGhhbmRsZUFkZCgpIHsNCiAgICAgIHRoaXMuaXNBZGQgPSB0cnVlDQogICAgICB0aGlzLmRpYWxvZ1RpdGxlID0gJ+aWsOWinuWtpuenkeS4k+S4micNCiAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRW1wdHlGb3JtKCkNCiAgICAgIHRoaXMuZm9ybURpYWxvZ1Zpc2libGUgPSB0cnVlDQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMuJHJlZnMuZm9ybVJlZiAmJiB0aGlzLiRyZWZzLmZvcm1SZWYuY2xlYXJWYWxpZGF0ZSgpDQogICAgICB9KQ0KICAgIH0sDQoNCiAgICBoYW5kbGVFZGl0KHJvdykgew0KICAgICAgdGhpcy5pc0FkZCA9IGZhbHNlDQogICAgICB0aGlzLmRpYWxvZ1RpdGxlID0gJ+e8lui+keWtpuenkeS4k+S4micNCiAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRW1wdHlGb3JtKCkNCiAgICAgIHRoaXMuZm9ybURpYWxvZ1Zpc2libGUgPSB0cnVlDQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMuJHJlZnMuZm9ybVJlZiAmJiB0aGlzLiRyZWZzLmZvcm1SZWYuY2xlYXJWYWxpZGF0ZSgpDQogICAgICB9KQ0KICAgICAgZ2V0RGlzY2lwbGluZShyb3cuYnNoKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGEgfHwge30NCiAgICAgICAgdGhpcy5mb3JtID0gew0KICAgICAgICAgIGJzaDogZGF0YS5ic2ggfHwgJycsDQogICAgICAgICAgZ2ZtYzogZGF0YS5nZm1jIHx8ICcnLA0KICAgICAgICAgIHhoOiBkYXRhLnhoICE9PSBudWxsICYmIGRhdGEueGggIT09IHVuZGVmaW5lZCA/IGRhdGEueGggOiB1bmRlZmluZWQsDQogICAgICAgICAgenlkbTogZGF0YS56eWRtIHx8ICcnLA0KICAgICAgICAgIHp5bWM6IGRhdGEuenltYyB8fCAnJywNCiAgICAgICAgICB6eWZ4OiBkYXRhLnp5ZnggfHwgJycsDQogICAgICAgICAgeG56OiBkYXRhLnhueiB8fCAnJywNCiAgICAgICAgICB4cXM6IGRhdGEueHFzICE9PSBudWxsICYmIGRhdGEueHFzICE9PSB1bmRlZmluZWQgPyBkYXRhLnhxcyA6IHVuZGVmaW5lZCwNCiAgICAgICAgICBweGNjOiBkYXRhLnB4Y2MgfHwgJycsDQogICAgICAgICAgcHhseDogZGF0YS5weGx4IHx8ICcnLA0KICAgICAgICAgIHB4bHgyOiBkYXRhLnB4bHgyIHx8ICcnLA0KICAgICAgICAgIGp4Z2xqZ2JoOiBkYXRhLmp4Z2xqZ2JoIHx8ICcnLA0KICAgICAgICAgIHh5bGI6IGRhdGEueHlsYiB8fCAnJywNCiAgICAgICAgICB6ZHlmbDogZGF0YS56ZHlmbCB8fCAnJywNCiAgICAgICAgICBqc29uemQ6IGRhdGEuanNvbnpkIHx8ICcnLA0KICAgICAgICAgIHpnenk6IGRhdGEuemd6eSB8fCAnJywNCiAgICAgICAgICBiejogZGF0YS5ieiB8fCAnJw0KICAgICAgICB9DQogICAgICB9KS5jYXRjaCgoKSA9PiB7fSkNCiAgICB9LA0KDQogICAgYnVpbGRQYXlsb2FkKCkgew0KICAgICAgY29uc3QgZiA9IHRoaXMuZm9ybQ0KICAgICAgY29uc3QgcGF5bG9hZCA9IHsNCiAgICAgICAgYnNoOiBmLmJzaCB8fCB1bmRlZmluZWQsDQogICAgICAgIGdmbWM6IGYuZ2ZtYywNCiAgICAgICAgenlkbTogZi56eWRtLA0KICAgICAgICB6eW1jOiBmLnp5bWMsDQogICAgICAgIHp5Zng6IGYuenlmeCwNCiAgICAgICAgeG56OiBmLnhueiwNCiAgICAgICAgcHhjYzogZi5weGNjLA0KICAgICAgICBweGx4OiBmLnB4bHgsDQogICAgICAgIHB4bHgyOiBmLnB4bHgyLA0KICAgICAgICBqeGdsamdiaDogZi5qeGdsamdiaCwNCiAgICAgICAgeHlsYjogZi54eWxiLA0KICAgICAgICB6ZHlmbDogZi56ZHlmbCwNCiAgICAgICAgemd6eTogZi56Z3p5LA0KICAgICAgICBqc29uemQ6IGYuanNvbnpkLA0KICAgICAgICBiejogZi5ieg0KICAgICAgfQ0KICAgICAgLy8g5bqP5Y+344CB5a2m5pyf5pWw5Li65pWw5YC85a2X5q6177yM6L2s5Li65pWw5a2X5ZCO5YaN5o+Q5LqkDQogICAgICBpZiAoZi54aCAhPT0gJycgJiYgZi54aCAhPT0gbnVsbCAmJiBmLnhoICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgcGF5bG9hZC54aCA9IE51bWJlcihmLnhoKQ0KICAgICAgfQ0KICAgICAgaWYgKGYueHFzICE9PSAnJyAmJiBmLnhxcyAhPT0gbnVsbCAmJiBmLnhxcyAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHBheWxvYWQueHFzID0gTnVtYmVyKGYueHFzKQ0KICAgICAgfQ0KICAgICAgcmV0dXJuIHBheWxvYWQNCiAgICB9LA0KDQogICAgaGFuZGxlRm9ybVN1Ym1pdCgpIHsNCiAgICAgIHRoaXMuZm9ybVNhdmluZyA9IHRydWUNCiAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLmJ1aWxkUGF5bG9hZCgpDQogICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5pc0FkZCA/IGFkZERpc2NpcGxpbmUocGF5bG9hZCkgOiB1cGRhdGVEaXNjaXBsaW5lKHBheWxvYWQpDQogICAgICByZXF1ZXN0LnRoZW4oKCkgPT4gew0KICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3ModGhpcy5pc0FkZCA/ICfmlrDlop7miJDlip8nIDogJ+S/ruaUueaIkOWKnycpDQogICAgICAgIHRoaXMuZm9ybURpYWxvZ1Zpc2libGUgPSBmYWxzZQ0KICAgICAgICB0aGlzLmZldGNoTGlzdCgpDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICB9KS5maW5hbGx5KCgpID0+IHsNCiAgICAgICAgdGhpcy5mb3JtU2F2aW5nID0gZmFsc2UNCiAgICAgIH0pDQogICAgfSwNCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09IOWBnOeUqC/lkK/nlKggPT09PT09PT09PT09PT09PT09PT0NCiAgICBoYW5kbGVEaXNhYmxlKHJvdykgew0KICAgICAgdGhpcy4kY29uZmlybShg56Gu5a6a6KaB5YGc55So44CMJHtyb3cuenltYyB8fCByb3cuenlkbSB8fCAn6K+l5LiT5LiaJ33jgI3lkJfvvJ9gLCAn57O757uf5o+Q56S6Jywgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICB0eXBlOiAnd2FybmluZycNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICByZXR1cm4gZGlzYWJsZURpc2NpcGxpbmUocm93LmJzaCkNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WBnOeUqOaIkOWKnycpDQogICAgICAgIHRoaXMuZmV0Y2hMaXN0KCkNCiAgICAgIH0pLmNhdGNoKCgpID0+IHt9KQ0KICAgIH0sDQoNCiAgICAvLyDlkI7nq6/mmoLmnKrmj5DkvpvlkK/nlKjmjqXlj6PvvIzku4XkvZzmj5DnpLoNCiAgICBoYW5kbGVFbmFibGUocm93KSB7DQogICAgICB0aGlzLiRtZXNzYWdlLmluZm8oJ+WQjuerr+aaguacquaPkOS+m+ivpeaOpeWPoycpDQogICAgfSwNCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09IOivpuaDhSA9PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIOaVsOWAvOWtl+auteepuuWAvOaYvuekuuS4uiAnLSfvvIjkv53nlZkgMO+8iQ0KICAgIGZtdFZhbHVlKHZhbCkgew0KICAgICAgcmV0dXJuIHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09ICcnID8gJy0nIDogdmFsDQogICAgfSwNCg0KICAgIGhhbmRsZURldGFpbChyb3cpIHsNCiAgICAgIHRoaXMuZGV0YWlsRGlhbG9nVmlzaWJsZSA9IHRydWUNCiAgICAgIHRoaXMuZGV0YWlsTG9hZGluZyA9IHRydWUNCiAgICAgIHRoaXMuZGV0YWlsRm9ybSA9IHt9DQogICAgICBnZXREaXNjaXBsaW5lKHJvdy5ic2gpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICB0aGlzLmRldGFpbEZvcm0gPSByZXNwb25zZS5kYXRhIHx8IHt9DQogICAgICAgIHRoaXMuZGV0YWlsTG9hZGluZyA9IGZhbHNlDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgIHRoaXMuZGV0YWlsTG9hZGluZyA9IGZhbHNlDQogICAgICB9KQ0KICAgIH0NCiAgfQ0KfQ0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoPA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;;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;;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/subjectMajor/discipline","sourcesContent":["<template>\r\n <div class=\"app-container discipline-page\">\r\n <!-- ==================== 1. 查询条件 ==================== -->\r\n <el-card shadow=\"never\" class=\"search-card\">\r\n <el-form ref=\"searchFormRef\" :model=\"searchForm\" label-width=\"90px\" class=\"search-form\">\r\n <el-row :gutter=\"24\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\">\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=\"12\" :xl=\"12\">\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=\"12\" :xl=\"12\">\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=\"12\" :xl=\"12\">\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=\"12\" :xl=\"12\">\r\n <el-form-item label=\"状态\" class=\"checkbox-form-item\">\r\n <el-checkbox v-model=\"searchForm.ty\">停用</el-checkbox>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\">\r\n <el-form-item label=\"培训类型2\">\r\n <el-select v-model=\"searchForm.pxlx2\" placeholder=\"请选择\" clearable class=\"w-full\">\r\n <el-option label=\"类型1\" value=\"1\" />\r\n <el-option label=\"类型2\" value=\"2\" />\r\n <el-option label=\"其他\" value=\"3\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"24\" class=\"search-actions\">\r\n <div class=\"search-buttons\">\r\n <el-button type=\"primary\" @click=\"handleSearch\">查询</el-button>\r\n <el-button @click=\"handleReset\">重置</el-button>\r\n </div>\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 <el-button type=\"primary\" icon=\"el-icon-plus\" @click=\"handleAdd\">新建学科专业</el-button>\r\n </div>\r\n <el-table v-loading=\"loading\" :data=\"tableData\" stripe border highlight-current-row>\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\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=\"jxgljgbh\" label=\"教学管理机构\" width=\"200\" show-overflow-tooltip />\r\n <el-table-column prop=\"zydm\" label=\"专业代码\" width=\"200\" />\r\n <el-table-column prop=\"zymc\" label=\"专业名称\" width=\"200\" show-overflow-tooltip />\r\n <el-table-column prop=\"zdyfl\" label=\"分类\" width=\"150\" align=\"center\" />\r\n <el-table-column prop=\"xylb\" label=\"学员类别\" width=\"150\" align=\"center\" />\r\n <el-table-column prop=\"xnz\" label=\"学年制\" width=\"120\" align=\"center\" />\r\n <el-table-column prop=\"xqs\" label=\"学期数\" width=\"120\" align=\"center\" />\r\n <el-table-column prop=\"zgzy\" label=\"主干专业\" align=\"center\" />\r\n <el-table-column label=\"操作\" width=\"230\" align=\"center\" fixed=\"right\">\r\n <template slot-scope=\"{ row }\">\r\n <el-button type=\"text\" size=\"small\" icon=\"el-icon-view\" @click=\"handleDetail(row)\">详情</el-button>\r\n <el-button type=\"text\" size=\"small\" icon=\"el-icon-edit\" @click=\"handleEdit(row)\">编辑</el-button>\r\n <el-button v-if=\"row.ty === 1\" type=\"text\" size=\"small\" class=\"text-success\" @click=\"handleEnable(row)\">\r\n 启用\r\n </el-button>\r\n <el-button v-else type=\"text\" size=\"small\" class=\"text-danger\" @click=\"handleDisable(row)\">\r\n 停用\r\n </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 :visible=\"formDialogVisible\"\r\n :title=\"dialogTitle\"\r\n width=\"750px\"\r\n :close-on-click-modal=\"false\"\r\n @update:visible=\"val => formDialogVisible = val\"\r\n >\r\n <el-form ref=\"formRef\" :model=\"form\" label-width=\"130px\" class=\"add-form\">\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.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-number v-model=\"form.xh\" :min=\"0\" controls-position=\"right\" style=\"width: 100%\" placeholder=\"请输入序号\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\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.zydm\" 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.zymc\" placeholder=\"请输入专业名称\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\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.zyfx\" 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.xnz\" placeholder=\"请输入学年制\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"学期数\">\r\n <el-input-number v-model=\"form.xqs\" :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=\"培训层次\">\r\n <el-input v-model=\"form.pxcc\" placeholder=\"请输入培训层次\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\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.pxlx\" placeholder=\"请输入培训类型\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"培训类型2\">\r\n <el-input v-model=\"form.pxlx2\" placeholder=\"请输入培训类型2\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\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.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.xylb\" placeholder=\"请输入学员类别\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\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.zdyfl\" 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.zgzy\" placeholder=\"请输入主干专业\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row :gutter=\"16\">\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-row>\r\n <el-form-item label=\"备注\">\r\n <el-input v-model=\"form.bz\" type=\"textarea\" :rows=\"3\" placeholder=\"请输入备注\" />\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"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=\"detailDialogVisible\" width=\"700px\" :close-on-click-modal=\"false\"\r\n @update:visible=\"val => detailDialogVisible = val\">\r\n <div v-loading=\"detailLoading\" class=\"detail-body\">\r\n <el-descriptions :column=\"2\" border>\r\n <el-descriptions-item label=\"规范名称\">{{ detailForm.gfmc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"序号\">{{ fmtValue(detailForm.xh) }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业代码\">{{ detailForm.zydm || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业名称\">{{ detailForm.zymc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"专业方向\">{{ detailForm.zyfx || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学年制\">{{ detailForm.xnz || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学期数\">{{ fmtValue(detailForm.xqs) }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训层次\">{{ detailForm.pxcc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训类型\">{{ detailForm.pxlx || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训类型2\">{{ detailForm.pxlx2 || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"教学管理机构编号\">{{ detailForm.jxgljgbh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学员类别\">{{ detailForm.xylb || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"自定义分类\">{{ detailForm.zdyfl || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"主干专业\">{{ detailForm.zgzy || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"停用\">\r\n <el-tag :type=\"detailForm.ty === 1 ? 'danger' : 'success'\" size=\"mini\">\r\n {{ detailForm.ty === 1 ? '是' : '否' }}\r\n </el-tag>\r\n </el-descriptions-item>\r\n <el-descriptions-item label=\"停用时间\">{{ detailForm.tysj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"JSON字段\" :span=\"2\">{{ detailForm.jsonzd || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"备注\" :span=\"2\">{{ detailForm.bz || '-' }}</el-descriptions-item>\r\n </el-descriptions>\r\n </div>\r\n <div slot=\"footer\">\r\n <el-button @click=\"detailDialogVisible = 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 listDiscipline,\r\n getDiscipline,\r\n addDiscipline,\r\n updateDiscipline,\r\n disableDiscipline\r\n} from '@/api/subjectMajor/discipline'\r\n\r\nexport default {\r\n name: 'DisciplineIndex',\r\n data() {\r\n return {\r\n // ==================== 查询条件 ====================\r\n searchForm: {\r\n zymc: '',\r\n zydm: '',\r\n zyfx: '',\r\n xnz: '',\r\n ty: false,\r\n pxlx2: ''\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 dialogTitle: '新增学科专业',\r\n isAdd: true,\r\n formSaving: false,\r\n form: this.createEmptyForm(),\r\n\r\n // ==================== 详情 ====================\r\n detailDialogVisible: false,\r\n detailLoading: false,\r\n detailForm: {}\r\n }\r\n },\r\n mounted() {\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 createEmptyForm() {\r\n return {\r\n bsh: '',\r\n gfmc: '',\r\n xh: undefined,\r\n zydm: '',\r\n zymc: '',\r\n zyfx: '',\r\n xnz: '',\r\n xqs: undefined,\r\n pxcc: '',\r\n pxlx: '',\r\n pxlx2: '',\r\n jxgljgbh: '',\r\n xylb: '',\r\n zdyfl: '',\r\n jsonzd: '',\r\n zgzy: '',\r\n bz: ''\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 // 状态:勾选「停用」时仅查已停用(ty=1),未勾选则查询全部\r\n if (this.searchForm.ty) {\r\n params.ty = 1\r\n }\r\n // 其余文本条件非空时才传\r\n ;['zymc', 'zydm', 'zyfx', 'xnz', 'pxlx2'].forEach(key => {\r\n const value = this.searchForm[key]\r\n if (value !== '' && value !== null && value !== undefined) {\r\n params[key] = String(value).trim()\r\n }\r\n })\r\n listDiscipline(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.$refs.searchFormRef.resetFields()\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.dialogTitle = '新增学科专业'\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.dialogTitle = '编辑学科专业'\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 getDiscipline(row.bsh).then(response => {\r\n const data = response.data || {}\r\n this.form = {\r\n bsh: data.bsh || '',\r\n gfmc: data.gfmc || '',\r\n xh: data.xh !== null && data.xh !== undefined ? data.xh : undefined,\r\n zydm: data.zydm || '',\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 pxcc: data.pxcc || '',\r\n pxlx: data.pxlx || '',\r\n pxlx2: data.pxlx2 || '',\r\n jxgljgbh: data.jxgljgbh || '',\r\n xylb: data.xylb || '',\r\n zdyfl: data.zdyfl || '',\r\n jsonzd: data.jsonzd || '',\r\n zgzy: data.zgzy || '',\r\n bz: data.bz || ''\r\n }\r\n }).catch(() => {})\r\n },\r\n\r\n buildPayload() {\r\n const f = this.form\r\n const payload = {\r\n bsh: f.bsh || undefined,\r\n gfmc: f.gfmc,\r\n zydm: f.zydm,\r\n zymc: f.zymc,\r\n zyfx: f.zyfx,\r\n xnz: f.xnz,\r\n pxcc: f.pxcc,\r\n pxlx: f.pxlx,\r\n pxlx2: f.pxlx2,\r\n jxgljgbh: f.jxgljgbh,\r\n xylb: f.xylb,\r\n zdyfl: f.zdyfl,\r\n zgzy: f.zgzy,\r\n jsonzd: f.jsonzd,\r\n bz: f.bz\r\n }\r\n // 序号、学期数为数值字段,转为数字后再提交\r\n if (f.xh !== '' && f.xh !== null && f.xh !== undefined) {\r\n payload.xh = Number(f.xh)\r\n }\r\n if (f.xqs !== '' && f.xqs !== null && f.xqs !== undefined) {\r\n payload.xqs = Number(f.xqs)\r\n }\r\n return payload\r\n },\r\n\r\n handleFormSubmit() {\r\n this.formSaving = true\r\n const payload = this.buildPayload()\r\n const request = this.isAdd ? addDiscipline(payload) : updateDiscipline(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 handleDisable(row) {\r\n this.$confirm(`确定要停用「${row.zymc || row.zydm || '该专业'}」吗?`, '系统提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n return disableDiscipline(row.bsh)\r\n }).then(() => {\r\n this.$message.success('停用成功')\r\n this.fetchList()\r\n }).catch(() => {})\r\n },\r\n\r\n // 后端暂未提供启用接口,仅作提示\r\n handleEnable(row) {\r\n this.$message.info('后端暂未提供该接口')\r\n },\r\n\r\n // ==================== 详情 ====================\r\n // 数值字段空值显示为 '-'(保留 0)\r\n fmtValue(val) {\r\n return val === null || val === undefined || val === '' ? '-' : val\r\n },\r\n\r\n handleDetail(row) {\r\n this.detailDialogVisible = true\r\n this.detailLoading = true\r\n this.detailForm = {}\r\n getDiscipline(row.bsh).then(response => {\r\n this.detailForm = response.data || {}\r\n this.detailLoading = false\r\n }).catch(() => {\r\n this.detailLoading = false\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.discipline-page {\r\n .search-form {\r\n .w-full {\r\n width: 100%;\r\n }\r\n\r\n .checkbox-form-item {\r\n ::v-deep(.el-form-item__content) {\r\n display: flex;\r\n align-items: center;\r\n gap: 16px;\r\n }\r\n }\r\n\r\n .search-actions {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding-top: 8px;\r\n\r\n .search-tip {\r\n font-size: 12px;\r\n color: #f56c6c;\r\n }\r\n\r\n .search-buttons {\r\n display: flex;\r\n gap: 12px;\r\n }\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 }\r\n\r\n .add-form {\r\n max-height: 60vh;\r\n overflow-y: auto;\r\n padding-right: 4px;\r\n }\r\n\r\n .text-success {\r\n color: #67c23a;\r\n padding: 0;\r\n }\r\n\r\n .text-danger {\r\n color: #f56c6c;\r\n padding: 0;\r\n }\r\n}\r\n</style>\r\n"]}]} |