lxf il y a 1 an
Parent
commit
7938018476

+ 0 - 198
src/views/subsidiary/finance/check-bill/printBOM.vue

@@ -1,198 +0,0 @@
-<template>
-  <el-card v-loading="loading">
-    <div style="height: calc(100vh - 264px); overflow-y: auto; overflow-x: hidden">
-      <el-table :data="tableData" border :row-style="{ height: '35px' }" header-row-class-name="tableHeader" show-summary :summary-method="getSummaries">
-        <el-table-column align="center">
-          <template #header>
-            <div style="text-align: center; font-size: 30px; padding: 8px">{{ props.rowData.departmentName }}-胜德体育对账单</div>
-            <div style="text-align: center; font-size: 18px; padding-bottom: 8px">( 对账时间: {{ rowData.timePeriod }} )</div>
-          </template>
-          <el-table-column label="E10品号" prop="bomSpecCode" width="140" />
-          <el-table-column label="SKU品名" prop="bomSpecName" min-width="220" />
-          <el-table-column label="数量(PCS)" align="center" prop="quantity" width="130" />
-          <el-table-column label="BOM单价" align="center" prop="unitPrice" width="110" />
-          <el-table-column label="激光LOGO汇总" align="center" prop="laserLogoSummary" width="130" />
-          <el-table-column label="激光体位线汇总" align="center" prop="laserMitochondrialSummary" width="130" />
-          <el-table-column label="代发费汇总" align="center" prop="lssueFeeSummary" width="110" />
-          <el-table-column label="快递包材费汇总" align="center" prop="deliveryMaterialsFeeSummary" width="130" />
-          <el-table-column label="包装人工费汇总" align="center" prop="packingLaborSummary" width="130" />
-          <el-table-column label="管理费汇总" align="center" prop="managementFeeSummary" width="130" />
-          <el-table-column label="小计" align="center" width="120">
-            <template #default="{ row }">
-              {{ moneyFormat(row.subtotal) }}
-            </template>
-          </el-table-column>
-          <el-table-column label="合计" align="center" width="120">
-            <template #default="{ row }">
-              {{ moneyFormat(row.total) }}
-            </template>
-          </el-table-column>
-        </el-table-column>
-      </el-table>
-    </div>
-    <div style="padding: 8px; text-align: center">
-      <el-button @click="clickCancel" size="large">关 闭</el-button>
-      <el-button type="primary" @click="deriveExcel()" size="large" v-preReClick>导 出</el-button>
-    </div>
-  </el-card>
-</template>
-
-<script setup>
-const { proxy } = getCurrentInstance();
-const props = defineProps({
-  rowData: Object,
-});
-const loading = ref(false);
-const tableData = ref([]);
-onMounted(() => {
-  if (props.rowData && props.rowData.id) {
-    loading.value = true;
-    proxy.post("/statementOfAccount/getDocumentByBom", { id: props.rowData.id }).then(
-      (res) => {
-        tableData.value = Object.freeze(res);
-        loading.value = false;
-      },
-      (err) => {
-        console.log(err);
-        loading.value = false;
-      }
-    );
-  }
-});
-const labelList = ref({
-  2: "quantity",
-  4: "laserLogoSummary",
-  5: "laserMitochondrialSummary",
-  6: "lssueFeeSummary",
-  7: "deliveryMaterialsFeeSummary",
-  8: "packingLaborSummary",
-  9: "managementFeeSummary",
-  10: "subtotal",
-  11: "total",
-});
-const textList = ref({
-  1: "胜德体育总经理:",
-  2: "申请日期:",
-});
-const getSummaries = ({ columns, data }) => {
-  const sums = [];
-  columns.forEach((column, index) => {
-    if (index === 0) {
-      sums[index] = h("div", { class: "" }, [
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "总计:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "备注:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "交货地点:",
-        }),
-        h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px" }, innerHTML: "申请人:" }),
-      ]);
-      return;
-    } else {
-      sums[index] = h("div", { class: "" }, [
-        [1, 3].includes(index)
-          ? h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            })
-          : h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: getTotal(labelList.value[index]),
-            }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        [1, 2].includes(index)
-          ? h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px", "text-align": "left" }, innerHTML: textList.value[index] })
-          : h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 0 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            }),
-      ]);
-      return;
-    }
-  });
-  return sums;
-};
-const getTotal = (label) => {
-  let list = tableData.value.map((item) => item[label]);
-  return Number(Math.round(list.reduce((acc, curr) => acc + curr, 0) * 100) / 100);
-};
-const emit = defineEmits(["clickCancel"]);
-const clickCancel = () => {
-  emit("clickCancel", "");
-};
-const deriveExcel = () => {
-  proxy.getFile("/statementOfAccount/exportDocumentByBom", { id: props.rowData.id }).then((res) => {
-    proxy.downloadFile(res, "BOM对账单.xlsx");
-  });
-};
-</script>
-
-<style lang="scss" scoped>
-::v-deep(.el-table thead.is-group th.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table__footer-wrapper tbody td.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table .el-table__cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .el-table__cell) {
-  border-right: 0px;
-}
-</style>

