loulijun2021
2024-01-09 844adb3a80b39f9a78dae89a6a27f19e58a931df
src/views/produce/stepReport.vue
@@ -88,6 +88,23 @@
                    @keyup.enter.native="val=>enterNative(val,'produceCode' + item.code)"
                  />
                </el-form-item>
                <el-form-item label="车间名称" style=" display: flex;">
                  <el-select
                    v-model="form.wkshopcode"
                    filterable
                    :popper-append-to-body="false"
                    style="width: 200px"
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in wkshopcodeArr"
                      :key="item.torg_code"
                      :label="item.torg_name"
                      :value="item.torg_code"
                    />
                  </el-select>
                </el-form-item>
                <!--                <el-form-item label="规格型号" style=" display: flex;">-->
                <!--                  <el-input v-model="form.partspec" placeholder="请输入" style="width: 200px" />-->
                <!--                </el-form-item>-->
@@ -205,6 +222,13 @@
                </template>
              </el-table-column>
              <el-table-column
                prop="wkshp_name"
                min-width="110"
                show-tooltip-when-overflow
                label="车间名称"
                sortable="custom"
              />
              <el-table-column
                prop="stepname"
                label="工序名称"
                show-tooltip-when-overflow
@@ -316,8 +340,10 @@
      @close="handleClose"
    >
      <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="110px">
        <el-divider v-if="activeName==='生产列表'||activeName==='外协收料'||activeName==='不良待处理'" content-position="left">基本信息
        </el-divider>
        <!--        <el-divider v-if="activeName==='生产列表'||activeName==='外协收料'||activeName==='不良待处理'" content-position="left">基本信息</el-divider>-->
        <el-divider v-if="activeName==='生产列表'" content-position="left">报工信息</el-divider>
        <el-divider v-if="activeName==='外协收料'" content-position="left">收料信息</el-divider>
        <el-divider v-if="activeName==='不良待处理'" content-position="left">待处理信息</el-divider>
        <el-form-item label="工单编号" class="dialogFormItem">
          <div class="dialogFormItemDiv">{{ dialogForm.wo_code }}</div>
        </el-form-item>
@@ -328,13 +354,13 @@
          <div class="dialogFormItemDiv">{{ dialogForm.partname }}</div>
        </el-form-item>
        <el-form-item label="规格型号" class="dialogFormItem">
          <div class="dialogFormItemDiv">{{ dialogForm.partspec? dialogForm.partspec:'/' }}</div>
          <div class="dialogFormItemDiv">{{ dialogForm.partspec ? dialogForm.partspec : '/' }}</div>
        </el-form-item>
        <el-form-item label="当前工序" class="dialogFormItem">
          <div class="dialogFormItemDiv">{{ dialogForm.stepname }}</div>
        </el-form-item>
        <el-form-item label="下道工序" class="dialogFormItem">
          <div class="dialogFormItemDiv">{{ dialogForm.nextstepname?dialogForm.nextstepname :'/' }}</div>
          <div class="dialogFormItemDiv">{{ dialogForm.nextstepname ? dialogForm.nextstepname : '/' }}</div>
        </el-form-item>
        <el-form-item label="任务数量" class="dialogFormItem">
          <div class="dialogFormItemDiv">{{ dialogForm.planqty }}</div>
@@ -359,12 +385,13 @@
          <div class="dialogFormItemDiv" style="color:red;">{{ dialogForm.noputqty }}</div>
        </el-form-item>
        <el-form-item v-if="activeName==='生产列表'" prop="eqpcode" label="报工设备" class="dialogFormItem">
        <el-form-item v-if="activeName==='生产列表'" label="报工设备" class="dialogFormItem">
          <el-select
            v-model="dialogForm.eqpcode"
            style="width:200px"
            placeholder="请选择"
            filterable
            clearable
            :popper-append-to-body="false"
          >
            <el-option
@@ -490,7 +517,7 @@
          <el-input v-model="dialogForm.sqty" oninput="value=value.replace(/[^\d]/g,'')" style="width: 200px" />
        </el-form-item>
        <el-divider v-if="activeName==='生产列表'||activeName==='外协收料'" content-position="left">不良明细</el-divider>
        <el-divider v-if="activeName==='生产列表'||activeName==='外协收料'" content-position="left">不良明细信息</el-divider>
        <el-button
          v-if="activeName==='生产列表'||activeName==='外协收料'"
          v-waves
