zouyu
2023-12-11 41e0df8413624e6034c967f3afae30da59370879
src/views/product/workbench/index.vue
@@ -256,7 +256,7 @@
                            >
                          </div>
                        </div>
                        <div class="start-end-div">
                        <div class="start-end-div"  >
                          <div>
                            <span
                              style="margin-left:8px;font-size:12px;line-height:32px;"
@@ -528,35 +528,37 @@
              </el-form-item>
            </el-form>
          </div>
          <div class="task-div-content">
            <div v-if="!isShowNormalTracking" class="task-list-div">
              <operationTaskPane
                ref="operateTaskDiv"
                :workstationId="dutyForm.workstationId"
                :productSn="operateTaskForm.SN"
                :orderNumber="operateTaskForm.orderNumber"
                :spec="operateTaskForm.spec"
                :outBatchNo="operateTaskForm.outBatchNo"
                :mpsNo="operateTaskForm.mpsNo"
                @changeCurrOperateTask="changeCurrOperateTask"
                @refreshReport="refreshWorkReportPageData"
              />
            </div>
            <div v-if="isShowNormalTracking" class="task-list-div">
              <operationTaskTable
                ref="operateTaskTableDiv"
                :workstationId="dutyForm.workstationId"
                :productSn="operateTaskForm.SN"
                :orderNumber="operateTaskForm.orderNumber"
                :spec="operateTaskForm.spec"
                :mpsNo="operateTaskForm.mpsNo"
                @changeCurrOperateTask="changeCurrOperateTask"
              />
            </div>
          </div>
          <!--  :style="{ backgroundColor: taskStatusColor() }" -->
          <div class="task-div-content" >
    <div v-if="!isShowNormalTracking" class="task-list-div" >
      <operationTaskPane
        ref="operateTaskDiv"
        :workstationId="dutyForm.workstationId"
        :productSn="operateTaskForm.SN"
        :orderNumber="operateTaskForm.orderNumber"
        :spec="operateTaskForm.spec"
        :outBatchNo="operateTaskForm.outBatchNo"
        :mpsNo="operateTaskForm.mpsNo"
        @changeCurrOperateTask="changeCurrOperateTask"
        @refreshReport="refreshWorkReportPageData"
      />
    </div>
    <div v-if="isShowNormalTracking" class="task-list-div" >
      <operationTaskTable
        ref="operateTaskTableDiv"
        :workstationId="dutyForm.workstationId"
        :productSn="operateTaskForm.SN"
        :orderNumber="operateTaskForm.orderNumber"
        :spec="operateTaskForm.spec"
        :mpsNo="operateTaskForm.mpsNo"
        @changeCurrOperateTask="changeCurrOperateTask"
      />
    </div>
  </div>
        </div>
      </div>
      <div :style="{ width: mainMiddleWidth }" v-show="mainMiddleShow">
      <div :style="{ width: mainMiddleWidth } " v-show="mainMiddleShow">
        <div style="height:86px;width:14px;position: absolute;top:50%">
          <el-tooltip effect="dark" content="收缩" placement="left">
            <img
