loulijun2021
2022-08-31 436569820a3084dcf90f8156a4f812bc220fbb98
src/views/scgl/sckbg.vue
@@ -145,18 +145,23 @@
              <el-table-column
                prop="plan_startdate"
                label="计划开工日期"
                width="185"
                width="150"
                sortable="custom"
              />
              >
                <template slot-scope="{row}">
                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0,11) }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="plan_enddate"
                label="计划完工日期"
                width="185"
                width="150"
                sortable="custom"
                fixed="right"
              >
                <template slot-scope="{row}">
                  <div v-if="row.plan_startdate">{{ row.plan_startdate }}</div>
                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0,11) }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
@@ -339,18 +344,23 @@
              <el-table-column
                prop="plan_startdate"
                label="计划开工日期"
                width="185"
                width="150"
                sortable="custom"
              />
              >
                <template slot-scope="{row}">
                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0,11) }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
              <el-table-column
                prop="plan_enddate"
                label="计划完工日期"
                width="185"
                width="150"
                sortable="custom"
                fixed="right"
              >
                <template slot-scope="{row}">
                  <div v-if="row.plan_startdate">{{ row.plan_startdate }}</div>
                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0,11) }}</div>
                  <div v-else>/</div>
                </template>
              </el-table-column>
@@ -415,26 +425,25 @@
              <el-table-column
                prop="wo_code"
                label="工单号"
                width="160"
                min-width="160"
                sortable="custom"
              />
              <el-table-column
                prop="partcode"
                label="产品编码"
                width="110"
                min-width="110"
                sortable="custom"
              />
              <el-table-column
                prop="partname"
                width="160"
                min-width="160"
                label="产品名称"
                show-tooltip-when-overflow
                sortable="custom"
              />
              <el-table-column
                prop="stepname"
                label="工序"
                width="120"
                min-width="120"
                sortable="custom"
              />
              <el-table-column
@@ -617,6 +626,23 @@
              :key="item.code"
              :label="item.name"
              :value="item.code"
            />
          </el-select>
        </el-form-item>
        <!--        <el-form-item v-if="dialogTitle==='自制报工'" label="报工人员:">-->
        <!--          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />-->
        <!--        </el-form-item>-->
        <el-form-item v-if="dialogTitle==='自制报工'" label="报工人:">
          <el-select
            v-model="dialogForm.operation"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in OperationArr"
              :key="item.usercode"
              :label="item.username"
              :value="item.usercode"
            />
          </el-select>
        </el-form-item>
@@ -803,8 +829,8 @@
        <el-form-item
          v-if="dialogTitle==='外协收料'"
          label="不良原因:"
          prop="badcode"
        >
          <!--          prop="badcode"-->
          <el-select
            v-model="dialogForm.badcode"
            style="width: 200px;"
@@ -817,6 +843,20 @@
              :key="item.code"
              :label="item.name"
              :value="item.code"
            />
          </el-select>
        </el-form-item>
        <el-form-item v-if="dialogTitle==='外协收料'" label="收料人:">
          <el-select
            v-model="dialogForm.operation"
            style="width: 200px;"
            placeholder="请选择"
          >
            <el-option
              v-for="item in OperationArr"
              :key="item.usercode"
              :label="item.username"
              :value="item.usercode"
            />
          </el-select>
        </el-form-item>
@@ -960,7 +1000,7 @@
            placeholder="请选择"
          >
            <el-option
              v-for="item in badOperationArr"
              v-for="item in OperationArr"
              :key="item.usercode"
              :label="item.username"
              :value="item.usercode"
@@ -1028,8 +1068,8 @@
          />
          <el-table-column
            prop="repair_qty"
            label="维修数量"
            width="90"
            label="维修合格数量"
            width="110"
          >
            <template slot-scope="{row}">
              <!--              {{ row.repair_qty }}-->
