loulijun2021
2023-04-11 bd99f646464be1930cd5cb5ffd62db93b2c4b020
src/views/purchasesManager/purchasesList.vue
@@ -57,7 +57,7 @@
              </el-select>
            </el-form-item>
            <el-form-item label="单据日期" style="display: flex;">
            <el-form-item label="单据日期" style=" display: flex;font-size: 14px;align-items: center">
              <el-date-picker
                v-model="form.orderdate"
                type="daterange"
@@ -92,7 +92,7 @@
            <el-form-item v-show="isExpandForm" label="创建人员" style="display: flex;">
              <el-input v-model="form.creatuser" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="创建时间" style="display: flex;">
            <el-form-item v-show="isExpandForm" label="创建时间" style=" display: flex;font-size: 14px;align-items: center">
              <el-date-picker
                v-model="form.createdate"
                type="daterange"
@@ -134,8 +134,13 @@
      </div>
      <div class="elTableDiv">
        <TableColumnSettings
          :list1="tableColumnSettingsArray"
          @tableColumnUpdate="tableColumnUpdate"
        />
        <el-table
          ref="tableDataRef"
          :key="tableTimeStampKey"
          class="tableFixed"
          :data="tableData"
          :height="isExpandForm?(tableHeight+40):(tableHeight+80)+'px'"
