This commit is contained in:
xinbowang
2020-08-27 20:44:37 +08:00
71 changed files with 5488 additions and 690 deletions

View File

@ -50,4 +50,12 @@ export function exportActivity(query) {
method: 'get',
params: query
})
}
// 删除主题整合活动
export function listActivityByThemeId(id) {
return request({
url: '/benyi/activity/listbythemeid/' + id,
method: 'post'
})
}

View File

@ -2,52 +2,60 @@ import request from '@/utils/request'
// 查询周计划(家长和教育部门)列表
export function listPlanweek(query) {
return request({
url: '/benyi/planweek/list',
method: 'get',
params: query
})
return request({
url: '/benyi/planweek/list',
method: 'get',
params: query
})
}
// 查询周计划(家长和教育部门)详细
export function getPlanweek(id) {
return request({
url: '/benyi/planweek/' + id,
method: 'get'
})
return request({
url: '/benyi/planweek/' + id,
method: 'get'
})
}
// 新增周计划(家长和教育部门)
export function addPlanweek(data) {
return request({
url: '/benyi/planweek',
method: 'post',
data: data
})
return request({
url: '/benyi/planweek',
method: 'post',
data: data
})
}
// 修改周计划(家长和教育部门)
export function updatePlanweek(data) {
return request({
url: '/benyi/planweek',
method: 'put',
data: data
})
return request({
url: '/benyi/planweek',
method: 'put',
data: data
})
}
// 删除周计划(家长和教育部门)
export function delPlanweek(id) {
return request({
url: '/benyi/planweek/' + id,
method: 'delete'
})
return request({
url: '/benyi/planweek/' + id,
method: 'delete'
})
}
// 提交周计划(家长和教育部门)
export function checkPlanweek(id) {
return request({
url: '/benyi/planweek/check/' + id,
method: 'post'
})
}
// 导出周计划(家长和教育部门)
export function exportPlanweek(query) {
return request({
url: '/benyi/planweek/export',
method: 'get',
params: query
})
}
return request({
url: '/benyi/planweek/export',
method: 'get',
params: query
})
}

View File

