qq_41295110
2025-11-19 5fa77e254003aea6060e3f70d64e5fd1bcdb4748
src/views/sell/sellOut/sellOutBill.vue
@@ -1,41 +1,90 @@
<template>
  <div style="padding: 10px;">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="78px" class="searchBox">
      <el-form-item label="开始日期" style="margin-left: 100px;">
        <el-date-picker v-model="sTime" type="date" placeholder="开始日期" style="width: 150px;">
  <div style="padding: 10px">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      label-width="78px"
      class="searchBox"
    >
      <el-form-item label="开始日期" style="margin-left: 100px">
        <el-date-picker
          v-model="sTime"
          type="date"
          placeholder="开始日期"
          style="width: 150px"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item label="结束日期">
        <el-date-picker v-model="eTime" type="date" placeholder="结束日期" style="width: 150px;">
        <el-date-picker
          v-model="eTime"
          type="date"
          placeholder="结束日期"
          style="width: 150px"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item label="日期间隔">
        <el-select v-model="queryParams.HInitTimeCycle" placeholder="请选择" @change="riqiChange" style="width: 150px;">
          <el-option v-for="(item, index) in rqsgList" :key="index" :label="item.label" :value="item.value">
        <el-select
          v-model="queryParams.HInitTimeCycle"
          placeholder="请选择"
          @change="riqiChange"
          style="width: 150px"
        >
          <el-option
            v-for="(item, index) in rqsgList"
            :key="index"
            :label="item.label"
            :value="item.value"
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="单据号" prop="HBillNo">
        <el-input v-model="queryParams.HBillNo" placeholder="请输入单据号" @keyup.enter.native="handleQuery" />
        <el-input
          v-model="queryParams.HBillNo"
          placeholder="请输入单据号"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="项目编号" prop="HBillNo">
        <el-input v-model="queryParams.HProjectNumber" placeholder="请输入项目编号" @keyup.enter.native="HProjectNumber" />
        <el-input
          v-model="queryParams.HProjectNumber"
          placeholder="请输入项目编号"
          @keyup.enter.native="HProjectNumber"
        />
      </el-form-item>
      <el-form-item label-width="78px">
        <el-button type="primary" icon="el-icon-search" @click="handleQuery"> 搜 索</el-button>
        <el-button type="primary" icon="el-icon-search" @click="handleQuery">
          搜 索</el-button
        >
        <el-button icon="el-icon-circle-close" @click="resetQuery">重 置</el-button>
      </el-form-item>
      <el-collapse v-model="activeSeach">
        <el-collapse-item title="更多" name="1">
          <el-card class="box-card">
            <el-form-item label="客户" prop="HCusID">
              <el-input v-model="queryParams.HCusID" placeholder="请输入客户" @keyup.enter.native="handleQuery" />
              <el-input
                v-model="queryParams.HCusID"
                placeholder="请输入客户"
                @keyup.enter.native="handleQuery"
              />
            </el-form-item>
            <el-form-item label="物料代码" prop="HMaterNumber">
              <el-input v-model="queryParams.HMaterNumber" placeholder="请输入物料代码" @keyup.enter.native="handleQuery" />
              <el-input
                v-model="queryParams.HMaterNumber"
                placeholder="请输入物料代码"
                @keyup.enter.native="handleQuery"
              />
            </el-form-item>
            <el-form-item label="物料名称" prop="HMaterName">
              <el-input v-model="queryParams.HMaterName" placeholder="请输入物料名称" @keyup.enter.native="handleQuery" />
              <el-input
                v-model="queryParams.HMaterName"
                placeholder="请输入物料名称"
                @keyup.enter.native="handleQuery"
              />
            </el-form-item>
            <div slot="header" class="clearfix"><span>过滤</span></div>
            <div>
@@ -43,21 +92,41 @@
                <el-form-item label-width="0">
                  <el-row>
                    <el-col :span="7">
                      <el-select v-model="queryParams.ColName1" placeholder="请选择" @change="riqiChange">
                      <el-select
                        v-model="queryParams.ColName1"
                        placeholder="请选择"
                        @change="riqiChange"
                      >
                        <span v-for="(item, index) in btList" :key="index">
                          <el-option :label="item.field" :value="item.field" v-if="!item.hide"></el-option>
                          <el-option
                            :label="item.field"
                            :value="item.field"
                            v-if="!item.hide"
                          ></el-option>
                        </span>
                      </el-select>
                    </el-col>
                    <el-col :span="6" style="padding: 0 10px;">
                      <el-select v-model="queryParams.Comparator1" placeholder="请选择" @change="riqiChange">
                        <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label"
                          :value="item.value"></el-option>
                    <el-col :span="6" style="padding: 0 10px">
                      <el-select
                        v-model="queryParams.Comparator1"
                        placeholder="请选择"
                        @change="riqiChange"
                      >
                        <el-option
                          v-for="(item, index) in comparatorList"
                          :key="index"
                          :label="item.label"
                          :value="item.value"
                        ></el-option>
                      </el-select>
                    </el-col>
                    <el-col :span="11">
                      <el-input v-model="queryParams.ColContent1" placeholder="请输入" clearable
                        @keyup.enter.native="handleQuery" />
                      <el-input
                        v-model="queryParams.ColContent1"
                        placeholder="请输入"
                        clearable
                        @keyup.enter.native="handleQuery"
                      />
                    </el-col>
                  </el-row>
                </el-form-item>
