小小儁爺
2026-05-15 df418a35e80167ae120e5840d6ff8d19676ee399
src/views/produce/reportCorrect.vue
@@ -34,10 +34,16 @@
            <el-form-item label="工单编码" style=" display: flex;">
              <el-input v-model="form.wo_code" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="产品编码" style=" display: flex;">
            <el-form-item label="订单号" style=" display: flex;">
              <el-input v-model="form.orderno" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="销售单号" style=" display: flex;">
              <el-input v-model="form.saorderno" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="产品编码" style=" display: flex;">
              <el-input v-model="form.partnumber" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="产品名称" style=" display: flex;">
            <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;">
              <el-input v-model="form.partname" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="产品规格" style=" display: flex;">
@@ -108,10 +114,10 @@
          ref="tableDataRef"
          class="tableFixed"
          :data="tableData"
          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
          :height="isExpandForm?tableHeight:(tableHeight+80)+'px'"
          border
          row-class-name="custom-row"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px',}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
@@ -136,6 +142,28 @@
            min-width="160"
            show-overflow-tooltip
          />
          <el-table-column
            prop="m_po"
            label="订单号"
            min-width="160"
            show-tooltip-when-overflow
            sortable="custom"
          >
            <template slot-scope="{row}">
              {{ row.m_po?row.m_po:'/' }}
            </template>
          </el-table-column>
          <el-table-column
            prop="saleOrderCode"
            label="销售单号"
            min-width="160"
            show-tooltip-when-overflow
            sortable="custom"
          >
            <template slot-scope="{row}">
              {{ row.saleOrderCode?row.saleOrderCode:'/' }}
            </template>
          </el-table-column>
          <el-table-column
            prop="partnumber"
            label="产品编码"
@@ -331,6 +359,12 @@
          </div>
          <!--          <el-input v-model="dialogForm.postcode" style="width: 200px" />-->
        </el-form-item>
        <el-form-item label="订单号" class="dialogFormItem">
          <div style="width: 200px;">
            {{ dialogForm.m_po }}
          </div>
          <!--          <el-input v-model="dialogForm.postcode" style="width: 200px" />-->
        </el-form-item>
        <el-form-item label="产品编码" class="dialogFormItem">
          <div style="width: 200px;">
            {{ dialogForm.partnumber }}
@@ -363,19 +397,57 @@
          />
        </el-form-item>
        <el-form-item v-if="dialogForm.flw_type==='Z'" label="报工班组" class="dialogFormItem">
          <div style="width: 200px;" class="ellipsis">
            {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}
          </div>
          <!--          <div style="width: 200px;" class="ellipsis">-->
          <!--            {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}-->
          <!--          </div>-->
          <el-select
            v-model="dialogForm.groupcode"
            style="width:200px"
            placeholder="请选择"
            filterable
            :disabled="dialogForm.groupcode===''"
            :popper-append-to-body="false"
            @change="usergroupChange"
          >
            <el-option
              v-for="item in usergroupArr"
              :key="item.usergroupcode"
              :label="item.usergroupname"
              :value="item.usergroupcode"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogForm.flw_type!=='Z'" label="供应商" class="dialogFormItem">
          <div style="width: 200px;" class="ellipsis">
            {{ dialogForm.wx_name }}
          </div>
        </el-form-item>
        <el-form-item label="报工人员" class="dialogFormItem">
          <div style="width: 200px;" class="ellipsis">
            {{ dialogForm.username }}
          </div>
        <el-form-item label="报工人员" class="dialogFormItem" prop="usercode">
          <!--          <div style="width: 200px;" class="ellipsis">-->
          <!--            {{ dialogForm.username }}-->
          <!--          </div>-->
          <el-select
            v-model="dialogForm.usercode"
            style="width:200px"
            placeholder="请选择"
            filterable
            multiple
            collapse-tags
            :multiple-limit="dialogForm.groupcode===''?1:0"
            :disabled="dialogForm.groupcode===''&&dialogForm.usergroupcode===''"
            :popper-append-to-body="false"
          >
            <el-option
              v-for="item in reportuserArr"
              :key="item.usercode"
              :label="item.usercode+' / '+item.username"
              :value="item.usercode"
            />
          </el-select>
        </el-form-item>
        <el-form-item :label="dialogForm.flw_type==='Z'?'合格数量':'收料数量'" prop="report_qty" class="dialogFormItem">
          <el-input
