Compare commits

...

2 Commits

Author SHA1 Message Date
wangjunjie e4d891d974 Merge remote-tracking branch 'origin/master' 2026-01-07 19:16:51 +08:00
wangjunjie c6140f92ca 增加库存管理页面 2026-01-07 19:16:47 +08:00
11 changed files with 1644 additions and 2 deletions

View File

@ -5,6 +5,7 @@
// ------
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
import { GlobalComponents } from 'vue'
export {}

View File

@ -77,7 +77,8 @@
</ElForm>
<div class="tool-bar">
<ElButton :icon="elIcons.Plus" type="primary" @click="addHandler"></ElButton>
<!-- <ElButton :icon="elIcons.Plus" type="primary" @click="addHandler"></ElButton> -->
<div></div>
<ElButton :icon="elIcons.Filter" type="default" @click="showSearchForm = !showSearchForm" />
</div>

View File

@ -0,0 +1,99 @@
<template>
<ElDialog v-model="showDialog" :close-on-click-modal="false" destroy-on-close width="fit-content" @close="dialogCloseHandler">
<ElForm :model="formData" :rules="rules" ref="transForm" class="form-panel" label-width="auto">
<ElFormItem label="看料照片" prop="checkPhoto">
<Uploader v-model:files="formData.checkPhoto" :limit="3" :multiple="true" accept="image/*" class="avatar-uploader" list-type="picture-card">
<span style="font-size: 50px; padding: 0 40px">+</span>
</Uploader>
</ElFormItem>
<ElFormItem label="备注" prop="weight">
<ElInput v-model="formData.checkerMemo" :disabled="status === 'view'" placeholder="请输入备注"> </ElInput>
</ElFormItem>
</ElForm>
<template #footer>
<ElButton @click="showDialog = false">{{ status === "view" ? "关闭" : "取消" }}</ElButton>
<ElButton v-if="status !== 'view'" :loading="submiting" type="primary" @click="submitHandler"></ElButton>
</template>
</ElDialog>
</template>
<script lang="ts" setup>
import TransApi from "@/pages/order/trans-order/trans-api.ts";
import Strings from "@/common/utils/strings.ts";
import FormUtil from "@/common/utils/formUtil.ts";
import Utils from "@/common/utils";
import { ElMessage, type FormInstance, type FormRules } from "element-plus";
import Uploader from "@/components/uploader/Uploader.vue";
const emits = defineEmits(["editSucc"]);
const showDialog = ref(false);
const submiting = ref(false);
const status = ref<"add" | "view" | "modify">("add");
const transFormIns = useTemplateRef<FormInstance>("transForm");
const formData = Utils.resetAble(reactive<TransTypes.CheckResult>({}));
const rules = reactive<FormRules<TransTypes.CheckResult>>({
orderTransId: [{ required: true, message: "请填写Id", trigger: "blur" }],
});
function dialogCloseHandler() {
formData.$reset();
}
function submitHandler() {
// console.log(formData, "formData");
// return;
if (status.value === "view") return;
submiting.value = true;
FormUtil.submit(transFormIns, () => {
let data = Object.assign({}, formData);
return TransApi.check(data);
})
.then(() => {
ElMessage.success("看料成功");
emits("editSucc");
showDialog.value = false;
})
.finally(() => {
submiting.value = false;
});
// if (formData.id != null) {
// FormUtil.submit(transFormIns, () => TransApi.modify(formData))
// .then(() => {
// ElMessage.success("");
// emits("editSucc");
// showDialog.value = false;
// })
// .finally(() => {
// submiting.value = false;
// });
// } else {
// FormUtil.submit(transFormIns, () => TransApi.add(formData))
// .then(() => {
// ElMessage.success("");
// emits("editSucc");
// showDialog.value = false;
// })
// .finally(() => {
// submiting.value = false;
// });
// }
}
defineExpose({
open(data: TransTypes.SearchTransResult = {}) {
formData.orderTransId = data.id;
showDialog.value = true;
},
});
</script>
<style lang="stylus" scoped>
.form-panel {
padding 20px
}
</style>

View File

@ -0,0 +1,111 @@
<template>
<ElDialog v-model="showDialog" :close-on-click-modal="false" destroy-on-close width="fit-content" @close="dialogCloseHandler">
<ElForm :model="formData" :rules="rules" ref="transForm" class="form-panel" label-width="auto">
<ElFormItem label="磅重" prop="weight">
<ElInput v-model="formData.weight" type="number" :disabled="status === 'view'" placeholder="请输入磅重">
<template #append></template>
</ElInput>
</ElFormItem>
<ElFormItem label="车头照" prop="cargoPhoto">
<Uploader v-model:file="formData.cargoPhoto" :limit="1" :multiple="true" accept="image/*" class="avatar-uploader" list-type="picture-card">
<span style="font-size: 50px; padding: 0 40px">+</span>
</Uploader>
</ElFormItem>
<ElFormItem label="车斗照" prop="bodyPhoto">
<Uploader v-model:file="formData.bodyPhoto" :limit="1" :multiple="true" accept="image/*" class="avatar-uploader" list-type="picture-card">
<span style="font-size: 50px; padding: 0 40px">+</span>
</Uploader>
</ElFormItem>
</ElForm>
<template #footer>
<ElButton @click="showDialog = false">{{ status === "view" ? "关闭" : "取消" }}</ElButton>
<ElButton v-if="status !== 'view'" :loading="submiting" type="primary" @click="submitHandler"></ElButton>
</template>
</ElDialog>
</template>
<script lang="ts" setup>
import TransApi from "@/pages/order/trans-order/trans-api.ts";
// import Strings from "@/common/utils/strings.ts";
import FormUtil from "@/common/utils/formUtil.ts";
import Utils from "@/common/utils";
import { ElMessage, type FormInstance, type FormRules } from "element-plus";
import Uploader from "@/components/uploader/Uploader.vue";
const emits = defineEmits(["editSucc"]);
const showDialog = ref(false);
const submiting = ref(false);
const status = ref<"add" | "view" | "modify">("add");
const transFormIns = useTemplateRef<FormInstance>("transForm");
const formData = Utils.resetAble(reactive<TransTypes.InOutResult>({
weight:0
}));
const rules = reactive<FormRules<TransTypes.InOutResult>>({
orderTransId: [{ required: true, message: "请填写Id", trigger: "blur" }],
cargoPhoto: [{ required: true, message: "请上传车头照", trigger: "blur" }],
bodyPhoto: [{ required: true, message: "请上传车尾照", trigger: "blur" }],
weight: [{ required: true, message: "请输入磅重", trigger: "blur" }],
});
function dialogCloseHandler() {
formData.$reset();
}
function submitHandler() {
if (status.value === "view") return;
submiting.value = true;
FormUtil.submit(transFormIns, () => {
let data = Object.assign({}, formData);
data.weight = data.weight * 1000;
return TransApi.coming(data);
})
.then(() => {
ElMessage.success("进场成功");
emits("editSucc");
showDialog.value = false;
})
.finally(() => {
submiting.value = false;
});
// if (formData.id != null) {
// FormUtil.submit(transFormIns, () => TransApi.modify(formData))
// .then(() => {
// ElMessage.success("");
// emits("editSucc");
// showDialog.value = false;
// })
// .finally(() => {
// submiting.value = false;
// });
// } else {
// FormUtil.submit(transFormIns, () => TransApi.add(formData))
// .then(() => {
// ElMessage.success("");
// emits("editSucc");
// showDialog.value = false;
// })
// .finally(() => {
// submiting.value = false;
// });
// }
}
defineExpose({
open(data: TransTypes.SearchTransResult = {}) {
formData.orderTransId = data.id;
showDialog.value = true;
},
});
</script>
<style lang="stylus" scoped>
.form-panel {
padding 20px
}
</style>

