loulijun2021
2022-07-11 9b825939b7f0a7439d704b379812362dd95697fc
src/views/scgl/sckbg.vue
@@ -2,28 +2,35 @@
  <div>
    <div class="body" style="padding: 0;height: 100%" :style="{height:mainHeight+'px'}">
      <el-tabs type="border-card">
      <el-tabs ref="elTabs" type="border-card" @tab-click="tabClick">
        <el-tab-pane label="生产列表">
          <div style="margin-left: 10px;margin-top:10px;display: flex;justify-content: space-between">
            <div style="display: flex;align-items: center">
              <div style="width: 70px">工序码:</div>
              <el-input
                v-model="produceCode"
                oninput="value=value.replace(/[^0-9.]/g,'')"
                v-model="form.orderstepqrcode"
                oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
                name="produceCode"
                style="width: 500px"
                style="width: 300px"
                @keyup.enter.native="val=>enterNative(val,'produceCode')"
              />
            </div>
            <div style="display: flex;padding-right: 10px">
              <el-button><svg-icon icon-class="start_time" style="margin-right: 2px" />开始</el-button>
              <el-button><svg-icon icon-class="report_work" style="margin-right: 2px" />报工</el-button>
              <el-button @click="ZZstart">
                <svg-icon icon-class="start_time" style="margin-right: 2px" />
                开始
              </el-button>
              <el-button @click="ZZreport">
                <svg-icon icon-class="report_work" style="margin-right: 2px" />
                报工
              </el-button>
            </div>
          </div>
          <el-divider />
          <div class="elTableDiv">
            <el-table
              :data="tableData"
              :height="tableHeight"
              :height="tableHeight+'px'"
              border
              stripe
              :style="{width: 100+'%',height:tableHeight+'px',}"
@@ -32,20 +39,17 @@
              :cell-style="this.$cellStyle"
              @sort-change="sortChange"
            >
              <!--          <el-table-column-->
              <!--            type="selection"-->
              <!--            width="50"-->
              <!--          />-->
              <el-table-column
                width="50"
                fixed
              >
                <template slot-scope="{row}">
                  <!--                  <el-radio-->
                  <!--                    v-model="radioSelected"-->
                  <!--                    :label="row.wo"-->
                  <!--                    style="color: #fff;padding-left: 10px; margin-right: -25px;"-->
                  <!--                    @change.native="getCurrentRow(row.wo)"-->
                  <!--                  />-->
                  <el-radio
                    v-model="radioSelected"
                    :label="row.wo"
                    style="color: #fff;padding-left: 10px; margin-right: -25px;"
                    @change.native="getCurrentRow(row.wo)"
                  />
                </template>
              </el-table-column>
              <el-table-column
@@ -54,65 +58,85 @@
                label="序号"
              />
              <el-table-column
                prop="org_code"
                prop="status"
                label="状态"
                sortable="custom"
              />
                width="110"
              >
                <template slot-scope="{row}">
                  <div v-if="row.status==='NEW'">新订单</div>
                  <div v-if="row.status==='ALLO'">已派发</div>
                  <div v-if="row.status==='START'">开工</div>
                  <div v-if="row.status==='CLOSED'">完工</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="org_name"
                prop="wo_code"
                label="工单号"
                sortable="custom"
                width="160"
              />
              <el-table-column
                prop="description"
                prop="partcode"
                label="产品编码"
                sortable="custom"
                width="150"
              />
              <el-table-column
                prop="parentorg_name"
                prop="partname"
                label="产品名称"
                sortable="custom"
                width="150"
              />
              <el-table-column
                prop="parentorg_name"
                prop="seq"
                width="80"
                label="工序"
                sortable="custom"
              />
              <el-table-column
                prop="parentorg_name"
                prop="descr"
                label="工序描述"
                width="150"
                sortable="custom"
              />
              <el-table-column
                prop="parentorg_name"
                prop="plan_qty"
                label="任务数量"
                width="150"
                sortable="custom"
              />
              <el-table-column
                prop="parentorg_name"
                prop="good_qty"
                label="已报工数量"
                sortable="custom"
                width="150"
              />
              <el-table-column
                prop="lm_user"
                prop="ng_qty"
                label="不良数量"
                width="150"
                sortable="custom"
              />
              <el-table-column
                prop="lm_date"
                prop="plan_startdate"
                label="计划开工日期"
                width="185"
                sortable="custom"
              />
              <el-table-column
                label="操作"
              >
                <template slot-scope="{row}">
                  <div class="operationClass">
                    <el-button type="text" @click="edit('edit',row)">编辑</el-button>
                    <el-button type="text" @click="del(row)">删除</el-button>
                  </div>
                </template>
              </el-table-column>
              <!--              <el-table-column-->
              <!--                label="操作"-->
              <!--                width="150"-->
              <!--                fixed="right"-->
              <!--              >-->
              <!--                <template slot-scope="{row}">-->
              <!--                  <div class="operationClass">-->
              <!--                    <el-button type="text" @click="edit('edit',row)">编辑</el-button>-->
              <!--                    <el-button type="text" @click="del(row)">删除</el-button>-->
              <!--                  </div>-->
              <!--                </template>-->
              <!--              </el-table-column>-->
            </el-table>
          </div>
          <!--分页-->