@@ -66,22 +135,42 @@
                <el-form-item label-width="0">
                  <el-row>
                    <el-col :span="7">
                      <el-select v-model="queryParams.ColName2" placeholder="请选择" @change="riqiChange">
                      <el-select
                        v-model="queryParams.ColName2"
                        placeholder="请选择"
                        @change="riqiChange"
                      >
                        <span v-for="(item, index) in btList" :key="index">
                          <el-option :label="item.field" :value="item.field" v-if="!item.hide"></el-option>
                          <el-option
                            :label="item.field"
                            :value="item.field"
                            v-if="!item.hide"
                          ></el-option>
                        </span>
                      </el-select>
                    </el-col>
                    <el-col :span="6" style="padding: 0 10px;">
                      <el-select v-model="queryParams.Comparator2" placeholder="请选择" @change="riqiChange">
                    <el-col :span="6" style="padding: 0 10px">
                      <el-select
                        v-model="queryParams.Comparator2"
                        placeholder="请选择"
                        @change="riqiChange"
                      >
                        <span v-for="(item, index) in btList" :key="index">
                          <el-option :label="item.field" :value="item.field" v-if="!item.hide"></el-option>
                          <el-option
                            :label="item.field"
                            :value="item.field"
                            v-if="!item.hide"
                          ></el-option>
                        </span>
                      </el-select>
                    </el-col>
                    <el-col :span="11">
                      <el-input v-model="queryParams.ColContent2" placeholder="请输入" clearable
                        @keyup.enter.native="handleQuery" />
                      <el-input
                        v-model="queryParams.ColContent2"
                        placeholder="请输入"
                        clearable
                        @keyup.enter.native="handleQuery"
                      />
                    </el-col>
                  </el-row>
                </el-form-item>
@@ -89,20 +178,40 @@
              <el-form-item label-width="0">
                <el-row>
                  <el-col :span="7">
                    <el-select v-model="queryParams.ColName" placeholder="请选择" @change="riqiChange">
                      <el-option v-for="(item, index) in btList" :key="index" :label="item.field"
                        :value="item.field"></el-option>
                    <el-select
                      v-model="queryParams.ColName"
                      placeholder="请选择"
                      @change="riqiChange"
                    >
                      <el-option
                        v-for="(item, index) in btList"
                        :key="index"
                        :label="item.field"
                        :value="item.field"
                      ></el-option>
                    </el-select>
                  </el-col>
                  <el-col :span="6" style="padding: 0 10px;">
                    <el-select v-model="queryParams.Comparator" placeholder="请选择" @change="riqiChange">
                      <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label"
                        :value="item.value"></el-option>
                  <el-col :span="6" style="padding: 0 10px">
                    <el-select
                      v-model="queryParams.Comparator"
                      placeholder="请选择"
                      @change="riqiChange"
                    >
                      <el-option
                        v-for="(item, index) in comparatorList"
                        :key="index"
                        :label="item.label"
                        :value="item.value"
                      ></el-option>
                    </el-select>
                  </el-col>
                  <el-col :span="11">
                    <el-input v-model="queryParams.ColContent" placeholder="请输入" clearable
                      @keyup.enter.native="handleQuery" />
                    <el-input
                      v-model="queryParams.ColContent"
                      placeholder="请输入"
                      clearable
                      @keyup.enter.native="handleQuery"
                    />
                  </el-col>
                </el-row>
              </el-form-item>
