forked from liweijie/education
1 line
44 KiB
JSON
1 line
44 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\\teachingLog\\organLog\\components\\logView.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\teachingLog\\organLog\\components\\logView.vue","mtime":1787640892027},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKdmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQyLmpzIikpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZpbHRlci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZvci1lYWNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IubWFwLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLnRvLWpzb24uanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmRlbGV0ZS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmhhcy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLnNpemUuanMiKTsKdmFyIF9pbmRleCA9IHJlcXVpcmUoIkAvdXRpbHMvaW5kZXgiKTsKdmFyIF9sb2cgPSByZXF1aXJlKCJAL2FwaS9sb2ciKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0ID0gZXhwb3J0cy5kZWZhdWx0ID0gewogIG5hbWU6ICdMb2dWaWV3JywKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5p+l6K+i6KGo5Y2VID09PT09PT09PT09PT09PT09PT09CiAgICAgIHNlYXJjaEZvcm06IHsKICAgICAgICBrc3JxOiAnJywKICAgICAgICBqc3JxOiAnJywKICAgICAgICBrY21jOiAnJywKICAgICAgICBqeXM6ICcnLAogICAgICAgIGp4ZmY6ICcnLAogICAgICAgIHJ6enQ6ICcnLAogICAgICAgIHNrank6ICcnLAogICAgICAgIHB4cWI6ICcnLAogICAgICAgIGNoYW5nZVR5cGU6ICcnLAogICAgICAgIGNoYW5nZVR5cGVzOiBbXSwKICAgICAgICByd2xiOiAnJwogICAgICB9LAogICAgICBqeXNPcHRpb25zOiBbJ+aVmeeglOWupCcsICfpmLLnqbrlhbXns7snLCAn6YCa5L+h5bel56iL57O7JywgJ+ijheeUsuWFteezuyddLAogICAgICBqeGZmT3B0aW9uczogWyfnkIborrrorrLmjognLCAn6K6o6K66JywgJ+WunuaTjScsICfmvJTnpLonLCAn5a6e6aqMJywgJ+a8lOS5oCddLAogICAgICBza2p5T3B0aW9uczogWyfmlZnliqHlpIQnLCAn5byg5LiJJywgJ+adjuWbmycsICfnjovkupQnLCAn6LW15YWtJ10sCiAgICAgIHJ6enRPcHRpb25zOiBbJ+aVmeWKoemDqOmXqOWvvOWFpeaVmeWRmOexuycsICfnrqHnkIblkZjmiYvlt6Xmt7vliqAnXSwKICAgICAgcndsYk9wdGlvbnM6IFsn5YWo5Yab6Zmi5qCh6K6t57uD6KeE5YiS5YaF5Lu75YqhJywgJ+WFtuS7luS7u+WKoSddLAogICAgICBjaGFuZ2VUeXBlT3B0aW9uczogW3sKICAgICAgICBsYWJlbDogJ+S4juaVmeWtpuiuoeWIkuS4gOiHtCcsCiAgICAgICAgdmFsdWU6ICfkuI7mlZnlraborqHliJLkuIDoh7QnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOaVmeWtpuiuoeWIkicsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjmlZnlraborqHliJInCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+aJi+WKqOaLn+WIticsCiAgICAgICAgdmFsdWU6ICfmiYvliqjmi5/liLYnCiAgICAgIH1dLAogICAgICBjaGFuZ2VUeXBlTGlzdDogW3sKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOaVmeWRmCcsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjmlZnlkZgnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOaXtumXtCcsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjml7bpl7QnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOivvuebricsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjor77nm64nCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOWGheWuuScsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjlhoXlrrknCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOaVmeWtpuaWueazlScsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjmlZnlrabmlrnms5UnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOWcuuWcsCcsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjlnLrlnLAnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+W3suaUueWKqOacn+ePrScsCiAgICAgICAgdmFsdWU6ICflt7LmlLnliqjmnJ/nj60nCiAgICAgIH1dLAogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDmlbDmja7ooajmoLwgPT09PT09PT09PT09PT09PT09PT0KICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIHRhYmxlRGF0YTogW10sCiAgICAgIHNlbGVjdGVkUm93czogW10sCiAgICAgIHBhZ2VOdW06IDEsCiAgICAgIHBhZ2VTaXplOiAyMCwKICAgICAgdG90YWw6IDAsCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOWvvOWFpSA9PT09PT09PT09PT09PT09PT09PQogICAgICBpbXBvcnRpbmc6IGZhbHNlLAogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDor6bmg4UgPT09PT09PT09PT09PT09PT09PT0KICAgICAgZGV0YWlsVmlzaWJsZTogZmFsc2UsCiAgICAgIGRldGFpbExvYWRpbmc6IGZhbHNlLAogICAgICBkZXRhaWxEYXRhOiB7fQogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmZldGNoTGlzdCgpOwogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uocm93cykgewogICAgICB0aGlzLnNlbGVjdGVkUm93cyA9IHJvd3M7CiAgICB9LAogICAgLyoqIOagueaNruW3suWhq+WGmeeahOafpeivouWAvOaehOW7uuWunumZheafpeivouWPguaVsCAqL2J1aWxkU2VhcmNoUGFyYW1zOiBmdW5jdGlvbiBidWlsZFNlYXJjaFBhcmFtcygpIHsKICAgICAgdmFyIGZvcm0gPSB0aGlzLnNlYXJjaEZvcm07CiAgICAgIHZhciBwYXJhbXMgPSB7CiAgICAgICAgcGFnZU51bTogdGhpcy5wYWdlTnVtLAogICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplCiAgICAgIH07CiAgICAgIGlmIChmb3JtLmtzcnEpIHBhcmFtcy5rc3JxID0gZm9ybS5rc3JxOwogICAgICBpZiAoZm9ybS5qc3JxKSBwYXJhbXMuanNycSA9IGZvcm0uanNycTsKICAgICAgaWYgKGZvcm0ua2NtYykgcGFyYW1zLmtjbWMgPSBmb3JtLmtjbWM7CiAgICAgIGlmIChmb3JtLmp5cykgcGFyYW1zLmp5cyA9IGZvcm0uanlzOwogICAgICBpZiAoZm9ybS5qeGZmKSBwYXJhbXMuanhmZiA9IGZvcm0uanhmZjsKICAgICAgaWYgKGZvcm0ucnp6dCkgcGFyYW1zLnJ6enQgPSBmb3JtLnJ6enQ7CiAgICAgIGlmIChmb3JtLnNrankpIHBhcmFtcy5za2p5ID0gZm9ybS5za2p5OwogICAgICBpZiAoZm9ybS5weHFiKSBwYXJhbXMucHhxYiA9IGZvcm0ucHhxYjsKICAgICAgaWYgKGZvcm0ucndsYikgcGFyYW1zLnJ3bGIgPSBmb3JtLnJ3bGI7CiAgICAgIGlmIChmb3JtLmNoYW5nZVR5cGUpIHBhcmFtcy5nZHFrID0gZm9ybS5jaGFuZ2VUeXBlOwogICAgICBpZiAoZm9ybS5jaGFuZ2VUeXBlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgcGFyYW1zLmdkeHhxayA9IGZvcm0uY2hhbmdlVHlwZXMuam9pbignLCcpOwogICAgICB9CiAgICAgIHJldHVybiBwYXJhbXM7CiAgICB9LAogICAgLyoqIOS7juWTjeW6lOS4reaPkOWPluWIl+ihqOaVsOaNruWSjOaAu+aVsO+8iOWFvOWuuSByZWNvcmRzIC8gbGlzdCAvIHJvd3Mg562J5bi46KeB5a2X5q615ZCN77yJICovZXh0cmFjdExpc3REYXRhOiBmdW5jdGlvbiBleHRyYWN0TGlzdERhdGEocmVzKSB7CiAgICAgIHZhciBfcmVmLCBfcmVmMiwgX2RhdGEkdG90YWw7CiAgICAgIHZhciBkYXRhID0gcmVzLmRhdGEgfHwgcmVzOwogICAgICB2YXIgbGlzdCA9IGRhdGEucmVjb3JkcyB8fCBkYXRhLmxpc3QgfHwgZGF0YS5yb3dzIHx8IFtdOwogICAgICB2YXIgdG90YWxDb3VudCA9IChfcmVmID0gKF9yZWYyID0gKF9kYXRhJHRvdGFsID0gZGF0YS50b3RhbCkgIT09IG51bGwgJiYgX2RhdGEkdG90YWwgIT09IHZvaWQgMCA/IF9kYXRhJHRvdGFsIDogZGF0YS50b3RhbENvdW50KSAhPT0gbnVsbCAmJiBfcmVmMiAhPT0gdm9pZCAwID8gX3JlZjIgOiBkYXRhLnRvdGFsUm93cykgIT09IG51bGwgJiYgX3JlZiAhPT0gdm9pZCAwID8gX3JlZiA6IDA7CiAgICAgIHJldHVybiB7CiAgICAgICAgbGlzdDogbGlzdCwKICAgICAgICB0b3RhbDogdG90YWxDb3VudAogICAgICB9OwogICAgfSwKICAgIGZldGNoTGlzdDogZnVuY3Rpb24gZmV0Y2hMaXN0KCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICByZXR1cm4gKDAsIF9sb2cuZ2V0VGVhY2hpbmdMb2dMaXN0KSh0aGlzLmJ1aWxkU2VhcmNoUGFyYW1zKCkpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PT0gMjAwIHx8IHJlcy5jb2RlID09PSAwKSB7CiAgICAgICAgICB2YXIgX3RoaXMkZXh0cmFjdExpc3REYXRhID0gX3RoaXMuZXh0cmFjdExpc3REYXRhKHJlcyksCiAgICAgICAgICAgIGxpc3QgPSBfdGhpcyRleHRyYWN0TGlzdERhdGEubGlzdCwKICAgICAgICAgICAgdG90YWwgPSBfdGhpcyRleHRyYWN0TGlzdERhdGEudG90YWw7CiAgICAgICAgICBfdGhpcy50YWJsZURhdGEgPSBsaXN0OwogICAgICAgICAgX3RoaXMudG90YWwgPSB0b3RhbDsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyDplJnor6/lt7LnlLHmi6bmiKrlmajnu5/kuIDlpITnkIYKICAgICAgfSkuZmluYWxseShmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVTZWFyY2g6IGZ1bmN0aW9uIGhhbmRsZVNlYXJjaCgpIHsKICAgICAgdGhpcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5mZXRjaExpc3QoKTsKICAgIH0sCiAgICBoYW5kbGVQYWdlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVQYWdlQ2hhbmdlKHBhZ2UpIHsKICAgICAgdGhpcy5wYWdlTnVtID0gcGFnZTsKICAgICAgdGhpcy5mZXRjaExpc3QoKTsKICAgIH0sCiAgICBoYW5kbGVTaXplQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVTaXplQ2hhbmdlKHNpemUpIHsKICAgICAgdGhpcy5wYWdlU2l6ZSA9IHNpemU7CiAgICAgIHRoaXMucGFnZU51bSA9IDE7CiAgICAgIHRoaXMuZmV0Y2hMaXN0KCk7CiAgICB9LAogICAgaGFuZGxlUmVmcmVzaDogZnVuY3Rpb24gaGFuZGxlUmVmcmVzaCgpIHsKICAgICAgdGhpcy5mZXRjaExpc3QoKTsKICAgIH0sCiAgICBnZXRTZWxlY3RlZEJoczogZnVuY3Rpb24gZ2V0U2VsZWN0ZWRCaHMoKSB7CiAgICAgIHZhciBpZHMgPSB0aGlzLnNlbGVjdGVkUm93cy5tYXAoZnVuY3Rpb24gKHJvdykgewogICAgICAgIHJldHVybiByb3cuYmg7CiAgICAgIH0pLmZpbHRlcihCb29sZWFuKTsKICAgICAgaWYgKGlkcy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+WFiOmAieaLqeimgeaTjeS9nOeahOiusOW9lScpOwogICAgICAgIHJldHVybiBbXTsKICAgICAgfQogICAgICByZXR1cm4gaWRzOwogICAgfSwKICAgIGhhbmRsZURlbGV0ZVNlbGVjdGVkOiBmdW5jdGlvbiBoYW5kbGVEZWxldGVTZWxlY3RlZCgpIHsKICAgICAgLy8g5ZCO56uv5pqC5pyq5o+Q5L6b5Yig6Zmk5o6l5Y+j77yM5LuF5L2c5o+Q56S6CiAgICAgIHRoaXMuJG1lc3NhZ2UuaW5mbygn5ZCO56uv5pqC5pyq5o+Q5L6b6K+l5o6l5Y+jJyk7CiAgICB9LAogICAgaGFuZGxlQmF0Y2hSZXBvcnQ6IGZ1bmN0aW9uIGhhbmRsZUJhdGNoUmVwb3J0KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdmFyIGlkcyA9IHRoaXMuZ2V0U2VsZWN0ZWRCaHMoKTsKICAgICAgaWYgKGlkcy5sZW5ndGggPT09IDApIHJldHVybjsKICAgICAgdGhpcy4kY29uZmlybSgiXHU3ODZFXHU1QjlBXHU4OTgxXHU0RTBBXHU2MkE1XHU5MDA5XHU0RTJEXHU3Njg0ICIuY29uY2F0KGlkcy5sZW5ndGgsICIgXHU2NzYxXHU4QkIwXHU1RjU1XHU1NDE3XHVGRjFGIiksICfkuIrmiqXnoa7orqQnLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyDmj5DkuqTmlZnlrabml6Xlv5flrqHmoLjvvIzpgJDmnaHkuIrmiqXoh7PjgIzlt7LkuIrmiqXjgI3nirbmgIEKICAgICAgICB2YXIgc2V0dGxlZCA9IFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlkcy5mb3JFYWNoKGZ1bmN0aW9uIChiaCkgewogICAgICAgICAgc2V0dGxlZCA9IHNldHRsZWQudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiAoMCwgX2xvZy5zdWJtaXRUZWFjaGluZ0xvZykoYmgsICflt7LkuIrmiqUnKTsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBzZXR0bGVkOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczIuJG1lc3NhZ2Uuc3VjY2VzcygiXHU1REYyXHU0RTBBXHU2MkE1ICIuY29uY2F0KGlkcy5sZW5ndGgsICIgXHU2NzYxXHU4QkIwXHU1RjU1IikpOwogICAgICAgIF90aGlzMi5mZXRjaExpc3QoKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIGhhbmRsZVJlY2hlY2s6IGZ1bmN0aW9uIGhhbmRsZVJlY2hlY2soKSB7CiAgICAgIC8vIOWQjuerr+aaguacquaPkOS+m+mHjeaWsOajgOafpeaOpeWPo++8jOS7heS9nOaPkOekugogICAgICB0aGlzLiRtZXNzYWdlLmluZm8oJ+WQjuerr+aaguacquaPkOS+m+ivpeaOpeWPoycpOwogICAgfSwKICAgIGRvd25sb2FkQmxvYjogZnVuY3Rpb24gZG93bmxvYWRCbG9iKGJsb2IsIGZpbGVOYW1lKSB7CiAgICAgIHZhciB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgIGxpbmsuaHJlZiA9IHVybDsKICAgICAgbGluay5kb3dubG9hZCA9IGZpbGVOYW1lOwogICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOwogICAgICBsaW5rLmNsaWNrKCk7CiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7CiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7CiAgICB9LAogICAgaGFuZGxlRXhwb3J0OiBmdW5jdGlvbiBoYW5kbGVFeHBvcnQoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB2YXIgcGFyYW1zID0gdGhpcy5idWlsZFNlYXJjaFBhcmFtcygpOwogICAgICBkZWxldGUgcGFyYW1zLnBhZ2VOdW07CiAgICAgIGRlbGV0ZSBwYXJhbXMucGFnZVNpemU7CiAgICAgICgwLCBfbG9nLmV4cG9ydFRlYWNoaW5nTG9nKShwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKGJsb2IpIHsKICAgICAgICBfdGhpczMuZG93bmxvYWRCbG9iKGJsb2IsICJcdTY1NTlcdTVCNjZcdTY1RTVcdTVGRDdfIi5jb25jYXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKSwgIi54bHMiKSk7CiAgICAgICAgX3RoaXMzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WvvOWHuuaIkOWKnycpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgaGFuZGxlSW1wb3J0RXhjZWw6IGZ1bmN0aW9uIGhhbmRsZUltcG9ydEV4Y2VsKCkgewogICAgICB0aGlzLiRyZWZzLmltcG9ydEZpbGVJbnB1dCAmJiB0aGlzLiRyZWZzLmltcG9ydEZpbGVJbnB1dC5jbGljaygpOwogICAgfSwKICAgIGhhbmRsZUltcG9ydEZpbGVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUltcG9ydEZpbGVDaGFuZ2UoZSkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdmFyIGZpbGVzID0gZS50YXJnZXQuZmlsZXM7CiAgICAgIGlmICghZmlsZXMgfHwgZmlsZXMubGVuZ3RoID09PSAwKSByZXR1cm47CiAgICAgIHZhciBmaWxlID0gZmlsZXNbMF07CiAgICAgIHRoaXMuaW1wb3J0aW5nID0gdHJ1ZTsKICAgICAgKDAsIF9sb2cuaW1wb3J0VGVhY2hpbmdMb2dFeGNlbCkoZmlsZSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5jb2RlID09PSAyMDAgfHwgcmVzLmNvZGUgPT09IDApIHsKICAgICAgICAgIF90aGlzNC4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tZXNzYWdlIHx8ICflr7zlhaXmiJDlip8nKTsKICAgICAgICAgIF90aGlzNC5mZXRjaExpc3QoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLmVycm9yKHJlcy5tZXNzYWdlIHx8ICflr7zlhaXlpLHotKUnKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KS5maW5hbGx5KGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczQuaW1wb3J0aW5nID0gZmFsc2U7CiAgICAgICAgaWYgKF90aGlzNC4kcmVmcy5pbXBvcnRGaWxlSW5wdXQpIHsKICAgICAgICAgIF90aGlzNC4kcmVmcy5pbXBvcnRGaWxlSW5wdXQudmFsdWUgPSAnJzsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZURvd25sb2FkVGVtcGxhdGU6IGZ1bmN0aW9uIGhhbmRsZURvd25sb2FkVGVtcGxhdGUoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICAoMCwgX2xvZy5kb3dubG9hZFRlYWNoaW5nTG9nVGVtcGxhdGUpKCkudGhlbihmdW5jdGlvbiAoYmxvYikgewogICAgICAgIF90aGlzNS5kb3dubG9hZEJsb2IoYmxvYiwgJ+WvvOWFpeaVmeWtpuaXpeW/l+aooeadvy54bHMnKTsKICAgICAgICBfdGhpczUuJG1lc3NhZ2Uuc3VjY2Vzcygn5qih5p2/5LiL6L295oiQ5YqfJyk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCiAgICBoYW5kbGVEZXRhaWw6IGZ1bmN0aW9uIGhhbmRsZURldGFpbChyb3cpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICAgIHRoaXMuZGV0YWlsRGF0YSA9ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSh7fSwgcm93KTsKICAgICAgdGhpcy5kZXRhaWxWaXNpYmxlID0gdHJ1ZTsKICAgICAgdmFyIGJoID0gcm93LmJoOwogICAgICBpZiAoIWJoKSByZXR1cm47CiAgICAgIHRoaXMuZGV0YWlsTG9hZGluZyA9IHRydWU7CiAgICAgICgwLCBfbG9nLmdldFRlYWNoaW5nTG9nQnlCaCkoU3RyaW5nKGJoKSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKChyZXMuY29kZSA9PT0gMjAwIHx8IHJlcy5jb2RlID09PSAwKSAmJiByZXMuZGF0YSkgewogICAgICAgICAgX3RoaXM2LmRldGFpbERhdGEgPSByZXMuZGF0YTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyDor6bmg4XmjqXlj6PkuI3lj6/nlKjml7bkv53nlZnooYzmlbDmja7lhZzlupXlsZXnpLoKICAgICAgfSkuZmluYWxseShmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM2LmRldGFpbExvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["_index","require","_log","name","data","searchForm","ksrq","jsrq","kcmc","jys","jxff","rzzt","skjy","pxqb","changeType","changeTypes","rwlb","jysOptions","jxffOptions","skjyOptions","rzztOptions","rwlbOptions","changeTypeOptions","label","value","changeTypeList","loading","tableData","selectedRows","pageNum","pageSize","total","importing","detailVisible","detailLoading","detailData","created","fetchList","methods","handleSelectionChange","rows","buildSearchParams","form","params","gdqk","length","gdxxqk","join","extractListData","res","_ref","_ref2","_data$total","list","records","totalCount","totalRows","_this","getTeachingLogList","then","code","_this$extractListData","catch","finally","handleSearch","handlePageChange","page","handleSizeChange","size","handleRefresh","getSelectedBhs","ids","map","row","bh","filter","Boolean","$message","warning","handleDeleteSelected","info","handleBatchReport","_this2","$confirm","concat","confirmButtonText","cancelButtonText","type","settled","Promise","resolve","forEach","submitTeachingLog","success","handleRecheck","downloadBlob","blob","fileName","url","window","URL","createObjectURL","link","document","createElement","href","download","body","appendChild","click","removeChild","revokeObjectURL","handleExport","_this3","exportTeachingLog","Date","toISOString","slice","handleImportExcel","$refs","importFileInput","handleImportFileChange","e","_this4","files","target","file","importTeachingLogExcel","message","error","handleDownloadTemplate","_this5","downloadTeachingLogTemplate","handleDetail","_this6","_objectSpread2","default","getTeachingLogByBh","String"],"sources":["src/views/teachingLog/organLog/components/logView.vue"],"sourcesContent":["<template>\r\n <div class=\"page-container\">\r\n <!-- 查询条件 -->\r\n <el-card shadow=\"never\" class=\"search-card\">\r\n <el-form :model=\"searchForm\" label-width=\"110px\" class=\"search-form\">\r\n <el-row :gutter=\"0\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"开始日期\">\r\n <el-date-picker v-model=\"searchForm.ksrq\" type=\"date\" value-format=\"yyyy-MM-dd\" placeholder=\"选择开始日期\"\r\n class=\"w-full\" />\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=\"searchForm.jsrq\" type=\"date\" value-format=\"yyyy-MM-dd\" placeholder=\"选择结束日期\"\r\n class=\"w-full\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-row :gutter=\"0\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"课程名称\">\r\n <el-input v-model=\"searchForm.kcmc\" placeholder=\"请输入课程名称\" clearable />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"教研室\">\r\n <el-select v-model=\"searchForm.jys\" placeholder=\"请选择教研室\" clearable class=\"w-full\">\r\n <el-option v-for=\"item in jysOptions\" :key=\"item\" :label=\"item\" :value=\"item\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-row :gutter=\"0\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"教学方法\">\r\n <el-select v-model=\"searchForm.jxff\" placeholder=\"请选择教学方法\" clearable class=\"w-full\">\r\n <el-option v-for=\"item in jxffOptions\" :key=\"item\" :label=\"item\" :value=\"item\" />\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=\"日志状态\">\r\n <el-select v-model=\"searchForm.rzzt\" placeholder=\"请选择日志状态\" clearable class=\"w-full\">\r\n <el-option v-for=\"item in rzztOptions\" :key=\"item\" :label=\"item\" :value=\"item\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-row :gutter=\"0\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"授课教员\">\r\n <el-select v-model=\"searchForm.skjy\" placeholder=\"请选择授课教员\" clearable class=\"w-full\">\r\n <el-option v-for=\"item in skjyOptions\" :key=\"item\" :label=\"item\" :value=\"item\" />\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=\"培训期班\">\r\n <el-input v-model=\"searchForm.pxqb\" placeholder=\"请输入培训期班\" clearable />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-row :gutter=\"0\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"改动情况\">\r\n <div class=\"change-options\">\r\n <el-radio-group v-model=\"searchForm.changeType\">\r\n <el-radio v-for=\"item in changeTypeOptions\" :key=\"item.value\" :label=\"item.value\">{{ item.label\r\n }}</el-radio>\r\n </el-radio-group>\r\n <el-checkbox-group v-model=\"searchForm.changeTypes\">\r\n <el-checkbox v-for=\"item in changeTypeList\" :key=\"item.value\" :label=\"item.value\">{{ item.label\r\n }}</el-checkbox>\r\n </el-checkbox-group>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"任务类别\">\r\n <el-select v-model=\"searchForm.rwlb\" placeholder=\"请选择任务类别\" clearable class=\"w-full\">\r\n <el-option v-for=\"item in rwlbOptions\" :key=\"item\" :label=\"item\" :value=\"item\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n\r\n <div class=\"search-actions\">\r\n <div class=\"left-group\">\r\n <el-button type=\"danger\" plain @click=\"handleDeleteSelected\">删除所选</el-button>\r\n <el-button type=\"primary\" @click=\"handleBatchReport\">批准上报所选</el-button>\r\n <el-button @click=\"handleRecheck\">重新检查通报变更情况</el-button>\r\n <el-button icon=\"el-icon-download\" @click=\"handleExport\">导出到 Word</el-button>\r\n <el-button icon=\"el-icon-refresh\" @click=\"handleRefresh\">刷新</el-button>\r\n <el-button icon=\"el-icon-upload2\" :loading=\"importing\" @click=\"handleImportExcel\">导入教学日志</el-button>\r\n <el-button icon=\"el-icon-download\" @click=\"handleDownloadTemplate\">下载模板</el-button>\r\n </div>\r\n <el-button type=\"primary\" @click=\"handleSearch\">查询</el-button>\r\n </div>\r\n\r\n <!-- 隐藏的文件选择器,用于导入 Excel -->\r\n <input ref=\"importFileInput\" type=\"file\" accept=\".xls,.xlsx\" style=\"display: none\" @change=\"handleImportFileChange\" />\r\n </el-card>\r\n\r\n <!-- 数据表格 -->\r\n <el-card shadow=\"never\" class=\"table-card\">\r\n <el-table v-loading=\"loading\" :data=\"tableData\" stripe border highlight-current-row\r\n @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" width=\"50\" align=\"center\" />\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" align=\"center\" />\r\n <el-table-column prop=\"rwlb\" label=\"库任务类别\" width=\"120\" align=\"center\" />\r\n <el-table-column prop=\"jyxm\" label=\"主讲教员\" width=\"100\" align=\"center\" />\r\n <el-table-column prop=\"rq\" label=\"日期\" width=\"150\" align=\"center\">\r\n <template slot-scope=\"scope\">{{ scope.row.rq ? formatDate(scope.row.rq) : '-' }}</template>\r\n </el-table-column>\r\n <el-table-column label=\"节次\" width=\"80\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n {{ scope.row.qsjc && scope.row.jsjc ? `${scope.row.qsjc}-${scope.row.jsjc}节` : (scope.row.qsjc || '-') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"kcmc\" label=\"课程名称\" min-width=\"150\" show-overflow-tooltip />\r\n <el-table-column prop=\"pxqbxx\" label=\"培训期班信息\" min-width=\"140\" show-overflow-tooltip />\r\n <el-table-column label=\"人数\" width=\"70\" align=\"center\">\r\n <template slot-scope=\"scope\">{{ scope.row.sdrs || scope.row.ydrs || '-' }}</template>\r\n </el-table-column>\r\n <el-table-column label=\"分组指导教员\" width=\"120\" align=\"center\">\r\n <template slot-scope=\"scope\">{{ scope.row.fzyzdjy || '-' }}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"jsfs\" label=\"教学方法\" width=\"100\" align=\"center\" />\r\n <el-table-column prop=\"zt\" label=\"日志状态\" width=\"100\" align=\"center\" />\r\n <el-table-column prop=\"gdqk\" label=\"变动汇总\" min-width=\"120\" show-overflow-tooltip />\r\n <el-table-column prop=\"jxrzcjfs\" label=\"创建方式\" width=\"100\" align=\"center\" />\r\n <el-table-column label=\"操作\" width=\"80\" align=\"center\" fixed=\"right\" class-name=\"table-action-column\">\r\n <template slot-scope=\"scope\">\r\n <el-button type=\"text\" @click=\"handleDetail(scope.row)\">详细</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <!-- 分页 -->\r\n <div class=\"pagination-wrapper\">\r\n <el-pagination :current-page=\"pageNum\" :page-size=\"pageSize\" :total=\"total\" :page-sizes=\"[10, 20, 50, 100]\"\r\n layout=\"total, sizes, prev, pager, next, jumper\" background @current-change=\"handlePageChange\"\r\n @size-change=\"handleSizeChange\" />\r\n </div>\r\n </el-card>\r\n\r\n <!-- 日志详情对话框 -->\r\n <el-dialog :visible.sync=\"detailVisible\" title=\"教学日志详情\" width=\"700px\" destroy-on-close>\r\n <div v-loading=\"detailLoading\">\r\n <el-descriptions v-if=\"!detailLoading\" :column=\"2\" border>\r\n <el-descriptions-item label=\"编号\">{{ detailData.bh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"统一编号\">{{ detailData.tybh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"教员编号\">{{ detailData.jybh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"教员姓名\">{{ detailData.jyxm || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"课程名称\">{{ detailData.kcmc || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"任务类别\">{{ detailData.rwlb || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"日期\">{{ detailData.rq || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"节次\">\r\n {{ detailData.qsjc && detailData.jsjc ? `${detailData.qsjc}-${detailData.jsjc}节` : '-' }}\r\n </el-descriptions-item>\r\n <el-descriptions-item label=\"教学方法\">{{ detailData.jsfs || detailData.jxff || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"创建方式\">{{ detailData.jxrzcjfs || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"应到人数\">{{ detailData.ydrs || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"实到人数\">{{ detailData.sdrs || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"培训期班信息\" :span=\"2\">{{ detailData.pxqbxx || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"授课地点\" :span=\"2\">{{ detailData.skdd || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"状态\">{{ detailData.zt || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"教研室\">{{ detailData.jysmc || detailData.jys || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"变动汇总\" :span=\"2\">{{ detailData.gdqk || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"变动详细情况\" :span=\"2\">{{ detailData.gdxxqk || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"退回意见\" :span=\"2\">{{ detailData.thyj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"创建时间\">{{ detailData.cjsj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"修改时间\">{{ detailData.xgsj || '-' }}</el-descriptions-item>\r\n </el-descriptions>\r\n </div>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"detailVisible = false\">关 闭</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { formatDate } from '@/utils/index'\r\nimport {\r\n getTeachingLogList,\r\n submitTeachingLog,\r\n exportTeachingLog,\r\n importTeachingLogExcel,\r\n downloadTeachingLogTemplate,\r\n getTeachingLogByBh\r\n} from '@/api/log'\r\n\r\nexport default {\r\n name: 'LogView',\r\n data() {\r\n return {\r\n // ==================== 查询表单 ====================\r\n searchForm: {\r\n ksrq: '',\r\n jsrq: '',\r\n kcmc: '',\r\n jys: '',\r\n jxff: '',\r\n rzzt: '',\r\n skjy: '',\r\n pxqb: '',\r\n changeType: '',\r\n changeTypes: [],\r\n rwlb: ''\r\n },\r\n\r\n jysOptions: ['教研室', '防空兵系', '通信工程系', '装甲兵系'],\r\n jxffOptions: ['理论讲授', '讨论', '实操', '演示', '实验', '演习'],\r\n skjyOptions: ['教务处', '张三', '李四', '王五', '赵六'],\r\n rzztOptions: ['教务部门导入教员类', '管理员手工添加'],\r\n rwlbOptions: ['全军院校训练规划内任务', '其他任务'],\r\n changeTypeOptions: [\r\n { label: '与教学计划一致', value: '与教学计划一致' },\r\n { label: '已改动教学计划', value: '已改动教学计划' },\r\n { label: '手动拟制', value: '手动拟制' }\r\n ],\r\n changeTypeList: [\r\n { label: '已改动教员', value: '已改动教员' },\r\n { label: '已改动时间', value: '已改动时间' },\r\n { label: '已改动课目', value: '已改动课目' },\r\n { label: '已改动内容', value: '已改动内容' },\r\n { label: '已改动教学方法', value: '已改动教学方法' },\r\n { label: '已改动场地', value: '已改动场地' },\r\n { label: '已改动期班', value: '已改动期班' }\r\n ],\r\n\r\n // ==================== 数据表格 ====================\r\n loading: false,\r\n tableData: [],\r\n selectedRows: [],\r\n pageNum: 1,\r\n pageSize: 20,\r\n total: 0,\r\n\r\n // ==================== 导入 ====================\r\n importing: false,\r\n\r\n // ==================== 详情 ====================\r\n detailVisible: false,\r\n detailLoading: false,\r\n detailData: {}\r\n }\r\n },\r\n created() {\r\n this.fetchList()\r\n },\r\n methods: {\r\n handleSelectionChange(rows) {\r\n this.selectedRows = rows\r\n },\r\n\r\n /** 根据已填写的查询值构建实际查询参数 */\r\n buildSearchParams() {\r\n const form = this.searchForm\r\n const params = { pageNum: this.pageNum, pageSize: this.pageSize }\r\n if (form.ksrq) params.ksrq = form.ksrq\r\n if (form.jsrq) params.jsrq = form.jsrq\r\n if (form.kcmc) params.kcmc = form.kcmc\r\n if (form.jys) params.jys = form.jys\r\n if (form.jxff) params.jxff = form.jxff\r\n if (form.rzzt) params.rzzt = form.rzzt\r\n if (form.skjy) params.skjy = form.skjy\r\n if (form.pxqb) params.pxqb = form.pxqb\r\n if (form.rwlb) params.rwlb = form.rwlb\r\n if (form.changeType) params.gdqk = form.changeType\r\n if (form.changeTypes.length > 0) {\r\n params.gdxxqk = form.changeTypes.join(',')\r\n }\r\n return params\r\n },\r\n\r\n /** 从响应中提取列表数据和总数(兼容 records / list / rows 等常见字段名) */\r\n extractListData(res) {\r\n const data = res.data || res\r\n const list = data.records || data.list || data.rows || []\r\n const totalCount = data.total ?? data.totalCount ?? data.totalRows ?? 0\r\n return { list, total: totalCount }\r\n },\r\n\r\n fetchList() {\r\n this.loading = true\r\n return getTeachingLogList(this.buildSearchParams())\r\n .then((res) => {\r\n if (res.code === 200 || res.code === 0) {\r\n const { list, total } = this.extractListData(res)\r\n this.tableData = list\r\n this.total = total\r\n }\r\n })\r\n .catch(() => {\r\n // 错误已由拦截器统一处理\r\n })\r\n .finally(() => {\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 handlePageChange(page) {\r\n this.pageNum = page\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 handleRefresh() {\r\n this.fetchList()\r\n },\r\n\r\n getSelectedBhs() {\r\n const ids = this.selectedRows.map((row) => row.bh).filter(Boolean)\r\n if (ids.length === 0) {\r\n this.$message.warning('请先选择要操作的记录')\r\n return []\r\n }\r\n return ids\r\n },\r\n\r\n handleDeleteSelected() {\r\n // 后端暂未提供删除接口,仅作提示\r\n this.$message.info('后端暂未提供该接口')\r\n },\r\n\r\n handleBatchReport() {\r\n const ids = this.getSelectedBhs()\r\n if (ids.length === 0) return\r\n this.$confirm(`确定要上报选中的 ${ids.length} 条记录吗?`, '上报确认', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(() => {\r\n // 提交教学日志审核,逐条上报至「已上报」状态\r\n let settled = Promise.resolve()\r\n ids.forEach((bh) => {\r\n settled = settled.then(() => submitTeachingLog(bh, '已上报'))\r\n })\r\n return settled\r\n })\r\n .then(() => {\r\n this.$message.success(`已上报 ${ids.length} 条记录`)\r\n this.fetchList()\r\n })\r\n .catch(() => {})\r\n },\r\n\r\n handleRecheck() {\r\n // 后端暂未提供重新检查接口,仅作提示\r\n this.$message.info('后端暂未提供该接口')\r\n },\r\n\r\n downloadBlob(blob, fileName) {\r\n const url = window.URL.createObjectURL(blob)\r\n const link = document.createElement('a')\r\n link.href = url\r\n link.download = fileName\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n window.URL.revokeObjectURL(url)\r\n },\r\n\r\n handleExport() {\r\n const params = this.buildSearchParams()\r\n delete params.pageNum\r\n delete params.pageSize\r\n exportTeachingLog(params)\r\n .then((blob) => {\r\n this.downloadBlob(blob, `教学日志_${new Date().toISOString().slice(0, 10)}.xls`)\r\n this.$message.success('导出成功')\r\n })\r\n .catch(() => {})\r\n },\r\n\r\n handleImportExcel() {\r\n this.$refs.importFileInput && this.$refs.importFileInput.click()\r\n },\r\n\r\n handleImportFileChange(e) {\r\n const files = e.target.files\r\n if (!files || files.length === 0) return\r\n const file = files[0]\r\n this.importing = true\r\n importTeachingLogExcel(file)\r\n .then((res) => {\r\n if (res.code === 200 || res.code === 0) {\r\n this.$message.success(res.message || '导入成功')\r\n this.fetchList()\r\n } else {\r\n this.$message.error(res.message || '导入失败')\r\n }\r\n })\r\n .catch(() => {})\r\n .finally(() => {\r\n this.importing = false\r\n if (this.$refs.importFileInput) {\r\n this.$refs.importFileInput.value = ''\r\n }\r\n })\r\n },\r\n\r\n handleDownloadTemplate() {\r\n downloadTeachingLogTemplate()\r\n .then((blob) => {\r\n this.downloadBlob(blob, '导入教学日志模板.xls')\r\n this.$message.success('模板下载成功')\r\n })\r\n .catch(() => {})\r\n },\r\n\r\n handleDetail(row) {\r\n this.detailData = { ...row }\r\n this.detailVisible = true\r\n const bh = row.bh\r\n if (!bh) return\r\n this.detailLoading = true\r\n getTeachingLogByBh(String(bh))\r\n .then((res) => {\r\n if ((res.code === 200 || res.code === 0) && res.data) {\r\n this.detailData = res.data\r\n }\r\n })\r\n .catch(() => {\r\n // 详情接口不可用时保留行数据兜底展示\r\n })\r\n .finally(() => {\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.page-container {\r\n padding: 4px 8px;\r\n}\r\n\r\n.search-card {\r\n margin-bottom: 16px;\r\n\r\n .search-form {\r\n .w-full {\r\n width: 100%;\r\n }\r\n\r\n ::v-deep .el-row {\r\n border-bottom: 1px solid #ebeef5;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n }\r\n\r\n ::v-deep .el-col {\r\n border-right: 1px solid #ebeef5;\r\n\r\n &:last-child {\r\n border-right: none;\r\n }\r\n }\r\n\r\n ::v-deep .el-form-item__label {\r\n white-space: normal;\r\n line-height: 1.4;\r\n text-align: left;\r\n justify-content: flex-start;\r\n }\r\n\r\n .el-form-item {\r\n margin-bottom: 0;\r\n padding: 10px 12px;\r\n }\r\n\r\n .change-options {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n\r\n ::v-deep .el-radio-group,\r\n ::v-deep .el-checkbox-group {\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 12px;\r\n }\r\n\r\n }\r\n }\r\n\r\n .search-tip {\r\n padding: 6px 12px 0;\r\n font-size: 12px;\r\n color: #f56c6c;\r\n }\r\n\r\n .search-actions {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 12px;\r\n border-top: 1px solid #ebeef5;\r\n\r\n .left-group {\r\n display: flex;\r\n gap: 8px;\r\n flex-wrap: wrap;\r\n }\r\n }\r\n}\r\n\r\n.table-card {\r\n .el-table {\r\n width: 100%;\r\n }\r\n\r\n .pagination-wrapper {\r\n display: flex;\r\n justify-content: flex-end;\r\n padding: 16px 0 0;\r\n }\r\n}\r\n</style>\r\n"],"mappings":"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","ignoreList":[]}]} |