小小儁爺
2024-11-21 bb1368e4c5154b006b2e678261cbfa01e317b3b6
src/views/workOrder/produceOrderList.vue
@@ -12,6 +12,14 @@
        <div style="display: flex">
          <el-button
            v-waves
            type="success"
            icon="el-icon-download"
            @click="download"
          >导出子件
          </el-button>
          <el-button
            v-waves
            type="primary"
            icon="el-icon-bottom"
            @click="batchHandle"
@@ -262,6 +270,53 @@
            sortable="custom"
          />
          <el-table-column
            prop="injectnumber"
            label="注塑机号"
            show-tooltip-when-overflow
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">{{ row.injectnumber?row.injectnumber:'/' }}</template>
          </el-table-column>
          <el-table-column
            prop="customername"
            label="客户名称"
            show-tooltip-when-overflow
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">{{ row.customername?row.customername:'/' }}</template>
          </el-table-column>
          <el-table-column
            prop="colour"
            label="颜色"
            show-tooltip-when-overflow
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">{{ row.colour?row.colour:'/' }}</template>
          </el-table-column>
          <el-table-column
            prop="weight"
            label="重量"
            show-tooltip-when-overflow
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">{{ row.weight?row.weight:'/' }}</template>
          </el-table-column>
          <el-table-column
            prop="totalnumber"
            label="总料"
            show-tooltip-when-overflow
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">{{ row.totalnumber?row.totalnumber:'/' }}</template>
          </el-table-column>
          <el-table-column
            prop="clerkuser"
            label="销售业务员"
            show-tooltip-when-overflow
@@ -348,7 +403,7 @@
          <el-table-column
            label="操作"
            fixed="right"
            width="120"
            width="150"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
@@ -378,6 +433,16 @@
                    @click="orderDel(row.id)"
                  />
                </el-tooltip>
                <el-tooltip v-del-tab-index class="item" effect="dark" content="明细" placement="top">
                  <i
                    class="el-icon-tickets"
                    :style="{color:$store.state.settings.theme}"
                    style="cursor: pointer;margin-left: 15px"
                    @click="orderDetail(row.sbid)"
                  />
                </el-tooltip>
              </div>
            </template>
          </el-table-column>
@@ -451,6 +516,40 @@
          />
        </el-form-item>
        <el-form-item label="注塑机号">
          <el-input
            v-model="dialogForm.injectnumber"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="客户名称">
          <el-input
            v-model="dialogForm.customername"
            style="width: 200px"
            disabled
          />
        </el-form-item>
        <el-form-item label="颜色">
          <el-input
            v-model="dialogForm.colour"
            style="width: 200px"
            disabled
          />
        </el-form-item>
        <el-form-item label="重量">
          <el-input
            v-model="dialogForm.weight"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="总料">
          <el-input
            v-model="dialogForm.totalnumber"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="销售业务员" prop="">
          <el-input
            v-model="dialogForm.clerkuser"
@@ -485,6 +584,157 @@
        </div>
      </span>
    </el-dialog>
    <!--   明细-->
    <el-dialog
      v-el-drag-dialog
      title="明细"
      :visible.sync="dialogDetailVisible"
      width="1500px"
      :close-on-click-modal="false"
      top="15vh"
      @closed="handleDetailClose"
      @close="handleDetailClose"
    >
      <div>
        <el-table
          ref="tableDataRef"
          class="tableFixed"
          :data="tableDataDetail"
          height="500px"
          border
          row-class-name="custom-row"
          :style="{width: 100+'%',height:'500px'}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sortChange2"
        >
          <el-table-column
            prop="rowNum"
            width="50"
            fixed
            label="序号"
          />
          <el-table-column
            prop="SortSeq"
            label="子件行号"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="partcode"
            label="子件编码"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="partname"
            label="子件名称"
            sortable="custom"
            show-overflow-tooltip
            min-width="105"
          />
          <el-table-column
            prop="partspec"
            label="子件规格"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          >
            <template slot-scope="{row}">
              {{ row.partspec?row.partspec:'/' }}
            </template>
          </el-table-column>
          <!--          <el-table-column-->
          <!--            prop="stockcode"-->
          <!--            label="仓库编码"-->
          <!--            show-overflow-tooltip-->
          <!--            width="105"-->
          <!--            sortable="custom"-->
          <!--          />-->
          <el-table-column
            prop="stockname"
            label="仓库名称"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="unitname"
            label="计量单位"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="BaseQtyN"
            label="基本用量"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="BaseQtyD"
            label="基础数量"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="CompScrap"
            label="子件损耗率(%)"
            show-overflow-tooltip
            min-width="140"
            sortable="custom"
          />
          <el-table-column
            prop="exqty"
            label="使用数量"
            show-overflow-tooltip
            min-width="105"
            sortable="custom"
          />
          <el-table-column
            prop="Qty"
            min-width="105"
            label="应领数量"
            show-overflow-tooltip
            sortable="custom"
          />
        </el-table>
        <!--分页-->
        <pagination
          style="margin-top: 10px;"
          :total="tableDataDetailTotal"
          :page.sync="formDetail.page"
          :limit.sync="formDetail.rows"
          align="right"
          layout="total,prev, pager, next,sizes,jumper"
          popper-class="select_bottom"
          @pagination="getErpOrderSubItemSearch"
        />
      </div>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button v-waves @click="dialogVisibleDetailCancel">返 回</el-button>
          <!--          <el-button-->
          <!--            v-waves-->
          <!--            type="primary"-->
          <!--            :loading="$store.state.app.buttonIsDisabled"-->
          <!--            :disabled="$store.state.app.buttonIsDisabled"-->
          <!--            @click="dialogVisibleDeatilConfirm"-->
          <!--          >确 定</el-button>-->
        </div>
      </span>
    </el-dialog>
  </div>
