代码提交

dev-scheduling
taozi 4 months ago
parent d12dc51078
commit 8ce9e095b0
  1. 57
      src/views/productionManagement/blbWorkOrder/components/abnormalDialog.vue
  2. 2959
      src/views/productionManagement/blbWorkOrder/components/glass.vue
  3. 2904
      src/views/productionManagement/blbWorkOrder/components/others.vue
  4. 764
      src/views/productionManagement/blbWorkOrder/index.vue
  5. 56
      src/views/productionManagement/components/abnormalDialog.vue
  6. 66
      src/views/productionManagement/components/batchesDialog.vue
  7. 159
      src/views/productionManagement/productionMonitoring.vue
  8. 1
      src/views/productionManagement/reworkOrder.vue
  9. 2821
      src/views/productionManagement/sinTerWorkOrder/index.vue

@ -0,0 +1,57 @@
<template>
<el-dialog title="异常申报" append-to-body :modelValue="showAbnormal" @close="closeDialog">
<el-form :model="batchesForm" :rules="batchesRules" class="form" ref="batchesForm">
<el-form-item label="异常描述" prop="memo">
<el-input type="textarea" placeholder="请输入异常描述" v-model="batchesForm.memo"></el-input>
</el-form-item>
<el-form-item label="当前工序" prop="currentProcess">
<el-radio-group v-model="batchesForm.currentProcess">
<el-radio v-model="radio" label="1">已完成</el-radio>
<el-radio v-model="radio" label="2">未完成</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="closeDialog"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
export default {
props: {
showAbnormal: {
type: Boolean,
default: false
},
},
data() {
return {
isOpen: false,
batchesForm: {},
batchesRules: {
memo: [{ required: true, message: '请输入异常描述', trigger: 'blur' }],
radio: [{ required: true, message: '请选择分批原因', trigger: 'blur' }],
currentProcess: [{ required: true, message: '请选择当前工序', trigger: 'blur' }],
}
}
},
mounted() {
},
methods: {
//
closeDialog() {
this.$emit('closeDialog')
this.$refs.batchesForm.resetFields()
},
}
}
</script>
<style scoped>
</style>