@@ -130,46 +154,64 @@
        <el-tab-pane label="外协列表">
          <div style="margin-left: 10px;margin-top:10px;display: flex;justify-content: space-between">
            <div style="display: flex;align-items: center">
              <div style="width: 70px">工序码:</div>
              <div style="width: 90px;">外协类型:</div>
              <el-select
                v-model="WXSelected"
                filterable
                style="width: 200px"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in WXSelectArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
              <div style="width: 70px;margin-left: 20px">工序码:</div>
              <el-input
                v-model="produceCode"
                oninput="value=value.replace(/[^0-9.]/g,'')"
                name="produceCode"
                style="width: 500px"
                v-model="WXform.orderstepqrcode"
                oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"
                name="WXproduceCode"
                style="width: 300px"
                @keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
              />
            </div>
            <div style="display: flex;padding-right: 10px">
              <el-button><svg-icon icon-class="start_time" style="margin-right: 2px" />发料</el-button>
              <el-button><svg-icon icon-class="report_work" style="margin-right: 2px" />收料</el-button>
              <el-button @click="WXsend">
                <svg-icon icon-class="start_time" style="margin-right: 2px" />
                发料
              </el-button>
              <el-button @click="WXback">
                <svg-icon icon-class="report_work" style="margin-right: 2px" />
                收料
              </el-button>
            </div>
          </div>
          <el-divider />
          <div class="elTableDiv">
            <el-table
              :data="tableData"
              :height="tableHeight"
              :data="WXtableData"
              :height="tableHeight+'px'"
              border
              stripe
              :style="{width: 100+'%',height:tableHeight+'px',}"
              highlight-current-row
              :header-cell-style="this.$headerCellStyle"
              :cell-style="this.$cellStyle"
              @sort-change="sortChange"
              @sort-change="WXsortChange"
            >
              <!--          <el-table-column-->
              <!--            type="selection"-->
              <!--            width="50"-->
              <!--          />-->
              <el-table-column
                width="50"
                fixed
              >
                <template slot-scope="{row}">
                  <!--                  <el-radio-->
                  <!--                    v-model="radioSelected"-->
                  <!--                    :label="row.wo"-->
                  <!--                    style="color: #fff;padding-left: 10px; margin-right: -25px;"-->
                  <!--                    @change.native="getCurrentRow(row.wo)"-->
                  <!--                  />-->
                  <el-radio
                    v-model="radioSelected"
                    :label="row.wo_code"
                    style="color: #fff;padding-left: 10px; margin-right: -25px;"
                    @change.native="getWXCurrentRow(row.wo_code)"
                  />
                </template>
              </el-table-column>
              <el-table-column
