| | |
| | | <template> |
| | | <basicContainer > |
| | | <basicContainer> |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="pageF.loading" |
| | |
| | | @on-load="onLoad" |
| | | > |
| | | <template #menu-left> |
| | | <el-button |
| | | type="success" |
| | | icon="Edit" |
| | | :disabled="pageF.single" |
| | | v-hasPermi="['tms:tmsFinance:edit']" |
| | | @click="handleUpdate">修改 |
| | | </el-button> |
| | | <el-button |
| | | type="danger" |
| | | icon="Delete" |
| | | :disabled="pageF.multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['tms:tmsFinance:remove']" |
| | | >删除 |
| | | </el-button> |
| | | <!-- <el-button--> |
| | | <!-- type="success"--> |
| | | <!-- icon="Edit"--> |
| | | <!-- :disabled="pageF.single"--> |
| | | <!-- v-hasPermi="['tms:tmsFinance:edit']"--> |
| | | <!-- @click="handleUpdate">修改--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- icon="Delete"--> |
| | | <!-- :disabled="pageF.multiple"--> |
| | | <!-- @click="handleDelete"--> |
| | | <!-- v-hasPermi="['tms:tmsFinance:remove']"--> |
| | | <!-- >删除--> |
| | | <!-- </el-button>--> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | |
| | | >导出 |
| | | </el-button> |
| | | </template> |
| | | <template #menu-before="{row}"> |
| | | <el-link size="small" type="primary" v-if="row.status == 0" @click="handleConfirm(row)" class="link-btn" |
| | | :underline="false" icon="el-icon-pointer">确认 |
| | | </el-link> |
| | | <el-link size="small" type="primary" v-if="[0,1].includes(row.status)" @click="handleCancel(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-connection">作废 |
| | | </el-link> |
| | | <el-link size="small" type="primary" v-if="[0,1].includes(row.status)" @click="handleAddFinanceDetail(row)" class="link-btn" |
| | | :underline="false" icon="el-icon-edit-pen">费用明细 |
| | | </el-link> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog :title="pageF.title" v-model="pageF.open" class="avue-dialog avue-dialog--top" width="80%"> |
| | | 总费用 <el-input-number v-model="form.totalAmount" disabled readonly></el-input-number> |
| | | <avue-crud style="margin-top: 10px " |
| | | :option="financeTableOption" |
| | | :data="boxTableData" |
| | | :permission="permissionList2" |
| | | @row-update="rowDetailUpdate" |
| | | @row-save="rowDetailSave" |
| | | > |
| | | <template #menu="{row}"> |
| | | <el-link size="small" type="primary" v-if="[0].includes(row.status)" @click="handleCancelDetail(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-connection">作废 |
| | | </el-link> |
| | | </template> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | |
| | | </basicContainer> |
| | | </template> |
| | | |
| | | <script setup name="tmsFinance" lang="ts"> |
| | | import {TmsFinanceI,addTmsFinance, delTmsFinance, exportTmsFinance, getTmsFinance, listTmsFinance, updateTmsFinance} from "@/api/tms/tmsFinance"; |
| | | 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 { |
| | | TmsFinanceI, |
| | | addTmsFinance, |
| | | delTmsFinance, |
| | | exportTmsFinance, |
| | | getTmsFinance, |
| | | listTmsFinance, |
| | | updateTmsFinance,confirmFinance,cancelFinance |
| | | } from "@/api/tms/tmsFinance"; |
| | | import {addTmsFinanceDetail, listTmsFinanceDetail, |
| | | cancelFinanceDetail, |
| | | updateTmsFinanceDetail} from "@/api/tms/tmsFinanceDetail" |
| | | |
| | | const { proxy } = useCurrentInstance(); |
| | | const crudRef = ref(); |
| | | 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 {ElMessage, ElMessageBox} from "element-plus"; |
| | | import {confirmOrder} from "@/api/tms/tmsDispatchOrder"; |
| | | |
| | | const permissionList = computed(()=>{ |
| | | return { |
| | | addBtn: hasPermission(["tms:tmsFinance:add"]), |
| | | delBtn: hasPermission(["tms:tmsFinance:remove"]), |
| | | editBtn: hasPermission(["tms:tmsFinance:edit"]), |
| | | viewBtn: hasPermission(["tms:tmsFinance:query"]), |
| | | } |
| | | }) |
| | | const {proxy} = useCurrentInstance(); |
| | | const crudRef = ref(); |
| | | |
| | | const data = reactive({ |
| | | form:<TmsFinanceI>{}, |
| | | queryParams:<TmsFinanceI&PageQueryInterface>{}, |
| | | page: <PagesInterface>{ |
| | | pageSize: 10, |
| | | total: 0, |
| | | currentPage: 1, |
| | | const permissionList = computed(() => { |
| | | return { |
| | | addBtn: hasPermission(["tms:tmsFinance:add"]), |
| | | delBtn: hasPermission(["tms:tmsFinance:remove"]), |
| | | editBtn: hasPermission(["tms:tmsFinance:edit"]), |
| | | viewBtn: hasPermission(["tms:tmsFinance:query"]), |
| | | } |
| | | }) |
| | | |
| | | const permissionList2 = (key: any, row: any, index: any) => { |
| | | if (key == 'addBtn') { |
| | | return true |
| | | }else if (key == 'editBtn') { |
| | | return [0].includes(row?.status) |
| | | } else { |
| | | return true; |
| | | } |
| | | }; |
| | | const data = reactive({ |
| | | form: <TmsFinanceI>{}, |
| | | queryParams: <TmsFinanceI & PageQueryInterface>{}, |
| | | page: <PagesInterface>{ |
| | | pageSize: 10, |
| | | total: 0, |
| | | currentPage: 1, |
| | | }, |
| | | selectionList: [], |
| | | boxTableData: [] |
| | | }) |
| | | const {queryParams, form, page, selectionList,boxTableData} = toRefs(data); |
| | | const option = ref({ |
| | | pageKey: 'TmsFinance', |
| | | rowKey: 'id', |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | viewBtn: false, |
| | | column: { |
| | | |
| | | systemCode: { |
| | | label: '系统编号', |
| | | hide: false,minWidth: 180, |
| | | search: true, |
| | | }, |
| | | selectionList:[], |
| | | }) |
| | | const {queryParams,form,page,selectionList} = toRefs(data); |
| | | const option = ref({ |
| | | pageKey: 'TmsFinance', |
| | | rowKey: 'id', |
| | | column: { |
| | | id: { |
| | | label: '主键ID', |
| | | addDisplay :true, |
| | | editDisplay : false, |
| | | viewDisplay : false, |
| | | hide : true, |
| | | search : false, |
| | | }, |
| | | systemCode: { |
| | | label: '系统编号,新增时自动填写', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "系统编号,新增时自动填写不能为空", trigger: "blur" } |
| | | ], }, |
| | | planName: { |
| | | label: '应收', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "应收不能为空", trigger: "blur" } |
| | | ], }, |
| | | dispatchId: { |
| | | label: '调度单号', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "调度单号不能为空", trigger: "blur" } |
| | | ], }, |
| | | dispatchNo: { |
| | | label: '调度单号', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "调度单号不能为空", trigger: "blur" } |
| | | ], }, |
| | | customerId: { |
| | | label: '客户ID', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "客户ID不能为空", trigger: "blur" } |
| | | ], }, |
| | | customerCode: { |
| | | label: '客户编码', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | projectId: { |
| | | label: '关联项目ID', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "关联项目ID不能为空", trigger: "blur" } |
| | | ], }, |
| | | projectName: { |
| | | label: '关联项目名称', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "关联项目名称不能为空", trigger: "blur" } |
| | | ], }, |
| | | vehicleProviderId: { |
| | | label: '车辆服务商ID', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "车辆服务商ID不能为空", trigger: "blur" } |
| | | ], }, |
| | | vehicleProviderName: { |
| | | label: '车辆服务商名称', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "车辆服务商名称不能为空", trigger: "blur" } |
| | | ], }, |
| | | requiredVehicleTypes: { |
| | | label: '要求车型,由调度单数据生成', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "要求车型,由调度单数据生成不能为空", trigger: "blur" } |
| | | ], }, |
| | | actualVehicleType: { |
| | | label: '实际车型', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | mainDriverId: { |
| | | label: '关联驾驶员管理ID', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "关联驾驶员管理ID不能为空", trigger: "blur" } |
| | | ], }, |
| | | mainDriver: { |
| | | label: '主驾驶员,由调度单数据生成', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "主驾驶员,由调度单数据生成不能为空", trigger: "blur" } |
| | | ], }, |
| | | assistantDriver: { |
| | | label: '副驾驶员,由调度单数据生成', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | vehicleId: { |
| | | label: '车辆管理表ID', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "车辆管理表ID不能为空", trigger: "blur" } |
| | | ], }, |
| | | licensePlate: { |
| | | label: '车牌号,由调度单数据生成', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "车牌号,由调度单数据生成不能为空", trigger: "blur" } |
| | | ], }, |
| | | totalAmount: { |
| | | label: '总金额,由调度单数据生成', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "总金额,由调度单数据生成不能为空", trigger: "blur" } |
| | | ], }, |
| | | transportRoute: { |
| | | label: '运输线路,由调度单数据生成', |
| | | type: 'textarea', minRows: 3, maxRows: 5, |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "运输线路,由调度单数据生成不能为空", trigger: "blur" } |
| | | ], }, |
| | | shipperId: { |
| | | label: '发货人', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "发货人不能为空", trigger: "blur" } |
| | | ], }, |
| | | shipperName: { |
| | | label: '发货人名称', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | shipperMobile: { |
| | | label: '发货人手机号', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | shipperAddress: { |
| | | label: '发货人地址', |
| | | type: 'textarea', minRows: 3, maxRows: 5, |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | shipperRegionCode: { |
| | | label: '发货行政区域', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | receiverId: { |
| | | label: '收货人', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "收货人不能为空", trigger: "blur" } |
| | | ], }, |
| | | receiverName: { |
| | | label: '收货人名称', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | receiverMobile: { |
| | | label: '收货人手机号', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | receiverAddress: { |
| | | label: '收货人地址', |
| | | type: 'textarea', minRows: 3, maxRows: 5, |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | receiverRegionCode: { |
| | | label: '收货行政区域', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | status: { |
| | | label: '状态,0=待确认,1=已确认,2=作废', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "状态,0=待确认,1=已确认,2=作废不能为空", trigger: "blur" } |
| | | ], }, |
| | | feeName: { |
| | | label: '费用名称,生成费用时固定生成一条运费', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "费用名称,生成费用时固定生成一条运费不能为空", trigger: "blur" } |
| | | ], }, |
| | | initialFeeAmount: { |
| | | label: '初始费用金额,等于匹配报价方案的运费报价,新增后不可修改', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "初始费用金额,等于匹配报价方案的运费报价,新增后不可修改不能为空", trigger: "blur" } |
| | | ], }, |
| | | actualFeeAmount: { |
| | | label: '实际费用金额,默认等于初始费用,可修改', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "实际费用金额,默认等于初始费用,可修改不能为空", trigger: "blur" } |
| | | ], }, |
| | | feeVoucherUrl: { |
| | | label: '费用凭证,超链接', |
| | | type: 'textarea', minRows: 3, maxRows: 5, |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | feeCreateTime: { |
| | | label: '费用创建时间,新增时自动填写', |
| | | type: 'date', valueFormat: 'YYYY-MM-DD', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "费用创建时间,新增时自动填写不能为空", trigger: "blur" } |
| | | ], }, |
| | | createBy: { |
| | | label: '创建人,新增时自动填写', |
| | | addDisplay :true, |
| | | editDisplay : false, |
| | | viewDisplay : false, |
| | | hide : true, |
| | | search : false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "创建人,新增时自动填写不能为空", trigger: "blur" } |
| | | ], }, |
| | | createTime: { |
| | | label: '创建时间,新增时自动填写', |
| | | type: 'date', valueFormat: 'YYYY-MM-DD', |
| | | addDisplay :true, |
| | | editDisplay : false, |
| | | viewDisplay : false, |
| | | hide : true, |
| | | search : false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "创建时间,新增时自动填写不能为空", trigger: "blur" } |
| | | ], }, |
| | | updateBy: { |
| | | label: '更新人,新增时自动填写,被修改时自动更新', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay : false, |
| | | hide : true, |
| | | search : false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "更新人,新增时自动填写,被修改时自动更新不能为空", trigger: "blur" } |
| | | ], }, |
| | | updateTime: { |
| | | label: '更新时间,新增时自动填写,被修改时自动更新', |
| | | type: 'date', valueFormat: 'YYYY-MM-DD', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay : false, |
| | | hide : true, |
| | | search : false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "更新时间,新增时自动填写,被修改时自动更新不能为空", trigger: "blur" } |
| | | ], }, |
| | | remark: { |
| | | label: '备注', |
| | | type: 'textarea', minRows: 3, maxRows: 5, |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay : false, |
| | | hide :false, |
| | | search : false, |
| | | }, |
| | | recordStatus: { |
| | | label: '记录状态,0=正常,1=作废', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "记录状态,0=正常,1=作废不能为空", trigger: "blur" } |
| | | ], }, |
| | | planId: { |
| | | label: '', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | type: { |
| | | label: '类型', |
| | | addDisplay :true, |
| | | editDisplay :true, |
| | | viewDisplay :true, |
| | | hide :false, |
| | | search :true, |
| | | }, |
| | | } |
| | | }) |
| | | |
| | | const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange, |
| | | searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({ |
| | | form:form, |
| | | option:option, |
| | | queryParams:queryParams, |
| | | idKey:'id', |
| | | page:page.value, |
| | | getListApi:listTmsFinance, |
| | | getDetailApi:getTmsFinance, |
| | | exportApi:exportTmsFinance, |
| | | deleteApi:delTmsFinance, |
| | | addApi:addTmsFinance, |
| | | updateApi:updateTmsFinance, |
| | | handleUpdateFunc:()=>{ |
| | | crudRef.value.rowEdit(selectionList.value[0]); |
| | | dispatchNo: { |
| | | label: '调度单号',minWidth: 150, |
| | | search: true, |
| | | }, |
| | | handleSelectionChangeFunc:(selection:any)=>{ |
| | | selectionList.value = selection; |
| | | } |
| | | }) |
| | | planName: { |
| | | label: '应付方案名称',minWidth: 150, |
| | | search: true, |
| | | }, |
| | | customerName: { |
| | | label: '客户',minWidth: 150, |
| | | search: true, |
| | | }, |
| | | projectName: { |
| | | label: '项目名称',minWidth: 150, |
| | | search: true, |
| | | }, |
| | | vehicleProviderName: { |
| | | label: '车辆服务商',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | requiredVehicleTypes: { |
| | | label: '要求车型',minWidth: 150, |
| | | search: false, |
| | | display: true, type: 'select', dicUrl: '/system/dict/data/type/license_type', dataType: 'string', |
| | | |
| | | }, |
| | | actualVehicleType: { |
| | | label: '实际车型',minWidth: 150, |
| | | search: false, |
| | | display: true, type: 'select', dicUrl: '/system/dict/data/type/license_type', dataType: 'string', |
| | | }, |
| | | mainDriverName: { |
| | | label: '主驾驶员',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | |
| | | licensePlate: { |
| | | label: '车牌号',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | |
| | | transportLine: { |
| | | label: '运输线路',minWidth: 150, overHidden: true, |
| | | search: false, |
| | | }, |
| | | |
| | | shipperName: { |
| | | label: '发货人名称',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | shipperRegionLabel: { |
| | | label: '发货行政区域',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | |
| | | receiverName: { |
| | | label: '收货人名称', |
| | | search: false,minWidth: 150, |
| | | }, |
| | | receiverRegionLabel: { |
| | | label: '收货行政区域', |
| | | search: false,minWidth: 150, |
| | | }, |
| | | totalAmount: { |
| | | label: '总金额',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | confirmBy: { |
| | | label: '费用确认人',minWidth: 150, |
| | | search: false, |
| | | }, |
| | | confirmTime: { |
| | | label: '费用确认时间',minWidth: 180, |
| | | search: false, |
| | | }, |
| | | status: { |
| | | label: '状态',minWidth: 150, |
| | | search: false,fixed: 'right', |
| | | display: true, type: 'select', dicUrl: '/system/dict/data/type/finance_status', dataType: 'string', |
| | | |
| | | }, |
| | | updateBy: { |
| | | label: '更新人', |
| | | search: false,minWidth: 150, |
| | | }, |
| | | updateTime: { |
| | | label: '更新时间', |
| | | search: false,minWidth: 180, |
| | | }, |
| | | } |
| | | }) |
| | | |
| | | |
| | | const financeTableOption = ref({ |
| | | menu: true, |
| | | addBtn: true, |
| | | header: true, selection: false, |
| | | viewBtn: false, |
| | | delBtn: false,labelWidth:150, |
| | | column: { |
| | | feeType: { |
| | | label: '费用名称',minWidth: 150, |
| | | display: true,disabled: true, |
| | | value: "99", |
| | | type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/fee_type', |
| | | }, |
| | | initialFeeAmount: { |
| | | label: '初始登记费用金额',minWidth: 150, |
| | | display: true,disabled: true,type: 'number', |
| | | }, |
| | | actualFeeAmount: { |
| | | label: '实际费用金额',minWidth: 150, type: 'number', |
| | | display: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "实际费用金额不能为空", trigger: "change" |
| | | } |
| | | ], |
| | | }, |
| | | feeVoucherUrl: { |
| | | label: '费用凭证', |
| | | display: true, hide:true, |
| | | accept:'string',dataType: 'string', |
| | | type: 'upload', |
| | | action: '/common/upload2', |
| | | propsHttp:{ |
| | | home:'url', |
| | | name:'newFileName', |
| | | }, |
| | | }, |
| | | feeCreateTime: { |
| | | label: '费用创建时间',minWidth: 180, |
| | | display: false, |
| | | }, |
| | | updateBy: { |
| | | label: '更新人',minWidth: 150, |
| | | display: false, |
| | | }, |
| | | updateTime: { |
| | | label: '更新时间',minWidth: 180, |
| | | display: false, |
| | | |
| | | }, |
| | | status: { |
| | | label: '状态',minWidth: 150, fixed: 'right', |
| | | display: false, |
| | | type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/finance_detail_status', |
| | | }, |
| | | } |
| | | }) |
| | | |
| | | |
| | | const { |
| | | tableData, |
| | | pageF, |
| | | rowSave, |
| | | rowUpdate, |
| | | rowDel, |
| | | beforeOpen, |
| | | searchChange, |
| | | searchReset, |
| | | selectionChange, |
| | | onLoad, |
| | | currentChange, |
| | | sizeChange, |
| | | handleDelete, |
| | | handleExport, |
| | | handleUpdate, |
| | | refreshChange |
| | | } = usePagePlus({ |
| | | form: form, |
| | | option: option, |
| | | queryParams: queryParams, |
| | | idKey: 'id', |
| | | page: page.value, |
| | | getListApi: listTmsFinance, |
| | | getDetailApi: getTmsFinance, |
| | | exportApi: exportTmsFinance, |
| | | deleteApi: delTmsFinance, |
| | | addApi: addTmsFinance, |
| | | updateApi: updateTmsFinance, |
| | | handleUpdateFunc: () => { |
| | | crudRef.value.rowEdit(selectionList.value[0]); |
| | | }, |
| | | handleSelectionChangeFunc: (selection: any) => { |
| | | selectionList.value = selection; |
| | | }, |
| | | getBeginListFunc:()=>{ |
| | | queryParams.value.type = 1; |
| | | } |
| | | }) |
| | | |
| | | const handleConfirm = (row: any) => { |
| | | ElMessageBox.confirm("是否对调度单号" + row.dispatchNo + "的应付方案进行确认 ?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | return confirmFinance(row.id); |
| | | }).then(() => { |
| | | onLoad(page.value); |
| | | ElMessage({ |
| | | message: "操作成功!", |
| | | type: 'success' |
| | | }) |
| | | }); |
| | | } |
| | | const handleCancel = (row: any) => { |
| | | ElMessageBox.confirm("是否对调度单号" + row.dispatchNo + "的应付方案进行作废?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | return cancelFinance(row.id); |
| | | }).then(() => { |
| | | onLoad(page.value); |
| | | ElMessage({ |
| | | message: "操作成功!", |
| | | type: 'success' |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | const handleAddFinanceDetail = (row:any) => { |
| | | |
| | | listTmsFinanceDetail({financeId:row.id,pageNum:1,pageSize: 9999}).then(res=>{ |
| | | boxTableData.value = res.rows || []; |
| | | pageF.title = '费用明细'; |
| | | pageF.open = true; |
| | | form.value = row; |
| | | }) |
| | | } |
| | | |
| | | const rowDetailUpdate = (row:any,index:any,done:any, loading:any) => { |
| | | updateTmsFinanceDetail( row).then(res=>{ |
| | | ElMessage({ |
| | | message: "修改成功!", |
| | | type: 'success' |
| | | }) |
| | | handleAddFinanceDetail(res.data); |
| | | onLoad(page.value); |
| | | done(); |
| | | }).catch(()=>{ |
| | | loading() |
| | | }) |
| | | } |
| | | const rowDetailSave = (row:any, done:any, loading:any) => { |
| | | row.financeId = form.value.id; |
| | | addTmsFinanceDetail({...row,dispatchOrderId:form.value.dispatchId, |
| | | type: form.value.type,financeType:form.value.type |
| | | }).then(res=>{ |
| | | ElMessage({ |
| | | message: "新增成功!", |
| | | type: 'success' |
| | | }) |
| | | handleAddFinanceDetail(res.data); |
| | | onLoad(page.value); |
| | | done(); |
| | | }).catch(()=>{ |
| | | loading() |
| | | }) |
| | | } |
| | | |
| | | const handleCancelDetail = (row: any) => { |
| | | ElMessageBox.confirm("是否作废掉 " + row.$feeType + "确定 ?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | return cancelFinanceDetail(row.id); |
| | | }).then(() => { |
| | | handleAddFinanceDetail(form.value); |
| | | onLoad(page.value); |
| | | ElMessage({ |
| | | message: "操作成功!", |
| | | type: 'success' |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | </script> |