forked from liweijie/education
1 line
26 KiB
JSON
1 line
26 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\\teachOffice\\office\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\teachOffice\\office\\index.vue","mtime":1787650713742},{"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:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuZW5kcy13aXRoLmpzIik7CnZhciBfb2ZmaWNlID0gcmVxdWlyZSgiQC9hcGkvdGVhY2hPZmZpY2Uvb2ZmaWNlIik7CnZhciBfYXV0aCA9IHJlcXVpcmUoIkAvdXRpbHMvYXV0aCIpOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSBleHBvcnRzLmRlZmF1bHQgPSB7CiAgbmFtZTogIk9mZmljZSIsCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g6KGo5qC86auY5bqmCiAgICAgIHRhYmxlSGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQgLSAyODAsCiAgICAgIC8vIOaAu+adoeaVsAogICAgICB0b3RhbDogMCwKICAgICAgLy8g5pWZ56CU5a6k5YiX6KGo5pWw5o2uCiAgICAgIG9mZmljZUxpc3Q6IFtdLAogICAgICAvLyDlvLnlh7rlsYLmoIfpopgKICAgICAgdGl0bGU6ICIiLAogICAgICAvLyDmmK/lkKbmmL7npLrmlrDlop4v57yW6L6R5by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICAvLyDmmK/lkKbmlrDlop7vvIhmYWxzZSDkuLrnvJbovpHvvIkKICAgICAgaXNBZGQ6IHRydWUsCiAgICAgIC8vIOaYr+WQpuaYvuekuuWvvOWFpeW8ueWHuuWxggogICAgICBpbXBvcnRPcGVuOiBmYWxzZSwKICAgICAgLy8g5p+l6K+i5Y+C5pWwCiAgICAgIHF1ZXJ5UGFyYW1zOiB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMjAsCiAgICAgICAganlzZGg6IHVuZGVmaW5lZCwKICAgICAgICBqeXNtYzogdW5kZWZpbmVkLAogICAgICAgIGJ4OiB1bmRlZmluZWQKICAgICAgfSwKICAgICAgLy8g6KGo5Y2V5Y+C5pWwCiAgICAgIGZvcm06IHt9LAogICAgICAvLyDooajljZXmoKHpqowKICAgICAgcnVsZXM6IHsKICAgICAgICBqeXNkaDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuaVmeeglOWupOS7o+WPt+S4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICBqeXNtYzogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuaVmeeglOWupOWQjeensOS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XQogICAgICB9CiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIGltcG9ydFVybDogZnVuY3Rpb24gaW1wb3J0VXJsKCkgewogICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArICcvanlzL29mZmljZS9pbXBvcnQnOwogICAgfSwKICAgIHVwbG9hZEhlYWRlcnM6IGZ1bmN0aW9uIHVwbG9hZEhlYWRlcnMoKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgKDAsIF9hdXRoLmdldFRva2VuKSgpCiAgICAgIH07CiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nZXRMaXN0KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvKiog5p+l6K+i5pWZ56CU5a6k5YiX6KGoICovZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgKDAsIF9vZmZpY2UubGlzdE9mZmljZSkodGhpcy5xdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAvLyDlkI7nq6/ov5Tlm54gTXlCYXRpcy1QbHVzIOWIhumhtee7k+aehO+8mmRhdGEucmVjb3JkcyAvIGRhdGEudG90YWwKICAgICAgICB2YXIgZGF0YSA9IHJlc3BvbnNlLmRhdGEgfHwge307CiAgICAgICAgX3RoaXMub2ZmaWNlTGlzdCA9IGRhdGEucmVjb3JkcyB8fCBbXTsKICAgICAgICBfdGhpcy50b3RhbCA9IGRhdGEudG90YWwgfHwgMDsKICAgICAgICBfdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpcy5vZmZpY2VMaXN0ID0gW107CiAgICAgICAgX3RoaXMudG90YWwgPSAwOwogICAgICAgIF90aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOafpeivouaMiemSriAqL2hhbmRsZVF1ZXJ5OiBmdW5jdGlvbiBoYW5kbGVRdWVyeSgpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLyoqIOmHjee9ruaMiemSriAqL3Jlc2V0UXVlcnk6IGZ1bmN0aW9uIHJlc2V0UXVlcnkoKSB7CiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsKICAgICAgdGhpcy5oYW5kbGVRdWVyeSgpOwogICAgfSwKICAgIC8qKiDmlrDlop7mjInpkq4gKi9oYW5kbGVBZGQ6IGZ1bmN0aW9uIGhhbmRsZUFkZCgpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB0aGlzLmlzQWRkID0gdHJ1ZTsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLmlrDlop7mlZnnoJTlrqQiOwogICAgfSwKICAgIC8qKiDnvJbovpHmjInpkq4gKi9oYW5kbGVVcGRhdGU6IGZ1bmN0aW9uIGhhbmRsZVVwZGF0ZShyb3cpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB0aGlzLmlzQWRkID0gZmFsc2U7CiAgICAgIC8vIOe8lui+ke+8mmp5c2RoIOW/heS8oAogICAgICB0aGlzLmZvcm0gPSB7CiAgICAgICAganlzZGg6IHJvdy5qeXNkaCwKICAgICAgICBqeXNtYzogcm93Lmp5c21jLAogICAgICAgIGpjOiByb3cuamMsCiAgICAgICAgYng6IHJvdy5ieCwKICAgICAgICB4aDogcm93LnhoLAogICAgICAgIGJ6OiByb3cuYnoKICAgICAgfTsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLnvJbovpHmlZnnoJTlrqQiOwogICAgfSwKICAgIC8qKiDlgZznlKjmjInpkq4gKi9oYW5kbGVEaXNhYmxlOiBmdW5jdGlvbiBoYW5kbGVEaXNhYmxlKHJvdykgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdmFyIGp5c2RoID0gcm93Lmp5c2RoOwogICAgICB0aGlzLiRtb2RhbC5jb25maXJtKCfnoa7orqTlgZznlKjmlZnnoJTlrqTjgJAnICsgcm93Lmp5c21jICsgJ+OAkeWQl++8nycpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX29mZmljZS5kaXNhYmxlT2ZmaWNlKShqeXNkaCk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMi5nZXRMaXN0KCk7CiAgICAgICAgX3RoaXMyLiRtb2RhbC5tc2dTdWNjZXNzKCLlgZznlKjmiJDlip8iKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIC8qKiDmj5DkuqTooajljZUgKi9zdWJtaXRGb3JtOiBmdW5jdGlvbiBzdWJtaXRGb3JtKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdGhpcy4kcmVmc1siZm9ybSJdLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgaWYgKF90aGlzMy5pc0FkZCkgewogICAgICAgICAgICAoMCwgX29mZmljZS5hZGRPZmZpY2UpKF90aGlzMy5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIF90aGlzMy4kbW9kYWwubXNnU3VjY2Vzcygi5paw5aKe5oiQ5YqfIik7CiAgICAgICAgICAgICAgX3RoaXMzLm9wZW4gPSBmYWxzZTsKICAgICAgICAgICAgICBfdGhpczMuZ2V0TGlzdCgpOwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAoMCwgX29mZmljZS51cGRhdGVPZmZpY2UpKF90aGlzMy5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIF90aGlzMy4kbW9kYWwubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CiAgICAgICAgICAgICAgX3RoaXMzLm9wZW4gPSBmYWxzZTsKICAgICAgICAgICAgICBfdGhpczMuZ2V0TGlzdCgpOwogICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvKiog6YeN572u6KGo5Y2VICovcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkgewogICAgICB0aGlzLmZvcm0gPSB7CiAgICAgICAganlzZGg6IHVuZGVmaW5lZCwKICAgICAgICBqeXNtYzogdW5kZWZpbmVkLAogICAgICAgIGpjOiB1bmRlZmluZWQsCiAgICAgICAgYng6IHVuZGVmaW5lZCwKICAgICAgICB4aDogdW5kZWZpbmVkLAogICAgICAgIGJ6OiB1bmRlZmluZWQKICAgICAgfTsKICAgICAgdGhpcy5yZXNldEZvcm0oImZvcm0iKTsKICAgIH0sCiAgICAvKiog5Y+W5raI5oyJ6ZKuICovY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7CiAgICAgIHRoaXMub3BlbiA9IGZhbHNlOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9LAogICAgLyoqIOaJk+W8gOWvvOWFpeWvueivneahhiAqL29wZW5JbXBvcnQ6IGZ1bmN0aW9uIG9wZW5JbXBvcnQoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB0aGlzLmltcG9ydE9wZW4gPSB0cnVlOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKF90aGlzNC4kcmVmcy51cGxvYWRSZWYpIHsKICAgICAgICAgIF90aGlzNC4kcmVmcy51cGxvYWRSZWYuY2xlYXJGaWxlcygpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLyoqIOWvvOWFpeWJjeagoemqjOaWh+S7tuagvOW8jyAqL2JlZm9yZUltcG9ydDogZnVuY3Rpb24gYmVmb3JlSW1wb3J0KGZpbGUpIHsKICAgICAgdmFyIG5hbWUgPSBmaWxlLm5hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgaWYgKCFuYW1lLmVuZHNXaXRoKCcueGxzJykgJiYgIW5hbWUuZW5kc1dpdGgoJy54bHN4JykpIHsKICAgICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcign5LuF5pSv5oyBIHhsc+OAgXhsc3gg5qC85byP5paH5Lu2Jyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIC8qKiDmj5DkuqTlr7zlhaUgKi9zdWJtaXRJbXBvcnQ6IGZ1bmN0aW9uIHN1Ym1pdEltcG9ydCgpIHsKICAgICAgdmFyIGZpbGVzID0gdGhpcy4kcmVmcy51cGxvYWRSZWYudXBsb2FkRmlsZXM7CiAgICAgIGlmICghZmlsZXMgfHwgZmlsZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGhpcy4kbW9kYWwubXNnRXJyb3IoJ+ivt+mAieaLqeimgeWvvOWFpeeahOaWh+S7ticpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLiRyZWZzLnVwbG9hZFJlZi5zdWJtaXQoKTsKICAgIH0sCiAgICAvKiog5a+85YWl5oiQ5YqfICovaGFuZGxlSW1wb3J0U3VjY2VzczogZnVuY3Rpb24gaGFuZGxlSW1wb3J0U3VjY2VzcyhyZXNwb25zZSkgewogICAgICB0aGlzLmltcG9ydE9wZW4gPSBmYWxzZTsKICAgICAgdGhpcy4kYWxlcnQoIjxkaXYgc3R5bGU9J292ZXJmbG93OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWF4LWhlaWdodDo3MHZoO3BhZGRpbmc6MTBweCAyMHB4IDA7Jz4iICsgcmVzcG9uc2UubXNnICsgJzwvZGl2PicsICflr7zlhaXnu5PmnpwnLCB7CiAgICAgICAgZGFuZ2Vyb3VzbHlVc2VIVE1MU3RyaW5nOiB0cnVlCiAgICAgIH0pOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCiAgICAvKiog5a+85YWl5aSx6LSlICovaGFuZGxlSW1wb3J0RXJyb3I6IGZ1bmN0aW9uIGhhbmRsZUltcG9ydEVycm9yKCkgewogICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcign5a+85YWl5aSx6LSl77yM6K+356iN5ZCO6YeN6K+VJyk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["_office","require","_auth","name","data","loading","showSearch","tableHeight","window","innerHeight","total","officeList","title","open","isAdd","importOpen","queryParams","pageNum","pageSize","jysdh","undefined","jysmc","bx","form","rules","required","message","trigger","computed","importUrl","process","env","VUE_APP_BASE_API","uploadHeaders","Authorization","getToken","created","getList","methods","_this","listOffice","then","response","records","catch","handleQuery","resetQuery","resetForm","handleAdd","reset","handleUpdate","row","jc","xh","bz","handleDisable","_this2","$modal","confirm","disableOffice","msgSuccess","submitForm","_this3","$refs","validate","valid","addOffice","updateOffice","cancel","openImport","_this4","$nextTick","uploadRef","clearFiles","beforeImport","file","toLowerCase","endsWith","msgError","submitImport","files","uploadFiles","length","submit","handleImportSuccess","$alert","msg","dangerouslyUseHTMLString","handleImportError"],"sources":["src/views/teachOffice/office/index.vue"],"sourcesContent":["<template>\r\n <div class=\"app-container teach-office\">\r\n <!-- 查询条件区域 -->\\r\\n <el-form :model=\"queryParams\" ref=\"queryForm\" size=\"small\" :inline=\"true\" label-width=\"88px\" v-show=\"showSearch\">\\r\\n <el-form-item label=\"教研室代号\" prop=\"jysdh\">\\r\\n <el-input\\r\\n v-model=\"queryParams.jysdh\"\\r\\n placeholder=\"请输入教研室代号\"\\r\\n clearable\\r\\n style=\"width: 160px\"\\r\\n @keyup.enter.native=\"handleQuery\"\\r\\n />\\r\\n </el-form-item>\\r\\n <el-form-item label=\"教研室名称\" prop=\"jysmc\">\\r\\n <el-input\\r\\n v-model=\"queryParams.jysmc\"\\r\\n placeholder=\"请输入教研室名称(模糊)\"\\r\\n clearable\\r\\n style=\"width: 180px\"\\r\\n @keyup.enter.native=\"handleQuery\"\\r\\n />\\r\\n </el-form-item>\\r\\n <el-form-item label=\"部系\" prop=\"bx\">\\r\\n <el-input\\r\\n v-model=\"queryParams.bx\"\\r\\n placeholder=\"请输入部系\"\\r\\n clearable\\r\\n style=\"width: 160px\"\\r\\n @keyup.enter.native=\"handleQuery\"\\r\\n />\\r\\n </el-form-item>\\r\\n <el-form-item label=\"状态\" prop=\"ty\">\\r\\n <el-select v-model=\"queryParams.ty\" placeholder=\"全部\" clearable style=\"width: 100px\">\\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-form-item>\\r\\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">查询</el-button>\\r\\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\\r\\n </el-form-item>\\r\\n </el-form>\r\n\r\n <!-- 操作按钮区域 -->\r\n <el-row :gutter=\"10\" class=\"mb8\">\r\n <el-col :span=\"1.5\">\r\n <el-button type=\"primary\" plain icon=\"el-icon-plus\" size=\"mini\" @click=\"handleAdd\">新增</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button type=\"info\" plain icon=\"el-icon-upload2\" size=\"mini\" @click=\"openImport\">导入</el-button>\r\n </el-col>\r\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\r\n </el-row>\r\n\r\n <!-- 数据列表区域 -->\r\n <el-table v-loading=\"loading\" :data=\"officeList\" border :height=\"tableHeight\">\r\n <el-table-column label=\"教研室代号\" align=\"center\" prop=\"jysdh\" min-width=\"110\" />\r\n <el-table-column label=\"教研室名称\" align=\"center\" prop=\"jysmc\" min-width=\"160\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"简称\" align=\"center\" prop=\"jc\" min-width=\"90\" />\r\n <el-table-column label=\"部系\" align=\"center\" prop=\"bx\" min-width=\"100\" />\r\n <el-table-column label=\"序号\" align=\"center\" prop=\"xh\" min-width=\"80\" />\r\n <el-table-column label=\"机关性质\" align=\"center\" min-width=\"90\">\r\n <template slot-scope=\"scope\">\r\n <el-tag :type=\"scope.row.jgxz ? 'primary' : 'info'\" size=\"mini\">{{ scope.row.jgxz ? '是' : '否' }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"备注\" align=\"center\" prop=\"bz\" min-width=\"120\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"操作\" align=\"center\" min-width=\"140\" class-name=\"small-padding fixed-width\">\r\n <template slot-scope=\"scope\">\r\n <el-button size=\"mini\" type=\"text\" icon=\"el-icon-edit\" @click=\"handleUpdate(scope.row)\">编辑</el-button>\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-circle-close\"\r\n style=\"color: #f56c6c\"\r\n :disabled=\"scope.row.ty === 1\"\r\n @click=\"handleDisable(scope.row)\"\r\n >停用</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination\r\n v-show=\"total > 0\"\r\n :total=\"total\"\r\n :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\"\r\n @pagination=\"getList\"\r\n />\r\n\r\n <!-- 新增/编辑对话框 -->\r\n <el-dialog :title=\"title\" :visible.sync=\"open\" width=\"560px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"100px\">\r\n <el-form-item label=\"教研室代号\" prop=\"jysdh\">\r\n <el-input v-model=\"form.jysdh\" placeholder=\"请输入教研室代号\" :disabled=\"!isAdd\" maxlength=\"20\" />\r\n </el-form-item>\r\n <el-form-item label=\"教研室名称\" prop=\"jysmc\">\r\n <el-input v-model=\"form.jysmc\" placeholder=\"请输入教研室名称\" maxlength=\"50\" />\r\n </el-form-item>\r\n <el-form-item label=\"简称\" prop=\"jc\">\r\n <el-input v-model=\"form.jc\" placeholder=\"请输入简称\" maxlength=\"20\" />\r\n </el-form-item>\r\n <el-form-item label=\"部系\" prop=\"bx\">\r\n <el-input v-model=\"form.bx\" placeholder=\"请输入部系\" maxlength=\"30\" />\r\n </el-form-item>\r\n <el-form-item label=\"序号\" prop=\"xh\">\r\n <el-input v-model=\"form.xh\" placeholder=\"请输入序号\" maxlength=\"10\" />\r\n </el-form-item>\r\n <el-form-item label=\"备注\" prop=\"bz\">\r\n <el-input v-model=\"form.bz\" type=\"textarea\" placeholder=\"请输入备注\" :rows=\"3\" maxlength=\"200\" show-word-limit />\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"submitForm\">确 定</el-button>\r\n <el-button @click=\"cancel\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <!-- 导入对话框 -->\r\n <el-dialog title=\"教研室数据导入\" :visible.sync=\"importOpen\" width=\"420px\" append-to-body>\r\n <el-upload\r\n ref=\"uploadRef\"\r\n :action=\"importUrl\"\r\n :headers=\"uploadHeaders\"\r\n :on-success=\"handleImportSuccess\"\r\n :on-error=\"handleImportError\"\r\n :limit=\"1\"\r\n :before-upload=\"beforeImport\"\r\n accept=\".xls, .xlsx\"\r\n drag\r\n >\r\n <i class=\"el-icon-upload\"></i>\r\n <div class=\"el-upload__text\">将文件拖到此处,或<em>点击上传</em></div>\r\n <div class=\"el-upload__tip text-center\" slot=\"tip\">\r\n <span>仅允许导入 xls、xlsx 格式文件。</span>\r\n </div>\r\n </el-upload>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"submitImport\">确 定</el-button>\r\n <el-button @click=\"importOpen = false\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { listOffice, addOffice, updateOffice, disableOffice } from \"@/api/teachOffice/office\"\r\nimport { getToken } from '@/utils/auth'\r\n\r\nexport default {\r\n name: \"Office\",\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 表格高度\r\n tableHeight: window.innerHeight - 280,\r\n // 总条数\r\n total: 0,\r\n // 教研室列表数据\r\n officeList: [],\r\n // 弹出层标题\r\n title: \"\",\r\n // 是否显示新增/编辑弹出层\r\n open: false,\r\n // 是否新增(false 为编辑)\r\n isAdd: true,\r\n // 是否显示导入弹出层\r\n importOpen: false,\r\n // 查询参数\r\n queryParams: {\r\n pageNum: 1,\r\n pageSize: 20,\r\n jysdh: undefined,\r\n jysmc: undefined,\r\n bx: undefined\r\n },\r\n // 表单参数\r\n form: {},\r\n // 表单校验\r\n rules: {\r\n jysdh: [\r\n { required: true, message: \"教研室代号不能为空\", trigger: \"blur\" }\r\n ],\r\n jysmc: [\r\n { required: true, message: \"教研室名称不能为空\", trigger: \"blur\" }\r\n ]\r\n }\r\n }\r\n },\r\n computed: {\r\n importUrl() {\r\n return process.env.VUE_APP_BASE_API + '/jys/office/import'\r\n },\r\n uploadHeaders() {\r\n return { Authorization: 'Bearer ' + getToken() }\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n /** 查询教研室列表 */\r\n getList() {\r\n this.loading = true\r\n listOffice(this.queryParams).then(response => {\r\n // 后端返回 MyBatis-Plus 分页结构:data.records / data.total\r\n const data = response.data || {}\r\n this.officeList = data.records || []\r\n this.total = data.total || 0\r\n this.loading = false\r\n }).catch(() => {\r\n this.officeList = []\r\n this.total = 0\r\n this.loading = false\r\n })\r\n },\r\n /** 查询按钮 */\r\n handleQuery() {\r\n this.queryParams.pageNum = 1\r\n this.getList()\r\n },\r\n /** 重置按钮 */\r\n resetQuery() {\r\n this.resetForm(\"queryForm\")\r\n this.handleQuery()\r\n },\r\n /** 新增按钮 */\r\n handleAdd() {\r\n this.reset()\r\n this.isAdd = true\r\n this.open = true\r\n this.title = \"新增教研室\"\r\n },\r\n /** 编辑按钮 */\r\n handleUpdate(row) {\r\n this.reset()\r\n this.isAdd = false\r\n // 编辑:jysdh 必传\r\n this.form = {\r\n jysdh: row.jysdh,\r\n jysmc: row.jysmc,\r\n jc: row.jc,\r\n bx: row.bx,\r\n xh: row.xh,\r\n bz: row.bz\r\n }\r\n this.open = true\r\n this.title = \"编辑教研室\"\r\n },\r\n /** 停用按钮 */\r\n handleDisable(row) {\r\n const jysdh = row.jysdh\r\n this.$modal.confirm('确认停用教研室【' + row.jysmc + '】吗?').then(() => {\r\n return disableOffice(jysdh)\r\n }).then(() => {\r\n this.getList()\r\n this.$modal.msgSuccess(\"停用成功\")\r\n }).catch(() => {})\r\n },\r\n /** 提交表单 */\r\n submitForm() {\r\n this.$refs[\"form\"].validate(valid => {\r\n if (valid) {\r\n if (this.isAdd) {\r\n addOffice(this.form).then(response => {\r\n this.$modal.msgSuccess(\"新增成功\")\r\n this.open = false\r\n this.getList()\r\n }).catch(() => {})\r\n } else {\r\n updateOffice(this.form).then(response => {\r\n this.$modal.msgSuccess(\"修改成功\")\r\n this.open = false\r\n this.getList()\r\n }).catch(() => {})\r\n }\r\n }\r\n })\r\n },\r\n /** 重置表单 */\r\n reset() {\r\n this.form = {\r\n jysdh: undefined,\r\n jysmc: undefined,\r\n jc: undefined,\r\n bx: undefined,\r\n xh: undefined,\r\n bz: undefined\r\n }\r\n this.resetForm(\"form\")\r\n },\r\n /** 取消按钮 */\r\n cancel() {\r\n this.open = false\r\n this.reset()\r\n },\r\n /** 打开导入对话框 */\r\n openImport() {\r\n this.importOpen = true\r\n this.$nextTick(() => {\r\n if (this.$refs.uploadRef) {\r\n this.$refs.uploadRef.clearFiles()\r\n }\r\n })\r\n },\r\n /** 导入前校验文件格式 */\r\n beforeImport(file) {\r\n const name = file.name.toLowerCase()\r\n if (!name.endsWith('.xls') && !name.endsWith('.xlsx')) {\r\n this.$modal.msgError('仅支持 xls、xlsx 格式文件')\r\n return false\r\n }\r\n return true\r\n },\r\n /** 提交导入 */\r\n submitImport() {\r\n const files = this.$refs.uploadRef.uploadFiles\r\n if (!files || files.length === 0) {\r\n this.$modal.msgError('请选择要导入的文件')\r\n return\r\n }\r\n this.$refs.uploadRef.submit()\r\n },\r\n /** 导入成功 */\r\n handleImportSuccess(response) {\r\n this.importOpen = false\r\n this.$alert(\"<div style='overflow:auto;overflow-x:hidden;max-height:70vh;padding:10px 20px 0;'>\" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })\r\n this.getList()\r\n },\r\n /** 导入失败 */\r\n handleImportError() {\r\n this.$modal.msgError('导入失败,请稍后重试')\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.teach-office {\r\n .mb8 {\r\n margin-bottom: 8px;\r\n }\r\n}\r\n</style>\r\n\r\n\r\n"],"mappings":"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","ignoreList":[]}]} |