162 lines
6.6 KiB
Vue
162 lines
6.6 KiB
Vue
<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="签  字" 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> |