|
@@ -1,317 +1,36 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <ListPage :column="listPageData.tableColumn" :tableApi="listPageData.tableApi" :isSelect="listPageData.isSelect"
|
|
|
- :scopeBtns="listPageData.scopeBtns" :searchBtns="listPageData.searchBtns" ref="userTableRef"
|
|
|
- />
|
|
|
- <DialogForm ref="dialogFormRef" :title="title" :column="dialogData.column" @submit="submitForm" />
|
|
|
+ <ListPage :column="tableColumn" :tableApi="list" :isSelect="true" :scopeBtns="scopeBtns"
|
|
|
+ :searchBtns="searchBtns" ref="userTableRef" tableKey="mainOrderId" :tabList="tabList"
|
|
|
+ tabsearchKey="orderStatus" defaultTab="10" />
|
|
|
+ <DialogForm ref="dialogFormRef" :title="dialogData.title" :column="dialogData.column" @submit="submitForm"
|
|
|
+ labelWidth="120px" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref } from 'vue';
|
|
|
+import { ref, computed } from 'vue';
|
|
|
import ListPage from '@/views/components/ListPage/index.vue';
|
|
|
-import { list } from "@/api/finance/settlement.js";
|
|
|
import DialogForm from '@/views/components/DialogForm/index.vue';
|
|
|
-
|
|
|
+import { list } from "@/api/finance/settlement.js";
|
|
|
+import useData from './useData';
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
-const { lrr_service_status } = proxy.useDict("lrr_service_status");
|
|
|
-const router = useRouter();
|
|
|
-const userTableRef = ref();
|
|
|
-const dialogFormRef = ref(null);
|
|
|
-const listPageData = reactive({
|
|
|
- tableColumn: [
|
|
|
- {
|
|
|
- label: '订单ID',
|
|
|
- prop: 'mainOrderId',
|
|
|
- width: '180px'
|
|
|
- },
|
|
|
- {
|
|
|
- label: '时间',
|
|
|
- prop: 'createTime',
|
|
|
- type: 'date',
|
|
|
- isSearch: false,
|
|
|
- width: '180px'
|
|
|
- },
|
|
|
- {
|
|
|
- label: '志愿者姓名',
|
|
|
- prop: 'name',
|
|
|
- type: 'input',
|
|
|
- isSearch: true,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '志愿者手机号',
|
|
|
- prop: 'phonenumber',
|
|
|
- type: 'input',
|
|
|
- isSearch: true
|
|
|
- },
|
|
|
- {
|
|
|
- label: '用户手机号',
|
|
|
- prop: 'clientTelephone',
|
|
|
- type: 'input',
|
|
|
- isSearch: true
|
|
|
- },
|
|
|
- {
|
|
|
- label: '项目类别',
|
|
|
- prop: 'businessTierName',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '评分',
|
|
|
- prop: 'address',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '订单状态',
|
|
|
- prop: 'orderStatus',
|
|
|
- type: 'dict',
|
|
|
- dict: lrr_service_status
|
|
|
- },
|
|
|
- {
|
|
|
- label: '订单单价',
|
|
|
- prop: 'serviceOnePrice',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '订单金额',
|
|
|
- prop: 'serviceTotalPrice',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '用户收货地址姓名',
|
|
|
- prop: 'clientName',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '用户收货地址电话',
|
|
|
- prop: 'clientTelephone',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '区域抽成比例',
|
|
|
- prop: 'areaDistributionRatio',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '区域抽成金额',
|
|
|
- prop: 'areaDistributionAmount',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '服务中心抽成比例',
|
|
|
- prop: 'serviceCentreDistributionRatio',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '服务中心抽成金额',
|
|
|
- prop: 'serviceCentreDistributionAmount',
|
|
|
- },
|
|
|
-
|
|
|
- ],
|
|
|
- searchBtns: [
|
|
|
- // {
|
|
|
- // label: '批量结算',
|
|
|
- // func: () => {
|
|
|
- // const ids = userTableRef.value.ids;
|
|
|
- // console.log('批量删除', ids)
|
|
|
- // handleDelete(ids);
|
|
|
- // },
|
|
|
- // key: 'deletes',
|
|
|
- // hasPermi: ['system:role:query'],
|
|
|
- // type: 'danger'
|
|
|
- // },
|
|
|
- // {
|
|
|
- // label: '导出',
|
|
|
- // func: (parmas) => {
|
|
|
- // exportFile(parmas);
|
|
|
- // },
|
|
|
- // key: 'deletes',
|
|
|
- // hasPermi: ['system:role:query'],
|
|
|
- // type: 'danger'
|
|
|
- // },
|
|
|
- ],
|
|
|
- tableApi: list,//接口地址
|
|
|
- isSelect: true,//是否勾选
|
|
|
- scopeBtns: [
|
|
|
- // {
|
|
|
- // label: '结算',
|
|
|
- // type: 'primary',
|
|
|
- // hasPermi: ['manage:examine'],
|
|
|
- // key: 'examine',
|
|
|
- // func: (row) => {
|
|
|
- // console.log(row)
|
|
|
- // openDialog(row, 'examine')
|
|
|
- // },
|
|
|
- // show: (row) => {
|
|
|
- // return row.appStatus == 1
|
|
|
- // }
|
|
|
- // },
|
|
|
- // {
|
|
|
- // label: '查看',
|
|
|
- // type: 'primary',
|
|
|
- // hasPermi: ['manage:details'],
|
|
|
- // key: 'details',
|
|
|
- // func: (row) => {
|
|
|
- // console.log(row)
|
|
|
- // // router.push("/order/order-details/" + row.mainOrderId);
|
|
|
- // // openDialog(row)
|
|
|
- // }
|
|
|
- // },
|
|
|
- // {
|
|
|
- // label: '删除',
|
|
|
- // type: 'danger',
|
|
|
- // hasPermi: ['manage:delete'],
|
|
|
- // key: 'delete',
|
|
|
- // func: (row) => {
|
|
|
- // console.log(row)
|
|
|
- // handleDelete([row.id])
|
|
|
- // }
|
|
|
- // }
|
|
|
- ]
|
|
|
-})
|
|
|
-const dialogData = reactive({
|
|
|
- title: '',
|
|
|
- column: [
|
|
|
- {
|
|
|
- label: '姓名',
|
|
|
- prop: 'name',
|
|
|
- type: 'input',
|
|
|
-
|
|
|
- },
|
|
|
- {
|
|
|
- label: '年龄',
|
|
|
- prop: 'age',
|
|
|
- type: 'input',
|
|
|
-
|
|
|
- },
|
|
|
- {
|
|
|
- label: '电话',
|
|
|
- prop: 'phonenumber',
|
|
|
- type: 'input',
|
|
|
-
|
|
|
- },
|
|
|
- {
|
|
|
- label: '家庭地址',
|
|
|
- prop: 'address',
|
|
|
- type: 'input',
|
|
|
-
|
|
|
- },
|
|
|
- // {
|
|
|
- // label: '服务项目/类别',
|
|
|
- // prop: 'businessManagementId',
|
|
|
- // type: 'cascader',
|
|
|
- // isSearch: true,
|
|
|
- // options: options,
|
|
|
- // props: { label: 'businessName', value: 'id', checkStrictly:true },
|
|
|
-
|
|
|
- // },
|
|
|
- {
|
|
|
- label: '身份证件',
|
|
|
- prop: 'idCardPicture',
|
|
|
- type: 'img',
|
|
|
-
|
|
|
- },
|
|
|
- {
|
|
|
- label: '职业证书',
|
|
|
- prop: 'certificationPicture',
|
|
|
- type: 'img',
|
|
|
-
|
|
|
- },
|
|
|
- {
|
|
|
- label: '技能简介',
|
|
|
- prop: 'skillDescribe',
|
|
|
- type: 'textarea',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '审核状态',
|
|
|
- prop: 'appStatus',
|
|
|
- type: 'radio',
|
|
|
- rules: [
|
|
|
- { required: true, message: '请选择审核状态', trigger: 'blur' }
|
|
|
- ],
|
|
|
- options: [
|
|
|
- {
|
|
|
- label: '通过',
|
|
|
- value: '2'
|
|
|
- },
|
|
|
- {
|
|
|
- label: '不通过',
|
|
|
- value: '3'
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- ]
|
|
|
-})
|
|
|
-const { title } = toRefs(dialogData);
|
|
|
-const parentId = ref(0);
|
|
|
-
|
|
|
-const openDialog = (row, type) => {
|
|
|
- console.log('row', row);
|
|
|
- try {
|
|
|
- const disabledData = {
|
|
|
- name: true,
|
|
|
- age: true,
|
|
|
- phonenumber: true,
|
|
|
- address: true,
|
|
|
- skillDescribe: true,
|
|
|
- businessManagementId: true,
|
|
|
- }
|
|
|
-
|
|
|
- if (type) {
|
|
|
- //审核
|
|
|
- title.value = '审核'
|
|
|
-
|
|
|
- } else {
|
|
|
- disabledData['appStatus'] = true;
|
|
|
- //查看详情
|
|
|
- title.value = '查看详情'
|
|
|
- }
|
|
|
-
|
|
|
- dialogFormRef.value.initForm(row, disabledData)
|
|
|
-
|
|
|
- } catch (error) {
|
|
|
- console.log('error', error);
|
|
|
- } finally {
|
|
|
- console.log('dialogFormRef.value', dialogFormRef.value);
|
|
|
-
|
|
|
- dialogFormRef.value.handleDialog(true);
|
|
|
- }
|
|
|
-}
|
|
|
-const handleDelete = (ids) => {
|
|
|
- proxy.$modal.confirm('是否确认删除角色编号为"' + ids + '"的数据项?').then(function () {
|
|
|
- return true
|
|
|
- }).then(() => {
|
|
|
- userTableRef.value.resetForm();
|
|
|
- proxy.$modal.msgSuccess("删除成功");
|
|
|
- }).catch(() => { });
|
|
|
-}
|
|
|
|
|
|
-const submitForm = async (parmas) => {
|
|
|
+const jlzj_area_type = ref('0');// 0: 平台 10:区域公司
|
|
|
+const {
|
|
|
+ tableColumn,
|
|
|
+ dialogData,
|
|
|
+ tabList,
|
|
|
+ dialogFormRef,
|
|
|
+ userTableRef,
|
|
|
+ searchBtns,
|
|
|
+ scopeBtns
|
|
|
+} = useData({ proxy, jlzj_area_type });
|
|
|
+console.log('tableColumn', tableColumn);
|
|
|
|
|
|
- try {
|
|
|
- console.log('submit', parmas);
|
|
|
- // if (title.value === '审核') {
|
|
|
- // const res = await approval({
|
|
|
- // volunteerInfoId: parmas.volunteerInfoId,
|
|
|
- // appStatus: parmas.appStatus,
|
|
|
- // rejectReason: parmas.rejectReason
|
|
|
- // })
|
|
|
- // if (up_res.code === 200) {
|
|
|
- // proxy.$modal.msgSuccess("审核成功");
|
|
|
- // return;
|
|
|
- // }
|
|
|
- // proxy.$modal.msgSuccess(res.msg);
|
|
|
- // }
|
|
|
- } catch (error) {
|
|
|
- console.log('error', error);
|
|
|
|
|
|
- } finally {
|
|
|
- userTableRef.value.resetForm();
|
|
|
- dialogFormRef.value.handleDialog(false);
|
|
|
- }
|
|
|
|
|
|
-}
|
|
|
|
|
|
-const exportFile = async(parmas) => {
|
|
|
- console.log("TCL: exportFile -> parmas", parmas)
|
|
|
- try {
|
|
|
- proxy.download("core/orderSettlementApplication/export",{
|
|
|
- ...queryParams.value,
|
|
|
- }, `订单费用结算_${new Date().getTime()}.xlsx`);
|
|
|
- } catch (error) {
|
|
|
-
|
|
|
- }
|
|
|
-}
|
|
|
|
|
|
</script>
|
|
|
|