@ -1,95 +1,27 @@
<template>
<basic-container>
<div class="search_box">
</div>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<el-button type="danger" @click="batchDel()">删除</el-button>
</template>
<template #menu-right>
<el-button type="primary" @click="handleImport()">导入</el-button>
</template>
<template #menu="{ row }">
</template>
<template #heatTreat="scope">
<el-tag v-if="scope.row.afterPlating" type="success"></el-tag>
<el-tag v-else type="warning"></el-tag>
</template>
</avue-crud>
<!-- 导入 -->
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"></basic-import>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="玻璃饼" name="1"></el-tab-pane>
<el-tab-pane label="其他" name="2"></el-tab-pane>
</el-tabs>
<Glass v-if="activeName=='1'"></Glass>
<others v-if="activeName=='2'"></others>
</basic-container>
</template>
<script>
import {
add,
getRole,
getRoleAlias,
getRoleTreeById,
grant,
grantTree,
remove,
update,
} from '@/api/system/role';
import { mapGetters } from 'vuex';
import { validatenull } from '@/utils/validate';
import basicImport from '@/components/basic-import/main.vue';
import Glass from './components/glass.vue'
import others from './components/others.vue'
export default {
components: {
basicImport,
},
components:{ Glass,others },
data() {
return {
isShowImport: false,
inBatchesOpen: false,
platingSmallOpen: false,
planOrderArr: [],
isOpen: false,
rowItem: {},
poId: null,
form: {},
box: false,
props: {
label: 'title',
value: 'key',
},
menuGrantList: [],
dataScopeGrantList: [],
apiScopeGrantList: [],
apiGrantList: [],
menuTreeObj: [],
dataScopeTreeObj: [],
apiScopeTreeObj: [],
selectionList: [],
query: {},
loading: true,
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
activeName: '1',
option: {
columnSort: true,
tip: false,
height: 'auto',
calcHeight: 32,
simplePage: false,
tip: false,
size: 'medium',
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
@ -97,607 +29,101 @@ export default {
tree: false,
border: true,
index: true,
selection: false,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
selection: true,
viewBtn: true,
delBtn: true,
editBtnText: '修改',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
viewBtnText: '详情',
labelWidth: 120,
menuWidth: 80,
dialogWidth: 900,
menuWidth: 220,
dialogWidth: 1200,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true,
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
column: [
{
label: '车间订单号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '生产订单号',
prop: 'partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '零件号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '下达时间',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
label: '作业中心',
prop: 'wcName',
sortable: true,
width: 150,
span: 12,
},
{
label: '订单状态',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '批次号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '产品名称',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '流程卡号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '镀种信息',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '产品型号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '生产标识',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '订单优先级',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '需求部门',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '生产数量',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '面积(d)',
prop: 'partCode',
bind: 'dsPart.partCode',
filter: true,
span: 8,
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '单批次面积',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '需求交期',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '会议要求周期',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '调度员',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '计划完工时间',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '镀后入库时间',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '已入库数量',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '未入库数量',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '加工班组',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '当前工序',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '下序',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '下一班组',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '需求状态',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '接收人员',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
{
label: '备注',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
width: 150,
span: 12,
},
],
dicUrl: '/blade-desk/bsWorkCenter/getList',
props: {
label: 'wcName',
value: 'id',
},
rules: [
{
required: true,
message: '请输入作业中心',
trigger: 'blur',
},
],
},
{
label: '作业槽',
prop: 'slotNo',
search: true,
type: 'select',
sortable: true,
width: 120,
filter: true,
span: 8,
dicData: [
{
label: '#22',
value: 0
},
{
label: '#21',
value: 1
}
],
rules: [
{
required: true,
message: '请输入槽号',
trigger: 'blur',
},
],
},
{
label: '分析项目',
prop: 'testEle',
search: false,
sortable: true,
width: 120,
filter: true,
span: 8,
rules: [
{
required: true,
message: '请输入分析项目',
trigger: 'blur',
},
],
},
]
},
form: {},
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
data: [],
isRushOpen: false,//
isBatchOpen: false,//
};
},
methods: {
//
handleImport() {
this.isShowImport = true
},
//
batchReceiving() {
this.$confirm('确定将选择数据批量接收?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
// return remove(row.id);
})
.then(() => {
// this.onLoad(this.page);
// this.$message({
// type: 'success',
// message: '!',
// });
});
},
//
batchDel() {
this.$confirm('确定将选择数据批量删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
// return remove(row.id);
})
.then(() => {
// this.onLoad(this.page);
// this.$message({
// type: 'success',
// message: '!',
// });
});
},
//
rushFn() {
this.isRushOpen = true
},
closeDialog() {
this.isRushOpen = false
this.isBatchOpen = false
},
inBatchesFn(row) {
this.rowItem = row;
this.isBatchOpen = true;
},
subclass() {
this.platingSmallOpen = true;
},
lookProcessRoute(row) {
this.isOpen = true;
this.rowItem = row;
},
cancel(refresh) {
if (refresh) {
this.$refs.myTable.load();
}
this.inBatchesOpen = false;
this.isOpen = false;
this.planFormOpen = false;
this.platingSmallOpen = false;
},
initData(roleId) {
getRoleTreeById(roleId).then(res => {
const column = this.findObject(this.option.column, 'parentId');
column.dicData = res.data.data;
});
},
submit() {
const menuList = this.$refs.treeMenu.getCheckedKeys();
const dataScopeList = this.$refs.treeDataScope.getCheckedKeys();
const apiScopeList = this.$refs.treeApiScope.getCheckedKeys();
grant(this.idsArray, menuList, dataScopeList, apiScopeList).then(() => {
this.box = false;
this.$message({
type: 'success',
message: '操作成功!',
});
this.selectionList = [];
this.onLoad(this.page);
});
},
rowSave(row, done, loading) {
add(row).then(
() => {
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
done();
},
error => {
window.console.log(error);
loading();
}
);
},
rowUpdate(row, index, done, loading) {
update(row).then(
() => {
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
done();
},
error => {
window.console.log(error);
loading();
}
);
},
rowDel(row) {
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
},
searchReset() {
this.query = {};
this.onLoad(this.page);
},
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
done();
},
selectionChange(list) {
this.selectionList = list;
},
selectionClear() {
this.selectionList = [];
this.$refs.crud.toggleSelection();
},
beforeOpen(done, type) {
if (['add', 'edit'].includes(type)) {
this.initData(this.form.id);
}
if (['edit', 'view'].includes(type)) {
if (this.form.parentId === '0') {
this.form.parentId = '';
}
}
getRoleAlias().then(res => {
const column = this.findObject(this.option.column, 'currentAlias');
column.dicData = res.data.data;
});
done();
},
handleRole() {
if (this.selectionList.length !== 1) {
this.$message.warning('只能选择一条数据');
return;
}
this.menuTreeObj = [];
this.dataScopeTreeObj = [];
this.apiScopeTreeObj = [];
grantTree().then(res => {
this.menuGrantList = res.data.data.menu;
this.dataScopeGrantList = res.data.data.dataScope;
this.apiScopeGrantList = res.data.data.apiScope;
getRole(this.ids).then(res => {
this.menuTreeObj = res.data.data.menu;
this.dataScopeTreeObj = res.data.data.dataScope;
this.apiScopeTreeObj = res.data.data.apiScope;
this.box = true;
});
});
},
handleRowRole(row) {
this.menuTreeObj = [];
this.dataScopeTreeObj = [];
this.apiScopeTreeObj = [];
grantTree().then(res => {
this.menuGrantList = res.data.data.menu;
this.dataScopeGrantList = res.data.data.dataScope;
this.apiScopeGrantList = res.data.data.apiScope;
getRole(row.id).then(res => {
this.menuTreeObj = res.data.data.menu;
this.dataScopeTreeObj = res.data.data.dataScope;
this.apiScopeTreeObj = res.data.data.apiScope;
this.selectionList.push(row);
this.box = true;
});
});
},
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
this.$refs.crud.toggleSelection();
});
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
refreshChange() {
this.onLoad(this.page, this.query);
},
handleChange(file, fileList) {
// proxy.$Export.xlsx(file.raw).then((data) => {
// data.value = data.results;
// });
this.$message({
type: 'success',
message: '操作成功!',
});
},
onLoad(page, params = {}) {
this.loading = true;
this.data = [
]
this.page.total = this.data.length
// getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
// this.data = res.data.data.records;
this.loading = false;
// this.page.total = res.data.data.total
// this.selectionClear();
// });
},
},
mounted() {
}
}
};
</script>
}
</script>

