备课-手机端响应式优化

This commit is contained in:
zhanglipeng
2020-11-23 17:04:07 +08:00
parent 2b20e74930
commit 0f38388fcb
21 changed files with 2257 additions and 1495 deletions

View File

@ -7,8 +7,9 @@
<el-button <el-button
type="primary" type="primary"
class="btn no-border-btn" class="btn no-border-btn"
:style="{background: `${item.color}`}" :style="{ background: `${item.color}` }"
>{{item.title}}</el-button> >{{ item.title }}</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
@ -45,32 +46,32 @@ import { getAllSchoolCalendars } from "@/api/benyi/calendar";
export default { export default {
name: "fullcalendar_page", name: "fullcalendar_page",
components: { components: {
FullCalendar FullCalendar,
}, },
data() { data() {
return { return {
btns: [ btns: [
{ {
color: "#52c41a", color: "#52c41a",
title: "家长参与" title: "家长参与",
}, },
{ {
color: "#135200", color: "#135200",
title: "大型活动" title: "大型活动",
}, },
{ {
color: "#1890ff", color: "#1890ff",
title: "教学活动" title: "教学活动",
}, },
{ {
color: "#eb2f96", color: "#eb2f96",
title: "节假日" title: "节假日",
} },
], ],
views: { views: {
list: { list: {
noEventsMessage: "暂无日程" noEventsMessage: "暂无日程",
} },
}, },
// header: { // header: {
// left: "prev,next today", // left: "prev,next today",
@ -84,22 +85,22 @@ export default {
// day: "日", // day: "日",
// list: "周列表" // list: "周列表"
// }, // },
header: { header: {
left: "prev,next today", left: "prev,next today",
center: "title", center: "title",
right: "dayGridMonth, listWeek" right: "dayGridMonth, listWeek",
}, },
buttonText: { buttonText: {
today: "今天", today: "今天",
month: "月", month: "月",
list: "周列表" list: "周列表",
}, },
calendarPlugins: [ calendarPlugins: [
// plugins must be defined in the JS // plugins must be defined in the JS
dayGridPlugin, dayGridPlugin,
//timeGridPlugin, //timeGridPlugin,
//interactionPlugin, // needed for dateClick //interactionPlugin, // needed for dateClick
listPlugin listPlugin,
], ],
calendarWeekends: true, calendarWeekends: true,
calendarEvents: [ calendarEvents: [
@ -112,22 +113,22 @@ export default {
], ],
calendarApi: null, calendarApi: null,
calendarData: [], calendarData: [],
queryParams: {} queryParams: {},
}; };
}, },
created() { created() {
getAllSchoolCalendars(this.queryParams).then(response => { getAllSchoolCalendars(this.queryParams).then((response) => {
this.calendarEvents = response.calendarData; this.calendarEvents = response.calendarData;
}); });
}, },
methods: { methods: {
handleEventClick(info) { handleEventClick(info) {
this.msgSuccess("活动: " + info.event.title); this.msgSuccess("活动: " + info.event.title);
} },
}, },
mounted() { mounted() {
this.calendarApi = this.$refs.fullCalendar.getApi(); this.calendarApi = this.$refs.fullCalendar.getApi();
} },
}; };
</script> </script>
@ -143,12 +144,15 @@ export default {
height: 100%; height: 100%;
} }
.fc-widget-content { .fc-widget-content {
.fc-sun, .fc-scroller.fc-day-grid-container {
.fc-sat { height: 100% !important;
background: rgba(245, 246, 248, 0.6); }
//background: rgba(109, 113, 121, 0.6); .fc-sun,
} .fc-sat {
} background: rgba(245, 246, 248, 0.6);
//background: rgba(109, 113, 121, 0.6);
}
}
.xs-btns-style { .xs-btns-style {
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
display: flex; display: flex;
@ -177,17 +181,21 @@ export default {
} }
.fc-header-toolbar { .fc-header-toolbar {
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
.fc-left > .fc-today-button, .fc-right > .fc-listWeek-button { .fc-left > .fc-today-button,
.fc-right > .fc-listWeek-button {
display: none; display: none;
} }
} }
} }
@media (max-width: 768.98px) { @media (max-width: 768.98px) {
.fc button { .xs-height {
height: 30px; height: 100% !important;
} .fc button {
.fc-toolbar h2 { height: 30px;
font-size: 16px; }
.fc-toolbar h2 {
font-size: 16px;
}
} }
} }
</style> </style>

View File

@ -2,6 +2,18 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" label-width="70px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :xs="24" :ms="12" :md="5">
<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-col>
<el-col :xs="24" :ms="12" :md="5"> <el-col :xs="24" :ms="12" :md="5">
<el-form-item label="幼儿姓名" prop="name"> <el-form-item label="幼儿姓名" prop="name">
<el-input <el-input

View File

@ -1,46 +1,49 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="学期计划" prop="tpid">
label-width="102px" <el-select v-model="queryParams.tpid" size="small">
> <el-option
<el-form-item label="学期计划" prop="tpid"> v-for="item in mathPlanOptions"
<el-select v-model="queryParams.tpid" size="small"> :key="item.id"
<el-option :label="item.name"
v-for="item in mathPlanOptions" :value="item.id"
:key="item.id" />
:label="item.name" </el-select>
:value="item.id" </el-form-item>
/> </el-col>
</el-select> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="游戏数学" prop="mathconent">
<el-form-item label="游戏数学内容" prop="mathconent"> <el-input
<el-input v-model="queryParams.mathconent"
v-model="queryParams.mathconent" placeholder="请输入游戏数学内容"
placeholder="请输入游戏数学内容" clearable
clearable size="small"
size="small" @keyup.enter.native="handleQuery"
@keyup.enter.native="handleQuery" />
/> </el-form-item>
</el-form-item> </el-col>
<el-form-item> <el-col :xs="24" :ms="12" :md="4">
<el-button <el-form-item class="no-margin">
type="primary" <el-button
icon="el-icon-search" type="primary"
size="mini" icon="el-icon-search"
@click="handleQuery" size="mini"
>搜索</el-button @click="handleQuery"
> >搜索</el-button
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" >
>重置</el-button <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
> >重置</el-button
</el-form-item> >
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<!-- <el-col :span="1.5"> <!--
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@ -50,39 +53,43 @@
v-show="isShow" v-show="isShow"
>新增</el-button >新增</el-button
> >
</el-col> --> -->
<el-col :span="1.5"> <el-button
<el-button type="success"
type="success" icon="el-icon-edit"
icon="el-icon-edit" size="mini"
size="mini" :disabled="single"
:disabled="single" @click="handleUpdate"
@click="handleUpdate" v-hasPermi="['benyi:mathtermplan:edit']"
v-hasPermi="['benyi:mathtermplan:edit']" v-show="isShow"
v-show="isShow" >填充</el-button
>填充</el-button >
> <el-button
</el-col> type="danger"
<el-col :span="1.5"> icon="el-icon-delete"
<el-button size="mini"
type="danger" :disabled="multiple"
icon="el-icon-delete" @click="handleDelete"
size="mini" v-hasPermi="['benyi:mathtermplan:remove']"
:disabled="multiple" v-show="isShow"
@click="handleDelete" >删除</el-button
v-hasPermi="['benyi:mathtermplan:remove']" >
v-show="isShow" </div>
>删除</el-button
>
</el-col>
</el-row>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="mathtermplanitemList" :data="mathtermplanitemList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column
fixed
label="游戏数学内容"
align="center"
prop="mathconent"
:formatter="mathFaFormat"
/>
<el-table-column <el-table-column
label="所属计划" label="所属计划"
align="center" align="center"
@ -90,12 +97,13 @@
:formatter="mathPlanFormat" :formatter="mathPlanFormat"
/> />
<el-table-column label="月份" align="center" prop="month" /> <el-table-column label="月份" align="center" prop="month" />
<el-table-column label="游戏数学内容" align="center" prop="mathconent" :formatter="mathFaFormat" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" fixed="right"
width="60"
class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -129,7 +137,7 @@
/> />
<!-- 添加或修改游戏数学学期计划明细对话框 --> <!-- 添加或修改游戏数学学期计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="所属计划" prop="tpid"> <el-form-item label="所属计划" prop="tpid">
<el-select v-model="form.tpid" size="small" :disabled="true"> <el-select v-model="form.tpid" size="small" :disabled="true">
@ -147,11 +155,16 @@
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
placeholder="选择月份" placeholder="选择月份"
class="my-date-picker"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="选择方案" prop="mathconent"> <el-form-item label="选择方案" prop="mathconent">
<el-checkbox-group v-model="mathFaList" :max="max" @change="getMathFaContentValue"> <el-checkbox-group
v-model="mathFaList"
:max="max"
@change="getMathFaContentValue"
>
<el-checkbox <el-checkbox
v-for="(item, i) in mathFaOptions" v-for="(item, i) in mathFaOptions"
:label="item.id" :label="item.id"
@ -474,4 +487,21 @@ export default {
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,108 +1,113 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="选择班级" prop="classid">
label-width="68px" <el-select v-model="queryParams.classid" placeholder="请选择班级">
> <el-option
<el-form-item label="班级编码" prop="classid"> v-for="dict in classOptions"
<el-select v-model="queryParams.classid" placeholder="请选择班级"> :key="dict.bjbh"
<el-option :label="dict.bjmc"
v-for="dict in classOptions" :value="dict.bjbh"
:key="dict.bjbh" ></el-option>
:label="dict.bjmc" </el-select>
:value="dict.bjbh" </el-form-item>
></el-option> </el-col>
</el-select> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="学年学期" prop="xnxq">
<el-form-item label="学年学期" prop="xnxq"> <el-select
<el-select v-model="queryParams.xnxq"
v-model="queryParams.xnxq" placeholder="请选择学年学期"
placeholder="请选择学年学期" clearable
clearable size="small"
size="small" >
> <el-option
<el-option v-for="dict in xnxqOptions"
v-for="dict in xnxqOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="状态" prop="status"> <el-col :xs="24" :ms="12" :md="5">
<el-select <el-form-item label="状态" prop="status">
v-model="queryParams.status" <el-select
placeholder="请选择状态" v-model="queryParams.status"
clearable placeholder="请选择状态"
size="small" clearable
> size="small"
<el-option >
v-for="dict in statusOptions" <el-option
:key="dict.dictValue" v-for="dict in statusOptions"
:label="dict.dictLabel" :key="dict.dictValue"
:value="dict.dictValue" :label="dict.dictLabel"
/> :value="dict.dictValue"
</el-select> />
</el-form-item> </el-select>
<el-form-item> </el-form-item>
<el-button </el-col>
type="primary" <el-col :xs="24" :ms="12" :md="4">
icon="el-icon-search" <el-form-item class="no-margin">
size="mini" <el-button
@click="handleQuery" type="primary"
>搜索</el-button icon="el-icon-search"
> size="mini"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @click="handleQuery"
>重置</el-button >搜索</el-button
> >
</el-form-item> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<el-col :span="1.5"> <el-button
<el-button type="primary"
type="primary" icon="el-icon-plus"
icon="el-icon-plus" size="mini"
size="mini" @click="handleAdd"
@click="handleAdd" v-hasPermi="['benyi:mathtermplan:add']"
v-hasPermi="['benyi:mathtermplan:add']" >新增</el-button
>新增</el-button >
> <el-button
</el-col> type="success"
<el-col :span="1.5"> icon="el-icon-edit"
<el-button size="mini"
type="success" :disabled="single"
icon="el-icon-edit" @click="handleUpdate"
size="mini" v-hasPermi="['benyi:mathtermplan:edit']"
:disabled="single" >修改</el-button
@click="handleUpdate" >
v-hasPermi="['benyi:mathtermplan:edit']" <el-button
>修改</el-button type="danger"
> icon="el-icon-delete"
</el-col> size="mini"
<el-col :span="1.5"> :disabled="multiple"
<el-button @click="handleDelete"
type="danger" v-hasPermi="['benyi:mathtermplan:remove']"
icon="el-icon-delete" >删除</el-button
size="mini" >
:disabled="multiple" </div>
@click="handleDelete"
v-hasPermi="['benyi:mathtermplan:remove']"
>删除</el-button
>
</el-col>
</el-row>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="mathtermplanList" :data="mathtermplanList"
@selection-change="handleSelectionChange" @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 <el-table-column
type="selection"
width="55"
align="center"
:selectable="isShow"
/>
<el-table-column
fixed
label="计划名称" label="计划名称"
align="center" align="center"
prop="name" prop="name"
@ -117,11 +122,16 @@
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="班级名称"
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column <el-table-column
label="开始月份" label="开始月份"
align="center" align="center"
prop="startmonth" prop="startmonth"
width="180"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span>
@ -131,7 +141,6 @@
label="结束月份" label="结束月份"
align="center" align="center"
prop="endmonth" prop="endmonth"
width="180"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span>
@ -153,7 +162,9 @@
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" fixed="right"
width="60"
class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -181,14 +192,16 @@
@click="handleCheck(scope.row)" @click="handleCheck(scope.row)"
v-hasPermi="['benyi:mathtermplan:edit']" v-hasPermi="['benyi:mathtermplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>提交</el-button> >提交</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleView(scope.row)" @click="handleView(scope.row)"
v-hasPermi="['benyi:mathtermplan:query']" v-hasPermi="['benyi:mathtermplan:query']"
>预览</el-button> >预览</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -202,7 +215,7 @@
/> />
<!-- 添加或修改游戏数学学期计划对话框 --> <!-- 添加或修改游戏数学学期计划对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="月份" prop="startmonth"> <el-form-item label="月份" prop="startmonth">
<el-date-picker <el-date-picker
@ -212,6 +225,7 @@
start-placeholder="开始月份" start-placeholder="开始月份"
end-placeholder="结束月份" end-placeholder="结束月份"
value-format="yyyy-MM" value-format="yyyy-MM"
class="my-date-picker"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="学年学期" prop="xnxq"> <el-form-item label="学年学期" prop="xnxq">
@ -451,14 +465,11 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$confirm( this.$confirm("是否确认删除游戏数学学期计划数据项?", "警告", {
'是否确认删除游戏数学学期计划数据项?', confirmButtonText: "确定",
"警告", cancelButtonText: "取消",
{ type: "warning",
confirmButtonText: "确定", })
cancelButtonText: "取消",
type: "warning",
})
.then(function () { .then(function () {
return delMathtermplan(ids); return delMathtermplan(ids);
}) })
@ -471,15 +482,11 @@ export default {
/** 提交按钮操作 */ /** 提交按钮操作 */
handleCheck(row) { handleCheck(row) {
const id = row.id; const id = row.id;
this.$confirm( this.$confirm("是否确认提交游戏数学学期计划?提交后数据无法维护", "警告", {
"是否确认提交游戏数学学期计划?提交后数据无法维护", confirmButtonText: "确定",
"警告", cancelButtonText: "取消",
{ type: "warning",
confirmButtonText: "确定", })
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () { .then(function () {
return checkTermplan(id); return checkTermplan(id);
}) })
@ -493,10 +500,26 @@ export default {
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/mathtermplanprint/table/"+id, path: "/benyi_course/mathtermplanprint/table/" + id,
}); });
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,63 +1,68 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="选择班级" prop="classid">
label-width="68px" <el-select v-model="queryParams.classid" placeholder="请选择班级">
> <el-option
<el-form-item label="班级编码" prop="classid"> v-for="dict in classOptions"
<el-select v-model="queryParams.classid" placeholder="请选择班级"> :key="dict.bjbh"
<el-option :label="dict.bjmc"
v-for="dict in classOptions" :value="dict.bjbh"
:key="dict.bjbh" ></el-option>
:label="dict.bjmc" </el-select>
:value="dict.bjbh" </el-form-item>
></el-option> </el-col>
</el-select> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="学年学期" prop="xnxq">
<el-form-item label="学年学期" prop="xnxq"> <el-select
<el-select v-model="queryParams.xnxq"
v-model="queryParams.xnxq" placeholder="请选择学年学期"
placeholder="请选择学年学期" clearable
clearable size="small"
size="small" >
> <el-option
<el-option v-for="dict in xnxqOptions"
v-for="dict in xnxqOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="状态" prop="status"> <el-col :xs="24" :ms="12" :md="5">
<el-select <el-form-item label="状态" prop="status">
v-model="queryParams.status" <el-select
placeholder="请选择状态" v-model="queryParams.status"
clearable placeholder="请选择状态"
size="small" clearable
> size="small"
<el-option >
v-for="dict in statusOptions" <el-option
:key="dict.dictValue" v-for="dict in statusOptions"
:label="dict.dictLabel" :key="dict.dictValue"
:value="dict.dictValue" :label="dict.dictLabel"
/> :value="dict.dictValue"
</el-select> />
</el-form-item> </el-select>
<el-form-item> </el-form-item>
<el-button </el-col>
type="primary" <el-col :xs="24" :ms="12" :md="4">
icon="el-icon-search" <el-form-item class="no-margin">
size="mini" <el-button
@click="handleQuery" type="primary"
>搜索</el-button icon="el-icon-search"
> size="mini"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @click="handleQuery"
>重置</el-button >搜索</el-button
> >
</el-form-item> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="mb8 btn-list"> <div class="mb8 btn-list">
@ -73,6 +78,7 @@
</div> </div>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="mathtermplanList" :data="mathtermplanList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@ -84,12 +90,7 @@
:selectable="isShow" :selectable="isShow"
/> />
<el-table-column <el-table-column
label="班级名称" fixed
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column
label="计划名称" label="计划名称"
align="center" align="center"
prop="name" prop="name"
@ -105,21 +106,17 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="开始月份" label="班级名称"
align="center" align="center"
prop="startmonth" prop="classid"
width="180" :formatter="classFormat"
> />
<el-table-column label="开始月份" align="center" prop="startmonth">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="结束月份" align="center" prop="endmonth">
label="结束月份"
align="center"
prop="endmonth"
width="180"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span>
</template> </template>
@ -139,8 +136,10 @@
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column
label="操作" label="操作"
fixed="right"
width="60"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -173,10 +172,16 @@
/> />
<!-- 添加或修改游戏数学学期计划对话框 --> <!-- 添加或修改游戏数学学期计划对话框 -->
<el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="月份" prop="startmonth"> <el-form-item label="月份" prop="startmonth">
<el-date-picker <el-date-picker
class="my-date-picker"
v-model="form.startmonth" v-model="form.startmonth"
type="monthrange" type="monthrange"
range-separator="" range-separator=""
@ -237,7 +242,7 @@ import {
delMathtermplan, delMathtermplan,
addMathtermplan, addMathtermplan,
updateMathtermplan, updateMathtermplan,
checkTermplan checkTermplan,
} from "@/api/benyi/mathtermplan"; } from "@/api/benyi/mathtermplan";
import { listClass } from "@/api/system/class"; import { listClass } from "@/api/system/class";
@ -281,23 +286,23 @@ export default {
status: "1", status: "1",
spr: undefined, spr: undefined,
sptime: undefined, sptime: undefined,
createuserid: undefined createuserid: undefined,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
status: [{ required: true, message: "状态不能为空", trigger: "blur" }] status: [{ required: true, message: "状态不能为空", trigger: "blur" }],
} },
}; };
}, },
created() { created() {
this.getClassList(); this.getClassList();
this.getList(); this.getList();
this.getDicts("sys_xnxq").then(response => { this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data; this.xnxqOptions = response.data;
}); });
this.getDicts("sys_dm_planweekstatus").then(response => { this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data; this.statusOptions = response.data;
}); });
}, },
@ -312,14 +317,14 @@ export default {
}, },
// 查询班级列表 // 查询班级列表
getClassList() { getClassList() {
listClass(null).then(response => { listClass(null).then((response) => {
this.classOptions = response.rows; this.classOptions = response.rows;
}); });
}, },
/** 查询游戏数学学期计划列表 */ /** 查询游戏数学学期计划列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listMathtermplan(this.queryParams).then(response => { listMathtermplan(this.queryParams).then((response) => {
this.mathtermplanList = response.rows; this.mathtermplanList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -329,7 +334,7 @@ export default {
classFormat(row, column) { classFormat(row, column) {
var actions = []; var actions = [];
var datas = this.classOptions; var datas = this.classOptions;
Object.keys(datas).map(key => { Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) { if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc); actions.push(datas[key].bjmc);
return false; return false;
@ -365,7 +370,7 @@ export default {
sptime: undefined, sptime: undefined,
remark: undefined, remark: undefined,
createuserid: undefined, createuserid: undefined,
createTime: undefined createTime: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -381,7 +386,7 @@ export default {
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id); this.ids = selection.map((item) => item.id);
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -390,7 +395,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getMathtermplan(id).then(response => { getMathtermplan(id).then((response) => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改游戏数学学期计划"; this.title = "修改游戏数学学期计划";
@ -401,14 +406,14 @@ export default {
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
const time = this.form.startmonth; const time = this.form.startmonth;
this.form.startmonth = time[0]; this.form.startmonth = time[0];
this.form.endmonth = time[1]; this.form.endmonth = time[1];
if (this.form.id != undefined) { if (this.form.id != undefined) {
updateMathtermplan(this.form).then(response => { updateMathtermplan(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("审批成功"); this.msgSuccess("审批成功");
this.open = false; this.open = false;
@ -425,24 +430,41 @@ export default {
this.$confirm("是否确认提交游戏数学学期计划?提交后数据无法维护", "警告", { this.$confirm("是否确认提交游戏数学学期计划?提交后数据无法维护", "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}) })
.then(function() { .then(function () {
return checkTermplan(id); return checkTermplan(id);
}) })
.then(() => { .then(() => {
this.getList(); this.getList();
this.msgSuccess("提交成功"); this.msgSuccess("提交成功");
}) })
.catch(function() {}); .catch(function () {});
}, },
/** 预览按钮操作 */ /** 预览按钮操作 */
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/mathtermplanprint/table/" + id path: "/benyi_course/mathtermplanprint/table/" + id,
}); });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,114 +1,103 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="周计划" prop="wid">
label-width="68px" <el-select v-model="queryParams.wid" size="small">
> <el-option
<el-form-item label="周计划" prop="wid"> v-for="item in planweekOptions"
<el-select v-model="queryParams.wid" size="small"> :key="item.id"
<el-option :label="item.name"
v-for="item in planweekOptions" :value="item.id"
:key="item.id" />
:label="item.name" </el-select>
:value="item.id" </el-form-item>
/> </el-col>
</el-select> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="活动类型" prop="activitytype">
<el-form-item label="活动类型" prop="activitytype"> <el-select
<el-select v-model="queryParams.activitytype"
v-model="queryParams.activitytype" placeholder="请选择活动类型"
placeholder="请选择活动类型" clearable
clearable size="small"
size="small" >
> <el-option
<el-option v-for="dict in activitytypeOptions"
v-for="dict in activitytypeOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="活动时间" prop="activitytime"> <el-col :xs="24" :ms="12" :md="5">
<el-date-picker <el-form-item label="活动时间" prop="activitytime">
clearable <el-date-picker
size="small" clearable
style="width: 200px" size="small"
v-model="queryParams.activitytime" class="my-date-picker"
type="date" v-model="queryParams.activitytime"
value-format="yyyy-MM-dd" type="date"
placeholder="选择活动时间" value-format="yyyy-MM-dd"
></el-date-picker> placeholder="选择活动时间"
</el-form-item> ></el-date-picker>
<el-form-item> </el-form-item>
<el-button </el-col>
type="primary" <el-col :xs="24" :ms="12" :md="4">
icon="el-icon-search" <el-form-item class="no-margin">
size="mini" <el-button
@click="handleQuery" type="primary"
>搜索</el-button icon="el-icon-search"
> size="mini"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @click="handleQuery"
>重置</el-button >搜索</el-button
> >
</el-form-item> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="mb8 btn-list">
<el-row :gutter="10" class="mb8"> <el-button
<el-col :span="1.5"> type="primary"
<el-button icon="el-icon-plus"
type="primary" size="mini"
icon="el-icon-plus" @click="handleAdd"
size="mini" v-hasPermi="['benyi:planweek:add']"
@click="handleAdd" >新增</el-button
v-hasPermi="['benyi:planweek:add']" >
>新增</el-button <el-button
> type="success"
</el-col> icon="el-icon-edit"
<el-col :span="1.5"> size="mini"
<el-button :disabled="single"
type="success" @click="handleUpdate"
icon="el-icon-edit" v-hasPermi="['benyi:planweek:edit']"
size="mini" >修改</el-button
:disabled="single" >
@click="handleUpdate" <el-button
v-hasPermi="['benyi:planweek:edit']" type="danger"
>修改</el-button icon="el-icon-delete"
> size="mini"
</el-col> :disabled="multiple"
<el-col :span="1.5"> @click="handleDelete"
<el-button v-hasPermi="['benyi:planweek:remove']"
type="danger" >删除</el-button
icon="el-icon-delete" >
size="mini" </div>
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:planweek:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['benyi:planweek:export']"
>导出</el-button
>
</el-col>
</el-row>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="planweekitemList" :data="planweekitemList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" /> <!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column label="活动内容" align="center" prop="content"> <el-table-column label="活动内容" align="center" fixed prop="content">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-html="scope.row.content"></div> <div v-html="scope.row.content"></div>
</template> </template>
@ -125,21 +114,18 @@
prop="activitytype" prop="activitytype"
:formatter="activitytypeFormat" :formatter="activitytypeFormat"
/> />
<el-table-column <el-table-column label="活动时间" align="center" prop="activitytime">
label="活动时间"
align="center"
prop="activitytime"
width="180"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.activitytime, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.activitytime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="星期" align="center" prop="day" /> <el-table-column label="星期" align="center" prop="day" />
<el-table-column <el-table-column
fixed="right"
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" width="60"
class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -174,7 +160,7 @@
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
width="1024px" class="v-dialog"
append-to-body append-to-body
> >
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
@ -202,7 +188,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.activitytime" v-model="form.activitytime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -410,7 +396,7 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加周计划(家长和教育部门细化)"; this.title = "添加周计划(家长和教育部门)细化";
this.form.wid = this.queryParams.wid; this.form.wid = this.queryParams.wid;
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
@ -450,15 +436,11 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$confirm( this.$confirm("是否确认删除周计划(家长和教育部门细化)数据项?", "警告", {
'是否确认删除周计划(家长和教育部门细化)数据项?', confirmButtonText: "确定",
"警告", cancelButtonText: "取消",
{ type: "warning",
confirmButtonText: "确定", })
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () { .then(function () {
return delPlanweekitem(ids); return delPlanweekitem(ids);
}) })
@ -490,4 +472,21 @@ export default {
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,16 +1,18 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="计划名称" prop="name"> <el-row :gutter="10">
<el-input <el-col :xs="24" :ms="12" :md="5">
v-model="queryParams.name" <el-form-item label="计划名称" prop="name">
placeholder="请输入计划名称" <el-input
clearable v-model="queryParams.name"
size="small" placeholder="请输入计划名称"
@keyup.enter.native="handleQuery" clearable
/> size="small"
</el-form-item> @keyup.enter.native="handleQuery"
<!-- <el-form-item label="班级名称" prop="classid"> />
</el-form-item>
<!-- <el-form-item label="班级名称" prop="classid">
<el-select v-model="queryParams.classid" placeholder="请选择班级" clearable size="small"> <el-select v-model="queryParams.classid" placeholder="请选择班级" clearable size="small">
<el-option <el-option
v-for="dict in classOptions" v-for="dict in classOptions"
@ -20,95 +22,137 @@
/> />
</el-select> </el-select>
</el-form-item>--> </el-form-item>-->
<el-form-item label="开始时间" prop="starttime"> </el-col>
<el-date-picker <el-col :xs="24" :ms="12" :md="5">
clearable <el-form-item label="开始时间" prop="starttime">
size="small" <el-date-picker
style="width: 200px" clearable
v-model="queryParams.starttime" size="small"
type="date" class="my-date-picker"
value-format="yyyy-MM-dd" v-model="queryParams.starttime"
placeholder="选择开始时间" type="date"
></el-date-picker> value-format="yyyy-MM-dd"
</el-form-item> placeholder="选择开始时间"
<el-form-item label="结束时间" prop="endtime"> ></el-date-picker>
<el-date-picker </el-form-item>
clearable </el-col>
size="small" <el-col :xs="24" :ms="12" :md="5">
style="width: 200px" <el-form-item label="结束时间" prop="endtime">
v-model="queryParams.endtime" <el-date-picker
type="date" clearable
value-format="yyyy-MM-dd" size="small"
placeholder="选择结束时间" class="my-date-picker"
></el-date-picker> v-model="queryParams.endtime"
</el-form-item> type="date"
<el-form-item> value-format="yyyy-MM-dd"
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> placeholder="选择结束时间"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<el-col :span="1.5"> <el-button
<el-button type="primary"
type="primary" icon="el-icon-plus"
icon="el-icon-plus" size="mini"
size="mini" @click="handleAdd"
@click="handleAdd" v-hasPermi="['benyi:planweek:add']"
v-hasPermi="['benyi:planweek:add']" >新增</el-button
>新增</el-button> >
</el-col> <el-button
<el-col :span="1.5"> type="success"
<el-button icon="el-icon-edit"
type="success" size="mini"
icon="el-icon-edit" :disabled="single"
size="mini" @click="handleUpdate"
:disabled="single" v-hasPermi="['benyi:planweek:edit']"
@click="handleUpdate" >修改</el-button
v-hasPermi="['benyi:planweek:edit']" >
>修改</el-button> <el-button
</el-col> type="danger"
<el-col :span="1.5"> icon="el-icon-delete"
<el-button size="mini"
type="danger" :disabled="multiple"
icon="el-icon-delete" @click="handleDelete"
size="mini" v-hasPermi="['benyi:planweek:remove']"
:disabled="multiple" >删除</el-button
@click="handleDelete" >
v-hasPermi="['benyi:planweek:remove']" </div>
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="planweekList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
border
:data="planweekList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> <el-table-column
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> fixed
label="计划名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/benyi_course/planweek/data/' + scope.row.id" class="link-type"> <router-link
:to="'/benyi_course/planweek/data/' + scope.row.id"
class="link-type"
>
<span>{{ scope.row.name }}</span> <span>{{ scope.row.name }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="月份" align="center" prop="month" width="180"> <el-table-column
label="班级名称"
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column label="月份" align="center" prop="month">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.starttime, '{y}-{m}') }}</span> <span>{{ parseTime(scope.row.starttime, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="开始时间" align="center" prop="starttime" width="180"> <el-table-column label="开始时间" align="center" prop="starttime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.starttime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.starttime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="结束时间" align="center" prop="endtime" width="180"> <el-table-column label="结束时间" align="center" prop="endtime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.endtime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.endtime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="周次" align="center" prop="weekly" :formatter="weeklyFormat" /> <el-table-column
label="周次"
align="center"
prop="weekly"
:formatter="weeklyFormat"
/>
<el-table-column label="本周主题" align="center" prop="themeofweek" /> <el-table-column label="本周主题" align="center" prop="themeofweek" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column
fixed="right"
label="操作"
align="center"
width="60"
class-name="small-padding fixed-width edit-btns"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -116,27 +160,30 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:planweek:edit']" v-hasPermi="['benyi:planweek:edit']"
>修改</el-button> >修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:planweek:remove']" v-hasPermi="['benyi:planweek:remove']"
>删除</el-button> >删除</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleView(scope.row)" @click="handleView(scope.row)"
v-hasPermi="['benyi:planweek:query']" v-hasPermi="['benyi:planweek:query']"
>预览</el-button> >预览</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -144,17 +191,24 @@
/> />
<!-- 添加或修改周计划(家长和教育部门)对话框 --> <!-- 添加或修改周计划(家长和教育部门)对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1024px" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="计划名称" prop="name"> <el-form-item label="计划名称" prop="name">
<el-input v-model="form.name" placeholder="请输入计划名称" /> <el-input v-model="form.name" placeholder="请输入计划名称" />
</el-form-item> </el-form-item>
<el-form-item label="月 份" prop="month"> <el-form-item label="选择月份" prop="month">
<label slot="label">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> <label slot="label"
>选择月份</label
>
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.month" v-model="form.month"
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
@ -165,7 +219,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.starttime" v-model="form.starttime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -176,16 +230,18 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.endtime" v-model="form.endtime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择结束时间" placeholder="选择结束时间"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="周次" prop="weekly"> <el-form-item label="选择周次" prop="weekly">
<label slot="label">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> <label slot="label"
<el-select v-model="form.weekly" placeholder="请选择周次"> >选择周次</label
>
<el-select v-model="form.weekly" placeholder="请选择周次">
<el-option <el-option
v-for="dict in weeklyOptions" v-for="dict in weeklyOptions"
:key="dict.dictValue" :key="dict.dictValue"
@ -229,7 +285,7 @@ import {
addPlanweek, addPlanweek,
updatePlanweek, updatePlanweek,
exportPlanweek, exportPlanweek,
checkPlanweek checkPlanweek,
} from "@/api/benyi/planweek"; } from "@/api/benyi/planweek";
import Editor from "@/components/Editor"; import Editor from "@/components/Editor";
@ -239,7 +295,7 @@ import { listClass } from "@/api/system/class";
export default { export default {
name: "Planweek", name: "Planweek",
components: { components: {
Editor Editor,
}, },
data() { data() {
return { return {
@ -285,52 +341,72 @@ export default {
shrid: undefined, shrid: undefined,
shtime: undefined, shtime: undefined,
weekly: undefined, weekly: undefined,
month: undefined month: undefined,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
name: [ name: [
{ required: true, message: "计划名称不能为空", trigger: "blur" } { required: true, message: "计划名称不能为空", trigger: "blur" },
], ],
starttime: [ starttime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" } { required: true, message: "开始时间不能为空", trigger: "blur" },
], ],
endtime: [ endtime: [
{ required: true, message: "结束时间不能为空", trigger: "blur" } { required: true, message: "结束时间不能为空", trigger: "blur" },
], ],
themeofweek: [ themeofweek: [
{ required: true, message: "本周主题不能为空", trigger: "blur" } { required: true, message: "本周主题不能为空", trigger: "blur" },
], ],
jxmbSh: [ jxmbSh: [
{ required: true, message: "教学目标(社会)不能为空", trigger: "blur" } {
required: true,
message: "教学目标(社会)不能为空",
trigger: "blur",
},
], ],
jxmbYy: [ jxmbYy: [
{ required: true, message: "教学目标(语言)不能为空", trigger: "blur" } {
required: true,
message: "教学目标(语言)不能为空",
trigger: "blur",
},
], ],
jxmbJk: [ jxmbJk: [
{ required: true, message: "教学目标(健康)不能为空", trigger: "blur" } {
required: true,
message: "教学目标(健康)不能为空",
trigger: "blur",
},
], ],
jxmbKx: [ jxmbKx: [
{ required: true, message: "教学目标(科学)不能为空", trigger: "blur" } {
required: true,
message: "教学目标(科学)不能为空",
trigger: "blur",
},
], ],
jxmbYs: [ jxmbYs: [
{ required: true, message: "教学目标(艺术)不能为空", trigger: "blur" } {
required: true,
message: "教学目标(艺术)不能为空",
trigger: "blur",
},
], ],
weekly: [{ required: true, message: "周次不能为空", trigger: "blur" }], weekly: [{ required: true, message: "周次不能为空", trigger: "blur" }],
month: [{ required: true, message: "月份不能为空", trigger: "blur" }] month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
} },
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getClassList(); this.getClassList();
// 审核状态获取数据 // 审核状态获取数据
this.getDicts("sys_dm_planweekstatus").then(response => { this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data; this.statusOptions = response.data;
}); });
this.getDicts("sys_dm_weekly").then(response => { this.getDicts("sys_dm_weekly").then((response) => {
this.weeklyOptions = response.data; this.weeklyOptions = response.data;
}); });
}, },
@ -338,7 +414,7 @@ export default {
/** 查询周计划(家长和教育部门)列表 */ /** 查询周计划(家长和教育部门)列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listPlanweek(this.queryParams).then(response => { listPlanweek(this.queryParams).then((response) => {
this.planweekList = response.rows; this.planweekList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -346,12 +422,12 @@ export default {
}, },
// 获取班级列表 // 获取班级列表
getClassList() { getClassList() {
listClass(null).then(response => { listClass(null).then((response) => {
this.classOptions = response.rows; this.classOptions = response.rows;
console.log(this.classOptions); // console.log(this.classOptions);
}); });
}, },
// 当前状态翻译 // 当前状态翻译
statusFormat(row, column) { statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status); return this.selectDictLabel(this.statusOptions, row.status);
@ -365,7 +441,7 @@ export default {
// return this.selectDictLabel(this.classOptions, row.classid); // return this.selectDictLabel(this.classOptions, row.classid);
var actions = []; var actions = [];
var datas = this.classOptions; var datas = this.classOptions;
Object.keys(datas).map(key => { Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) { if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc); actions.push(datas[key].bjmc);
return false; return false;
@ -384,7 +460,7 @@ export default {
id: undefined, id: undefined,
schoolid: undefined, schoolid: undefined,
classid: undefined, classid: undefined,
name: '教学计划', name: "教学计划",
starttime: undefined, starttime: undefined,
endtime: undefined, endtime: undefined,
themeofweek: undefined, themeofweek: undefined,
@ -399,7 +475,7 @@ export default {
shrid: undefined, shrid: undefined,
shtime: undefined, shtime: undefined,
weekly: undefined, weekly: undefined,
month: undefined month: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -415,7 +491,7 @@ export default {
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id); this.ids = selection.map((item) => item.id);
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -429,7 +505,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getPlanweek(id).then(response => { getPlanweek(id).then((response) => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改周计划(家长和教育部门)"; this.title = "修改周计划(家长和教育部门)";
@ -441,16 +517,16 @@ export default {
this.$confirm('确认提交周计划编号为"' + ids + '"的数据项?', "警告", { this.$confirm('确认提交周计划编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}) })
.then(function() { .then(function () {
return checkPlanweek(ids); return checkPlanweek(ids);
}) })
.then(() => { .then(() => {
this.getList(); this.getList();
this.msgSuccess("提交成功"); this.msgSuccess("提交成功");
}) })
.catch(function() {}); .catch(function () {});
}, },
isShow(row) { isShow(row) {
if (row.status == "1" || row.status == "2") { if (row.status == "1" || row.status == "2") {
@ -460,11 +536,11 @@ export default {
} }
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != undefined) { if (this.form.id != undefined) {
updatePlanweek(this.form).then(response => { updatePlanweek(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("修改成功"); this.msgSuccess("修改成功");
this.open = false; this.open = false;
@ -472,7 +548,7 @@ export default {
} }
}); });
} else { } else {
addPlanweek(this.form).then(response => { addPlanweek(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("新增成功"); this.msgSuccess("新增成功");
this.open = false; this.open = false;
@ -486,47 +562,44 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$confirm( this.$confirm("是否确认删除周计划(家长和教育部门)数据项?", "警告", {
'是否确认删除周计划(家长和教育部门)数据项?', confirmButtonText: "确定",
"警告", cancelButtonText: "取消",
{ type: "warning",
confirmButtonText: "确定", })
cancelButtonText: "取消", .then(function () {
type: "warning"
}
)
.then(function() {
return delPlanweek(ids); return delPlanweek(ids);
}) })
.then(() => { .then(() => {
this.getList(); this.getList();
this.msgSuccess("删除成功"); this.msgSuccess("删除成功");
}) })
.catch(function() {}); .catch(function () {});
}, },
/** 预览按钮操作 */ /** 预览按钮操作 */
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/planweekprint/table/"+id, path: "/benyi_course/planweekprint/table/" + id,
}); });
}, },
/** 导出按钮操作 */ },
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出所有周计划(家长和教育部门)数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(function() {
return exportPlanweek(queryParams);
})
.then(response => {
this.download(response.msg);
})
.catch(function() {});
}
}
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -129,7 +129,7 @@
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="38" width="55"
align="center" align="center"
:selectable="checkSelectable" :selectable="checkSelectable"
/> />
@ -211,12 +211,11 @@
/> />
<!-- 添加或修改园历管理对话框 --> <!-- 添加或修改园历管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px"> <el-dialog :title="title" :visible.sync="open" class="v-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="名称" prop="name"> <el-form-item label="事件名称" prop="name">
<el-input <el-input
v-model="form.name" v-model="form.name"
type="textarea"
placeholder="请输入内容" placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>
@ -255,7 +254,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 240px" class="my-date-picker"
v-model="form.activitytime" v-model="form.activitytime"
type="daterange" type="daterange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"

