小小儁爺
2024-08-06 95e34f7f11a54ebebbadc4a21d4f3e2af2baa9aa
src/views/workOrder/produceOrderList.vue
@@ -81,6 +81,14 @@
              <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <DateType
              ref="DateTypeRef"
              :is-expand-form="isExpandForm"
              style="display:flex;justify-content: center;align-items: center;position: relative"
              @DateTypeChange="DateTypeChange"
              @cycleTimeChange="cycleTimeChange"
            />
            <!--            <el-form-item-->
            <!--              v-show="isExpandForm"-->
            <!--              label="预计开工时间"-->
@@ -89,7 +97,7 @@
            <!--            >-->
            <!--              <el-date-picker-->
            <!--                v-model="form.paystartdate"-->
            <!--                type="daterange"-->
            <!--                type="datetimerange"-->
            <!--                range-separator="~"-->
            <!--                class="timeMini"-->
            <!--                size="mini"-->
@@ -97,8 +105,12 @@
            <!--                :clearable="false"-->
            <!--                start-placeholder="开始日期"-->
            <!--                end-placeholder="结束日期"-->
            <!--                :picker-options="pickerOptions"-->
            <!--                value-format="yyyy-MM-dd"-->
            <!--                @change="pickerChange"-->
            <!--              />-->
            <!--            </el-form-item>-->
            <!--            <el-form-item-->
            <!--              v-show="isExpandForm"-->
            <!--              label="预计完工时间"-->
@@ -160,6 +172,8 @@
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          :summary-method="getSummaries"
          show-summary
          @sort-change="sortChange"
          @selection-change="handleSelectionChange"
        >
@@ -310,6 +324,32 @@
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            prop="planenddate"
            label="预计开工日期"
            sortable="custom"
            show-tooltip-when-overflow
            width="130"
          >
            <template slot-scope="{row}">
              <div v-if="row.planenddate">{{ row.planenddate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="planstartdate"
            label="预计完工日期"
            sortable="custom"
            show-tooltip-when-overflow
            width="130"
          >
            <template slot-scope="{row}">
              <div v-if="row.planstartdate">{{ row.planstartdate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="saleOrderDeliveryDate"
            label="预计交付日期"
            sortable="custom"
@@ -321,6 +361,7 @@
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            show-tooltip-when-overflow
            prop="createuser"
@@ -399,8 +440,8 @@
      v-el-drag-dialog
      :title="operation==='add'?'新增':'下达'"
      :visible.sync="dialogVisible"
      width="860px"
      top="15vh"
      width="900px"
      top="12vh"
      :close-on-click-modal="false"
      @closed="handleClose"
      @close="handleClose"
@@ -458,6 +499,8 @@
            style="width: 200px"
          />
        </el-form-item>
        <!--        :picker-options="pickerOptions"-->
        <el-form-item label="预计交付日期" prop="saleOrderDeliveryDate">
          <el-date-picker
            v-model="dialogForm.saleOrderDeliveryDate"
@@ -465,12 +508,44 @@
            size="mini"
            :clearable="false"
            class="dateMini"
            :picker-options="pickerOptions"
            format="yyyy-MM-dd"
            style="width: 200px"
            placeholder="选择日期"
            :disabled="dialogForm.saleOrderDeliveryDateIsDisabled"
          />
        </el-form-item>
        <div style="display: flex">
          <el-form-item label="预计开工日期" prop="" style="display: flex">
            <el-date-picker
              v-model="dialogForm.paystartdate"
              type="date"
              size="mini"
              style="width: 200px"
              :clearable="false"
              class="dateMini"
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              placeholder="选择日期"
            />
          </el-form-item>
          <el-form-item label="预计完工日期" prop="" style="display: flex">
            <el-date-picker
              v-model="dialogForm.payenddate"
              type="date"
              size="mini"
              style="width: 200px"
              :clearable="false"
              class="dateMini"
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              placeholder="选择日期"
            />
          </el-form-item>
        </div>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
@@ -502,12 +577,13 @@
} from '@/api/WorkOrder'
import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
import DateType from '@/components/DateType'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
  name: 'SCDD',
  components: {
    Pagination
    Pagination, DateType
  },
  directives: { elDragDialog, waves },
  data() {
@@ -540,11 +616,16 @@
        paystartdate: '', // 预计开工时间
        payenddate: '', // 预计完工时间
        createdate: '', // 创建时间
        datatype: 'ED', // 时间类型
        timeValue: [], // 时间值
        prop: 'wo', // 排序字段
        order: 'desc', // 排序字段
        page: 1, // 第几页
        rows: 20 // 每页多少条
      },
      erporderstusArr: [
        { code: 'NEW', name: '新订单' },
        { code: 'CREATING', name: '部分下达' },
@@ -579,7 +660,10 @@
        clerkuser: '', // 销售业务员
        saleOrderDeliveryDate: '' // 预计交付日期
        saleOrderDeliveryDate: '', // 预计交付日期
        paystartdate: '', //   预计开工日期
        payenddate: ''//  预计完工日期
      },
      operation: '',
      dialogFormRules: {
@@ -626,34 +710,52 @@
    this.getHeight()
  },
  methods: {
    DateTypeChange(value) {
      this.form.datatype = value
    },
    cycleTimeChange(val) {
      this.form.timeValue = val
    },
    pickerChange(value) {
      console.log(value, 123)
      this.cycleTime = null
    },
    async getPrentOrganizationNoCompany() {
      const { data: res } = await PrentOrganizationNoCompany()
      this.wkshopcodeArr = res
    },
    async getErpOrderSearch() {
      console.log(this.form, 1)
      let tempDate2 = this.form.paystartdate
      if (tempDate2.length > 0) {
        tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1])
      }
      let tempDate = this.form.payenddate
      if (tempDate.length > 0) {
        tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
      }
      // let tempDate2 = this.form.paystartdate
      // if (tempDate2.length > 0) {
      //   tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1])
      // }
      //
      // let tempDate = this.form.payenddate
      // if (tempDate.length > 0) {
      //   tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
      // }
      const data = {
        wkshopcode: this.form.wkshopcode,
        erporderstus: this.form.erporderstus, // 订单状态码
        wkshopcode: this.form.wkshopcode, // 车间编码
        erpordercode: this.form.erpordercode, // 订单编号
        saleordercode: this.form.saleordercode, // 销售单号
        partcode: this.form.partcode, // 产品编码
        partname: this.form.partname, // 产品名称
        partspec: this.form.partspec, // 产品规格
        paystartdate: tempDate2, // 交付时间
        payenddate: tempDate, // 交付时间
        saleordercode: this.form.saleordercode,
        datatype: this.form.datatype, // 日期类型(计划开工(PS)、计划完工(PE)、预计交付(ED))
        searchdate: this.form.timeValue.join('~'), // 时间段
        // paystartdate: tempDate2, // 交付时间
        // payenddate: tempDate, // 交付时间
        creatuser: this.form.creatuser, // 创建人员
        // createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 创建时间
        prop: this.form.prop, // 排序字段
        order: this.form.order, // 排序字段
@@ -723,8 +825,14 @@
      this.form.paystartdate = ''
      this.form.payenddate = ''
      this.form.creatuser = ''
      this.form.erpordercode = ''
      this.form.saleordercode = ''
      this.form.createdate = ''
      this.form.timeValue = []
      this.cycleTime = null
      this.$refs.DateTypeRef.clearValue()
      this.getErpOrderSearch()
    },
    // 单选框选中获取当前行信息
@@ -811,7 +919,10 @@
            'relse_qty': i.qty,
            'saleordercode': i.saleOrderCode,
            // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00',
            'paystartdate': i.planstartdate,
            'payenddate': i.planenddate
          })
        })
        // console.log(JSON.parse(JSON.stringify(data)))
