|
|
@@ -127,63 +127,44 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 弹出框 -->
|
|
|
- <el-dialog
|
|
|
- v-model="dialogFormVisible"
|
|
|
- :before-close="closeDialog"
|
|
|
- :title="type"
|
|
|
- destroy-on-close
|
|
|
- width="70%"
|
|
|
- style="position: fixed; top: 35%; left: 50%; transform: translate(-50%, -50%);"
|
|
|
+ <el-dialog v-model="dialogFormVisible" :before-close="closeDialog"
|
|
|
+ :title="type" destroy-on-close width="1000px"
|
|
|
>
|
|
|
|
|
|
- <el-form
|
|
|
- ref="elFormRef"
|
|
|
- :model="detailData"
|
|
|
- inline
|
|
|
- label-position="left"
|
|
|
- :rules="rule"
|
|
|
- id="detail-form"
|
|
|
- @keyup="moveFocus"
|
|
|
- >
|
|
|
- <el-form-item
|
|
|
- label="日期"
|
|
|
- >
|
|
|
- <el-date-picker
|
|
|
- v-model="detailData.qczl_rq"
|
|
|
- type="date"
|
|
|
- style="width: 150px;"
|
|
|
-
|
|
|
- />
|
|
|
- <!-- <el-input
|
|
|
- v-model="detailData.qczl_rq"
|
|
|
- style="width: 120px;"
|
|
|
- />-->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="工单编号"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="detailData.qczl_gdbh"
|
|
|
- style="width: 100px;"
|
|
|
- @keyup.enter="handleGdbhEnter"
|
|
|
- placeholder="Enter回车"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="拼印主工单">
|
|
|
- <el-input
|
|
|
- v-model="detailData.qczl_Pygd"
|
|
|
- style="width: 100px;"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="产品名称"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="detailData.Gd_cpmc"
|
|
|
- style="width: 400px;"
|
|
|
- readonly
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+ <el-form ref="elFormRef" :model="detailData"
|
|
|
+ inline label-position="right"
|
|
|
+ :rules="rule" id="detail-form"
|
|
|
+ >
|
|
|
+ <el-row :gutter="30">
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="日期" >
|
|
|
+ <el-date-picker v-model="detailData.qczl_rq" type="date" style="width: 150px;" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="工单编号" >
|
|
|
+ <el-input v-model="detailData.qczl_gdbh"
|
|
|
+ style="width: 150px;"
|
|
|
+ @keyup.enter="handleGdbhEnter"
|
|
|
+ placeholder="Enter回车"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="拼印主工单">
|
|
|
+ <el-input
|
|
|
+ v-model="detailData.qczl_Pygd"
|
|
|
+ style="width: 150px;"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="产品名称" >
|
|
|
+ <el-input v-model="detailData.Gd_cpmc"
|
|
|
+ style="width: 300px;" readonly />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
<br>
|
|
|
<el-form-item
|
|
|
label="印件号"
|
|
|
@@ -207,7 +188,7 @@
|
|
|
label="废品总数"
|
|
|
>
|
|
|
<el-input
|
|
|
- v-model="detailData.qczl_fp"
|
|
|
+ v-model="detailData.qczl_fp" id="废品总数"
|
|
|
style="width: 100px;"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -426,7 +407,18 @@
|
|
|
/>
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
+
|
|
|
+<el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="1000px" @keydown="selectGX($event)" >
|
|
|
+ <el-table tooltip-effect="dark" :data="selectData_gd"
|
|
|
+ row-key="ID" highlight-current-row="true"
|
|
|
+ border style="width:100%"
|
|
|
+ @row-dblclick="handleSelectClick_gd" ref="table_gd"
|
|
|
+ >
|
|
|
+ <el-table-column prop="Gd_cpmc" label="工单名称" width="430" />
|
|
|
+ <el-table-column prop="yj_Yjno" label="印件号" width="100" />
|
|
|
+ <el-table-column prop="yj_yjmc" label="印件名称" width="430" />
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
<el-dialog
|
|
|
v-model="GetjtbhVisible"
|
|
|
title="选择"
|
|
|
@@ -741,15 +733,80 @@ const getDetailData = async(id) => {
|
|
|
}
|
|
|
|
|
|
// 工单编号回车
|
|
|
-const handleGdbhEnter = async() => {
|
|
|
- const res = await getOrderInfo({ order: detailData.qczl_gdbh })
|
|
|
- if (res.code === 0) {
|
|
|
- const { Gd_cpmc, yj_Yjno, yj_yjmc } = res.data
|
|
|
- detailData.Gd_cpmc = Gd_cpmc
|
|
|
- detailData.qczl_yjno = yj_Yjno
|
|
|
- detailData.yj_yjmc = yj_yjmc
|
|
|
- }
|
|
|
-}
|
|
|
+const handleGdbhEnter = async() => {
|
|
|
+ if(detailData.qczl_gdbh!=''){
|
|
|
+ const res = await getOrderInfo({ order: detailData.qczl_gdbh })
|
|
|
+ if (res.code === 0) {
|
|
|
+ if(res.data.length==0){
|
|
|
+ ElMessage({
|
|
|
+ type: 'error',
|
|
|
+ message: '查无此编号的工单,请仔细检查后重新输入'
|
|
|
+ })
|
|
|
+ //设置输入框的值为空
|
|
|
+ detailData.Gd_cpmc = ''
|
|
|
+ detailData.qczl_yjno = ''
|
|
|
+ detailData.yj_yjmc = ''
|
|
|
+ }else if(res.data.length==1){
|
|
|
+ const { Gd_cpmc, yj_Yjno, yj_yjmc } = res.data
|
|
|
+ detailData.Gd_cpmc = Gd_cpmc
|
|
|
+ detailData.qczl_yjno = yj_Yjno
|
|
|
+ detailData.yj_yjmc = yj_yjmc
|
|
|
+ }else if(res.data.length>1){
|
|
|
+ document.getElementById('废品总数').focus()
|
|
|
+ selectData_gd.splice(0, selectData_gd.length, ...res.data)
|
|
|
+ setGXCurrent(selectData_gd[0])
|
|
|
+ dialogSelectVisible.value=true
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ detailData.Gd_cpmc = ''
|
|
|
+ detailData.qczl_yjno = ''
|
|
|
+ detailData.yj_yjmc = ''
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+const dialogSelectVisible = ref(false)
|
|
|
+const selectData_gd = reactive([])
|
|
|
+// 处理选择框
|
|
|
+const handleSelectClick_gd = (row, column, event) => {
|
|
|
+ detailData.Gd_cpmc = row.Gd_cpmc
|
|
|
+ detailData.qczl_yjno = row.yj_Yjno
|
|
|
+ detailData.yj_yjmc = row.yj_yjmc
|
|
|
+ dialogSelectVisible.value = false
|
|
|
+}
|
|
|
+const currentIndex = ref(0);
|
|
|
+const GXCurrent = ref(0);
|
|
|
+const selectGX = (event) => {
|
|
|
+ if (event.keyCode === 40) { // 向下箭头
|
|
|
+ if (currentIndex.value < selectData_gd.length - 1) {
|
|
|
+ currentIndex.value++;
|
|
|
+ setGXCurrent(selectData_gd[currentIndex.value]);
|
|
|
+ } else {
|
|
|
+ currentIndex.value = 0;
|
|
|
+ setGXCurrent(selectData_gd[currentIndex.value]); // 到达最后一行时回到第一行
|
|
|
+ }
|
|
|
+ } else if (event.keyCode === 38) { // 向上箭头
|
|
|
+ if (currentIndex.value > 0) {
|
|
|
+ currentIndex.value--;
|
|
|
+ setGXCurrent(selectData_gd[currentIndex.value]);
|
|
|
+ } else {
|
|
|
+ currentIndex.value = selectData_gd.length - 1;
|
|
|
+ setGXCurrent(selectData_gd[currentIndex.value]); // 到达第一行时回到最后一行
|
|
|
+ }
|
|
|
+ } else if (event.keyCode === 13) { // 回车键
|
|
|
+ dialogSelectVisible.value = false;
|
|
|
+ }
|
|
|
+}
|
|
|
+const table_gd = ref()
|
|
|
+const setGXCurrent = (row) => {
|
|
|
+ setTimeout(()=>{
|
|
|
+ table_gd.value?.setCurrentRow(row)
|
|
|
+ detailData.Gd_cpmc = row.Gd_cpmc
|
|
|
+ detailData.qczl_yjno = row.yj_Yjno
|
|
|
+ detailData.yj_yjmc = row.yj_yjmc
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
// 废品类别回车
|
|
|
const handleFplbEnter = async(index, row) => {
|
|
|
@@ -1122,50 +1179,50 @@ const showDialog = () => {
|
|
|
}, 0)
|
|
|
}
|
|
|
|
|
|
-let formElements
|
|
|
-const moveFocus = (event) => {
|
|
|
- const index = Array.from(formElements).indexOf(event.target)
|
|
|
- const key = event.key
|
|
|
- event.preventDefault()
|
|
|
- switch (index) {
|
|
|
- case 0:
|
|
|
- if (key === 'ArrowDown') {
|
|
|
- formElements[1].focus()
|
|
|
- formElements[1].select();
|
|
|
- } else if (key === 'ArrowUp') {
|
|
|
- formElements[formElements.length - 1].focus()
|
|
|
- } else if (key === 'Enter') {
|
|
|
- formElements[1].focus()
|
|
|
- formElements[1].select();
|
|
|
- }
|
|
|
- break
|
|
|
-
|
|
|
- case formElements.length - 1 :
|
|
|
- if (key === 'ArrowDown') {
|
|
|
- formElements[0].focus()
|
|
|
- formElements[0].select();
|
|
|
- } else if (key === 'ArrowUp') {
|
|
|
- formElements[index - 1].focus()
|
|
|
- } else if (key === 'Enter') {
|
|
|
- formElements[0].focus()
|
|
|
- formElements[0].select();
|
|
|
- }
|
|
|
- break
|
|
|
-
|
|
|
- default:
|
|
|
- if (key === 'ArrowDown') {
|
|
|
- formElements[index + 1].focus()
|
|
|
- formElements[index + 1].select();
|
|
|
- } else if (key === 'ArrowUp') {
|
|
|
- formElements[index - 1].focus()
|
|
|
- formElements[index + 1].select();
|
|
|
- } else if (key === 'Enter') {
|
|
|
- formElements[index + 1].focus()
|
|
|
- formElements[index + 1].select();
|
|
|
- }
|
|
|
- break
|
|
|
- }
|
|
|
-}
|
|
|
+// let formElements
|
|
|
+// const moveFocus = (event) => {
|
|
|
+// const index = Array.from(formElements).indexOf(event.target)
|
|
|
+// const key = event.key
|
|
|
+// event.preventDefault()
|
|
|
+// switch (index) {
|
|
|
+// case 0:
|
|
|
+// if (key === 'ArrowDown') {
|
|
|
+// formElements[1].focus()
|
|
|
+// formElements[1].select();
|
|
|
+// } else if (key === 'ArrowUp') {
|
|
|
+// formElements[formElements.length - 1].focus()
|
|
|
+// } else if (key === 'Enter') {
|
|
|
+// formElements[1].focus()
|
|
|
+// formElements[1].select();
|
|
|
+// }
|
|
|
+// break
|
|
|
+
|
|
|
+// case formElements.length - 1 :
|
|
|
+// if (key === 'ArrowDown') {
|
|
|
+// formElements[0].focus()
|
|
|
+// formElements[0].select();
|
|
|
+// } else if (key === 'ArrowUp') {
|
|
|
+// formElements[index - 1].focus()
|
|
|
+// } else if (key === 'Enter') {
|
|
|
+// formElements[0].focus()
|
|
|
+// formElements[0].select();
|
|
|
+// }
|
|
|
+// break
|
|
|
+
|
|
|
+// default:
|
|
|
+// if (key === 'ArrowDown') {
|
|
|
+// formElements[index + 1].focus()
|
|
|
+// formElements[index + 1].select();
|
|
|
+// } else if (key === 'ArrowUp') {
|
|
|
+// formElements[index - 1].focus()
|
|
|
+// formElements[index + 1].select();
|
|
|
+// } else if (key === 'Enter') {
|
|
|
+// formElements[index + 1].focus()
|
|
|
+// formElements[index + 1].select();
|
|
|
+// }
|
|
|
+// break
|
|
|
+// }
|
|
|
+// }
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|