@@ -178,73 +220,93 @@
                label="序号"
              />
              <el-table-column
                prop="org_code"
                prop="status"
                label="状态"
                sortable="custom"
              />
                width="110"
              >
                <template slot-scope="{row}">
                  <div v-if="row.status==='NEW'">新订单</div>
                  <div v-if="row.status==='ALLO'">已派发</div>
                  <div v-if="row.status==='START'">开工</div>
                  <div v-if="row.status==='CLOSED'">完工</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="org_name"
                prop="wo_code"
                label="工单号"
                sortable="custom"
                width="160"
              />
              <el-table-column
                prop="description"
                prop="partcode"
                label="产品编码"
                sortable="custom"
                width="150"
              />
              <el-table-column
                prop="parentorg_name"
                prop="partname"
                label="产品名称"
                sortable="custom"
                width="150"
              />
              <el-table-column
                prop="parentorg_name"
                prop="stepname"
                width="100"
                label="工序"
                sortable="custom"
              />
              <el-table-column
                prop="parentorg_name"
                prop="descr"
                label="工序描述"
                width="150"
                sortable="custom"
              />
              <el-table-column
                prop="parentorg_name"
                prop="plan_qty"
                label="任务数量"
                width="150"
                sortable="custom"
              />
              <el-table-column
                prop="parentorg_name"
                prop="good_qty"
                label="已报工数量"
                sortable="custom"
                width="150"
              />
              <el-table-column
                prop="lm_user"
                prop="ng_qty"
                label="不良数量"
                width="150"
                sortable="custom"
              />
              <el-table-column
                prop="lm_date"
                prop="plan_startdate"
                label="计划开工日期"
                width="185"
                sortable="custom"
              />
              <el-table-column
                label="操作"
              >
                <template slot-scope="{row}">
                  <div class="operationClass">
                    <el-button type="text" @click="edit('edit',row)">编辑</el-button>
                    <el-button type="text" @click="del(row)">删除</el-button>
                  </div>
                </template>
              </el-table-column>
              <!--              <el-table-column-->
              <!--                label="操作"-->
              <!--                width="150"-->
              <!--                fixed="right"-->
              <!--              >-->
              <!--                <template slot-scope="{row}">-->
              <!--                  <div class="operationClass">-->
              <!--                    <el-button type="text" @click="edit('edit',row)">编辑</el-button>-->
              <!--                    <el-button type="text" @click="del(row)">删除</el-button>-->
              <!--                  </div>-->
              <!--                </template>-->
              <!--              </el-table-column>-->
            </el-table>
          </div>
          <!--分页-->
          <pagination
            v-show="total>0"
            :total="total"
            :page.sync="form.page"
            :limit.sync="form.rows"
            v-show="WXtotal>0"
            :total="WXtotal"
            :page.sync="WXform.page"
            :limit.sync="WXform.rows"
            align="right"
            layout="prev, pager, next,sizes"
            popper-class="select_bottom"
