This commit is contained in:
2026-01-30 10:48:59 +08:00
parent 3c6f8f5ce3
commit 7393cc2421
2 changed files with 126 additions and 80 deletions
@@ -1,55 +1,56 @@
const HEAD_FORM_TEMPLATE = {
/*language=HTML*/
template: `
<el-dialog title="设置团长" :visible.sync="headDialogFormVisible" width="700px" :close-on-click-modal="false">
<el-form :model="formData" ref="headFormRef" size="small" label-width="120px" :rules="formRules">
<el-form-item prop="sessionId" label="教代会">
<el-select v-model="formData.sessionId" disabled>
<el-option v-for="item in sessionOptions" :label="item.fullName" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="userId" label="团长">
<user-select v-model="formData.userId"
v-if="headDialogFormVisible"
api="/platform/teacherCongress/delegation/notHeadUser"
:api_params="{sessionId:formData.sessionId,delegationId:formData.delegationId}"
api_input_key_name="keyWord"
:option_list="headOptions"
option_value="userId"
:option_label_func="(item)=>{return item.userName + item.loginName + '(' + item.unitName + ')'}"
placeholder="请输入工号或者姓名"
style="width: 100%"></user-select>
</el-form-item>
<el-form-item prop="viceUserId" label="副团长">
<user-select v-model="formData.viceUserId"
v-if="headDialogFormVisible"
api="/platform/teacherCongress/delegation/notHeadUser"
:api_params="{sessionId:formData.sessionId,delegationId:formData.delegationId}"
api_input_key_name="keyWord"
:option_list="viceHeadOptions"
option_value="userId"
:option_label_func="(item)=>{return item.userName + item.loginName + '(' + item.unitName + ')'}"
placeholder="请输入工号或者姓名"
style="width: 100%"></user-select>
</el-form-item>
<el-form-item prop="contactUserId" label="联络人">
<user-select v-model="formData.contactUserId"
v-if="headDialogFormVisible"
api="/platform/teacherCongress/delegation/notHeadUser"
:api_params="{sessionId:formData.sessionId,delegationId:formData.delegationId}"
api_input_key_name="keyWord"
:option_list="contactOptions"
option_value="userId"
:option_label_func="(item)=>{return item.userName + item.loginName + '(' + item.unitName + ')'}"
placeholder="请输入工号或者姓名"
style="width: 100%"></user-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="headDialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="doSubmitHead">确 定</el-button>
</div>
</el-dialog>
`,
<el-dialog title="设置团长" :visible.sync="headDialogFormVisible" width="700px" :close-on-click-modal="false">
<el-form :model="formData" ref="headFormRef" size="small" label-width="120px" :rules="formRules">
<el-form-item prop="sessionId" label="教代会">
<el-select v-model="formData.sessionId" disabled>
<el-option v-for="item in sessionOptions" :label="item.fullName" :value="item.id"
:key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="userId" label="团长">
<user-select v-model="formData.userId"
v-if="headDialogFormVisible"
api="/platform/teacherCongress/delegation/notHeadUser"
:api_params="{sessionId:formData.sessionId,delegationId:formData.delegationId}"
api_input_key_name="keyWord"
:option_list="headOptions"
option_value="userId"
:option_label_func="(item)=>{return item.userName + item.loginName + '(' + item.unitName + ')'}"
placeholder="请输入工号或者姓名"
style="width: 100%"></user-select>
</el-form-item>
<el-form-item prop="viceUserId" label="副团长">
<el-select v-model="formData.viceUserIds" multiple placeholder="请输入工号或者姓名"
:remote-method="viceUserSelectUser" remote clearable filterable style="width: 100%">
<el-option
v-for="item in viceHeadOptions"
:key="item.userId"
:label="item.userName + item.loginName + '(' + item.unitName + ')'"
:value="item.userId">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="contactUserId" label="联络人">
<user-select v-model="formData.contactUserId"
v-if="headDialogFormVisible"
api="/platform/teacherCongress/delegation/notHeadUser"
:api_params="{sessionId:formData.sessionId,delegationId:formData.delegationId}"
api_input_key_name="keyWord"
:option_list="contactOptions"
option_value="userId"
:option_label_func="(item)=>{return item.userName + item.loginName + '(' + item.unitName + ')'}"
placeholder="请输入工号或者姓名"
style="width: 100%"></user-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="headDialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="doSubmitHead">确 定</el-button>
</div>
</el-dialog>
`,
data() {
return {
formData: {},
@@ -64,12 +65,23 @@ const HEAD_FORM_TEMPLATE = {
name: [{required: true, message: "必填", trigger: ["change", "blur"]}],
code: [{required: true, message: "必填", trigger: ["change", "blur"]}],
userId: [{required: true, message: "必填", trigger: ["change", "blur"]}],
viceUserId: [{required: true, message: "必填", trigger: ["change", "blur"]}],
// viceUserId: [{required: true, message: "必填", trigger: ["change", "blur"]}],
// contactUserId: [{required: true, message: "必填", trigger: ["change", "blur"]}]
}
}
},
methods: {
viceUserSelectUser(query) {
if (query !== "") {
$.get("/platform/teacherCongress/delegation/notHeadUser", {
"keyWord": query,
"sessionId": this.formData.sessionId,
"delegationId": this.formData.delegationId
}).then((res) => {
this.viceHeadOptions = res.data
})
}
},
onOpen(delegationId, sessionId) {
if (!delegationId || !sessionId) {
return
@@ -102,8 +114,9 @@ const HEAD_FORM_TEMPLATE = {
}).then((res) => {
if (res.code === 0) {
if (res.data) {
this.viceHeadOptions = [res.data]
this.$set(this.formData, "viceUserId", res.data.userId)
this.viceHeadOptions = res.data
this.$set(this.formData, "viceUserIds", res.data.map(v=>v.userId))
}
}
})
@@ -123,7 +136,9 @@ const HEAD_FORM_TEMPLATE = {
doSubmitHead() {
this.$refs.headFormRef.validate((valid) => {
if (valid) {
this.$axios.post("/platform/teacherCongress/delegation/insertHead", this.formData).then((res) => {
let formData = clone(this.formData)
if (formData.viceUserIds) formData.viceUserIds = JSON.stringify(formData.viceUserIds)
this.$axios.post("/platform/teacherCongress/delegation/insertHead", formData).then((res) => {
if (res.code === 0) {
this.headDialogFormVisible = false
this.$message.success(res.msg)