|
@@ -1,22 +1,17 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div>
|
|
<div>
|
|
|
<layout>
|
|
<layout>
|
|
|
- <layout-header>
|
|
|
|
|
|
|
+ <!-- <layout-header>
|
|
|
<div class="">
|
|
<div class="">
|
|
|
- <!-- 按钮部分-->
|
|
|
|
|
<el-form ref="elSearchFormRef" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
|
|
<el-form ref="elSearchFormRef" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input v-model="searchInfo" placeholder="搜索" clearable style="width: 180px;"></el-input>
|
|
<el-input v-model="searchInfo" placeholder="搜索" clearable style="width: 180px;"></el-input>
|
|
|
<el-button type="primary" icon="search" @click="onSubmit"
|
|
<el-button type="primary" icon="search" @click="onSubmit"
|
|
|
style="margin: 0px 5px 0px 0px;width: 80px;height:40px;border-radius: 5%;">查询</el-button>
|
|
style="margin: 0px 5px 0px 0px;width: 80px;height:40px;border-radius: 5%;">查询</el-button>
|
|
|
- <!-- <el-button type="primary" @click="onAttendance"
|
|
|
|
|
- style="margin: 0px 5px 0px 0px;width: 80px;height:40px;border-radius: 5%;">新增</el-button> -->
|
|
|
|
|
- <!-- <el-button type="primary" @click="baogong_del"
|
|
|
|
|
- style="margin: 0px 5px 0px 0px;width: 80px;height:40px;border-radius: 5%;float: right;background-color: red">删除</el-button> -->
|
|
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</div>
|
|
</div>
|
|
|
- </layout-header>
|
|
|
|
|
|
|
+ </layout-header> -->
|
|
|
|
|
|
|
|
<layout>
|
|
<layout>
|
|
|
<!--左侧树侧形结构-->
|
|
<!--左侧树侧形结构-->
|
|
@@ -40,15 +35,16 @@
|
|
|
highlight-current-row="true" @row-dblclick="updateCompanyFunc"
|
|
highlight-current-row="true" @row-dblclick="updateCompanyFunc"
|
|
|
@row-click="tableRowClick" :show-overflow-tooltip="true"
|
|
@row-click="tableRowClick" :show-overflow-tooltip="true"
|
|
|
@selection-change="handleSelectionChange">
|
|
@selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
|
|
- <el-table-column sortable align="center" label="序号" prop="序号" width="100" />
|
|
|
|
|
- 1 <el-table-column sortable align="center" label="订单号" prop="订单号" width="150"/>
|
|
|
|
|
- <el-table-column sortable align="left" label="生产款号" prop="生产款号" width="150" />
|
|
|
|
|
- <el-table-column sortable align="left" label="款式" prop="款式" width="150" />
|
|
|
|
|
- <el-table-column sortable align="left" label="颜色" prop="颜色" width="150" />
|
|
|
|
|
- <el-table-column sortable align="left" label="工序" prop="工序" width="150" />
|
|
|
|
|
- <el-table-column sortable align="left" label="面料出库人" prop="面料出库人" width="150" />
|
|
|
|
|
- <el-table-column sortable align="left" label="日期" prop="日期" width="160" />
|
|
|
|
|
|
|
+ <!-- <el-table-column type="selection" width="55" /> -->
|
|
|
|
|
+ <el-table-column sortable align="left" label="订单编号" prop="订单编号" width="120"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="子订单编号" prop="子订单编号" width="140"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="款号" prop="款号" width="120"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="色系名称" prop="颜色" width="120"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="船样" prop="船样" width="120"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="尺码" prop="尺码" width="120"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="上报时间" prop="上报时间" width="130"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="制单数" prop="制单数" width="120"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="上报数量" prop="已完成" width="120"/>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
<!-- 分页 -->
|
|
<!-- 分页 -->
|
|
|
<div class="gva-pagination">
|
|
<div class="gva-pagination">
|
|
@@ -143,10 +139,13 @@
|
|
|
size="small" highlight-current-row="true" @row-dblclick="add_updateCompanyFunc"
|
|
size="small" highlight-current-row="true" @row-dblclick="add_updateCompanyFunc"
|
|
|
@row-click="add_tableRowClick" :show-overflow-tooltip="true"
|
|
@row-click="add_tableRowClick" :show-overflow-tooltip="true"
|
|
|
@selection-change="handleSelectionChange">
|
|
@selection-change="handleSelectionChange">
|
|
|
- <el-table-column sortable align="left" label="订单号" prop="订单号" width="270"/>
|
|
|
|
|
- <el-table-column sortable align="left" label="生产款号" prop="生产款号" width="305"/>
|
|
|
|
|
- <el-table-column sortable align="left" label="款式" prop="款式" width="270"/>
|
|
|
|
|
- <el-table-column sortable align="left" label="颜色" prop="颜色" width="270"/>
|
|
|
|
|
|
|
+ <el-table-column sortable align="left" label="订单编号" prop="订单编号" width="110"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="子订单编号" prop="子订单编号" width="115"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="款号" prop="款号" width="110"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="颜色" prop="颜色" width="110"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="船样" prop="船样" width="110"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="制单数" prop="制单数" width="110"/>
|
|
|
|
|
+ <el-table-column sortable align="left" label="已完成" prop="已完成" width="110"/>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -238,7 +237,7 @@
|
|
|
import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
|
|
|
|
|
|
import {ref, reactive} from 'vue'
|
|
import {ref, reactive} from 'vue'
|
|
|
-
|
|
|
|
|
|
|
+ import {MachineList,MachineDetail} from '@/api/mes/job'
|
|
|
import {ElMessage} from "element-plus";
|
|
import {ElMessage} from "element-plus";
|
|
|
defineOptions({name: 'Company'})
|
|
defineOptions({name: 'Company'})
|
|
|
|
|
|
|
@@ -246,189 +245,69 @@
|
|
|
const treeData = ref({})
|
|
const treeData = ref({})
|
|
|
const DataListdata = async () => {
|
|
const DataListdata = async () => {
|
|
|
try {
|
|
try {
|
|
|
- const data =
|
|
|
|
|
- [{
|
|
|
|
|
- label : '出库报工',
|
|
|
|
|
- children : [
|
|
|
|
|
- {label : '出库1组'},
|
|
|
|
|
- {label : '出库2组'},
|
|
|
|
|
- {label : '出库3组'},
|
|
|
|
|
- {label : '出库4组'},
|
|
|
|
|
- {label : '出库5组'},
|
|
|
|
|
- {label : '出库6组'},
|
|
|
|
|
- {label : '出库7组'},
|
|
|
|
|
- {label : '出库8组'},
|
|
|
|
|
- {label : '出库9组'},
|
|
|
|
|
- {label : '出库10组'},
|
|
|
|
|
- {label : '出库11组'},
|
|
|
|
|
- {label : '出库12组'},
|
|
|
|
|
- ]
|
|
|
|
|
- }];
|
|
|
|
|
- const cqwgtreeData = ref([
|
|
|
|
|
- {
|
|
|
|
|
- label: '裁切完工报工',
|
|
|
|
|
- children:[
|
|
|
|
|
- {label : '裁切1组'},
|
|
|
|
|
- {label : '裁切2组'},
|
|
|
|
|
- {label : '裁切3组'},
|
|
|
|
|
- {label : '裁切4组'},
|
|
|
|
|
- {label : '裁切5组'},
|
|
|
|
|
- {label : '裁切6组'},
|
|
|
|
|
- {label : '裁切7组'},
|
|
|
|
|
- {label : '裁切8组'},
|
|
|
|
|
- {label : '裁切9组'},
|
|
|
|
|
- {label : '裁切10组'},
|
|
|
|
|
- {label : '裁切11组'},
|
|
|
|
|
- {label : '裁切12组'},
|
|
|
|
|
- ],
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- );
|
|
|
|
|
- const cfwgtreeData = ref([
|
|
|
|
|
- {
|
|
|
|
|
- label: '车缝完工报工',
|
|
|
|
|
- children:[
|
|
|
|
|
- {label : '车缝1组'},
|
|
|
|
|
- {label : '车缝2组'},
|
|
|
|
|
- {label : '车缝3组'},
|
|
|
|
|
- {label : '车缝4组'},
|
|
|
|
|
- {label : '车缝5组'},
|
|
|
|
|
- {label : '车缝6组'},
|
|
|
|
|
- {label : '车缝7组'},
|
|
|
|
|
- {label : '车缝8组'},
|
|
|
|
|
- {label : '车缝9组'},
|
|
|
|
|
- {label : '车缝10组'},
|
|
|
|
|
- {label : '车缝11组'},
|
|
|
|
|
- {label : '车缝12组'},
|
|
|
|
|
- ],
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- );
|
|
|
|
|
- const hdtreeData = ref([
|
|
|
|
|
- {
|
|
|
|
|
- label: '后道(手动确认)',
|
|
|
|
|
- children:[
|
|
|
|
|
- {label : '后道1组'},
|
|
|
|
|
- {label : '后道2组'},
|
|
|
|
|
- {label : '后道3组'},
|
|
|
|
|
- {label : '后道4组'},
|
|
|
|
|
- {label : '后道5组'},
|
|
|
|
|
- {label : '后道6组'},
|
|
|
|
|
- {label : '后道7组'},
|
|
|
|
|
- {label : '后道8组'},
|
|
|
|
|
- {label : '后道9组'},
|
|
|
|
|
- {label : '后道10组'},
|
|
|
|
|
- {label : '后道11组'},
|
|
|
|
|
- {label : '后道12组'},
|
|
|
|
|
- ],
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- );
|
|
|
|
|
- const dttreeData = ref([
|
|
|
|
|
- {
|
|
|
|
|
- label: '大烫报工',
|
|
|
|
|
- children:[
|
|
|
|
|
- {label : '大烫1组'},
|
|
|
|
|
- {label : '大烫2组'},
|
|
|
|
|
- {label : '大烫3组'},
|
|
|
|
|
- {label : '大烫4组'},
|
|
|
|
|
- {label : '大烫5组'},
|
|
|
|
|
- {label : '大烫6组'},
|
|
|
|
|
- {label : '大烫7组'},
|
|
|
|
|
- {label : '大烫8组'},
|
|
|
|
|
- {label : '大烫9组'},
|
|
|
|
|
- {label : '大烫10组'},
|
|
|
|
|
- {label : '大烫11组'},
|
|
|
|
|
- {label : '大烫12组'},
|
|
|
|
|
- ],
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- );
|
|
|
|
|
- const zjtreeData = ref([
|
|
|
|
|
- {
|
|
|
|
|
- label: '总检报工',
|
|
|
|
|
- children:[
|
|
|
|
|
- {label : '总检1组'},
|
|
|
|
|
- {label : '总检2组'},
|
|
|
|
|
- {label : '总检3组'},
|
|
|
|
|
- {label : '总检4组'},
|
|
|
|
|
- {label : '总检5组'},
|
|
|
|
|
- {label : '总检6组'},
|
|
|
|
|
- {label : '总检7组'},
|
|
|
|
|
- {label : '总检8组'},
|
|
|
|
|
- {label : '总检9组'},
|
|
|
|
|
- {label : '总检10组'},
|
|
|
|
|
- {label : '总检11组'},
|
|
|
|
|
- {label : '总检12组'},
|
|
|
|
|
- ],
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- );
|
|
|
|
|
- const bztreeData = ref([
|
|
|
|
|
- {
|
|
|
|
|
- label: '包装报工',
|
|
|
|
|
- children:[
|
|
|
|
|
- {label : '包装1组'},
|
|
|
|
|
- {label : '包装2组'},
|
|
|
|
|
- {label : '包装3组'},
|
|
|
|
|
- {label : '包装4组'},
|
|
|
|
|
- {label : '包装5组'},
|
|
|
|
|
- {label : '包装6组'},
|
|
|
|
|
- {label : '包装7组'},
|
|
|
|
|
- {label : '包装8组'},
|
|
|
|
|
- {label : '包装9组'},
|
|
|
|
|
- {label : '包装10组'},
|
|
|
|
|
- {label : '包装11组'},
|
|
|
|
|
- {label : '包装12组'},
|
|
|
|
|
- ],
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- );
|
|
|
|
|
- [
|
|
|
|
|
- {label : '出库报工'},
|
|
|
|
|
- {label : '裁切完工报工'},
|
|
|
|
|
- {label : '车缝完工报工'},
|
|
|
|
|
- {label : '后道(手动确认)'},
|
|
|
|
|
- {label : '大烫报工'},
|
|
|
|
|
- {label : '总检报工'},
|
|
|
|
|
- {label : '包装报工'},
|
|
|
|
|
- ];
|
|
|
|
|
- treeData.value = data
|
|
|
|
|
- treeData.value.push(cqwgtreeData.value[0])
|
|
|
|
|
- treeData.value.push(cfwgtreeData.value[0])
|
|
|
|
|
- treeData.value.push(hdtreeData.value[0])
|
|
|
|
|
- treeData.value.push(dttreeData.value[0])
|
|
|
|
|
- treeData.value.push(zjtreeData.value[0])
|
|
|
|
|
- treeData.value.push(bztreeData.value[0])
|
|
|
|
|
|
|
+ const response = await MachineList();
|
|
|
|
|
+ const data = response.data;
|
|
|
|
|
+ treeData.value = formatTreeData(data);
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
- console.error(error);
|
|
|
|
|
|
|
+ console.error(error);
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
DataListdata();
|
|
DataListdata();
|
|
|
|
|
|
|
|
|
|
+// 格式化数据为 el-tree 组件要求的格式,同时在日期节点中保存父节点信息
|
|
|
|
|
+const formatTreeData = (data) => {
|
|
|
|
|
+ return Object.keys(data).map(category => ({
|
|
|
|
|
+ label: category,
|
|
|
|
|
+ children: Object.keys(data[category]).map(group => ({
|
|
|
|
|
+ label: group,
|
|
|
|
|
+ // 在日期节点中存储其父组名(简写)
|
|
|
|
|
+ children: data[category][group].map(item => ({
|
|
|
|
|
+ label: item.split(' ')[0], // 保留日期部分
|
|
|
|
|
+ parentGroup: group.split('--')[0] // 保留组名的简写部分
|
|
|
|
|
+ }))
|
|
|
|
|
+ }))
|
|
|
|
|
+ }));
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
//点击左侧树形 获取右侧table列表
|
|
//点击左侧树形 获取右侧table列表
|
|
|
const tableData = reactive([]);
|
|
const tableData = reactive([]);
|
|
|
|
|
+ const _Machine = ref('');
|
|
|
|
|
+ const _Machine_riqi = ref('');
|
|
|
|
|
+ let parentGroup = '';
|
|
|
const handleNodeClick = async (node) => {
|
|
const handleNodeClick = async (node) => {
|
|
|
- // 取消所有节点的颜色
|
|
|
|
|
- const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
|
|
|
|
|
- allNodes.forEach(node => {
|
|
|
|
|
- node.querySelector('.el-tree-node__label').style.color = '';
|
|
|
|
|
- });
|
|
|
|
|
- // 获取点击的节点
|
|
|
|
|
- const clickedNodeId = node['$treeNodeId'];
|
|
|
|
|
- const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
|
|
|
|
|
- if (clickedNode) {
|
|
|
|
|
- // 给当前点击的节点改变颜色
|
|
|
|
|
- clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
|
|
|
|
|
- }
|
|
|
|
|
- _getStaffList(); // 执行获取员工列表的函数
|
|
|
|
|
|
|
+ // 取消所有节点的颜色
|
|
|
|
|
+ const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
|
|
|
|
|
+ allNodes.forEach(node => {
|
|
|
|
|
+ node.querySelector('.el-tree-node__label').style.color = '';
|
|
|
|
|
+ });
|
|
|
|
|
+ // 获取点击的节点
|
|
|
|
|
+ const clickedNodeId = node['$treeNodeId'];
|
|
|
|
|
+ const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
|
|
|
|
|
+ if (clickedNode) {
|
|
|
|
|
+ // 给当前点击的节点改变颜色
|
|
|
|
|
+ clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
|
|
|
|
|
+ }
|
|
|
|
|
+ tableData.splice(0,tableData.length,...[]);//表格数据
|
|
|
|
|
+ if (node.children) {
|
|
|
|
|
+ // 如果是组节点,获取组名的简写
|
|
|
|
|
+ _Machine.value = node.label.split('--')[0];
|
|
|
|
|
+ _Machine_riqi.value = ''; // 清空日期
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果是日期节点,直接从节点中获取父组名和日期
|
|
|
|
|
+ _Machine.value = node.parentGroup;
|
|
|
|
|
+ _Machine_riqi.value = node.label;
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(_Machine.value);
|
|
|
|
|
+ console.log( _Machine_riqi.value);
|
|
|
|
|
+
|
|
|
|
|
+ _getStaffList(); // 执行获班组生产数据
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
//点击管理中心 显示部门的全部数据
|
|
//点击管理中心 显示部门的全部数据
|
|
|
const handleNodeExpand = async (node) => {
|
|
const handleNodeExpand = async (node) => {
|
|
|
// _department_code.value = node['编号'];
|
|
// _department_code.value = node['编号'];
|
|
|
searchInfo.value = '';
|
|
searchInfo.value = '';
|
|
|
- _getStaffList()
|
|
|
|
|
|
|
+ _getStaffList(); // 执行获班组生产数据
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// =========== 搜索 ===========
|
|
// =========== 搜索 ===========
|
|
@@ -440,48 +319,23 @@
|
|
|
if(searchInfo.value === ''){
|
|
if(searchInfo.value === ''){
|
|
|
tableData.length = 0;
|
|
tableData.length = 0;
|
|
|
}else{
|
|
}else{
|
|
|
- _getStaffList();
|
|
|
|
|
|
|
+ _getStaffList(); // 执行获班组生产数据
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- //获取员工信息列表
|
|
|
|
|
|
|
+ //班组生产数据
|
|
|
const _getStaffList = async ()=>{
|
|
const _getStaffList = async ()=>{
|
|
|
- console.log(123)
|
|
|
|
|
try {
|
|
try {
|
|
|
- const WorkListdata = [
|
|
|
|
|
- {
|
|
|
|
|
- '序号':'1',
|
|
|
|
|
- '订单号':'2408001',
|
|
|
|
|
- '生产款号':'2403-1622款',
|
|
|
|
|
- '款式':'连衣裙',
|
|
|
|
|
- '颜色':'红色',
|
|
|
|
|
- '工序':'仓库出库',
|
|
|
|
|
- '面料验片人':'xxx',
|
|
|
|
|
- '日期':'2024-07-16'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- '序号':'2',
|
|
|
|
|
- '订单号':'2408002',
|
|
|
|
|
- '生产款号':'2403-1622款',
|
|
|
|
|
- '款式':'裤子',
|
|
|
|
|
- '颜色':'蓝色',
|
|
|
|
|
- '工序':'仓库出库',
|
|
|
|
|
- '面料验片人':'xxx',
|
|
|
|
|
- '日期':'2024-07-16'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- '序号':'3',
|
|
|
|
|
- '订单号':'2408003',
|
|
|
|
|
- '生产款号':'2403-1622款',
|
|
|
|
|
- '款式':'西服',
|
|
|
|
|
- '颜色':'黑色 ',
|
|
|
|
|
- '工序':'仓库出库',
|
|
|
|
|
- '面料验片人':'xxx',
|
|
|
|
|
- '日期':'2024-07-16'
|
|
|
|
|
- },
|
|
|
|
|
- ];
|
|
|
|
|
- console.log(treeData)
|
|
|
|
|
- tableData.splice(0,tableData.length,...WorkListdata);//表格数据
|
|
|
|
|
|
|
+ if(_Machine_riqi.value === ''){
|
|
|
|
|
+ const WorkListdata = await MachineDetail({machine:_Machine.value});
|
|
|
|
|
+ console.log(WorkListdata)
|
|
|
|
|
+ tableData.splice(0,tableData.length,...WorkListdata.data);//表格数据
|
|
|
|
|
+ }else{
|
|
|
|
|
+ const WorkListdata = await MachineDetail({machine:_Machine.value,date:_Machine_riqi.value});
|
|
|
|
|
+ console.log(WorkListdata)
|
|
|
|
|
+ tableData.splice(0,tableData.length,...WorkListdata.data);//表格数据
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// total.value =WorkListdata.data.total;//共多少条
|
|
// total.value =WorkListdata.data.total;//共多少条
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
console.error(error);
|