View File

@ -0,0 +1,113 @@
<template>
<ElDialog v-model="showDialog" :close-on-click-modal="false" destroy-on-close width="fit-content" @close="dialogCloseHandler">
<ElForm :model="formData" :rules="rules" ref="transForm" class="form-panel" label-width="auto">
<ElFormItem label="磅重" prop="weight">
<ElInput v-model="formData.weight" type="number" :disabled="status === 'view'" placeholder="请输入磅重">
<template #append></template>
</ElInput>
</ElFormItem>
<ElFormItem label="车头照" prop="cargoPhoto">
<Uploader v-model:file="formData.cargoPhoto" :limit="1" :multiple="true" accept="image/*" class="avatar-uploader" list-type="picture-card">
<span style="font-size: 50px; padding: 0 40px">+</span>
</Uploader>
</ElFormItem>
<ElFormItem label="车斗照" prop="bodyPhoto">
<Uploader v-model:file="formData.bodyPhoto" :limit="1" :multiple="true" accept="image/*" class="avatar-uploader" list-type="picture-card">
<span style="font-size: 50px; padding: 0 40px">+</span>
</Uploader>
</ElFormItem>
</ElForm>
<template #footer>
<ElButton @click="showDialog = false">{{ status === "view" ? "关闭" : "取消" }}</ElButton>
<ElButton v-if="status !== 'view'" :loading="submiting" type="primary" @click="submitHandler"></ElButton>
</template>
</ElDialog>
</template>
<script lang="ts" setup>
import TransApi from "@/pages/order/trans-order/trans-api.ts";
import Strings from "@/common/utils/strings.ts";
import FormUtil from "@/common/utils/formUtil.ts";
import Utils from "@/common/utils";
import { ElMessage, type FormInstance, type FormRules } from "element-plus";
import Uploader from "@/components/uploader/Uploader.vue";
const emits = defineEmits(["editSucc"]);
const showDialog = ref(false);
const submiting = ref(false);
const status = ref<"add" | "view" | "modify">("add");
const transFormIns = useTemplateRef<FormInstance>("transForm");
const formData = Utils.resetAble(
reactive<TransTypes.InOutResult>({
weight: 0,
})
);
const rules = reactive<FormRules<TransTypes.InOutResult>>({
orderTransId: [{ required: true, message: "请填写Id", trigger: "blur" }],
cargoPhoto: [{ required: true, message: "请上传车头照", trigger: "blur" }],
bodyPhoto: [{ required: true, message: "请上传车尾照", trigger: "blur" }],
weight: [{ required: true, message: "请输入磅重", trigger: "blur" }],
});
function dialogCloseHandler() {
formData.$reset();
}
function submitHandler() {
if (status.value === "view") return;
submiting.value = true;
FormUtil.submit(transFormIns, () => {
let data = Object.assign({}, formData);
data.weight = data.weight * 1000;
return TransApi.leaving(data);
})
.then(() => {
ElMessage.success("出场成功");
emits("editSucc");
showDialog.value = false;
})
.finally(() => {
submiting.value = false;
});
// if (formData.id != null) {
// FormUtil.submit(transFormIns, () => TransApi.modify(formData))
// .then(() => {
// ElMessage.success("");
// emits("editSucc");
// showDialog.value = false;
// })
// .finally(() => {
// submiting.value = false;
// });
// } else {
// FormUtil.submit(transFormIns, () => TransApi.add(formData))
// .then(() => {
// ElMessage.success("");
// emits("editSucc");
// showDialog.value = false;
// })
// .finally(() => {
// submiting.value = false;
// });
// }
}
defineExpose({
open(data: TransTypes.SearchTransResult = {}) {
formData.orderTransId = data.id;
showDialog.value = true;
},
});
</script>
<style lang="stylus" scoped>
.form-panel {
padding 20px
}
</style>

View File