@@ -160,126 +165,157 @@
              />
            </template>
          </el-table-column>
          <el-table-column
            prop="RowNum"
            width="50"
            fixed
            label="序号"
          />
          <el-table-column
            prop="status"
            label="订单状态"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div>{{ mesorderstusArr.find(i=>i.value===row.status).label }}</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="orderdate"
            label="单据日期"
            sortable="custom"
            width="110"
          >
            <template slot-scope="{row}">
              <div v-if="row.orderdate">{{ row.orderdate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="ordercode"
            label="订单编号"
            sortable="custom"
            width="160"
            v-for="item in tableColumnSettingsArray"
            v-if="item.show"
            :key="item.id"
            :sortable="item.sortable"
            :prop="item.prop"
            :min-width="item.minWidth"
            :label="item.label"
            :width="item.width"
            show-tooltip-when-overflow
          />
          <el-table-column
            prop="deptname"
            label="部门名称"
            width="130"
            show-tooltip-when-overflow
            sortable="custom"
            :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
          >
            <template slot-scope="{row}">
              <div v-if="row.deptname">{{ row.deptname }}</div>
              <div v-else>/</div>
              <div v-if="!row[item.prop]">/</div>
              <div v-else-if="item.prop==='status'">
                {{ mesorderstusArr.find(i => i.value === row[item.prop]).label }}
              </div>
              <div v-else-if="item.prop==='acceptdate'">
                {{ row.acceptdate ? row.acceptdate.substring(0, 11) : '/' }}
              </div>
              <div v-else-if="item.prop==='orderdate'">
                {{ row.orderdate ? row.orderdate.substring(0, 11) : '/' }}
              </div>
              <div v-else-if="item.prop==='lm_date'">
                {{ row.lm_date ? row.lm_date.substring(0, 11) : '/' }}
              </div>
              <div v-else>{{ row[item.prop] }}</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="customername"
            label="采购供方"
            sortable="custom"
            min-width="180"
            show-tooltip-when-overflow
          >
            <template slot-scope="{row}">
              <div v-if="row.customername">{{ row.customername }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="saleorderCode"
            label="源单单号"
            sortable="custom"
            width="160"
            show-tooltip-when-overflow
          >
            <template slot-scope="{row}">
              <div v-if="row.saleorderCode">{{ row.saleorderCode }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="acceptdate"
            label="预计到货日期"
            width="130"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.acceptdate">{{ row.acceptdate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="lm_user"
            label="创建人员"
            sortable="custom"
            width="110"
          />
          <el-table-column
            prop="lm_date"
            label="创建时间"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.lm_date">{{ row.lm_date.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="auditoruser"
            label="审核人"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.auditoruser">{{ row.auditoruser }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="auditordate"
            label="审核时间"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.auditordate">{{ row.auditordate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <!--          <el-table-column-->
          <!--            prop="RowNum"-->
          <!--            width="50"-->
          <!--            fixed-->
          <!--            label="序号"-->
          <!--          />-->
          <!--          <el-table-column-->
          <!--            prop="status"-->
          <!--            label="订单状态"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div>{{ mesorderstusArr.find(i=>i.value===row.status).label }}</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="orderdate"-->
          <!--            label="单据日期"-->
          <!--            sortable="custom"-->
          <!--            width="110"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.orderdate">{{ row.orderdate.substring(0, 11) }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="ordercode"-->
          <!--            label="订单编号"-->
          <!--            sortable="custom"-->
          <!--            width="160"-->
          <!--            show-tooltip-when-overflow-->
          <!--          />-->
          <!--          <el-table-column-->
          <!--            prop="deptname"-->
          <!--            label="部门名称"-->
          <!--            width="130"-->
          <!--            show-tooltip-when-overflow-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.deptname">{{ row.deptname }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="customername"-->
          <!--            label="采购供方"-->
          <!--            sortable="custom"-->
          <!--            min-width="180"-->
          <!--            show-tooltip-when-overflow-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.customername">{{ row.customername }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="saleorderCode"-->
          <!--            label="源单单号"-->
          <!--            sortable="custom"-->
          <!--            width="160"-->
          <!--            show-tooltip-when-overflow-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.saleorderCode">{{ row.saleorderCode }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="acceptdate"-->
          <!--            label="预计到货日期"-->
          <!--            width="130"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.acceptdate">{{ row.acceptdate.substring(0, 11) }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="lm_user"-->
          <!--            label="创建人员"-->
          <!--            sortable="custom"-->
          <!--            width="110"-->
          <!--          />-->
          <!--          <el-table-column-->
          <!--            prop="lm_date"-->
          <!--            label="创建时间"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.lm_date">{{ row.lm_date.substring(0, 11) }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="auditoruser"-->
          <!--            label="审核人"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.auditoruser">{{ row.auditoruser }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="auditordate"-->
          <!--            label="审核时间"-->
          <!--            width="110"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.auditordate">{{ row.auditordate.substring(0, 11) }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            label="操作"
            width="120"
@@ -460,13 +496,19 @@
import { handleDatetime } from '@/utils/global'
import waves from '@/directive/waves'
import { SeaveSearchErpPurchaseOrder } from '@/api/ErpSyncMes'
import { ClosedPurchaseOrder, DeletePurchaseOrder, PurchaseOrderSearch, PurchaseOrderSubSearch } from '@/api/purchasesManager'
import {
  ClosedPurchaseOrder,
  DeletePurchaseOrder,
  PurchaseOrderSearch,
  PurchaseOrderSubSearch
} from '@/api/purchasesManager'
import { DepartMentSelect, PurchSupplierSelect } from '@/api/basicInfo'
import TableColumnSettings from '@/components/TableColumnSettings'
export default {
  name: 'Zzjg',
  components: {
    Pagination
    Pagination, TableColumnSettings
  },
  directives: { waves },
  data() {
@@ -502,7 +544,121 @@
      radioSelected: '',
      deptcodeArr: [], // 部门信息数组
      customercodeArr: [], // 采购供方数组
      tableDataDetail: []
      tableDataDetail: [],
      tableColumnSettingsArray: [
        // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 隐藏列  show: false隐藏,true显示
        { minWidth: 25, width: 50, prop: 'RowNum', label: '序号', id: 2, show: true, fixed: 'left', sortable: false }, // custom
        {
          minWidth: false,
          width: 110,
          prop: 'status',
          label: '订单状态',
          id: 3,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'orderdate',
          label: '单据日期',
          id: 4,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 130,
          width: false,
          prop: 'ordercode',
          label: '订单编号',
          id: 5,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'deptname',
          label: '部门名称',
          id: 6,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 220,
          width: false,
          prop: 'customername',
          label: '采购供方',
          id: 7,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'saleorderCode',
          label: '源单单号',
          id: 8,
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: 130,
          width: false,
          prop: 'acceptdate',
          label: '预计到货日期',
          id: 9,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'lm_user',
          label: '创建人员',
          id: 10,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'lm_date',
          label: '创建时间',
          id: 11,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'auditoruser',
          label: '审核人',
          id: 12,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'auditordate',
          label: '审核时间',
          id: 13,
          show: true,
          fixed: false,
          sortable: true
        }
      ],
      tableTimeStampKey: new Date().getTime() // 表格key
    }
  },
@@ -515,6 +671,13 @@
    this.getHeight()
  },
  methods: {
    tableColumnUpdate(val, isCopyTrue) {
      if (isCopyTrue) {
        this.tableColumnSettingsArray = val
      }
      this.tableTimeStampKey = new Date().getTime()
      this.$refs.tableDataRef.doLayout()
    },
    handleRequest() {
      this.getPurchaseOrderSearch().then(res => {
        if (res.code === '200') {
@@ -564,7 +727,7 @@
      this.deptcodeArr = res
    },
    // 采购供方信息查询
    async   getPurchSupplierSelect() {
    async getPurchSupplierSelect() {
      const { data: res } = await PurchSupplierSelect()
      this.customercodeArr = res
    },
@@ -687,6 +850,24 @@
<style lang="scss" scoped>
$main_color: #42b983;
::v-deep .el-range__icon {
  line-height: 28px !important;
}
::v-deep .el-range-separator {
  line-height: 28px !important;
}
::v-deep .el-range-input {
  font-size: 14px;
}
::v-deep .el-range-separator {
  display: flex;
  justify-content: center;
  align-items: center;
}
::v-deep .el-radio__label {
  display: none !important;
}