first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
@@ -0,0 +1,245 @@
<!--#
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>
<!--#
}
#-->