首页 > 其他分享 >练习时长两天半vue

练习时长两天半vue

时间:2024-11-01 23:11:01浏览次数:1  
标签:scjh vue const 两天 练习 value endTime ref row

<script setup lang="ts">
import {computed, 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()

const workers = ref([
    {
        id:'',
        name:'',
        teamName:''
    }
])

const getWorker = async () => {
    let result = await getWorkerService()
    workers.value = result.data
}
const fprwDialogVisible = ref(false)
const openFprwDialog = (row) =>{
    scjh.value = {
        generalOrder: row.generalOrder,
        divisionOrder: row.divisionOrder,
        subordinateOrder: row.subordinateOrder,
        productName: row.productName,
        batch: row.batch,
        liucheng: row.liucheng,
        quantity: row.quantity,
        nextTeam: row.nextTeam,
        startTime: row.startTime,
        endTime: row.endTime
    }

    getWorker()
    fprwDialogVisible.value = true
}

const workInfo = ref({
    generalOrder:'',
    divisionOrder:'',
    subordinateOrder:'',
    productName:'',
    batch:'',
    liucheng:'',
    process:'',
    startTime:'',
    endTime:'',
    id:'',
    name:'',
    quantity:'',
    status:''
})

const process = ref("")
const getProcess = async () => {
    let result = await getProcessService(scjh.value.nextTeam)
    process.value = result.data
}

const selectedWorkers = ref([]) // 选择的人员

const addWorkInfo = async () => {

    await getProcess()
    console.log(process.value)

    const totalQuantity = scjh.value.quantity  // 获取总的数量
    const workerCount = selectedWorkers.value.length  // 获取选择的人员数
    const baseQuantity = Math.floor(totalQuantity / workerCount)  // 计算每个人分配的基础数量(取整)
    const remainder = totalQuantity % workerCount    // 计算余数(不能整除的部分)

    for (let i = 0; i < workerCount; i++) {
        const worker = selectedWorkers.value[i]
        const assignedQuantity = baseQuantity + (i < remainder ? 1 : 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: process.value,
            startTime: scjh.value.startTime,
            endTime: scjh.value.endTime,
            id: worker.id,
            name: worker.name,
            quantity: assignedQuantity,
            status: process.value.split(',')[0]
        }
        await addWorkInfoService(workInfo.value)

    }

    fprwDialogVisible.value = false
}
</script>

<template>
    <h1>分配任务</h1>

    <el-table :data="scjhs" border style="width: 100%">
        <el-table-column prop="generalOrder" label="总制令" />
        <el-table-column prop="divisionOrder" label="分制令" />
        <el-table-column prop="subordinateOrder" label="子制令" />
        <el-table-column prop="productName" label="产品名" />
        <el-table-column prop="batch" label="批次" />
        <el-table-column prop="liucheng" label="流程" />
        <el-table-column prop="quantity" label="数量" />
        <el-table-column prop="nextTeam" label="待分配班组" />
        <el-table-column prop="startTime" label="开始时间" />
        <el-table-column prop="endTime" label="结束时间" />
        <el-table-column label="操作">
            <template #default="{row}">
                <el-button type="primary" @click="openFprwDialog(row)">分配任务</el-button>
            </template>
        </el-table-column>
    </el-table>

    <el-dialog v-model="fprwDialogVisible" title="分配任务"  width="500" draggable center>

        <el-form label-position="left" label-width="auto">
            <el-form-item label="总制令" >
                <el-input v-model="scjh.generalOrder"   disabled />
            </el-form-item>
            <el-form-item label="分制令">
                <el-input v-model="scjh.divisionOrder"   disabled />
            </el-form-item>
            <el-form-item label="子制令">
                <el-input v-model="scjh.subordinateOrder"   disabled />
            </el-form-item>
            <el-form-item label="产品名">
                <el-input v-model="scjh.productName"   disabled />
            </el-form-item>
            <el-form-item label="批次">
                <el-input v-model="scjh.batch"   disabled />
            </el-form-item>
            <el-form-item label="数量">
                <el-input v-model="scjh.quantity"   disabled />
            </el-form-item>
            <el-form-item label="选定人员">
                <el-checkbox-group v-model="selectedWorkers">

                    <el-checkbox
                        v-for="worker in workers"
                        :key="worker.id"
                        :value="worker"
                    >
                        {{ worker.name }}
                    </el-checkbox>

                </el-checkbox-group>
            </el-form-item>

        </el-form>

        <template #footer>
            <div class="dialog-footer">
                <el-button @click="fprwDialogVisible = false">关闭</el-button>
                <el-button type="primary" @click="addWorkInfo" >分配</el-button>
            </div>
        </template>
    </el-dialog>

</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,endTime,ref,row
From: https://www.cnblogs.com/muzhaodi/p/18521448

相关文章

  • LeetCode题练习与总结:矩形区域不超过 K 的最大数值和--363
    一、题目描述给你一个 mxn 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。题目数据保证总会存在一个数值和不超过 k 的矩形区域。示例1:输入:matrix=[[1,0,1],[0,-2,3]],k=2输出:2解释:蓝色边框圈出来的矩形区域 [[......
  • LeetCode题练习与总结:水壶问题--365
    一、题目描述有两个水壶,容量分别为 x 和 y 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 target 升。你可以:装满任意一个水壶清空任意一个水壶将水从一个水壶倒入另一个水壶,直到接水壶已满,或倒水壶已空。示例1: 输入:x=3,y=5,target=4输出......
  • Vue全家桶-Vue-Router详解
    前后端分离阶段URL的hashHTML5的History认识vue-routervue-router的使用路由的默认路径history模式router-link路由懒加载打包效果分析路由的其他属性动态路由基本匹配......
  • ssm026校园美食交流系统+vue(论文+源码)_kaic
     毕业论文题目  校园美食交流系统院   系:                   专   业:                    学   号:                    姓   名:                    指导老师......
  • 【Kaggle | Pandas】练习5:数据类型和缺失值
    文章目录1.获取列数据类型.dtype/.dypes2.转换数据类型.astype()3.获取数据为空的列.isnull()4.将缺少值替换并且排序.fillna(),.sort_values()1.获取列数据类型.dtype/.dypes数据集中points列的数据类型是什么?#Yourcodeheredtype=reviews.points.d......
  • java+vue计算机毕设富华责任有限公司的人事信息管理系统【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,企业信息化已成为提升竞争力的关键手段之一。富华责任有限公司作为一家不断壮大的企业,其人事管理工作日益复杂,传统的人工管理......
  • java+vue计算机毕设电商助农微信小程序【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,电子商务已成为推动农村经济发展的重要力量。我国农村地区资源丰富,但受限于地理位置、信息闭塞等因素,农产品销售往往面临渠道......
  • 真题练习37-Excel电子表格-全国计算机等级考试一级计算机基础及MS Office应用考试【汪
    第37组请根据题目要求,完成下列操作:打开考生文件夹下的电子表格,按照下列要求完成对此文稿的修饰并保存。1.在考生文件夹下打开EXCEL.XLSX文件:(1)将sheet1工作表的A1:G1单元格合并为一个单元格,内容水平居中;计算2015年和2016年产品销售总量分别置于B15和D15单元格内,分别计算2015......
  • 基于Python+Vue开发的健身房管理系统
    项目简介该项目是基于Python+Vue开发的健身房管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的健身房管理系统项目,大学生可以在实践中学习和提升自己......
  • 牛客软件开发专项练习-Day2
    1.下列叙述中正确的是(A)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解释:链式存储结......