Browse Source

标签特殊修改

master
常熟吴彦祖 3 months ago
parent
commit
56e44b189a
  1. 329
      src/views/modules/noOrderIssue/newNoOrderIssueNotify.vue
  2. 2540
      src/views/modules/noOrderIssue/newNoOrderIssueNotify_old.vue
  3. 503
      src/views/modules/warehouse/changeHUSpecialItem.vue

329
src/views/modules/noOrderIssue/newNoOrderIssueNotify.vue

@ -97,7 +97,7 @@
<el-dialog title="新增工单物料" :close-on-click-modal="false" v-drag :visible.sync="seqNoModalFlag" width="980px"> <el-dialog title="新增工单物料" :close-on-click-modal="false" v-drag :visible.sync="seqNoModalFlag" width="980px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="10">
<el-col :span="8">
<el-form-item label="订单类型"> <el-form-item label="订单类型">
<el-radio-group v-model="orderType" :disabled="seqNoList.length>0" size="small"> <el-radio-group v-model="orderType" :disabled="seqNoList.length>0" size="small">
<el-radio label="slittingorder">分切订单</el-radio> <el-radio label="slittingorder">分切订单</el-radio>
@ -106,30 +106,12 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="'Order No'">
<el-input v-model="seqNoData.orderNo" @keyup.enter.native="searchSOSRouting()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'Release No'">
<el-input v-model="seqNoData.releaseNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'Sequence No'">
<el-input v-model="seqNoData.sequenceNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item :label="' '">
<el-button type="primary" @click="addOrderToList" :loading="addOrderLoading"
class="">订单添加</el-button>
<el-col :span="3">
<el-form-item label=" ">
<el-button type="primary" @click="openOrderManageDialog()" class="">从订单添加</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10">
<el-col :span="13">
<el-form-item :label="'已添加订单(不保存)'" style="width: 100%"> <el-form-item :label="'已添加订单(不保存)'" style="width: 100%">
<el-input v-model="remark" style="width: 100%" readonly></el-input> <el-input v-model="remark" style="width: 100%" readonly></el-input>
</el-form-item> </el-form-item>
@ -178,6 +160,57 @@
<el-button type="primary" @click="seqNoModalFlag = false">关闭</el-button> <el-button type="primary" @click="seqNoModalFlag = false">关闭</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<!-- 订单管理弹窗 - rqrq -->
<el-dialog :title="'订单添加(' + orderTypeText + ')'" :close-on-click-modal="false" v-drag :visible.sync="orderManageDialogVisible" width="1100px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
<el-col :span="5">
<el-form-item :label="'Order No'">
<el-input v-model="orderManageData.orderNo" @keyup.enter.native="addOrderToTempList()" placeholder="请输入订单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item :label="'Release No'">
<el-input v-model="orderManageData.releaseNo" @keyup.enter.native="addOrderToTempList()" placeholder="请输入Release No"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item :label="'Sequence No'">
<el-input v-model="orderManageData.sequenceNo" @keyup.enter.native="addOrderToTempList()" placeholder="请输入Sequence No"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="' '">
<el-button type="primary" @click="addOrderToTempList()" :loading="addOrderTempLoading" class="">添加</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 订单明细列表 - rqrq -->
<el-table :height="400" :data="tempOrderList" border style="width: 100%;" v-loading="tempOrderListLoading">
<el-table-column prop="orderNo" header-align="center" align="center" min-width="120" label="订单号"></el-table-column>
<el-table-column prop="releaseNo" header-align="center" align="center" min-width="100" label="Release No"></el-table-column>
<el-table-column prop="sequenceNo" header-align="center" align="center" min-width="100" label="Sequence No"></el-table-column>
<el-table-column prop="componentPartNo" header-align="center" align="center" min-width="150" label="物料编码"></el-table-column>
<el-table-column prop="componentPartDesc" header-align="center" align="center" min-width="150" label="物料描述" show-overflow-tooltip></el-table-column>
<el-table-column prop="applyQty" header-align="center" align="right" min-width="100" label="数量"></el-table-column>
<el-table-column prop="uom" header-align="center" align="center" min-width="80" label="单位"></el-table-column>
<el-table-column prop="isInWh" header-align="center" align="center" min-width="100" label="是否在立库"></el-table-column>
<el-table-column fixed="right" header-align="center" align="center" width="80" label="操作">
<template slot-scope="scope">
<el-button type="danger" size="mini" plain style="height:14px; line-height:14px; padding:0 8px;" @click="deleteTempOrderRow(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="summaryOrderToMainList()" :loading="summaryLoading">汇总到主列表</el-button>
<el-button @click="closeOrderManageDialog()">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 选择物料弹框 --> <!-- 选择物料弹框 -->
<el-dialog title="新增物料" :close-on-click-modal="false" v-drag :visible.sync="selectMaterialModalFlag" width="1080px"> <el-dialog title="新增物料" :close-on-click-modal="false" v-drag :visible.sync="selectMaterialModalFlag" width="1080px">
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
@ -1119,9 +1152,21 @@ export default {
clickrow:{}, clickrow:{},
partNo:'', partNo:'',
addLineLoading:false, addLineLoading:false,
addOrderLoading:false, // loading - rqrq
addOrderLoading:false, // loading - rqrq
remark:'', // () - rqrq remark:'', // () - rqrq
addedOrderNoList: [], // - rqrq addedOrderNoList: [], // - rqrq
// ==================== - rqrq ====================
orderManageDialogVisible: false, // - rqrq
orderManageData: { // - rqrq
orderNo: '',
releaseNo: '*',
sequenceNo: '*'
},
tempOrderList: [], // - rqrq
tempOrderListLoading: false, // - rqrq
addOrderTempLoading: false, // loading - rqrq
summaryLoading: false, // loading - rqrq
} }
}, },
@ -1138,6 +1183,18 @@ export default {
this.getUserNotifyNo() this.getUserNotifyNo()
}, },
computed: {
// - rqrq
orderTypeText() {
const typeMap = {
'slittingorder': '分切订单',
'shipment': '销售发货',
'shoporder': '成品订单'
}
return typeMap[this.orderType] || '未知类型'
}
},
methods: { methods: {
tabClick(tab, event) { tabClick(tab, event) {
// //
@ -1586,6 +1643,8 @@ export default {
// - rqrq // - rqrq
this.addedOrderNoList = [] this.addedOrderNoList = []
this.remark = '' this.remark = ''
// - rqrq
this.tempOrderList = []
this.seqNoModalFlag = true this.seqNoModalFlag = true
}, },
searchSOSRouting() { searchSOSRouting() {
@ -1644,7 +1703,216 @@ export default {
this.seqNoData.releaseNo = '' this.seqNoData.releaseNo = ''
this.seqNoData.sequenceNo = '' this.seqNoData.sequenceNo = ''
}, },
// - rqrq
// ==================== - rqrq ====================
// - rqrq
openOrderManageDialog() {
this.orderManageDialogVisible = true
// - rqrq
// this.tempOrderList = []
},
// - rqrq
closeOrderManageDialog() {
this.orderManageDialogVisible = false
// - rqrq
this.orderManageData = {
orderNo: '',
releaseNo: '*',
sequenceNo: '*'
}
},
// - rqrq
addOrderToTempList() {
// 1. - rqrq
if (!this.orderManageData.orderNo || this.orderManageData.orderNo.trim() === '') {
this.$message.warning('请输入Order No!')
return
}
// 2. API - rqrq
let apiMethod = null
if (this.orderType === 'shipment') {
apiMethod = getShipmentAndLineForIssure
} else {
apiMethod = getShopOrderAndMaterialByShoporder
}
// 3. - rqrq
const requestParams = {
site: this.$store.state.user.site,
orderNo: this.orderManageData.orderNo.trim(),
releaseNo: this.orderManageData.releaseNo || '*',
sequenceNo: this.orderManageData.sequenceNo || '*',
}
// 4. API - rqrq
this.addOrderTempLoading = true
apiMethod(requestParams)
.then(({ data }) => {
if (data && data.code === 0) {
let materialList = data.rows || []
if (!materialList || materialList.length === 0) {
this.$message.warning('该订单没有物料明细!')
return
}
// 5. - rqrq
materialList.forEach(item => {
if (this.orderType === 'shipment') {
if (item.inventoryPartNo) {
item.componentPartNo = item.inventoryPartNo
}
if (item.shipmentId) {
item.orderNo = item.shipmentId
}
if (item.inventoryQty !== undefined && !item.applyQty) {
item.applyQty = item.inventoryQty
}
if (item.inventoryUom && !item.uom) {
item.uom = item.inventoryUom
}
} else {
if (item.qtyRequired !== undefined && !item.applyQty) {
item.applyQty = item.qtyRequired
}
}
// 6. - rqrq
item.orderNo = this.orderManageData.orderNo
item.releaseNo = this.orderManageData.releaseNo || ''
item.sequenceNo = this.orderManageData.sequenceNo || ''
item.partNo = item.componentPartNo
item.lineItemNo = ''
item.materialLineStatus = ''
item.startDate = ''
item.finishDate = ''
item.needDate = ''
})
// 7. - rqrq
this.tempOrderList.push(...materialList)
// 8. - rqrq
if (!this.addedOrderNoList.includes(this.orderManageData.orderNo)) {
this.addedOrderNoList.push(this.orderManageData.orderNo)
this.remark = this.addedOrderNoList.join(';')
}
this.$message.success(`订单 ${this.orderManageData.orderNo} 添加成功,共 ${materialList.length} 条物料!`)
// 9. - rqrq
this.orderManageData.orderNo = ''
} else {
this.$message.error(data.msg || '获取订单物料失败!')
}
})
.catch((error) => {
this.$message.error(error.msg || '获取订单物料失败,请稍后重试')
})
.finally(() => {
this.addOrderTempLoading = false
})
},
// - rqrq
deleteTempOrderRow(index) {
this.tempOrderList.splice(index, 1)
this.$message.success('删除成功!')
},
// - rqrq
summaryOrderToMainList() {
if (!this.tempOrderList || this.tempOrderList.length === 0) {
this.$message.warning('临时列表为空,无法汇总!')
return
}
this.summaryLoading = true
try {
// 1. - rqrq
const materialMap = new Map()
// 2. - rqrq
this.tempOrderList.forEach(item => {
const partNo = item.componentPartNo
if (!partNo) return
if (materialMap.has(partNo)) {
// - rqrq
const existing = materialMap.get(partNo)
existing.applyQty = (parseFloat(existing.applyQty) || 0) + (parseFloat(item.applyQty) || 0)
// remark - rqrq
if (item.orderNo && !existing.remark.includes(item.orderNo)) {
existing.remark = existing.remark ? existing.remark + ';' + item.orderNo : item.orderNo
}
} else {
// - rqrq
materialMap.set(partNo, {
partNo: partNo,
componentPartNo: partNo,
height: item.height || '',
isInWh: item.isInWh || '',
applyQty: parseFloat(item.applyQty) || 0,
componentPartDesc: item.componentPartDesc || item.partDesc || '',
uom: item.uom || '',
orderNo: item.orderNo || '',
releaseNo: item.releaseNo || '',
sequenceNo: item.sequenceNo || '',
lineItemNo: '',
materialLineStatus: '',
startDate: '',
finishDate: '',
needDate: '',
remark: item.orderNo || '', // remark - rqrq
})
}
})
// 3. seqNoList - rqrq
this.seqNoList.forEach(existingItem => {
const partNo = existingItem.componentPartNo
if (!partNo) return
if (materialMap.has(partNo)) {
// - rqrq
const mapItem = materialMap.get(partNo)
mapItem.applyQty = (parseFloat(mapItem.applyQty) || 0) + (parseFloat(existingItem.applyQty) || 0)
// remark - rqrq
if (existingItem.remark) {
mapItem.remark = existingItem.remark + ';' + mapItem.remark
}
} else {
// - rqrq
materialMap.set(partNo, existingItem)
}
})
// 4. seqNoList - rqrq
this.seqNoList = Array.from(materialMap.values())
this.$message.success(`汇总成功!共 ${this.seqNoList.length} 行物料!`)
// 5. - rqrq
this.tempOrderList = []
// 6. - rqrq
this.orderManageDialogVisible = false
} catch (error) {
this.$message.error('汇总失败:' + error.message)
} finally {
this.summaryLoading = false
}
},
// - rqrq
addOrderToList() { addOrderToList() {
// 1. - rqrq // 1. - rqrq
if (!this.seqNoData.orderNo || this.seqNoData.orderNo.trim() === '') { if (!this.seqNoData.orderNo || this.seqNoData.orderNo.trim() === '') {
@ -1695,8 +1963,11 @@ export default {
if (this.orderType === 'shipment') { if (this.orderType === 'shipment') {
// API - rqrq // API - rqrq
// inventoryPartNo -> partNo - rqrq // inventoryPartNo -> partNo - rqrq
if (item.inventoryPartNo && !item.partNo) {
item.partNo = item.inventoryPartNo
if (item.inventoryPartNo ) {
item.componentPartNo = item.inventoryPartNo
}
if(item.shipmentId){
item.orderNo = item.shipmentId
} }
// inventoryQty -> applyQty - rqrq // inventoryQty -> applyQty - rqrq
if (item.inventoryQty !== undefined && !item.applyQty) { if (item.inventoryQty !== undefined && !item.applyQty) {
@ -1720,7 +1991,7 @@ export default {
// 6. - rqrq // 6. - rqrq
const backendMaterialMap = new Map() const backendMaterialMap = new Map()
materialList.forEach(item => { materialList.forEach(item => {
const partNo = item.partNo || item.componentPartNo
const partNo = item.componentPartNo
if (!partNo) return if (!partNo) return
if (backendMaterialMap.has(partNo)) { if (backendMaterialMap.has(partNo)) {
@ -1752,7 +2023,7 @@ export default {
// 7. seqNoList - rqrq // 7. seqNoList - rqrq
this.seqNoList.forEach(existingItem => { this.seqNoList.forEach(existingItem => {
const partNo = existingItem.partNo || existingItem.componentPartNo
const partNo = existingItem.componentPartNo
if (!partNo) return if (!partNo) return
if (backendMaterialMap.has(partNo)) { if (backendMaterialMap.has(partNo)) {

2540
src/views/modules/noOrderIssue/newNoOrderIssueNotify_old.vue
File diff suppressed because it is too large
View File

503
src/views/modules/warehouse/changeHUSpecialItem.vue

@ -2,8 +2,8 @@
<div class="mod-config"> <div class="mod-config">
<!-- 查询表单 - rqrq --> <!-- 查询表单 - rqrq -->
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item label="单元ID">
<el-input style="width: 120px;" v-model="queryHeaderData.unitId" placeholder="请输入单元ID" @keyup.enter.native="getDataList()"></el-input>
<el-form-item label="条码号">
<el-input style="width: 120px;" v-model="queryHeaderData.unitId" placeholder="请输入条码号" @keyup.enter.native="getDataList()"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="物料编号"> <el-form-item label="物料编号">
<el-input style="width: 120px;" v-model="queryHeaderData.partNo" placeholder="请输入物料编号" @keyup.enter.native="getDataList()"></el-input> <el-input style="width: 120px;" v-model="queryHeaderData.partNo" placeholder="请输入物料编号" @keyup.enter.native="getDataList()"></el-input>
@ -28,10 +28,16 @@
<el-form-item style="margin-top: 20px;"> <el-form-item style="margin-top: 20px;">
<el-button @click="getDataList()" type="primary">查询</el-button> <el-button @click="getDataList()" type="primary">查询</el-button>
<el-button @click="resetQuery()" type="default">重置</el-button> <el-button @click="resetQuery()" type="default">重置</el-button>
<el-button @click="batchUpdateDialog()" type="success" :disabled="dataListSelections.length === 0">批量修改</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 功能按钮区 - rqrq -->
<el-form :inline="true" label-position="top" style="margin-top: 3px">
<el-button @click="openChangeWdrDialog()" type="primary" :disabled="dataListSelections.length === 0">Change W/D/R</el-button>
<el-button @click="openChangeExpDateDialog()" type="primary" :disabled="dataListSelections.length === 0">Change Expiration Date</el-button>
<el-button @click="openChangeAvailDialog()" type="primary" :disabled="dataListSelections.length === 0">Change Availability Control ID</el-button>
</el-form>
<!-- 主表格 - rqrq --> <!-- 主表格 - rqrq -->
<el-table <el-table
:height="height" :height="height"
@ -39,14 +45,15 @@
border border
v-loading="dataListLoading" v-loading="dataListLoading"
@selection-change="selectionChangeHandle" @selection-change="selectionChangeHandle"
style="width: 100%; margin-bottom: 15px;">
style="width: 100%; margin-bottom: 15px;margin-top:3px">
<!-- 选择列 - rqrq --> <!-- 选择列 - rqrq -->
<el-table-column <el-table-column
type="selection" type="selection"
header-align="center" header-align="center"
align="center" align="center"
width="50">
width="50"
:selectable="checkSelectable">
</el-table-column> </el-table-column>
<!-- 动态列配置 - rqrq --> <!-- 动态列配置 - rqrq -->
@ -86,7 +93,7 @@
<!-- 操作列 - rqrq --> <!-- 操作列 - rqrq -->
<el-table-column label="操作" min-width="120" fixed="right" header-align="center" align="center"> <el-table-column label="操作" min-width="120" fixed="right" header-align="center" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="updateSpecialInfo(scope.row)" type="primary">修改</a>
<a @click="viewDetail(scope.row)" type="primary">查看详细</a>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -96,15 +103,15 @@
@size-change="sizeChangeHandle" @size-change="sizeChangeHandle"
@current-change="currentChangeHandle" @current-change="currentChangeHandle"
:current-page="pageIndex" :current-page="pageIndex"
:page-sizes="[20, 50, 100]"
:page-sizes="[30, 100, 500]"
:page-size="pageSize" :page-size="pageSize"
:total="totalPage" :total="totalPage"
layout="total, sizes, prev, pager, next, jumper"> layout="total, sizes, prev, pager, next, jumper">
</el-pagination> </el-pagination>
<!-- 修改特殊信息弹窗 - rqrq -->
<!-- 查看详细信息弹窗 - rqrq -->
<el-dialog <el-dialog
:title="dialogTitle"
title="查看详细信息"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
v-drag v-drag
@ -114,7 +121,7 @@
<!-- 基本信息只读- rqrq --> <!-- 基本信息只读- rqrq -->
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="单元ID">
<el-form-item label="条码号">
<el-input v-model="formData.unitId" readonly></el-input> <el-input v-model="formData.unitId" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -139,17 +146,17 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="订单参考1"> <el-form-item label="订单参考1">
<el-input v-model="formData.orderRef1" placeholder="请输入订单参考1" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.orderRef1" placeholder="请输入订单参考1" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="订单参考2"> <el-form-item label="订单参考2">
<el-input v-model="formData.orderRef2" placeholder="请输入订单参考2" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.orderRef2" placeholder="请输入订单参考2" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="订单参考3"> <el-form-item label="订单参考3">
<el-input v-model="formData.orderRef3" placeholder="请输入订单参考3" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.orderRef3" placeholder="请输入订单参考3" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -158,12 +165,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="供应商ID"> <el-form-item label="供应商ID">
<el-input v-model="formData.supplierId" placeholder="请输入供应商ID" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.supplierId" placeholder="请输入供应商ID" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户ID"> <el-form-item label="客户ID">
<el-input v-model="formData.customerId" placeholder="请输入客户ID" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.customerId" placeholder="请输入客户ID" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -172,28 +179,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="生产日期"> <el-form-item label="生产日期">
<el-date-picker
v-model="formData.manufactureDate"
type="date"
placeholder="请选择生产日期"
style="width: 100%"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:disabled="isBatchUpdate">
</el-date-picker>
<el-input v-model="formData.manufactureDate" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="失效日期"> <el-form-item label="失效日期">
<el-date-picker
v-model="formData.expiredDate"
type="date"
placeholder="请选择失效日期"
style="width: 100%"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:disabled="isBatchUpdate">
</el-date-picker>
<el-input v-model="formData.expiredDate" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -202,12 +193,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="来源类型"> <el-form-item label="来源类型">
<el-input v-model="formData.sourceType" placeholder="请输入来源类型" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.sourceType" placeholder="请输入来源类型" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="来源参考"> <el-form-item label="来源参考">
<el-input v-model="formData.sourceRef" placeholder="请输入来源参考" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.sourceRef" placeholder="请输入来源参考" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -216,22 +207,22 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="毛重"> <el-form-item label="毛重">
<el-input v-model="formData.grossWeight" placeholder="请输入毛重" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.grossWeight" placeholder="请输入毛重" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="净重"> <el-form-item label="净重">
<el-input v-model="formData.netWeight" placeholder="请输入净重" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.netWeight" placeholder="请输入净重" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="重量单位"> <el-form-item label="重量单位">
<el-input v-model="formData.weightUnit" placeholder="请输入重量单位" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.weightUnit" placeholder="请输入重量单位" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="工程变更等级">
<el-input v-model="formData.engChgLevel" placeholder="请输入工程变更等级" :disabled="isBatchUpdate"></el-input>
<el-form-item label="EngChgLevel">
<el-input v-model="formData.engChgLevel" placeholder="请输入EngChgLevel" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -239,12 +230,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="体积"> <el-form-item label="体积">
<el-input v-model="formData.volume" placeholder="请输入体积" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.volume" placeholder="请输入体积" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="体积单位"> <el-form-item label="体积单位">
<el-input v-model="formData.volumeUnit" placeholder="请输入体积单位" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.volumeUnit" placeholder="请输入体积单位" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -253,17 +244,17 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="预留订单参考1"> <el-form-item label="预留订单参考1">
<el-input v-model="formData.reserveOrderRef1" placeholder="请输入预留订单参考1" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.reserveOrderRef1" placeholder="请输入预留订单参考1" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="预留订单参考2"> <el-form-item label="预留订单参考2">
<el-input v-model="formData.reserveOrderRef2" placeholder="请输入预留订单参考2" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.reserveOrderRef2" placeholder="请输入预留订单参考2" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="预留订单参考3"> <el-form-item label="预留订单参考3">
<el-input v-model="formData.reserveOrderRef3" placeholder="请输入预留订单参考3" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.reserveOrderRef3" placeholder="请输入预留订单参考3" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -272,17 +263,103 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model="formData.remark" type="textarea" :rows="3" resize='none' placeholder="请输入备注" :disabled="isBatchUpdate"></el-input>
<el-input v-model="formData.remark" type="textarea" :rows="3" resize='none' placeholder="请输入备注" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer" style="margin-top: 52px"> <div slot="footer" class="dialog-footer" style="margin-top: 52px">
<el-button type="primary" @click="saveData" :disabled="saveLoading">
{{ saveLoading ? '保存中...' : '确定' }}
<el-button type="primary" @click="dialogVisible = false">关闭</el-button>
</div>
</el-dialog>
<!-- Change W/D/R 弹窗 - rqrq -->
<el-dialog
title="Change W/D/R"
:visible.sync="wdrDialogVisible"
:close-on-click-modal="false"
v-drag
width="600px">
<div style="margin-bottom: 15px;">
<span>界面2点击Change W/D/R弹出如下对话框</span>
</div>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form-item label="To W/D/R">
<el-input v-model="wdrFormData.toWdr" placeholder="请输入W/D/R"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="closeWdrDialog" :disabled="wdrSaveLoading">Close</el-button>
<el-button type="primary" @click="saveWdrChange" :disabled="wdrSaveLoading">
{{ wdrSaveLoading ? 'Save中...' : 'Save' }}
</el-button>
</div>
</el-dialog>
<!-- Change Expiration Date 弹窗 - rqrq -->
<el-dialog
title="Change Expiration Date"
:visible.sync="expDateDialogVisible"
:close-on-click-modal="false"
v-drag
width="600px">
<div style="margin-bottom: 15px;">
<span>界面3点击Change Expiration Date弹出如下对话框</span>
</div>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form-item label="New Expiration Date">
<el-date-picker
v-model="expDateFormData.newExpDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择失效日期"
style="width: 100%">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="closeExpDateDialog" :disabled="expDateSaveLoading">Close</el-button>
<el-button type="primary" @click="saveExpDateChange" :disabled="expDateSaveLoading">
{{ expDateSaveLoading ? 'Save中...' : 'Save' }}
</el-button>
</div>
</el-dialog>
<!-- Change Availability Control ID 弹窗 - rqrq -->
<el-dialog
title="Change Availability Control ID"
:visible.sync="availDialogVisible"
:close-on-click-modal="false"
v-drag
width="600px">
<div style="margin-bottom: 15px;">
<span>界面4点击Change Availability Control ID弹出如下对话框</span>
</div>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form-item label="New Availability Control ID">
<el-input v-model="availFormData.newAvailId" placeholder="请输入Availability Control ID">
<el-button slot="append" @click="showAvailList">List</el-button>
</el-input>
</el-form-item>
<el-form-item label="New Availability Control Desc">
<el-input v-model="availFormData.newAvailDesc" placeholder="请输入描述"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="closeAvailDialog" :disabled="availSaveLoading">Close</el-button>
<el-button type="primary" @click="saveAvailChange" :disabled="availSaveLoading">
{{ availSaveLoading ? 'Save中...' : 'Save' }}
</el-button> </el-button>
<el-button @click="dialogVisible = false" :disabled="saveLoading">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -290,7 +367,7 @@
</template> </template>
<script> <script>
import { searchHandlingUnitList, updateHandlingUnitSpecial, batchUpdateHandlingUnitSpecial } from '@/api/warehouse/changeHUSpecialItem'
import { searchHandlingUnitList } from '@/api/warehouse/changeHUSpecialItem'
export default { export default {
data() { data() {
@ -298,12 +375,17 @@ export default {
// - rqrq // - rqrq
height: 500, height: 500,
dataListLoading: false, dataListLoading: false,
saveLoading: false,
// - rqrq // - rqrq
dialogVisible: false, dialogVisible: false,
dialogTitle: '修改特殊信息',
isBatchUpdate: false,
// - rqrq
wdrDialogVisible: false,
expDateDialogVisible: false,
availDialogVisible: false,
wdrSaveLoading: false,
expDateSaveLoading: false,
availSaveLoading: false,
// - rqrq // - rqrq
dataList: [], dataList: [],
@ -323,9 +405,21 @@ export default {
// - rqrq // - rqrq
formData: {}, formData: {},
// - rqrq
wdrFormData: {
toWdr: ''
},
expDateFormData: {
newExpDate: ''
},
availFormData: {
newAvailId: '',
newAvailDesc: ''
},
// - rqrq // - rqrq
pageIndex: 1, pageIndex: 1,
pageSize: 20,
pageSize: 30,
totalPage: 0, totalPage: 0,
// - rqrq // - rqrq
@ -334,7 +428,7 @@ export default {
columnProp: "unitId", columnProp: "unitId",
headerAlign: "center", headerAlign: "center",
align: "center", align: "center",
columnLabel: "单元ID",
columnLabel: "条码号",
columnWidth: 150, columnWidth: 150,
columnSortable: false, columnSortable: false,
showOverflowTooltip: true, showOverflowTooltip: true,
@ -420,56 +514,6 @@ export default {
showOverflowTooltip: true, showOverflowTooltip: true,
fixed: "" fixed: ""
}, },
{
columnProp: "orderRef1",
headerAlign: "center",
align: "center",
columnLabel: "订单参考1",
columnWidth: 120,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "orderRef2",
headerAlign: "center",
align: "center",
columnLabel: "订单参考2",
columnWidth: 120,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "orderRef3",
headerAlign: "center",
align: "center",
columnLabel: "订单参考3",
columnWidth: 120,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "supplierId",
headerAlign: "center",
align: "center",
columnLabel: "供应商ID",
columnWidth: 120,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "customerId",
headerAlign: "center",
align: "center",
columnLabel: "客户ID",
columnWidth: 120,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{ {
columnProp: "manufactureDate", columnProp: "manufactureDate",
headerAlign: "center", headerAlign: "center",
@ -490,26 +534,6 @@ export default {
showOverflowTooltip: true, showOverflowTooltip: true,
fixed: "" fixed: ""
}, },
{
columnProp: "sourceType",
headerAlign: "center",
align: "center",
columnLabel: "来源类型",
columnWidth: 100,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "sourceRef",
headerAlign: "center",
align: "center",
columnLabel: "来源参考",
columnWidth: 120,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{ {
columnProp: "grossWeight", columnProp: "grossWeight",
headerAlign: "center", headerAlign: "center",
@ -540,31 +564,11 @@ export default {
showOverflowTooltip: true, showOverflowTooltip: true,
fixed: "" fixed: ""
}, },
{
columnProp: "volume",
headerAlign: "center",
align: "right",
columnLabel: "体积",
columnWidth: 100,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{
columnProp: "volumeUnit",
headerAlign: "center",
align: "center",
columnLabel: "体积单位",
columnWidth: 80,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{ {
columnProp: "engChgLevel", columnProp: "engChgLevel",
headerAlign: "center", headerAlign: "center",
align: "center", align: "center",
columnLabel: "工程变更等级",
columnLabel: "EngChgLevel",
columnWidth: 120, columnWidth: 120,
columnSortable: false, columnSortable: false,
showOverflowTooltip: true, showOverflowTooltip: true,
@ -620,16 +624,6 @@ export default {
showOverflowTooltip: true, showOverflowTooltip: true,
fixed: "" fixed: ""
}, },
{
columnProp: "mergedFlag",
headerAlign: "center",
align: "center",
columnLabel: "合并标志",
columnWidth: 80,
columnSortable: false,
showOverflowTooltip: true,
fixed: ""
},
{ {
columnProp: "status", columnProp: "status",
headerAlign: "center", headerAlign: "center",
@ -674,8 +668,10 @@ export default {
} }
}, },
mounted() { mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 220;
})
// - rqrq // - rqrq
this.height = window.innerHeight - 280
// - rqrq // - rqrq
this.getDataList() this.getDataList()
@ -741,75 +737,172 @@ export default {
this.dataListSelections = val this.dataListSelections = val
}, },
// - rqrq
updateSpecialInfo(row) {
this.isBatchUpdate = false
this.dialogTitle = '修改特殊信息'
// - rqrq
viewDetail(row) {
this.formData = JSON.parse(JSON.stringify(row)) this.formData = JSON.parse(JSON.stringify(row))
this.dialogVisible = true this.dialogVisible = true
}, },
// - rqrq
batchUpdateDialog() {
// - rqrq
formatDate(dateStr) {
if (!dateStr) return ''
const date = new Date(dateStr)
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
if (hours === '00' && minutes === '00' && seconds === '00') {
return `${year}-${month}-${day}`
}
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
},
// - rqrq
checkSelectable(row) {
if (!row.partNo || row.partNo === '') {
return false
}
return true
},
// ==================== Change W/D/R - rqrq ====================
// Change W/D/R - rqrq
openChangeWdrDialog() {
if (this.dataListSelections.length === 0) { if (this.dataListSelections.length === 0) {
this.$message.warning('请先选择要修改的数据')
this.$message.warning('请先选择要修改的记录')
return return
} }
this.isBatchUpdate = true
this.dialogTitle = `批量修改特殊信息 (已选择${this.dataListSelections.length}条)`
this.formData = {
unitIds: this.dataListSelections.map(item => item.unitId),
site: this.$store.state.user.site
// - rqrq
this.wdrFormData = {
toWdr: ''
} }
this.dialogVisible = true
this.wdrDialogVisible = true
},
// W/D/R - rqrq
closeWdrDialog() {
this.wdrDialogVisible = false
this.wdrFormData = {
toWdr: ''
}
},
// W/D/R - rqrq
saveWdrChange() {
// - rqrq
if (!this.wdrFormData.toWdr) {
this.$message.warning('请输入W/D/R')
return
}
this.wdrSaveLoading = true
// TODO: API - rqrq
setTimeout(() => {
this.wdrSaveLoading = false
this.$message.success('W/D/R修改成功')
this.closeWdrDialog()
this.getDataList()
}, 1000)
}, },
// - rqrq
saveData() {
// ==================== Change Expiration Date - rqrq ====================
// Change Expiration Date - rqrq
openChangeExpDateDialog() {
if (this.dataListSelections.length === 0) {
this.$message.warning('请先选择要修改的记录')
return
}
// - rqrq
this.expDateFormData = {
newExpDate: ''
}
this.expDateDialogVisible = true
},
// Expiration Date - rqrq
closeExpDateDialog() {
this.expDateDialogVisible = false
this.expDateFormData = {
newExpDate: ''
}
},
// Expiration Date - rqrq
saveExpDateChange() {
// - rqrq // - rqrq
if (!this.formData.site) {
this.$message.warning('站点不能为空')
if (!this.expDateFormData.newExpDate) {
this.$message.warning('请选择失效日期')
return return
} }
// loading, - rqrq
this.saveLoading = true
this.expDateSaveLoading = true
// API - rqrq
const apiMethod = this.isBatchUpdate ? batchUpdateHandlingUnitSpecial : updateHandlingUnitSpecial
// TODO: API - rqrq
setTimeout(() => {
this.expDateSaveLoading = false
this.$message.success('失效日期修改成功')
this.closeExpDateDialog()
this.getDataList()
}, 1000)
},
apiMethod(this.formData).then(({data}) => {
if (data && data.code === 0) {
this.$message.success('保存成功')
this.dialogVisible = false
this.getDataList()
} else {
this.$message.error(data.msg || '保存失败')
}
}).catch(() => {
this.$message.error('保存失败')
}).finally(() => {
// - rqrq
this.saveLoading = false
})
// ==================== Change Availability Control ID - rqrq ====================
// Change Availability Control ID - rqrq
openChangeAvailDialog() {
if (this.dataListSelections.length === 0) {
this.$message.warning('请先选择要修改的记录')
return
}
// - rqrq
this.availFormData = {
newAvailId: '',
newAvailDesc: ''
}
this.availDialogVisible = true
}, },
// - rqrq
formatDate(dateStr) {
if (!dateStr) return ''
const date = new Date(dateStr)
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
// Availability Control ID - rqrq
closeAvailDialog() {
this.availDialogVisible = false
this.availFormData = {
newAvailId: '',
newAvailDesc: ''
}
},
if (hours === '00' && minutes === '00' && seconds === '00') {
return `${year}-${month}-${day}`
// Availability Control ID - rqrq
showAvailList() {
this.$message.info('List功能待实现')
// TODO: - rqrq
},
// Availability Control ID - rqrq
saveAvailChange() {
// - rqrq
if (!this.availFormData.newAvailId) {
this.$message.warning('请输入Availability Control ID')
return
} }
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
this.availSaveLoading = true
// TODO: API - rqrq
setTimeout(() => {
this.availSaveLoading = false
this.$message.success('Availability Control ID修改成功')
this.closeAvailDialog()
this.getDataList()
}, 1000)
} }
} }
} }

Loading…
Cancel
Save