检验分配升级

master
zhaoxiaolin 3 months ago
parent 1821d792b1
commit 8872f5a12f

@ -96,4 +96,10 @@ export function getBomList(query) {
}); });
} }
// 删除生产报工物料消耗
export function deleteConsume(workorderCode) {
return request({
url: '/mes/reportWorkConsume/deleteConsume/' + workorderCode,
method: 'delete'
});
}

@ -85,3 +85,18 @@ export function delFile(id) {
method: 'delete' method: 'delete'
}); });
} }
// 查询检验节点维护详细
export function listBelongToStandars() {
return request({
url: '/quality/checkType/listBelongToStandars',
method: 'get'
});
}
// 查询检验节点维护详细
export function listBelongToLines() {
return request({
url: '/quality/checkType/listBelongToLines',
method: 'get'
});
}

@ -91,3 +91,12 @@ export function deleteByMaterialCode(data) {
data: data data: data
}); });
} }
// 修改用户物料关联
export function updateBelongTo(data) {
return request({
url: '/quality/material/updateBelongTo',
method: 'put',
data: data
});
}

@ -518,7 +518,7 @@
</el-tabs> </el-tabs>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="warning" @click="clearConsume" >一键清理</el-button>
<el-button type="primary" @click="cancel" v-if="optType == 'view'"></el-button> <el-button type="primary" @click="cancel" v-if="optType == 'view'"></el-button>
<el-button :disabled="loading" type="primary" @click="submitConsume" v-else> </el-button> <el-button :disabled="loading" type="primary" @click="submitConsume" v-else> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
@ -704,7 +704,7 @@ import {
submitConsumePS, submitConsumePS,
submitReportInfo, submitReportInfo,
getBomList, getBomList,
getAllLevelConsumeList, getAllLevelConsumeList,deleteConsume
} from "@/api/mes/reportWorkConsume"; } from "@/api/mes/reportWorkConsume";
import ReportWorkConsume from "./reportWorkConsume.vue"; import ReportWorkConsume from "./reportWorkConsume.vue";
import ItemSelectUser from "./selectUser.vue"; import ItemSelectUser from "./selectUser.vue";
@ -1434,9 +1434,7 @@ export default {
}); });
this.mergedArray = newPConsumeRows; this.mergedArray = newPConsumeRows;
this.pConsumeRows = newPConsumeRows; this.pConsumeRows = newPConsumeRows;
console.log("过滤后:", this.pConsumeRows);
} }
console.log(this.pConsumeRows, selection, "wwwwww");
}, },
// all(zxl) // all(zxl)
allConsumeSelection(selection, row) { allConsumeSelection(selection, row) {
@ -1490,6 +1488,16 @@ export default {
this.loading = false; // loading this.loading = false; // loading
}); });
}, },
/**清理重复报工损耗**/
clearConsume(){
const workorderCode = this.selectRow[0].workorderCode;
this.$modal.confirm('是否确认清理工单号"' + workorderCode + '"的数据项?').then(function() {
return deleteConsume(workorderCode);
}).then(() => {
this.$modal.msgSuccess("清理成功");
this.cancel();
}).catch(() => {});
},
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download( this.download(

@ -154,34 +154,40 @@
<!-- 用户绑定 --> <!-- 用户绑定 -->
<el-dialog :title="titleUserBind" :visible.sync="openUserBind" width="800px"> <el-dialog :title="titleUserBind" :visible.sync="openUserBind" width="800px">
<el-table v-loading="userloading" :data="userList" ref="userBindTable" > <el-table v-loading="userloading" :data="userList" ref="userBindTable" >
<el-table-column label="序号" align="center" type="index" width="50" /> <el-table-column label="序号" align="center" type="index" width="50" />
<el-table-column label="员工编号" align="center" prop="userCode" /> <el-table-column label="员工编号" align="center" prop="userCode" />
<el-table-column label="姓名" align="center" prop="userName" /> <el-table-column label="姓名" align="center" prop="userName" />
<el-table-column label="来料类别" align="center" prop="attr1" > <el-table-column label="来料类别" align="center" prop="attr1" >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
:options="dict.type.order_type_ll" :options="dict.type.order_type_ll"
:value="scope.row.attr1" :value="scope.row.attr1"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" align="center" label="操作" width="100"> <el-table-column label="所属线体/标准" align="center" prop="attr2" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-select v-model="scope.row.attr2" placeholder="请选择" clearable @change="selectBelongTo(scope.row)">
size="small" <el-option
type="danger" v-for="item in belongToOptions"
plain :key="item.typeCode"
@click="deleteUser(scope.row)" :label="item.typeName"
> :value="item.typeCode"
移除</el-button> ></el-option>
</template> </el-select>
</el-table-column> </template>
</el-table> </el-table-column>
<div class="button-container"> <el-table-column fixed="right" align="center" label="操作" width="100">
<el-button size="mini" type="primary" @click="addUser()" >新增员工</el-button> <template slot-scope="scope">
</div> <el-button size="small" type="danger" plain @click="deleteUser(scope.row)"></el-button>
<div slot="footer" class="dialog-footer"> </template>
</el-table-column>
</el-table>
<div class="button-container">
<el-button size="mini" type="primary" @click="addUser()" >新增员工</el-button>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleClose" > </el-button> <el-button type="primary" @click="handleClose" > </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -193,8 +199,10 @@
</template> </template>
<script> <script>
import { listCheckType, getCheckType, delCheckType, addCheckType, updateCheckType } from "@/api/quality/checkType"; import { listCheckType, getCheckType, delCheckType, addCheckType, updateCheckType,
import{ getSelectedUsers, addUserBind, deleteByMaterialCode} from "@/api/quality/userbind"; listBelongToStandars,listBelongToLines
} from "@/api/quality/checkType";
import{ getSelectedUsers, addUserBind, deleteByMaterialCode,updateBelongTo} from "@/api/quality/userbind";
import ItemSelectUser from "./selectUser.vue"; import ItemSelectUser from "./selectUser.vue";
import ItemConfFile from "./confFile.vue"; import ItemConfFile from "./confFile.vue";
export default { export default {
@ -214,19 +222,22 @@ export default {
multiple: true, multiple: true,
// //
showSearch: true, showSearch: true,
openUserBind: false, openUserBind: false,
materialCode: "", materialCode: "",
materialName: "", materialName: "",
attr1: "", attr1: "",
// //
total: 0, total: 0,
// //
checkTypeList: [], checkTypeList: [],
userList: [], userList: [],
userRows: [], userRows: [],
belongToOptions:[],
belongToStandars:[],
belongToLines:[],
// //
title: "", title: "",
titleUserBind: "", titleUserBind: "",
// //
open: false, open: false,
// //
@ -240,7 +251,7 @@ export default {
attr1: null, attr1: null,
factoryCode: null, factoryCode: null,
}, },
getUserParams: { getUserParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
userCode: null, userCode: null,
@ -261,6 +272,8 @@ export default {
}, },
created() { created() {
this.getList(); this.getList();
this.getBelongToLinesList();
this.getBelongToStandars()
}, },
methods: { methods: {
/** 查询检验节点维护列表 */ /** 查询检验节点维护列表 */
@ -272,6 +285,19 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
/** 查询所属线体选择列表 */
getBelongToLinesList() {
listBelongToLines().then(response => {
this.belongToLines = response;
});
},
/** 查询所属标准选择列表 */
getBelongToStandars() {
listBelongToStandars().then(response => {
this.belongToStandars = response;
});
},
// //
cancel() { cancel() {
this.open = false; this.open = false;
@ -363,103 +389,121 @@ export default {
...this.queryParams ...this.queryParams
}, `checkType_${new Date().getTime()}.xlsx`) }, `checkType_${new Date().getTime()}.xlsx`)
}, },
/** 人员绑定按钮操作页面 */ /** 人员绑定按钮操作页面 */
handleBind(row){ handleBind(row){
//this.reset(); //this.reset();
this.userloading = true; this.userloading = true;
//使 //使
this.materialCode = row.orderCode; this.materialCode = row.orderCode;
this.materialName = row.checkName; this.materialName = row.checkName;
this.attr1 = row.attr1; this.attr1 = row.attr1;
this.getUserParams.materialCode = row.orderCode; this.getUserParams.materialCode = row.orderCode;
if(row.orderCode == 'checkTypeSC'|| row.orderCode == 'checkTypeSCXJ' ||
row.orderCode=='checkTypeCPPC' || row.orderCode=='checkTypeCP'){
this.belongToOptions = this.belongToLines;
}else if(row.orderCode == 'checkTypeLL'){
this.belongToOptions = this.belongToStandars;
}
console.log("======"+this.belongToOptions)
// //
getSelectedUsers(this.getUserParams).then(response => { getSelectedUsers(this.getUserParams).then(response => {
this.userList = response.rows; this.userList = response.rows;
this.openUserBind = true; this.openUserBind = true;
this.titleUserBind = "人员绑定详情"; this.titleUserBind = "人员绑定详情";
this.userloading = false; this.userloading = false;
}); });
}, },
getSelectUserList() { getSelectUserList() {
this.userloading = true; this.userloading = true;
//this.getUserParams.materialCode = orderCode; //this.getUserParams.materialCode = orderCode;
getSelectedUsers(this.getUserParams).then(response => { getSelectedUsers(this.getUserParams).then(response => {
this.userList = response.rows; this.userList = response.rows;
this.userloading = false; this.userloading = false;
}); });
}, },
userSelection(selection) { userSelection(selection) {
const allRows = this.userRows.concat(selection) const allRows = this.userRows.concat(selection)
this.userRows = allRows.reduce((acc, cur) => { this.userRows = allRows.reduce((acc, cur) => {
const hasDuplicate = acc.some(item => item.materialCode === cur.materialCode); const hasDuplicate = acc.some(item => item.materialCode === cur.materialCode);
if (!hasDuplicate) { if (!hasDuplicate) {
acc.push(cur); acc.push(cur);
} }
return acc; return acc;
}, []); }, []);
}, },
// //
handleClose() { handleClose() {
this.openUserBind = false; this.openUserBind = false;
}, },
// //
addUser() { addUser() {
this.$refs.itemSelectUser.showFlag = true; this.$refs.itemSelectUser.showFlag = true;
this.$refs.itemSelectUser.getList(); this.$refs.itemSelectUser.getList();
}, },
// //
onSelectUser(obj) { onSelectUser(obj) {
let data = { let data = {
materialCode: this.materialCode, materialCode: this.materialCode,
materialName: this.materialName, materialName: this.materialName,
attr1List: [], attr1List: [],
userCodes: [], userCodes: [],
userNames: [], userNames: [],
} }
obj.forEach((item, index) => { obj.forEach((item, index) => {
data.userCodes.push(item.userCode); data.userCodes.push(item.userCode);
data.userNames.push(item.userName); data.userNames.push(item.userName);
data.attr1List.push(item.attr1); data.attr1List.push(item.attr1);
}); });
addUserBind(data).then(response => { addUserBind(data).then(response => {
if(response.code === 200) {
this.$modal.msgSuccess("人员绑定成功");
}else{
this.$modal.msgError(response.msg);
}
this.getSelectUserList();
});
},
deleteUser(row) {
const userCode = row.userCode;
const userName = row.userName;
const data = {
materialCode: this.materialCode,
userCode: userCode,
userName: userName,
}
this.$modal.confirm('是否确认删除用户名为"' + userName + '"的数据项?').then(function() {
return deleteByMaterialCode(data);
}).then(response => {
if(response.code === 200) { if(response.code === 200) {
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("人员绑定成功");
}else{ }else{
this.$modal.msgError(response.msg); this.$modal.msgError(response.msg);
}
this.getSelectUserList();
});
},
deleteUser(row) {
const userCode = row.userCode;
const userName = row.userName;
const data = {
materialCode: this.materialCode,
userCode: userCode,
userName: userName,
} }
this.getSelectUserList(); this.$modal.confirm('是否确认删除用户名为"' + userName + '"的数据项?').then(function() {
}).catch(() => {}); return deleteByMaterialCode(data);
}, }).then(response => {
if(response.code === 200) {
this.$modal.msgSuccess("删除成功");
}else{
this.$modal.msgError(response.msg);
}
this.getSelectUserList();
}).catch(() => {});
},
// //
handleFile(row) { handleFile(row) {
this.checkType = row.orderCode; this.checkType = row.orderCode;
this.$refs.itemConfFile.initFunc(this.checkType); this.$refs.itemConfFile.initFunc(this.checkType);
this.$refs.itemConfFile.showFlag = true; this.$refs.itemConfFile.showFlag = true;
this.$refs.itemConfFile.getList(); this.$refs.itemConfFile.getList();
}, },
//
selectBelongTo(row){
const data = {
id: row.id,
attr2: row.attr2,
}
updateBelongTo(data).then(response => {
this.$modal.msgSuccess("分配成功");
});
}
} }
}; };
</script> </script>

