|
@@ -20,20 +20,39 @@
|
|
]"
|
|
]"
|
|
@get-list="getList">
|
|
@get-list="getList">
|
|
<template #claimTime="{ item }">
|
|
<template #claimTime="{ item }">
|
|
- <div>
|
|
|
|
|
|
+ <div style="width: 100%">
|
|
<span v-if="item.claimTime">{{ item.claimTime }}</span>
|
|
<span v-if="item.claimTime">{{ item.claimTime }}</span>
|
|
<span v-else>未到账</span>
|
|
<span v-else>未到账</span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
+ <template #contractVersion="{ item }">
|
|
|
|
+ <div style="width: 100%">
|
|
|
|
+ <span v-if="item.contractVersion">V{{ item.contractVersion }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template #timeSpent="{ item }">
|
|
|
|
+ <div style="width: 100%">已耗时</div>
|
|
|
|
+ </template>
|
|
</byTable>
|
|
</byTable>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <el-dialog title="交接单" v-if="openAllFile" v-model="openAllFile" width="500">
|
|
|
|
- <div>
|
|
|
|
- <div v-for="(file, index) in rowData.fileList" :key="index" style="padding: 8px 0;">
|
|
|
|
- <a style="color: #409eff; cursor: pointer" @click="openFile(file.fileUrl)">{{ file.fileName }}</a>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <el-dialog title="交接单" v-if="openAllFile" v-model="openAllFile" width="600">
|
|
|
|
+ <byForm :formConfig="formConfig" :formOption="formOption" v-model="rowData" ref="fileState">
|
|
|
|
+ <template #file>
|
|
|
|
+ <div>
|
|
|
|
+ <div v-for="(file, index) in rowData.fileList" :key="index" style="padding: 4px 0">
|
|
|
|
+ <a style="color: #409eff; cursor: pointer" @click="openFile(file.fileUrl)">{{ file.fileName }}</a>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template #indication>
|
|
|
|
+ <div>
|
|
|
|
+ <div v-for="(file, index) in rowData.packageFileList" :key="index" style="padding: 4px 0">
|
|
|
|
+ <a style="color: #409eff; cursor: pointer" @click="openFile(file.fileUrl)">{{ file.fileName }}</a>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </byForm>
|
|
<template #footer>
|
|
<template #footer>
|
|
<el-button @click="openAllFile = false" size="large">关 闭</el-button>
|
|
<el-button @click="openAllFile = false" size="large">关 闭</el-button>
|
|
</template>
|
|
</template>
|
|
@@ -44,6 +63,7 @@
|
|
<script setup>
|
|
<script setup>
|
|
import { computed, ref } from "vue";
|
|
import { computed, ref } from "vue";
|
|
import byTable from "@/components/byTable/index";
|
|
import byTable from "@/components/byTable/index";
|
|
|
|
+import byForm from "@/components/byForm/index";
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
const { proxy } = getCurrentInstance();
|
|
const sourceList = ref({
|
|
const sourceList = ref({
|
|
@@ -63,14 +83,7 @@ const config = computed(() => {
|
|
},
|
|
},
|
|
{
|
|
{
|
|
attrs: {
|
|
attrs: {
|
|
- label: "订单类型",
|
|
|
|
- prop: "orderType",
|
|
|
|
- width: 140,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- attrs: {
|
|
|
|
- label: "外销合同编码",
|
|
|
|
|
|
+ label: "外销合同编号",
|
|
prop: "contractCode",
|
|
prop: "contractCode",
|
|
width: 180,
|
|
width: 180,
|
|
},
|
|
},
|
|
@@ -92,7 +105,7 @@ const config = computed(() => {
|
|
{
|
|
{
|
|
attrs: {
|
|
attrs: {
|
|
label: "版本号",
|
|
label: "版本号",
|
|
- prop: "contractVersion",
|
|
|
|
|
|
+ slot: "contractVersion",
|
|
width: 100,
|
|
width: 100,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
@@ -126,6 +139,13 @@ const config = computed(() => {
|
|
},
|
|
},
|
|
{
|
|
{
|
|
attrs: {
|
|
attrs: {
|
|
|
|
+ label: "已耗时",
|
|
|
|
+ slot: "timeSpent",
|
|
|
|
+ width: 120,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ attrs: {
|
|
label: "交接单",
|
|
label: "交接单",
|
|
width: 80,
|
|
width: 80,
|
|
align: "center",
|
|
align: "center",
|
|
@@ -175,7 +195,7 @@ const config = computed(() => {
|
|
const getList = async (req) => {
|
|
const getList = async (req) => {
|
|
sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
|
|
sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
|
|
loading.value = true;
|
|
loading.value = true;
|
|
- proxy.post("/delivery/page", sourceList.value.pagination).then((res) => {
|
|
|
|
|
|
+ proxy.post("/delivery/contractHandoverPage", sourceList.value.pagination).then((res) => {
|
|
sourceList.value.data = res.rows;
|
|
sourceList.value.data = res.rows;
|
|
sourceList.value.pagination.total = res.total;
|
|
sourceList.value.pagination.total = res.total;
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
@@ -202,19 +222,59 @@ const selectRow = (data) => {
|
|
};
|
|
};
|
|
const rowData = ref({
|
|
const rowData = ref({
|
|
fileList: [],
|
|
fileList: [],
|
|
|
|
+ packageFileList: [],
|
|
});
|
|
});
|
|
const openAllFile = ref(false);
|
|
const openAllFile = ref(false);
|
|
const checkTheTransferSlip = (item) => {
|
|
const checkTheTransferSlip = (item) => {
|
|
rowData.value = item;
|
|
rowData.value = item;
|
|
rowData.value.fileList = [];
|
|
rowData.value.fileList = [];
|
|
|
|
+ rowData.value.packageFileList = [];
|
|
openAllFile.value = true;
|
|
openAllFile.value = true;
|
|
- proxy.post("/fileInfo/getList", { businessIdList: [item.contractId] }).then((fileObj) => {
|
|
|
|
|
|
+ proxy.post("/fileInfo/getList", { businessIdList: [item.contractId],fileType: 1 }).then((fileObj) => {
|
|
rowData.value.fileList = fileObj[item.contractId] || [];
|
|
rowData.value.fileList = fileObj[item.contractId] || [];
|
|
});
|
|
});
|
|
|
|
+ proxy.post("/fileInfo/getList", { businessIdList: [item.contractId],fileType: 2 }).then((fileObj) => {
|
|
|
|
+ rowData.value.packageFileList = fileObj[item.contractId] || [];
|
|
|
|
+ });
|
|
};
|
|
};
|
|
const openFile = (path) => {
|
|
const openFile = (path) => {
|
|
window.open(path, "_blank");
|
|
window.open(path, "_blank");
|
|
};
|
|
};
|
|
|
|
+const formOption = reactive({
|
|
|
|
+ inline: true,
|
|
|
|
+ labelWidth: 100,
|
|
|
|
+ itemWidth: 100,
|
|
|
|
+ rules: [],
|
|
|
|
+});
|
|
|
|
+const fileState = ref(null);
|
|
|
|
+const formConfig = computed(() => {
|
|
|
|
+ return [
|
|
|
|
+ {
|
|
|
|
+ type: "input",
|
|
|
|
+ prop: "code",
|
|
|
|
+ label: "合同编号",
|
|
|
|
+ itemType: "text",
|
|
|
|
+ disabled: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "input",
|
|
|
|
+ prop: "buyCorporationName",
|
|
|
|
+ label: "客户名称",
|
|
|
|
+ itemType: "text",
|
|
|
|
+ disabled: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "slot",
|
|
|
|
+ slotName: "file",
|
|
|
|
+ label: "交接单",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: "slot",
|
|
|
|
+ slotName: "indication",
|
|
|
|
+ label: "包装指示",
|
|
|
|
+ },
|
|
|
|
+ ];
|
|
|
|
+});
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|