计划模块接口联调

dev-scheduling
jinna 2 months ago
parent 9ccf47a096
commit b2abda115e
  1. 29
      src/api/outsourcingManagement/oemOrder.js
  2. 38
      src/api/outsourcingManagement/oemProcess.js
  3. 2022
      src/views/oem/oemOrder/index.vue
  4. 55
      src/views/oem/oemOrder/takeBack.vue
  5. 19
      src/views/oem/oemOrder/turnFacInner.vue
  6. 165
      src/views/oem/oemProcess/index.vue

@ -0,0 +1,29 @@
// 外协订单
import request from '@/axios';
// 列表
export const getList = params => {
return request({
url: '/api/blade-desk/oemOrder/queryOemOrder',
method: 'get',
params
});
};
// 外协订单收回
export const oemBack = params => {
return request({
url: '/api/blade-desk/oemOrder/oemTakeBack',
method: 'post',
data: params
});
};
// 获取转厂内数据
export const getInProcess = data => {
return request({
url: '/api/blade-desk/workOrder/listProProcess',
method: 'post',
data
});
};

@ -0,0 +1,38 @@
// 外协工序维护
import request from '@/axios';
// 列表
export const getList = params => {
return request({
url: '/api/blade-desk/mesOemProcess/page',
method: 'get',
params
});
};
// 新增
export const addOutProcess = params => {
return request({
url: '/api/blade-desk/mesOemProcess/save',
method: 'post',
data: params
});
};
// 修改
export const updateOutProcess = params => {
return request({
url: '/api/blade-desk/mesOemProcess/update',
method: 'post',
data: params
});
};
// 删除
export const deleteOutProcess = params => {
return request({
url: '/api/blade-desk/mesOemProcess/remove',
method: 'post',
params
});
};

File diff suppressed because it is too large Load Diff

