loulijun2021
2024-05-06 46528c3843ce67038ddb2e00dd3d3998c206a69e
src/views/produce/stepReport.vue
@@ -41,18 +41,24 @@
        </el-button>
      </div>
      <div v-if="form.wocode" style="position: absolute;left: 460px;z-index: 2;top: 23px;font-weight: bolder">
        当前工单号为:{{ form.wocode }}
      </div>
      <el-tabs
        ref="elTabs"
        v-model="activeName"
        type="border-card"
        @tab-click="tabClick"
      >
        <el-tab-pane
          v-for="item in elTabsArr"
          :key="item.code"
          :label="item.name"
          :name="item.name"
        >
          <div class="bodyTopFormGroup">
            <el-form
              ref="form"
@@ -65,10 +71,11 @@
                <el-form-item label="工单号" style=" display: flex;">
                  <el-input
                    v-model="form.wocode"
                    v-model="workOrderCurrentValue"
                    :name="'produceCode'+item.code"
                    placeholder="请扫描或输入"
                    style="width: 300px"
                    @keyup.enter.native="val=>enterNative(val,'produceCode' + item.code)"
                  />
                </el-form-item>
@@ -77,6 +84,7 @@
                    v-model="form.partcode"
                    placeholder="请输入"
                    style="width: 200px"
                    @keyup.enter.native="val=>enterNative(val,'produceCode' + item.code)"
                  />
                </el-form-item>
@@ -84,10 +92,29 @@
                  <el-input
                    v-model="form.partname"
                    placeholder="请输入"
                    style="width: 200px"
                    @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 +232,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 +350,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 +364,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 +395,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 +527,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 +557,6 @@
          />
          <el-table-column
            prop="stepcode"
            show-tooltip-when-overflow
            label="缺陷编码/名称"
            align="center"
            min-width="450"
@@ -547,7 +583,6 @@
          <el-table-column
            prop="badqty"
            label="不良数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -660,7 +695,6 @@
          <el-table-column
            prop="repair_qty"
            label="维修合格数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -676,7 +710,6 @@
          <el-table-column
            prop="laborbad_qty"
            label="工废数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -692,7 +725,6 @@
          <el-table-column
            prop="materielbad_qty"
            label="料废数量"
            show-tooltip-when-overflow
            align="center"
          >
            <template slot-scope="{row}">
@@ -781,7 +813,7 @@
  EqpPermissions,
  GroupsPermissions,
  GroupsPersonPermissions,
  PersonPermissions
  PersonPermissions, PrentOrganizationNoCompany
} from '@/api/GeneralBasicData'
import { nanoid } from 'nanoid'
import { LabelBarCode } from '@/api/systemSetting'
@@ -798,6 +830,7 @@
      mainHeight: 0,
      tableHeight: 0,
      form: {
        wkshopcode: '',
        wocode: '', // 工单号
        partcode: '', // 产品编码
        partname: '', // 产品名称
@@ -807,6 +840,7 @@
        page: 1, // 第几页
        rows: 20 // 每页多少条
      },
      wkshopcodeArr: [],
      total: 10,
      tableData: [],
      activeName: '生产列表',
@@ -816,6 +850,7 @@
        { code: 'IN', name: '外协收料' },
        { code: 'BAD', name: '不良待处理' }
      ],
      radioSelected: '', // 多选框选中值
      dialogVisible: false,
@@ -900,7 +935,8 @@
      wxArr: [], // 往来单位下拉
      defectTableData: [],
      badTableData: []
      badTableData: [],
      workOrderCurrentValue: ''
    }
  },
@@ -931,6 +967,9 @@
      const { data: res5 } = await CustomerPermissions() // 往来单位
      this.wxArr = res5
      const { data: res6 } = await PrentOrganizationNoCompany()// 无公司的组织下拉
      this.wkshopcodeArr = res6
    },
    tabClick() {
      let belong
@@ -953,7 +992,7 @@
          break
      }
      this.enterNative(this.form.wocode, belong)
      // this.search()
      this.radioSelected = ''
    },
    enterNative(val, belong) {
@@ -994,6 +1033,8 @@
    },
    // 查询
    async search() {
      this.form.wocode = this.workOrderCurrentValue
      this.workOrderCurrentValue = ''
      if (this.activeName === '生产列表') {
        const res = await MesOrderStepSearch(this.form)
        this.tableData = res.data
@@ -1110,13 +1151,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 +1336,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,7 +1468,9 @@
      })
    },
    reset() {
      this.form.wkshopcode = ''
      this.form.wocode = ''
      this.form.workOrderCurrentValue = ''
      this.form.partcode = ''
      this.form.partname = ''
      this.form.partspec = ''
@@ -1461,4 +1506,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>