|
|
@@ -11,6 +11,7 @@
|
|
|
<el-button type="primary" class="bt" icon="edit" @click="onADD">添加</el-button>
|
|
|
<el-button type="primary" class="bt" icon="delete" :disabled="!selectedIds" @click="on_delete">删除</el-button>
|
|
|
<el-button type="primary" class="bt" icon="download" @click="ToExcel" >导出到Excel</el-button>
|
|
|
+ <el-button type="primary" class="bt" icon="edit" @click="onsync">获取U8资料</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
|
@@ -45,12 +46,12 @@
|
|
|
>
|
|
|
|
|
|
<el-table-column sortable align="center" label="存货编码" prop="存货编码" width="120" />
|
|
|
- <el-table-column sortable align="center" label="物料名称" prop="物料名称" width="120" />
|
|
|
+ <el-table-column sortable align="center" label="物料名称" prop="物料名称" width="200" />
|
|
|
<el-table-column align="center" label="印版名称" prop="印版名称" width="200" />
|
|
|
<el-table-column align="center" label="供方批号" prop="供方批号" width="200" />
|
|
|
<el-table-column align="center" label="制造日期" prop="制造日期" width="110" />
|
|
|
- <el-table-column align="center" label="报废日期" prop="报废日期" width="200" />
|
|
|
- <el-table-column align="center" label="原始印数" prop="原始印数" width="200" />
|
|
|
+ <el-table-column align="center" label="报废日期" prop="报废日期" width="110" />
|
|
|
+ <el-table-column align="center" label="原始印数" prop="原始印数" width="110" />
|
|
|
<el-table-column align="center" label="累计印数" prop="累计印数" width="110" />
|
|
|
<el-table-column align="center" label="考核印数" prop="考核印数" width="110" />
|
|
|
<el-table-column align="center" label="创建用户" prop="创建用户" width="110" />
|
|
|
@@ -145,7 +146,11 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="存货编码">
|
|
|
- <el-input v-model="Plate.存货编码" @keydown="handleInventoryKeyDown($event)" placeholder="请输入存货编码" />
|
|
|
+ <el-input
|
|
|
+ v-model="Plate.存货编码"
|
|
|
+ id = '存货编码'
|
|
|
+ @keydown="handleKeyDown"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -154,7 +159,7 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="18">
|
|
|
<el-form-item label="存货名称">
|
|
|
- <el-input v-model="Plate.存货名称" placeholder="请输入存货名称" />
|
|
|
+ <el-input v-model="Plate.存货名称" readonly />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -162,7 +167,7 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="18">
|
|
|
<el-form-item label="印版备注">
|
|
|
- <el-input v-model="Plate.印版备注" />
|
|
|
+ <el-input v-model="Plate.印版备注" id = '印版备注' @keydown="entskip($event, '存货编码', '印版备注', '制造日期')" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -172,7 +177,7 @@
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="制造日期">
|
|
|
<el-date-picker
|
|
|
- v-model="Plate.制造日期"
|
|
|
+ v-model="Plate.制造日期" id = '制造日期' @keydown="entskip($event, '印版备注', '制造日期', '报废日期')"
|
|
|
type="date"
|
|
|
placeholder="选择制造日期"
|
|
|
style="width: 100%"
|
|
|
@@ -182,7 +187,7 @@
|
|
|
<el-col :span="10 ">
|
|
|
<el-form-item label="报废日期">
|
|
|
<el-date-picker
|
|
|
- v-model="Plate.报废日期"
|
|
|
+ v-model="Plate.报废日期" id = '报废日期' @keydown="entskip($event, '制造日期', '报废日期', '初始印数')"
|
|
|
type="date"
|
|
|
placeholder="选择报废日期"
|
|
|
style="width: 100%"
|
|
|
@@ -195,12 +200,12 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="初始印数">
|
|
|
- <el-input v-model="Plate.初始印数" type="number" placeholder="请输入初始印数" />
|
|
|
+ <el-input v-model="Plate.初始印数" id = '初始印数' @keydown="entskip($event, '报废日期', '初始印数', '考核印数')" type="number" placeholder="请输入初始印数" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="考核印数">
|
|
|
- <el-input v-model="Plate.考核印数" type="number" placeholder="请输入考核印数" />
|
|
|
+ <el-input v-model="Plate.考核印数" id = '考核印数' @keydown="entskip($event, '初始印数', '考核印数', '供方批号')" type="number" placeholder="请输入考核印数" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -210,10 +215,16 @@
|
|
|
|
|
|
<el-col :span="18">
|
|
|
<el-form-item label="供方批号">
|
|
|
- <el-input v-model="Plate.供方批号" placeholder="请输入供方批号" />
|
|
|
+ <el-input v-model="Plate.供方批号" id = '供方批号' @keydown="entskip($event, '考核印数', '供方批号', 'number')" placeholder="请输入供方批号" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="20" v-if="type === 'create'">
|
|
|
+ <el-col :span="15">
|
|
|
+ <el-input v-model="Plate.number" id = 'number' @keydown="entskip($event, '供方批号', 'number', '')" style="margin-left:120px" />
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
@@ -296,11 +307,24 @@
|
|
|
import { exportExcelFile } from '@/utils/excel'
|
|
|
import { useUserStore } from '@/pinia/modules/user'
|
|
|
import {ElMessage,ElMessageBox} from "element-plus";
|
|
|
- import {getPPTab,getPPList,getPPEdit,getPPDetail,getPPCode,getPPReceive,getPPDelete,getPPkhTab} from "@/api/mes/job.js"
|
|
|
+ import {getPPTab,getPPList,getPPEdit,getPPDetail,getPPCode,getPPReceive,getPPDelete,getPPkhTab,InventoryCodeData,MNInventoryCodeData} from "@/api/mes/job.js"
|
|
|
const userStore = useUserStore()
|
|
|
const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
|
|
|
defineOptions({name: 'Company'})
|
|
|
|
|
|
+
|
|
|
+ // 获取当前日期
|
|
|
+ const today = new Date();
|
|
|
+ const year = today.getFullYear();
|
|
|
+ const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
|
|
|
+ const day = String(today.getDate()).padStart(2, '0');
|
|
|
+ const hours = String(today.getHours()).padStart(2, '0');
|
|
|
+ const minutes = String(today.getMinutes()).padStart(2, '0');
|
|
|
+ const seconds = String(today.getSeconds()).padStart(2, '0');
|
|
|
+ const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
|
|
+ const currentDates = `${year}-${month}-${day}`;
|
|
|
+
|
|
|
+
|
|
|
// 分页
|
|
|
const page = ref(1)
|
|
|
const total = ref(0)
|
|
|
@@ -416,8 +440,15 @@ getTreeData()
|
|
|
nodecode.value = node.label.split(' ')[0]
|
|
|
showKH.value = !node.code?true:false;
|
|
|
const res = await getPPList({code:node.label.split(' ')[0],page:page.value,limit:pageSize.value})
|
|
|
- total.value = res.data.total
|
|
|
- wltableData.value = res.data.data
|
|
|
+ if (res.code === 0){
|
|
|
+ total.value = res.data.total
|
|
|
+ wltableData.value = res.data.data
|
|
|
+ }else{
|
|
|
+ total.value = 0
|
|
|
+ wltableData.value = []
|
|
|
+ wlmxtableData.value = []
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -458,6 +489,8 @@ getTreeData()
|
|
|
// 新增逻辑
|
|
|
console.log('新增按钮点击');
|
|
|
type.value = 'create'
|
|
|
+ Plate.制造日期 = currentDates
|
|
|
+ console.log(Plate.制造日期)
|
|
|
dialogPlateVisible.value = true
|
|
|
}
|
|
|
|
|
|
@@ -485,14 +518,49 @@ const selectedCategory = ref('') // 选中的分类
|
|
|
const categoryOptions = ref([]) // 下拉框选项
|
|
|
const categoryLoading = ref(false) // 下拉框加载状态
|
|
|
|
|
|
-// 处理输入框按键事件
|
|
|
const handleInventoryKeyDown = async (event) => {
|
|
|
if (event.key === 'Tab' || event.key === 'Enter') {
|
|
|
- event.preventDefault()
|
|
|
- await _getInventoryList()
|
|
|
- inventorySearchModel.value = true
|
|
|
+ console.log(Plate.存货编码)
|
|
|
+ // return;
|
|
|
+ event.preventDefault();
|
|
|
+ try {
|
|
|
+ if(Plate.存货编码 === undefined||Plate.存货编码 === ''){
|
|
|
+
|
|
|
+ await _getInventoryList();
|
|
|
+ inventorySearchModel.value = true;
|
|
|
+ }else{
|
|
|
+ const res = await getPPCode({ code: '', search: Plate.存货编码||'' });
|
|
|
+ console.log(res);
|
|
|
+
|
|
|
+ // 提取所有第三层的数组
|
|
|
+ const validData = [];
|
|
|
+ Object.values(res.data).forEach(l1 => {
|
|
|
+ Object.values(l1).forEach(l2 => {
|
|
|
+ Object.values(l2).forEach(l3 => {
|
|
|
+ if (Array.isArray(l3)) {
|
|
|
+ validData.push(...l3.filter(item => item?.trim()));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log("提取的数据:", validData);
|
|
|
+ if (validData.length === 1) {//如果只有一条数据
|
|
|
+ console.log("唯一数据:", validData[0]);
|
|
|
+ Plate.存货名称 = validData[0].split('/')[1];
|
|
|
+ } else if (validData.length > 1) {
|
|
|
+ await _getInventoryList();
|
|
|
+ inventorySearchModel.value = true;
|
|
|
+ } else {
|
|
|
+ console.log("未匹配到数据");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (error) {
|
|
|
+ console.error("请求失败:", error);
|
|
|
+ }
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 在打开弹窗时获取分类数据
|
|
|
const _getInventoryList = async () => {
|
|
|
@@ -624,8 +692,8 @@ const dhlenterDialog = async () => {
|
|
|
code: Plate.存货编码,
|
|
|
name: Plate.存货名称,
|
|
|
desc: Plate.印版备注,
|
|
|
- Manufactur_date:dayjs(Plate.制造日期).format('YYYY-MM-DD')||'',
|
|
|
- Scrappe_date: dayjs(Plate.报废日期).format('YYYY-MM-DD')||'',
|
|
|
+ Manufactur_date: Plate.制造日期 ? dayjs(Plate.制造日期).format('YYYY-MM-DD') : '',
|
|
|
+ Scrappe_date: Plate.报废日期 ? dayjs(Plate.报废日期).format('YYYY-MM-DD') : '',
|
|
|
start_num: Plate.初始印数,
|
|
|
Assessment_num: Plate.考核印数,
|
|
|
batch: Plate.供方批号,
|
|
|
@@ -635,6 +703,7 @@ console.log(params)
|
|
|
console.log(type.value)
|
|
|
if (type.value === 'create') {
|
|
|
console.log('新增')
|
|
|
+ params.number = Plate.number
|
|
|
// 新增
|
|
|
try {
|
|
|
const response = await getPPEdit(params)
|
|
|
@@ -669,12 +738,14 @@ const initialPlateState = {
|
|
|
存货编码: '',
|
|
|
存货名称: '',
|
|
|
印版备注: '',
|
|
|
- 制造日期: '',
|
|
|
- 报废日期: '',
|
|
|
+ 制造日期: null,
|
|
|
+ 报废日期: null,
|
|
|
初始印数: '',
|
|
|
考核印数: '',
|
|
|
供方批号: '',
|
|
|
value: [],
|
|
|
+ number: '',
|
|
|
+ UniqID: ''
|
|
|
};
|
|
|
//关闭弹窗
|
|
|
const dhlcloseDialog = async () => {
|
|
|
@@ -805,6 +876,60 @@ const ToExcel = () => {
|
|
|
return wbout;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+const onsync = async() => {
|
|
|
+ try {
|
|
|
+ // 并行请求两个接口
|
|
|
+ const [res1, res2] = await Promise.all([InventoryCodeData(), MNInventoryCodeData()])
|
|
|
+
|
|
|
+ if (res1.code === 0 && res2.code === 0) {
|
|
|
+ ElMessage({
|
|
|
+ message: '同步成功',
|
|
|
+ type: 'success',
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ console.error('获取失败:', res1.msg || res2.msg)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.error('请求出错:', error)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+ //键盘input框跳转
|
|
|
+ const entskip = async (event,id1,id2,id3,idx) => {
|
|
|
+ if(event.keyCode === 40){
|
|
|
+ if(id3!=''){
|
|
|
+ document.getElementById(id3).focus()
|
|
|
+ }
|
|
|
+ }else if (event.keyCode === 13) { // Enter 或向下箭头
|
|
|
+ if(id3!=''){
|
|
|
+ document.getElementById(id3).focus()
|
|
|
+ }
|
|
|
+ } else if (event.keyCode === 38) { // 向上箭头
|
|
|
+ if(id1!=''){
|
|
|
+ console.log(id1)
|
|
|
+
|
|
|
+ document.getElementById(id1).focus()
|
|
|
+ }
|
|
|
+ }else if (event.keyCode === 8) { // 删除箭头
|
|
|
+ if(id1!='' && document.getElementById(id2).value==''){
|
|
|
+ document.getElementById(id1).focus()
|
|
|
+ }
|
|
|
+ }else if (event.keyCode === 37) { // 向左箭头
|
|
|
+ if(id1!='' && document.getElementById(id2).selectionStart==0){
|
|
|
+ document.getElementById(id1).focus()
|
|
|
+ }
|
|
|
+ }else if (event.keyCode === 39) { // 向右箭头
|
|
|
+ if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
|
|
|
+ document.getElementById(id3).focus()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleKeyDown = async (event) => {
|
|
|
+ handleInventoryKeyDown(event); // 先执行异步操作
|
|
|
+ entskip(event, '', '存货编码', '印版备注'); // 再执行同步操作
|
|
|
+};
|
|
|
|
|
|
</script>
|
|
|
|