首页 > 其他分享 >vue练习生

vue练习生

时间:2024-10-31 22:59:41浏览次数:1  
标签:scjh vue const 练习生 value step result ref

<script setup lang="ts">
import {computed, onMounted, ref} from "vue";
import {getScjhService, getWorkerService, getProcessService, addWorkInfoService} from "@/api/fprw.js";
//响应式数据--生产计划
const scjh = ref({
  generalOrder: '',
  divisionOrder: '',
  subordinateOrder: '',
  productName: '',
  batch: '',
  liucheng: '',
  quantity: '',
  nextTeam: '',
  startTime: '',
  endTime: ''
})
const scjhs = ref([
  {
    generalOrder: '',
    divisionOrder: '',
    subordinateOrder: '',
    productName: '',
    batch: '',
    liucheng: '',
    quantity: '',
    nextTeam: '',
    startTime: '',
    endTime: ''
  }
])

/*获取生产计划*/
const getScjh = async () => {
  let result = await getScjhService()
  scjhs.value = result.data
}
getScjh()

//获取工人信息
//scjh.value.nextTeam
const workers = ref([])
const getWorker = async () => {
  let result = await getWorkerService()
  workers.value = result.data
}
//分布任务小页面是否开启的标志
const fprwDialogVisible = ref(false)
//工序步骤
const processSteps = ref([])
//为工序选择的人
const selectedWorkerForProcess = ref({})
//工作数量
const workerQuantities = ref({})
const getProcess = async () => {
  let result = await getProcessService(scjh.value.nextTeam)
  //这里将工序获得,并根据,分隔开存储到processSteps
  processSteps.value = result.data.split(',')
  processSteps.value.forEach(step => {
    selectedWorkerForProcess.value[step] = null
    workerQuantities.value[step] = 0
  })
}

//根据你的选择,将信息加入到后端数据库中
const addWorkInfo = async () => {
  for (let step of processSteps.value) {
    const selectedWorker = selectedWorkerForProcess.value[step]
    const assignedQuantity = workerQuantities.value[step]

    if (selectedWorker && assignedQuantity > 0) {
      workInfo.value = {
        generalOrder: scjh.value.generalOrder,
        divisionOrder: scjh.value.divisionOrder,
        subordinateOrder: scjh.value.subordinateOrder,
        productName: scjh.value.productName,
        batch: scjh.value.batch,
        liucheng: scjh.value.liucheng,
        process: step,
        startTime: scjh.value.startTime,
        endTime: scjh.value.endTime,
        id: selectedWorker.id,
        name: selectedWorker.name,
        quantity: assignedQuantity,
        status: step
      }
      await addWorkInfoService(workInfo.value)
    }
  }
  fprwDialogVisible.value = false
}

const fetchProcess = async (teamName) => {
  try {
    const result = await getProcessService(teamName);
    if (result && result.data) {
      // 分割工序数据,并去除空白项
      processSteps.value = result.data.split(',').filter((step) => step.trim() !== "");
    }
  } catch (error) {
    console.error("获取工序失败:", error);
  }
};
// 假设 teamName 从其他地方传递,可以通过 props 传入
onMounted(() => {
  fetchProcess("射蜡班组"); // 替换为实际的班组名称
  getWorker()
  getProcess()
});
</script>

<template>
    <h2>班组工序</h2>
    <el-table v-if="processSteps.length" :data="processSteps" border style="width: 100%">
      <!-- 工序列 -->
      <el-table-column prop="step" label="工序" width="180">
        <template #default="{ row }">
          {{ row }}
        </template>
      </el-table-column>
      <!-- 选择员工列 -->
      <el-table-column label="选择员工" width="250">
        <template #default="{ row }">
          <el-select v-model="selectedWorkerForProcess[row]" placeholder="选择员工">
            <el-option
                v-for="worker in workers"
                :key="worker.id"
                :label="worker.name"
                :value="worker"
            />
          </el-select>
        </template>
      </el-table-column>
      <!-- 任务数量列 -->
      <el-table-column label="任务数量" width="200">
        <template #default="{ row }">
          <el-input-number
              v-model="workerQuantities[row]"
              :min="0"
              :max="scjh.quantity"
              controls-position="right"
          />
        </template>
      </el-table-column>
      <!-- 操作列 -->
      <el-table-column label="操作">
        <template #default="{ row }">
          <el-button type="primary" @click="addWorkInfo">分配任务</el-button>
        </template>
      </el-table-column>
    </el-table>
    <!-- 当没有工序时,展示暂无工序的提示 -->
    <el-empty v-else description="该班组暂无工序" />
</template>
<style scoped>
.demo-form-inline .el-input {
  --el-input-width: 220px;
}

.demo-form-inline .el-select {
  --el-select-width: 220px;
}
</style>

 

标签:scjh,vue,const,练习生,value,step,result,ref
From: https://www.cnblogs.com/muzhaodi/p/18519106

相关文章

  • 使用nginx部署vue项目
    使用nginx部署vue项目,首先是安装好nginx和打包vue项目,在Linux上部署nginx可以看我上一篇文章,这里关于怎么将vue项目打包成dist文件就不做赘述了,因为我不会前端,哈哈哈哈哈。首先将dist文件放在nginx的html目录下面,然后就是配置nginx的配置文件。最主要的就是这两句代码 roo......
  • 基于SpringBoot+Vue+uniapp的宿舍管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的物流信息管理系统的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • Vue 组件开发:深入理解与实践
    在Vue.js的强大生态系统中,组件开发是构建高效、可维护和可复用用户界面的核心。本文将带你深入了解Vue组件开发的方方面面,从基础概念到实际应用,让你掌握这一关键技能。一、Vue组件基础概念1.什么是组件组件是Vue.js中可复用的最小单位,它将HTML、CSS和JavaScri......
  • 基于Python+Vue开发的美容预约管理系统
    项目简介该项目是基于Python+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的美容诊所预约管理系统项目,大学生可以在实践中学习和......
  • 基于Python+Vue开发的房产销售管理系统
    项目简介该项目是基于Python+Vue开发的房产销售管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的房产销售管理系统项目,大学生可以在实践中学习和提升......
  • (开题报告)django+vue高校OA系统论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于高校OA系统的研究,现有研究主要集中在传统开发技术或单一功能模块的优化上。在国内外,虽然OA系统已广泛应用于企业等领域,但专门针对......
  • (开题报告)django+vuejavaweb学生宿舍管理系统论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于学生宿舍管理系统的研究,现有研究多集中于传统管理模式或单一功能模块的实现。在国内外,传统的学生宿舍管理方式主要依赖人工操作,效......
  • 基于SpringBoot+Vue的民族婚纱预定管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的民族婚纱预定管理系统,项目源码请点击文章末尾联系我哦~目前有各类......
  • 基于SpringBoot+Vue的社团管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的社团管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品毕......