guoyuji
2024-10-14 fcc92299eb3fb49835fa6975c67730018b451803
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
@@ -8,6 +8,7 @@
import {useI18n} from 'vue-i18n'
import {changeFilterEvent, filterChanged} from "@/hook"
import exportExcel from "@/hook/exportExcel";
import footSum from "@/hook/footSum"
//语言获取
const {t} = useI18n()
let router = useRouter()
@@ -20,7 +21,7 @@
})
//工序
const value = ref('磨边')
const value = ref(t('machine.edgeGrinding'))
//表尾求和
const sumNum = (list, field) => {
@@ -175,8 +176,8 @@
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe: true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮
  id: 'CustomerList',
  rowConfig: {isCurrent: true, isHover: true, height:30},//鼠标移动或选择高亮
  id: 'OrderPlanDecomposition',
  showFooter: true,//显示脚
  printConfig: {},
  importConfig: {},
@@ -200,16 +201,16 @@
  },//表头参数
  columns: [
    {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
    {type: 'seq', fixed: "left", title: '自序', width: 50},
    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
    {
      field: 'order_id', width: 120, title: '销售单号', filters: [{data: ''}],
      field: 'order_id', width: 120, title: t('order.orderId'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'customer_name',
      width: 120,
      title: '客户名称',
      title: t('customer.customerName'),
      showOverflow: "ellipsis",
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
@@ -218,40 +219,40 @@
    {
      field: 'project',
      width: 120,
      title: '项目名称',
      title: t('order.project'),
      showOverflow: "ellipsis",
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'batch', width: 130, title: '批次', filters: [{data: ''}],
      field: 'batch', width: 130, title: t('order.batch'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'quantity', width: 120, title: '订单数量', filters: [{data: ''}],
      field: 'quantity', width: 120, title: t('order.quantity'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'area', width: 100, title: '订单面积', filters: [{data: ''}],
      field: 'area', width: 100, title: t('order.area'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'create_time',
      width: 100,
      title: '分架时间',
      title: t('processCard.splitFrameTime'),
      type: 'date',
      attrs: {placeholder: '', type: 'date'},
    },
    {field: 'startTime', width: 120, title: '切割开始时间', showOverflow: "ellipsis"},
    {field: 'completionsNum', width: 100, title: '完工数量'},
    {field: 'received_quantity', width: 120, title: '入库数量'},
    {field: 'receivedNo', width: 120, title: '未入库数量'},
    {field: 'accomplish', width: 120, title: '是否清单'},
    {field: 'daysDifference', width: 120, title: '生产天数'},
    {field: 'startTime', width: 120, title: t('report.startTime'), showOverflow: "ellipsis"},
    {field: 'completionsNum', width: 100, title: t('reportingWorks.completedQuantity')},
    {field: 'received_quantity', width: 120, title: t('report.inventoryNum')},
    {field: 'receivedNo', width: 120, title: t('report.receivedNo')},
    {field: 'accomplish', width: 120, title: t('report.accomplish')},
    {field: 'daysDifference', width: 120, title: t('report.daysDifference')},
  ],//表头按钮
  toolbarConfig: {
@@ -269,15 +270,15 @@
  },
  data: [],//table body实际数据
  //脚部求和
  footerMethod({columns, data}) {//页脚函数
    let footList = ['']
    return [
  footerMethod ({ columns, data }) {//页脚函数
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
          return t('basicData.total')
        }
        if (footList.includes(column.field)) {
          return sumNum(data, column.field)
        const List = ["quantity",'completionsNum','area','received_quantity','receivedNo']
        if (List.includes(column.field)) {
          return footSum(data, column.field)
        }
        return ''
      })
@@ -295,15 +296,15 @@
      <el-row :gutter="0">
        <el-date-picker
            v-model="form.date1"
            end-placeholder="结束时间"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            start-placeholder="开始时间"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">查询</el-button>
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
@@ -326,16 +327,18 @@
      </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportOrderPlanDecomposition',
                                          '订单计划分解报表',
                    @click="exportExcel('/report/orderPlanDecomposition',
                                          t('report.orderPlanDecomposition'),
                                          form.date1)">
          导出</vxe-button>
          {{t('basicData.export')}}</vxe-button>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="type" @input="changeFilterEvent($event, option, $panel)"/>
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
      </template>