+ 0 - 282
src/views/subsidiary/finance/check-bill/printOrder.vue

@@ -1,282 +0,0 @@
-<template>
-  <el-card v-loading="loading">
-    <div style="text-align: center; font-size: 30px; padding: 8px; font-weight: 700">{{ props.rowData.departmentName }}-胜德体育对账单</div>
-    <div style="text-align: center; font-size: 18px; padding-bottom: 8px; font-weight: 700">( 对账时间: {{ rowData.timePeriod }} )</div>
-    <div style="height: calc(100vh - 264px - 88px); overflow-y: auto; overflow-x: hidden">
-      <el-auto-resizer>
-        <template #default="{ height, width }">
-          <el-table-v2 :columns="columns" :data="tableData" :width="width" :height="height" fixed :cache="20" :header-height="35" :row-height="35">
-            <template #row="props">
-              <Row v-bind="props" />
-            </template>
-          </el-table-v2>
-        </template>
-      </el-auto-resizer>
-    </div>
-    <div style="padding: 8px; text-align: center">
-      <el-button @click="clickCancel" size="large">关 闭</el-button>
-      <el-button type="primary" @click="deriveExcel()" size="large" v-preReClick>导 出</el-button>
-    </div>
-  </el-card>
-</template>
-
-<script setup>
-import { cloneVNode } from "vue";
-
-const { proxy } = getCurrentInstance();
-const props = defineProps({
-  rowData: Object,
-});
-const loading = ref(false);
-const tableData = ref([]);
-const getAggregate = (data) => {
-  let total = 0;
-  if (data && data.length > 0) {
-    for (let i = 0; i < data.length; i++) {
-      if (data[i].skuSpecList && data[i].skuSpecList.length > 0) {
-        for (let j = 0; j < data[i].skuSpecList.length; j++) {
-          if (data[i].skuSpecList[j].total) {
-            total = Number(Math.round((total + data[i].skuSpecList[j].total) * 100) / 100);
-          }
-        }
-      }
-    }
-  }
-  return total;
-};
-onMounted(() => {
-  if (props.rowData && props.rowData.id) {
-    loading.value = true;
-    proxy.post("/statementOfAccount/getDocumentByOrder", { id: props.rowData.id }).then(
-      (res) => {
-        let total = getAggregate(proxy.deepClone(res));
-        let list = [];
-        if (res && res.length > 0) {
-          for (let i = 0; i < res.length; i++) {
-            if (res[i].skuSpecList && res[i].skuSpecList.length > 0) {
-              for (let j = 0; j < res[i].skuSpecList.length; j++) {
-                if (res[i].skuSpecList[j].bomSpecList && res[i].skuSpecList[j].bomSpecList.length > 0) {
-                  for (let y = 0; y < res[i].skuSpecList[j].bomSpecList.length; y++) {
-                    let indexOne = 0;
-                    if (j === 0 && y === 0) {
-                      for (let z = 0; z < res[i].skuSpecList.length; z++) {
-                        if (res[i].skuSpecList[z].bomSpecList && res[i].skuSpecList[z].bomSpecList.length > 0) {
-                          indexOne = Number(indexOne + res[i].skuSpecList[z].bomSpecList.length);
-                        }
-                      }
-                    }
-                    let indexTwo = 0;
-                    if (y === 0) {
-                      indexTwo = res[i].skuSpecList[j].bomSpecList.length;
-                    }
-                    list.push({
-                      wlnCreateTime: res[i].wlnCreateTime,
-                      code: res[i].code,
-                      wlnCode: res[i].wlnCode,
-                      skuSpecCode: res[i].skuSpecList[j].skuSpecCode,
-                      skuSpecName: res[i].skuSpecList[j].skuSpecName,
-                      quantitySKU: res[i].skuSpecList[j].quantity,
-                      subtotal: res[i].skuSpecList[j].subtotal,
-                      total: res[i].skuSpecList[j].total,
-                      bomSpecCode: res[i].skuSpecList[j].bomSpecList[y].bomSpecCode,
-                      bomSpecName: res[i].skuSpecList[j].bomSpecList[y].bomSpecName,
-                      quantityBOM: res[i].skuSpecList[j].bomSpecList[y].quantity,
-                      unitPriceBOM: res[i].skuSpecList[j].bomSpecList[y].unitPrice,
-                      laserLogoSummary: res[i].skuSpecList[j].bomSpecList[y].laserLogoSummary,
-                      laserMitochondrialSummary: res[i].skuSpecList[j].bomSpecList[y].laserMitochondrialSummary,
-                      lssueFeeSummary: res[i].skuSpecList[j].bomSpecList[y].lssueFeeSummary,
-                      deliveryMaterialsFeeSummary: res[i].skuSpecList[j].bomSpecList[y].deliveryMaterialsFeeSummary,
-                      packingLaborSummary: res[i].skuSpecList[j].bomSpecList[y].packingLaborSummary,
-                      managementFeeSummary: res[i].skuSpecList[j].bomSpecList[y].managementFeeSummary,
-                      unitPriceSKU: res[i].skuSpecList[j].unitPrice,
-                      indexOne: indexOne,
-                      indexTwo: indexTwo,
-                    });
-                  }
-                }
-              }
-            }
-          }
-        }
-        list.push({
-          indexOne: 1,
-          indexTwo: 1,
-          total: total,
-          wlnCreateTime: "总计:",
-        });
-        tableData.value = Object.freeze(list);
-        loading.value = false;
-      },
-      (err) => {
-        console.log(err);
-        loading.value = false;
-      }
-    );
-  }
-});
-const emit = defineEmits(["clickCancel"]);
-const clickCancel = () => {
-  emit("clickCancel", "");
-};
-const deriveExcel = () => {
-  proxy.getFile("/statementOfAccount/exportDocumentByOrder", { id: props.rowData.id }).then((res) => {
-    proxy.downloadFile(res, "订单对账单.xlsx");
-  });
-};
-const columns = computed(() => {
-  return [
-    {
-      dataKey: "wlnCreateTime",
-      key: "column-0",
-      title: "订单时间",
-      width: 150,
-      rowIndex: 1,
-    },
-    {
-      dataKey: "code",
-      key: "column-1",
-      title: "订单号",
-      width: 160,
-    },
-    {
-      dataKey: "wlnCode",
-      key: "column-2",
-      title: "万里牛单号",
-      width: 140,
-    },
-    {
-      dataKey: "skuSpecCode",
-      key: "column-3",
-      title: "SKU品号",
-      width: 140,
-    },
-    {
-      dataKey: "skuSpecName",
-      key: "column-4",
-      title: "SKU品名",
-      width: 220,
-    },
-    {
-      dataKey: "quantitySKU",
-      key: "column-5",
-      title: "SKU数量",
-      width: 80,
-    },
-    {
-      dataKey: "bomSpecCode",
-      key: "column-6",
-      title: "BOM品号",
-      width: 140,
-    },
-    {
-      dataKey: "bomSpecName",
-      key: "column-7",
-      title: "BOM品名",
-      width: 260,
-    },
-    {
-      dataKey: "quantityBOM",
-      key: "column-8",
-      title: "BOM数量",
-      width: 80,
-    },
-    {
-      dataKey: "unitPriceBOM",
-      key: "column-9",
-      title: "单价",
-      width: 100,
-    },
-    {
-      dataKey: "laserLogoSummary",
-      key: "column-10",
-      title: "激光LOGO",
-      width: 100,
-    },
-    {
-      dataKey: "laserMitochondrialSummary",
-      key: "column-11",
-      title: "激光体位线",
-      width: 100,
-    },
-    {
-      dataKey: "lssueFeeSummary",
-      key: "column-12",
-      title: "代发费",
-      width: 100,
-    },
-    {
-      dataKey: "deliveryMaterialsFeeSummary",
-      key: "column-13",
-      title: "快递包材费",
-      width: 100,
-    },
-    {
-      dataKey: "packingLaborSummary",
-      key: "column-14",
-      title: "包装人工费",
-      width: 100,
-    },
-    {
-      dataKey: "managementFeeSummary",
-      key: "column-15",
-      title: "管理费",
-      width: 100,
-    },
-    {
-      dataKey: "unitPriceSKU",
-      key: "column-16",
-      title: "SKU单价",
-      width: 100,
-    },
-    {
-      dataKey: "subtotal",
-      key: "column-17",
-      title: "小计",
-      width: 120,
-    },
-    {
-      dataKey: "total",
-      key: "column-18",
-      title: "合计",
-      width: 120,
-    },
-  ];
-});
-const mergeColumnOne = [0, 1, 2];
-const mergeColumnTwo = [3, 4, 5, 16, 17, 18];
-const Row = ({ rowData, cells }) => {
-  if (rowData.indexOne > 1) {
-    for (let i = 0; i < mergeColumnOne.length; i++) {
-      const cell = cells[mergeColumnOne[i]];
-      const style = {
-        ...cell.props.style,
-        backgroundColor: "#fff",
-        height: `${rowData.indexOne * 35 - 1}px`,
-        alignSelf: "flex-start",
-        zIndex: 1,
-      };
-      cells[mergeColumnOne[i]] = cloneVNode(cell, { style });
-    }
-  }
-  if (rowData.indexTwo > 1) {
-    for (let i = 0; i < mergeColumnTwo.length; i++) {
-      const cell = cells[mergeColumnTwo[i]];
-      const style = {
-        ...cell.props.style,
-        backgroundColor: "#fff",
-        height: `${rowData.indexTwo * 35 - 1}px`,
-        alignSelf: "flex-start",
-        zIndex: 1,
-      };
-      cells[mergeColumnTwo[i]] = cloneVNode(cell, { style });
-    }
-  }
-  return cells;
-};
-</script>
-
-<style lang="scss" scoped>
-::v-deep(.el-table-v2__header-cell) {
-  background-color: #eeeeee !important;
-}
-</style>

