This commit is contained in:
TianyangZhang 2025-12-02 14:48:05 +08:00
commit 815ba44b77
6 changed files with 172 additions and 198 deletions

View File

@ -113,21 +113,6 @@
</el-table-column>
<el-table-column label="检验" prop="count_tested" v-if="cate=='mainso'">
</el-table-column>
<el-table-column label="组合件信息" v-if="cate == 'good'&&project_code=='gzerp'" width="300">
<template #default="scope">
<div v-if="scope.row.assemb.length > 0">
<div v-for="item in scope.row.assemb" :key="item.id">
<div>
{{ item.material_name }}
<span style="color: gray;font-size: 12px;">:</span>
{{ item.batch }}
<span style="color: gray;font-size: 12px;">:</span>
{{ item.rate }}
</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="不合格数量" prop="count_notok">
</el-table-column>
<el-table-column label="创建时间" prop="create_time" show-overflow-tooltip>
@ -655,8 +640,10 @@ export default {
//
if(index == 6){
propert = 'count';
}else if(index == 7){
}else if(index == 7&&this.mioObj.type == 'sale_out'&&this.project_code=='gx'){
propert = 'count_send';
}else if((index == 7||index == 8)&&column.label=='不合格数量'){
propert = 'count_notok';
}
if (propert!=='') {
const values = data.map((item) =>
@ -674,7 +661,7 @@ export default {
}, 0);
}
}
if(index==8){
if(index==8&&this.mioObj.type == 'sale_out'&&this.project_code=='gx'){
if(sums[6]){
if(sums[7]){
sums[index] = sums[6]-sums[7];

View File

@ -222,7 +222,11 @@ export default {
})
that.$API.ofm.mroomslot.list.req(form).then(res=>{
res.forEach(item=>{
that.timesList[item.slot].sloted = true;
if (item.booking == that.form.id) {
that.timesList[item.slot].isSelect = true;
}else{
that.timesList[item.slot].sloted = true;
}
})
})
},

View File

@ -434,8 +434,14 @@ export default {
that.totalCount = totalCount;
},
showbw(index){
this.bwIndex = index;
this.bwVisible = true;
let that = this;
that.bwIndex = index;
if(that.form.handoverb[index].handoverbw&&that.form.handoverb[index].handoverbw.length>0){
that.bwVisible = true;
}else{
that.$message.warning("正在加载,请稍后...");
that.bwVisible = true;
}
},
bwVisibleClose(){
this.bwVisible = false;
@ -600,13 +606,21 @@ export default {
},
//
open(mode = "add",data,mtype) {
this.mode = mode;
this.mtype = mtype;
let that = this;
that.mode = mode;
that.mtype = mtype;
if(mtype==30){
this.change_batch = true;
that.change_batch = true;
}
this.form.handoverb = data?data:[];
this.visible = true;
that.form.handoverb = data?data:[];
if(data.length>0){
that.totalCount = 0;
data.forEach((item,index)=>{
that.totalCount += Number(item.count);
that.getWprList(item.wm,index);
})
}
that.visible = true;
return this;
},
clearSelect(){
@ -657,7 +671,7 @@ export default {
getWprList(id,index){
let that = this;
let handoverbw = [];
that.$API.wpm.wpr.list.req({wm:id,page:0,can_use:'yes'}).then((res) => {
that.$API.wpm.wpr.list.req({wm:id,page:0,can_use:'yes',query:'{id,number}'}).then((res) => {
res.forEach(wpritem=>{
let obj = {};
obj.wpr = wpritem.id;

View File

@ -149,9 +149,10 @@
type="primary"
style="margin-left: 10px;"
>检验</el-link>
<el-link :underline="false" type="primary"
<el-link :underline="false" type="success"
v-if="route_code=='pengma'"
@click="handleAddWpr(scope.row)"
>添加物</el-link>
>混批加</el-link>
</template>
</el-table-column>
</scTable>

View File

@ -58,142 +58,91 @@
header="子工序操作记录"
shadow="never"
>
<el-button
type="primary"
icon="el-icon-plus"
@click="table_muser_add"
style="position: absolute; left: 150px; top: 5px"
>新增</el-button>
<scTable
ref="tableMuser"
:apiObj="apiObjMuser"
row-key="id"
stripe
height="250px"
:params="paramsMuser"
hidePagination
<sc-form-table
hideDelete
:tableHeight="tableHeight"
v-model="processLists"
:addTemplate="addTemplate"
placeholder="暂无数据"
@add="rowAdd"
>
<el-table-column type="index" width="50" />
<el-table-column label="工序" prop="process_name">
</el-table-column>
<el-table-column label="操作人" prop="handle_user_name">
</el-table-column>
<el-table-column label="操作日期" prop="handle_date">
</el-table-column>
<el-table-column label="班次" prop="shift_name">
</el-table-column>
<el-table-column
label="创建时间"
prop="create_time"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="操作"
fixed="right"
align="center"
width="100px"
>
<el-table-column label="工序">
<template #default="scope">
<el-button
type="danger"
@click="table_muser_del(scope.row)"
>删除</el-button>
<el-select
v-if="scope.row.isEdit"
v-model="scope.row.process"
placeholder="请选择子工序"
class="width-100"
>
<el-option
v-for="item in processOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<div v-else>
<span v-if="scope.row.process!==null">{{ scope.row.process_name}}</span>
</div>
</template>
</el-table-column>
</scTable>
<el-table-column label="操作人">
<template #default="scope">
<ehsSelect
v-if="scope.row.isEdit"
v-model="scope.row.handle_user"
:showName="scope.row.handle_user_name"
:apiObj="this.$API.system.user.list"
:params="{ depts: dept }"
class="width-100"
></ehsSelect>
<div v-else>
<span v-if="scope.row.handle_user_name!==null">{{ scope.row.handle_user_name}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="操作时间">
<template #default="scope">
<el-date-picker
v-if="scope.row.isEdit"
v-model="scope.row.work_start_time"
type="datetime"
value-format="YYYY-MM-DD HH:mm"
formatter="YYYY-MM-DD HH:mm"
style="width: 100%;"
/>
<div v-else>
<span v-if="scope.row.work_start_time!==null">{{ scope.row.work_start_time}}</span>
</div>
</template>
</el-table-column>
<el-form-item v-if="route_code=='pengma'" label="使用设备" prop="equipment">
<template #default="scope">
<el-select
v-model="scope.row.equipment"
placeholder="设备"
class="width-100"
>
<el-option
v-for="item in equipmentOtions"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</template>
</el-form-item>
<el-table-column label="班次"></el-table-column>
<el-table-column label="创建时间"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="150px">
<template #default="scope">
<el-button v-if="scope.row.isEdit" type="success" @click="saveMuserSubmit(scope.row)">保存</el-button>
<el-button v-else type="danger" @click="table_muser_del(scope.row)">删除</el-button>
</template>
</el-table-column>
</sc-form-table>
</el-card>
<!-- 日志操作记录编辑 -->
<el-dialog v-model="saveMuserDialog" title="子工序操作记录">
<el-form
:model="muserForm"
:rules="rules"
label-width="100px"
ref="saveInForm"
>
<el-row>
<el-col :span="23">
<el-form-item label="操作时间" prop="work_start_time">
<el-date-picker
v-model="muserForm.work_start_time"
type="datetime"
placeholder="操作时间"
value-format="YYYY-MM-DD HH:mm:ss"
style="width: 100%"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="23">
<el-form-item label="操作人" prop="handle_user">
<ehsSelect
v-model="muserForm.handle_user"
:showName="muserForm.handle_user_name"
:apiObj="this.$API.system.user.list"
:params="{ depts: dept }"
class="width-100"
></ehsSelect>
</el-form-item>
</el-col>
<el-col :span="23">
<el-form-item label="子工序" prop="process">
<el-select
v-model="muserForm.process"
placeholder="请选择"
class="width-100"
>
<el-option
v-for="item in processOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="23">
<el-form-item label="关联班次" prop="shift">
<el-select
v-model="muserForm.shift"
placeholder="班次"
class="width-100"
>
<el-option
v-for="item in shiftOtions"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="23" v-if="route_code=='pengma'">
<el-form-item label="使用设备" prop="equipment">
<el-select
v-model="muserForm.equipment"
placeholder="设备"
class="width-100"
>
<el-option
v-for="item in equipmentOtions"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button
type="primary"
:loading="isSaveing"
@click="saveMuserSubmit()"
> </el-button>
</template>
</el-dialog>
<!-- 输入物料 -->
<el-card
style="width: 100%; margin: 1vh 0;position: relative"
@ -486,7 +435,6 @@ export default {
loading: false,
//
form: {},
muserForm:{},
dialog: {
save: false,
edit: false,
@ -530,6 +478,7 @@ export default {
equipmentOtions:[],
defectOptions:[],
qct_testitems:[],
processLists:[],
processOptions:[],
test_file:'',
deptId: "",
@ -541,7 +490,6 @@ export default {
printVisible:false,
saveInDialog: false,
checkTableShow:false,
saveMuserDialog:false,
setFiltersVisible: false,
rules: {
count_use: [{required: true,message: "请输入领取数量",trigger: "blur"}],
@ -564,9 +512,11 @@ export default {
apiObjPrint:this.$API.cm.labelmat.fromWm,
printer_name:localStorage.getItem("printer_name"),
addTemplate:{
defect: "",
count: 1,
mlogb: "",
mlog: "",
process: "",
handle_user: "",
handle_user_name: "",
work_start_time: "",
isEdit: true,
},
qct:null,
@ -588,6 +538,11 @@ export default {
this.paramsIn.mlog = this.mlogId;
this.paramsOut.mlog = this.mlogId;
this.apiObj = this.$API.wpm.mlogb.list;
let userInfo = that.$TOOL.data.get("USER_INFO");
that.addTemplate.mlog = that.mlogItem.id;
that.addTemplate.handle_user = userInfo.id;
that.addTemplate.handle_user_name = userInfo.name;
that.addTemplate.work_start_time = this.$TOOL.dateFormat(new Date());
that.$API.wpm.mlogb.list.req(that.paramsIn).then((res) => {
that.tableData = res;
})
@ -595,6 +550,7 @@ export default {
that.getPreocess();
that.getShift();
that.getEquipment();
that.getProcessList();
},
methods: {
open() {
@ -664,6 +620,12 @@ export default {
}
})
},
getProcessList(){
let that = this;
that.$API.wpm.mloguser.list.req({page:0,mlog:that.mlogId}).then((res) => {
that.processLists = res;
})
},
getShift(){
let that = this;
that.$API.mtm.shift.list.req({ page: 0 }).then((res) => {
@ -917,25 +879,15 @@ export default {
that.isSaveing = false;
});
},
table_muser_add(){
let that = this;
let userInfo = that.$TOOL.data.get("USER_INFO");
that.muserForm.mlog = that.mlogItem.id;
that.muserForm.handle_user = userInfo.id;
that.muserForm.handle_user_name = userInfo.name;
that.muserForm.work_start_time = this.$TOOL.dateFormat(new Date());
that.saveMuserDialog = true;
},
saveMuserSubmit (){
saveMuserSubmit(row){
let that = this;
that.isSaveing = true;
that.$API.wpm.mloguser.create.req(that.muserForm).then((res) => {
that.$API.wpm.mloguser.create.req(that.addTemplate).then((res) => {
that.isSaveing = false;
that.saveMuserDialog = false;
that.$message.success("操作成功");
that.$refs.tableMuser.refresh();
that.getProcessList();
}).catch(() => {
that.isSaveing = false;
that.isSaveing = false;
})
},
table_muser_del(row){
@ -947,6 +899,14 @@ export default {
})
})
},
table_muser_edit(row){
let that = this;
console.log('row',row);
let index = that.processLists.indexOf(row);
console.log('index',index);
that.processLists[index].isEdit = true;
},
handleSaveSuccess() {
this.$refs.tableIn.refresh();
if(this.mlogItem.material_out_&&this.mlogItem.material_out_.tracking==10){

View File

@ -24,7 +24,10 @@
<table id="mlogbwlist" class="tables">
<thead>
<tr>
<th class="w_30 inlineBlock"></th>
<th class="w_30 inlineBlock">
<input type="checkbox" v-model="selectedAll" :value="selectedAll" style="width: 18px;" @change="selectAllChange">
</th>
<th class="w_30 inlineBlock">序号</th>
<th class="w_140 inlineBlock">物料批次</th>
<th class="w_140 inlineBlock">物料编号</th>
<th class="w_80 inlineBlock" v-for="item in qct_testitems" :key="item.id">{{ item.testitem_name }}</th>
@ -38,6 +41,9 @@
<td class="w_30 inlineBlock padding_4">
<input type="checkbox" v-model="selectedindexes" :value="row.id" @change="selectChange">
</td>
<td class="w_30 inlineBlock padding_4">
{{ index + 1 }}
</td>
<td class="w_140 inlineBlock">
<input v-if="row.isEdit" v-model="row.mlogb__batch" placeholder="物料批次">
<span v-else>{{ row.mlogb__batch }}</span>
@ -66,7 +72,7 @@
<span v-else style="width: 100%;height: 100%;display: inline-block;">{{ row.note }}</span>
</td>
<td class="w_180 inlineBlock" v-if="!isSubmit">
<button v-if="row.isEdit" type="button" class="btn btn_blue" @click="formTableSave(row,index)">保存</button>
<button v-if="row.isEdit" type="button" class="btn btn_green" @click="formTableSave(row,index)">保存</button>
<button v-if="row.isEdit && row.id" type="button" class="btn btn_red" @click="formTableCancel(row,index)">取消</button>
<button v-if="row.isEdit && setForm.cd_req_addr !== null" type="button" class="btn btn_yellow" @click="getEqData(index)">重取数据</button>
<button v-if="!row.isEdit" type="button" class="btn btn_blue" @click="formTableEdit(index)">编辑</button>
@ -318,6 +324,7 @@ export default {
route_code:"",
wprInputText:"",
canMultiple:false,
selectedAll:false,
checkAll: false,
hideAdd: false,
visible: false,
@ -402,17 +409,23 @@ export default {
selectChange(){
let that = this;
that.selectWprList = [];
console.log('selectedindexes',that.selectedindexes);
that.mlogbwlist.forEach((item) => {
if(that.selectedindexes.indexOf(item.id)>-1){
that.selectWprList.push(item);
}
})
console.log('selectWprList',that.selectWprList);
},
selectAllChange(datas){
selectAllChange(){
let that = this;
that.selectWprList = datas;
if(that.selectedAll){
that.mlogbwlist.forEach((item) => {
that.selectedindexes.push(item.id);
that.selectWprList.push(item);
})
}else{
that.selectedindexes=[];
that.selectWprList=[];
}
},
getEquipment4() {
let that = this;
@ -527,7 +540,6 @@ export default {
}
that.mlogbwlist.push(obj);
})
// console.log('that.mlogbwlist',that.mlogbwlist);
}
})
},
@ -624,7 +636,7 @@ export default {
let getEd = false;
if(that.qct_testitems.length>0){
for(let i=0;i<that.qct_testitems.length;i++){
if(that.qct_testitems[i].cd_expr!=null){
if(that.qct_testitems[i].testitem_cd_expr!=null&&that.qct_testitems[i].testitem_cd_expr!=''&&that.qct_testitems[i].testitem_cd_expr!==undefined){
getEd = true;
}
}
@ -832,7 +844,6 @@ export default {
if(this.selectWprList.length>0){
this.selectWpr = this.selectWprList;
}
console.log('this.selectWpr',this.selectWpr);
this.setVisible=true;
},
//
@ -847,12 +858,13 @@ export default {
that.wprInputText = "";
that.mlogbwlist.unshift(obj);
that.$nextTick(() => {
that.$refs.mlogbwTable.setCurrentRows(obj); //
that.selectedindexes.push(obj.id);
that.selectWprList.push(item);
})
let getEd = false;
if(that.qct_testitems.length>0){
for(let i=0;i<that.qct_testitems.length;i++){
if(that.qct_testitems[i].cd_expr!=null){
if(that.qct_testitems[i].testitem_cd_expr!=null&&that.qct_testitems[i].testitem_cd_expr!=''&&that.qct_testitems[i].testitem_cd_expr!==undefined){
getEd = true;
}
}
@ -889,7 +901,6 @@ export default {
}
})
}).catch((err) => {
console.log(err);
this.$notify.error({
title: '获取数据失败',
message: err.data
@ -919,6 +930,9 @@ export default {
that.$refs.dialogForm.validate((valid) => {
if (valid) {
that.selectWpr.forEach(item => {
if(!item.ftest){
item.ftest = {};
}
item.ftest.ftestdefects = [];
if(that.defectlists.length>0){
that.defectlists.forEach((item1) => {
@ -928,18 +942,12 @@ export default {
item.ftest.ftestdefects.push(obj);
})
}
// item.ftest.ftestdefects.forEach(defect => {
// let defectindex = that.setForm.defectids.indexOf(defect.defect);
// if(defectindex > -1){
// defect.has = that.defectlists[defectindex].value;
// }
// })
});
that.$API.wpm.mlogbw.update.req("bulk",that.selectWpr).then((res) => {
that.setVisible = false;
that.selectedAll = false;
that.selectWprList = [];
that.$refs.mlogbwTable.clearSelection();
that.selectedindexes = [];
that.defectlists.forEach(item => {
item.value = false;
});