Merge branch 'refs/heads/master' into dev_1.0.0
commit
6ec773ce3d
|
|
@ -74,8 +74,9 @@ export function exportDeliveryDetail(id) {
|
|||
export function listProductSn(query) {
|
||||
return request({
|
||||
url: '/inventory/info/vue/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
method: 'post',
|
||||
headers: { 'Content-Type': 'multipart/form-data' },
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改制造商信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" width="70%" :close-on-click-modal="false" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="200px" style="max-height: 70vh;overflow-y: auto;padding: 10px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-drawer title="发货单详情" :visible.sync="visible" direction="rtl" size="60%" @close="handleClose" append-to-body>
|
||||
<el-drawer title="发货单详情" :wrapper-closable="false" :visible.sync="visible" direction="rtl" size="60%" @close="handleClose" append-to-body>
|
||||
<div class="app-container">
|
||||
<el-form :model="detail" label-width="100px" disabled>
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
@pagination="getList"/>
|
||||
|
||||
<!-- 新增/修改对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body @close="cancel" class="checkout-dialog">
|
||||
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="80%" append-to-body @close="cancel" class="checkout-dialog">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-drawer :title="title" :visible.sync="open" size="70%" append-to-body @close="cancel">
|
||||
<el-drawer :wrapper-closable="false" :title="title" :visible.sync="open" size="70%" append-to-body @close="cancel">
|
||||
<el-form ref="form" :model="form" label-width="140px">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@
|
|||
/>
|
||||
|
||||
<!-- 编辑订单执行对话框 -->
|
||||
<el-dialog title="编辑订单执行" :visible.sync="editDialogVisible" width="70vw" append-to-body destroy-on-close>
|
||||
<el-dialog title="编辑订单执行" :close-on-click-modal="false" :visible.sync="editDialogVisible" width="70vw" append-to-body destroy-on-close>
|
||||
<edit
|
||||
v-if="editDialogVisible"
|
||||
:order-id="currentEditOrderId"
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
</el-dialog>
|
||||
|
||||
<!-- 签收文件上传对话框 -->
|
||||
<el-dialog title="上传签收文件" :visible.sync="upload.open" width="400px" append-to-body>
|
||||
<el-dialog :close-on-click-modal="false" title="上传签收文件" :visible.sync="upload.open" width="400px" append-to-body>
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:limit="1"
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@
|
|||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<!-- 新增/修改对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="680px" append-to-body>
|
||||
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="680px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
@ -196,12 +196,12 @@
|
|||
</el-drawer>
|
||||
|
||||
<!-- 入库记录对话框 -->
|
||||
<el-dialog title="入库记录" :visible.sync="innerLogVisible" width="70%" append-to-body>
|
||||
<el-dialog :close-on-click-modal="false" title="入库记录" :visible.sync="innerLogVisible" width="70%" append-to-body>
|
||||
<inner-log v-if="innerLogVisible" :product-code="currentLogProductCode" :warehouse-id="currentLogWarehouseId" />
|
||||
</el-dialog>
|
||||
|
||||
<!-- 出库记录对话框 -->
|
||||
<el-dialog title="出库记录" :visible.sync="outerLogVisible" width="70%" append-to-body>
|
||||
<el-dialog :close-on-click-modal="false" title="出库记录" :visible.sync="outerLogVisible" width="70%" append-to-body>
|
||||
<outer-log v-if="outerLogVisible" :product-code="currentLogProductCode" :warehouse-id="currentLogWarehouseId" />
|
||||
</el-dialog>
|
||||
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@
|
|||
<order-select-dialog :visible.sync="orderSelectVisible" @select="handleOrderSelect"/>
|
||||
|
||||
<!-- 新增/修改 Dialog -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body :close-on-click-modal="false">
|
||||
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="80%" append-to-body >
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px" style="max-height: 70vh;overflow-y: auto">
|
||||
<el-row>
|
||||
<el-col :span="24"><h3>入库信息</h3></el-col>
|
||||
|
|
@ -224,7 +224,7 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :title="snTitle" :visible.sync="snOpen">
|
||||
<el-dialog :close-on-click-modal="false" :title="snTitle" :visible.sync="snOpen">
|
||||
<el-row>
|
||||
<el-col :span="8"><span>{{ snLabel }}</span><span style="color: red">*</span></el-col>
|
||||
<el-col :span="16">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog title="生成发货单" :visible.sync="visible" width="85%" top="5vh" append-to-body @close="handleCancel">
|
||||
<el-dialog title="生成发货单" :close-on-click-modal="false" :visible.sync="visible" width="85%" top="5vh" append-to-body @close="handleCancel">
|
||||
<div class="required-delivery-time">
|
||||
要求发货时间: {{ requiredDeliveryTime }}
|
||||
</div>
|
||||
|
|
@ -66,8 +66,8 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table ref="snTable" :data="snList" @selection-change="handleSelectionChange" height="400px">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table ref="snTable" :data="snList" @selection-change="handleSelectionChange" height="400px" row-key="productSn">
|
||||
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
|
||||
<el-table-column label="SN码" prop="productSn" />
|
||||
<el-table-column label="产品编码" prop="productCode" />
|
||||
<el-table-column label="产品型号" prop="model" />
|
||||
|
|
@ -128,6 +128,7 @@ export default {
|
|||
warehouseId: undefined,
|
||||
},
|
||||
isImported: false, // Flag to track if data is from import
|
||||
isInitialLoad: false,
|
||||
purchaseOrderSelectVisible: false,
|
||||
queryProductType: ['1', '2', '99'],
|
||||
price: null,
|
||||
|
|
@ -154,6 +155,7 @@ export default {
|
|||
this.queryParams.warehouseId = productRow.warehouseId;
|
||||
this.queryParams.pageSize = productRow.quantity - productRow.deliveryGenerateQuantity - productRow.deliveryConfirmQuantity;
|
||||
|
||||
this.isInitialLoad = true;
|
||||
this.getSnList();
|
||||
this.visible = true;
|
||||
},
|
||||
|
|
@ -161,11 +163,14 @@ export default {
|
|||
listProductSn(this.queryParams).then(response => {
|
||||
this.snList = response.rows;
|
||||
this.total = response.total;
|
||||
if (this.isInitialLoad) {
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.snTable) {
|
||||
this.$refs.snTable.toggleAllSelection();
|
||||
}
|
||||
});
|
||||
this.isInitialLoad = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
handleSelectionChange(selection) {
|
||||
|
|
@ -184,7 +189,7 @@ export default {
|
|||
});
|
||||
},
|
||||
handleSelectPurchaseBeforeImport() {
|
||||
if (((this.productData.orderType || '1') === '1' ) && !(this.outerData.vendorName.startsWith('新华三') && this.productData.productType==='2')) {
|
||||
if (((this.productData.orderType || '1') === '1' ) && !this.outerData.vendorName.startsWith('新华三') ) {
|
||||
this.purchaseOrderSelectVisible = true;
|
||||
}else{
|
||||
this.handleImport()
|
||||
|
|
@ -229,6 +234,7 @@ export default {
|
|||
this.isImported = true;
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.snTable) {
|
||||
this.$refs.snTable.clearSelection();
|
||||
this.$refs.snTable.toggleAllSelection();
|
||||
this.selectedSnList = this.snList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-drawer :visible.sync="drawerVisible" title="出库单详情" direction="rtl" size="70%">
|
||||
<el-drawer :visible.sync="drawerVisible" :wrapper-closable="false" title="出库单详情" direction="rtl" size="70%">
|
||||
<div style="padding: 20px;">
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="出库单号">{{ details.outerCode }}</el-descriptions-item>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog :title="title" :visible.sync="visible" width="80%" append-to-body @close="handleCancel">
|
||||
<el-dialog :title="title" :visible.sync="visible" :close-on-click-modal="false" width="80%" append-to-body @close="handleCancel">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<!-- 基础信息 -->
|
||||
<div class="section-title" style="justify-content: center">基础信息</div>
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
<delivery-detail :delivery-id="deliveryId" :visible.sync="viewOpen" />
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button v-if="showReturn" type="danger" @click="handleStatusChange(this.form, '4')">退 回</el-button>
|
||||
<el-button v-if="showReturn" type="danger" @click="handleStatusChange(form, '4')">退 回</el-button>
|
||||
<el-button @click="handleCancel">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
@ -117,6 +117,7 @@ export default {
|
|||
getOuter(id).then(response => {
|
||||
this.visible = true;
|
||||
this.form = response.data.inventoryOuter;
|
||||
console.log(this.form)
|
||||
this.productList = response.data.productVoList || [];
|
||||
this.deliveryList = response.data.deliveryList || [];
|
||||
this.showReturn=this.deliveryList.length<=0;
|
||||
|
|
@ -192,7 +193,8 @@ export default {
|
|||
return changeOuterStatus(row.id, status, row.orderCode);
|
||||
}).then(() => {
|
||||
this.$message.success(`${actionText}成功`);
|
||||
this.getList();
|
||||
this.visible=false;
|
||||
this.$emit('returnSuccess');
|
||||
}).catch(() => {});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<outer-form ref="form" @success="getList"></outer-form>
|
||||
<outer-form ref="form" @returnSuccess="getList" @success="getList"></outer-form>
|
||||
|
||||
<!-- 详情抽屉 -->
|
||||
<outer-details ref="details"></outer-details>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
direction="rtl"
|
||||
size="70%"
|
||||
@close="handleClose"
|
||||
:wrapper-closable="false"
|
||||
:with-header="true"
|
||||
>
|
||||
<div class="drawer-container">
|
||||
|
|
|
|||
|
|
@ -371,6 +371,7 @@ import SelectCustomer from "../../system/customer/selectCustomer.vue";
|
|||
import SelectPartner from "../../system/partner/selectPartner.vue";
|
||||
import SelectUser from "@/views/system/user/selectUser";
|
||||
import ProductConfig from "./ProductConfig.vue";
|
||||
import {isNaN} from "@riophae/vue-treeselect/src/utils";
|
||||
|
||||
export default {
|
||||
name: "ProjectForm",
|
||||
|
|
@ -648,8 +649,26 @@ export default {
|
|||
|
||||
if (this.form.productConfig) {
|
||||
this.form.softwareProjectProductInfoList = this.form.productConfig.softwareProjectProductInfoList || [];
|
||||
let ts = this.form.softwareProjectProductInfoList.filter(item=> item.productBomCode=='');
|
||||
if (ts.length>0){
|
||||
this.$modal.msgWarning("请完善产品配置信息");
|
||||
return
|
||||
|
||||
}
|
||||
this.form.hardwareProjectProductInfoList = this.form.productConfig.hardwareProjectProductInfoList || [];
|
||||
let hp = this.form.hardwareProjectProductInfoList.filter(item=> item.productBomCode=='');
|
||||
if (hp.length>0){
|
||||
this.$modal.msgWarning("请完善产品配置信息");
|
||||
return
|
||||
|
||||
}
|
||||
this.form.maintenanceProjectProductInfoList = this.form.productConfig.maintenanceProjectProductInfoList || [];
|
||||
let mp = this.form.maintenanceProjectProductInfoList.filter(item=> item.productBomCode=='');
|
||||
if (mp.length>0){
|
||||
this.$modal.msgWarning("请完善产品配置信息");
|
||||
return
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (this.form.id != null) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- 添加或修改订单管理对话框 -->
|
||||
<el-dialog :title="dialogTitle" :visible.sync="internalVisible" width="1400px" append-to-body @close="handleClose">
|
||||
<el-dialog :close-on-click-modal="false" :title="dialogTitle" :visible.sync="internalVisible" width="1400px" append-to-body @close="handleClose">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="isOrderApprovedOrInReview">
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="基础信息" name="basic">
|
||||
|
|
@ -465,6 +465,11 @@ export default {
|
|||
this.$modal.msgError("折扣不能大于100%");
|
||||
return;
|
||||
}
|
||||
const checkProduct=(list)=>list.every(item => item.productBomCode!=='')
|
||||
if (!checkProduct(this.form.softwareProjectProductInfoList) || !checkProduct(this.form.hardwareProjectProductInfoList) || !checkProduct(this.form.maintenanceProjectProductInfoList)) {
|
||||
this.$modal.msgError("请完善产品信息");
|
||||
return;
|
||||
}
|
||||
this.form.orderStatus = '0';
|
||||
this._performSubmit();
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- 订单详情抽屉 -->
|
||||
<el-drawer :title="title" :visible.sync="internalVisible" direction="rtl" size="70%" @close="handleClose">
|
||||
<el-drawer :title="title" :wrapper-closable="false" :visible.sync="internalVisible" direction="rtl" size="70%" @close="handleClose">
|
||||
<div style="padding: 20px;">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="true">
|
||||
<el-tabs v-model="activeTab">
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ export default {
|
|||
/** 查看审批历史 */
|
||||
viewApproveLog(row) {
|
||||
// this.$router.push({ path: '/project/order/approveLog/' + row.id });
|
||||
this.msgWarning("查看审批历史功能待实现");
|
||||
this.$modal.msgWarning("查看审批历史功能待实现");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog :title="title" :visible.sync="visible" width="80%" append-to-body @close="handleClose">
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="visible" width="80%" append-to-body @close="handleClose">
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form-item label="采购单号" prop="purchaseNo">
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改采购单主表对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="80vw" append-to-body >
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="80vw" append-to-body >
|
||||
<purchase-order-detail ref="purchaseOrderDetail" :order-data="currentOrderData"
|
||||
@close="open = false"
|
||||
@success="getList">
|
||||
|
|
@ -204,6 +204,7 @@
|
|||
<!-- 流程类型选择对话框 -->
|
||||
<el-dialog
|
||||
title="选择流程类型"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="openFlowTypeDialog"
|
||||
width="30%"
|
||||
append-to-body
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改办事处信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog title="选择代表处" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||
<el-dialog title="选择代表处" :visible.sync="visible" :close-on-click-modal="false" width="800px" append-to-body @close="handleClose">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="代表处名称" prop="agentName">
|
||||
<el-input
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改客户信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" :close-on-click-modal="false" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog title="选择客户" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||
<el-dialog title="选择客户" :close-on-click-modal="false" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="客户名称" prop="customerName">
|
||||
<el-input
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改代理商管理对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="800px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog title="选择进货商" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||
<el-dialog title="选择进货商" :close-on-click-modal="false" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="进货商名称" prop="partnerName">
|
||||
<el-input
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改产品管理对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog title="选择产品" :visible.sync="visible" width="60%" append-to-body @close="handleClose">
|
||||
<el-dialog title="选择产品" :close-on-click-modal="false" :visible.sync="visible" width="60%" append-to-body @close="handleClose">
|
||||
<div style="max-height: 60vh; overflow-y: auto;">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@
|
|||
/>
|
||||
|
||||
<!-- 添加或修改仓库基础信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||
<el-form-item label="仓库名称" prop="warehouseName">
|
||||
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称" />
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ const CompressionPlugin = require('compression-webpack-plugin')
|
|||
|
||||
const name = process.env.VUE_APP_TITLE || 'UNISSENSE-OMS' // 网页标题
|
||||
|
||||
const baseUrl = 'http://localhost:28080' // 后端接口
|
||||
const baseUrl = 'http://localhost:28081' // 后端接口
|
||||
|
||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class VueInventoryInfoController extends BaseController {
|
|||
List<ProductInfo> list = productInfoService.listInventory(info);
|
||||
return getDataTable(list);
|
||||
}
|
||||
@GetMapping("/list")
|
||||
@PostMapping("/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo list( InventoryInfo inventoryInfo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -147,6 +147,8 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
|||
inventoryOuterDetail.setId(inventoryDelivery.getDetailId());
|
||||
inventoryOuterDetail.setWarehouseId(inventoryDelivery.getWarehouseId());
|
||||
inventoryOuterDetailMapper.updateInventoryOuterDetail(inventoryOuterDetail);
|
||||
|
||||
//todo 限制只能发一次货 防止重复发货
|
||||
int i = inventoryDeliveryMapper.insertInventoryDelivery(inventoryDelivery);
|
||||
if (CollUtil.isNotEmpty(detailList)){
|
||||
for (OmsInventoryDeliveryDetail detail : detailList) {
|
||||
|
|
@ -318,6 +320,9 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
|||
public List<DeliveryInfoVo> getNumberInfo(ApiDataQueryDto dto) {
|
||||
List<DeliveryInfoVo> resultList = inventoryDeliveryMapper.listSn(dto);
|
||||
List<String> orderCodeList = resultList.stream().map(DeliveryInfoVo::getOrderCode).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(orderCodeList)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
// 根据订单ID查询合同信息
|
||||
List<ProjectProductInfo> projectProductInfos = projectProductInfoService.selectProjectProductInfoListByOrderCode(orderCodeList);
|
||||
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ public class OmsInventoryInnerServiceImpl implements IOmsInventoryInnerService {
|
|||
throw new ServiceException("产品编码对应产品未找到");
|
||||
}
|
||||
Map<String, OmsWarehouseInfo> warehouseInfoMap=Collections.emptyMap();
|
||||
if ("2".equalsIgnoreCase(orderType) || (("2".equalsIgnoreCase(productInfos.get(0).getType()) && productInfos.get(0).getVendorName().startsWith("新华三"))) ){
|
||||
if ("2".equalsIgnoreCase(orderType) || (productInfos.get(0).getVendorName().startsWith("新华三")) ){
|
||||
List<String> warehouseNameList = inventoryInfoExcelDtoList.stream().map(InventoryInfoExcelDto::getWarehouseName).distinct().collect(Collectors.toList());
|
||||
if (warehouseNameList.size() > 1){
|
||||
throw new ServiceException("导入清单只能有一个仓库");
|
||||
|
|
@ -312,7 +312,7 @@ public class OmsInventoryInnerServiceImpl implements IOmsInventoryInnerService {
|
|||
info.setModel(productInfos.get(0).getModel());
|
||||
info.setProductDesc(productInfos.get(0).getDescription());
|
||||
info.setInnerPrice(item.getInnerPrice());
|
||||
if ("2".equalsIgnoreCase(orderType)|| (("2".equalsIgnoreCase(productInfos.get(0).getType()) && productInfos.get(0).getVendorName().startsWith("新华三"))) ){
|
||||
if ("2".equalsIgnoreCase(orderType)|| ((productInfos.get(0).getVendorName().startsWith("新华三"))) ){
|
||||
OmsWarehouseInfo omsWarehouseInfo = finalWarehouseInfoMap.get(item.getWarehouseName());
|
||||
info.setWarehouseId(omsWarehouseInfo.getId());
|
||||
info.setWarehouseName(omsWarehouseInfo.getWarehouseName());
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ import com.ruoyi.sip.flowable.domain.Todo;
|
|||
import com.ruoyi.sip.dto.HomepageQueryDto;
|
||||
import com.ruoyi.sip.dto.OrderExcelNumStaticsDto;
|
||||
import com.ruoyi.sip.dto.StatisticsDetailDto;
|
||||
import com.ruoyi.sip.flowable.service.IBuApproveConfigService;
|
||||
import com.ruoyi.sip.mapper.OmsStockInfoMapper;
|
||||
import com.ruoyi.sip.mapper.ProjectInfoMapper;
|
||||
import com.ruoyi.sip.service.*;
|
||||
|
|
@ -50,6 +51,7 @@ import com.ruoyi.sip.flowable.service.TodoCommonTemplate;
|
|||
import com.ruoyi.sip.flowable.service.TodoService;
|
||||
import com.ruoyi.common.utils.mail.TemplateMailUtil;
|
||||
import com.ruoyi.sip.vo.OrderInfoVo;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
|
@ -61,6 +63,7 @@ import org.flowable.engine.runtime.ProcessInstance;
|
|||
import org.flowable.task.api.Task;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.sip.mapper.ProjectOrderInfoMapper;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
|
|
@ -131,6 +134,13 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
|||
private Integer endHour;
|
||||
@Value("${unis.mail.businessRoleId:103}")
|
||||
private String businessRoleId;
|
||||
|
||||
@Autowired
|
||||
private ISysConfigService configService;
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
private IBuApproveConfigService approveConfigService;
|
||||
/**
|
||||
* 查询订单管理
|
||||
*
|
||||
|
|
@ -430,12 +440,15 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
|||
|
||||
String orderFlowKey = ProjectOrderInfo.ProcessTypeEnum.ONLINE.getCode().equals(projectOrderInfo.getProcessType()) ?
|
||||
orderOnlineFlowKey : orderOfflineFlowKey;
|
||||
String amountConfig = configService.selectConfigByKey("order.approve.amount.config");
|
||||
BigDecimal amountConfigNumber = new BigDecimal(amountConfig);
|
||||
//启动流程
|
||||
todoService.startProcess(getFlowBusinessKey(existProjectOrderInfo.getOrderCode(), projectOrderInfo.getProcessType()), new HashMap<String, Object>() {{
|
||||
put("processTemplate", projectOrderInfo.getProcessTemplate());
|
||||
put("processType", projectOrderInfo.getProcessType());
|
||||
put("applyUserName", ShiroUtils.getSysUser().getUserName());
|
||||
put("applyUser", ShiroUtils.getUserId());
|
||||
put("skipLeader",projectOrderInfo.getShipmentAmount().compareTo(amountConfigNumber)<0);
|
||||
put("partnerUser",partnerInfos.get(0).getSystemUserId());
|
||||
put("extendField1", projectOrderInfo.getVersionCode());
|
||||
}}, orderFlowKey);
|
||||
|
|
@ -1174,6 +1187,25 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
|||
handleBusinessApproval(businessKey);
|
||||
} else if ("省代".equals(taskName)) {
|
||||
handlePartnerApproval(businessKey);
|
||||
} else if ("领导1".equals(taskName) && todo.getApplyTime().compareTo(DateUtils.parseDate("2025-12-19"))>0){
|
||||
ProjectOrderInfo orderInfo = selectProjectOrderInfoByOrderCode(businessKey);
|
||||
String amountConfig = configService.selectConfigByKey("order.approve.amount.config");
|
||||
BigDecimal amountConfigNumber = new BigDecimal(amountConfig);
|
||||
if (orderInfo.getShipmentAmount().compareTo(amountConfigNumber)<0){
|
||||
handleCompanyLeaderApproval(businessKey);
|
||||
//查询对应的数据 插入已办数据
|
||||
List<Long> approveUserList = approveConfigService.listByProcessKeyAndTaskName(todo.getProcessKey(), "公司领导");
|
||||
for (Long l : approveUserList) {
|
||||
todoService.completed(new HashMap<>(), todo.getTaskId(), businessKey);
|
||||
todo.setApproveUser(l.toString());
|
||||
todo.setTaskName("公司领导");
|
||||
todo.setApproveUserName(userService.selectUserById(l).getUserName());
|
||||
todo.setApproveOpinion("默认审批");
|
||||
todo.setNextAllApproveUserName(null);
|
||||
todo.setAllApproveUserName(null);
|
||||
todoService.insertTodoCompleted(Arrays.asList(todo));
|
||||
}
|
||||
}
|
||||
}else if ("公司领导".equals(taskName)) {
|
||||
|
||||
//黄雪秋处理 流程状态更改
|
||||
|
|
@ -1559,8 +1591,11 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
|||
query.setProcessKeyList(Arrays.asList(orderOnlineFlowKey,orderOfflineFlowKey));
|
||||
List<Todo> list = todoService.selectTodoList(query);
|
||||
for (Todo todo1 : list) {
|
||||
|
||||
todo1.setVariables(new HashMap<>(todo.getVariables()));
|
||||
Map<String, Object> temp = new HashMap<>();
|
||||
for (Map.Entry<String, Object> entry : todo.getVariables().entrySet()) {
|
||||
temp.put(entry.getKey(), new String(entry.getValue().toString()));
|
||||
}
|
||||
todo1.setVariables(temp);
|
||||
approveOrder(todo1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</foreach>
|
||||
</if>
|
||||
<if test="productSn != null and productSn != ''">and t1.product_sn = #{productSn}</if>
|
||||
<if test="productSnList != null and productSnList != ''">and t1.product_sn in
|
||||
<if test="productSnList != null and productSnList.size>0">and t1.product_sn in
|
||||
<foreach item="item" index="index" collection="productSnList" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
|
|
|
|||
Loading…
Reference in New Issue