songshankun
2023-10-31 62feac7e932a1faf6c05d7ac8df4c25a113eeb88
feat: 添加任务信息组件
4个文件已修改
59 ■■■■ 已修改文件
src/api/index.ts 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/task.ts 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/common/composable/index.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/TaskControl.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/index.ts
@@ -1,5 +1,5 @@
import { request } from '@/common/utils'
import type { TasksGroupByChannel } from './task'
import type { CraftParamsResponse, TasksGroupByChannel } from './task'
import type { PLCResponse } from './plc'
export interface BaseResponse<T = any> {
@@ -36,6 +36,10 @@
  procedureId: number
}
/**
 * 获取PLC运行数据
 * @param params
 */
export function getProductProgress(params: ProductProgressParams) {
  return request<BaseResponse<PLCResponse>>({
    url: '/v1/plc/productProgress',
@@ -43,3 +47,29 @@
    data: params
  })
}
export interface CraftParamsParams {
  id: number
}
/**
 * 获取工艺参数
 * @param params
 */
export function getCraftParams(params: CraftParamsParams) {
  return request<BaseResponse<CraftParamsResponse>>({
    url: `v1/task/start/${params.id}`,
    method: 'get',
    data: params
  })
}
export interface SendProcessParamsParams {
  procedureId: number
}
export function sendProcessParams(params: SendProcessParamsParams) {
  return request<BaseResponse>({
    url: `v1/task/sendProcessParams`,
    method: 'post',
    data: params
  })
}
src/api/task.ts
@@ -86,3 +86,16 @@
export interface TasksGroupByChannel {
  [channel: number]: TasksResponse
}
/**
 * 工艺参数
 */
export interface CraftParam {
  Key: string
  Value: string
}
export interface CraftParamsResponse {
  number: string
  Params: CraftParam[]
}
src/common/composable/index.ts
@@ -1,3 +1,3 @@
// 本文件放置通用 composable (组合式函数), 注意与 utils 区分
export {}
import { useCountDown } from './useCountDown'
export { useCountDown }
src/views/dashboard/components/TaskControl.vue
@@ -27,23 +27,27 @@
      </template>
    </div>
  </div>
  <TaskControlModal v-model="showTaskControlModal" :task="task"></TaskControlModal>
</template>
<script setup lang="ts">
import type { Task } from '@/api/task'
import { toRefs } from 'vue'
import { ref, toRefs } from 'vue'
import BigButton from '@/views/dashboard/components/BigButton.vue'
import { useDateFormat } from '@vueuse/core'
import TaskControlModal from '@/views/dashboard/components/TaskControlModal.vue'
const props = defineProps<{
  task?: Task
}>()
const { task } = toRefs(props)
const showTaskControlModal = ref(false)
/**
 * 开始生产
 */
function startProduce() {
  // TODO:
  // console.log(1)
  showTaskControlModal.value = true
}
/**