Merge remote-tracking branch 'origin/main'
This commit is contained in:
165
src/views/basedata/private/components/EduExpKnrd.vue
Normal file
165
src/views/basedata/private/components/EduExpKnrd.vue
Normal file
@@ -0,0 +1,165 @@
|
||||
<template>
|
||||
<div>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>开始时间</th>
|
||||
<th>结束时间</th>
|
||||
<th>学校(单位)名称</th>
|
||||
<th>职务</th>
|
||||
<th>证明人</th>
|
||||
<th style="width: 10rem;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(v, i) in exp_list" :key="i" class="custom-input">
|
||||
<td data-label="开始时间">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.startTime }}</span>
|
||||
<input v-else type="date" v-model="v.startTime" />
|
||||
</td>
|
||||
|
||||
<td data-label="结束时间">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.endTime }}</span>
|
||||
<input v-else type="date" v-model="v.endTime" />
|
||||
</td>
|
||||
<td data-label="学校(单位)名称">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.schoolName }}</span>
|
||||
<input v-else v-model="v.schoolName" />
|
||||
</td>
|
||||
<td data-label="职务">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.post }}</span>
|
||||
<input v-else v-model="v.post" />
|
||||
</td>
|
||||
<td data-label="证明人">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.certifier }}</span>
|
||||
<input v-else v-model="v.certifier" />
|
||||
</td>
|
||||
|
||||
<td data-label="操作">
|
||||
<span>查看</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getOwnExpFdy } from "@/api/stuCQS/basedata/experience";
|
||||
import { fullLoading, isEmpty } from "@/api/helpFunc";
|
||||
|
||||
|
||||
export default {
|
||||
name: "edu-exp-knrd",
|
||||
props: {
|
||||
stuNo: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isEmpty,
|
||||
exp_list: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getOwnExpFdy(this.stuNo);
|
||||
},
|
||||
methods: {
|
||||
async getOwnExpFdy(stuNo) {
|
||||
let loading = fullLoading(this);
|
||||
let res = await getOwnExpFdy(stuNo);
|
||||
loading.close();
|
||||
if (res.code == 200) {
|
||||
this.exp_list = res.data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin: 20px 0;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table th,
|
||||
table td {
|
||||
padding: 12px 15px;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
table th {
|
||||
background-color: #f2f2f2;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table tr:nth-child(even) {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
table tr:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.custom-input input {
|
||||
width: 100%;
|
||||
padding: 5px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
table {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
table caption {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
table thead {
|
||||
border: none;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
table tr {
|
||||
border-bottom: 3px solid #ddd;
|
||||
display: block;
|
||||
margin-bottom: .625em;
|
||||
}
|
||||
|
||||
table td {
|
||||
border-bottom: 1px solid #ddd;
|
||||
display: block;
|
||||
font-size: .8em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table td::before {
|
||||
content: attr(data-label);
|
||||
float: left;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
table td:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.note {
|
||||
max-width: 80%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
@@ -19,114 +19,51 @@
|
||||
<tbody>
|
||||
<tr v-for="(v, i) in family_list" :key="i" class="custom-input">
|
||||
<td style="width: 5rem;" data-label="姓名">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.familyName }}</span>
|
||||
<input v-else v-model="v.familyName" />
|
||||
<span>{{ v.familyName }}</span>
|
||||
</td>
|
||||
|
||||
<td data-label="与学生关系">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.familyRelation }}</span>
|
||||
<input v-else v-model="v.familyRelation" />
|
||||
<span>{{ v.familyRelation }}</span>
|
||||
</td>
|
||||
<td data-label="年龄">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.age }}</span>
|
||||
<input v-else type="number" v-model="v.age" />
|
||||
<span>{{ v.age }}</span>
|
||||
</td>
|
||||
<!-- <td data-label="出生日期">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.birthday }}</span>
|
||||
<input v-else type="date" v-model="v.birthday" />
|
||||
</td> -->
|
||||
<td data-label="政治面貌">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.zzmm }}</span>
|
||||
<input v-else v-model="v.zzmm" />
|
||||
<span>{{ v.zzmm }}</span>
|
||||
</td>
|
||||
<td data-label="职业">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.job }}</span>
|
||||
<input v-else v-model="v.job" />
|
||||
<span>{{ v.job }}</span>
|
||||
</td>
|
||||
<td data-label="工作单位">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.workPlace }}</span>
|
||||
<input v-else v-model="v.workPlace" />
|
||||
<span>{{ v.workPlace }}</span>
|
||||
</td>
|
||||
<td data-label="年收入">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.yearMoney }}</span>
|
||||
<input type="number" v-else v-model="v.yearMoney" />
|
||||
<span>{{ v.yearMoney }}</span>
|
||||
</td>
|
||||
<td data-label="联系电话">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.phone }}</span>
|
||||
<input v-else v-model="v.phone" />
|
||||
<span>{{ v.phone }}</span>
|
||||
</td>
|
||||
<td data-label="健康情况">
|
||||
<span v-if="isEmpty(v.isEdit)">{{ v.health }}</span>
|
||||
<input v-else v-model="v.health" />
|
||||
<span>{{ v.health }}</span>
|
||||
</td>
|
||||
|
||||
<td data-label="操作">
|
||||
<el-button v-if="!isEmpty(v.isEdit)" @click="doEdit(v)" type="text" icon="el-icon-check">
|
||||
保存
|
||||
</el-button>
|
||||
<el-button v-if="isEmpty(v.isEdit)" :disabled="oneEdit" @click="willEdit(v)" type="text"
|
||||
icon="el-icon-edit">
|
||||
修改
|
||||
</el-button>
|
||||
|
||||
<el-button @click="doDelete(v)" type="text" icon="el-icon-delete">删除</el-button>
|
||||
<span>查看</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="addV">
|
||||
<td data-label="姓名">
|
||||
<input v-model="addForm.familyName" />
|
||||
</td>
|
||||
<td data-label="与学生关系">
|
||||
<input v-model="addForm.familyRelation" />
|
||||
</td>
|
||||
<td data-label="年龄">
|
||||
<input type="number" v-model="addForm.age" />
|
||||
</td>
|
||||
<!-- <td data-label="出生日期">
|
||||
<input type="date" v-model="addForm.birthday" />
|
||||
</td> -->
|
||||
<td data-label="政治面貌">
|
||||
<input v-model="addForm.zzmm" />
|
||||
</td>
|
||||
<td data-label="职业">
|
||||
<input v-model="addForm.job" />
|
||||
</td>
|
||||
<td data-label="工作单位">
|
||||
<input v-model="addForm.workPlace" />
|
||||
</td>
|
||||
<td data-label="年收入">
|
||||
<input type="number" v-model="addForm.yearMoney" />
|
||||
</td>
|
||||
<td data-label="联系电话">
|
||||
<input v-model="addForm.phone" />
|
||||
</td>
|
||||
<td data-label="健康情况">
|
||||
<input v-model="addForm.health" />
|
||||
</td>
|
||||
|
||||
<td data-label="操作">
|
||||
<el-button @click="doAdd" type="text" icon="el-icon-check">保存</el-button>
|
||||
<el-button @click="addV = false;" type="text" icon="el-icon-close">取消</el-button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="9" style="text-align: center;">
|
||||
<el-button @click="addV = true;" :disabled="addV" style="display: inline-block;" type="text"
|
||||
icon="el-icon-plus">新增一条</el-button>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
import { getOwnFamilyFdy, addOwnFamilyFdy, deleteOwnFamilyFdy, editOwnFamilyFdy } from "@/api/stuCQS/basedata/member";
|
||||
import { getOwnFamilyFdy } from "@/api/stuCQS/basedata/member";
|
||||
import { fullLoading, isEmpty } from "@/api/helpFunc";
|
||||
import {
|
||||
getOwnInfo
|
||||
} from "@/api/stuCQS/basedata/student";
|
||||
|
||||
export default {
|
||||
name: "family-member",
|
||||
@@ -139,191 +76,20 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
isEmpty,
|
||||
family_list: [],
|
||||
|
||||
addV: false,
|
||||
|
||||
addForm: {
|
||||
|
||||
},
|
||||
editForm: {
|
||||
|
||||
},
|
||||
|
||||
oneEdit: false,
|
||||
ownPhone: null
|
||||
family_list: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// this.getOwnInfo();
|
||||
this.getOwnFamilyFdy(this.stuNo);
|
||||
},
|
||||
methods: {
|
||||
async getOwnInfo() {
|
||||
let res = await getOwnInfo();
|
||||
if (res.code == 200) {
|
||||
if (!isEmpty(res.data)) {
|
||||
let data = {
|
||||
...res.data
|
||||
};
|
||||
this.ownPhone = data.phone;
|
||||
}
|
||||
}
|
||||
},
|
||||
willEdit(v) {
|
||||
this.editForm = { ...v };
|
||||
v.isEdit = true;
|
||||
this.oneEdit = true;
|
||||
},
|
||||
async doEdit(v) {
|
||||
let sdata = { ...v };
|
||||
if (isEmpty(sdata.familyName)) {
|
||||
this.$message.info("请填写成员名称");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.age)) {
|
||||
this.$message.info("请填写成员年龄");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.familyRelation)) {
|
||||
this.$message.info("请填写与学生关系");
|
||||
return;
|
||||
}
|
||||
// if (isEmpty(sdata.birthday)) {
|
||||
// this.$message.info("请填写出生日期");
|
||||
// return;
|
||||
// }
|
||||
if (isEmpty(sdata.zzmm)) {
|
||||
this.$message.info("请填写政治面貌");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.job)) {
|
||||
this.$message.info("请填写职业");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.workPlace)) {
|
||||
this.$message.info("请填写工作单位");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.yearMoney)) {
|
||||
this.$message.info("请填写年收入");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEmpty(sdata.phone)) {
|
||||
this.$message.info("请填写联系方式");
|
||||
return;
|
||||
}
|
||||
|
||||
if (sdata.phone == this.ownPhone) {
|
||||
this.$message.info("不能填写本人电话");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEmpty(sdata.health)) {
|
||||
this.$message.info("请填写健康情况");
|
||||
return;
|
||||
}
|
||||
let loading = fullLoading(this);
|
||||
sdata.stuNo = this.stuNo;
|
||||
let res = await editOwnFamilyFdy(sdata);
|
||||
loading.close();
|
||||
if (res.code == 200) {
|
||||
this.$message.success(res.msg);
|
||||
this.getOwnFamilyFdy(this.stuNo);
|
||||
}
|
||||
this.oneEdit = false;
|
||||
v.isEdit = undefined;
|
||||
},
|
||||
async doAdd() {
|
||||
let sdata = { ...this.addForm };
|
||||
if (isEmpty(sdata.familyName)) {
|
||||
this.$message.info("请填写成员名称");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.familyRelation)) {
|
||||
this.$message.info("请填写与学生关系");
|
||||
return;
|
||||
}
|
||||
// if (isEmpty(sdata.birthday)) {
|
||||
// this.$message.info("请填写出生日期");
|
||||
// return;
|
||||
// }
|
||||
if (isEmpty(sdata.zzmm)) {
|
||||
this.$message.info("请填写政治面貌");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.job)) {
|
||||
this.$message.info("请填写职业");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.workPlace)) {
|
||||
this.$message.info("请填写工作单位");
|
||||
return;
|
||||
}
|
||||
if (isEmpty(sdata.yearMoney)) {
|
||||
this.$message.info("请填写年收入");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEmpty(sdata.phone)) {
|
||||
this.$message.info("请填写联系方式");
|
||||
return;
|
||||
}
|
||||
|
||||
if (sdata.phone == this.ownPhone) {
|
||||
this.$message.info("不能填写本人电话");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEmpty(sdata.health)) {
|
||||
this.$message.info("请填写健康情况");
|
||||
return;
|
||||
}
|
||||
|
||||
let loading = fullLoading(this);
|
||||
sdata.stuNo = this.stuNo;
|
||||
let res = await addOwnFamilyFdy(sdata);
|
||||
loading.close();
|
||||
if (res.code == 200) {
|
||||
this.addForm = {};
|
||||
this.$message.success(res.msg);
|
||||
this.getOwnFamilyFdy(this.stuNo);
|
||||
}
|
||||
this.addV = false;
|
||||
},
|
||||
|
||||
async getOwnFamilyFdy(stuNo) {
|
||||
let loading = fullLoading(this);
|
||||
let res = await getOwnFamilyFdy(stuNo);
|
||||
loading.close();
|
||||
if (res.code == 200) {
|
||||
this.family_list = [...res.data];
|
||||
}
|
||||
},
|
||||
|
||||
async doDelete(val) {
|
||||
let id = val.id;
|
||||
|
||||
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
let loading = fullLoading(this);
|
||||
let res = await deleteOwnFamilyFdy(id,this.stuNo);
|
||||
loading.close();
|
||||
if (res.code == 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
});
|
||||
this.getOwnFamilyFdy(this.stuNo);
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -36,7 +36,7 @@ module.exports = {
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy `http://124.70.202.11:8085` https://wap.wzzyhp.com
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
// target: 'http://172.16.96.111:8585', //`http://zhxg.gxsdxy.cn`,`https://wap.wzzyhp.com`, http://localhost:8085 http://zhxgjava.gxsdxy.cn
|
||||
target: 'http://localhost:8088',// `http://zhxg.gxsdxy.cn`,`https://wap.wzzyhp.com`, http://localhost:8085 http://zhxgjava.gxsdxy.cn
|
||||
target: 'http://localhost:8085',// `http://zhxg.gxsdxy.cn`,`https://wap.wzzyhp.com`, http://localhost:8085 http://zhxgjava.gxsdxy.cn
|
||||
//target:`http://zhxg.gxsdxy.cn`,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
|
Reference in New Issue
Block a user