定额计算接口联调及页面拆分

dev-scheduling
jinna 6 hours ago
parent 71ceec6985
commit 9250179f8b
  1. 9
      src/api/orderManagement/exceptionOrder.js
  2. 19
      src/views/oem/oemOrderSettlement/components/settlementDailog.vue
  3. 18
      src/views/productionManagement/abnormalOrder.vue
  4. 16
      src/views/productionManagement/addRequirements.vue
  5. 16
      src/views/productionManagement/assayedContent.vue
  6. 10
      src/views/productionManagement/coatingMaterial.vue
  7. 509
      src/views/productionManagement/components/coatingMater/abnormalOrder.vue

@ -69,4 +69,13 @@ export const getProductionIdentificationList = (params) => {
method: 'get',
params
});
};
// 定额异常订单重新计算
export const reCalculate = (params) => {
return request({
url: '/blade-desk/order/yieldOrder/calculateCoatingMaterial',
method: 'post',
params
});
};

@ -12,7 +12,7 @@
</el-icon>
<h3>计算完成</h3>
</div>
<div>
<div v-if="!abnormal">
<h4>计算结果</h4>
<div class="box-txt">
<el-icon style="color:#67c23a;margin-right: 4px;margin-top: 2px;">
@ -25,6 +25,19 @@
</el-icon>{{ exceptionCount }}
</div>
</div>
<div v-if="abnormal">
<h4>计算结果</h4>
<div class="box-txt">
<el-icon style="color:#67c23a;margin-right: 4px;margin-top: 2px;">
<SuccessFilled />
</el-icon>{{ successCount }}
</div>
<div class="box-txt">
<el-icon style="color:#f56c6c;margin-right: 4px;margin-top: 2px;">
<CircleCloseFilled />
</el-icon>{{ exceptionCount }}
</div>
</div>
</div>
<template #footer>
<span class="dialog-footer">
@ -43,6 +56,10 @@ export default {
settleResult: {
type: Object,
default: null
},
abnormal:{
type: Boolean,
default: false
}
},
data() {

@ -0,0 +1,18 @@
<template>
<basic-container>
<abnormalOrder></abnormalOrder>
</basic-container>
</template>
<script>
import abnormalOrder from "./components/coatingMater/abnormalOrder.vue"
export default {
components:{
abnormalOrder
}
}
</script>
<style>
</style>

@ -0,0 +1,16 @@
<template>
<basic-container>
<addRequirements ></addRequirements>
</basic-container>
</template>
<script>
import addRequirements from './components/coatingMater/addRequirements.vue'
export default {
components: { addRequirements },
}
</script>
<style>
</style>

@ -0,0 +1,16 @@
<template>
<basic-container>
<assayedContent></assayedContent>
</basic-container>
</template>
<script>
import assayedContent from './components/coatingMater/assayedContent.vue'
export default {
components:{assayedContent}
}
</script>
<style>
</style>

@ -1,15 +1,15 @@
<template>
<basic-container>
<el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange">
<!-- <el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange">
<el-tab-pane label="物料需求申报" name="1"></el-tab-pane>
<el-tab-pane label="化验含量" name="2"></el-tab-pane>
<el-tab-pane label="添加量申报" name="3"></el-tab-pane>
<el-tab-pane label="定额异常订单" name="4"></el-tab-pane>
</el-tabs>
<materialRequirements v-if="tabPosition=='1'"></materialRequirements>
<assayedContent v-if="tabPosition=='2'"></assayedContent>
</el-tabs> -->
<materialRequirements ></materialRequirements>
<!-- <assayedContent v-if="tabPosition=='2'"></assayedContent>
<addRequirements v-if="tabPosition=='3'"></addRequirements>
<abnormalOrder v-if="tabPosition=='4'"></abnormalOrder>
<abnormalOrder v-if="tabPosition=='4'"></abnormalOrder> -->
</basic-container>
</template>

@ -17,13 +17,29 @@
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left>
<el-button type="primary" @click="reCalc">重新计算</el-button>
</template>
</avue-crud>
<settlementDailog
v-if="isOpen"
:abnormal="true"
:showDialog="isOpen"
:settleResult="settleResult"
@closeDialog="closeDialog"
@refresh="refreshTable"
>
</settlementDailog>
</div>
</template>
<script>
import {getList} from "@/api/orderManagement/exceptionOrder"
import {getList,reCalculate} from "@/api/orderManagement/exceptionOrder"
import settlementDailog from "@/views/oem/oemOrderSettlement/components/settlementDailog.vue"
export default {
components:{
settlementDailog
},
data(){
return{
loading:false,
@ -35,6 +51,8 @@ export default {
total: 0,
},
query:{},
isOpen:false,
settleResult:{},
selectionList:[],
option:{
columnSort: true,
@ -43,7 +61,7 @@ export default {
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 18,
searchMenuSpan: 12,
searchIcon: true,
searchIndex: 3,
tree: false,
@ -79,11 +97,29 @@ export default {
searchMenuPosition: 'right',
align: 'center',
column: [
{
label: '异常原因',
prop: 'validationMomo',
search: false,
sortable: true,
span: 24,
type: 'textarea',
// width: 150,
headerAlign: 'center',
align: 'left',
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
},
{
label: '计划单号',
prop: 'ypCode',
span: 24,
width: 150,
// width: 150,
overflow: true,
search: true,
headerAlign: 'center',
@ -97,18 +133,18 @@ export default {
]
},
{
label: '生产单',
label: '生产单',
prop: 'yoCode',
search: false,
sortable: true,
width: 150,
// width: 150,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入生产单',
message: '请输入生产单',
trigger: 'blur',
},
],
@ -116,9 +152,9 @@ export default {
{
label: '零件号',
prop: 'partCode',
search: false,
search: true,
sortable: true,
width: 150,
// width: 150,
span: 12,
headerAlign: 'center',
align: 'center',
@ -130,112 +166,112 @@ export default {
},
],
},
{
label: '产品型号',
prop: 'productType',
search: false,
sortable: true,
disabled: true,
width: 150,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: false,
message: '请输入产品型号',
trigger: 'blur',
},
],
},
{
label: '产品名称',
prop: 'partName',
search: false,
sortable: true,
disabled: true,
span: 12,
width: 150,
headerAlign: 'center',
align: 'left',
rules: [
{
required: false,
message: '请输入产品名称',
trigger: 'blur',
},
],
},
{
label: '流程卡号',
prop: 'cardNo',
search: false,
sortable: true,
disabled: true,
span: 12,
width: 150,
headerAlign: 'center',
rules: [
{
required: false,
message: '请输入流程卡号',
trigger: 'blur',
},
],
},
{
label: '批次号',
prop: 'batchNo',
search: false,
sortable: true,
disabled: true,
span: 12,
width: 150,
headerAlign: 'center',
rules: [
{
required: false,
message: '请输入批次号',
trigger: 'blur',
},
],
},
{
label: '镀种',
prop: 'plate',
search: false,
sortable: true,
disabled: true,
width: 150,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: false,
message: '请输入镀种',
trigger: 'blur',
},
],
},
{
label: '面积(d㎡)',
prop: 'ypArea',
search: false,
sortable: true,
width: 120,
span: 12,
disabled: true,
headerAlign: 'center',
align: 'center',
rules: [
{
required: false,
message: '请输入面积(d㎡)',
trigger: 'blur',
},
],
},
// {
// label: '',
// prop: 'productType',
// search: false,
// sortable: true,
// disabled: true,
// width: 150,
// span: 12,
// headerAlign: 'center',
// align: 'center',
// rules: [
// {
// required: false,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'partName',
// search: false,
// sortable: true,
// disabled: true,
// span: 12,
// width: 150,
// headerAlign: 'center',
// align: 'left',
// rules: [
// {
// required: false,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'cardNo',
// search: false,
// sortable: true,
// disabled: true,
// span: 12,
// width: 150,
// headerAlign: 'center',
// rules: [
// {
// required: false,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'batchNo',
// search: false,
// sortable: true,
// disabled: true,
// span: 12,
// width: 150,
// headerAlign: 'center',
// rules: [
// {
// required: false,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'plate',
// search: false,
// sortable: true,
// disabled: true,
// width: 150,
// span: 12,
// headerAlign: 'center',
// align: 'center',
// rules: [
// {
// required: false,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '(d)',
// prop: 'ypArea',
// search: false,
// sortable: true,
// width: 120,
// span: 12,
// disabled: true,
// headerAlign: 'center',
// align: 'center',
// rules: [
// {
// required: false,
// message: '(d)',
// trigger: 'blur',
// },
// ],
// },
{
label: '生产标识',
prop: 'productIdent',
@ -259,30 +295,30 @@ export default {
},
],
},
{
label: '使用部门',
prop: 'useDept',
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,
// disabled: true,
// width: 120,
// span: 12,
// headerAlign: 'center',
// align: 'center',
// rules: [
// {
// required: true,
// message: '使',
// trigger: 'blur',
// },
// ],
// },
{
label: '生产数量',
prop: 'ypQty',
search: false,
sortable: true,
width: 120,
// width: 120,
span: 12,
headerAlign: 'center',
align: 'center',
@ -294,49 +330,49 @@ export default {
},
],
},
{
label: '需求交期',
prop: 'demandDate',
search: false,
sortable: true,
width: 180,
span: 12,
headerAlign: 'center',
align: 'center',
type: 'datetime', // datetime
valueFormat: 'YYYY-MM-DD HH:mm:ss', //
rules: [
{
required: true,
message: '请输入需求交期',
trigger: 'blur',
},
],
},
{
label: '计划员',
prop: 'planUser',
search: false,
sortable: true,
width: 120,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入计划员',
trigger: 'blur',
},
],
},
// {
// label: '',
// prop: 'demandDate',
// search: false,
// sortable: true,
// width: 180,
// span: 12,
// headerAlign: 'center',
// align: 'center',
// type: 'datetime', // datetime
// valueFormat: 'YYYY-MM-DD HH:mm:ss', //
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'planUser',
// search: false,
// sortable: true,
// width: 120,
// span: 12,
// headerAlign: 'center',
// align: 'center',
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
// },
{
label: '计划下达时间',
prop: 'releaseDate',
search: false,
sortable: true,
searchLabelWidth: 100,
width: 180,
// width: 180,
span: 12,
type: 'datetime', // datetime
valueFormat: 'YYYY-MM-DD HH:mm:ss', //
@ -350,79 +386,76 @@ export default {
},
],
},
{
label: '订单状态',
prop: 'status',
search: false,
sortable: true,
span: 12,
display: false,
type: 'select',
width: '140',
headerAlign: 'center',
align: 'center',
dicData: [
{
value: 10000,
label: '已同步',
},
{
value: 10001,
label: '订单异常',
},
{
value: 10002,
label: '未下达',
},
{
value: 10003,
label: '待排产',
},
{
value: 10004,
label: '待生产',
},
{
value: 10005,
label: '加工中',
},
{
value: 10006,
label: '排产异常',
},
{
value: 10015,
label: '已完工',
},
{
value: 10021,
label: '已关闭',
},
],
},
{
label: '备注',
prop: 'validationMomo',
search: false,
sortable: true,
span: 24,
type: 'textarea',
width: 150,
headerAlign: 'center',
align: 'left',
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
},
// {
// label: '',
// prop: 'status',
// search: false,
// sortable: true,
// span: 12,
// display: false,
// type: 'select',
// width: '140',
// headerAlign: 'center',
// align: 'center',
// dicData: [
// {
// value: 10000,
// label: '',
// },
// {
// value: 10001,
// label: '',
// },
// {
// value: 10002,
// label: '',
// },
// {
// value: 10003,
// label: '',
// },
// {
// value: 10004,
// label: '',
// },
// {
// value: 10005,
// label: '',
// },
// {
// value: 10006,
// label: '',
// },
// {
// value: 10015,
// label: '',
// },
// {
// value: 10021,
// label: '',
// },
// ],
// },
]
}
}
},
methods:{
reCalc(){
if(this.selectionList.length == 0){
this.$message.error('请至少选择一条数据!')
return
}
reCalculate({
ids:this.selectionList.map(item => item.id).join(',')
}).then(res =>{
if(res.data.code == 200){
this.settleResult = res.data.data
this.isOpen = true
}
})
},
searchChange(params, done){
this.query = params;
this.page.currentPage = 1;

Loading…
Cancel
Save