Files
UNION_HUTB/target/classes/views/platform/jdh/db/preselection.html
T
2026-09-09 09:14:28 +08:00

245 lines
9.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--#
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="填写申请信息&emsp;" 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="附&emsp;&emsp;件" 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>
<!--#
}
#-->