Merge remote-tracking branch 'origin/master'

This commit is contained in:
刘名喜 2024-12-05 09:31:11 +08:00
commit e5ec841ade
4 changed files with 51 additions and 212 deletions

View File

@ -22,7 +22,7 @@ const service = axios.create({
const serviceWcs = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: "http://192.168.8.60:1880",
baseURL: "/wcs",
// 超时
timeout: 30000
})

View File

@ -52,7 +52,7 @@
type="text"
@click="handleLook(scope.row)"
v-hasPermi="['md:TASK:edit']"
>查看物料清单
>查看明细
</el-button>
</template>
</el-table-column>
@ -66,84 +66,18 @@
@pagination="getList"
/>
<!-- 添加或修改出库任务对话框 -->
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="出库计划ID" prop="wmsOutPlanId">
<el-input v-model="form.wmsOutPlanId" placeholder="请输入出库计划ID"/>
</el-form-item>
<el-form-item label="出库计划编码" prop="wmsOutPlanCode">
<el-input v-model="form.wmsOutPlanCode" placeholder="请输入出库计划编码"/>
</el-form-item>
<el-form-item label="出库计划明细ID" prop="wmsOutPlanDetailId">
<el-input v-model="form.wmsOutPlanDetailId" placeholder="请输入出库计划明细ID"/>
</el-form-item>
<el-form-item label="出库类型ID" prop="wmsBusinessTypeId">
<el-input v-model="form.wmsBusinessTypeId" placeholder="请输入出库类型ID"/>
</el-form-item>
<el-form-item label="任务编码" prop="taskCode">
<el-input v-model="form.taskCode" placeholder="请输入任务编码"/>
</el-form-item>
<el-form-item label="任务数量" prop="taskNumber">
<el-input v-model="form.taskNumber" placeholder="请输入任务数量"/>
</el-form-item>
<el-form-item label="出库数量" prop="outNumber">
<el-input v-model="form.outNumber" placeholder="请输入出库数量"/>
</el-form-item>
<el-form-item label="目标库位ID" prop="wmStorageAreaId">
<el-input v-model="form.wmStorageAreaId" placeholder="请输入目标库位ID"/>
</el-form-item>
<el-form-item label="批次" prop="batchNum">
<el-input v-model="form.batchNum" placeholder="请输入批次"/>
</el-form-item>
<el-form-item label="物料ID" prop="mdItemId">
<el-input v-model="form.mdItemId" placeholder="请输入物料ID"/>
</el-form-item>
<el-form-item label="物料编码" prop="mdItemCode">
<el-input v-model="form.mdItemCode" placeholder="请输入物料编码"/>
</el-form-item>
<el-form-item label="物料名称" prop="mdItemName">
<el-input v-model="form.mdItemName" placeholder="请输入物料名称"/>
</el-form-item>
<el-form-item label="物料单位" prop="mdItemUnit">
<el-input v-model="form.mdItemUnit" placeholder="请输入物料单位"/>
</el-form-item>
<el-form-item label="任务状态" prop="taskState">
<el-select v-model="form.taskState" placeholder="请选择任务状态">
<el-option
v-for="dict in dict.type.in_plan_state"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="领料人" prop="recipientUsername">
<el-input v-model="form.recipientUsername" placeholder="请输入领料人"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog :close-on-click-modal="false" title="出库物品清单" :visible.sync="openLook" width="60%" append-to-body>
<el-table :data="outInfoList" >
<el-table-column label="计划状态" align="center" prop="planStatus" :show-overflow-tooltip="true"/>
<el-table-column label="计划类型" align="center" prop="planType" :show-overflow-tooltip="true"/>
<el-table-column label="出库类型编码" align="center" prop="planTypeCode" :show-overflow-tooltip="true"/>
<el-table-column label="出库类型名称" align="center" prop="planTypeName" :show-overflow-tooltip="true"/>
<el-table-column label="明细批次" align="center" prop="detailBatchNum" :show-overflow-tooltip="true"/>
<el-dialog :close-on-click-modal="false" title="批次台账明细" :visible.sync="openLook" width="60%" append-to-body>
<el-table :data="infoList" >
<el-table-column label="台账ID" align="center" prop="baseKnifeId" :show-overflow-tooltip="true"/>
<el-table-column label="物料编码" align="center" prop="mdItemCode" :show-overflow-tooltip="true"/>
<el-table-column label="库房" align="center" prop="wmWarehouseName" :show-overflow-tooltip="true"/>
<el-table-column label="库位" align="center" prop="wmStorageAreaName" :show-overflow-tooltip="true"/>
<el-table-column label="明细批次" align="center" prop="detailBatchNum" :show-overflow-tooltip="true"/>
<el-table-column label="物料名称" align="center" prop="mdItemName" :show-overflow-tooltip="true"/>
<el-table-column label="库位编码" align="center" prop="wmStorageAreaCode" :show-overflow-tooltip="true"/>
<el-table-column label="库位名称" align="center" prop="wmStorageAreaName" :show-overflow-tooltip="true"/>
<el-table-column label="当时寿命%" align="center" prop="knifeLife" :show-overflow-tooltip="true"/>
<el-table-column label="物料编码" align="center" prop="mdItemCode" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="mdItemUnit" :show-overflow-tooltip="true"/>
<el-table-column label="业务类型" align="center" prop="planTypeName" :show-overflow-tooltip="true"/>
<el-table-column label="业务编码" align="center" prop="planCode" :show-overflow-tooltip="true"/>
<el-table-column label="出/入库时间" align="center" prop="dateTime" :show-overflow-tooltip="true"/>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="openLook = false"> </el-button>
@ -155,7 +89,6 @@
<script>
import {listTASK, getTASK, delTASK, addTASK, updateTASK, runTASK, autoRunTASK} from "@/api/md/TASK";
import {listInventoryBatch} from "@/api/mes/md/inventoryBatch"
import {rgb} from "chalk";
export default {
name: "TASK",
@ -210,7 +143,7 @@ export default {
//
rules: {},
openLook: false,
outInfoList: []
infoList: []
};
},
created() {
@ -316,12 +249,9 @@ export default {
},
/** 查看按钮操作 */
handleLook(row) {
const wmsOutTaskIds = row.wmsOutTaskId || this.ids;
getTASK(wmsOutTaskIds).then(response => {
this.openLook = true;
this.outInfoList = []
this.outInfoList = response.data.outInfoList;
});
this.openLook = true;
this.infoList = []
this.infoList = row.infoList;
},
/** 执行按钮操作 */
handleRun(row) {

View File

@ -291,35 +291,6 @@
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="标准数量" prop="standardNumber">-->
<!-- <el-input-number v-model="form.standardNumber" :min="0" :percision="0" :step="1" disabled-->
<!-- v-if="optType=='view'"/>-->
<!-- <el-input-number v-model="form.standardNumber" :min="0" :percision="0" :step="1"-->
<!-- placeholder="请输入标准数量"-->
<!-- v-else/>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12" v-if="resentEnable">
<el-form-item label="刀刃数" prop="attr1">
<el-input-number v-model="form.attr1" :min="1" :percision="0" :step="1" disabled
v-if="optType=='view'"/>
<el-input-number v-model="form.attr1" :min="1" :percision="0" :step="1"
placeholder="请输入刀刃数"
v-else/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="预警阈值" prop="attr2" v-if="this.warnEnable">
<el-input-number v-model="form.attr2" :min="0" :percision="0" :step="1" disabled
v-if="optType=='view'"/>
<el-input-number v-model="form.attr2" :min="0" :percision="0" :step="1"
placeholder="请输入预警阈值"
v-else/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否启用">
<el-radio-group v-model="form.enableFlag" disabled v-if="optType=='view'">
@ -349,44 +320,7 @@
v-else/>
</el-form-item>
</el-col>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="安全库存">-->
<!-- <el-radio-group v-model="form.safeStockFlag" disabled v-if="optType=='view'">-->
<!-- <el-radio-->
<!-- v-for="dict in dict.type.sys_yes_no"-->
<!-- :key="dict.value"-->
<!-- :label="dict.value"-->
<!-- >{{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- <el-radio-group v-model="form.safeStockFlag" v-else>-->
<!-- <el-radio-->
<!-- v-for="dict in dict.type.sys_yes_no"-->
<!-- :key="dict.value"-->
<!-- :label="dict.value"-->
<!-- >{{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
<!-- <el-row v-if="form.safeStockFlag == 'Y'">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="最小库存量">-->
<!-- <el-input-number v-model="form.minStock" :percision="2" :step="1" disabled v-if="optType=='view'"/>-->
<!-- <el-input-number v-model="form.minStock" :percision="2" :step="1" placeholder="请输入最小安全库存量"-->
<!-- v-else/>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="最大库存量">-->
<!-- <el-input-number v-model="form.maxStock" :percision="2" :step="1" disabled v-if="optType=='view'"/>-->
<!-- <el-input-number v-model="form.maxStock" :percision="2" :step="1" placeholder="请输入最大安全库存量"-->
<!-- v-else/>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<el-form-item label="备注">
@ -396,19 +330,6 @@
</el-col>
</el-row>
</el-form>
<!-- <el-tabs type="border-card" v-if="form.itemId != null">-->
<!-- <el-tab-pane label="BOM组成">-->
<!-- <ItemBom :optType="optType" :itemId="form.itemId"></ItemBom>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="供应商"></el-tab-pane>-->
<!-- <el-tab-pane label="替代品"></el-tab-pane>-->
<!-- <el-tab-pane label="SIP">-->
<!-- <SIPTab :itemId="form.itemId" :optType="optType"></SIPTab>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="SOP">-->
<!-- <SOPTab :itemId="form.itemId" :optType="optType"></SOPTab>-->
<!-- </el-tab-pane>-->
<!-- </el-tabs>-->
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view'">返回</el-button>
<el-button type="primary" @click="submitForm" v-else> </el-button>
@ -575,25 +496,6 @@ export default {
itemTypeName(val) {
this.$refs.tree.filter(val);
},
'form.itemTypeId': function (val) {
if (val != undefined)
getItemType(val).then(response => {
if (response.data.itemOrProduct == "BLADE") {
this.resentEnable = true
// this.form.attr1 = '0'
} else {
this.resentEnable = false
this.form.attr1 = '0'
}
if (response.data.itemOrProduct == "PRODUCT") {
this.warnEnable = true
} else {
this.warnEnable = false
this.form.attr2 = '0'
}
})
}
},
created() {
this.getList();

View File

@ -43,11 +43,18 @@ module.exports = {
},
'/ureport': {
target: 'http://localhost:8080',
ws:false,
ws: false,
changeOrigin: true,
pathRewrite: {
'^/ureport': '/ureport'
}
}, '/wcs': {
target: 'http://192.168.8.60:1880',
ws: false,
changeOrigin: true,
pathRewrite: {
'^/wcs': ''
}
},
},
disableHostCheck: true
@ -55,7 +62,7 @@ module.exports = {
css: {
loaderOptions: {
sass: {
sassOptions: { outputStyle: "expanded" }
sassOptions: {outputStyle: "expanded"}
}
}
},
@ -104,39 +111,39 @@ module.exports = {
.plugin('ScriptExtHtmlWebpackPlugin')
.after('html')
.use('script-ext-html-webpack-plugin', [{
// `runtime` must same as runtimeChunk name. default is `runtime`
// `runtime` must same as runtimeChunk name. default is `runtime`
inline: /runtime\..*\.js$/
}])
.end()
config
.optimization.splitChunks({
chunks: 'all',
cacheGroups: {
libs: {
name: 'chunk-libs',
test: /[\\/]node_modules[\\/]/,
priority: 10,
chunks: 'initial' // only package third parties that are initially dependent
},
elementUI: {
name: 'chunk-elementUI', // split elementUI into a single package
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
},
commons: {
name: 'chunk-commons',
test: resolve('src/components'), // can customize your rules
minChunks: 3, // minimum common number
priority: 5,
reuseExistingChunk: true
}
chunks: 'all',
cacheGroups: {
libs: {
name: 'chunk-libs',
test: /[\\/]node_modules[\\/]/,
priority: 10,
chunks: 'initial' // only package third parties that are initially dependent
},
elementUI: {
name: 'chunk-elementUI', // split elementUI into a single package
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
},
commons: {
name: 'chunk-commons',
test: resolve('src/components'), // can customize your rules
minChunks: 3, // minimum common number
priority: 5,
reuseExistingChunk: true
}
})
}
})
config.optimization.runtimeChunk('single'),
{
from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
to: './' //到根目录下
}
{
from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
to: './' //到根目录下
}
}
)
}