forked from liweijie/education
1 line
13 KiB
JSON
1 line
13 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\\studentRecords\\warningResult\\index.vue?vue&type=style&index=0&id=191ecda4&scoped=true&lang=scss","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\studentRecords\\warningResult\\index.vue","mtime":1787314750710},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\css-loader\\dist\\cjs.js","mtime":1787309792478},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1787309794547},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\postcss-loader\\src\\index.js","mtime":1787309793084},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1787309791955},{"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:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKLndhcm5pbmctcmVzdWx0LXBhZ2UgewogIC5zZWFyY2gtY2FyZCB7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogIH0KCiAgLnNlYXJjaC1mb3JtIHsKICAgIDo6di1kZWVwIC5lbC1mb3JtLWl0ZW0gewogICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OwogICAgfQoKICAgIC5zZWFyY2gtYWN0aW9ucy1yb3cgewogICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2ViZWVmNTsKICAgICAgcGFkZGluZy10b3A6IDE0cHg7CiAgICB9CgogICAgLnNlYXJjaC1hY3Rpb25zIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgZ2FwOiAxMnB4OwogICAgfQogIH0KCiAgLnRhYmxlLWNhcmQgewogICAgLnRhYmxlLWhlYWRlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKCiAgICAgIC50YWJsZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICMzMDMxMzM7CiAgICAgIH0KICAgIH0KCiAgICAucGFnaW5hdGlvbi13cmFwcGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgIH0KICB9Cn0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8NA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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","file":"index.vue","sourceRoot":"src/views/studentRecords/warningResult","sourcesContent":["<template>\n <div class=\"app-container warning-result-page\">\n <!-- ==================== 1. 查询条件 ==================== -->\n <el-card shadow=\"never\" class=\"search-card\">\n <el-form ref=\"searchFormRef\" :model=\"searchForm\" label-width=\"90px\" class=\"search-form\">\n <el-row :gutter=\"24\">\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\n <el-form-item label=\"编号\">\n <el-input v-model=\"searchForm.bh\" placeholder=\"请输入预警结果编号\" clearable @keyup.enter.native=\"handleSearch\" />\n </el-form-item>\n </el-col>\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\n <el-form-item label=\"年度\">\n <el-input v-model=\"searchForm.nd\" placeholder=\"请输入年度\" clearable @keyup.enter.native=\"handleSearch\" />\n </el-form-item>\n </el-col>\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\n <el-form-item label=\"预警条件编号\">\n <el-input v-model=\"searchForm.yjtjbh\" placeholder=\"请输入预警条件编号\" clearable @keyup.enter.native=\"handleSearch\" />\n </el-form-item>\n </el-col>\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\n <el-form-item label=\"学员编号\">\n <el-input v-model=\"searchForm.xybh\" placeholder=\"请输入学员编号\" clearable @keyup.enter.native=\"handleSearch\" />\n </el-form-item>\n </el-col>\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"8\" :xl=\"8\">\n <el-form-item label=\"发布\">\n <el-select v-model=\"searchForm.fb\" placeholder=\"请选择发布状态\" clearable style=\"width: 100%\">\n <el-option label=\"是\" :value=\"1\" />\n <el-option label=\"否\" :value=\"0\" />\n </el-select>\n </el-form-item>\n </el-col>\n </el-row>\n <el-row class=\"search-actions-row\">\n <el-col :span=\"24\" class=\"search-actions\">\n <el-button type=\"primary\" icon=\"el-icon-search\" @click=\"handleSearch\">查询</el-button>\n <el-button icon=\"el-icon-refresh\" @click=\"handleReset\">重置</el-button>\n </el-col>\n </el-row>\n </el-form>\n </el-card>\n\n <!-- ==================== 2. 列表 ==================== -->\n <el-card shadow=\"never\" class=\"table-card\">\n <div class=\"table-header\">\n <span class=\"table-title\">预警结果列表:</span>\n </div>\n <el-table v-loading=\"loading\" :data=\"tableData\" stripe border highlight-current-row>\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" align=\"center\" />\n <el-table-column prop=\"bh\" label=\"编号\" width=\"100\" show-overflow-tooltip />\n <el-table-column prop=\"nd\" label=\"年度\" width=\"80\" align=\"center\" />\n <el-table-column prop=\"yjtjbh\" label=\"预警条件编号\" min-width=\"140\" show-overflow-tooltip />\n <el-table-column prop=\"xybh\" label=\"学员编号\" min-width=\"140\" show-overflow-tooltip />\n <el-table-column prop=\"cjsj\" label=\"创建时间\" width=\"170\" show-overflow-tooltip />\n <el-table-column label=\"发布\" width=\"80\" align=\"center\">\n <template slot-scope=\"scope\">\n <el-tag :type=\"scope.row.fb === 1 || scope.row.fb === true ? 'success' : 'info'\" size=\"mini\">\n {{ scope.row.fb === 1 || scope.row.fb === true ? '是' : '否' }}\n </el-tag>\n </template>\n </el-table-column>\n <el-table-column prop=\"fbsj\" label=\"发布时间\" width=\"170\" show-overflow-tooltip />\n <el-table-column label=\"操作\" width=\"90\" align=\"center\" fixed=\"right\">\n <template slot-scope=\"scope\">\n <el-button type=\"text\" size=\"small\" icon=\"el-icon-view\" @click=\"handleView(scope.row)\">详情</el-button>\n </template>\n </el-table-column>\n </el-table>\n\n <el-pagination\n :current-page=\"pageNum\"\n :page-size=\"pageSize\"\n :total=\"total\"\n :page-sizes=\"[10, 20, 50, 100]\"\n layout=\"total, sizes, prev, pager, next, jumper\"\n class=\"pagination-wrapper\"\n @current-change=\"handlePageChange\"\n @size-change=\"handleSizeChange\"\n />\n </el-card>\n\n <!-- ==================== 3. 详情对话框 ==================== -->\n <el-dialog title=\"预警结果详情\" :visible.sync=\"viewDialogVisible\" width=\"600px\" :close-on-click-modal=\"false\">\n <div v-loading=\"viewLoading\" class=\"detail-body\">\n <el-descriptions :column=\"2\" border>\n <el-descriptions-item label=\"编号\">{{ viewForm.bh || '-' }}</el-descriptions-item>\n <el-descriptions-item label=\"年度\">{{ formatValue(viewForm.nd) }}</el-descriptions-item>\n <el-descriptions-item label=\"预警条件编号\">{{ viewForm.yjtjbh || '-' }}</el-descriptions-item>\n <el-descriptions-item label=\"学员编号\">{{ viewForm.xybh || '-' }}</el-descriptions-item>\n <el-descriptions-item label=\"创建时间\">{{ viewForm.cjsj || '-' }}</el-descriptions-item>\n <el-descriptions-item label=\"发布时间\">{{ viewForm.fbsj || '-' }}</el-descriptions-item>\n <el-descriptions-item label=\"发布\">\n <el-tag :type=\"viewForm.fb === 1 || viewForm.fb === true ? 'success' : 'info'\" size=\"mini\">\n {{ viewForm.fb === 1 || viewForm.fb === true ? '是' : '否' }}\n </el-tag>\n </el-descriptions-item>\n </el-descriptions>\n </div>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"viewDialogVisible = false\">关 闭</el-button>\n </div>\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport {\n listWarningResult,\n getWarningResult\n} from \"@/api/studentRecords/warningResult\"\n\nexport default {\n name: \"WarningResult\",\n data() {\n return {\n // ==================== 查询条件 ====================\n searchForm: {\n bh: '',\n nd: '',\n yjtjbh: '',\n xybh: '',\n fb: ''\n },\n\n // ==================== 列表数据 ====================\n loading: false,\n tableData: [],\n total: 0,\n pageNum: 1,\n pageSize: 20,\n\n // ==================== 详情 ====================\n viewDialogVisible: false,\n viewLoading: false,\n viewForm: {}\n }\n },\n created() {\n this.fetchList()\n },\n methods: {\n // ==================== 查询列表 ====================\n fetchList() {\n this.loading = true\n const params = {\n pageNum: this.pageNum,\n pageSize: this.pageSize\n }\n // 发布:1 是 / 0 否(选中时才传)\n if (this.searchForm.fb !== '' && this.searchForm.fb !== null && this.searchForm.fb !== undefined) {\n params.fb = this.searchForm.fb\n }\n // 其余文本条件非空时才传\n ;['bh', 'nd', 'yjtjbh', 'xybh'].forEach(key => {\n if (this.searchForm[key] !== '' && this.searchForm[key] !== null && this.searchForm[key] !== undefined) {\n params[key] = this.searchForm[key].trim()\n }\n })\n listWarningResult(params).then(response => {\n const data = response.data || {}\n this.tableData = data.records || []\n this.total = data.total || 0\n this.loading = false\n }).catch(() => {\n this.tableData = []\n this.total = 0\n this.loading = false\n })\n },\n\n handleSearch() {\n this.pageNum = 1\n this.fetchList()\n },\n\n handleReset() {\n this.searchForm = {\n bh: '',\n nd: '',\n yjtjbh: '',\n xybh: '',\n fb: ''\n }\n this.pageNum = 1\n this.fetchList()\n },\n\n handlePageChange(current) {\n this.pageNum = current\n this.fetchList()\n },\n\n handleSizeChange(size) {\n this.pageSize = size\n this.pageNum = 1\n this.fetchList()\n },\n\n // ==================== 详情 ====================\n handleView(row) {\n this.viewDialogVisible = true\n this.viewLoading = true\n this.viewForm = {}\n getWarningResult(row.bh).then(response => {\n this.viewForm = response.data || {}\n this.viewLoading = false\n }).catch(() => {\n this.viewLoading = false\n })\n },\n\n /** 空值显示占位符 */\n formatValue(val) {\n return val !== null && val !== undefined ? val : '-'\n }\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.warning-result-page {\n .search-card {\n margin-bottom: 16px;\n }\n\n .search-form {\n ::v-deep .el-form-item {\n margin-bottom: 18px;\n }\n\n .search-actions-row {\n margin-top: 2px;\n border-top: 1px dashed #ebeef5;\n padding-top: 14px;\n }\n\n .search-actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 12px;\n }\n }\n\n .table-card {\n .table-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 16px;\n\n .table-title {\n font-size: 16px;\n font-weight: 600;\n color: #303133;\n }\n }\n\n .pagination-wrapper {\n display: flex;\n justify-content: flex-end;\n margin-top: 16px;\n }\n }\n}\n</style>\n"]}]} |