@@ -509,7 +581,6 @@
          size="medium"
          :precision="2"
          :step="0.1"
          :max="10"
          :min="0"
          style="margin: 0 10px 5px"
        />
@@ -540,7 +611,13 @@
import { handleDatetime } from '@/utils/global'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import { DefectPermissions, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
import {
  DefectPermissions,
  GroupsPermissions, GroupsPersonPermissions,
  PersonPermissions,
  PrentOrganizationNoCompany,
  StepData
} from '@/api/GeneralBasicData'
import {
  MesOrderStepModelSearch, MesOrderStepPriceBatchUpdateSeave,
  MesOrderStepUpdateSeave,
@@ -561,6 +638,7 @@
      tableHeight: 0,
      form: {
        wkshopcode: '',
        orderno: '',
        wo_code: '', // 工单编码
        partnumber: '', // 产品编码
        partname: '', // 产品名称
@@ -568,6 +646,7 @@
        reportuser: '', // 报工人员
        reportdate: '', // 报工时间
        stepcode: '',
        saorderno: '',
        prop: 'report_date', // 排序字段
        order: 'desc', // 排序字段
        page: 1, // 第几页
@@ -612,11 +691,16 @@
      dialogFormRules: {
        report_qty: [
          { required: true, message: '请输入合格数量', trigger: ['blur', 'change'] }
        ],
        usercode: [
          { required: true, message: '请选择报工人员', trigger: ['blur', 'change'] }
        ]
      },
      stepCodeArr: [], // 下拉工序集合
      batchUpdateDialogVisible: false,
      stepPriceEdit: 0
      stepPriceEdit: 0,
      usergroupArr: [],
      reportuserArr: []
    }
  },
@@ -687,10 +771,20 @@
    batchUpdateHandleClose() {
      this.stepPriceEdit = 0
    },
    async   usergroupChange(val) {
      const { data: res } = await GroupsPersonPermissions({ groupcode: val })
      this.dialogForm.usercode = res[0].usercode_list ? res[0].usercode_list.split(',') : []
    },
    // 获取工序基础资料
    async getStepData() {
      const { data: res } = await StepData()
      this.stepCodeArr = res
      const { data: res1 } = await GroupsPermissions()// 班组
      this.usergroupArr = res1
      const { data: res2 } = await PersonPermissions() // 人员
      this.reportuserArr = res2
    },
    async getPrentOrganizationNoCompany() {
      const { data: res } = await PrentOrganizationNoCompany()
@@ -715,7 +809,8 @@
        reportuser: this.form.reportuser,
        stepcode: this.form.stepcode,
        reportdate: tempDate,
        orderno: this.form.orderno,
        saorderno: this.form.saorderno,
        prop: this.form.prop, // 排序字段
        order: this.form.order, // 排序字段
        page: this.form.page, // 第几页
@@ -742,6 +837,8 @@
    reset() {
      this.form.wkshopcode = ''
      this.form.wo_code = ''
      this.form.saorderno = ''
      this.form.orderno = ''
      this.form.partnumber = ''
      this.form.partname = ''
      this.form.partspec = ''
@@ -766,6 +863,7 @@
      if (res.code === '200') {
        this.dialogForm.id = row.id
        this.dialogForm.sbid = row.sbid
        this.dialogForm.m_po = row.m_po
        this.dialogForm.wo_code = row.wo_code
        this.dialogForm.partnumber = row.partnumber
        this.dialogForm.partname = row.partname
@@ -781,7 +879,7 @@
        this.dialogForm.last_choke = row.last_choke
        this.dialogForm.unprice = row.step_price
        this.dialogForm.groupcode = row.usergroup_code
        this.dialogForm.usercode = row.usercode
        this.dialogForm.usercode = row.usercode.split(',')
        this.dialogForm.usergroup_name = row.usergroup_name
        this.dialogForm.username = row.username
        this.dialogForm.report_date = row.report_date
@@ -847,7 +945,7 @@
            'last_choke': this.dialogForm.last_choke,
            'unprice': this.dialogForm.unprice,
            'groupcode': this.dialogForm.groupcode,
            'usercode': this.dialogForm.usercode,
            'usercode': this.dialogForm.usercode.join(','),
            wxcode: this.dialogForm.wx_code,
            'report_date': this.dialogForm.report_date,
            'report_qty': parseFloat(this.dialogForm.report_qty),
@@ -874,7 +972,7 @@
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.tableHeight = this.mainHeight - 295
        this.$refs.tableDataRef.doLayout()
      })
    }