This commit is contained in:
那些花儿
2025-12-26 11:23:10 +08:00
25 changed files with 340 additions and 281 deletions
@@ -74,7 +74,8 @@ layout("/layouts/platform.html"){
</el-descriptions-item>
<el-descriptions-item label="申请时间">
<el-form-item prop="applyTime">
<el-input disabled type="text" v-model="$moment(formData.applyTime).format('YYYY-MM-DD')"></el-input>
<el-input disabled type="text"
v-model="$moment(formData.applyTime).format('YYYY-MM-DD')"></el-input>
</el-form-item>
</el-descriptions-item>
@@ -226,7 +227,7 @@ layout("/layouts/platform.html"){
}
},
watch: {
'formData.activityType': function(newVal, oldVal) {
'formData.activityType': function (newVal, oldVal) {
if (newVal !== oldVal) {
this.$set(this.formData, "deductionBudgetId", null)
this.getBudgetByYear()
@@ -277,46 +278,55 @@ layout("/layouts/platform.html"){
// 提交
onSubmit() {
this.$confirm("您确定要提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
if (this.formData.planDate && this.formData.planDate.length > 0) {
this.formData.planStartTime = this.formData.planDate[0]
this.formData.planEndTime = this.formData.planDate[1]
this.$refs.formRef.validate().then((valid) => {
if (valid) {
this.$confirm("您确定要提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
if (this.formData.planDate && this.formData.planDate.length > 0) {
this.formData.planStartTime = this.formData.planDate[0]
this.formData.planEndTime = this.formData.planDate[1]
}
this.$axios.post('/platform/activityDeclare/apply/submit', {
data: JSON.stringify(this.formData)
}).then(res => {
if (res.code === 0) {
this.$message.success("提交成功")
commonUtil.pjaxPush('/platform/activityDeclare/mine')
}
})
})
}
this.$axios.post('/platform/activityDeclare/apply/submit', {
data: JSON.stringify(this.formData)
}).then(res => {
if (res.code === 0) {
this.$message.success("提交成功")
commonUtil.pjaxPush('/platform/activityDeclare/mine')
}
})
})
},
onFinishTask() {
this.$confirm("您确定要提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
if (this.formData.planDate && this.formData.planDate.length > 0) {
this.formData.planStartTime = this.formData.planDate[0]
this.formData.planEndTime = this.formData.planDate[1]
this.$refs.formRef.validate().then((valid) => {
if (valid) {
this.$confirm("您确定要提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
if (this.formData.planDate && this.formData.planDate.length > 0) {
this.formData.planStartTime = this.formData.planDate[0]
this.formData.planEndTime = this.formData.planDate[1]
}
this.$axios.post('/platform/activityDeclare/apply/submitAgain', {
data: JSON.stringify(this.formData),
taskId: GetQueryString("taskId")
}).then(res => {
if (res.code === 0) {
this.$message.success("提交成功")
commonUtil.pjaxPush('/platform/activityDeclare/mine')
}
})
})
}
this.$axios.post('/platform/activityDeclare/apply/submitAgain', {
data: JSON.stringify(this.formData),
taskId: GetQueryString("taskId")
}).then(res => {
if (res.code === 0) {
this.$message.success("提交成功")
commonUtil.pjaxPush('/platform/activityDeclare/mine')
}
})
})
},
// 设置申报主体名称
setDeclareUnitName(val) {
@@ -28,7 +28,8 @@ layout("/layouts/platform.html"){
<el-descriptions-item label="报销模式">
<el-form-item prop="activityReimbursementMode"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-radio-group v-model="formData.activityReimbursementMode" @change="getActivityReimbursementByUser">
<el-radio-group v-model="formData.activityReimbursementMode"
@change="getActivityReimbursementByUser">
<el-radio-button label="activity">活动报销</el-radio-button>
<el-radio-button label="daily">日常报销</el-radio-button>
</el-radio-group>
@@ -522,14 +523,14 @@ layout("/layouts/platform.html"){
}
})
}
if (this.$auth.hasRoleOr(["UNION_REIMBURSEMENT_MANAGER","UNION_REIMBURSEMENT_MANAGER"])) {
if (this.$auth.hasRoleOr(["UNION_REIMBURSEMENT_MANAGER", "BRANCH_UNION_CHAIRMAN", "BRANCH_UNION_WENTI_SPORTS"])) {
this.budgetTypeOption.map(v => {
if (["ACTIVITY_BUDGET_TYPE_TWO"].includes(v.code)) {
budgetTypeCloseOption.push(v)
}
})
}
if (this.$auth.hasRoleOr(["CLUB_REIMBURSEMENT_MANAGER","CLUB_PRESIDENT"])) {
if (this.$auth.hasRoleOr(["CLUB_REIMBURSEMENT_MANAGER", "CLUB_PRESIDENT"])) {
this.budgetTypeOption.map(v => {
if (["ACTIVITY_BUDGET_TYPE_THREE"].includes(v.code)) {
budgetTypeCloseOption.push(v)
@@ -27,14 +27,15 @@ const INFO = {
<el-descriptions-item></el-descriptions-item>
<template v-if="viewData.activityReimbursementMode==='activity'">
<el-descriptions-item label="活动计划时间">{{ (viewData.planStartTime ? viewData.planStartTime :
<el-descriptions-item label="活动计划时间">
{{ (viewData.planStartTime ? $moment(viewData.planStartTime).format('YYYY-MM-DD') :
'未填写')
+ ' ~ ' + (viewData.planEndTime ? viewData.planEndTime : '未填写') }}
+ ' ~ ' + (viewData.planEndTime ? $moment(viewData.planEndTime).format('YYYY-MM-DD') : '未填写') }}
</el-descriptions-item>
<el-descriptions-item label="活动人数">{{ viewData.activityNumber }}</el-descriptions-item>
<el-descriptions-item label="实际活动时间" :span="2">{{ (viewData.startTime ? viewData.startTime :
'未填写') + ' ~ ' + (viewData.endTime ? viewData.endTime : '未填写') }}
<el-descriptions-item label="实际活动时间" :span="2">{{ (viewData.startTime ? $moment(viewData.startTime).format('YYYY-MM-DD') :
'未填写') + ' ~ ' + (viewData.endTime ? $moment(viewData.endTime).format('YYYY-MM-DD') : '未填写') }}
</el-descriptions-item>
<el-descriptions-item label="活动地址" :span="2">{{ viewData.activityAddress }}
@@ -713,6 +713,7 @@ var ACTIVITY_SPORTS_APPLY_USER = {
})
//表格的人员
arr.forEach((v) => {
this.applyFromData.teamName=this.teamList.find(t=>t.id===this.applyFromData.teamId)?.name
const data = {
id: null,
loginname: v.loginname,
@@ -115,18 +115,19 @@ layout("/layouts/platform.html"){
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="调研情况" prop="researchFindings">-->
<!-- <el-input-->
<!-- v-model="formData.researchFindings"-->
<!-- type="textarea"-->
<!-- autosize-->
<!-- :autosize="{ minRows: 4, maxRows: 4}"-->
<!-- placeholder="调研情况"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="调研情况" prop="researchFindings">-->
<!-- <el-input-->
<!-- v-model="formData.researchFindings"-->
<!-- type="textarea"-->
<!-- autosize-->
<!-- :autosize="{ minRows: 4, maxRows: 4}"-->
<!-- placeholder="调研情况"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="建议承办单位" prop="suggestUnits">
<el-select v-model="formData.suggestUnits" multiple filterable style="width: 100%" placeholder="请选择建议承办单位">
<el-select v-model="formData.suggestUnits" multiple filterable style="width: 100%"
placeholder="请选择建议承办单位">
<el-option :key="item.id" :label="item.name" :value="item.name"
v-for="item in suggestUnitOptions"></el-option>
</el-select>
@@ -242,7 +243,9 @@ layout("/layouts/platform.html"){
this.$message.warning("请填写提案名称")
return
}
if (this.formData.brief.length < this.proposalConfig.briefMinLength) {
let brief = clone(this.formData.brief)
brief = removeHTMLTag(brief)
if (brief.length < this.proposalConfig.briefMinLength) {
this.$message.warning("提案内容和依据最少为" + this.proposalConfig.briefMinLength + "字")
return
}
@@ -257,16 +260,21 @@ layout("/layouts/platform.html"){
loading.close()
if (res.code === 0) {
this.$message.success("提交成功")
this.$confirm("提交成功,是否立即去邀请附议人?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
commonUtil.pjaxPush('/platform/proposal/mine?bizId=' + res.data.id + "&operation=invite")
}).catch(() => {
this.$message.info("请到我的提案界面邀请附议人")
if (this.formData.source==="PERSONAL"){
this.$confirm("提交成功,是否立即去邀请附议人?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
commonUtil.pjaxPush('/platform/proposal/mine?bizId=' + res.data.id + "&operation=invite")
}).catch(() => {
this.$message.info("请到我的提案界面邀请附议人")
commonUtil.pjaxPush('/platform/proposal/mine')
})
}else{
commonUtil.pjaxPush('/platform/proposal/mine')
})
}
}
})
})
@@ -275,13 +283,16 @@ layout("/layouts/platform.html"){
// 重新提交
async onSubmitAgain() {
const valid = await this.$refs["addForm"].validate()
if (valid) {
if (!this.formData.name || this.formData.name.trim().length < 1) {
this.$message.warning("请填写提案名称")
return
}
if (this.formData.brief.length < this.proposalConfig.briefMinLength) {
let brief = clone(this.formData.brief)
brief = removeHTMLTag(brief)
if (brief.length < this.proposalConfig.briefMinLength) {
this.$message.warning("提案内容和依据最少为" + this.proposalConfig.briefMinLength + "字")
return
}
@@ -412,7 +412,7 @@ layout("/layouts/platform_h5.html"){
} else if (this.viewData.userNumberLimit === 2) {
//分工会人数限制
const union = this.viewData.unionUserNumberLimit.find(v => v.id === this.$store.state.user.union.id)
this.viewData.unionTeamNum = union.limitNum
this.viewData.unionLimitNum = union.limitNum
}
if (this.viewData.signUpMethod === 3) {
this.listTeamUserUnion()
@@ -768,6 +768,7 @@ layout("/layouts/platform_h5.html"){
},
created() {
this.init()
}
})
</script>
@@ -66,7 +66,7 @@ layout("/layouts/platform_h5.html"){
</van-form>
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
<van-button type="danger" block @click="handleTaskAction(20)">不同意</van-button>
<van-button type="danger" block @click="handleTaskAction(2)">不同意</van-button>
<van-button type="primary" block @click="handleTaskAction(1)">同意</van-button>
</div>
</div>