@@ -111,78 +220,196 @@
        </el-collapse-item>
      </el-collapse>
    </el-form>
    <el-row :gutter="10" class="mb8" style="margin-top: 10px;">
    <el-row :gutter="10" class="mb8" style="margin-top: 10px">
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddEdit(OperationType = 1)"
          id="btn-Add">新增</el-button>
        <el-button
          type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAddEdit((OperationType = 1))"
          id="btn-Add"
          >新增</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
          @click="handleEdit(row = rowForm, OperationType = 3)">编辑</el-button>
        <el-button
          type="primary"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleEdit((row = rowForm), (OperationType = 3))"
          >编辑</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-document-copy" size="mini" :disabled="single"
          @click="handleEdit(row = rowForm, OperationType = 1, copyType = 1)">复制</el-button>
        <el-button
          type="primary"
          icon="el-icon-document-copy"
          size="mini"
          :disabled="single"
          @click="handleEdit((row = rowForm), (OperationType = 1), (copyType = 1))"
          >复制</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" @click="handleDelete">删除
        <el-button
          type="primary"
          icon="el-icon-delete"
          size="mini"
          :disabled="single"
          @click="handleDelete"
          >删除
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single"
          @click="set_CheckBill(0, form = rowForm)">审核</el-button>
        <el-button
          type="primary"
          icon="el-icon-edit-outline"
          size="mini"
          :disabled="single"
          @click="set_CheckBill(0, (form = rowForm))"
          >审核</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single"
          @click="set_CheckBill(1, form = rowForm)">返审核</el-button>
        <el-button
          type="primary"
          icon="el-icon-edit-outline"
          size="mini"
          :disabled="single"
          @click="set_CheckBill(1, (form = rowForm))"
          >返审核</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
        <el-button
          type="primary"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          >导出</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-date" size="mini" @click="handleRowHide">隐藏列设置</el-button>
        <el-button type="primary" icon="el-icon-date" size="mini" @click="handleRowHide"
          >隐藏列设置</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-printer" size="mini" @click="get_PrintReport">打印</el-button>
        <el-button
          type="primary"
          icon="el-icon-printer"
          size="mini"
          @click="get_PrintReport"
          >打印</el-button
        >
      </el-col>
    </el-row>
    <div class="tableBox" v-loading="loading">
      <el-table :data="tableData" ref="tableData" max-height="710" :summary-method="getSummaries"
        @selection-change="handleSelectionChange" show-summary border @row-click="handleRowClick" :row-style="rowStyle"
        @cell-dblclick="handleDblclick" v-if="tableShow">
      <el-table
        :data="tableData"
        ref="tableData"
        max-height="710"
        :summary-method="getSummaries"
        @selection-change="handleSelectionChange"
        show-summary
        border
        @row-click="handleRowClick"
        :row-style="rowStyle"
        @cell-dblclick="handleDblclick"
        v-if="tableShow"
      >
        <template v-for="(item, index) in btList">
          <el-table-column type="selection" width="55" align="center" :fixed="item.fixed" v-if="item.type == 'checkbox'"
            :key="index" />
          <el-table-column :align="item.align" :prop="item.field" :label="item.title" :width="item.width" :key="item.id"
            v-else-if="!item.hide && item.type != 'checkbox'" :sortable="item.sort" show-overflow-tooltip
            :fixed="item.fixed">
            <template slot-scope="{row,  column }">
          <el-table-column
            type="selection"
            width="55"
            align="center"
            :fixed="item.fixed"
            v-if="item.type == 'checkbox'"
            :key="index"
          />
          <el-table-column
            :align="item.align"
            :prop="item.field"
            :label="item.title"
            :width="item.width"
            :key="item.id"
            v-else-if="!item.hide && item.type != 'checkbox'"
            :sortable="item.sort"
            show-overflow-tooltip
            :fixed="item.fixed"
          >
            <template slot-scope="{ row, column }">
              <el-checkbox v-model="checked" v-if="item.type == 'checkbox'"></el-checkbox>
              <div :style="item.style">
                <span v-if="column.property.includes('日期')">{{ parseTime(row[column.property], '{y}-{m}-{d}') }}</span>
                <el-button type="text" @click="handleEdit(row, OperationType = 3)"
                  v-else-if="column.property == '单据号'">{{
                    row.单据号
                  }}</el-button>
                <span v-if="column.property.includes('日期')">{{
                  parseTime(row[column.property], "{y}-{m}-{d}")
                }}</span>
                <el-button
                  type="text"
                  @click="handleEdit(row, (OperationType = 3))"
                  v-else-if="column.property == '单据号'"
                  >{{ row.单据号 }}</el-button
                >
                <span v-else>{{ row[column.label] }}</span>
              </div>
            </template>
          </el-table-column>
        </template>
      </el-table>
      <pagination v-show="total > 0" :total="total" :page.sync="page" :limit.sync="pageSize" :pageSizes="pageSizes" @pagination="getList" />
      <el-dialog title="隐藏列设置" :visible.sync="openRowHide" width="816px" append-to-body>
        <RowSettings :colName="btResList" HModName="Kf_SellOutBillList" @rowEditClose="rowSetClose"
          v-if="rowHideShow" />
      <pagination
        v-show="total > 0"
        :total="total"
        :page.sync="page"
        :limit.sync="pageSize"
        :pageSizes="pageSizes"
        @pagination="getList"
      />
      <el-dialog
        title="隐藏列设置"
        :visible.sync="openRowHide"
        width="816px"
        append-to-body
      >
        <RowSettings
          :colName="btResList"
          HModName="Kf_SellOutBillList"
          @rowEditClose="rowSetClose"
          v-if="rowHideShow"
        />
      </el-dialog>
      <!-- 编辑 -->
      <el-dialog title="编辑销售出库单" :visible.sync="openEdit" width="1480px" append-to-body class="xsckdBox" @close="close">
        <edit :OperationType=OperationType :linterid=this.rowForm.hmainid :HSouceBillType=this.rowForm.HSourceBillType
          :copyType="copyType" @editClose="editClose" v-if="editShow" />
      <el-dialog
        title="编辑销售出库单"
        :visible.sync="openEdit"
        width="1480px"
        append-to-body
        class="xsckdBox"
        @close="close"
      >
        <edit
          :OperationType="OperationType"
          :linterid="this.rowForm.hmainid"
          :HSouceBillType="this.rowForm.HSourceBillType"
          :copyType="copyType"
          @editClose="editClose"
          v-if="editShow"
        />
      </el-dialog>
      <el-dialog title="打印模板选择" :visible.sync="openPrintList" width="800px" append-to-body>
        <PrintList :linterid=this.rowForm.hmainid :MyMsg=this.rowForm.hmainid Type='Kf_SellOutBillList'
          HModName='Kf_SellOutBillList' @rowEditClose="rowSetClose" v-if="printListShow" />
      <el-dialog
        title="打印模板选择"
        :visible.sync="openPrintList"
        width="800px"
        append-to-body
      >
        <PrintList
          :linterid="this.rowForm.hmainid"
          :MyMsg="this.rowForm.hmainid"
          Type="Kf_SellOutBillList"
          HModName="Kf_SellOutBillList"
          @rowEditClose="rowSetClose"
          v-if="printListShow"
        />
        <!-- <div>111</div> -->
      </el-dialog>
    </div>
