| | |
| | | <template> |
| | | <basicContainer> |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="pageF.loading" |
| | | :data="tableData" |
| | | :page="page" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | v-model="form" v-model:search="queryParams" |
| | | ref="crudRef" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | @refresh-change="refreshChange" |
| | | @row-del="rowDel" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @on-load="onLoad" |
| | | > |
| | | <!-- <template #menu-left>--> |
| | | <!-- <el-button--> |
| | | <!-- type="success"--> |
| | | <!-- icon="Edit"--> |
| | | <!-- :disabled="pageF.single"--> |
| | | <!-- v-hasPermi="['tms:tmsArBill:edit']"--> |
| | | <!-- @click="handleUpdate">修改--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- icon="Delete"--> |
| | | <!-- :disabled="pageF.multiple"--> |
| | | <!-- @click="handleDelete"--> |
| | | <!-- v-hasPermi="['tms:tmsArBill:remove']"--> |
| | | <!-- >删除--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="Download"--> |
| | | <!-- @click="handleExport"--> |
| | | <!-- v-hasPermi="['tms:tmsArBill:export']"--> |
| | | <!-- >导出--> |
| | | <!-- </el-button>--> |
| | | <!-- </template>--> |
| | | <template #menu="{row}"> |
| | | <el-link size="small" type="primary" v-if="row.status != 2" |
| | | @click="handleJs(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-tickets">结算 |
| | | <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page" |
| | | :permission="permissionList" :before-open="beforeOpen" v-model="form" v-model:search="queryParams" ref="crudRef" |
| | | @row-update="rowUpdate" @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" |
| | | @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" |
| | | @current-change="currentChange" @size-change="sizeChange" @on-load="onLoad"> |
| | | <template #menu-left> |
| | | <!-- <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['tms:tmsArBill:export']">导出 |
| | | </el-button> --> |
| | | </template> |
| | | <!-- <template #menu-left>--> |
| | | <!-- <el-button--> |
| | | <!-- type="success"--> |
| | | <!-- icon="Edit"--> |
| | | <!-- :disabled="pageF.single"--> |
| | | <!-- v-hasPermi="['tms:tmsArBill:edit']"--> |
| | | <!-- @click="handleUpdate">修改--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- icon="Delete"--> |
| | | <!-- :disabled="pageF.multiple"--> |
| | | <!-- @click="handleDelete"--> |
| | | <!-- v-hasPermi="['tms:tmsArBill:remove']"--> |
| | | <!-- >删除--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="Download"--> |
| | | <!-- @click="handleExport"--> |
| | | <!-- v-hasPermi="['tms:tmsArBill:export']"--> |
| | | <!-- >导出--> |
| | | <!-- </el-button>--> |
| | | <!-- </template>--> |
| | | <template #menu="{ row }"> |
| | | <el-link size="small" type="primary" v-if="row.status != 2" @click="handleJs(row)" class="link-btn" |
| | | underline="never" icon="el-icon-tickets">结算 |
| | | </el-link> |
| | | <el-link size="small" type="primary" |
| | | @click="handleEdit(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-edit">修改 |
| | | </el-link> |
| | | <el-link size="small" type="primary" |
| | | @click="handleLog(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-tickets">日志 |
| | | </el-link> |
| | | <el-link size="small" type="primary" v-if="row.pushStatus == 3 || row.pushStatus == 4|| row.pushStatus == 0" |
| | | @click="handleManualPush(row)" class="link-btn" underline="never" icon="el-icon-upload">手动推送 |
| | | </el-link> |
| | | <el-link size="small" type="primary" @click="handleDerive(row)" class="link-btn" underline="never" |
| | | icon="Download">导出 |
| | | </el-link> |
| | | <el-link size="small" type="primary" @click="handleEdit(row)" class="link-btn" underline="never" |
| | | icon="el-icon-edit">修改 |
| | | </el-link> |
| | | <el-link size="small" type="primary" v-if="[0, 2].includes(row.status)" @click="handleClose(row)" |
| | | class="link-btn" v-hasPermi="['tms:tmsArBill:closeOrder']" underline="never" icon="el-icon-close"> |
| | | 作废 |
| | | </el-link> |
| | | <el-link size="small" type="primary" @click="handleLog(row)" class="link-btn" underline="never" |
| | | icon="el-icon-tickets">日志 |
| | | </el-link> |
| | | <el-link size="small" type="primary" @click="handleFlow(row)" class="link-btn" underline="never" |
| | | icon="el-icon-document"> |
| | | 审核日志 |
| | | </el-link> |
| | | </template> |
| | | </avue-crud> |
| | | |
| | |
| | | |
| | | <el-dialog :title="pageF.title" v-model="pageF.open" class="avue-dialog avue-dialog--top" width="80%"> |
| | | |
| | | <avue-form v-if="opt == 'js'" v-model="boxForm" ref="boxFormRef" |
| | | :option="boxFormOption"> |
| | | <avue-form v-if="opt == 'js'" v-model="boxForm" ref="boxFormRef" :option="boxFormOption"> |
| | | <template #settleAmount> |
| | | <avue-input-number :min="0" :max="form.actualSettlementAmount" v-model="boxForm.settleAmount" placeholder="请输入结算金额"></avue-input-number> |
| | | <avue-input-number :min="0" :max="form.actualSettlementAmount" v-model="boxForm.settleAmount" |
| | | placeholder="请输入结算金额"></avue-input-number> |
| | | |
| | | </template> |
| | | </avue-form> |
| | | <el-descriptions :column="3" title="账单基本信息" border> |
| | | <el-descriptions-item label="账单系统编号">{{form.systemNo}}</el-descriptions-item> |
| | | <el-descriptions :column="3" title="账单基本信息" border> |
| | | <el-descriptions-item label="账单系统编号">{{ form.systemNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="账单名称"> |
| | | <div v-if="opt === 'edit'"> |
| | | <el-input v-model="form.billName" placeholder="请输入账单名称" /> |
| | | </div> |
| | | <div v-else>{{form.billName}}</div> |
| | | <div v-else>{{ form.billName }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{form.customerName}}</el-descriptions-item> |
| | | <el-descriptions-item label="应结算金额">{{form.settleAmount}}</el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ form.customerName }}</el-descriptions-item> |
| | | <el-descriptions-item label="应结算金额">{{ form.settleAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="减免金额"> |
| | | <div v-if="opt === 'edit'"> |
| | | <el-input-number :min="0" :max="form.settleAmount" v-model="form.deductionAmount" placeholder="请输入减免金额" @change="deductionAmountChange" /> |
| | | <el-input-number :min="0" :max="form.settleAmount" v-model="form.deductionAmount" placeholder="请输入减免金额" |
| | | @change="deductionAmountChange" /> |
| | | </div> |
| | | <div v-else>{{form.deductionAmount}}</div> |
| | | <div v-else>{{ form.deductionAmount }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="实际结算金额" v-if="opt == 'edit'">{{form.actualSettlementAmount}}</el-descriptions-item> |
| | | <el-descriptions-item label="实际结算金额" v-if="opt == 'edit'">{{ form.actualSettlementAmount |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="减免原因" v-if="opt == 'edit'"> |
| | | <div v-if="opt === 'edit'"> |
| | | <el-input v-model="form.reasonReduction" placeholder="请输入减免原因" /> |
| | | </div> |
| | | <div v-else>{{form.reasonReduction}}</div></el-descriptions-item> |
| | | <el-descriptions-item label="已结算金额" v-if="opt == 'js'">{{form.settledAmount}}</el-descriptions-item> |
| | | <el-descriptions-item label="待结算金额" v-if="opt == 'js'">{{Number(form.settleAmount) - Number(form.settledAmount)}}</el-descriptions-item> |
| | | <div v-else>{{ form.reasonReduction }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="已结算金额" v-if="opt == 'js'">{{ form.settledAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="待结算金额" v-if="opt == 'js'">{{ Number(form.settleAmount) - |
| | | Number(form.settledAmount) }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | <h3>关联明细</h3> |
| | | <avue-crud |
| | | :option="YSGenerateTableOption" ref="itemsTableRef" |
| | | :data="form.items" |
| | | > |
| | | <template #menu="{row}"> |
| | | <el-link size="small" type="primary" |
| | | @click="handleCancel(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-close">取消关联 |
| | | <avue-crud :option="YSGenerateTableOption" ref="itemsTableRef" :data="form.items"> |
| | | <template #menu="{ row }"> |
| | | <el-link size="small" type="primary" @click="handleCancel(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-close">取消关联 |
| | | </el-link> |
| | | </template> |
| | | |
| | |
| | | </el-dialog> |
| | | <el-dialog :title="pageF.title" v-model="open2" class="avue-dialog avue-dialog--top" width="80%"> |
| | | |
| | | <avue-crud |
| | | :option="logTableOption" ref="itemsTableRef2" |
| | | :data="logTable" |
| | | > |
| | | <avue-crud :option="logTableOption" ref="itemsTableRef2" :data="logTable"> |
| | | |
| | | </avue-crud> |
| | | |
| | | |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="open2 = false">取 消</el-button> |
| | | </div> |
| | | </template> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="open2 = false">取 消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | |
| | | </basicContainer> |
| | | <flowLogA ref="flowLogIshow" :isShow="false" title="审核日志" :flowParams="flowParams"></flowLogA> |
| | | </template> |
| | | |
| | | <script setup name="tmsArBill" lang="ts"> |
| | |
| | | exportTmsArBill, |
| | | getTmsArBill, |
| | | listTmsArBill, |
| | | updateTmsArBill,cancelArBill |
| | | updateTmsArBill, cancelArBill, |
| | | exportArBillFormat,manualPushTmsArBill,listReceivableAuditLog,tmsArBillCancelPush |
| | | } from "@/api/tms/tmsArBill"; |
| | | import useCurrentInstance from "@/utils/useCurrentInstance"; |
| | | import {computed, reactive, ref, toRefs} from "vue"; |
| | | import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface"; |
| | | import {usePagePlus} from "@/hooks/usePagePlus"; |
| | | import {hasPermission} from "@/utils/permissionUtils"; |
| | | import {addTmsArSettlement, listTmsArSettlement} from "@/api/tms/tmsArSettlement"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import {confirmFinance} from "@/api/tms/tmsFinance"; |
| | | import { computed, reactive, ref, toRefs } from "vue"; |
| | | import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface"; |
| | | import { usePagePlus } from "@/hooks/usePagePlus"; |
| | | import { hasPermission } from "@/utils/permissionUtils"; |
| | | import { addTmsArSettlement, listTmsArSettlement } from "@/api/tms/tmsArSettlement"; |
| | | import { ElMessage, ElMessageBox } from "element-plus"; |
| | | import { confirmFinance } from "@/api/tms/tmsFinance"; |
| | | import { download } from "@/utils/request"; |
| | | |
| | | const {proxy} = useCurrentInstance(); |
| | | const { proxy } = useCurrentInstance(); |
| | | const crudRef = ref(); |
| | | |
| | | const permissionList = computed(() => { |
| | |
| | | }, |
| | | selectionList: [], |
| | | opt: '', |
| | | boxForm:<any> {}, |
| | | boxForm: <any>{}, |
| | | open2: false |
| | | }) |
| | | const {queryParams, form, page, selectionList,opt,boxForm,open2} = toRefs(data); |
| | | const { queryParams, form, page, selectionList, opt, boxForm, open2 } = toRefs(data); |
| | | const option = ref({ |
| | | pageKey: 'TmsArBill', |
| | | rowKey: 'id', |
| | |
| | | label: '系统编号', |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true,minWidth:150, |
| | | viewDisplay: true, minWidth: 150, |
| | | hide: false, |
| | | search: true, |
| | | }, |
| | | billName: { |
| | | label: '账单名称', |
| | | addDisplay: true,minWidth:200, |
| | | addDisplay: true, minWidth: 220, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | hide: false, |
| | | search: true, |
| | | showOverflowTooltip: true |
| | | }, |
| | | customerName: { |
| | | label: '客户名称', |
| | | addDisplay: true,minWidth:200, |
| | | addDisplay: true, minWidth: 220, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | hide: false, |
| | | search: true, |
| | | showOverflowTooltip: true |
| | | }, |
| | | dispatchCount: { |
| | | label: '调度单数量', |
| | | addDisplay: true,minWidth:120, |
| | | addDisplay: true, minWidth: 120, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | hide: false, |
| | | }, |
| | | settleAmount: { |
| | | label: '应结算金额', |
| | | addDisplay: true,minWidth:120, |
| | | addDisplay: true, minWidth: 120, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | hide: false, |
| | | }, |
| | | deductionAmount: { |
| | | label: '减免金额', |
| | | addDisplay: true,minWidth:120, |
| | | addDisplay: true, minWidth: 120, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | hide: false, |
| | | }, |
| | | actualSettlementAmount: { |
| | | label: '实际结算金额', |
| | | addDisplay: true,minWidth:120, |
| | | addDisplay: true, minWidth: 120, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | hide: false, |
| | |
| | | settledAmount: { |
| | | label: '已结算金额', |
| | | addDisplay: true, |
| | | editDisplay: true,minWidth:120, |
| | | editDisplay: true, minWidth: 120, |
| | | viewDisplay: true, |
| | | hide: false, |
| | | }, |
| | | pushTime: { |
| | | label: '推送时间', display: false, search: true, searchRange: true, type: 'date', |
| | | format: 'YYYY-MM-DD', hide: false, searchSpan: 6, minWidth: 150, |
| | | valueFormat: 'YYYY-MM-DD', |
| | | }, |
| | | invoiceStatus: { |
| | | label: '开票状态', |
| | | addDisplay: true, |
| | | editDisplay: true,minWidth:120, |
| | | editDisplay: true, minWidth: 120, |
| | | type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/invoice_status', |
| | | |
| | | hide: false, |
| | | search: true, |
| | | fixed: 'right' |
| | | }, |
| | | status: { |
| | | label: '状态', |
| | | addDisplay: true,minWidth:120, |
| | | addDisplay: true, minWidth: 120, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/ar_bill_status', |
| | | |
| | | hide: false, |
| | | search: true, |
| | | fixed: 'right' |
| | | }, |
| | | pushStatus: { |
| | | label: '推送状态', |
| | | minWidth: 120, |
| | | type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_push_status', |
| | | hide: false, |
| | | search: true, |
| | | fixed: 'right' |
| | | } |
| | | } |
| | | }) |
| | |
| | | onLoad, |
| | | currentChange, |
| | | sizeChange, |
| | | handleDelete, |
| | | // handleDelete, |
| | | handleExport, |
| | | handleUpdate, |
| | | // handleUpdate, |
| | | refreshChange |
| | | } = usePagePlus({ |
| | | form: form, |
| | |
| | | page: page.value, |
| | | getListApi: listTmsArBill, |
| | | getDetailApi: getTmsArBill, |
| | | exportApi: exportTmsArBill, |
| | | exportApi: exportArBillFormat, |
| | | deleteApi: delTmsArBill, |
| | | addApi: addTmsArBill, |
| | | updateApi: updateTmsArBill, |
| | |
| | | selectionList.value = selection; |
| | | } |
| | | }) |
| | | const YSGenerateTableOption= ref({ |
| | | const YSGenerateTableOption = ref({ |
| | | menu: true, |
| | | add: false, |
| | | header:false, |
| | | header: false, |
| | | selection: false, |
| | | rowKey:'id', |
| | | editBtn:false, |
| | | viewBtn:false, |
| | | rowKey: 'id', |
| | | editBtn: false, |
| | | viewBtn: false, |
| | | delBtn: false, |
| | | column:{ |
| | | column: { |
| | | |
| | | projectName:{ |
| | | projectName: { |
| | | label: '项目名称', |
| | | }, |
| | | dispatchNo:{ |
| | | dispatchNo: { |
| | | label: '调度单号', |
| | | }, |
| | | orderTime:{ |
| | | orderTime: { |
| | | label: '下单时间', |
| | | }, |
| | | |
| | | estimateAmount:{ |
| | | estimateAmount: { |
| | | label: '预估应收金额', |
| | | }, |
| | | currency:{ |
| | | currency: { |
| | | label: '币制', |
| | | } |
| | | } |
| | |
| | | }) |
| | | const boxFormRef = ref(); |
| | | |
| | | const handleJs = (row:any) => { |
| | | const handleJs = (row: any) => { |
| | | form.value.items = []; |
| | | getTmsArBill(row.id).then((res:any) => { |
| | | form.value = res.data ||[]; |
| | | getTmsArBill(row.id).then((res: any) => { |
| | | form.value = res.data || []; |
| | | pageF.open = true; |
| | | pageF.title = '应收账单结算'; |
| | | boxForm.value = {} |
| | | opt.value = 'js' |
| | | }) |
| | | } |
| | | const handleEdit = (row:any) => { |
| | | const handleEdit = (row: any) => { |
| | | |
| | | form.value.items = []; |
| | | getTmsArBill(row.id).then((res:any) => { |
| | | form.value = res.data ||[]; |
| | | getTmsArBill(row.id).then((res: any) => { |
| | | form.value = res.data || []; |
| | | pageF.open = true; |
| | | pageF.title = '应收账单修改'; |
| | | opt.value = 'edit' |
| | |
| | | |
| | | const editSubmit = () => { |
| | | pageF.isUploading = true; |
| | | updateTmsArBill(form.value).then(res=>{ |
| | | updateTmsArBill(form.value).then(res => { |
| | | pageF.isUploading = false; |
| | | pageF.open = false; |
| | | proxy.$message.success('修改成功'); |
| | |
| | | }) |
| | | } |
| | | const jsSubmit = () => { |
| | | boxFormRef.value.validate((callback:any,done:any)=>{ |
| | | if( callback){ |
| | | boxFormRef.value.validate((callback: any, done: any) => { |
| | | if (callback) { |
| | | boxForm.value.billId = form.value.id; |
| | | addTmsArSettlement(boxForm.value).then((res) => { |
| | | pageF.open = false; |
| | |
| | | } |
| | | }) |
| | | } |
| | | const logTableOption= ref({ |
| | | const logTableOption = ref({ |
| | | menu: false, |
| | | add: false, |
| | | header:false, |
| | | header: false, |
| | | selection: false, |
| | | rowKey:'id', |
| | | rowKey: 'id', |
| | | |
| | | column:{ |
| | | column: { |
| | | |
| | | settleAmount:{ |
| | | settleAmount: { |
| | | label: '结算金额', |
| | | }, |
| | | createBy:{ |
| | | createBy: { |
| | | label: '处理人员', |
| | | }, |
| | | attachment:{ |
| | | attachment: { |
| | | label: '附件下载', |
| | | dataType: 'string', |
| | | type: 'img' |
| | | }, |
| | | |
| | | remark:{ |
| | | remark: { |
| | | label: '备注', |
| | | }, |
| | | createTime:{ |
| | | createTime: { |
| | | label: '提交时间', |
| | | }, |
| | | } |
| | | }) |
| | | const logTable = ref<any>() |
| | | |
| | | const handleLog = (row:any)=>{ |
| | | listTmsArSettlement({billId:row.id}).then(res=>{ |
| | | logTable.value = res.rows||[]; |
| | | const handleLog = (row: any) => { |
| | | listTmsArSettlement({ billId: row.id }).then(res => { |
| | | logTable.value = res.rows || []; |
| | | open2.value = true; |
| | | pageF.title = '结算日志'; |
| | | }) |
| | |
| | | |
| | | |
| | | |
| | | const deductionAmountChange = (e:any) => { |
| | | form.value.actualSettlementAmount =(Number(form.value.settleAmount) || 0) -( Number(form.value.deductionAmount) || 0); |
| | | const deductionAmountChange = (e: any) => { |
| | | form.value.actualSettlementAmount = (Number(form.value.settleAmount) || 0) - (Number(form.value.deductionAmount) || 0); |
| | | } |
| | | |
| | | const handleCancel = (row:any) => { |
| | | const handleCancel = (row: any) => { |
| | | ElMessageBox.confirm("是否对调度单号" + row.dispatchNo + "的应收费用取消关联?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | |
| | | }) |
| | | }); |
| | | } |
| | | const handleDerive = (row: any) => { |
| | | // 构造下载参数,通常需要传入当前行的 ID 或相关查询条件 |
| | | const downloadParams = { |
| | | id: row.id, // 假设后台需要通过账单ID导出 |
| | | // 如果有其他搜索条件,也可以合并进去 |
| | | }; |
| | | download('tms/tmsArBill/exportArBillFormat', downloadParams); |
| | | }; |
| | | const handleManualPush = (row: any) => { |
| | | ElMessageBox.confirm(`确定要将账单【${row.billName}】手动推送到财务系统吗?`, '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'info' |
| | | }).then(() => { |
| | | // 调用推送接口 |
| | | return manualPushTmsArBill(row.id); |
| | | }).then((res) => { |
| | | proxy.$message.success(res.msg); |
| | | onLoad(page.value); // 刷新列表 |
| | | }).catch(() => { |
| | | // 取消操作 |
| | | }); |
| | | } |
| | | const flowLogIshow = ref() |
| | | const flowParams = ref([]) |
| | | |
| | | const handleFlow = (row: any) => { |
| | | let data = { |
| | | headId: row.id, |
| | | } |
| | | listReceivableAuditLog(data).then((res) => { |
| | | flowParams.value = res.rows |
| | | flowLogIshow.value.openModel() |
| | | |
| | | }) |
| | | } |
| | | const handleClose = (row: any) => { |
| | | ElMessageBox.confirm("是否对应收账单" + row.systemNo + "进行作废?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | return tmsArBillCancelPush(row.id); |
| | | }).then(() => { |
| | | onLoad(page.value); |
| | | ElMessage({ |
| | | message: "操作成功!", |
| | | type: 'success' |
| | | }) |
| | | }); |
| | | } |
| | | </script> |