loulijun2021
2022-12-31 b012ab3a1e5495be068c543eb8f0482124db13b5
src/views/scgl/gd.vue
@@ -146,8 +146,8 @@
                v-model="radioSelected"
                :label="row.wo_code"
                style="color: transparent;padding-left: 10px;"
                @change.native="getCurrentRow(row.wo_code)"
              />
              <!--              @change.native="getCurrentRow(row.wo_code)"-->
            </template>
          </el-table-column>
          <el-table-column
@@ -161,6 +161,7 @@
            label="订单状态"
            sortable="custom"
            width="110"
            show-tooltip-when-overflow
          >
            <template slot-scope="{row}">
              <div v-if="row.status==='NEW'">新工单</div>
@@ -169,11 +170,14 @@
              <div v-if="row.status==='ALLO'">已派发</div>
              <div v-if="row.status==='START'">开工</div>
              <div v-if="row.status==='CLOSED'">完工</div>
              <div v-if="row.status==='NOSCHED'">待排程</div>
              <div v-if="row.status==='SCHED'">已排程</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="wo_code"
            label="工单编号"
            show-tooltip-when-overflow
            sortable="custom"
            min-width="160"
          />
@@ -181,12 +185,19 @@
            prop="m_po"
            label="源单单号"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="160"
          />
          >
            <template slot-scope="{row}">
              <div v-if="row.m_po">{{ row.m_po }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="wotype"
            label="单据类型"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="120"
          >
            <template slot-scope="{row}">
@@ -198,6 +209,7 @@
          <el-table-column
            prop="partcode"
            label="产品编码"
            show-tooltip-when-overflow
            sortable="custom"
            min-width="120"
          />
@@ -224,11 +236,13 @@
            prop="plan_qty"
            label="工单数"
            sortable="custom"
            show-tooltip-when-overflow
            width="100"
          />
          <el-table-column
            prop="wkshp_name"
            label="生产车间"
            show-tooltip-when-overflow
            sortable="custom"
            width="120"
          >
@@ -262,6 +276,7 @@
          <el-table-column
            prop="plan_startdate"
            label="计划开始时间"
            show-tooltip-when-overflow
            sortable="custom"
            width="160"
          >
@@ -275,6 +290,7 @@
            label="计划结束时间"
            sortable="custom"
            width="160"
            show-tooltip-when-overflow
          >
            <template slot-scope="{row}">
              <div v-if="row.plan_enddate">{{ row.plan_enddate }}</div>
@@ -284,6 +300,7 @@
          <el-table-column
            prop="piroque"
            label="工单等级"
            show-tooltip-when-overflow
            sortable="custom"
            width="120"
          >
@@ -296,6 +313,7 @@
          </el-table-column>
          <el-table-column
            prop="lm_user"
            show-tooltip-when-overflow
            label="创建人员"
            sortable="custom"
            width="120"
@@ -303,6 +321,7 @@
          <el-table-column
            prop="lm_date"
            label="创建时间"
            show-tooltip-when-overflow
            width="160"
            sortable="custom"
          />
@@ -320,13 +339,14 @@
                  <!--                    @click="check(row)"-->
                  <!--                  />-->
                  <i
                    :style="{color:$store.state.settings.theme}"
                    class="el-icon-tickets"
                    style="cursor: pointer;color: #42b983;margin-right: 15px"
                    style="cursor: pointer;margin-right: 15px"
                    @click="handlePrint(row.wo_code)"
                  />
                </el-tooltip>
                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">
                  <i class="el-icon-delete" @click="del(row)" />
                  <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" />
                </el-tooltip>
              </div>
            </template>
@@ -368,6 +388,7 @@
          />
          <el-table-column
            prop="wo_code"
            show-tooltip-when-overflow
            label="工单编号"
            width="160"
          />
@@ -376,33 +397,40 @@
            prop="partcode"
            label="产品编码"
            width="150"
            show-tooltip-when-overflow
          />
          <el-table-column
            prop="partname"
            label="产品名称"
            width="200"
            show-tooltip-when-overflow
          />
          <el-table-column
            label="工序编码"
            prop="stepcode"
            show-tooltip-when-overflow
            width="150"
          />
          <el-table-column
            label="工序名称"
            show-tooltip-when-overflow
            prop="stepname"
            width="150"
          />
          <el-table-column
            label="任务数量"
            show-tooltip-when-overflow
            prop="plan_qty"
          />
          <el-table-column
            label="合格数量"
            show-tooltip-when-overflow
            prop="good_qty"
          />
          <el-table-column
            label="不良数量"
            show-tooltip-when-overflow
            prop="ng_qty"
          />
          <el-table-column
@@ -415,7 +443,8 @@
                <el-tooltip class="item" effect="dark" content="打印工序" placement="top">
                  <i
                    class="el-icon-tickets"
                    style="cursor: pointer;color: #42b983;margin-right: 15px"
                    :style="{color:$store.state.settings.theme}"
                    style="cursor: pointer;margin-right: 15px"
                    @click="supplementSmallClick(row)"
                  />
                </el-tooltip>
@@ -588,19 +617,26 @@
            </el-select>
          </el-form-item>
        </div>
        <el-form-item label="物料清单" prop="bomId">
        <el-form-item label="是否排程" prop="isAps">
          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">
            <el-radio key="Y" label="Y" value="Y">是</el-radio>
            <el-radio key="N" label="N" value="N">否</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="物料清单" :prop="dialogForm.isAps==='Y'?'bomId':''">
          <el-select
            v-model="dialogForm.bomId"
            filterable
            :disabled="dialogForm.isAps==='N'"
            :popper-append-to-body="false"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in bomIdArr"
              :key="item.code"
              :label="item.name"
              :value="item.code"
              :key="item.id"
              :label="item.version"
              :value="item.id"
            />
          </el-select>
        </el-form-item>
@@ -610,6 +646,7 @@
            type="date"
            :clearable="false"
            value-format="yyyy-MM-dd"
            :picker-options="pickerOptions"
            style="width: 200px"
            placeholder="选择日期"
          />
@@ -622,6 +659,7 @@
            value-format="yyyy-MM-dd"
            style="width: 200px"
            placeholder="选择日期"
            :picker-options="pickerOptions"
          />
        </el-form-item>
        <el-form-item label="工单等级" prop="orderlev">
@@ -640,12 +678,7 @@
            />
          </el-select>
        </el-form-item>
        <el-form-item label="是否排程" prop="isAps">
          <el-radio-group v-model="dialogForm.isAps">
            <el-radio key="Y" label="Y" value="Y">是</el-radio>
            <el-radio key="N" label="N" value="N">否</el-radio>
          </el-radio-group>
        </el-form-item>
      </el-form>
      <!--        工艺路线放大镜对话框-->
@@ -676,15 +709,18 @@
          />
          <el-table-column
            prop="stepcode"
            show-tooltip-when-overflow
            label="工序编码"
          />
          <el-table-column
            prop="stepname"
            label="工序名称"
            show-tooltip-when-overflow
          />
          <el-table-column
            prop="flwtype"
            label="工序类型"
            show-tooltip-when-overflow
          >
            <template slot-scope="{row}">
              <div v-if="row.flwtype==='W'">外协</div>
@@ -694,6 +730,7 @@
          <el-table-column
            prop="descr"
            label="工序描述"
            show-tooltip-when-overflow
            fixed="right"
          />
        </el-table>
@@ -747,15 +784,18 @@
        />
        <el-table-column
          prop="wo_code"
          show-tooltip-when-overflow
          label="工单编号"
          width="200"
        />
        <el-table-column
          prop="stepcode"
          label="工序编码"
          show-tooltip-when-overflow
        />
        <el-table-column
          prop="stepname"
          show-tooltip-when-overflow
          label="工序名称"
        />
        <!--        <el-table-column-->
@@ -773,14 +813,17 @@
        <!--        />-->
        <el-table-column
          prop="plan_qty"
          show-tooltip-when-overflow
          label="任务数量"
        />
        <el-table-column
          prop="good_qty"
          show-tooltip-when-overflow
          label="合格数量"
        />
        <el-table-column
          prop="ng_qty"
          show-tooltip-when-overflow
          label="不良数量"
        />
        <el-table-column
@@ -927,6 +970,7 @@
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sourceSortChange"
          @row-click="getCurrentRowSource"
        >
          <!--          <el-table-column-->
          <!--            type="selection"-->
@@ -941,8 +985,8 @@
                v-model="radioSelectedId"
                :label="row.id"
                style="color: transparent;padding-left: 10px;"
                @change.native="getCurrentRowSource(row.id)"
              />
              <!--              @change.native="getCurrentRowSource(row.id)"-->
            </template>
          </el-table-column>
          <el-table-column
@@ -954,6 +998,7 @@
          <el-table-column
            prop="status"
            label="订单状态"
            show-tooltip-when-overflow
            sortable="custom"
            width="110"
          >
@@ -967,6 +1012,7 @@
          <el-table-column
            prop="wo"
            label="订单编号"
            show-tooltip-when-overflow
            sortable="custom"
            min-width="150"
          />
@@ -974,17 +1020,20 @@
            prop="partcode"
            label="产品编码"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="150"
          />
          <el-table-column
            prop="partname"
            label="产品名称"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="150"
          />
          <el-table-column
            prop="partspec"
            label="产品规格"
            show-tooltip-when-overflow
            sortable="custom"
            min-width="110"
          >
@@ -997,10 +1046,12 @@
            prop="qty"
            label="订单数量"
            width="150"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="relse_qty"
            show-tooltip-when-overflow
            label="已下单数量"
            width="150"
            sortable="custom"
@@ -1008,6 +1059,7 @@
          <el-table-column
            prop="wkshp_name"
            label="生产车间"
            show-tooltip-when-overflow
            sortable="custom"
            width="150"
          >
@@ -1019,6 +1071,7 @@
          <el-table-column
            prop="planstartdate"
            label="预计开工时间"
            show-tooltip-when-overflow
            sortable="custom"
            width="130"
          >
@@ -1030,6 +1083,7 @@
          <el-table-column
            prop="planenddate"
            label="预计完工时间"
            show-tooltip-when-overflow
            sortable="custom"
            width="130"
          >
@@ -1041,6 +1095,7 @@
          <el-table-column
            prop="createuser"
            label="创建人员"
            show-tooltip-when-overflow
            sortable="custom"
            width="150"
          >
@@ -1052,6 +1107,7 @@
          <el-table-column
            prop="createdate"
            label="创建时间"
            show-tooltip-when-overflow
            width="130"
            sortable="custom"
          >
@@ -1285,7 +1341,11 @@
                style="display: flex;height: 96px;border-bottom:1px solid #000;
              justify-content: center;align-items: center;position: relative"
              >
                <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
                <div
                  id="qrCode2"
                  ref="qrCodeDiv2"
                  style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
                />
              </div>
              <div
                style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
@@ -1342,7 +1402,11 @@
                style="display: flex;height: 96px;border-bottom:1px solid #000;
              justify-content: center;align-items: center;position: relative"
              >
                <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
                <div
                  id="qrCode2"
                  ref="qrCodeDiv2"
                  style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
                />
              </div>
              <div
                style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
@@ -1399,7 +1463,11 @@
                style="display: flex;height: 60px;border-bottom:1px solid #000;
              justify-content: center;align-items: center;position: relative"
              >
                <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
                <div
                  id="qrCode2"
                  ref="qrCodeDiv2"
                  style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
                />
              </div>
              <div
                style="display: flex;height: 20px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
@@ -1541,10 +1609,12 @@
          <el-table-column
            prop="stepcode"
            label="工序编码"
            show-tooltip-when-overflow
          />
          <el-table-column
            prop="stepname"
            label="工序名称"
            show-tooltip-when-overflow
          />
          <el-table-column
            prop="enable"
@@ -1580,7 +1650,7 @@
import {
  AddUpdateMesOrder,
  ClosedMesOrder,
  DeleteMesOrder, ErpOrderSearch,
  DeleteMesOrder, ErpOrderSearch, JobCreationSonAddVison,
  MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep,
  SelectRouteStep
} from '@/api/scgl'
@@ -1627,7 +1697,9 @@
        // { code: 'CREATED', name: '已关闭' }
        { code: 'ALLO', name: '已派发' },
        { code: 'START', name: '开工' },
        { code: 'CLOSED', name: '完工' }
        { code: 'CLOSED', name: '完工' },
        { code: 'NOSCHED', name: '待排程' },
        { code: 'SCHED', name: '已排程' }
      ],
      total: 10,
      radioSelected: '',
