外协接口联调

dev-scheduling
jinna 2 months ago
parent b85b12209d
commit cc13fd19bf
  1. 11
      src/api/outsourcingManagement/baseTemplate.js
  2. 20
      src/api/outsourcingManagement/oemApproval.js
  3. 26
      src/api/outsourcingManagement/oemOrder.js
  4. 227
      src/views/oem/baseTemplate/index.vue
  5. 74
      src/views/oem/facInnerApproval/approvalDialog.vue
  6. 40
      src/views/oem/facInnerApproval/index.vue
  7. 74
      src/views/oem/oemApproval/approvalDialog.vue
  8. 671
      src/views/oem/oemApproval/index.vue
  9. 21
      src/views/oem/oemOrder/index.vue
  10. 70
      src/views/oem/oemOrder/manufacturerChange.vue
  11. 102
      src/views/oem/oemOrder/materialPrint.vue

@ -0,0 +1,11 @@
// 外协绩效模板
import request from '@/axios';
// 列表
export const getList = params => {
return request({
url: '/api/blade-desk/mesOemAndAbility/page',
method: 'get',
params
});
};

@ -0,0 +1,20 @@
// 转外协审批
import request from '@/axios';
// 获取列表
export const getList = params => {
return request({
url: '/api/blade-desk/oemOrder/queryOemApproval',
method: 'get',
params
});
};
// 审批
export const oemApproval = data => {
return request({
url: '/api/blade-desk/oemOrder/approval',
method: 'post',
data: data
});
};

@ -26,4 +26,30 @@ export const getInProcess = data => {
method: 'post',
data
});
};
// 更改厂家
export const changeFactory = data => {
return request({
url: '/api/blade-desk/oemOrder/changeOemManufacturer',
method: 'post',
params:data
});
};
// 外协厂商下拉
export const getOemManufacturer = () => {
return request({
url: '/api/blade-desk/BA/Oem/listForSelect',
method: 'get'
});
};
// 领料单打印分页
export const getPrintList = params => {
return request({
url: '/api/blade-desk/oemOrder/oemMaterialRequisitionPage',
method: 'get',
params
});
};

@ -29,6 +29,7 @@
</basic-container>
</template>
<script>
import {getList} from "@/api/outsourcingManagement/baseTemplate"
import maintenanceDialog from './components/maintenanceDialog.vue'
import basicImport from '@/components/basic-import/main.vue'
export default {
@ -40,6 +41,7 @@ export default {
return {
isShowImport: false,
loading: false,
query:{},
selectionList: [],
option: {
height: 'auto',
@ -175,119 +177,138 @@ export default {
}).then(() => {
})
},
searchChange(params, done){
this.query = params;
this.page.currentPage = 1
this.onLoad()
done()
},
searchReset(){
this.query = {}
this.onLoad()
},
//
selectionChange(list) {
this.selectionList = list;
},
onLoad() {
this.loading = true
this.data = [
{
"ocName": "厂家1",
"bsOemCustomer": {
"abbreviation": "L076",
"address": "aaa",
"codeAndName": "L076/L076",
"contactMan": "aaa",
"contactPhone": "aaa",
"craftAbility": "镀银、挂镀银、喷砂、涂色标、铜合金化学镀镍、电镀镍、DL零件包装",
"curStatus": 0,
"curStatusText": "正常供货",
"email": "aaa",
"keyValue": 21,
"limitType": 0,
"ocCode": "L076",
"ocId": 21,
getList({
current:this.page.currentPage,
size:this.page.pageSize,
...this.query
}).then(res =>{
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false
})
// this.data = [
// {
// "ocName": "1",
// "bsOemCustomer": {
// "abbreviation": "L076",
// "address": "aaa",
// "codeAndName": "L076/L076",
// "contactMan": "aaa",
// "contactPhone": "aaa",
// "craftAbility": "DL",
// "curStatus": 0,
// "curStatusText": "",
// "email": "aaa",
// "keyValue": 21,
// "limitType": 0,
// "ocCode": "L076",
// "ocId": 21,
"oemPassword": null,
"partCodeYesOrNo": false,
"qualification": 10,
"qualificationTitle": null,
"region": "陕西省",
"updateTime": "2023-04-14 18:33:49"
},
"createMan": {
"userId": 541,
"userName": "崔殿龙"
},
"createTime": "2023-11-10 18:06:40",
"keyValue": 1,
"oaaId": 1,
"plate": "镀金"
},
{
"ocName": "厂家1",
"bsOemCustomer": {
"abbreviation": "L120",
"address": "aaa",
"codeAndName": "L120/L120",
"contactMan": "aaa",
"contactPhone": "aaa",
"craftAbility": "不锈钢涂福斯润滑剂、DL零件包装、",
"curStatus": 0,
"curStatusText": "正常供货",
"email": "aaa",
"keyValue": 2,
"limitType": 0,
"ocCode": "L120",
"ocId": 2,
// "oemPassword": null,
// "partCodeYesOrNo": false,
// "qualification": 10,
// "qualificationTitle": null,
// "region": "西",
// "updateTime": "2023-04-14 18:33:49"
// },
// "createMan": {
// "userId": 541,
// "userName": "殿"
// },
// "createTime": "2023-11-10 18:06:40",
// "keyValue": 1,
// "oaaId": 1,
// "plate": ""
// },
// {
// "ocName": "1",
// "bsOemCustomer": {
// "abbreviation": "L120",
// "address": "aaa",
// "codeAndName": "L120/L120",
// "contactMan": "aaa",
// "contactPhone": "aaa",
// "craftAbility": "DL",
// "curStatus": 0,
// "curStatusText": "",
// "email": "aaa",
// "keyValue": 2,
// "limitType": 0,
// "ocCode": "L120",
// "ocId": 2,
"oemPassword": null,
"partCodeYesOrNo": false,
"qualification": 0,
"qualificationTitle": "民品&普军",
"region": "江苏省",
"updateTime": "2023-04-14 18:33:49"
},
"createMan": {
"userId": 541,
"userName": "崔殿龙"
},
"createTime": "2023-11-10 18:06:40",
"keyValue": 4,
"oaaId": 4,
"plate": "镀金"
},
{
"ocName": "L070",
"bsOemCustomer": {
"abbreviation": "L070",
"address": "aaa",
"codeAndName": "L070/L070",
"contactMan": "aaa",
"contactPhone": "aaa",
"craftAbility": "滚镀金或振镀金、局部镀厚金、闪镀金、镀铂金、局部退火",
"curStatus": 0,
"curStatusText": "正常供货",
"email": "aaa",
"keyValue": 5,
"limitType": 0,
"ocCode": "L070",
"ocId": 5,
// "oemPassword": null,
// "partCodeYesOrNo": false,
// "qualification": 0,
// "qualificationTitle": "&",
// "region": "",
// "updateTime": "2023-04-14 18:33:49"
// },
// "createMan": {
// "userId": 541,
// "userName": "殿"
// },
// "createTime": "2023-11-10 18:06:40",
// "keyValue": 4,
// "oaaId": 4,
// "plate": ""
// },
// {
// "ocName": "L070",
// "bsOemCustomer": {
// "abbreviation": "L070",
// "address": "aaa",
// "codeAndName": "L070/L070",
// "contactMan": "aaa",
// "contactPhone": "aaa",
// "craftAbility": "退",
// "curStatus": 0,
// "curStatusText": "",
// "email": "aaa",
// "keyValue": 5,
// "limitType": 0,
// "ocCode": "L070",
// "ocId": 5,
"oemPassword": null,
"partCodeYesOrNo": false,
"qualification": 10,
"qualificationTitle": null,
"region": "江苏省",
"updateTime": "2023-04-14 18:33:49"
},
"createMan": {
"userId": 541,
"userName": "崔殿龙"
},
"createTime": "2023-12-06 17:24:48",
"keyValue": 21,
"oaaId": 21,
"plate": "镀银"
},
// "oemPassword": null,
// "partCodeYesOrNo": false,
// "qualification": 10,
// "qualificationTitle": null,
// "region": "",
// "updateTime": "2023-04-14 18:33:49"
// },
// "createMan": {
// "userId": 541,
// "userName": "殿"
// },
// "createTime": "2023-12-06 17:24:48",
// "keyValue": 21,
// "oaaId": 21,
// "plate": ""
// },
]
this.page.total = this.data.length
this.loading = false
setTimeout(() => {
this.selectionClear()
}, 500)
// ]
// this.page.total = this.data.length
// this.loading = false
// setTimeout(() => {
// this.selectionClear()
// }, 500)
}
}
}