+ 0 - 185
src/views/subsidiary/finance/check-bill/printSKU.vue

@@ -1,185 +0,0 @@
-<template>
-  <el-card v-loading="loading">
-    <div style="height: calc(100vh - 264px); overflow-y: auto; overflow-x: hidden">
-      <el-table :data="tableData" border :row-style="{ height: '35px' }" header-row-class-name="tableHeader" show-summary :summary-method="getSummaries">
-        <el-table-column align="center">
-          <template #header>
-            <div style="text-align: center; font-size: 30px; padding: 8px">{{ props.rowData.departmentName }}-胜德体育对账单</div>
-            <div style="text-align: center; font-size: 18px; padding-bottom: 8px">( 对账时间: {{ rowData.timePeriod }} )</div>
-          </template>
-          <el-table-column label="SKU品号" prop="skuSpecCode" width="180" />
-          <el-table-column label="SKU品名" prop="skuSpecName" min-width="220" />
-          <el-table-column label="数量(PCS)" align="center" prop="quantity" width="160" />
-          <el-table-column label="SKU单价" align="center" prop="unitPrice" width="160" />
-          <el-table-column label="小计" align="center" width="180">
-            <template #default="{ row }">
-              {{ moneyFormat(row.subtotal) }}
-            </template>
-          </el-table-column>
-          <el-table-column label="合计" align="center" width="180">
-            <template #default="{ row }">
-              {{ moneyFormat(row.total) }}
-            </template>
-          </el-table-column>
-        </el-table-column>
-      </el-table>
-    </div>
-    <div style="padding: 8px; text-align: center">
-      <el-button @click="clickCancel" size="large">关 闭</el-button>
-      <el-button type="primary" @click="deriveExcel()" size="large" v-preReClick>导 出</el-button>
-    </div>
-  </el-card>
-</template>
-
-<script setup>
-const { proxy } = getCurrentInstance();
-const props = defineProps({
-  rowData: Object,
-});
-const loading = ref(false);
-const tableData = ref([]);
-onMounted(() => {
-  if (props.rowData && props.rowData.id) {
-    loading.value = true;
-    proxy.post("/statementOfAccount/getDocumentBySku", { id: props.rowData.id }).then(
-      (res) => {
-        tableData.value = Object.freeze(res);
-        loading.value = false;
-      },
-      (err) => {
-        console.log(err);
-        loading.value = false;
-      }
-    );
-  }
-});
-const labelList = ref({
-  2: "quantity",
-  5: "total",
-});
-const textList = ref({
-  1: "胜德体育总经理:",
-  2: "申请日期:",
-});
-const getSummaries = ({ columns, data }) => {
-  const sums = [];
-  columns.forEach((column, index) => {
-    if (index === 0) {
-      sums[index] = h("div", { class: "" }, [
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "总计:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "备注:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "交货地点:",
-        }),
-        h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px" }, innerHTML: "申请人:" }),
-      ]);
-      return;
-    } else {
-      sums[index] = h("div", { class: "" }, [
-        [1, 3, 4].includes(index)
-          ? h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            })
-          : h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: getTotal(labelList.value[index]),
-            }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        [3, 4, 5].includes(index)
-          ? h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 0 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            })
-          : h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px", "text-align": "left" }, innerHTML: textList.value[index] }),
-      ]);
-      return;
-    }
-  });
-  return sums;
-};
-const getTotal = (label) => {
-  let list = tableData.value.map((item) => item[label]);
-  return Number(Math.round(list.reduce((acc, curr) => acc + curr, 0) * 100) / 100);
-};
-const emit = defineEmits(["clickCancel"]);
-const clickCancel = () => {
-  emit("clickCancel", "");
-};
-const deriveExcel = () => {
-  proxy.getFile("/statementOfAccount/exportDocumentBySku", { id: props.rowData.id }).then((res) => {
-    proxy.downloadFile(res, "SKU对账单.xlsx");
-  });
-};
-</script>
-
-<style lang="scss" scoped>
-::v-deep(.el-table thead.is-group th.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table__footer-wrapper tbody td.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table .el-table__cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .el-table__cell) {
-  border-right: 0px;
-}
-</style>