@ -34,11 +34,12 @@
<el-table v-loading="loading" :data="hourProList" :span-method="objectSpanMethod" border> <el-table v-loading="loading" :data="hourProList" :span-method="objectSpanMethod" border>
<el-table-column label="序号" type="index" align="center" :index="indexMethod" fixed/> <el-table-column label="序号" type="index" align="center" :index="indexMethod" fixed/>
<el-table-column label="白坯名称" align="center" prop="materialName" min-width="100" fixed/> <el-table-column label="白坯名称" align="center" prop="materialName" min-width="100" fixed/>
<el-table-column label="日期" align="center" prop="dataType" min-width="100" fixed/> <el-table-column label="日期" align="center" prop="dataType" min-width="100" fixed/>
<template v-for="(column, index) in showTitles"> <template v-for="(column, index) in showTitles">
<el-table-column align="center" min-width="120" :prop="column.id" :key="column.id" :label="column.titleName"/> <el-table-column align="center" min-width="120" :prop="column.id" :key="column.id" :label="column.titleName"/>
</template> </template>
</el-table> <el-table-column label="累计" align="center" prop="rowSum" min-width="100"/>
</el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="图表" name="second"> <el-tab-pane label="图表" name="second">
<div id="echartss" style="width:1200px;height:450px;"></div> <div id="echartss" style="width:1200px;height:450px;"></div>

@ -38,6 +38,7 @@
<template v-for="(column, index) in showTitles"> <template v-for="(column, index) in showTitles">
<el-table-column align="center" min-width="120" :prop="column.id" :key="column.id" :label="column.titleName"/> <el-table-column align="center" min-width="120" :prop="column.id" :key="column.id" :label="column.titleName"/>
</template> </template>
<el-table-column label="累计" align="center" prop="rowSum" min-width="100"/>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="图表" name="second"> <el-tab-pane label="图表" name="second">

Loading…
Cancel
Save