@ -1,16 +1,17 @@
<template>
<el-dialog title="审批" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form :option="option"></avue-form>
<avue-form :option="option" ref="form" v-model="formData"></avue-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="rejection(4, '通过')">通过</el-button>
<el-button type="danger" @click="rejection(3, '不通过')">不通过</el-button>
<el-button @click="closeDialog">取消</el-button>
<el-button type="primary" @click="submit">确定</el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import {oemApproval} from "@/api/outsourcingManagement/oemApproval"
export default {
props: {
showDialog: {
@ -26,6 +27,29 @@ export default {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '审批结果',
prop: 'approvalStatus',
span: 24,
type: 'radio',
dicData: [
{
label: '通过',
value: 4
},
{
label: '不通过',
value: 3
}
],
rules: [
{
required: true,
message: '请选择审批结果',
}
]
},
{
label: '审批意见',
prop: 'approvalMemo',
@ -35,7 +59,7 @@ export default {
rules: [
{
required: true,
message: '请输入性别',
message: '请输入审批意见',
trigger: 'blur'
}
]
@ -49,32 +73,26 @@ export default {
this.openShow = this.showDialog
},
methods: {
closeDialog() {
closeDialog(val) {
this.openShow = false
this.$emit('closeDialog');
this.$emit('closeDialog',val);
},
submit(){
this.$refs.form.validate((valid, done, msg) => {
if(valid){
// this.$emit('approval', this.formData)
oemApproval({
...this.formData,
workOrderRunId:this.woId
}).then(res =>{
if(res.data.code == 200){
this.$message.success('审批成功')
this.closeDialog(true)
}
})
}
})
},
rejection(approvalStatus, approvalMemo) {
// if (this.formData.approvalMemo === null || this.formData.approvalMemo === undefined || this.formData.approvalMemo === '') {
// this.$set(this.formData, 'approvalMemo', approvalMemo);
// }
// this.$refs.form.validate((valid) => {
// if (valid) {
// this.$ajax
// .post('prWorkOrderRun/approval', {
// worId: this.rowItem.worId,
// approvalMemo: this.formData.approvalMemo,
// approvalStatus: approvalStatus
// })
// .then((res) => {
// if (this.$ifAjax(res)) {
// this.$message.success(this.$t('global.successfulOperation'));
// this.cancel(true);
// }
// });
// }
// });
this.closeDialog()
}
}
}
</script>

@ -21,7 +21,7 @@
</template>
<template #menu-right> </template>
<template #menu="scope">
<el-button type="text" @click="approval(scope.row.tbId)">审批</el-button>
<el-button type="text" @click="approval(scope.row)">审批</el-button>
</template>
</avue-crud>
@ -65,7 +65,7 @@ export default {
editBtnIcon: " ",
viewBtnText: "详情",
labelWidth: 120,
menuWidth: 120,
menuWidth: 80,
dialogWidth: 1040,
dialogClickModal: false,
searchEnter: true,
@ -80,7 +80,7 @@ export default {
searchLabelPosition: "left",
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
menuAlign: "center",
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
@ -103,7 +103,7 @@ export default {
{
label: "零件号",
prop: "partCode",
bind: "prWorkOrder.pjYieldOrder.partCode",
// bind: "prWorkOrder.pjYieldOrder.partCode",
sortable: true,
filter: true,
span: 12,
@ -113,7 +113,7 @@ export default {
{
label: "批次号",
prop: "batchNo",
bind: "prWorkOrder.batchNo",
// bind: "prWorkOrder.batchNo",
sortable: true,
filter: true,
span: 12,
@ -123,7 +123,7 @@ export default {
{
label: "产品名称",
prop: "partName",
bind: "prWorkOrder.pjYieldOrder.partName",
// bind: "prWorkOrder.pjYieldOrder.partName",
sortable: true,
filter: true,
span: 12,
@ -132,8 +132,8 @@ export default {
},
{
label: "生产标识",
prop: "prodIdent",
bind: "prWorkOrder.pjYieldOrder.prodIdent",
prop: "productIdent",
// bind: "prWorkOrder.pjYieldOrder.prodIdent",
sortable: true,
filter: true,
span: 12,
@ -143,7 +143,7 @@ export default {
{
label: "生产数量",
prop: "makeQty",
bind: "prWorkOrder.makeQty",
// bind: "prWorkOrder.makeQty",
sortable: true,
filter: true,
span: 12,
@ -152,8 +152,8 @@ export default {
},
{
label: "面积(d㎡)",
prop: "poArea",
bind: "prWorkOrder.pjYieldOrder.poArea",
prop: "totalArea",
// bind: "prWorkOrder.pjYieldOrder.poArea",
sortable: true,
filter: true,
span: 12,
@ -206,8 +206,8 @@ export default {
},
{
label: "申请人",
prop: "userName",
bind: "createMan.userName",
prop: "proposer",
// bind: "createMan.userName",
sortable: true,
filter: true,
span: 12,
@ -216,8 +216,8 @@ export default {
},
{
label: "审批人",
prop: "userName",
bind: "approvalMan.userName",
prop: "approver",
// bind: "approvalMan.userName",
sortable: true,
filter: true,
span: 12,
@ -255,10 +255,18 @@ export default {
},
methods: {
approval(row) {
console.log('row--------',row)
if(!row && this.selectionList.length == 0){
this.$message.error("请至少选择一条数据");
return
}
this.isOpen = true;
},
closeDialog() {
closeDialog(val) {
this.isOpen = false;
if(val){
this.onLoad()
}
},
handleDelete() {
if (this.selectionList.length === 0) {

@ -1,16 +1,17 @@
<template>
<el-dialog title="审批" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form :option="option"></avue-form>
<avue-form :option="option" ref="form" v-model="formData"></avue-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="rejection(4, '通过')">通过</el-button>
<el-button type="danger" @click="rejection(3, '不通过')">不通过</el-button>
<el-button @click="closeDialog">取消</el-button>
<el-button type="primary" @click="submit">确定</el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import {oemApproval} from "@/api/outsourcingManagement/oemApproval"
export default {
props: {
showDialog: {
@ -26,6 +27,29 @@ export default {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '审批结果',
prop: 'approvalStatus',
span: 24,
type: 'radio',
dicData: [
{
label: '通过',
value: 4
},
{
label: '不通过',
value: 3
}
],
rules: [
{
required: true,
message: '请选择审批结果',
}
]
},
{
label: '审批意见',
prop: 'approvalMemo',
@ -35,7 +59,7 @@ export default {
rules: [
{
required: true,
message: '请输入性别',
message: '请输入审批意见',
trigger: 'blur'
}
]
@ -49,32 +73,26 @@ export default {
this.openShow = this.showDialog
},
methods: {
closeDialog() {
closeDialog(val) {
this.openShow = false
this.$emit('closeDialog');
this.$emit('closeDialog',val);
},
submit(){
this.$refs.form.validate((valid, done, msg) => {
if(valid){
// this.$emit('approval', this.formData)
oemApproval({
...this.formData,
workOrderRunId:this.woId
}).then(res =>{
if(res.data.code == 200){
this.$message.success('审批成功')
this.closeDialog(true)
}
})
}
})
},
rejection(approvalStatus, approvalMemo) {
// if (this.formData.approvalMemo === null || this.formData.approvalMemo === undefined || this.formData.approvalMemo === '') {
// this.$set(this.formData, 'approvalMemo', approvalMemo);
// }
// this.$refs.form.validate((valid) => {
// if (valid) {
// this.$ajax
// .post('prWorkOrderRun/approval', {
// worId: this.rowItem.worId,
// approvalMemo: this.formData.approvalMemo,
// approvalStatus: approvalStatus
// })
// .then((res) => {
// if (this.$ifAjax(res)) {
// this.$message.success(this.$t('global.successfulOperation'));
// this.cancel(true);
// }
// });
// }
// });
this.closeDialog()
}
}
}
</script>

@ -35,6 +35,7 @@
</basic-container>
</template>
<script>
import {getList,oemApproval} from "@/api/outsourcingManagement/oemApproval"
import approvalDialog from "./approvalDialog.vue";
export default {
components: {
@ -67,7 +68,7 @@ export default {
editBtnIcon: " ",
viewBtnText: "详情",
labelWidth: 120,
menuWidth: 120,
menuWidth: 80,
dialogWidth: 1040,
dialogClickModal: false,
searchEnter: true,
@ -81,7 +82,7 @@ export default {
searchLabelPosition: "left",
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
menuAlign: "center",
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
@ -103,7 +104,7 @@ export default {
{
label: "零件号",
prop: "partCode",
bind: "prWorkOrder.pjYieldOrder.partCode",
// bind: "prWorkOrder.pjYieldOrder.partCode",
sortable: true,
filter: true,
span: 12,
@ -113,7 +114,7 @@ export default {
{
label: "批次号",
prop: "batchNo",
bind: "prWorkOrder.batchNo",
// bind: "prWorkOrder.batchNo",
sortable: true,
filter: true,
span: 12,
@ -123,7 +124,7 @@ export default {
{
label: "产品名称",
prop: "partName",
bind: "prWorkOrder.pjYieldOrder.partName",
// bind: "prWorkOrder.pjYieldOrder.partName",
sortable: true,
filter: true,
span: 12,
@ -132,8 +133,8 @@ export default {
},
{
label: "生产标识",
prop: "prodIdent",
bind: "prWorkOrder.pjYieldOrder.prodIdent",
prop: "productIdent",
// bind: "prWorkOrder.pjYieldOrder.prodIdent",
sortable: true,
filter: true,
span: 12,
@ -143,7 +144,7 @@ export default {
{
label: "生产数量",
prop: "makeQty",
bind: "prWorkOrder.makeQty",
// bind: "prWorkOrder.makeQty",
sortable: true,
filter: true,
span: 12,
@ -152,8 +153,8 @@ export default {
},
{
label: "面积(d㎡)",
prop: "poArea",
bind: "prWorkOrder.pjYieldOrder.poArea",
prop: "totalArea",
// bind: "prWorkOrder.pjYieldOrder.poArea",
sortable: true,
filter: true,
span: 12,
@ -206,8 +207,8 @@ export default {
},
{
label: "申请人",
prop: "userName",
bind: "createMan.userName",
prop: "proposer",
// bind: "createMan.userName",
sortable: true,
filter: true,
span: 12,
@ -216,8 +217,8 @@ export default {
},
{
label: "审批人",
prop: "userName",
bind: "approvalMan.userName",
prop: "approver",
// bind: "approvalMan.userName",
sortable: true,
filter: true,
span: 12,
@ -245,6 +246,8 @@ export default {
],
},
form: {},
query:{},
loading:false,
page: {
pageSize: 10,
currentPage: 1,
@ -255,10 +258,18 @@ export default {
},
methods: {
approval(row) {
console.log('row--------',row)
if(!row && this.selectionList.length == 0){
this.$message.error("请至少选择一条数据");
return
}
this.isOpen = true;
},
closeDialog() {
closeDialog(val) {
this.isOpen = false;
if(val){
this.onLoad()
}
},
handleDelete() {
if (this.selectionList.length === 0) {
@ -277,316 +288,326 @@ export default {
},
onLoad() {
this.loading = true;
this.data = [
{
approvalMan: null,
approvalMemo: null,
approvalTime: null,
collaborate: true,
createMan: {
userId: 541,
userName: "崔殿龙",
},
createTime: "2024-01-22 09:48:54",
deliverKey: null,
inCustomer: null,
inTeam: null,
keyValue: 8246,
memo: "11111",
outCustomer: null,
outTeam: {
tsCode: "006",
tsId: 66,
tsName: "化学镀镍一班郭家梁",
},
prWorkOrder: {
approvalStatus: 2,
batchArea: 43.48,
batchNo: "Y0382304283",
bsOemCustomer: null,
ca: "E386-化学镀镍",
cardNo: "1016870429",
closeMan: null,
closeTime: null,
collaborate: false,
collaborateText: "否",
createTime: "2023-04-14 18:19:35",
currentBsOemCustomer: null,
currentMakeTeam: {
tsCode: "006",
tsId: 66,
tsName: "化学镀镍一班郭家梁",
},
demandDate: "2023-04-18",
dispatcher: {
userId: 355,
userName: "07188",
},
frontProcedureSet: null,
handoverTime: null,
hrTypeBool: null,
inventoryQty: 0.0,
jcName: null,
keyValue: 2485,
lastInstoreTime: null,
lossQty: 0,
mainProcessingUnit: "化学镀镍一班郭家梁",
makeQty: 100.0,
makeTeam: {
tsCode: "006",
tsId: 66,
tsName: "化学镀镍一班郭家梁",
},
makeUnit: "化学镀镍一班郭家梁",
meetCycle: 0,
memo: null,
mesCardNo: null,
moCode: null,
moLocal: null,
nextBsOemCustomer: null,
nextMakeTeam: {
tsCode: "006",
tsId: 66,
tsName: "化学镀镍一班郭家梁",
},
nextOrders: "0010",
nextProcedureSet: {
assist: false,
assistTitle: "否",
createMan: {
userId: 1,
userName: "admin",
},
createTime: "2022-11-15 10:30:45",
cycle: 0.0,
cyropactorControl: true,
deleted: false,
eleRate: true,
eleStream: true,
keyValue: 7,
mainProcess: true,
mainProcessTitle: "是",
niValue: true,
phValue: true,
ppsCode: "003",
ppsId: 7,
ppsName: "化学镀镍",
special: false,
specialTitle: "否",
team: null,
updateTime: "2022-11-15 10:30:45",
vSpeed: true,
},
notInQty: 100.0,
nowWorkCenter: {
area: 13000.0,
batchNo: null,
bigBatch: false,
bsJfCenter: {
createMan: {
userId: 1,
userName: "admin",
},
createTime: "2024-12-09 00:00:00",
deleted: false,
jcCode: "RBZX",
jcId: 1,
jcName: "热表中心",
keyValue: 1,
updateTime: "2024-12-09 00:00:00",
},
checkout: false,
craftAbility: "化学镀镍",
createMan: {
userId: 1,
userName: "admin",
},
createTime: "2023-02-06 12:31:36",
deleted: false,
describe: null,
endPoint: null,
keyValue: 81,
leaderUser: {
userId: 541,
userName: "崔殿龙",
},
limitType: 0,
processes: "上挂、下挂、交检、化学镀镍、喷砂",
quantity: null,
roundCycle: null,
saturation: 85.0,
sign: "4",
startPoint: null,
team: "化学镀镍一班崔胜伟、化学镀镍一班郭家梁",
updateTime: "2023-03-06 18:42:47",
wcCode: "001",
wcId: 81,
wcName: "化学镀镍作业中心",
whetherPlate: false,
},
oem: false,
oemOut: true,
oemType: -1,
oldRunStatus: null,
orderMarkTitle: "热表中心",
orderWoCode: "WO-221296443-R06",
orderWoCodeDeliverKey: null,
orders: "0005",
outTime: null,
pgrId: null,
pickingStatus: 0,
pickingStatusTitle: "未领取",
pjYieldOrder: {
batchNo: "Y0382304283",
bsProcedureQua: null,
businessType: 1,
businessTypeTitle: "热表中心",
cardNo: "1016870429",
craftId: null,
curStatus: 0,
curStatusTitle: "待接收",
custodian: "杨肖肖",
demandDate: "2023-06-16",
dsCraft: null,
dsPart: null,
entrustDept: "采购与物流中心(成件)",
failureMan: {
userId: 326,
userName: "02051",
},
failureMemo: "分派成功!",
failureTime: null,
fatherYoId: null,
keyValue: 156703,
manualIncrease: false,
memo: "XXXX",
newlevFlag: null,
nextRoam: null,
nextRoamName: null,
partCode: "21E8-154-1516-E9",
partName: "18-线夹",
pdmUrl: null,
planUser: "白洁",
plate: "XXX",
poArea: 0.4348,
poCode: "WO-221296443",
poMemo: null,
poProdLine: null,
poQty: 100.0,
primaryCraft: "库1-2(机加)-4(表)-库2",
priority: 1,
prodIdent: "JII",
produceBool: false,
productType: "XXXX",
recseqno: null,
releaseDate: "2022-12-17",
reworkCode: null,
reworkMemo: null,
reworkNo: null,
roamName: null,
roamNo: "B5286963",
siteWork: false,
sjKitPreparation: null,
sjMoldPreparation: null,
syncTime: "2023-04-14 14:42:49",
useDept: "制造一部(38999)",
useDeptcode: null,
yieldType: 1,
yoCode: "WX-2212694911",
yoId: 156703,
},
planEndDate: "2023-04-18 18:19:35",
planner: {
userId: 355,
userName: "07188",
},
plateGoodsCode: null,
plateSingleQuota: 0.0,
plateSingleQuotaTotal: 0.0,
printCode: "HZQD20230509001",
printFlag: true,
printMan: {
userId: 541,
userName: "崔殿龙",
},
printTime: "2023-05-09 19:08:13",
priority: 1,
priorityTitle: "正常",
procedureSet: {
assist: false,
assistTitle: "否",
createMan: {
userId: 1,
userName: "admin",
},
createTime: "2022-11-15 10:30:29",
cycle: 0.0,
cyropactorControl: false,
deleted: false,
eleRate: true,
eleStream: true,
keyValue: 6,
mainProcess: true,
mainProcessTitle: "是",
niValue: false,
phValue: false,
ppsCode: "002",
ppsId: 6,
ppsName: "上挂",
special: false,
specialTitle: "否",
team: null,
updateTime: "2022-11-15 10:30:29",
vSpeed: false,
},
processingUnit: "化学镀镍一班郭家梁",
producycle: 4,
pushFlag: true,
putStoreTime: null,
qcReworkCode: null,
quotaExceptional: false,
reInStore: false,
readStatus: null,
readStatusTiTle: "未准备",
recDept: null,
receptionTime: null,
reworkCode: null,
reworkMemo: null,
reworkNo: null,
rsCode: null,
runStatus: 3,
runStatusTitle: "加工中",
schedStatus: 0,
scrapQty: 0.0,
sendDownTime: "2023-04-14 18:19:35",
smBatch: "是",
subList: null,
subRunStatus: null,
testQty: 0,
tools: null,
totalArea: 43.48,
woCode: "WO-221296443-R06",
woId: 2485,
wpId: 14788,
ybCode: null,
ybLocal: null,
},
printFlag: false,
printMan: null,
runStatus: 2,
runStatusTitle: "审批中",
runType: 1,
runTypeTitle: "转外协",
systemData: false,
woCode: "WO-221296443-R06",
worId: 8246,
},
];
this.page.total = this.data.length;
this.loading = false;
setTimeout(() => {
this.selectionClear();
}, 500);
getList({
current:this.page.currentPage,
size:this.page.pageSize,
runType:1,
...this.query,
}).then(res =>{
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false
})
// this.data = [
// {
// approvalMan: null,
// approvalMemo: null,
// approvalTime: null,
// collaborate: true,
// createMan: {
// userId: 541,
// userName: "殿",
// },
// createTime: "2024-01-22 09:48:54",
// deliverKey: null,
// inCustomer: null,
// inTeam: null,
// keyValue: 8246,
// memo: "11111",
// outCustomer: null,
// outTeam: {
// tsCode: "006",
// tsId: 66,
// tsName: "",
// },
// prWorkOrder: {
// approvalStatus: 2,
// batchArea: 43.48,
// batchNo: "Y0382304283",
// bsOemCustomer: null,
// ca: "E386-",
// cardNo: "1016870429",
// closeMan: null,
// closeTime: null,
// collaborate: false,
// collaborateText: "",
// createTime: "2023-04-14 18:19:35",
// currentBsOemCustomer: null,
// currentMakeTeam: {
// tsCode: "006",
// tsId: 66,
// tsName: "",
// },
// demandDate: "2023-04-18",
// dispatcher: {
// userId: 355,
// userName: "07188",
// },
// frontProcedureSet: null,
// handoverTime: null,
// hrTypeBool: null,
// inventoryQty: 0.0,
// jcName: null,
// keyValue: 2485,
// lastInstoreTime: null,
// lossQty: 0,
// mainProcessingUnit: "",
// makeQty: 100.0,
// makeTeam: {
// tsCode: "006",
// tsId: 66,
// tsName: "",
// },
// makeUnit: "",
// meetCycle: 0,
// memo: null,
// mesCardNo: null,
// moCode: null,
// moLocal: null,
// nextBsOemCustomer: null,
// nextMakeTeam: {
// tsCode: "006",
// tsId: 66,
// tsName: "",
// },
// nextOrders: "0010",
// nextProcedureSet: {
// assist: false,
// assistTitle: "",
// createMan: {
// userId: 1,
// userName: "admin",
// },
// createTime: "2022-11-15 10:30:45",
// cycle: 0.0,
// cyropactorControl: true,
// deleted: false,
// eleRate: true,
// eleStream: true,
// keyValue: 7,
// mainProcess: true,
// mainProcessTitle: "",
// niValue: true,
// phValue: true,
// ppsCode: "003",
// ppsId: 7,
// ppsName: "",
// special: false,
// specialTitle: "",
// team: null,
// updateTime: "2022-11-15 10:30:45",
// vSpeed: true,
// },
// notInQty: 100.0,
// nowWorkCenter: {
// area: 13000.0,
// batchNo: null,
// bigBatch: false,
// bsJfCenter: {
// createMan: {
// userId: 1,
// userName: "admin",
// },
// createTime: "2024-12-09 00:00:00",
// deleted: false,
// jcCode: "RBZX",
// jcId: 1,
// jcName: "",
// keyValue: 1,
// updateTime: "2024-12-09 00:00:00",
// },
// checkout: false,
// craftAbility: "",
// createMan: {
// userId: 1,
// userName: "admin",
// },
// createTime: "2023-02-06 12:31:36",
// deleted: false,
// describe: null,
// endPoint: null,
// keyValue: 81,
// leaderUser: {
// userId: 541,
// userName: "殿",
// },
// limitType: 0,
// processes: "",
// quantity: null,
// roundCycle: null,
// saturation: 85.0,
// sign: "4",
// startPoint: null,
// team: "",
// updateTime: "2023-03-06 18:42:47",
// wcCode: "001",
// wcId: 81,
// wcName: "",
// whetherPlate: false,
// },
// oem: false,
// oemOut: true,
// oemType: -1,
// oldRunStatus: null,
// orderMarkTitle: "",
// orderWoCode: "WO-221296443-R06",
// orderWoCodeDeliverKey: null,
// orders: "0005",
// outTime: null,
// pgrId: null,
// pickingStatus: 0,
// pickingStatusTitle: "",
// pjYieldOrder: {
// batchNo: "Y0382304283",
// bsProcedureQua: null,
// businessType: 1,
// businessTypeTitle: "",
// cardNo: "1016870429",
// craftId: null,
// curStatus: 0,
// curStatusTitle: "",
// custodian: "",
// demandDate: "2023-06-16",
// dsCraft: null,
// dsPart: null,
// entrustDept: "()",
// failureMan: {
// userId: 326,
// userName: "02051",
// },
// failureMemo: "",
// failureTime: null,
// fatherYoId: null,
// keyValue: 156703,
// manualIncrease: false,
// memo: "XXXX",
// newlevFlag: null,
// nextRoam: null,
// nextRoamName: null,
// partCode: "21E8-154-1516-E9",
// partName: "18-线",
// pdmUrl: null,
// planUser: "",
// plate: "XXX",
// poArea: 0.4348,
// poCode: "WO-221296443",
// poMemo: null,
// poProdLine: null,
// poQty: 100.0,
// primaryCraft: "1-2-4-2",
// priority: 1,
// prodIdent: "JII",
// produceBool: false,
// productType: "XXXX",
// recseqno: null,
// releaseDate: "2022-12-17",
// reworkCode: null,
// reworkMemo: null,
// reworkNo: null,
// roamName: null,
// roamNo: "B5286963",
// siteWork: false,
// sjKitPreparation: null,
// sjMoldPreparation: null,
// syncTime: "2023-04-14 14:42:49",
// useDept: "(38999)",
// useDeptcode: null,
// yieldType: 1,
// yoCode: "WX-2212694911",
// yoId: 156703,
// },
// planEndDate: "2023-04-18 18:19:35",
// planner: {
// userId: 355,
// userName: "07188",
// },
// plateGoodsCode: null,
// plateSingleQuota: 0.0,
// plateSingleQuotaTotal: 0.0,
// printCode: "HZQD20230509001",
// printFlag: true,
// printMan: {
// userId: 541,
// userName: "殿",
// },
// printTime: "2023-05-09 19:08:13",
// priority: 1,
// priorityTitle: "",
// procedureSet: {
// assist: false,
// assistTitle: "",
// createMan: {
// userId: 1,
// userName: "admin",
// },
// createTime: "2022-11-15 10:30:29",
// cycle: 0.0,
// cyropactorControl: false,
// deleted: false,
// eleRate: true,
// eleStream: true,
// keyValue: 6,
// mainProcess: true,
// mainProcessTitle: "",
// niValue: false,
// phValue: false,
// ppsCode: "002",
// ppsId: 6,
// ppsName: "",
// special: false,
// specialTitle: "",
// team: null,
// updateTime: "2022-11-15 10:30:29",
// vSpeed: false,
// },
// processingUnit: "",
// producycle: 4,
// pushFlag: true,
// putStoreTime: null,
// qcReworkCode: null,
// quotaExceptional: false,
// reInStore: false,
// readStatus: null,
// readStatusTiTle: "",
// recDept: null,
// receptionTime: null,
// reworkCode: null,
// reworkMemo: null,
// reworkNo: null,
// rsCode: null,
// runStatus: 3,
// runStatusTitle: "",
// schedStatus: 0,
// scrapQty: 0.0,
// sendDownTime: "2023-04-14 18:19:35",
// smBatch: "",
// subList: null,
// subRunStatus: null,
// testQty: 0,
// tools: null,
// totalArea: 43.48,
// woCode: "WO-221296443-R06",
// woId: 2485,
// wpId: 14788,
// ybCode: null,
// ybLocal: null,
// },
// printFlag: false,
// printMan: null,
// runStatus: 2,
// runStatusTitle: "",
// runType: 1,
// runTypeTitle: "",
// systemData: false,
// woCode: "WO-221296443-R06",
// worId: 8246,
// },
// ];
// this.page.total = this.data.length;
// this.loading = false;
// setTimeout(() => {
// this.selectionClear();
// }, 500);
},
},
};

@ -18,7 +18,9 @@
@on-load="onLoad"
:row-class-name="rowCLassName"
>
<template #menu-left> </template>
<template #menu-left>
<el-button type="primary" @click="materialFormPrint">领料单打印</el-button>
</template>
<template #menu-right="{ size }">
<!-- 加工中 -->
@ -44,12 +46,12 @@
</template>
<template #menu="scope">
<!-- <el-button type="primary" link @click="memoDialogFun(scope.row)">关闭</el-button> -->
<template v-if="scope.row.approvalStatus == 2">
<!-- <template v-if="scope.row.approvalStatus == 2"> -->
<!-- <el-button type="primary" link @click="takeBack(scope.row)"
>领料单打印</el-button
> -->
<el-button type="primary" link @click="changeFn(scope.row)">厂家更改</el-button>
</template>
<!-- </template> -->
<template
v-if="scope.row.approvalStatus != 2 && scope.row.runStatus < 15"
@ -112,7 +114,10 @@
@cancel="cancel"
:takeBackOpen="changeOpen"
v-if="changeOpen"
:wor-id="worId"
></manufacturerChange>
<!-- 领料单打印 -->
<materialPrint v-if="showPrint" :showPrint="showPrint" @cancel="cancel"></materialPrint>
</basic-container>
</template>
<script>
@ -122,16 +127,19 @@ import memoDialog from "./memoDialog.vue";
import takeBack from "./takeBack.vue";
import turnFacInner from "./turnFacInner.vue";
import manufacturerChange from "./manufacturerChange.vue";
import materialPrint from "./materialPrint.vue"
export default {
components: {
memoDialog,
takeBack,
turnFacInner,
manufacturerChange,
materialPrint,
// setCraftAbility
},
data() {
return {
showPrint:false,
turnFacInnerOpen: false,
rowItem: {},
takeBackOpen: false,
@ -588,7 +596,8 @@ export default {
},
methods: {
//
changeFn() {
changeFn(row) {
this.worId = row.woId
this.changeOpen = true;
},
turnFacInner(row) {
@ -637,6 +646,7 @@ export default {
this.showIp = true;
},
cancel(isRefresh) {
this.showPrint = false
this.workRateOpen = false;
this.isOpen = false;
this.turnOemOpen = false;
@ -777,6 +787,9 @@ export default {
}
done();
},
materialFormPrint(){
this.showPrint = true
},
// beforeClose
beforeClose(done) {
this.parentId = "";

@ -1,6 +1,6 @@
<template>
<el-dialog title="厂家更改" v-model="setCrewShow" :before-close="cancel" width="450px" @open="open">
<avue-form :option="option"></avue-form>
<avue-form ref="form" v-model="formData" :option="option"></avue-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancel()">取消</el-button>
@ -10,6 +10,7 @@
</el-dialog>
</template>
<script>
import {changeFactory} from "@/api/outsourcingManagement/oemOrder"
export default {
props: {
takeBackOpen: {
@ -33,33 +34,45 @@ export default {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '旧厂家',
prop: 'scrapQty',
span: 23,
controlsPosition: '',
disabled:true,
},
// {
// label: '',
// prop: 'scrapQty',
// span: 23,
// controlsPosition: '',
// disabled:true,
// },
{
label: '新厂家',
prop: 'deliverKey',
span: 23,
type:'select',
dicData:[
{
label:'厂家一',
value:1
},
dicUrl:'/api/blade-desk/BA/Oem/listForSelect',
props:{
label:"ocName",
value:'id'
},
rules:[
{
label:'厂家2',
value:2
},
{
label:'厂家3',
value:3
required:true,
message:'请选择厂家',
trigger:'blur'
}
]
// dicData:[
// {
// label:'',
// value:1
// },
// {
// label:'2',
// value:2
// },
// {
// label:'3',
// value:3
// }
// ]
},
// {
// label: '',
@ -110,7 +123,22 @@ export default {
this.formData = { ocId: null };
// this.$refs.form.resetFields();
this.$emit('cancel', typeof isRefresh === 'boolean' && isRefresh);
}
},
submit(){
this.$refs.form.validate((valid, done, msg) => {
if(valid){
changeFactory({
worId:this.worId,
ocId:this.formData.deliverKey
}).then(res =>{
if(res.data.code == 200){
this.$message.success('修改成功')
this.cancel(true)
}
})
}
})
},
},
mounted() {
this.setCrewShow = this.takeBackOpen

@ -0,0 +1,102 @@
<template>
<el-dialog title="领料单打印" v-model="setCrewShow" :before-close="cancel" fullscreen @open="open">
<el-form :inline="true" ref="linesForm" :model="lineForm" :rules="lineRules" label-width="90px">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="外协厂商:" prop="ocId">
<el-select v-model="lineForm.ocId" placeholder="请选择" style="width: 300px;">
<el-option v-for="item in ocData" :key="item.id" :label="item.ocName" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="外协单号:" prop="wxNo">
<el-input v-model="lineForm.wxNo" placeholder="请输入" style="width: 300px;"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="分派日期:" prop="wxNo">
<el-date-picker type="daterange" placeholder="请选择" v-model="lineForm.planIssuanceTime"
format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 300px;"></el-date-picker>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item style="float: right;">
<el-button type="primary" @click="handleSearch">搜索</el-button>
<el-button @click="handleReset">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="tableData">
<el-table-column type="selection" width="55px"></el-table-column>
<el-table-column label="外协订单号" prop="wxNo"></el-table-column>
<el-table-column label="零件号" prop="partCode"></el-table-column>
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="生产标识" prop="productIdent"></el-table-column>
<el-table-column label="分派日期" prop="planIssuanceTime"></el-table-column>
<el-table-column label="需求数量" prop="makeQty"></el-table-column>
<el-table-column label="协作计划工序" prop="planningProcess"></el-table-column>
<el-table-column label="计划类型" prop="planningType"></el-table-column>
<el-table-column label="主工序代码" prop="mainProcessCode"></el-table-column>
<el-table-column label="单间面积" prop="area"></el-table-column>
<el-table-column label="镀种" prop="plate"></el-table-column>
<el-table-column label="备注" prop="memo"></el-table-column>
</el-table>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancel()">取消</el-button>
<el-button type="primary" @click="submit()"> 确认</el-button>
</div>
</template>
</el-dialog>
</template>
<script>
import {getOemManufacturer,getPrintList} from "@/api/outsourcingManagement/oemOrder"
export default {
props: {
showPrint: {
type: Boolean,
default: false,
},
},
data() {
return {
setCrewShow: false,
lineForm:{},
lineRules:{},
ocData:[],
tableData:[],
};
},
async mounted() {
const ocRes = await getOemManufacturer();
this.ocData = ocRes.data.data;
this.setCrewShow = this.showPrint;
},
methods: {
cancel(val) {
this.setCrewShow = false;
this.$emit('cancel', val);
},
handleSearch(){
let params = {
ocId:this.lineForm.ocId && this.lineForm.ocId,
wxNo:this.lineForm.wxNo && this.lineForm.wxNo,
current:1,
size:9999
// planIssuanceTimeStart:this.lineForm.planIssuanceTime && this.lineForm.planIssuanceTime.length != 0 && this.lineForm.planIssuanceTime[0],
// planIssuanceTimeEnd:this.lineForm.planIssuanceTime && this.lineForm.planIssuanceTime.length != 0 && this.lineForm.planIssuanceTime[1],
}
getPrintList(params).then(res=>{
console.log('res-----------',res)
this.tableData = res.data.data.records
})
},
},
};
</script>
<style>
</style>
Loading…
Cancel
Save