Files
UNION_NJUST/target/classes/static/components/reimbursement/StyleActivity.vue
T
2026-09-23 09:38:39 +08:00

162 lines
6.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<el-form ref="form" :model="z" :rules="formRules" label-position="right" label-width="120px">
<el-col :span="12">
<el-form-item label="活动名称:" prop="activity_name">
<el-input v-model="z.activity_name" placeholder="请输入活动名称"></el-input>
</el-form-item>
</el-col>
<el-col v-if="z.reimbursementItemId==1" :span="12">
<el-form-item label="活动类型:" prop="activity_type">
<el-select v-model="z.activity_type" placeholder="请选择活动类型" style="width: 100%">
<!-- <el-option label="基层工会活动" value="1" v-if="judgment_unit"></el-option>
<el-option label="校工会活动" value="2" v-if="judgment_union"></el-option>
<el-option label="协会(社团)活动" value="3" v-if="judgment_h02"></el-option>-->
<el-option label="部门工会活动" value="1"></el-option>
<el-option label="校工会活动" value="2"></el-option>
<el-option label="协会(社团)活动" value="3"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动人数:" prop="activity_number" v-else-if="z.reimbursementItemId==1">
<el-input v-model="z.activity_number" placeholder="请输入活动人数" type="number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动地点:" prop="venue">
<el-input v-model="z.venue" placeholder="请输入活动地点" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报销金额:" prop="activity_money">
<el-input v-model="z.activity_money" placeholder="输入报销金额"
type="number"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item prop="activity_card_number" label="报销卡号:">
<el-input v-model="z.activity_card_number" type="number"></el-input>
</el-form-item>
</el-col>-->
<el-col :span="12">
<el-form-item label="活动时间:" prop="activity_time">
<el-date-picker v-model="z.activity_time"
placeholder="活动时间"
style="width: 100%" type="date"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="is-required" label="发票张数:" v-else-if="z.reimbursementItemId==1" prop="files_num">
<el-input-number v-model="z.files_num" :controls="false"
:max="1000000000" :min="0" controls-position="right"
placeholder="请填写发票张数"
style="width: 100%"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="报销事由:" prop="cause">
<el-input v-model="z.cause" :autosize="{ minRows: 4, maxRows: 8}" maxlength="500"
placeholder="请填写报销事由" type="textarea"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注:" prop="activity_content">
<el-input v-model="z.activity_content" :autosize="{ minRows: 4, maxRows: 8}" maxlength="500"
placeholder="需要填写: 发票编号、开具方、金额" type="textarea"></el-input>
</el-form-item>
</el-col>
<el-col v-if="!ReimbursementIsSign" :span="24">
<el-form-item label="签&emsp;&emsp;字" prop="sign">
<sign :qz.sync="z.sign" prefix="condolence"></sign>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="" prop="files">
<span style="color: red" v-if="z.reimbursementItemId=='1'">温馨提醒:活动照片、参加人员名单、付款凭证等</span>
<span style="color: red"
v-if="z.reimbursementItemId=='3'">温馨提醒:主要用于专家咨询费、助研费、劳务费等人员经费支付。收到该笔款项后,请个税自行申报</span>
<!-- <file-upload :files.sync="z.files" card></file-upload>-->
</el-form-item>
</el-col>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button type="primary" @click="doAdd()">确 定</el-button>
</div>
</div>
</template>
<script>
module.exports = {
props: {
z: {
type: Object,
default: {},
},
judgment_unit: {type: Boolean, default: false},
judgment_union: {type: Boolean, default: false},
judgment_h02: {type: Boolean, default: false}
},
components: {
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
'sign': httpVueLoader('/components/sign/sign.vue?v' + new Date().getTime())
},
data() {
return {
ReimbursementIsSign: false,
formRules: {
activity_name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
activity_type: [{required: true, message: '必填', trigger: ['blur', 'change']}],
venue: [{required: true, message: '必填', trigger: ['blur', 'change']}],
activity_money: [{required: true, message: '必填', trigger: ['blur', 'change']}],
activity_card_number: [{required: true, message: '必填', trigger: ['blur', 'change']}],
activity_time: [{required: true, message: '必填', trigger: ['blur', 'change']}],
cause: [{required: true, message: '必填', trigger: ['blur', 'change']}],
// files_num: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sign: [{required: true, message: '必填', trigger: ['blur', 'change']}]
},
}
},
methods: {
doAdd() {
this.$refs["form"].validate(async (valid) => {
if (valid) {
if (this.z.files_num === undefined && this.z.reimbursementItemId === 1) {
this.$notify({
title: '警告',
message: "请输入发票张数",
type: 'warning'
});
return
}
const resp = await $.post("/reimbursement/StyleActivity/apply/doAdd", {
data: JSON.stringify(this.z),
sign: this.z.sign
})
window.location.href = "/activity/reimbursement/list"
}
}
)
}
},
async created() {
const aa = await getDictState("ReimbursementIsSign")
this.ReimbursementIsSign = aa.disabled
}
}
</script>