计划管理问题修改

Co-authored-by: Copilot <copilot@github.com>
dev-scheduling
zhangdi 2 months ago
parent 74f853b981
commit 44b513d2d4
  1. 2
      src/api/qualityManagement/productionTesting/prPlanTestRec.js
  2. 2
      src/components/jh-select/index.vue
  3. 10
      src/views/orderManagement/components/allocation/allocationDetails.vue
  4. 8
      src/views/orderManagement/components/allocation/statistics.vue
  5. 159
      src/views/orderManagement/components/exception/dataMissing.vue
  6. 69
      src/views/orderManagement/components/exception/deliveryDate.vue
  7. 104
      src/views/orderManagement/components/exception/processMissing.vue
  8. 108
      src/views/orderManagement/components/exception/resourceMissing.vue
  9. 121
      src/views/orderManagement/planYieIdOrder.vue
  10. 142
      src/views/orderManagement/plannedOrder.vue
  11. 16
      src/views/orderManagement/sinTerPlanOrder.vue
  12. 36
      src/views/orderManagement/sinTerYieIdOrder.vue
  13. 4
      src/views/productionTesting/prPlanTestRec.vue

@ -3,7 +3,7 @@ import request from '@/axios';
// 获取列表
export const getList = (params) =>{
return request({
url:'/api/blade-desk/QA/PlanTest/page',
url:'/api/blade-desk/QA/PlanTest/list',
method:'get',
params
})

@ -193,7 +193,7 @@ export default {
handleChange(val) {
//
let selectedItem = this.optionList.find(item => item[this.valueKey] === val);
console.log(selectedItem,'selectedItem');
//
if (!selectedItem && this.echoApi) {
this.getEchoData(val).then(item => {

@ -300,8 +300,8 @@ export default {
searchRange: true,
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
searchOrder: 20,
searchRules: [
@ -334,7 +334,7 @@ export default {
},
{
label: '计划部门',
prop: 'plandept',
prop: 'plndept',
search: false,
sortable: true,
span: 12,
@ -456,8 +456,8 @@ export default {
// this.loading = true;
try {
const res = await getList({
pageNum: this.page.currentPage,
pageSize: this.page.pageSize,
current: this.page.currentPage,
size: this.page.pageSize,
...this.query,
});
this.data = res.data.data.records;

@ -103,14 +103,14 @@ export default {
},
{
label: '计划部门',
prop: 'partName',
prop: 'plandept',
search: true,
sortable: true,
span: 12,
},
{
label: '配套数量',
prop: 'num',
prop: 'fjPkavqty',
search: false,
sortable: false,
span: 12,
@ -132,8 +132,8 @@ export default {
if (params.subpkdate && Array.isArray(params.subpkdate)) {
//
// startDate endDate
params.startDate = params.subpkdate[0];
params.endDate = params.subpkdate[1];
params.subpkdateStart = params.subpkdate[0];
params.subpkdateEnd = params.subpkdate[1];
// subpkdate
delete params.subpkdate;

@ -16,6 +16,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
@row-update="rowUpdate"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="claseOrder()">关闭订单</el-button>
@ -56,21 +57,35 @@
<template #demandDate="{ row }">
{{ row.demandDate ? row.demandDate.substring(0, 10) : '' }}
</template>
<template #releaseDate="{ row }">
{{ row.releaseDate ? row.releaseDate.substring(0, 10) : '' }}
</template>
</avue-crud>
<el-dialog v-model="isEdit" width="900" title="修改">
<el-form :model="editForm" ref="form" :rules="formRules" label-width="120">
<el-row>
<el-col :span="12">
<el-form-item label="计划单号" prop="ypCode">
<el-form-item label="计划单号" prop="ypCode">
<el-input v-model="editForm.ypCode" clearable placeholder="请输入计划单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="零件号" prop="partCode">
<el-form-item label="零件号:" prop="partCode">
<jhSelect
:value="editForm.partCode"
@input="val => (editForm.partCode = val)"
placeholder="请搜索选择"
api-url="/blade-desk/dsPart/listNew"
echo-api="/blade-desk/dsPart/listNew"
echoParamsKey="ids"
echo-method="get"
api-method="get"
list-key="records"
total-key="total"
label-key="partCode"
value-key="id"
search-key="partCode"
:debounce-time="500"
@change="(value,item)=>partCodeChange(editForm.partCode,value,item)"
/>
<!-- <el-select
v-model="editForm.partCode"
remote
@ -92,7 +107,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="产品型号" prop="productType">
<el-form-item label="产品型号" prop="productType">
<el-input
v-model="editForm.productType"
disabled
@ -101,7 +116,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品名称" prop="partName">
<el-form-item label="产品名称" prop="partName">
<el-input
v-model="editForm.partName"
disabled
@ -112,21 +127,21 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="镀种" prop="plate">
<el-form-item label="镀种" prop="plate">
<el-input
v-model="editForm.plate"
clearable
disabled
placeholder="请输入镀种"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="面积(dm²)" prop="ypArea">
<el-form-item label="面积(dm²)" prop="ypArea">
<el-input
v-model="editForm.ypArea"
clearable
disabled
placeholder="请输入面积(dm²)"
></el-input>
</el-form-item>
@ -134,7 +149,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="生产标识" prop="productIdent">
<el-form-item label="生产标识" prop="productIdent">
<el-select v-model="editForm.productIdent" placeholder="请选择生产标识">
<el-option
v-for="item in productIdentList"
@ -145,8 +160,9 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="使用部门" prop="useDept">
<el-form-item label="使用部门名称:" prop="useDept">
<el-input
v-model="editForm.useDept"
clearable
@ -155,15 +171,25 @@
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="使用部门编码:" prop="useDept">
<el-input
v-model="editForm.useDeptCode"
clearable
disabled
placeholder="请输入使用部门"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="生产数量" prop="ypQty">
<el-input v-model="editForm.ypQty" clearable placeholder="请输入生产数量"></el-input>
<el-form-item label="需求数量:" prop="ypQty">
<el-input v-model="editForm.ypQty" clearable placeholder="请输入需求数量"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="需求交期" prop="demandDate">
<el-form-item label="需求交期" prop="demandDate">
<el-date-picker
style="width: 100%"
type="datetime"
@ -177,12 +203,17 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="计划员" prop="planUser">
<el-input v-model="editForm.planUser" clearable placeholder="请输入计划员"></el-input>
<el-form-item label="计划部门编码:" prop="planDeptCode">
<el-input v-model="editForm.planDeptCode" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划下达时间" prop="releaseDate">
<el-form-item label="计划员:" prop="planUser">
<el-input v-model="editForm.planUser" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划下达时间:" prop="releaseDate">
<el-date-picker
style="width: 100%"
type="datetime"
@ -196,7 +227,7 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="memo">
<el-form-item label="备注" prop="memo">
<el-input v-model="editForm.memo" type="textarea" placeholder="请输入备注"></el-input>
</el-form-item>
</el-col>
@ -220,7 +251,9 @@ import {
getPartList,
getProductionIdentificationList,
} from '@/api/orderManagement/exceptionOrder';
import jhSelect from '@/components/jh-select/index.vue';
export default {
components: { jhSelect },
data() {
return {
editForm: {},
@ -228,10 +261,11 @@ export default {
ypCode: [{ required: true, message: '请输入计划单号', trigger: 'change' }],
partCode: [{ required: true, message: '请选择零件号', trigger: 'change' }],
productIdent: [{ required: true, message: '请选择生产标识', trigger: 'change' }],
ypQty: [{ required: true, message: '请输入生产数量', trigger: 'change' }],
ypQty: [{ required: true, message: '请输入需求数量', trigger: 'change' }],
demandDate: [{ required: true, message: '请选择需求交期', trigger: 'change' }],
planUser: [{ required: true, message: '请输入计划员', trigger: 'change' }],
releaseDate: [{ required: true, message: '请选择计划下达时间', trigger: 'change' }],
planDeptCode: [{ required: true, message: '请输入计划部门编码', trigger: 'change' }],
// productType:[{required: true, message: '', trigger: 'blur'}]
},
partCodeList: [],
@ -303,6 +337,7 @@ export default {
menuAlign: 'center',
gridBtn: false,
searchMenuPosition: 'right',
searchLabelWidth: 'auto',
align: 'center',
column: [
@ -430,6 +465,7 @@ export default {
disabled: true,
span: 12,
width: 150,
searchOrder:20,
headerAlign: 'center',
rules: [
{
@ -534,7 +570,25 @@ export default {
],
},
{
label: '使用部门',
label: '使用部门编码',
prop: 'useDeptCode',
search: false,
sortable: true,
disabled: true,
width: 120,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入使用部门',
trigger: 'blur',
},
],
},
{
label: '使用部门名称',
prop: 'useDept',
search: false,
sortable: true,
@ -552,7 +606,7 @@ export default {
],
},
{
label: '生产数量',
label: '需求数量',
prop: 'ypQty',
search: false,
sortable: true,
@ -563,7 +617,7 @@ export default {
rules: [
{
required: true,
message: '请输入生产数量',
message: '请输入需求数量',
trigger: 'blur',
},
],
@ -588,6 +642,23 @@ export default {
},
],
},
{
label: '计划部门编码',
prop: 'planDeptCode',
search: false,
sortable: true,
width: 120,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入计划员',
trigger: 'blur',
},
],
},
{
label: '计划员',
prop: 'planUser',
@ -683,6 +754,17 @@ export default {
sortable: true,
span: 24,
width: 100,
type: 'select',
dicData: [
{
value: '11000',
label: '未接收',
},
{
value: '11001',
label: '已接收',
},
],
},
{
label: '接收人',
@ -698,7 +780,12 @@ export default {
search: false,
sortable: true,
span: 24,
width: 100,
width: 150,
},
{
label: '创建时间',
prop: 'createTime',
width: '140',
},
{
label: '备注',
@ -720,6 +807,20 @@ export default {
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending'?true:false;
}
// //
this.onLoad(this.page, this.query);
},
async editData(row) {
this.editForm = JSON.parse(JSON.stringify(row));
const partRes = await getPartList({
@ -773,9 +874,9 @@ export default {
});
}
},
changePart(val) {
let tmp = this.partCodeList.find(item => item.partCode == val);
this.editForm.partName = tmp.partName;
partCodeChange(val,value,item) {
console.log(val, value,item,9090909090)
this.editForm.partName =item.partName
},
submitEdit() {
this.$refs.form.validate(valid => {

@ -15,6 +15,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
@row-update="rowUpdate"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="claseOrder()" >关闭订单</el-button>
@ -52,9 +53,7 @@
<template #demandDate="{ row }">
{{ row.demandDate ? row.demandDate.substring(0, 10) : '' }}
</template>
<template #releaseDate="{ row }">
{{ row.releaseDate ? row.releaseDate.substring(0, 10) : '' }}
</template>
</avue-crud>
</template>
@ -126,7 +125,7 @@ export default {
menu:false,
gridBtn: false,
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
gridBtn: false,
@ -258,6 +257,7 @@ export default {
disabled: true,
span: 12,
width: 150,
searchOrder:20,
headerAlign: 'center',
rules: [
{
@ -416,6 +416,13 @@ export default {
},
],
},
{
label: '计划部门编码',
prop: 'planDeptCode',
search: false,
sortable: true,
width: 140,
},
{
label: '计划员',
prop: 'planUser',
@ -503,6 +510,46 @@ export default {
},
],
},
{
label: '接收状态',
prop: 'receiveStatus',
search: false,
sortable: true,
span: 24,
width: 100,
type: 'select',
dicData: [
{
value: '11000',
label: '未接收',
},
{
value: '11001',
label: '已接收',
},
],
},
{
label: '接收人',
prop: 'receiveUserName',
search: false,
sortable: true,
span: 24,
width: 100,
},
{
label: '接收时间',
prop: 'receiveTime',
search: false,
sortable: true,
span: 24,
width: 150,
},
{
label: '创建时间',
prop: 'createTime',
width: '140',
},
{
label: '备注',
prop: 'memo',
@ -529,6 +576,20 @@ export default {
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending'?true:false;
}
// //
this.onLoad(this.page, this.query);
},
rowUpdate(row, index, done, loading){
updateData(row).then(res => {
if(res.data.code == 200){

@ -15,6 +15,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
@row-update="rowUpdate"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="complianceCheck()">合规校验</el-button>
@ -57,9 +58,7 @@
<template #demandDate="{ row }">
{{ row.demandDate ? row.demandDate.substring(0, 10) : '' }}
</template>
<template #releaseDate="{ row }">
{{ row.releaseDate ? row.releaseDate.substring(0, 10) : '' }}
</template>
</avue-crud>
</template>
@ -129,7 +128,7 @@ export default {
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menu:false,
@ -280,6 +279,7 @@ export default {
disabled: true,
span: 12,
width: 150,
searchOrder:20,
headerAlign: 'center',
rules: [
{
@ -471,6 +471,13 @@ export default {
},
],
},
{
label: '计划部门编码',
prop: 'planDeptCode',
search: false,
sortable: true,
width: 140,
},
{
label: '计划员',
prop: 'planUser',
@ -558,6 +565,81 @@ export default {
},
],
},
{
label: '接收状态',
prop: 'receiveStatus',
search: false,
sortable: true,
span: 24,
width: 100,
type: 'select',
dicData: [
{
value: '11000',
label: '未接收',
},
{
value: '11001',
label: '已接收',
},
],
},
{
label: '接收人',
prop: 'receiveUserName',
search: false,
sortable: true,
span: 24,
width: 100,
},
{
label: '接收时间',
prop: 'receiveTime',
search: false,
sortable: true,
span: 24,
width: 150,
},
{
label: '接收状态',
prop: 'receiveStatus',
search: false,
sortable: true,
span: 24,
width: 100,
type: 'select',
dicData: [
{
value: '11000',
label: '未接收',
},
{
value: '11001',
label: '已接收',
},
],
},
{
label: '接收人',
prop: 'receiveUserName',
search: false,
sortable: true,
span: 24,
width: 100,
},
{
label: '接收时间',
prop: 'receiveTime',
search: false,
sortable: true,
span: 24,
width: 150,
},
{
label: '创建时间',
prop: 'createTime',
width: '140',
},
{
label: '备注',
prop: 'memo',
@ -584,6 +666,20 @@ export default {
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending'?true:false;
}
// //
this.onLoad(this.page, this.query);
},
//
complianceCheck() {
//

@ -15,6 +15,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
@row-update="rowUpdate"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="complianceCheck()">合规校验</el-button>
@ -62,9 +63,10 @@
<template #demandDate="{ row }">
{{ row.demandDate ? row.demandDate.substring(0, 10) : '' }}
</template>
<template #releaseDate="{ row }">
{{ row.releaseDate ? row.releaseDate.substring(0, 10) : '' }}
</template>
<template #validationMomo="{row}">
<el-text type="danger">{{ row.validationMomo }}</el-text>
</template>
</avue-crud>
</template>
@ -135,15 +137,33 @@ export default {
menuAlign: 'left',
gridBtn: false,
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'center',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
menu:false,
column: [
{
label: '缺失资源',
prop: 'validationMomo',
search: false,
sortable: true,
width: 240,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入缺失资源',
trigger: 'blur',
},
],
},
{
label: '计划单号',
prop: 'ypCode',
@ -268,6 +288,7 @@ export default {
disabled: true,
span: 12,
width: 150,
searchOrder:20,
headerAlign: 'center',
rules: [
{
@ -406,23 +427,7 @@ export default {
},
],
},
{
label: '缺失资源',
prop: 'validationMomo',
search: false,
sortable: true,
width: 120,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入缺失资源',
trigger: 'blur',
},
],
},
{
label: '需求交期',
prop: 'demandDate',
@ -442,6 +447,13 @@ export default {
},
],
},
{
label: '计划部门编码',
prop: 'planDeptCode',
search: false,
sortable: true,
width: 140,
},
{
label: '计划员',
prop: 'planUser',
@ -529,6 +541,46 @@ export default {
},
],
},
{
label: '接收状态',
prop: 'receiveStatus',
search: false,
sortable: true,
span: 24,
width: 100,
type: 'select',
dicData: [
{
value: '11000',
label: '未接收',
},
{
value: '11001',
label: '已接收',
},
],
},
{
label: '接收人',
prop: 'receiveUserName',
search: false,
sortable: true,
span: 24,
width: 100,
},
{
label: '接收时间',
prop: 'receiveTime',
search: false,
sortable: true,
span: 24,
width: 150,
},
{
label: '创建时间',
prop: 'createTime',
width: '140',
},
{
label: '备注',
prop: 'memo',
@ -555,6 +607,20 @@ export default {
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending'?true:false;
}
// //
this.onLoad(this.page, this.query);
},
//
complianceCheck() {
//

@ -15,6 +15,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="batchClose()">批量关闭</el-button>
@ -109,7 +110,12 @@ import {
remove,
update,
} from '@/api/system/role';
import { getList, updatePreference, closeBatchs,getHotOrderList } from '@/api/orderManagement/planYieIdOrder';
import {
getList,
updatePreference,
closeBatchs,
getHotOrderList,
} from '@/api/orderManagement/planYieIdOrder';
import { mapGetters } from 'vuex';
import { validatenull } from '@/utils/validate';
import lookProcess from './components/lookProcess.vue';
@ -198,13 +204,14 @@ export default {
menuAlign: 'center',
gridBtn: false,
searchMenuPosition: 'right',
searchLabelWidth: 'auto',
align: 'center',
column: [
{
label: '计划单号',
prop: 'ypCode',
search: true,
searchOrder:5,
searchOrder: 5,
sortable: true,
width: 150,
span: 12,
@ -224,7 +231,7 @@ export default {
search: true,
sortable: true,
width: 150,
searchOrder:4,
searchOrder: 4,
span: 12,
headerAlign: 'center',
align: 'center',
@ -241,7 +248,7 @@ export default {
prop: 'partCode',
search: true,
sortable: true,
searchOrder:2,
searchOrder: 2,
width: 180,
span: 12,
headerAlign: 'center',
@ -312,12 +319,13 @@ export default {
label: '流程卡号',
prop: 'cardNo',
search: true,
searchOrder:3,
searchOrder: 3,
sortable: true,
width: 150,
span: 12,
headerAlign: 'center',
align: 'center',
searchOrder: 20,
rules: [
{
required: true,
@ -359,23 +367,23 @@ export default {
// { label:'3',value:'15003' },
// { label:'4',value:'15004' },
// { label:'5',value:'15005' },
{ label:'1级-极高紧急度',value:15001 },
{ label:'2级-高紧急度',value:15002 },
{ label:'3级-中紧急度',value:15003 },
{ label:'4级-低紧急度',value:15004 },
{ label:'5级-正常',value:15005 },
// {
// label: '',
// value: '1',
// },
// {
// label: '',
// value: '2',
// },
// {
// label: '',
// value: '3',
// },
{ label: '1级-极高紧急度', value: 15001 },
{ label: '2级-高紧急度', value: 15002 },
{ label: '3级-中紧急度', value: 15003 },
{ label: '4级-低紧急度', value: 15004 },
{ label: '5级-正常', value: 15005 },
// {
// label: '',
// value: '1',
// },
// {
// label: '',
// value: '2',
// },
// {
// label: '',
// value: '3',
// },
],
rules: [
{
@ -513,7 +521,7 @@ export default {
{
label: '需求交期',
prop: 'demandDate',
type:'date',
type: 'date',
search: false,
sortable: true,
width: 180,
@ -530,6 +538,13 @@ export default {
},
],
},
{
label: '计划部门编码',
prop: 'planDeptCode',
search: false,
sortable: true,
width: 140,
},
{
label: '计划员',
prop: 'planUser',
@ -660,8 +675,8 @@ export default {
width: '140',
display: false,
// RECEIVE_STATUS_NO( name:"",
// RECEIVE_STATUS_YES(name:"",
// code:11000),code:11001)
// RECEIVE_STATUS_YES(name:"",
// code:11000),code:11001)
dicData: [
{
value: 11000,
@ -674,17 +689,17 @@ export default {
],
},
{
label:"接收人",
label: '接收人',
prop: 'receiveUserName',
width: '140',
},
{
label:"接收时间",
label: '接收时间',
prop: 'receiveTime',
width: '140',
},
{
label:"同步时间",
{
label: '创建时间',
prop: 'createTime',
width: '140',
},
@ -750,13 +765,28 @@ export default {
},
},
methods: {
//
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
//
priorityFn() {
if (this.selectionList.length === 0) {
this.$message.error('请至少选择一条数据');
return;
}
console.log('this.selectionList=============',this.selectionList)
console.log('this.selectionList=============', this.selectionList);
// this.priorityName = this.selectionList[0]['prodIdent'];
this.isPriorityOpen = true;
},
@ -817,10 +847,10 @@ export default {
this.$message.error('请选择至少一条数据');
return;
}
let tmp = this.selectionList.filter(item => item.status === 10015 || item.status === 10021)
if(tmp.length > 0){
let tmp = this.selectionList.filter(item => item.status === 10015 || item.status === 10021);
if (tmp.length > 0) {
this.$message.error('请勿选择状态为【已完工】或【已关闭】的数据');
return
return;
}
this.$confirm('确定将选择数据批量关闭?', {
confirmButtonText: '确定',
@ -837,7 +867,7 @@ export default {
this.$refs.crud.toggleSelection();
}
});
// return remove(row.id);
})
.catch(() => {
@ -858,7 +888,7 @@ export default {
this.isUpdateOpen = false;
this.isPriorityOpen = false;
this.isOpen = false;
if(val){
if (val) {
this.onLoad(this.page, {});
}
},
@ -1097,14 +1127,20 @@ export default {
try {
let param = {
...this.query,
releaseDateStart:this.query.releaseDate && this.query.releaseDate.length != 0 ? this.$dayjs(this.query.releaseDate[0]).format('YYYY-MM-DD') : null,
releaseDateEnd:this.query.releaseDate && this.query.releaseDate.length != 0 ? this.$dayjs(this.query.releaseDate[1]).format('YYYY-MM-DD') : null,
}
if(param.releaseDate) delete param.releaseDate;
console.log('para-----------',param)
releaseDateStart:
this.query.releaseDate && this.query.releaseDate.length != 0
? this.$dayjs(this.query.releaseDate[0]).format('YYYY-MM-DD')
: null,
releaseDateEnd:
this.query.releaseDate && this.query.releaseDate.length != 0
? this.$dayjs(this.query.releaseDate[1]).format('YYYY-MM-DD')
: null,
};
if (param.releaseDate) delete param.releaseDate;
console.log('para-----------', param);
const res = await getHotOrderList({
current:this.page.currentPage,
size:this.page.pageSize,
current: this.page.currentPage,
size: this.page.pageSize,
...param,
});
this.data = res.data.data.records;
@ -1124,7 +1160,6 @@ export default {
} catch (err) {
console.log(err);
}
},
},
mounted() {

@ -16,6 +16,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="batchClose()">批量关闭</el-button>
@ -110,7 +111,12 @@ import {
update,
} from '@/api/system/role';
import { closeBatchs,getHotList,getProcessRoute,getProcess } from '@/api/orderManagement/sinTerPlanOrder';
import {
closeBatchs,
getHotList,
getProcessRoute,
getProcess,
} from '@/api/orderManagement/sinTerPlanOrder';
import { mapGetters } from 'vuex';
import { validatenull } from '@/utils/validate';
@ -127,7 +133,7 @@ export default {
},
data() {
return {
id:null,
id: null,
isShowImport: false,
inBatchesOpen: false,
platingSmallOpen: false,
@ -193,6 +199,7 @@ export default {
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'center',
@ -209,13 +216,6 @@ export default {
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入计划单号',
trigger: 'blur',
},
],
},
{
label: '零件号',
@ -226,14 +226,6 @@ export default {
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入零件号',
trigger: 'blur',
},
],
},
{
label: '零件名称',
@ -245,13 +237,6 @@ export default {
width: 150,
headerAlign: 'center',
align: 'left',
rules: [
{
required: false,
message: '请输入零件名称',
trigger: 'blur',
},
],
},
// {
// label: '',
@ -278,16 +263,9 @@ export default {
sortable: true,
disabled: true,
span: 12,
width:150,
width: 150,
headerAlign: 'center',
align: 'center',
rules: [
{
required: false,
message: '请输入镀种',
trigger: 'blur',
},
],
},
// {
// label: '',
@ -316,13 +294,6 @@ export default {
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入生产标识',
trigger: 'blur',
},
],
},
{
label: '使用部门',
@ -334,13 +305,6 @@ export default {
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入使用部门',
trigger: 'blur',
},
],
},
{
label: '生产数量',
@ -351,13 +315,6 @@ export default {
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入生产数量',
trigger: 'blur',
},
],
},
{
label: '面积(d㎡)',
@ -369,13 +326,6 @@ export default {
disabled: true,
headerAlign: 'center',
align: 'center',
rules: [
{
required: false,
message: '请输入面积(d㎡)',
trigger: 'blur',
},
],
},
{
@ -480,6 +430,12 @@ export default {
headerAlign: 'center',
align: 'center',
},
{
label: '状态',
prop: 'statusName',
search: false,
sortable: true,
},
{
label: '状态',
@ -488,23 +444,24 @@ export default {
sortable: true,
span: 12,
display: false,
hide: true,
type: 'select',
width: '140',
headerAlign: 'center',
align: 'center',
dicData: [
{
value: 10001,
label: '正常',
},
{
value: 10002,
label: '已退回',
},
{
value: 10003,
label: '无工艺',
},
// {
// value: 10001,
// label: '',
// },
// {
// value: 10002,
// label: '退',
// },
// {
// value: 10003,
// label: '',
// },
{
value: 10004,
label: '已派工',
@ -578,7 +535,7 @@ export default {
data: [],
isRushOpen: false, //
isBatchOpen: false, //
checkPart:"",
checkPart: '',
};
},
computed: {
@ -615,6 +572,20 @@ export default {
},
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
//
handleImport() {
this.isShowImport = true;
@ -644,10 +615,10 @@ export default {
this.$message.error('请选择至少一条数据');
return;
}
let tmp = this.selectionList.filter(item => item.status === 10015 || item.status === 10021)
if(tmp.length > 0){
let tmp = this.selectionList.filter(item => item.status === 10015 || item.status === 10021);
if (tmp.length > 0) {
this.$message.error('请勿选择状态为【已完工】或【已关闭】的数据');
return
return;
}
this.$confirm('确定将选择数据批量关闭?', {
confirmButtonText: '确定',
@ -663,7 +634,6 @@ export default {
this.onLoad(this.page); // return remove(row.id);
}
});
})
.catch(() => {
// this.onLoad(this.page);
@ -690,9 +660,9 @@ export default {
this.platingSmallOpen = true;
},
lookProcessRoute(row) {
console.log('row----------',row)
this.id=row.id
this.checkPart = row.partCode
console.log('row----------', row);
this.id = row.id;
this.checkPart = row.partCode;
this.isOpen = true;
this.rowItem = row;
},
@ -889,17 +859,17 @@ export default {
this.loading = true;
try {
const res = await getHotList({
current:this.page.currentPage,
size:this.page.pageSize,
...this.query
})
current: this.page.currentPage,
size: this.page.pageSize,
...this.query,
});
this.data = res.data.data.records;
this.page.total = res.data.data.total;
console.log('res----------------',res)
console.log('res----------------', res);
// const res = await getList(
// page.currentPage,
// page.pageSize,
// Object.assign(params, this.query)
// );
// if (res.code) {

@ -15,6 +15,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="batchClose()">批量关闭</el-button>
@ -176,6 +177,7 @@ export default {
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchLabelWidth:'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'center',
@ -568,6 +570,20 @@ export default {
},
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending'?true:false;
}
// //
this.onLoad(this.page, this.query);
},
//
handleImport() {
this.isShowImport = true;

@ -16,6 +16,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="batchClose()">批量关闭</el-button>
@ -219,7 +220,7 @@ export default {
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
// searchLabelWidth: 120,
searchLabelWidth: 'auto',
menuWidth: 140,
dialogWidth: 900,
dialogClickModal: false,
@ -358,7 +359,7 @@ export default {
prop: 'cardNo',
search: true,
sortable: true,
searchOrder:3,
searchOrder:20,
width: 150,
span: 12,
headerAlign: 'center',
@ -589,6 +590,13 @@ export default {
trigger: 'blur',
},
],
},
{
label: '计划部门编码',
prop: 'planDeptCode',
search: false,
sortable: true,
width: 140,
},
{
label: '计划员',
@ -773,11 +781,11 @@ export default {
prop: 'receiveTime',
width: '140',
},
{
label:"同步时间",
prop: 'createTime',
width: '140',
},
{
label: '创建时间',
prop: 'createTime',
width: '140',
},
{
label: '备注',
prop: 'memo',
@ -837,6 +845,20 @@ export default {
},
},
methods: {
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending'?true:false;
}
// //
this.onLoad(this.page, this.query);
},
//
priorityFn() {
if (this.selectionList.length === 0) {

@ -152,7 +152,7 @@ export default {
},
{
label: '试验状态',
prop: 'statusName',
prop: 'testStatus',
width: 200,
search: false,
sortable: true,
@ -215,7 +215,7 @@ export default {
this.$refs.crud.toggleSelection();
},
viewDetail(row) {
getDetail({ id: row.id }).then(res => {
getDetail(row).then(res => {
this.showDetail = true;
});
},

Loading…
Cancel
Save