loulijun2021
2022-11-10 239fe20af73c1c9a4c86acd947d77c8836f03f9e
src/views/scgl/gd.vue
@@ -15,12 +15,12 @@
        <el-form
          ref="form"
          :model="form"
          label-width="80px"
          label-width="100px"
          inline
          style="display: flex;justify-content: space-between"
        >
          <div class="elForm">
            <el-form-item label="订单状态" style=" display: flex;">
            <el-form-item label-width="70px" label="订单状态" style=" display: flex;">
              <el-select
                v-model="form.mesorderstus"
                :popper-append-to-body="false"
@@ -59,7 +59,7 @@
                />
              </el-select>
            </el-form-item>
            <el-form-item label="产品编码" style=" display: flex;">
            <el-form-item v-show="isExpandForm" label-width="70px" label="产品编码" style=" display: flex;">
              <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;">
@@ -71,7 +71,7 @@
            <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 v-show="isExpandForm" label="创建时间" style=" display: flex;">
            <el-form-item v-show="isExpandForm" label-width="70px" label="创建时间" style=" display: flex;">
              <!--              <el-date-picker-->
              <!--                v-model="form.createdate"-->
              <!--                type="daterange"-->
@@ -92,46 +92,41 @@
              />
            </el-form-item>
          </div>
          <div>
            <div class="bodySearchReset">
              <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button>
              <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
            </div>
            <!--            <div v-if="!isIpad" style="display: flex;align-items: start; margin-top: 15px;z-index: 2">-->
            <!--              <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>-->
            <!--              <el-button type="primary" icon="el-icon-connection" @click="send('send')">派发</el-button>-->
            <!--              <el-button type="primary" icon="el-icon-switch-button">订单关闭</el-button>-->
            <!--            </div>-->
            <!--            <div v-if="isIpad" style="display: flex;flex-direction: column;align-items: end">-->
            <!--              <div style="display: flex;margin: 10px 0">-->
            <!--                <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>-->
            <!--                <el-button type="primary" icon="el-icon-connection" @click="send('send')">派发</el-button>-->
            <!--              </div>-->
            <!--              <el-button type="primary" icon="el-icon-switch-button">订单关闭</el-button>-->
            <!--            </div>-->
          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}">
            <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button>
            <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
          </div>
        </el-form>
        <div
          class="bodyTopFormExpand"
        >
          <svg-icon
            v-show="mouseHoverType==='mouseout'"
            style="cursor: pointer"
            :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"
            @mouseenter="mouseHoverType=$event.type"
          />
          <svg-icon
            v-show="mouseHoverType==='mouseenter'"
            style="cursor: pointer"
            :icon-class="!isExpandForm?'doubleDown':'doubleUp'"
            @click="isExpandForm=!isExpandForm"
            @mouseout="mouseHoverType=$event.type"
          />
        </div>
      </div>
      <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">
      <div class="elTableDiv">
        <el-table
          ref="tableDataRef"
          class="tableFixed"
          :data="tableData"
          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
          :height="isExpandForm?tableHeight:(tableHeight+80)+'px'"
          border
          :row-class-name="tableRowClassName"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px'}"
          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px'}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
@@ -151,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
@@ -210,6 +205,7 @@
            prop="partname"
            min-width="150"
            label="产品名称"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
@@ -592,6 +588,22 @@
            </el-select>
          </el-form-item>
        </div>
        <el-form-item label="物料清单" prop="bomId">
          <el-select
            v-model="dialogForm.bomId"
            filterable
            :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"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="计划开始时间" prop="planstartdate">
          <el-date-picker
            v-model="dialogForm.planstartdate"
@@ -627,6 +639,12 @@
              :value="item.code"
            />
          </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>
