<!-- 班次信息 -->
<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 前端选择弹窗取值完整实例[经典]的更多相关文章

  1. input取值区间实例

    前端开发中经常会遇到 input 取值区间的需求,比如搜索的时候,价格区间,积分值区间 大致的需求为 input 的值必须是正整数,第二个 input 的值必须大于第一个 DOM结构如下: <d ...

  2. Spring Boot后端+Vue前端+微信小程序,完整的开源解决方案!

    项目简介 一个小商场系统,包括: 后端:Spring Boot 管理员前端:Vue 用户前端:微信小程序 功能介绍 1.小商城 首页 专题列表.专题详情 分类列表.分类详情 品牌列表.品牌详情 新品首 ...

  3. vue中ref-父主动取值值;

    多用月input标签 定义的时候 直接写ref=“id” <el-input placeholder="请输入内容" style="width: 150px&quo ...

  4. Vue列表渲染:一个取值范围的v-for

    v-for 也可以取整数.在这种情况下,它将重复多次模板. 例子 <div id="app"> <span v-for="n in 10"&g ...

  5. freemarker 前端 判读 遍历 取值

    <#if content?length gt 100> ${content[0..100]}... <#else> ${content} </#if> freema ...

  6. el-select,选择一行,取值行的对象.

      <el-select v-model="set_invoice_form.InvoiceType" placeholder="请选择" :disabl ...

  7. loadrunner 脚本优化-参数化之场景中的参数化取值

    脚本优化-场景中的参数化取值 by:授客 QQ:1033553122   Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...

  8. vue页面开发遇到的坑,都是泪!src属性,freemarker取值

    总结下今天做的看图识别药材名的功能所遇到的问题以及解决措施. 效果图如下 对应的连接 http://www.xinghengedu.com/getTenActivityQuestions.jspx 可 ...

  9. LoadRunner脚本实例来验证参数化的取值

    LoadRunner脚本实例来验证参数化的取值 SINM {3]!G0问题提出:  主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.51Testing软件测试网(['H5f,d ...

  10. bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)

    h5自带的select标签可以实现按住ctrl键多选的功能,但是样式及其难看. bootstrap select是很好用的前端插件 ​ 首先引入bootstrap和bootstrap-select的c ...

随机推荐

  1. redux初探

    action是一个普通对象 里面必须有一个type字段,代表将要执行的行为,其他字段自己规划. action只是描述了将要发生的事情并不能直接修改状态 action创建函数 尽量是一个纯函数,他返回的 ...

  2. 微软宣布更新SymCrypt加密库,新增对PQC算法的支持

    转载链接:https://mp.weixin.qq.com/s/aWXzPTWhxFpJVP1s0iwAtw 2024年9月9日,微软(Microsoft)在其博客中宣布,已开始在其开源核心加密库Sy ...

  3. 文章学习:基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破

    学习文章:英特尔×同态科技 | 基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破 文章 人工智能的安全隐患 ChatGPT的成功大部分来源于海量的数据支撑和丰富的数据维度,基于13亿参 ...

  4. 原根学习笔记+BSGS复习笔记

    学原根发现拔山盖世算法忘光了,干脆一块儿写了吧. \(BSGS\) 算法 \(BSGS\) 算法,又名拔山盖世算法.北上广深算法.他解决的问题如下: 求解最小的可行的 \(k\),满足 \(a^k\e ...

  5. [BZOJ3569] DZY Loves Chinese II 题解

    考虑不联通的情况.图不好做,就造一棵生成树出来,由于是无向图,所以只有树边和返祖边. 发现在一条树边断开后,生成树会分成两个连通块,由覆盖这条树边的返祖边链接,只有这些返祖边也全部断开,原图才会不联通 ...

  6. 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!

    引子:那个让运维集体加班的夜晚 "凡哥!线上服务响应时间飙到10秒了!"凌晨1点,实习生小李的语音带着哭腔. 监控大屏上,JVM堆内存曲线像坐了火箭--刚扩容的16G内存,30分钟 ...

  7. Hive - 多种表类型的CURD测试

    关于torc.textfile.orc.es.hyperdrive表的CURD测试 TORC(支持事务的orc表)测试 TORC(分区表)测试 TEXTFILE 表测试 ORC 表测试 ES(Elas ...

  8. ARC132E题解

    简要题意 有 \(n\) 个方块,每个方块有一个初始状态可能为左右或者空.每次操作随机选择一个空进行操作.每次操作可以向左或者向右走一直到下一个空或者走出边界,走到的每个格子会变成左或者右,这取决于移 ...

  9. ABC391F题解

    不加火车头(不吸氧)不开快读全部 long long 提交记录. 使用了我所知的三种优化后的提交记录(最慢点还是没有在一秒内跑过啊). 做法非常的妙,我们先将 \(A,B,C\) 这三个数组降序排序, ...

  10. 记一次QT的QSS多个控件设置同一个样式的问题

    文章目录 Qt样式表的格式问题 问题的引入 qss 选择器 问题所在 Reference Qt样式表的格式问题 问题的引入 最近在进行样式设计的时候,发现了一个问题,具体如下: 我是将所有样式写到.q ...