Commit 6ca2d542 authored by 张海景's avatar 张海景

update:提交工装夹具申请单新增接口联调

parent e7e91326
......@@ -18,6 +18,23 @@ export function listGanttTaskList(query) {
});
}
// 查询生产任务列表加上了字段workunitName
export function listTaskListDetail(query) {
return request({
url: "/mes/pro/protask/listDetail",
method: "get",
params: query,
});
}
// 查询根据任务id获取刀模板
export function getTaskIdMaxProcessTool(query) {
return request({
url: `/mes/pro/protask/getMaxProcessTool/${query.taskId}`,
method: "get",
params: query,
});
}
// 查询生产任务详细
export function getProtask(taskId) {
return request({
......
......@@ -4,7 +4,6 @@
:visible.sync="showFlag"
:modal= false
width="80%"
center
>
<el-row :gutter="20">
<!--分类数据-->
......@@ -220,4 +219,4 @@ export default {
}
}
};
</script>
\ No newline at end of file
</script>
......@@ -5,7 +5,6 @@
:visible.sync="showFlag"
:modal="true"
width="80%"
center
append-to-body
>
<el-row :gutter="20">
......
This diff is collapsed.
<template>
<div class="app-container">
<el-button
v-if="$attrs.optType === 'add'"
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="$refs['ItemSelectRef'].showFlag = true"
>新增</el-button>
<ItemSelect ref="ItemSelectRef" @onSelected="onItemSelect" />
<el-table v-loading="loading" :data="tmToolRequestItemList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<!-- <el-table-column label="主键id" align="center" prop="toolRequestItemId" />
<el-table-column label="刀模板申请单id" align="center" prop="toolRequestId" /> -->
<el-table-column label="刀模板物料名称" align="center" prop="itemName" />
<el-table-column label="数量" align="center" prop="allQuantity" />
<el-table-column label="预计使用寿命" align="center" prop="nextMaintenPeriod" />
<el-table-column width="80px" v-if="$attrs.optType === 'add'" label="数量" align="center" prop="allQuantity" >
<template slot-scope="scope">
<el-input v-model="scope.row.allQuantity" @blur="$emit('sum')" placeholder="请输入数量" />
</template>
</el-table-column>
<el-table-column width="120px" v-else label="数量" align="center" prop="allQuantity" />
<el-table-column width="120px" label="预计使用寿命" align="center" prop="nextMaintenPeriod" />
<el-table-column width="100px" v-if="$attrs.optType === 'add'" label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleRemove(scope.row, scope.$index)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
v-show="total>0&&$attrs.optType !== 'add'"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
......@@ -43,9 +69,11 @@
<script>
import { listTmToolRequestItem, getTmToolRequestItem, delTmToolRequestItem, addTmToolRequestItem, updateTmToolRequestItem } from "@/api/mes/tm/tmToolRequestItem";
import { getTaskIdMaxProcessTool } from "@/api/mes/pro/protask";
import ItemSelect from "@/components/itemSelect/index.vue";
export default {
name: "TmToolRequestItem",
components: {ItemSelect},
props:{
toolRequestId:{
type:String,
......@@ -55,7 +83,7 @@ export default {
data() {
return {
// 遮罩层
loading: true,
loading: false,
// 选中数组
ids: [],
// 非单个禁用
......@@ -84,10 +112,32 @@ export default {
}
};
},
watch: {
'$attrs.taskId'(newVal, oldVal){
if (this.$attrs.optType === 'add') {
this.getTaskList()
}
}
},
created() {
this.getList();
if (this.$attrs.optType !== 'add') {
this.getList();
}
},
methods: {
onItemSelect(list){
// console.log(list, 'list')
const datas = list.map(item => {
return {
itemId:item.itemId,
itemName:item.itemName,
allQuantity: 1,
nextMaintenPeriod: this.$attrs.quantity
}
})
this.tmToolRequestItemList = this.tmToolRequestItemList.concat(datas)
this.$emit('sum')
},
/** 查询刀模板物料申请单列表 */
getList() {
this.loading = true;
......@@ -98,6 +148,30 @@ export default {
this.loading = false;
});
},
/** 查询任务刀模板申请单列表 */
getTaskList() {
this.loading = true;
this.queryParams.taskId = this.$attrs.taskId;
this.queryParams.pageSize = 10000;
getTaskIdMaxProcessTool(this.queryParams).then(response => {
const datas = response.data.map(item => {
return {
...item,
allQuantity: item.AllQuantity
}
});
this.tmToolRequestItemList = this.tmToolRequestItemList.concat(datas)
// this.total = response.total;
this.loading = false;
this.$emit('sum')
});
},
handleRemove(row, index) {
console.log(row,index)
// this.tags.splice(this.tags.indexOf(tag), 1)
this.tmToolRequestItemList.splice(this.tmToolRequestItemList.indexOf(row), 1)
this.$emit('sum')
},
// 取消按钮
cancel() {
this.open = false;
......
<template>
<el-dialog
title="请选择任务单"
v-if="showFlag"
:visible.sync="showFlag"
:modal="true"
width="80%"
append-to-body
:destroy-on-close="true"
:close-on-click-modal="false"
>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="任务单编码" prop="taskCode">
<el-input
v-model="queryParams.taskCode"
placeholder="请输入任务单编码"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生产工单" prop="workOrderCode">
<el-input
v-model="queryParams.workOrderCode"
placeholder="请输入生产工单"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="编排单号" prop="arrangeCode">
<el-input
v-model="queryParams.arrangeCode"
placeholder="请输入编排单号"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="itemList"
@current-change="handleCurrent"
@row-dblclick="handleRowDbClick"
@row-click="handleRowChange"
>
<el-table-column width="50" align="center">
<template v-slot="scope">
<!-- <el-radio
v-model="selectedItemId"
:label="scope.row.itemId"
@change="handleRowChange(scope.row)"
>{{ "" }}</el-radio
> -->
<!-- 可以手动的修改label的值,从而控制选择哪一项 -->
<el-radio class="radio" v-model="selectedItemId" :label="scope.row.taskId"
>&nbsp;</el-radio
>
</template>
</el-table-column>
<el-table-column
label="任务单编码"
width="120"
align="center"
key="taskCode"
prop="taskCode"
>
</el-table-column>
<el-table-column
label="工序名称"
min-width="120"
align="center"
key="processName"
prop="processName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="产品名称"
align="center"
key="itemName"
min-width="150"
prop="itemName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
align="center"
width="80"
key="unitOfMeasure"
prop="unitOfMeasure"
:show-overflow-tooltip="true"
/>
<el-table-column
label="排产数量"
align="center"
key="quantity"
width="100"
prop="quantity"
:show-overflow-tooltip="true"
/>
<el-table-column label="工作单元编码" align="center" prop="workunitId" />
<el-table-column
label="开始生产时间"
align="center"
prop="startTime"
width="180"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span>{{
parseTime(scope.row.startTime, "{y}-{m}-{d}:{h}-{m}-{s}")
}}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect"> </el-button>
<el-button @click="showFlag = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { listTaskListDetail } from "@/api/mes/pro/protask";
import { genCode } from "@/api/system/autocode/rule";
import { getToken } from "@/utils/auth";
import { treeselect } from "@/api/mes/md/itemtype";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "MdItemSingle",
dicts: ["sys_yes_no", "mes_item_product"],
components: { Treeselect },
data() {
return {
showFlag: false,
// 选中数组
selectedItemId: undefined,
selectedRows: undefined,
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 物料产品表格数据
itemList: null,
// 部门树选项
itemTypeOptions: undefined,
// 部门名称
itemTypeName: undefined,
defaultProps: {
children: "children",
label: "label",
},
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
workorderType: 'SELF',
statusStr: 'PREPARE,BEGINNING,ISSUEGENERATED'
},
};
},
watch: {
// 根据名称筛选分类树
itemTypeName(val) {
this.$refs.tree.filter(val);
},
},
created() {
},
mounted() {
this.getList();
},
methods: {
/** 查询物料编码列表 */
getList() {
this.loading = true;
listTaskListDetail(this.queryParams).then((response) => {
this.itemList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
handleCurrent(row) {
if (row) {
this.selectedRows = row;
}
},
handleRowDbClick(row) {
if (row) {
this.selectedRows = row;
this.$emit("onSelected", this.selectedRows);
this.showFlag = false;
}
},
// 单选选中数据
handleRowChange(row) {
if (row) {
this.selectedRows = row;
this.selectedItemId = row.taskId
}
},
//确定选中
confirmSelect() {
if (this.selectedItemId == null || this.selectedItemId == 0) {
this.$notify({
title: "提示",
type: "warning",
message: "请至少选择一条数据!",
});
return;
}
this.$emit("onSelected", this.selectedRows);
this.showFlag = false;
},
},
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment