工序接收和报工页面开发

dev-scheduling
zhangdi 1 month ago
parent fb959df783
commit e88464432f
  1. 19
      src/api/taskCope/index.js
  2. 2
      src/router/page/index.js
  3. 10
      src/router/views/index.js
  4. 126
      src/views/wel/components/quickAccess.vue
  5. 2
      src/views/wel/components/workbase.vue
  6. 301
      src/views/wel/taskCope/index.vue
  7. 2
      src/views/workRate/index.vue

@ -0,0 +1,19 @@
import request from '@/axios';
// 工序任务接收
export const workPlanReceive = (data) => {
return request({
url: '/produceMonitor/workPlanReceive',
method: 'post',
data: data,
});
};
// 根据流程卡号查询订单信息
export const loadNotReceived = (cardNo) => {
return request({
url: '/produceMonitor/loadNotReceived/' + cardNo,
method: 'get',
});
};

@ -120,4 +120,6 @@ export default [
isAuth: false,
},
},
];

@ -35,6 +35,16 @@ export default [
},
component: () => import(/* webpackChunkName: "views" */ '@/views/wel/dashboard.vue'),
},
{
path: '/taskCope',
component: () => import(/* webpackChunkName: "page" */ '@/views/wel/taskCope/index.vue'),
name: '工序接收',
meta: {
keepAlive: true,
isTab: false,
isAuth: false,
},
},
// {
// path: 'search',
// name: '菜单搜索',

@ -1,83 +1,91 @@
<template>
<div class="quick_box">
<div class="title_box">
<span class="title">快捷入口</span>
<span style="color: #409EFF;font-size: 14px;">管理</span>
<span class="title">快捷入口</span>
<span style="color: #409eff; font-size: 14px">管理</span>
</div>
<div class="access_box">
<div class="access_box_item" v-for="item in accessData" :key="item.name" @click="turnPage(item.page)">
<img v-show="item.url == 'product'" src="@/assets/product.png" alt="">
<img v-show="item.url == 'plan'" src="@/assets/plan.png" alt="">
<img v-show="item.url == 'rule'" src="@/assets/rule.png" alt="">
<img v-show="item.url == 'output'" src="@/assets/output.png" alt="">
<img v-show="item.url == 'craft'" src="@/assets/craft.png" alt="">
<img v-show="item.url == 'quality'" src="@/assets/quality.png" alt="">
<span>{{ item.name }}</span>
</div>
<div
class="access_box_item"
v-for="item in accessData"
:key="item.name"
@click="turnPage(item.page)"
>
<img v-show="item.url == 'product'" src="@/assets/product.png" alt="" />
<img v-show="item.url == 'plan'" src="@/assets/plan.png" alt="" />
<img v-show="item.url == 'rule'" src="@/assets/rule.png" alt="" />
<img v-show="item.url == 'output'" src="@/assets/output.png" alt="" />
<img v-show="item.url == 'craft'" src="@/assets/craft.png" alt="" />
<img v-show="item.url == 'quality'" src="@/assets/quality.png" alt="" />
<span>{{ item.name }}</span>
</div>
</div>
<!-- 工序报工 -->
<!-- <taskCope></taskCope> -->
</div>
</template>
<script>
import taskCope from '../taskCope/index.vue';
export default {
data(){
return{
accessData:[
{name:'生产计划',url:'plan',page:'/productionSchedulingPlan/productPlan'},
{name:'排产规则',url:'rule',page:'/productionSchedulingPlan/productRlue '},
{name:'生产订单',url:'product'},
{name:'工艺模板',url:'craft'},
{name:'质量检验',url:'quality'},
]
}
components: { taskCope },
data() {
return {
accessData: [
{ name: '工序接收', url: 'plan', page: '/taskCope' },
{ name: '工序报工', url: 'rule', page: '/productionSchedulingPlan/productRlue ' },
{ name: '工序检验', url: 'product' },
{ name: '工艺模板', url: 'craft' },
{ name: '质量检验', url: 'quality' },
],
};
},
methods: {
turnPage(page) {
if (page) {
this.$router.push(page);
}
},
methods:{
turnPage(page){
if(page){
this.$router.push(page);
}
}
}
}
},
};
</script>
<style lang="scss" scoped>
.quick_box{
padding: 20px;
border-bottom: 1px solid #eee;
height: 50%;
.quick_box {
padding: 20px;
// border-bottom: 1px solid #eee;
height: 50%;
.title_box{
display: flex;
justify-content: space-between;
align-items: center;
.title_box {
display: flex;
justify-content: space-between;
align-items: center;
.title{
font-weight: 550;
}
.title {
font-weight: 550;
}
}
.access_box{
display: flex;
flex-wrap: wrap;
// margin-top: 10px;
.access_box {
display: flex;
flex-wrap: wrap;
// margin-top: 10px;
.access_box_item{
display: flex;
flex-direction: column;
width: 32%;
align-items: center;
justify-content: center;
margin-block: 10px;
font-size:14px;
cursor: pointer;
.access_box_item {
display: flex;
flex-direction: column;
width: 32%;
align-items: center;
justify-content: center;
margin-block: 10px;
font-size: 14px;
cursor: pointer;
img{
width: 20px;
margin-bottom: 5px;
}
}
img {
width: 20px;
margin-bottom: 5px;
}
}
}
}
</style>

@ -19,7 +19,7 @@
<div class="right_box">
<div class="right_top">
<quick-access></quick-access>
<statistics-table></statistics-table>
<!-- <statistics-table></statistics-table> -->
</div>
<div class="right_bottom">
<notice></notice>

@ -0,0 +1,301 @@
<template>
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" ref="crud">
<template #menu-left>
<el-input
v-model="cardNo"
style="width: 240px; margin-right: 24px"
@keyup.enter.native="changeCode"
placeholder="请扫描流程单号"
/>
</template>
<template #menu-right>
<el-button type="primary" @click="receiveBatch('add')">批量接收 </el-button>
</template>
<template #menu>
<el-button type="text" @click="delFn(scope.row)">删除</el-button>
</template>
</avue-crud>
</basic-container>
</template>
<script>
import { loadNotReceived } from '@/api/taskCope/index';
export default {
components: {},
data() {
return {
cardNo: '', //
form: {},
selectionList: [],
query: {},
loading: false,
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
option: {
columnSort: true,
tip: false,
height: 'auto',
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: false,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 80,
dialogWidth: 900,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
excelBtn: true,
showOverflowTooltip: true,
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
header: true,
column: [
{
label: '车间订单号',
prop: 'partCode',
search: false,
sortable: false,
width: '120',
},
{
label: '产品号',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '流程卡号',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '产品型号',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '批次',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '产品名称',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '当前工序',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '上序',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '下序',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '镀种信息',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '生产标识',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '订单优先级',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '需求部门',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '生产数量',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '面积(d㎡)',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '交期',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '计划员',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '计划下达时间',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '计划完工时间',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '已入库数量',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '未入库数量',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '加工班组',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '上一班组',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '下一班组',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '领料状态',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
{
label: '运行状态',
prop: 'partName',
search: false,
sortable: false,
width: '120',
},
],
},
data: [],
};
},
methods: {
delFn(row,index){
},
//
changeCode() {
this.loading = true;
loadNotReceived(this.cardNo)
.then(res => {
this.cardNo = '';
console.log(res, 'resres');
})
.catch(err => {});
},
//
receiveBatch(type) {
if (this.selectionList.length === 0) {
this.$message.warning('请选择要处理的数据');
return;
}
this.$confirm('确定要批量处理吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.loading = true;
});
},
},
mounted() {},
};
</script>
d

@ -11,7 +11,7 @@
<el-collapse-item title="订单信息" name="1">
<template #title="{ isActive }"> 订单信息 </template>
<div class="order-box">
<div class="order-item">订单编码{{ detailsForm.orderWoCode }}</div>
<div class="order-item">车间订单号{{ detailsForm.orderWoCode }}</div>
<div class="order-item">流程卡号{{ detailsForm.cardNo }}</div>
<div class="order-item">
零件号

Loading…
Cancel
Save