@@ -1485,7 +1487,8 @@
.warning-info {
  margin-left: 20px;
  font-size: 16px;
  font-size: 13px;
  font-weight: bold;
  color: red;
  letter-spacing: 3px;
}
@@ -1560,6 +1563,10 @@
  },
  data() {
    return {
      dutyForm: {},
      operateTaskForm: {},
      isShowNormalTracking: false,
      // taskStatusColor: '',
      showBan: false,
      dutyCanEdit: false,
      saveButton: false,
@@ -1666,96 +1673,9 @@
      currItem: 'task'
    }
  },
  computed: {
    ...mapGetters(['userInfo', 'tagWel', 'permissions'])
  },
  created() {
    document.title = '工作台——MES'
    if (!this.dutyForm.workstationId) {
      const k = localStorage.getItem(storage_key)
      if (k) {
        this.dutyForm.workstationId = parseInt(k)
      }
    }
    this.initOptions()
    this.getSysParam(sysParam.SHOW_STEP_BUSINESS)
    this.getTrackingParam(sysParam.SHOW_TRACKING_TYPE)
    this.timer = setInterval(this.clockTimer, 1000)
  },
  watch: {
    'dutyForm.workstationId'(val) {
      if (val) {
        localStorage.setItem(storage_key, val)
      }
      // 工作站改变时,整个页面的动态数据需实时加载、页面缓存数据需 初始化
      this.initPageVariable()
      this.loadInfoByWorkstation()
    },
    'dutyForm.startTime'(val, oldval) {
      if (val) {
        this.checkTime()
      } else {
        this.warningShow = false
      }
    },
    'dutyForm.endTime'(val, oldval) {
      if (val) {
        this.checkTime()
      } else {
        this.warningShow = false
      }
    },
    'operateTaskForm.orderNumber'(val) {
      /* this.$nextTick(() => {
        this.queryInfoForOrderNumber()
      }) */
    },
    'operateTaskForm.spec'(val) {
      if (val == '' || val == null) {
        this.SNs = []
        this.operateTaskForm.SN = ''
      } else {
        const that = this
        that.SNs = []
        getProductSnByCustomerNoAndPartName({
          customerOrderNo: this.operateTaskForm.orderNumber,
          partName: val
        }).then((res) => {
          const result = res.data.data
          result.forEach(function(item) {
            const obj = {
              key: item,
              value: item
            }
            that.SNs.push(obj)
          })
        })
      }
      this.$nextTick(() => {
        if (this.partNames.length !== 0) {
          this.refreshOperateTasks()
        }
      })
    },
    'operateTaskForm.SN'(val) {
      this.$nextTick(() => {
        if (this.SNs.length !== 0) {
          this.refreshOperateTasks()
        }
      })
    },
    'operateTaskForm.outBatchNo'(val) {
      /* this.$nextTick(() => {
        this.refreshOperateTasks()
      }) */
    },
    'operateTaskForm.mpsNo'(val) {
      /* this.$nextTick(() => {
        this.refreshOperateTasks()
      }) */
    }
  },
  methods: {
    // changeCurrOperateTask() {},
    // refreshWorkReportPageData() {},
    refreshOperateTasksByConditions() {
      this.$nextTick(() => {
        this.refreshOperateTasks()
@@ -1791,7 +1711,6 @@
            customerOrderNo: this.operateTaskForm.orderNumber
          }).then((res) => {
            const result = res.data.data
            console.log(result)
            result.forEach(function(item) {
              const obj = {
                key: item,
@@ -1799,7 +1718,6 @@
              }
              that.partNames.push(obj)
            })
            console.log(that.partNames)
          })
        }, 500)
      } else {
@@ -2297,7 +2215,6 @@
          (e) => e.id === this.dutyForm.workstationId
        ).workCenter
      }
      console.log(this.paramObj_StationSave)
      this.visible_StationSave = true
    },
    Select_StationSave() {
@@ -2597,6 +2514,115 @@
    beforeDestroy() {
      clearInterval(this.timer)
    }
  }
  },
  computed: {
    ...mapGetters(['userInfo', 'tagWel', 'permissions']),
// 半个月之前是黄色 当天和三天之内就是红色 三天之后就是蓝色
// taskStatusColor() {
//     return function(date) {
//         const now = new Date();
//         const halfMonthAgo = new Date(now - 15 * 24 * 60 * 60 * 1000);
//         const threeDaysAgo = new Date(now - 3 * 24 * 60 * 60 * 1000);
//         const oneDayAgo = new Date(now - 24 * 60 * 60 * 1000);
//         const today = new Date(now);
//         if (halfMonthAgo <= date && date <= threeDaysAgo) {
//             return 'yellow';
//         } else if (today <= date && date <= threeDaysAgo) {
//             return 'red';
//         } else  {
//             return 'blue';
//         }
//     };
// }
  },
  created() {
    document.title = '工作台——MES'
    if (!this.dutyForm.workstationId) {
      const k = localStorage.getItem(storage_key)
      if (k) {
        this.dutyForm.workstationId = parseInt(k)
      }
    }
    this.initOptions()
    this.getSysParam(sysParam.SHOW_STEP_BUSINESS)
    this.getTrackingParam(sysParam.SHOW_TRACKING_TYPE)
    this.timer = setInterval(this.clockTimer, 1000)
  },
  watch: {
    'dutyForm.workstationId'(val) {
      if (val) {
        localStorage.setItem(storage_key, val)
      }
      // 工作站改变时,整个页面的动态数据需实时加载、页面缓存数据需 初始化
      this.initPageVariable()
      this.loadInfoByWorkstation()
    },
    'dutyForm.startTime'(val, oldval) {
      if (val) {
        this.checkTime()
      } else {
        this.warningShow = false
      }
    },
    'dutyForm.endTime'(val, oldval) {
      if (val) {
        this.checkTime()
      } else {
        this.warningShow = false
      }
    },
    'operateTaskForm.orderNumber'(val) {
      /* this.$nextTick(() => {
        this.queryInfoForOrderNumber()
      }) */
    },
    'operateTaskForm.spec'(val) {
      if (val == '' || val == null) {
        this.SNs = []
        this.operateTaskForm.SN = ''
      } else {
        const that = this
        that.SNs = []
        getProductSnByCustomerNoAndPartName({
          customerOrderNo: this.operateTaskForm.orderNumber,
          partName: val
        }).then((res) => {
          const result = res.data.data
          result.forEach(function(item) {
            const obj = {
              key: item,
              value: item
            }
            that.SNs.push(obj)
          })
        })
      }
      this.$nextTick(() => {
        if (this.partNames.length !== 0) {
          this.refreshOperateTasks()
        }
      })
    },
    'operateTaskForm.SN'(val) {
      this.$nextTick(() => {
        if (this.SNs.length !== 0) {
          this.refreshOperateTasks()
        }
      })
    },
    'operateTaskForm.outBatchNo'(val) {
      /* this.$nextTick(() => {
        this.refreshOperateTasks()
      }) */
    },
    'operateTaskForm.mpsNo'(val) {
      /* this.$nextTick(() => {
        this.refreshOperateTasks()
      }) */
    }
  },
}
</script>