This commit is contained in:
@jyuhsin
2025-12-30 18:24:09 +08:00
parent 088418ec4d
commit 79666b55d1
14 changed files with 77 additions and 29 deletions
@@ -26,7 +26,7 @@ layout("/layouts/platform.html"){
</el-descriptions-item>
<el-descriptions-item label="报销模式">
<el-form-item prop="activityReimbursementMode"
<el-form-item prop="activityReimbursementMode" label="报销模式"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-radio-group v-model="formData.activityReimbursementMode"
@change="getActivityReimbursementByUser">
@@ -57,7 +57,7 @@ layout("/layouts/platform.html"){
<el-descriptions-item label="项目名称" v-if="formData.activityReimbursementMode==='activity'">
<el-row :gutter="10">
<el-col :span="18">
<el-form-item prop="declareId"
<el-form-item prop="declareId" label="项目名称"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-select v-model="formData.declareId"
style="width: 100%;"
@@ -82,7 +82,7 @@ layout("/layouts/platform.html"){
</el-descriptions-item>
<el-descriptions-item label="项目名称" v-else>
<el-form-item prop="activityName"
<el-form-item prop="activityName" label="项目名称"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input v-model="formData.activityName" maxlength="50"
placeholder="请输入项目名称"></el-input>
@@ -91,7 +91,7 @@ layout("/layouts/platform.html"){
</template>
<el-descriptions-item label="扣款预算">
<el-form-item prop="deductionBudgetId"
<el-form-item prop="deductionBudgetId" label="扣款预算"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-select v-model="formData.deductionBudgetId"
style="width: 100%;"
@@ -113,7 +113,7 @@ layout("/layouts/platform.html"){
<template v-if="formData.activityReimbursementMode==='activity'">
<el-descriptions-item label="实际活动时间">
<el-form-item prop="activityTime"
<el-form-item prop="activityTime" label="实际活动时间"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-date-picker
start-placeholder="开始日期"
@@ -129,7 +129,7 @@ layout("/layouts/platform.html"){
<el-descriptions-item label="活动计划时间">
<el-form-item prop="planDate"
<el-form-item prop="planDate" label="活动计划时间"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-date-picker
readonly
@@ -150,12 +150,12 @@ layout("/layouts/platform.html"){
</template>
<el-descriptions-item label="费用" :span="2">
<el-form-item prop="budgets">
<el-form-item prop="budgets" label="费用">
<el-table :data="formData.budgets" border max-height="500" size="mini" style="width: 100%">
<el-table-column label="序号" sortable fixed type="index" width="60"></el-table-column>
<el-table-column label="费用项目名称" fixed prop="name" width="200">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="费用项目名称"
:prop="'budgets.'+$index+'.name'"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input v-model="row.name" style="width: 100%" maxlength="50"
@@ -166,7 +166,7 @@ layout("/layouts/platform.html"){
<el-table-column label="预算费用" prop="budgetPrice" width="250"
v-if="formData.activityReimbursementMode==='activity'">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="预算费用"
:prop="'budgets.'+$index+'.budgetPrice'"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input-number placeholder="预算费用" v-model="row.budgetPrice"
@@ -177,7 +177,7 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column label="实际费用" prop="actualPrice" width="250">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="实际费用"
:prop="'budgets.'+$index+'.actualPrice'"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input-number placeholder="请填写实际费用" v-model="row.actualPrice"
@@ -188,7 +188,7 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column label="收款人" prop="username" width="200">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="收款人"
:prop="'budgets.'+$index+'.username'"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input v-model="row.username" maxlength="50"
@@ -199,7 +199,7 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column label="支行名称" prop="bankName" width="300">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="支行名称"
:prop="'budgets.'+$index+'.bankName'"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input v-model="row.bankName" maxlength="80"
@@ -209,7 +209,7 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column label="报销卡号" prop="bankCardNum" width="250">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="报销卡号"
:prop="'budgets.'+$index+'.bankCardNum'"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-input type="number" v-model="row.bankCardNum"
@@ -220,7 +220,7 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column label="备注" prop="remark" width="400">
<template scope="{row,$index}">
<el-form-item label-width="0"
<el-form-item label-width="0" label="备注"
:prop="'budgets.'+$index+'.remark'">
<el-input v-model="row.remark" maxlength="200"
placeholder="请输入备注"></el-input>
@@ -245,7 +245,7 @@ layout("/layouts/platform.html"){
</el-descriptions-item>
<el-descriptions-item label="发票" :span="2">
<el-form-item prop="billFiles">
<el-form-item prop="billFiles" label="发票">
<file-upload :value.sync="formData.billFiles"
upload_mode="drag"
:upload_number="10" upload_result_category="array"
@@ -255,7 +255,7 @@ layout("/layouts/platform.html"){
</el-descriptions-item>
<template v-if="formData.activityReimbursementMode==='activity'">
<el-descriptions-item label="活动报道照片/总结/链接" :span="2">
<el-form-item prop="photoFiles">
<el-form-item prop="photoFiles" label="活动报道照片/总结/链接">
<file-upload :value.sync="formData.photoFiles"
upload_mode="drag"
:upload_number="10" upload_result_category="array"
@@ -265,7 +265,7 @@ layout("/layouts/platform.html"){
</el-descriptions-item>
<el-descriptions-item label="奖品/纪念品/服装/道具等活动人员名单" :span="2">
<el-form-item prop="otherFiles">
<el-form-item prop="otherFiles" label="奖品/纪念品/服装/道具等活动人员名单">
<file-upload :value.sync="formData.otherFiles"
upload_mode="drag"
:upload_number="10" upload_result_category="array"
@@ -276,7 +276,7 @@ layout("/layouts/platform.html"){
</template>
<el-descriptions-item label="签字" :span="2">
<el-form-item prop="sign">
<el-form-item prop="sign" label="签字">
<pc-signature v-model="formData.sign"></pc-signature>
</el-form-item>
</el-descriptions-item>
@@ -350,6 +350,9 @@ layout("/layouts/platform.html"){
outlayManageSourceChange(val) {
this.$set(this.formData, 'clubId', null)
this.$set(this.formData, 'deductionBudgetId', null)
this.$set(this.formData, 'declareId', null)
this.$set(this.formData, 'budgets', [])
this.$set(this.formData, 'activityTime', [])
if (val === "ACTIVITY_BUDGET_TYPE_ONE") {
this.$set(this.formData, "declareUnitName", "校工会")
} else if (val === "ACTIVITY_BUDGET_TYPE_TWO") {
@@ -13,6 +13,10 @@ const SCHOOL_CLUB_MANAGE_TEMPLATE = {
v-model="pageForm.clubName"
></el-input>
</search-item>
<search-item label="姓名/工号">
<el-input v-model="pageForm.searchKeyword" placeholder="请输入姓名或工号"
clearable></el-input>
</search-item>
</search>
</el-card>
<el-card shadow="never" class="mt10">
@@ -58,6 +58,8 @@ const CLUB_MANAGER_TEMPLATE = {
</template>
<template slot-scope="scope">
<el-button
:disabled="scope.row.roleCode === 'CLUB_PRESIDENT'
|| scope.row.roleCode === 'CLUB_SECRETARY'""
@click="deleteRow(scope.row, scope.$index)"
size="mini" type="danger">删除
</el-button>
@@ -76,7 +76,7 @@ layout("/layouts/platform.html"){
<el-row type="flex" justify="end">
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
<el-button @click="handleTaskAction(20)" size="small" type="danger">不同意</el-button>
<el-button @click="handleTaskAction(2)" size="small" type="danger">不同意</el-button>
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意</el-button>
</el-row>
</div>
@@ -163,7 +163,9 @@ layout("/layouts/platform.html"){
this.importDialog = true
},
successImport() {
this.importDialog = false
if(this.$refs.viewImport.$data.errorInfoData.errorCount === 0) {
this.importDialog = false
}
this.pageData()
},
exportMember() {
@@ -18,7 +18,7 @@ layout("/layouts/platform.html"){
placeholder="请选择年度"
></el-date-picker>
</search-item>
<template v-if="pageForm.queryType == 'union'">
<template v-if="pageForm.queryType == 'fgh'">
<search-item label="工会">
<el-select placeholder="分工会" v-model="pageForm.queryId" style="width: 100%" @change="doSearch" clearable filterable>
<el-option v-for="item in unions" :label="item.name" :value="item.id"></el-option>
@@ -45,7 +45,7 @@ layout("/layouts/platform.html"){
<table-tool label="会员分析"></table-tool>
<el-table :data="tableData" show-summary>
<el-table-column align="center" header-align="center" type="index" label="序号" width="80px"></el-table-column>
<el-table-column v-if="pageForm.queryType=='union'" align="center" header-align="center" label="分工会" width="220px">
<el-table-column v-if="pageForm.queryType=='fgh'" align="center" header-align="center" label="分工会" width="220px">
<template scope="{row}">{{row.unionCode ? ''+row.unionCode+'' : null }}{{row.unionName}}</template>
</el-table-column>
<el-table-column v-if="pageForm.queryType=='unit'" align="center" header-align="center" label="单位" width="220px">