@@ -1192,6 +1232,7 @@
        startqtySum: '', // 不能超过的数值
        operation: getCookie('navTabId'), // 报工人(收料人)
        remarks: ''// 备注
      },
@@ -1284,7 +1325,8 @@
        operation: getCookie('navTabId')
      },
      badTableDataDialog: [], // 不良对话框table表格
      badOperationArr: [] // 维修人员数组
      OperationArr: [], // 人员数组
      sendButtonIsDisabled: false// 下达按钮是否可点击
    }
  },
  // computed: {
@@ -1315,6 +1357,8 @@
    })
    // webapp_urlprotocol_startup()
    // webapp_ws_autoupdate(true)
    this.getMesOrderSelectUserAll() // 获取所有人员
  },
  methods: {
    tableRowClassName({ row, rowIndex }) {
@@ -1581,7 +1625,7 @@
    // 生产班组下拉改变
    usergroupChange(val) {
      this.dialogForm.usergroupcode = val
      this.getUserTableData()
      this.getMesOrderSelectUserZZ2()
    },
    // 获取自制报工生产班组下拉列表
    async getMesOrderStepReportSelectUserGroup() {
@@ -1592,6 +1636,11 @@
    async getMesOrderSelectUserZZ() {
      const { data: res } = await MesOrderSelectUser({ usercode: this.dialogForm.usergroupcode })
      this.ZZuserArr = res
    },
    async getMesOrderSelectUserZZ2() {
      const { data: res } = await MesOrderSelectUser({ usercode: '' })
      this.ZZuserArr = res
      await this.getUserTableData()
    },
    // 获取自制生产设备下拉
    async getMesOrderStepStartSelectEqp() {
@@ -1630,6 +1679,8 @@
        item.isVisible = 0
        item.number = number
      })
      this.ZZuserArr = [...this.ZZuserArr].filter(x => [...this.userTableData].every(y => y.usercode !== x.usercode))
    },
    // 用户添加
    userAdd() {
@@ -1640,6 +1691,11 @@
    },
    // 用户列表删除
    userDel(row) {
      this.ZZuserArr.splice(0, 0, {
        usercode: row.usercode,
        username: row.username
      })
      this.userTableData.forEach((item, index) => {
        if (item.number === row.number) {
          this.userTableData.splice(index, 1)
@@ -1652,6 +1708,13 @@
      if (row.usercode === '') {
        return this.$message.info('人员名称不能为空!')
      }
      this.ZZuserArr.forEach((item, index) => {
        if (item.usercode === row.usercode) {
          this.ZZuserArr.splice(index, 1)
        }
      })
      this.userTableData.forEach(item => {
        if (item.number === row.number) {
          item.isVisible = 0
@@ -1718,7 +1781,7 @@
      this.dialogForm.nextstepcode = '' // 下道工序编码
      this.dialogForm.remarks = '' // 备注
      this.dialogForm.operation = getCookie('navTabId') // 报工人(收料人)
      this.userTableData = [] // 人员列表
      this.$refs.dialogForm.clearValidate()
@@ -1784,12 +1847,12 @@
            SavaMesOrderStepIn(data).then(res => {
              if (res.code === '200') {
                this.$message.success('收料成功!')
                this.dialogVisible = false
                if (this.dialogForm.nextstepcode !== '') {
                  this.WXprint2()
                  this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
                  this.dialogVisible2 = true
                }
                this.dialogVisible = false
                this.tabClick()
              } else {
                this.$message.error('收料失败!')
@@ -1860,13 +1923,13 @@
            SavaMesOrderStepReport(data).then(res => {
              if (res.code === '200') {
                this.$message.success('报工成功!')
                this.dialogVisible = false
                console.log(this.dialogForm.nextstepcode, 1)
                if (this.dialogForm.nextstepcode !== '') {
                  this.ZZprint2()
                  this.ZZprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
                  this.dialogVisible2 = true
                }
                this.dialogVisible = false
                this.tabClick()
              } else {
                this.$message.error('报工失败!')
@@ -1889,27 +1952,27 @@
        correctLevel: QRCode.CorrectLevel.L// 容错率,L/M/H
      })
    },
    ZZprint2() {
    ZZprint2(username) {
      this.qrForm.qrvalue = this.dialogForm.wo_code + ';' + this.dialogForm.nextstepcode
      this.qrForm.startqty = this.dialogForm.startqty
      this.qrForm.wo_code = this.dialogForm.wo_code
      this.qrForm.partcode = this.dialogForm.partcode
      this.qrForm.partname = this.dialogForm.partname
      this.qrForm.nextstepname = this.dialogForm.nextstepname
      this.qrForm.operator = getCookie('username')
      this.qrForm.operator = username
      this.qrForm.operatorTime = handleDatetime2(new Date())
      this.$nextTick(() => {
        this.bindQRCode(this.qrForm.qrvalue)
      })
    },
    WXprint2() {
    WXprint2(username) {
      this.qrForm.qrvalue = this.dialogForm.wo_code + ';' + this.dialogForm.nextstepcode
      this.qrForm.startqty = this.dialogForm.sqty
      this.qrForm.wo_code = this.dialogForm.wo_code
      this.qrForm.partcode = this.dialogForm.partcode
      this.qrForm.partname = this.dialogForm.partname
      this.qrForm.nextstepname = this.dialogForm.nextstepname
      this.qrForm.operator = getCookie('username')
      this.qrForm.operator = username
      this.qrForm.operatorTime = handleDatetime2(new Date())
      this.$nextTick(() => {
        this.bindQRCode(this.qrForm.qrvalue)
@@ -1952,17 +2015,11 @@
      const data = {
        Data: this.badTableDataDialog
      }
      // console.log(JSON.stringify(data), 1)
      // console.log(this.badDialogForm.operation, 1)
      // this.badPrintOperator =
      // this.badPrint(this.badOperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
      // this.dialogVisible2 = true
      EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => {
        if (res.code === '200' || res.code === '301') {
          this.getBadList()
          this.badDialogVisible = false
          this.badPrint(this.badOperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
          this.badPrint(this.OperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
          this.dialogVisible2 = true
          return this.$message.success('保存成功!')
        }
@@ -1988,12 +2045,12 @@
      this.badDialogForm.operation = getCookie('navTabId')
      this.badTableDataDialog = []
    },
    async  getMesOrderSelectUserAll() {
      const { data: res } = await MesOrderSelectUser({ usercode: '' })
      this.OperationArr = res
    },
    // 点击维修处理按钮  或  扫描条码的扫描回车事件
    async repairHandle(row) {
      const { data: res1 } = await MesOrderSelectUser({ usercode: '' })
      this.badOperationArr = res1
      console.log(row)
      let data
      if (row.wo_code) {
        data = {
@@ -2059,10 +2116,6 @@
      })
    },
    badSave(row) {
      console.log(row, 1)
      // console.log(parseFloat(row.bad_qty) + parseFloat(row.repair_qty), 2)
      // console.log(parseFloat(row.ng_qty), 2)
      // console.log(parseFloat(row.bad_qty) + parseFloat(row.repair_qty) > parseFloat(row.ng_qty), 2)
      if (parseFloat(row.bad_qty) + parseFloat(row.repair_qty) > parseFloat(row.ng_qty)) {
        this.badCancel(row)
        return this.$message.info('维修数量与报废数量之和不能大于不良数量!')
@@ -2070,8 +2123,8 @@
      this.badTableDataDialog.forEach((item, index) => {
        if (item.id === row.id && item.m_id === row.m_id) {
          this.badTableDataDialog.splice(index, 1, {
            bad_qty: row.bad_qty,
            repair_qty: row.repair_qty,
            bad_qty: parseFloat(row.bad_qty),
            repair_qty: parseFloat(row.repair_qty),
            isVisible: 0,
            defect_code: row.defect_code,
            defect_name: row.defect_name,