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

1 line
11 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\\teachOffice\\shiftSemester\\ClassTeamSelectDialog.vue?vue&type=style&index=0&id=e73bd088&scoped=true&lang=scss","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\teachOffice\\shiftSemester\\ClassTeamSelectDialog.vue","mtime":1787648748786},{"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:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDQoudGVhbS1zZWxlY3Qgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICBnYXA6IDEycHg7DQoNCiAgLy8gPT09PT09PT09PSDmk43kvZzor7TmmI4gPT09PT09PT09PQ0KICAubm90ZS1iYXIgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBnYXA6IDZweDsNCiAgICBwYWRkaW5nOiA4cHggMTJweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgY29sb3I6ICMxZTZmZmY7DQogICAgYmFja2dyb3VuZDogI2VjZjVmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDllY2ZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KDQogIC8vID09PT09PT09PT0g5p+l6K+i5p2h5Lu25Yy65Z+fID09PT09PT09PT0NCiAgLnF1ZXJ5LXBhbmVsIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmVlZjU7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIHBhZGRpbmc6IDEwcHggMTJweCAycHg7DQoNCiAgICAucXVlcnktZm9ybSB7DQogICAgICA6OnYtZGVlcCAuZWwtZm9ybS1pdGVtIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICAgICAgfQ0KICAgIH0NCiAgfQ0KDQogIC8vID09PT09PT09PT0g6KGo5qC85Yy65Z+fID09PT09PT09PT0NCiAgLnRhYmxlLXBhbmVsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgYmFja2dyb3VuZDogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlZWY1Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBwYWRkaW5nOiAxMHB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQoNCiAgICAudGVhbS10YWJsZSB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQoNCiAgICA6OnYtZGVlcCAuZWwtZW1wdHkgew0KICAgICAgcGFkZGluZzogMTJweCAwOw0KICAgIH0NCiAgfQ0KDQogIC8vID09PT09PT09PT0g5bqV6YOo5oyJ6ZKu5Yy65Z+fID09PT09PT09PT0NCiAgLmZvb3Rlci1hY3Rpb25zIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBnYXA6IDhweDsNCiAgICBwYWRkaW5nLXRvcDogMTJweDsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWVmNTsNCg0KICAgIC5zZWxlY3RlZC1jb3VudCB7DQogICAgICBmbGV4OiAxOw0KICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgY29sb3I6ICM2MDYyNjY7DQogICAgfQ0KICB9DQp9DQo="},{"version":3,"sources":["ClassTeamSelectDialog.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"ClassTeamSelectDialog.vue","sourceRoot":"src/views/teachOffice/shiftSemester","sourcesContent":["<template>\r\n <el-dialog\r\n :visible=\"dialogVisible\"\r\n :title=\"title\"\r\n width=\"900px\"\r\n top=\"8vh\"\r\n :close-on-click-modal=\"false\"\r\n class=\"team-select-dialog\"\r\n @update:visible=\"val => dialogVisible = val\"\r\n >\r\n <div class=\"team-select\">\r\n <!-- ==================== 操作说明 ==================== -->\r\n <div v-if=\"excludeNote\" class=\"note-bar\">\r\n <i class=\"el-icon-info\"></i>\r\n <span>{{ excludeNote }}</span>\r\n </div>\r\n\r\n <!-- ==================== 查询条件区域 ==================== -->\r\n <div class=\"query-panel\">\r\n <el-form :inline=\"true\" class=\"query-form\" @submit.native.prevent>\r\n <el-form-item label=\"班次编号\">\r\n <el-input\r\n v-model=\"queryForm.xydbh\"\r\n placeholder=\"请输入班次编号(模糊)\"\r\n clearable\r\n style=\"width: 220px\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" size=\"small\" icon=\"el-icon-search\" @click=\"handleQuery\">查询</el-button>\r\n <el-button size=\"small\" @click=\"handleResetQuery\">重置</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n\r\n <!-- ==================== 目标班次学期表格 ==================== -->\r\n <div class=\"table-panel\">\r\n <el-table\r\n ref=\"tableRef\"\r\n v-loading=\"loading\"\r\n :data=\"filteredList\"\r\n border\r\n stripe\r\n size=\"small\"\r\n max-height=\"360\"\r\n class=\"team-table\"\r\n @selection-change=\"handleSelectionChange\"\r\n >\r\n <el-table-column type=\"selection\" width=\"44\" align=\"center\" reserve-selection />\r\n <el-table-column type=\"index\" label=\"序号\" width=\"55\" align=\"center\" />\r\n <el-table-column prop=\"nd\" label=\"年度\" width=\"80\" align=\"center\" show-overflow-tooltip />\r\n <el-table-column label=\"学期第次\" width=\"90\" align=\"center\">\r\n <template slot-scope=\"{ row }\">{{ xqdcLabel(row.xqdc) }}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"xydbh\" label=\"班次编号\" min-width=\"150\" align=\"center\" show-overflow-tooltip />\r\n <el-table-column prop=\"kxrq\" label=\"开学日期\" width=\"110\" align=\"center\" :formatter=\"fmtDate\" />\r\n <el-table-column prop=\"jsrq\" label=\"结束日期\" width=\"110\" align=\"center\" :formatter=\"fmtDate\" />\r\n <el-table-column prop=\"bz\" label=\"备注\" min-width=\"120\" align=\"left\" header-align=\"center\" show-overflow-tooltip />\r\n </el-table>\r\n <el-empty v-if=\"!filteredList.length\" description=\"暂无可选的目标班次学期\" :image-size=\"60\" />\r\n </div>\r\n\r\n <!-- ==================== 底部按钮区域 ==================== -->\r\n <div class=\"footer-actions\">\r\n <span class=\"selected-count\">已选择 {{ selection.length }} 个班次学期</span>\r\n <el-button size=\"small\" @click=\"dialogVisible = false\">取消</el-button>\r\n <el-button size=\"small\" type=\"primary\" :disabled=\"!selection.length\" @click=\"handleConfirm\">确定</el-button>\r\n </div>\r\n </div>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ClassTeamSelectDialog',\r\n props: {\r\n visible: { type: Boolean, default: false },\r\n /** 标题(可选) */\r\n title: { type: String, default: '目标班次学期选取' },\r\n /** 可选的目标班次学期列表(含 bh/nd/xqdc/xydbh/kxrq/jsrq 等) */\r\n semesterList: { type: Array, default: () => [] },\r\n /** 需要排除的班次学期编号(当前班次学期,不可复制给自己) */\r\n excludeBh: { type: String, default: '' },\r\n /** 顶部操作说明 */\r\n excludeNote: { type: String, default: '' }\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n queryForm: { xydbh: '' },\r\n selection: []\r\n }\r\n },\r\n computed: {\r\n dialogVisible: {\r\n get() {\r\n return this.visible\r\n },\r\n set(val) {\r\n this.$emit('update:visible', val)\r\n }\r\n },\r\n /** 排除当前班次学期后的可选列表 */\r\n availableList() {\r\n const excludeBh = this.excludeBh || ''\r\n return (this.semesterList || []).filter(item => item.bh && String(item.bh) !== String(excludeBh))\r\n },\r\n /** 本地过滤后的列表 */\r\n filteredList() {\r\n const kw = (this.queryForm.xydbh || '').trim()\r\n if (!kw) return this.availableList\r\n return this.availableList.filter(item => item.xydbh && String(item.xydbh).includes(kw))\r\n }\r\n },\r\n watch: {\r\n visible(val) {\r\n if (val) {\r\n this.selection = []\r\n this.queryForm.xydbh = ''\r\n this.$nextTick(() => {\r\n if (this.$refs.tableRef) this.$refs.tableRef.clearSelection()\r\n })\r\n }\r\n }\r\n },\r\n methods: {\r\n fmtDate(val) {\r\n if (!val) return '-'\r\n return String(val).slice(0, 10)\r\n },\r\n xqdcLabel(val) {\r\n if (val === 1 || val === '1') return '第1学期'\r\n if (val === 2 || val === '2') return '第2学期'\r\n if (val === 3 || val === '3') return '第3学期'\r\n return val !== undefined && val !== null && val !== '' ? `第${val}学期` : '-'\r\n },\r\n handleSelectionChange(rows) {\r\n this.selection = rows\r\n },\r\n handleQuery() {},\r\n handleResetQuery() {\r\n this.queryForm.xydbh = ''\r\n },\r\n handleConfirm() {\r\n if (!this.selection.length) {\r\n this.$message.warning('请先勾选目标班次学期')\r\n return\r\n }\r\n this.$emit('confirm', this.selection.slice())\r\n this.dialogVisible = false\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.team-select {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 12px;\r\n\r\n // ========== 操作说明 ==========\r\n .note-bar {\r\n display: flex;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 8px 12px;\r\n font-size: 13px;\r\n color: #1e6fff;\r\n background: #ecf5ff;\r\n border: 1px solid #d9ecff;\r\n border-radius: 4px;\r\n }\r\n\r\n // ========== 查询条件区域 ==========\r\n .query-panel {\r\n background: #fff;\r\n border: 1px solid #ebeef5;\r\n border-radius: 4px;\r\n padding: 10px 12px 2px;\r\n\r\n .query-form {\r\n ::v-deep .el-form-item {\r\n margin-bottom: 8px;\r\n }\r\n }\r\n }\r\n\r\n // ========== 表格区域 ==========\r\n .table-panel {\r\n position: relative;\r\n background: #fff;\r\n border: 1px solid #ebeef5;\r\n border-radius: 4px;\r\n padding: 10px;\r\n overflow: hidden;\r\n\r\n .team-table {\r\n width: 100%;\r\n }\r\n\r\n ::v-deep .el-empty {\r\n padding: 12px 0;\r\n }\r\n }\r\n\r\n // ========== 底部按钮区域 ==========\r\n .footer-actions {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 8px;\r\n padding-top: 12px;\r\n border-top: 1px solid #ebeef5;\r\n\r\n .selected-count {\r\n flex: 1;\r\n font-size: 13px;\r\n color: #606266;\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}