@@ -257,41 +319,271 @@
    </div>
    <el-dialog
      :title="operation==='add'?'新增':'编辑'"
      :title="dialogTitle"
      :visible.sync="dialogVisible"
      width="60%"
      top="15vh"
      @closed="handleClose"
      width="800"
      class="dialogVisible"
      :top="dialogTitle==='自制报工'?'5vh':'15vh'"
      :close-on-click-modal="false"
      @close="handleClose"
      @closed="handleClose"
    >
      <el-form ref="dialogForm" :rules="dialogFormRules" :model="dialogForm" label-width="80px">
        <el-form-item label="组织类型" prop="OrgType" />
        <el-form-item label="组织编码" prop="OrgCode">
          <el-input v-model="dialogForm.OrgCode" :disabled="operation!=='add'" style="width: 200px" />
      <el-form ref="dialogForm" inline :model="dialogForm" label-width="110px">
        <el-form-item label="工单编号:">
          <div style="width: 200px">{{ dialogForm.wo_code }}</div>
        </el-form-item>
        <el-form-item label="组织名称" prop="OrgName">
          <el-input v-model="dialogForm.OrgName" style="width: 200px" />
        <el-form-item label="产品编码:">
          <div style="width: 200px">{{ dialogForm.partcode }}</div>
        </el-form-item>
        <el-form-item prop="SupUnit" label="上级单位">
        <el-form-item label="产品名称:">
          <div style="width: 200px">{{ dialogForm.partname }}</div>
        </el-form-item>
        <el-form-item label="产品规格:">
          <div style="width: 200px">{{ dialogForm.partspec }}</div>
        </el-form-item>
        <el-form-item label="当前工序:">
          <div style="width: 200px">{{ dialogForm.stepname }}</div>
        </el-form-item>
        <el-form-item label="工序描述:">
          <!--          <el-tooltip   class="item" effect="dark" content="原材料切按材料切按材料切按时打卡数据的卡" placement="top-start">-->
          <div style="width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
            {{ dialogForm.stepdesc }}
          </div>
          <!--          </el-tooltip>-->
        </el-form-item>
        <el-form-item label="任务数量:">
          <div style="width: 200px">{{ dialogForm.planqty }}</div>
        </el-form-item>
        <el-form-item :label="dialogTitle==='自制开始'||dialogTitle==='自制报工'?'未报/已报:':'未发/已发:'">
          <div style="width: 200px">{{ dialogForm.noreportqty }}/{{ dialogForm.reportqty }}</div>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制开始'" label="开工数量:">
          <div style="width: 200px">1000</div>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制开始'" label="生产设备:">
          <el-select
            v-model="dialogForm.SupUnit"
            style="width: 200px"
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
            :popper-append-to-body="false"
          >
            <el-option
              v-for="item in SupUnitArr"
              :key="item.code"
              :label="item.name"
              :value="item.code"
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="下道工序:">
          <div style="width: 200px">B工序</div>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="设备名称:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="生产班组:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.group_code"
              :label="item.group_name"
              :value="item.group_code"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="报工数量:">
          <el-input v-model="dialogForm.OrgName" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="不良数量:">
          <el-input v-model="dialogForm.OrgName" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
        </el-form-item>
        <el-form-item v-if="dialogTitle==='自制报工'" label="不良原因:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <div v-if="dialogTitle==='自制报工'">
          <i class="el-icon-s-operation" style="color:#42b983;" /> 人员列表
          <el-button type="primary" style="margin: 10px 0" @click="userAdd">增行</el-button>
          <el-table
            :data="userTableData"
            border
            stripe
            :header-cell-style="this.$headerCellStyle"
            :cell-style="this.$cellStyle"
            height="180"
            highlight-current-row
            style="width: 100%"
          >
            <el-table-column
              prop="RowNum"
              label="序号"
            />
            <el-table-column
              prop="name"
              label="人员名称"
            >
              <template slot-scope="{row}">
                <div v-if="row.isVisible===0">{{ row.name }}</div>
                <el-input v-if="row.isVisible===1" v-model="row.name" />
                <!--                <el-select-->
                <!--                  v-if="row.isVisible===1"-->
                <!--                  v-model="dialogForm.OrgType"-->
                <!--                  style="width: 200px;"-->
                <!--                  placeholder="请选择"-->
                <!--                >-->
                <!--                  <el-option-->
                <!--                    v-for="item in options"-->
                <!--                    :key="item.value"-->
                <!--                    :label="item.label"-->
                <!--                    :value="item.value"-->
                <!--                  />-->
                <!--                </el-select>-->
              </template>
            </el-table-column>
            <el-table-column
              prop="RowNum"
              label="操作"
            >
              <template slot-scope="{row}">
                <div class="operationClass">
                  <el-button v-if="row.isVisible===0" type="text" @click="userDel(row)">删除</el-button>
                  <el-button v-if="row.isVisible===1" type="text" @click="userSave(row)">保存</el-button>
                  <el-button v-if="row.isVisible===1" type="text" @click="userCancel(row)">取消</el-button>
                </div>
              </template>
            </el-table-column>
          </el-table>
          <!--分页-->
          <pagination
            v-show="UserTotal>0"
            :total="UserTotal"
            :page.sync="Userform.page"
            :limit.sync="Userform.rows"
            align="right"
            layout="prev, pager, next,sizes"
            popper-class="select_bottom"
            @pagination="getMesOrderStepSearch"
          />
        </div>
        <el-form-item v-if="dialogTitle==='外协发料'" label="外协供方:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协发料'" label="发料人员:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
            multiple
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协发料'" label="发料数量:">
          <el-input v-model="dialogForm.OrgName" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px;" />
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协收料'" label="下道工序:">
          <div style="width: 200px">B工序</div>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协收料'" label="外协供方:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协收料'" label="收料人员:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
            multiple
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协收料'" label="收料数量:">
          <el-input
            v-model="dialogForm.OrgName"
            style="width: 200px"
            oninput="value=value.replace(/[^0-9.]/g,'')"
          />
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协收料'" label="不良原因:">
          <el-select
            v-model="dialogForm.OrgType"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button @click="dialogVisibleCancel">取 消</el-button>
          <el-button type="primary" @click="dialogVisibleConfirm">确 定</el-button>
          <el-button v-if="dialogTitle==='自制开始'" type="primary" @click="dialogVisibleConfirm">开 工</el-button>
          <el-button v-if="dialogTitle==='自制报工'" type="primary" @click="dialogVisibleConfirm">提交/打印</el-button>
          <el-button v-if="dialogTitle==='外协发料'" type="primary" @click="dialogVisibleConfirm">发料</el-button>
          <el-button v-if="dialogTitle==='外协收料'" type="primary" @click="dialogVisibleConfirm">收料/打印</el-button>
        </div>
      </span>
    </el-dialog>