@@ -190,18 +417,18 @@
</template>
<script>
import axios from 'axios'
import RowSettings from '@/views/component/rowSettings'
import Edit from '@/views/sell/sellOut/sellOutBillEdit'
import PrintList from '@/views/component/printList'
import moment from 'moment';
import axios from "axios";
import RowSettings from "@/views/component/rowSettings";
import Edit from "@/views/sell/sellOut/sellOutBillEdit";
import PrintList from "@/views/component/printList";
import moment from "moment";
export default {
  name: 'SellOutBill',
  name: "SellOutBill",
  components: { RowSettings, Edit, PrintList },
  data() {
    return {
      activeSeach: '',
      activeSeach: "",
      editShow: false,
      openEdit: false,
      totalNameList: [],
@@ -214,36 +441,36 @@
      openRowHide: false,
      copyType: 0,
      comparatorList: [
        { label: '=', value: '=' },
        { label: '>=', value: '>=' },
        { label: '>', value: '>' },
        { label: '<=', value: '<=' },
        { label: '<', value: '<' },
        { label: '<>', value: '<>' },
        { label: '包含', value: '7' },
        { label: '左包含', value: '8' },
        { label: '右包含', value: '9' },
        { label: '不包含', value: '10' },
        { label: "=", value: "=" },
        { label: ">=", value: ">=" },
        { label: ">", value: ">" },
        { label: "<=", value: "<=" },
        { label: "<", value: "<" },
        { label: "<>", value: "<>" },
        { label: "包含", value: "7" },
        { label: "左包含", value: "8" },
        { label: "右包含", value: "9" },
        { label: "不包含", value: "10" },
      ],
      sWhere: '',
      sTime: '',
      eTime: '',
      sWhere: "",
      sTime: "",
      eTime: "",
      rqsgList: [
        { label: '今天', value: 0 },
        { label: '近两天', value: 1 },
        { label: '近三天', value: 2 },
        { label: '近四天', value: 3 },
        { label: '近五天', value: 4 },
        { label: '近六天', value: 5 },
        { label: '近七天', value: 6 },
        { label: '近30天', value: 29 },
        { label: '近半年', value: 180 },
        { label: '近一年', value: 365 },
        { label: "今天", value: 0 },
        { label: "近两天", value: 1 },
        { label: "近三天", value: 2 },
        { label: "近四天", value: 3 },
        { label: "近五天", value: 4 },
        { label: "近六天", value: 5 },
        { label: "近七天", value: 6 },
        { label: "近30天", value: 29 },
        { label: "近半年", value: 180 },
        { label: "近一年", value: 365 },
      ],
      hPriceTypeList: ['成本价', '结算价'],
      hPriceTypeList: ["成本价", "结算价"],
      addBtnShow: false,
      dialogTitle: '',
      OperationType: null,//保存类型(新增1修改3)
      dialogTitle: "",
      OperationType: null, //保存类型(新增1修改3)
      HInterID: null,
      baseURL: process.env.VUE_APP_BASE_API,
      lastSelectedRowIndex: null, // 用于记录上次点击的行索引
@@ -256,21 +483,21 @@
      open: false,
      // 查询参数
      queryParams: {
        HBillNo: '',
        HBillNo: "",
        HInitTimeCycle: 29,
        HProjectNumber: '',
        HProjectNumber: "",
        HCusID: null,
        HMaterNumber: '',
        HMaterName: '',
        ColName1: '',
        ColName2: '',
        ColName: '',
        Comparator1: '',
        Comparator2: '',
        Comparator: '',
        ColContent1: '',
        ColContent2: '',
        ColContent: '',
        HMaterNumber: "",
        HMaterName: "",
        ColName1: "",
        ColName2: "",
        ColName: "",
        Comparator1: "",
        Comparator2: "",
        Comparator: "",
        ColContent1: "",
        ColContent2: "",
        ColContent: "",
      },
      // 选中数组
      ids: [],
@@ -280,12 +507,27 @@
      multiple: true,
      // 遮罩层
      loading: true,
      tyResList: [],//销售出库列表(接口数据)
      btList: [],//销售出库表头列表显示
      tyResList: [], //销售出库列表(接口数据)
      btList: [], //销售出库表头列表显示
      btResList: [],
      tableData: [],//销售出库列表(分页显示)
      tableData: [], //销售出库列表(分页显示)
      dataList: [],
      titleData: ["hmainid", "hsupid", "HEmpID", "hmanagerid", "hsecmanagerid", "发货人", "hkeeperid", "保管员", "HDeptID", "销售方式", "hsubid", "hmaterid", "hunitid", "HWHID"],//不需要显示的字段 可扩展
      titleData: [
        "hmainid",
        "hsupid",
        "HEmpID",
        "hmanagerid",
        "hsecmanagerid",
        "发货人",
        "hkeeperid",
        "保管员",
        "HDeptID",
        "销售方式",
        "hsubid",
        "hmaterid",
        "hunitid",
        "HWHID",
      ], //不需要显示的字段 可扩展
      pageSizes: [50, 100, 500, 5000, 50000],
      page: 1,
      pageSize: 0,
@@ -294,7 +536,7 @@
  },
  created() {
    // this.fetchData()
    this.riqiChange()
    this.riqiChange();
    this.getList();
  },
@@ -304,12 +546,12 @@
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '合计';
          sums[index] = "合计";
          return;
        }
        const values = data.map(item => Number(item[column.property]));
        const values = data.map((item) => Number(item[column.property]));
        if (this.totalNameList[index].totalRow) {
          if (!values.every(value => isNaN(value))) {
          if (!values.every((value) => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = Number(curr);
              if (!isNaN(value)) {
@@ -317,10 +559,9 @@
              } else {
                return prev;
              }
            }, 0)
            }, 0);
          } else {
            sums[index] = '';
            sums[index] = "";
          }
        }
      }, 1000);