@@ -871,6 +982,9 @@
        this.dialogForm.ordernum = 1
        this.dialogForm.relse_qty = row.relse_qty
        this.dialogForm.clerkuser = row.clerkuser
        this.dialogForm.paystartdate = row.planstartdate
        this.dialogForm.payenddate = row.planenddate
      })
    },
    // 对话框关闭事件
@@ -895,6 +1009,9 @@
        markqty: '', // 下单数量
        ordernum: '', // 下单单数
        relse_qty: '', // 已下单数量
        payenddate: '', // 预计完工日期
        paystartdate: '', // 预计开工日期
        saleOrderDeliveryDate: '' // 预计交付日期
      }
@@ -933,6 +1050,8 @@
            'erpqty': this.dialogForm.erpqty,
            'markqty': this.dialogForm.markqty,
            'ordernum': this.dialogForm.ordernum,
            'payenddate': this.dialogForm.payenddate,
            'paystartdate': this.dialogForm.paystartdate,
            'relse_qty': this.dialogForm.relse_qty,
            'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00'
          }
@@ -961,6 +1080,45 @@
    },
    tableRowClassName({ row, rowIndex }) {
      return 'custom-row'
    },
    getSummaries(param) {
      const { columns, data } = param
      const sums = []
      const i = 7
      columns.forEach((column, index) => {
        if (index === i) {
          sums[index] = '总数'
          return
        }
        const values = data.map(item => Number(item[column.property]))
        if (column.property === 'qty') {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr)
            if (!isNaN(value)) {
              return prev + curr
              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
            }
          }, 0)
          sums[index] += ' 单'
        }
        if (column.property === 'relse_qty') {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr)
            if (!isNaN(value)) {
              return prev + curr
              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
            }
          }, 0)
          sums[index] += ' 单'
        }
      })
      this.$nextTick(() => {
        this.$refs.tableDataRef.doLayout()
      })
      return sums
    }
  }
}
@@ -1106,7 +1264,8 @@
    margin-top: -3px;
  }
}
::v-deep .el-icon-delete  {
::v-deep .el-icon-delete {
  cursor: pointer;
  margin-right: 0px !important;
}
@@ -1123,5 +1282,11 @@
.el-loading-text {
  font-size: 26px !important;
}
.el-picker-panel__footer {
  display: flex !important;
  justify-content: flex-end !important;
}
</style>