pref#ncu_commit

This commit is contained in:
Paidax
2025-12-20 16:38:57 +08:00
parent ee0f56bf13
commit 2efb8dea92
15 changed files with 460 additions and 31 deletions
@@ -91,7 +91,12 @@ const singleSignUp = {
<el-table-column prop="loginName" label="工号"></el-table-column>
<el-table-column prop="sex" label="性别"></el-table-column>
<el-table-column prop="unitName" label="单位"></el-table-column>
<el-table-column prop="mobile" label="手机号"></el-table-column>
<el-table-column prop="mobile" label="手机号">
<template slot-scope="{row}">
<el-input :disabled="isSignUp && inApplyTime" v-model="row.mobile" maxlength="11"
show-word-limit clearable placeholder="请输入手机号" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="applyUserId" label="标识">
<template slot-scope="{row}">
<el-tag size="mini" v-if="row.applyUserId==row.userId">
@@ -132,7 +137,12 @@ const singleSignUp = {
<el-table-column prop="loginName" label="工号"></el-table-column>
<el-table-column prop="sex" label="性别"></el-table-column>
<el-table-column prop="unitName" label="单位"></el-table-column>
<el-table-column prop="mobile" label="手机号"></el-table-column>
<el-table-column prop="mobile" label="手机号">
<template slot-scope="{row}">
<el-input :disabled="isSignUp && inApplyTime" v-model="row.mobile" maxlength="11"
show-word-limit clearable placeholder="请输入手机号" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="applyUserId" label="标识">
<template slot-scope="{row}">
<!-- v-if="scope.row.applyUserId===scope.row.userId"-->
@@ -181,7 +191,12 @@ const singleSignUp = {
<el-table-column prop="loginName" label="工号"></el-table-column>
<el-table-column prop="sex" label="性别"></el-table-column>
<el-table-column prop="unitName" label="单位"></el-table-column>
<el-table-column prop="mobile" label="手机号"></el-table-column>
<el-table-column prop="mobile" label="手机号">
<template slot-scope="{row}">
<el-input :disabled="isSignUp && inApplyTime" v-model="row.mobile" maxlength="11"
show-word-limit clearable placeholder="请输入手机号" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="100px"
v-if="inApplyTime">
<template slot-scope="scope">
@@ -329,6 +344,17 @@ const singleSignUp = {
if (!formValid) return
}
// 校验手机号是否填写
const incompleteUser = this.teamUsers.find(user => {
return !user.mobile || user.mobile.trim() === '';
});
if (incompleteUser) {
this.$message.error('请填写完整手机号');
return;
}
//组队
if (this.viewData.signUpMethod === 2) {
//组队人数判断
@@ -104,6 +104,7 @@ layout("/layouts/platform.html"){
},
data() {
return {
sessionOptions: [],
tableColumns: [
{label: "提案编号", prop: "code"},
{label: "提案名称", prop: "name", width: "200px"},
@@ -191,7 +192,6 @@ layout("/layouts/platform.html"){
if (this.sessionOptions) {
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
this.pageData()
this.listDelegation()
}
}
})
@@ -126,6 +126,9 @@ layout("/layouts/platform.html"){
})
},
openAudit(row) {
// 找这个代表团的副团长
this.$refs.guava.edit(() => {
this.showApprovalForm = true
this.formData = {
@@ -0,0 +1,32 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app">
<guava ref="guava">
<el-card shadow="never">
<search @search="doSearch">
<search-item label="教代会">
<el-select @change="meetingChange" clearable filterable placeholder="所属教代会"
v-model="pageForm.sessionId">
<el-option :key="item.id" :label="item.fullName" :value="item.id"
v-for="item in sessionOptions"></el-option>
</el-select>
</search-item>
<search-item label="提案名称">
<el-input v-model="pageForm.name" placeholder="提案名称" @keyup.enter.native="doSearch" clearable
style="width: 100%"></el-input>
</search-item>
<search-item label="姓名/工号">
<el-input placeholder="请输入姓名或工号" clearable v-model="pageForm.createUserKeyword"></el-input>
</search-item>
</search>
</el-card>
<el-card shadow="never" class="mt10">
</el-card>
</guava>
</div>
<!--#
}
#-->
@@ -24,26 +24,38 @@ layout("/layouts/platform.html"){
<el-card shadow="never">
<table-tool>
<el-radio-group @change="doSearch" v-model="pageForm.isFormalOrAttendance" size="small">
<el-radio-group v-model="pageForm.approval" size="small" class="ml10"
@change="doSearch">
<el-radio-button :label="true">已审核</el-radio-button>
<el-radio-button :label="false">未审核</el-radio-button>
</el-radio-group>
<template v-if="!pageForm.approval">
<el-button type="primary" size="small" @click="doBatchApproval(1)"
:disabled="!selectDataList || selectDataList.length <= 0"
class="ml10">批量通过</el-button>
<el-button type="danger" size="small" @click="doBatchApproval(2)"
:disabled="!selectDataList || selectDataList.length <= 0"
class="ml10">批量拒绝</el-button>
</template>
<el-radio-group @change="doSearch" v-model="pageForm.isFormalOrAttendance" size="small" style="margin-left: 10px">
<el-radio-button label="全部"></el-radio-button>
<el-radio-button label="正式代表"></el-radio-button>
<el-radio-button label="列席代表"></el-radio-button>
</el-radio-group>
<el-radio-group v-model="pageForm.approval" size="small" class="ml10"
@change="doSearch">
<el-radio-button :label="true">已审核</el-radio-button>
<el-radio-button :label="false">未审核</el-radio-button>
</el-radio-group>
<el-button type="primary" size="small" @click="exportExcel" class="ml5">导出</el-button>
<el-button type="primary" size="small" @click="exportExcel" class="ml10">导出</el-button>
</table-tool>
<el-table
ref="tableRef"
:data="tableData"
row-key="id"
@selection-change="tableHandleSelectionChange"
@sort-change="pageOrder"
>
<!-- <el-table-column type="selection" width="55" reserve-selection></el-table-column>-->
<el-table-column type="selection" width="55" reserve-selection></el-table-column>
<el-table-column type="index" width="55" label="序号" :index="indexMethod"></el-table-column>
<el-table-column label="姓名" prop="userName" width="100"></el-table-column>
<el-table-column label="工号" prop="loginName"></el-table-column>
@@ -161,10 +173,55 @@ layout("/layouts/platform.html"){
writeDialog: false,
isRead: false,
userId: null
userId: null,
selectDataList: [],
}
},
methods: {
/**
* 批量审核
*/
tableHandleSelectionChange(val) {
this.selectDataList = val
},
/**
* 批量审核
*/
doBatchApproval(submitType) {
this.$confirm("您确定要提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
const loading = createLoading()
const data = this.selectDataList.map(v => {
return {
processTaskId: v.taskId,
taskName: v.curTaskName,
submitType: submitType,
id: v.id
}
})
this.$axios.post("/platform/teacherCongress/delegate/push/zcAudit/submitBatch", {
data: JSON.stringify(data)
}).then(res => {
loading.close()
if (res.code === 0) {
this.$message.success(res.msg)
this.$refs.tableRef.clearSelection()
this.doSearch()
} else {
this.$message.error(res.msg)
}
})
})
},
exportExcel() {
this.$downLoad("/platform/teacherCongress/delegate/push/zcAudit/exportExcel", this.pageForm)
},
@@ -188,7 +245,8 @@ layout("/layouts/platform.html"){
data: JSON.stringify({
...this.formData,
submitType: submitType
}), id: row.id
}),
id: row.id
}).then((res) => {
if (res.code === 0) {
this.$message.success(res.msg)
@@ -1,5 +1,5 @@
const AU_FORM_TEMPLATE = {
template: `
template: /*language=HTML*/ `
<el-dialog :title="formData.id ? '编辑':'新增'" :visible.sync="dialogFormVisible" width="700px" :close-on-click-modal="false">
<el-form :model="formData" ref="formRef" size="small" label-width="120px" :rules="formRules">
<el-form-item prop="sessionId" label="教代会">
@@ -13,6 +13,12 @@ const AU_FORM_TEMPLATE = {
<el-form-item prop="code" label="代表团编码">
<el-input placeholder="请输入代表团编码" v-model="formData.code" maxlength="50"></el-input>
</el-form-item>
<el-form-item prop="code" label="联合组团">
<el-radio-group v-model="formData.unite" size="small">
<el-radio :label="true" border>是</el-radio>
<el-radio :label="false" border>否</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
@@ -23,21 +23,27 @@ layout("/layouts/platform.html"){
<el-table :data="tableData" @sort-change="pageOrder" border header-align="center" height="100%" style="width: 100%">
<el-table-column :index="indexMethod" label="序号" type="index" width="100px"></el-table-column>
<el-table-column label="名称" prop="name"></el-table-column>
<el-table-column label="编码" prop="code" width="150px"></el-table-column>
<el-table-column label="编码" prop="code" width="100px"></el-table-column>
<el-table-column label="联合组团" prop="unite">
<template slot-scope="{row}">
<el-switch v-model="row.unite" size="small"
@change="doUniteChange(row.id, row.unite)"></el-switch>
</template>
</el-table-column>
<el-table-column label="教代会" prop="sessionName"></el-table-column>
<el-table-column label="团长" prop="delegationHead"></el-table-column>
<el-table-column label="副团长" prop="viceDelegationHead"></el-table-column>
<el-table-column label="联络人" prop="delegationContact"></el-table-column>
<el-table-column label="操作" width="300">
<el-table-column label="操作" width="315">
<template slot-scope="scope">
<el-link @click="$refs.auFormRef.onOpen(scope.row.id)" size="mini" type="primary">编辑</el-link>
<el-link @click="$refs.headFormRef.onOpen(scope.row.id,scope.row.sessionId)" size="mini" type="primary">
设置团长
</el-link>
<el-link @click="$refs.partUnitRef.onOpen(scope.row.id,scope.row.sessionId)" size="mini" type="primary">
设置组成单位
</el-link>
<el-link @click="doDelete(scope.row.id)" size="mini" type="danger">删除</el-link>
<el-button style="margin-left: 2px" @click="$refs.auFormRef.onOpen(scope.row.id)" size="mini" type="primary">编辑</el-button>
<el-button style="margin-left: 2px" @click="$refs.headFormRef.onOpen(scope.row.id,scope.row.sessionId)" size="mini" type="primary">
团长
</el-button>
<el-button style="margin-left: 2px" @click="$refs.partUnitRef.onOpen(scope.row.id,scope.row.sessionId)" size="mini" type="primary">
组成单位
</el-button>
<el-button style="margin-left: 2px" @click="doDelete(scope.row.id)" size="mini" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -117,7 +123,22 @@ layout("/layouts/platform.html"){
}
this.pageData()
},
doUniteChange(id, unite) {
this.$confirm("您确定要修改吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "info"
}).then(() => {
this.$axios.post("/platform/teacherCongress/delegation/unite", { id, unite })
.then((res) => {
if (res.code === 0) {
this.$message.success(res.msg)
}
})
})
},
sessionChange(id) {
this.pageForm.sessionId = id
this.pageData()