+ 0 - 204
src/views/subsidiary/finance/summary/printBOM.vue

@@ -1,204 +0,0 @@
-<template>
-  <el-card v-loading="loading">
-    <div style="height: calc(100vh - 264px); overflow-y: auto; overflow-x: hidden">
-      <el-table :data="tableData" border :row-style="{ height: '35px' }" header-row-class-name="tableHeader" show-summary :summary-method="getSummaries">
-        <el-table-column align="center">
-          <template #header>
-            <div style="text-align: center; font-size: 30px; padding: 8px">{{ props.rowData.departmentName }}-胜德体育对账单</div>
-            <div style="text-align: center; font-size: 18px; padding-bottom: 8px">( 对账时间: {{ props.rowData.dimensionality }} )</div>
-          </template>
-          <el-table-column label="E10品号" prop="bomSpecCode" width="140" />
-          <el-table-column label="SKU品名" prop="bomSpecName" min-width="220" />
-          <el-table-column label="数量(PCS)" align="center" prop="quantity" width="130" />
-          <el-table-column label="BOM单价" align="center" prop="unitPrice" width="110" />
-          <el-table-column label="激光LOGO汇总" align="center" prop="laserLogoSummary" width="130" />
-          <el-table-column label="激光体位线汇总" align="center" prop="laserMitochondrialSummary" width="130" />
-          <el-table-column label="代发费汇总" align="center" prop="lssueFeeSummary" width="110" />
-          <el-table-column label="快递包材费汇总" align="center" prop="deliveryMaterialsFeeSummary" width="130" />
-          <el-table-column label="包装人工费汇总" align="center" prop="packingLaborSummary" width="130" />
-          <el-table-column label="管理费汇总" align="center" prop="managementFeeSummary" width="130" />
-          <el-table-column label="小计" align="center" width="120">
-            <template #default="{ row }">
-              {{ moneyFormat(row.subtotal) }}
-            </template>
-          </el-table-column>
-          <el-table-column label="合计" align="center" width="120">
-            <template #default="{ row }">
-              {{ moneyFormat(row.total) }}
-            </template>
-          </el-table-column>
-        </el-table-column>
-      </el-table>
-    </div>
-    <div style="padding: 8px; text-align: center">
-      <el-button @click="clickCancel" size="large">关 闭</el-button>
-      <el-button type="primary" @click="deriveExcel()" size="large" v-preReClick>导 出</el-button>
-    </div>
-  </el-card>
-</template>
-
-<script setup>
-const { proxy } = getCurrentInstance();
-const props = defineProps({
-  rowData: Object,
-});
-const loading = ref(false);
-const tableData = ref([]);
-onMounted(() => {
-  if (props.rowData.idGroupConcat) {
-    loading.value = true;
-    proxy.post("/statementOfAccountMerge/getDocumentByBom", { idGroupConcat: props.rowData.idGroupConcat }).then(
-      (res) => {
-        tableData.value = Object.freeze(res);
-        loading.value = false;
-      },
-      (err) => {
-        console.log(err);
-        loading.value = false;
-      }
-    );
-  }
-});
-const labelList = ref({
-  2: "quantity",
-  4: "laserLogoSummary",
-  5: "laserMitochondrialSummary",
-  6: "lssueFeeSummary",
-  7: "deliveryMaterialsFeeSummary",
-  8: "packingLaborSummary",
-  9: "managementFeeSummary",
-  10: "subtotal",
-  11: "total",
-});
-const textList = ref({
-  1: "胜德体育总经理:",
-  2: "申请日期:",
-});
-const getSummaries = ({ columns, data }) => {
-  const sums = [];
-  columns.forEach((column, index) => {
-    if (index === 0) {
-      sums[index] = h("div", { class: "" }, [
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "总计:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "备注:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "交货地点:",
-        }),
-        h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px" }, innerHTML: "申请人:" }),
-      ]);
-      return;
-    } else {
-      sums[index] = h("div", { class: "" }, [
-        [1, 3].includes(index)
-          ? h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            })
-          : h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: getTotal(labelList.value[index]),
-            }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        [1, 2].includes(index)
-          ? h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px", "text-align": "left" }, innerHTML: textList.value[index] })
-          : h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 0 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            }),
-      ]);
-      return;
-    }
-  });
-  return sums;
-};
-const getTotal = (label) => {
-  let list = tableData.value.map((item) => item[label]);
-  return Number(Math.round(list.reduce((acc, curr) => acc + curr, 0) * 100) / 100);
-};
-const emit = defineEmits(["clickCancel"]);
-const clickCancel = () => {
-  emit("clickCancel", "");
-};
-const deriveExcel = () => {
-  proxy
-    .getFile("/statementOfAccountMerge/exportDocumentByBom", {
-      idGroupConcat: props.rowData.idGroupConcat,
-      departmentName: props.rowData.departmentName,
-      beginDate: props.rowData.dimensionality,
-    })
-    .then((res) => {
-      proxy.downloadFile(res, "BOM对账单.xlsx");
-    });
-};
-</script>
-
-<style lang="scss" scoped>
-::v-deep(.el-table thead.is-group th.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table__footer-wrapper tbody td.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table .el-table__cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .el-table__cell) {
-  border-right: 0px;
-}
-</style>

