Commit afd7a32d authored by shifangwuji's avatar shifangwuji

9/21(hou)

parent 9287735a
......@@ -4,7 +4,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="pn:" style="flex-basis: 50%;" prop="pn">
<el-form-item label="pn:" style="flex-basis: 50%" prop="pn">
<el-input
ref="input1"
v-model="form.pn"
......@@ -20,7 +20,7 @@
</el-row>
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="lot:" style="flex-basis: 50%;" prop="lot">
<el-form-item label="lot:" style="flex-basis: 50%" prop="lot">
<el-input
ref="input2"
v-model="form.lot"
......@@ -40,7 +40,7 @@
v-model="form.gx"
clearable
placeholder="请选择gx"
style="width: 100%; max-width: 400px;"
style="width: 100%; max-width: 400px"
:disabled="queryInputsEnabled"
@change="handlePgxChange"
>
......@@ -60,7 +60,7 @@
ref="input4"
v-model="form.machine"
placeholder="请输入machine"
style="width: 100%; max-width: 400px;"
style="width: 100%; max-width: 400px"
:maxlength="10"
:disabled="queryInputsEnabled"
@keyup.enter.native="handleQuery"
......@@ -73,7 +73,7 @@
<el-button
v-if="queryButtonVisible"
type="primary"
style="padding: 8px 16px;"
style="padding: 8px 16px"
size="small"
@click="handleQuery"
>
......@@ -83,29 +83,52 @@
</el-col>
</el-row>
<hr style="margin: 0 0 20px 0; width: 81%;">
<hr style="margin: 0 0 20px 0; width: 81%" />
<!-- jbcode 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="jbcode:" style="flex-basis: 50%;" prop="jbcode">
<el-input ref="input5" v-model="form.jbcode" placeholder="请输入jbcode" :minlength="3" style="width: 868px" :maxlength="100" :disabled="!jbcodeEnabled" @keyup.enter.native="handleTab(4, $event)" />
<el-form-item
label="jbcode:"
style="flex-basis: 50%"
prop="jbcode"
>
<el-input
ref="input5"
v-model="form.jbcode"
placeholder="请输入jbcode"
:minlength="3"
style="width: 868px"
:maxlength="100"
:disabled="!jbcodeEnabled"
@keyup.enter.native="handleTab(4, $event)"
/>
</el-form-item>
</el-col>
</el-row>
<!-- 提取 ptype、jbrank 和 jbLot -->
<el-row :gutter="0" style="display: flex; width: 81%;">
<el-row :gutter="0" style="display: flex; width: 81%">
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="jbtype:" prop="ptype">
<template v-if="form.ptype && form.ptype.length > 21">
<el-tooltip :content="form.ptype" effect="dark">
<el-input v-model="form.ptype" placeholder="ptype" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.ptype"
placeholder="ptype"
:disabled="true"
style="width: 100%"
/>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.ptype" placeholder="jbtype" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.ptype"
placeholder="jbtype"
:disabled="true"
style="width: 100%"
/>
</template>
</el-form-item>
</el-form>
......@@ -116,11 +139,21 @@
<el-form-item label="jbrank:" prop="jbrank">
<template v-if="form.jbrank && form.jbrank.length > 21">
<el-tooltip :content="form.jbrank" effect="dark">
<el-input v-model="form.jbrank" placeholder="jbrank" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jbrank"
placeholder="jbrank"
:disabled="true"
style="width: 100%"
/>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jbrank" placeholder="jbrank" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jbrank"
placeholder="jbrank"
:disabled="true"
style="width: 100%"
/>
</template>
</el-form-item>
</el-form>
......@@ -131,11 +164,21 @@
<el-form-item label="jbLot:" prop="jblot">
<template v-if="form.jblot && form.jblot.length > 21">
<el-tooltip :content="form.jblot" effect="dark">
<el-input v-model="form.jblot" placeholder="jblot" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jblot"
placeholder="jblot"
:disabled="true"
style="width: 100%"
/>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jblot" placeholder="jbLot" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jblot"
placeholder="jbLot"
:disabled="true"
style="width: 100%"
/>
</template>
</el-form-item>
</el-form>
......@@ -145,8 +188,21 @@
<!-- wbcode 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="wbcode:" style="flex-basis: 50%;" prop="wbcode">
<el-input ref="input6" v-model="form.wbcode" placeholder="请输入wbcode" :minlength="3" style="width: 300px" :maxlength="100" :disabled="!wbcodeEnabled" @keyup.enter.native="handleTab(5, $event)" />
<el-form-item
label="wbcode:"
style="flex-basis: 50%"
prop="wbcode"
>
<el-input
ref="input6"
v-model="form.wbcode"
placeholder="请输入wbcode"
:minlength="3"
style="width: 300px"
:maxlength="100"
:disabled="!wbcodeEnabled"
@keyup.enter.native="handleTab(5, $event)"
/>
</el-form-item>
</el-col>
</el-row>
......@@ -154,8 +210,17 @@
<!-- wblot 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="wblot:" style="flex-basis: 50%;" prop="wblot">
<el-input ref="input7" v-model="form.wblot" placeholder="请输入wblot" :minlength="3" style="width: 300px" :maxlength="100" :disabled="!wblotEnabled" @keyup.enter.native="handleTab(6, $event)" />
<el-form-item label="wblot:" style="flex-basis: 50%" prop="wblot">
<el-input
ref="input7"
v-model="form.wblot"
placeholder="请输入wblot"
:minlength="3"
style="width: 300px"
:maxlength="100"
:disabled="!wblotEnabled"
@keyup.enter.native="handleTab(6, $event)"
/>
</el-form-item>
</el-col>
</el-row>
......@@ -163,24 +228,43 @@
<!-- jlcod 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="jlcod:" style="flex-basis: 50%;" prop="jlcod">
<el-input ref="input8" v-model="form.jlcod" placeholder="请输入jlcod" :minlength="3" style="width: 868px" :maxlength="100" :disabled="!jlcodEnabled" @keyup.enter.native="handleTab(7, $event)" />
<el-form-item label="jlcod:" style="flex-basis: 50%" prop="jlcod">
<el-input
ref="input8"
v-model="form.jlcod"
placeholder="请输入jlcod"
:minlength="3"
style="width: 868px"
:maxlength="100"
:disabled="!jlcodEnabled"
@keyup.enter.native="handleTab(7, $event)"
/>
</el-form-item>
</el-col>
</el-row>
<!-- 提取 jltype、jllot 和 jlbzq -->
<el-row :gutter="0" style="display: flex; width: 81%;">
<el-row :gutter="0" style="display: flex; width: 81%">
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="jltype:" prop="jlname">
<template v-if="form.jlname && form.jlname.length > 21">
<el-tooltip :content="form.jlname" effect="dark">
<el-input v-model="form.jlname" placeholder="jlname" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jlname"
placeholder="jlname"
:disabled="true"
style="width: 100%"
/>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jlname" placeholder="jltype" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jlname"
placeholder="jltype"
:disabled="true"
style="width: 100%"
/>
</template>
</el-form-item>
</el-form>
......@@ -191,11 +275,21 @@
<el-form-item label="jllot:" prop="jllot">
<template v-if="form.jllot && form.jllot.length > 21">
<el-tooltip :content="form.jllot" effect="dark">
<el-input v-model="form.jllot" placeholder="jllot" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jllot"
placeholder="jllot"
:disabled="true"
style="width: 100%"
/>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jllot" placeholder="jllot" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jllot"
placeholder="jllot"
:disabled="true"
style="width: 100%"
/>
</template>
</el-form-item>
</el-form>
......@@ -204,13 +298,25 @@
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="jlbzq:" prop="jlvalidDate">
<template v-if="form.jlvalidDate && form.jlvalidDate.length > 21">
<template
v-if="form.jlvalidDate && form.jlvalidDate.length > 21"
>
<el-tooltip :content="form.jlvalidDate" effect="dark">
<el-input v-model="form.jlvalidDate" placeholder="jlvalidDate" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jlvalidDate"
placeholder="jlvalidDate"
:disabled="true"
style="width: 100%"
/>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jlvalidDate" placeholder="jlbzq" :disabled="true" style="width: 100%;" />
<el-input
v-model="form.jlvalidDate"
placeholder="jlbzq"
:disabled="true"
style="width: 100%"
/>
</template>
</el-form-item>
</el-form>
......@@ -220,17 +326,29 @@
<!-- lockUser 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="lockUser:" style="flex-basis: 50%;" prop="unlockUsername">
<el-input ref="input9" v-model="form.unlockUsername" placeholder="请输入lockUser" :minlength="3" style="width: 300px" :maxlength="100" :disabled="!lockUserEnabled" @keyup.enter.native="handleTab(8, $event)" />
<el-form-item
label="lockUser:"
style="flex-basis: 50%"
prop="unlockUsername"
>
<el-input
ref="input9"
v-model="form.unlockUsername"
placeholder="请输入lockUser"
:minlength="3"
style="width: 300px"
:maxlength="100"
:disabled="!lockUserEnabled"
@keyup.enter.native="handleTab(8, $event)"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-form label-width="80px">
<el-row style="padding-left; padding-top: 1%">
<el-col :span="12">
<el-form-item style="flex-basis: 50%;">
<el-form-item style="flex-basis: 50%">
<el-button
v-if="!unlockButtonVisible"
type="primary"
......@@ -238,10 +356,7 @@
>
保存
</el-button>
<el-button
v-if="!unlockButtonVisible"
@click="resetQuery"
>
<el-button v-if="!unlockButtonVisible" @click="resetQuery">
清空
</el-button>
<el-button
......@@ -251,7 +366,6 @@
>
解锁
</el-button>
</el-form-item>
</el-col>
</el-row>
......@@ -261,7 +375,12 @@
</template>
<script>
import { getDictData, addApplication, queryList, unlockUser } from '@/api/production/gfual'
import {
getDictData,
addApplication,
queryList,
unlockUser
} from '@/api/production/gfual'
import { MessageBox } from 'element-ui'
export default {
......@@ -352,8 +471,8 @@ export default {
watch: {
'form.jbcode': {
handler(newJbcode) {
console.log('newJbcode', newJbcode)
if (newJbcode) { // 检查是否为空或未定义
if (newJbcode) {
// 检查是否为空或未定义
const parts = newJbcode.split(',')
this.form.ptype = parts[0] || ''
this.form.jbrank = parts[1] || ''
......@@ -369,7 +488,8 @@ export default {
},
'form.jlcod': {
handler(newJlcod) {
if (newJlcod) { // 检查是否为空或未定义
if (newJlcod) {
// 检查是否为空或未定义
const parts = newJlcod.split(',')
this.form.jlname = parts[0] || ''
this.form.jllot = parts[1] || ''
......@@ -396,7 +516,9 @@ export default {
next()
},
created() {
sessionStorage.getItem('applicationForm') ? this.exist = true : this.exist = false
sessionStorage.getItem('applicationForm')
? (this.exist = true)
: (this.exist = false)
if (this.exist) {
this.form = JSON.parse(sessionStorage.getItem('applicationForm'))
}
......@@ -404,8 +526,10 @@ export default {
},
methods: {
validateField(value, callback, fieldName) {
if (this[fieldName + 'Enabled']) { // 检查是否开启验证
if (value) { // 检查是否为空或未定义
if (this[fieldName + 'Enabled']) {
// 检查是否开启验证
if (value) {
// 检查是否为空或未定义
value = value.trim() // 去掉前导和尾随空格
}
if (!value) {
......@@ -425,7 +549,7 @@ export default {
}
},
/** 查询按钮操作 */
handleQuery: function() {
handleQuery: function () {
// 先触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
......@@ -443,27 +567,19 @@ export default {
console.log('data', response.data)
if (response.data.jbcode !== '') {
this.jbcodeEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
}
if (response.data.wb !== '') {
this.wbcodeEnabled = true
this.wblotEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
}
if (response.data.jl !== '') {
this.jlcodEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
}
if (response.data.jbcode === '' && response.data.wb === '' && response.data.jl === '') {
if (
response.data.jbcode === '' &&
response.data.wb === '' &&
response.data.jl === ''
) {
// 所有输入框都锁定,报错
this.jbcodeEnabled = false
this.wbcodeEnabled = false
......@@ -476,14 +592,19 @@ export default {
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
MessageBox.alert('jbcode,wb,jl内容均为空,查询无效,请解锁后重新查询', '错误', {
confirmButtonText: '确定',
type: 'error'
})
MessageBox.alert(
'jbcode,wb,jl内容均为空,查询无效,请解锁后重新查询',
'错误',
{
confirmButtonText: '确定',
type: 'error'
}
)
}
this.queryButtonVisible = false
}
}).catch(() => {
})
.catch(() => {
console.log('Setting lockUserEnabled to true')
// 查询失败时,将所有输入框锁定并显示错误提示
this.jbcodeEnabled = false
......@@ -493,11 +614,7 @@ export default {
this.queryInputsEnabled = true
this.lockUserEnabled = true
this.unlockButtonVisible = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
this.form.lockUser = ''
this.queryButtonVisible = false
})
}
})
......@@ -507,44 +624,39 @@ export default {
},
unlockQuery() {
// 先触发表单验证
// 先触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
// 向后端发送解锁请求,并将 lockUser 的值传递过去
unlockUser({
unlockUsername: this.form.unlockUsername
}).then(response => {
if (response.code === 200) {
// 解锁成功,恢复页面状态
this.jbcodeEnabled = false
this.wbcodeEnabled = false
this.wblotEnabled = false
this.jlcodEnabled = false
this.lockUserEnabled = false
this.queryInputsEnabled = false
this.unlockButtonVisible = false
this.queryButtonVisible = true
this.form.unlockUsername = ''
// 显示成功提示
this.$message({
showClose: true,
message: '解锁成功',
type: 'success',
duration: 5000
})
} else {
// 解锁失败,显示解锁失败的弹出框
MessageBox.alert(response.data.message, '解锁失败', {
confirmButtonText: '确定',
type: 'error'
})
}
})
.then(response => {
if (response.code === 200) {
// 解锁成功,恢复页面状态
this.jbcodeEnabled = false
this.wbcodeEnabled = false
this.wblotEnabled = false
this.jlcodEnabled = false
this.lockUserEnabled = false
this.queryInputsEnabled = false
this.unlockButtonVisible = false
this.queryButtonVisible = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
this.form.unlockUsername = ''
// 显示成功提示
this.$message({
showClose: true,
message: '解锁成功',
type: 'success',
duration: 5000
})
} else {
// 解锁失败,显示解锁失败的弹出框
MessageBox.alert(response.data.message, '解锁失败', {
confirmButtonText: '确定',
type: 'error'
})
}
})
}
})
},
......@@ -582,11 +694,7 @@ export default {
this.jlcodEnabled = false
this.lockUserEnabled = false
this.queryButtonVisible = true
// 手动重置错误信息
this.$refs.form.clearValidate() // 清空表单验证信息
this.$nextTick(() => {
this.$refs.form.resetFields() // 重置表单字段
})
sessionStorage.setItem('applicationForm', JSON.stringify(this.form))
},
......@@ -619,7 +727,7 @@ export default {
// 提交表单
submitForm() {
this.$refs.form.validate((valid) => {
this.$refs.form.validate(valid => {
if (valid) {
// 验证通过,继续处理 jlvalidDate 字段
const jlcodParts = this.form.jlcod.split(',')
......@@ -627,10 +735,13 @@ export default {
// 校验 jlvalidDate 字段格式
const jlvalidDateRegex = /^\d{4}\/\d{2}\/\d{2}$/ // yyyy/mm/dd 格式
if (jlvalidDatePart.trim() === '' || jlvalidDateRegex.test(jlvalidDatePart)) {
if (
jlvalidDatePart.trim() === '' ||
jlvalidDateRegex.test(jlvalidDatePart)
) {
// 如果 jlvalidDate 符合格式或为空,执行保存操作
addApplication(this.form)
.then((res) => {
.then(res => {
console.log('res', res)
if (res.code === 200) {
if (res.data !== null) {
......@@ -642,6 +753,7 @@ export default {
this.lockUserEnabled = false
this.queryInputsEnabled = false
this.unlockButtonVisible = false
this.queryButtonVisible = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
......@@ -670,7 +782,8 @@ export default {
this.jlcodEnabled = false
this.queryInputsEnabled = true
this.lockUserEnabled = true
this.unlockButtonVisible = true,
this.unlockButtonVisible = true
this.queryButtonVisible = false
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
......@@ -679,7 +792,9 @@ export default {
})
} else {
// jlvalidDate 不符合格式,显示错误消息
this.showErrorMessage('jlcod 中的 jlbzq 不符合规范,请输入有效的日期格式(yyyy/mm/dd)')
this.showErrorMessage(
'jlcod 中的 jlbzq 不符合规范,请输入有效的日期格式(yyyy/mm/dd)'
)
}
}
})
......@@ -720,28 +835,25 @@ export default {
}
</script>
<style lang="scss" scoped>
.app-container {
font-size: 18px;
padding: 0;
.info{
.info {
height: 100px;
display: flex;
align-items: center;
justify-content: center;
.title{
font-size: 16px;
color: #333;
font-weight: 700;
}
.title {
font-size: 16px;
color: #333;
font-weight: 700;
}
}
.button{
.button {
margin-top: 7%;
margin-left: 20%;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment