周计划加入学习五大领域;主题整合学期计划审批优化;

This commit is contained in:
zhanglipeng 2021-09-01 17:11:43 +08:00
parent de3b3746f4
commit c6db9ffc32
9 changed files with 455 additions and 116 deletions

View File

@ -419,7 +419,7 @@ export const constantRoutes = [
component: () => import("@/views/benyi/planweek/table"),
name: "planweek2",
meta: {
title: "主题整合周计划(表格)",
title: "周计划(表格)",
icon: ""
}
}
@ -457,6 +457,22 @@ export const constantRoutes = [
}
]
},
{
path: "/benyi/themetermplan",
component: Layout,
hidden: true,
children: [
{
path: "approval/:id",
component: () => import("@/views/benyi/themetermplanapproval/approval"),
name: "ThemetermplanApproval",
meta: {
title: "主题整合学期计划审批",
icon: ""
}
}
]
},
{
path: "/benyi_course/learndevelopmentteacherprint",
component: Layout,

View File

@ -438,6 +438,7 @@ export default {
this.reset();
this.open = true;
this.title = "添加游戏数学学期计划";
this.form.xnxq = this.xnxqOptions[0].dictValue;
},
/** 修改按钮操作 */
handleUpdate(row) {

View File

@ -284,11 +284,23 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="教学目标(社会)" prop="jxmbSh">
<router-link
to="/benyi_assessment/assessmentstudy"
style="
color: #545454;
font-size: 10px;
text-decoration: underline;
"
>去学习五大领域健康语言社会科学艺术</router-link
>
</el-col>
<el-col :span="24">
<el-form-item label="教学目标(健康)" prop="jxmbJk">
<Editor
v-model="form.jxmbSh"
placeholder="请输入教学目标(社会)"
:quillIndex="0"
v-model="form.jxmbJk"
placeholder="请输入教学目标(健康)"
:quillIndex="2"
toref="Editora"
/>
</el-form-item>
@ -304,11 +316,11 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="教学目标(健康)" prop="jxmbJk">
<el-form-item label="教学目标(社会)" prop="jxmbSh">
<Editor
v-model="form.jxmbJk"
placeholder="请输入教学目标(健康)"
:quillIndex="2"
v-model="form.jxmbSh"
placeholder="请输入教学目标(社会)"
:quillIndex="0"
toref="Editora"
/>
</el-form-item>
@ -426,41 +438,41 @@ export default {
themeofweek: [
{ required: true, message: "本周主题不能为空", trigger: "blur" },
],
jxmbSh: [
{
required: true,
message: "教学目标(社会)不能为空",
trigger: "blur",
},
],
jxmbYy: [
{
required: true,
message: "教学目标(语言)不能为空",
trigger: "blur",
},
],
jxmbJk: [
{
required: true,
message: "教学目标(健康)不能为空",
trigger: "blur",
},
],
jxmbKx: [
{
required: true,
message: "教学目标(科学)不能为空",
trigger: "blur",
},
],
jxmbYs: [
{
required: true,
message: "教学目标(艺术)不能为空",
trigger: "blur",
},
],
// jxmbSh: [
// {
// required: true,
// message: "()",
// trigger: "blur",
// },
// ],
// jxmbYy: [
// {
// required: true,
// message: "()",
// trigger: "blur",
// },
// ],
// jxmbJk: [
// {
// required: true,
// message: "()",
// trigger: "blur",
// },
// ],
// jxmbKx: [
// {
// required: true,
// message: "()",
// trigger: "blur",
// },
// ],
// jxmbYs: [
// {
// required: true,
// message: "()",
// trigger: "blur",
// },
// ],
weekly: [{ required: true, message: "周次不能为空", trigger: "blur" }],
month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
},

View File

@ -1,9 +1,15 @@
<template>
<div class="table-container" ref="printMe">
<h2 class="title">{{title}}</h2>
<h2 class="title">{{ title }}</h2>
<div class="table">
<div class="print no-print">
<el-button type="primary" plain size="mini" icon="el-icon-printer" @click="prints"></el-button>
<el-button
type="primary"
plain
size="mini"
icon="el-icon-printer"
@click="prints"
></el-button>
</div>
<table>
<tr class="align-center">
@ -11,67 +17,78 @@
<b class="table-title">{{h.title}}</b>
{{h.name}}
</td>-->
<td style="width:20%">
<td style="width: 20%">
<b class="table-title">班级</b>
{{classname}}
{{ classname }}
</td>
<td style="width:20%">
<td style="width: 20%">
<b class="table-title">月份</b>
{{month}}
{{ month }}
</td>
<td style="width:20%">
<td style="width: 20%">
<b class="table-title">周次</b>
{{zc}}
{{ zc }}
</td>
<td colspan="3" style="width:40%">
<td colspan="3" style="width: 40%">
<b class="table-title">月主题</b>
{{monththeme}}
{{ monththeme }}
</td>
</tr>
<tr class="align-center">
<td rowspan="5">
<span>周教学目标</span>
</td>
<td style="width: 140px;">社会</td>
<td v-html="sh" colspan="5"></td>
</tr>
<tr class="align-center">
<td>语言</td>
<td v-html="yy" colspan="5"></td>
<td>健康</td>
<td class="align-left" v-html="jk" colspan="5"></td>
</tr>
<tr class="align-center">
<td>健康</td>
<td v-html="jk" colspan="5"></td>
<td>语言</td>
<td lass="align-left" v-html="yy" colspan="5"></td>
</tr>
<tr class="align-center">
<td>社会</td>
<td lass="align-left" v-html="sh" colspan="5"></td>
</tr>
<tr class="align-center">
<td>科学</td>
<td v-html="kx" colspan="5"></td>
<td lass="align-left" v-html="kx" colspan="5"></td>
</tr>
<tr class="align-center">
<td>艺术</td>
<td v-html="ys" colspan="5"></td>
<td lass="align-left" v-html="ys" colspan="5"></td>
</tr>
<tr v-for="item in planweekitemList" :key="item.id">
<td v-if="item.activitytime" :rowspan="bodyData.planweekitemList.length" class="align-center">
<span>{{item.activitytime}}</span>
<td
v-if="item.activitytime"
:rowspan="bodyData.planweekitemList.length"
class="align-center"
>
<span>{{ item.activitytime }}</span>
</td>
<td class="align-center">{{item.activitytime}}</td>
<td colspan="4">{{item.activitytime}}</td>
<td class="align-center">{{ item.activitytime }}</td>
<td colspan="4">{{ item.activitytime }}</td>
</tr>
<tr class="align-center table-bg">
<td v-for="h in bodyData.title" :key="h.prop">
<b>{{h.label}}</b>
<b>{{ h.label }}</b>
</td>
</tr>
<tr v-for="item in bodyData.planweekitemList" :key="item.id">
<td v-if="item.theme" :rowspan="bodyData.planweekitemList.length" class="align-center">
<span>{{item.theme}}</span>
<td
v-if="item.theme"
:rowspan="bodyData.planweekitemList.length"
class="align-center"
>
<span>{{ item.theme }}</span>
</td>
<td class="align-center">{{ item.activitytime }}</td>
<td class="align-center">{{ item.day }}</td>
<td class="align-center">
{{ activitytypeFormat(item.activitytype) }}
</td>
<td class="align-center">{{item.activitytime}}</td>
<td class="align-center">{{item.day}}</td>
<td class="align-center">{{activitytypeFormat(item.activitytype)}}</td>
<td class="align-center" v-html="item.content"></td>
</tr>
</table>
@ -89,7 +106,7 @@ import {
delPlanweekitem,
addPlanweekitem,
updatePlanweekitem,
exportPlanweekitem
exportPlanweekitem,
} from "@/api/benyi/planweekitem";
import { getPlanweek, listPlanweek } from "@/api/benyi/planweek";
@ -137,7 +154,7 @@ export default {
label: "活动详情",
prop: "content",
},
// {
// label: "",
// prop: "help",
@ -157,7 +174,6 @@ export default {
queryParams: {
wid: undefined,
},
};
},
created() {
@ -166,7 +182,7 @@ export default {
this.getDicts("sys_dm_fzxz").then((response) => {
this.fzxzOptions = response.data;
});
this.getDicts("sys_dm_qyhdxs").then(response => {
this.getDicts("sys_dm_qyhdxs").then((response) => {
this.activitytypeOptions = response.data;
});
},
@ -221,7 +237,7 @@ export default {
}
return "";
},
//
getWPlanweek(planweekid) {
getPlanweek(planweekid).then((response) => {
@ -240,7 +256,7 @@ export default {
this.queryParams.wpid = response.data.id;
this.title = response.data.name;
//this.month = response.data.month;
this.classname = response.classname;
this.tbr = response.createusername;
@ -272,7 +288,7 @@ export default {
});
});
},
prints() {
//console.log(this.$refs.printMe);
this.$print(this.$refs.printMe);
@ -292,6 +308,9 @@ export default {
.align-center {
text-align: center;
}
.align-left {
text-align: left;
}
.table {
font-size: 14px;
.print {

View File

@ -251,13 +251,13 @@
:title="title"
:visible.sync="open"
class="v-dialog"
width="600px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="计划月份" prop="month">
<el-date-picker
clearable
size="small"
class="my-date-picker"
v-model="form.month"
type="month"
@ -515,6 +515,7 @@ export default {
this.reset();
this.open = true;
this.title = "添加主题整合月计划";
this.form.xnxq = this.xnxqOptions[0].dictValue;
this.disable = false;
},
/** 修改按钮操作 */

View File

@ -0,0 +1,282 @@
<template>
<div class="table-container" ref="printMe">
<h2 class="title">{{ title }}</h2>
<div class="table">
<div class="print no-print">
<el-button
type="primary"
plain
size="mini"
icon="el-icon-printer"
@click="prints"
></el-button>
</div>
<table>
<tr class="align-center">
<!-- <td v-for="h in headerData" :key="h.title">
<b class="table-title">{{h.title}}</b>
{{h.name}}
</td>-->
<td style="width: 20%">
<b class="table-title">班级</b>
{{ classname }}
</td>
<td style="width: 60%">
<b class="table-title">学期</b>
{{ xnxqFormat(xnxq) }}
</td>
<td style="width: 20%">
<b class="table-title">制定人</b>
{{ tbr }}
</td>
</tr>
<tr class="align-center table-bg">
<td v-for="h in bodyData.title" :key="h.prop">
<b>{{ h.label }}</b>
</td>
</tr>
<tr v-for="item in bodyData.termplanitemList" :key="item.id">
<td class="align-center">
<span>{{ item.month }}</span>
</td>
<td class="align-center">
<router-link
style="margin: 10px"
v-for="(index, item) in item.themeconent.split(';')"
:key="item"
:to="url + (Number(index) + Number(99999))"
>{{ themeFormat(index) }}</router-link
>
</td>
<td>{{ item.remark }}</td>
</tr>
<tr>
<td class="align-center">备注</td>
<td colspan="2">{{ remark }}</td>
</tr>
<tr>
<td class="align-center">教学主管审批</td>
<td colspan="2">{{ spyj }}</td>
</tr>
</table>
<!-- <p
class="warning"
>此周计划表不需要发给家长只需上报教学主管制定班级一周教学与活动计划表请使用班级管理模块中教学与游戏活动周计划表以上报教学主管和作为周计划通知发给家长</p>-->
</div>
<div class="no-print" style="padding-top: 20px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="审批意见" prop="status">
<el-radio-group v-model="form.status">
<el-radio label="0">退回</el-radio>
<el-radio label="2">通过</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审批建议" prop="shyj">
<el-input
v-model="form.shyj"
type="textarea"
placeholder="请输入审核建议"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm"> </el-button>
</div>
</div>
</div>
</template>
<script>
import {
listTermplan,
getTermplan,
updateTermplan,
} from "@/api/benyi/themetermplan";
import {
listTermplanitem,
getTermplanitem,
} from "@/api/benyi/themetermplanitem";
import { listTheme } from "@/api/benyi/theme";
export default {
name: "ThemetermplanApproval",
data() {
return {
//url
url: "/benyi_course/tremplan/themestudy/",
//
xnxqOptions: [],
//
themeOptions: [],
title: "",
xnxq: "",
classname: "",
tbr: "",
remark: "",
spyj: "",
bodyData: {
title: [
{
label: "月份",
prop: "theme",
},
{
label: "主题名称",
prop: "name",
},
{
label: "备注",
prop: "help",
},
],
termplanitemList: [],
},
//
queryParams: {
tpid: undefined,
},
//
form: {},
//
rules: {
status: [
{ required: true, message: "审批意见不能为空", trigger: "blur" },
],
},
};
},
created() {
const themetermplanid = this.$route.params && this.$route.params.id;
this.queryParams.tpid = themetermplanid;
this.getThemeTermPlan(themetermplanid);
this.getThemeList();
this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data;
});
},
methods: {
// --
xnxqFormat(xnxq) {
return this.selectDictLabel(this.xnxqOptions, xnxq);
},
// --
themeFormat(themeid) {
if (themeid != "" && themeid != null) {
//console.log(themeid);
var name = this.selectMoeDictLabel(this.themeOptions, themeid);
return name;
}
return "";
},
//
getThemeList() {
listTheme(null).then((response) => {
//console.log(response.rows);
this.themeOptions = response.rows;
});
},
//
getThemeTermPlan(themetermplanid) {
getTermplan(themetermplanid).then((response) => {
// console.log(response.data);
this.title = response.data.name;
this.tbr = response.createusername;
this.classname = response.classname;
this.xnxq = response.data.xnxq;
this.spyj = response.data.shyj;
this.remark = response.data.remark;
this.form = response.data;
});
this.getThemeTermItemPlan();
},
//
getThemeTermItemPlan() {
listTermplanitem(this.queryParams).then((response) => {
// console.log(response.rows);
this.bodyData.termplanitemList = response.rows;
});
},
//
prints() {
//console.log(this.$refs.printMe);
this.$print(this.$refs.printMe);
},
/** 审批按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
// console.log(this.form);
if (this.form.id != undefined) {
updateTermplan(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("审批成功");
}
});
}
}
});
},
},
};
</script>
<style lang="scss">
.table-container {
padding: 30px 10%;
.title {
margin: 0;
font-size: 18px;
text-align: center;
padding: 15px 0;
}
.title2 {
padding: 0;
}
.align-center {
text-align: center;
}
.table {
font-size: 14px;
.print {
display: flex;
justify-content: flex-end;
padding-bottom: 10px;
}
p {
margin: 0;
}
table {
width: 100%;
border-collapse: collapse;
}
table td {
border: #ccc solid 1px;
line-height: 24px;
padding: 8px 5px;
}
.table-title {
font-size: 16px;
}
.table-bg {
background: #f8f8f8;
}
}
.warning {
padding-top: 20px;
font-size: 12px;
color: #666;
}
}
@media print {
.table-container {
padding: 30px 0;
}
.print {
opacity: 0;
}
}
/*去除页眉页脚*/
@page {
size: auto; /* auto is the initial value */
margin: 3mm; /* this affects the margin in the printer settings */
}
</style>

View File

@ -166,7 +166,7 @@
/>
<!-- 添加或修改主题整合学期计划对话框 -->
<el-dialog
<!-- <el-dialog
:title="title"
:visible.sync="open"
class="v-dialog"
@ -225,7 +225,7 @@
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</el-dialog> -->
</div>
</template>
@ -371,38 +371,45 @@ export default {
this.multiple = !selection.length;
},
/** 修改按钮操作 */
// handleUpdate(row) {
// this.reset();
// const id = row.id || this.ids;
// getTermplan(id).then((response) => {
// this.form = response.data;
// this.open = true;
// this.title = "";
// const time = [];
// time.push(response.data.startmonth);
// time.push(response.data.endmonth);
// this.form.startmonth = time;
// });
// },
/** 审批操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getTermplan(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "审批主题整合学期计划";
const time = [];
time.push(response.data.startmonth);
time.push(response.data.endmonth);
this.form.startmonth = time;
const id = row.id;
this.$router.push({
path: "/benyi/themetermplan/approval/" + id,
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
const time = this.form.startmonth;
this.form.startmonth = time[0];
this.form.endmonth = time[1];
if (this.form.id != undefined) {
updateTermplan(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("审批成功");
this.open = false;
this.getList();
}
});
}
}
});
},
// submitForm: function () {
// this.$refs["form"].validate((valid) => {
// if (valid) {
// const time = this.form.startmonth;
// this.form.startmonth = time[0];
// this.form.endmonth = time[1];
// if (this.form.id != undefined) {
// updateTermplan(this.form).then((response) => {
// if (response.code === 200) {
// this.msgSuccess("");
// this.open = false;
// this.getList();
// }
// });
// }
// }
// });
// },
/** 预览按钮操作 */
handleView(row) {
const id = row.id;

View File

@ -261,7 +261,6 @@
<el-form-item label="所属月份" prop="month">
<el-date-picker
clearable
size="small"
class="my-date-picker"
v-model="form.month"
type="month"
@ -275,6 +274,7 @@
v-model="form.zc"
placeholder="周次"
class="my-date-picker"
:min="1"
:disabled="disable"
/>
</el-form-item>
@ -436,7 +436,7 @@ export default {
schoolid: undefined,
classid: undefined,
month: undefined,
zc: undefined,
zc: 1,
remark: undefined,
status: "0",
spr: undefined,
@ -469,6 +469,7 @@ export default {
this.reset();
this.open = true;
this.title = "添加主题整合周计划";
this.form.xnxq = this.xnxqOptions[0].dictValue;
this.disable = false;
},
/** 修改按钮操作 */

View File

@ -98,7 +98,7 @@ export default {
/** 查询公告列表 */
getList() {
listNotice(this.queryParams_note).then((response) => {
console.log(response.rows);
//console.log(response.rows);
if (response.rows.length > 0) {
var msg = "";
response.rows.forEach((element) => {