+ 0 - 288
src/views/subsidiary/finance/summary/printOrder.vue

@@ -1,288 +0,0 @@
-<template>
-  <el-card v-loading="loading">
-    <div style="text-align: center; font-size: 30px; padding: 8px; font-weight: 700">{{ props.rowData.departmentName }}-胜德体育对账单</div>
-    <div style="text-align: center; font-size: 18px; padding-bottom: 8px; font-weight: 700">( 对账时间: {{ props.rowData.dimensionality }} )</div>
-    <div style="height: calc(100vh - 264px - 88px); overflow-y: auto; overflow-x: hidden">
-      <el-auto-resizer>
-        <template #default="{ height, width }">
-          <el-table-v2 :columns="columns" :data="tableData" :width="width" :height="height" fixed :cache="20" :header-height="35" :row-height="35">
-            <template #row="props">
-              <Row v-bind="props" />
-            </template>
-          </el-table-v2>
-        </template>
-      </el-auto-resizer>
-    </div>
-    <div style="padding: 8px; text-align: center">
-      <el-button @click="clickCancel" size="large">关 闭</el-button>
-      <el-button type="primary" @click="deriveExcel()" size="large" v-preReClick>导 出</el-button>
-    </div>
-  </el-card>
-</template>
-
-<script setup>
-import { cloneVNode } from "vue";
-
-const { proxy } = getCurrentInstance();
-const props = defineProps({
-  rowData: Object,
-});
-const loading = ref(false);
-const tableData = ref([]);
-const getAggregate = (data) => {
-  let total = 0;
-  if (data && data.length > 0) {
-    for (let i = 0; i < data.length; i++) {
-      if (data[i].skuSpecList && data[i].skuSpecList.length > 0) {
-        for (let j = 0; j < data[i].skuSpecList.length; j++) {
-          if (data[i].skuSpecList[j].total) {
-            total = Number(Math.round((total + data[i].skuSpecList[j].total) * 100) / 100);
-          }
-        }
-      }
-    }
-  }
-  return total;
-};
-onMounted(() => {
-  if (props.rowData.idGroupConcat) {
-    loading.value = true;
-    proxy.post("/statementOfAccountMerge/getDocumentByOrder", { idGroupConcat: props.rowData.idGroupConcat }).then(
-      (res) => {
-        let total = getAggregate(proxy.deepClone(res));
-        let list = [];
-        if (res && res.length > 0) {
-          for (let i = 0; i < res.length; i++) {
-            if (res[i].skuSpecList && res[i].skuSpecList.length > 0) {
-              for (let j = 0; j < res[i].skuSpecList.length; j++) {
-                if (res[i].skuSpecList[j].bomSpecList && res[i].skuSpecList[j].bomSpecList.length > 0) {
-                  for (let y = 0; y < res[i].skuSpecList[j].bomSpecList.length; y++) {
-                    let indexOne = 0;
-                    if (j === 0 && y === 0) {
-                      for (let z = 0; z < res[i].skuSpecList.length; z++) {
-                        if (res[i].skuSpecList[z].bomSpecList && res[i].skuSpecList[z].bomSpecList.length > 0) {
-                          indexOne = Number(indexOne + res[i].skuSpecList[z].bomSpecList.length);
-                        }
-                      }
-                    }
-                    let indexTwo = 0;
-                    if (y === 0) {
-                      indexTwo = res[i].skuSpecList[j].bomSpecList.length;
-                    }
-                    list.push({
-                      wlnCreateTime: res[i].wlnCreateTime,
-                      code: res[i].code,
-                      wlnCode: res[i].wlnCode,
-                      skuSpecCode: res[i].skuSpecList[j].skuSpecCode,
-                      skuSpecName: res[i].skuSpecList[j].skuSpecName,
-                      quantitySKU: res[i].skuSpecList[j].quantity,
-                      subtotal: res[i].skuSpecList[j].subtotal,
-                      total: res[i].skuSpecList[j].total,
-                      bomSpecCode: res[i].skuSpecList[j].bomSpecList[y].bomSpecCode,
-                      bomSpecName: res[i].skuSpecList[j].bomSpecList[y].bomSpecName,
-                      quantityBOM: res[i].skuSpecList[j].bomSpecList[y].quantity,
-                      unitPriceBOM: res[i].skuSpecList[j].bomSpecList[y].unitPrice,
-                      laserLogoSummary: res[i].skuSpecList[j].bomSpecList[y].laserLogoSummary,
-                      laserMitochondrialSummary: res[i].skuSpecList[j].bomSpecList[y].laserMitochondrialSummary,
-                      lssueFeeSummary: res[i].skuSpecList[j].bomSpecList[y].lssueFeeSummary,
-                      deliveryMaterialsFeeSummary: res[i].skuSpecList[j].bomSpecList[y].deliveryMaterialsFeeSummary,
-                      packingLaborSummary: res[i].skuSpecList[j].bomSpecList[y].packingLaborSummary,
-                      managementFeeSummary: res[i].skuSpecList[j].bomSpecList[y].managementFeeSummary,
-                      unitPriceSKU: res[i].skuSpecList[j].unitPrice,
-                      indexOne: indexOne,
-                      indexTwo: indexTwo,
-                    });
-                  }
-                }
-              }
-            }
-          }
-        }
-        list.push({
-          indexOne: 1,
-          indexTwo: 1,
-          total: total,
-          wlnCreateTime: "总计:",
-        });
-        tableData.value = Object.freeze(list);
-        loading.value = false;
-      },
-      (err) => {
-        console.log(err);
-        loading.value = false;
-      }
-    );
-  }
-});
-const emit = defineEmits(["clickCancel"]);
-const clickCancel = () => {
-  emit("clickCancel", "");
-};
-const deriveExcel = () => {
-  proxy
-    .getFile("/statementOfAccountMerge/exportDocumentByOrder", {
-      idGroupConcat: props.rowData.idGroupConcat,
-      departmentName: props.rowData.departmentName,
-      beginDate: props.rowData.dimensionality,
-    })
-    .then((res) => {
-      proxy.downloadFile(res, "订单对账单.xlsx");
-    });
-};
-const columns = computed(() => {
-  return [
-    {
-      dataKey: "wlnCreateTime",
-      key: "column-0",
-      title: "订单时间",
-      width: 150,
-      rowIndex: 1,
-    },
-    {
-      dataKey: "code",
-      key: "column-1",
-      title: "订单号",
-      width: 160,
-    },
-    {
-      dataKey: "wlnCode",
-      key: "column-2",
-      title: "万里牛单号",
-      width: 140,
-    },
-    {
-      dataKey: "skuSpecCode",
-      key: "column-3",
-      title: "SKU品号",
-      width: 140,
-    },
-    {
-      dataKey: "skuSpecName",
-      key: "column-4",
-      title: "SKU品名",
-      width: 220,
-    },
-    {
-      dataKey: "quantitySKU",
-      key: "column-5",
-      title: "SKU数量",
-      width: 80,
-    },
-    {
-      dataKey: "bomSpecCode",
-      key: "column-6",
-      title: "BOM品号",
-      width: 140,
-    },
-    {
-      dataKey: "bomSpecName",
-      key: "column-7",
-      title: "BOM品名",
-      width: 260,
-    },
-    {
-      dataKey: "quantityBOM",
-      key: "column-8",
-      title: "BOM数量",
-      width: 80,
-    },
-    {
-      dataKey: "unitPriceBOM",
-      key: "column-9",
-      title: "单价",
-      width: 100,
-    },
-    {
-      dataKey: "laserLogoSummary",
-      key: "column-10",
-      title: "激光LOGO",
-      width: 100,
-    },
-    {
-      dataKey: "laserMitochondrialSummary",
-      key: "column-11",
-      title: "激光体位线",
-      width: 100,
-    },
-    {
-      dataKey: "lssueFeeSummary",
-      key: "column-12",
-      title: "代发费",
-      width: 100,
-    },
-    {
-      dataKey: "deliveryMaterialsFeeSummary",
-      key: "column-13",
-      title: "快递包材费",
-      width: 100,
-    },
-    {
-      dataKey: "packingLaborSummary",
-      key: "column-14",
-      title: "包装人工费",
-      width: 100,
-    },
-    {
-      dataKey: "managementFeeSummary",
-      key: "column-15",
-      title: "管理费",
-      width: 100,
-    },
-    {
-      dataKey: "unitPriceSKU",
-      key: "column-16",
-      title: "SKU单价",
-      width: 100,
-    },
-    {
-      dataKey: "subtotal",
-      key: "column-17",
-      title: "小计",
-      width: 120,
-    },
-    {
-      dataKey: "total",
-      key: "column-18",
-      title: "合计",
-      width: 120,
-    },
-  ];
-});
-const mergeColumnOne = [0, 1, 2];
-const mergeColumnTwo = [3, 4, 5, 16, 17, 18];
-const Row = ({ rowData, cells }) => {
-  if (rowData.indexOne > 1) {
-    for (let i = 0; i < mergeColumnOne.length; i++) {
-      const cell = cells[mergeColumnOne[i]];
-      const style = {
-        ...cell.props.style,
-        backgroundColor: "#fff",
-        height: `${rowData.indexOne * 35 - 1}px`,
-        alignSelf: "flex-start",
-        zIndex: 1,
-      };
-      cells[mergeColumnOne[i]] = cloneVNode(cell, { style });
-    }
-  }
-  if (rowData.indexTwo > 1) {
-    for (let i = 0; i < mergeColumnTwo.length; i++) {
-      const cell = cells[mergeColumnTwo[i]];
-      const style = {
-        ...cell.props.style,
-        backgroundColor: "#fff",
-        height: `${rowData.indexTwo * 35 - 1}px`,
-        alignSelf: "flex-start",
-        zIndex: 1,
-      };
-      cells[mergeColumnTwo[i]] = cloneVNode(cell, { style });
-    }
-  }
-  return cells;
-};
-</script>
-
-<style lang="scss" scoped>
-::v-deep(.el-table-v2__header-cell) {
-  background-color: #eeeeee !important;
-}
-</style>