</template>
@@ -495,8 +745,8 @@
import waves from '@/directive/waves'
import {
  ClosedErpOrder,
  DeleteErpOrder,
  ErpOrderSearch,
  DeleteErpOrder, ErpOrderExcelSearch,
  ErpOrderSearch, ErpOrderSubItemSearch,
  MarkBatchSaveErpOrder,
  MarkSaveErpOrder
} from '@/api/WorkOrder'
@@ -579,7 +829,16 @@
        clerkuser: '', // 销售业务员
        saleOrderDeliveryDate: '' // 预计交付日期
        saleOrderDeliveryDate: '', // 预计交付日期
        'injectnumber': '', // 注塑机号
        'customercode': '', // 客户编号
        'customername': '', // 客户名称
        'colour': '', // 颜色
        weight: '', // 重量
        totalnumber: ''// 总料
      },
      operation: '',
      dialogFormRules: {
@@ -605,7 +864,18 @@
          return time.getTime() < Date.now() - 8.64e7
        }
      },
      multipleSelection: []
      multipleSelection: [],
      dialogDetailVisible: false,
      tableDataDetail: [],
      tableDataDetailTotal: 10,
      formDetail: {
        MoDID: '', // 生产订单明细ID
        prop: 'SortSeq', // 排序字段
        order: 'asc', // 排序字段
        page: 1, // 第几页
        rows: 20 // 每页多少条
      }
      // expireTimeOption: {
      //   disabledDate(time) {
@@ -626,6 +896,49 @@
    this.getHeight()
  },
  methods: {
    // 订单导出
    async download() {
      const res = await ErpOrderExcelSearch(this.form)
      window.location.href = res.data
    },
    // 明细
    orderDetail(val) {
      this.formDetail.MoDID = val
      this.getErpOrderSubItemSearch()
      this.dialogDetailVisible = true
    },
    // 获取明细接口
    async getErpOrderSubItemSearch() {
      const res = await ErpOrderSubItemSearch(this.formDetail)
      this.tableDataDetail = res.data
      this.tableDataDetailTotal = res.count
    },
    handleDetailClose() {
      this.tableDataDetail = []
      this.formDetail = {
        MoDID: '', // 生产订单明细ID
        prop: 'SortSeq', // 排序字段
        order: 'asc', // 排序字段
        page: 1, // 第几页
        rows: 20 // 每页多少条
      }
    },
    dialogVisibleDetailCancel() {
      this.dialogDetailVisible = false
    },
    // 排序改变时
    sortChange2({ column, prop, order }) {
      if (order === 'descending') {
        order = 'desc'
      } else if (order === 'ascending') {
        order = 'asc'
      } else {
        order = 'desc'
      }
      this.form.order = order
      this.form.prop = prop
      this.getErpOrderSearch()
    },
    async getPrentOrganizationNoCompany() {
      const { data: res } = await PrentOrganizationNoCompany()
      this.wkshopcodeArr = res
@@ -724,6 +1037,7 @@
      this.form.payenddate = ''
      this.form.creatuser = ''
      this.form.erpordercode = ''
      this.form.saleordercode = ''
      this.form.createdate = ''
      this.getErpOrderSearch()
    },
@@ -810,6 +1124,12 @@
            'clerkuser': i.clerkuser,
            'relse_qty': i.qty,
            'saleordercode': i.saleOrderCode,
            'injectnumber': i.injectnumber,
            'customercode': i.customercode,
            'customername': i.customername,
            'colour': i.colour,
            'weight': i.weight,
            'totalnumber': i.totalnumber,
            // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
            'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
          })
@@ -871,6 +1191,14 @@
        this.dialogForm.ordernum = 1
        this.dialogForm.relse_qty = row.relse_qty
        this.dialogForm.clerkuser = row.clerkuser
        this.dialogForm.injectnumber = row.injectnumber
        this.dialogForm.customercode = row.customercode
        this.dialogForm.customername = row.customername
        this.dialogForm.colour = row.colour
        this.dialogForm.weight = row.weight
        this.dialogForm.totalnumber = row.totalnumber
      })
    },
    // 对话框关闭事件
@@ -895,6 +1223,14 @@
        markqty: '', // 下单数量
        ordernum: '', // 下单单数
        relse_qty: '', // 已下单数量
        injectnumber: '',
        customercode: '',
        customername: '',
        colour: '',
        weight: '',
        totalnumber: '',
        saleOrderDeliveryDate: '' // 预计交付日期
      }
@@ -934,6 +1270,12 @@
            'markqty': this.dialogForm.markqty,
            'ordernum': this.dialogForm.ordernum,
            'relse_qty': this.dialogForm.relse_qty,
            'injectnumber': this.dialogForm.injectnumber, // 注塑机号
            'customercode': this.dialogForm.customercode, // 客户编号
            'customername': this.dialogForm.customername, // 客户名称
            'colour': this.dialogForm.colour, // 颜色
            'weight': this.dialogForm.weight, // 颜色
            'totalnumber': this.dialogForm.totalnumber, // 颜色
            'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00'
          }