Commit 41ae2365 authored by 高宇's avatar 高宇

工作日志加导出

parent eacd89ac
<template>
<div class="app-container">
<div style="width: 80%; margin-left: 80px; padding-left: 8.6%">
<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-input ref="input1" v-model="form.pn" placeholder="请输入pn" :minlength="3" style="width: 400px" :maxlength="100" @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="40">
<el-col :span="12" >
<el-form-item label="lot:" style="flex-basis: 50%;" prop="lot">
<el-input ref="input2" v-model="form.lot" placeholder="请输入lot" style="width: 400px" :maxlength="100" @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="40">
<el-col :span="8">
<el-form-item label="gx:" prop="gx">
<el-select
v-model="form.gx"
clearable
placeholder="请选择gx"
style="width: 100%; max-width: 400px;"
@change="handlePgxChange"
>
<el-option
v-for="(dict, index) in pissbList"
:key="index"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
<div class="app-container">
<div style="width: 80%; margin-left: 80px; padding-left: 8.6%">
<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-input ref="input1" v-model="form.pn" placeholder="请输入pn" :minlength="3" style="width: 400px" :maxlength="100" @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="lot:" style="flex-basis: 50%;" prop="lot">
<el-input ref="input2" v-model="form.lot" placeholder="请输入lot" style="width: 400px" :maxlength="100" @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="40">
<el-col :span="8">
<el-form-item label="gx:" prop="gx">
<el-select
v-model="form.gx"
clearable
placeholder="请选择gx"
style="width: 100%; max-width: 400px;"
@change="handlePgxChange"
>
<el-option
v-for="(dict, index) in pissbList"
:key="index"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="machine:" prop="machine">
<el-input ref="input4" v-model="form.machine" placeholder="请输入machine" style="width: 100%; max-width: 400px;" :maxlength="10" @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="machine:" prop="machine">
<el-input ref="input4" v-model="form.machine" placeholder="请输入machine" style="width: 100%; max-width: 400px;" :maxlength="10" @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-button type="primary" style="padding: 8px 16px;" size="small" @click="handleQuery">查询</el-button>
</el-form-item>
</el-col>
</el-row>
<el-col :span="8">
<el-form-item>
<el-button type="primary" style="padding: 8px 16px;" size="small" @click="handleQuery">查询</el-button>
</el-form-item>
</el-col>
</el-row>
<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>
</el-col>
</el-row>
<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>
</el-col>
</el-row>
<!-- 提取 jbtype、jbrank 和 jbLot -->
<el-row :gutter="0" style="display: flex; width: 81%;">
<el-col :span="8">
<el-form :model="form" ref="form" :rules="rules" label-width="80px">
<el-form-item label="jbtype:" prop="jbtype">
<template v-if="form.jbtype && form.jbtype.length > 21">
<el-tooltip :content="form.jbtype" effect="dark">
<el-input v-model="form.jbtype" placeholder="jbtype" :disabled="true" style="width: 100%;" />
</el-tooltip>
</template>
<template v-else>
<!-- 提取 jbtype、jbrank 和 jbLot -->
<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="jbtype">
<template v-if="form.jbtype && form.jbtype.length > 21">
<el-tooltip :content="form.jbtype" effect="dark">
<el-input v-model="form.jbtype" placeholder="jbtype" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jbtype" placeholder="jbtype" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
<el-col :span="8">
<el-form :model="form" ref="form" :rules="rules" label-width="80px">
<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-tooltip>
</template>
<template v-else>
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<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%;" />
</template>
</el-form-item>
</el-form>
</el-col>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jbrank" placeholder="jbrank" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
<el-col :span="8">
<el-form :model="form" ref="form" :rules="rules" label-width="80px">
<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-tooltip>
</template>
<template v-else>
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<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%;" />
</template>
</el-form-item>
</el-form>
</el-col>
</el-row>
<!-- 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-tooltip>
</template>
<template v-else>
<el-input v-model="form.jbLot" placeholder="jbLot" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
</el-row>
<!-- 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>
</el-col>
</el-row>
<!-- 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>
</el-col>
</el-row>
<!-- 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>
</el-col>
</el-row>
<!-- 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>
</el-col>
</el-row>
<!-- 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>
</el-col>
</el-row>
<!-- 提取 jltype、jllot 和 jlbzq -->
<el-row :gutter="0" style="display: flex; width: 81%;">
<el-col :span="8">
<el-form :model="form" ref="form" :rules="rules" label-width="80px">
<el-form-item label="jltype:" prop="jltype">
<template v-if="form.jltype && form.jltype.length > 21">
<el-tooltip :content="form.jltype" effect="dark">
<el-input v-model="form.jltype" placeholder="jltype" :disabled="true" style="width: 100%;" />
</el-tooltip>
</template>
<template v-else>
<!-- 提取 jltype、jllot 和 jlbzq -->
<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="jltype">
<template v-if="form.jltype && form.jltype.length > 21">
<el-tooltip :content="form.jltype" effect="dark">
<el-input v-model="form.jltype" placeholder="jltype" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jltype" placeholder="jltype" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
<el-col :span="8">
<el-form :model="form" ref="form" :rules="rules" label-width="80px">
<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-tooltip>
</template>
<template v-else>
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<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%;" />
</template>
</el-form-item>
</el-form>
</el-col>
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jllot" placeholder="jllot" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
<el-col :span="8">
<el-form :model="form" ref="form" :rules="rules" label-width="80px">
<el-form-item label="jlbzq:" prop="jlbzq">
<template v-if="form.jlbzq && form.jlbzq.length > 21">
<el-tooltip :content="form.jlbzq" effect="dark">
<el-input v-model="form.jlbzq" placeholder="jlbzq" :disabled="true" style="width: 100%;" />
</el-tooltip>
</template>
<template v-else>
<el-col :span="8">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="jlbzq:" prop="jlbzq">
<template v-if="form.jlbzq && form.jlbzq.length > 21">
<el-tooltip :content="form.jlbzq" effect="dark">
<el-input v-model="form.jlbzq" placeholder="jlbzq" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-form>
</el-col>
</el-row>
<!-- lockUser 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="lockUser:" style="flex-basis: 50%;" prop="lockUser">
<el-input ref="input9" v-model="form.lockUser" placeholder="请输入lockUser" :minlength="3" style="width: 300px" :maxlength="100" :disabled="!lockUserEnabled" @keyup.enter.native="handleTab(8, $event)" />
</el-tooltip>
</template>
<template v-else>
<el-input v-model="form.jlbzq" placeholder="jlbzq" :disabled="true" style="width: 100%;" />
</template>
</el-form-item>
</el-col>
</el-row>
</el-form>
</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-button type="primary" @click="submitForm">保存</el-button>
<el-button @click="resetQuery">清空</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- lockUser 输入框 -->
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="lockUser:" style="flex-basis: 50%;" prop="lockUser">
<el-input ref="input9" v-model="form.lockUser" 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-button type="primary" @click="submitForm">保存</el-button>
<el-button @click="resetQuery">清空</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
</div>
</template>
<script>
import { getDictData, addApplication,queryList } from '@/api/production/gfual'
import { MessageBox } from 'element-ui';
import { getDictData, addApplication, queryList } from '@/api/production/gfual'
import { MessageBox } from 'element-ui'
export default {
name: 'Role',
data() {
return {
jbcodeEnabled: false,
wbcodeEnabled: false,
wblotEnabled: false,
jlcodEnabled: false,
lockUserEnabled: false,
isRequired: false,
// 对应后端配置文件cy.init.pgxList的的内容
phdList: ['003'],
......@@ -256,6 +260,28 @@ export default {
]
}
},
watch: {
'form.jbcode': {
handler(newJbcode) {
// 当 jbcode 字段发生变化时,解析它并更新相关字段的值
const parts = newJbcode.split(',')
this.form.jbtype = parts[0] || ''
this.form.jbrank = parts[1] || ''
this.form.jbLot = parts[2] || ''
},
immediate: true // 立即执行一次以处理初始值
},
'form.jlcod': {
handler(newJlcod) {
// 当 jlcod 字段发生变化时,解析它并更新相关字段的值
const parts = newJlcod.split(',')
this.form.jltype = parts[0] || ''
this.form.jllot = parts[1] || ''
this.form.jlbzq = parts[2] || ''
},
immediate: true // 立即执行一次以处理初始值
}
},
mounted() {
this.$nextTick(() => {
this.$refs.input1.$refs.input.focus()
......@@ -276,10 +302,10 @@ export default {
},
methods: {
handlePgxChange() {
if (this.phdList.includes(this.form.pgx)){
this.isRequired = true;
if (this.phdList.includes(this.form.pgx)) {
this.isRequired = true
} else {
this.isRequired = false;
this.isRequired = false
}
},
/** 查询按钮操作 */
......@@ -292,102 +318,66 @@ export default {
pn: this.form.pn,
lot: this.form.lot,
gx: this.form.gx,
machine: this.form.machine,
machine: this.form.machine
})
.then(response => {
if (response.code === 200) {
// 如果后端返回成功信息,显示成功提示
MessageBox.alert('查询成功', '成功', {
confirmButtonText: '确定',
type: 'success',
});
// 根据后端返回的数据来决定哪些输入框启用
if (response.data.jbcode) {
this.jbcodeEnabled = true;
this.wbcodeEnabled = false;
this.wblotEnabled = false;
this.jlcodEnabled = false;
this.lockUserEnabled = false;
this.form.jbcode = '';
this.form.wbcode = '';
this.form.wblot = '';
this.form.jlcod = '';
this.form.lockUser = '';
} else if (response.data.wb) {
// 当后端返回 'wbcode' 时
this.jbcodeEnabled = false;
this.wbcodeEnabled = true;
this.wblotEnabled = true;
this.jlcodEnabled = false;
this.lockUserEnabled = false;
this.form.jbcode = '';
this.form.wbcode = '';
this.form.wblot = '';
this.form.jlcod = '';
this.form.lockUser = '';
// 这里可以根据需要执行其他操作
} else if (response.data.jl) {
// 当后端返回 'jl' 时
this.jbcodeEnabled = false;
this.wbcodeEnabled = false;
this.wblotEnabled = false;
this.jlcodEnabled = true;
this.lockUserEnabled = false;
this.form.jbcode = '';
this.form.wbcode = '';
this.form.wblot = '';
this.form.jlcod = '';
this.form.lockUser = '';
} else {
type: 'success'
})
console.log('data', response.data)
if (response.data.jbcode !== null) {
this.jbcodeEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
this.form.lockUser = ''
}
if (response.data.wb !== null) {
this.wbcodeEnabled = true
this.wblotEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
this.form.lockUser = ''
}
if (response.data.jl !== null) {
this.jlcodEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
this.form.lockUser = ''
}
if (response.data.jbcode === null && response.data.wb === null && response.data.jl === null) {
// 所有输入框都锁定,报错
this.jbcodeEnabled = false;
this.wbcodeEnabled = false;
this.wblotEnabled = false;
this.jlcodEnabled = false;
this.lockUserEnabled = true;
this.form.jbcode = '';
this.form.wbcode = '';
this.form.wblot = '';
this.form.jlcod = '';
this.form.lockUser = '';
this.jbcodeEnabled = false
this.wbcodeEnabled = false
this.wblotEnabled = false
this.jlcodEnabled = false
this.lockUserEnabled = true
this.form.jbcode = ''
this.form.wbcode = ''
this.form.wblot = ''
this.form.jlcod = ''
this.form.lockUser = ''
MessageBox.alert('jbcode,wb,jl内容均为空,查询无效,请重新查询', '错误', {
confirmButtonText: '确定',
type: 'error',
});
type: 'error'
})
}
// 执行下一步操作
this.doNextAction();
} else {
this.jbcodeEnabled = false;
this.wbcodeEnabled = false;
this.wblotEnabled = false;
this.jlcodEnabled = false;
this.lockUserEnabled = true;
this.form.jbcode = '';
this.form.wbcode = '';
this.form.wblot = '';
this.form.jlcod = '';
this.form.lockUser = '';
// 如果后端返回错误信息,显示错误提示
MessageBox.alert(response.data.message, '错误', {
confirmButtonText: '确定',
type: 'error',
});
}
})
.catch(error => {
// 处理请求错误
console.error(error);
});
}
});
})
},
doNextAction() {
// 执行下一步操作的逻辑
},
/** 查询基础信息列表 */
getList() {
......@@ -488,30 +478,8 @@ export default {
}
})
}
},
watch: {
'form.jbcode': {
handler(newJbcode) {
// 当 jbcode 字段发生变化时,解析它并更新相关字段的值
const parts = newJbcode.split(',');
this.form.jbtype = parts[0] || '';
this.form.jbrank = parts[1] || '';
this.form.jbLot = parts[2] || '';
},
immediate: true, // 立即执行一次以处理初始值
},
'form.jlcod': {
handler(newJlcod) {
// 当 jlcod 字段发生变化时,解析它并更新相关字段的值
const parts = newJlcod.split(',');
this.form.jltype = parts[0] || '';
this.form.jllot = parts[1] || '';
this.form.jlbzq = parts[2] || '';
},
immediate: true, // 立即执行一次以处理初始值
},
},
};
}
}
</script>
<style lang="scss" scoped>
......@@ -538,5 +506,4 @@ export default {
}
</style>
\ No newline at end of file
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