loulijun2021
2022-09-07 ef9633e0d1689fd8869170f3aa0af6c90c2e5e7f
src/views/scgl/gd.vue
@@ -8,7 +8,7 @@
          <el-button type="primary" icon="el-icon-connection" @click="send('send')">派发</el-button>
        </div>
        <el-button icon="el-icon-switch-button" @click="orderClose">工单关闭</el-button>
        <el-button icon="el-icon-switch-button" @click="orderClose">关闭工单</el-button>
      </div>
      <div class="bodyTopFormGroup">
@@ -57,28 +57,21 @@
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>            </el-form-item>
              </el-select>
            </el-form-item>
            <el-form-item label="产品编码" style=" display: flex;">
              <!--              <el-select v-model="form.partcode" :popper-append-to-body="false" style="width: 200px" placeholder="请选择">-->
              <!--                <el-option-->
              <!--                  v-for="item in OrgTypeArr"-->
              <!--                  :key="item.code"-->
              <!--                  :label="item.name"-->
              <!--                  :value="item.code"-->
              <!--                />-->
              <!--              </el-select>-->
              <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入" />
            </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" style="width: 200px" placeholder="请输入" />
            </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.partspec" style="width: 200px" placeholder="请输入" />
            </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.creatuser" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item label="创建时间" style=" display: flex;">
            <el-form-item v-show="isExpandForm" label="创建时间" style=" display: flex;">
              <!--              <el-date-picker-->
              <!--                v-model="form.createdate"-->
              <!--                type="daterange"-->
@@ -99,7 +92,7 @@
              />
            </el-form-item>
          </div>
          <div style="min-height: 100px">
          <div>
            <div style="display: flex;align-items: start;justify-content:end;margin-top: 5px;z-index: 2">
              <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button>
              <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
@@ -121,17 +114,27 @@
        </el-form>
      </div>
      <div class="elTableDiv">
      <div
        class="bodyTopFormExpand"
        @click="isExpandForm=!isExpandForm"
      >
        <i
          :class="!isExpandForm?'el-icon-arrow-down':'el-icon-arrow-up'"
          :style="{color:'#42B983'}"
        /></div>
      <div class="elTableDiv" style="margin-top: 0">
        <el-table
          :data="tableData"
          :height="tableHeight+'px'"
          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
          border
          :row-class-name="tableRowClassName"
          :style="{width: 100+'%',height:tableHeight+'px',}"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px'}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sortChange"
          @row-click="rowClick"
        >
          <!--          <el-table-column-->
          <!--            type="selection"-->
@@ -145,7 +148,7 @@
              <el-radio
                v-model="radioSelected"
                :label="row.wo_code"
                style="color: transparent;padding-left: 10px; margin-right: -25px;"
                style="color: transparent;padding-left: 10px;"
                @change.native="getCurrentRow(row.wo_code)"
              />
            </template>
