diff --git a/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue b/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue new file mode 100644 index 000000000..50ca88c7a --- /dev/null +++ b/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue @@ -0,0 +1,395 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> + <el-form-item label="计划名称" prop="name"> + <el-input + v-model="queryParams.name" + placeholder="请输入计划名称" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="学年学期" prop="xnxq"> + <el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small"> + <el-option + v-for="dict in xnxqOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item label="计划月份" prop="month"> + <el-date-picker + clearable + size="small" + style="width: 200px" + v-model="queryParams.month" + type="month" + value-format="yyyy-MM" + placeholder="选择计划月份" + ></el-date-picker> + </el-form-item> + <el-form-item label="主题内容" prop="themes"> + <el-select v-model="queryParams.themes" size="small"> + <el-option + v-for="item in themeOptions" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> + </el-form-item> + <el-form-item label="当前状态" prop="status"> + <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> + <el-option + v-for="dict in statusOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="success" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['benyi:thememonthplan:edit']" + >审批</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="monthplanList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" :selectable="isShow" /> + <el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> + <template slot-scope="scope"> + <router-link :to="'/benyi_course/thememonthplan/data/' + scope.row.id" class="link-type"> + <span>{{ scope.row.name }}</span> + </router-link> + </template> + </el-table-column> + <el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> + <el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> + <el-table-column label="计划月份" align="center" prop="month" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.month, '{y}-{m}') }}</span> + </template> + </el-table-column> + <el-table-column label="本月主题" align="center" prop="themes" :formatter="themeFormat" /> + <el-table-column prop="wxkc" label="微型课程"> + <template slot-scope="scope"> + <div v-html="scope.row.wxkc"></div> + </template> + </el-table-column> + <!-- <el-table-column label="家长支持" align="center" prop="support" /> + <el-table-column label="备注" align="center" prop="remarks" />--> + <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['benyi:thememonthplan:edit']" + v-show="isShow(scope.row)" + >审批</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改主题整合月计划对话框 --> + <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="计划月份" prop="month"> + <el-date-picker + clearable + size="small" + style="width: 200px" + v-model="form.month" + type="month" + value-format="yyyy-MM" + placeholder="选择计划月份" + :disabled="disable" + ></el-date-picker> + </el-form-item> + <el-form-item label="学年学期" prop="xnxq"> + <el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="disable"> + <el-option + v-for="dict in xnxqOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item label="微型课程" prop="wxkc"> + <Editor v-model="form.wxkc" placeholder="请输入微型课程" /> + </el-form-item> + <el-form-item label="备注" prop="remarks"> + <el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" :disabled="true" /> + </el-form-item> + <el-form-item label="审批意见" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio label="0">退回</el-radio> + <el-radio label="2">通过</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="审批建议" prop="shyj"> + <el-input v-model="form.shyj" type="textarea" placeholder="请输入审核建议" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { + listMonthplan, + getMonthplan, + updateMonthplan, +} from "@/api/benyi/thememonthplan"; +import Editor from "@/components/Editor"; +import { listClass } from "@/api/system/class"; +import { listTheme } from "@/api/benyi/theme"; + +export default { + name: "Monthplan", + components: { + Editor, + }, + data() { + return { + disable: false, + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 主题整合月计划表格数据 + monthplanList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + //学年学期 + xnxqOptions: [], + //班级 + classOptions: [], + //主题 + themeOptions: [], + //当前状态 + statusOptions: [], + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + name: undefined, + schoolid: undefined, + classid: undefined, + xnxq: undefined, + month: undefined, + themes: undefined, + selfthemes: undefined, + wxkc: undefined, + support: undefined, + remarks: undefined, + createuserid: undefined, + spr: undefined, + sptime: undefined, + spyj: undefined, + status: "1", + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + status: [ + { required: true, message: "审批意见不能为空", trigger: "blur" }, + ], + }, + }; + }, + created() { + this.getClassList(); + this.getThemeList(); + this.getList(); + this.getDicts("sys_xnxq").then((response) => { + this.xnxqOptions = response.data; + }); + this.getDicts("sys_dm_planweekstatus").then((response) => { + this.statusOptions = response.data; + }); + }, + methods: { + isShow(row) { + if (row.status == "1") { + return true; + } else { + return false; + } + }, + // 当前状态类型--字典状态字典翻译 + statusFormat(row, column) { + return this.selectDictLabel(this.statusOptions, row.status); + }, + // 主题--字典状态字典翻译 + themeFormat(row, column) { + if (row.themes != null) { + var ilength = row.themes.split(";").length - 1; + var names = ""; + for (var i = 1; i < ilength; i++) { + names = + names + + this.selectMoeDictLabel( + this.themeOptions, + row.themes.split(";")[i] + ) + + " "; + } + //this.selectDictLabel(this.scopeOptions, row.xnxq); + return names; + } + return ""; + }, + //主题 + getThemeList() { + listTheme(null).then((response) => { + //console.log(response.rows); + this.themeOptions = response.rows; + }); + }, + // 字典翻译 + classFormat(row, column) { + // return this.selectDictLabel(this.classOptions, row.classid); + var actions = []; + var datas = this.classOptions; + Object.keys(datas).map((key) => { + if (datas[key].bjbh == "" + row.classid) { + actions.push(datas[key].bjmc); + return false; + } + }); + return actions.join(""); + }, + // 学年学期类型--字典状态字典翻译 + xnxqFormat(row, column) { + return this.selectDictLabel(this.xnxqOptions, row.xnxq); + }, + //班级列表 + getClassList() { + listClass(null).then((response) => { + this.classOptions = response.rows; + }); + }, + /** 查询主题整合月计划列表 */ + getList() { + this.loading = true; + listMonthplan(this.queryParams).then((response) => { + this.monthplanList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined, + name: undefined, + schoolid: undefined, + classid: undefined, + xnxq: undefined, + month: undefined, + themes: undefined, + selfthemes: undefined, + wxkc: undefined, + support: undefined, + remarks: undefined, + createuserid: undefined, + createTime: undefined, + spr: undefined, + sptime: undefined, + spyj: undefined, + status: "2", + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids; + getMonthplan(id).then((response) => { + this.form = response.data; + this.open = true; + this.title = "审批主题整合月计划"; + this.disable = true; + }); + }, + /** 提交按钮 */ + submitForm: function () { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.id != undefined) { + updateMonthplan(this.form).then((response) => { + if (response.code === 200) { + this.msgSuccess("审批成功"); + this.open = false; + this.getList(); + } + }); + } + } + }); + }, + }, +}; +</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue b/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue new file mode 100644 index 000000000..b0155446a --- /dev/null +++ b/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue @@ -0,0 +1,332 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> + <el-form-item label="班级编码" prop="classid"> + <el-select v-model="queryParams.classid" placeholder="请选择班级"> + <el-option + v-for="dict in classOptions" + :key="dict.bjbh" + :label="dict.bjmc" + :value="dict.bjbh" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="学年学期" prop="xnxq"> + <el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small"> + <el-option + v-for="dict in xnxqOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item label="当前状态" prop="status"> + <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> + <el-option + v-for="dict in statusOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="success" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['benyi:themetermplan:edit']" + >审批</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="termplanList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" :selectable="isShow" /> + <el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> + <el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> + <template slot-scope="scope"> + <router-link :to="'/benyi_course/themetermplan/data/' + scope.row.id" class="link-type"> + <span>{{ scope.row.name }}</span> + </router-link> + </template> + </el-table-column> + <el-table-column label="开始月份" align="center" prop="startmonth" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.startmonth, '{y}-{m}') }}</span> + </template> + </el-table-column> + <el-table-column label="结束月份" align="center" prop="endmonth" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.endmonth, '{y}-{m}') }}</span> + </template> + </el-table-column> + <el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> + <el-table-column label="备注" align="center" prop="remark" /> + <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['benyi:themetermplan:edit']" + v-show="isShow(scope.row)" + >审批</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改主题整合学期计划对话框 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="月份" prop="startmonth"> + <el-date-picker + v-model="form.startmonth" + type="monthrange" + range-separator="至" + start-placeholder="开始月份" + end-placeholder="结束月份" + value-format="yyyy-MM" + :disabled="true" + ></el-date-picker> + </el-form-item> + <el-form-item label="学年学期" prop="xnxq"> + <el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="true"> + <el-option + v-for="dict in xnxqOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item label="备注" prop="remark"> + <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" :disabled="true" /> + </el-form-item> + <el-form-item label="审批意见" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio label="0">退回</el-radio> + <el-radio label="2">通过</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="审批建议" prop="shyj"> + <el-input v-model="form.shyj" type="textarea" placeholder="请输入审核建议" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { + listTermplan, + getTermplan, + updateTermplan, +} from "@/api/benyi/themetermplan"; +import { listClass } from "@/api/system/class"; + +export default { + name: "Termplan", + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 主题整合学期计划表格数据 + termplanList: [], + //班级 + classOptions: [], + //学年学期 + xnxqOptions: [], + //当前状态 + statusOptions: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + schoolid: undefined, + classid: undefined, + name: undefined, + startmonth: undefined, + endmonth: undefined, + xnxq: undefined, + createuserid: undefined, + status: "1", + spr: undefined, + sptime: undefined, + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + status: [ + { required: true, message: "审批意见不能为空", trigger: "blur" }, + ], + }, + }; + }, + created() { + this.getClassList(); + this.getList(); + this.getDicts("sys_xnxq").then((response) => { + this.xnxqOptions = response.data; + }); + this.getDicts("sys_dm_planweekstatus").then((response) => { + this.statusOptions = response.data; + }); + }, + methods: { + isShow(row) { + console.log(row.status); + if (row.status == "1") { + return true; + } else { + return false; + } + }, + // 字典翻译 + classFormat(row, column) { + // return this.selectDictLabel(this.classOptions, row.classid); + var actions = []; + var datas = this.classOptions; + Object.keys(datas).map((key) => { + if (datas[key].bjbh == "" + row.classid) { + actions.push(datas[key].bjmc); + return false; + } + }); + return actions.join(""); + }, + // 学年学期类型--字典状态字典翻译 + xnxqFormat(row, column) { + return this.selectDictLabel(this.xnxqOptions, row.xnxq); + }, + // 当前状态类型--字典状态字典翻译 + statusFormat(row, column) { + return this.selectDictLabel(this.statusOptions, row.status); + }, + //班级列表 + getClassList() { + listClass(null).then((response) => { + this.classOptions = response.rows; + }); + }, + /** 查询主题整合学期计划列表 */ + getList() { + this.loading = true; + listTermplan(this.queryParams).then((response) => { + this.termplanList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined, + schoolid: undefined, + classid: undefined, + name: undefined, + startmonth: undefined, + endmonth: undefined, + xnxq: undefined, + remark: undefined, + createuserid: undefined, + createTime: undefined, + spr: undefined, + sptime: undefined, + status: "2", + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids; + getTermplan(id).then((response) => { + this.form = response.data; + this.open = true; + this.title = "审批主题整合学期计划"; + const time = []; + time.push(response.data.startmonth); + time.push(response.data.endmonth); + this.form.startmonth = time; + }); + }, + /** 提交按钮 */ + submitForm: function () { + this.$refs["form"].validate((valid) => { + if (valid) { + const time = this.form.startmonth; + this.form.startmonth = time[0]; + this.form.endmonth = time[1]; + if (this.form.id != undefined) { + updateTermplan(this.form).then((response) => { + if (response.code === 200) { + this.msgSuccess("审批成功"); + this.open = false; + this.getList(); + } + }); + } + } + }); + }, + }, +}; +</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue b/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue new file mode 100644 index 000000000..838344614 --- /dev/null +++ b/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue @@ -0,0 +1,348 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> + <el-form-item label="计划名称" prop="name"> + <el-input + v-model="queryParams.name" + placeholder="请输入计划名称" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="学年学期" prop="xnxq"> + <el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small"> + <el-option + v-for="dict in xnxqOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item label="所属月份" prop="month"> + <el-date-picker + clearable + size="small" + style="width: 200px" + v-model="queryParams.month" + type="month" + value-format="yyyy-MM" + placeholder="选择所属月份" + ></el-date-picker> + </el-form-item> + <el-form-item label="所属周次" prop="zc"> + <el-input-number + v-model="queryParams.zc" + placeholder="周次" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="状态" prop="status"> + <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> + <el-option + v-for="dict in statusOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="success" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['benyi:themeweekplan:edit']" + >审批</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="weekplanList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" :selectable="isShow" /> + <!-- <el-table-column label="编号" align="center" prop="id" /> --> + <el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> + <template slot-scope="scope"> + <router-link :to="'/benyi_course/themeweekplan/data/' + scope.row.id" class="link-type"> + <span>{{ scope.row.name }}</span> + </router-link> + </template> + </el-table-column> + <el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> + <el-table-column label="所属月份" align="center" prop="month" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.month, '{y}-{m}') }}</span> + </template> + </el-table-column> + <el-table-column label="所属周次" align="center" prop="zc" /> + <el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> + <el-table-column label="备注" align="center" prop="remark" /> + <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['benyi:themeweekplan:edit']" + v-show="isShow(scope.row)" + >审批</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改主题整合周计划(根据月计划明细)对话框 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="学年学期" prop="xnxq"> + <el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="disable"> + <el-option + v-for="dict in xnxqOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item label="所属月份" prop="month"> + <el-date-picker + clearable + size="small" + style="width: 200px" + v-model="form.month" + type="month" + value-format="yyyy-MM" + placeholder="选择所属月份" + :disabled="disable" + ></el-date-picker> + </el-form-item> + <el-form-item label="所属周次" prop="zc"> + <el-input-number v-model="form.zc" placeholder="周次" :disabled="disable" /> + </el-form-item> + <el-form-item label="备注" prop="remar"> + <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="true" /> + </el-form-item> + <el-form-item label="审批意见" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio label="0">退回</el-radio> + <el-radio label="2">通过</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="审批建议" prop="shyj"> + <el-input v-model="form.shyj" type="textarea" placeholder="请输入审核建议" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { + listWeekplan, + getWeekplan, + updateWeekplan, +} from "@/api/benyi/themeweekplan"; +import { listClass } from "@/api/system/class"; + +export default { + name: "Weekplan", + data() { + return { + disable: false, + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 主题整合周计划(根据月计划明细)表格数据 + weekplanList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + //学年学期 + xnxqOptions: [], + //班级 + classOptions: [], + //当前状态 + statusOptions: [], + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + name: undefined, + schoolid: undefined, + classid: undefined, + month: undefined, + zc: undefined, + status: "1", + spr: undefined, + sptime: undefined, + shyj: undefined, + createuserid: undefined, + xnxq: undefined, + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + status: [ + { required: true, message: "审批意见不能为空", trigger: "blur" }, + ], + }, + }; + }, + created() { + this.getList(); + this.getClassList(); + this.getDicts("sys_xnxq").then((response) => { + this.xnxqOptions = response.data; + }); + this.getDicts("sys_dm_planweekstatus").then((response) => { + this.statusOptions = response.data; + }); + }, + methods: { + isShow(row) { + if (row.status == "1") { + return true; + } else { + return false; + } + }, + //班级列表 + getClassList() { + listClass(null).then((response) => { + this.classOptions = response.rows; + }); + }, + // 当前状态类型--字典状态字典翻译 + statusFormat(row, column) { + return this.selectDictLabel(this.statusOptions, row.status); + }, + // 学年学期类型--字典状态字典翻译 + xnxqFormat(row, column) { + return this.selectDictLabel(this.xnxqOptions, row.xnxq); + }, + // 字典翻译 + classFormat(row, column) { + // return this.selectDictLabel(this.classOptions, row.classid); + var actions = []; + var datas = this.classOptions; + Object.keys(datas).map((key) => { + if (datas[key].bjbh == "" + row.classid) { + actions.push(datas[key].bjmc); + return false; + } + }); + return actions.join(""); + }, + /** 查询主题整合周计划(根据月计划明细)列表 */ + getList() { + this.loading = true; + listWeekplan(this.queryParams).then((response) => { + this.weekplanList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined, + name: undefined, + schoolid: undefined, + classid: undefined, + month: undefined, + zc: undefined, + remark: undefined, + status: "2", + spr: undefined, + sptime: undefined, + shyj: undefined, + createuserid: undefined, + createTime: undefined, + xnxq: undefined, + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids; + getWeekplan(id).then((response) => { + this.form = response.data; + this.open = true; + this.title = "审批主题整合周计划"; + this.disable = true; + }); + }, + /** 提交按钮 */ + submitForm: function () { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.id != undefined) { + updateWeekplan(this.form).then((response) => { + if (response.code === 200) { + this.msgSuccess("审批成功"); + this.open = false; + this.getList(); + } + }); + } + } + }); + }, + }, +}; +</script> \ No newline at end of file