@@ -303,11 +595,18 @@
import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
import { getCookie } from '@/utils/auth'
import $ from 'jquery'
import { MesOrderStepSearch } from '@/api/scgl'
import {
  MesOrderGroupSelectUser,
  MesOrderStepReportSelectUserGroup,
  MesOrderStepSearch, MesOrderStepStart,
  MesOrderStepStartSelectEqp,
  MesOrderWxStepSearch
} from '@/api/scgl'
import { MesOrderStepSelectWX } from '@/api/sbgl'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
  name: 'Zzjg',
  name: 'SCKBG',
  components: {
    Pagination
  },
@@ -334,57 +633,113 @@
      mainHeight: 0,
      tableHeight: 0,
      produceCode: '', // 工序码
      WXproduceCode: '', // 外协工序码
      radioSelected: '', // 工序选中
      WXradioSelected: '', // 工序选中
      form: {
        orderstepqrcode: '', // 扫描的二维码信息
        prop: 'lm_date', // 排序字段
        order: 'desc', // 排序字段
        orderstepqrcode: 'PO202206280001_4;Step01', // 扫描的二维码信息
        prop: 'wo', // 排序字段
        order: 'asc', // 排序字段
        page: 1, // 第几页
        rows: 20 // 每页多少条
      },
      total: 10,
      tableData: [],
      dialogVisible: false,
      dialogForm: {
        OrgType: '',
        OrgCode: '',
        OrgName: '',
        SupUnit: ''// 上级单位
      WXform: { // 外协表单
        // PO202206280001_4;Step01
        orderstepqrcode: 'PO202206280001_4;Step01', // 扫描的二维码信息
        prop: 'wo_code', // 排序字段
        order: 'asc', // 排序字段
        page: 1, // 第几页
        rows: 20 // 每页多少条
      },
      operation: '',
      dialogFormRules: {
        OrgType: [
          { required: true, message: '请输入选择类型', trigger: ['blur', 'change'] }
        ],
        OrgCode: [
          { required: true, validator: validateName, trigger: ['blur', 'change'] }
        ],
        OrgName: [
          { required: true, message: '请输入名称', trigger: ['blur', 'change'] }
        ],
        SupUnit: [
          { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
        ]
      WXtotal: 10, // 外协表单总数
      WXtableData: [], // 外协表
      WXSelectArr: [// 外协类型下拉列表
        { code: 'OUT', name: '发料' },
        { code: 'IN', name: '收料' }
      ],
      WXSelected: 'OUT', // 外协下拉列表选中值
      judgeIsDialog: false, // 判断是否自动弹窗
      judgeIsDialogNumber: false, // 判断弹哪个窗
      dialogVisible: false,
      dialogTitle: '', // 自制开始、自制报工、外协发料、外协收料
      dialogForm: {
        wo_code: '', // 工单编号
        partcode: '', // 产品编码
        partname: '', // 产品名称
        partspec: '', // 产品规格
        stepname: '', // 当前工序名
        nextstepname: '', // 下一道工序名
        stepdesc: '', // 工序描述
        planqty: '', // 任务数量
        reportqty: '', // 已报数量
        noreportqty: '', // 未报数量
        startqty: '' // 发料数量
        // eqpcode: '', // 设备编码
        // usergroupcode: '', // 班组编码
        // reportuser: '', // 报工人员
        // taskqty: '', // 任务数量
        // startqty: '', // 开工数量
        // reportqty: '', // 报工数量
        // ngqty: '' // 不良数量
      },
      userTableData: [
        { RowNum: 1, name: '张三' },
        { RowNum: 2, name: '李四' }
      ], // 人员列表
      UserTotal: 0,
      Userform: {
      }
      // operation: '',
      // dialogFormRules: {
      //   OrgType: [
      //     { required: true, message: '请输入选择类型', trigger: ['blur', 'change'] }
      //   ],
      //   OrgCode: [
      //     { required: true, validator: validateName, trigger: ['blur', 'change'] }
      //   ],
      //   OrgName: [
      //     { required: true, message: '请输入名称', trigger: ['blur', 'change'] }
      //   ],
      //   SupUnit: [
      //     { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
      //   ]
      // }
    }
  },
  created() {
    this.getMesOrderStepSearch()
    // this.getMesOrderStepSearch()
    this.tabClick()
  },
  mounted() {
    window.addEventListener('resize', this.getHeight)
    this.getHeight()
    this.$nextTick(() => {
      $("input[name='produceCode']").focus()
      $("input[name='produceCode']")[0].focus()
    })
  },
  methods: {
    async getMesOrderStepSearch() {
      // const res = await MesOrderStepSearch(this.form)
      // this.tableData = res.data
      // this.total = res.count
      const res = await MesOrderStepSearch(this.form)
      if (res.code === '200') {
        this.tableData = res.data
        this.total = res.count
      }
    },
    async getMesOrderWxStepSearch() {
      const res = await MesOrderWxStepSearch(this.WXform)
      if (res.code === '200') {
        this.WXtableData = res.data
      }
    },
    // 排序改变时
    sortChange({ column, prop, order }) {
@@ -399,18 +754,167 @@
      this.form.prop = prop
      this.getMesOrderStepSearch()
    },
    getCurrentRow() {
    // WX排序改变时
    WXsortChange({ column, prop, order }) {
      if (order === 'descending') {
        order = 'desc'
      } else if (order === 'ascending') {
        order = 'asc'
      } else {
        order = 'desc'
      }
      this.WXform.order = order
      this.WXform.prop = prop
      this.getMesOrderWxStepSearch()
    },
    // 自制页签原点点击
    getCurrentRow(val) {
    },
    // 外协页签原点点击
    getWXCurrentRow(val) {
      console.log(val)
      this.WXradioSelected = val
    },
    // tab按钮切换鼠标自动聚焦
    tabClick(val, d) {
      console.log(val, d, 1)
      if (this.$refs.elTabs.currentName === '0') {
        this.$nextTick(() => {
          $("input[name='produceCode']")[0].focus()
        })
      }
      if (this.$refs.elTabs.currentName === '1') {
        this.$nextTick(() => {
          $("input[name='WXproduceCode']")[0].focus()
        })
      }
    },
    // 扫码键盘回车事件
    async   enterNative(val, belong) {
      console.log(val, belong)
      // 开工:code="200"  count=0
      // 报工:code="200"  count=1
      // 发料:code="200"  count=2
      // 收料:code="200"  count=3
      // 走列表形式 code="200"  count=4
      if (belong === 'produceCode') {
        // this.ZZreport()
        // 查找设备
        // const {data:res} = await MesOrderStepStartSelectEqp({ orderstepqrcode: this.produceCode })
        // this.xxx=res
        // 查找班组
        // const { data: res2 } = await MesOrderStepReportSelectUserGroup()
      }
      if (belong === 'WXproduceCode') {
        const data = {
          OperType: 'WX',
          orderstepqrcode: this.WXform.orderstepqrcode,
          SelectType: this.WXSelected// OUT、IN
        }
        const res = await MesOrderStepStart(data)
        if (res.code === '200' && res.count === 2) {
          this.WXsend(res.data)
        }
      }
    },
    // 查询
    search() {
      this.getMesOrderStepSearch()
    },
    upload() {
    // 自制开始
    async  ZZstart() {
      this.dialogTitle = '自制开始'
      // this.dialogVisible = true
      this.dialogVisibleTrue()
      const res = await MesOrderStepStartSelectEqp({ orderstepqrcode: produceCode })
    },
    // 自制报工
    ZZreport() {
      this.dialogTitle = '自制报工'
      // this.dialogVisible = true
      this.dialogVisibleTrue()
      this.getUserTableData()
    },
    // 外协发料
    async  WXsend(obj) {
      if (this.WXradioSelected.length < 1 && obj.length < 1) {
        return this.$message.info('请先选择工序!')
      }
      this.dialogTitle = '外协发料'
      this.dialogVisible = true
      console.log(obj, 321)
      this.dialogForm.wo_code = obj.wo_code
      this.dialogForm.partcode = obj.partnumber
      this.dialogForm.partname = obj.partname
      this.dialogForm.partspec = obj.partspec
      this.dialogForm.stepname = obj.stepname
      this.dialogForm.stepdesc = obj.stepdesc
      this.dialogForm.planqty = obj.planqty
      this.dialogForm.reportqty = obj.reportqty
      this.dialogForm.noreportqty = obj.noreportqty
      this.dialogForm.startqty = obj.startqty
      // const data = {
      //
      // }
      // const res = await MesOrderStepSelectWX(data)
      // console.log(res)
    },
    // 外协收料
    WXback() {
      this.dialogTitle = '外协收料'
      this.dialogVisibleTrue()
      // this.dialogVisible = true
    },
    dialogVisibleTrue() {
      // this.dialogVisible = true
      // this.dialogForm.wo_code=
    },
    // 报工查询用户表
    async getUserTableData() {
      // const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: 'SC01' })
      this.userTableData.forEach(item => {
        let number = Math.random() * Math.random()// 作为删除时的标识符
        number = number === 0 ? (10 + Math.random()) : number
        item.isVisible = 0
        item.number = number
      })
    },
    // 用户添加
    userAdd() {
      let number = Math.random() * Math.random()// 作为删除时的标识符
      number = number === 0 ? (10 + Math.random()) : number
      this.userTableData.unshift({ name: '', isVisible: 1, number: number })
    },
    // 用户列表删除
    userDel(row) {
      this.userTableData.forEach((item, index) => {
        if (item.number === row.number) {
          this.userTableData.splice(index, 1)
        }
      })
    },
    // 用户列表保存
    userSave(row) {
      this.userTableData.forEach(item => {
        if (item.number === row.number) {
          item.isVisible = 0
        }
      })
    },
    // 用户列表取消
    userCancel(row) {
      this.userTableData.forEach((item, index) => {
        if (item.number === row.number) {
          this.userTableData.splice(index, 1)
        }
      })
    },
    // 重置
    reset() {
      this.dialogTitle = ''
      this.form.OrgCode = ''
      this.form.OrgName = ''
      this.form.OrgType = ''
@@ -418,39 +922,6 @@
      this.getMesOrderStepSearch()
    },
    // 新增按钮
    add(operation) {
      this.operation = operation
      this.dialogVisible = true
    },
    // 修改按钮
    edit(operation, row) {
      this.operation = operation
      this.dialogVisible = true
      this.$nextTick(() => {
        this.dialogForm.OrgCode = row.org_code
        this.dialogForm.OrgName = row.org_name
        this.dialogForm.SupUnit = row.parent_id
      })
    },
    // 删除按钮
    async del(row) {
      this.$confirm('是否确认删除?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        DeleteOrganization({ orgid: row.code }).then(res => {
          if (res.code === '200') {
            this.$message.success('删除成功!')
            this.getMesOrderStepSearch()
          }
        })
      }).catch(() => {
        this.$message.info('已取消删除')
      })
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.OrgType = ''
@@ -462,34 +933,43 @@
    // 对话框取消
    dialogVisibleCancel() {
      this.dialogVisible = false
      // if (this.dialogTitle === '自制开始'||this.dialogTitle === '自制报工') {
      //   this.tabClick('0')
      // }
      // if (this.dialogTitle === '外协发料'||this.dialogTitle === '外协收料') {
      //   this.tabClick('1')
      // }
      this.tabClick()
    },
    // 对话框确认
    dialogVisibleConfirm() {
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          const data = {
            OrganCode: this.dialogForm.OrgCode,
            OrganName: this.dialogForm.OrgName,
            OperType: this.operation === 'add' ? 'Add' : 'Update',
            Operator: getCookie('admin')
          }
          AddUpdateOrganization(data).then(res => {
            if (res.code === '200') {
              this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!')
              this.dialogVisible = false
              this.getMesOrderStepSearch()
            } else {
              this.$message.error(this.operation === 'add' ? '添加失败!' : '修改失败!')
            }
          })
        }
      })
      // this.$refs.dialogForm.validate(valid => {
      //   if (valid) {
      //     const data = {
      //       OrganCode: this.dialogForm.OrgCode,
      //       OrganName: this.dialogForm.OrgName,
      //       Operator: getCookie('admin')
      //     }
      //     // this.tabClick()
      //     // AddUpdateOrganization(data).then(res => {
      //     //   if (res.code === '200') {
      //     //     // this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!')
      //     //     this.dialogVisible = false
      //     //     this.getMesOrderStepSearch()
      //     //   } else {
      //     //     // this.$message.error(this.operation === 'add' ? '添加失败!' : '修改失败!')
      //     //   }
      //     // })
      //   }
      // })
      this.tabClick()
      this.dialogVisible = false
    },
    // 获取页面高度
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 250
        this.tableHeight = this.mainHeight - 100
        this.tableHeight = this.mainHeight - 80
      })
    }
  }