@ -0,0 +1,246 @@
<template>
<Page>
<ElForm v-show="showSearchForm" inline @submit.prevent="paging">
<ElFormItem label="车次">
<ElInput v-model="searchForm.trainNum" placeholder="车次" />
</ElFormItem>
<ElFormItem label="订单 Id">
<ElInput v-model="searchForm.orderId" placeholder="订单 Id" />
</ElFormItem>
<!-- 字典代码trans_statusDaiPaiDan--待派单DaiJieDan--待接单YiJieDan--已接单YunShuZhong--运输中YiJinChang--已进场YiChuChang--已出场YiWanCheng--已完成YiQuXiao--已取消 -->
<ElFormItem label="运输状态">
<ElInput v-model="searchForm.transStatus" placeholder="运输状态" />
</ElFormItem>
<ElFormItem label="车道名称">
<ElInput v-model="searchForm.lane" placeholder="车道名称" />
</ElFormItem>
<ElFormItem label="勘料状态">
<!-- 字典代码check_statusWu--无需勘料YiKanLiao--已勘料WeiKanLiao--未勘料 -->
<ElInput v-model="searchForm.checkStatus" placeholder="勘料状态" />
</ElFormItem>
<ElFormItem label="车辆 Id">
<ElInput v-model="searchForm.truckId" placeholder="车辆 Id" />
</ElFormItem>
<ElFormItem label="车牌号">
<ElInput v-model="searchForm.truckLicensePlate" placeholder="车牌号" />
</ElFormItem>
<ElFormItem label="历史皮重">
<ElInput v-model="searchForm.historyTareWeight" placeholder="历史皮重" />
</ElFormItem>
<ElFormItem label="创建时间">
<ElInput v-model="searchForm.createTime" placeholder="创建时间" />
</ElFormItem>
<ElFormItem>
<ElButton :icon="elIcons.Search" :loading="searching" native-type="submit" type="primary">搜索</ElButton>
<ElButton :icon="elIcons.Refresh" :loading="searching" @click="reset"></ElButton>
</ElFormItem>
</ElForm>
<div class="tool-bar">
<div></div>
<!-- <ElButton :icon="elIcons.Plus" type="primary" @click="addHandler"></ElButton> -->
<ElButton :icon="elIcons.Filter" type="default" @click="showSearchForm = !showSearchForm" />
</div>
<ElTable v-loading="searching" :data="tableData" cell-class-name="table-cell" class="table-list" empty-text="暂无数据" header-row-class-name="table-header" row-key="id">
<!-- <ElTableColumn label="Id" prop="id" /> -->
<ElTableColumn label="订单" prop="orderId" show-overflow-tooltip width="100" />
<ElTableColumn label="订单状态" prop="orderStatusTxt" />
<ElTableColumn label="订单类型" prop="orderCategoryTxt" width="100" />
<ElTableColumn label="运输状态" prop="transStatusTxt" />
<ElTableColumn label="运输垃圾" prop="goodsName" />
<ElTableColumn label="车道名称" prop="lane" />
<ElTableColumn label="看料员" prop="checkerId" />
<ElTableColumn label="勘料状态" prop="checkStatusTxt" />
<ElTableColumn label="勘料时间" prop="checkTime" width="160" />
<ElTableColumn label="司机 Id" prop="driverId" />
<!-- <ElTableColumn label="司机所属用户 Id" prop="driverUserId" /> -->
<ElTableColumn label="归属组织" prop="truckOrgId" />
<ElTableColumn label="车辆 Id" prop="truckId" />
<ElTableColumn label="车牌号" width="100" prop="truckLicensePlate" />
<ElTableColumn label="历史皮重" prop="historyTareWeight" />
<ElTableColumn label="毛重(吨)" width="100" prop="roughWeight" />
<ElTableColumn label="皮重(吨)" width="100" prop="tareWeight" />
<ElTableColumn label="净重(吨)" width="100" prop="settleWeight" />
<ElTableColumn label="车次" prop="trainNum" />
<ElTableColumn label="运距(米)" prop="transDistance" />
<!-- <ElTableColumn label="进场车头照片" prop="inFrontPhoto" />
<ElTableColumn label="进场车斗照片" prop="inBodyPhoto" />
<ElTableColumn label="出场车头照片" prop="outFrontPhoto" />
<ElTableColumn label="出场车斗照片" prop="outBodyPhoto" /> -->
<ElTableColumn label="进场时间" prop="inTime" width="160" />
<ElTableColumn label="出场时间" prop="outTime" />
<!-- MianFei--免费WeiZhiFu--未支付YiZhiFu--已支付YiTuiKuan--已退款 -->
<ElTableColumn label="支付状态" prop="paymentStatus" width="160" />
<ElTableColumn label="支付时间" prop="payTime" width="160" />
<ElTableColumn label="退款时间" prop="refundTime" />
<ElTableColumn label="总金额(元)" prop="totalMoney" />
<ElTableColumn label="优惠金额" prop="discountMoney" />
<ElTableColumn label="手动修正金额" prop="reviseMoney" />
<ElTableColumn label="结算金额(元)" prop="settleMoney" />
<ElTableColumn label="结算方式" prop="settlementWay" />
<ElTableColumn label="付款人" prop="payerUserId" />
<!-- <ElTableColumn label="创建人" prop="creatorId" /> -->
<ElTableColumn label="创建时间" prop="createTime" width="160" />
<ElTableColumn label="修改时间" prop="modifyTime" width="160" />
<ElTableColumn label="操作" width="180" fixed="right">
<template #default="scope">
<div class="action-btn">
<ElPopconfirm confirm-button-text="" cancel-button-text="" confirm-button-type="danger" cancel-button-type="primary" placement="top" title="是否删除当前数据?" width="180" @confirm="delHandler(scope)">
<template #reference>
<ElButton text type="danger" :loading="deling">删除</ElButton>
</template>
</ElPopconfirm>
<!-- <ElButton text type="primary" @click="modifyHandler(scope)"></ElButton> -->
<ElButton text v-if="scope.row.orderStatus == 'JinXingZhong' && scope.row.transStatus == 'YunShuZhong'" type="primary" @click="showInCar(scope)"></ElButton>
<ElButton text v-if="scope.row.checkStatus == 'YiKanLiao' && scope.row.transStatus == 'YiJinChang'" type="primary" @click="showOutCar(scope)"></ElButton>
<ElButton text v-if="scope.row.checkStatus == 'WeiKanLiao' && scope.row.transStatus == 'YiJinChang'" type="primary" @click="showCheck(scope)"></ElButton>
</div>
</template>
</ElTableColumn>
</ElTable>
<ElPagination layout="->, sizes, total, prev, pager, next" v-model:current-page="searchForm.current" v-model:page-size="searchForm.size" :total="totalCount" :page-sizes="[10, 20, 50, 100, 500]" :hide-on-single-page="false" :teleported="false" @change="paging" />
<TransForm ref="transForm" @edit-succ="paging" />
<InForm ref="inForm" @edit-succ="paging" />
<OutForm ref="outForm" @edit-succ="paging" />
<CheckForm ref="checkForm" @edit-succ="paging" />
</Page>
</template>
<script lang="ts" setup>
import TransApi from "@/pages/order/trans-order/trans-api.ts";
import TransForm from "@/pages/order/trans-order/TransForm.vue";
import InForm from "@/pages/order/trans-order/InForm.vue";
import OutForm from "@/pages/order/trans-order/OutForm.vue";
import CheckForm from "@/pages/order/trans-order/CheckForm.vue";
import Page from "@/components/page/Page.vue";
import { elIcons } from "@/common/element/element.ts";
import Utils from "@/common/utils";
const totalCount = ref(0);
const tableData = Utils.resetAble(reactive<TransTypes.SearchTransResult[]>([]));
const searchForm = Utils.resetAble(
reactive<TransTypes.SearchTransParam>({
current: 1,
size: 20,
orders: "create_time:desc",
})
);
const searching = ref(false);
const deling = ref(false);
const showSearchForm = ref(true);
// const transFormIns = useTemplateRef<InstanceType<typeof TransForm>>("transForm");
const inFormIns = useTemplateRef<InstanceType<typeof TransForm>>("inForm");
const outFormIns = useTemplateRef<InstanceType<typeof TransForm>>("outForm");
const checkFormIns = useTemplateRef<InstanceType<typeof TransForm>>("checkForm");
// function showDialog(data?: TransTypes.SearchTransResult) {
// transFormIns.value?.open(data);
// }
function delHandler({ row }: { row: TransTypes.SearchTransResult }) {
deling.value = true;
TransApi.del([row.id!])
.then(() => {
ElMessage.success("删除成功");
paging();
})
.finally(() => {
deling.value = false;
});
}
function showInCar({ row }: { row: TransTypes.SearchTransResult }) {
inFormIns.value?.open(row);
}
function showOutCar({ row }: { row: TransTypes.SearchTransResult }) {
outFormIns.value?.open(row);
}
function showCheck({ row }: { row: TransTypes.SearchTransResult }) {
checkFormIns.value?.open(row);
}
// function modifyHandler({ row }: { row: TransTypes.SearchTransResult }) {
// showDialog(row);
// }
// function addHandler() {
// showDialog();
// }
function reset() {
searchForm.$reset();
paging();
}
function paging() {
searching.value = true;
TransApi.paging(searchForm)
.then((res) => {
totalCount.value = res.data?.total ?? 0;
tableData.$reset(res.data?.records ?? []);
})
.finally(() => {
searching.value = false;
});
}
onMounted(() => {
paging();
});
</script>
<style lang="stylus" scoped>
.table-list {
flex 1;
margin 0 0 20px 0
width 100%
:deep(.table-header) {
color #454C59
th {
background-color #EDF1F7
font-weight 500
position relative
& > div {
display flex
gap 5px
align-items center
}
&:not(:first-child) > div::before {
position: absolute;
top: 50%;
left: 1px;
width: 1px;
background-color: #D3D7DE;
transform: translateY(-50%);
content: "";
height 50%
}
}
}
:deep(.table-cell) {
color #2F3540
}
.action-btn {
width 100%
display flex
flex-wrap wrap
& > button {
margin 0
}
}
}
.tool-bar {
display flex
justify-content space-between
margin 0 0 20px 0
}
</style>

