add
This commit is contained in:
parent
3f644be809
commit
089eecf29a
@ -24,3 +24,14 @@ export function apiFinancialTravelReimbursementDelete(params: any) {
|
|||||||
export function apiFinancialTravelReimbursementDetail(params: any) {
|
export function apiFinancialTravelReimbursementDetail(params: any) {
|
||||||
return request.get({ url: '/financial.financial_travel_reimbursement/detail', params })
|
return request.get({ url: '/financial.financial_travel_reimbursement/detail', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 财务管理--差旅费报销单列表
|
||||||
|
export function apiFinancialTravelReimbursementDetailLists(params: any) {
|
||||||
|
return request.get({ url: '/financial.financial_travel_reimbursement_detail/lists', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 删除财务管理--差旅费报销单
|
||||||
|
export function apiFinancialTravelReimbursementDetailDelete(params: any) {
|
||||||
|
return request.post({ url: '/financial.financial_travel_reimbursement_detail/delete', params })
|
||||||
|
}
|
@ -21,16 +21,6 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||||
<!-- <el-button v-perms="['financial.financial_refund/add']" type="primary" @click="handleAdd">
|
|
||||||
<template #icon>
|
|
||||||
<icon name="el-icon-Plus" />
|
|
||||||
</template>
|
|
||||||
新增
|
|
||||||
</el-button> -->
|
|
||||||
<el-button v-perms="['financial.financial_refund/delete']" :disabled="!selectData.length"
|
|
||||||
@click="handleDelete(selectData)">
|
|
||||||
删除
|
|
||||||
</el-button>
|
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table border :data="pager.lists">
|
<el-table border :data="pager.lists">
|
||||||
<el-table-column label="合同名称" prop="contract_name" :render-header="pager.calcWidth" />
|
<el-table-column label="合同名称" prop="contract_name" :render-header="pager.calcWidth" />
|
||||||
@ -57,18 +47,6 @@
|
|||||||
<el-table-column label="开票未回款金额" prop="invoice_not_refund_amount" show-overflow-tooltip />
|
<el-table-column label="开票未回款金额" prop="invoice_not_refund_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="回款未开票金额" prop="refund_not_invoice_amount" show-overflow-tooltip />
|
<el-table-column label="回款未开票金额" prop="refund_not_invoice_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="合同结算日期" prop="settlement_date" show-overflow-tooltip width="120" />
|
<el-table-column label="合同结算日期" prop="settlement_date" show-overflow-tooltip width="120" />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
|
||||||
<template #default="{ row }">
|
|
||||||
<!-- <el-button v-perms="['financial.financial_refund/edit']" type="primary" link
|
|
||||||
@click="handleEdit(row)">
|
|
||||||
编辑
|
|
||||||
</el-button> -->
|
|
||||||
<el-button v-perms="['financial.financial_refund/delete']" type="danger" link
|
|
||||||
@click="handleDelete(row.id)">
|
|
||||||
删除
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex mt-4 justify-end">
|
<div class="flex mt-4 justify-end">
|
||||||
|
@ -179,12 +179,6 @@ const tableConfig = reactive(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
const customEvent = (e) => {
|
|
||||||
formData.contract_id = e.id
|
|
||||||
formData.contract_name = e.contract_name
|
|
||||||
formData.contract_type_text = e.contract_type_text
|
|
||||||
showDialog.value = false
|
|
||||||
}
|
|
||||||
const customEvent1 = (e) => {
|
const customEvent1 = (e) => {
|
||||||
formData.fee_application_id = e.id
|
formData.fee_application_id = e.id
|
||||||
formData.fee_application_theme = e.theme
|
formData.fee_application_theme = e.theme
|
||||||
@ -192,6 +186,12 @@ const customEvent1 = (e) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const customEvent = (e) => {
|
||||||
|
formData.contract_id = e.id
|
||||||
|
formData.contract_name = e.contract_name
|
||||||
|
formData.contract_type_text = e.contract_type_text
|
||||||
|
showDialog.value = false
|
||||||
|
}
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
contract_id: [{
|
contract_id: [{
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
import { apiFinancialExpenseReimbursementDetailLists } from '@/api/financial_expense_reimbursement'
|
import { apiFinancialTravelReimbursementDetailLists } from '@/api/financial_travel_reimbursement'
|
||||||
|
|
||||||
|
|
||||||
const detailConfig = {
|
const detailConfig = {
|
||||||
title: "财务管理--费用报销单",
|
title: "财务管理--差旅费报销单",
|
||||||
config: [
|
config: [
|
||||||
{
|
|
||||||
label: "合同名称",
|
|
||||||
value: "contract_name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "合同类型",
|
|
||||||
value: "contract_type_text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "费用申请单",
|
|
||||||
value: "fee_application_theme"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "单据主题",
|
|
||||||
value: "theme"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "单据编号",
|
label: "单据编号",
|
||||||
value: "code"
|
value: "code"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "单据张数",
|
label: "审批部门",
|
||||||
|
value: "approve_dept_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "费用类别",
|
||||||
|
value: "cost_type_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "支付方式",
|
||||||
|
value: "pay_type_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "可抵扣税额",
|
||||||
|
value: "tax_deductible_amount"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "附单据张数",
|
||||||
value: "bill_num"
|
value: "bill_num"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "单据编号",
|
label: "关联费用申请",
|
||||||
value: "code"
|
value: "fee_application_theme"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "支付方式",
|
label: "支付方式",
|
||||||
@ -41,21 +41,6 @@ const detailConfig = {
|
|||||||
value: "content",
|
value: "content",
|
||||||
column: 1
|
column: 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: "单据编号",
|
|
||||||
value: "code"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
label: "报销总金额",
|
|
||||||
value: "total_amount"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
label: "附件",
|
|
||||||
value: "annex",
|
|
||||||
column: 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "申请人",
|
label: "申请人",
|
||||||
value: "create_user"
|
value: "create_user"
|
||||||
@ -77,16 +62,44 @@ const detailConfig = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "发生日期",
|
label: "起止日期",
|
||||||
value: 'date'
|
value: 'date'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "科目名称",
|
label: "起止地点",
|
||||||
value: 'subject_name_text',
|
value: 'address',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "金额",
|
label: "交通费",
|
||||||
value: 'amount',
|
value: 'traffic_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "住宿费",
|
||||||
|
value: 'stay_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "住宿天数",
|
||||||
|
value: 'stay_days',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "住宿单价",
|
||||||
|
value: 'stay_price',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补助天数",
|
||||||
|
value: 'subsidy_days',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补助金额",
|
||||||
|
value: 'subsidy_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补贴减扣",
|
||||||
|
value: 'subsidy_deduction',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补助标准",
|
||||||
|
value: 'subsidy_price',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "摘要",
|
label: "摘要",
|
||||||
@ -95,8 +108,8 @@ const detailConfig = {
|
|||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
query: 'expense_reimbursement_id',
|
query: 'travel_reimbursement_id',
|
||||||
fetchFun: apiFinancialExpenseReimbursementDetailLists,
|
fetchFun: apiFinancialTravelReimbursementDetailLists,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,50 +1,86 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit" @close="handleClose">
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
<el-form-item label="单据编号">
|
||||||
<el-form-item label="单据编号" prop="code">
|
<el-input v-model="formData.code" clearable placeholder="系统自动生成" disabled />
|
||||||
<el-input v-model="formData.code" clearable placeholder="请输入单据编号" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审批部门" prop="approve_dept">
|
|
||||||
<el-input v-model="formData.approve_dept" clearable placeholder="请输入审批部门" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="费用类别" prop="cost_type">
|
|
||||||
<el-input v-model="formData.cost_type" clearable placeholder="请输入费用类别" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="支付方式" prop="pay_type">
|
|
||||||
<el-input v-model="formData.pay_type" clearable placeholder="请输入支付方式" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="可抵扣税额" prop="tax_deductible_amount">
|
|
||||||
<el-input v-model="formData.tax_deductible_amount" clearable placeholder="请输入可抵扣税额" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="附单据张数" prop="bill_num">
|
|
||||||
<el-input v-model="formData.bill_num" clearable placeholder="请输入附单据张数" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="关联费用申请" prop="fee_application_id">
|
|
||||||
<el-input v-model="formData.fee_application_id" clearable placeholder="请输入关联费用申请" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="事由" prop="content">
|
|
||||||
<el-input v-model="formData.content" clearable placeholder="请输入事由" />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="申请人" prop="create_user">
|
|
||||||
<el-input v-model="formData.create_user" clearable placeholder="请输入申请人" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="申请日期" prop="create_time">
|
|
||||||
<el-input v-model="formData.create_time" clearable placeholder="请输入申请日期" />
|
|
||||||
</el-form-item> -->
|
|
||||||
<!-- <createUserLable :></createUserLable> -->
|
|
||||||
|
|
||||||
|
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="审批部门" prop="approve_dept">
|
||||||
|
<el-select v-model="formData.approve_dept" placeholder="请选择部门" class="flex-1">
|
||||||
|
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="费用类别" prop="cost_type">
|
||||||
|
<el-select v-model="formData.cost_type" placeholder="请选择费用类别" class="flex-1">
|
||||||
|
<el-option :label="item.name" :value="parseInt(item.value)"
|
||||||
|
v-for="item in dictData.cost_type">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="支付方式" prop="pay_type">
|
||||||
|
<el-select v-model="formData.pay_type" placeholder="请选择支付方式" class="flex-1">
|
||||||
|
<el-option :label="item.name" :value="parseInt(item.value)"
|
||||||
|
v-for="item in dictData.financial_pay_type">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="可抵扣税额" prop="tax_deductible_amount">
|
||||||
|
<el-input v-model="formData.tax_deductible_amount" clearable placeholder="请输入可抵扣税额"
|
||||||
|
type="number" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="附单据张数" prop="bill_num">
|
||||||
|
<el-input v-model="formData.bill_num" clearable placeholder="请输入附单据张数" type="number" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="关联费用申请" prop="fee_application_theme">
|
||||||
|
<el-input v-model="formData.fee_application_theme" clearable placeholder="点击选择费用申请单"
|
||||||
|
@click="showDialog1 = true" readonly />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="事由">
|
||||||
|
<el-input v-model="formData.content" clearable placeholder="请输入事由" type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<create-user-lable flag name="申请" :form-data="formData"></create-user-lable>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<FormTable :form-data="formData.detail" :config="tableConfig">
|
||||||
|
<el-table-column label="部门">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-select v-model="row.dept_id" placeholder="请选择部门">
|
||||||
|
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <template #accumulate>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="报销总金额:">
|
||||||
|
{{ total_amount }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template> -->
|
||||||
|
|
||||||
|
</FormTable>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<el-dialog v-model="showDialog1" title="选择费用申请单" width="70%">
|
||||||
|
<dialogTable :config="financial_fee_application" @customEvent="customEvent1">
|
||||||
|
</dialogTable>
|
||||||
|
</el-dialog>
|
||||||
</popup>
|
</popup>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -52,9 +88,13 @@
|
|||||||
<script lang="ts" setup name="financialTravelReimbursementEdit">
|
<script lang="ts" setup name="financialTravelReimbursementEdit">
|
||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiFinancialTravelReimbursementAdd, apiFinancialTravelReimbursementEdit, apiFinancialTravelReimbursementDetail } from '@/api/financial_travel_reimbursement'
|
import { apiFinancialTravelReimbursementAdd, apiFinancialTravelReimbursementEdit, apiFinancialTravelReimbursementDetail, apiFinancialTravelReimbursementDetailLists, apiFinancialTravelReimbursementDetailDelete } from '@/api/financial_travel_reimbursement'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
|
import { deptLists } from "@/api/org/department"
|
||||||
|
import { financial_fee_application } from "@/components/dialogTable/dialogTableConfig";
|
||||||
|
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
dictData: {
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
type: Object as PropType<Record<string, any[]>>,
|
||||||
@ -65,6 +105,7 @@ const emit = defineEmits(['success', 'close'])
|
|||||||
const formRef = shallowRef<FormInstance>()
|
const formRef = shallowRef<FormInstance>()
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
const mode = ref('add')
|
const mode = ref('add')
|
||||||
|
const showDialog1 = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
@ -82,11 +123,90 @@ const formData = reactive({
|
|||||||
tax_deductible_amount: '',
|
tax_deductible_amount: '',
|
||||||
bill_num: '',
|
bill_num: '',
|
||||||
fee_application_id: '',
|
fee_application_id: '',
|
||||||
|
fee_application_theme: "",
|
||||||
content: '',
|
content: '',
|
||||||
create_user: '',
|
create_user: '',
|
||||||
create_time: '',
|
create_time: '',
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"dept_id": '',
|
||||||
|
"date": "",
|
||||||
|
"address": "",
|
||||||
|
"traffic_amount": 0,
|
||||||
|
"stay_amount": 0,
|
||||||
|
"stay_days": 0,
|
||||||
|
"stay_price": 0,
|
||||||
|
"subsidy_days": 0,
|
||||||
|
"subsidy_price": 0,
|
||||||
|
"subsidy_amount": 0,
|
||||||
|
"subsidy_deduction": 0,
|
||||||
|
"abstract": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const tableConfig = reactive(
|
||||||
|
{
|
||||||
|
title: "报销明细",
|
||||||
|
tableConfig: [
|
||||||
|
{
|
||||||
|
label: "起止日期",
|
||||||
|
value: 'date',
|
||||||
|
date: true
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "起止地点",
|
||||||
|
value: 'address',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "交通费",
|
||||||
|
value: 'traffic_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "住宿费",
|
||||||
|
value: 'stay_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "住宿天数",
|
||||||
|
value: 'stay_days',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "住宿单价",
|
||||||
|
value: 'stay_price',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补助天数",
|
||||||
|
value: 'subsidy_days',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补助金额",
|
||||||
|
value: 'subsidy_amount',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补贴减扣",
|
||||||
|
value: 'subsidy_deduction',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "补助标准",
|
||||||
|
value: 'subsidy_price',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "摘要",
|
||||||
|
value: 'abstract',
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
deleteApi: apiFinancialTravelReimbursementDetailDelete,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
const customEvent1 = (e) => {
|
||||||
|
formData.fee_application_id = e.id
|
||||||
|
formData.fee_application_theme = e.theme
|
||||||
|
showDialog1.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
@ -151,7 +271,8 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
formData[key] = data[key]
|
formData[key] = data[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let res = await apiFinancialTravelReimbursementDetailLists({ travel_reimbursement_id: data.id })
|
||||||
|
formData.detail = res.lists
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +307,13 @@ const handleClose = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const deptList = ref([])
|
||||||
|
const getDeptList = async () => {
|
||||||
|
let res = await deptLists()
|
||||||
|
deptList.value = res.lists
|
||||||
|
}
|
||||||
|
|
||||||
|
getDeptList()
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
setFormData,
|
setFormData,
|
||||||
|
@ -5,14 +5,17 @@
|
|||||||
<el-form-item label="单据编号" prop="code">
|
<el-form-item label="单据编号" prop="code">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入单据编号" />
|
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入单据编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审批部门" prop="approve_dept">
|
|
||||||
<el-input class="w-[280px]" v-model="queryParams.approve_dept" clearable placeholder="请输入审批部门" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="费用类别" prop="cost_type">
|
<el-form-item label="费用类别" prop="cost_type">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.cost_type" clearable placeholder="请输入费用类别" />
|
<el-select v-model="queryParams.cost_type" placeholder="请选择费用类别" class="flex-1">
|
||||||
|
<el-option :label="item.name" :value="item.value" v-for="item in dictData.cost_type">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="支付方式" prop="pay_type">
|
<el-form-item label="支付方式" prop="pay_type">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.pay_type" clearable placeholder="请输入支付方式" />
|
<el-select v-model="queryParams.pay_type" placeholder="请选择支付方式" class="flex-1">
|
||||||
|
<el-option :label="item.name" :value="item.value" v-for="item in dictData.financial_pay_type">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="申请人" prop="create_user">
|
<el-form-item label="申请人" prop="create_user">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.create_user" clearable placeholder="请输入申请人" />
|
<el-input class="w-[280px]" v-model="queryParams.create_user" clearable placeholder="请输入申请人" />
|
||||||
@ -38,16 +41,16 @@
|
|||||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange" border>
|
<el-table :data="pager.lists" @selection-change="handleSelectionChange" border>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="单据编号" prop="code" show-overflow-tooltip />
|
<el-table-column label="单据编号" prop="code" show-overflow-tooltip />
|
||||||
<el-table-column label="审批部门" prop="approve_dept" show-overflow-tooltip />
|
<el-table-column label="审批部门" prop="approve_dept_name" show-overflow-tooltip />
|
||||||
<el-table-column label="费用类别" prop="cost_type" show-overflow-tooltip />
|
<el-table-column label="费用类别" prop="cost_type_text" show-overflow-tooltip />
|
||||||
<el-table-column label="支付方式" prop="pay_type" show-overflow-tooltip />
|
<el-table-column label="支付方式" prop="pay_type_text" show-overflow-tooltip />
|
||||||
<el-table-column label="可抵扣税额" prop="tax_deductible_amount" show-overflow-tooltip />
|
<el-table-column label="可抵扣税额" prop="tax_deductible_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="附单据张数" prop="bill_num" show-overflow-tooltip />
|
<el-table-column label="附单据张数" prop="bill_num" show-overflow-tooltip />
|
||||||
<el-table-column label="关联费用申请" prop="fee_application_id" show-overflow-tooltip />
|
<!-- <el-table-column label="关联费用申请" prop="fee_application_id" show-overflow-tooltip /> -->
|
||||||
<el-table-column label="事由" prop="content" show-overflow-tooltip />
|
<el-table-column label="事由" prop="content" show-overflow-tooltip />
|
||||||
<el-table-column label="申请人" prop="create_user" show-overflow-tooltip />
|
<el-table-column label="申请人" prop="create_user" show-overflow-tooltip />
|
||||||
<el-table-column label="申请日期" prop="create_time" show-overflow-tooltip />
|
<el-table-column label="申请日期" prop="create_time" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="170" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button v-perms="['financial.financial_travel_reimbursement/edit']" type="primary" link
|
<el-button v-perms="['financial.financial_travel_reimbursement/edit']" type="primary" link
|
||||||
@click="handleEdit(row)">
|
@click="handleEdit(row)">
|
||||||
@ -57,6 +60,10 @@
|
|||||||
@click="handleDelete(row.id)">
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-perms="['financial.financial_travel_reimbursement/detail']" link
|
||||||
|
@click="handleDetail(row.id)">
|
||||||
|
详情
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -66,20 +73,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||||
|
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="financialTravelReimbursementLists">
|
<script lang="ts" setup name="financialTravelReimbursementLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiFinancialTravelReimbursementLists, apiFinancialTravelReimbursementDelete } from '@/api/financial_travel_reimbursement'
|
import { apiFinancialTravelReimbursementLists, apiFinancialTravelReimbursementDelete, apiFinancialTravelReimbursementDetail } from '@/api/financial_travel_reimbursement'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
|
import detailConfig from './detail'
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
|
const detailRef = ref('')
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false)
|
const showEdit = ref(false)
|
||||||
|
const showDetail = ref(false)
|
||||||
|
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@ -100,7 +112,7 @@ const handleSelectionChange = (val: any[]) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取字典数据
|
// 获取字典数据
|
||||||
const { dictData } = useDictData('')
|
const { dictData } = useDictData('cost_type,financial_pay_type')
|
||||||
|
|
||||||
// 分页相关
|
// 分页相关
|
||||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||||
@ -117,10 +129,11 @@ const handleAdd = async () => {
|
|||||||
|
|
||||||
// 编辑
|
// 编辑
|
||||||
const handleEdit = async (data: any) => {
|
const handleEdit = async (data: any) => {
|
||||||
|
let res = await apiFinancialTravelReimbursementDetail({ id: data.id })
|
||||||
showEdit.value = true
|
showEdit.value = true
|
||||||
await nextTick()
|
await nextTick()
|
||||||
editRef.value?.open('edit')
|
editRef.value?.open('edit')
|
||||||
editRef.value?.setFormData(data)
|
editRef.value?.setFormData(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
@ -130,6 +143,16 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const handleDetail = async (id: any) => {
|
||||||
|
let res = await apiFinancialTravelReimbursementDetail({ id })
|
||||||
|
showDetail.value = true
|
||||||
|
await nextTick()
|
||||||
|
detailRef.value?.open()
|
||||||
|
detailRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table border border :data="pager.lists" @selection-change="handleSelectionChange">
|
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="序号" type="index" width="55" />
|
<el-table-column label="序号" type="index" width="55" />
|
||||||
<el-table-column label="项目类型" prop="project_type_name" show-overflow-tooltip />
|
<el-table-column label="项目类型" prop="project_type_name" show-overflow-tooltip />
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table border border :data="pager.lists" @selection-change="handleSelectionChange">
|
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="投标编号" prop="bidding_decision_code" :render-header="pager.calcWidth" />
|
<el-table-column label="投标编号" prop="bidding_decision_code" :render-header="pager.calcWidth" />
|
||||||
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />
|
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user