@@ -1656,12 +1728,7 @@
        bomId: '', // 物料清单id
        OperType: '' // 操作类型
      },
      bomIdArr: [// 物料清单下拉  因为接口还没写,暂时用写死的值
        { code: 15, name: 'V5' },
        { code: 14, name: 'V1' },
        { code: 17, name: 'V7' },
        { code: 16, name: 'V6' }
      ],
      bomIdArr: [], // 物料清单下拉
      ordertypeArr: [// 工单类型
        { code: 'PO', name: '标准工单' },
        { code: 'FO', name: '报废补单' }
@@ -1821,7 +1888,12 @@
        // { code: 3, name: '50*40' },
        // { code: 4, name: '50*80' },
        // { code: 5, name: '40*30' }
      ]
      ],
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() < Date.now() - 8.64e7
        }
      }
    }
  },
  created() {
@@ -1937,24 +2009,9 @@
      this.dialogForm.planstartdate = handleDatetime(new Date())
      this.dialogForm.planenddate = handleDatetime(new Date())
      this.dialogForm.orderlev = 3
      this.dialogForm.bomId = this.getMaxBomId()
    },
    // 查找物料清单里面版本最大的值
    getMaxBomId() {
      let max = 0// 最大值
      let code = ''// 最大值对应的code
      this.bomIdArr.forEach(item => {
        if (parseFloat(item.name.substring(1)) > max) {
          max = parseFloat(item.name.substring(1))
          code = item.code
        }
      })
      return code
    },
    // 产品信息值改变
    async partcodeChange(val) {
      console.log(val, 22)
      const { data: res } = await PartSelectRoute({ partcode: val })
      this.routeArr = res
@@ -1982,6 +2039,18 @@
      const { data: res2 } = await RouteSelectWkshop(data)
      this.wkshopArr = res2
      this.dialogForm.wkshopcode = ''
    },
    // 是否排程值改变时
    changeIsAps(val) {
      if (val === 'N') {
        this.dialogForm.bomId = ''
      }
      if (val === 'Y') {
        JobCreationSonAddVison({ partnumber: this.dialogForm.partcode }).then(res => {
          this.bomIdArr = res.data
          this.dialogForm.bomId = this.bomIdArr[0].id
        })
      }
    },
    // 工序任务
    async check(row) {
@@ -2026,13 +2095,11 @@
        this.dialogForm.planstartdate = row.plan_startdate !== null ? row.plan_startdate : handleDatetime(new Date())
        this.dialogForm.planenddate = row.plan_enddate !== null ? row.plan_enddate : handleDatetime(new Date())
        this.dialogForm.orderlev = row.piroque !== null ? row.piroque : 3 // 等级
        this.dialogForm.bomId = this.getMaxBomId() // 暂时写死
      })
    },
    // 删除按钮
    async del(row) {
      if (row.status === 'START' || row.status === 'CLOSED') {
      if (row.status === 'START' || row.status === 'CLOSED' || row.status === 'SCHED') {
        return this.$message.info('此工单不可删除!')
      }
      this.$confirm('是否确认删除?', '提示', {
@@ -2042,7 +2109,7 @@
      }).then(() => {
        console.log(row, 1)
        const data = {
          souceid: row.sourceid,
          souceid: row.sourceid ? row.sourceid : '',
          wocode: row.wo_code,
          m_po: row.m_po,
          orderqty: row.plan_qty
@@ -2105,6 +2172,8 @@
      // const { data: res } = await PartSelectRpute({ partcode: val })
      // this.routeArr = res
      // this.dialogForm.routecode = ''
      this.dialogForm.isAps = 'N'
      this.dialogForm.bomId = ''
      this.partcodeChange(val)
    },
    // 对话框关闭事件
@@ -2128,7 +2197,9 @@
      this.dialogForm.planenddate = '' // 计划完成时间
      this.dialogForm.orderlev = '' // 工单等级
      this.dialogForm.isAps = 'N' // 是否排程
      this.dialogForm.bomId = this.getMaxBomId()
      this.dialogForm.bomId = ''
      this.bomIdArr = []
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
@@ -2161,7 +2232,7 @@
            planenddate: this.dialogForm.planenddate, // 计划完成时间
            orderlev: this.dialogForm.orderlev, // 工单等级
            is_aps: this.dialogForm.isAps, // 是否排程
            bom_id: this.dialogForm.bomId, // 是否排程
            bom_id: this.dialogForm.bomId, // 物料清单id
            OperType: this.operation === 'add' ? 'Add' : 'Update'
          }
          this.$store.state.app.buttonIsDisabled = true
@@ -2263,9 +2334,9 @@
            // div.scrollTop = div.scrollHeight // 滚动条位于最底部
            div.scrollTop = 0 // 滚动条位于最顶部
          })
          this.dialogVisibleApprove = true
        }
      })
      this.dialogVisibleApprove = true
    },
    dialogVisibleTaskClose() {
      this.dialogForm.mesordercode = ''
@@ -2436,8 +2507,12 @@
      this.sourceFormTotal = res.count
    },
    // 单选框选中获取当前行信息
    getCurrentRowSource(id) {
      this.radioSelectedId = id
    // getCurrentRowSource2(id) {
    //   this.radioSelectedId = id
    // },
    // 单选框选中获取当前行信息
    getCurrentRowSource(row, event, column) {
      this.radioSelectedId = row.id
    },
    sourceSearch() {
      this.getErpOrderSearch()
@@ -2578,9 +2653,8 @@
      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)
    async rowClick(row, event, column) {
      this.radioSelected = row.wo_code
      const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
      this.tableDataDetail = res
    },
@@ -2727,9 +2801,9 @@
}
.elTableDiv {
::v-deep .el-radio__label {
  display: none;
}
  ::v-deep .el-radio__label {
    display: none;
  }
}
@@ -2900,16 +2974,18 @@
  //}
}
::v-deep .el-select__caret{
::v-deep .el-select__caret {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tableFixed{
  ::v-deep .el-table__fixed-right{
.tableFixed {
  ::v-deep .el-table__fixed-right {
    height: 100% !important;
  }
  ::v-deep .el-table__fixed{
  ::v-deep .el-table__fixed {
    height: 100% !important;
  }
}