|
@@ -60,32 +60,30 @@
|
|
|
<el-dialog v-model="dialogFormVisible" :title="type" destroy-on-close width="1400px">
|
|
<el-dialog v-model="dialogFormVisible" :title="type" destroy-on-close width="1400px">
|
|
|
<el-form id="detail-form" :model="detailData" inline label-position="left">
|
|
<el-form id="detail-form" :model="detailData" inline label-position="left">
|
|
|
<el-form-item label="日期">
|
|
<el-form-item label="日期">
|
|
|
- <el-input type="date" max="9999-12-31" @focus="rqHandleFocus()" @keyup="moveFocus"
|
|
|
|
|
- v-model="detailData.sczl_rq" style="width: 120px;" />
|
|
|
|
|
|
|
+ <el-input type="date" max="9999-12-31" @focus="rqHandleFocus()"
|
|
|
|
|
+ v-model="detailData.sczl_rq" style="width: 120px;" @keydown="ent1($event,$index,row,'')" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="员工编号">
|
|
<el-form-item label="员工编号">
|
|
|
- <el-input v-model="detailData.sczl_bh" style="width: 100px;" @keyup="moveFocus"
|
|
|
|
|
- placeholder="Enter回车"
|
|
|
|
|
- />
|
|
|
|
|
- <el-input v-model="detailData.name" style="width: 100px; padding-left: 5px;"
|
|
|
|
|
- @keyup="moveFocus" @click="selectvalue($event)" readonly />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_bh" style="width: 100px;" id="员工编号" @keydown="ent1($event,$index,row,'员工编号')" placeholder="Enter回车" />
|
|
|
|
|
+ <el-input v-model="detailData.name" style="width: 100px; padding-left: 5px;" @click="selectvalue($event)" readonly />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="组别">
|
|
<el-form-item label="组别">
|
|
|
- <el-input v-model="detailData.sczl_bzdh" style="width: 80px;" @keyup="moveFocus" @keydown="getBzsubmit($event)" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_bzdh" style="width: 80px;" @keydown="ent1($event,$index,row,'组别')" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
|
|
<el-form-item label="计时时数" style="padding-left: 195px;">
|
|
<el-form-item label="计时时数" style="padding-left: 195px;">
|
|
|
- <el-input v-model="detailData.sczl_jsss" style="width: 100px;" @keyup="moveFocus"
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_jsss" style="width: 100px;" @keydown="ent1($event,$index,row,'')"
|
|
|
@click="selectvalue($event)" />
|
|
@click="selectvalue($event)" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="冲月定额">
|
|
<el-form-item label="冲月定额">
|
|
|
- <el-input v-model="detailData.sczl_冲定额" @keyup="moveFocus" style="width: 80px;" @keydown="getBzsubmit2($event)" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_冲定额" style="width: 80px;" @keydown="ent1($event,$index,row,'冲月定额')" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 表格列表input -->
|
|
|
<el-table :data="detailData.table" border tooltip-effect="dark"
|
|
<el-table :data="detailData.table" border tooltip-effect="dark"
|
|
|
:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
|
:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }">
|
|
:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }">
|
|
@@ -93,72 +91,77 @@
|
|
|
<el-table-column label="工单编号" width="120">
|
|
<el-table-column label="工单编号" width="120">
|
|
|
<template #default="{ row, $index }">
|
|
<template #default="{ row, $index }">
|
|
|
<el-input v-model="row.sczl_gdbh" placeholder="Enter回车"
|
|
<el-input v-model="row.sczl_gdbh" placeholder="Enter回车"
|
|
|
- @keydown="handleEnter($event,$index, row)" @keyup="moveFocus3($event,$index,row)" />
|
|
|
|
|
|
|
+ @keydown="ent1($event,$index,row,'工单编号')"/>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="印件工序" width="100">
|
|
<el-table-column label="印件工序" width="100">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_yjGx" @keyup="moveFocus" readonly />
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_yjGx" readonly />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="工序名称" width="100">
|
|
<el-table-column label="工序名称" width="100">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_gxmc" @keyup="moveFocus" readonly />
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_gxmc" readonly />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="印件名称" width="310">
|
|
<el-table-column label="印件名称" width="310">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.Gd_cpmc" @keyup="moveFocus" readonly />
|
|
|
|
|
|
|
+ <el-input v-model="row.Gd_cpmc" readonly />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="核算标准" width="100">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <el-input v-model="row.hsbz" @keydown="ent1($event,$index,row,'核算标准')" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
- <el-table-column label="核算标准">
|
|
|
|
|
|
|
+ <!-- <el-table-column label="核算标准">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-select v-model="row.hsbz" @keyup="moveFocus" placeholder="请选择" popper-class="dropdown" >
|
|
|
|
|
|
|
+ <el-select v-model="row.hsbz" @keydown="ent1($event,$index,row,'')" placeholder="请选择" popper-class="dropdown" >
|
|
|
<el-option label="1000" value="1000" ></el-option>
|
|
<el-option label="1000" value="1000" ></el-option>
|
|
|
<el-option label="2500" value="2500"></el-option>
|
|
<el-option label="2500" value="2500"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</template>
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
|
|
|
|
+ </el-table-column> -->
|
|
|
|
|
|
|
|
<el-table-column label="包装产量" width="100">
|
|
<el-table-column label="包装产量" width="100">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_cl" @keyup="moveFocus" />
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_cl" @keydown="ent1($event,$index,row,'')" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="返工产量" width="95">
|
|
<el-table-column label="返工产量" width="95">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_返工产量" @keyup="moveFocus" />
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_返工产量" @keydown="ent1($event,$index,row,'')" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="每箱数量" width="100">
|
|
<el-table-column label="每箱数量" width="100">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_PgCl" @keyup="moveFocus" />
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_PgCl" @keydown="ent1($event,$index,row,'')"/>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="计产系数" width="95">
|
|
<el-table-column label="计产系数" width="95">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_计产系数" @keyup="moveFocus" />
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_计产系数" @keydown="ent1($event,$index,row,'')"/>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="来源" width="95">
|
|
<el-table-column label="来源" width="95">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.sczl_Jtbh1"
|
|
|
|
|
- @keyup="moveFocus"/>
|
|
|
|
|
|
|
+ <el-input v-model="row.sczl_Jtbh1" @keydown="ent1($event,$index,row,'')"/>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column label="定额代号" width="130">
|
|
<el-table-column label="定额代号" width="130">
|
|
|
<template #default="{ row, $index }">
|
|
<template #default="{ row, $index }">
|
|
|
- <el-input id="input" v-model="row.sczl_dedh" @keyup="moveFocus"
|
|
|
|
|
- @keydown="getDedhsubmit($event,$index, row)" />
|
|
|
|
|
|
|
+ <el-input id="input" v-model="row.sczl_dedh"
|
|
|
|
|
+ @keydown="ent1($event,$index,row,'定额代号')" />
|
|
|
|
|
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -166,7 +169,7 @@
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
|
|
<el-form-item label="其他备注" style="margin-top: 10px;">
|
|
<el-form-item label="其他备注" style="margin-top: 10px;">
|
|
|
- <el-input v-model="detailData.sczl_desc" @keyup="moveFocus" style="width:600px;"/>
|
|
|
|
|
|
|
+ <el-input v-model="detailData.sczl_desc" @keydown="ent1($event,$index,row,'其他备注')" style="width:600px;"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -195,6 +198,24 @@
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
+ <!-- 核算标准弹窗 -->
|
|
|
|
|
+ <!-- 核算标准弹窗 -->
|
|
|
|
|
+ <el-dialog v-model="hsbzVisible" title="选择" destroy-on-close width="200px" @keydown="selecthsbz($event)">
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ tooltip-effect="dark"
|
|
|
|
|
+ :data="selectDatahsbz"
|
|
|
|
|
+ row-key="value"
|
|
|
|
|
+ highlight-current-row="true"
|
|
|
|
|
+ border
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ @row-dblclick="SelectClickhsbz"
|
|
|
|
|
+ ref="tableRef"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-table-column align="center" prop="value" label="核算标准" width="168" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
<!-- 弹出选项框 -->
|
|
<!-- 弹出选项框 -->
|
|
|
<el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="800px"
|
|
<el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="800px"
|
|
|
@keydown="selectCP($event)">
|
|
@keydown="selectCP($event)">
|
|
@@ -691,7 +712,7 @@ const SelectClickBz = (row, column, event) => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 获取工序名称
|
|
// 获取工序名称
|
|
|
- const getTableGxMc = async (index, row) => {
|
|
|
|
|
|
|
+ const getTableGxMc = async (event,index, row) => {
|
|
|
try {
|
|
try {
|
|
|
const response = await getGxMc({
|
|
const response = await getGxMc({
|
|
|
gdbh: row.sczl_gdbh
|
|
gdbh: row.sczl_gdbh
|
|
@@ -763,6 +784,12 @@ const SelectClickBz = (row, column, event) => {
|
|
|
getTableData()
|
|
getTableData()
|
|
|
dialogFormVisible.value = false
|
|
dialogFormVisible.value = false
|
|
|
}
|
|
}
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ const inputElement = document.getElementById('员工编号');
|
|
|
|
|
+ if (inputElement) {
|
|
|
|
|
+ inputElement.focus();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, 100);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 新增数据
|
|
// 新增数据
|
|
@@ -786,10 +813,10 @@ const SelectClickBz = (row, column, event) => {
|
|
|
sczl_dedh: '',
|
|
sczl_dedh: '',
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
- setTimeout(() => {
|
|
|
|
|
- formElements = document.getElementById('detail-form').elements
|
|
|
|
|
- formElements[0].focus()
|
|
|
|
|
- }, 0)
|
|
|
|
|
|
|
+ // setTimeout(() => {
|
|
|
|
|
+ // formElements = document.getElementById('detail-form').elements
|
|
|
|
|
+ // formElements[0].focus()
|
|
|
|
|
+ // }, 0)
|
|
|
dialogFormVisible.value = true
|
|
dialogFormVisible.value = true
|
|
|
} else {
|
|
} else {
|
|
|
await getTableInfo(currentRow.value?.UniqId)
|
|
await getTableInfo(currentRow.value?.UniqId)
|
|
@@ -831,12 +858,17 @@ const SelectClickBz = (row, column, event) => {
|
|
|
message: '新增成功',
|
|
message: '新增成功',
|
|
|
})
|
|
})
|
|
|
getTableData()
|
|
getTableData()
|
|
|
- // dialogFormVisible.value = false
|
|
|
|
|
if (params.date != '') {
|
|
if (params.date != '') {
|
|
|
getTableData()
|
|
getTableData()
|
|
|
}
|
|
}
|
|
|
getSideData()
|
|
getSideData()
|
|
|
}
|
|
}
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ const inputElement = document.getElementById('员工编号');
|
|
|
|
|
+ if (inputElement) {
|
|
|
|
|
+ inputElement.focus();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, 100);
|
|
|
}
|
|
}
|
|
|
//弹出框回车事件
|
|
//弹出框回车事件
|
|
|
const handleGetYg = async () => {
|
|
const handleGetYg = async () => {
|
|
@@ -924,36 +956,36 @@ const SelectClickBz = (row, column, event) => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//班组回车事件
|
|
//班组回车事件
|
|
|
- const getBzsubmit = (event) => {
|
|
|
|
|
- if (event.keyCode !== 37){
|
|
|
|
|
- //弹出选择
|
|
|
|
|
- const data = [{
|
|
|
|
|
- 'sczl_bzdh': 'A班'
|
|
|
|
|
- }, {
|
|
|
|
|
- 'sczl_bzdh': 'B班'
|
|
|
|
|
- }]
|
|
|
|
|
- selectDataBz.splice(0, selectDataBz.length, ...data)
|
|
|
|
|
- if (dialogSelectVisible_Yg.value == false){
|
|
|
|
|
- BzVisible.value = true
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- setCurrent(data[0])
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
- //冲月定额
|
|
|
|
|
- const getBzsubmit2 = (event) => {
|
|
|
|
|
- if (event.keyCode !== 37) {
|
|
|
|
|
- const data = [{
|
|
|
|
|
- 'sczl_冲定额': '是'
|
|
|
|
|
- }, {
|
|
|
|
|
- 'sczl_冲定额': '否'
|
|
|
|
|
- }]
|
|
|
|
|
- selectDataCY.splice(0, selectDataCY.length, ...data)
|
|
|
|
|
- BzVisible2.value = true
|
|
|
|
|
- setCurrent2(data[0])
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // const getBzsubmit = (event) => {
|
|
|
|
|
+ // if (event.keyCode !== 37){
|
|
|
|
|
+ // //弹出选择
|
|
|
|
|
+ // const data = [{
|
|
|
|
|
+ // 'sczl_bzdh': 'A班'
|
|
|
|
|
+ // }, {
|
|
|
|
|
+ // 'sczl_bzdh': 'B班'
|
|
|
|
|
+ // }]
|
|
|
|
|
+ // selectDataBz.splice(0, selectDataBz.length, ...data)
|
|
|
|
|
+ // if (dialogSelectVisible_Yg.value == false){
|
|
|
|
|
+ // BzVisible.value = true
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
|
|
+ // setCurrent(data[0])
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
|
|
+ // }
|
|
|
|
|
+ // //冲月定额
|
|
|
|
|
+ // const getBzsubmit2 = (event) => {
|
|
|
|
|
+ // if (event.keyCode !== 37) {
|
|
|
|
|
+ // const data = [{
|
|
|
|
|
+ // 'sczl_冲定额': '是'
|
|
|
|
|
+ // }, {
|
|
|
|
|
+ // 'sczl_冲定额': '否'
|
|
|
|
|
+ // }]
|
|
|
|
|
+ // selectDataCY.splice(0, selectDataCY.length, ...data)
|
|
|
|
|
+ // BzVisible2.value = true
|
|
|
|
|
+ // setCurrent2(data[0])
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
const dialogSelectVisible_Bz = ref(false)
|
|
const dialogSelectVisible_Bz = ref(false)
|
|
|
const selectData_Bz = reactive([])
|
|
const selectData_Bz = reactive([])
|
|
|
// 处理选择框
|
|
// 处理选择框
|
|
@@ -993,23 +1025,23 @@ const SelectClickBz = (row, column, event) => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 处理选择框回车操作
|
|
// 处理选择框回车操作
|
|
|
- const handleEnter = (event,index, row) => {
|
|
|
|
|
- const inputs = document.getElementsByTagName("input");
|
|
|
|
|
- const currentIndex = Array.from(inputs).indexOf(event.target);
|
|
|
|
|
- // console.log(inputs)
|
|
|
|
|
- if(event.keyCode === 13){
|
|
|
|
|
- console.log("回车")
|
|
|
|
|
- detailData.table[index].sczl_dedh = '030002002'
|
|
|
|
|
- detailData.table[index].sczl_计产系数 = '1.000'
|
|
|
|
|
- if (row.sczl_gdbh === '') {
|
|
|
|
|
- detailData.table[index].sczl_yjGx = ''
|
|
|
|
|
- detailData.table[index].sczl_gxmc = ''
|
|
|
|
|
- detailData.table[index].Gd_cpmc = ''
|
|
|
|
|
- } else {
|
|
|
|
|
- getTableGxMc(index, row)
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // const handleEnter = (event,index, row) => {
|
|
|
|
|
+ // const inputs = document.getElementsByTagName("input");
|
|
|
|
|
+ // const currentIndex = Array.from(inputs).indexOf(event.target);
|
|
|
|
|
+ // // console.log(inputs)
|
|
|
|
|
+ // if(event.keyCode === 13){
|
|
|
|
|
+ // console.log("回车")
|
|
|
|
|
+ // detailData.table[index].sczl_dedh = '030002002'
|
|
|
|
|
+ // detailData.table[index].sczl_计产系数 = '1.000'
|
|
|
|
|
+ // if (row.sczl_gdbh === '') {
|
|
|
|
|
+ // detailData.table[index].sczl_yjGx = ''
|
|
|
|
|
+ // detailData.table[index].sczl_gxmc = ''
|
|
|
|
|
+ // detailData.table[index].Gd_cpmc = ''
|
|
|
|
|
+ // } else {
|
|
|
|
|
+ // getTableGxMc(index, row)
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
|
|
|
// 处理选择框
|
|
// 处理选择框
|
|
|
const handleSelectClick = (row, column, event) => {
|
|
const handleSelectClick = (row, column, event) => {
|
|
@@ -1321,137 +1353,419 @@ const SelectClickBz = (row, column, event) => {
|
|
|
|
|
|
|
|
let flag_Bz = true
|
|
let flag_Bz = true
|
|
|
let formElements
|
|
let formElements
|
|
|
- const moveFocus = (event) => {
|
|
|
|
|
- // console.log(formElements);
|
|
|
|
|
- const index = Array.from(formElements).indexOf(event.target);
|
|
|
|
|
- const key = event.key;
|
|
|
|
|
- console.log(index);
|
|
|
|
|
- const currentInputValue = formElements[index].value;
|
|
|
|
|
- event.preventDefault();
|
|
|
|
|
- switch (index) {
|
|
|
|
|
- case 0:
|
|
|
|
|
- if (key === 'ArrowRight' ) {
|
|
|
|
|
- formElements[1].focus();
|
|
|
|
|
- formElements[1].select();
|
|
|
|
|
- } else if (key === 'ArrowLeft') {
|
|
|
|
|
- formElements[formElements.length - 1].focus();
|
|
|
|
|
- formElements[formElements.length - 1].select();
|
|
|
|
|
- } else if (key === 'Enter') {
|
|
|
|
|
- formElements[1].focus();
|
|
|
|
|
- formElements[1].select();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 1:
|
|
|
|
|
- if (key === 'ArrowRight') {
|
|
|
|
|
- formElements[3].focus();
|
|
|
|
|
- formElements[3].select();
|
|
|
|
|
- } else if (key === 'ArrowLeft') {
|
|
|
|
|
- formElements[0].focus();
|
|
|
|
|
- formElements[0].select();
|
|
|
|
|
- } else if (key === 'Enter') {
|
|
|
|
|
- handleGetYg();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
-
|
|
|
|
|
- case 3:
|
|
|
|
|
- if (key === 'ArrowRight') {
|
|
|
|
|
-
|
|
|
|
|
- formElements[4].focus();
|
|
|
|
|
- formElements[4].select();
|
|
|
|
|
- } else if (key === 'ArrowLeft') {
|
|
|
|
|
- formElements[1].focus();
|
|
|
|
|
- formElements[1].select();
|
|
|
|
|
- } else if (key === 'Enter') {
|
|
|
|
|
- formElements[4].focus();
|
|
|
|
|
- formElements[4].select();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
-
|
|
|
|
|
- case formElements.length - 1:
|
|
|
|
|
- if (key === 'ArrowRight') {
|
|
|
|
|
- formElements[0].focus();
|
|
|
|
|
- formElements[0].select();
|
|
|
|
|
- } else if (key === 'ArrowLeft') {
|
|
|
|
|
- formElements[index - 1].focus();
|
|
|
|
|
- formElements[index - 1].select();
|
|
|
|
|
- } else if (key === 'Enter') {
|
|
|
|
|
- formElements[0].focus();
|
|
|
|
|
- formElements[0].select();
|
|
|
|
|
- enterDialog()
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
-
|
|
|
|
|
- default:
|
|
|
|
|
- if (key === 'ArrowRight') {
|
|
|
|
|
- formElements[index + 1].focus();
|
|
|
|
|
- formElements[index + 1].select();
|
|
|
|
|
- } else if (key === 'ArrowLeft') {
|
|
|
|
|
- formElements[index - 1].focus();
|
|
|
|
|
- formElements[index - 1].select();
|
|
|
|
|
- } else if (key === 'Enter') {
|
|
|
|
|
- formElements[index + 1].focus();
|
|
|
|
|
- formElements[index + 1].select();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
-};
|
|
|
|
|
- const movefous2 = (event,row,index)=>{
|
|
|
|
|
- const index2 = Array.from(formElements).indexOf(event.target)
|
|
|
|
|
- if (row.sczl_dedh != '' & event.key === "ArrowRight"){
|
|
|
|
|
- event.stopPropagation();
|
|
|
|
|
- formElements[index2+2].focus();
|
|
|
|
|
- formElements[index2+2].select();
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- const movefous = (event,row,index)=>{
|
|
|
|
|
- console.log(1)
|
|
|
|
|
- const index2 = Array.from(formElements).indexOf(event.target)
|
|
|
|
|
- if (row.sczl_dedh != '' & event.key === "ArrowLeft"){
|
|
|
|
|
- event.stopPropagation();
|
|
|
|
|
- formElements[index2-2].focus();
|
|
|
|
|
- formElements[index2-2].select();
|
|
|
|
|
- }
|
|
|
|
|
- if(row.sczl_gdbh === '' && event.key === "Enter" ){
|
|
|
|
|
- event.stopPropagation();
|
|
|
|
|
- formElements[index2+11].focus();
|
|
|
|
|
- formElements[index2+11].select();
|
|
|
|
|
- row.sczl_yjGx = ""
|
|
|
|
|
- row.sczl_gxmc = ""
|
|
|
|
|
- row.Gd_cpmc = ""
|
|
|
|
|
- row.hsbz = ""
|
|
|
|
|
- row.sczl_cl = ""
|
|
|
|
|
- row.sczl_返工产量 = ""
|
|
|
|
|
- row.sczl_计产系数 = ""
|
|
|
|
|
- row.sczl_PgCl = ""
|
|
|
|
|
- row.sczl_Jtbh1 = ""
|
|
|
|
|
- row.sczl_dedh = ""
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// const moveFocus = (event,index,row,title) => {
|
|
|
|
|
+// // console.log(formElements);
|
|
|
|
|
+// const index = Array.from(formElements).indexOf(event.target);
|
|
|
|
|
+// const key = event.key;
|
|
|
|
|
+// console.log(index);
|
|
|
|
|
+// const currentInputValue = formElements[index].value;
|
|
|
|
|
+// event.preventDefault();
|
|
|
|
|
+// switch (index) {
|
|
|
|
|
+// case 0:
|
|
|
|
|
+// if (key === 'ArrowRight' ) {
|
|
|
|
|
+// formElements[1].focus();
|
|
|
|
|
+// formElements[1].select();
|
|
|
|
|
+// } else if (key === 'ArrowLeft') {
|
|
|
|
|
+// formElements[formElements.length - 1].focus();
|
|
|
|
|
+// formElements[formElements.length - 1].select();
|
|
|
|
|
+// } else if (key === 'Enter') {
|
|
|
|
|
+// formElements[1].focus();
|
|
|
|
|
+// formElements[1].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 1:
|
|
|
|
|
+// if (key === 'ArrowRight') {
|
|
|
|
|
+// formElements[3].focus();
|
|
|
|
|
+// formElements[3].select();
|
|
|
|
|
+// } else if (key === 'ArrowLeft') {
|
|
|
|
|
+// formElements[0].focus();
|
|
|
|
|
+// formElements[0].select();
|
|
|
|
|
+// } else if (key === 'Enter') {
|
|
|
|
|
+// handleGetYg();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+
|
|
|
|
|
+// case 3:
|
|
|
|
|
+// if (key === 'ArrowRight') {
|
|
|
|
|
+
|
|
|
|
|
+// formElements[4].focus();
|
|
|
|
|
+// formElements[4].select();
|
|
|
|
|
+// } else if (key === 'ArrowLeft') {
|
|
|
|
|
+// formElements[1].focus();
|
|
|
|
|
+// formElements[1].select();
|
|
|
|
|
+// } else if (key === 'Enter') {
|
|
|
|
|
+// formElements[4].focus();
|
|
|
|
|
+// formElements[4].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+
|
|
|
|
|
+// case formElements.length - 1:
|
|
|
|
|
+// if (key === 'ArrowRight') {
|
|
|
|
|
+// formElements[0].focus();
|
|
|
|
|
+// formElements[0].select();
|
|
|
|
|
+// } else if (key === 'ArrowLeft') {
|
|
|
|
|
+// formElements[index - 1].focus();
|
|
|
|
|
+// formElements[index - 1].select();
|
|
|
|
|
+// } else if (key === 'Enter') {
|
|
|
|
|
+// formElements[0].focus();
|
|
|
|
|
+// formElements[0].select();
|
|
|
|
|
+// enterDialog()
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+
|
|
|
|
|
+// default:
|
|
|
|
|
+// if (key === 'ArrowRight') {
|
|
|
|
|
+// formElements[index + 1].focus();
|
|
|
|
|
+// formElements[index + 1].select();
|
|
|
|
|
+// } else if (key === 'ArrowLeft') {
|
|
|
|
|
+// formElements[index - 1].focus();
|
|
|
|
|
+// formElements[index - 1].select();
|
|
|
|
|
+// } else if (key === 'Enter') {
|
|
|
|
|
+// formElements[index + 1].focus();
|
|
|
|
|
+// formElements[index + 1].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// break;
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
+// const movefous2 = (event,row,index)=>{
|
|
|
|
|
+// const index2 = Array.from(formElements).indexOf(event.target)
|
|
|
|
|
+// if (row.sczl_dedh != '' & event.key === "ArrowRight"){
|
|
|
|
|
+// event.stopPropagation();
|
|
|
|
|
+// formElements[index2+2].focus();
|
|
|
|
|
+// formElements[index2+2].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// const movefous = (event,row,index)=>{
|
|
|
|
|
+// console.log(1)
|
|
|
|
|
+// const index2 = Array.from(formElements).indexOf(event.target)
|
|
|
|
|
+// if (row.sczl_dedh != '' & event.key === "ArrowLeft"){
|
|
|
|
|
+// event.stopPropagation();
|
|
|
|
|
+// formElements[index2-2].focus();
|
|
|
|
|
+// formElements[index2-2].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// if(row.sczl_gdbh === '' && event.key === "Enter" ){
|
|
|
|
|
+// event.stopPropagation();
|
|
|
|
|
+// formElements[index2+11].focus();
|
|
|
|
|
+// formElements[index2+11].select();
|
|
|
|
|
+// row.sczl_yjGx = ""
|
|
|
|
|
+// row.sczl_gxmc = ""
|
|
|
|
|
+// row.Gd_cpmc = ""
|
|
|
|
|
+// row.hsbz = ""
|
|
|
|
|
+// row.sczl_cl = ""
|
|
|
|
|
+// row.sczl_返工产量 = ""
|
|
|
|
|
+// row.sczl_计产系数 = ""
|
|
|
|
|
+// row.sczl_PgCl = ""
|
|
|
|
|
+// row.sczl_Jtbh1 = ""
|
|
|
|
|
+// row.sczl_dedh = ""
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
- const moveFocus3 = (event, index, formElements) => {
|
|
|
|
|
- const key = event.key; // 获取当前按下的键
|
|
|
|
|
|
|
+// const moveFocus3 = (event, index, formElements) => {
|
|
|
|
|
+// const key = event.key; // 获取当前按下的键
|
|
|
|
|
|
|
|
- console.log("当前按下的键:", key);
|
|
|
|
|
|
|
+// console.log("当前按下的键:", key);
|
|
|
|
|
|
|
|
- if (key === 'ArrowRight') {
|
|
|
|
|
- // 右方向键:将焦点移到下一个元素
|
|
|
|
|
- if (index + 1 < formElements.length) {
|
|
|
|
|
- formElements[index + 1].focus();
|
|
|
|
|
- formElements[index + 1].select();
|
|
|
|
|
- }
|
|
|
|
|
- } else if (key === 'ArrowLeft') {
|
|
|
|
|
- // 左方向键:将焦点移到上一个元素
|
|
|
|
|
- if (index - 1 >= 0) {
|
|
|
|
|
- formElements[index - 1].focus();
|
|
|
|
|
- formElements[index - 1].select();
|
|
|
|
|
- }
|
|
|
|
|
- } else if (key === 'Enter') {
|
|
|
|
|
- event.stopPropagation();
|
|
|
|
|
- formElements[index2-2].focus();
|
|
|
|
|
- formElements[index2-2].select();
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+// if (key === 'ArrowRight') {
|
|
|
|
|
+// // 右方向键:将焦点移到下一个元素
|
|
|
|
|
+// if (index + 1 < formElements.length) {
|
|
|
|
|
+// formElements[index + 1].focus();
|
|
|
|
|
+// formElements[index + 1].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// } else if (key === 'ArrowLeft') {
|
|
|
|
|
+// // 左方向键:将焦点移到上一个元素
|
|
|
|
|
+// if (index - 1 >= 0) {
|
|
|
|
|
+// formElements[index - 1].focus();
|
|
|
|
|
+// formElements[index - 1].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// } else if (key === 'Enter') {
|
|
|
|
|
+// event.stopPropagation();
|
|
|
|
|
+// formElements[index2-2].focus();
|
|
|
|
|
+// formElements[index2-2].select();
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
|
+ 核算标准
|
|
|
|
|
+ */
|
|
|
|
|
+ const hsbzVisible = ref(false); // 控制弹窗显示
|
|
|
|
|
+ const selectDatahsbz = ref([{ value: "1000" }, { value: "2500" }]); // 弹窗数据
|
|
|
|
|
+ const currentRowIndex = ref(0); // 弹窗中当前高亮的行索引
|
|
|
|
|
+ const tableRef = ref(null); // 弹窗表格的引用
|
|
|
|
|
+ const editingRow = ref(null); // 当前主表格中正在编辑的行
|
|
|
|
|
+
|
|
|
|
|
+ // 弹窗键盘事件处理
|
|
|
|
|
+ const selecthsbz = (event) => {
|
|
|
|
|
+ const maxIndex = selectDatahsbz.value.length - 1;
|
|
|
|
|
+ if (event.key === "ArrowUp") {
|
|
|
|
|
+ currentRowIndex.value = currentRowIndex.value === 0 ? maxIndex : currentRowIndex.value - 1;
|
|
|
|
|
+ updateHighlightRow();
|
|
|
|
|
+ } else if (event.key === "ArrowDown") {
|
|
|
|
|
+ currentRowIndex.value = currentRowIndex.value === maxIndex ? 0 : currentRowIndex.value + 1;
|
|
|
|
|
+ updateHighlightRow();
|
|
|
|
|
+ } else if (event.key === "Enter") {
|
|
|
|
|
+ const selectedRow = selectDatahsbz.value[currentRowIndex.value];
|
|
|
|
|
+ if (selectedRow) {
|
|
|
|
|
+ SelectClickhsbz(selectedRow);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 更新弹窗中高亮行
|
|
|
|
|
+ const updateHighlightRow = () => {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ if (tableRef.value) {
|
|
|
|
|
+ tableRef.value.setCurrentRow(selectDatahsbz.value[currentRowIndex.value]);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 选中某一行,并将数据回填到主表格
|
|
|
|
|
+ const SelectClickhsbz = (selectedRow) => {
|
|
|
|
|
+ if (!selectedRow) return;
|
|
|
|
|
+ console.log("selectedRow.value", selectedRow.value);
|
|
|
|
|
+ // 将选中的值回填到主表格当前行的 `hsbz` 字段
|
|
|
|
|
+ if (editingRow.value) {
|
|
|
|
|
+ editingRow.value.hsbz = selectedRow.value; // 确保 editingRow 是响应式的
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.error("当前没有编辑的行!");
|
|
|
|
|
+ }
|
|
|
|
|
+ // 关闭弹窗
|
|
|
|
|
+ hsbzVisible.value = false;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+//回车事件
|
|
|
|
|
+const ent1 = (event,index,row,title) => {
|
|
|
|
|
+ const inputs = document.getElementsByTagName("input");
|
|
|
|
|
+ const currentIndex = Array.from(inputs).indexOf(event.target);
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 13 && title === '工单编号') { // 检测是否按下回车键,且当前列为工单编号
|
|
|
|
|
+ if (row["sczl_gdbh"] === "") { // 如果当前工单编号为空
|
|
|
|
|
+ event.preventDefault(); // 阻止默认事件
|
|
|
|
|
+ event.stopPropagation(); // 阻止事件冒泡
|
|
|
|
|
+
|
|
|
|
|
+ // 跳转到下一行的工单编号输入框
|
|
|
|
|
+ const nextInputIndex = currentIndex + 11; // 假设每行有 10 个 input
|
|
|
|
|
+ if (nextInputIndex < inputs.length) { // 如果下一行的 input 存在
|
|
|
|
|
+ inputs[nextInputIndex].focus(); // 聚焦到下一行的工单编号
|
|
|
|
|
+ inputs[nextInputIndex].select(); // 选中内容
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 清空当前行的相关字段
|
|
|
|
|
+ row.sczl_yjGx = "";
|
|
|
|
|
+ row.sczl_gxmc = "";
|
|
|
|
|
+ row.Gd_cpmc = "";
|
|
|
|
|
+ row.hsbz = "";
|
|
|
|
|
+ row.sczl_cl = "";
|
|
|
|
|
+ row.sczl_返工产量 = "";
|
|
|
|
|
+ row.sczl_计产系数 = "";
|
|
|
|
|
+ row.sczl_PgCl = "";
|
|
|
|
|
+ row.sczl_Jtbh1 = "";
|
|
|
|
|
+ row.sczl_dedh = "";
|
|
|
|
|
+
|
|
|
|
|
+ // 设置当前行默认值
|
|
|
|
|
+ // detailData.table[index].sczl_dedh = "030002002"; // 设置默认 dedh 值
|
|
|
|
|
+ // detailData.table[index].sczl_计产系数 = "1.000"; // 设置默认 计产系数 值
|
|
|
|
|
+ detailData.table[index].sczl_dedh = ""; // 设置默认 dedh 值
|
|
|
|
|
+ detailData.table[index].sczl_计产系数 = ""; // 设置默认 计产系数 值
|
|
|
|
|
+
|
|
|
|
|
+ return; // 当前工单为空时,跳到下一行后停止后续逻辑
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 如果当前工单编号不为空,调用处理函数
|
|
|
|
|
+ getTableGxMc(event, index, row);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if(event.keyCode === 13 && title ==='员工编号'){
|
|
|
|
|
+ //调用员工编号方法
|
|
|
|
|
+ handleGetYg();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(event.keyCode === 13 && title ==='组别'){
|
|
|
|
|
+ //弹出选择
|
|
|
|
|
+ const data = [
|
|
|
|
|
+ {
|
|
|
|
|
+ 'sczl_bzdh': 'A班'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ 'sczl_bzdh': 'B班'
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+ selectDataBz.splice(0, selectDataBz.length, ...data)
|
|
|
|
|
+ if (dialogSelectVisible_Yg.value == false){
|
|
|
|
|
+ BzVisible.value = true
|
|
|
|
|
+ }
|
|
|
|
|
+ setCurrent(data[0])
|
|
|
|
|
+ }
|
|
|
|
|
+ if(event.keyCode === 13 && title ==='冲月定额'){
|
|
|
|
|
+ const data = [
|
|
|
|
|
+ {
|
|
|
|
|
+ 'sczl_冲定额': '是'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ 'sczl_冲定额': '否'
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+ selectDataCY.splice(0, selectDataCY.length, ...data)
|
|
|
|
|
+ BzVisible2.value = true
|
|
|
|
|
+ setCurrent2(data[0])
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if(event.keyCode === 13 && title ==='核算标准'){
|
|
|
|
|
+ hsbzVisible.value = true; // 显示弹窗
|
|
|
|
|
+ editingRow.value = row; // 将当前行数据存储到 editingRow 中
|
|
|
|
|
+ currentRowIndex.value = 0; // 默认选中第一行
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ updateHighlightRow(); // 高亮弹窗中的第一行
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(event.keyCode === 13 && title ==='定额代号'){
|
|
|
|
|
+ getDedhsubmit(event,index,row,title)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 13 && title === '其他备注') {
|
|
|
|
|
+ const index = Array.from(formElements).indexOf(event.target);
|
|
|
|
|
+ const key = event.key;
|
|
|
|
|
+ console.log(index);
|
|
|
|
|
+ const currentInputValue = formElements[index].value;
|
|
|
|
|
+ event.preventDefault();
|
|
|
|
|
+ switch (index) {
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ if (key === 'ArrowRight' ) {
|
|
|
|
|
+ formElements[1].focus();
|
|
|
|
|
+ formElements[1].select();
|
|
|
|
|
+ } else if (key === 'ArrowLeft') {
|
|
|
|
|
+ formElements[formElements.length - 1].focus();
|
|
|
|
|
+ formElements[formElements.length - 1].select();
|
|
|
|
|
+ } else if (key === 'Enter') {
|
|
|
|
|
+ formElements[1].focus();
|
|
|
|
|
+ formElements[1].select();
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ if (key === 'ArrowRight') {
|
|
|
|
|
+ formElements[3].focus();
|
|
|
|
|
+ formElements[3].select();
|
|
|
|
|
+ } else if (key === 'ArrowLeft') {
|
|
|
|
|
+ formElements[0].focus();
|
|
|
|
|
+ formElements[0].select();
|
|
|
|
|
+ } else if (key === 'Enter') {
|
|
|
|
|
+ handleGetYg();
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+
|
|
|
|
|
+ case 3:
|
|
|
|
|
+ if (key === 'ArrowRight') {
|
|
|
|
|
+
|
|
|
|
|
+ formElements[4].focus();
|
|
|
|
|
+ formElements[4].select();
|
|
|
|
|
+ } else if (key === 'ArrowLeft') {
|
|
|
|
|
+ formElements[1].focus();
|
|
|
|
|
+ formElements[1].select();
|
|
|
|
|
+ } else if (key === 'Enter') {
|
|
|
|
|
+ formElements[4].focus();
|
|
|
|
|
+ formElements[4].select();
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+
|
|
|
|
|
+ case formElements.length - 1:
|
|
|
|
|
+ if (key === 'ArrowRight') {
|
|
|
|
|
+ formElements[0].focus();
|
|
|
|
|
+ formElements[0].select();
|
|
|
|
|
+ } else if (key === 'ArrowLeft') {
|
|
|
|
|
+ formElements[index - 1].focus();
|
|
|
|
|
+ formElements[index - 1].select();
|
|
|
|
|
+ } else if (key === 'Enter') {
|
|
|
|
|
+ formElements[0].focus();
|
|
|
|
|
+ formElements[0].select();
|
|
|
|
|
+ enterDialog()
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+
|
|
|
|
|
+ default:
|
|
|
|
|
+ if (key === 'ArrowRight') {
|
|
|
|
|
+ formElements[index + 1].focus();
|
|
|
|
|
+ formElements[index + 1].select();
|
|
|
|
|
+ } else if (key === 'ArrowLeft') {
|
|
|
|
|
+ formElements[index - 1].focus();
|
|
|
|
|
+ formElements[index - 1].select();
|
|
|
|
|
+ } else if (key === 'Enter') {
|
|
|
|
|
+ formElements[index + 1].focus();
|
|
|
|
|
+ formElements[index + 1].select();
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if (event.keyCode === 13 || event.keyCode === 40) {
|
|
|
|
|
+ // Enter 或向下箭头
|
|
|
|
|
+ for (let i = currentIndex + 1; i < inputs.length; i++) {
|
|
|
|
|
+ if (!inputs[i].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[i].focus();
|
|
|
|
|
+ inputs[i].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (event.keyCode === 38) {
|
|
|
|
|
+ // 向上箭头
|
|
|
|
|
+ for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
|
|
+ if (!inputs[i].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[i].focus();
|
|
|
|
|
+ inputs[i].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // } else if (event.keyCode === 8) {
|
|
|
|
|
+ // // 删除箭头
|
|
|
|
|
+ // if (event.target.selectionStart === 0) {
|
|
|
|
|
+ // for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
|
|
+ // if (!inputs[i].readOnly) {
|
|
|
|
|
+ // nextTick(() => {
|
|
|
|
|
+ // inputs[i].focus();
|
|
|
|
|
+ // inputs[i].setSelectionRange(0, 0);
|
|
|
|
|
+ // inputs[i].select(); // 全选输入框内容
|
|
|
|
|
+ // });
|
|
|
|
|
+ // break;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
+ } else if (event.keyCode === 37) {
|
|
|
|
|
+ // 向左箭头
|
|
|
|
|
+ if (event.target.selectionStart === 0) {
|
|
|
|
|
+ for (let i = currentIndex - 1; i >= 0; i--) {
|
|
|
|
|
+ if (!inputs[i].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[i].focus();
|
|
|
|
|
+ inputs[i].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (event.keyCode === 39) {
|
|
|
|
|
+ // 向右箭头
|
|
|
|
|
+ if (event.target.selectionStart === event.target.value.length) {
|
|
|
|
|
+ for (let i = currentIndex + 1; i < inputs.length; i++) {
|
|
|
|
|
+ if (!inputs[i].readOnly) {
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ inputs[i].focus();
|
|
|
|
|
+ inputs[i].select();
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|