+ 0 - 191
src/views/subsidiary/finance/summary/printSKU.vue

@@ -1,191 +0,0 @@
-<template>
-  <el-card v-loading="loading">
-    <div style="height: calc(100vh - 264px); overflow-y: auto; overflow-x: hidden">
-      <el-table :data="tableData" border :row-style="{ height: '35px' }" header-row-class-name="tableHeader" show-summary :summary-method="getSummaries">
-        <el-table-column align="center">
-          <template #header>
-            <div style="text-align: center; font-size: 30px; padding: 8px">{{ props.rowData.departmentName }}-胜德体育对账单</div>
-            <div style="text-align: center; font-size: 18px; padding-bottom: 8px">( 对账时间: {{ props.rowData.dimensionality }} )</div>
-          </template>
-          <el-table-column label="SKU品号" prop="skuSpecCode" width="180" />
-          <el-table-column label="SKU品名" prop="skuSpecName" min-width="220" />
-          <el-table-column label="数量(PCS)" align="center" prop="quantity" width="160" />
-          <el-table-column label="SKU单价" align="center" prop="unitPrice" width="160" />
-          <el-table-column label="小计" align="center" width="180">
-            <template #default="{ row }">
-              {{ moneyFormat(row.subtotal) }}
-            </template>
-          </el-table-column>
-          <el-table-column label="合计" align="center" width="180">
-            <template #default="{ row }">
-              {{ moneyFormat(row.total) }}
-            </template>
-          </el-table-column>
-        </el-table-column>
-      </el-table>
-    </div>
-    <div style="padding: 8px; text-align: center">
-      <el-button @click="clickCancel" size="large">关 闭</el-button>
-      <el-button type="primary" @click="deriveExcel()" size="large" v-preReClick>导 出</el-button>
-    </div>
-  </el-card>
-</template>
-
-<script setup>
-const { proxy } = getCurrentInstance();
-const props = defineProps({
-  rowData: Object,
-});
-const loading = ref(false);
-const tableData = ref([]);
-onMounted(() => {
-  if (props.rowData.idGroupConcat) {
-    loading.value = true;
-    proxy.post("/statementOfAccountMerge/getDocumentBySku", { idGroupConcat: props.rowData.idGroupConcat }).then(
-      (res) => {
-        tableData.value = Object.freeze(res);
-        loading.value = false;
-      },
-      (err) => {
-        console.log(err);
-        loading.value = false;
-      }
-    );
-  }
-});
-const labelList = ref({
-  2: "quantity",
-  5: "total",
-});
-const textList = ref({
-  1: "胜德体育总经理:",
-  2: "申请日期:",
-});
-const getSummaries = ({ columns, data }) => {
-  const sums = [];
-  columns.forEach((column, index) => {
-    if (index === 0) {
-      sums[index] = h("div", { class: "" }, [
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "总计:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "备注:",
-        }),
-        h("div", {
-          style: { "text-align": "center", "border-style": "solid", "border-width": "0 1px 1px 0", "border-color": "#ebeef5", padding: "0 12px" },
-          innerHTML: "交货地点:",
-        }),
-        h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px" }, innerHTML: "申请人:" }),
-      ]);
-      return;
-    } else {
-      sums[index] = h("div", { class: "" }, [
-        [1, 3, 4].includes(index)
-          ? h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            })
-          : h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 1px 1px 0",
-                "border-color": "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: getTotal(labelList.value[index]),
-            }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        h("div", {
-          style: {
-            "text-align": "center",
-            "border-style": "solid",
-            "border-width": "0 0 1px 0",
-            "border-color": "#ebeef5",
-            color: "#ebeef5",
-            padding: "0 12px",
-            height: "35px",
-          },
-          innerHTML: ".",
-        }),
-        [3, 4, 5].includes(index)
-          ? h("div", {
-              style: {
-                "text-align": "center",
-                "border-style": "solid",
-                "border-width": "0 0 1px 0",
-                "border-color": "#ebeef5",
-                color: "#ebeef5",
-                padding: "0 12px",
-                height: "35px",
-              },
-              innerHTML: ".",
-            })
-          : h("div", { style: { "font-size": "16px", "font-weight": 700, padding: "0 12px", "text-align": "left" }, innerHTML: textList.value[index] }),
-      ]);
-      return;
-    }
-  });
-  return sums;
-};
-const getTotal = (label) => {
-  let list = tableData.value.map((item) => item[label]);
-  return Number(Math.round(list.reduce((acc, curr) => acc + curr, 0) * 100) / 100);
-};
-const emit = defineEmits(["clickCancel"]);
-const clickCancel = () => {
-  emit("clickCancel", "");
-};
-const deriveExcel = () => {
-  proxy
-    .getFile("/statementOfAccountMerge/exportDocumentBySku", {
-      idGroupConcat: props.rowData.idGroupConcat,
-      departmentName: props.rowData.departmentName,
-      beginDate: props.rowData.dimensionality,
-    })
-    .then((res) => {
-      proxy.downloadFile(res, "SKU对账单.xlsx");
-    });
-};
-</script>
-
-<style lang="scss" scoped>
-::v-deep(.el-table thead.is-group th.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table__footer-wrapper tbody td.el-table__cell) {
-  background-color: white !important;
-}
-::v-deep(.el-table .el-table__cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .cell) {
-  padding: 0;
-}
-::v-deep(.el-table__footer .el-table__cell) {
-  border-right: 0px;
-}
-</style>