View File

@ -0,0 +1,183 @@
<template>
<ElDialog v-model="showDialog"
destroy-on-close
width="fit-content"
@close="dialogCloseHandler">
<ElDescriptions title="运输信息" border>
<ElDescriptionsItem label="Id" prop="id">
{{ detailData.id }}
</ElDescriptionsItem>
<ElDescriptionsItem label="车次" prop="trainNum">
{{ detailData.trainNum }}
</ElDescriptionsItem>
<ElDescriptionsItem label="订单 Id" prop="orderId">
{{ detailData.orderId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消" prop="transStatus">
{{ detailData.transStatus }}
</ElDescriptionsItem>
<ElDescriptionsItem label="车道名称" prop="lane">
{{ detailData.lane }}
</ElDescriptionsItem>
<ElDescriptionsItem label="指派司机时间" prop="assignmentDriverTime">
{{ detailData.assignmentDriverTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="司机确认接单时间" prop="driverConfirmTime">
{{ detailData.driverConfirmTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="开始运输时间" prop="transTime">
{{ detailData.transTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="完结时间" prop="finishTime">
{{ detailData.finishTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="看料员 Idsys_user.id" prop="checkerId">
{{ detailData.checkerId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料" prop="checkStatus">
{{ detailData.checkStatus }}
</ElDescriptionsItem>
<ElDescriptionsItem label="勘料时间" prop="checkTime">
{{ detailData.checkTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="勘料照片" prop="checkPhoto">
{{ detailData.checkPhoto }}
</ElDescriptionsItem>
<ElDescriptionsItem label="勘料员备注" prop="checkerMemo">
{{ detailData.checkerMemo }}
</ElDescriptionsItem>
<ElDescriptionsItem label="司机 Id" prop="driverId">
{{ detailData.driverId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="司机所属客户 Idcst_customer.id" prop="driverCustomerId">
{{ detailData.driverCustomerId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="司机所属用户 Id" prop="driverUserId">
{{ detailData.driverUserId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="归属客户 Idcst_customer.id" prop="truckCustomerId">
{{ detailData.truckCustomerId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="归属组织" prop="truckOrgId">
{{ detailData.truckOrgId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="车辆 Id" prop="truckId">
{{ detailData.truckId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="车牌号" prop="truckLicensePlate">
{{ detailData.truckLicensePlate }}
</ElDescriptionsItem>
<ElDescriptionsItem label="历史皮重" prop="historyTareWeight">
{{ detailData.historyTareWeight }}
</ElDescriptionsItem>
<ElDescriptionsItem label="毛重;单位:千克" prop="roughWeight">
{{ detailData.roughWeight }}
</ElDescriptionsItem>
<ElDescriptionsItem label="皮重;单位:千克" prop="tareWeight">
{{ detailData.tareWeight }}
</ElDescriptionsItem>
<ElDescriptionsItem label="净重;单位:千克" prop="settleWeight">
{{ detailData.settleWeight }}
</ElDescriptionsItem>
<ElDescriptionsItem label="运距;单位:米" prop="transDistance">
{{ detailData.transDistance }}
</ElDescriptionsItem>
<ElDescriptionsItem label="进场车头照片" prop="inFrontPhoto">
{{ detailData.inFrontPhoto }}
</ElDescriptionsItem>
<ElDescriptionsItem label="进场车斗照片" prop="inBodyPhoto">
{{ detailData.inBodyPhoto }}
</ElDescriptionsItem>
<ElDescriptionsItem label="出场车头照片" prop="outFrontPhoto">
{{ detailData.outFrontPhoto }}
</ElDescriptionsItem>
<ElDescriptionsItem label="出场车斗照片" prop="outBodyPhoto">
{{ detailData.outBodyPhoto }}
</ElDescriptionsItem>
<ElDescriptionsItem label="进场时间" prop="inTime">
{{ detailData.inTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="出场时间" prop="outTime">
{{ detailData.outTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款" prop="paymentStatus">
{{ detailData.paymentStatus }}
</ElDescriptionsItem>
<ElDescriptionsItem label="支付时间" prop="payTime">
{{ detailData.payTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="退款时间" prop="refundTime">
{{ detailData.refundTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="总金额;单位:元" prop="totalMoney">
{{ detailData.totalMoney }}
</ElDescriptionsItem>
<ElDescriptionsItem label="优惠金额;单位:元,有正负" prop="discountMoney">
{{ detailData.discountMoney }}
</ElDescriptionsItem>
<ElDescriptionsItem label="手动修正金额;单位:元,有正负" prop="reviseMoney">
{{ detailData.reviseMoney }}
</ElDescriptionsItem>
<ElDescriptionsItem label="结算金额;单位:元" prop="settleMoney">
{{ detailData.settleMoney }}
</ElDescriptionsItem>
<ElDescriptionsItem label="结算方式YueJie-->月结、YuE-->余额、XianFu-->现付" prop="settlementWay">
{{ detailData.settlementWay }}
</ElDescriptionsItem>
<ElDescriptionsItem label="付款人 Idsys_user.id" prop="payerUserId">
{{ detailData.payerUserId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="付款人客户 Idcst_customer.id" prop="payerCustomerId">
{{ detailData.payerCustomerId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="付款方资金账户 Id" prop="payerMoneyAccount">
{{ detailData.payerMoneyAccount }}
</ElDescriptionsItem>
<ElDescriptionsItem label="创建人 Idsys_user.id" prop="creatorId">
{{ detailData.creatorId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="修改人 Id sys_user.id" prop="modifierId">
{{ detailData.modifierId }}
</ElDescriptionsItem>
<ElDescriptionsItem label="创建时间" prop="createTime">
{{ detailData.createTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="修改时间" prop="modifyTime">
{{ detailData.modifyTime }}
</ElDescriptionsItem>
<ElDescriptionsItem label="是否删除; 0-->未删除、1-->已删除" prop="deleted">
{{ detailData.deleted }}
</ElDescriptionsItem>
</ElDescriptions>
<template #footer>
<ElButton @click="showDialog = false" type="primary">关闭</ElButton>
</template>
</ElDialog>
</template>
<script lang="ts" setup>
import TransApi from '@/pages/order/trans-order/trans-api.ts'
import Utils from '@/common/utils'
const showDialog = ref(false)
const detailData = Utils.resetAble(reactive<TransTypes.SearchTransResult>({}))
function dialogCloseHandler() {
detailData.$reset()
}
defineExpose({
open(data: TransTypes.SearchTransResult) {
showDialog.value = true
TransApi.detail(data.id!)
.then(res => {
detailData.$reset(res.data)
})
}
})
</script>
<style lang="stylus" scoped>
</style>

View File

@ -0,0 +1,429 @@
<template>
<ElDialog v-model="showDialog"
:close-on-click-modal="false"
destroy-on-close
width="fit-content"
@close="dialogCloseHandler">
<ElForm :model="formData"
:rules="rules"
ref="transForm"
class="form-panel"
label-width="auto">
<ElFormItem label="Id" prop="id">
<ElInput
v-model="formData.id"
:disabled="status === 'view'"
placeholder="Id"/>
</ElFormItem>
<ElFormItem label="车次" prop="trainNum">
<ElInput
v-model="formData.trainNum"
:disabled="status === 'view'"
placeholder="车次"/>
</ElFormItem>
<ElFormItem label="订单 Id" prop="orderId">
<ElInput
v-model="formData.orderId"
:disabled="status === 'view'"
placeholder="订单 Id"/>
</ElFormItem>
<ElFormItem label="运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消" prop="transStatus">
<ElInput
v-model="formData.transStatus"
:disabled="status === 'view'"
placeholder="运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消"/>
</ElFormItem>
<ElFormItem label="车道名称" prop="lane">
<ElInput
v-model="formData.lane"
:disabled="status === 'view'"
placeholder="车道名称"/>
</ElFormItem>
<ElFormItem label="指派司机时间" prop="assignmentDriverTime">
<ElInput
v-model="formData.assignmentDriverTime"
:disabled="status === 'view'"
placeholder="指派司机时间"/>
</ElFormItem>
<ElFormItem label="司机确认接单时间" prop="driverConfirmTime">
<ElInput
v-model="formData.driverConfirmTime"
:disabled="status === 'view'"
placeholder="司机确认接单时间"/>
</ElFormItem>
<ElFormItem label="开始运输时间" prop="transTime">
<ElInput
v-model="formData.transTime"
:disabled="status === 'view'"
placeholder="开始运输时间"/>
</ElFormItem>
<ElFormItem label="完结时间" prop="finishTime">
<ElInput
v-model="formData.finishTime"
:disabled="status === 'view'"
placeholder="完结时间"/>
</ElFormItem>
<ElFormItem label="看料员 Idsys_user.id" prop="checkerId">
<ElInput
v-model="formData.checkerId"
:disabled="status === 'view'"
placeholder="看料员 Idsys_user.id"/>
</ElFormItem>
<ElFormItem label="勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料" prop="checkStatus">
<ElInput
v-model="formData.checkStatus"
:disabled="status === 'view'"
placeholder="勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料"/>
</ElFormItem>
<ElFormItem label="勘料时间" prop="checkTime">
<ElInput
v-model="formData.checkTime"
:disabled="status === 'view'"
placeholder="勘料时间"/>
</ElFormItem>
<ElFormItem label="勘料照片" prop="checkPhoto">
<ElInput
v-model="formData.checkPhoto"
:disabled="status === 'view'"
placeholder="勘料照片"/>
</ElFormItem>
<ElFormItem label="勘料员备注" prop="checkerMemo">
<ElInput
v-model="formData.checkerMemo"
:disabled="status === 'view'"
placeholder="勘料员备注"/>
</ElFormItem>
<ElFormItem label="司机 Id" prop="driverId">
<ElInput
v-model="formData.driverId"
:disabled="status === 'view'"
placeholder="司机 Id"/>
</ElFormItem>
<ElFormItem label="司机所属客户 Idcst_customer.id" prop="driverCustomerId">
<ElInput
v-model="formData.driverCustomerId"
:disabled="status === 'view'"
placeholder="司机所属客户 Idcst_customer.id"/>
</ElFormItem>
<ElFormItem label="司机所属用户 Id" prop="driverUserId">
<ElInput
v-model="formData.driverUserId"
:disabled="status === 'view'"
placeholder="司机所属用户 Id"/>
</ElFormItem>
<ElFormItem label="归属客户 Idcst_customer.id" prop="truckCustomerId">
<ElInput
v-model="formData.truckCustomerId"
:disabled="status === 'view'"
placeholder="归属客户 Idcst_customer.id"/>
</ElFormItem>
<ElFormItem label="归属组织" prop="truckOrgId">
<ElInput
v-model="formData.truckOrgId"
:disabled="status === 'view'"
placeholder="归属组织"/>
</ElFormItem>
<ElFormItem label="车辆 Id" prop="truckId">
<ElInput
v-model="formData.truckId"
:disabled="status === 'view'"
placeholder="车辆 Id"/>
</ElFormItem>
<ElFormItem label="车牌号" prop="truckLicensePlate">
<ElInput
v-model="formData.truckLicensePlate"
:disabled="status === 'view'"
placeholder="车牌号"/>
</ElFormItem>
<ElFormItem label="历史皮重" prop="historyTareWeight">
<ElInput
v-model="formData.historyTareWeight"
:disabled="status === 'view'"
placeholder="历史皮重"/>
</ElFormItem>
<ElFormItem label="毛重;单位:千克" prop="roughWeight">
<ElInput
v-model="formData.roughWeight"
:disabled="status === 'view'"
placeholder="毛重;单位:千克"/>
</ElFormItem>
<ElFormItem label="皮重;单位:千克" prop="tareWeight">
<ElInput
v-model="formData.tareWeight"
:disabled="status === 'view'"
placeholder="皮重;单位:千克"/>
</ElFormItem>
<ElFormItem label="净重;单位:千克" prop="settleWeight">
<ElInput
v-model="formData.settleWeight"
:disabled="status === 'view'"
placeholder="净重;单位:千克"/>
</ElFormItem>
<ElFormItem label="运距;单位:米" prop="transDistance">
<ElInput
v-model="formData.transDistance"
:disabled="status === 'view'"
placeholder="运距;单位:米"/>
</ElFormItem>
<ElFormItem label="进场车头照片" prop="inFrontPhoto">
<ElInput
v-model="formData.inFrontPhoto"
:disabled="status === 'view'"
placeholder="进场车头照片"/>
</ElFormItem>
<ElFormItem label="进场车斗照片" prop="inBodyPhoto">
<ElInput
v-model="formData.inBodyPhoto"
:disabled="status === 'view'"
placeholder="进场车斗照片"/>
</ElFormItem>
<ElFormItem label="出场车头照片" prop="outFrontPhoto">
<ElInput
v-model="formData.outFrontPhoto"
:disabled="status === 'view'"
placeholder="出场车头照片"/>
</ElFormItem>
<ElFormItem label="出场车斗照片" prop="outBodyPhoto">
<ElInput
v-model="formData.outBodyPhoto"
:disabled="status === 'view'"
placeholder="出场车斗照片"/>
</ElFormItem>
<ElFormItem label="进场时间" prop="inTime">
<ElInput
v-model="formData.inTime"
:disabled="status === 'view'"
placeholder="进场时间"/>
</ElFormItem>
<ElFormItem label="出场时间" prop="outTime">
<ElInput
v-model="formData.outTime"
:disabled="status === 'view'"
placeholder="出场时间"/>
</ElFormItem>
<ElFormItem label="支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款" prop="paymentStatus">
<ElInput
v-model="formData.paymentStatus"
:disabled="status === 'view'"
placeholder="支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款"/>
</ElFormItem>
<ElFormItem label="支付时间" prop="payTime">
<ElInput
v-model="formData.payTime"
:disabled="status === 'view'"
placeholder="支付时间"/>
</ElFormItem>
<ElFormItem label="退款时间" prop="refundTime">
<ElInput
v-model="formData.refundTime"
:disabled="status === 'view'"
placeholder="退款时间"/>
</ElFormItem>
<ElFormItem label="总金额;单位:元" prop="totalMoney">
<ElInput
v-model="formData.totalMoney"
:disabled="status === 'view'"
placeholder="总金额;单位:元"/>
</ElFormItem>
<ElFormItem label="优惠金额;单位:元,有正负" prop="discountMoney">
<ElInput
v-model="formData.discountMoney"
:disabled="status === 'view'"
placeholder="优惠金额;单位:元,有正负"/>
</ElFormItem>
<ElFormItem label="手动修正金额;单位:元,有正负" prop="reviseMoney">
<ElInput
v-model="formData.reviseMoney"
:disabled="status === 'view'"
placeholder="手动修正金额;单位:元,有正负"/>
</ElFormItem>
<ElFormItem label="结算金额;单位:元" prop="settleMoney">
<ElInput
v-model="formData.settleMoney"
:disabled="status === 'view'"
placeholder="结算金额;单位:元"/>
</ElFormItem>
<ElFormItem label="结算方式YueJie-->月结、YuE-->余额、XianFu-->现付" prop="settlementWay">
<ElInput
v-model="formData.settlementWay"
:disabled="status === 'view'"
placeholder="结算方式YueJie-->月结、YuE-->余额、XianFu-->现付"/>
</ElFormItem>
<ElFormItem label="付款人 Idsys_user.id" prop="payerUserId">
<ElInput
v-model="formData.payerUserId"
:disabled="status === 'view'"
placeholder="付款人 Idsys_user.id"/>
</ElFormItem>
<ElFormItem label="付款人客户 Idcst_customer.id" prop="payerCustomerId">
<ElInput
v-model="formData.payerCustomerId"
:disabled="status === 'view'"
placeholder="付款人客户 Idcst_customer.id"/>
</ElFormItem>
<ElFormItem label="付款方资金账户 Id" prop="payerMoneyAccount">
<ElInput
v-model="formData.payerMoneyAccount"
:disabled="status === 'view'"
placeholder="付款方资金账户 Id"/>
</ElFormItem>
<ElFormItem label="创建人 Idsys_user.id" prop="creatorId">
<ElInput
v-model="formData.creatorId"
:disabled="status === 'view'"
placeholder="创建人 Idsys_user.id"/>
</ElFormItem>
<ElFormItem label="修改人 Id sys_user.id" prop="modifierId">
<ElInput
v-model="formData.modifierId"
:disabled="status === 'view'"
placeholder="修改人 Id sys_user.id"/>
</ElFormItem>
<ElFormItem label="创建时间" prop="createTime">
<ElInput
v-model="formData.createTime"
:disabled="status === 'view'"
placeholder="创建时间"/>
</ElFormItem>
<ElFormItem label="修改时间" prop="modifyTime">
<ElInput
v-model="formData.modifyTime"
:disabled="status === 'view'"
placeholder="修改时间"/>
</ElFormItem>
<ElFormItem label="是否删除; 0-->未删除、1-->已删除" prop="deleted">
<ElInput
v-model="formData.deleted"
:disabled="status === 'view'"
placeholder="是否删除; 0-->未删除、1-->已删除"/>
</ElFormItem>
</ElForm>
<template #footer>
<ElButton @click="showDialog = false">{{ status === 'view' ? '关闭' : '取消' }}</ElButton>
<ElButton v-if="status !== 'view'" :loading="submiting" type="primary" @click="submitHandler"></ElButton>
</template>
</ElDialog>
</template>
<script lang="ts" setup>
import TransApi from '@/pages/order/trans-order/trans-api.ts'
import Strings from '@/common/utils/strings.ts'
import FormUtil from '@/common/utils/formUtil.ts'
import Utils from '@/common/utils'
import {
ElMessage,
type FormInstance,
type FormRules,
} from 'element-plus'
const emits = defineEmits(['editSucc'])
const showDialog = ref(false)
const submiting = ref(false)
const status = ref<'add' | 'view' | 'modify'>('add')
const transFormIns = useTemplateRef<FormInstance>('transForm')
const formData = Utils.resetAble(reactive<TransTypes.SearchTransResult>({}))
const rules = reactive<FormRules<TransTypes.SearchTransResult>>({
id: [{ required: true, message: '请填写Id', trigger: 'blur' }],
trainNum: [{ required: true, message: '请填写车次', trigger: 'blur' }],
orderId: [{ required: true, message: '请填写订单 Id', trigger: 'blur' }],
transStatus: [{ required: true, message: '请填写运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消', trigger: 'blur' }],
lane: [{ required: true, message: '请填写车道名称', trigger: 'blur' }],
assignmentDriverTime: [{ required: true, message: '请填写指派司机时间', trigger: 'blur' }],
driverConfirmTime: [{ required: true, message: '请填写司机确认接单时间', trigger: 'blur' }],
transTime: [{ required: true, message: '请填写开始运输时间', trigger: 'blur' }],
finishTime: [{ required: true, message: '请填写完结时间', trigger: 'blur' }],
checkerId: [{ required: true, message: '请填写看料员 Idsys_user.id', trigger: 'blur' }],
checkStatus: [{ required: true, message: '请填写勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料', trigger: 'blur' }],
checkTime: [{ required: true, message: '请填写勘料时间', trigger: 'blur' }],
checkPhoto: [{ required: true, message: '请填写勘料照片', trigger: 'blur' }],
checkerMemo: [{ required: true, message: '请填写勘料员备注', trigger: 'blur' }],
driverId: [{ required: true, message: '请填写司机 Id', trigger: 'blur' }],
driverCustomerId: [{ required: true, message: '请填写司机所属客户 Idcst_customer.id', trigger: 'blur' }],
driverUserId: [{ required: true, message: '请填写司机所属用户 Id', trigger: 'blur' }],
truckCustomerId: [{ required: true, message: '请填写归属客户 Idcst_customer.id', trigger: 'blur' }],
truckOrgId: [{ required: true, message: '请填写归属组织', trigger: 'blur' }],
truckId: [{ required: true, message: '请填写车辆 Id', trigger: 'blur' }],
truckLicensePlate: [{ required: true, message: '请填写车牌号', trigger: 'blur' }],
historyTareWeight: [{ required: true, message: '请填写历史皮重', trigger: 'blur' }],
roughWeight: [{ required: true, message: '请填写毛重;单位:千克', trigger: 'blur' }],
tareWeight: [{ required: true, message: '请填写皮重;单位:千克', trigger: 'blur' }],
settleWeight: [{ required: true, message: '请填写净重;单位:千克', trigger: 'blur' }],
transDistance: [{ required: true, message: '请填写运距;单位:米', trigger: 'blur' }],
inFrontPhoto: [{ required: true, message: '请填写进场车头照片', trigger: 'blur' }],
inBodyPhoto: [{ required: true, message: '请填写进场车斗照片', trigger: 'blur' }],
outFrontPhoto: [{ required: true, message: '请填写出场车头照片', trigger: 'blur' }],
outBodyPhoto: [{ required: true, message: '请填写出场车斗照片', trigger: 'blur' }],
inTime: [{ required: true, message: '请填写进场时间', trigger: 'blur' }],
outTime: [{ required: true, message: '请填写出场时间', trigger: 'blur' }],
paymentStatus: [{ required: true, message: '请填写支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款', trigger: 'blur' }],
payTime: [{ required: true, message: '请填写支付时间', trigger: 'blur' }],
refundTime: [{ required: true, message: '请填写退款时间', trigger: 'blur' }],
totalMoney: [{ required: true, message: '请填写总金额;单位:元', trigger: 'blur' }],
discountMoney: [{ required: true, message: '请填写优惠金额;单位:元,有正负', trigger: 'blur' }],
reviseMoney: [{ required: true, message: '请填写手动修正金额;单位:元,有正负', trigger: 'blur' }],
settleMoney: [{ required: true, message: '请填写结算金额;单位:元', trigger: 'blur' }],
settlementWay: [{ required: true, message: '请填写结算方式YueJie-->月结、YuE-->余额、XianFu-->现付', trigger: 'blur' }],
payerUserId: [{ required: true, message: '请填写付款人 Idsys_user.id', trigger: 'blur' }],
payerCustomerId: [{ required: true, message: '请填写付款人客户 Idcst_customer.id', trigger: 'blur' }],
payerMoneyAccount: [{ required: true, message: '请填写付款方资金账户 Id', trigger: 'blur' }],
creatorId: [{ required: true, message: '请填写创建人 Idsys_user.id', trigger: 'blur' }],
modifierId: [{ required: true, message: '请填写修改人 Id sys_user.id', trigger: 'blur' }],
createTime: [{ required: true, message: '请填写创建时间', trigger: 'blur' }],
modifyTime: [{ required: true, message: '请填写修改时间', trigger: 'blur' }],
deleted: [{ required: true, message: '请填写是否删除; 0-->未删除、1-->已删除', trigger: 'blur' }],
})
function dialogCloseHandler() {
formData.$reset()
}
function submitHandler() {
if (status.value === 'view') return
submiting.value = true
if (formData.id != null) {
FormUtil.submit(transFormIns, () => TransApi.modify(formData))
.then(() => {
ElMessage.success('修改成功')
emits('editSucc')
showDialog.value = false
})
.finally(() => {
submiting.value = false
})
} else {
FormUtil.submit(transFormIns, () => TransApi.add(formData))
.then(() => {
ElMessage.success('添加成功')
emits('editSucc')
showDialog.value = false
})
.finally(() => {
submiting.value = false
})
}
}
defineExpose({
open(data: TransTypes.SearchTransResult = {}) {
showDialog.value = true
if (!Strings.isBlank(data.id)) {
status.value = 'modify'
TransApi.detail(data.id!)
.then(res => {
formData.$reset(res.data)
})
} else {
status.value = 'add'
formData.$reset(data)
}
}
})
</script>
<style lang="stylus" scoped>
.form-panel {
padding 20px
}
</style>

View File

@ -0,0 +1,3 @@
export default {
component: () => import('@/pages/order/trans-order/Trans.vue'),
} as RouterTypes.RouteConfig

View File

@ -0,0 +1,34 @@
import {
get,
post
} from '@/common/utils/http-util.ts'
export default {
paging(data: TransTypes.SearchTransParam) {
return get<G.PageResult<TransTypes.SearchTransResult>>("/order_trans/paging", data);
},
detail(id: string) {
return get<TransTypes.SearchTransResult>("/order_trans/detail", { id });
},
add(data: TransTypes.AddTransParam) {
return post("/order_trans/add", data);
},
modify(data: TransTypes.ModifyTransParam) {
return post("/order_trans/modify", data);
},
del(ids: string[]) {
return post("/order_trans/del", ids);
},
coming(data: TransTypes.InOutResult) {
return post("/order/truck_coming", data);
},
leaving(data: TransTypes.InOutResult) {
return post("/order/truck_leaving", data);
},
check(data: TransTypes.CheckResult) {
return post("/order/check", data);
},
};

View File

@ -0,0 +1,422 @@
export {};
declare global {
namespace TransTypes {
interface SearchTransParam extends G.PageParam {
// Id
id?: string;
// 车次
trainNum?: number;
// 订单 Id
orderId?: string;
// 运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消
transStatus?: string;
// 车道名称
lane?: string;
// 指派司机时间
assignmentDriverTime?: string;
// 司机确认接单时间
driverConfirmTime?: string;
// 开始运输时间
transTime?: string;
// 完结时间
finishTime?: string;
// 看料员 Idsys_user.id
checkerId?: string;
// 勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料
checkStatus?: string;
// 勘料时间
checkTime?: string;
// 勘料照片
checkPhoto?: string;
// 勘料员备注
checkerMemo?: string;
// 司机 Id
driverId?: string;
// 司机所属客户 Idcst_customer.id
driverCustomerId?: string;
// 司机所属用户 Id
driverUserId?: string;
// 归属客户 Idcst_customer.id
truckCustomerId?: string;
// 归属组织
truckOrgId?: string;
// 车辆 Id
truckId?: string;
// 车牌号
truckLicensePlate?: string;
// 历史皮重
historyTareWeight?: number;
// 毛重;单位:千克
roughWeight?: number;
// 皮重;单位:千克
tareWeight?: number;
// 净重;单位:千克
settleWeight?: number;
// 运距;单位:米
transDistance?: number;
// 进场车头照片
inFrontPhoto?: string;
// 进场车斗照片
inBodyPhoto?: string;
// 出场车头照片
outFrontPhoto?: string;
// 出场车斗照片
outBodyPhoto?: string;
// 进场时间
inTime?: string;
// 出场时间
outTime?: string;
// 支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款
paymentStatus?: string;
// 支付时间
payTime?: string;
// 退款时间
refundTime?: string;
// 总金额;单位:元
totalMoney?: string;
// 优惠金额;单位:元,有正负
discountMoney?: string;
// 手动修正金额;单位:元,有正负
reviseMoney?: string;
// 结算金额;单位:元
settleMoney?: string;
// 结算方式YueJie-->月结、YuE-->余额、XianFu-->现付
settlementWay?: string;
// 付款人 Idsys_user.id
payerUserId?: string;
// 付款人客户 Idcst_customer.id
payerCustomerId?: string;
// 付款方资金账户 Id
payerMoneyAccount?: string;
// 创建人 Idsys_user.id
creatorId?: string;
// 修改人 Id sys_user.id
modifierId?: string;
// 创建时间
createTime?: string;
// 修改时间
modifyTime?: string;
// 是否删除; 0-->未删除、1-->已删除
deleted?: boolean;
}
interface SearchTransResult {
// Id
id?: string;
// 车次
trainNum?: number;
// 订单 Id
orderId?: string;
// 运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消
transStatus?: string;
// 车道名称
lane?: string;
// 指派司机时间
assignmentDriverTime?: string;
// 司机确认接单时间
driverConfirmTime?: string;
// 开始运输时间
transTime?: string;
// 完结时间
finishTime?: string;
// 看料员 Idsys_user.id
checkerId?: string;
// 勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料
checkStatus?: string;
// 勘料时间
checkTime?: string;
// 勘料照片
checkPhoto?: string;
// 勘料员备注
checkerMemo?: string;
// 司机 Id
driverId?: string;
// 司机所属客户 Idcst_customer.id
driverCustomerId?: string;
// 司机所属用户 Id
driverUserId?: string;
// 归属客户 Idcst_customer.id
truckCustomerId?: string;
// 归属组织
truckOrgId?: string;
// 车辆 Id
truckId?: string;
// 车牌号
truckLicensePlate?: string;
// 历史皮重
historyTareWeight?: number;
// 毛重;单位:千克
roughWeight?: number;
// 皮重;单位:千克
tareWeight?: number;
// 净重;单位:千克
settleWeight?: number;
// 运距;单位:米
transDistance?: number;
// 进场车头照片
inFrontPhoto?: string;
// 进场车斗照片
inBodyPhoto?: string;
// 出场车头照片
outFrontPhoto?: string;
// 出场车斗照片
outBodyPhoto?: string;
// 进场时间
inTime?: string;
// 出场时间
outTime?: string;
// 支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款
paymentStatus?: string;
// 支付时间
payTime?: string;
// 退款时间
refundTime?: string;
// 总金额;单位:元
totalMoney?: string;
// 优惠金额;单位:元,有正负
discountMoney?: string;
// 手动修正金额;单位:元,有正负
reviseMoney?: string;
// 结算金额;单位:元
settleMoney?: string;
// 结算方式YueJie-->月结、YuE-->余额、XianFu-->现付
settlementWay?: string;
// 付款人 Idsys_user.id
payerUserId?: string;
// 付款人客户 Idcst_customer.id
payerCustomerId?: string;
// 付款方资金账户 Id
payerMoneyAccount?: string;
// 创建人 Idsys_user.id
creatorId?: string;
// 修改人 Id sys_user.id
modifierId?: string;
// 创建时间
createTime?: string;
// 修改时间
modifyTime?: string;
// 是否删除; 0-->未删除、1-->已删除
deleted?: boolean;
}
interface AddTransParam {
// Id
id?: string;
// 车次
trainNum?: number;
// 订单 Id
orderId?: string;
// 运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消
transStatus?: string;
// 车道名称
lane?: string;
// 指派司机时间
assignmentDriverTime?: string;
// 司机确认接单时间
driverConfirmTime?: string;
// 开始运输时间
transTime?: string;
// 完结时间
finishTime?: string;
// 看料员 Idsys_user.id
checkerId?: string;
// 勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料
checkStatus?: string;
// 勘料时间
checkTime?: string;
// 勘料照片
checkPhoto?: string;
// 勘料员备注
checkerMemo?: string;
// 司机 Id
driverId?: string;
// 司机所属客户 Idcst_customer.id
driverCustomerId?: string;
// 司机所属用户 Id
driverUserId?: string;
// 归属客户 Idcst_customer.id
truckCustomerId?: string;
// 归属组织
truckOrgId?: string;
// 车辆 Id
truckId?: string;
// 车牌号
truckLicensePlate?: string;
// 历史皮重
historyTareWeight?: number;
// 毛重;单位:千克
roughWeight?: number;
// 皮重;单位:千克
tareWeight?: number;
// 净重;单位:千克
settleWeight?: number;
// 运距;单位:米
transDistance?: number;
// 进场车头照片
inFrontPhoto?: string;
// 进场车斗照片
inBodyPhoto?: string;
// 出场车头照片
outFrontPhoto?: string;
// 出场车斗照片
outBodyPhoto?: string;
// 进场时间
inTime?: string;
// 出场时间
outTime?: string;
// 支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款
paymentStatus?: string;
// 支付时间
payTime?: string;
// 退款时间
refundTime?: string;
// 总金额;单位:元
totalMoney?: string;
// 优惠金额;单位:元,有正负
discountMoney?: string;
// 手动修正金额;单位:元,有正负
reviseMoney?: string;
// 结算金额;单位:元
settleMoney?: string;
// 结算方式YueJie-->月结、YuE-->余额、XianFu-->现付
settlementWay?: string;
// 付款人 Idsys_user.id
payerUserId?: string;
// 付款人客户 Idcst_customer.id
payerCustomerId?: string;
// 付款方资金账户 Id
payerMoneyAccount?: string;
// 创建人 Idsys_user.id
creatorId?: string;
// 修改人 Id sys_user.id
modifierId?: string;
// 创建时间
createTime?: string;
// 修改时间
modifyTime?: string;
// 是否删除; 0-->未删除、1-->已删除
deleted?: boolean;
}
interface ModifyTransParam {
// Id
id?: string;
// 车次
trainNum?: number;
// 订单 Id
orderId?: string;
// 运输状态字典代码trans_statusDaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消
transStatus?: string;
// 车道名称
lane?: string;
// 指派司机时间
assignmentDriverTime?: string;
// 司机确认接单时间
driverConfirmTime?: string;
// 开始运输时间
transTime?: string;
// 完结时间
finishTime?: string;
// 看料员 Idsys_user.id
checkerId?: string;
// 勘料状态字典代码check_statusWu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料
checkStatus?: string;
// 勘料时间
checkTime?: string;
// 勘料照片
checkPhoto?: string;
// 勘料员备注
checkerMemo?: string;
// 司机 Id
driverId?: string;
// 司机所属客户 Idcst_customer.id
driverCustomerId?: string;
// 司机所属用户 Id
driverUserId?: string;
// 归属客户 Idcst_customer.id
truckCustomerId?: string;
// 归属组织
truckOrgId?: string;
// 车辆 Id
truckId?: string;
// 车牌号
truckLicensePlate?: string;
// 历史皮重
historyTareWeight?: number;
// 毛重;单位:千克
roughWeight?: number;
// 皮重;单位:千克
tareWeight?: number;
// 净重;单位:千克
settleWeight?: number;
// 运距;单位:米
transDistance?: number;
// 进场车头照片
inFrontPhoto?: string;
// 进场车斗照片
inBodyPhoto?: string;
// 出场车头照片
outFrontPhoto?: string;
// 出场车斗照片
outBodyPhoto?: string;
// 进场时间
inTime?: string;
// 出场时间
outTime?: string;
// 支付状态MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款
paymentStatus?: string;
// 支付时间
payTime?: string;
// 退款时间
refundTime?: string;
// 总金额;单位:元
totalMoney?: string;
// 优惠金额;单位:元,有正负
discountMoney?: string;
// 手动修正金额;单位:元,有正负
reviseMoney?: string;
// 结算金额;单位:元
settleMoney?: string;
// 结算方式YueJie-->月结、YuE-->余额、XianFu-->现付
settlementWay?: string;
// 付款人 Idsys_user.id
payerUserId?: string;
// 付款人客户 Idcst_customer.id
payerCustomerId?: string;
// 付款方资金账户 Id
payerMoneyAccount?: string;
// 创建人 Idsys_user.id
creatorId?: string;
// 修改人 Id sys_user.id
modifierId?: string;
// 创建时间
createTime?: string;
// 修改时间
modifyTime?: string;
// 是否删除; 0-->未删除、1-->已删除
deleted?: boolean;
}
interface InOutResult {
// Id
orderTransId?: string;
// 车头照
cargoPhoto?: string;
// 车尾照
bodyPhoto?: string;
// 磅重
weight: number;
}
interface CheckResult {
// Id
orderTransId?: string;
// 看料照
checkPhoto?: string[];
// 备注
checkerMemo?: string;
}
}
}