Commit a72d21bd by zhaopanyu

zpy 10.27

parent b969a69b
......@@ -119,7 +119,7 @@ export default {
},
selectedRows: [], // 用于存储选择的行数据
//表格数据
tableData: [ ],
tableData: [],
nowType: 0, // 0新增、1编辑、2查看
title: '',
// 弹窗
......@@ -140,9 +140,9 @@ export default {
// 重新渲染表格状态
refreshTable: true,
rules: {
parentId: [
{ required: true, message: "上级分类不能为空", trigger: "blur" }
],
// parentId: [
// { required: true, message: "上级分类不能为空", trigger: "blur" }
// ],
instrumentTypeName: [
{ required: true, message: "仪器名称不能为空", trigger: "blur" }
],
......@@ -210,7 +210,7 @@ export default {
Object.keys(this.form).forEach(key => {
if (res.data[key]) {
this.$set(this.form, key, res.data[key]);
}
});
}
......
......@@ -58,7 +58,7 @@
<el-col :span="20">
<el-form-item label="仪器分类" prop="instrumentTypeName">
<treeselect v-model="form.instrumentTypeName" :options="equiList" :normalizer="normalizer"
placeholder="选择" clearable style="width: 100%" noOptionsText="暂无数据"/>
placeholder="选择" clearable style="width: 100%" noOptionsText="暂无数据" />
</el-form-item>
</el-col>
</el-row>
......@@ -399,6 +399,8 @@ export default {
},
// 仪器确定
submitparentForm: function () {
const useId = this.form.useId
this.form.useName = useId == '' ? '' : this.equiList.find(item => item.userId == useId).userName
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
......
......@@ -19,6 +19,7 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleOption(0)">新增</el-button>
</el-col>
</el-row>
<el-table border v-loading="loading" :data="competitionData" stripe>
<el-table-column fixed="left" label="序号" type="index" width="55" align="center" />
......@@ -36,14 +37,13 @@
<div>{{ selectDictLabel(dict.type.competition_level, row.competitionLevel) }}</div>
</template>
</el-table-column>
<el-table-column label="证书照片" align="center" prop="schoolAccessoryList">
<el-table-column label="证书照片" align="center">
<template slot-scope="scope">
<el-carousel :interval="4000" height="100px">
<el-carousel-item v-for="(item, index) in scope.row.schoolAccessoryList" :key="index">
<el-image style="width: 100px; height: 100px" :src="item.accessoryUrl"
:preview-src-list="[item.accessoryUrl]"></el-image>
</el-carousel-item>
</el-carousel>
<div>
<el-image v-for="(accessory, index) in scope.row.schoolAccessoryList" :key="index"
style="width: 100px; height: 100px" :src="accessory.accessoryUrl"
:preview-src-list="[accessory.accessoryUrl]"></el-image>
</div>
</template>
</el-table-column>
......@@ -60,6 +60,7 @@
</el-table>
<pagination ref="pageBlock" v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 新增、编辑、查看弹窗 -->
<el-dialog title="详细信息" :visible.sync="dialogVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="108px" :disabled="isEdit" :rules="rules">
......@@ -71,8 +72,8 @@
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="参赛老师" prop="teacherName">
<el-select v-model="form.teacherName" placeholder="请选择级部" clearable style="width: 100%;"
<el-form-item label="参赛老师" prop="teacherId">
<el-select v-model="form.teacherId" placeholder="请选择" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false">
<el-option v-for="(item, index) in teacherList" :key="index" :label="item.userName"
:value="item.userId"></el-option>
......@@ -120,12 +121,9 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"
:http-request="uploadImage">
<div v-if="form.schoolAccessoryList && form.schoolAccessoryList.length > 0">
<el-image v-for="(photo, index) in form.schoolAccessoryList" :key="index"
style="width: 100px; height: 100px; margin-right: 10px" :src="photo.accessoryUrl"
:preview-src-list="[photo.accessoryUrl]"></el-image>
</div>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
<img v-for="item in form.schoolAccessoryList" :key="item.accessoryUrl" :src="item.accessoryUrl"
class="avatar" />
<i v-if="form.schoolAccessoryList.length === 0" class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
......@@ -157,12 +155,14 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog ref="previewDialog" title="预览图片" :visible.sync="previewDialogVisible">
<el-image style="width: 100%; max-height: 80vh; object-fit: contain" :src="previewImageUrl"
fit="contain"></el-image>
</el-dialog>
</div>
</template>
<script>
import {
addCompetition,
......@@ -189,14 +189,10 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
competitionType: "",
competitionName: "",
},
previewImageUrl: '',
//获取子组件传来的信息
pic: [],
// 图片路径
imageUrl: undefined,
isEdit: false,
nowType: 0, // 0新增、1修改、2查看
uploadLoading: false,
......@@ -238,13 +234,12 @@ export default {
competitionLevel: [
{ required: true, message: "比赛级别不能为空", trigger: "change" }
],
schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" }
],
// schoolAccessoryList: [
// { required: true, message: "证书照片不能为空", trigger: "change" }
// ],
competitionName: [
{ required: true, message: "比赛项目名称不能为空", trigger: "change" }
],
},
previewDialogVisible: false,
teacherList: [],
......@@ -271,19 +266,25 @@ export default {
},
//获取列表数据
getList() {
getCompetition(this.queryParams).then(response => {
this.competitionData = response.rows.map(item => {
item.previewUrls = item.schoolAccessoryList.map(accessory => accessory.accessoryUrl);
item.pictureUrl = item.schoolAccessoryList[0]?.accessoryUrl || ''; // 取第一个照片的URL或者为空字符串
return item;
});
getCompetition(this.queryForm).then(response => {
this.competitionData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
this.competitionData.forEach(item => {
if (item.schoolAccessoryList) {
item.previewUrls = [item.schoolAccessoryList.map(accessory => accessory.accessoryUrl)];
item.pictureUrl = item.schoolAccessoryList.map(accessory => accessory.accessoryUrl);
} else {
item.previewUrls = [];
item.pictureUrl = [];
}
});
});
},
//获取图片信息
getSchoolInfoPic(val) {
this.pic = val
......@@ -293,10 +294,17 @@ export default {
this.imageUrl = undefined
},
// 上传成功回调
handleAvatarSuccess(res, file) {
this.imageUrl = res.data.url
this.commonUpload(file)
handleAvatarSuccess(response, file) {
// 处理上传成功的逻辑
const accessoryUrl = response.data.url; // 假设响应中包含了图片的访问URL
const accessoryName = file.name; // 获取上传文件的名称
this.form.schoolAccessoryList.push({
accessoryUrl: accessoryUrl,
accessoryName: accessoryName
});
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png'
......@@ -312,30 +320,26 @@ export default {
// 上传图片
uploadImage(file) {
const fileData = file.file;
const formData = new FormData();
formData.append('file', fileData);
this.uploadLoading = true;
// Upload the file and add the uploaded file to the schoolAccessoryList
const fileData = file.file
const formData = new FormData()
formData.append('file', fileData)
this.uploadLoading = true
commonUpload(formData)
.then(response => {
this.uploadLoading = false;
this.$modal.msgSuccess('上传成功');
// Add the uploaded file to the schoolAccessoryList
this.form.schoolAccessoryList.push({
this.uploadLoading = false
this.$modal.msgSuccess('上传成功')
this.imageUrl = process.env.VUE_APP_BASE_API + response.url
// 添加以下代码将文件信息添加到 uploadedFiles 数组中
this.uploadedFiles.push({
accessoryUrl: process.env.VUE_APP_BASE_API + response.url,
accessoryName: fileData.name
});
})
})
.catch(error => {
this.uploadLoading = false;
});
this.uploadLoading = false
})
},
//重置
resetQuery() {
this.queryParams = {
......@@ -348,6 +352,7 @@ export default {
},
//删除
handleDelete(row) {
this.$modal.confirm('是否确认删除选中数据?').then(() => {
......@@ -368,7 +373,6 @@ export default {
//编辑 0新增 1编辑 2查看
handleOption(type, row) {
this.imageUrl = '';
this.form.schoolAccessoryList = [];
this.form = {
id: '',
schoolYear: '',
......@@ -385,26 +389,23 @@ export default {
}
this.nowType = type;
if (type != 0) {
const id = row.id;
const id = row.id
getCompetitionxq(id).then(response => {
if (response.code == 200) {
Object.keys(this.form).forEach(key => {
if (response.data[key]) {
this.$set(this.form, key, response.data[key]);
}
});
// Populate the schoolAccessoryList with multiple images
if (response.data.schoolAccessoryList && response.data.schoolAccessoryList.length > 0) {
this.form.schoolAccessoryList = response.data.schoolAccessoryList;
}
if (response.data.schoolAccessoryList && response.data.schoolAccessoryList.length > 0) {
this.imageUrls = response.data.schoolAccessoryList.map(item => item.accessoryUrl); // 将所有证书照片的地址赋值给 imageUrls
}
})
}
});
})
}
this.dialogVisible = true;
},
//查询老师
getTeacher() {
getTeacher().then(response => {
......@@ -415,11 +416,13 @@ export default {
},
/** 提交按钮 */
submitForm: function () {
const teacherId = this.form.teacherId
this.form.teacherName = teacherId == '' ? '' : this.teacherList.find(item => item.userId == teacherId).userName
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != "") {
// 清空原有图片
this.form.schoolAccessoryList = [];
this.form.schoolAccessoryList.splice(0);
for (let i = 0; i < this.uploadedFiles.length; i++) {
const file = this.uploadedFiles[i];
this.form.schoolAccessoryList.push({
......@@ -427,6 +430,7 @@ export default {
accessoryName: file.accessoryName
});
}
updateCompetition(this.form).then(({ code }) => {
if (code == 200) {
this.$modal.msgSuccess('修改成功')
......@@ -449,6 +453,7 @@ export default {
}
addCompetition(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功')
this.dialogVisible = false
this.getList()
......@@ -461,6 +466,7 @@ export default {
},
cancel() {
this.dialogVisible = false;
},
......
......@@ -502,14 +502,13 @@ export default {
this.reset();
this.$set(this.form, 'teacherName', this.$store.state.user.name);
const id = row.id || this.ids;
this.formReady();
// this.formReady();
getTeacherLeave(id).then(response => {
this.form = response.data;
if (this.form.applyType == 0) {
this.form.startTime = this.getFormatDate(this.form.startTime)
this.form.endTime = this.getFormatDate(this.form.endTime)
}
this.dialogTeacherLeave = true;
this.dialogTitle = "修改教师请假信息";
});
......@@ -717,7 +716,6 @@ export default {
},
/** 【已提交】查看详情 */
handleDetail(row) {
this.form = row
this.progress.open = true;
},
......
......@@ -166,11 +166,17 @@
</el-col>
<el-col :span="12">
<el-form-item label="是否允许借出:" prop="isAllowLend">
<el-select v-model="form.isAllowLend" clearable placeholder="请选择是否允许借出"
:disabled="nowOptionType == 2 ? true : false" class="selectWidth">
<el-select v-if="form.affiliationType === '3'" v-model="form.isAllowLend" clearable placeholder="请选择是否允许借出"
:disabled="true" class="selectWidth">
<el-option :key="'0'" :label="'否'" :value="'0'" />
</el-select>
<el-select v-else v-model="form.isAllowLend" clearable placeholder="请选择是否允许借出"
:disabled="isAllowLendDisabled || (nowOptionType == 2)" class="selectWidth">
<el-option v-for="dict in dict.type.is_lend" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
......@@ -370,7 +376,10 @@ export default {
useId: '',
useName: '',
remark: '',
affiliationType: '', // 其他属性
isAllowLend: '', // 其他属性
},
isAllowLendDisabled: false, // 默认禁用状态为false
rules: { // 表单校验
equipmentName: [
{ required: true, message: '请输入设备名称', trigger: 'blur' },
......@@ -397,6 +406,17 @@ export default {
userList: [] //使用人列表
};
},
watch: {
'form.affiliationType'(newVal) {
if (newVal === '3') {
this.form.isAllowLend = '0'; // 固定为0
this.isAllowLendDisabled = true; // 禁用状态为true
} else {
this.isAllowLendDisabled = false; // 禁用状态为false
}
},
},
created() {
this.getClassificationCodeTree()
this.getList()
......@@ -624,7 +644,7 @@ export default {
//点击批量打印跳转
printBarcodes() {
const baseUrl = window.location.origin +'/printBarcodes';
const baseUrl = window.location.origin + '/printBarcodes';
console.log(baseUrl, 'baseUrl');
this.printList = this.chooseList;
console.log(11, this.printList);
......
......@@ -15,7 +15,7 @@
</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"
<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>
......@@ -43,12 +43,12 @@
<el-table-column align="center" prop="repairTime" label="修理时间" width="160px" />
<el-table-column align="center" prop="repairState" label="修理结果">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.dispose_state, row.repairState) }}</div>
<div>{{ selectDictLabel(dict.type.repair_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>
<div>{{ selectDictLabel(dict.type.dispose_state, row.disposeState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="evaluate" label="评价" width="150px">
......@@ -67,7 +67,7 @@
</el-table-column>
</el-table>
<!-- 新增/修改/查看对话框 -->
<el-dialog title="详细信息" :visible.sync="dialogVisible" width="1200px" append-to-body>
<el-dialog title="详细信息" :visible.sync="dialogVisible" width="1200px" append-to-body>
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
......@@ -145,10 +145,19 @@
<el-form-item label="处理状态" prop="disposeState">
<el-select v-model="postForm.disposeState" placeholder="处理状态" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false">
<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>
<!-- 根据处理状态为1显示repairState下拉框 -->
<el-form-item v-if="postForm.disposeState === '1'" label="维修状态" prop="repairState">
<el-select v-model="postForm.repairState" 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>
......@@ -260,7 +269,9 @@ export default {
reportRepairTime: "",
model: null,
place: null,
dateOfProduction: null
dateOfProduction: null,
disposeState: '', // 处理状态
repairState: '' // 维修状态
},
//报修人列表
......@@ -292,6 +303,14 @@ export default {
}
},
watch: {
'postForm.disposeState'(newVal) {
if (newVal === 0) {
this.postForm.repairState = ''; // 将repairState重置为空
}
}
},
created() {
this.getList();
......@@ -432,14 +451,6 @@ export default {
this.$refs["postForm"].validate(valid => {
if (valid) {
if (this.nowType == 1) { // 修改操作
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 => {
......@@ -453,14 +464,6 @@ export default {
});
}
} else if (this.nowType == 0) { // 新增操作
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.postForm);
......
......@@ -3,12 +3,10 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="queryParams.idCard" placeholder="请输入学生身份证" clearable
@keyup.enter.native="handleQuery"/>
<el-input v-model="queryParams.idCard" placeholder="请输入学生身份证" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="姓名" prop="studentName">
<el-input v-model="queryParams.studentName" placeholder="请输入姓名" clearable
@keyup.enter.native="handleQuery"/>
<el-input v-model="queryParams.studentName" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
......@@ -19,7 +17,7 @@
<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:turnover:add']">新增
v-hasPermi="['system:turnover:add']">新增
</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
......@@ -61,20 +59,20 @@
</el-row>
<el-table v-loading="loading" :data="turnoverList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="姓名" align="center" prop="studentName" minWidth="100"/>
<el-table-column label="性别" align="center" minWidth="55" prop="sex">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="姓名" align="center" prop="studentName" minWidth="100" />
<!-- <el-table-column label="性别" align="center" minWidth="55" prop="sex">
<template slot-scope="scope">
<div v-if="scope.row.sex == 0"></div>
<div v-if="scope.row.sex == 1"></div>
<div v-if="scope.row.sex == 1"></div> -->
<!-- <el-select v-model="scope.row.sex" disabled filterable remote >
<el-option style="margin-left:5px " v-for="item in sex" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select> -->
</template>
</el-table-column>
<el-table-column label="学生身份证" minWidth="160" align="center" prop="idCard"/>
<el-table-column label="全国学籍号" minWidth="120" align="center" prop="nationalNumber"/>
<!-- </template> -->
<!-- </el-table-column> -->
<!-- <el-table-column label="学生身份证" minWidth="160" align="center" prop="idCard" /> -->
<el-table-column label="全国学籍号" minWidth="120" align="center" prop="nationalNumber" />
<el-table-column label="变更类型" minWidth="80" align="center" prop="changeType">
<template slot-scope="scope">
<dict-tag :options="dict.type.change_type" :value="scope.row.changeType"></dict-tag>
......@@ -99,29 +97,29 @@
<el-table-column label="操作" align="center" min-width="300" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-s-release" @click="handleStop(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">终止
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">终止
</el-button>
<el-button size="mini" type="text" icon="el-icon-finished" v-if="scope.row.state == 0"
@click="handleFinish(scope.row)" v-hasPermi="['system:turnover:remove']">办结
@click="handleFinish(scope.row)" v-hasPermi="['system:turnover:remove']">办结
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:edit']">修改
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:edit']">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">删除
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">删除
</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
v-hasPermi="['system:turnover:remove']">查看
v-hasPermi="['system:turnover:remove']">查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-download" @click="handleDownload(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">下载
v-if="scope.row.state == 0" v-hasPermi="['system:turnover: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="getList" />
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body inline @close="cancel">
......@@ -130,7 +128,7 @@
<el-col :span="12">
<el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable v-model="form.applyTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择申请时间">
placeholder="请选择申请时间">
</el-date-picker>
</el-form-item>
</el-col>
......@@ -138,7 +136,7 @@
<el-form-item label="变更类型" prop="changeType">
<el-select v-model="form.changeType" placeholder="请选择变更类型">
<el-option v-for="dict in dict.type.change_type" :key="dict.value" :label="dict.label"
:value="dict.value">
:value="dict.value">
{{ dict.label }}
</el-option>
</el-select>
......@@ -146,78 +144,76 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="学生身份证" prop="idCard" style="width: 340px;">
<!-- <el-col :span="12"> -->
<!-- <el-form-item label="学生身份证" prop="idCard" style="width: 340px;">
<el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo"/>
</el-form-item> -->
<!-- </el-col> -->
<el-col :span="12">
<el-form-item label="学生姓名" prop="studentName" style="width: 340px;">
<el-input v-model="form.studentName" placeholder="请选择学生" readonly @focus="selectStudent" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名" prop="studentName" style="width:340px;">
<el-input v-model="form.studentName" placeholder="请输入姓名"/>
<el-form-item label="监护人关系" prop="relationship">
<!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> -->
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship">
<el-option v-for="item in options" :key="item.value" :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="sex">
<!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> -->
<el-select v-model="form.sex" placeholder="请选择性别">
<!-- <el-row> -->
<!-- <el-col :span="12"> -->
<!-- <el-form-item label="性别" prop="sex"> -->
<!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> -->
<!-- <el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="item in sex" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
</el-form-item> -->
<!-- </el-col> -->
<!-- <el-col :span="12">
<el-form-item label="出生年月" prop="birthday">
<el-date-picker clearable v-model="form.birthday" type="date" value-format="yyyy-MM-dd"
placeholder="请选择出生年月">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-col> -->
<!-- </el-row> -->
<el-row>
<el-col :span="12">
<el-form-item label="监护人关系" prop="relationship">
<!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> -->
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="家长姓名" prop="parentName" style="width: 340px;">
<el-input v-model="form.parentName" placeholder="请输入家长姓名"/>
<el-input v-model="form.parentName" placeholder="请输入家长姓名" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="年级班级" prop="classAlias" style="width: 340px;">
<el-input v-model="form.classAlias" placeholder="请输入年级班级" @focus="selectClass"/>
<el-input v-model="form.classAlias" placeholder="请输入年级班级" @focus="selectClass" />
<!-- <el-cascader v-model="value" :options="classTree" clearable @change="handleChange" ></el-cascader> -->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="全国学籍号" prop="nationalNumber" style="width: 340px;">
<el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号"/>
<el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="住址" prop="homeAddress" style="width: 340px;">
<el-input v-model="form.homeAddress" placeholder="请输入住址"/>
<el-input v-model="form.homeAddress" placeholder="请输入住址" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="联系电话" prop="telephone" style="width: 340px;">
<el-input v-model="form.telephone" placeholder="请输入联系电话"/>
<el-input v-model="form.telephone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否保留" prop="isSave">
<!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> -->
......@@ -227,9 +223,12 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="转出(入)学校" prop="turnSchool" style="width: 340px;">
<el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校"/>
<el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校" />
</el-form-item>
</el-col>
</el-row>
......@@ -247,7 +246,7 @@
<el-col :span="12">
<el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable v-model="form.applyTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择申请时间" readonly>
placeholder="请选择申请时间" readonly>
</el-date-picker>
</el-form-item>
</el-col>
......@@ -255,7 +254,7 @@
<el-form-item label="变更类型" prop="changeType">
<el-select v-model="form.changeType" placeholder="请选择变更类型" disabled>
<el-option v-for="dict in dict.type.change_type" :key="dict.value" :label="dict.label"
:value="dict.value">
:value="dict.value">
{{ dict.label }}
</el-option>
</el-select>
......@@ -265,12 +264,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="学生身份证" prop="idCard" style="width: 340px;">
<el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo" readonly/>
<el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo" readonly />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名" prop="studentName" style="width:340px;">
<el-input v-model="form.studentName" placeholder="请输入姓名" readonly/>
<el-input v-model="form.studentName" placeholder="请输入姓名" readonly />
</el-form-item>
</el-col>
</el-row>
......@@ -287,7 +286,7 @@
<el-col :span="12">
<el-form-item label="出生年月" prop="birthday">
<el-date-picker clearable v-model="form.birthday" type="date" value-format="yyyy-MM-dd"
placeholder="请选择出生年月" readonly>
placeholder="请选择出生年月" readonly>
</el-date-picker>
</el-form-item>
</el-col>
......@@ -296,8 +295,7 @@
<el-col :span="12">
<el-form-item label="监护人关系" prop="relationship">
<!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> -->
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship"
disabled>
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship" disabled>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
......@@ -305,20 +303,20 @@
</el-col>
<el-col :span="12">
<el-form-item label="家长姓名" prop="parentName" style="width: 340px;">
<el-input v-model="form.parentName" placeholder="请输入家长姓名" readonly/>
<el-input v-model="form.parentName" placeholder="请输入家长姓名" readonly />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="年级班级" prop="classAlias" style="width: 340px;">
<el-input v-model="form.classAlias" placeholder="请输入年级班级" readonly/>
<el-input v-model="form.classAlias" placeholder="请输入年级班级" readonly />
<!-- <el-cascader v-model="value" :options="classTree" clearable @change="handleChange" ></el-cascader> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="全国学籍号" prop="nationalNumber" style="width: 340px;">
<el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号" readonly/>
<el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号" readonly />
</el-form-item>
</el-col>
</el-row>
......@@ -326,12 +324,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="住址" prop="homeAddress" style="width: 340px;">
<el-input v-model="form.homeAddress" placeholder="请输入住址" readonly/>
<el-input v-model="form.homeAddress" placeholder="请输入住址" readonly />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="telephone" style="width: 340px;">
<el-input v-model="form.telephone" placeholder="请输入联系电话" readonly/>
<el-input v-model="form.telephone" placeholder="请输入联系电话" readonly />
</el-form-item>
</el-col>
</el-row>
......@@ -347,7 +345,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="转出(入)学校" prop="turnSchool" style="width: 340px;">
<el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校" readonly/>
<el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校" readonly />
</el-form-item>
</el-col>
</el-row>
......@@ -367,9 +365,8 @@
<el-form ref="finishedForm" :model="form" :rules="finishedRules" label-width="70px">
<el-form-item v-if="this.title == '办结'" label="附 件:" prop="dataUrl">
<el-upload class="upload-demo" drag ref="upload" action="#" :before-remove="beforeRemove" multiple :limit="1"
accept="image/jpg,image/jpeg,image/png"
:on-exceed="handleExceed" :on-remove="uploadRemove" :before-upload="beforeUpload"
:http-request="uploadFile">
accept="image/jpg,image/jpeg,image/png" :on-exceed="handleExceed" :on-remove="uploadRemove"
:before-upload="beforeUpload" :http-request="uploadFile">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
</el-upload>
......@@ -382,12 +379,18 @@
</el-dialog>
<!-- 选择班级 -->
<ClassSelect v-if="classOptions.open" :openSelect.sync="classOptions.open" :title="classOptions.title"
@getClassList="getClassList" @setClassInfo="setClassInfo"></ClassSelect>
@getClassList="getClassList" @setClassInfo="setClassInfo"></ClassSelect>
<!-- 选择学生 -->
<StudentInfoSelect v-if="studentOptions.open" :openSelect.sync="studentOptions.open" :title="studentOptions.title"
@getStudentList="getStudentList" @setStudentInfo="setStudentInfo"></StudentInfoSelect>
</div>
</template>
<script>
import {
listStudent,
} from "@/api/smartSchool/teachAffairAdministration/stuEssentialInfAlert/index.js";
import {
listTurnover,
getTurnover,
delTurnover,
......@@ -400,13 +403,14 @@ import {
getRelationship,
} from "@/api/smartSchool/teachAffairAdministration/alterManage/index.js";
import ClassSelect from '@/views/smartSchool/teachAffairAdministration/alterManage/components/classSelect'
import {getClassList} from '@/api/smartSchool/classManage'
import { getClassList } from '@/api/smartSchool/classManage'
import StudentInfoSelect from '@/views/components/moduleComponets/studentInfoSelect/index';
export default {
name: "alterManage",
dicts: ["change_status", "change_type", "grade_type", "Grade"],
components: {
ClassSelect
ClassSelect,
StudentInfoSelect
},
data() {
return {
......@@ -458,6 +462,11 @@ export default {
open: false,
title: '选择班级'
},
// 选择学生对话框
studentOptions: {
open: false,
title: '选择学生'
},
// 行信息
rowData: {},
// 表单参数
......@@ -465,49 +474,49 @@ export default {
// 表单校验
rules: {
studentName: [
{required: true, message: "学生姓名不能为空", trigger: "blur"}
],
idCard: [
{required: true, message: "身份证不能为空", trigger: "blur"}
{ required: true, message: "学生姓名不能为空", trigger: "blur" }
],
// idCard: [
// { required: true, message: "身份证不能为空", trigger: "blur" }
// ],
applyTime: [
{required: true, message: "申请时间不能为空", trigger: "blur"}
{ required: true, message: "申请时间不能为空", trigger: "blur" }
],
changeType: [
{required: true, message: "申请时间不能为空", trigger: "change"}
],
sex: [
{required: true, message: "性别不能为空", trigger: "change"}
],
birthday: [
{required: true, message: "出生日期不能为空", trigger: "change"}
{ required: true, message: "申请时间不能为空", trigger: "change" }
],
// sex: [
// { required: true, message: "性别不能为空", trigger: "change" }
// ],
// birthday: [
// { required: true, message: "出生日期不能为空", trigger: "change" }
// ],
relationship: [
{required: true, message: "监护人关系不能为空", trigger: "change"}
{ required: true, message: "监护人关系不能为空", trigger: "change" }
],
parentName: [
{required: true, message: "家长姓名不能为空", trigger: "blur"}
{ required: true, message: "家长姓名不能为空", trigger: "blur" }
],
classAlias: [
{required: true, message: "年级班级不能为空", trigger: "change"}
],
nationalNumber: [
{required: true, message: "全国学籍号不能为空", trigger: "blur"}
],
homeAddress: [
{required: true, message: "住址不能为空", trigger: "blur"}
{ required: true, message: "年级班级不能为空", trigger: "change" }
],
// nationalNumber: [
// { required: true, message: "全国学籍号不能为空", trigger: "blur" }
// ],
// homeAddress: [
// { required: true, message: "住址不能为空", trigger: "blur" }
// ],
telephone: [
{required: true, message: "联系电话不能为空", trigger: "blur"}
{ required: true, message: "联系电话不能为空", trigger: "blur" }
],
isSave: [
{required: true, message: "请选择是否保留", trigger: "change"}
{ required: true, message: "请选择是否保留", trigger: "change" }
],
turnSchool: [
{required: true, message: "转出入学校不能为空", trigger: "blur"}
{ required: true, message: "转出入学校不能为空", trigger: "blur" }
],
dataUrl: [
{required: true, message: "请上传附件", trigger: "change"}
{ required: true, message: "请上传附件", trigger: "change" }
],
},
finishedRules: {
......@@ -565,6 +574,28 @@ export default {
this.loading = false;
});
},
// 选择学生
selectStudent() {
this.studentOptions.open = true;
},
/** 获取学生信息列表 */
getStudentList(queryForm, callback) {
listStudent({ ...queryForm, gradeId: this.gradeId }).then(response => {
callback(response.rows, response.total);
}).catch(error => {
callback([], 0);
})
},
/** 设置学生信息 */
setStudentInfo(item) {
this.$set(this.form, 'studentName', item.studentName);
this.$set(this.form, 'idCard', item.idCard);
this.$set(this.form, 'studentId', item.id);
this.$set(this.form, 'nation', item.nation);
this.$set(this.form, 'newIdCard', item.idCard);
this.$set(this.form, 'newNation', item.nation);
this.$set(this.form, 'newStudentName', item.studentName);
},
// 取消按钮
cancel() {
this.open = 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