123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- import { ref, computed } from "vue";
- import {
- applyOrderSettlement,
- serviceSettlement,regionalsettlement
- } from "@/api/finance/settlement.js";
- const PING_TAI = '0'; //平台
- const QU_YU = '3'; //区域
- const FU_WU_ZHONG_XIN = '4'; //服务中心
- //功能
- export default ({ proxy, jlzj_area_type }) => {
- const router = useRouter();
- const dialogFormRef = ref(null);
- const userTableRef = ref(null);
- const dialogType = ref('applyfor');
- //打开弹窗 applyfor:申请 settlement:结算
- const openDialog = (data, type,row) => {
- console.log("TCL: openDialog -> data", data,row)
- try {
- dialogType.value = type;
- let params = { mainOrderIds: data };
- let disabledData = {};
- // if (type === 'applyfor') {
- // params = { mainOrderIds: data }
- // }
- // if (type === 'settlement') {
- // params = { mainOrderIds: data }
- // }
- dialogFormRef.value.initForm(params, disabledData)
- } catch (error) {
- console.log('error', error);
- } finally {
- console.log('dialogFormRef.value', dialogFormRef.value);
- dialogFormRef.value.handleDialog(true);
- }
- }
- //导出
- const exportFile = async (parmas) => {
- console.log("TCL: exportFile -> parmas", parmas)
- // try {
- // proxy.download("core/orderSettlementApplication/export",{
- // ...queryParams.value,
- // }, `订单费用结算_${new Date().getTime()}.xlsx`);
- // } catch (error) {
- // }
- }
- const applyforSubmit = (data) => {
- console.log("TCL: applyforSubmit -> data", data)
-
- return new Promise(async (resolve, reject) => {
- const parmas = {
- secondOrderIds: data.mainOrderIds,
- payeeMethod: data.payeeMethod,
- payeeAccount: data.payeeAccount,
- payeeBankName: data.payeeBankName,
- payeeName: data.payeeName,
- payeeRemark: data.payeeRemark,
-
- }
- const res = await applyOrderSettlement(parmas);
- if (res.code === 200) {
- proxy.$modal.msgSuccess("审核成功");
- resolve()
- }
- proxy.$modal.msgSuccess(res.msg);
- reject()
- })
- }
- const settlementSubmit = async (data) => {
- console.log("TCL: settlementSubmit -> data", data)
- const parmas = {
- secondOrderIds: data.mainOrderIds,
- payerMethod: data.payerMethod,
- payerAccount: data.payerAccount,
- payerBankName: data.payerBankName,
- payerName: data.payerName,
- payerRemark: data.payerRemark,
- payerTime:data.payerTime
- }
- let res = null;
- //平台结算区域的申请
- if (jlzj_area_type.value === PING_TAI ) {
- res = await regionalsettlement(parmas)
- }
- //区域结算服务中心
- if (jlzj_area_type.value === QU_YU) {
- res = await serviceSettlement(parmas)
-
- }
-
- if (res.code === 200) {
- proxy.$modal.msgSuccess("审核成功");
- return;
- }
- }
- //申请提交
- const submitForm = async (data) => {
- try {
- console.log('submit', data,dialogType.value);
- //申请
- if (dialogType.value === 'applyfor') {
- await applyforSubmit(data);
- }
- if (dialogType.value === 'settlement') {
- await settlementSubmit(data);
- }
- } catch (error) {
- console.log('error', error);
- } finally {
- userTableRef.value.resetForm();
- dialogFormRef.value.handleDialog(false);
- }
- }
- return {
- dialogFormRef,
- userTableRef,
- dialogType,
- openDialog,
- exportFile,
- submitForm,
- searchBtns: [
- {
- label: '批量申请',
- func: () => {
- const ids = userTableRef.value.ids;
- console.log('批量删除', ids)
- ids.length > 0 && openDialog(ids, 'applyfor')
- },
- key: 'applicant',
- type: 'primary',
- hasPermi:["finance:apply"]
- },
- {
- label: '批量费用结算',
- func: () => {
- const ids = userTableRef.value.ids;
- console.log('批量删除', ids)
- ids.length > 0 && openDialog(ids, 'settlement')
- },
- key: 'settlement',
- type: 'primary',
- hasPermi:["finance:settlement"]
- },
- {
- label: '导出',
- func: (parmas) => {
- exportFile(parmas);
- },
- key: 'export',
- type: 'primary'
- },
- ],
- scopeBtns: [
- {
- label: '结算申请',
- type: 'primary',
- key: 'examine',
- func: (row) => {
- console.log(row)
- openDialog([row.orderId], 'applyfor')
- },
- hasPermi:["finance:apply"],
- show:(row)=>{
- console.log("TCL: exportFile -> row", row.orderStatus === '4')
- return row.areaSettlementStatus === '10'
- }
- },
- {
- label: '费用结算',
- type: 'primary',
- key: 'examine',
- func: (row) => {
- console.log(row)
- openDialog([row.orderId], 'settlement')
- },
- hasPermi:["finance:settlement"],
- show:(row)=>{
- console.log("TCL: exportFile -> row", row.orderStatus === '4')
- return row.areaSettlementStatus === '40'
- }
- },
- {
- label: '查看详情',
- type: 'primary',
- key: 'details',
- func: (row) => {
- console.log(row)
- router.push({
- path: "/order-details",
- query: { id: row.orderId }
- });
- },
- hasPermi:["finance:details"]
- },
- ],
- dialogData: {
- title: '结算申请',
- column: [
- {
- label: '收款方式',
- prop: 'payeeMethod',
- type: 'select',
- dictionary: 'settlement_application_payee_method',
- rules: [
- { required: true, message: '请选择收款方式', trigger: 'change' }
- ],
- },
- {
- label: '收款账号',
- prop: 'payeeAccount',
- type: 'input',
- rules: [
- { required: true, message: '请输入收款账号', trigger: 'change' }
- ],
-
- },
- {
- label: '收款银行名称',
- prop: 'payeeBankName',
- type: 'input',
- rules: [
- { required: true, message: '请输入收款银行名称', trigger: 'change' }
- ],
-
- },
- {
- label: '收款人',
- prop: 'payeeName',
- type: 'input',
- rules: [
- { required: true, message: '请输入收款人', trigger: 'change' }
- ],
- },
- {
- label: '收款人备注',
- prop: 'payeeRemark',
- type: 'textarea',
- },
- ]
- },
- costdialogData: {
- title: '费用结算',
- column: [
- {
- label: '付款方式',
- prop: 'payerMethod',
- type: 'select',
- dictionary: 'settlement_application_payee_method',
- rules: [
- { required: true, message: '请选择付款方式', trigger: 'change' }
- ],
- },
- {
- label: '付款账号',
- prop: 'payerAccount',
- type: 'input',
- rules: [
- { required: true, message: '请输入付款账号', trigger: 'change' }
- ],
-
- },
- {
- label: '付款银行名称',
- prop: 'payerBankName',
- type: 'input',
- rules: [
- { required: true, message: '请输入付款银行名称', trigger: 'change' }
- ],
-
- },
- {
- label: '付款人',
- prop: 'payerName',
- type: 'input',
- rules: [
- { required: true, message: '请输入付款人', trigger: 'change' }
- ],
- },
- {
- label: '付款时间',
- prop: 'payerTime',
- type: 'picker',
- rules: [
- { required: true, message: '请选择付款时间', trigger: 'change' }
- ],
- },
- {
- label: '付款人备注',
- prop: 'payerRemark',
- type: 'textarea',
- },
- ]
- },
- }
- }
|