@@ -328,253 +569,296 @@
    },
    handleBtnHide() {
      this.btnHideShow = true
      this.openBtnHide = true
      this.btnHideShow = true;
      this.openBtnHide = true;
    },
    handleRowHide() {
      this.rowHideShow = true
      this.openRowHide = true
      this.rowHideShow = true;
      this.openRowHide = true;
    },
    rowSetClose(val) {
      this.rowHideShow = false
      this.tableShow = true
      this.openRowHide = val
      this.getList()
      this.rowHideShow = false;
      this.tableShow = true;
      this.openRowHide = val;
      this.getList();
    },
    riqiChange() {
      const end = new Date();
      const start = new Date();
      start.setTime(start.getTime() - 3600 * 1000 * 24 * this.queryParams.HInitTimeCycle);
      const yyyyS = start.getFullYear();
      const mmS = String(start.getMonth() + 1).padStart(2, '0'); // 月份是从0开始的
      const ddS = String(start.getDate()).padStart(2, '0');
      const mmS = String(start.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的
      const ddS = String(start.getDate()).padStart(2, "0");
      const yyyyE = end.getFullYear();
      const mmE = String(end.getMonth() + 1).padStart(2, '0'); // 月份是从0开始的
      const ddE = String(end.getDate()).padStart(2, '0');
      this.sTime = yyyyS + '-' + mmS + '-' + ddS
      this.eTime = yyyyE + '-' + mmE + '-' + ddE
      const mmE = String(end.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的
      const ddE = String(end.getDate()).padStart(2, "0");
      this.sTime = yyyyS + "-" + mmS + "-" + ddS;
      this.eTime = yyyyE + "-" + mmE + "-" + ddE;
    },
    getList() {
      this.pageSize = 50
      this.tableShow = false
      this.loading = true
      this.pageSize = 50;
      this.tableShow = false;
      this.loading = true;
      if (this.sTime) {
        this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.sTime + "'"
        this.sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + this.eTime + "'"
        this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.sTime + "'";
        this.sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + this.eTime + "'";
      }
      if (this.pageSize == 0) {
        this.pageSize = 50
        this.pageSize = 50;
      }
      // 销售出库单列表
      axios.get(this.baseURL + '/Kf_SellOutBill/GetSellOutBillList_byPage', {
        params: {
          "sWhere": this.sWhere,
          "user": sessionStorage["HUserName"],
          "Organization": sessionStorage["Organization"],
          "page": this.page,
          "size": this.pageSize
        },
      }).then(response => {
        this.tyResList = response.data.data//总数据
        let data1 = response.data
        let option = []
        if (data1.code == 1) {
          this.btResList = data1.list//销售出库单接口表头数据
          this.total = data1.count;
          var data = [];//列字段数据
          var col = [];
          var totalArray = ["件数"];
          //给空的数组赋值
          for (var key in data1.list) {//循序遍历数组
            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//从每个对象中提取数据
          }
          //在列表左边添加勾选框
          col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
          for (var i = 0; i < data.length; i++) {//遍历data数组重的数据
            if (this.titleData.indexOf(data[i].name) > -1) {//检查data【i】.name是否在数组中  //计算列
              col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
            } else if (totalArray.indexOf(data[i].name) > -1 || (data[i].Type == "Decimal" || data[i].Type == "Int32")) { //计算列
              col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
      axios
        .get(this.baseURL + "/Kf_SellOutBill/GetSellOutBillList_byPage", {
          params: {
            sWhere: this.sWhere,
            user: sessionStorage["HUserName"],
            Organization: sessionStorage["Organization"],
            page: this.page,
            size: this.pageSize,
          },
        })
        .then((response) => {
          this.tyResList = response.data.data; //总数据
          let data1 = response.data;
          let option = [];
          if (data1.code == 1) {
            this.btResList = data1.list; //销售出库单接口表头数据
            this.total = data1.count;
            var data = []; //列字段数据
            var col = [];
            var totalArray = ["件数"];
            //给空的数组赋值
            for (var key in data1.list) {
              //循序遍历数组
              data.push({
                id: data1.list[key].ColmCols,
                name: data1.list[key].ColmCols,
                Type: data1.list[key].ColmType,
              }); //从每个对象中提取数据
            }
            else {
              col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
            //在列表左边添加勾选框
            col.push({ type: "checkbox", fixed: "left", totalRowText: "合计" });
            for (var i = 0; i < data.length; i++) {
              //遍历data数组重的数据
              if (this.titleData.indexOf(data[i].name) > -1) {
                //检查data【i】.name是否在数组中  //计算列
                col.push({
                  field: data[i].id,
                  title: data[i].name,
                  align: "center",
                  hide: true,
                }); //隐藏id列
              } else if (
                totalArray.indexOf(data[i].name) > -1 ||
                data[i].Type == "Decimal" ||
                data[i].Type == "Int32"
              ) {
                //计算列
                col.push({
                  field: data[i].id,
                  title: data[i].name,
                  align: "center",
                  sort: true,
                  totalRow: true,
                  width: 120,
                });
              } else {
                col.push({
                  field: data[i].id,
                  title: data[i].name,
                  align: "center",
                  sort: true,
                  width: 200,
                });
              }
            }
            option.cols = [col];
            this.dataList = option;
            option.data = data1.data;
            var result = data1.data;
            var temp = "";
            for (var i = 0; i < result.length; i++) {
              if (temp != result[i]["hmainid"]) {
                temp = result[i]["hmainid"];
              } else {
                result[i].日期 = null;
                result[i].单据号 = "";
                /*result[i].状态 = "";*/
                result[i].红蓝单标记 = "";
                result[i].hsupid = "";
                result[i].客户 = "";
                result[i].HEmpID = "";
                result[i].业务员 = "";
                result[i].hmanagerid = "";
                result[i].主管 = "";
                result[i].hsecmanagerid = "";
                result[i].发货人 = "";
                result[i].hkeeperid = "";
                result[i].保管员 = "";
                result[i].HDeptID = "";
                result[i].部门 = "";
                result[i].销售方式 = "";
              }
            }
            option.data = result;
            let HModName = "Kf_SellOutBillList";
            this.DisPlay_HideColumn(
              HModName,
              sessionStorage["HUserName"],
              option,
              this.dataList
            );
          }
          option.cols = [col]
          this.dataList = option
          option.data = data1.data;
          var result = data1.data;
          var temp = "";
          for (var i = 0; i < result.length; i++) {
            if (temp != result[i]["hmainid"]) {
              temp = result[i]["hmainid"];
            } else {
              result[i].日期 = null;
              result[i].单据号 = "";
              /*result[i].状态 = "";*/
              result[i].红蓝单标记 = "";
              result[i].hsupid = "";
              result[i].客户 = "";
              result[i].HEmpID = "";
              result[i].业务员 = "";
              result[i].hmanagerid = "";
              result[i].主管 = "";
              result[i].hsecmanagerid = "";
              result[i].发货人 = "";
              result[i].hkeeperid = "";
              result[i].保管员 = "";
              result[i].HDeptID = "";
              result[i].部门 = "";
              result[i].销售方式 = "";
            }
          }
          option.data = result;
          let HModName = "Kf_SellOutBillList"
          this.DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, this.dataList);
        }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
        })
        .catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
    },
    DisPlay_HideColumn(HModName, user, option, dataOption) {
      this.totalNameList = []
      axios.get(this.baseURL + '/Xt_grdAlignment_WMES/grdAlignmentWMESList', {
        params: {
          "HModName": HModName,
          "user": user,
        },
      }).then(res => {
        let data1 = res.data
        if (data1.data.length != 0) {
          var dataCol = [];//数据库查询出的列数据
          var newCols = [[]];//对应数据库列顺序col
          newCols[0].push(option.cols[0][0]);//放入第一个checkbox
          dataCol = data1.data[0].HGridString.split(',');
          //列设置列数与页面列数是否一致
          if (dataCol.length == option.cols[0].length - 1) {
            //遍历寻找列设置对应列按顺序插入
            for (var j = 0; j < option.cols[0].length - 1; j++) {
              for (var i = 0; i < option.cols[0].length - 1; i++) {
                var dataCols = dataCol[j].split('|');
                //选择与datacols相应列进行修改
                if (option.cols[0][i + 1]["field"] == dataCols[5]) {
                  //隐藏列
                  if (dataCols[1] == 1) {
                    option.cols[0][i + 1]["hide"] = true;
      this.totalNameList = [];
      axios
        .get(this.baseURL + "/Xt_grdAlignment_WMES/grdAlignmentWMESList", {
          params: {
            HModName: HModName,
            user: user,
          },
        })
        .then((res) => {
          let data1 = res.data;
          if (data1.data.length != 0) {
            var dataCol = []; //数据库查询出的列数据
            var newCols = [[]]; //对应数据库列顺序col
            newCols[0].push(option.cols[0][0]); //放入第一个checkbox
            dataCol = data1.data[0].HGridString.split(",");
            //列设置列数与页面列数是否一致
            if (dataCol.length == option.cols[0].length - 1) {
              //遍历寻找列设置对应列按顺序插入
              for (var j = 0; j < option.cols[0].length - 1; j++) {
                for (var i = 0; i < option.cols[0].length - 1; i++) {
                  var dataCols = dataCol[j].split("|");
                  //选择与datacols相应列进行修改
                  if (option.cols[0][i + 1]["field"] == dataCols[5]) {
                    //隐藏列
                    if (dataCols[1] == 1) {
                      option.cols[0][i + 1]["hide"] = true;
                    }
                    //设置列宽
                    if (dataCols[3] > 0) {
                      option.cols[0][i + 1]["width"] = dataCols[3];
                    }
                    //设置内容字体大小
                    if (data1.data[0].HFontSize != 0) {
                      option.cols[0][i + 1]["style"] =
                        "font-size:" + data1.data[0].HFontSize + "px;";
                    } else {
                      option.cols[0][i + 1]["style"] = "font-size:100%";
                    }
                    //显示列
                    if (
                      dataCols[1] == 0 &&
                      this.titleData.indexOf(option.cols[0][i + 1]["title"]) == -1
                    ) {
                      option.cols[0][i + 1]["hide"] = false;
                    }
                    //统计列
                    if (dataCols[6] == 1) {
                      option.cols[0][i + 1]["totalRow"] = true;
                    } else {
                      option.cols[0][i + 1]["totalRow"] = false;
                    }
                    //字体所在位置(左 居中 右)
                    switch (dataCols[2]) {
                      case "L":
                        option.cols[0][i + 1]["align"] = "left";
                        break;
                      case "M":
                        option.cols[0][i + 1]["align"] = "center";
                        break;
                      case "R":
                        option.cols[0][i + 1]["align"] = "right";
                        break;
                    }
                    //设置表格title属性显示别名
                    if (dataCols[4] != null && dataCols[4] != "") {
                      option.cols[0][i + 1]["title"] = dataCols[4];
                    }
                    newCols[0].push(option.cols[0][i + 1]);
                    break;
                  }
                  //设置列宽
                  if (dataCols[3] > 0) {
                    option.cols[0][i + 1]["width"] = dataCols[3];
                  }
                  //设置内容字体大小
                  if (data1.data[0].HFontSize != 0) {
                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                  } else {
                    option.cols[0][i + 1]["style"] = "font-size:100%";
                  }
                  //显示列
                  if (dataCols[1] == 0 && this.titleData.indexOf(option.cols[0][i + 1]["title"]) == -1) {
                    option.cols[0][i + 1]["hide"] = false;
                  }
                  //统计列
                  if (dataCols[6] == 1) {
                    option.cols[0][i + 1]["totalRow"] = true;
                  } else {
                    option.cols[0][i + 1]["totalRow"] = false;
                  }
                  //字体所在位置(左 居中 右)
                  switch (dataCols[2]) {
                    case "L":
                      option.cols[0][i + 1]["align"] = "left";
                      break;
                    case "M":
                      option.cols[0][i + 1]["align"] = "center";
                      break;
                    case "R":
                      option.cols[0][i + 1]["align"] = "right";
                      break;
                  }
                  //设置表格title属性显示别名
                  if (dataCols[4] != null && dataCols[4] != "") {
                    option.cols[0][i + 1]["title"] = dataCols[4];
                  }
                  newCols[0].push(option.cols[0][i + 1]);
                  break;
                }
              }
            }
            //遍历循环后判断对应列数是否一致
            if (dataCol.length == newCols[0].length - 1) {
              option.cols = newCols;
              //取消冻结列
              for (var i = 1; i < option.cols[0].length - 1; i++) {
                if (option.cols[0][i + 1]["fixed"] != null) {
                  option.cols[0][i + 1]["fixed"] = null;
                }
                else {
                  break;
                }
              }
              //冻结列
              if (data1.data[0].HFixCols != 0) {
                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                  if (dataOption.cols[0].indexOf(option.cols[0][i + 1]["title"]) != -1) {
                    data1.data[0].HFixCols += 1;
              //遍历循环后判断对应列数是否一致
              if (dataCol.length == newCols[0].length - 1) {
                option.cols = newCols;
                //取消冻结列
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                  if (option.cols[0][i + 1]["fixed"] != null) {
                    option.cols[0][i + 1]["fixed"] = null;
                  } else {
                    break;
                  }
                }
                //冻结列
                if (data1.data[0].HFixCols != 0) {
                  for (var i = 0; i < data1.data[0].HFixCols; i++) {
                    if (
                      dataOption.cols[0].indexOf(option.cols[0][i + 1]["title"]) != -1
                    ) {
                      data1.data[0].HFixCols += 1;
                    }
                  option.cols[0][i + 1]["fixed"] = "left";
                    option.cols[0][i + 1]["fixed"] = "left";
                  }
                }
              }
              //设置列排序
              for (var i = 1; i < option.cols[0].length; i++) {
                if (data1.data[0].HSortFlag == "是") {
                  option.cols[0][i]["sort"] = true;
                }
                else {
                  option.cols[0][i]["sort"] = false;
                //设置列排序
                for (var i = 1; i < option.cols[0].length; i++) {
                  if (data1.data[0].HSortFlag == "是") {
                    option.cols[0][i]["sort"] = true;
                  } else {
                    option.cols[0][i]["sort"] = false;
                  }
                }
              }
            }
          }
          this.btList = option.cols[0]
          this.btList.map(item => {
            if (!item.hide) {
              this.totalNameList.push(item)
            this.btList = option.cols[0];
            this.btList.map((item) => {
              if (!item.hide) {
                this.totalNameList.push(item);
              }
            });
            if (data1.data[0].HPageSize == 0) {
              this.pageSize = 50;
            } else {
              this.pageSize = data1.data[0].HPageSize;
            }
          })
          if (data1.data[0].HPageSize == 0) {
            this.pageSize = 50
            this.tableData = option.data;
            this.tableShow = true;
            this.loading = false;
          } else {
            this.pageSize = data1.data[0].HPageSize
            this.btList = dataOption.cols[0];
            this.btList.map((item) => {
              if (!item.hide) {
                this.totalNameList.push(item);
              }
            });
            this.tableData = dataOption.data;
            this.tableShow = true;
            this.loading = false;
          }
          this.tableData = option.data
          this.tableShow = true
          this.loading = false
        } else {
          this.btList = dataOption.cols[0]
          this.btList.map(item => {
            if (!item.hide) {
              this.totalNameList.push(item)
            }
          })
          this.tableData = dataOption.data
          this.tableShow = true
          this.loading = false
        }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
        })
        .catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
    },
    renderHeader(h, { column, $index }) {// 新建一个 span
      let span = document.createElement(span)// 设置表头名称
      span.innerText = column.label
    renderHeader(h, { column, $index }) {
      // 新建一个 span
      let span = document.createElement(span); // 设置表头名称
      span.innerText = column.label;
      //临时插入 document
      document.body.appendChild(span)// 重点:获取 span 最小宽度,设置当前列,注意这里加了 20,字段较多时column.minWidth=span.getBoundingClientRect().width + 50.//移除 document 中临时的 span
      document.body.removeChild(span)
      return h(span, column.label)
      document.body.appendChild(span); // 重点:获取 span 最小宽度,设置当前列,注意这里加了 20,字段较多时column.minWidth=span.getBoundingClientRect().width + 50.//移除 document 中临时的 span
      document.body.removeChild(span);
      return h(span, column.label);
    },
    //点击行
    handleRowClick(row, column, event) {
@@ -586,27 +870,27 @@
    //选中行高亮样式
    rowStyle({ row, rowIndex }) {
      if (this.ids.includes(row.hmainid)) {
        return { "background": "#ecf5ff" }
        return { background: "#ecf5ff" };
      }
    },
    //双击行
    handleDblclick(row, column, cell, event) {
      this.OperationType = 3
      this.handleEdit()
      this.OperationType = 3;
      this.handleEdit();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      // this.rowForm = {}
      this.ids = selection.map(item => item.hmainid)
      this.single = selection.length != 1
      this.multiple = !selection.length
      this.ids = selection.map((item) => item.hmainid);
      this.single = selection.length != 1;
      this.multiple = !selection.length;
      if (!this.single) {
        this.rowForm = selection[0]
        this.rowForm = selection[0];
      }
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.sWhere = ''
      this.sWhere = "";
      if (this.queryParams.ColName && this.queryParams.Comparator) {
        var com = "";
        switch (this.queryParams.Comparator) {
@@ -623,7 +907,8 @@
            com = "not like'%" + this.queryParams.ColContent + "%'";
            break;
          default:
            com = "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'";
            com =
              "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'";
            break;
        }
        this.sWhere += " and " + this.queryParams.ColName + " " + com;
@@ -644,7 +929,12 @@
            com1 = "not like'%" + this.queryParams.ColContent1 + "%'";
            break;
          default:
            com1 = "" + this.queryParams.Comparator1 + "'" + this.queryParams.ColContent1 + "'";
            com1 =
              "" +
              this.queryParams.Comparator1 +
              "'" +
              this.queryParams.ColContent1 +
              "'";
            break;
        }
        this.sWhere += " and " + this.queryParams.ColName1 + " " + com1;
@@ -665,16 +955,23 @@
            com2 = "not like'%" + this.queryParams.ColContent2 + "%'";
            break;
          default:
            com2 = "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'";
            com2 =
              "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'";
            break;
        }
        this.sWhere += " and " + this.queryParams.ColName2 + " " + com2;
      }
      if (this.sTime) {
        this.sTime = moment(this.sTime).format('YYYY-MM-DD')
        this.eTime = moment(this.eTime).format('YYYY-MM-DD')
        console.log(this.sTime, this.eTime)
        this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.sTime + "'" + " and CONVERT(varchar(100),日期, 23) <= '" + this.eTime + "'";
        this.sTime = moment(this.sTime).format("YYYY-MM-DD");
        this.eTime = moment(this.eTime).format("YYYY-MM-DD");
        console.log(this.sTime, this.eTime);
        this.sWhere +=
          " and CONVERT(varchar(100),日期, 23) >= '" +
          this.sTime +
          "'" +
          " and CONVERT(varchar(100),日期, 23) <= '" +
          this.eTime +
          "'";
      }
      if (this.queryParams.HBillNo) {
        this.sWhere += " and 单据号 like '%" + this.queryParams.HBillNo + "%'";
@@ -691,130 +988,146 @@
      if (this.queryParams.HMaterName) {
        this.sWhere += " and 物料名称 like '%" + this.queryParams.HMaterName + "%'";
      }
      this.getList()
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.sWhere = ''
      this.sWhere = "";
      this.queryParams = {
        HBillNo: '',
        HBillNo: "",
        HInitTimeCycle: 29,
        HProjectNumber: '',
        HProjectNumber: "",
        HCusID: null,
        HMaterNumber: '',
        HMaterName: '',
        ColName1: '',
        ColName2: '',
        ColName: '',
        Comparator1: '',
        Comparator2: '',
        Comparator: '',
        ColContent1: '',
        ColContent2: '',
        ColContent: '',
      }
      this.riqiChange()
      this.resetForm("queryForm")
      this.getList()
        HMaterNumber: "",
        HMaterName: "",
        ColName1: "",
        ColName2: "",
        ColName: "",
        Comparator1: "",
        Comparator2: "",
        Comparator: "",
        ColContent1: "",
        ColContent2: "",
        ColContent: "",
      };
      this.riqiChange();
      this.resetForm("queryForm");
      this.getList();
    },
    //退出
    close() {
      // this.reset()
      this.tableShow = true
      this.openEdit = false
      this.editShow = false
      this.getList()
      this.tableShow = true;
      this.openEdit = false;
      this.editShow = false;
      this.getList();
    },
    //打开新增组件弹窗
    handleAddEdit() {
      this.rowForm.hmainid = 0
      this.editShow = true
      this.openEdit = true
      this.rowForm.hmainid = 0;
      this.editShow = true;
      this.openEdit = true;
    },
    //打开修改组件弹窗
    handleEdit(row) {
      this.rowForm = row
      this.editShow = true
      this.openEdit = true
      this.rowForm = row;
      this.editShow = true;
      this.openEdit = true;
    },
    //关闭编辑页面
    editClose(val) {
      this.open = val
      this.editShow = false
      this.openEdit = val
      this.getList()
      this.open = val;
      this.editShow = false;
      this.openEdit = val;
      this.getList();
    },
    /** 删除按钮操作 */
    handleDelete() {
      this.$modal.confirm('确认要删除吗,删除后不能恢复').then(() => {
        if (this.rowForm.状态 == "创建") {
          axios.get(this.baseURL + "/Kf_SellOutBill/DeltetSellOutBill", {
            params: { 'HInterID': this.rowForm.hmainid.toString(), 'user': sessionStorage["HUserName"] }
          }).then(response => {
            if (response.data.count == 1) {
              this.getList()
              this.$modal.msgSuccess("删除成功")
            } else {
              this.$modal.msgError("错误:" + result.code + result.Message);
            }
          }).catch(error => {
            this.$modal.msgError("接口请求失败!");
          });
        } else {
          this.$modal.msgError("此条数据不是创建状态,无法删除!");
        }
      }).catch(() => { })
      this.$modal
        .confirm("确认要删除吗,删除后不能恢复")
        .then(() => {
          if (this.rowForm.状态 == "创建") {
            axios
              .get(this.baseURL + "/Kf_SellOutBill/DeltetSellOutBill", {
                params: {
                  HInterID: this.rowForm.hmainid.toString(),
                  user: sessionStorage["HUserName"],
                },
              })
              .then((response) => {
                if (response.data.count == 1) {
                  this.getList();
                  this.$modal.msgSuccess("删除成功");
                } else {
                  this.$modal.msgError("错误:" + result.code + result.Message);
                }
              })
              .catch((error) => {
                this.$modal.msgError("接口请求失败!");
              });
          } else {
            this.$modal.msgError("此条数据不是创建状态,无法删除!");
          }
        })
        .catch(() => {});
    },
    // 反审核/审核数据
    set_CheckBill(num, form) {
      var InterID = form.hmainid || form.HInterID
      var InterID = form.hmainid || form.HInterID;
      //逻辑审核方法
      axios.get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", {
        params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
      }).then(response => {
        let result = response.data
        if (result.code == 1) {
          this.$modal.msgSuccess('操作成功');
          this.getList();
        }
        else {
          this.$modal.msgError("错误:" + result.code + result.Message,);
        }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
      axios
        .get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", {
          params: {
            HInterID: InterID,
            IsAudit: num,
            CurUserName: sessionStorage["HUserName"],
          },
        })
        .then((response) => {
          let result = response.data;
          if (result.code == 1) {
            this.$modal.msgSuccess("操作成功");
            this.getList();
          } else {
            this.$modal.msgError("错误:" + result.code + result.Message);
          }
        })
        .catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
    },
    //导出
    handleExport() {
      const ws = this.$XLSX.utils.json_to_sheet(this.tyResList); // 将数据转换为工作表
      const wb = this.$XLSX.utils.book_new(); // 创建一个新的工作簿
      this.$XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); // 将工作表添加到工作簿中,并命名为"Sheet1"
      this.$XLSX.writeFile(wb, `sellOutBill_${new Date().getTime()}.xlsx`); // 导出文件
      this.$XLSX.writeFile(wb, `sellOutBill_${new Date().getTime()}.xlsx`); // 导出文件
    },
    //打印
    get_PrintReport() {
      if (this.ids.length != 1) {
        this.$modal.msgError("请选择一行数据")
        this.$modal.msgError("请选择一行数据");
      } else if (this.rowForm.状态 != "已审核" && !this.defaintOperationByCompanyName()) {
        this.$modal.msgError("打印失败!原因:单据状态不为'已审核'状态!!");
      } else {
        axios.get(this.baseURL + "/Kf_SellOutBill/CheckSellOutBill_IsExist", {
          params: { "HInterID": this.rowForm.hmainid }
        }).then(response => {
          var result = response.data
          if (result.count == 1) {
            this.printListShow = true
            this.openPrintList = true
            // this.$router.push({ path:'/printList', query: { linterid: this.rowForm.hmainid,MyMsg:this.rowForm.hmainid,Type:'Kf_SellOutBillList' }})
          } else {
            this.$modal.msgError(result.code + result.Message)
          }
        }).catch(error => {
          this.$modal.msgError("接口请求失败!");
        });
        axios
          .get(this.baseURL + "/Kf_SellOutBill/CheckSellOutBill_IsExist", {
            params: { HInterID: this.rowForm.hmainid },
          })
          .then((response) => {
            var result = response.data;
            if (result.count == 1) {
              this.printListShow = true;
              this.openPrintList = true;
              // this.$router.push({ path:'/printList', query: { linterid: this.rowForm.hmainid,MyMsg:this.rowForm.hmainid,Type:'Kf_SellOutBillList' }})
            } else {
              this.$modal.msgError(result.code + result.Message);
            }
          })
          .catch((error) => {
            this.$modal.msgError("接口请求失败!");
          });
      }
      //  var content= ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + data[0].hmainid.toString() + '&MyMsg=' + data[0].hmainid.toString() + '&Type=Kf_SellOutBillList', 'yes']
    },
@@ -822,19 +1135,22 @@
    //#region 获取公司名,根据公司进行定制化开发
    defaintOperationByCompanyName() {
      var result = false;
      axios.get(this.baseURL + '/Xt_getInfo/getCompanyName').then(response => {
        var data1 = response.data
        if (data1.count == 1) {
          if (data1.data == "水务") {
            result = true;
      axios
        .get(this.baseURL + "/Xt_getInfo/getCompanyName")
        .then((response) => {
          var data1 = response.data;
          if (data1.count == 1) {
            if (data1.data == "水务") {
              result = true;
            }
          }
        }
      }).catch(error => {
        this.$modal.msgError("接口请求失败!");
      });
        })
        .catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
      return result;
    },
  }
  },
};
</script>
<style>