Commit 8c2b5c48 by zhaopanyu

zpy 修改部分问题

parent 9963963b
<template>
<el-dialog
width="960px"
:visible.sync="open"
:title="title"
@close="handleClose"
>
<el-dialog width="960px" :visible.sync="open" :title="title" @close="handleClose">
<el-form ref="queryForm" inline :model="queryForm">
<!--<el-form-item label="工作编号" prop="teacherCode">-->
<!-- <el-input-->
......@@ -16,20 +11,10 @@
<!--</el-form-item>-->
<el-form-item label="教师姓名" prop="teacherName">
<el-input
v-model="queryForm.teacherName"
placeholder="请输入老师名称"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryForm.teacherName" placeholder="请输入老师名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="教师电话" prop="teacherTel">
<el-input
v-model="queryForm.teacherTel"
placeholder="请输入老师电话"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryForm.teacherTel" placeholder="请输入老师电话" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
......@@ -37,16 +22,8 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
ref="teacherTable"
v-loading="loading"
stripe
height="380px"
width="100%"
:data="teacherList"
@selection-change="handleSelectChange"
@row-click="handleRowClick"
>
<el-table ref="teacherTable" v-loading="loading" stripe height="380px" width="100%" :data="teacherList"
@selection-change="handleSelectChange" @row-click="handleRowClick">
<el-table-column type="selection" align="center"></el-table-column>
<!--<el-table-column type="index" label="序号" width="55" align="center"></el-table-column>-->
<!--<el-table-column label="工作编号" align="center" prop="teacherCode"/>-->
......@@ -56,43 +33,33 @@
<ListImage :image-url="isEmptyTeacherUrl(scope.row.picUrl, scope.row.sex)"></ListImage>
</template>
</el-table-column>
<el-table-column label="老师名称" align="center" prop="teacherName" width="120" show-overflow-tooltip/>
<el-table-column label="老师名称" align="center" prop="teacherName" width="120" show-overflow-tooltip />
<el-table-column label="性别" align="center" prop="sex" width="80">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
</template>
</el-table-column>
<el-table-column label="老师电话" width="160" align="center" prop="teacherTel"/>
<el-table-column label="家庭住址" align="center" prop="homeAddress" show-overflow-tooltip/>
<!--<el-table-column label="身份证号" width="180" align="center" prop="idCard"/>-->
<el-table-column label="老师电话" width="160" align="center" prop="teacherTel" />
<el-table-column label="职工类型" width="160" align="center" prop="employeeType" />
<el-table-column label="部门" width="160" align="center" prop="deptName" />
<!-- <el-table-column label="家庭住址" align="center" prop="homeAddress" show-overflow-tooltip/>
<el-table-column label="身份证号" width="180" align="center" prop="idCard"/> -->
</el-table>
<ExPagination
v-show="total > 0"
:total="total"
:page.sync="queryForm.pageNum"
:limit.sync="queryForm.pageSize"
@pagination="getList"
></ExPagination>
<ExPagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList"></ExPagination>
<div slot="footer">
<el-button
type="primary"
size="small"
:disabled="!isSimple"
@click="handleSelect">确 定
<el-button type="primary" size="small" :disabled="!isSimple" @click="handleSelect">确 定
</el-button>
<el-button
plain
size="small"
@click="handleClose">取 消
<el-button plain size="small" @click="handleClose">取 消
</el-button>
</div>
</el-dialog>
</template>
<script>
import {listInform} from "@/api/smartSchool/teacherManage/teacherInformation.js";
import { listInform } from "@/api/smartSchool/teacherManage/teacherInformation.js";
import ListImage from "@/components/ListImage";
import {Gender} from "../../../../enums/common";
import { Gender } from "../../../../enums/common";
export default {
name: "TeacherSelect",
......
......@@ -119,6 +119,7 @@ export default {
this.isTaskListe = true
departiDetail().then((response) => {
this.tableData = response.rows
console.log('this.tableData', this.tableData);
this.total = response.total
this.loading = false
});
......
......@@ -15,13 +15,12 @@
<!-- 表格数据 -->
<el-table border v-loading="loading" :row-style="{ height: '35px' }" :cell-style="{ padding: '0' }"
:data="budgetList" style="font-size: 14px" stripe>
<el-table-column label="年度" prop="year" align="center" width="100px" />
<el-table-column label="年度" prop="year" align="center" />
<el-table-column label="科室" prop="deptName" align="center" />
<el-table-column label="填报人" prop="informant" align="center" width="150px" />
<el-table-column label="分管领导" prop="leadershipName" align="center" width="150px" />
<el-table-column label="备注" prop="remark" align="center" />
<el-table-column label="填报时间" prop="tbTime" align="center" width="200px" />
<el-table-column label="当前任务" prop="state" align="center" width="250px">
<el-table-column label="填报人" prop="informant" align="center" />
<el-table-column label="分管领导" prop="leadershipName" align="center" />
<el-table-column label="填报时间" prop="tbTime" align="center" />
<el-table-column label="当前任务" prop="state" align="center">
<template slot-scope="{ row }">
{{ row.state === '0' ? "未提交" :
row.state === '1' ? "分管领导审核" :
......@@ -139,17 +138,15 @@
{{ postForm.informant }}
</span>
</el-col>
<el-col :span="10">
<!-- <el-form-item label="分管领导" prop="handUserName2"> -->
<!-- <el-input :value="postForm.handUserName2" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input> -->
<span class="uploadname" style="font-size: 16px;font-weight: bold;">分管领导:
<span style="display: inline-block; width: 100px;height: 20px;"
@click="openSelect('选择分管领导', 'leaderList', 2)">{{ postForm.handUserName2 }}
</span>
</span>
<!-- </el-form-item> -->
<el-form-item label="分管领导:"
style="display: flex; align-items: center; font-size: 16px; font-weight: bold;">
<el-input v-model="postForm.handUserName2" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)" style="margin-left: 10px;"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
......@@ -545,23 +542,36 @@ export default {
type: 'warning'
})
.then(() => {
submitApply(row.id).then(res => {
const loadingInstance = this.$loading({
lock: true,
text: '正在提交数据,请稍等...',
background: 'rgba(0, 0, 0, 0.7)'
}); // 显示遮罩层
submitApply(row.id)
.then(res => {
if (res.code == 200) {
this.$message({
type: 'success',
message: '提交成功!'
})
this.getList()
});
loadingInstance.close(); // 请求完成后关闭遮罩层
this.getList();
}
})
.catch(() => {
this.$message.error('提交失败,请重试!');
loadingInstance.close(); // 请求失败时也关闭遮罩层
});
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消提交'
})
})
});
});
},
// 查看按钮
handleLook(row) {
queryDepart(row.id).then(response => {
......@@ -599,7 +609,7 @@ export default {
this.open = true;
this.postForm.informant = this.$store.state.user.name;
this.title = '新增预算批复信息'
this.title = '新增预算申请信息'
},
// 删除按钮操作
......
......@@ -27,7 +27,7 @@
</el-row>
<el-table v-loading="loading" :data="purchaseList" @selection-change="handleSelectionChange">
<el-table-column type="index" align="center" label="序号" min-width="30px"></el-table-column>
<el-table-column label="标题" align="center" min-width="150px" prop="purchaseName"/>
<el-table-column label="标题" align="center" min-width="150px" prop="purchaseName" />
<el-table-column label="预算项目" prop="budgetName" align="center"></el-table-column>
<el-table-column label="采购费用" sortable align="center" prop="purchaseMoney">
<template slot-scope="scope">
......@@ -70,15 +70,13 @@
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="标题" prop="purchaseName">
<el-input v-model="formPur.purchaseName" placeholder="请输入采购申请标题" clearable
style="width:576px"></el-input>
<el-input v-model="formPur.purchaseName" placeholder="请输入采购申请标题" clearable style="width:576px"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="申请部门" prop="deptId">
<Treeselect :disabled="formPurDisable" v-model="formPur.deptId" @select="deptIdAndName" :options="deptOptions"
:show-count="true"
placeholder="请选择归属部门" :defaultExpandLevel=1 style="width:224px"/>
:show-count="true" placeholder="请选择归属部门" :defaultExpandLevel=1 style="width:224px" />
</el-form-item>
<el-form-item label="期望日期" prop="expectedDate">
<el-date-picker v-model="formPur.expectedDate" placeholder="请选择期望日期" clearable
......@@ -86,8 +84,7 @@
</el-form-item>
<el-form-item label="批复项目" prop="budgetId">
<!-- <el-input v-model="formPur.budgetName" clearable></el-input> -->
<el-select v-model="formPur.budgetId" @change="getBudgetName" style="width: 100%"
placeholder="请选择批复项目">
<el-select v-model="formPur.budgetId" @change="getBudgetName" style="width: 100%" placeholder="请选择批复项目">
<el-option v-for="item in budgetList" :key="item.id" :label="item.budgetName" :value="item.id">
</el-option>
</el-select>
......@@ -132,7 +129,7 @@
<el-table :data="projectDetail" v-loading="loading" style="width: 100%"
@selection-change="handleSelectionChangeDetail">
<el-table-column type="selection" width="50" align="center"/>
<el-table-column type="selection" width="50" align="center" />
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column prop="assetsTypeName" label="资产分类" align="center">
<template slot-scope="scope">
......@@ -159,16 +156,16 @@
<el-input v-show="isEdit" v-model="row.assetsUnit"></el-input>
</template>
</el-table-column>
<el-table-column prop="assetsPrice" label="单价-元" align="center">
<el-table-column prop="assetsPrice" label="单价-元" align="center" width="150px">
<template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsPrice }}</span>
<el-input v-show="isEdit" v-model="row.assetsPrice"></el-input>
<el-input v-show="isEdit" v-model="row.assetsPrice" type="number"></el-input>
</template>
</el-table-column>
<el-table-column prop="assetsNumbers" label="数量" align="center">
<template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsNumbers }}</span>
<el-input v-show="isEdit" v-model="row.assetsNumbers"></el-input>
<el-input v-show="isEdit" v-model="row.assetsNumbers" ></el-input>
</template>
</el-table-column>
<el-table-column prop="totalPrice" label="小计" align="center">
......@@ -192,10 +189,8 @@
</el-dialog>
<!-- 选择资产分类 -->
<el-drawer ref="refDrawer" :title="title" :visible.sync="drawer">
<Treeselect v-model="formPur.assetsType" @select="assetsIdAndName" :options="assetsOptions"
:defaultExpandLevel=3
:show-count="true"
placeholder="请选择资产分类"/>
<Treeselect v-model="formPur.assetsType" @select="assetsIdAndName" :options="assetsOptions" :defaultExpandLevel=3
:show-count="true" placeholder="请选择资产分类" />
</el-drawer>
<BossSelect v-if="teacherOptions.open" :openSelect.sync="teacherOptions.open" :title="teacherOptions.title"
......@@ -218,18 +213,18 @@ import {
getBudgetList1,
teacherListInform
} from "@/api/smartSchool/officialWork/purchaseApply.js"
import {SubmitState} from "@/enums/apply";
import { SubmitState } from "@/enums/apply";
import BossSelect from '@/views/components/moduleComponets/BossSelect/index.vue'
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {deptTreeSelect} from "@/api/system/user";
import { deptTreeSelect } from "@/api/system/user";
export default {
name: 'index',
add: false,
submit: '1',
dialogDisable: "",
components: {Treeselect, BossSelect},
components: { Treeselect, BossSelect },
props: {},
data() {
return {
......@@ -266,14 +261,14 @@ export default {
total: 0,
// 表单校验
rules: {
purchaseName: [{required: true, message: '标题不能为空', trigger: 'blur'}],
deptId: [{required: true, message: '申请部门不能为空', trigger: 'change'}],
budgetName: [{required: true, message: '批复项目不能为空', trigger: 'blur'}],
expectedDate: [{required: true, message: '期望日期不能为空', trigger: 'blur'}],
title: [{required: true, message: '分管处室领导不能为空', trigger: 'blur'}],
handUserName1: [{required: true, message: '分管处室领导不能为空', trigger: 'change'}],
handUserName2: [{required: true, message: '财务领导不能为空', trigger: 'change'}],
budgetId: [{required: true, message: '批复项目不能为空', trigger: 'change'}],
purchaseName: [{ required: true, message: '标题不能为空', trigger: 'blur' }],
deptId: [{ required: true, message: '申请部门不能为空', trigger: 'change' }],
budgetName: [{ required: true, message: '批复项目不能为空', trigger: 'blur' }],
expectedDate: [{ required: true, message: '期望日期不能为空', trigger: 'blur' }],
title: [{ required: true, message: '分管处室领导不能为空', trigger: 'blur' }],
handUserName1: [{ required: true, message: '分管处室领导不能为空', trigger: 'change' }],
handUserName2: [{ required: true, message: '财务领导不能为空', trigger: 'change' }],
budgetId: [{ required: true, message: '批复项目不能为空', trigger: 'change' }],
},
// 项目预算详细
projectDetail: [],
......@@ -363,7 +358,7 @@ export default {
})
},
/** 切换tab标签 */
handleClick({name}) {
handleClick({ name }) {
this.$set(this.queryParams, 'submitState', name);
// console.log(name, 123);
if (name == 0) {
......@@ -390,7 +385,7 @@ export default {
},
// 提交申请
submitApply(row) {
var obj = {applyUser: row.applyUser}
var obj = { applyUser: row.applyUser }
submitPurchaseList(row.id, obj).then(() => {
this.$modal.msgSuccess("提交成功");
this.getList();
......@@ -399,7 +394,7 @@ export default {
},
readNodes(nodes = [], arr = []) {
for (let item of nodes) {
arr.push({id: item.id, label: item.label})
arr.push({ id: item.id, label: item.label })
if (item.children && item.children.length) this.readNodes(item.children, arr)
}
return arr
......@@ -530,13 +525,13 @@ export default {
},
// 分管领导
leaderfgc(data) {
const {handUserName1, handUserId1} = data;
const { handUserName1, handUserId1 } = data;
this.formPur.handUserName1 = handUserName1;
this.formPur.handUserId1 = handUserId1;
},
// 财务领导
leadercw(data) {
const {handUserName2, handUserId2} = data;
const { handUserName2, handUserId2 } = data;
this.formPur.handUserName2 = handUserName2;
this.formPur.handUserId2 = handUserId2;
},
......@@ -590,7 +585,7 @@ export default {
arr.assetsType = node.id;
arr.assetsTypeName = node.label;
console.log(arr, 594)
this.$set(this.projectDetail, index, {...arr})
this.$set(this.projectDetail, index, { ...arr })
},
// 获取部门
......@@ -634,7 +629,7 @@ export default {
},
//获批复项目下拉框
getBudgetNamexl() {
getBudgetList1({deptId: this.formPur.deptId}).then(((res) => {
getBudgetList1({ deptId: this.formPur.deptId }).then(((res) => {
if (res.code == 200) {
this.budgetList = res.rows
}
......@@ -674,7 +669,7 @@ export default {
},
getTeacherList(queryForm, callback) {
teacherListInform({...queryForm, employeeType: 0}).then(response => {
teacherListInform({ ...queryForm, employeeType: 0 }).then(response => {
callback(response.rows, response.total);
}).catch(error => {
callback([], 0);
......@@ -706,6 +701,4 @@ export default {
},
};
</script>
<style scoped lang="less">
</style>
<style scoped lang="less"></style>
......@@ -114,7 +114,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="预计时长" prop="duration">
<el-input type="number" v-model="postForm.duration" placeholder="请输入"></el-input>
<el-input v-model="postForm.duration" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
</el-row>
......
......@@ -11,15 +11,14 @@
</el-date-picker>
</el-form-item>
<el-form-item prop="studioName" :rules="[{ required: true, message: '请选择录播室', trigger: 'change,blur' }]">
<el-select v-model="queryParams.studioId" placeholder="录播室">
<el-select @change="changeStudio" v-model="queryParams.studioId" placeholder="录播室">
<el-option v-for="item in options" :key="item.id" :label="item.studioName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="fetchData">搜索</el-button>
<el-button size="mini" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<!-- <el-button size="mini" type="primary" icon="el-icon-search" @click="fetchData">搜索</el-button> -->
<!-- :disabled="isReservationDisabled" -->
<el-button size="mini" @click="reserve">预约</el-button>
<el-button size="mini" type="primary" @click="reserve">预约</el-button>
</el-form>
<p style="margin: 0 0 0 30px;font-size: 14px">
说明:(1)录播室每天开放上午四节、下午四节、晚上三节。共计每天11节。(2)请提前一天进行预约。(3)预约不可跨天,跨天请进行多次预约</p>
......@@ -131,7 +130,7 @@ export default {
this.initTimeSlots();
// 获取录播室下拉框列表
this.getRoomList();
this.fetchStudioUseData();
// this.fetchStudioUseData();
// this.fetchData();
},
methods: {
......@@ -145,18 +144,31 @@ export default {
};
this.fetchStudioUseData(); // 重新发一次请求
},
changeStudio(value) {
console.log('value', value);
console.log('this.queryParams.startTime', this.queryParams.startTime);
this.queryParams.studioId = value;
this.fetchStudioUseData();
},
changeDate() {
this.endTime = moment(this.queryParams.startTime).add(9, 'days')
// this.fetchData();
this.initDays();
this.fetchStudioUseData();
},
// 查询列表
fetchStudioUseData() {
this.studioUseData = []
// 调用接口获取录播室占用情况数据
console.log(123654, this.queryParams);
getstudioUse(this.queryParams.startTime, this.queryParams.studioId).then((res) => {
this.studioUseData = res.rows;
console.log(123, this.studioUseData);
});
// getstudioUse(time, id).then((res) => {
// this.studioUseData = res.rows;
// console.log(123, this.studioUseData);
// });
},
//表格占用显示
isOccupied(day, index) {
......@@ -173,7 +185,7 @@ export default {
if (this.isOccupied(day, index)) {
return false
} else {
console.log('this.selectedTimeSlots', this.selectedTimeSlots)
// console.log('this.selectedTimeSlots', this.selectedTimeSlots)
// 检查时间段是否已选中
return this.selectedTimeSlots.some((selectedSlot) => {
// console.log('selectedSlot',selectedSlot)
......@@ -224,6 +236,13 @@ export default {
getAppointmentList({}).then((res) => {
this.options = res.rows;
console.log('res', res)
if (this.options.length > 0) {
// 默认选中第一个录播室
this.queryParams.studioId = this.options[0].id;
// 立即执行搜索表单
this.fetchStudioUseData();
}
});
},
......@@ -249,6 +268,7 @@ export default {
// const startDate = new Date();
// startDate.setDate(startDate.getDate() + 1);
// console.log('startDate',startDate)
this.days = []
for (let i = 0; i < 10; i++) {
const formattedDate = moment(this.queryParams.startTime).add(i, 'days').format("YYYY-MM-DD");
console.log('formattedDate', formattedDate)
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="设备名称" prop="equipmentName">
<el-input v-model="queryParams.equipmentName" placeholder="请输入设备名称" clearable></el-input>
</el-form-item>
<el-form-item label="分类编码" prop="classificationCode">
<el-input v-model="queryParams.classificationCode" placeholder="请输入分类编码" clearable></el-input>
</el-form-item>
<el-form-item label="修理结果" prop="repairState">
<el-select v-model="queryParams.repairState" placeholder="修理结果" clearable>
<el-option v-for="(item, index) in dict.type.dispose_state" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="处理状态" prop="disposeState">
<el-select v-model="queryParams.disposeState" placeholder="维修状态" clearable>
<el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</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" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增
</el-button>
</el-col>
</el-row>
<!-- 表格数据 -->
<el-table :data="applyTable" style="width: 100%">
<el-table-column align="center" type="index" label="序号" />
<el-table-column align="center" prop="encode" label="自编码" width="150px" />
<el-table-column align="center" prop="equipmentName" label="设备名称" />
<el-table-column align="center" prop="model" label="型号" />
<el-table-column align="center" prop="classificationCode" label="分类编码" />
<el-table-column align="center" prop="dateOfProduction" label="投产日期" />
<el-table-column align="center" prop="place" label="地点" />
<el-table-column align="center" prop="problem" label="问题" />
<el-table-column align="center" prop="repairName" label="修理人" />
<el-table-column align="center" prop="repairTime" label="修理时间" />
<el-table-column align="center" prop="repairState" label="修理结果">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.dispose_state, row.repairState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="disposeState" label="处理状态">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.repair_state, row.disposeState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="evaluate" label="评价" width="150px">
<template slot-scope="scope">
<el-rate v-model="scope.row.evaluate" :max="5" :disabled="!scope.row.editable"></el-rate>
</template>
</el-table-column>
<el-table-column label="操作" width="180px" class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)">
修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">
删除
</el-button>
</div>
</template>
</el-table-column>
</el-table>
<!-- 新增/修改/查看对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body @close="cancel">
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="自编码" prop="encode">
<el-input v-model="postForm.encode" placeholder="自编码" @change="getRencode"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修人" prop="reportRepairId">
<el-select v-model="postForm.reportRepairId" filterable placeholder="请选择报修人" clearable
style="width: 100%;">
<el-option v-for="(item, index) in userList" :key="index" :label="item.userName"
:value="item.userId">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备名称" prop="equipmentName">
<el-input v-model="postForm.equipmentName" placeholder="设备名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="问题" prop="problem">
<el-input v-model="postForm.problem" placeholder="问题"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="型号" prop="model">
<el-input v-model="postForm.model" placeholder="型号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="维修人" prop="repairName">
<el-select v-model="postForm.repairName" placeholder="请选择维修人" clearable style="width: 100%;">
<el-option v-for="item in sbflOptions" :key="item.repairId" :label="item.repairName"
:value="item.repairId" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="投产日期:" prop="dateOfProduction">
<el-date-picker v-model="postForm.dateOfProduction" type="date" placeholder="选择日期"
style="width: 100%;" value-format="yyyy-MM-dd" clearable
:readonly="isReadOnly"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="维修时间:" prop="repairTime">
<el-date-picker v-model="postForm.repairTime" type="datetime" placeholder="选择日期"
style="width: 100%;" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="地点" prop="place">
<el-input v-model="postForm.place" placeholder="地点" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="处理状态" prop="disposeState">
<el-select v-model="postForm.disposeState" placeholder="处理状态" clearable style="width: 100%;">
<el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="报修时间:" prop="reportRepairTime">
<el-date-picker v-model="postForm.reportRepairTime" type="datetime" placeholder="选择日期"
style="width: 100%;" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评价" prop="evaluate">
<el-rate v-model="postForm.evaluate" :max="5"></el-rate>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="postForm.remark" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: center">
<el-button type="primary" v-show="isEditable" @click="submitForm">确 定</el-button>
<el-button @click="cancel">{{ isEditable ? '取 消' : '退 出' }}</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList"></pagination>
</div>
</template>
<script>
import {
getRepair,
queryRepair,
addRepair,
editRepair,
deleteRepair,
getRepairencode,//根据自编码获取设备信息
getRepairname
} from '@/api/smartSchool/schoolProperty/repairApplicant.js'
import { getUserList } from "../../../../api/smartSchool/schoolProperty/equipmenTledger";
export default {
name: 'repairApplicant',
dicts: ['dispose_state', 'repair_state'],
data() {
return {
isReadOnly: false,
sbflOptions: [],
repairStatusOptions: {
},
maintainState: '',
queryParams: {
equipmentName: "",
classificationCode: "",
repairState: "",
disposeState: "",
pageNum: 1,
pageSize: 10,
},
// 表格数据
applyTable: [],
// 查询表单
queryForm: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 是否只读
readonly: false,
// 多个禁用
multi: false,
// 显示搜索条件
showSearch: true,
// 信息列表
infoList: [],
// 数据总数
total: 0,
userList: [],
// 新增/修改表单
postForm: {
equipmentId: null,
classificationCode: "",
reportRepairId: "",
reportRepair: "",
problem: "",
repairId: "",
repairName: "",
repairPhone: "",
repairTime: "",
repairState: "",
disposeState: "",
evaluate: null,
remark: "",
equipmentName: null,
model: null,
place: null,
dateOfProduction: null
},
// 是否显示新增弹出层
open: false,
isEditable: true,
// 查看对话框
openLook: false,
// // 表单校验
rules: {
encode: [
{ required: true, message: "自编码不能为空", trigger: "blur" }
],
reportRepairId: [
{ required: true, message: "报修人不能为空", trigger: "blur" }
]
},
// 弹出层标题
title: '',
form: {
id: "",
maintainResult: "",
evaluate: 0,
}
}
},
created() {
this.postForm.evaluate = 5;
this.getList();
this.getRepairname();
this.getSelectUser();
},
methods: {
/** 获取列表数据 */
getList() {
getRepair(this.queryParams).then(response => {
this.loading = false;
this.applyTable = response.rows;
console.log('this.applyTable', this.applyTable);
this.total = response.total;
}).catch(err => {
this.loading = false;
})
},
/** 查看 */
handleLook(row) {
this.form = row;
const id = row.id || this.ids;
queryRepair(id).then(response => {
this.postForm = response.data;
this.open = true;
this.isEditable = false
}).catch(err => {
})
this.title = "查看";
},
//获取报修人数据
getSelectUser() {
getUserList().then(res => {
if (res.code == 200) {
this.userList = res.rows
}
})
},
// 重置按钮
resetQuery() {
this.queryParams = {
id: "",
repairsTime: null,
pageNum: 1,
pageSize: 10,
}
this.getList(); // 重新发一次请求
},
// 新增按钮操作
handleAdd() {
this.isShow = true;
this.isDisabled = false;
this.open = true;
this.title = "添加申请";
this.reset();
},
// 根据自编码获取设备信息
getRencode() {
const code = this.postForm.encode
getRepairencode(code).then(res => {
if (res.code == 200) {
this.postForm.equipmentId = res.data.equipmentId
this.postForm.model = res.data.model
this.postForm.equipmentName = res.data.equipmentName
this.postForm.dateOfProduction = res.data.dateOfProduction
}
})
},
//获取修理人下拉框
getRepairname() {
getRepairname().then(((res) => {
if (res.code == 200) {
this.sbflOptions = res.data;
console.log('this.sbflOptions', this.sbflOptions);
}
})).catch(err => {
})
},
// 修改按钮操作
handleUpdate(row) {
const id = row.id || this.ids;
this.title = "修改申请";
queryRepair(id).then(response => {
this.postForm = response.data;
this.open = true;
this.isEditable = true;
}).catch(err => {
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除"' + ids + '"的数据项?').then(function () {
return deleteRepair(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
// 提交表单
submitForm() {
const reportRepairId = this.postForm.reportRepairId;
this.postForm.reportRepair = reportRepairId == '' ? '' : this.userList.find(item => item.userId == reportRepairId).userName;
this.$refs["postForm"].validate(valid => {
if (valid) {
this.$modal.loading('正在上传数据,请稍等...');
if (this.postForm.disposeState === "1" || this.postForm.disposeState === "0") {
this.postForm.repairState = "1";
} else if (this.postForm.disposeState === null) {
this.postForm.repairState = "0";
} else {
this.postForm.repairState = "0"; // 当 disposeState 不满足上述条件时,默认设置为 0
}
if (this.postForm.id != null) {
editRepair(this.postForm).then(response => {
console.log('this.postForm',);
this.$modal.closeLoading();
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
} else {
if (this.postForm.disposeState === "1" || this.postForm.disposeState === "0") {
this.postForm.repairState = "1";
} else if (this.postForm.disposeState === null) {
this.postForm.repairState = "0";
} else {
this.postForm.repairState = "0"; // 当 disposeState 不满足上述条件时,默认设置为 0
}
addRepair(this.postForm).then(response => {
console.log(this.postForm);
this.$modal.closeLoading();
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
}
}
}
);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
reset() {
// 这里需要重置对话框表单
this.postForm = {
equipmentId: null,
classificationCode: "",
reportRepairId: "",
reportRepair: "",
problem: "",
repairId: "",
repairName: "",
repairPhone: "",
repairTime: "",
repairState: "",
disposeState: "",
evaluate: null,
remark: "",
equipmentName: null,
model: null,
place: null,
dateOfProduction: null
};
},
}
}
</script>
<style>
.hidden-item {
display: none;
}
</style>
......@@ -92,7 +92,9 @@
<el-table-column label="工号" align="center" prop="teacherCode"/>
<el-table-column label="职务" align="center" prop="teacherPost"/>
<el-table-column label="电话号码" align="center" prop="teacherTel"/>
<el-table-column label="家庭住址" align="center" prop="homeAddress"/>
<el-table-column label="职务" align="center" prop="teacherPost"/>
<el-table-column label="电话号码" align="center" prop="teacherTel"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
......
......@@ -2,25 +2,11 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学年" prop="schoolYear">
<el-input
v-model="queryParams.schoolYear"
placeholder="请输入学年"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.schoolYear" placeholder="请输入学年" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="年级" prop="gradeValue">
<el-select
v-model="queryParams.gradeValue"
clearable
placeholder="请选择年级"
style="width: 100%;"
>
<el-option
v-for="dict in dict.type.Grade"
:key="dict.value"
:label="dict.label"
:value="dict.value">
<el-select v-model="queryParams.gradeValue" clearable placeholder="请选择年级" style="width: 100%;">
<el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
......@@ -31,38 +17,18 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:grade:add']"
> 新 增
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:grade:add']"> 新 增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:grade:edit']"
> 修 改
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:grade:edit']"> 修 改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:grade:remove']"
> 删 除
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:grade:remove']"> 删 除
</el-button>
</el-col>
<el-col :span="1.5">
......@@ -84,114 +50,65 @@
</el-row>
<el-table :data="gradeList" v-loading="loading" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="届/级" align="center" min-width="100" prop="gradeYear">
<template slot-scope="scope">
<span>{{ scope.row.gradeYear }}</span>
</template>
</el-table-column>
<el-table-column label="级部名称" align="center" min-width="150" prop="gradeName"/>
<el-table-column label="学年" align="center" min-width="100" prop="schoolYear"/>
<el-table-column label="级部名称" align="center" min-width="150" prop="gradeName" />
<el-table-column label="学年" align="center" min-width="100" prop="schoolYear" />
<el-table-column label="年级" align="center" min-width="110" prop="gradeValue">
<template slot-scope="scope">
<dict-tag :options="dict.type.Grade" :value="scope.row.gradeValue"/>
<dict-tag :options="dict.type.Grade" :value="scope.row.gradeValue" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="300" prop="remark"/>
<el-table-column label="备注" align="center" min-width="300" prop="remark" />
<el-table-column label="操作" min-width="250" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="gradeMemberList(scope.row)"
v-hasPermi="['system:grade:edit']"
>级部成员
<el-button size="mini" type="text" icon="el-icon-edit" @click="gradeMemberList(scope.row)"
v-hasPermi="['system:grade:edit']">级部成员
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:grade:edit']"
>修改
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:grade:edit']">修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:grade:remove']"
>删除
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:grade: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"
/>
<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="100px">
<el-form-item label="届/级:" prop="gradeYear">
<el-date-picker
style="width: 100%;"
value-format="yyyy"
v-model="form.gradeYear"
type="year"
<el-date-picker style="width: 100%;" value-format="yyyy" v-model="form.gradeYear" type="year"
placeholder="请选择届/级">
</el-date-picker>
</el-form-item>
<el-form-item label="级部名称:" prop="gradeName">
<el-input
disabled
v-model="form.gradeName"
placeholder="请选择上方的届/级"
clearable
/>
<el-input disabled v-model="form.gradeName" placeholder="请选择上方的届/级" clearable />
</el-form-item>
<el-form-item label="学年:" prop="schoolYear">
<el-date-picker
style="width: 100%;"
v-model="form.schoolYear"
value-format="yyyy"
type="year"
:picker-options="pickerOptions"
placeholder="选择学年">
<el-date-picker style="width: 100%;" v-model="form.schoolYear" value-format="yyyy" type="year"
:picker-options="pickerOptions" placeholder="选择学年">
</el-date-picker>
</el-form-item>
<el-form-item label="年级:" prop="gradeValue">
<el-select
v-model="form.gradeValue"
disabled
clearable
style="width: 100%;"
placeholder="请选择上方的学年"
>
<el-option
v-for="dict in dict.type.Grade"
:key="dict.value"
:label="dict.label"
:value="Number(dict.value)">
<el-select v-model="form.gradeValue" disabled clearable style="width: 100%;" placeholder="请选择上方的学年">
<el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="Number(dict.value)">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
placeholder="请输入备注"
clearable
type="textarea"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="form.remark" placeholder="请输入备注" clearable type="textarea"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -261,10 +178,10 @@ export default {
form: {},
// 表单校验
rules: {
gradeYear: [{required: true, message: '届/级不能为空', trigger: 'change'}],
gradeName: [{required: true, message: '级部名称不能为空', trigger: 'blur'}],
schoolYear: [{required: true, message: '学年不能为空', trigger: 'change'}],
gradeValue: [{required: true, message: '年级不能为空', trigger: 'change'}],
gradeYear: [{ required: true, message: '届/级不能为空', trigger: 'change' }],
gradeName: [{ required: true, message: '级部名称不能为空', trigger: 'blur' }],
schoolYear: [{ required: true, message: '学年不能为空', trigger: 'change' }],
gradeValue: [{ required: true, message: '年级不能为空', trigger: 'change' }],
// remark: [{required: true, message: '备注不能为空', trigger: 'blur'}],
},
pickerOptions: {
......@@ -323,6 +240,8 @@ export default {
type: 'success',
message: '升级操作成功!'
});
this.getList();
} else {
this.$modal.msgError("升级操作失败");
}
......
......@@ -8,17 +8,17 @@
</el-form-item>
<el-form-item label="年级:" prop="gradeValue">
<el-select v-model="queryParams.gradeValue" style="width:100%;" placeholder="请选择学生年级">
<el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="班级:" prop="classValue">
<el-select v-model="queryParams.classValue" style="width:100%;" placeholder="请选择学生班级">
<el-option v-for="dict in dict.type.Class" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in dict.type.Class" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="性别:" prop="sex">
<el-select v-model="queryParams.sex" style="width:100%;" placeholder="请选择学生性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="级/届:" prop="enrollmentYear">
......@@ -107,60 +107,59 @@
<el-table stripe v-loading="loading" width="100%" :cell-style="cellStyle" :data="studentList"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="selection" width="55" align="center" />
<el-table-column fixed="left" key="avatar" align="center" prop="avatar" label="头像">
<template slot-scope="scope">
<ListImage :image-url="isEmptyAvatar(scope.row.avatar, scope.row.sex)"></ListImage>
</template>
</el-table-column>
<el-table-column fixed="left" key="studentName" min-width="80px" align="center" prop="studentName" label="姓名"/>
<el-table-column key="grade" min-width="100px" align="center" prop="classAlias" label="班级"/>
<el-table-column fixed="left" key="studentName" min-width="80px" align="center" prop="studentName" label="姓名" />
<el-table-column key="grade" min-width="100px" align="center" prop="classAlias" label="班级" />
<el-table-column key="sex" min-width="50" align="center" prop="sex" label="性别">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"></dict-tag>
</template>
</el-table-column>
<el-table-column key="nation" width="100" align="center" prop="nation" label="民族"/>
<el-table-column key="nation" width="100" align="center" prop="nation" label="民族" />
<el-table-column key="nativePlace" min-width="100" header-align="center" align="center" prop="nativePlace"
label="籍贯" show-overflow-tooltip></el-table-column>
<el-table-column key="idCard" width="180" align="center" prop="idCard" label="身份证号"/>
<el-table-column key="stuTelephone" width="130" align="center" prop="stuTelephone" label="联系电话"/>
<el-table-column key="birthAddress" width="150" align="center" prop="birthAddress" label="出生地"/>
<el-table-column key="postalCode" width="150" align="center" prop="postalCode" label="邮政编码"/>
<el-table-column key="enrollmentYear" width="100" align="center" prop="enrollmentYear" label="级/届"/>
<el-table-column key="idCard" width="180" align="center" prop="idCard" label="身份证号" />
<el-table-column key="schoolNo" width="100" align="center" prop="schoolNo" label="注册序号" />
<el-table-column key="stuTelephone" width="130" align="center" prop="stuTelephone" label="联系电话" />
<el-table-column key="birthAddress" width="150" align="center" prop="birthAddress" label="出生地" />
<el-table-column key="postalCode" width="150" align="center" prop="postalCode" label="邮政编码" />
<el-table-column key="enrollmentYear" width="100" align="center" prop="enrollmentYear" label="级/届" />
<el-table-column key="enrollmentTime" min-width="100" header-align="center" align="center" prop="enrollmentTime"
label="入学时间" show-overflow-tooltip></el-table-column>
<el-table-column key="platform" width="180" align="center" prop="platform" label="平台"/>
<el-table-column key="platform" width="180" align="center" prop="platform" label="平台" />
<el-table-column key="studentType" width="130" align="center" prop="studentType" label="学生类型">
<template slot-scope="scope">
<dict-tag :options="dict.type.student_type" :value="scope.row.studentType"></dict-tag>
</template>
</el-table-column>
<el-table-column key="provincialNumber" width="150" align="center" prop="provincialNumber" label="省学籍辅号"/>
<el-table-column key="nationalNumber" width="150" align="center" prop="nationalNumber" label="全国学籍号"/>
<el-table-column key="provincialNumber" width="150" align="center" prop="provincialNumber" label="省学籍辅号" />
<el-table-column key="nationalNumber" width="150" align="center" prop="nationalNumber" label="全国学籍号" />
<el-table-column key="studentStatus" width="80" align="center" prop="studentStatus" label="学生状态">
<template slot-scope="scope">
<dict-tag :options="dict.type.child_state" :value="scope.row.studentStatus"></dict-tag>
</template>
</el-table-column>
<el-table-column key="schoolNo" width="100" align="center" prop="schoolNo" label="注册序号"/>
<el-table-column key="registeredAddress" min-width="100" header-align="center" align="center"
prop="registeredAddress" label="户口所在地" show-overflow-tooltip></el-table-column>
<el-table-column key="registeredType" width="180" align="center" prop="registeredType" label="户口性质">
<template slot-scope="scope">
<dict-tag :options="dict.type.regist_type" :value="scope.row.registeredType"/>
<dict-tag :options="dict.type.regist_type" :value="scope.row.registeredType" />
</template>
</el-table-column>
<el-table-column key="juniorSchool" width="130" align="center" prop="juniorSchool" label="初中学校"/>
<el-table-column key="region" width="150" align="center" prop="region" label="国家地区"/>
<el-table-column key="foreignLanguages" width="150" align="center" prop="foreignLanguages" label="外语语种"/>
<el-table-column key="juniorSchool" width="130" align="center" prop="juniorSchool" label="初中学校" />
<el-table-column key="region" width="150" align="center" prop="region" label="国家地区" />
<el-table-column key="foreignLanguages" width="150" align="center" prop="foreignLanguages" label="外语语种" />
<el-table-column key="appearance" width="150" align="center" prop="appearance" label="政治面貌">
<template slot-scope="scope">
<dict-tag :options="dict.type.politics_tatus" :value="scope.row.appearance"></dict-tag>
</template>
</el-table-column>
<el-table-column key="birthday" width="120" sortable align="center" prop="birthday"
label="出生日期"></el-table-column>
<el-table-column key="birthday" width="120" sortable align="center" prop="birthday" label="出生日期"></el-table-column>
<el-table-column key="homeAddress" min-width="200" align="center" prop="homeAddress" label="家庭住址"
show-overflow-tooltip>
<template v-slot="scope">
......@@ -169,15 +168,14 @@
</span>
</template>
</el-table-column>
<el-table-column key="bloodType" width="100" align="center" prop="bloodType" label="血型"/>
<el-table-column key="bloodType" width="100" align="center" prop="bloodType" label="血型" />
<el-table-column key="health" min-width="100" header-align="center" align="center" prop="health" label="健康状况"
show-overflow-tooltip></el-table-column>
<el-table-column key="otherRegions" width="180" align="center" prop="otherRegions" label="港澳台侨"/>
<el-table-column key="floatingPopulation" width="130" align="center" prop="floatingPopulation"
label="流动人口状况"/>
<el-table-column key="otherRegions" width="180" align="center" prop="otherRegions" label="港澳台侨" />
<el-table-column key="floatingPopulation" width="130" align="center" prop="floatingPopulation" label="流动人口状况" />
<el-table-column key="onlyChild" width="150" align="center" prop="onlyChild" label="独生子女">
<template slot-scope="scope">
<dict-tag :options="dict.type.only_child" :value="scope.row.onlyChild"/>
<dict-tag :options="dict.type.only_child" :value="scope.row.onlyChild" />
</template>
</el-table-column>
<el-table-column key="nature" width="150" align="center" prop="nature" label="性质">
......@@ -203,17 +201,16 @@
</el-table>
<ExPagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
@pagination="getList" />
<!-- 添加或修改学生对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" @close="dialogClose">
<el-form ref="form" :model="form" label-width="114px" :rules="rules" :disabled="formDisabled">
<el-form-item prop="avatar" label-width="0" style="display: flex; justify-content: center;">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false"
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" :show-file-list="false"
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.avatar" :src="baseUrl + form.avatar" style="width: 178px; height: 178px;" class="avatar"
alt=""/>
alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<div slot="error">
......@@ -302,8 +299,7 @@
<el-col :span="8">
<el-form-item label="民族:" prop="nation">
<el-select :disabled="isEditMode" v-model="form.nation" placeholder="请选择民族" style="width: 100%">
<el-option v-for="item in Nations" :key="item.label" :label="item.label"
:value="item.label"></el-option>
<el-option v-for="item in Nations" :key="item.label" :label="item.label" :value="item.label"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -384,10 +380,7 @@
<el-col :span="8">
<el-form-item label="户口性质:" prop="registeredType">
<el-select v-model="form.registeredType" style="width: 100%" placeholder="请输入户口性质">
<el-option
v-for="dict in dict.type.regist_type"
:key="dict.value"
:label="dict.label"
<el-option v-for="dict in dict.type.regist_type" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
......@@ -441,11 +434,7 @@
<el-col :span="8">
<el-form-item label="独生子女:" prop="onlyChild">
<el-select v-model="form.onlyChild" style="width: 100%" placeholder="请选择是否为独生子女">
<el-option
v-for="dict in dict.type.only_child"
:key="dict.value"
:label="dict.label"
:value="dict.value">
<el-option v-for="dict in dict.type.only_child" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
......@@ -468,12 +457,12 @@
</el-col>
</el-row>
<div v-if="lookOpen">
<br/> <br/> <br/>
<br /> <br /> <br />
<b>班级信息</b>
<br/> <br/>
<br /> <br />
<el-table :data="studentClassRelation" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="240" align="center"/>
<el-table-column type="index" label="序号" width="240" align="center" />
<el-table-column prop="" label="学年" width="240" align="center">{{
studentClassRelation[0].schoolYear
}}
......@@ -483,46 +472,46 @@
}}
</el-table-column>
</el-table>
<br/> <br/> <br/>
<br /> <br /> <br />
<b>家长信息</b>
<br/> <br/>
<br /> <br />
<el-table :data="studentParents" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="60" align="center"/>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="relationship" label="关系" min-width="60" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.relationship" :value="scope.row.relationship"/>
<dict-tag :options="dict.type.relationship" :value="scope.row.relationship" />
</template>
</el-table-column>
<el-table-column prop="parentName" label="家长姓名" align="center"/>
<el-table-column prop="telephone" label="联系电话" min-width="120" align="center"/>
<el-table-column prop="idCard" label="身份证号" min-width="160" align="center"/>
<el-table-column label="工作地址" align="center" prop="workAddress" min-width="120"/>
<el-table-column label="联系地址" align="center" prop="contactAddress" min-width="120"/>
<el-table-column label="邮政编码" align="center" prop="postalCode" min-width="120"/>
<el-table-column prop="parentName" label="家长姓名" align="center" />
<el-table-column prop="telephone" label="联系电话" min-width="120" align="center" />
<el-table-column prop="idCard" label="身份证号" min-width="160" align="center" />
<el-table-column label="工作地址" align="center" prop="workAddress" min-width="120" />
<el-table-column label="联系地址" align="center" prop="contactAddress" min-width="120" />
<el-table-column label="邮政编码" align="center" prop="postalCode" min-width="120" />
</el-table>
<br/> <br/> <br/>
<br /> <br /> <br />
<b>关键信息变更</b>
<br/> <br/>
<br /> <br />
<el-table :data="studentInfoChange" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="240" align="center"/>
<el-table-column prop="studentName" label="曾:姓名" width="240" align="center"/>
<el-table-column prop="idCard" label="曾:历史身份证号" align="center"/>
<el-table-column prop="nation" label="曾:民族" align="center"/>
<el-table-column type="index" label="序号" width="240" align="center" />
<el-table-column prop="studentName" label="曾:姓名" width="240" align="center" />
<el-table-column prop="idCard" label="曾:历史身份证号" align="center" />
<el-table-column prop="nation" label="曾:民族" align="center" />
</el-table>
<br/> <br/> <br/>
<br /> <br /> <br />
<b>异动信息</b>
<br/> <br/>
<br /> <br />
<el-table :data="studentTurnover" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="60" align="center"/>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="changeType" label="异动类型" min-width="140" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.change_type" :value="scope.row.changeType"/>
<dict-tag :options="dict.type.change_type" :value="scope.row.changeType" />
</template>
</el-table-column>
<el-table-column prop="remark" min-width="240" label="说明" align="center"/>
<el-table-column prop="remark" min-width="240" label="说明" align="center" />
</el-table>
</div>
</el-form>
......@@ -573,11 +562,11 @@
</el-col>
<el-col :span="7">
<el-switch v-model="permissionState1" :width="50" active-color="#13ce66" active-value="1" inactive-value="0"
@change="(state) => permissionAlter(state, '级部')"/>
@change="(state) => permissionAlter(state, '级部')" />
</el-col>
</el-row>
<br/>
<br />
<el-row>
<el-col :span="17">
<span>班主任修改权限</span>
......@@ -588,7 +577,7 @@
</el-switch>
</el-col>
</el-row>
<br/>
<br />
<el-row>
<el-col :span="17">
<span>家长修改权限</span>
......@@ -622,18 +611,18 @@ import {
getPermission,
getAllInfo,
} from '@/api/smartSchool/teachAffairAdministration/affairStudentManage'
import {getToken} from '@/utils/auth'
import {CustomCellStyle} from '@/enums/customStyle'
import {getClassList} from '@/api/smartSchool/classManage'
import { getToken } from '@/utils/auth'
import { CustomCellStyle } from '@/enums/customStyle'
import { getClassList } from '@/api/smartSchool/classManage'
import PicAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
import {uploadImage as commonUpload} from '@/api/common'
import {ExportType, Gender, Nations, Area} from '@/enums/common'
import {getYearList} from '@/utils/utilLibrary/getYearList'
import {getNewYear} from "@/api/smartSchool/teachAffairAdministration/affairClassView";
import { uploadImage as commonUpload } from '@/api/common'
import { ExportType, Gender, Nations, Area } from '@/enums/common'
import { getYearList } from '@/utils/utilLibrary/getYearList'
import { getNewYear } from "@/api/smartSchool/teachAffairAdministration/affairClassView";
export default {
name: 'AffairStudentManage',
components: {ClassSelect, PicAvatar},
components: { ClassSelect, PicAvatar },
dicts: ['only_child', 'regist_type', 'politics_tatus', 'sys_user_sex', 'Grade', 'Class', 'student_type', 'Whether_Delete', 'child_state', 'student_nature', "change_type", 'relationship'],
data() {
return {
......@@ -711,19 +700,19 @@ export default {
// 表单校验
rules: {
idCard: [
{required: true, message: "身份证号不能为空", trigger: 'blur'},
{validator: this.validID, trigger: 'blur'}
{ required: true, message: "身份证号不能为空", trigger: 'blur' },
{ validator: this.validID, trigger: 'blur' }
],
nation: [{required: true, message: '民族不能为空', trigger: 'blur'}],
studentName: [{required: true, message: '学生姓名不能为空', trigger: 'blur'}],
birthday: [{required: true, message: '出生日期不能为空', trigger: 'blur'}],
nativePlace: [{required: true, message: '籍贯不能为空', trigger: 'blur'}],
sex: [{required: true, message: '学生姓名不能为空', trigger: 'blur'}],
schoolNo: [{required: true, message: '注册序号不能为空', trigger: 'blur'}],
studentType: [{required: true, message: '学生类型不能为空', trigger: 'change'}],
studentStatus: [{required: true, message: '学生状态不能为空', trigger: 'change'}],
classAlias: [{required: true, message: '班级不能为空', trigger: 'change'}],
provincialNumber: [{required: true, message: '省学籍辅号不能为空', trigger: 'blur'}],
nation: [{ required: true, message: '民族不能为空', trigger: 'blur' }],
studentName: [{ required: true, message: '学生姓名不能为空', trigger: 'blur' }],
birthday: [{ required: true, message: '出生日期不能为空', trigger: 'blur' }],
nativePlace: [{ required: true, message: '籍贯不能为空', trigger: 'blur' }],
sex: [{ required: true, message: '学生姓名不能为空', trigger: 'blur' }],
schoolNo: [{ required: true, message: '注册序号不能为空', trigger: 'blur' }],
studentType: [{ required: true, message: '学生类型不能为空', trigger: 'change' }],
studentStatus: [{ required: true, message: '学生状态不能为空', trigger: 'change' }],
classAlias: [{ required: true, message: '班级不能为空', trigger: 'change' }],
provincialNumber: [{ required: true, message: '省学籍辅号不能为空', trigger: 'blur' }],
},
// 班级编辑表单
classForm: {
......@@ -751,7 +740,7 @@ export default {
// 是否更新已经存在的学生数据
updateSupport: 0,
// 设置上传的请求头部
headers: {Authorization: 'Bearer ' + getToken()},
headers: { Authorization: 'Bearer ' + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + '/school/student/importData'
},
......@@ -948,14 +937,14 @@ export default {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != undefined) {
updateStudent(this.form).then(({code}) => {
updateStudent(this.form).then(({ code }) => {
if (code == 200) {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
}
}).catch(() => {
this.$modal.msgError("修改失败");
}
)
} else {
......@@ -964,7 +953,7 @@ export default {
this.open = false
this.getList()
}).catch(() => {
this.$modal.msgError("新增失败");
}
)
}
......@@ -1000,7 +989,7 @@ export default {
this.upload.open = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', {dangerouslyUseHTMLString: true})
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })
this.getList()
},
// 提交上传文件
......@@ -1016,9 +1005,9 @@ export default {
exportFile(callback) {
const ids = this.ids
const options = [
{type: ExportType.TOTAL, path: '/school/student/export', params: {}},
{type: ExportType.SELECT, path: '/school/student/export/' + ids, params: {}},
{type: ExportType.QUERY, path: '/school/student/export', params: this.queryParams}
{ type: ExportType.TOTAL, path: '/school/student/export', params: {} },
{ type: ExportType.SELECT, path: '/school/student/export/' + ids, params: {} },
{ type: ExportType.QUERY, path: '/school/student/export', params: this.queryParams }
]
callback(options, `学生信息${new Date().getTime()}.xlsx`)
},
......@@ -1076,14 +1065,14 @@ export default {
const id = row.id
this.$router.push({
path: '/studentmanage/stuclass',
query: {studentId: row.id}
query: { studentId: row.id }
})
},
/**教务管理--学生管理---家长信息*/
parentsEdit(row) {
this.$router.push({
path: '/teachAffairAdministration/studentManage/parentInfo',
query: {studentId: row.id}
query: { studentId: row.id }
})
},
// 学生积分
......
<template>
<div class="app-container">
<!-- <div id="gradeEcharts" :style="{ width: '100%', height: '600px' }"></div>-->
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="70px">
<el-form-item label="学年" prop="classYear">
<el-date-picker v-model="queryForm.classYear" clearable type="year" value-format="yyyy" style="width: 100%"
placeholder="选择年度"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="gradeAgeList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-table
:data="tableData"
border
stripe
style="width: 100%">
<el-table-column
prop="gradeName"
label="年级"
align="center"
width="180">
</el-form-item>
</el-form>
<el-table :data="tableData" border stripe style="width: 100%">
<el-table-column prop="gradeName" label="年级" align="center" width="180">
</el-table-column>
<el-table-column
prop="num13"
label="13岁"
align="center"
width="180">
<el-table-column prop="num13" label="13岁" align="center" width="180">
</el-table-column>
<el-table-column
prop="num14"
label="14岁"
align="center"
width="180">
<el-table-column prop="num14" label="14岁" align="center" width="180">
</el-table-column>
<el-table-column
prop="num15"
align="center"
label="15岁">
<el-table-column prop="num15" align="center" label="15岁">
</el-table-column>
<el-table-column
prop="num16"
align="center"
label="16岁">
<el-table-column prop="num16" align="center" label="16岁">
</el-table-column>
<el-table-column
prop="num17"
align="center"
label="17岁">
<el-table-column prop="num17" align="center" label="17岁">
</el-table-column>
<el-table-column
prop="num18"
align="center"
label="18岁">
<el-table-column prop="num18" align="center" label="18岁">
</el-table-column>
<el-table-column
prop="num19"
align="center"
label="19岁">
<el-table-column prop="num19" align="center" label="19岁">
</el-table-column>
<el-table-column
prop="num20"
align="center"
label="20岁">
<el-table-column prop="num20" align="center" label="20岁">
</el-table-column>
<el-table-column
prop="num21"
align="center"
label="21岁">
<el-table-column prop="num21" align="center" label="21岁">
</el-table-column>
<el-table-column
prop="num22"
align="center"
label="22岁">
<el-table-column prop="num22" align="center" label="22岁">
</el-table-column>
</el-table>
</div>
......@@ -71,25 +40,29 @@
<script>
import * as echarts from 'echarts';
import {listGradeAge} from "@/api/smartSchool/teachAffairAdministration/ageStatistics";
import { listGradeAge } from "@/api/smartSchool/teachAffairAdministration/ageStatistics";
export default {
name: "index",
created() {
this.gradeAgeList()
this.gradeAgeList();
this.getNowYear();
},
mounted() {
// console.log(echarts, 'create')
// // 基于准备好的dom,初始化echarts实例
// let myChart = echarts.init(document.getElementById('gradeEcharts'));
// // 绘制图表
// myChart.setOption(this.gradeData);
// window.addEventListener("resize", function () {
// myChart.resize()
// })
// console.log(echarts, 'create')
// // 基于准备好的dom,初始化echarts实例
// let myChart = echarts.init(document.getElementById('gradeEcharts'));
// // 绘制图表
// myChart.setOption(this.gradeData);
// window.addEventListener("resize", function () {
// myChart.resize()
// })
},
data() {
return {
queryForm: {
classYear: '',
},
tableData: [],
gradeData: {
title: {
......@@ -172,12 +145,23 @@ export default {
}
},
methods: {
gradeAgeList() {
listGradeAge().then((res) => {
listGradeAge(this.classYear).then((res) => {
this.tableData = res.rows
console.log('this.tableData', this.tableData);
})
},
//获得当前年份
getNowYear() {
this.classYear = new Date().getFullYear() + '';
},
// 重置按钮
resetQuery() {
this.getNowYear();
this.getList();
},
/** 【导出】按钮 */
handleExport() {
this.throttle(() => {
......@@ -188,6 +172,4 @@ export default {
}
</script>
<style scoped>
</style>
<style scoped></style>
......@@ -209,14 +209,14 @@
prop="teacherTel"
/>
<el-table-column
label="学历"
label="职工类型"
align="center"
prop="education"
prop="employeeType"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.education"
:value="scope.row.education"
:options="dict.type.employee_type"
:value="scope.row.employeeType"
/>
</template>
</el-table-column>
......@@ -358,15 +358,15 @@
@export="exportFile"
></ExportTable>
<!-- 添加或修改学校老师对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="60%" append-to-body>
<el-form
size="small"
ref="form"
:model="form"
:rules="rules"
:disabled="isDisabled"
label-width="80px"
style="width: 100%;"
label-width="120px"
>
<el-row :gutter="40">
<el-col :span="12" style="text-align: center;">
......@@ -904,6 +904,7 @@ export default {
this.loading = true;
listInform(this.queryParams).then((response) => {
this.informList = response.rows;
this.total = response.total;
this.loading = false;
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment