471 lines
16 KiB
HTML
471 lines
16 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<style>
|
|
.is-flex {
|
|
display: flex;
|
|
}
|
|
|
|
.is-flex .el-form-item {
|
|
width: 50%;
|
|
}
|
|
|
|
#grjl {
|
|
height: 200px;
|
|
}
|
|
|
|
.el-table-container {
|
|
padding-top: 0px;
|
|
padding-left: 5px;
|
|
padding-right: 5px;
|
|
}
|
|
|
|
.el-collapse-item__content {
|
|
padding-bottom: 0px;
|
|
font-size: 13px;
|
|
color: #303133;
|
|
line-height: 1.769230769230769;
|
|
}
|
|
|
|
.note {
|
|
height: 250px;
|
|
}
|
|
|
|
|
|
.avatar-uploader .el-upload {
|
|
border: 1px dashed #d9d9d9;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.avatar-uploader .el-upload:hover {
|
|
border-color: #409EFF;
|
|
}
|
|
|
|
.avatar-uploader-icon {
|
|
font-size: 28px;
|
|
color: #8c939d;
|
|
width: 120px;
|
|
height: 120px;
|
|
line-height: 120px;
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.avatar {
|
|
width: 120px;
|
|
height: 120px;
|
|
display: block;
|
|
}
|
|
|
|
input[type=file] {
|
|
display: none;
|
|
}
|
|
|
|
#zw .el-table__header th {
|
|
padding: 0;
|
|
height: 150px;
|
|
}
|
|
|
|
el-table__header th {
|
|
border: black;
|
|
}
|
|
|
|
#showtb .el-table td div {
|
|
font-size: 12px;
|
|
}
|
|
|
|
#showtb .el-form-item__label {
|
|
|
|
font-size: 12px;
|
|
|
|
}
|
|
|
|
|
|
#rh .el-col {
|
|
border: 1px solid #e5e9f2;
|
|
line-height: 40px;
|
|
height: 40px;
|
|
text-align: center;
|
|
}
|
|
|
|
.tpa {
|
|
padding: 10px;
|
|
text-align: center;
|
|
width: 12%;
|
|
background-color: rgb(250, 250, 250);
|
|
border: 1px solid rgb(220, 220, 220);
|
|
}
|
|
|
|
.tpb {
|
|
padding: 10px;
|
|
text-align: center;
|
|
color: #a0a9b4;
|
|
width: 16%;
|
|
border: 1px solid rgb(220, 220, 220);
|
|
}
|
|
|
|
.disabled .el-upload--picture-card {
|
|
display: none;
|
|
}
|
|
|
|
.el-upload-list__item {
|
|
transition: none !important;
|
|
}
|
|
|
|
.flexbox {
|
|
display: flex;
|
|
}
|
|
|
|
.flexbox .el-form-item {
|
|
width: 50%;
|
|
}
|
|
|
|
.v-modal {
|
|
z-index: 99999 !important;
|
|
}
|
|
|
|
.el-dialog__wrapper {
|
|
z-index: 999999 !important;
|
|
}
|
|
</style>
|
|
<div id="app" v-cloak>
|
|
<div style="text-align: right" class="pr20 mt25 mb25">
|
|
<el-button type="primary" @click="doHandle">确 定</el-button>
|
|
</div>
|
|
<el-form :model="formData" ref="addForm" style="width: 90%;margin: 0px auto" :rules="formRules" label-width="86px">
|
|
|
|
<el-divider content-position="left">
|
|
<span style="color: rgb(121, 187, 255);font-size: 17px">基本资料</span>
|
|
</el-divider>
|
|
|
|
<el-form-item prop="loginname" label="用 户 名">
|
|
<el-input readonly v-model="formData.loginname" disabled></el-input>
|
|
</el-form-item>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item prop="username" label="姓  名">
|
|
<el-input readonly v-model="formData.username" disabled></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="sex" label="性  别">
|
|
<el-radio v-model="formData.sex" label="男" border size="small">男</el-radio>
|
|
<el-radio v-model="formData.sex" label="女" border size="small">女</el-radio>
|
|
</el-form-item>
|
|
</div>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item prop="birthday" label="出生日期">
|
|
<el-date-picker style="width: 100%" v-model="formData.birthday" format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd" type="date" placeholder="出生日期"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item prop="birthday" label="出生地点">
|
|
<el-input v-model="formData.csdd"></el-input>
|
|
</el-form-item>
|
|
|
|
</div>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item label="兴趣爱好">
|
|
<el-input maxlength="255" placeholder="兴趣爱好" v-model="formData.hobby"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="婚  否">
|
|
<el-radio-group v-model="formData.sfhf">
|
|
<el-radio label="已婚" border></el-radio>
|
|
<el-radio label="未婚" border></el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</div>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item prop="rsbz" label="人事编制">
|
|
<el-select v-model="formData.rsbz" style="width: 100%">
|
|
<el-option v-for="i in bzOptions" :label="i" :value="i"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item prop="xl" label="学  历">
|
|
<el-select v-model="formData.xl" style="width: 100%;">
|
|
<el-option v-for="i in xloptions" :label="i" :value="i"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</div>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item prop="jg" label="籍  贯">
|
|
<el-input v-model="formData.jg"></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="gz" label="工  资">
|
|
<el-input v-model="formData.gz"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item prop="mz" label="民  族">
|
|
<el-select placeholder="民族" style="width: 100%" filterable v-model="formData.mz">
|
|
<el-option v-for="mz in mzlist" :value="mz.mzmc" :label="mz.mzmc"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item prop="zzmm" label="政治面貌">
|
|
<el-input maxlength="100" placeholder="政治面貌"
|
|
v-model="formData.zzmm"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div class="is-flex">
|
|
<el-form-item prop="zw" label="职  务">
|
|
<el-input maxlength="100" placeholder="职务"
|
|
v-model="formData.zw"></el-input>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="zc" label="职  称">
|
|
<el-select v-model="formData.zc" style="width: 100%">
|
|
<el-option v-for="i in zclist" :label="i" :value="i"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</div>
|
|
|
|
<div class="is-flex">
|
|
<el-form-item prop="mobile" label="手 机 号">
|
|
<el-input maxlength="100" placeholder="手机号"
|
|
v-model="formData.mobile"></el-input>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="email" label="邮  箱">
|
|
<el-input maxlength="100" placeholder="邮箱"
|
|
v-model="formData.email"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div class="is-flex">
|
|
<el-form-item prop="unionid" label="所属工会">
|
|
<el-input readonly v-model="formData.ghname"></el-input>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="unitid" label="用户单位">
|
|
<el-input readonly v-model="formData.dwname"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
|
|
|
|
<el-form-item prop="zzzt" label="在职状态">
|
|
<dict-select v-model="formData.zzzt" style="width: 100%" placeholder="请选择在职状态"
|
|
code="UserState"></dict-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="家庭成员">
|
|
<span style="color: red">(已结婚填配偶信息,未结婚填父母信息)</span>
|
|
<el-button style="float: right;margin-bottom: 10px" icon="el-icon-plus" size="mini"
|
|
@click="formData.jtcy.push({})"> 添加成员
|
|
</el-button>
|
|
<el-table
|
|
:data="formData.jtcy"
|
|
border
|
|
size="mini"
|
|
style="width: 100%">
|
|
<el-table-column prop="gx" label="与本人关系" align="center" header-align="center">
|
|
<template slot-scope="scope">
|
|
<el-input placeholder="请输入与本人关系" maxlength="30" v-model="scope.row.gx" clearable></el-input>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="xm" label="姓名" align="center" header-align="center">
|
|
<template slot-scope="scope">
|
|
<el-input placeholder="请输入姓名" maxlength="100" v-model="scope.row.xm" clearable></el-input>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="dw" label="单位" align="center" header-align="center">
|
|
<template slot-scope="scope">
|
|
<el-input placeholder="请输入单位" maxlength="100" v-model="scope.row.dw" clearable></el-input>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="bz" label="备注" align="center" header-align="center">
|
|
<template slot-scope="scope">
|
|
<el-input placeholder="请输入备注" maxlength="100" v-model="scope.row.bz" clearable></el-input>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column label="操作" width="100px" align="center" header-align="center">
|
|
<template slot-scope="scope">
|
|
<el-button type="danger" icon="el-icon-delete" circle
|
|
:disabled="formData.jtcy.length==0"
|
|
@click="formData.jtcy.splice(scope.$index,1)"></el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="grjl" label="个人经历" style="width: 100%">
|
|
<span style="color: red">(有工作经历要填写工作经历,无工作经历从本科学历开始)</span>
|
|
<div id="grjl" class="grjl"></div>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="照片上传" style="margin-top: 200px">
|
|
<el-upload
|
|
:action="FILE_UPLOAD_ADDRESS"
|
|
list-type="picture-card"
|
|
:file-list="imagelist"
|
|
:class="{disabled:uploadDisabled}"
|
|
:on-preview="handlePictureCardPreview"
|
|
:on-remove="handleRemove"
|
|
limit="1"
|
|
:before-upload="beforeAvatarUpload"
|
|
:on-success="handleAvatarSuccess">
|
|
<i class="el-icon-plus"></i>
|
|
|
|
<div class="el-upload__tip" slot="tip" style="color: red">*只能上传jpg/png文件,且不超过2MB的一寸电子照片</div>
|
|
</el-upload>
|
|
|
|
<el-dialog :visible.sync="dialogVisible" append-to-body>
|
|
<img width="100%" :src="dialogImageUrl" alt="">
|
|
</el-dialog>
|
|
|
|
</el-form-item>
|
|
|
|
<div style="float: right;margin: 20px 0">
|
|
<el-button type="primary" @click="doHandle">确 定</el-button>
|
|
</div>
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
<script>
|
|
let E = window.wangEditor
|
|
let editor = null
|
|
const vue = new Vue({
|
|
el: '#app',
|
|
data() {
|
|
return {
|
|
formData: {
|
|
/* jtcy:[]*/
|
|
},
|
|
formRules: {
|
|
grjl: [{required: true, message: '请填写经历', trigger: ['blur', 'change']}],
|
|
},
|
|
mzlist: [],
|
|
dwghinfo: {},
|
|
umGrjl: null,
|
|
zclist: ["教授", "副教授", "讲师", "研究员", "副研究员", "高级工程师", "其他"],
|
|
bzOptions: ['事业编制职工(正式职工)', '合同制职工', '人事代理职工', '集体职工', '流动编制职工', '非事业编制职工', '博士后进站人员', '劳务派遣人员', '聘用工(各二级单位聘用)'],
|
|
xloptions: ['博士', '硕士', '本科', '专科', '其他'],
|
|
imagelist: [],
|
|
dialogVisible: false,
|
|
dialogImageUrl: "",
|
|
}
|
|
},
|
|
components: {
|
|
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.4'),
|
|
},
|
|
mounted() {
|
|
|
|
},
|
|
created() {
|
|
this.getmzlist();
|
|
this.getGrxx();
|
|
//this.formData=${@shiro.getPrincipal()};
|
|
},
|
|
methods: {
|
|
getGrxx() {
|
|
$.post(base + '/platform/hy/grxx/getGrxx').then(res => {
|
|
this.formData = res;
|
|
if (this.formData.jtcy !== null && this.formData.jtcy !== '') {
|
|
this.formData.jtcy = JSON.parse(this.formData.jtcy);
|
|
} else {
|
|
this.formData.jtcy = [];
|
|
}
|
|
this.imagelist = []
|
|
if (this.formData.imgurl != null && this.formData.imgurl != undefined) {
|
|
this.dialogImageUrl = FILE_DOMAIN + this.formData.imgurl
|
|
this.imagelist.push({name: "_.jpg", url: this.dialogImageUrl, status: "success"})
|
|
}
|
|
// this.umGrjl=UM.getEditor('grjl',{initialFrameWidth:'100%'});
|
|
// this.umGrjl.setContent(this.formData.grjl);
|
|
editor = new E('#grjl')
|
|
|
|
editor.create()
|
|
editor.txt.html(this.formData.grjl)
|
|
|
|
})
|
|
},
|
|
getmzlist() {
|
|
$.post(base + '/platform/hy/grxx/getmzlist').then(res => {
|
|
this.mzlist = res
|
|
})
|
|
},
|
|
doHandle() {
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: '数据更新中',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
this.formData.jtcy = JSON.stringify(this.formData.jtcy);
|
|
this.formData.imgUrl = this.formData.imgurl;
|
|
console.log(this.formData.imgUrl)
|
|
$.post(base + '/platform/hy/grxx/updateHyxx', this.formData).then(res => {
|
|
loading.close();
|
|
this.getGrxx();
|
|
this.$message.success('更新成功');
|
|
});
|
|
},
|
|
handleRemove: function (file) {
|
|
this.imagelist.splice(0, 1);
|
|
if (this.formData.imgurl != "") {
|
|
$.post(base + "/platform/hy/sqrh/delImg", {"imgurl": this.formData.imgurl})
|
|
this.formData.imgurl = ""
|
|
}
|
|
|
|
|
|
},
|
|
handlePictureCardPreview: function (file) {
|
|
|
|
this.dialogImageUrl = file.url;
|
|
this.dialogVisible = true;
|
|
|
|
|
|
},
|
|
handleAvatarSuccess: function (res, file) {
|
|
var self = this;
|
|
if (res.code == 0) {
|
|
|
|
const {data: {filepath}} = res
|
|
|
|
self.formData.imgurl = filepath;
|
|
self.$message({
|
|
message: res.msg,
|
|
type: 'success'
|
|
});
|
|
|
|
} else {
|
|
self.$message({
|
|
message: res.msg,
|
|
type: 'error'
|
|
});
|
|
}
|
|
|
|
},
|
|
beforeAvatarUpload: function (file) {
|
|
|
|
var isLt2M = file.size / 1024 / 1024 < 2;
|
|
var isJPG = file.type === 'image/jpeg';
|
|
var isPng = file.type === 'image/png';
|
|
if (!isJPG && !isPng) {
|
|
this.$message.error('上传头像图片只能是 JPG和PNG格式!');
|
|
}
|
|
if (!isLt2M) {
|
|
this.$message.error('上传头像图片大小不能超过 2MB!');
|
|
}
|
|
return (isJPG || isPng) && isLt2M;
|
|
|
|
},
|
|
},
|
|
computed: {
|
|
|
|
uploadDisabled: function () {
|
|
return this.imagelist.length > 0
|
|
},
|
|
|
|
},
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#--> |