@ -1,16 +1,19 @@
<template>
<el-dialog title="分批" append-to-body :modelValue="showAbnormal" @close="closeDialog" class="dialog">
<el-dialog title="异常申报" append-to-body :modelValue="showAbnormal" @close="closeDialog" class="dialog">
<el-form :model="batchesForm" :rules="batchesRules" label-width="100px" class="form">
<el-form-item>
<el-popover placement="left-start" width="250" trigger="hover" content="需要重新排产订单会释放已排产资源,在人工处理异常后进行排产">
<el-button slot="reference"><img src="@/assets/question_mark.png" alt="说明" class="img"></el-button>
<el-form :model="batchesForm" :rules="batchesRules" label-width="100px" class="form" ref="batchesFormRef">
<el-form-item class="icon-right">
<el-popover placement="right-start" :width="200" trigger="hover" append-to-body="false"
content="需要重新排产订单会释放已排产资源,在人工处理异常后进行排产">
<template #reference>
<img src="@/assets/question_mark.png" alt="说明" class="img" />
</template>
</el-popover>
</el-form-item>
<el-form-item label="异常描述" prop="memo">
<el-input type="textarea" placeholder="请输入异常描述" v-model="batchesForm.memo"></el-input>
</el-form-item>
<el-form-item label="分批原因" prop="radio">
<el-form-item label="重新排产" prop="radio">
<el-radio-group v-model="batchesForm.radio">
<el-radio v-model="radio" label="1">需要</el-radio>
<el-radio v-model="radio" label="2">不需要</el-radio>
@ -26,7 +29,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="closeDialog"> </el-button>
<el-button type="primary" @click="closeDialog"> </el-button>
</span>
</template>
</el-dialog>
@ -58,29 +61,38 @@ export default {
//
closeDialog() {
this.$emit('closeDialog');
this.$refs.batchesForm.resetFields();
this.$refs.batchesForm.resetFields()
this.$refs.batchesForm.clearValidate()
},
}
}
</script>
<style>
.dialog {
height: 300px;
position: relative;
<style scoped>
.icon-right {
position: relative !important;
display: block !important;
text-align: left !important;
height: auto !important;
overflow: visible !important;
}
.form {
position: relative;
.icon-right .img {
position: absolute !important;
right: 10px !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 20px !important;
height: 20px !important;
cursor: pointer;
display: inline-block !important;
background: #fff;
}
.img {
width: 20px;
height: 20px;
cursor: pointer;
position: absolute;
top: 20px;
right: 20px;
z-index: 100;
.icon-right .el-form-item__content {
margin-left: 0 !important;
width: 100% !important;
text-align: left !important;
}
</style>

@ -1,18 +1,17 @@
<template>
<el-dialog title="分批" append-to-body :modelValue="showBatches" @close="closeDialog" class="dialog">
<el-form :model="batchesForm" :rules="batchesRules" label-width="100px" class="form">
<el-form-item>
<el-popover placement="left-start"
width="250"
trigger="hover"
content="(1)返工:分批后剩余数量零件依据返工订单进行生产;<br>
(2)关闭:分批后自动关闭剩余数量零件的生产;<br>
(3)其他:分批后剩余数量零件排产后进行生产"
>
<el-button slot="reference"><img src="@/assets/question_mark.png" alt="说明" class="img"></el-button>
<el-form :model="batchesForm" :rules="batchesRules" label-width="100px" class="form" ref="batchesForm">
<el-form-item class="icon-right">
<el-popover placement="right-start" :width="200" trigger="hover" append-to-body="false">
<p>(1)返工:分批后剩余数量零件依据返工订单进行生产</p>
<p>(2)关闭:分批后自动关闭剩余数量零件的生产</p>
<p>(3)其他:分批后剩余数量零件排产后进行生产</p>
<template #reference>
<img src="@/assets/question_mark.png" alt="说明" class="img" />
</template>
</el-popover>
</el-form-item>
</el-form-item>
<el-form-item label="分批数量" prop="makeQty">
<el-input placeholder="请输入分批数量" v-model="batchesForm.makeQty" type="number"
oninput="value=value.replace(/[^\d]/g,'')"></el-input>
@ -40,7 +39,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="closeDialog"> </el-button>
<el-button type="primary" @click="closeDialog"> </el-button>
</span>
</template>
</el-dialog>
@ -56,7 +55,7 @@ export default {
},
data() {
return {
isOpen : false,
isOpen: false,
batchesForm: {},
batchesRules: {
makeQty: [{ required: true, message: '请输入分批数量', trigger: 'blur' }],
@ -73,28 +72,39 @@ export default {
methods: {
//
closeDialog() {
this.$emit('closeDialog');
this.$emit('closeDialog')
this.$refs.batchesForm.resetFields()
},
}
}
</script>
<style>
.dialog {
height: 300px;
position: relative;
}
.form{
position: relative;
<style scoped>
.icon-right {
position: relative !important;
display: block !important;
text-align: left !important;
height: auto !important;
overflow: visible !important;
}
.img {
width: 20px;
height: 20px;
.icon-right .img {
position: absolute !important;
right: 10px !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 20px !important;
height: 20px !important;
cursor: pointer;
position: absolute;
top: 20px;
right: 20px;
z-index: 100;
display: inline-block !important;
background: #fff;
}
.icon-right .el-form-item__content {
margin-left: 0 !important;
width: 100% !important;
text-align: left !important;
}
</style>

@ -5,8 +5,8 @@
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<el-button type="primary" icon="el-icon-printer" @click="handlePrintTags">过程记录打印</el-button>
<el-button type="primary" icon="el-icon-printer" @click="handlePrintTags">打印标签</el-button>
<el-button type="primary" icon="el-icon-printer" @click="handlePrintTags">过程记录打印</el-button>
<el-button type="primary" icon="el-icon-printer" @click="handlePrintTags">打印标签</el-button>
<!-- <el-button type="primary" icon="el-icon-printer" plain @click="handlePrint">打印</el-button>
<el-button type="primary" icon="el-icon-monitor" @click="handleOutsource(null, 'all')">批量外协</el-button> -->
<!-- <el-button type="success" icon="el-icon-download">导出</el-button> -->
@ -26,7 +26,7 @@
<el-button type="text" @click="handleClose(scope.row)" v-show="scope.row.runStatus < 15">关闭</el-button>
<!-- <el-button type="text">打印</el-button> -->
<el-dropdown @command="handleCommand" style="margin-top: 4px; margin-left: 12px" v-show="scope.row.approvalStatus != 2 &&
scope.row.oemType === -1 && scope.row.runStatus < 15
scope.row.oemType === -1 && scope.row.runStatus < 15 && scope.row.runStatus !== 5
">
<span class="el-dropdown-link" style="color: #284c89; cursor: pointer">
更多<i class="el-icon-arrow-down el-icon--right" />
@ -35,12 +35,11 @@
<el-dropdown-menu>
<!-- <el-dropdown-item @click="handleIssued(scope.row)"
v-show="scope.row.runStatus === 1">下达</el-dropdown-item> -->
<!-- <el-dropdown-item @click="handleBatches(scope.row)"
v-show="scope.row.runStatus < 15 && scope.row.runStatus !== 5" >分批</el-dropdown-item> -->/<!-- 分批按钮状态2346显示 -->
<el-dropdown-item @click="handleBatches(scope.row)"
v-show="[2,3,4,6].includes(scope.row.runStatus)">分批</el-dropdown-item>
<el-dropdown-item @click="handleOutsource(scope.row, 'one')"
v-show="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">外协</el-dropdown-item>
<!-- 分批按钮状态2346显示 -->
<el-dropdown-item @click="handleBatches(scope.row)"
v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">分批</el-dropdown-item>
<el-dropdown-item @click="handleOutsource(scope.row)"
v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">外协</el-dropdown-item>
<!-- <el-dropdown-item @click="handleReturn(scope.row)"
v-show="scope.row.runStatus === 2">退货</el-dropdown-item> -->
<!-- <el-dropdown-item @click="handleScheduling(scope.row)"
@ -48,10 +47,9 @@
<!-- <el-dropdown-item @click="handleClose(scope.row)" v-show="scope.row.runStatus < 15">关闭</el-dropdown-item> -->
<!-- <el-dropdown-item @click="handleSintering(scope.row)"
v-show="scope.row.runStatus < 15">转烧结</el-dropdown-item> -->
<el-dropdown-item @click="priorityFn(scope.row)"
v-show="scope.row.runStatus === 2">优先级调整</el-dropdown-item>
<el-dropdown-item @click="handleAbnormal(scope.row)"
v-show="scope.row.runStatus === 3 || scope.row.runStatus === 4" >异常申报</el-dropdown-item>
<el-dropdown-item @click="priorityFn(scope.row)" v-if="scope.row.runStatus === 2">优先级调整</el-dropdown-item>
<el-dropdown-item @click="handleAbnormal(scope.row)"
v-if="scope.row.runStatus === 3 || scope.row.runStatus === 4">异常申报</el-dropdown-item>
</el-dropdown-menu>
</template>
<!-- <el-dropdown-menu slot="dropdown">
@ -77,6 +75,15 @@
<template #plate="{ row }">{{
row.pjYieldOrder && row.pjYieldOrder.plate
}}</template>
<template #planEndDate="{ row }">
{{ Array.isArray(row.planEndDate) ? row.planEndDate.join(' ~ ') : (row.planEndDate || '-') }}
</template>
<template #planTime="{ row }">
{{ Array.isArray(row.planTime) ? row.planTime.join(' ~ ') : (row.planTime || '-') }}
</template>
<template #putStoreTime="{ row }">
{{ Array.isArray(row.putStoreTime) ? row.putStoreTime.join(' ~ ') : (row.putStoreTime || '-') }}
</template>
<template #productType="{ row }">{{
row.pjYieldOrder && row.pjYieldOrder.productType
}}</template>
@ -131,7 +138,7 @@
<!-- 异常处理 -->
<abnormalDialog :show-abnormal="showAbnormal" @closeDialog="closeDialog"></abnormalDialog>
<productionMonitoringDialog :showDialog="isPriorityOpen" v-if="isPriorityOpen" @closeDialog="closeDialog"
@submitPriority="handlePrioritySubmit"></productionMonitoringDialog>
@submitPriority="handlePrioritySubmit"></productionMonitoringDialog>
</basic-container>
</template>
@ -245,7 +252,7 @@ export default {
},
],
},
{
label: "当前工序",
prop: "ppsName",
@ -279,7 +286,7 @@ export default {
},
{
label: "订单状态",
prop: "runStatus",
prop: "runStatusTitle",
type: "select",
search: true,
sortable: true,
@ -529,7 +536,7 @@ export default {
// },
// ],
// },
{
{
label: "MES流程卡号",
prop: "false",
search: false,
@ -604,8 +611,7 @@ export default {
},
],
},
{
{
label: "单批次面积",
prop: "batchArea",
search: false,
@ -620,7 +626,7 @@ export default {
},
],
},
{
{
label: "订单优先级",
prop: "priorityTitle",
type: "select",
@ -733,61 +739,77 @@ export default {
},
],
},
{
{
label: "计划下达时间",
prop: "planTime",
search: true,
sortable: true,
overHidden: true,
type: "datetimerange",
filter: true,
selectWidth: 150,
span: 12,
search: true,
width: 200,
searchSpan: 8,
type: 'datetimerange',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
startPlaceholder: '时间日期开始',
endPlaceholder: '时间日期结束',
width: 200,
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
rangeSeparator: '-',
searchRange: true,
rules: [
{
required: true,
message: "请输入计划下达时间",
trigger: "blur",
message: "请选择日期范围",
trigger: "change",
},
],
}, {
},
{
label: "计划完工时间",
prop: "planEndDate",
search: false,
sortable: true,
overHidden: true,
type: "datetimerange",
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
startPlaceholder: '时间日期开始',
endPlaceholder: '时间日期结束',
width: 200,
rules: [
{
required: true,
message: "请输入计划完工时间",
message: "请输入计划下达时间",
trigger: "blur",
},
],
},
{
label: "镀后入库时间",
prop: "putStoreTime",
search: true,
sortable: true,
overHidden: true,
filter: true,
span: 12,
search: true,
searchSpan: 8,
width: 200,
type: "datetimerange",
format: 'yyyy-MM-DD HH:mm:ss',
valueFormat: 'yyyy-MM-DD HH:mm:ss',
startPlaceholder: '时间日期开始',
endPlaceholder: '时间日期结束',
type: 'datetimerange',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
rangeSeparator: '-',
searchRange: true,
rules: [
{
required: true,
message: "请输入镀后入库时间",
trigger: "blur",
message: "请选择日期范围",
trigger: "change",
},
],
},
{
label: "外协状态",
prop: "oemType",
@ -890,9 +912,9 @@ export default {
},
],
},
// {
// label: "",
// prop: "inventoryQty",
@ -993,7 +1015,7 @@ export default {
// },
// ],
// },
{
label: "备注",
prop: "memo",
@ -1043,12 +1065,15 @@ export default {
mounted() { },
methods: {
//
priorityFn() {
this.isPriorityOpen = true
},
handlePrioritySubmit(data) {
this.$message.success(`优先级已调整为${data.priority === 1 ? '一级' : data.priority === 2 ? '二级' : '三级'}`);
},
priorityFn(row) {
this.rowItem = row;
console.log(row.runStatus, 123)
this.isPriorityOpen = true
// console.log(runStatus,123)
},
handlePrioritySubmit(data) {
this.$message.success(`优先级已调整为${data.priority === 1 ? '一级' : data.priority === 2 ? '二级' : '三级'}`);
},
selectionChange(val) {
this.selectionList = val;
},
@ -1127,9 +1152,13 @@ export default {
} else {
}
},
//3546
//3546
queryOrdersHandle() {
const targetStatuses = [3, 5, 4, 6];
const filteredData = this.data.filter(item => targetStatuses.includes(item.runStatus));
const originalData = [...this.data];
this.data = filteredData;
this.$message.success(`已筛选出${filteredData.length}条符合条件的订单`);
},
//
handleAbnormal() {
@ -1350,7 +1379,7 @@ export default {
nowWorkCenter: null,
oem: false,
oemOut: true,
oemType: 1,
oemType: -1,
oldRunStatus: null,
orderMarkTitle: "热表中心",
orderWoCode: "WO-2303122891-R01",
@ -1476,7 +1505,7 @@ export default {
reworkNo: null,
rsCode: null,
runStatus: 3,
runStatusTitle: "加工中",
runStatusTitle: "生产中",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-03-28 10:01:18",
@ -1677,7 +1706,7 @@ export default {
nowWorkCenter: null,
oem: false,
oemOut: true,
oemType: 1,
oemType: -1,
oldRunStatus: null,
orderMarkTitle: "热表中心",
orderWoCode: "WO-2303123426-R01",
@ -1803,7 +1832,7 @@ export default {
reworkNo: null,
rsCode: null,
runStatus: 2,
runStatusTitle: "加工中",
runStatusTitle: "待生产",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-03-28 16:29:14",
@ -2133,7 +2162,7 @@ export default {
reworkNo: null,
rsCode: null,
runStatus: 4,
runStatusTitle: "加工中",
runStatusTitle: "检验中",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-04-10 21:17:11",
@ -2324,7 +2353,7 @@ export default {
nowWorkCenter: null,
oem: false,
oemOut: true,
oemType: 1,
oemType: -1,
oldRunStatus: null,
orderMarkTitle: "热表中心",
orderWoCode: "WO-2303122891-R01",
@ -2450,7 +2479,7 @@ export default {
reworkNo: null,
rsCode: null,
runStatus: 6,
runStatusTitle: "加工中",
runStatusTitle: "审理中",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-03-28 10:01:18",
@ -2641,7 +2670,7 @@ export default {
nowWorkCenter: null,
oem: false,
oemOut: true,
oemType: 1,
oemType: -1,
oldRunStatus: null,
orderMarkTitle: "热表中心",
orderWoCode: "WO-2303122891-R01",
@ -2767,7 +2796,7 @@ export default {
reworkNo: null,
rsCode: null,
runStatus: 5,
runStatusTitle: "加工中",
runStatusTitle: "工艺变更",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-03-28 10:01:18",
@ -2958,7 +2987,7 @@ export default {
nowWorkCenter: null,
oem: false,
oemOut: true,
oemType: 1,
oemType: -1,
oldRunStatus: null,
orderMarkTitle: "热表中心",
orderWoCode: "WO-2303122891-R01",
@ -3084,7 +3113,7 @@ export default {
reworkNo: null,
rsCode: null,
runStatus: 19,
runStatusTitle: "加工中",
runStatusTitle: "已返工",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-03-28 10:01:18",
@ -3100,7 +3129,7 @@ export default {
ybCode: null,
ybLocal: null,
},
];
this.page.total = this.data.length;
},

@ -44,6 +44,7 @@ export default {
editBtnIcon: " ",
labelWidth: "200px",
dialogWidth: 600,
menuWidth: 80,
dialogClickModal: false,
searchEnter: true,
filterBtn: true,

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save