@@ -685,7 +703,12 @@
        <div class="footerButton">
          <el-button @click="dialogVisibleCancel">取 消</el-button>
          <!--          <el-button v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">预览</el-button>-->
          <el-button type="primary" @click="dialogVisibleConfirm">确 定</el-button>
          <el-button
            type="primary"
            :loading="$store.state.app.buttonIsDisabled"
            :disabled="$store.state.app.buttonIsDisabled"
            @click="dialogVisibleConfirm"
          >确 定</el-button>
        </div>
      </span>
    </el-dialog>
@@ -783,12 +806,12 @@
      title="源单单号"
      :visible.sync="dialogVisibleSource"
      width="1200px"
      top="5vh"
      top="10vh"
      class="dialogVisibleSearch"
      :close-on-click-modal="false"
      @close="dialogVisibleSourceClose"
    >
      <div class="bodyTopFormGroup" style="animation: move 1s linear">
      <div class="bodyTopFormGroup">
        <el-form
          ref="sourceForm"
          :model="sourceForm"
@@ -796,10 +819,8 @@
          inline
          style="display: flex;justify-content: space-between"
        >
          <div class="elForm">
          <div class="elForm" style="justify-content: flex-start">
            <el-form-item
              label="预计开工时间"
              label-width="100px"
              style=" display: flex;font-size: 14px;margin-top: 3px"
@@ -869,32 +890,39 @@
            </el-form-item>
          </div>
          <div>
            <div style="display: flex;align-items: start;margin-top: 5px;z-index: 2;justify-content: end">
              <el-button type="primary" icon="el-icon-search" @click="sourceSearch">查询</el-button>
              <el-button type="info" icon="el-icon-refresh" @click="sourceReset">重置</el-button>
            </div>
          <div style="display: flex;align-items: start;margin-top: 3px;z-index: 2;justify-content: end">
            <el-button type="primary" icon="el-icon-search" @click="sourceSearch">查询</el-button>
            <el-button type="info" icon="el-icon-refresh" @click="sourceReset">重置</el-button>
          </div>
        </el-form>
        <div
          class="bodyTopFormExpand"
        >
          <svg-icon
            v-show="mouseHoverTypeDialog==='mouseout'"
            style="cursor: pointer"
            :icon-class="!isExpandDialog?'doubleDown3':'doubleUp3'"
            @mouseenter="mouseHoverTypeDialog=$event.type"
          />
          <svg-icon
            v-show="mouseHoverTypeDialog==='mouseenter'"
            style="cursor: pointer"
            :icon-class="!isExpandDialog?'doubleDown':'doubleUp'"
            @click="isExpandDialog=!isExpandDialog"
            @mouseout="mouseHoverTypeDialog=$event.type"
          />
        </div>
      </div>
      <!--      <el-tooltip  :content="!isExpandDialog?'点击展示更多':'收起'" placement="bottom">-->
      <div
        style="display:flex;justify-content: center;
          align-items:center;background-color:#eee;cursor: pointer"
        @click="isExpandDialog=!isExpandDialog"
      >
        <i
          :class="!isExpandDialog?'el-icon-arrow-down':'el-icon-arrow-up'"
          :style="{color:'#42B983'}"
        /></div>
      <!--      </el-tooltip>-->
      <div class="elTableDiv">
        <el-table
          :data="sourceTableData"
          :height="(tableHeight-100)+'px'"
          :height="isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px'"
          border
          :row-class-name="tableRowClassName"
          :style="{width: 100+'%',height:(tableHeight-100)+'px',}"
          :style="{width: 100+'%',height:isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px',}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
