forked from liweijie/education
1 line
10 KiB
JSON
1 line
10 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\\ClassSemesterDetailDialog.vue?vue&type=style&index=0&id=728e17a8&scoped=true&lang=scss","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\teachOffice\\shiftSemester\\ClassSemesterDetailDialog.vue","mtime":1787567871699},{"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:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDQouY2xhc3MtZGV0YWlsLWRpYWxvZyB7DQogIC5kZXRhaWwtZm9ybSB7DQogICAgLy8g5Y+q6K+76L6T5YWl5qGG54Gw6Imy5bqVDQogICAgOjp2LWRlZXAgLmVsLWlucHV0X19pbm5lcltyZWFkb25seV0gew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmYTsNCiAgICB9DQogIH0NCn0NCg=="},{"version":3,"sources":["ClassSemesterDetailDialog.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"ClassSemesterDetailDialog.vue","sourceRoot":"src/views/teachOffice/shiftSemester","sourcesContent":["<template>\r\n <el-dialog\r\n :visible=\"dialogVisible\"\r\n :title=\"isEdit ? '编辑班次学期信息' : '教学班次学期信息明细'\"\r\n width=\"620px\"\r\n class=\"class-detail-dialog\"\r\n :close-on-click-modal=\"false\"\r\n @update:visible=\"val => dialogVisible = val\"\r\n >\r\n <el-form ref=\"formRef\" :model=\"form\" :rules=\"rules\" label-width=\"110px\" class=\"detail-form\">\r\n <!-- 班次信息(只读展示) -->\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"班次\">\r\n <el-input :value=\"form.xydmc || form.xydbh\" readonly />\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=\"form.xydbh\" :readonly=\"isEdit\" :disabled=\"isEdit\" placeholder=\"编辑模式不可修改\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"年度\" prop=\"nd\">\r\n <el-select v-model=\"form.nd\" placeholder=\"请选择年度\" style=\"width: 100%\">\r\n <el-option v-for=\"y in yearOptions\" :key=\"y\" :label=\"`${y}年`\" :value=\"y\" />\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=\"学期第次\" prop=\"xqdc\">\r\n <el-select v-model=\"form.xqdc\" placeholder=\"请选择学期\" style=\"width: 100%\">\r\n <el-option v-for=\"opt in levelOptions\" :key=\"opt.value\" :label=\"opt.label\" :value=\"opt.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"开学日期\" prop=\"kxrq\">\r\n <el-date-picker v-model=\"form.kxrq\" type=\"date\" value-format=\"yyyy-MM-dd\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"结束日期\" prop=\"jsrq\">\r\n <el-date-picker v-model=\"form.jsrq\" type=\"date\" value-format=\"yyyy-MM-dd\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row :gutter=\"16\">\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"专用教室\">\r\n <el-input v-model=\"form.zyjsbh\" 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=\"form.jxrwbh\" clearable filterable placeholder=\"请选择教学任务\" style=\"width: 100%\">\r\n <el-option v-for=\"opt in taskOptions\" :key=\"opt.bh\" :label=\"opt.rwmc\" :value=\"opt.bh\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-form-item label=\"开放教员排课\">\r\n <el-checkbox v-model=\"form.kfjypk\">开放教员排课</el-checkbox>\r\n </el-form-item>\r\n <el-form-item label=\"备注\">\r\n <el-input v-model=\"form.bz\" type=\"textarea\" :rows=\"3\" placeholder=\"请输入备注\" clearable />\r\n </el-form-item>\r\n </el-form>\r\n\r\n <div slot=\"footer\">\r\n <el-button @click=\"dialogVisible = false\">取消</el-button>\r\n <el-button type=\"primary\" :loading=\"saving\" @click=\"handleSubmit\">确定</el-button>\r\n </div>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ClassSemesterDetailDialog',\r\n props: {\r\n visible: { type: Boolean, default: false },\r\n /** 编辑模式:edit / add */\r\n mode: { type: String, default: 'add' },\r\n /** 编辑时的班次学期记录 */\r\n semester: { type: Object, default: null },\r\n /** 新增时选中的班次(学员队)信息 */\r\n teamInfo: { type: Object, default: null },\r\n /** 年度下拉 */\r\n yearOptions: { type: Array, default: () => [] },\r\n /** 教学任务下拉({ bh, rwmc }) */\r\n taskOptions: { type: Array, default: () => [] }\r\n },\r\n data() {\r\n return {\r\n form: this.createEmptyForm(),\r\n levelOptions: [\r\n { label: '第1学期', value: 1 },\r\n { label: '第2学期', value: 2 },\r\n { label: '第3学期', value: 3 }\r\n ],\r\n saving: false,\r\n rules: {\r\n nd: [{ required: true, message: '请选择年度', trigger: 'change' }],\r\n xqdc: [{ required: true, message: '请选择学期第次', trigger: 'change' }],\r\n kxrq: [{ required: true, message: '请选择开学日期', trigger: 'change' }],\r\n jsrq: [{ required: true, message: '请选择结束日期', trigger: 'change' }]\r\n }\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 isEdit() {\r\n return this.mode === 'edit'\r\n }\r\n },\r\n watch: {\r\n visible(val) {\r\n if (!val) return\r\n this.initForm()\r\n this.$nextTick(() => {\r\n if (this.$refs.formRef) this.$refs.formRef.clearValidate()\r\n })\r\n }\r\n },\r\n methods: {\r\n createEmptyForm() {\r\n return {\r\n bh: '',\r\n xydbh: '',\r\n xydmc: '',\r\n nd: undefined,\r\n xqdc: undefined,\r\n kxrq: '',\r\n jsrq: '',\r\n zyjsbh: '',\r\n jxrwbh: undefined,\r\n kfjypk: false,\r\n bz: ''\r\n }\r\n },\r\n /** 打开时按编辑/新增模式初始化表单 */\r\n initForm() {\r\n const form = this.createEmptyForm()\r\n if (this.isEdit && this.semester) {\r\n const row = this.semester\r\n form.bh = row.bh || ''\r\n form.xydbh = row.xydbh || ''\r\n form.xydmc = row.xydmc || ''\r\n form.nd = row.nd\r\n form.xqdc = row.xqdc\r\n form.kxrq = row.kxrq ? String(row.kxrq).slice(0, 10) : ''\r\n form.jsrq = row.jsrq ? String(row.jsrq).slice(0, 10) : ''\r\n form.zyjsbh = row.zyjsbh || ''\r\n form.jxrwbh = row.jxrwbh || undefined\r\n form.kfjypk = Number(row.kfjypk) === 1\r\n form.bz = row.bz || ''\r\n } else if (this.teamInfo) {\r\n form.xydbh = this.teamInfo.xydbh || ''\r\n form.xydmc = this.teamInfo.xydmc || ''\r\n // 默认取当前选中年度的第一学期,日期可后续修改\r\n form.nd = this.yearOptions[0]\r\n form.xqdc = 1\r\n }\r\n this.form = form\r\n },\r\n /** 移除空值(保留 0 等有效值) */\r\n cleanPayload(obj) {\r\n const payload = {}\r\n Object.keys(obj).forEach(key => {\r\n const value = obj[key]\r\n if (value !== '' && value !== null && value !== undefined) {\r\n payload[key] = value\r\n }\r\n })\r\n return payload\r\n },\r\n handleSubmit() {\r\n this.$refs.formRef.validate(valid => {\r\n if (!valid) return\r\n if (!this.form.xydbh) {\r\n this.$message.warning('缺少班次编号,无法保存')\r\n return\r\n }\r\n const payload = this.cleanPayload({\r\n bh: this.form.bh,\r\n xydbh: this.form.xydbh,\r\n nd: this.form.nd,\r\n xqdc: this.form.xqdc,\r\n kxrq: this.form.kxrq,\r\n jsrq: this.form.jsrq,\r\n zyjsbh: this.form.zyjsbh,\r\n jxrwbh: this.form.jxrwbh,\r\n kfjypk: this.form.kfjypk ? 1 : 0,\r\n bz: this.form.bz\r\n })\r\n this.$emit('submit', payload)\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.class-detail-dialog {\r\n .detail-form {\r\n // 只读输入框灰色底\r\n ::v-deep .el-input__inner[readonly] {\r\n background-color: #f5f7fa;\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]} |