@@ -520,7 +547,6 @@
          />
          <el-table-column
            prop="stepcode"
            show-tooltip-when-overflow
            label="缺陷编码/名称"
            align="center"
            min-width="450"
@@ -547,7 +573,6 @@
          <el-table-column
            prop="badqty"
            label="不良数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -660,7 +685,6 @@
          <el-table-column
            prop="repair_qty"
            label="维修合格数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -676,7 +700,6 @@
          <el-table-column
            prop="laborbad_qty"
            label="工废数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -692,7 +715,6 @@
          <el-table-column
            prop="materielbad_qty"
            label="料废数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -781,7 +803,7 @@
  EqpPermissions,
  GroupsPermissions,
  GroupsPersonPermissions,
  PersonPermissions
  PersonPermissions, PrentOrganizationNoCompany
} from '@/api/GeneralBasicData'
import { nanoid } from 'nanoid'
import { LabelBarCode } from '@/api/systemSetting'
@@ -798,6 +820,7 @@
      mainHeight: 0,
      tableHeight: 0,
      form: {
        wkshopcode: '',
        wocode: '', // 工单号
        partcode: '', // 产品编码
        partname: '', // 产品名称
@@ -807,6 +830,7 @@
        page: 1, // 第几页
        rows: 20 // 每页多少条
      },
      wkshopcodeArr: [],
      total: 10,
      tableData: [],
      activeName: '生产列表',
@@ -816,6 +840,7 @@
        { code: 'IN', name: '外协收料' },
        { code: 'BAD', name: '不良待处理' }
      ],
      radioSelected: '', // 多选框选中值
      dialogVisible: false,
@@ -931,6 +956,9 @@
      const { data: res5 } = await CustomerPermissions() // 往来单位
      this.wxArr = res5
      const { data: res6 } = await PrentOrganizationNoCompany()// 无公司的组织下拉
      this.wkshopcodeArr = res6
    },
    tabClick() {
      let belong
@@ -1110,13 +1138,15 @@
        this.dialogForm.eqpcode = res.eqpcode
        this.dialogForm.eqpname = res.eqpname
        this.dialogForm.list = []
        res.list.forEach(i => {
          i.acceptQty = parseFloat(i.fqty) - parseFloat(i.sqty) - parseFloat(i.ng_qty) - parseFloat(i.laborbad_qty) - parseFloat(i.materielbad_qty)
          if (i.acceptQty > 0) {
            this.dialogForm.list.push(i)
          }
        })
        if (this.activeName === '外协收料') {
          this.dialogForm.list = []
          res.list.forEach(i => {
            i.acceptQty = parseFloat(i.fqty) - parseFloat(i.sqty) - parseFloat(i.ng_qty) - parseFloat(i.laborbad_qty) - parseFloat(i.materielbad_qty)
            if (i.acceptQty > 0) {
              this.dialogForm.list.push(i)
            }
          })
        }
        // this.dialogForm.list = res.list
@@ -1293,8 +1323,8 @@
              return this.$message.info('收料数量加不良数量不能大于了可收数量!')
            }
            if (this.dialogForm.list.find(i => i.name === this.dialogForm.wxcode)) {
              if (this.dialogForm.list.find(i => i.name === this.dialogForm.wxcode).acceptQty < parseFloat(this.dialogForm.sqty) + parseFloat(this.dialogForm.noputqty)) {
            if (this.dialogForm.list.find(i => i.Name === this.dialogForm.wxcode)) {
              if (this.dialogForm.list.find(i => i.Name === this.dialogForm.wxcode).acceptQty < parseFloat(this.dialogForm.sqty) + parseFloat(this.dialogForm.noputqty)) {
                return this.$message.info('收料数量加不良数量不能大于该供应商可收数量!')
              }
            } else {
@@ -1425,6 +1455,7 @@
      })
    },
    reset() {
      this.form.wkshopcode = ''
      this.form.wocode = ''
      this.form.partcode = ''
      this.form.partname = ''
@@ -1461,4 +1492,12 @@
  justify-content: center;
}
::v-deep .el-dialog .el-form-item__label {
  font-weight: lighter !important;
}
::v-deep .el-dialog .el-divider__text {
  font-weight: bolder !important;
}
</style>