幼儿收费

This commit is contained in:
zhanglipeng 2020-12-11 17:35:51 +08:00
parent e417fee67e
commit df1f33ddcc
10 changed files with 602 additions and 18 deletions

View File

@ -9,6 +9,15 @@ export function listSchoolcharge(query) {
})
}
// 查询幼儿收费列表
export function listChildcharge(query) {
return request({
url: '/benyi/schoolcharge/child/list',
method: 'get',
params: query
})
}
// 查询园所收费标准详细
export function getSchoolcharge(id) {
return request({

View File

@ -4,7 +4,7 @@
:model="queryParams"
ref="queryForm"
:inline="true"
label-width="68px"
label-width="70px"
>
<el-form-item label="选择月份" prop="month">
<el-date-picker

View File

@ -0,0 +1,285 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" label-width="70px">
<el-row :gutter="10">
<el-col :xs="24" :ms="12" :md="5">
<el-form-item label="选择班级" prop="classid">
<el-select v-model="queryParams.classid" placeholder="请选择班级">
<el-option
v-for="dict in classOptions"
:key="dict.bjbh"
:label="dict.bjmc"
:value="dict.bjbh"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="5">
<el-form-item label="选择月份" prop="month">
<el-date-picker
clearable
size="small"
v-model="queryParams.month"
type="month"
value-format="yyyy-MM"
:default-value="new Date()"
placeholder="选择计划月份"
class="my-date-picker"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :xs="24" :ms="12" :md="5">
<el-form-item class="no-margin">
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button
type="primary"
plain
size="mini"
icon="el-icon-printer"
@click="prints"
>打印</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div ref="printMe" class="print-me">
<h2 style="text-align: center">{{ this.queryParams.month }}月收费明细</h2>
<el-table v-loading="loading" border :data="childchargeList">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column
label="班级类型"
fixed=""
align="center"
prop="bjtype"
:formatter="bjtypeFormat"
/>
<el-table-column
label="班级名称"
fixed
align="center"
prop="classid"
:formatter="classFormat"
/>
<el-table-column label="幼儿名称" align="center" prop="name" />
<el-table-column label="出勤天数" align="center" prop="days" />
<el-table-column
label="明细"
align="center"
:formatter="mingxiFormat"
/>
<el-table-column
label="总计"
align="center"
:formatter="zongjiFormat"
/>
<!-- <el-table-column label="保育费(大班)/月" align="center" prop="byf" />
<el-table-column label="伙食费(大班)/天" align="center" prop="hsf" />
<el-table-column label="保育费(中班)/月" align="center" prop="byfZ" />
<el-table-column label="伙食费(中班)/天" align="center" prop="hsfZ" />
<el-table-column label="保育费(小班)/月" align="center" prop="byfX" />
<el-table-column label="伙食费(小班)/天" align="center" prop="hsfX" />
<el-table-column label="保育费(拖班)/月" align="center" prop="byfT" />
<el-table-column label="伙食费(拖班)/天" align="center" prop="hsfT" /> -->
</el-table>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { listChildcharge } from "@/api/benyi/schoolcharge";
import { listClass } from "@/api/system/class";
export default {
name: "Schoolcharge",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
total: 0,
//
childchargeList: [],
//
title: "",
//
open: false,
//
classOptions: [],
//
bjtypeOptions: [],
//
month: "",
//
queryParams: {
pageNum: 1,
pageSize: 50,
month: "",
classid: "",
},
};
},
created() {
this.getClassList();
this.getNowTime();
this.getDicts("sys_yebjlx").then((response) => {
this.bjtypeOptions = response.data;
});
},
methods: {
getNowTime() {
var now = new Date();
var year = now.getFullYear(); //
var month = now.getMonth(); //
month = month + 1;
month = month.toString().padStart(2, "0");
this.queryParams.month = `${year}-${month}`;
},
//
mingxiFormat(row, column) {
if (row.bjtype == "1") {
//
return (
"保育费(月/元):" +
row.byfT +
";伙食费(天/元):" +
row.days +
"*" +
row.hsfT
);
} else if (row.bjtype == "2") {
//
return (
"保育费(月/元):" +
row.byfX +
";伙食费(天/元):" +
row.days +
"*" +
row.hsfX
);
} else if (row.bjtype == "3") {
//
return (
"保育费(月/元):" +
row.byfZ +
";伙食费(天/元):" +
row.days +
"*" +
row.hsfZ
);
} else if (row.bjtype == "4") {
//
return (
"保育费(月/元):" +
row.byf +
";伙食费(天/元):" +
row.days +
"*" +
row.hsf
);
} else {
return "";
}
},
//
zongjiFormat(row, column) {
if (row.bjtype == "1") {
//
return row.byfT + row.days * row.hsfT;
} else if (row.bjtype == "2") {
//
return row.byfX + row.days * row.hsfX;
} else if (row.bjtype == "3") {
//
return row.byfZ + row.days * row.hsfZ;
} else if (row.bjtype == "4") {
//
return row.byf + +(row.days * row.hsf);
} else {
return "";
}
},
// --
bjtypeFormat(row, column) {
return this.selectDictLabel(this.bjtypeOptions, row.bjtype);
},
//
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("");
},
getClassList() {
listClass(null).then((response) => {
this.classOptions = response.rows;
this.queryParams.classid = response.rows[0].bjbh;
});
this.getList();
},
/** 查询幼儿收费列表 */
getList() {
this.loading = true;
if (this.queryParams.month == "") {
this.queryParams.month = this.month;
}
listChildcharge(this.queryParams).then((response) => {
if (response.rows.length == 0) {
this.msgError("请检查当前班级是否存在幼儿或是否已经设置托费");
}
this.childchargeList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
//
prints() {
//console.log(this.$refs.printMe);
this.$print(this.$refs.printMe);
},
},
};
</script>
<style lang="scss" scoped>
.el-select {
width: 100%;
}
.my-date-picker {
width: 100%;
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="success"
@ -23,7 +23,7 @@
>删除</el-button
>
</el-col>
</el-row>
</el-row> -->
<el-table
v-loading="loading"
@ -32,9 +32,20 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="园所名称" fixed="" align="center" prop="dept.deptName" />
<el-table-column label="保育费/月" align="center" prop="byf" />
<el-table-column label="伙食费/天" align="center" prop="hsf" />
<el-table-column
label="园所名称"
fixed=""
align="center"
prop="dept.deptName"
/>
<el-table-column label="保育费(大班)/月" align="center" prop="byf" />
<el-table-column label="伙食费(大班)/天" align="center" prop="hsf" />
<el-table-column label="保育费(中班)/月" align="center" prop="byfZ" />
<el-table-column label="伙食费(中班)/天" align="center" prop="hsfZ" />
<el-table-column label="保育费(小班)/月" align="center" prop="byfX" />
<el-table-column label="伙食费(小班)/天" align="center" prop="hsfX" />
<el-table-column label="保育费(拖班)/月" align="center" prop="byfT" />
<el-table-column label="伙食费(拖班)/天" align="center" prop="hsfT" />
<el-table-column
label="操作"
align="center"
@ -73,12 +84,62 @@
<!-- 添加或修改园所收费标准对话框 -->
<el-dialog :title="title" :visible.sync="open" class="v-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="保育费(月)" prop="byf">
<el-input-number v-model="form.byf" :precision="2" placeholder="请输入保育费" />
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="保育费大班(月)" prop="byf">
<el-input-number
v-model="form.byf"
:precision="2"
placeholder="请输入保育费"
/>
</el-form-item>
<el-form-item label="伙食费(天)" prop="hsf">
<el-input-number v-model="form.hsf" :precision="2" placeholder="请输入伙食费" />
<el-form-item label="伙食费大班(天)" prop="hsf">
<el-input-number
v-model="form.hsf"
:precision="2"
placeholder="请输入伙食费"
/>
</el-form-item>
<el-form-item label="保育费中班(月)" prop="byfZ">
<el-input-number
v-model="form.byfZ"
:precision="2"
placeholder="请输入保育费"
/>
</el-form-item>
<el-form-item label="伙食费中班(天)" prop="hsfZ">
<el-input-number
v-model="form.hsfZ"
:precision="2"
placeholder="请输入伙食费"
/>
</el-form-item>
<el-form-item label="保育费小班(月)" prop="byfX">
<el-input-number
v-model="form.byfX"
:precision="2"
placeholder="请输入保育费"
/>
</el-form-item>
<el-form-item label="伙食费小班(天)" prop="hsfX">
<el-input-number
v-model="form.hsfX"
:precision="2"
placeholder="请输入伙食费"
/>
</el-form-item>
<el-form-item label="保育费拖班(月)" prop="byfT">
<el-input-number
v-model="form.byfT"
:precision="2"
placeholder="请输入保育费"
/>
</el-form-item>
<el-form-item label="伙食费拖班(天)" prop="hsT">
<el-input-number
v-model="form.hsfT"
:precision="2"
placeholder="请输入伙食费"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -158,6 +219,12 @@ export default {
deptId: undefined,
byf: undefined,
hsf: undefined,
byfZ: undefined,
hsfZ: undefined,
byfX: undefined,
hsfX: undefined,
byfT: undefined,
hsfT: undefined,
createUserid: undefined,
createTime: undefined,
};

View File

@ -45,6 +45,17 @@ public class BySchoolchargeController extends BaseController {
return getDataTable(list);
}
/**
* 查询幼儿收费列表
*/
@PreAuthorize("@ss.hasPermi('benyi:schoolcharge:list')")
@GetMapping("/child/list")
public TableDataInfo childlist(BySchoolcharge bySchoolcharge) {
startPage();
List<BySchoolcharge> list = bySchoolchargeService.selectByChildchargeList(bySchoolcharge);
return getDataTable(list);
}
/**
* 导出园所收费标准列表
*/

View File

@ -44,8 +44,51 @@ public class BySchoolcharge extends BaseEntity {
@Excel(name = "创建人")
private Long createUserid;
/**
* 保育费小班
*/
@Excel(name = "保育费小班")
private Double byfX;
/**
* 伙食费小班
*/
@Excel(name = "伙食费小班")
private Double hsfX;
/**
* 保育费托班
*/
@Excel(name = "保育费托班")
private Double byfT;
/**
* 伙食费托班
*/
@Excel(name = "伙食费托班")
private Double hsfT;
/**
* 保育费中班
*/
@Excel(name = "保育费中班")
private Double byfZ;
/**
* 伙食费中班
*/
@Excel(name = "伙食费中班")
private Double hsfZ;
private SysDept dept;
// 幼儿考勤系统属性
private String month;
private String name;
private String classid;
private Long days;
private String bjtype;
public void setId(Long id) {
this.id = id;
}
@ -94,6 +137,94 @@ public class BySchoolcharge extends BaseEntity {
this.dept = dept;
}
public void setByfX(Double byfX) {
this.byfX = byfX;
}
public Double getByfX() {
return byfX;
}
public void setHsfX(Double hsfX) {
this.hsfX = hsfX;
}
public Double getHsfX() {
return hsfX;
}
public void setByfT(Double byfT) {
this.byfT = byfT;
}
public Double getByfT() {
return byfT;
}
public void setHsfT(Double hsfT) {
this.hsfT = hsfT;
}
public Double getHsfT() {
return hsfT;
}
public void setByfZ(Double byfZ) {
this.byfZ = byfZ;
}
public Double getByfZ() {
return byfZ;
}
public void setHsfZ(Double hsfZ) {
this.hsfZ = hsfZ;
}
public Double getHsfZ() {
return hsfZ;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassid() {
return classid;
}
public void setClassid(String classid) {
this.classid = classid;
}
public Long getDays() {
return days;
}
public void setDays(Long days) {
this.days = days;
}
public String getBjtype() {
return bjtype;
}
public void setBjtype(String bjtype) {
this.bjtype = bjtype;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@ -104,6 +235,17 @@ public class BySchoolcharge extends BaseEntity {
.append("createUserid", getCreateUserid())
.append("createTime", getCreateTime())
.append("dept", getDept())
.append("byfX", getByfX())
.append("hsfX", getHsfX())
.append("byfT", getByfT())
.append("hsfT", getHsfT())
.append("byfZ", getByfZ())
.append("hsfZ", getHsfZ())
.append("month", getMonth())
.append("name", getName())
.append("classid", getClassid())
.append("bjtype", getBjtype())
.append("days", getDays())
.toString();
}
}

View File

@ -27,6 +27,14 @@ public interface BySchoolchargeMapper {
*/
public List<BySchoolcharge> selectBySchoolchargeList(BySchoolcharge bySchoolcharge);
/**
* 查询幼儿收费列表
*
* @param bySchoolcharge 收费标准
* @return 幼儿收费集合
*/
public List<BySchoolcharge> selectByChildchargeList(BySchoolcharge bySchoolcharge);
/**
* 新增园所收费标准
*

View File

@ -27,6 +27,14 @@ public interface IBySchoolchargeService {
*/
public List<BySchoolcharge> selectBySchoolchargeList(BySchoolcharge bySchoolcharge);
/**
* 查询幼儿收费列表
*
* @param bySchoolcharge 收费标准
* @return 幼儿收费集合
*/
public List<BySchoolcharge> selectByChildchargeList(BySchoolcharge bySchoolcharge);
/**
* 新增园所收费标准
*

View File

@ -44,6 +44,18 @@ public class BySchoolchargeServiceImpl implements IBySchoolchargeService {
return bySchoolchargeMapper.selectBySchoolchargeList(bySchoolcharge);
}
/**
* 查询幼儿收费列表
*
* @param bySchoolcharge 收费标准
* @return 幼儿收费集合
*/
@Override
@DataScope(deptAlias = "b")
public List<BySchoolcharge> selectByChildchargeList(BySchoolcharge bySchoolcharge){
return bySchoolchargeMapper.selectByChildchargeList(bySchoolcharge);
}
/**
* 新增园所收费标准
*

View File

@ -11,6 +11,17 @@
<result property="hsf" column="hsf"/>
<result property="createUserid" column="create_userid"/>
<result property="createTime" column="create_time"/>
<result property="byfX" column="byf_x"/>
<result property="hsfX" column="hsf_x"/>
<result property="byfT" column="byf_t"/>
<result property="hsfT" column="hsf_t"/>
<result property="byfZ" column="byf_z"/>
<result property="hsfZ" column="hsf_z"/>
<result property="month" column="month"/>
<result property="name" column="name"/>
<result property="classid" column="classid"/>
<result property="days" column="days"/>
<result property="bjtype" column="bjtype"/>
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
</resultMap>
@ -24,7 +35,7 @@
</resultMap>
<sql id="selectBySchoolchargeVo">
select a.id, a.dept_id, a.byf, a.hsf, a.create_userid, a.create_time,b.dept_name from by_schoolcharge a
select a.id, a.dept_id, a.byf, a.hsf, a.create_userid, a.create_time,a.byf_x, a.hsf_x, a.byf_t, a.hsf_t, a.byf_z, a.hsf_z,b.dept_name from by_schoolcharge a
right join sys_dept b on a.dept_id=b.dept_id
</sql>
@ -38,6 +49,19 @@
${dataScope}
</select>
<select id="selectByChildchargeList" parameterType="BySchoolcharge" resultMap="BySchoolchargeResult">
select a.name,a.classid,
c.bjtype,
(select count(*) from by_child_checkin_detail where childid=a.id and type='01' and date_format(create_time,'%Y-%m')=concat(#{month})) as days ,
b.id, b.dept_id, b.byf, b.hsf, b.create_userid, b.create_time,b.byf_x, b.hsf_x, b.byf_t, b.hsf_t, b.byf_z, b.hsf_z
from by_child a
left join by_class c on a.classid=c.bjbh
left join by_schoolcharge b on a.schoolid=b.dept_id
where c.bjbh = #{classid}
<!-- 数据范围过滤 -->
${dataScope}
</select>
<select id="selectBySchoolchargeById" parameterType="Long" resultMap="BySchoolchargeResult">
<include refid="selectBySchoolchargeVo"/>
where a.id = #{id}
@ -51,6 +75,12 @@
<if test="hsf != null ">hsf,</if>
<if test="createUserid != null ">create_userid,</if>
<if test="createTime != null ">create_time,</if>
<if test="byfX != null ">byf_x,</if>
<if test="hsfX != null ">hsf_x,</if>
<if test="byfT != null ">byf_t,</if>
<if test="hsfT != null ">hsf_t,</if>
<if test="byfZ != null ">byf_z,</if>
<if test="hsfZ != null ">hsf_z,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="deptId != null ">#{deptId},</if>
@ -58,6 +88,12 @@
<if test="hsf != null ">#{hsf},</if>
<if test="createUserid != null ">#{createUserid},</if>
<if test="createTime != null ">#{createTime},</if>
<if test="byfX != null ">#{byfX},</if>
<if test="hsfX != null ">#{hsfX},</if>
<if test="byfT != null ">#{byfT},</if>
<if test="hsfT != null ">#{hsfT},</if>
<if test="byfZ != null ">#{byfZ},</if>
<if test="hsfZ != null ">#{hsfZ},</if>
</trim>
</insert>
@ -69,6 +105,12 @@
<if test="hsf != null ">hsf = #{hsf},</if>
<if test="createUserid != null ">create_userid = #{createUserid},</if>
<if test="createTime != null ">create_time = #{createTime},</if>
<if test="byfX != null ">byf_x = #{byfX},</if>
<if test="hsfX != null ">hsf_x = #{hsfX},</if>
<if test="byfT != null ">byf_t = #{byfT},</if>
<if test="hsfT != null ">hsf_t = #{hsfT},</if>
<if test="byfZ != null ">byf_z = #{byfZ},</if>
<if test="hsfZ != null ">hsf_z = #{hsfZ},</if>
</trim>
where id = #{id}
</update>