@@ -238,15 +241,25 @@
          <el-table-column
            prop="route_name"
            label="工艺路线"
            show-tooltip-when-overflow
            sortable="custom"
            min-width="130"
            width="180"
          >
            <template slot-scope="{row}">
              <div v-if="row.route_name">{{ row.route_name }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <!--          <el-table-column-->
          <!--            prop="route_name"-->
          <!--            label="关联工艺路线"-->
          <!--            min-width="110"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <i v-if="row.route_name" class="el-icon-share" @click="routeClick(row)" />-->
          <!--              <i v-else style="color:rgb(180 ,181, 185)" class="el-icon-share" @click="routeClick(row)" />-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            prop="plan_startdate"
            label="计划开始时间"
@@ -301,11 +314,16 @@
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip class="item" effect="dark" content="工序任务" placement="top">
                <el-tooltip class="item" effect="dark" content="打印工单" placement="top">
                  <!--                  <i-->
                  <!--                    class="el-icon-tickets"-->
                  <!--                    style="cursor: pointer;color: #42b983;margin-right: 15px"-->
                  <!--                    @click="check(row)"-->
                  <!--                  />-->
                  <i
                    class="el-icon-tickets"
                    style="cursor: pointer;color: #42b983;margin-right: 15px"
                    @click="check(row)"
                    @click="handlePrint(row.wo_code)"
                  />
                </el-tooltip>
                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">
@@ -326,6 +344,81 @@
        popper-class="select_bottom"
        @pagination="getMesOrderSearch"
      />
      <div class="elTableDiv">
        <el-table
          :data="tableDataDetail"
          border
          height="161px"
          :row-class-name="tableRowClassName"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
        >
          <!--          <el-table-column-->
          <!--            width="50"-->
          <!--            type="index"-->
          <!--            prop="序号"-->
          <!--            fixed-->
          <!--          />   -->
          <el-table-column
            width="50"
            prop="seq"
            label="序号"
            fixed
          />
          <el-table-column
            prop="wo_code"
            label="工单编号"
          />
          <el-table-column
            prop="partcode"
            label="产品编码"
          />
          <el-table-column
            prop="partname"
            label="产品名称"
          />
          <el-table-column
            label="工序编码"
            prop="partcode"
          />
          <el-table-column
            label="工序名称"
            prop="partname"
          />
          <el-table-column
            label="任务数量"
            prop="plan_qty"
          />
          <el-table-column
            label="合格数量"
            prop="good_qty"
          />
          <el-table-column
            label="不良数量"
            prop="ng_qty"
          />
          <el-table-column
            label="操作"
            width="120"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip class="item" effect="dark" content="打印工序" placement="top">
                  <i
                    class="el-icon-tickets"
                    style="cursor: pointer;color: #42b983;margin-right: 15px"
                    @click="supplementSmallClick(row)"
                  />
                </el-tooltip>
              </div>
            </template>
          </el-table-column>
        </el-table>
      </div>
    </div>
    <!--新增派发对话框-->
    <el-dialog
@@ -376,8 +469,9 @@
              style="width: 200px"
              :disabled="operation!=='add'"
              placeholder="请选择"
              @change="mesordertypeChange"
            >
              <!--            @change="mesordertypeChange"-->
              <el-option
                v-for="item in ordertypeArr"
                :key="item.code"
@@ -398,7 +492,7 @@
              type="primary"
              style="padding: 0 10px;margin-left: -8px;margin-top: 3px"
              class="el-icon-search"
              :disabled="operation!=='add'"
              :disabled="operation!=='add'||dialogForm.ordertype==='PO'"
              @click="mesordertsourcesearchclick"
            />
          </div>
@@ -436,7 +530,7 @@
        <el-form-item v-if="operation!=='add'" label="产品名称" prop="partname">
          <el-input v-model="dialogForm.partname" disabled style="width: 200px" />
        </el-form-item>
        <el-form-item label="产品编码" prop="partcode">
        <el-form-item label="产品编码">
          <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />
        </el-form-item>
        <el-form-item label="产品规格" prop="partspec">
@@ -694,6 +788,44 @@
          style="display: flex;justify-content: space-between"
        >
          <div class="elForm">
            <el-form-item
              label="预计开工时间"
              label-width="100px"
              style=" display: flex;font-size: 14px;margin-top: 3px"
            >
              <el-date-picker
                v-model="sourceForm.paystartdate"
                type="daterange"
                range-separator="~"
                class="timeMini"
                size="mini"
                style="width: 200px;display: flex;line-height: 34px;height: 34px;font-size: 14px!important;"
                :clearable="false"
                start-placeholder="开始日期"
                end-placeholder="结束日期"
              />
              <!--              :picker-options="expireTimeOption"-->
            </el-form-item>
            <el-form-item
              label="预计完工时间"
              label-width="100px"
              style=" display: flex;font-size: 14px;margin-top: 3px"
            >
              <el-date-picker
                v-model="sourceForm.payenddate"
                type="daterange"
                :clearable="false"
                class="timeMini"
                range-separator="~"
                start-placeholder="开始日期"
                style="width: 200px;display: flex;line-height: 34px ;height: 34px ;font-size: 14px !important;"
                end-placeholder="结束日期"
                size="mini"
              />
            </el-form-item>
            <el-form-item label="订单状态" style=" display: flex;">
              <el-select
                v-model="sourceForm.erporderstus"
@@ -710,59 +842,21 @@
                />
              </el-select>
            </el-form-item>
            <el-form-item label="订单编号" style=" display: flex;">
            <el-form-item v-show="isExpandDialog" label="订单编号" style=" display: flex;">
              <el-input v-model="sourceForm.erpordercode" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="产品编码" style=" display: flex;">
            <el-form-item v-show="isExpandDialog" label="产品编码" style=" display: flex;">
              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item v-show="isExpand" label="产品名称" style=" display: flex;">
            <el-form-item v-show="isExpandDialog" label="产品名称" style=" display: flex;">
              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item v-show="isExpand" label="产品规格" style=" display: flex;">
            <el-form-item v-show="isExpandDialog" label="产品规格" style=" display: flex;">
              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item v-show="isExpand" label="创建人员" style=" display: flex;">
            <el-form-item v-show="isExpandDialog" label="创建人员" style=" display: flex;">
              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item
              v-show="isExpand"
              label="预计开工时间"
              label-width="100px"
              style=" display: flex;font-size: 14px;margin-top: 3px"
            >
              <el-date-picker
                v-model="sourceForm.paystartdate"
                type="daterange"
                range-separator="~"
                class="timeMini"
                size="mini"
                style="width: 250px;display: flex;line-height: 34px;height: 34px;font-size: 14px!important;"
                :clearable="false"
                start-placeholder="开始日期"
                end-placeholder="结束日期"
              />
              <!--              :picker-options="expireTimeOption"-->
            </el-form-item>
            <el-form-item
              v-show="isExpand"
              label="预计完工时间"
              label-width="100px"
              style=" display: flex;font-size: 14px;margin-top: 3px"
            >
              <el-date-picker
                v-model="sourceForm.payenddate"
                type="daterange"
                :clearable="false"
                class="timeMini"
                range-separator="~"
                start-placeholder="开始日期"
                style="width: 250px;display: flex;line-height: 34px ;height: 34px ;font-size: 14px !important;"
                end-placeholder="结束日期"
                size="mini"
              />
            </el-form-item>
          </div>
@@ -774,14 +868,14 @@
          </div>
        </el-form>
      </div>
      <!--      <el-tooltip  :content="!isExpand?'点击展示更多':'收起'" placement="bottom">-->
      <!--      <el-tooltip  :content="!isExpandDialog?'点击展示更多':'收起'" placement="bottom">-->
      <div
        style="display:flex;justify-content: center;
          align-items:center;background-color:#eee;cursor: pointer"
        @click="isExpand=!isExpand"
        @click="isExpandDialog=!isExpandDialog"
      >
        <i
          :class="!isExpand?'el-icon-arrow-down':'el-icon-arrow-up'"
          :class="!isExpandDialog?'el-icon-arrow-down':'el-icon-arrow-up'"
          :style="{color:'#42B983'}"
        /></div>
      <!--      </el-tooltip>-->
@@ -809,7 +903,7 @@
              <el-radio
                v-model="radioSelectedId"
                :label="row.id"
                style="color: transparent;padding-left: 15px; margin-right: -25px;"
                style="color: transparent;padding-left: 10px;"
                @change.native="getCurrentRowSource(row.id)"
              />
            </template>
@@ -986,36 +1080,36 @@
            <el-form
              ref="formApprove"
              :model="formApprove"
              label-width="100px"
              label-width="80px"
              inline
              style="display: flex;justify-content: space-between"
            >
              <div class="elForm">
                <el-form-item label="工单编号:" class="formContent">
                <el-form-item label="工单编号:" class="formContent">
                  {{ formApprove.mesordercode }}
                </el-form-item>
                <el-form-item label="源单单号:" class="formContent">
                <el-form-item label="源单单号:" class="formContent">
                  {{ formApprove.m_po }}
                </el-form-item>
                <el-form-item label="产品编码:" class="formContent">
                <el-form-item label="产品编码:" class="formContent">
                  {{ formApprove.partcode }}
                </el-form-item>
                <el-form-item label="产品名称:" class="formContent">
                <el-form-item label="产品名称:" class="formContent">
                  {{ formApprove.partname }}
                </el-form-item>
                <el-form-item label="产品规格:" class="formContent">
                <el-form-item label="产品规格:" class="formContent">
                  {{ formApprove.partspec }}
                </el-form-item>
                <el-form-item label="工单数量:" class="formContent">
                <el-form-item label="工单数量:" class="formContent">
                  {{ formApprove.plan_qty }}
                </el-form-item>
                <el-form-item label="工艺路线:" class="formContent">
                <el-form-item label="工艺路线:" class="formContent">
                  {{ formApprove.routename }}
                </el-form-item>
                <el-form-item label="打印人员:" class="formContent">
                <el-form-item label="打印人员:" class="formContent">
                  {{ username }}
                </el-form-item>
                <el-form-item label="打印时间:" class="formContent">
                <el-form-item label="打印时间:" class="formContent">
                  {{ formApprove.lm_date }}
                </el-form-item>
              </div>
@@ -1188,6 +1282,122 @@
      </span>
    </el-dialog>
    <!--    工艺路线对话框-->
    <el-dialog
      :close-on-click-modal="false"
      title="关联工艺路线"
      :visible.sync="dialogVisibleRoute"
      width="800px"
      top="10vh"
      :fullscreen="isIpad"
      class="dialogVisibleRoute"
      @closed="handleCloseRoute"
      @close="handleCloseRoute"
    >
      <div>
        <i class="el-icon-s-comment" style="color:#42b983;" /> 产品名称:{{ dialogFormRoute.projectName }}
      </div>
      <el-divider />
      <div style="margin-bottom: 10px">
        <i class="el-icon-s-operation" style="color:#42b983;" /> 工艺路线集合
      </div>
      <div class="myCheckboxGroup">
        <div
          v-for="item in dialogFormRoute.routeOperationArr"
          :key="item.code"
          :style="{border:item.isSelected1?'1px solid #42b983':'1px solid #eee'}"
          class="myCheckbox"
          @click="myCheckboxClick(item)"
        >
          <input
            class="myCheckboxInput"
            type="checkbox"
            :value="item.code"
            :name="item.name"
            :style="{color:item.isSelected2?'#42b983':'#fff'}"
            @click="myCheckboxInputClick(item)"
          >{{ item.name }}
          <!--            父子点击事件不影响-->
          <!--            onClick="event.cancelBubble = true"-->
        </div>
      </div>
      <el-divider />
      <div>
        <i class="el-icon-s-operation" style="color:#42b983;" /> 默认工艺路线
      </div>
      <div style="margin-top: 20px">
        <el-select
          v-model="defaultroute_code"
          filterable
          style="width: 200px;"
          placeholder="请选择"
          class="defaultroute_code"
        >
          <el-option
            v-for="item in defaultroute_codeArr"
            :key="item.code"
            :label="item.name"
            :value="item.code"
          />
        </el-select>
      </div>
      <el-divider />
      <div style="margin-bottom: 10px">
        <i class="el-icon-s-operation" style="color:#42b983;" /> 工序列表
      </div>
      <div style="overflow-y: scroll">
        <el-table
          ref="projectTableData"
          :data="projectTableData"
          border
          height="280"
          :row-class-name="tableRowClassName"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
        >
          <el-table-column
            prop="seq"
            width="100"
            label="工序序号"
            fixed
          />
          <el-table-column
            prop="stepcode"
            label="工序编码"
          />
          <el-table-column
            prop="stepname"
            label="工序名称"
          />
          <el-table-column
            prop="enable"
            label="启用状态"
            fixed="right"
          >
            <template slot-scope="{row}">
              <div v-if="row.enable==='Y'">
                <svg-icon icon-class="circleYes" style="margin-right: 2px" />
                是
              </div>
              <div v-if="row.enable==='N'">
                <svg-icon icon-class="circleNo" style="margin-right: 2px" />
                否
              </div>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button @click="routeDialogVisibleCancel">取 消</el-button>
          <el-button type="primary" @click="routeDialogVisibleConfirm">确 定</el-button>
        </div>
      </span>
    </el-dialog>
  </div>
</template>
@@ -1200,31 +1410,20 @@
  MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep,
  SelectRouteStep
} from '@/api/scgl'
import { PartSelect } from '@/api/zzmx'
import { handleDatetime, handleDatetime2 } from '@/utils/global'
import { InventoryFileAssociationRoute, PartSelect, SaveInventoryFile } from '@/api/zzmx'
import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global'
import { getCookie } from '@/utils/auth'
import { MesOrderPrintSearch1, PrintOrder } from '@/api/utils'
import { urlAddRandomNo, webapp_ws_ajax_run, webapp_ws_autoupdate } from '@/utils/grwebapp'
import QRCode from 'qrcodejs2'
import $ from 'jquery'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
  name: 'GD',
  components: {
    Pagination
  },
  data() {
    const validateName = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('请输入编码'))
      } else {
        if (SER_HZ.test(value)) {
          return callback(new Error('编码不能为中文'))
        } else {
          callback()
        }
      }
    }
    return {
      isIpad: false,
      mainHeight: 0,
@@ -1300,7 +1499,7 @@
          { required: true, message: '请选择产品信息', trigger: ['blur', 'change'] }
        ],
        mesordercode: [
          { required: true, validator: validateName, trigger: ['blur', 'change'] }
          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
        ],
        mesqty: [
          { required: true, message: '请输入工单数量', trigger: ['blur', 'change'] }
@@ -1413,7 +1612,18 @@
      },
      sourceFormTotal: 10,
      radioSelectedId: '',
      isExpand: false// 是否张开,默认不展开
      isExpandDialog: false, // 对话框表单是否展开,默认不展开
      dialogVisibleRoute: false,
      dialogFormRoute: {
        projectName: '', // 产品名称
        projectCode: '', // 产品代码
        routeOperationArr: [] // 工艺路线集合
      },
      defaultroute_code: '', // 默认工艺路线选中值
      defaultroute_codeArr: '', // 默认工艺路线数组
      projectTableData: [], // 设备列表
      isExpandForm: false, // 表单是否展开,默认不展开
      tableDataDetail: []// 点击工单表的行 显示详细信息
    }
  },
  created() {
@@ -1597,8 +1807,8 @@
        this.dialogForm.partname = row.partname
        this.dialogForm.mesqty = row.plan_qty
        this.dialogForm.partspec = row.partspec
        this.dialogForm.sourceorder = row.sourceorder
        this.dialogForm.ordertype = row.ordertype
        this.dialogForm.sourceorder = row.m_po
        this.dialogForm.ordertype = row.wotype
        // this.routecodeChange(this.dialogForm.routecode)
@@ -1609,7 +1819,6 @@
    },
    // 删除按钮
    async del(row) {
      console.log(row.status)
      if (row.status === 'START' || row.status === 'CLOSED') {
        return this.$message.info('此工单不可删除!')
      }
@@ -1620,14 +1829,17 @@
      }).then(() => {
        console.log(row, 1)
        const data = {
          souceid: row.sourceid,
          wocode: row.wo_code,
          m_po: row.m_po,
          orderqty: row.plan_qty
        }
        console.log(data, 2)
        DeleteMesOrder(data).then(res => {
          if (res.code === '200') {
            this.$message.success('删除成功!')
            if (this.form.page > 1 && this.tableData.length === 1) {
              this.form.page--
            }
            this.getMesOrderSearch()
          }
        })
@@ -1777,7 +1989,8 @@
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 260
        // this.tableHeight = this.mainHeight - 250
        this.tableHeight = this.mainHeight - 420
        if (window.innerHeight < 769) {
          this.tableHeight = this.tableHeight - 20
        }
@@ -1797,14 +2010,14 @@
      this.dialogVisibleSearch = false
    },
    // 处理打印
    handlePrint() {
    handlePrint(wo_code) {
      // const number = Math.random() * Math.random()
      // this.number = number === 0 ? (10 + Math.random()) : number
      // console.log(number)
      this.dialogVisibleApprove = true
      const data2 = {
        username: getCookie('admin'),
        mesordercode: this.dialogForm.mesordercode
        mesordercode: wo_code || this.dialogForm.mesordercode
      }
      MesOrderPrintSearch1(data2).then(res2 => {
        if (res2.code === '200') {
@@ -1833,6 +2046,7 @@
          })
        }
      })
      this.dialogVisibleApprove = true
    },
    dialogVisibleTaskClose() {
      this.dialogForm.mesordercode = ''
@@ -1909,17 +2123,21 @@
    // 补打小标签
    supplementSmallClick(row) {
      // let obj = {}
      this.taskTableData.forEach((item, index) => {
      console.log(row, 21)
      // this.taskTableData.forEach((item, index) => {
      this.tableDataDetail.forEach((item, index) => {
        if (item.seq === row.seq) {
          console.log(item)
          this.qrForm = {
            qrvalue: item.seq === this.taskTableData.length ? item.wo_code + ';' + item.stepcode : item.wo_code + ';' + this.taskTableData[item.seq].stepcode,
            startqty: item.seq === this.taskTableData.length ? item.plan_qty : this.taskTableData[item.seq].plan_qty,
            // qrvalue: item.seq === this.taskTableData.length ? item.wo_code + ';' + item.stepcode : item.wo_code + ';' + this.taskTableData[item.seq].stepcode,
            qrvalue: item.seq === this.tableDataDetail.length ? item.wo_code + ';' + item.stepcode : item.wo_code + ';' + this.tableDataDetail[item.seq].stepcode,
            // startqty: item.seq === this.taskTableData.length ? item.plan_qty : this.taskTableData[item.seq].plan_qty,
            startqty: item.seq === this.tableDataDetail.length ? item.plan_qty : this.tableDataDetail[item.seq].plan_qty,
            wo_code: item.wo_code,
            partcode: item.partcode,
            partname: item.partname,
            nextstepname: item.seq === this.taskTableData.length ? item.stepname : this.taskTableData[item.seq].stepname,
            // nextstepname: item.seq === this.taskTableData.length ? item.stepname : this.taskTableData[item.seq].stepname,
            nextstepname: item.seq === this.tableDataDetail.length ? item.stepname : this.tableDataDetail[item.seq].stepname,
            operator: getCookie('username'),
            operatorTime: handleDatetime2(new Date())
          }
@@ -1966,7 +2184,7 @@
      this.dialogVisibleSource = true
    },
    async   getErpOrderSearch() {
    async getErpOrderSearch() {
      let tempDate2 = this.sourceForm.paystartdate
      if (tempDate2.length > 0) {
        tempDate2 = handleDatetime(tempDate2[0]) + '~' + handleDatetime(tempDate2[1])
@@ -1995,7 +2213,7 @@
      }
      const res = await ErpOrderSearch(data)
      this.sourceTableData = res.data
      this.sourceTableData = res.data.filter(item => item.status !== 'NEW')
      this.sourceFormTotal = res.count
    },
    // 单选框选中获取当前行信息
@@ -2030,7 +2248,7 @@
      this.sourceForm.creatuser = ''
      this.sourceForm.createdate = ''
      this.isExpand = false
      this.isExpandDialog = false
      this.sourceTableData = []
    },
    dialogVisibleSourceBack() {
@@ -2041,17 +2259,194 @@
      this.sourceTableData.forEach(item => {
        if (item.id === this.radioSelectedId) {
          this.dialogForm.sourceorder = item.wo
          this.dialogForm.partcode = item.partcode
          this.dialogForm.partspec = item.partspec
        }
      })
      this.dialogVisibleSource = false
    }
      this.partcodeChange(this.dialogForm.partcode)
    },
    mesordertypeChange(val) {
      if (val === 'PO') {
        this.dialogForm.sourceorder = ''
        this.dialogForm.partcode = ''
        this.dialogForm.partspec = ''
      }
    },
    /* 关联工艺路线模块*/
    // 关联工艺路线
    async routeClick(row) {
      console.log(row)
      // this.defaultroute_code = row.default_route
      this.dialogFormRoute.projectCode = row.partcode
      this.dialogFormRoute.projectName = row.partname
      this.dialogVisibleRoute = true
      const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
      this.dialogFormRoute.routeOperationArr = res
      this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
        item.isSelected1 = false
        item.isSelected2 = false
        if (index === 0) {
          item.isSelected1 = true
          this.projectTableData = item.Data
        }
        if (item.flag === 'Y') {
          item.isSelected2 = true
          this.$nextTick(() => {
            $('input:checkbox').eq(index).prop('checked', true)
          })
        }
      })
      this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.flag === 'Y')
    },
    // 对话框关闭
    handleCloseRoute() {
      this.dialogFormRoute.routeOperationArr = []
      this.defaultroute_codeArr = []
      this.defaultroute_code = ''
      this.projectTableData = []
    },
    // 取消
    routeDialogVisibleCancel() {
      this.dialogVisibleRoute = false
    },
    // 确定
    async routeDialogVisibleConfirm() {
      const temp = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
      if (this.defaultroute_code === '' && temp.length > 0) {
        return this.$message.info('默认工艺路线不能为空!')
      }
      // 提交格式
      const data = []
      this.dialogFormRoute.routeOperationArr.forEach(item => {
        if (item.isSelected2) {
          data.push({ code: item.code, name: item.name })
        }
      })
      const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, this.defaultroute_code, data)
      if (res.code === '200') {
        this.$message.success('保存成功!')
        await this.getMesOrderSearch()
        this.dialogVisibleRoute = false
      }
    },
    // 大盒子点击事件
    myCheckboxClick(val) {
      console.log(val, 1)
      this.dialogFormRoute.routeOperationArr.forEach(item => {
        item.isSelected1 = val.code === item.code
      })
      this.projectTableData = val.Data
    },
    // 小盒子点击事件
    myCheckboxInputClick(val) {
      console.log(val, 2)
      val.isSelected2 = !val.isSelected2
      this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
        if (val.code === item.code) {
          item.flag = !item.flag
        }
      })
      if (val.code === this.defaultroute_code) {
        this.defaultroute_code = ''
      }
      this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
    },
    //  行点击事件
    async   rowClick(row, event, column) {
      console.log(row, event, column)
      console.log(row.wo_code, event, column)
      const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
      this.tableDataDetail = res
    },
    // 打印工单
    printOrder() {
    }
  }
}
</script>
<style lang="scss" scoped>
$main_color: #42b983;
.dialogVisibleRoute {
  .myCheckboxGroup {
    display: flex;
    flex-wrap: wrap;
    .myCheckbox {
      //border: 1px solid $main_color;
      border: 1px solid #eee;
      display: flex;
      min-width: 100px;
      padding: 10px;
      margin: 10px 30px 0 0;
      border-radius: 5px;
      cursor: default;
      .myCheckboxInput {
        margin: 1px 5px 0 0;
        cursor: pointer;
      }
    }
    //.myCheckbox{
    //  border: 1px solid $main_color;
    //}
    input[type=checkbox] {
      cursor: pointer;
      position: relative;
      width: 14px;
      height: 14px;
      font-size: 14px;
    }
    input[type=checkbox]::after {
      position: absolute;
      top: 0;
      //color: rgb(130, 35, 35);
      color: $main_color;
      width: 14px;
      height: 14px;
      display: inline-block;
      visibility: visible;
      padding-left: 0px;
      text-align: center;
      content: ' ';
      border-radius: 3px
    }
    input[type=checkbox]:checked::after {
      //content: "✓";
      content: "√";
      color: #fff;
      font-size: 12px;
      font-weight: bold;
      background-color: $main_color;
    }
  }
}
.dialogVisibleRoute {
  ::v-deep .el-dialog__body {
    padding: 20px 20px !important;
  }
}
.defaultroute_code ::v-deep .el-input__suffix-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -3px;
}
.el-date-editor {
  font-size: 14px;
@@ -2098,11 +2493,12 @@
  margin-bottom: 0;
}
.elTableDiv {
  ::v-deep .el-radio__label {
    display: none;
  }
//.elTableDiv {
::v-deep .el-radio__label {
  display: none;
}
//}
.el-table::before {
  height: 0;
@@ -2141,19 +2537,24 @@
<!--公共页面样式-->
<style lang="scss" scoped>
$main_color: #42b983;
::v-deep  .el-range-input{
::v-deep .el-range-input {
  font-size: 14px !important;
}
::v-deep .el-range__icon{
::v-deep .el-range__icon {
  line-height: 28px !important;
}
::v-deep .el-range-separator{
::v-deep .el-range-separator {
  line-height: 28px !important;
}
::v-deep .el-range-input{
  font-size: 14px ;
::v-deep .el-range-input {
  font-size: 14px;
}
::v-deep .el-range-separator{
::v-deep .el-range-separator {
  display: flex;
  justify-content: center;
  align-items: center;