fix:系统备注过长BUG修改

This commit is contained in:
zhangxuanming 2024-12-18 15:57:55 +08:00
parent d55369f739
commit baf9350d10
39 changed files with 501 additions and 381 deletions

View File

@ -85,10 +85,10 @@
</el-row>
<el-table v-loading="loading" :data="calplanList" @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="计划编号" align="center" prop="planCode" >
<template slot-scope="scope">
<el-button
<el-button
type="text"
@click="handleView(scope.row)"
v-hasPermi="['mes:cal:calplan:query']"
@ -147,7 +147,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -170,7 +170,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'" >
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'" >
</el-switch>
</el-form-item>
</el-col>
@ -335,6 +335,9 @@ export default {
endDate: [
{ required: true, message: "结束日期不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -427,7 +430,7 @@ export default {
});
},
/** 提交按钮 */
submitForm() {
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.planId != null) {

View File

@ -83,7 +83,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="班组编号" align="center" prop="teamCode" >
<template slot-scope="scope">
<el-button
<el-button
type="text"
@click="handleView(scope.row)"
v-hasPermi="['mes:cal:team:query']"
@ -116,7 +116,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -139,7 +139,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'" >
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'" >
</el-switch>
</el-form-item>
</el-col>
@ -166,7 +166,7 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.teamId !=null" content-position="center">项目组成员</el-divider>
@ -231,6 +231,9 @@ export default {
],
calendarType:[
{ required: true, message: "清选择班组类型", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};

View File

@ -99,7 +99,7 @@
v-hasPermi="['mes:dv:checkplan:query']"
>{{scope.row.planCode}}</el-button>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="计划名称" align="center" width="200px" prop="planName" />
<el-table-column label="计划类型" align="center" width="120px" prop="planType">
<template slot-scope="scope">
@ -116,12 +116,12 @@
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="频率" align="center" prop="cycleType">
<el-table-column label="频率" align="center" prop="cycleType">
<template slot-scope="scope">
{{scope.row.cycleCount}}
<dict-tag :options="dict.type.mes_cycle_type" :value="scope.row.cycleType"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
@ -156,7 +156,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -179,7 +179,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -262,9 +262,9 @@
</el-col>
</el-row>
</el-form>
<el-tabs type="border-card" v-if="form.planId != null">
<el-tab-pane label="设备清单">
<Checkmachinery ref="machinerylist" :optType="optType" :planId="form.planId" ></Checkmachinery>
<el-tabs type="border-card" v-if="form.planId != null">
<el-tab-pane label="设备清单">
<Checkmachinery ref="machinerylist" :optType="optType" :planId="form.planId" ></Checkmachinery>
</el-tab-pane>
<el-tab-pane :label="form.planType=='CHECK'?'点检项目':'保养项目'">
<Checksubject ref="subjectlist" :optType="optType" :planId="form.planId" ></Checksubject>
@ -319,7 +319,7 @@ export default {
planCode: null,
planName: null,
startDate: null,
endDate: null,
endDate: null,
cycleType: null,
cycleCount: null,
status: null
@ -343,6 +343,9 @@ export default {
cycleCount: [
{ required: true, message: "请输入点检次数", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -457,7 +460,7 @@ export default {
handleFinish(){
if(this.form.planId != null && this.form.status =='PREPARE'){
this.form.status='FINISHED';
updateCheckplan(this.form).then(response => {
updateCheckplan(this.form).then(response => {
this.$modal.msgSuccess("已启用");
this.open = false;
this.getList();
@ -469,7 +472,7 @@ export default {
handleDeFinish(){
if(this.form.planId != null && this.form.status =='FINISHED'){
this.form.status='PREPARE';
updateCheckplan(this.form).then(response => {
updateCheckplan(this.form).then(response => {
this.$modal.msgSuccess("已停用");
this.open = false;
this.getList();

View File

@ -244,7 +244,7 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" readonly v-if="optType=='view'"></el-input>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" v-else></el-input>
</el-form-item>
@ -395,6 +395,9 @@ export default {
],
machineryTypeId: [
{ required: true, message: "设备分类不能为空", trigger: "blur" },
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};

View File

@ -166,6 +166,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -17,7 +17,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备编码" prop="machineryCode">
<el-input
v-model="queryParams.machineryCode"
@ -148,7 +148,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -171,7 +171,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -179,7 +179,7 @@
<el-form-item label="维修单名称" prop="repairName">
<el-input v-model="form.repairName" placeholder="请输入维修单名称" />
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
@ -207,7 +207,7 @@
<el-date-picker clearable
v-model="form.requireDate"
style="width: 187px"
type="date"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择报修日期">
</el-date-picker>
@ -264,17 +264,17 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.repairId !=null" content-position="center">维修内容</el-divider>
<el-card shadow="always" v-if="form.repairId !=null" class="box-card">
<Repairline ref="line" :repairId="form.repairId" :optType="optType"></Repairline>
<Repairline ref="line" :repairId="form.repairId" :optType="optType"></Repairline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="form.status =='PREPARE' && optType !='view'" @click="submitForm"> </el-button>
<el-button type="primary" v-if="form.status == 'APPROVING' && optType !='view'" @click="finish">完成维修</el-button>
<el-button type="primary" v-if="form.status == 'APPROVING' && optType !='view'" @click="finish">完成维修</el-button>
<el-button type="success" v-if="form.status == 'FINISHED' && optType !='view'" @click="confirm">验收通过</el-button>
<el-button type="danger" v-if="form.status == 'FINISHED' && optType !='view'" @click="unconfirm">不通过</el-button>
<el-button @click="cancel"> </el-button>
@ -353,6 +353,9 @@ export default {
requireDate: [
{ required: true, message: "请选择报修日期", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -487,7 +490,7 @@ export default {
this.form.machineryBrand = row.machineryBrand;
},
//
handleAutoGenChange(autoGenFlag){
handleAutoGenChange(autoGenFlag){
if(autoGenFlag){
genCode('REPAIR_CODE').then(response =>{
this.form.repairCode = response;

View File

@ -171,7 +171,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -194,7 +194,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -489,6 +489,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -663,7 +666,7 @@ export default {
});
}else{
this.form.clientCode = null;
}
}
}
}
};

View File

@ -329,7 +329,7 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" readonly v-if="optType=='view'"></el-input>
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" v-else></el-input>
</el-form-item>
@ -501,6 +501,9 @@ export default {
],
itemTypeId: [
{ required: true, message: "物料分类不能为空", trigger: "blur" },
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};

View File

@ -104,7 +104,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -156,7 +156,7 @@
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -221,6 +221,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -130,7 +130,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="供应商编码" align="center" prop="vendorCode" >
<template slot-scope="scope">
<el-button
<el-button
type="text"
@click="handleView(scope.row)"
v-hasPermi="['mes:md:vendor:query']"
@ -171,7 +171,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -196,7 +196,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -230,10 +230,10 @@
<i class="el-icon-picture-outline"></i>
</div>
</el-image>
</div>
</el-col>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="供应商简介" prop="vendorDes">
@ -487,6 +487,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -510,7 +513,7 @@ export default {
},
//
reset() {
this.form = {
this.form = {
vendorId: null,
vendorCode: null,
vendorName: null,
@ -667,10 +670,10 @@ export default {
getBarcodeUrl(){
this.barcodeParams.bussinessId = this.form.vendorId;
this.barcodeParams.bussinessCode = this.form.vendorCode;
getBarcodeUrl(this.barcodeParams).then( response =>{
getBarcodeUrl(this.barcodeParams).then( response =>{
if(response.data != null){
this.$set(this.form,'barcodeUrl',response.data.barcodeUrl);//DOM
}
}
});
},
//
@ -682,7 +685,7 @@ export default {
});
}else{
this.form.vendorCode = null;
}
}
}
}
};
@ -701,4 +704,4 @@ export default {
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
}
</style>
</style>

View File

@ -253,6 +253,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -409,6 +409,9 @@ export default {
],
processId: [
{ required: true, message: "请选择所属工序", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};

View File

@ -121,7 +121,7 @@
<el-table-column label="产品物料编码" width="120px" align="center" prop="itemCode" />
<el-table-column label="产品物料名称" width="150px" align="center" prop="itemName" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="报工数量" align="center" prop="quantityFeedback" />
<el-table-column label="报工数量" align="center" prop="quantityFeedback" />
<el-table-column label="报工人" align="center" prop="nickName" />
<el-table-column label="报工时间" align="center" prop="feedbackTime" width="180">
<template slot-scope="scope">
@ -162,7 +162,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -384,6 +384,9 @@ export default {
],
feedbackTime: [
{ required: true, message: "请选择报工时间", trigger: "blur"}
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -509,13 +512,13 @@ export default {
this.$modal.msgSuccess("修改成功");
this.open=false;
this.getList();
});
} else {
addFeedback(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open=false;
this.getList();
this.getList();
});
}
}
@ -621,7 +624,7 @@ export default {
this.$refs.userSelect.showFlag = true;
},
//
onUserSelected(row){
onUserSelected(row){
this.form.nickName = row.nickName;
this.form.userName = row.userName;
},
@ -630,7 +633,7 @@ export default {
this.$refs.user2Select.showFlag = true;
},
//
onUser2Selected(row){
onUser2Selected(row){
this.form.recordUser = row.userName;
this.form.recordNick = row.nickName;
},

View File

@ -74,7 +74,7 @@
</el-row>
<el-table v-loading="loading" :data="procardList" @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="流转卡编号" align="center" prop="cardCode" >
<template slot-scope="scope">
<el-button
@ -97,7 +97,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -107,8 +107,8 @@
/>
<!-- 添加或修改工序流转卡对话框 -->
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
<el-form ref="form" :model="form" label-width="100px">
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="16">
<el-row>
@ -175,7 +175,7 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.cardId !=null" content-position="center">工序</el-divider>
<el-divider v-if="form.cardId !=null" content-position="center">工序</el-divider>
<el-card shadow="always" v-if="form.cardId !=null" class="box-card">
<Procardprocess :cardId="form.cardId" :optType="optType"></Procardprocess>
</el-card>
@ -225,6 +225,12 @@ export default {
cardCode: null, workorderId: null, workorderCode: null, workorderName: null, batchCode: null, itemId: null, itemCode: null, itemName: null, specification: null, unitOfMeasure: null, barcodeUrl: null, quantityTransfered: null, status: null, attr1: null, attr2: null, attr3: null, attr4: null, },
//
form: {},
//
rules: {
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
created() {
@ -337,7 +343,7 @@ export default {
this.$refs.woSelect.showFlag = true;
},
onWorkorderSelected(row){
if(row != undefined && row != null){
if(row != undefined && row != null){
this.form.workorderId = row.workorderId;
this.form.workorderCode = row.workorderCode;
this.form.workorderName = row.workorderName;

View File

@ -114,7 +114,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -137,7 +137,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -243,6 +243,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -270,7 +273,7 @@ export default {
processId: null,
processCode: null,
processName: null,
attention: null,
attention: null,
enableFlag: 'Y',
remark: null,
createBy: null,

View File

@ -115,7 +115,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -138,7 +138,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -181,9 +181,9 @@
</el-col>
</el-row>
</el-form>
<el-tabs type="border-card" v-if="form.routeId != null">
<el-tabs type="border-card" v-if="form.routeId != null">
<el-tab-pane label="组成工序">
<Routeprocess v-if="form.routeId !=null" :optType="optType" :routeId="form.routeId"></Routeprocess>
<Routeprocess v-if="form.routeId !=null" :optType="optType" :routeId="form.routeId"></Routeprocess>
</el-tab-pane>
<el-tab-pane label="关联产品">
<Routeproduct v-if="form.routeId !=null" :optType="optType" :routeId="form.routeId"></Routeproduct>
@ -252,6 +252,9 @@ export default {
enableFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -514,6 +514,9 @@ export default {
requestDate: [
{ required: true, message: "需求日期不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -115,7 +115,7 @@
v-hasPermi="['mes:qc:ipqc:query']"
>{{scope.row.ipqcCode}}</el-button>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="检验类型" align="center" prop="ipqcType">
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_ipqc_type" :value="scope.row.ipqcType"/>
@ -143,7 +143,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -165,7 +165,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -188,7 +188,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -217,9 +217,9 @@
<el-button slot="append" icon="el-icon-search" @click="handleWorkorderSelect"></el-button>
</el-input>
<!--保存过则不允许修改工单需要修改则删除重做-->
<el-input v-else v-model="form.workorderCode" >
<el-input v-else v-model="form.workorderCode" >
</el-input>
</el-form-item>
</el-form-item>
<WorkorderSelect ref="woSelect" @onSelected="onWorkorderSelected"></WorkorderSelect>
</el-col>
<el-col :span="8">
@ -310,7 +310,7 @@
<el-input v-model="form.quantityQualified" placeholder="请输入合格品数量" />
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="致命缺陷数量" prop="crQuantity">
@ -330,7 +330,7 @@
</el-row>
</el-collapse-item>
</el-collapse>
<el-row>
<el-col :span="8">
<el-form-item label="检测日期" prop="inspectDate">
@ -476,7 +476,7 @@ export default {
workstationCode: [
{ required: true, message: "请选择工作站", trigger: "blur" }
],
quantityCheck: [
{ required: true, message: "检测数量不能为空", trigger: "blur" }
],
@ -487,8 +487,10 @@ export default {
quantityQualified: [
{ required: true, message: "合格品数量不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -197,7 +197,7 @@
size="mini"
type="text"
icon="el-icon-delete"
@click="viewReport"
>
查看报表
@ -205,7 +205,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -228,7 +228,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'" >
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'" >
</el-switch>
</el-form-item>
</el-col>
@ -251,7 +251,7 @@
<el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button>
</el-input>
<!--如果已经保存过则产品不允许再修改需要修改就删除重做-->
<el-input v-else v-model="form.itemCode">
<el-input v-else v-model="form.itemCode">
</el-input>
</el-form-item>
<ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect>
@ -383,7 +383,7 @@
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-collapse>
<el-tabs type="border-card" v-if="form.iqcId != null">
<el-tab-pane label="检测项">
<IqcLine ref=line :iqcId="form.iqcId" :optType="optType"></IqcLine>
@ -486,7 +486,7 @@ export default {
iqcName: [
{ required: true, message: "来料检验单名称不能为空", trigger: "blur" }
],
vendorCode: [
{ required: true, message: "供应商不能为空", trigger: "blur" }
],
@ -501,6 +501,9 @@ export default {
],
inspectDate:[
{ required: true, message: "清选择检验日期", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -680,7 +683,7 @@ export default {
this.form.itemCode = obj.itemCode;
this.form.itemName = obj.itemName;
this.form.specification = obj.specification;
this.form.unitOfMeasure = obj.unitOfMeasure;
this.form.unitOfMeasure = obj.unitOfMeasure;
}
},
handleSelectVendor(){
@ -710,7 +713,7 @@ export default {
var reportName = "Test";
getReport2(reportName).then(res=>{
debugger;
let blob = new Blob([res],{type:'application/pdf'});
let blob = new Blob([res],{type:'application/pdf'});
let href = URL.createObjectURL(blob);
console.log(href);
window.open(`/pdf/web/viewer.html?file=${encodeURIComponent(href)}`);

View File

@ -104,7 +104,7 @@
</el-row>
<el-table v-loading="loading" :data="oqcList" @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="出货检验单编号" width="150px" align="center" prop="oqcCode" >
<template slot-scope="scope">
<el-button
@ -113,21 +113,21 @@
v-hasPermi="['mes:qc:oqc:query']"
>{{scope.row.oqcCode}}</el-button>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="验单名称" width="100px" align="center" prop="oqcName" :show-overflow-tooltip="true"/>
<el-table-column label="客户名称" width="100px" align="center" prop="clientName" :show-overflow-tooltip="true"/>
<el-table-column label="批次号" align="center" prop="batchCode" />
<el-table-column label="产品编码" width="120px" align="center" prop="itemCode" />
<el-table-column label="产品名称" align="center" prop="itemName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="specification" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="发货数量" align="center" prop="quantityOut" />
<el-table-column label="检测数量" align="center" prop="quantityCheck" />
<el-table-column label="不合格数" align="center" prop="quantityUnqualified" />
<el-table-column label="检测结论" align="center" prop="checkResult" >
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_qc_result" :value="scope.row.checkResult"/>
@ -170,7 +170,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -194,7 +194,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'" >
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'" >
</el-switch>
</el-form-item>
</el-col>
@ -203,7 +203,7 @@
<el-form-item label="检验单名称" prop="oqcName">
<el-input v-model="form.oqcName" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
@ -213,14 +213,14 @@
<el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button>
</el-input>
<!--如果已经保存过则产品不允许再修改需要修改就删除重做-->
<el-input v-else v-model="form.itemCode"/>
<el-input v-else v-model="form.itemCode"/>
<ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品名称" prop="itemName">
<el-input readonly="readonly" v-model="form.itemName"></el-input>
<el-input readonly="readonly" v-model="form.itemName"></el-input>
</el-form-item>
</el-col>
@ -357,7 +357,7 @@
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-collapse>
</el-form>
<el-tabs type="border-card" v-if="form.oqcId != null">
@ -458,7 +458,7 @@ export default {
],
clientCode: [
{ required: true, message: "客户不能为空", trigger: "blur" }
],
],
itemCode: [
{ required: true, message: "产品不能为空", trigger: "blur" }
],
@ -474,6 +474,9 @@ export default {
inspectDate: [
{ required: true, message: "请选择检测日期", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -644,7 +647,7 @@ export default {
this.form.itemCode = obj.itemCode;
this.form.itemName = obj.itemName;
this.form.specification = obj.specification;
this.form.unitOfMeasure = obj.unitOfMeasure;
this.form.unitOfMeasure = obj.unitOfMeasure;
}
},
handleSelectClient(){

View File

@ -26,7 +26,7 @@
:value="dict.value"
/>
</el-select>
</el-form-item>
</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>
@ -113,7 +113,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -136,7 +136,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -183,7 +183,7 @@
<el-radio-group v-model="form.qcResultSpc" placeholder="请选择文件属性">
<el-radio label="IMG">图片/照片</el-radio>
<el-radio label="FILE">文件</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
<el-form-item label="字典项" v-else-if="form.qcResultType == 'DICT' " prop="qcResultSpc">
<el-input v-model="form.qcResultSpc" readonly placeholder="请选择字典" >
@ -267,7 +267,7 @@ export default {
{ required: true, message: "请选择检测项值类型", trigger: "change" }
],
qcResultSpc: [
{ required: true, message: "请选择检测项值类型", trigger: "blur",
{ required: true, message: "请选择检测项值类型", trigger: "blur",
validator: (rule, value, callback) => {
if (this.form.qcResultType === 'FILE' && !value) {
callback(new Error('文件类型不能为空'));
@ -279,6 +279,9 @@ export default {
}
}
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -97,7 +97,7 @@
<el-table-column label="检测模板名称" align="center" prop="templateName" />
<el-table-column label="检测种类" align="center" prop="qcTypesParam" >
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_qc_type" :value="scope.row.qcTypesParam"/>
<dict-tag :options="dict.type.mes_qc_type" :value="scope.row.qcTypesParam"/>
</template>
</el-table-column>
<el-table-column label="是否启用" align="center" prop="enableFlag">
@ -124,7 +124,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -147,7 +147,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -159,7 +159,7 @@
</el-row>
<el-row>
<el-col :span="18">
<el-form-item label="检测种类" prop="qcTypesParam">
<el-form-item label="检测种类" prop="qcTypesParam">
<el-checkbox-group v-model="form.qcTypesParam">
<el-checkbox v-for="dict in dict.type.mes_qc_type"
:key="dict.value"
@ -270,6 +270,9 @@ export default {
qcTypes: [
{ required: true, message: "检测种类不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -387,6 +387,9 @@ export default {
quantity: [
{ required: true, message: "数量不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -79,7 +79,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="tooltypeList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="tooltypeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="类型编码" align="center" prop="toolTypeCode" >
<template slot-scope="scope">
@ -129,7 +129,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -151,7 +151,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-col>
<el-col :span="12">
@ -196,13 +196,13 @@
<el-input v-model="form.maintenPeriod" placeholder="请输入保养周期" />
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
@ -266,6 +266,9 @@ export default {
codeFlag: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},

View File

@ -81,7 +81,7 @@
</el-row>
<el-table v-loading="loading" :data="barcodeList" @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="条码" align="center">
<template slot-scope="scope">
<el-image @click="handleView(scope.row)" class="barcodeClass" fit="scale-down" :src="scope.row.barcodeUrl">
@ -90,12 +90,12 @@
</div>
</el-image>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="条码格式" align="center" prop="barcodeFormart">
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_barcode_formart" :value="scope.row.barcodeFormart"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="条码类型" align="center" prop="barcodeType">
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_barcode_type" :value="scope.row.barcodeType"/>
@ -128,7 +128,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -142,7 +142,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="条码格式" prop="barcodeFormart">
<el-form-item label="条码格式" prop="barcodeFormart">
<el-select v-model="form.barcodeFormart" placeholder="请选择条码格式">
<el-option
v-for="dict in dict.type.mes_barcode_formart"
@ -209,14 +209,14 @@
:options="warehouseOptions"
:props="warehouseProps"
@change="handleWarehouseChanged"
>
>
</el-cascader> -->
<el-cascader v-model="warehouseInfo"
ref="warehouseRef"
:options="warehouseOptions"
:props="warehouseProps"
@change="handleWarehouseChanged"
>
>
</el-cascader>
</el-form-item>
</el-col>
@ -263,7 +263,7 @@
<el-button slot="append" icon="el-icon-search" @click="handleWorkstationSelect"></el-button>
</el-input>
</el-form-item>
<WorkstationSelect ref="wsSelect" @onSelected="onWorkstationSelected"> </WorkstationSelect>
<WorkstationSelect ref="wsSelect" @onSelected="onWorkstationSelected"> </WorkstationSelect>
</el-col>
<el-col :span="12">
<el-form-item label="工作站名称" prop="bussinessName">
@ -280,7 +280,7 @@
<el-button slot="append" icon="el-icon-search" @click="handleMaterialStockSelect"></el-button>
</el-input>
</el-form-item>
<StockSelect ref="stockSelect" @onSelected="onMaterialStockSelected"> </StockSelect>
<StockSelect ref="stockSelect" @onSelected="onMaterialStockSelected"> </StockSelect>
</el-col>
<el-col :span="16">
<el-form-item label="物资信息" prop="bussinessName">
@ -312,13 +312,13 @@
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view'">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -396,6 +396,9 @@ export default {
barcodeContent: [
{ required: true, message: "产品物料ID不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -537,7 +540,7 @@ export default {
},
//
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
if(response.data){
this.warehouseOptions = response.data.filter((el) =>{
return el.warehouseCode.indexOf('VIR') == -1;
@ -546,12 +549,12 @@ export default {
this.warehouseOptions.map(w =>{
debugger;
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -596,7 +599,7 @@ export default {
}
},
/**
* 选择库存
* 选择库存
*/
handleMaterialStockSelect(){
this.$refs.stockSelect.showFlag = true;

View File

@ -106,10 +106,10 @@
>{{scope.row.issueCode}}</el-button>
</template>
</el-table-column>
<el-table-column label="领料单名称" align="center" prop="issueName" :show-overflow-tooltip="true"/>
<el-table-column label="生产工单" align="center" prop="workorderCode" />
<el-table-column label="工作站" align="center" prop="workstationName" />
<el-table-column label="客户编号" align="center" prop="clientCode" />
<el-table-column label="领料单名称" align="center" prop="issueName" :show-overflow-tooltip="true"/>
<el-table-column label="生产工单" align="center" prop="workorderCode" />
<el-table-column label="工作站" align="center" prop="workstationName" />
<el-table-column label="客户编号" align="center" prop="clientCode" />
<el-table-column label="客户名称" align="center" prop="clientName" />
<el-table-column label="领料日期" align="center" prop="issueDate" width="180">
<template slot-scope="scope">
@ -120,7 +120,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -150,7 +150,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -173,7 +173,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -211,27 +211,27 @@
</el-form-item>
<WorkstationSelect ref="wsSelect" @onSelected="onWorkstationSelected"> </WorkstationSelect>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="工作站名称" prop="workstationName">
<el-input v-model="form.workstationName" readonly placeholder="请选择工作站" >
<el-input v-model="form.workstationName" readonly placeholder="请选择工作站" >
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户编号" >
<el-input v-model="form.clientCode" placeholder="请选择生产工单" >
<el-input v-model="form.clientCode" placeholder="请选择生产工单" >
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户名称" >
<el-input v-model="form.clientName" placeholder="请选择生产工单" >
<el-input v-model="form.clientName" placeholder="请选择生产工单" >
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
@ -240,13 +240,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.issueId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.issueId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.issueId !=null" class="box-card">
<Issueline ref="line" :issueId="form.issueId" :warehouseId="form.warehouseId" :locationId="form.locationId" :areaId="form.areaId" :optType="optType"></Issueline>
<Issueline ref="line" :issueId="form.issueId" :warehouseId="form.warehouseId" :locationId="form.locationId" :areaId="form.areaId" :optType="optType"></Issueline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -332,6 +332,9 @@ export default {
],
workorderCode: [
{ required: true, message: "请指定生产工单", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -351,7 +354,7 @@ export default {
});
},
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
if(response.data){
this.warehouseOptions = response.data.filter((el) =>{
return el.warehouseCode.indexOf('VIR') == -1;
@ -359,12 +362,12 @@ export default {
}
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -414,7 +417,7 @@ export default {
updateBy: null,
updateTime: null
};
this.autoGenFlag = false;
this.autoGenFlag = false;
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -447,9 +450,9 @@ export default {
getIssueheader(issueId).then(response => {
debugger;
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "修改生产领料单";
this.optType = "edit";
@ -461,9 +464,9 @@ export default {
const issueIds = row.issueId
getIssueheader(issueIds).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看领料单信息";
this.optType = "view";
@ -516,7 +519,7 @@ export default {
}, `issueheader_${new Date().getTime()}.xlsx`)
},
//
handleWarehouseChanged(obj){
handleWarehouseChanged(obj){
if(obj !=null){
this.form.warehouseId = obj[0];
this.form.locationId = obj[1];
@ -540,7 +543,7 @@ export default {
this.$refs.woSelect.showFlag = true;
},
onWorkorderSelected(row){
if(row != undefined && row != null){
if(row != undefined && row != null){
this.form.workorderId = row.workorderId;
this.form.workorderCode = row.workorderCode;
this.form.workorderName = row.workorderName;

View File

@ -94,7 +94,7 @@
</el-row>
<el-table v-loading="loading" :data="itemrecptList" @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="入库单编号" align="center" width="180px" prop="recptCode" >
<template slot-scope="scope">
<el-button
@ -105,7 +105,7 @@
</template>
</el-table-column>
<el-table-column label="入库单名称" align="center" prop="recptName" :show-overflow-tooltip="true"/>
<el-table-column label="供应商名称" align="center" prop="vendorName" :show-overflow-tooltip="true"/>
<el-table-column label="供应商名称" align="center" prop="vendorName" :show-overflow-tooltip="true"/>
<el-table-column label="入库日期" align="center" prop="recptDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.recptDate, '{y}-{m}-{d}') }}</span>
@ -116,7 +116,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -146,7 +146,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -169,7 +169,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -180,7 +180,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="8">
<el-form-item label="入库日期" prop="recptDate">
<el-date-picker clearable
v-model="form.recptDate"
@ -219,7 +219,7 @@
<el-col :span="8">
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
@ -228,13 +228,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.recptId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.recptId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.recptId !=null" class="box-card">
<Itemrecptline ref=line :recptId="form.recptId" :noticeId="form.noticeId" :optType="optType"></Itemrecptline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -323,6 +323,9 @@ export default {
],
vendorName: [
{ required: true, message: "请选择对应的供应商", trigger: "blur"}
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -342,7 +345,7 @@ export default {
});
},
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
if(response.data){
this.warehouseOptions = response.data.filter((el) =>{
return el.warehouseCode.indexOf('VIR') == -1;
@ -350,12 +353,12 @@ export default {
}
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -399,7 +402,7 @@ export default {
updateBy: null,
updateTime: null
};
this.autoGenFlag = false;
this.autoGenFlag = false;
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -432,9 +435,9 @@ export default {
const recptIds = row.recptId
getItemrecpt(recptIds).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看入库单信息";
this.optType = "view";
@ -445,16 +448,16 @@ export default {
this.reset();
const recptId = row.recptId || this.ids
getItemrecpt(recptId).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "修改物料入库单";
this.optType = "edit";
});
},
//
handleExecute(row){
const recptIds = row.recptId || this.ids;
@ -581,4 +584,4 @@ export default {
flex: 0 1 54%;
order: 1;
}
</style>
</style>

View File

@ -98,7 +98,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -128,7 +128,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -151,7 +151,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -178,7 +178,7 @@
:options="warehouseOptions"
:props="warehouseProps"
@change="handleWarehouseChanged"
>
>
</el-cascader>
</el-form-item>
</el-col>
@ -194,7 +194,7 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="外协工单" prop="workorderCode">
@ -212,11 +212,11 @@
</el-col>
<el-col :span="8">
<el-form-item label="供应商名称" >
<el-input v-model="form.vendorName" placeholder="请选择外协工单" >
<el-input v-model="form.vendorName" placeholder="请选择外协工单" >
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
@ -225,13 +225,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.issueId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.issueId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.issueId !=null" class="box-card">
<Issueline ref="line" :issueId="form.issueId" :warehouseId="form.warehouseId" :locationId="form.locationId" :areaId="form.areaId" :optType="optType"></Issueline>
<Issueline ref="line" :issueId="form.issueId" :warehouseId="form.warehouseId" :locationId="form.locationId" :areaId="form.areaId" :optType="optType"></Issueline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -283,9 +283,9 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
issueCode: null,
issueName: null,
workorderId: null,
issueCode: null,
issueName: null,
workorderId: null,
workorderCode: null, vendorId: null, vendorCode: null, vendorName: null, vendorNick: null, warehouseId: null, warehouseCode: null, warehouseName: null, locationId: null, locationCode: null, locationName: null, areaId: null, areaCode: null, areaName: null, issueDate: null, status: null, },
//
form: {},
@ -293,12 +293,15 @@ export default {
rules: {
issueCode: [
{ required: true, message: "发料单编号不能为空", trigger: "blur" }
],
],
issueName: [
{ required: true, message: "发料单名称不能为空", trigger: "blur" }
],
workorderCode: [
{ required: true, message: "请选择外协工单", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -318,7 +321,7 @@ export default {
});
},
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
if(response.data){
this.warehouseOptions = response.data.filter((el) =>{
return el.warehouseCode.indexOf('VIR') == -1;
@ -326,12 +329,12 @@ export default {
}
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -346,37 +349,37 @@ export default {
//
reset() {
this.form = {
issueId: null,
issueCode: null,
issueName: null,
workorderId: null,
workorderCode: null,
vendorId: null,
vendorCode: null,
vendorName: null,
vendorNick: null,
warehouseId: null,
warehouseCode: null,
warehouseName: null,
locationId: null,
locationCode: null,
locationName: null,
areaId: null,
areaCode: null,
areaName: null,
issueDate: new Date(),
status: "PREPARE",
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
issueId: null,
issueCode: null,
issueName: null,
workorderId: null,
workorderCode: null,
vendorId: null,
vendorCode: null,
vendorName: null,
vendorNick: null,
warehouseId: null,
warehouseCode: null,
warehouseName: null,
locationId: null,
locationCode: null,
locationName: null,
areaId: null,
areaCode: null,
areaName: null,
issueDate: new Date(),
status: "PREPARE",
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.autoGenFlag = false;
this.autoGenFlag = false;
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -449,9 +452,9 @@ export default {
const issueIds = row.issueId
getOutsourceissue(issueIds).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看外协发料单信息";
this.optType = "view";

View File

@ -102,7 +102,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -132,7 +132,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -155,7 +155,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -166,7 +166,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="8">
<el-form-item label="入库日期" prop="recptDate">
<el-date-picker clearable
v-model="form.recptDate"
@ -215,14 +215,14 @@
:options="warehouseOptions"
:props="warehouseProps"
@change="handleWarehouseChanged"
>
>
</el-cascader>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
@ -231,13 +231,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.recptId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.recptId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.recptId !=null" class="box-card">
<Itemrecptline ref=line :recptId="form.recptId" :warehouseId="form.warehouseId" :locationId="form.locationId" :areaId="form.areaId" :optType="optType"></Itemrecptline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -303,7 +303,11 @@ export default {
],
workorderCode: [
{ required: true, message: "请选择外协工单", trigger: "blur" }
], }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
created() {
@ -344,10 +348,10 @@ export default {
locationId: null,
locationCode: null,
locationName: null,
areaId: null, areaCode: null, areaName: null, recptDate: new Date(),
areaId: null, areaCode: null, areaName: null, recptDate: new Date(),
status: "PREPARE", remark: null, attr1: null, attr2: null, attr3: null, attr4: null, createBy: null, createTime: null, updateBy: null, updateTime: null
};
this.autoGenFlag = false;
this.autoGenFlag = false;
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -420,9 +424,9 @@ export default {
const recptIds = row.recptId
getOutsourcerecpt(recptIds).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看外协入库单信息";
this.optType = "view";

View File

@ -62,7 +62,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="packageList"
<el-table v-loading="loading" :data="packageList"
row-key="packageId"
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
@ -120,7 +120,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -145,7 +145,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -353,6 +353,9 @@ export default {
packageDate: [
{ required: true, message: "装箱日期不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -553,4 +556,4 @@ export default {
height: 200px;
}
</style>
</style>

View File

@ -131,7 +131,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -154,7 +154,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -188,7 +188,7 @@
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
@ -197,13 +197,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.recptId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.recptId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.recptId !=null" class="box-card">
<Productrecptline :recptId="form.recptId" :optType="optType" :workorderId="form.workorderId" :itemId="form.itemId"></Productrecptline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -284,6 +284,9 @@ export default {
workorderCode: [
{ required: true, message: "请选择生产工单", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -302,16 +305,16 @@ export default {
});
},
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
this.warehouseOptions = response.data;
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -459,7 +462,7 @@ export default {
}
},
//
handleWarehouseChanged(obj){
handleWarehouseChanged(obj){
if(obj !=null){
this.form.warehouseId = obj[0];
this.form.locationId = obj[1];

View File

@ -99,7 +99,7 @@
<el-table-column label="出库单名称" width="150px" align="center" prop="salseName" />
<el-table-column label="销售订单编号" width="120px" align="center" prop="soCode" />
<el-table-column label="客户编码" align="center" prop="clientCode" />
<el-table-column label="客户名称" align="center" prop="clientName" />
<el-table-column label="客户名称" align="center" prop="clientName" />
<el-table-column label="出库日期" align="center" prop="salseDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.salseDate, '{y}-{m}-{d}') }}</span>
@ -136,11 +136,11 @@
v-if="scope.row.status == 'PREPARE'"
v-hasPermi="['mes:wm:productsalse:edit']"
>执行出库</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -163,7 +163,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -223,10 +223,10 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.salseId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.salseId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.salseId !=null" class="box-card">
<Productsalseline ref="line" :salseId="form.salseId" :warehouseId="form.warehouseId" :locationId="form.locationId" :areaId="form.areaId" :optType="optType"></Productsalseline>
</el-card>
@ -320,6 +320,9 @@ export default {
],
salseDate: [
{ required: true, message: "请选择出库日期", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -340,16 +343,16 @@ export default {
},
//
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
this.warehouseOptions = response.data;
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -357,7 +360,7 @@ export default {
});
},
//
handleWarehouseChanged(obj){
handleWarehouseChanged(obj){
if(obj !=null){
this.form.warehouseId = obj[0];
this.form.locationId = obj[1];
@ -428,9 +431,9 @@ export default {
const salseId = row.salseId
getProductsalse(salseId).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看出库单信息";
this.optType = "view";

View File

@ -92,7 +92,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" width="150px" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -122,7 +122,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -145,7 +145,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -170,7 +170,7 @@
:options="warehouseOptions"
:props="warehouseProps"
@change="handleWarehouseChanged"
>
>
</el-cascader>
</el-form-item>
</el-col>
@ -190,16 +190,16 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.rtId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.rtId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.rtId !=null" class="box-card">
<Rtissueline :rtId="form.rtId" :optType="optType"></Rtissueline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -276,6 +276,9 @@ export default {
],
workorderCode: [
{ required: true, message: "请选择要退料的生产工单", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -295,7 +298,7 @@ export default {
});
},
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
if(response.data){
this.warehouseOptions = response.data.filter((el) =>{
return el.warehouseCode.indexOf('VIR') == -1;
@ -303,12 +306,12 @@ export default {
}
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -349,7 +352,7 @@ export default {
updateBy: null,
updateTime: null
};
this.autoGenFlag = false;
this.autoGenFlag = false;
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -381,9 +384,9 @@ export default {
const rtIds = row.rtId
getItemrecpt(rtIds).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看生产退料单信息";
this.optType = "view";
@ -395,9 +398,9 @@ export default {
const rtId = row.rtId || this.ids
getRtissue(rtId).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "修改生产退料单头";
this.optType = "edit";
@ -409,9 +412,9 @@ export default {
const rtId = row.rtId
getRtissue(rtId).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看退料单信息";
this.optType = "view";
@ -464,7 +467,7 @@ export default {
}, `rtissue_${new Date().getTime()}.xlsx`)
},
//
handleWarehouseChanged(obj){
handleWarehouseChanged(obj){
if(obj !=null){
this.form.warehouseId = obj[0];
this.form.locationId = obj[1];

View File

@ -47,7 +47,7 @@
/>
</el-select>
</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>
@ -146,7 +146,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -169,7 +169,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -216,7 +216,7 @@
:options="warehouseOptions"
:props="warehouseProps"
@change="handleWarehouseChanged"
>
>
</el-cascader>
</el-form-item>
</el-col>
@ -248,13 +248,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.rtId !=null" content-position="center">产品信息</el-divider>
<el-divider v-if="form.rtId !=null" content-position="center">产品信息</el-divider>
<el-card shadow="always" v-if="form.rtId !=null" class="box-card">
<Rtsalseline :rtId="form.rtId" :optType="optType"></Rtsalseline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -349,6 +349,9 @@ export default {
],
rtReason: [
{ required: true, message: "请填写退货原因", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
@ -368,7 +371,7 @@ export default {
});
},
getWarehouseList(){
getTreeList().then( response =>{
getTreeList().then( response =>{
if(response.data){
this.warehouseOptions = response.data.filter((el) =>{
return el.warehouseCode.indexOf('VIR') == -1;
@ -376,12 +379,12 @@ export default {
}
this.warehouseOptions.map(w =>{
w.children.map(l =>{
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
let lstr =JSON.stringify(l.children).replace(/locationId/g,'lId').replace(/areaId/g, 'pId').replace(/areaName/g,'pName');
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
let wstr = JSON.stringify(w.children).replace(/warehouseId/g,'wId').replace(/locationId/g, 'pId').replace(/locationName/g,'pName');
w.children = JSON.parse(wstr);
});
let ostr=JSON.stringify(this.warehouseOptions).replace(/warehouseId/g,'pId').replace(/warehouseName/g, 'pName');
@ -478,9 +481,9 @@ export default {
const rtIds = row.rtId
getRtsalse(rtIds).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "查看销售退货单信息";
this.optType = "view";
@ -502,9 +505,9 @@ export default {
const rtId = row.rtId || this.ids
getRtsalse(rtId).then(response => {
this.form = response.data;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.warehouseInfo[0] = response.data.warehouseId;
this.warehouseInfo[1] = response.data.locationId;
this.warehouseInfo[2] = response.data.areaId;
this.open = true;
this.title = "修改销售退货单";
this.optType = "add";

View File

@ -86,7 +86,7 @@
</el-row>
<el-table v-loading="loading" :data="rtvendorList" @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="退货单编号" align="center" prop="rtCode" >
<template slot-scope="scope">
<el-button
@ -95,11 +95,11 @@
v-hasPermi="['mes:wm:rtvendor:query']"
>{{scope.row.rtCode}}</el-button>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="退货单名称" align="center" prop="rtName" />
<el-table-column label="采购订单编号" align="center" prop="poCode" />
<el-table-column label="采购订单编号" align="center" prop="poCode" />
<el-table-column label="供应商编码" align="center" prop="vendorCode" />
<el-table-column label="供应商名称" align="center" width="150px" prop="vendorName" :show-overflow-tooltip="true"/>
<el-table-column label="供应商名称" align="center" width="150px" prop="vendorName" :show-overflow-tooltip="true"/>
<el-table-column label="退货日期" align="center" prop="rtDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.rtDate, '{y}-{m}-{d}') }}</span>
@ -109,7 +109,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" width="200" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -139,7 +139,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -162,7 +162,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -224,13 +224,13 @@
</el-col>
</el-row>
</el-form>
<el-divider v-if="form.rtId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.rtId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.rtId !=null" class="box-card">
<Rtvendorline ref=line :rtId="form.rtId" :batchCode="form.batchCdoe" :vendorId="form.vendorId" :optType="optType"></Rtvendorline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -298,6 +298,9 @@ export default {
],
rtDate: [
{ required: true, message: "退货日期不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};

View File

@ -120,7 +120,7 @@
size="mini"
type="text"
icon="el-icon-video-play"
v-if="(scope.row.status =='PREPARE' && scope.row.transferType == 'INNER')"
v-if="(scope.row.status =='PREPARE' && scope.row.transferType == 'INNER')"
@click="handleExecute(scope.row)"
v-hasPermi="['mes:wm:transfer:edit']"
>执行转移</el-button>
@ -128,7 +128,7 @@
size="mini"
type="text"
icon="el-icon-video-play"
v-if="(scope.row.status =='PREPARE' && scope.row.transferType == 'OUTER')"
v-if="(scope.row.status =='PREPARE' && scope.row.transferType == 'OUTER')"
@click="handleTransOut(scope.row)"
v-hasPermi="['mes:wm:transfer:edit']"
>执行移出</el-button>
@ -136,7 +136,7 @@
size="mini"
type="text"
icon="el-icon-video-play"
v-if="(scope.row.status =='CONFIRMED' && scope.row.transferType == 'OUTER')"
v-if="(scope.row.status =='CONFIRMED' && scope.row.transferType == 'OUTER')"
@click="handleExecute(scope.row)"
v-hasPermi="['mes:wm:transfer:edit']"
>执行移入</el-button>
@ -159,7 +159,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -182,7 +182,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
</el-switch>
</el-form-item>
</el-col>
@ -272,13 +272,13 @@
</el-row>
</el-form>
<el-divider v-if="form.transferId !=null" content-position="center">物料信息</el-divider>
<el-divider v-if="form.transferId !=null" content-position="center">物料信息</el-divider>
<el-card shadow="always" v-if="form.transferId !=null" class="box-card">
<Transferline ref=line :transferId="form.transferId" :fromWarehouseId="form.fromWarehouseId" :toWarehouseId="form.toWarehouseId" :optType="optType"></Transferline>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' "> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -287,7 +287,7 @@
<script>
import { listTransfer, getTransfer, delTransfer, addTransfer, updateTransfer, execute} from "@/api/mes/wm/transfer";
import {listWarehouse} from "@/api/mes/wm/warehouse";
import {listWarehouse} from "@/api/mes/wm/warehouse";
import {genCode} from "@/api/system/autocode/rule";
import Transferline from "./line.vue";
export default {
@ -298,7 +298,7 @@ export default {
return {
//
autoGenFlag:false,
optType: undefined,
optType: undefined,
//
loading: true,
//
@ -329,10 +329,10 @@ export default {
rules: {
transferCode: [
{ required: true, message: "转移单编号不能为空", trigger: "blur" }
],
],
transferName: [
{ required: true, message: "转移单名称不能为空", trigger: "blur" }
],
],
transferType: [
{ required: true, message: "转移单类型不能为空", trigger: "blur" }
],
@ -344,7 +344,10 @@ export default {
],
toWarehouseId: [
{ required: true, message: "请选择转入仓库", trigger: "blur" }
]
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -376,30 +379,30 @@ export default {
//
reset() {
this.form = {
transferId: null,
transferCode: null,
transferName: null,
transferType: "INNER",
destination: null,
carrier: null,
bookingNote: null,
fromWarehouseId: null,
fromWarehouseCode: null,
fromWarehouseName: null,
toWarehouseId: null,
toWarehouseCode: null,
toWarehouseName: null,
transferDate: null,
status: "PREPARE",
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
transferId: null,
transferCode: null,
transferName: null,
transferType: "INNER",
destination: null,
carrier: null,
bookingNote: null,
fromWarehouseId: null,
fromWarehouseCode: null,
fromWarehouseName: null,
toWarehouseId: null,
toWarehouseCode: null,
toWarehouseName: null,
transferDate: null,
status: "PREPARE",
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.autoGenFlag = false;
this.resetForm("form");
@ -425,14 +428,14 @@ export default {
this.reset();
this.open = true;
this.title = "添加转移单";
this.optType = "add";
this.optType = "add";
},
//
handleView(row){
this.reset();
const transferId = row.transferId
getTransfer(transferId).then(response => {
this.form = response.data;
this.form = response.data;
this.open = true;
this.title = "查看转移单信息";
this.optType = "view";
@ -446,7 +449,7 @@ export default {
this.form = response.data;
this.open = true;
this.title = "修改转移单";
this.optType = "edit";
this.optType = "edit";
});
},
/** 提交按钮 */
@ -473,7 +476,7 @@ export default {
handleTransOut(row){
const transferId = row.transferId
getTransfer(transferId).then(response => {
this.form = response.data;
this.form = response.data;
this.form.status = 'CONFIRMED';
updateTransfer(this.form).then(response => {
this.$modal.msgSuccess("修改成功");

View File

@ -90,7 +90,7 @@
></el-switch>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true"/>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" width="200px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -117,7 +117,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -142,7 +142,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -265,6 +265,9 @@ export default {
warehouseName: [
{ required: true, message: "仓库名称不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
@ -336,7 +339,7 @@ export default {
debugger;
this.reset();
const warehouseId = row.warehouseId || this.ids
getWarehouse(warehouseId).then(response => {
getWarehouse(warehouseId).then(response => {
this.form = response.data;
this.open = true;
this.title = "查看仓库";
@ -377,7 +380,7 @@ export default {
/**
* 冻结状态变更
* @param row
* @param row
*/
handleFrozenChange(row){
let text = row.frozenFlag === "Y" ? "冻结" : "解冻";
@ -418,7 +421,7 @@ export default {
});
}else{
this.form.warehouseCode = null;
}
}
}
}
};

View File

@ -311,7 +311,9 @@ export default {
printerPort: [
{ required: true, message: "打印机端口地址不能为空", trigger: "blur" }
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};

View File

@ -45,7 +45,7 @@
</el-form>
<el-row>
<el-col
<el-col
:span="6"
style="margin-bottom: 10px"
:offset="1"
@ -106,7 +106,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
@ -225,14 +225,18 @@ export default {
rules: {
templateCode: [
{ required: true, message: "模板编号不能为空", trigger: "blur" }
],
],
templateName: [
{ required: true, message: "模板名称不能为空", trigger: "blur" }
], templateType: [
{ required: true, message: "模板类型不能为空", trigger: "change" }
], paperType: [
{ required: true, message: "请选择纸张类型", trigger: "change" }
]}
],
remark: [
{ max: 250, message: '长度必须小于250个字符', trigger: 'blur' }
]
}
};
},
created() {