fix(自动拆包机托盘上料):手动呼叫AGV
This commit is contained in:
parent
00f168bdd2
commit
c0959c8b3e
@ -31,3 +31,11 @@ export function subResource (query) {
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialLotByResource (query) {
|
||||
return request({
|
||||
url: iep('/z-task-detail/getMaterialLotByResource'),
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
@ -59,6 +59,17 @@ export const subResourceDialogObj = {
|
||||
]
|
||||
}
|
||||
|
||||
export const carrierOrInventoryDialogObj = {
|
||||
page: false,
|
||||
searchText: 'searchText',
|
||||
tableColumn: [
|
||||
{
|
||||
prop: 'materialLot',
|
||||
label: '条码',
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export const materialLotDialogObj = {
|
||||
condition: 'materialLot',
|
||||
tableColumn: [
|
||||
|
||||
@ -14,6 +14,20 @@
|
||||
top="100px"
|
||||
>
|
||||
<div class="execution">
|
||||
<!-- 目标位置弹窗 -->
|
||||
<input-select-dialog
|
||||
:modal-obj="subResourceDialogObj"
|
||||
:modal-fetch-fun="subResourceDialogFetchFun"
|
||||
:modal-show.sync="subResourceShow"
|
||||
@inputDialogSelected="subResourceSelected"
|
||||
></input-select-dialog>
|
||||
<!-- 托盘号/条码号弹窗 -->
|
||||
<input-select-dialog
|
||||
:modal-obj="carrierOrInventoryDialogObj"
|
||||
:modal-fetch-fun="carrierOrInventoryDialogFetchFun"
|
||||
:modal-show.sync="carrierOrInventoryShow"
|
||||
@inputDialogSelected="carrierOrInventorySelected"
|
||||
></input-select-dialog>
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="mainForm"
|
||||
@ -23,13 +37,43 @@
|
||||
>
|
||||
<el-row :gutter="5">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="设备编号" prop="resource">
|
||||
<el-input v-model="mainForm.resource" :disabled="true"></el-input>
|
||||
<el-form-item label="目标位置" prop="subResource">
|
||||
<el-input v-model="mainForm.subResource" readonly>
|
||||
<i
|
||||
slot="suffix"
|
||||
class="el-input__icon el-icon-copy-document"
|
||||
@click.stop="showDialog('subResource')"
|
||||
></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="上料点" prop="subResource">
|
||||
<el-input v-model="mainForm.subResource" :disabled="true"></el-input>
|
||||
<el-form-item label="托盘号/条码号" prop="carrierOrInventory">
|
||||
<el-input v-model="mainForm.carrierOrInventory">
|
||||
<i v-if="showCarrierOrInventoryInput === 'Y'"
|
||||
slot="suffix"
|
||||
class="el-input__icon el-icon-copy-document"
|
||||
@click.stop="showDialog('carrierOrInventory')"
|
||||
></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="数量" prop="qtyOnHand">
|
||||
<el-input v-model="mainForm.qtyOnHand" :disabled="true">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="物料编码" prop="item">
|
||||
<el-input v-model="mainForm.item" :disabled="true">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="物料描述" prop="itemDesc">
|
||||
<el-input v-model="mainForm.itemDesc" :disabled="true">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@ -50,19 +94,6 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="任务标识" prop="taskMark">
|
||||
<el-select v-model="mainForm.taskMark">
|
||||
<el-option key="A" label="大卷" value="A"/>
|
||||
<el-option key="B" label="小卷" value="B"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="AGV自动呼叫阈值" prop="taskTriggerValue">
|
||||
<el-input v-model="mainForm.taskTriggerValue" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
@ -84,12 +115,14 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {clearValidate, copyJSON} from '@/util/util'
|
||||
import {clearValidate} from '@/util/util'
|
||||
import {showLoading, hideLoading} from '@/const/loading'
|
||||
import {agvReelingManualCall, reelingComplete} from '@/api/mes/wip-nalinv/jm-auto-reeling';
|
||||
import {findResourceList as fetchResourceList} from "@/api/mes/pms/resrce";
|
||||
import {getByCode as getFastCode} from '@/api/mes/sys/fast-code-detail';
|
||||
import {agvReelingManualCall} from '@/api/mes/wip-nalinv/jm-auto-reeling';
|
||||
import {subResource, getMaterialLotByResource} from "@/api/mes/smd/eqp-combine";
|
||||
import {subResourceDialogObj, carrierOrInventoryDialogObj} from "@/views/mes/wip/resource-feeding-extension/init";
|
||||
import {isBlank} from "@/util/string";
|
||||
import {fetchCustomFieldsByResrce} from "@/api/mes/prd/operation-out";
|
||||
import {getStore} from "@/util/store";
|
||||
|
||||
export default {
|
||||
components: {},
|
||||
@ -101,26 +134,37 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
rules: {
|
||||
subResource: [{required: true, message: '目标位置不能为空', trigger: ['change']}],
|
||||
carrierOrInventory: [{required: true, message: '托盘号/条码号不能为空', trigger: ['change']}],
|
||||
taskType: [{required: true, message: '任务类别不能为空', trigger: ['change']}],
|
||||
taskTypeId: [{required: true, message: '任务类型不能为空', trigger: ['change']}],
|
||||
taskMark: [{required: true, message: '任务标识', trigger: ['change']}]
|
||||
taskTypeId: [{required: true, message: '任务类型不能为空', trigger: ['change']}]
|
||||
},
|
||||
site: getStore({name: 'tenantId'}),
|
||||
visible: false,
|
||||
open: '',
|
||||
mainForm: this.form,
|
||||
taskTypeList: [],
|
||||
taskTypeIdList: []
|
||||
taskTypeIdList: [],
|
||||
subResourceShow: false,
|
||||
subResourceDialogObj,
|
||||
subResourceDialogFetchFun: subResource,
|
||||
carrierOrInventoryShow: false,
|
||||
carrierOrInventoryDialogObj,
|
||||
carrierOrInventoryDialogFetchFun: getMaterialLotByResource,
|
||||
showCarrierOrInventoryInput: 'N'
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.id': {
|
||||
handler() {
|
||||
this.mainForm = this.form
|
||||
this.mainForm.subResource = ''
|
||||
this.mainForm.carrierOrInventory = ''
|
||||
this.showCarrierOrInventoryInput = 'N'
|
||||
this.processTaskTypeList()
|
||||
this.handleTaskTypeChange(this.form.taskType, true)
|
||||
this.setAgvAutomaticCallThreshold(this.form.subResource)
|
||||
this.$nextTick(() => {
|
||||
clearValidate.call(this, 'form', ['taskType', 'taskTypeId', 'taskMark'])
|
||||
clearValidate.call(this, 'form', ['subResource', 'carrierOrInventory', 'taskType', 'taskTypeId'])
|
||||
})
|
||||
},
|
||||
immediate: true,
|
||||
@ -132,6 +176,64 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 開窗
|
||||
showDialog(key) {
|
||||
let me = this;
|
||||
switch (key) {
|
||||
case 'subResource':
|
||||
if (isBlank(me.mainForm.resource)) {
|
||||
return this.$message.error('请先选择设备')
|
||||
}
|
||||
this.subResourceDialogObj.queryParam = {
|
||||
resrce: me.mainForm.resource,
|
||||
subEqpType: me.mainForm.subResourceType
|
||||
}
|
||||
this.subResourceShow = true
|
||||
break;
|
||||
case 'carrierOrInventory':
|
||||
this.carrierOrInventoryDialogObj.queryParam = {
|
||||
subResource: me.mainForm.subResource
|
||||
}
|
||||
this.carrierOrInventoryShow = true
|
||||
break;
|
||||
}
|
||||
},
|
||||
// 上料点選擇開窗資料
|
||||
subResourceSelected(row) {
|
||||
let me = this;
|
||||
me.mainForm.subResource = row.resrce;
|
||||
me.mainForm.carrierOrInventory = '';
|
||||
me.getCustomFieldsByResrce(me.site, row.resrce, "IS_CACHE_LOCATION");
|
||||
},
|
||||
// 托盘号/条码号選擇開窗資料
|
||||
carrierOrInventorySelected(row) {
|
||||
let me = this;
|
||||
me.mainForm.carrierOrInventory = row.materialLot;
|
||||
this.mainForm = Object.assign({}, this.mainForm)
|
||||
},
|
||||
// 获取设备自定义字段
|
||||
getCustomFieldsByResrce(site, resrce, fieldName) {
|
||||
showLoading();
|
||||
fetchCustomFieldsByResrce({
|
||||
site: site,
|
||||
resrce: resrce,
|
||||
fieldName: fieldName,
|
||||
}).then((response) => {
|
||||
hideLoading();
|
||||
if (response.data.code !== 0) {
|
||||
this.$message.error(response.data.message);
|
||||
} else {
|
||||
if (fieldName === "IS_CACHE_LOCATION") {
|
||||
// 基膜5#6#区分缓存位、周转位、拆包位
|
||||
if (response.data.data === 'Z' || response.data.data === 'H') {
|
||||
this.showCarrierOrInventoryInput = 'N';
|
||||
} else {
|
||||
this.showCarrierOrInventoryInput = 'Y';
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
processTaskTypeList() {
|
||||
let me = this
|
||||
let taskTypeList = me.mainForm.taskTypeList;
|
||||
@ -172,20 +274,6 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
setAgvAutomaticCallThreshold(resrce) {
|
||||
let params = {
|
||||
fastCode: 'SLOT_DELIVERY_RULES',
|
||||
code: resrce
|
||||
};
|
||||
showLoading();
|
||||
getFastCode(params).then(response => {
|
||||
hideLoading();
|
||||
let data = response.data.data;
|
||||
this.mainForm.taskTriggerValue = data ? data.ef1 : '';
|
||||
}).catch(() => {
|
||||
hideLoading();
|
||||
})
|
||||
},
|
||||
handleConfirm() {
|
||||
let me = this;
|
||||
this.$refs['form'].validate((valid) => {
|
||||
|
||||
@ -126,7 +126,7 @@ import {findResourceList as fetchResourceList} from "@/api/mes/pms/resrce";
|
||||
import {getByCode as getFastCode} from '@/api/mes/sys/fast-code-detail';
|
||||
import {listNewTask} from "@/api/mes/wip-nalinv/task-detail";
|
||||
import {subResource} from "@/api/mes/smd/eqp-combine";
|
||||
import agvDeliveryCall from "@/views/mes/wip/resource-feeding-extension/content/agv-delivery-call.vue";
|
||||
import agvDeliveryCall from "@/views/mes/wip/resource-feeding-extension/task/agv-material-call.vue";
|
||||
import {subResourceDialogObj} from "@/views/mes/wip/resource-feeding-extension/init";
|
||||
import {isBlank} from "@/util/string";
|
||||
|
||||
@ -164,7 +164,7 @@ export default {
|
||||
id: '',
|
||||
resource: '',
|
||||
subResource: '',
|
||||
taskType: '1',
|
||||
taskType: '3',
|
||||
taskTypeId: '',
|
||||
taskMark: '',
|
||||
taskTriggerValue: null
|
||||
@ -177,7 +177,7 @@ export default {
|
||||
this.mainForm = this.form
|
||||
this.getTaskDetailList()
|
||||
this.$nextTick(() => {
|
||||
clearValidate.call(this, 'form', ['taskType', 'taskTypeId', 'taskDestination'])
|
||||
clearValidate.call(this, 'form')
|
||||
})
|
||||
},
|
||||
deep: true,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user