vue 前端选择弹窗取值完整实例[经典]
<!-- 班次信息 -->
<el-row>
<el-col :span="24">
<el-form-item label="班次" prop="wt_no">
<el-input v-model="temp.wt_name" readonly>
<template #append>
<el-button @click="openShiftSelector">
选择班次
</el-button>
</template>
</el-input>
</el-form-item>
</el-col>
</el-row> <!-- 正班时间 -->
<el-row>
<el-col :span="8">
<el-form-item label="上班时间" prop="wt_ts">
<el-input v-model="temp.wt_ts" readonly/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="下班时间" prop="wt_te">
<el-input v-model="temp.wt_te" readonly/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="正班工时" prop="wt_hour">
<el-input v-model="temp.wt_hour" readonly/>
</el-form-item>
</el-col>
</el-row>
<!-- 添加班次选择弹窗 -->
<el-dialog v-model="shiftDialogVisible" title="选择班次" width="600px">
<el-table
:data="wt_noOptions"
highlight-current-row
@current-change="handleShiftSelect"
style="width: 100%"
>
<el-table-column prop="wt_no" label="班次编号" width="100"/>
<el-table-column prop="wt_name" label="班次名称" width="150"/>
<el-table-column prop="wt_ts" label="上班时间" width="100">
<template #default="{row}">
{{ formatTime(row.wt_ts) }}
</template>
</el-table-column>
<el-table-column prop="wt_te" label="下班时间" width="100">
<template #default="{row}">
{{ formatTime(row.wt_te) }}
</template>
</el-table-column>
<el-table-column prop="wt_hour" label="工时" width="80"/>
<el-table-column prop="rmk" label="备注"/>
</el-table>
<template #footer>
<div class="dialog-footer">
<el-button @click="shiftDialogVisible = false">取消</el-button>
<el-button type="primary" @click="confirmShiftSelect">确定</el-button>
</div>
</template>
</el-dialog>
// 在 data() 中添加
data() {
return {
// ... 其他数据
shiftDialogVisible: false, // 班次选择弹窗显示状态
selectedShift: null, // 临时存储选中的班次
}
}, // 在 methods 中添加
methods: {
// ... 其他方法 // 打开班次选择弹窗
openShiftSelector() {
this.shiftDialogVisible = true;
this.selectedShift = null;
}, // 处理班次选择
handleShiftSelect(row) {
this.selectedShift = row;
}, // 确认班次选择
confirmShiftSelect() {
if (this.selectedShift) {
this.temp = {
...this.temp,
wt_no: this.selectedShift.wt_no,
wt_name: this.selectedShift.wt_name,
wt_ts: this.selectedShift.wt_ts,
wt_te: this.selectedShift.wt_te,
wt_hour: this.selectedShift.wt_hour
};
}
this.shiftDialogVisible = false;
}, // 修改关闭弹窗方法
closeDialog() {
this.$refs.dataForm.resetFields();
this.temp = {
dp_no: '',
dp_name: '',
wt_d: '',
wt_no: '',
wt_name: '',
wt_ts: '',
wt_te: '',
wt_hour: '',
wt_ts1: null,
wt_te1: null,
wt_hour1: 0,
pa_operate: '',
pa_operate_name: '',
rmk: '',
status: true
};
},
}
1、将班次选择改为按钮开窗选择
2、使上班时间、下班时间和工时为只读字段
3、开窗选择返回班次信息
vue 前端选择弹窗取值完整实例[经典]的更多相关文章
- input取值区间实例
前端开发中经常会遇到 input 取值区间的需求,比如搜索的时候,价格区间,积分值区间 大致的需求为 input 的值必须是正整数,第二个 input 的值必须大于第一个 DOM结构如下: <d ...
- Spring Boot后端+Vue前端+微信小程序,完整的开源解决方案!
项目简介 一个小商场系统,包括: 后端:Spring Boot 管理员前端:Vue 用户前端:微信小程序 功能介绍 1.小商城 首页 专题列表.专题详情 分类列表.分类详情 品牌列表.品牌详情 新品首 ...
- vue中ref-父主动取值值;
多用月input标签 定义的时候 直接写ref=“id” <el-input placeholder="请输入内容" style="width: 150px&quo ...
- Vue列表渲染:一个取值范围的v-for
v-for 也可以取整数.在这种情况下,它将重复多次模板. 例子 <div id="app"> <span v-for="n in 10"&g ...
- freemarker 前端 判读 遍历 取值
<#if content?length gt 100> ${content[0..100]}... <#else> ${content} </#if> freema ...
- el-select,选择一行,取值行的对象.
<el-select v-model="set_invoice_form.InvoiceType" placeholder="请选择" :disabl ...
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- vue页面开发遇到的坑,都是泪!src属性,freemarker取值
总结下今天做的看图识别药材名的功能所遇到的问题以及解决措施. 效果图如下 对应的连接 http://www.xinghengedu.com/getTenActivityQuestions.jspx 可 ...
- LoadRunner脚本实例来验证参数化的取值
LoadRunner脚本实例来验证参数化的取值 SINM {3]!G0问题提出: 主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.51Testing软件测试网(['H5f,d ...
- bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)
h5自带的select标签可以实现按住ctrl键多选的功能,但是样式及其难看. bootstrap select是很好用的前端插件 首先引入bootstrap和bootstrap-select的c ...
随机推荐
- CountDownLatch底层原理和示例
CountDownLatch 是一个同步工具类,允许一个线程或者多个线程等待其他线程完成操作,再执行. CountDownLatch(int count) 构造一个用给定计数初始化的 CountDow ...
- DynamoDB-键值存储
什么是DynamoDB? DynamoDB 是一个你什么也不用管的 NoSql 数据库.记得给 AWS付账单就可以. 在2004年的时候, Amazon 发现 Oracle 数据库都不够用了.为了还能 ...
- JavaBean、this:“当前对象的.”、
this:区分类的属性和形参
- react验证参数格式类型
首先你需要下载 cnpm i prop-types 安装验证数据类型的插件: 子组件 import React, { Component } from "react"; impor ...
- Linux docker 的安装及使用
Docker 有两个版本: 社区版(Community Edition,缩写为 CE) 企业版(Enterprise Edition,缩写为 EE) 检查环境 # 系统内核需要 3.10 以上 una ...
- NIT GREAT NITYACKE DESTROYS THE UNIVERSE
线段树 一般线段树维护的东西是什么?设其维护的信息的半群 \((A,+)\),维护标记的半群 \((T,\times)\) 和一种运算 \(*\mapsto A*T\to A\). 要求 \((b+c ...
- DeepSeek+AnythingLLM,搭建本地AI知识库,真的太香了!三分钟搞定智能助手,小白也能轻松上手!
1. 痛点暴击:你的知识管理还在原始时代吗? 你是否每次查找文档翻遍文件夹,会议纪要总在关键时刻"失踪"? 别慌!今天揭秘一个"真香"组合--DeepSeek+ ...
- [HEOI2014]大工程 题解
发现可以直接建立虚树. 设 \(dp_{u,0/1/2}\) 表示第 \(u\) 个节点的子树内,所有选中节点到它的距离之和/选中节点中到它的最短距离/选中节点中到它的最长距离,\(as_{u,0/1 ...
- 朋友说喊搞个简单的微信对接的封装搞外包,不要那么多的方法拿来就用的的那种,来看看Simple.Wechat吧
不知道大家有没有和我朋友一样,很多时候做外包总免不了去对接微信,最简单的微信用户信息获取.微信支付.微信模板消息发送,要是不熟悉总是要去找这个那个的包,但是人家的包封装的又丰富,又不想去看,本文将给大 ...
- xbox商店访问、下载速度慢,如何提升下载速度?
Xbox下载速度慢可能是由于多种原因,例如网络连接问题.微软服务器问题等.以下是一些可以尝试的方法来提升Xbox的下载速度: 更改网络设置:以WIN11举例:鼠标右键点电脑桌面右下角的网络图标,选择& ...