@ -1,15 +1,16 @@
<template> <template>
<el-dialog title="收回" v-model="setCrewShow" :before-close="cancel" width="450px" @open="open"> <el-dialog title="收回" v-model="setCrewShow" :before-close="cancel" width="450px" @open="open">
<avue-form :option="option"></avue-form> <avue-form :option="option" :rules="rules" ref="form" v-model="formData"></avue-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="cancel()">取消</el-button> <el-button @click="cancel()">取消</el-button>
<el-button type="primary" @click="submit()"> 确认</el-button> <el-button type="primary" @click="takeBack()"> 确认</el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {oemBack} from "@/api/outsourcingManagement/oemOrder"
export default { export default {
props: { props: {
takeBackOpen: { takeBackOpen: {
@ -43,12 +44,14 @@ export default {
prop: 'scrapQty', prop: 'scrapQty',
span: 23, span: 23,
controlsPosition: '', controlsPosition: '',
type: 'number' type: 'number',
value:0
}, },
{ {
label: '试验数量', label: '试验数量',
prop: 'testQty', prop: 'testQty',
span: 23, span: 23,
value:0,
controlsPosition: '', controlsPosition: '',
type: 'number' type: 'number'
}, },
@ -59,32 +62,34 @@ export default {
}, },
methods: { methods: {
takeBack() { takeBack() {
// this.$refs.form.validate((valid) => { this.$refs.form.validate((valid, done, msg) => {
// if (valid) { if(valid){
// this.formData.worId = this.worId; this.$confirm("是否确认收回此订单?", {
// this.$confirm( confirmButtonText: "确定",
// this.$t('!'), cancelButtonText: "取消",
// this.$t('videaVueLib.publics.message.confirmMsg'), type: "warning",
// { }).then(() => {
// confirmButtonText: this.$t('videaVueLib.publics.btn.confirm'), let params = {
// cancelButtonText: this.$t('videaVueLib.publics.btn.cancle'), ...this.formData,
// type: 'warning' workOrderRunId:this.worId
// } }
// ).then(() => { console.log('params ----------',params)
// this.$ajax.post('oemOrder/takeBack', this.formData).then((res) => { oemBack(params).then(res =>{
// if (res.code === 0) { if(res.data.code === 200){
// this.$message.success(this.$t('oem.takeBackSuccess')); this.$message.success('收回成功');
// this.cancel(true); this.cancel(true);
// } }
// }); }).catch(err =>{
// }); done()
// } })
// }); });
}
});
}, },
cancel(isRefresh) { cancel(isRefresh) {
this.setCrewShow = false this.setCrewShow = false
this.formData = { ocId: null }; // this.formData = { ocId: null };
// this.$refs.form.resetFields(); // this.$refs.form.resetFields();
this.$emit('cancel', typeof isRefresh === 'boolean' && isRefresh); this.$emit('cancel', typeof isRefresh === 'boolean' && isRefresh);
} }

@ -15,6 +15,7 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {getInProcess} from "@/api/outsourcingManagement/oemOrder"
export default { export default {
props: { props: {
turnFacInnerOpen: { turnFacInnerOpen: {
@ -72,7 +73,7 @@ export default {
column: [ column: [
{ {
label: '工序号', label: '工序号',
prop: 'prWorkPlan.orders', prop: 'orders',
bind: 'prWorkPlan.orders', bind: 'prWorkPlan.orders',
search: false, search: false,
sortable: true, sortable: true,
@ -153,7 +154,19 @@ export default {
} }
}; };
}, },
mounted() {
this.setCrewShow = this.turnFacInnerOpen
this.getData()
},
methods: { methods: {
getData(){
getInProcess({
woIds:[this.rowItem.woId],
runType:2
}).then(res =>{
this.data = res.data.data
})
},
takeBack() { takeBack() {
// this.$refs.form.validate((valid) => { // this.$refs.form.validate((valid) => {
// if (valid) { // if (valid) {
@ -188,8 +201,6 @@ export default {
} }
}, },
mounted() {
this.setCrewShow = this.turnFacInnerOpen
},
}; };
</script> </script>

@ -8,6 +8,8 @@
v-model:page="page" v-model:page="page"
ref="crud" ref="crud"
@row-del="rowDel" @row-del="rowDel"
@row-save="rowSave"
@row-update="rowUpdate"
@search-change="searchChange" @search-change="searchChange"
@search-reset="searchReset" @search-reset="searchReset"
@selection-change="selectionChange" @selection-change="selectionChange"
@ -17,27 +19,23 @@
@on-load="onLoad" @on-load="onLoad"
> >
<template #menu-left> <template #menu-left>
<el-button type="danger">删除</el-button> <el-button type="danger" @click="handleDelete">删除</el-button>
</template> </template>
<template #menu-right> <template #menu-right>
<el-button type="primary">导入</el-button> <el-button type="primary" @click="handleImport">导入</el-button>
</template>
<template #menu="scope">
<el-button type="text" size="mini" @click="handle(scope.row.tbId)"
>处理</el-button
>
</template> </template>
</avue-crud> </avue-crud>
<!-- 导入 --> <!-- 导入 -->
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport" <basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template" templateUrl="/blade-desk/mesOemProcess/downloadExcelTemplate"
templateName="试验项目模板.xlsx" templateName="外协工序模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel" importUrl="/blade-desk/mesOemProcess/importExcel"
@closeDialog="closeDialog"></basic-import> @closeDialog="closeDialog"></basic-import>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import basicImport from '@/components/basic-import/main.vue' import basicImport from '@/components/basic-import/main.vue'
import {getList,addOutProcess,updateOutProcess,deleteOutProcess} from "@/api/outsourcingManagement/oemProcess"
export default { export default {
components: { components: {
basicImport basicImport
@ -46,6 +44,7 @@ export default {
return { return {
isShowImport: false, isShowImport: false,
loading: false, loading: false,
query:{},
selectionList: [], selectionList: [],
option: { option: {
height: "auto", height: "auto",
@ -70,7 +69,7 @@ export default {
editBtnIcon: " ", editBtnIcon: " ",
viewBtnText: "详情", viewBtnText: "详情",
labelWidth: 90, labelWidth: 90,
menuWidth: 180, menuWidth: 120,
dialogWidth: 440, dialogWidth: 440,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -85,7 +84,7 @@ export default {
searchLabelPosition: "left", searchLabelPosition: "left",
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: "left", menuAlign: "center",
gridBtn: false, gridBtn: false,
searchMenuPosition: "right", searchMenuPosition: "right",
addBtnIcon: " ", addBtnIcon: " ",
@ -96,7 +95,7 @@ export default {
column: [ column: [
{ {
label: "工序编码", label: "工序编码",
prop: "bopCode", prop: "oemProcessCode",
sortable: true, sortable: true,
filter: true, filter: true,
span: 12, span: 12,
@ -105,7 +104,7 @@ export default {
}, },
{ {
label: "工序", label: "工序",
prop: "bopName", prop: "processIdStr",
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
@ -113,16 +112,11 @@ export default {
searchLabelWidth: 50, searchLabelWidth: 50,
type: "select", type: "select",
filterable: true, filterable: true,
dicData: [ dicUrl:"/api/blade-scheduling/processSet/findList",
{ props:{
label: "工序1", label: "name",
value: 1, value:"id"
},
{
label: "工序2",
value: 2,
}, },
],
rules: [ rules: [
{ {
required: true, required: true,
@ -130,10 +124,14 @@ export default {
trigger: "blur", trigger: "blur",
}, },
], ],
change:val =>{
console.log('val==========',val)
this.form.oemProcessCode = val.item.code
}
}, },
{ {
label: "工艺能力", label: "工艺能力",
prop: "caNameTest", prop: "craftIds",
search: false, search: false,
sortable: true, sortable: true,
filter: true, filter: true,
@ -141,16 +139,11 @@ export default {
type: "select", type: "select",
multiple: true, multiple: true,
filterable: true, filterable: true,
dicData: [ dicUrl:"/api/blade-desk/BA/craftAbility/findList",
{ props:{
label: "工序1", label:'caName',
value: 1, value:"id"
}, },
{
label: "工序2",
value: 2,
},
],
rules: [ rules: [
{ {
required: true, required: true,
@ -174,6 +167,12 @@ export default {
handleImport() { handleImport() {
this.isShowImport = true this.isShowImport = true
}, },
closeDialog(val){
this.isShowImport = false
if(val){
this.onLoad()
}
},
handleDelete() { handleDelete() {
if (this.selectionList.length === 0) { if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据"); this.$message.warning("请选择至少一条数据");
@ -189,14 +188,102 @@ export default {
selectionChange(list) { selectionChange(list) {
this.selectionList = list; this.selectionList = list;
}, },
searchChange(params, done){
this.page.currentPage = 1
this.query = params
this.onLoad()
done()
},
searchReset(){
this.query = {}
this.onLoad()
},
currentChange(currentPage){
this.page.currentPage = currentPage
},
sizeChange(pageSize){
this.page.pageSize = pageSize
},
refreshChange(){
this.onLoad()
},
rowSave(row, done, loading){
row.processId = row.processIdStr
addOutProcess(row).then(res =>{
if(res.data.code == 200){
this.$message.success('添加成功')
done()
this.onLoad()
}
}).catch(err =>{
done()
})
},
rowUpdate(row, index, done, loading){
row.processId = row.processIdStr
updateOutProcess(row).then(res =>{
if(res.data.code == 200){
this.$message.success('修改成功')
done()
this.onLoad()
}
}).catch(err =>{
done()
})
},
handleDelete(){
if(this.selectionList.length == 0){
this.$message.error('请至少选择一条数据')
return
}
this.$confirm("确定删除选中数据?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
deleteOutProcess({
ids:this.selectionList.map(item => item.id).join(",")
}).then(res =>{
if(res.data.code == 200){
this.$message.success('删除成功')
this.onLoad()
}
})
})
},
rowDel(row){
this.$confirm("确定删除选中数据?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
deleteOutProcess({
ids:row.id
}).then(res =>{
if(res.data.code == 200){
this.$message.success('删除成功')
this.onLoad()
}
})
})
},
onLoad() { onLoad() {
this.loading = true; this.loading = true;
this.data = [{}]; getList({
this.page.total = this.data.length; current:this.page.currentPage,
this.loading = false; size:this.page.pageSize,
setTimeout(() => { ...this.query
this.selectionClear(); }).then(res =>{
}, 500); this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false
})
// this.data = [{}];
// this.page.total = this.data.length;
// this.loading = false;
// setTimeout(() => {
// this.selectionClear();
// }, 500);
}, },
}, },
}; };

Loading…
Cancel
Save