Files
education/frontend/node_modules/.cache/vue-loader/7e6c10c77955407a15bd98def969dddc.json
T

1 line
15 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\\student\\warningResult\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\student\\warningResult\\index.vue","mtime":1787567871648},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgew0KICBsaXN0V2FybmluZ1Jlc3VsdCwNCiAgZ2V0V2FybmluZ1Jlc3VsdA0KfSBmcm9tICdAL2FwaS9zdHVkZW50UmVjb3Jkcy93YXJuaW5nUmVzdWx0Jw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdXYXJuaW5nUmVzdWx0JywNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5p+l6K+i5p2h5Lu2ID09PT09PT09PT09PT09PT09PT09DQogICAgICBzZWFyY2hGb3JtOiB7DQogICAgICAgIG5kOiAnJywNCiAgICAgICAgeWp0amJoOiAnJywNCiAgICAgICAgeHliaDogJycsDQogICAgICAgIGZiOiB1bmRlZmluZWQNCiAgICAgIH0sDQoNCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOWIl+ihqOaVsOaNriA9PT09PT09PT09PT09PT09PT09PQ0KICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgICB0YWJsZURhdGE6IFtdLA0KICAgICAgdG90YWw6IDAsDQogICAgICBwYWdlTnVtOiAxLA0KICAgICAgcGFnZVNpemU6IDIwLA0KDQogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDor6bmg4UgPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIGRldGFpbERpYWxvZ1Zpc2libGU6IGZhbHNlLA0KICAgICAgZGV0YWlsTG9hZGluZzogZmFsc2UsDQogICAgICBkZXRhaWxGb3JtOiB7fQ0KICAgIH0NCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmZldGNoTGlzdCgpDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDmn6Xor6LliJfooaggPT09PT09PT09PT09PT09PT09PT0NCiAgICBmZXRjaExpc3QoKSB7DQogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlDQogICAgICBjb25zdCBwYXJhbXMgPSB7DQogICAgICAgIHBhZ2VOdW06IHRoaXMucGFnZU51bSwNCiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUNCiAgICAgIH0NCiAgICAgIC8vIOaWh+acrOadoeS7tumdnuepuuaXtuaJjeS8oA0KICAgICAgO1snbmQnLCAneWp0amJoJywgJ3h5YmgnXS5mb3JFYWNoKGtleSA9PiB7DQogICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZWFyY2hGb3JtW2tleV0NCiAgICAgICAgaWYgKHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgcGFyYW1zW2tleV0gPSBTdHJpbmcodmFsdWUpLnRyaW0oKQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgICAgLy8g5Y+R5biD77ya562J5YC8562b6YCJ77yI6YCJ5Lit5pe25omN5Lyg77yJDQogICAgICBpZiAodGhpcy5zZWFyY2hGb3JtLmZiICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zZWFyY2hGb3JtLmZiICE9PSAnJyAmJiB0aGlzLnNlYXJjaEZvcm0uZmIgIT09IG51bGwpIHsNCiAgICAgICAgcGFyYW1zLmZiID0gdGhpcy5zZWFyY2hGb3JtLmZiDQogICAgICB9DQogICAgICBsaXN0V2FybmluZ1Jlc3VsdChwYXJhbXMpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UuZGF0YSB8fCB7fQ0KICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGRhdGEucmVjb3JkcyB8fCBbXQ0KICAgICAgICB0aGlzLnRvdGFsID0gZGF0YS50b3RhbCB8fCAwDQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgIHRoaXMudGFibGVEYXRhID0gW10NCiAgICAgICAgdGhpcy50b3RhbCA9IDANCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgIH0pDQogICAgfSwNCg0KICAgIGhhbmRsZVNlYXJjaCgpIHsNCiAgICAgIHRoaXMucGFnZU51bSA9IDENCiAgICAgIHRoaXMuZmV0Y2hMaXN0KCkNCiAgICB9LA0KDQogICAgaGFuZGxlUmVzZXQoKSB7DQogICAgICB0aGlzLiRyZWZzLnNlYXJjaEZvcm1SZWYucmVzZXRGaWVsZHMoKQ0KICAgICAgdGhpcy5wYWdlTnVtID0gMQ0KICAgICAgdGhpcy5mZXRjaExpc3QoKQ0KICAgIH0sDQoNCiAgICBoYW5kbGVQYWdlQ2hhbmdlKGN1cnJlbnQpIHsNCiAgICAgIHRoaXMucGFnZU51bSA9IGN1cnJlbnQNCiAgICAgIHRoaXMuZmV0Y2hMaXN0KCkNCiAgICB9LA0KDQogICAgaGFuZGxlU2l6ZUNoYW5nZShzaXplKSB7DQogICAgICB0aGlzLnBhZ2VTaXplID0gc2l6ZQ0KICAgICAgdGhpcy5wYWdlTnVtID0gMQ0KICAgICAgdGhpcy5mZXRjaExpc3QoKQ0KICAgIH0sDQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDor6bmg4UgPT09PT09PT09PT09PT09PT09PT0NCiAgICBoYW5kbGVEZXRhaWwocm93KSB7DQogICAgICB0aGlzLmRldGFpbERpYWxvZ1Zpc2libGUgPSB0cnVlDQogICAgICB0aGlzLmRldGFpbExvYWRpbmcgPSB0cnVlDQogICAgICB0aGlzLmRldGFpbEZvcm0gPSB7fQ0KICAgICAgZ2V0V2FybmluZ1Jlc3VsdChyb3cuYmgpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICB0aGlzLmRldGFpbEZvcm0gPSByZXNwb25zZS5kYXRhIHx8IHt9DQogICAgICAgIHRoaXMuZGV0YWlsTG9hZGluZyA9IGZhbHNlDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgIHRoaXMuZGV0YWlsTG9hZGluZyA9IGZhbHNlDQogICAgICB9KQ0KICAgIH0NCiAgfQ0KfQ0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;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;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;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/student/warningResult","sourcesContent":["<template>\r\n <div class=\"app-container warning-result-page\">\r\n <!-- ==================== 1. 查询条件 ==================== -->\r\n <el-card shadow=\"never\" class=\"search-card\">\r\n <el-form ref=\"searchFormRef\" :model=\"searchForm\" label-width=\"110px\" 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.nd\" 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.yjtjbh\" 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.xybh\" 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.fb\" placeholder=\"请选择发布状态\" clearable class=\"w-full\">\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>\r\n <el-table v-loading=\"loading\" :data=\"tableData\" stripe border highlight-current-row>\r\n <el-table-column prop=\"bh\" label=\"编号\" min-width=\"140\" show-overflow-tooltip />\r\n <el-table-column prop=\"nd\" label=\"年度\" width=\"90\" align=\"center\" />\r\n <el-table-column prop=\"yjtjbh\" label=\"预警条件编号\" min-width=\"140\" show-overflow-tooltip />\r\n <el-table-column prop=\"xybh\" label=\"学员编号\" min-width=\"120\" show-overflow-tooltip />\r\n <el-table-column prop=\"cjsj\" label=\"创建时间\" width=\"160\" show-overflow-tooltip />\r\n <el-table-column label=\"发布\" width=\"90\" align=\"center\">\r\n <template slot-scope=\"{ row }\">\r\n <el-tag :type=\"Number(row.fb) === 1 ? 'success' : 'info'\" size=\"mini\">\r\n {{ Number(row.fb) === 1 ? '是' : '否' }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"fbsj\" label=\"发布时间\" width=\"160\" show-overflow-tooltip />\r\n <el-table-column label=\"操作\" width=\"100\" 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 </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 title=\"预警结果详情\" :visible=\"detailDialogVisible\" width=\"560px\" :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.bh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"年度\">{{ detailForm.nd || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"预警条件编号\">{{ detailForm.yjtjbh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"学员编号\">{{ detailForm.xybh || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"创建时间\">{{ detailForm.cjsj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"发布时间\">{{ detailForm.fbsj || '-' }}</el-descriptions-item>\r\n <el-descriptions-item label=\"发布\">\r\n <el-tag :type=\"Number(detailForm.fb) === 1 ? 'success' : 'info'\" size=\"mini\">\r\n {{ Number(detailForm.fb) === 1 ? '是' : '否' }}\r\n </el-tag>\r\n </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 listWarningResult,\r\n getWarningResult\r\n} from '@/api/studentRecords/warningResult'\r\n\r\nexport default {\r\n name: 'WarningResult',\r\n data() {\r\n return {\r\n // ==================== 查询条件 ====================\r\n searchForm: {\r\n nd: '',\r\n yjtjbh: '',\r\n xybh: '',\r\n fb: undefined\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 detailDialogVisible: false,\r\n detailLoading: false,\r\n detailForm: {}\r\n }\r\n },\r\n created() {\r\n this.fetchList()\r\n },\r\n methods: {\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 // 文本条件非空时才传\r\n ;['nd', 'yjtjbh', 'xybh'].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 // 发布:等值筛选(选中时才传)\r\n if (this.searchForm.fb !== undefined && this.searchForm.fb !== '' && this.searchForm.fb !== null) {\r\n params.fb = this.searchForm.fb\r\n }\r\n listWarningResult(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 handleDetail(row) {\r\n this.detailDialogVisible = true\r\n this.detailLoading = true\r\n this.detailForm = {}\r\n getWarningResult(row.bh).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.app-container {\r\n padding: 20px;\r\n}\r\n\r\n.warning-result-page {\r\n .search-card {\r\n margin-bottom: 16px;\r\n }\r\n\r\n .search-form {\r\n .w-full {\r\n width: 100%;\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\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</style>\r\n"]}]}