@@ -1571,6 +1599,9 @@
  },
  data() {
    return {
      mouseHoverType: 'mouseout',
      mouseHoverTypeDialog: 'mouseout',
      isExpandForm: false,
      isIpad: false,
      mainHeight: 0,
      tableHeight: 0,
@@ -1621,9 +1652,16 @@
        planstartdate: '', // 计划开始时间
        planenddate: '', // 计划完成时间
        orderlev: '', // 工单等级
        isAps: 'N', // 是否排程
        bomId: '', // 物料清单id
        OperType: '' // 操作类型
      },
      bomIdArr: [// 物料清单下拉  因为接口还没写,暂时用写死的值
        { code: 15, name: 'V5' },
        { code: 14, name: 'V1' },
        { code: 17, name: 'V7' },
        { code: 16, name: 'V6' }
      ],
      ordertypeArr: [// 工单类型
        { code: 'PO', name: '标准工单' },
        { code: 'FO', name: '报废补单' }
@@ -1664,6 +1702,12 @@
        ],
        orderlev: [
          { required: true, message: '请选择工单等级', trigger: ['blur', 'change'] }
        ],
        isAps: [
          { required: true, message: '请选择是否排程', trigger: ['blur', 'change'] }
        ],
        bomId: [
          { required: true, message: '请选择物料清单', trigger: ['blur', 'change'] }
        ]
      },
@@ -1768,7 +1812,6 @@
      defaultroute_code: '', // 默认工艺路线选中值
      defaultroute_codeArr: '', // 默认工艺路线数组
      projectTableData: [], // 设备列表
      isExpandForm: false, // 表单是否展开,默认不展开
      tableDataDetail: [], // 点击工单表的行 显示详细信息
      printSize: 1,
      printSizeSelectArr: [// 宽*高
@@ -1894,8 +1937,21 @@
      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)
@@ -1970,6 +2026,8 @@
        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() // 暂时写死
      })
    },
    // 删除按钮
@@ -2069,7 +2127,8 @@
      this.dialogForm.planstartdate = '' // 计划开始时间
      this.dialogForm.planenddate = '' // 计划完成时间
      this.dialogForm.orderlev = '' // 工单等级
      this.dialogForm.isAps = 'N' // 是否排程
      this.dialogForm.bomId = this.getMaxBomId()
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
@@ -2083,6 +2142,7 @@
          if (this.dialogForm.ordertype === 'FO' && this.dialogForm.sourceorder.toString().trim().length <= 0) {
            return this.$message.info('源单单号不能为空!')
          }
          const data = {
            // partname: this.dialogForm.partname, // 产品名称
            // partspec: this.dialogForm.partspec, // 产品规格
@@ -2100,9 +2160,11 @@
            planstartdate: this.dialogForm.planstartdate, // 计划开始时间
            planenddate: this.dialogForm.planenddate, // 计划完成时间
            orderlev: this.dialogForm.orderlev, // 工单等级
            is_aps: this.dialogForm.isAps, // 是否排程
            bom_id: this.dialogForm.bomId, // 是否排程
            OperType: this.operation === 'add' ? 'Add' : 'Update'
          }
          this.$store.state.app.buttonIsDisabled = true
          AddUpdateMesOrder(data).then(res => {
            if (res.code === '200') {
              this.dialogVisible = false
@@ -2112,6 +2174,7 @@
              this.$message.success(this.operation === 'add' ? '添加成功!' : '派发成功!')
              // this.dialogVisible = false
              this.getMesOrderSearch()
              this.$store.state.app.buttonIsDisabled = false
            } else {
              this.$message.error(this.operation === 'add' ? '添加失败!' : '派发失败!')
            }
@@ -2145,7 +2208,7 @@
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        // this.tableHeight = this.mainHeight - 250
        this.tableHeight = this.mainHeight - 470
        this.tableHeight = this.mainHeight - 515
        if (window.innerHeight < 769) {
          this.tableHeight = this.tableHeight - 20
        }
@@ -2518,6 +2581,7 @@
    async   rowClick(row, event, column) {
      console.log(row, event, column)
      console.log(row.wo_code, event, column)
      this.radioSelected = row.wo_code
      const { data: res } = await SearchWorkStep({ wo_code: row.wo_code })
      this.tableDataDetail = res
    },
@@ -2663,12 +2727,12 @@
  margin-bottom: 0;
}
//.elTableDiv {
.elTableDiv {
::v-deep .el-radio__label {
  display: none;
}
//}
}
.el-table::before {
  height: 0;