@ -43,6 +43,14 @@ export function delMonthplan(id) {
})
}
// 提交主题整合学期计划
export function checkMonthplan(id) {
return request({
url: '/benyi/thememonthplan/check/' + id,
method: 'post'
})
}
// 导出主题整合月计划
export function exportMonthplan(query) {
return request({

View File

@ -0,0 +1,53 @@
import request from '@/utils/request'
// 查询主题整合周计划列表
export function listMonthplanitem(query) {
return request({
url: '/benyi/thememonthplanitem/list',
method: 'get',
params: query
})
}
// 查询主题整合周计划详细
export function getMonthplanitem(id) {
return request({
url: '/benyi/thememonthplanitem/' + id,
method: 'get'
})
}
// 新增主题整合周计划
export function addMonthplanitem(data) {
return request({
url: '/benyi/thememonthplanitem',
method: 'post',
data: data
})
}
// 修改主题整合周计划
export function updateMonthplanitem(data) {
return request({
url: '/benyi/thememonthplanitem',
method: 'put',
data: data
})
}
// 删除主题整合周计划
export function delMonthplanitem(id) {
return request({
url: '/benyi/thememonthplanitem/' + id,
method: 'delete'
})
}
// 导出主题整合周计划
export function exportMonthplanitem(query) {
return request({
url: '/benyi/thememonthplanitem/export',
method: 'get',
params: query
})
}

View File

@ -43,6 +43,14 @@ export function delTermplan(id) {
})
}
// 提交主题整合学期计划
export function checkTermplan(id) {
return request({
url: '/benyi/themetermplan/check/' + id,
method: 'post'
})
}
// 导出主题整合学期计划
export function exportTermplan(query) {
return request({

View File

@ -0,0 +1,61 @@
import request from '@/utils/request'
// 查询主题整合周计划(根据月计划明细)列表
export function listWeekplan(query) {
return request({
url: '/benyi/themeweekplan/list',
method: 'get',
params: query
})
}
// 查询主题整合周计划(根据月计划明细)详细
export function getWeekplan(id) {
return request({
url: '/benyi/themeweekplan/' + id,
method: 'get'
})
}
// 新增主题整合周计划(根据月计划明细)
export function addWeekplan(data) {
return request({
url: '/benyi/themeweekplan',
method: 'post',
data: data
})
}
// 修改主题整合周计划(根据月计划明细)
export function updateWeekplan(data) {
return request({
url: '/benyi/themeweekplan',
method: 'put',
data: data
})
}
// 删除主题整合周计划(根据月计划明细)
export function delWeekplan(id) {
return request({
url: '/benyi/themeweekplan/' + id,
method: 'delete'
})
}
// 提交主题整合学期计划
export function checkWeekplan(id) {
return request({
url: '/benyi/themeweekplan/check/' + id,
method: 'post'
})
}
// 导出主题整合周计划(根据月计划明细)
export function exportWeekplan(query) {
return request({
url: '/benyi/themeweekplan/export',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,53 @@
import request from '@/utils/request'
// 查询主题整合周计划明细列表
export function listWeekplanitem(query) {
return request({
url: '/benyi/themeweekplanitem/list',
method: 'get',
params: query
})
}
// 查询主题整合周计划明细详细
export function getWeekplanitem(id) {
return request({
url: '/benyi/themeweekplanitem/' + id,
method: 'get'
})
}
// 新增主题整合周计划明细
export function addWeekplanitem(data) {
return request({
url: '/benyi/themeweekplanitem',
method: 'post',
data: data
})
}
// 修改主题整合周计划明细
export function updateWeekplanitem(data) {
return request({
url: '/benyi/themeweekplanitem',
method: 'put',
data: data
})
}
// 删除主题整合周计划明细
export function delWeekplanitem(id) {
return request({
url: '/benyi/themeweekplanitem/' + id,
method: 'delete'
})
}
// 导出主题整合周计划明细
export function exportWeekplanitem(query) {
return request({
url: '/benyi/themeweekplanitem/export',
method: 'get',
params: query
})
}

View File

@ -208,6 +208,21 @@ export const constantRoutes = [{
}
}]
},
{
path: '/benyi_course/planweek',
component: Layout,
hidden: true,
children: [{
path: 'data/:id',
component: () =>
import('@/views/benyi/planweek/data'),
name: 'planweek1',
meta: {
title: '周计划(明细)',
icon: ''
}
}]
},
{
path: '/benyi_course/theme',
component: Layout,
@ -233,7 +248,37 @@ export const constantRoutes = [{
import('@/views/benyi/themetermplan/data'),
name: 'Themetermplan1',
meta: {
title: '主题整合学期计划',
title: '主题整合学期计划(明细)',
icon: ''
}
}]
},
{
path: '/benyi_course/thememonthplan',
component: Layout,
hidden: true,
children: [{
path: 'data/:id',
component: () =>
import('@/views/benyi/thememonthplan/data'),
name: 'Thememonthplan1',
meta: {
title: '主题整合月计划(明细)',
icon: ''
}
}]
},
{
path: '/benyi_course/themeweekplan',
component: Layout,
hidden: true,
children: [{
path: 'data/:id',
component: () =>
import('@/views/benyi/themeweekplan/data'),
name: 'Themeweekplan1',
meta: {
title: '主题整合周计划(明细)',
icon: ''
}
}]

View File

@ -350,7 +350,7 @@ import {
delChild,
addChild,
updateChild,
updateChild_tb
updateChild_tb,
} from "@/api/benyi/child";
import { listClass } from "@/api/system/class";
@ -365,22 +365,22 @@ export default {
placeholders: {
province: "请选择省",
city: "请选择市",
area: "请选择区"
area: "请选择区",
},
diglogForm: {
province: null,
city: null,
area: null
area: null,
},
diglogForm1: {
province: null,
city: null,
area: null
area: null,
},
diglogForm2: {
province: null,
city: null,
area: null
area: null,
},
// 遮罩层
loading: true,
@ -455,46 +455,47 @@ export default {
firstLanguage: undefined,
seconderLanguage: undefined,
otherLanguage: undefined,
createuserid: undefined
createuserid: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
name: [
{ required: true, message: "幼儿姓名不能为空", trigger: "blur" }
{ required: true, message: "幼儿姓名不能为空", trigger: "blur" },
],
phone: [
{ required: true, message: "家长手机号码不能为空", trigger: "blur" }
]
{ required: true, message: "家长手机号码不能为空", trigger: "blur" },
],
classid: [{ required: true, message: "班级不能为空", trigger: "blur" }],
},
rules_tb: {
classid: [{ required: true, message: "班级不能为空", trigger: "blur" }]
}
classid: [{ required: true, message: "班级不能为空", trigger: "blur" }],
},
};
},
created() {
this.getList();
this.getClassList();
this.getDicts("sys_user_sex").then(response => {
this.getDicts("sys_user_sex").then((response) => {
this.sexOptions = response.data;
});
this.getDicts("sys_normal_disable").then(response => {
this.getDicts("sys_normal_disable").then((response) => {
this.statusOptions = response.data;
});
this.getDicts("sys_dm_mz").then(response => {
this.getDicts("sys_dm_mz").then((response) => {
this.mzOptions = response.data;
});
this.getDicts("sys_yes_no").then(response => {
this.getDicts("sys_yes_no").then((response) => {
this.ynOptions = response.data;
});
this.getDicts("sys_dm_ryqd").then(response => {
this.getDicts("sys_dm_ryqd").then((response) => {
this.sourceOptions = response.data;
});
},
components: {
//省市区三级联动全局组件
VDistpicker
VDistpicker,
},
methods: {
// 性别字典翻译
@ -522,7 +523,7 @@ export default {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map(key => {
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc);
return false;
@ -531,14 +532,14 @@ export default {
return actions.join("");
},
getClassList() {
listClass(null).then(response => {
listClass(null).then((response) => {
this.classOptions = response.rows;
});
},
/** 查询幼儿信息列表 */
getList() {
this.loading = true;
listChild(this.queryParams).then(response => {
listChild(this.queryParams).then((response) => {
this.childList = response.rows;
this.total = response.total;
this.loading = false;
@ -597,7 +598,7 @@ export default {
seconderLanguage: undefined,
otherLanguage: undefined,
createuserid: undefined,
createTime: undefined
createTime: undefined,
};
this.diglogForm.province = "";
@ -626,7 +627,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.ids = selection.map((item) => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
@ -640,7 +641,7 @@ export default {
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getChild(id).then(response => {
getChild(id).then((response) => {
this.form = response.data;
this.diglogForm.province = response.data.birthProvincename;
@ -660,11 +661,11 @@ export default {
});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != undefined) {
updateChild(this.form).then(response => {
updateChild(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
@ -672,7 +673,7 @@ export default {
}
});
} else {
addChild(this.form).then(response => {
addChild(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
@ -684,11 +685,11 @@ export default {
});
},
/** 提交按钮 */
submitForm_tb: function() {
this.$refs["form"].validate(valid => {
submitForm_tb: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
console.log(this.ids + "---" + this.form.classid);
updateChild_tb(this.form, this.ids).then(response => {
updateChild_tb(this.form, this.ids).then((response) => {
if (response.code === 200) {
this.msgSuccess("调班成功");
this.open_tb = false;
@ -714,17 +715,17 @@ export default {
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
type: "warning",
}
)
.then(function() {
.then(function () {
return delChild(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function() {});
.catch(function () {});
},
//所在省市区触发联动方法
onSelected_brith(data) {
@ -779,7 +780,7 @@ export default {
this.form.addrAreaname = data.area.value;
this.form.addrArea = data.area.code;
}
}
}
},
},
};
</script>

View File

@ -0,0 +1,430 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="周计划" prop="wid">
<el-select v-model="queryParams.wid" size="small">
<el-option
v-for="item in planweekOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="活动类型" prop="activitytype">
<el-select v-model="queryParams.activitytype" placeholder="请选择活动类型" clearable size="small">
<el-option
v-for="dict in activitytypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="活动内容" prop="content">
<el-input
v-model="queryParams.content"
placeholder="请输入活动内容"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="活动时间" prop="activitytime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.activitytime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择活动时间"
></el-date-picker>
</el-form-item>
<!-- <el-form-item label="创建人" prop="createuserid">
<el-input
v-model="queryParams.createuserid"
placeholder="请输入创建人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="修改人" prop="updateuserid">
<el-input
v-model="queryParams.updateuserid"
placeholder="请输入修改人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['benyi:planweekitem:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['benyi:planweekitem:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:planweekitem: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:planweekitem:export']"
>导出</el-button>
</el-col>
</el-row>
<el-table
v-loading="loading"
:data="planweekitemList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="所属计划" align="center" prop="wid" />
<el-table-column
label="活动类型"
align="center"
prop="activitytype"
:formatter="activitytypeFormat"
/>
<el-table-column label="活动内容" align="center" prop="content" />
<el-table-column label="活动时间" align="center" prop="activitytime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.activitytime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="createuserid" />
<el-table-column label="修改人" align="center" prop="updateuserid" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:planweekitem:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:planweekitem:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改周计划(家长和教育部门细化)对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="所属计划" prop="wid">
<el-select v-model="form.wid" size="small" :disabled="true">
<el-option
v-for="item in planweekOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="活动类型">
<el-select v-model="form.activitytype" placeholder="请选择活动类型">
<el-option
v-for="dict in activitytypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="活动内容" prop="content">
<el-input v-model="form.content" placeholder="请输入活动内容" />
</el-form-item>
<el-form-item label="活动时间" prop="activitytime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.activitytime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择活动时间"
></el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listPlanweekitem,
getPlanweekitem,
delPlanweekitem,
addPlanweekitem,
updatePlanweekitem,
exportPlanweekitem
} from "@/api/benyi/planweekitem";
import { getPlanweek, listPlanweek } from "@/api/benyi/planweek";
export default {
name: "Planweekitem",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 总条数
total: 0,
// 周计划(家长和教育部门细化)表格数据
planweekitemList: [],
// 周计划
planweekOptions: [],
// 默认周计划
defaultWeekType: "",
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 活动类型字典
activitytypeOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
wid: undefined,
activitytype: undefined,
content: undefined,
activitytime: undefined,
createuserid: undefined,
updateuserid: undefined
},
// 表单参数
form: {},
// 表单校验
rules: {}
};
},
created() {
const planweekid = this.$route.params && this.$route.params.id;
this.getPlanweek2(planweekid);
this.getPlanWeekList();
this.getDicts("sys_math_type").then(response => {
this.activitytypeOptions = response.data;
});
},
methods: {
// 周计划
getPlanweek2(planweekid) {
getPlanweek(planweekid).then((response) => {
this.queryParams.wid = response.data.id;
this.defaultWeekType = response.data.id;
this.getList();
});
},
/** 查询周计划(家长和教育部门细化)列表 */
getList() {
this.loading = true;
listPlanweekitem(this.queryParams).then(response => {
this.planweekitemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 查询周计划选项
getPlanWeekList() {
listPlanweek().then((response) => {
this.planweekOptions = response.rows;
});
},
// 周计划字典翻译
themePlanFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.planweekOptions;
Object.keys(datas).map((key) => {
if (datas[key].id == "" + row.wid) {
actions.push(datas[key].name);
return false;
}
});
return actions.join("");
},
// 活动类型字典翻译
activitytypeFormat(row, column) {
return this.selectDictLabel(this.activitytypeOptions, row.activitytype);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
wid: undefined,
activitytype: undefined,
content: undefined,
activitytime: undefined,
createuserid: undefined,
createTime: undefined,
updateuserid: undefined,
updateTime: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.wid = this.defaultWeekType;
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加周计划(家长和教育部门细化)";
this.form.wid = this.queryParams.wid;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getPlanweekitem(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改周计划(家长和教育部门细化)";
});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != undefined) {
updatePlanweekitem(this.form).then(response => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addPlanweekitem(this.form).then(response => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认删除周计划(家长和教育部门细化)编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
)
.then(function() {
return delPlanweekitem(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function() {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm(
"是否确认导出所有周计划(家长和教育部门细化)数据项?",
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
)
.then(function() {
return exportPlanweekitem(queryParams);
})
.then(response => {
this.download(response.msg);
})
.catch(function() {});
}
}
};
</script>

View File

@ -1,24 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="学校id" prop="schoolid">
<el-input
v-model="queryParams.schoolid"
placeholder="请输入学校id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="班级id" prop="classid">
<el-input
v-model="queryParams.classid"
placeholder="请输入班级id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="计划名称" prop="name">
<el-input
v-model="queryParams.name"
@ -28,6 +10,16 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="当前状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择当前状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="开始时间" prop="starttime">
<el-date-picker
clearable
@ -59,46 +51,29 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="教学目标(社会)" prop="jxmbSh">
<el-form-item label="审核人" prop="shrid">
<el-input
v-model="queryParams.jxmbSh"
placeholder="请输入教学目标(社会)"
v-model="queryParams.shrid"
placeholder="请输入审核人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="教学目标(语言)" prop="jxmbYy">
<!--
<el-form-item label="学校id" prop="schoolid">
<el-input
v-model="queryParams.jxmbYy"
placeholder="请输入教学目标(语言)"
v-model="queryParams.schoolid"
placeholder="请输入学校id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="教学目标(健康)" prop="jxmbJk">
<el-form-item label="班级id" prop="classid">
<el-input
v-model="queryParams.jxmbJk"
placeholder="请输入教学目标(健康)"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="教学目标(科学)" prop="jxmbKx">
<el-input
v-model="queryParams.jxmbKx"
placeholder="请输入教学目标(科学)"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="教学目标(艺术)" prop="jxmbYs">
<el-input
v-model="queryParams.jxmbYs"
placeholder="请输入教学目标(艺术)"
v-model="queryParams.classid"
placeholder="请输入班级id"
clearable
size="small"
@keyup.enter.native="handleQuery"
@ -112,22 +87,9 @@
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="当前状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择当前状态" clearable size="small">
<el-option label="请选择字典生成" value />
</el-select>
</el-form-item>
<el-form-item label="审核人" prop="shrid">
<el-input
v-model="queryParams.shrid"
placeholder="请输入审核人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="审核时间" prop="shtime">
</el-form-item>-->
<!-- <el-form-item label="审核时间" prop="shtime">
<el-date-picker
clearable
size="small"
@ -137,7 +99,7 @@
value-format="yyyy-MM-dd"
placeholder="选择审核时间"
></el-date-picker>
</el-form-item>
</el-form-item> -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -188,9 +150,14 @@
<el-table v-loading="loading" :data="planweekList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="学校id" align="center" prop="schoolid" />
<el-table-column label="班级id" align="center" prop="classid" />
<el-table-column label="计划名称" align="center" prop="name" />
<el-table-column label="班级id" align="center" prop="classid" :formatter="classFormat" />
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/benyi_course/planweek/data/' + scope.row.id" class="link-type">
<span>{{ scope.row.name }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="开始时间" align="center" prop="starttime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.starttime, '{y}-{m}-{d}') }}</span>
@ -202,19 +169,15 @@
</template>
</el-table-column>
<el-table-column label="本周主题" align="center" prop="themeofweek" />
<el-table-column label="教学目标(社会)" align="center" prop="jxmbSh" />
<el-table-column label="教学目标(语言)" align="center" prop="jxmbYy" />
<el-table-column label="教学目标(健康)" align="center" prop="jxmbJk" />
<el-table-column label="教学目标(科学)" align="center" prop="jxmbKx" />
<el-table-column label="教学目标(艺术)" align="center" prop="jxmbYs" />
<el-table-column label="创建人" align="center" prop="createuserid" />
<el-table-column label="当前状态" align="center" prop="status" />
<el-table-column label="当前状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="审核人" align="center" prop="shrid" />
<el-table-column label="审核时间" align="center" prop="shtime" width="180">
<!-- <el-table-column label="审核时间" align="center" prop="shtime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.shtime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
</el-table-column> -->
<!-- <el-table-column label="学校id" align="center" prop="schoolid" />
-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -224,6 +187,14 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['system:planweek:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleCheck(scope.row)"
v-hasPermi="['system:planweek:edit']"
v-show="isShow(scope.row)"
>提交</el-button>
<el-button
size="mini"
type="text"
@ -246,12 +217,6 @@
<!-- 添加或修改周计划(家长和教育部门)对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学校id" prop="schoolid">
<el-input v-model="form.schoolid" placeholder="请输入学校id" />
</el-form-item>
<el-form-item label="班级id" prop="classid">
<el-input v-model="form.classid" placeholder="请输入班级id" />
</el-form-item>
<el-form-item label="计划名称" prop="name">
<el-input v-model="form.name" placeholder="请输入计划名称" />
</el-form-item>
@ -295,18 +260,26 @@
<el-form-item label="教学目标(艺术)" prop="jxmbYs">
<el-input v-model="form.jxmbYs" placeholder="请输入教学目标(艺术)" />
</el-form-item>
<el-form-item label="创建人" prop="createuserid">
<el-input v-model="form.createuserid" placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="当前状态">
<el-radio-group v-model="form.status">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审核人" prop="shrid">
<!-- <el-form-item label="当前状态">
<el-select v-model="form.status" placeholder="请选择当前状态">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="审核人" prop="shrid">
<el-input v-model="form.shrid" placeholder="请输入审核人" />
</el-form-item> -->
<!-- <el-form-item label="学校id" prop="schoolid">
<el-input v-model="form.schoolid" placeholder="请输入学校id" />
</el-form-item>
<el-form-item label="审核时间" prop="shtime">
<el-form-item label="班级id" prop="classid">
<el-input v-model="form.classid" placeholder="请输入班级id" />
</el-form-item>-->
<!-- <el-form-item label="审核时间" prop="shtime">
<el-date-picker
clearable
size="small"
@ -316,7 +289,7 @@
value-format="yyyy-MM-dd"
placeholder="选择审核时间"
></el-date-picker>
</el-form-item>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -334,8 +307,11 @@ import {
addPlanweek,
updatePlanweek,
exportPlanweek,
checkPlanweek
} from "@/api/benyi/planweek";
import { listClass } from "@/api/system/class";
export default {
name: "Planweek",
data() {
@ -352,6 +328,10 @@ export default {
total: 0,
// 周计划(家长和教育部门)表格数据
planweekList: [],
// 周计划当前状态
statusOptions: [],
//班级
classOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
@ -374,27 +354,66 @@ export default {
createuserid: undefined,
status: undefined,
shrid: undefined,
shtime: undefined,
shtime: undefined
},
// 表单参数
form: {},
// 表单校验
rules: {},
rules: {}
};
},
created() {
this.getList();
this.getClassList();
// 审核状态获取数据
this.getDicts("sys_dm_planweekstatus").then(response => {
this.statusOptions = response.data;
});
},
methods: {
/** 查询周计划(家长和教育部门)列表 */
getList() {
this.loading = true;
listPlanweek(this.queryParams).then((response) => {
listPlanweek(this.queryParams).then(response => {
this.planweekList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 获取班级列表
getClassList() {
listClass(null).then((response) => {
this.classOptions = response.rows;
});
},
// // 主题名称家班级
// getClassName(val) {
// //locations是v-for里面的也是datas里面的值
// let obj = {};
// obj = this.classOptions.find((item) => {
// return item.bjbh === val;
// });
// let getName = "";
// getName = obj.bjmc;
// this.form.name = getName;
// },
// 当前状态翻译
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
},
// 班级字典翻译
classFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc);
return false;
}
});
return actions.join("");
},
// 取消按钮
cancel() {
this.open = false;
@ -419,7 +438,7 @@ export default {
createTime: undefined,
status: "0",
shrid: undefined,
shtime: undefined,
shtime: undefined
};
this.resetForm("form");
},
@ -435,7 +454,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.ids = selection.map(item => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
@ -449,18 +468,46 @@ export default {
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getPlanweek(id).then((response) => {
getPlanweek(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改周计划(家长和教育部门)";
});
},
/** 审核提交按钮操作 */
handleCheck(row) {
const ids = row.id || this.ids;
this.$confirm(
'确认提交周计划编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return checkPlanweek(ids);
})
.then(() => {
this.getList();
this.msgSuccess("提交成功");
})
.catch(function () {});
},
isShow(row) {
if (row.status == "1" || row.status == "2") {
return false;
} else {
return true;
}
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != undefined) {
updatePlanweek(this.form).then((response) => {
updatePlanweek(this.form).then(response => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
@ -468,7 +515,7 @@ export default {
}
});
} else {
addPlanweek(this.form).then((response) => {
addPlanweek(this.form).then(response => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
@ -488,17 +535,17 @@ export default {
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
type: "warning"
}
)
.then(function () {
.then(function() {
return delPlanweek(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
.catch(function() {});
},
/** 导出按钮操作 */
handleExport() {
@ -506,16 +553,16 @@ export default {
this.$confirm("是否确认导出所有周计划(家长和教育部门)数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
type: "warning"
})
.then(function () {
.then(function() {
return exportPlanweek(queryParams);
})
.then((response) => {
.then(response => {
this.download(response.msg);
})
.catch(function () {});
},
},
.catch(function() {});
}
}
};
</script>

View File

@ -0,0 +1,474 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="月计划" prop="mpid">
<el-select v-model="queryParams.mpid" size="small">
<el-option
v-for="item in themeMonthPlanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="周次" prop="zc">
<el-input-number
v-model="queryParams.zc"
placeholder="周次"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['benyi:thememonthplan:add']"
v-show="isShow"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['benyi:thememonthplan:edit']"
v-show="isShow"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:thememonthplan:remove']"
v-show="isShow"
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="weekplanList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <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
label="活动"
align="center"
prop="activityid"
:formatter="themeactivityFormat"
/>
<el-table-column label="家长支持" align="center" prop="jzzc" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:thememonthplan:edit']"
v-show="isShow"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:thememonthplan:remove']"
v-show="isShow"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改主题整合周计划对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="月计划" prop="mpid">
<el-select v-model="form.mpid" size="small" :disabled="true">
<el-option
v-for="item in themeMonthPlanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="周次" prop="zc">
<el-input-number v-model="form.zc" placeholder="请输入周次" />
</el-form-item>
<el-form-item label="开始时间" prop="starttime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.starttime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
></el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="endtime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.endtime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间"
></el-date-picker>
</el-form-item>
<el-form-item label="选择活动" prop="activityid">
<el-checkbox-group
v-model="themeactivityList"
:max="max"
@change="getThemeActivityIdValue"
>
<el-checkbox
v-for="(item,i) in themeactivityOptions"
:label="item.id"
:key="i"
>{{item.name}}</el-checkbox>
</el-checkbox-group>
<el-input v-model="form.activityid" v-if="false" />
</el-form-item>
<el-form-item label="家长支持" prop="jzzc">
<el-input v-model="form.jzzc" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listMonthplanitem,
getMonthplanitem,
delMonthplanitem,
addMonthplanitem,
updateMonthplanitem,
} from "@/api/benyi/thememonthplanitem";
import { listMonthplan, getMonthplan } from "@/api/benyi/thememonthplan";
import { listActivityByThemeId } from "@/api/benyi/activity";
export default {
name: "Weekplan",
data() {
return {
isShow: true,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 总条数
total: 0,
// 主题整合周计划表格数据
weekplanList: [],
//主题整合月计划列表
themeMonthPlanOptions: [],
//id默认值
defaultThemeMonthType: "",
//选中的chebox值
themeactivityList: [],
//获取的活动列表
themeactivityOptions: [],
max: 5,
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
mpid: undefined,
zc: undefined,
starttime: undefined,
endtime: undefined,
activityid: undefined,
jzzc: undefined,
createuserid: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
zc: [{ required: true, message: "周次不能为空", trigger: "blur" }],
starttime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" },
],
endtime: [
{ required: true, message: "结束时间不能为空", trigger: "blur" },
],
activityid: [
{ required: true, message: "活动不能为空", trigger: "blur" },
],
},
};
},
created() {
const thememonthplanid = this.$route.params && this.$route.params.id;
this.getThemeMonthPlan(thememonthplanid);
this.getThemeMonthPlanList();
},
methods: {
// 主题--字典状态字典翻译
themeactivityFormat(row, column) {
if (row.activityid != null) {
var ilength = row.activityid.split(";").length - 1;
var names = "";
for (var i = 1; i < ilength; i++) {
names =
names +
this.selectMoeDictLabel(
this.themeactivityOptions,
row.activityid.split(";")[i]
) +
"";
}
//this.selectDictLabel(this.scopeOptions, row.xnxq);
return names;
}
return "";
},
//获取选中的checkbox
getThemeActivityIdValue() {
//console.log(this.themeList);
var text = ";";
this.themeactivityList.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
text = text + value + ";";
//console.log(text);
});
this.form.activityid = text;
},
//主题活动
getThemeActivityList(themeid) {
listActivityByThemeId(themeid).then((response) => {
//console.log(response.rows);
this.themeactivityOptions = response.rows;
});
},
// 字典翻译
themeMonthPlanFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.themeMonthPlanOptions;
Object.keys(datas).map((key) => {
if (datas[key].id == "" + row.mpid) {
actions.push(datas[key].name);
return false;
}
});
return actions.join("");
},
//计划详情
getThemeMonthPlan(thememonthplanid) {
getMonthplan(thememonthplanid).then((response) => {
this.queryParams.mpid = response.data.id;
this.defaultThemeMonthType = response.data.id;
console.log(response.data.themes);
var themeids = response.data.themes.split(";");
var array = [];
//console.log(arr);
themeids.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.getThemeActivityList(array);
if (response.data.status == "0") {
this.isShow = true;
} else {
this.isShow = false;
}
this.getList();
});
},
getThemeMonthPlanList() {
listMonthplan().then((response) => {
this.themeMonthPlanOptions = response.rows;
});
},
/** 查询主题整合周计划列表 */
getList() {
this.loading = true;
listMonthplanitem(this.queryParams).then((response) => {
this.weekplanList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
mpid: undefined,
zc: 0,
starttime: undefined,
endtime: undefined,
activityid: undefined,
jzzc: undefined,
createuserid: undefined,
createTime: undefined,
};
this.resetForm("form");
this.themeactivityList = [];
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.mpid = this.defaultThemeMonthType;
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加主题整合周计划";
this.form.mpid = this.queryParams.mpid;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getMonthplanitem(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改主题整合周计划明细";
var activityid = response.data.activityid.split(";");
var array = [];
//console.log(arr);
activityid.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.themeactivityList = array;
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != undefined) {
updateMonthplanitem(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addMonthplanitem(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认删除主题整合周计划编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return delMonthplanitem(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出所有主题整合周计划数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return exportWeekplan(queryParams);
})
.then((response) => {
this.download(response.msg);
})
.catch(function () {});
},
},
};
</script>

View File

@ -10,33 +10,46 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属班级" prop="classid">
<el-select v-model="queryParams.classid" placeholder="请选择班级">
<el-form-item label="学年学期" prop="xnxq">
<el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small">
<el-option
v-for="dict in classOptions"
:key="dict.bjbh"
:label="dict.bjmc"
:value="dict.bjbh"
></el-option>
v-for="dict in xnxqOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="学年学期" prop="xnxq">
<el-input
v-model="queryParams.xnxq"
placeholder="请输入学年学期"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="计划月份" prop="month">
<el-input
v-model="queryParams.month"
placeholder="请输入计划月份"
<el-date-picker
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
style="width: 200px"
v-model="queryParams.month"
type="month"
value-format="yyyy-MM"
placeholder="选择计划月份"
></el-date-picker>
</el-form-item>
<el-form-item label="主题内容" prop="themes">
<el-select v-model="queryParams.themes" size="small">
<el-option
v-for="item in themeOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="当前状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -77,12 +90,30 @@
</el-row>
<el-table v-loading="loading" :data="monthplanList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="计划名称" align="center" prop="name" />
<el-table-column label="所属班级" align="center" prop="classid" />
<el-table-column label="学年学期" align="center" prop="xnxq" />
<el-table-column label="计划月份" align="center" prop="month" />
<el-table-column type="selection" width="55" align="center" :selectable="isShow" />
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/benyi_course/thememonthplan/data/' + scope.row.id" class="link-type">
<span>{{ scope.row.name }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" />
<el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" />
<el-table-column label="计划月份" align="center" prop="month" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.month, '{y}-{m}') }}</span>
</template>
</el-table-column>
<el-table-column label="本月主题" align="center" prop="themes" :formatter="themeFormat" />
<el-table-column prop="wxkc" label="微型课程">
<template slot-scope="scope">
<div v-html="scope.row.wxkc"></div>
</template>
</el-table-column>
<!-- <el-table-column label="家长支持" align="center" prop="support" />
<el-table-column label="备注" align="center" prop="remarks" />-->
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -91,6 +122,7 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:thememonthplan:edit']"
v-show="isShow(scope.row)"
>修改</el-button>
<el-button
size="mini"
@ -98,7 +130,16 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:thememonthplan:remove']"
v-show="isShow(scope.row)"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleCheck(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow(scope.row)"
>提交</el-button>
</template>
</el-table-column>
</el-table>
@ -112,39 +153,32 @@
/>
<!-- 添加或修改主题整合月计划对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-form-item label="所属班级" prop="classid">
<el-select
v-model="form.classid"
placeholder="请选择班级"
@change="getClassName"
:disabled="disable"
>
<el-option
v-for="dict in classOptions"
:key="dict.bjbh"
:label="dict.bjmc"
:value="dict.bjbh"
></el-option>
</el-select>
</el-form-item>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="计划月份" prop="month">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.month"
type="month"
value-format="yyyy-MM"
placeholder="选择计划月份"
:disabled="disable"
></el-date-picker>
</el-form-item>
<el-form-item label="主题" prop="themes">
<el-input v-model="form.themes" type="textarea" placeholder="请输入内容" />
<el-form-item label="学年学期" prop="xnxq">
<el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="disable">
<el-option
v-for="dict in xnxqOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="自定义主题" prop="selfthemes">
<el-input v-model="form.selfthemes" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="家长支持" prop="support">
<el-input v-model="form.support" type="textarea" placeholder="请输入内容" />
<el-form-item label="微型课程" prop="wxkc">
<Editor v-model="form.wxkc" placeholder="请输入微型课程" />
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" />
@ -165,14 +199,20 @@ import {
delMonthplan,
addMonthplan,
updateMonthplan,
checkMonthplan,
} from "@/api/benyi/thememonthplan";
import Editor from "@/components/Editor";
import { listClass } from "@/api/system/class";
import { listTheme } from "@/api/benyi/theme";
export default {
name: "Monthplan",
components: {
Editor,
},
data() {
return {
disable: false,
// 遮罩层
loading: true,
// 选中数组
@ -183,56 +223,101 @@ export default {
multiple: true,
// 总条数
total: 0,
//是否
disable: false,
// 主题整合月计划表格数据
monthplanList: [],
//班级
classOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
//学年学期
xnxqOptions: [],
//班级
classOptions: [],
//主题
themeOptions: [],
//当前状态
statusOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
name: undefined,
schoolid: undefined,
classid: undefined,
xnxq: undefined,
month: undefined,
themes: undefined,
selfthemes: undefined,
wxkc: undefined,
support: undefined,
remarks: undefined,
createuserid: undefined,
spr: undefined,
sptime: undefined,
spyj: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
classid: [{ required: true, message: "班级不能为空", trigger: "blur" }],
month: [
{ required: true, message: "计划月份不能为空", trigger: "blur" },
xnxq: [
{ required: true, message: "学年学期不能为空", trigger: "blur" },
],
month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
wxkc: [
{ required: true, message: "微型课程不能为空", trigger: "blur" },
],
themes: [{ required: true, message: "主题不能为空", trigger: "blur" }],
},
};
},
created() {
this.getList();
this.getClassList();
this.getThemeList();
this.getList();
this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data;
});
this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data;
});
},
methods: {
getClassName(val) {
//locations是v-for里面的也是datas里面的值
let obj = {};
obj = this.classOptions.find((item) => {
return item.bjbh === val;
isShow(row) {
if (row.status == "0") {
return true;
} else {
return false;
}
},
// 当前状态类型--字典状态字典翻译
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
},
// 主题--字典状态字典翻译
themeFormat(row, column) {
if (row.themes != null) {
var ilength = row.themes.split(";").length - 1;
var names = "";
for (var i = 1; i < ilength; i++) {
names =
names +
this.selectMoeDictLabel(
this.themeOptions,
row.themes.split(";")[i]
) +
" ";
}
//this.selectDictLabel(this.scopeOptions, row.xnxq);
return names;
}
return "";
},
//主题
getThemeList() {
listTheme(null).then((response) => {
//console.log(response.rows);
this.themeOptions = response.rows;
});
let getName = "";
getName = obj.bjmc;
this.form.name = getName;
},
// 字典翻译
classFormat(row, column) {
@ -247,6 +332,11 @@ export default {
});
return actions.join("");
},
// 学年学期类型--字典状态字典翻译
xnxqFormat(row, column) {
return this.selectDictLabel(this.xnxqOptions, row.xnxq);
},
//班级列表
getClassList() {
listClass(null).then((response) => {
this.classOptions = response.rows;
@ -271,15 +361,21 @@ export default {
this.form = {
id: undefined,
name: undefined,
schoolid: undefined,
classid: undefined,
xnxq: undefined,
month: undefined,
themes: undefined,
selfthemes: undefined,
wxkc: undefined,
support: undefined,
remarks: undefined,
createuserid: undefined,
createTime: undefined,
spr: undefined,
sptime: undefined,
spyj: undefined,
status: "0",
};
this.resetForm("form");
},
@ -303,7 +399,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加<主题整合>月计划";
this.title = "添加主题整合月计划";
this.disable = false;
},
/** 修改按钮操作 */
@ -313,7 +409,7 @@ export default {
getMonthplan(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改<主题整合>月计划";
this.title = "修改主题整合月计划";
this.disable = true;
});
},
@ -344,15 +440,11 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认删除主题整合月计划编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
this.$confirm("是否确认删除主题整合月计划数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delMonthplan(ids);
})
@ -362,6 +454,23 @@ export default {
})
.catch(function () {});
},
/** 提交按钮操作 */
handleCheck(row) {
const id = row.id;
this.$confirm("是否确认提交主题整合月计划?提交后数据将不能维护", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return checkMonthplan(id);
})
.then(() => {
this.getList();
this.msgSuccess("提交成功");
})
.catch(function () {});
},
},
};
</script>

View File

@ -1,52 +1,25 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="所属计划" prop="tpid">
<el-input
v-model="queryParams.tpid"
placeholder="请输入所属计划"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
<el-form-item label="学期计划" prop="tpid">
<el-select v-model="queryParams.tpid" size="small">
<el-option
v-for="item in themePlanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="主题内容" prop="themeconent">
<el-input
v-model="queryParams.themeconent"
placeholder="请输入主题内容"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createuserid">
<el-input
v-model="queryParams.createuserid"
placeholder="请输入创建人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="创建时间">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.创建时间"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建人"
></el-date-picker>
</el-form-item>
<el-form-item label="修改人" prop="updateuserid">
<el-input
v-model="queryParams.updateuserid"
placeholder="请输入修改人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
<el-select v-model="queryParams.themeconent" size="small">
<el-option
v-for="item in themeOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -62,6 +35,7 @@
size="mini"
@click="handleAdd"
v-hasPermi="['benyi:themetermplan:add']"
v-show="isShow"
>新增</el-button>
</el-col>
<el-col :span="1.5">
@ -72,6 +46,7 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow"
>修改</el-button>
</el-col>
<el-col :span="1.5">
@ -82,17 +57,9 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:themetermplan:remove']"
v-show="isShow"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['benyi:themetermplan:export']"
>导出</el-button>
</el-col>
</el-row>
<el-table
@ -101,17 +68,11 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="所属计划" align="center" prop="tpid" />
<el-table-column label="主题内容" align="center" prop="themeconent" />
<!-- <el-table-column label="编号" align="center" prop="id" /> -->
<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="themeconent" :formatter="themeFormat" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建人" align="center" prop="createuserid" />
<el-table-column label="创建人" align="center" prop="创建时间" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.创建时间, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="修改人" align="center" prop="updateuserid" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -120,6 +81,7 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow"
>修改</el-button>
<el-button
size="mini"
@ -127,6 +89,7 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:themetermplan:remove']"
v-show="isShow"
>删除</el-button>
</template>
</el-table-column>
@ -144,27 +107,31 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="所属计划" prop="tpid">
<el-input v-model="form.tpid" placeholder="请输入所属计划" />
<el-select v-model="form.tpid" size="small" :disabled="true">
<el-option
v-for="item in themePlanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="主题内容" prop="themeconent">
<el-input v-model="form.themeconent" placeholder="请输入主题内容" />
</el-form-item>
<el-form-item label="创建人" prop="createuserid">
<el-input v-model="form.createuserid" placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="创建人" prop="创建时间">
<el-form-item label="月份" prop="month">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.创建时间"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建人"
v-model="form.month"
type="month"
placeholder="请选择月"
value-format="yyyy-MM"
></el-date-picker>
</el-form-item>
<el-form-item label="修改人" prop="updateuserid">
<el-input v-model="form.updateuserid" placeholder="请输入修改人" />
<el-form-item label="选择主题" prop="themeconent">
<el-checkbox-group 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-input v-model="form.themeconent" v-if="false" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -185,10 +152,19 @@ import {
exportTermplanitem,
} from "@/api/benyi/themetermplanitem";
import { listTermplan, getTermplan } from "@/api/benyi/themetermplan";
import { listTheme } from "@/api/benyi/theme";
export default {
name: "Termplanitem",
data() {
return {
isShow: true,
//最大选中个数
max: 2,
//主题
themeOptions: [],
themeList: [],
// 遮罩层
loading: true,
// 选中数组
@ -201,10 +177,13 @@ export default {
total: 0,
// 主题整合学期计划明细表格数据
termplanitemList: [],
//计划列表
themePlanOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
defaultThemeType: "",
// 查询参数
queryParams: {
pageNum: 1,
@ -212,19 +191,97 @@ export default {
tpid: undefined,
themeconent: undefined,
createuserid: undefined,
创建时间: undefined,
updateuserid: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {},
rules: {
month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
themeconent: [
{ required: true, message: "主题不能为空", trigger: "blur" },
],
},
};
},
created() {
this.getList();
const themeplanid = this.$route.params && this.$route.params.id;
//console.log(themeplanid);
this.getThemePlan(themeplanid);
this.getThemePlanList();
this.getThemeList();
},
methods: {
// 主题--字典状态字典翻译
themeFormat(row, column) {
if (row.themeconent != null) {
var ilength = row.themeconent.split(";").length - 1;
var names = "";
for (var i = 1; i < ilength; i++) {
names =
names +
this.selectMoeDictLabel(
this.themeOptions,
row.themeconent.split(";")[i]
) +
" ";
}
//this.selectDictLabel(this.scopeOptions, row.xnxq);
return names;
}
return "";
},
//获取选中的checkbox
getThemeconentValue() {
//console.log(this.themeList);
var text = ";";
this.themeList.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
text = text + value + ";";
//console.log(text);
});
this.form.themeconent = text;
},
//主题
getThemeList() {
listTheme(null).then((response) => {
//console.log(response.rows);
this.themeOptions = response.rows;
});
},
// 字典翻译
themePlanFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.themePlanOptions;
Object.keys(datas).map((key) => {
if (datas[key].id == "" + row.tpid) {
actions.push(datas[key].name);
return false;
}
});
return actions.join("");
},
//计划详情
getThemePlan(themeplanid) {
getTermplan(themeplanid).then((response) => {
this.queryParams.tpid = response.data.id;
this.defaultThemeType = response.data.id;
if (response.data.status == "0") {
this.isShow = true;
} else {
this.isShow = false;
}
this.getList();
});
},
getThemePlanList() {
listTermplan().then((response) => {
this.themePlanOptions = response.rows;
});
},
/** 查询主题整合学期计划明细列表 */
getList() {
this.loading = true;
@ -247,11 +304,12 @@ export default {
themeconent: undefined,
remark: undefined,
createuserid: undefined,
创建时间: undefined,
month: undefined,
updateuserid: undefined,
updateTime: undefined,
};
this.resetForm("form");
this.themeList = [];
},
/** 搜索按钮操作 */
handleQuery() {
@ -261,6 +319,7 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.tpid = this.defaultThemeType;
this.handleQuery();
},
// 多选框选中数据
@ -274,6 +333,7 @@ export default {
this.reset();
this.open = true;
this.title = "添加主题整合学期计划明细";
this.form.tpid = this.queryParams.tpid;
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -283,6 +343,16 @@ export default {
this.form = response.data;
this.open = true;
this.title = "修改主题整合学期计划明细";
var themeconent = response.data.themeconent.split(";");
var array = [];
//console.log(arr);
themeconent.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.themeList = array;
});
},
/** 提交按钮 */
@ -330,22 +400,6 @@ export default {
})
.catch(function () {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出所有主题整合学期计划明细数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return exportTermplanitem(queryParams);
})
.then((response) => {
this.download(response.msg);
})
.catch(function () {});
},
},
};
</script>

View File

@ -23,7 +23,12 @@
</el-form-item>
<el-form-item label="当前状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option label="请选择字典生成" value />
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
@ -65,9 +70,9 @@
</el-row>
<el-table v-loading="loading" :data="termplanList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="班级" align="center" prop="classid" :formatter="classFormat" />
<el-table-column label="名称" align="center" prop="name" :show-overflow-tooltip="true">
<el-table-column type="selection" width="55" align="center" :selectable="isShow"/>
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" />
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/benyi_course/themetermplan/data/' + scope.row.id" class="link-type">
<span>{{ scope.row.name }}</span>
@ -86,7 +91,7 @@
</el-table-column>
<el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -95,6 +100,7 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow(scope.row)"
>修改</el-button>
<el-button
size="mini"
@ -102,7 +108,16 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:themetermplan:remove']"
v-show="isShow(scope.row)"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleCheck(scope.row)"
v-hasPermi="['benyi:themetermplan:edit']"
v-show="isShow(scope.row)"
>提交</el-button>
</template>
</el-table-column>
</el-table>
@ -139,7 +154,7 @@
</el-select>
</el-form-item>
<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>
<div slot="footer" class="dialog-footer">
@ -157,6 +172,7 @@ import {
delTermplan,
addTermplan,
updateTermplan,
checkTermplan,
} from "@/api/benyi/themetermplan";
import { listClass } from "@/api/system/class";
@ -180,6 +196,8 @@ export default {
classOptions: [],
//学年学期
xnxqOptions: [],
//当前状态
statusOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
@ -218,8 +236,19 @@ export default {
this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data;
});
this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data;
});
},
methods: {
isShow(row) {
console.log(row.status);
if (row.status == "0") {
return true;
} else {
return false;
}
},
// 字典翻译
classFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
@ -237,6 +266,10 @@ export default {
xnxqFormat(row, column) {
return this.selectDictLabel(this.xnxqOptions, row.xnxq);
},
// 当前状态类型--字典状态字典翻译
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
},
//班级列表
getClassList() {
listClass(null).then((response) => {
@ -343,7 +376,7 @@ export default {
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认删除主题整合学期计划编号为"' + ids + '"的数据项?',
'是否确认删除主题整合学期计划数据项?',
"警告",
{
confirmButtonText: "确定",
@ -360,6 +393,27 @@ export default {
})
.catch(function () {});
},
/** 提交按钮操作 */
handleCheck(row) {
const id = row.id;
this.$confirm(
"是否确认提交主题整合学期计划?提交后数据将不能维护",
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return checkTermplan(id);
})
.then(() => {
this.getList();
this.msgSuccess("提交成功");
})
.catch(function () {});
},
},
};
</script>

View File

@ -0,0 +1,548 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="周计划" prop="wpid">
<el-select v-model="queryParams.wpid" size="small">
<el-option
v-for="item in themeWeekPlanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="选择日期" prop="daytime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.daytime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
></el-date-picker>
</el-form-item>
<el-form-item label="星期" prop="zhou">
<el-input-number
v-model="queryParams.zhou"
placeholder="星期"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="活动" prop="activityid">
<el-input
v-model="queryParams.activityid"
placeholder="请输入活动"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分组性质" prop="fzxz">
<el-select v-model="queryParams.fzxz" size="small">
<el-option
v-for="item in fzxzOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['benyi:themeweekplan:add']"
v-show="isShow"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow"
>删除</el-button>
</el-col>
</el-row>
<el-table
v-loading="loading"
:data="weekplanitemList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- <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
label="活动"
align="center"
prop="activityid"
:formatter="themeactivityFormat"
/>
<el-table-column label="分组性质" align="center" prop="fzxz" :formatter="fzxzFormat" />
<el-table-column label="家长支持" align="center" prop="jzzc" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改主题整合周计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="周计划" prop="wpid">
<el-select v-model="form.wpid" size="small" :disabled="true">
<el-option
v-for="item in themeWeekPlanOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="日期" prop="daytime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.daytime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
:disabled="disabled"
></el-date-picker>
</el-form-item>
<el-form-item label="星期" prop="zhou">
<el-input-number v-model="form.zhou" placeholder="请输入星期" :disabled="disabled" />
</el-form-item>
<el-form-item label="活动" prop="activityid">
<el-checkbox-group
v-model="themeactivityList"
:max="max"
@change="getThemeActivityIdValue"
>
<el-checkbox
v-for="(item,i) in themeactivityOptions"
:label="item.id"
:key="i"
>{{item.name}}</el-checkbox>
</el-checkbox-group>
<el-input v-model="form.activityid" v-if="false" />
</el-form-item>
<el-form-item label="分组性质" prop="fzxz">
<el-select v-model="form.fzxz" size="small">
<el-option
v-for="item in fzxzOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="家长支持" prop="jzzc">
<el-input v-model="form.jzzc" type="textarea" placeholder="请输入家长支持" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listWeekplanitem,
getWeekplanitem,
delWeekplanitem,
addWeekplanitem,
updateWeekplanitem,
exportWeekplanitem,
} from "@/api/benyi/themeweekplanitem";
import { listWeekplan, getWeekplan } from "@/api/benyi/themeweekplan";
import { listActivityByThemeId } from "@/api/benyi/activity";
import { listMonthplan } from "@/api/benyi/thememonthplan";
import { listMonthplanitem } from "@/api/benyi/thememonthplanitem";
export default {
name: "Weekplanitem",
data() {
return {
isShow: true,
max: 2,
disabled: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 总条数
total: 0,
// 主题整合周计划明细表格数据
weekplanitemList: [],
//主题整合周计划列表
themeWeekPlanOptions: [],
//id默认值
defaultThemeWeekType: "",
//分组性质
fzxzOptions: [],
//选中的chebox值
themeactivityList: [],
//主题活动
themeactivityOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
daytime: undefined,
zhou: undefined,
activityid: undefined,
fzxz: undefined,
jzzc: undefined,
createuserid: undefined,
updateuserid: undefined,
wpid: undefined,
},
// 查询参数
queryParams_MonPlan: {
xnxq: undefined,
month: undefined,
status: "2",
},
queryParams_MonPlanItem: {
mpid: undefined,
zc: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
daytime: [{ required: true, message: "日期不能为空", trigger: "blur" }],
zhou: [{ required: true, message: "星期不能为空", trigger: "blur" }],
fzxz: [
{ required: true, message: "分组性质不能为空", trigger: "blur" },
],
activityid: [
{ required: true, message: "活动不能为空", trigger: "blur" },
],
},
};
},
created() {
const themeweekplanid = this.$route.params && this.$route.params.id;
this.getThemeWeekPlan(themeweekplanid);
this.getThemeWeekPlanList();
this.getDicts("sys_dm_fzxz").then((response) => {
this.fzxzOptions = response.data;
});
},
methods: {
// 主题--字典状态字典翻译
themeactivityFormat(row, column) {
if (row.activityid != null) {
var ilength = row.activityid.split(";").length - 1;
var names = "";
for (var i = 1; i < ilength; i++) {
names =
names +
this.selectMoeDictLabel(
this.themeactivityOptions,
row.activityid.split(";")[i]
) +
"";
}
//this.selectDictLabel(this.scopeOptions, row.xnxq);
return names;
}
return "";
},
//获取选中的checkbox
getThemeActivityIdValue() {
//console.log(this.themeList);
var text = ";";
this.themeactivityList.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
text = text + value + ";";
//console.log(text);
});
this.form.activityid = text;
},
//主题活动
getThemeActivityList(themeid) {
listActivityByThemeId(themeid).then((response) => {
//console.log(response.rows);
this.themeactivityOptions = response.rows;
});
},
// 分组性质类型--字典状态字典翻译
fzxzFormat(row, column) {
return this.selectDictLabel(this.fzxzOptions, row.fzxz);
},
// 字典翻译
themeweekPlanFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.themeWeekPlanOptions;
Object.keys(datas).map((key) => {
if (datas[key].id == "" + row.wpid) {
actions.push(datas[key].name);
return false;
}
});
return actions.join("");
},
//计划详情
getThemeWeekPlan(themeweekplanid) {
getWeekplan(themeweekplanid).then((response) => {
this.queryParams.wpid = response.data.id;
this.defaultThemeweekType = response.data.id;
console.log(
"月份:" + response.data.month + " " + "周次:" + response.data.zc
);
//查找活动id
this.queryParams_MonPlan.month = response.data.month;
this.queryParams_MonPlan.xnxq = response.data.xnxq;
listMonthplan(this.queryParams_MonPlan).then((resMonPlan) => {
//console.log(resMonPlan.rows);
this.queryParams_MonPlanItem.mpid = resMonPlan.rows[0].id;
this.queryParams_MonPlanItem.zc = response.data.zc;
listMonthplanitem(this.queryParams_MonPlanItem).then(
(resMonPlanItem) => {
console.log(resMonPlanItem.rows);
var activityids = resMonPlanItem.rows[0].activityid.split(";");
var array = [];
//console.log(arr);
activityids.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.getThemeActivityList(array);
}
);
});
if (response.data.status == "0") {
this.isShow = true;
} else {
this.isShow = false;
}
this.getList();
});
},
getThemeWeekPlanList() {
listWeekplan().then((response) => {
this.themeWeekPlanOptions = response.rows;
});
},
/** 查询主题整合周计划明细列表 */
getList() {
this.loading = true;
listWeekplanitem(this.queryParams).then((response) => {
this.weekplanitemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
daytime: undefined,
zhou: undefined,
activityid: undefined,
fzxz: undefined,
jzzc: undefined,
createuserid: undefined,
createTime: undefined,
updateuserid: undefined,
updateTime: undefined,
wpid: undefined,
};
this.resetForm("form");
this.themeactivityList = [];
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.wpid = this.defaultThemeweekType;
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加主题整合周计划明细";
this.form.wpid = this.queryParams.wpid;
this.disabled = false;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getWeekplanitem(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改主题整合周计划明细";
this.disabled = true;
var activityid = response.data.activityid.split(";");
var array = [];
//console.log(arr);
activityid.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.themeactivityList = array;
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != undefined) {
updateWeekplanitem(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addWeekplanitem(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认删除主题整合周计划明细编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return delWeekplanitem(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.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>

View File

@ -0,0 +1,429 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="计划名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入计划名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="学年学期" prop="xnxq">
<el-select v-model="queryParams.xnxq" placeholder="请选择学年学期" clearable size="small">
<el-option
v-for="dict in xnxqOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="所属月份" prop="month">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.month"
type="month"
value-format="yyyy-MM"
placeholder="选择所属月份"
></el-date-picker>
</el-form-item>
<el-form-item label="所属周次" prop="zc">
<el-input-number
v-model="queryParams.zc"
placeholder="周次"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['benyi:themeweekplan:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['benyi:themeweekplan:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:themeweekplan:remove']"
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="weekplanList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :selectable="isShow" />
<!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/benyi_course/themeweekplan/data/' + scope.row.id" class="link-type">
<span>{{ scope.row.name }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="班级名称" align="center" prop="classid" :formatter="classFormat" />
<el-table-column label="所属月份" align="center" prop="month" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.month, '{y}-{m}') }}</span>
</template>
</el-table-column>
<el-table-column label="所属周次" align="center" prop="zc" />
<el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow(scope.row)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow(scope.row)"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleCheck(scope.row)"
v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow(scope.row)"
>提交</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改主题整合周计划根据月计划明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学年学期" prop="xnxq">
<el-select v-model="form.xnxq" placeholder="请选择学年学期" :disabled="disable">
<el-option
v-for="dict in xnxqOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="所属月份" prop="month">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.month"
type="month"
value-format="yyyy-MM"
placeholder="选择所属月份"
:disabled="disable"
></el-date-picker>
</el-form-item>
<el-form-item label="所属周次" prop="zc">
<el-input-number v-model="form.zc" placeholder="周次" :disabled="disable" />
</el-form-item>
<el-form-item label="备注" prop="remar">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listWeekplan,
getWeekplan,
delWeekplan,
addWeekplan,
updateWeekplan,
exportWeekplan,
checkWeekplan,
} from "@/api/benyi/themeweekplan";
import { listClass } from "@/api/system/class";
export default {
name: "Weekplan",
data() {
return {
disable: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 总条数
total: 0,
// 主题整合周计划(根据月计划明细)表格数据
weekplanList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
//学年学期
xnxqOptions: [],
//班级
classOptions: [],
//当前状态
statusOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
name: undefined,
schoolid: undefined,
classid: undefined,
month: undefined,
zc: undefined,
status: undefined,
spr: undefined,
sptime: undefined,
shyj: undefined,
createuserid: undefined,
xnxq: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
xnxq: [
{ required: true, message: "学年学期不能为空", trigger: "blur" },
],
month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
zc: [{ required: true, message: "周次不能为空", trigger: "blur" }],
},
};
},
created() {
this.getList();
this.getClassList();
this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data;
});
this.getDicts("sys_dm_planweekstatus").then((response) => {
this.statusOptions = response.data;
});
},
methods: {
isShow(row) {
if (row.status == "0") {
return true;
} else {
return false;
}
},
//班级列表
getClassList() {
listClass(null).then((response) => {
this.classOptions = response.rows;
});
},
// 当前状态类型--字典状态字典翻译
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
},
// 学年学期类型--字典状态字典翻译
xnxqFormat(row, column) {
return this.selectDictLabel(this.xnxqOptions, row.xnxq);
},
// 字典翻译
classFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc);
return false;
}
});
return actions.join("");
},
/** 查询主题整合周计划(根据月计划明细)列表 */
getList() {
this.loading = true;
listWeekplan(this.queryParams).then((response) => {
this.weekplanList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
name: undefined,
schoolid: undefined,
classid: undefined,
month: undefined,
zc: undefined,
remark: undefined,
status: "0",
spr: undefined,
sptime: undefined,
shyj: undefined,
createuserid: undefined,
createTime: undefined,
xnxq: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加主题整合周计划";
this.disable = false;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getWeekplan(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改主题整合周计划";
this.disable = true;
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != undefined) {
updateWeekplan(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addWeekplan(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm("是否确认删除主题整合周计划数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delWeekplan(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
},
/** 提交按钮操作 */
handleCheck(row) {
const id = row.id;
this.$confirm("是否确认提交主题整合周计划?提交后数据将不能维护", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return checkWeekplan(id);
})
.then(() => {
this.getList();
this.msgSuccess("提交成功");
})
.catch(function () {});
},
},
};
</script>

View File

@ -100,6 +100,7 @@ export default {
title: undefined,
lecturer: undefined,
type: undefined,
status:"0",
pageNum: 1,
pageSize: 8
}