@@ -507,9 +987,11 @@
  border: none;
  padding: 0 20px;
}
::v-deep .el-button--primary:hover {
  border: none;
}
::v-deep .el-button--info {
  height: 30px;
  display: flex;
@@ -565,6 +1047,7 @@
  height: 30px;
  line-height: 30px;
}
::v-deep .el-input__inner:focus {
  border-color: $main_color;
}
@@ -641,18 +1124,32 @@
  border-color: $main_color;
}
::v-deep .el-select .el-input__inner:focus{
::v-deep .el-select .el-input__inner:focus {
  border-color: $main_color;
}
::v-deep .el-select-dropdown__item.selected{
::v-deep .el-select-dropdown__item.selected {
  color: $main_color;
}
::v-deep .el-checkbox__inner:hover{
  border-color: $main_color;
}
::v-deep .el-textarea__inner:focus{
::v-deep .el-checkbox__inner:hover {
  border-color: $main_color;
}
::v-deep .el-textarea__inner:focus {
  border-color: $main_color;
}
//.dialogVisible{
  ::v-deep .el-select .el-input .el-select__caret  {
    display: flex;
    align-items: center;
    justify-content: center;
  }
//}
.elTableDiv {
  ::v-deep .el-radio__label {
    display: none;
  }
}
</style>