身份证核验
This commit is contained in:
@@ -70,6 +70,12 @@ export interface Order {
|
||||
emergentUser: string;
|
||||
officeAddress: string;
|
||||
homeAddress: string;
|
||||
// 真名
|
||||
realName?: string;
|
||||
// 身份证
|
||||
idCode?: string;
|
||||
// 身份证地址
|
||||
address?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
"
|
||||
>
|
||||
<a-form-item label="支付方式" name="payMethod">
|
||||
<Tag dict-code="payMethod" v-model:value="data.payMethod" />
|
||||
<Tag dict-code="payMethod" v-model:value="data.payMethod"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col
|
||||
@@ -74,7 +74,7 @@
|
||||
"
|
||||
>
|
||||
<a-form-item label="配送方式" name="deliveryType">
|
||||
<Tag dict-code="deliveryType" v-model:value="data.deliveryType" />
|
||||
<Tag dict-code="deliveryType" v-model:value="data.deliveryType"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col
|
||||
@@ -96,7 +96,7 @@
|
||||
"
|
||||
>
|
||||
<a-form-item label="订单状态" name="orderStatus">
|
||||
<Tag dict-code="orderStatus" v-model:value="data.orderStatus" />
|
||||
<Tag dict-code="orderStatus" v-model:value="data.orderStatus"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col
|
||||
@@ -212,18 +212,22 @@
|
||||
<a-tag
|
||||
v-if="Number(record.equipmentCategory) === 10"
|
||||
color="success"
|
||||
>销售</a-tag
|
||||
>销售
|
||||
</a-tag
|
||||
>
|
||||
<a-tag v-if="Number(record.equipmentCategory) === 20" color="red"
|
||||
>分期</a-tag
|
||||
>分期
|
||||
</a-tag
|
||||
>
|
||||
<a-tag
|
||||
v-if="Number(record.equipmentCategory) === 30"
|
||||
color="orange"
|
||||
>以租代购</a-tag
|
||||
>以租代购
|
||||
</a-tag
|
||||
>
|
||||
<a-tag v-if="Number(record.equipmentCategory) === 40" color="blue"
|
||||
>租赁</a-tag
|
||||
>租赁
|
||||
</a-tag
|
||||
>
|
||||
</template>
|
||||
<template v-if="column.key === 'more'">
|
||||
@@ -254,17 +258,15 @@
|
||||
</a-card>
|
||||
<a-card title="换电记录" class="order-card">
|
||||
<a-spin :spinning="loading">
|
||||
<ele-pro-table
|
||||
:datasource="equipmentRecordList"
|
||||
<a-table
|
||||
:data-source="equipmentRecordList"
|
||||
:columns="columns3"
|
||||
row-key="id"
|
||||
ref="tableRef3"
|
||||
size="small"
|
||||
:toolkit="[]"
|
||||
:pagination="false"
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'batteryModel'">
|
||||
<div>电池租金:¥{{ record.batteryRent }}</div>
|
||||
<div>电池租金:¥{{ record.batteryDeposit }}</div>
|
||||
<div>电池押金:¥{{ record.batteryDeposit }}</div>
|
||||
<div>电池保险:¥{{ record.batteryInsurance }}</div>
|
||||
</template>
|
||||
@@ -272,7 +274,7 @@
|
||||
<span class="ele-text-danger">{{ expirationDay(record) }}</span>
|
||||
</template>
|
||||
</template>
|
||||
</ele-pro-table>
|
||||
</a-table>
|
||||
</a-spin>
|
||||
</a-card>
|
||||
<a-card title="缴费记录" class="order-card">
|
||||
@@ -285,13 +287,13 @@
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'batteryModel'">
|
||||
<div>电池租金:¥{{ record.batteryRent }}</div>
|
||||
<div>电池租金:¥{{ record.batteryDeposit }}</div>
|
||||
<div>电池押金:¥{{ record.batteryDeposit }}</div>
|
||||
<div>电池保险:¥{{ record.batteryInsurance }}</div>
|
||||
</template>
|
||||
<template v-if="column.key === 'expirationTime'">
|
||||
<div>{{ record.startTime }}</div>
|
||||
<div>{{ record.expirationTime}}</div>
|
||||
<div>{{ record.expirationTime }}</div>
|
||||
</template>
|
||||
<template v-if="column.key === 'expirationDay'">
|
||||
<span class="ele-text-danger">{{ expirationDay(record) }}</span>
|
||||
@@ -304,7 +306,6 @@
|
||||
<a-spin :spinning="loading">
|
||||
<ele-image-upload
|
||||
v-model:value="files"
|
||||
da
|
||||
disabled
|
||||
:item-style="{ width: '150px', height: '99px' }"
|
||||
/>
|
||||
@@ -321,7 +322,7 @@
|
||||
>
|
||||
<a-form-item label="收货人姓名" name="orderNo">
|
||||
<router-link :to="'/system/user/details?id=' + data.userId">
|
||||
<span class="ele-text-primary">{{ data.nickname }}</span>
|
||||
<span class="ele-text-primary">{{ data.realName }}</span>
|
||||
</router-link>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -332,22 +333,7 @@
|
||||
: { span: 8 }
|
||||
"
|
||||
>
|
||||
<a-form-item label="联系电话" name="receiptPhone">
|
||||
<span>{{ data.receiptPhone }}</span>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="16">
|
||||
<a-col
|
||||
v-bind="
|
||||
styleResponsive
|
||||
? { xl: 8, lg: 12, md: 12, sm: 24, xs: 24 }
|
||||
: { span: 8 }
|
||||
"
|
||||
>
|
||||
<a-form-item label="紧急联系人" name="emergentUser">
|
||||
<span>{{ data.emergentUser }}</span>
|
||||
</a-form-item>
|
||||
<a-form-item label="联系电话" name="phone"/>
|
||||
</a-col>
|
||||
<a-col
|
||||
v-bind="
|
||||
@@ -356,9 +342,7 @@
|
||||
: { span: 8 }
|
||||
"
|
||||
>
|
||||
<a-form-item label="单位地址" name="officeAddress">
|
||||
<span>{{ data.officeAddress }}</span>
|
||||
</a-form-item>
|
||||
<a-form-item label="身份证号" name="idCode"/>
|
||||
</a-col>
|
||||
<a-col
|
||||
v-bind="
|
||||
@@ -367,9 +351,7 @@
|
||||
: { span: 8 }
|
||||
"
|
||||
>
|
||||
<a-form-item label="家庭地址" name="homeAddress">
|
||||
<span>{{ data.homeAddress }}</span>
|
||||
</a-form-item>
|
||||
<a-form-item label="详细地址" name="address"/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
@@ -377,56 +359,53 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, watch } from 'vue';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import { assignObject, EleProTable, timeAgo } from 'ele-admin-pro';
|
||||
import { useThemeStore } from '@/store/modules/theme';
|
||||
import { formatNumber } from 'ele-admin-pro/es';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { copyText } from '@/utils/common';
|
||||
import { Order } from '@/api/order/model';
|
||||
import type {
|
||||
DatasourceFunction,
|
||||
ColumnItem
|
||||
} from 'ele-admin-pro/es/ele-pro-table/types';
|
||||
import { listEquipmentOrderGoods } from '@/api/apps/equipment/order/goods';
|
||||
import { EquipmentOrderGoods } from '@/api/apps/equipment/order/goods/model';
|
||||
import * as EquipmentApi from '@/api/apps/equipment';
|
||||
import * as EquipmentRecordApi from '@/api/apps/equipment/record';
|
||||
import { listOrder, listOrderPay } from '@/api/order';
|
||||
import { CopyOutlined } from '@ant-design/icons-vue';
|
||||
import { EquipmentRecord } from '@/api/apps/equipment/record/model';
|
||||
import {ref, reactive, watch} from 'vue';
|
||||
import {Form} from 'ant-design-vue';
|
||||
import {assignObject, EleProTable, timeAgo} from 'ele-admin-pro';
|
||||
import {useThemeStore} from '@/store/modules/theme';
|
||||
import {formatNumber} from 'ele-admin-pro/es';
|
||||
import {storeToRefs} from 'pinia';
|
||||
import {copyText} from '@/utils/common';
|
||||
import {Order} from '@/api/order/model';
|
||||
import {listEquipmentOrderGoods} from '@/api/apps/equipment/order/goods';
|
||||
import {EquipmentOrderGoods} from '@/api/apps/equipment/order/goods/model';
|
||||
import * as EquipmentApi from '@/api/apps/equipment';
|
||||
import * as EquipmentRecordApi from '@/api/apps/equipment/record';
|
||||
import {ColumnItem} from 'ele-admin-pro/es/ele-pro-table/types';
|
||||
import {listOrder, listOrderPay} from '@/api/order';
|
||||
import {CopyOutlined} from '@ant-design/icons-vue';
|
||||
import {EquipmentRecord} from '@/api/apps/equipment/record/model';
|
||||
|
||||
const useForm = Form.useForm;
|
||||
// 是否开启响应式布局
|
||||
const themeStore = useThemeStore();
|
||||
const { styleResponsive } = storeToRefs(themeStore);
|
||||
const useForm = Form.useForm;
|
||||
// 是否开启响应式布局
|
||||
const themeStore = useThemeStore();
|
||||
const {styleResponsive} = storeToRefs(themeStore);
|
||||
|
||||
const props = defineProps<{
|
||||
const props = defineProps<{
|
||||
// 弹窗是否打开
|
||||
visible: boolean;
|
||||
// 修改回显的数据
|
||||
data?: Order | null;
|
||||
}>();
|
||||
}>();
|
||||
|
||||
export interface step {
|
||||
export interface step {
|
||||
title?: String | undefined;
|
||||
subTitle?: String | undefined;
|
||||
description?: String | undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// 是否是修改
|
||||
const isUpdate = ref(false);
|
||||
// 是否显示最大化切换按钮
|
||||
const maxAble = ref(true);
|
||||
const EquipmentOrderGoodsList = ref<EquipmentOrderGoods[]>([]);
|
||||
const renewOrderList = ref<Order[]>([]);
|
||||
// const equipmentRecordList = ref<EquipmentRecord[]>([]);
|
||||
const bindEquipmentCode = ref<string>();
|
||||
const files = ref<any[]>();
|
||||
// 是否是修改
|
||||
const isUpdate = ref(false);
|
||||
// 是否显示最大化切换按钮
|
||||
const maxAble = ref(true);
|
||||
const EquipmentOrderGoodsList = ref<EquipmentOrderGoods[]>([]);
|
||||
const renewOrderList = ref<Order[]>([]);
|
||||
const equipmentRecordList = ref<EquipmentRecord[]>([]);
|
||||
const bindEquipmentCode = ref<string>();
|
||||
const files = ref<any[]>();
|
||||
|
||||
// 步骤条
|
||||
const steps = ref<step[]>([
|
||||
// 步骤条
|
||||
const steps = ref<step[]>([
|
||||
{
|
||||
title: '下单',
|
||||
description: undefined
|
||||
@@ -447,33 +426,33 @@
|
||||
title: '完成',
|
||||
description: undefined
|
||||
}
|
||||
]);
|
||||
const active = ref(2);
|
||||
]);
|
||||
const active = ref(2);
|
||||
|
||||
const emit = defineEmits<{
|
||||
const emit = defineEmits<{
|
||||
(e: 'done'): void;
|
||||
(e: 'update:visible', visible: boolean): void;
|
||||
}>();
|
||||
}>();
|
||||
|
||||
// 订单信息
|
||||
const order = reactive<Order>({
|
||||
// 订单信息
|
||||
const order = reactive<Order>({
|
||||
orderId: undefined,
|
||||
orderNo: '',
|
||||
userId: undefined,
|
||||
orderSourceData: ''
|
||||
});
|
||||
});
|
||||
|
||||
// 请求状态
|
||||
const loading = ref(true);
|
||||
// 请求状态
|
||||
const loading = ref(true);
|
||||
|
||||
const { resetFields } = useForm(order);
|
||||
const {resetFields} = useForm(order);
|
||||
|
||||
/* 更新visible */
|
||||
const updateVisible = (value: boolean) => {
|
||||
/* 更新visible */
|
||||
const updateVisible = (value: boolean) => {
|
||||
emit('update:visible', value);
|
||||
};
|
||||
};
|
||||
|
||||
const columns = ref<ColumnItem[]>([
|
||||
const columns = ref<ColumnItem[]>([
|
||||
// {
|
||||
// title: '商品ID',
|
||||
// dataIndex: 'goodsId'
|
||||
@@ -497,13 +476,13 @@
|
||||
title: '电池价格',
|
||||
dataIndex: 'batteryPrice',
|
||||
key: 'batteryPrice',
|
||||
customRender: ({ text }) => '¥' + text
|
||||
customRender: ({text}) => '¥' + text
|
||||
},
|
||||
{
|
||||
title: '电池租金',
|
||||
dataIndex: 'batteryRent',
|
||||
key: 'batteryRent',
|
||||
customRender: ({ text }) => '¥' + text
|
||||
customRender: ({text}) => '¥' + text
|
||||
},
|
||||
{
|
||||
title: '分期方案',
|
||||
@@ -516,27 +495,27 @@
|
||||
key: 'num',
|
||||
customRender: ({}) => 1
|
||||
}
|
||||
]);
|
||||
]);
|
||||
|
||||
// 表格实例
|
||||
const tableRef2 = ref<InstanceType<typeof EleProTable> | null>(null);
|
||||
const columns2 = ref<ColumnItem[]>([
|
||||
// 表格实例
|
||||
const tableRef2 = ref<InstanceType<typeof EleProTable> | null>(null);
|
||||
const columns2 = ref<ColumnItem[]>([
|
||||
{
|
||||
title: '当前期数',
|
||||
dataIndex: 'index',
|
||||
key: 'index',
|
||||
customRender: ({ index }) => {
|
||||
console.log({ ...order });
|
||||
customRender: ({index}) => {
|
||||
console.log({...order});
|
||||
|
||||
if(props.data.orderSource == 20) {
|
||||
if(index == 0) {
|
||||
if (props.data.orderSource == 20) {
|
||||
if (index == 0) {
|
||||
return '首期';
|
||||
}else {
|
||||
} else {
|
||||
return '第' + index + '期';
|
||||
}
|
||||
}else if(props.data.orderSource == 30 || props.data.orderSource == 40) {
|
||||
} else if (props.data.orderSource == 30 || props.data.orderSource == 40) {
|
||||
return '第' + (index + 1) + '期';
|
||||
}else if(props.data.orderSource == 10) {
|
||||
} else if (props.data.orderSource == 10) {
|
||||
return '一次性购买';
|
||||
}
|
||||
|
||||
@@ -551,10 +530,10 @@
|
||||
title: '订单金额',
|
||||
dataIndex: 'orderPrice',
|
||||
key: 'orderPrice',
|
||||
customRender: ({ text }) => '¥' + text
|
||||
customRender: ({text}) => '¥' + text
|
||||
},
|
||||
{
|
||||
title: '设备型号',
|
||||
title: '设备租金',
|
||||
dataIndex: 'batteryModel',
|
||||
key: 'batteryModel'
|
||||
},
|
||||
@@ -568,28 +547,13 @@
|
||||
dataIndex: 'payTime',
|
||||
key: 'payTime'
|
||||
},
|
||||
{
|
||||
title: '电池租金',
|
||||
dataIndex: 'batteryRent',
|
||||
key: 'batteryRent'
|
||||
},
|
||||
{
|
||||
title: '电池押金',
|
||||
dataIndex: 'batteryDeposit',
|
||||
key: 'batteryDeposit'
|
||||
},
|
||||
{
|
||||
title: '电池保险',
|
||||
dataIndex: 'batteryInsurance',
|
||||
key: 'batteryInsurance'
|
||||
},
|
||||
{
|
||||
title: '逾期状态',
|
||||
dataIndex: 'expirationDay',
|
||||
key: 'expirationDay'
|
||||
}
|
||||
]);
|
||||
const columns3 = ref<ColumnItem[]>([
|
||||
]);
|
||||
const columns3 = ref<ColumnItem[]>([
|
||||
{
|
||||
title: '设备编号',
|
||||
dataIndex: 'equipmentCode',
|
||||
@@ -619,10 +583,10 @@
|
||||
dataIndex: 'createTime',
|
||||
key: 'createTime'
|
||||
}
|
||||
]);
|
||||
]);
|
||||
|
||||
/* 制作步骤条 */
|
||||
const loadSteps = (order) => {
|
||||
/* 制作步骤条 */
|
||||
const loadSteps = (order) => {
|
||||
steps.value = [];
|
||||
steps.value.push({
|
||||
title: '下单'
|
||||
@@ -678,28 +642,28 @@
|
||||
if (order.orderStatus == 20) {
|
||||
active.value = 4;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const getEquipmentOrderGoods = () => {
|
||||
const getEquipmentOrderGoods = () => {
|
||||
const orderId = props.data?.orderId;
|
||||
const goodsId = props.data?.goodsId;
|
||||
listEquipmentOrderGoods({ orderId,goodsId }).then((data) => {
|
||||
listEquipmentOrderGoods({orderId, goodsId}).then((data) => {
|
||||
EquipmentOrderGoodsList.value = data;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
const getEquipment = () => {
|
||||
EquipmentApi.listEquipment({ orderId: order.orderId }).then((data) => {
|
||||
const getEquipment = () => {
|
||||
EquipmentApi.listEquipment({orderId: order.orderId}).then((data) => {
|
||||
if (data.length > 0) {
|
||||
bindEquipmentCode.value = data[0].equipmentCode;
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
const getRenewOrder = () => {
|
||||
const getRenewOrder = () => {
|
||||
loading.value = true;
|
||||
console.log(order);
|
||||
if(order.orderId > 28798) {
|
||||
if (order.orderId > 28798) {
|
||||
listOrderPay({
|
||||
rentOrderId: order.orderId,
|
||||
sort: ' create_time asc'
|
||||
@@ -707,7 +671,7 @@
|
||||
renewOrderList.value = data;
|
||||
loading.value = false;
|
||||
});
|
||||
}else {
|
||||
} else {
|
||||
listOrder({
|
||||
rentOrderId: order.orderId,
|
||||
payStatus: 20,
|
||||
@@ -718,44 +682,31 @@
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
/* const getEquipmentRecordList: DatasourceFunction = () => {
|
||||
return EquipmentRecordApi.pageEquipmentRecord({
|
||||
const getEquipmentRecordList = () => {
|
||||
EquipmentRecordApi.listEquipmentRecord({
|
||||
orderId: order.orderId,
|
||||
userId: order.userId,
|
||||
limit: 5
|
||||
userId: order.userId
|
||||
}).then((data) => {
|
||||
equipmentRecordList.value = data;
|
||||
});
|
||||
}; */
|
||||
};
|
||||
|
||||
// 表格实例
|
||||
const tableRef3 = ref<InstanceType<typeof EleProTable> | null>(null);
|
||||
const equipmentRecordList: DatasourceFunction = ({
|
||||
page,
|
||||
limit,
|
||||
where,
|
||||
orders,
|
||||
filters
|
||||
}) => {
|
||||
where.orderId = order.orderId
|
||||
where.userId = order.userId
|
||||
return EquipmentRecordApi.pageEquipmentRecord({ ...where, ...orders, page, limit });
|
||||
};
|
||||
|
||||
const expirationDay = (order) => {
|
||||
const expirationDay = (order) => {
|
||||
const setTime = new Date(order.expirationTime);
|
||||
const nowTime = new Date();
|
||||
const restSec = setTime.getTime() - nowTime.getTime();
|
||||
// console.log("计算剩余天数");
|
||||
// console.log(restSec);
|
||||
console.log("计算剩余天数");
|
||||
console.log(restSec);
|
||||
// 剩余天数
|
||||
const day = parseInt(String(restSec / (60 * 60 * 24 * 1000)));
|
||||
if (day < 0) {
|
||||
return '逾期' + Math.abs(day) + '天';
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const getFiles = () => {
|
||||
const getFiles = () => {
|
||||
if (order.orderSourceData != '') {
|
||||
const array = JSON.parse(<string>order.orderSourceData);
|
||||
files.value = array.map((url, id) => {
|
||||
@@ -766,12 +717,13 @@
|
||||
};
|
||||
});
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/* 保存编辑 */
|
||||
const save = () => {};
|
||||
/* 保存编辑 */
|
||||
const save = () => {
|
||||
};
|
||||
|
||||
watch(
|
||||
watch(
|
||||
() => props.visible,
|
||||
(visible) => {
|
||||
if (visible) {
|
||||
@@ -783,19 +735,20 @@
|
||||
getEquipmentOrderGoods();
|
||||
getRenewOrder();
|
||||
getEquipment();
|
||||
// getEquipmentRecordList();
|
||||
getEquipmentRecordList();
|
||||
}
|
||||
} else {
|
||||
resetFields();
|
||||
}
|
||||
}
|
||||
);
|
||||
);
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.order-card {
|
||||
.order-card {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.ant-form-item {
|
||||
}
|
||||
|
||||
.ant-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user