245 lines
9.6 KiB
HTML
245 lines
9.6 KiB
HTML
<!--#
|
||
layout("/layouts/platform.html"){
|
||
#-->
|
||
|
||
<style>
|
||
input[type="file"] {
|
||
display: none
|
||
}
|
||
|
||
.el-input-number input {
|
||
text-align: left !important;
|
||
}
|
||
|
||
.el-loading-mask {
|
||
z-index: 30000 !important;
|
||
}
|
||
|
||
</style>
|
||
<div id="app" style="padding: 20px 40px" v-cloak>
|
||
<el-card class="box-card">
|
||
<div class="clearfix" slot="header">
|
||
<span style="color: #409EFF;font-size: 18px">预选代表填报</span>
|
||
</div>
|
||
<div>
|
||
<el-form label-width="100px">
|
||
<el-form-item class="view-header" label="填写申请信息 " label-width="135px">
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<el-form :model="formData" :rules="formRules" label-position="right" label-suffix=":" label-width="120px"
|
||
ref="form">
|
||
<el-row gutter="60">
|
||
<el-col :span="12">
|
||
<el-form-item label="姓名" prop="manager_name">
|
||
<el-input disabled type="text" v-model="formData.username"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="工号" prop="apply_time">
|
||
<el-input disabled type="text" v-model="formData.loginname"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-row gutter="60">
|
||
<el-col :span="12">
|
||
<el-form-item label="联系方式" prop="mobile">
|
||
<el-input maxlength="30" type="text"
|
||
v-model="formData.mobile"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-form-item label="申请届次" prop="jdhid">
|
||
<el-select @change="jdhChange" clearable filterable placeholder="请选择教代会"
|
||
v-model="formData.jdhid">
|
||
<el-option
|
||
:key="item.id"
|
||
:label="item.jdhallname"
|
||
:value="item.id"
|
||
v-for="item in jdhList">
|
||
</el-option>
|
||
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-form-item label="代表团" prop="dbtid">
|
||
<el-select clearable filterable placeholder="请选择代表团" v-model="formData.dbtid">
|
||
<el-option
|
||
:key="item.id"
|
||
:label="item.dbtname"
|
||
:value="item.id"
|
||
v-for="item in delegations">
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-col>
|
||
|
||
</el-row>
|
||
|
||
<el-row gutter="60">
|
||
<el-col :span="12">
|
||
<el-form-item label="填报时间" prop="apply_time">
|
||
<el-input disabled type="text" v-model="formData.apply_time"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="民族" prop="nation">
|
||
<el-input maxlength="30" type="text"
|
||
v-model="formData.nation"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-row gutter="60">
|
||
<el-col :span="12">
|
||
<el-form-item label="职称" prop="jobTitle">
|
||
<el-input maxlength="30" type="text"
|
||
v-model="formData.jobTitle"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="职务" prop="position">
|
||
<el-input maxlength="30" type="text"
|
||
v-model="formData.position"></el-input>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
|
||
<el-divider class="dia" content-position="left"><span style="color: #3ea1ec;">近几年奖惩情况</span>
|
||
</el-divider>
|
||
<el-form-item class="is-required" label="" prop="vita">
|
||
<div id="vita"></div>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="附  件" prop="files">
|
||
<file-upload :files.sync="formData.files" card></file-upload>
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<div style="float: right;margin: 20px 0">
|
||
<el-button @click="doAdd()" type="primary">确 定</el-button>
|
||
</div>
|
||
</div>
|
||
</el-card>
|
||
|
||
</div>
|
||
<script>
|
||
let E = window.wangEditor
|
||
let vita = null
|
||
const vue = new Vue({
|
||
el: '#app',
|
||
data() {
|
||
let validAc = (rule, value, callback) => {
|
||
if (!this.formData.vita || !dd3s.html2txt(this.formData.vita)) {
|
||
callback(new Error('请填写近几年奖惩情况'));
|
||
} else {
|
||
callback();
|
||
}
|
||
};
|
||
return {
|
||
jdhList: [],
|
||
delegations: [],
|
||
userIsExist: "",
|
||
dbtList: [],
|
||
|
||
formData: {},
|
||
formRules: {
|
||
jdhid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||
dbtid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||
files: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||
vita: [{validator: validAc, trigger: ['blur', 'change']}],
|
||
}
|
||
}
|
||
},
|
||
components: {
|
||
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
|
||
},
|
||
methods: {
|
||
doAdd() {
|
||
this.$refs["form"].validate(async (valid) => {
|
||
const flag = await this.getdb()
|
||
console.log(flag)
|
||
if (!flag) {
|
||
this.$notify({
|
||
title: '警告',
|
||
message: '您已填报,请勿重复提交!',
|
||
type: 'warning'
|
||
});
|
||
return
|
||
}
|
||
if (valid) {
|
||
const loading = this.$loading({
|
||
lock: true,
|
||
text: '正在提交...',
|
||
spinner: 'el-icon-loading',
|
||
background: COVER_LAYER_COLOR
|
||
});
|
||
const resp = await $.post(loc() + "/doAdd", {
|
||
jdh_db: JSON.stringify(this.formData),
|
||
user: JSON.stringify(this.formData)
|
||
})
|
||
closeLoadingFunc(loading, resp, async () => {
|
||
window.location.href = '/platform/jdh/db/preselection'
|
||
}, (data, msg) => {
|
||
this.$message.error(msg);
|
||
})
|
||
}
|
||
})
|
||
|
||
},
|
||
|
||
async jdhChange(val) {
|
||
this.formData.dbtid = ''
|
||
this.delegations = await getDbt(val)
|
||
},
|
||
async getdb() {
|
||
const jdhid = this.formData.jdhid
|
||
const {code, data} = await $.post(base + '/platform/jdh/db/preselection/getdb', {jdhid})
|
||
return code ? false : data == 0
|
||
},
|
||
flush() {
|
||
this.formData = {
|
||
jdhid: '',
|
||
dbtid: '',
|
||
files: [],
|
||
id: '${@shiro.getPrincipalProperty("id")}',
|
||
username: '${@shiro.getPrincipalProperty("username")}',
|
||
apply_time: moment().format('YYYY-MM-DD'),
|
||
loginname: '${@shiro.getPrincipalProperty("loginname")}',
|
||
nation: '${@shiro.getPrincipalProperty("nation")}',
|
||
jobTitle: '${@shiro.getPrincipalProperty("jobTitle")}',
|
||
position: '${@shiro.getPrincipalProperty("position")}',
|
||
mobile: '${@shiro.getPrincipalProperty("mobile")}',
|
||
}
|
||
this.$nextTick(() => {
|
||
$("#vita").html("")
|
||
vita = new E("#vita")
|
||
vita.config.onchange = (html) => {
|
||
this.formData.vita = html
|
||
}
|
||
vita.create()
|
||
vita.txt.html('${@shiro.getPrincipalProperty("vita")}')
|
||
})
|
||
},
|
||
},
|
||
async created() {
|
||
this.jdhList = await getOpenJdh()
|
||
if (this.jdhList.length > 0) {
|
||
this.formData.jdhid = this.jdhList[0].id
|
||
this.delegations = await getDbt(this.jdhList[0].id)
|
||
}
|
||
this.flush()
|
||
// console.log()
|
||
// if(!await this.getdb()){
|
||
// alert(1)
|
||
// }
|
||
}
|
||
})
|
||
</script>
|
||
|
||
<!--#
|
||
}
|
||
#--> |