songshankun
2023-11-22 f6739d7542be48f7f8139c3d5fc7b2326e5cfc8d
src/components/TaskControlModal.vue
@@ -65,9 +65,9 @@
                  工时: {{ currentTaskData.Procedure.procedure.workHours || "" }}
                </div>
                <div class="title-item">
                  计划时间: {{ formatDate(currentTaskData.Order.startTime) || "" }}
                  计划时间: {{ formatDate(currentTaskData.Procedure.startTime) || "" }}
                  -
                  {{ formatDate(currentTaskData.Order.endTime) }}
                  {{ formatDate(currentTaskData.Procedure.endTime) }}
                </div>
                <div class="title-item">
@@ -93,6 +93,10 @@
                >
                  工艺参数
                </div>
                <!-- 未获取到工艺参数, 且当前设备允许在没有工艺参数的情况下生产, 则提示-->
                <div v-if="processParamsLoaded &&  !currentProcessParams?.length && currentDeviceAllowNoParams" class="title-item title-item-two">
                  未获取到工艺参数, 请手动设置或在云端工艺模型中上传
                </div>
                <div
                  class="title-item title-item-two"
                  v-for="(item, index) in currentProcessParams"
@@ -103,7 +107,7 @@
                </div>
              </div>
            </div>
            <div class="process-err-tip" v-if="getProcessParamsErrMsg">
            <div class="process-err-tip" v-if="getProcessParamsErrMsg && !currentDeviceAllowNoParams">
              <div class="tip-icon">
                <span class="el-icon-error color_error"></span>
              </div>
@@ -136,8 +140,12 @@
                    </div>
                  </template>
                  <div class="gif-right">
                    ----- 剩余时间 -----
                    <span>00:00:{{ 30 - Number(num) < 10 ? 0 : '' }}{{ 30 - Number(num) }}</span>
                    <div>
                      ----- 剩余时间 -----
                    </div>
                    <div>
                      <span>00:00:{{ 30 - Number(num) < 10 ? 0 : '' }}{{ 30 - Number(num) }}</span>
                    </div>
                  </div>
                </div>
                {{ message }}
@@ -166,7 +174,7 @@
      </div>
      <div slot="footer" :class="messageError?'dialog-footer tac btn-error':'dialog-footer tac'"
           style="overflow: hidden">
        <template v-if="messageError || getProcessParamsErrMsg">
        <template v-if="(messageError || getProcessParamsErrMsg) && !currentDeviceAllowNoParams">
          <div class="btn" v-if="messageError ==='下发成功!'||getProcessParamsErrMsg" @click="closeClick">
            <img src="../../public/close-btn.png"/>
          </div>
@@ -211,7 +219,7 @@
</template>
<script>
import {getTaskInfo, sendProcessParams, startTask,} from "@/api/home"; // 产线
import {getDeviceList, getTaskInfo, sendProcessParams, startTask,} from "@/api/home"; // 产线
import {channelNameConfig} from "@/common/constants";
export default {
  name: 'TaskControlModal',
@@ -231,6 +239,7 @@
      currentTaskIndex: 0,
      // 当前展示的任务对应的工艺参数
      currentProcessParams: [],
      processParamsLoaded:false,
      getProcessParamsErrMsg: '',
      // 任务列表
      taskList: [],
@@ -244,13 +253,17 @@
      isLoading: false,
      second: 0,
      secondTimer: null,
      channelNameConfig: channelNameConfig
      channelNameConfig: channelNameConfig,
      currentDeviceAllowNoParams:false,
      deviceInfo:null
    };
  },
  mounted() {
    this.getTaskList().then(() => {
      const firstData = this.taskList[0]
      const id = firstData?.Procedure?.ID
      console.log(this.taskList)
      this.getDeviceInfo()
      if (id) {
        this.currentTaskIndex = this.taskList.findIndex(ele => ele.Procedure.ID === id)
        this.getCurrentTaskProduceParams(id)
@@ -300,6 +313,7 @@
      if (this.secondTimer) {
        clearInterval(this.secondTimer)
      }
      this.processParamsLoaded=false
      this.num = 0;
      this.showBtn = 1;
      this.isLoading = false
@@ -308,6 +322,7 @@
      this.messageError = ''
      this.resParams = {};
      if (newVal) {
        this.getDeviceInfo()
        this.getTaskList().then(() => {
          const firstData = this.taskList[0]
          const id = firstData?.Procedure?.ID
@@ -357,6 +372,20 @@
        console.error(err)
      },)
    },
    getDeviceInfo(){
      getDeviceList().then(res=>{
        this.deviceInfo = res.data
        this.currentDeviceAllowNoParams=this.getConfig(this.deviceInfo)
      }).catch(err=>{
        console.error(err)
      })
    },
    getConfig(deviceInfo){
      const currentDeviceInfo = deviceInfo.deviceList?.find((ele) => {
        return ele.deviceID === deviceInfo.currentDeviceID
      })
      return !currentDeviceInfo?.needSetProcessParams
    },
    /**
     * 获取当前展示的任务的工艺参数
     */
@@ -365,6 +394,7 @@
      if (id) {
        this.currentProcessParams = []
        this.getProcessParamsErrMsg = ""
        this.processParamsLoaded =false
        startTask({id}).then((res) => {
          if (res.code === 200) {
            this.currentProcessParams = res.data.Params ?? []
@@ -378,6 +408,8 @@
          console.error(err)
          this.currentProcessParams = []
          this.getProcessParamsErrMsg = '获取工艺参数失败!'
        }).finally(()=>{
          this.processParamsLoaded =true
        });
      }
    },