View File

@ -194,12 +194,11 @@
/> />
<!-- 添加或修改园历管理(班级)对话框 --> <!-- 添加或修改园历管理(班级)对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px"> <el-dialog :title="title" :visible.sync="open" class="v-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="名称" prop="name"> <el-form-item label="事件名称" prop="name">
<el-input <el-input
v-model="form.name" v-model="form.name"
type="textarea"
placeholder="请输入内容" placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>
@ -217,7 +216,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 240px" class="my-date-picker"
v-model="form.activitytime" v-model="form.activitytime"
type="daterange" type="daterange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"

View File

@ -1,89 +1,121 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="月计划" prop="mpid"> <el-row :gutter="10">
<el-select v-model="queryParams.mpid" size="small"> <el-col :xs="24" :ms="12" :md="5">
<el-option <el-form-item label="月计划" prop="mpid">
v-for="item in themeMonthPlanOptions" <el-select v-model="queryParams.mpid" size="small">
:key="item.id" <el-option
:label="item.name" v-for="item in themeMonthPlanOptions"
:value="item.id" :key="item.id"
/> :label="item.name"
</el-select> :value="item.id"
</el-form-item> />
<el-form-item label="周次" prop="zc"> </el-select>
<el-input-number </el-form-item>
v-model="queryParams.zc" </el-col>
placeholder="周次" <el-col :xs="24" :ms="12" :md="5">
clearable <el-form-item label="周次" prop="zc">
size="small" <el-input-number
@keyup.enter.native="handleQuery" v-model="queryParams.zc"
/> placeholder="周次"
</el-form-item> clearable
<el-form-item> size="small"
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> class="my-date-picker"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> @keyup.enter.native="handleQuery"
</el-form-item> />
</el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<!-- <el-col :span="1.5"> <el-button
<el-button type="primary"
type="primary" icon="el-icon-plus"
icon="el-icon-plus" size="mini"
size="mini" @click="handleAdd"
@click="handleAdd" v-hasPermi="['benyi:thememonthplan:add']"
v-hasPermi="['benyi:thememonthplan:add']" v-show="isShow"
v-show="isShow" >新增</el-button
>新增</el-button> >
</el-col> --> <el-button
<el-col :span="1.5"> type="success"
<el-button icon="el-icon-edit"
type="success" size="mini"
icon="el-icon-edit" :disabled="single"
size="mini" @click="handleUpdate"
:disabled="single" v-hasPermi="['benyi:thememonthplan:edit']"
@click="handleUpdate" v-show="isShow"
v-hasPermi="['benyi:thememonthplan:edit']" >填充</el-button
v-show="isShow" >
>填充</el-button> <el-button
</el-col> type="danger"
<el-col :span="1.5"> icon="el-icon-delete"
<el-button size="mini"
type="danger" :disabled="multiple"
icon="el-icon-delete" @click="handleDelete"
size="mini" v-hasPermi="['benyi:thememonthplan:remove']"
:disabled="multiple" v-show="isShow"
@click="handleDelete" >删除</el-button
v-hasPermi="['benyi:thememonthplan:remove']" >
v-show="isShow" </div>
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="weekplanList" @selection-change="handleSelectionChange"> <el-table
border
v-loading="loading"
:data="weekplanList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="编号" align="center" prop="id" /> --> <!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column label="所属月计划" align="center" prop="mpid" :formatter="themeMonthPlanFormat" />
<el-table-column label="周次" align="center" prop="zc" />
<el-table-column label="开始时间" align="center" prop="starttime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.starttime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" prop="endtime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endtime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
fixed
label="活动" label="活动"
align="center" align="center"
prop="activityid" prop="activityid"
:formatter="themeactivityFormat" :formatter="themeactivityFormat"
/> />
<el-table-column
label="所属月计划"
align="center"
prop="mpid"
:formatter="themeMonthPlanFormat"
/>
<el-table-column label="周次" align="center" prop="zc" />
<el-table-column label="开始时间" align="center" prop="starttime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.starttime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" prop="endtime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endtime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="家长支持" align="center" prop="jzzc" /> <el-table-column label="家长支持" align="center" prop="jzzc" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column
fixed="right"
label="操作"
align="center"
width="60"
class-name="small-padding fixed-width edit-btns"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -92,7 +124,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:thememonthplan:edit']" v-hasPermi="['benyi:thememonthplan:edit']"
v-show="isShow" v-show="isShow"
>填充</el-button> >填充</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -100,13 +133,14 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:thememonthplan:remove']" v-hasPermi="['benyi:thememonthplan:remove']"
v-show="isShow" v-show="isShow"
>删除</el-button> >删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -114,7 +148,12 @@
/> />
<!-- 添加或修改主题整合周计划对话框 --> <!-- 添加或修改主题整合周计划对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="月计划" prop="mpid"> <el-form-item label="月计划" prop="mpid">
<el-select v-model="form.mpid" size="small" :disabled="true"> <el-select v-model="form.mpid" size="small" :disabled="true">
@ -127,13 +166,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="周次" prop="zc"> <el-form-item label="周次" prop="zc">
<el-input-number v-model="form.zc" placeholder="请输入周次" /> <el-input-number class="my-date-picker" v-model="form.zc" placeholder="请输入周次" />
</el-form-item> </el-form-item>
<el-form-item label="开始时间" prop="starttime"> <el-form-item label="开始时间" prop="starttime">
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.starttime" v-model="form.starttime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -144,7 +183,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.endtime" v-model="form.endtime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -158,15 +197,20 @@
@change="getThemeActivityIdValue" @change="getThemeActivityIdValue"
> >
<el-checkbox <el-checkbox
v-for="(item,i) in themeactivityOptions" v-for="(item, i) in themeactivityOptions"
:label="item.id" :label="item.id"
:key="i" :key="i"
>{{item.name}}</el-checkbox> >{{ item.name }}</el-checkbox
>
</el-checkbox-group> </el-checkbox-group>
<el-input v-model="form.activityid" v-if="false" /> <el-input v-model="form.activityid" v-if="false" />
</el-form-item> </el-form-item>
<el-form-item label="家长支持" prop="jzzc"> <el-form-item label="家长支持" prop="jzzc">
<el-input v-model="form.jzzc" type="textarea" placeholder="请输入内容" /> <el-input
v-model="form.jzzc"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -307,7 +351,7 @@ export default {
getMonthplan(thememonthplanid).then((response) => { getMonthplan(thememonthplanid).then((response) => {
this.queryParams.mpid = response.data.id; this.queryParams.mpid = response.data.id;
this.defaultThemeMonthType = response.data.id; this.defaultThemeMonthType = response.data.id;
console.log(response.data.themes); // console.log(response.data.themes);
var themeids = response.data.themes.split(";"); var themeids = response.data.themes.split(";");
var array = []; var array = [];
//console.log(arr); //console.log(arr);
@ -470,4 +514,21 @@ export default {
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,111 +1,174 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="计划名称" prop="name"> <el-row :gutter="10">
<el-input <el-col :xs="24" :ms="12" :md="5">
v-model="queryParams.name" <el-form-item label="计划名称" prop="name">
placeholder="请输入计划名称" <el-input
clearable v-model="queryParams.name"
size="small" placeholder="请输入计划名称"
@keyup.enter.native="handleQuery" clearable
/> size="small"
</el-form-item> @keyup.enter.native="handleQuery"
<el-form-item label="学年学期" prop="xnxq"> />
<el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small"> </el-form-item>
<el-option </el-col>
v-for="dict in xnxqOptions" <el-col :xs="24" :ms="12" :md="5">
:key="dict.dictValue" <el-form-item label="学年学期" prop="xnxq">
:label="dict.dictLabel" <el-select
:value="dict.dictValue" v-model="queryParams.xnxq"
/> placeholder="请选择学年学期"
</el-select> clearable
</el-form-item> size="small"
<el-form-item label="计划月份" prop="month"> >
<el-date-picker <el-option
clearable v-for="dict in xnxqOptions"
size="small" :key="dict.dictValue"
style="width: 200px" :label="dict.dictLabel"
v-model="queryParams.month" :value="dict.dictValue"
type="month" />
value-format="yyyy-MM" </el-select>
placeholder="选择计划月份" </el-form-item>
></el-date-picker> </el-col>
</el-form-item> <el-col :xs="24" :ms="12" :md="5">
<el-form-item label="主题内容" prop="themes"> <el-form-item label="计划月份" prop="month">
<el-select v-model="queryParams.themes" size="small"> <el-date-picker
<el-option clearable
v-for="item in themeOptions" size="small"
:key="item.id" class="my-date-picker"
:label="item.name" v-model="queryParams.month"
:value="item.id" type="month"
/> value-format="yyyy-MM"
</el-select> placeholder="选择计划月份"
</el-form-item> ></el-date-picker>
<el-form-item label="当前状态" prop="status"> </el-form-item>
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> </el-col>
<el-option <el-col :xs="24" :ms="12" :md="5">
v-for="dict in statusOptions" <el-form-item label="主题内容" prop="themes">
:key="dict.dictValue" <el-select v-model="queryParams.themes" size="small">
:label="dict.dictLabel" <el-option
:value="dict.dictValue" v-for="item in themeOptions"
/> :key="item.id"
</el-select> :label="item.name"
</el-form-item> :value="item.id"
<el-form-item> />
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> </el-select>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> </el-form-item>
</el-form-item> </el-col>
<el-col :xs="24" :ms="12" :md="5">
<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-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<el-col :span="1.5"> <el-button
<el-button type="primary"
type="primary" icon="el-icon-plus"
icon="el-icon-plus" size="mini"
size="mini" @click="handleAdd"
@click="handleAdd" v-hasPermi="['benyi:thememonthplan:add']"
v-hasPermi="['benyi:thememonthplan:add']" >新增</el-button
>新增</el-button> >
</el-col> <el-button
<el-col :span="1.5"> type="success"
<el-button icon="el-icon-edit"
type="success" size="mini"
icon="el-icon-edit" :disabled="single"
size="mini" @click="handleUpdate"
:disabled="single" v-hasPermi="['benyi:thememonthplan:edit']"
@click="handleUpdate" >修改</el-button
v-hasPermi="['benyi:thememonthplan:edit']" >
>修改</el-button> <el-button
</el-col> type="danger"
<el-col :span="1.5"> icon="el-icon-delete"
<el-button size="mini"
type="danger" :disabled="multiple"
icon="el-icon-delete" @click="handleDelete"
size="mini" v-hasPermi="['benyi:thememonthplan:remove']"
:disabled="multiple" >删除</el-button
@click="handleDelete" >
v-hasPermi="['benyi:thememonthplan:remove']" </div>
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="monthplanList" @selection-change="handleSelectionChange"> <el-table
<el-table-column type="selection" width="55" align="center" :selectable="isShow" /> border
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> v-loading="loading"
:data="monthplanList"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="isShow"
/>
<el-table-column
fixed
label="计划名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/benyi_course/thememonthplan/data/' + scope.row.id" class="link-type"> <router-link
:to="'/benyi_course/thememonthplan/data/' + scope.row.id"
class="link-type"
>
<span>{{ scope.row.name }}</span> <span>{{ scope.row.name }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> <el-table-column
<el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> label="班级名称"
<el-table-column label="计划月份" align="center" prop="month" width="180"> align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column
label="学年学期"
align="center"
prop="xnxq"
:formatter="xnxqFormat"
/>
<el-table-column label="计划月份" align="center" prop="month">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.month, '{y}-{m}') }}</span> <span>{{ parseTime(scope.row.month, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="本月主题" align="center" prop="themes" :formatter="themeFormat" /> <el-table-column
label="本月主题"
align="center"
prop="themes"
:formatter="themeFormat"
/>
<el-table-column prop="wxkc" label="微型课程"> <el-table-column prop="wxkc" label="微型课程">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-html="scope.row.wxkc"></div> <div v-html="scope.row.wxkc"></div>
@ -113,8 +176,19 @@
</el-table-column> </el-table-column>
<!-- <el-table-column label="家长支持" align="center" prop="support" /> <!-- <el-table-column label="家长支持" align="center" prop="support" />
<el-table-column label="备注" align="center" prop="remarks" />--> <el-table-column label="备注" align="center" prop="remarks" />-->
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> <el-table-column
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300"> label="状态"
align="center"
prop="status"
:formatter="statusFormat"
/>
<el-table-column
fixed="right"
label="操作"
align="center"
class-name="small-padding fixed-width edit-btns"
width="60"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -123,7 +197,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:thememonthplan:edit']" v-hasPermi="['benyi:thememonthplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>修改</el-button> >修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -131,7 +206,8 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:thememonthplan:remove']" v-hasPermi="['benyi:thememonthplan:remove']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>删除</el-button> >删除</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -139,20 +215,22 @@
@click="handleCheck(scope.row)" @click="handleCheck(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']" v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>提交</el-button> >提交</el-button
<el-button >
<el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleView(scope.row)" @click="handleView(scope.row)"
v-hasPermi="['benyi:themetermplan:query']" v-hasPermi="['benyi:themetermplan:query']"
>预览</el-button> >预览</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -160,13 +238,13 @@
/> />
<!-- 添加或修改主题整合月计划对话框 --> <!-- 添加或修改主题整合月计划对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="计划月份" prop="month"> <el-form-item label="计划月份" prop="month">
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.month" v-model="form.month"
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
@ -175,7 +253,11 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="学年学期" prop="xnxq"> <el-form-item label="学年学期" prop="xnxq">
<el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="disable"> <el-select
v-model="form.xnxq"
placeholder="请选择学年学期"
:disabled="disable"
>
<el-option <el-option
v-for="dict in xnxqOptions" v-for="dict in xnxqOptions"
:key="dict.dictValue" :key="dict.dictValue"
@ -188,7 +270,11 @@
<Editor v-model="form.wxkc" placeholder="请输入微型课程" /> <Editor v-model="form.wxkc" placeholder="请输入微型课程" />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remarks"> <el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" /> <el-input
v-model="form.remarks"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -478,13 +564,30 @@ export default {
}) })
.catch(function () {}); .catch(function () {});
}, },
/** 预览按钮操作 */ /** 预览按钮操作 */
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/thememonthplanprint/table/"+id, path: "/benyi_course/thememonthplanprint/table/" + id,
}); });
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,83 +1,92 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="计划名称" prop="name">
label-width="68px" <el-input
> v-model="queryParams.name"
<el-form-item label="计划名称" prop="name"> placeholder="请输入计划名称"
<el-input clearable
v-model="queryParams.name" size="small"
placeholder="请输入计划名称" @keyup.enter.native="handleQuery"
clearable />
size="small" </el-form-item>
@keyup.enter.native="handleQuery" </el-col>
/> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="学年学期" prop="xnxq">
<el-form-item label="学年学期" prop="xnxq"> <el-select
<el-select v-model="queryParams.xnxq"
v-model="queryParams.xnxq" placeholder="请选择学年学期"
placeholder="请选择学年学期" clearable
clearable size="small"
size="small" >
> <el-option
<el-option v-for="dict in xnxqOptions"
v-for="dict in xnxqOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="计划月份" prop="month"> <el-col :xs="24" :ms="12" :md="5">
<el-date-picker <el-form-item label="计划月份" prop="month">
clearable <el-date-picker
size="small" clearable
style="width: 200px" size="small"
v-model="queryParams.month" class="my-date-picker"
type="month" v-model="queryParams.month"
value-format="yyyy-MM" type="month"
placeholder="选择计划月份" value-format="yyyy-MM"
></el-date-picker> placeholder="选择计划月份"
</el-form-item> ></el-date-picker>
<el-form-item label="主题内容" prop="themes"> </el-form-item>
<el-select v-model="queryParams.themes" size="small"> </el-col>
<el-option <el-col :xs="24" :ms="12" :md="5">
v-for="item in themeOptions" <el-form-item label="主题内容" prop="themes">
:key="item.id" <el-select v-model="queryParams.themes" size="small">
:label="item.name" <el-option
:value="item.id" v-for="item in themeOptions"
/> :key="item.id"
</el-select> :label="item.name"
</el-form-item> :value="item.id"
<el-form-item label="当前状态" prop="status"> />
<el-select </el-select>
v-model="queryParams.status" </el-form-item>
placeholder="请选择状态" </el-col>
clearable <el-col :xs="24" :ms="12" :md="5">
size="small" <el-form-item label="当前状态" prop="status">
> <el-select
<el-option v-model="queryParams.status"
v-for="dict in statusOptions" placeholder="请选择状态"
:key="dict.dictValue" clearable
:label="dict.dictLabel" size="small"
:value="dict.dictValue" >
/> <el-option
</el-select> v-for="dict in statusOptions"
</el-form-item> :key="dict.dictValue"
<el-form-item> :label="dict.dictLabel"
<el-button :value="dict.dictValue"
type="primary" />
icon="el-icon-search" </el-select>
size="mini" </el-form-item>
@click="handleQuery" </el-col>
>搜索</el-button <el-col :xs="24" :ms="12" :md="4">
> <el-form-item class="no-margin">
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" <el-button
>重置</el-button type="primary"
> icon="el-icon-search"
</el-form-item> size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="mb8 btn-list"> <div class="mb8 btn-list">
@ -93,6 +102,7 @@
</div> </div>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="monthplanList" :data="monthplanList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@ -104,6 +114,7 @@
:selectable="isShow" :selectable="isShow"
/> />
<el-table-column <el-table-column
fixed
label="计划名称" label="计划名称"
align="center" align="center"
prop="name" prop="name"
@ -130,7 +141,7 @@
prop="xnxq" prop="xnxq"
:formatter="xnxqFormat" :formatter="xnxqFormat"
/> />
<el-table-column label="计划月份" align="center" prop="month" width="180"> <el-table-column label="计划月份" align="center" prop="month">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.month, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.month, "{y}-{m}") }}</span>
</template> </template>
@ -156,8 +167,10 @@
/> />
<el-table-column <el-table-column
label="操作" label="操作"
fixed="right"
width="60"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -190,13 +203,18 @@
/> />
<!-- 添加或修改主题整合月计划对话框 --> <!-- 添加或修改主题整合月计划对话框 -->
<el-dialog :title="title" :visible.sync="open" class="big-dialog" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="big-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="计划月份" prop="month"> <el-form-item label="计划月份" prop="month">
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.month" v-model="form.month"
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
@ -255,7 +273,7 @@
import { import {
listMonthplan, listMonthplan,
getMonthplan, getMonthplan,
updateMonthplan updateMonthplan,
} from "@/api/benyi/thememonthplan"; } from "@/api/benyi/thememonthplan";
import Editor from "@/components/Editor"; import Editor from "@/components/Editor";
import { listClass } from "@/api/system/class"; import { listClass } from "@/api/system/class";
@ -264,7 +282,7 @@ import { listTheme } from "@/api/benyi/theme";
export default { export default {
name: "Monthplan", name: "Monthplan",
components: { components: {
Editor Editor,
}, },
data() { data() {
return { return {
@ -311,26 +329,26 @@ export default {
spr: undefined, spr: undefined,
sptime: undefined, sptime: undefined,
spyj: undefined, spyj: undefined,
status: "1" status: "1",
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
status: [ status: [
{ required: true, message: "审批意见不能为空", trigger: "blur" } { required: true, message: "审批意见不能为空", trigger: "blur" },
] ],
} },
}; };
}, },
created() { created() {
this.getClassList(); this.getClassList();
this.getThemeList(); this.getThemeList();
this.getList(); this.getList();
this.getDicts("sys_xnxq").then(response => { this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data; this.xnxqOptions = response.data;
}); });
this.getDicts("sys_dm_planweekstatus").then(response => { this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data; this.statusOptions = response.data;
}); });
}, },
@ -367,7 +385,7 @@ export default {
}, },
//主题 //主题
getThemeList() { getThemeList() {
listTheme(null).then(response => { listTheme(null).then((response) => {
//console.log(response.rows); //console.log(response.rows);
this.themeOptions = response.rows; this.themeOptions = response.rows;
}); });
@ -377,7 +395,7 @@ export default {
// return this.selectDictLabel(this.classOptions, row.classid); // return this.selectDictLabel(this.classOptions, row.classid);
var actions = []; var actions = [];
var datas = this.classOptions; var datas = this.classOptions;
Object.keys(datas).map(key => { Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) { if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc); actions.push(datas[key].bjmc);
return false; return false;
@ -391,14 +409,14 @@ export default {
}, },
//班级列表 //班级列表
getClassList() { getClassList() {
listClass(null).then(response => { listClass(null).then((response) => {
this.classOptions = response.rows; this.classOptions = response.rows;
}); });
}, },
/** 查询主题整合月计划列表 */ /** 查询主题整合月计划列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listMonthplan(this.queryParams).then(response => { listMonthplan(this.queryParams).then((response) => {
this.monthplanList = response.rows; this.monthplanList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -428,7 +446,7 @@ export default {
spr: undefined, spr: undefined,
sptime: undefined, sptime: undefined,
spyj: undefined, spyj: undefined,
status: "2" status: "2",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -444,7 +462,7 @@ export default {
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id); this.ids = selection.map((item) => item.id);
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -452,7 +470,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getMonthplan(id).then(response => { getMonthplan(id).then((response) => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "审批主题整合月计划"; this.title = "审批主题整合月计划";
@ -460,11 +478,11 @@ export default {
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != undefined) { if (this.form.id != undefined) {
updateMonthplan(this.form).then(response => { updateMonthplan(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("审批成功"); this.msgSuccess("审批成功");
this.open = false; this.open = false;
@ -479,9 +497,26 @@ export default {
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/thememonthplanprint/table/" + id path: "/benyi_course/thememonthplanprint/table/" + id,
}); });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,79 +1,101 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="学期计划" prop="tpid"> <el-row :gutter="10">
<el-select v-model="queryParams.tpid" size="small"> <el-col :xs="24" :ms="12" :md="5">
<el-option <el-form-item label="学期计划" prop="tpid">
v-for="item in themePlanOptions" <el-select v-model="queryParams.tpid" size="small">
:key="item.id" <el-option
:label="item.name" v-for="item in themePlanOptions"
:value="item.id" :key="item.id"
/> :label="item.name"
</el-select> :value="item.id"
</el-form-item> />
<el-form-item label="主题内容" prop="themeconent"> </el-select>
<el-select v-model="queryParams.themeconent" size="small"> </el-form-item>
<el-option </el-col>
v-for="item in themeOptions" <el-col :xs="24" :ms="12" :md="5">
:key="item.id" <el-form-item label="主题内容" prop="themeconent">
:label="item.name" <el-select v-model="queryParams.themeconent" size="small">
:value="item.id" <el-option
/> v-for="item in themeOptions"
</el-select> :key="item.id"
</el-form-item> :label="item.name"
<el-form-item> :value="item.id"
<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-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<!-- <el-col :span="1.5"> <el-button
<el-button type="success"
type="primary" icon="el-icon-edit"
icon="el-icon-plus" size="mini"
size="mini" :disabled="single"
@click="handleAdd" @click="handleUpdate"
v-hasPermi="['benyi:themetermplan:add']" v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow" v-show="isShow"
>新增</el-button> >填充</el-button
</el-col> --> >
<el-col :span="1.5"> <el-button
<el-button type="danger"
type="success" icon="el-icon-delete"
icon="el-icon-edit" size="mini"
size="mini" :disabled="multiple"
:disabled="single" @click="handleDelete"
@click="handleUpdate" v-hasPermi="['benyi:themetermplan:remove']"
v-hasPermi="['benyi:themetermplan:edit']" v-show="isShow"
v-show="isShow" >删除</el-button
>填充</el-button> >
</el-col> </div>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:themetermplan:remove']"
v-show="isShow"
>删除</el-button>
</el-col>
</el-row>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="termplanitemList" :data="termplanitemList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="编号" align="center" prop="id" /> --> <!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column label="学期计划" align="center" prop="tpid" :formatter="themePlanFormat" /> <el-table-column
fixed
label="主题内容"
align="center"
prop="themeconent"
:formatter="themeFormat"
/>
<el-table-column
label="学期计划"
align="center"
prop="tpid"
:formatter="themePlanFormat"
/>
<el-table-column label="月份" align="center" prop="month" /> <el-table-column label="月份" align="center" prop="month" />
<el-table-column label="主题内容" align="center" prop="themeconent" :formatter="themeFormat" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column
label="操作"
fixed="right"
align="center"
width="60"
class-name="small-padding fixed-width edit-btns"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -82,7 +104,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']" v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow" v-show="isShow"
>填充</el-button> >填充</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -90,13 +113,14 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:themetermplan:remove']" v-hasPermi="['benyi:themetermplan:remove']"
v-show="isShow" v-show="isShow"
>删除</el-button> >删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -104,7 +128,12 @@
/> />
<!-- 添加或修改主题整合学期计划明细对话框 --> <!-- 添加或修改主题整合学期计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="所属计划" prop="tpid"> <el-form-item label="所属计划" prop="tpid">
<el-select v-model="form.tpid" size="small" :disabled="true"> <el-select v-model="form.tpid" size="small" :disabled="true">
@ -118,20 +147,35 @@
</el-form-item> </el-form-item>
<el-form-item label="月份" prop="month"> <el-form-item label="月份" prop="month">
<el-date-picker <el-date-picker
class="my-date-picker"
v-model="form.month" v-model="form.month"
type="month" type="month"
placeholder="请选择月" placeholder="请选择月"
value-format="yyyy-MM" value-format="yyyy-MM"
:disabled="true"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="选择主题" prop="themeconent"> <el-form-item label="选择主题" prop="themeconent">
<el-checkbox-group v-model="themeList" :max="max" @change="getThemeconentValue"> <el-checkbox-group
<el-checkbox v-for="(item,i) in themeOptions" :label="item.id" :key="i">{{item.name}}</el-checkbox> v-model="themeList"
:max="max"
@change="getThemeconentValue"
>
<el-checkbox
v-for="(item, i) in themeOptions"
:label="item.id"
:key="i"
>{{ item.name }}</el-checkbox
>
</el-checkbox-group> </el-checkbox-group>
<el-input v-model="form.themeconent" v-if="false" /> <el-input v-model="form.themeconent" v-if="false" />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" /> <el-input
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -192,13 +236,13 @@ export default {
tpid: undefined, tpid: undefined,
themeconent: undefined, themeconent: undefined,
createuserid: undefined, createuserid: undefined,
updateuserid: undefined updateuserid: undefined,
}, },
queryParams_class: { queryParams_class: {
bjbh: undefined bjbh: undefined,
}, },
queryParams_classtype: { queryParams_classtype: {
classid: undefined classid: undefined,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@ -217,8 +261,6 @@ export default {
this.getThemePlan(themeplanid); this.getThemePlan(themeplanid);
this.getThemePlanList(); this.getThemePlanList();
this.getClassType(); this.getClassType();
}, },
methods: { methods: {
// 主题--字典状态字典翻译 // 主题--字典状态字典翻译
@ -251,7 +293,7 @@ export default {
}); });
this.form.themeconent = text; this.form.themeconent = text;
}, },
// 字典翻译 // 字典翻译
themePlanFormat(row, column) { themePlanFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid); // return this.selectDictLabel(this.classOptions, row.classid);
@ -322,7 +364,7 @@ export default {
createuserid: undefined, createuserid: undefined,
month: undefined, month: undefined,
updateuserid: undefined, updateuserid: undefined,
updateTime: undefined updateTime: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
this.themeList = []; this.themeList = [];
@ -419,3 +461,20 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,98 +1,171 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="班级编码" prop="classid"> <el-row :gutter="10">
<el-select v-model="queryParams.classid" placeholder="请选择班级"> <el-col :xs="24" :ms="12" :md="5">
<el-option <el-form-item label="选择班级" prop="classid">
v-for="dict in classOptions" <el-select v-model="queryParams.classid" placeholder="请选择班级">
:key="dict.bjbh" <el-option
:label="dict.bjmc" v-for="dict in classOptions"
:value="dict.bjbh" :key="dict.bjbh"
></el-option> :label="dict.bjmc"
</el-select> :value="dict.bjbh"
</el-form-item> ></el-option>
<el-form-item label="学年学期" prop="xnxq"> </el-select>
<el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small"> </el-form-item>
<el-option </el-col>
v-for="dict in xnxqOptions" <el-col :xs="24" :ms="12" :md="5">
:key="dict.dictValue" <el-form-item label="学年学期" prop="xnxq">
:label="dict.dictLabel" <el-select
:value="dict.dictValue" v-model="queryParams.xnxq"
/> placeholder="请选择学年学期"
</el-select> clearable
</el-form-item> size="small"
<el-form-item label="当前状态" prop="status"> >
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> <el-option
<el-option v-for="dict in xnxqOptions"
v-for="dict in statusOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item> <el-col :xs="24" :ms="12" :md="5">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-form-item label="当前状态" prop="status">
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-select
</el-form-item> 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-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<el-col :span="1.5"> <el-button
<el-button type="primary"
type="primary" icon="el-icon-plus"
icon="el-icon-plus" size="mini"
size="mini" @click="handleAdd"
@click="handleAdd" v-hasPermi="['benyi:themetermplan:add']"
v-hasPermi="['benyi:themetermplan:add']" >新增</el-button
>新增</el-button> >
</el-col> <el-button
<el-col :span="1.5"> type="success"
<el-button icon="el-icon-edit"
type="success" size="mini"
icon="el-icon-edit" :disabled="single"
size="mini" @click="handleUpdate"
:disabled="single" v-hasPermi="['benyi:themetermplan:edit']"
@click="handleUpdate" >修改</el-button
v-hasPermi="['benyi:themetermplan:edit']" >
>修改</el-button> <el-button
</el-col> type="danger"
<el-col :span="1.5"> icon="el-icon-delete"
<el-button size="mini"
type="danger" :disabled="multiple"
icon="el-icon-delete" @click="handleDelete"
size="mini" v-hasPermi="['benyi:themetermplan:remove']"
:disabled="multiple" >删除</el-button
@click="handleDelete" >
v-hasPermi="['benyi:themetermplan:remove']" </div>
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="termplanList" @selection-change="handleSelectionChange"> <el-table
<el-table-column type="selection" width="55" align="center" :selectable="isShow" /> border
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> v-loading="loading"
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> :data="termplanList"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="isShow"
/>
<el-table-column
fixed
label="计划名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/benyi_course/themetermplan/data/' + scope.row.id" class="link-type"> <router-link
:to="'/benyi_course/themetermplan/data/' + scope.row.id"
class="link-type"
>
<span>{{ scope.row.name }}</span> <span>{{ scope.row.name }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="开始月份" align="center" prop="startmonth" width="180"> <el-table-column
label="班级名称"
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column
label="开始月份"
align="center"
prop="startmonth"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.startmonth, '{y}-{m}') }}</span> <span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="结束月份" align="center" prop="endmonth" width="180"> <el-table-column
label="结束月份"
align="center"
prop="endmonth"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.endmonth, '{y}-{m}') }}</span> <span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> <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="remark" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> <el-table-column
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> label="状态"
align="center"
prop="status"
:formatter="statusFormat"
/>
<el-table-column
label="操作"
fixed="right"
align="center"
width="60"
class-name="small-padding fixed-width edit-btns"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -101,7 +174,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']" v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>修改</el-button> >修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -109,7 +183,8 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:themetermplan:remove']" v-hasPermi="['benyi:themetermplan:remove']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>删除</el-button> >删除</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -117,20 +192,22 @@
@click="handleCheck(scope.row)" @click="handleCheck(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']" v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>提交</el-button> >提交</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleView(scope.row)" @click="handleView(scope.row)"
v-hasPermi="['benyi:themetermplan:query']" v-hasPermi="['benyi:themetermplan:query']"
>预览</el-button> >预览</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -138,10 +215,11 @@
/> />
<!-- 添加或修改主题整合学期计划对话框 --> <!-- 添加或修改主题整合学期计划对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="月份" prop="startmonth"> <el-form-item label="选择月份" prop="startmonth">
<el-date-picker <el-date-picker
class="my-date-picker"
v-model="form.startmonth" v-model="form.startmonth"
type="monthrange" type="monthrange"
range-separator="" range-separator=""
@ -161,7 +239,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" /> <el-input
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -421,9 +503,26 @@ export default {
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/themetermplanprint/table/"+id, path: "/benyi_course/themetermplanprint/table/" + id,
}); });
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -132,7 +132,7 @@ export default {
//获取教学学期计划 //获取教学学期计划
getThemeTermPlan(themetermplanid) { getThemeTermPlan(themetermplanid) {
getTermplan(themetermplanid).then((response) => { getTermplan(themetermplanid).then((response) => {
console.log(response.data); // console.log(response.data);
this.title = response.data.name; this.title = response.data.name;
this.tbr = response.createusername; this.tbr = response.createusername;
this.classname = response.classname; this.classname = response.classname;
@ -144,7 +144,7 @@ export default {
//获取学期月份详细计划 //获取学期月份详细计划
getThemeTermItemPlan() { getThemeTermItemPlan() {
listTermplanitem(this.queryParams).then((response) => { listTermplanitem(this.queryParams).then((response) => {
console.log(response.rows); // console.log(response.rows);
this.bodyData.termplanitemList = response.rows; this.bodyData.termplanitemList = response.rows;
}); });
}, },

View File

@ -1,63 +1,68 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="选择班级" prop="classid">
label-width="68px" <el-select v-model="queryParams.classid" placeholder="请选择班级">
> <el-option
<el-form-item label="班级编码" prop="classid"> v-for="dict in classOptions"
<el-select v-model="queryParams.classid" placeholder="请选择班级"> :key="dict.bjbh"
<el-option :label="dict.bjmc"
v-for="dict in classOptions" :value="dict.bjbh"
:key="dict.bjbh" ></el-option>
:label="dict.bjmc" </el-select>
:value="dict.bjbh" </el-form-item>
></el-option> </el-col>
</el-select> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="学年学期" prop="xnxq">
<el-form-item label="学年学期" prop="xnxq"> <el-select
<el-select v-model="queryParams.xnxq"
v-model="queryParams.xnxq" placeholder="请选择学年学期"
placeholder="请选择学年学期" clearable
clearable size="small"
size="small" >
> <el-option
<el-option v-for="dict in xnxqOptions"
v-for="dict in xnxqOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="当前状态" prop="status"> <el-col :xs="24" :ms="12" :md="5">
<el-select <el-form-item label="当前状态" prop="status">
v-model="queryParams.status" <el-select
placeholder="请选择状态" v-model="queryParams.status"
clearable placeholder="请选择状态"
size="small" clearable
> size="small"
<el-option >
v-for="dict in statusOptions" <el-option
:key="dict.dictValue" v-for="dict in statusOptions"
:label="dict.dictLabel" :key="dict.dictValue"
:value="dict.dictValue" :label="dict.dictLabel"
/> :value="dict.dictValue"
</el-select> />
</el-form-item> </el-select>
<el-form-item> </el-form-item>
<el-button </el-col>
type="primary" <el-col :xs="24" :ms="12" :md="4">
icon="el-icon-search" <el-form-item class="no-margin">
size="mini" <el-button
@click="handleQuery" type="primary"
>搜索</el-button icon="el-icon-search"
> size="mini"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @click="handleQuery"
>重置</el-button >搜索</el-button
> >
</el-form-item> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="mb8 btn-list"> <div class="mb8 btn-list">
@ -73,6 +78,7 @@
</div> </div>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="termplanList" :data="termplanList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@ -84,12 +90,7 @@
:selectable="isShow" :selectable="isShow"
/> />
<el-table-column <el-table-column
label="班级名称" fixed
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column
label="计划名称" label="计划名称"
align="center" align="center"
prop="name" prop="name"
@ -105,21 +106,17 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="开始月份" label="班级名称"
align="center" align="center"
prop="startmonth" prop="classid"
width="180" :formatter="classFormat"
> />
<el-table-column label="开始月份" align="center" prop="startmonth">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.startmonth, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="结束月份" align="center" prop="endmonth">
label="结束月份"
align="center"
prop="endmonth"
width="180"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.endmonth, "{y}-{m}") }}</span>
</template> </template>
@ -139,8 +136,10 @@
/> />
<el-table-column <el-table-column
label="操作" label="操作"
fixed="right"
width="60"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -173,10 +172,16 @@
/> />
<!-- 添加或修改主题整合学期计划对话框 --> <!-- 添加或修改主题整合学期计划对话框 -->
<el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="月份" prop="startmonth"> <el-form-item label="月份" prop="startmonth">
<el-date-picker <el-date-picker
class="my-date-picker"
v-model="form.startmonth" v-model="form.startmonth"
type="monthrange" type="monthrange"
range-separator="" range-separator=""
@ -234,7 +239,7 @@
import { import {
listTermplan, listTermplan,
getTermplan, getTermplan,
updateTermplan updateTermplan,
} from "@/api/benyi/themetermplan"; } from "@/api/benyi/themetermplan";
import { listClass } from "@/api/system/class"; import { listClass } from "@/api/system/class";
@ -277,25 +282,25 @@ export default {
createuserid: undefined, createuserid: undefined,
status: "1", status: "1",
spr: undefined, spr: undefined,
sptime: undefined sptime: undefined,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
status: [ status: [
{ required: true, message: "审批意见不能为空", trigger: "blur" } { required: true, message: "审批意见不能为空", trigger: "blur" },
] ],
} },
}; };
}, },
created() { created() {
this.getClassList(); this.getClassList();
this.getList(); this.getList();
this.getDicts("sys_xnxq").then(response => { this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data; this.xnxqOptions = response.data;
}); });
this.getDicts("sys_dm_planweekstatus").then(response => { this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data; this.statusOptions = response.data;
}); });
}, },
@ -313,7 +318,7 @@ export default {
// return this.selectDictLabel(this.classOptions, row.classid); // return this.selectDictLabel(this.classOptions, row.classid);
var actions = []; var actions = [];
var datas = this.classOptions; var datas = this.classOptions;
Object.keys(datas).map(key => { Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) { if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc); actions.push(datas[key].bjmc);
return false; return false;
@ -331,14 +336,14 @@ export default {
}, },
//班级列表 //班级列表
getClassList() { getClassList() {
listClass(null).then(response => { listClass(null).then((response) => {
this.classOptions = response.rows; this.classOptions = response.rows;
}); });
}, },
/** 查询主题整合学期计划列表 */ /** 查询主题整合学期计划列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listTermplan(this.queryParams).then(response => { listTermplan(this.queryParams).then((response) => {
this.termplanList = response.rows; this.termplanList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -364,7 +369,7 @@ export default {
createTime: undefined, createTime: undefined,
spr: undefined, spr: undefined,
sptime: undefined, sptime: undefined,
status: "2" status: "2",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -380,7 +385,7 @@ export default {
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id); this.ids = selection.map((item) => item.id);
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -388,7 +393,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getTermplan(id).then(response => { getTermplan(id).then((response) => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "审批主题整合学期计划"; this.title = "审批主题整合学期计划";
@ -399,14 +404,14 @@ export default {
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
const time = this.form.startmonth; const time = this.form.startmonth;
this.form.startmonth = time[0]; this.form.startmonth = time[0];
this.form.endmonth = time[1]; this.form.endmonth = time[1];
if (this.form.id != undefined) { if (this.form.id != undefined) {
updateTermplan(this.form).then(response => { updateTermplan(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("审批成功"); this.msgSuccess("审批成功");
this.open = false; this.open = false;
@ -421,9 +426,26 @@ export default {
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/themetermplanprint/table/" + id path: "/benyi_course/themetermplanprint/table/" + id,
}); });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,63 +1,86 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="周计划" prop="wpid"> <el-row :gutter="10">
<el-select v-model="queryParams.wpid" size="small"> <el-col :xs="24" :ms="12" :md="5">
<el-option <el-form-item label="周计划" prop="wpid">
v-for="item in themeWeekPlanOptions" <el-select v-model="queryParams.wpid" size="small">
:key="item.id" <el-option
:label="item.name" v-for="item in themeWeekPlanOptions"
:value="item.id" :key="item.id"
/> :label="item.name"
</el-select> :value="item.id"
</el-form-item> />
<el-form-item label="选择日期" prop="daytime"> </el-select>
<el-date-picker </el-form-item>
clearable </el-col>
size="small" <el-col :xs="24" :ms="12" :md="5">
style="width: 200px" <el-form-item label="选择日期" prop="daytime">
v-model="queryParams.daytime" <el-date-picker
type="date" clearable
value-format="yyyy-MM-dd" size="small"
placeholder="选择日期" class="my-date-picker"
></el-date-picker> v-model="queryParams.daytime"
</el-form-item> type="date"
<el-form-item label="星期" prop="zhou"> value-format="yyyy-MM-dd"
<el-input-number placeholder="选择日期"
v-model="queryParams.zhou" ></el-date-picker>
placeholder="星期" </el-form-item>
clearable </el-col>
size="small" <el-col :xs="24" :ms="12" :md="5">
@keyup.enter.native="handleQuery" <el-form-item label="星期" prop="zhou">
/> <el-input-number
</el-form-item> v-model="queryParams.zhou"
<el-form-item label="活动" prop="activityid"> placeholder="星期"
<el-input clearable
v-model="queryParams.activityid" size="small"
placeholder="请输入活动" class="my-date-picker"
clearable @keyup.enter.native="handleQuery"
size="small" />
@keyup.enter.native="handleQuery" </el-form-item>
/> </el-col>
</el-form-item> <el-col :xs="24" :ms="12" :md="5">
<el-form-item label="分组性质" prop="fzxz"> <el-form-item label="活动" prop="activityid">
<el-select v-model="queryParams.fzxz" size="small"> <el-input
<el-option v-model="queryParams.activityid"
v-for="item in fzxzOptions" placeholder="请输入活动"
:key="item.dictValue" clearable
:label="item.dictLabel" size="small"
:value="item.dictValue" @keyup.enter.native="handleQuery"
/> />
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item> <el-col :xs="24" :ms="12" :md="5">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-form-item label="分组性质" prop="fzxz">
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-select v-model="queryParams.fzxz" size="small">
</el-form-item> <el-option
v-for="item in fzxzOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<!-- <el-col :span="1.5"> <!--
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@ -66,54 +89,70 @@
v-hasPermi="['benyi:themeweekplan:add']" v-hasPermi="['benyi:themeweekplan:add']"
v-show="isShow" v-show="isShow"
>新增</el-button> >新增</el-button>
</el-col> --> -->
<el-col :span="1.5"> <el-button
<el-button type="success"
type="success" icon="el-icon-edit"
icon="el-icon-edit" size="mini"
size="mini" :disabled="single"
:disabled="single" @click="handleUpdate"
@click="handleUpdate" v-hasPermi="['benyi:themeweekplan:edit']"
v-hasPermi="['benyi:themeweekplan:edit']" v-show="isShow"
v-show="isShow" >填充</el-button
>填充</el-button> >
</el-col> <el-button
<el-col :span="1.5"> type="danger"
<el-button icon="el-icon-delete"
type="danger" size="mini"
icon="el-icon-delete" :disabled="multiple"
size="mini" @click="handleDelete"
:disabled="multiple" v-hasPermi="['benyi:themeweekplan:remove']"
@click="handleDelete" v-show="isShow"
v-hasPermi="['benyi:themeweekplan:remove']" >删除</el-button
v-show="isShow" >
>删除</el-button> </div>
</el-col>
</el-row>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="weekplanitemList" :data="weekplanitemList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="编号" align="center" prop="id" /> --> <!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column label="所属周计划" align="center" prop="wpid" :formatter="themeweekPlanFormat" />
<el-table-column label="日期" align="center" prop="daytime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.daytime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="星期" align="center" prop="zhou" />
<el-table-column <el-table-column
fixed
label="活动" label="活动"
align="center" align="center"
prop="activityid" prop="activityid"
:formatter="themeactivityFormat" :formatter="themeactivityFormat"
/> />
<el-table-column label="分组性质" align="center" prop="fzxz" :formatter="fzxzFormat" /> <el-table-column
label="所属周计划"
align="center"
prop="wpid"
:formatter="themeweekPlanFormat"
/>
<el-table-column label="日期" align="center" prop="daytime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.daytime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="星期" align="center" prop="zhou" />
<el-table-column
label="分组性质"
align="center"
prop="fzxz"
:formatter="fzxzFormat"
/>
<el-table-column label="家长支持" align="center" prop="jzzc" /> <el-table-column label="家长支持" align="center" prop="jzzc" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column
label="操作"
align="center"
fixed="right"
width="60"
class-name="small-padding fixed-width edit-btns"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -122,7 +161,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themeweekplan:edit']" v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow" v-show="isShow"
>填充</el-button> >填充</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -130,13 +170,14 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:themeweekplan:remove']" v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow" v-show="isShow"
>删除</el-button> >删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -144,7 +185,12 @@
/> />
<!-- 添加或修改主题整合周计划明细对话框 --> <!-- 添加或修改主题整合周计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="周计划" prop="wpid"> <el-form-item label="周计划" prop="wpid">
<el-select v-model="form.wpid" size="small" :disabled="true"> <el-select v-model="form.wpid" size="small" :disabled="true">
@ -160,7 +206,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.daytime" v-model="form.daytime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -169,7 +215,12 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="星期" prop="zhou"> <el-form-item label="星期" prop="zhou">
<el-input-number v-model="form.zhou" placeholder="请输入星期" :disabled="disabled" /> <el-input-number
class="my-date-picker"
v-model="form.zhou"
placeholder="请输入星期"
:disabled="disabled"
/>
</el-form-item> </el-form-item>
<el-form-item label="活动" prop="activityid"> <el-form-item label="活动" prop="activityid">
<el-checkbox-group <el-checkbox-group
@ -178,10 +229,11 @@
@change="getThemeActivityIdValue" @change="getThemeActivityIdValue"
> >
<el-checkbox <el-checkbox
v-for="(item,i) in themeactivityOptions" v-for="(item, i) in themeactivityOptions"
:label="item.id" :label="item.id"
:key="i" :key="i"
>{{item.name}}</el-checkbox> >{{ item.name }}</el-checkbox
>
</el-checkbox-group> </el-checkbox-group>
<el-input v-model="form.activityid" v-if="false" /> <el-input v-model="form.activityid" v-if="false" />
</el-form-item> </el-form-item>
@ -196,7 +248,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="家长支持" prop="jzzc"> <el-form-item label="家长支持" prop="jzzc">
<el-input v-model="form.jzzc" type="textarea" placeholder="请输入家长支持" /> <el-input
v-model="form.jzzc"
type="textarea"
placeholder="请输入家长支持"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -527,22 +583,23 @@ export default {
}) })
.catch(function () {}); .catch(function () {});
}, },
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出所有主题整合周计划明细数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return exportWeekplanitem(queryParams);
})
.then((response) => {
this.download(response.msg);
})
.catch(function () {});
},
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,114 +1,184 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-form-item label="计划名称" prop="name"> <el-row :gutter="10">
<el-input <el-col :xs="24" :ms="12" :md="5">
v-model="queryParams.name" <el-form-item label="计划名称" prop="name">
placeholder="请输入计划名称" <el-input
clearable v-model="queryParams.name"
size="small" placeholder="请输入计划名称"
@keyup.enter.native="handleQuery" clearable
/> size="small"
</el-form-item> @keyup.enter.native="handleQuery"
<el-form-item label="学年学期" prop="xnxq"> />
<el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small"> </el-form-item>
<el-option </el-col>
v-for="dict in xnxqOptions" <el-col :xs="24" :ms="12" :md="5">
:key="dict.dictValue" <el-form-item label="学年学期" prop="xnxq">
:label="dict.dictLabel" <el-select
:value="dict.dictValue" v-model="queryParams.xnxq"
/> placeholder="请选择学年学期"
</el-select> clearable
</el-form-item> size="small"
<el-form-item label="所属月份" prop="month"> >
<el-date-picker <el-option
clearable v-for="dict in xnxqOptions"
size="small" :key="dict.dictValue"
style="width: 200px" :label="dict.dictLabel"
v-model="queryParams.month" :value="dict.dictValue"
type="month" />
value-format="yyyy-MM" </el-select>
placeholder="选择所属月份" </el-form-item>
></el-date-picker> </el-col>
</el-form-item> <el-col :xs="24" :ms="12" :md="5">
<el-form-item label="所属周次" prop="zc"> <el-form-item label="所属月份" prop="month">
<el-input-number <el-date-picker
v-model="queryParams.zc" clearable
placeholder="周次" size="small"
clearable class="my-date-picker"
size="small" v-model="queryParams.month"
@keyup.enter.native="handleQuery" type="month"
/> value-format="yyyy-MM"
</el-form-item> placeholder="选择所属月份"
<el-form-item label="状态" prop="status"> ></el-date-picker>
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> </el-form-item>
<el-option </el-col>
v-for="dict in statusOptions" <el-col :xs="24" :ms="12" :md="5">
:key="dict.dictValue" <el-form-item label="所属周次" prop="zc">
:label="dict.dictLabel" <el-input-number
:value="dict.dictValue" v-model="queryParams.zc"
/> placeholder="周次"
</el-select> clearable
</el-form-item> size="small"
<el-form-item> class="my-date-picker"
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> @keyup.enter.native="handleQuery"
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="5">
<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-col>
<el-col :xs="24" :ms="12" :md="4">
<el-form-item class="no-margin">
<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-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <div class="mb8 btn-list">
<el-col :span="1.5"> <el-button
<el-button type="primary"
type="primary" icon="el-icon-plus"
icon="el-icon-plus" size="mini"
size="mini" @click="handleAdd"
@click="handleAdd" v-hasPermi="['benyi:themeweekplan:add']"
v-hasPermi="['benyi:themeweekplan:add']" >新增</el-button
>新增</el-button> >
</el-col> <el-button
<el-col :span="1.5"> type="success"
<el-button icon="el-icon-edit"
type="success" size="mini"
icon="el-icon-edit" :disabled="single"
size="mini" @click="handleUpdate"
:disabled="single" v-hasPermi="['benyi:themeweekplan:edit']"
@click="handleUpdate" >修改</el-button
v-hasPermi="['benyi:themeweekplan:edit']" >
>修改</el-button> <el-button
</el-col> type="danger"
<el-col :span="1.5"> icon="el-icon-delete"
<el-button size="mini"
type="danger" :disabled="multiple"
icon="el-icon-delete" @click="handleDelete"
size="mini" v-hasPermi="['benyi:themeweekplan:remove']"
:disabled="multiple" >删除</el-button
@click="handleDelete" >
v-hasPermi="['benyi:themeweekplan:remove']" </div>
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="weekplanList" @selection-change="handleSelectionChange"> <el-table
<el-table-column type="selection" width="55" align="center" :selectable="isShow" /> border
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="id" /> -->
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> <el-table-column
fixed
label="计划名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/benyi_course/themeweekplan/data/' + scope.row.id" class="link-type"> <router-link
:to="'/benyi_course/themeweekplan/data/' + scope.row.id"
class="link-type"
>
<span>{{ scope.row.name }}</span> <span>{{ scope.row.name }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" /> <el-table-column
<el-table-column label="所属月份" align="center" prop="month" width="180"> label="班级名称"
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column label="所属月份" align="center" prop="month">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.month, '{y}-{m}') }}</span> <span>{{ parseTime(scope.row.month, "{y}-{m}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="所属周次" align="center" prop="zc" /> <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="xnxq"
:formatter="xnxqFormat"
/>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> <el-table-column
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300"> label="状态"
align="center"
prop="status"
:formatter="statusFormat"
/>
<el-table-column
fixed="right"
label="操作"
align="center"
class-name="small-padding fixed-width edit-btns"
width="60"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -117,7 +187,8 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themeweekplan:edit']" v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>修改</el-button> >修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -125,7 +196,8 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['benyi:themeweekplan:remove']" v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>删除</el-button> >删除</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -133,20 +205,22 @@
@click="handleCheck(scope.row)" @click="handleCheck(scope.row)"
v-hasPermi="['benyi:themeweekplan:edit']" v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>提交</el-button> >提交</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleView(scope.row)" @click="handleView(scope.row)"
v-hasPermi="['benyi:themeweekplan:query']" v-hasPermi="['benyi:themeweekplan:query']"
>预览</el-button> >预览</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -154,10 +228,14 @@
/> />
<!-- 添加或修改主题整合周计划根据月计划明细对话框 --> <!-- 添加或修改主题整合周计划根据月计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学年学期" prop="xnxq"> <el-form-item label="学年学期" prop="xnxq">
<el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="disable"> <el-select
v-model="form.xnxq"
placeholder="请选择学年学期"
:disabled="disable"
>
<el-option <el-option
v-for="dict in xnxqOptions" v-for="dict in xnxqOptions"
:key="dict.dictValue" :key="dict.dictValue"
@ -170,7 +248,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.month" v-model="form.month"
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
@ -179,10 +257,19 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="所属周次" prop="zc"> <el-form-item label="所属周次" prop="zc">
<el-input-number v-model="form.zc" placeholder="周次" :disabled="disable" /> <el-input-number
v-model="form.zc"
placeholder="周次"
class="my-date-picker"
:disabled="disable"
/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remar"> <el-form-item label="备注" prop="remar">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> <el-input
v-model="form.remark"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -435,9 +522,26 @@ export default {
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/themeweekplanprint/table/"+id, path: "/benyi_course/themeweekplanprint/table/" + id,
}); });
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,82 +1,92 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" label-width="70px">
:model="queryParams" <el-row :gutter="10">
ref="queryForm" <el-col :xs="24" :ms="12" :md="5">
:inline="true" <el-form-item label="计划名称" prop="name">
label-width="68px" <el-input
> v-model="queryParams.name"
<el-form-item label="计划名称" prop="name"> placeholder="请输入计划名称"
<el-input clearable
v-model="queryParams.name" size="small"
placeholder="请输入计划名称" @keyup.enter.native="handleQuery"
clearable />
size="small" </el-form-item>
@keyup.enter.native="handleQuery" </el-col>
/> <el-col :xs="24" :ms="12" :md="5">
</el-form-item> <el-form-item label="学年学期" prop="xnxq">
<el-form-item label="学年学期" prop="xnxq"> <el-select
<el-select v-model="queryParams.xnxq"
v-model="queryParams.xnxq" placeholder="请选择学年学期"
placeholder="请选择学年学期" clearable
clearable size="small"
size="small" >
> <el-option
<el-option v-for="dict in xnxqOptions"
v-for="dict in xnxqOptions" :key="dict.dictValue"
:key="dict.dictValue" :label="dict.dictLabel"
:label="dict.dictLabel" :value="dict.dictValue"
:value="dict.dictValue" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="所属月份" prop="month"> <el-col :xs="24" :ms="12" :md="5">
<el-date-picker <el-form-item label="所属月份" prop="month">
clearable <el-date-picker
size="small" clearable
style="width: 200px" size="small"
v-model="queryParams.month" class="my-date-picker"
type="month" v-model="queryParams.month"
value-format="yyyy-MM" type="month"
placeholder="选择所属月份" value-format="yyyy-MM"
></el-date-picker> placeholder="选择所属月份"
</el-form-item> ></el-date-picker>
<el-form-item label="所属周次" prop="zc"> </el-form-item>
<el-input-number </el-col>
v-model="queryParams.zc" <el-col :xs="24" :ms="12" :md="5">
placeholder="周次" <el-form-item label="所属周次" prop="zc">
clearable <el-input-number
size="small" class="my-date-picker"
@keyup.enter.native="handleQuery" v-model="queryParams.zc"
/> placeholder="周次"
</el-form-item> clearable
<el-form-item label="状态" prop="status"> size="small"
<el-select @keyup.enter.native="handleQuery"
v-model="queryParams.status" />
placeholder="请选择状态" </el-form-item>
clearable </el-col>
size="small" <el-col :xs="24" :ms="12" :md="5">
> <el-form-item label="状态" prop="status">
<el-option <el-select
v-for="dict in statusOptions" v-model="queryParams.status"
:key="dict.dictValue" placeholder="请选择状态"
:label="dict.dictLabel" clearable
:value="dict.dictValue" size="small"
/> >
</el-select> <el-option
</el-form-item> v-for="dict in statusOptions"
<el-form-item> :key="dict.dictValue"
<el-button :label="dict.dictLabel"
type="primary" :value="dict.dictValue"
icon="el-icon-search" />
size="mini" </el-select>
@click="handleQuery" </el-form-item>
>搜索</el-button </el-col>
> <el-col :xs="24" :ms="12" :md="4">
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" <el-form-item class="no-margin">
>重置</el-button <el-button
> type="primary"
</el-form-item> 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-col>
</el-row>
</el-form> </el-form>
<div class="mb8 btn-list"> <div class="mb8 btn-list">
@ -92,6 +102,7 @@
</div> </div>
<el-table <el-table
border
v-loading="loading" v-loading="loading"
:data="weekplanList" :data="weekplanList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@ -104,6 +115,7 @@
/> />
<!-- <el-table-column label="编号" align="center" prop="id" /> --> <!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column <el-table-column
fixed
label="计划名称" label="计划名称"
align="center" align="center"
prop="name" prop="name"
@ -124,7 +136,7 @@
prop="classid" prop="classid"
:formatter="classFormat" :formatter="classFormat"
/> />
<el-table-column label="所属月份" align="center" prop="month" width="180"> <el-table-column label="所属月份" align="center" prop="month">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.month, "{y}-{m}") }}</span> <span>{{ parseTime(scope.row.month, "{y}-{m}") }}</span>
</template> </template>
@ -146,7 +158,9 @@
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" fixed="right"
width="60"
class-name="small-padding fixed-width edit-btns"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -179,7 +193,12 @@
/> />
<!-- 添加或修改主题整合周计划根据月计划明细对话框 --> <!-- 添加或修改主题整合周计划根据月计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" class="v-dialog" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学年学期" prop="xnxq"> <el-form-item label="学年学期" prop="xnxq">
<el-select <el-select
@ -199,7 +218,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.month" v-model="form.month"
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
@ -209,6 +228,7 @@
</el-form-item> </el-form-item>
<el-form-item label="所属周次" prop="zc"> <el-form-item label="所属周次" prop="zc">
<el-input-number <el-input-number
class="my-date-picker"
v-model="form.zc" v-model="form.zc"
placeholder="周次" placeholder="周次"
:disabled="disable" :disabled="disable"
@ -248,7 +268,7 @@
import { import {
listWeekplan, listWeekplan,
getWeekplan, getWeekplan,
updateWeekplan updateWeekplan,
} from "@/api/benyi/themeweekplan"; } from "@/api/benyi/themeweekplan";
import { listClass } from "@/api/system/class"; import { listClass } from "@/api/system/class";
@ -293,25 +313,25 @@ export default {
sptime: undefined, sptime: undefined,
shyj: undefined, shyj: undefined,
createuserid: undefined, createuserid: undefined,
xnxq: undefined xnxq: undefined,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
status: [ status: [
{ required: true, message: "审批意见不能为空", trigger: "blur" } { required: true, message: "审批意见不能为空", trigger: "blur" },
] ],
} },
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getClassList(); this.getClassList();
this.getDicts("sys_xnxq").then(response => { this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data; this.xnxqOptions = response.data;
}); });
this.getDicts("sys_dm_planweekstatus").then(response => { this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data; this.statusOptions = response.data;
}); });
}, },
@ -325,7 +345,7 @@ export default {
}, },
//班级列表 //班级列表
getClassList() { getClassList() {
listClass(null).then(response => { listClass(null).then((response) => {
this.classOptions = response.rows; this.classOptions = response.rows;
}); });
}, },
@ -342,7 +362,7 @@ export default {
// return this.selectDictLabel(this.classOptions, row.classid); // return this.selectDictLabel(this.classOptions, row.classid);
var actions = []; var actions = [];
var datas = this.classOptions; var datas = this.classOptions;
Object.keys(datas).map(key => { Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) { if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc); actions.push(datas[key].bjmc);
return false; return false;
@ -353,7 +373,7 @@ export default {
/** 查询主题整合周计划(根据月计划明细)列表 */ /** 查询主题整合周计划(根据月计划明细)列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listWeekplan(this.queryParams).then(response => { listWeekplan(this.queryParams).then((response) => {
this.weekplanList = response.rows; this.weekplanList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -380,7 +400,7 @@ export default {
shyj: undefined, shyj: undefined,
createuserid: undefined, createuserid: undefined,
createTime: undefined, createTime: undefined,
xnxq: undefined xnxq: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -396,7 +416,7 @@ export default {
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id); this.ids = selection.map((item) => item.id);
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -404,7 +424,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getWeekplan(id).then(response => { getWeekplan(id).then((response) => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "审批主题整合周计划"; this.title = "审批主题整合周计划";
@ -412,11 +432,11 @@ export default {
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != undefined) { if (this.form.id != undefined) {
updateWeekplan(this.form).then(response => { updateWeekplan(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("审批成功"); this.msgSuccess("审批成功");
this.open = false; this.open = false;
@ -431,9 +451,26 @@ export default {
handleView(row) { handleView(row) {
const id = row.id; const id = row.id;
this.$router.push({ this.$router.push({
path: "/benyi_course/themeweekplanprint/table/" + id path: "/benyi_course/themeweekplanprint/table/" + id,
}); });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -6,10 +6,12 @@
<el-form-item label="视频类别" prop="type"> <el-form-item label="视频类别" prop="type">
<el-cascader <el-cascader
placeholder="请选择视频类别" placeholder="请选择视频类别"
ref="example"
v-model="queryParams.type" v-model="queryParams.type"
:options="optionTypes" :options="optionTypes"
:props="{ checkStrictly: true, value: 'id', label: 'name' }" :props="{ checkStrictly: true, value: 'id', label: 'name' }"
clearable clearable
@change="exampleChange"
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<!-- 博士要求注释掉不需要该过滤条件 2020-05-30 zlp --> <!-- 博士要求注释掉不需要该过滤条件 2020-05-30 zlp -->
@ -148,6 +150,11 @@ export default {
}); });
}, },
methods: { methods: {
exampleChange(e) {
// console.log(e);
// 目的是选择之后将下拉界面收起
this.$refs.example.toggleDropDownVisible();
},
// 递归判断列表把最后的children设为undefined // 递归判断列表把最后的children设为undefined
getTreeData(data) { getTreeData(data) {
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {

View File

@ -206,7 +206,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.csrq" v-model="form.csrq"
type="date" type="date"
:picker-options="pickerOptions0" :picker-options="pickerOptions0"
@ -244,7 +244,7 @@
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" class="my-date-picker"
v-model="form.cjgzrq" v-model="form.cjgzrq"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -451,6 +451,23 @@ export default {
const id = row.id; const id = row.id;
getTeacher(id).then((response) => { getTeacher(id).then((response) => {
this.form = response.data; this.form = response.data;
// console.log("csrq:" + response.data.csrq);
if (response.data.zjhm == "" || response.data.zjhm == null) {
this.form.zjhm = " ";
}
if (response.data.byyx == "" || response.data.byyx == null) {
this.form.byyx = " ";
}
if (response.data.zy == "" || response.data.zy == null) {
this.form.zy = " ";
}
if (response.data.xl == "" || response.data.xl == null) {
this.form.xl = " ";
}
if (response.data.xw == "" || response.data.xw == null) {
this.form.xw = " ";
}
this.teacherMingCheng = this.form.user.nickName; this.teacherMingCheng = this.form.user.nickName;
this.open = true; this.open = true;
//详情页不允许编辑页面 //详情页不允许编辑页面
@ -489,15 +506,11 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$confirm( this.$confirm("是否确认清空教师基本信息数据项?", "警告", {
'是否确认清空教师基本信息编号为"' + ids + '"的数据项?', confirmButtonText: "确定",
"警告", cancelButtonText: "取消",
{ type: "warning",
confirmButtonText: "确定", })
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () { .then(function () {
return delTeacher(ids); return delTeacher(ids);
}) })