Merge remote-tracking branch 'origin/master'

master
mengjiao 10 months ago
commit 81227c2a69

@ -55,6 +55,7 @@
"quill": "1.3.7",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"swiper": "^5.4.5",
"v-scale-screen": "^1.0.2",
"vue": "2.6.12",
"vue-count-to": "1.0.13",

@ -0,0 +1,26 @@
import request from '@/utils/request'
// /**烘房生产监控看板--当天烘房情况**/
export function getHEProInfo(data) {
return request({
url: '/mes/mesborad/getHFProInfo',
method: 'post',
data: data
});
}
///**烘房生产监控看板--当天质量情况**/
export function getHFQcInfo(data) {
return request({
url: '/mes/mesborad/getHFQcInfo',
method: 'post',
data: data
});
}
// /**烘房生产监控看板--效率分析**/
export function getHFxlInfo(data) {
return request({
url: '/mes/mesborad/getHFxlInfo',
method: 'post',
data: data
});
}

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 查询通知公告-班组列表
export function listNoticeGroup(query) {
return request({
url: '/system/noticeGroup/list',
method: 'get',
params: query
});
}
// 查询通知公告-班组详细
export function getNoticeGroup(id) {
return request({
url: '/system/noticeGroup/' + id,
method: 'get'
});
}
// 新增通知公告-班组
export function addNoticeGroup(data) {
return request({
url: '/system/noticeGroup',
method: 'post',
data: data
});
}
// 修改通知公告-班组
export function updateNoticeGroup(data) {
return request({
url: '/system/noticeGroup',
method: 'put',
data: data
});
}
// 删除通知公告-班组
export function delNoticeGroup(data) {
return request({
url: '/system/noticeGroup/delNoticeGroup',
method: 'post',
data: data
});
}
export function teamBind(data) {
return request({
url: '/system/noticeGroup/teamBind',
method: 'post',
data: data
});
}

@ -55,3 +55,21 @@ export function delProduct(productId) {
method: 'delete'
});
}
// 修改物料附属信息
export function updateProductAttached(data) {
return request({
url: '/wms/attached',
method: 'put',
data: data
});
}
// 新增物料附属信息
export function addProductAttached(data) {
return request({
url: '/wms/attached',
method: 'post',
data: data
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

@ -46,10 +46,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间编码" prop="planWorkshop">
<el-form-item label="工作中心编码" prop="planWorkshop">
<el-select
v-model="queryParams.planWorkshop"
placeholder="请选择车间"
placeholder="请选择工作中心"
clearable
>
<el-option
@ -455,10 +455,10 @@
align="center"
prop="planType"
/>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="120" label="工作中心编码" align="center" prop="planWorkshop" />
<el-table-column
width="150"
label="车间"
label="工作中心名称"
align="center"
prop="workCenterName"
/>
@ -673,7 +673,7 @@
<el-descriptions-item label="工单编码">{{
this.form.orderCode
}}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{
<el-descriptions-item label="工作中心编码">{{
this.form.planWorkshop
}}</el-descriptions-item>
<el-descriptions-item label="工作中心">{{
@ -771,7 +771,7 @@
<el-dialog title="巡检详情" :visible.sync="workDetail" width="1000px">
<el-tabs type="border-card">
<el-tab-pane label="巡检信息">
<el-descriptions title="" border :column="2">
<el-descriptions title="" border :column="2" :contentStyle="WCS" :label-style="WLS">
<el-descriptions-item label="计划编码">{{
workVO.order.planCode
}}</el-descriptions-item>
@ -784,9 +784,9 @@
<el-descriptions-item label="工单编码">{{
workVO.order.orderCode
}}</el-descriptions-item>
<el-descriptions-item label="车间编码">{{
<!-- <el-descriptions-item label="工作中心编码">{{
workVO.order.planWorkshop
}}</el-descriptions-item>
}}</el-descriptions-item> -->
<el-descriptions-item label="循环开始时间">{{
workVO.order.planLoopStart
}}</el-descriptions-item>
@ -808,16 +808,13 @@
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="设备信息">
<el-descriptions class="my-margin-top" title="" :column="2" border>
<el-descriptions class="my-margin-top" title="" :column="2" border :contentStyle="WCS" :label-style="WLS">
<el-descriptions-item label="设备编码">{{
workVO.equ.equipmentCode
}}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{
workVO.equ.equipmentName
}}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{
workVO.equ.equipmentLocation
}}</el-descriptions-item>
<el-descriptions-item label="设备类型编码">{{
workVO.equ.equipmentTypeCode
}}</el-descriptions-item>
@ -830,6 +827,9 @@
<el-descriptions-item label="所属工作中心名称">{{
workVO.equ.workshopName
}}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{
workVO.equ.equipmentLocation
}}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
@ -903,6 +903,12 @@ export default {
dicts: ["device_order_status", "device_loop_type", "device_reach_standard"],
data() {
return {
WCS: {
"text-align": "left",
},
WLS: {
width: "225px",
},
standardListVo: [],
// VO
workVO: {

@ -200,6 +200,10 @@
label="处理状态"
align="center"
prop="orderStatus" />
<el-table-column
label="报修来源"
align="center"
prop="orderSource" />
<el-table-column
label="报修去向"
align="center"
@ -229,10 +233,6 @@
<span>{{ parseTime(scope.row.orderBreakdownTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="报修来源"
align="center"
prop="orderSource" />
<el-table-column
label="报修时间"
align="center"
@ -244,7 +244,7 @@
</template>
</el-table-column>
<el-table-column
label="报修人号"
label="报修人号"
align="center"
prop="orderRepairmanCode"
width="150"
@ -652,7 +652,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitCheckForm"> </el-button>
<el-button @click="cancelCheckForm"> </el-button>
<el-button @click="cancelOpenCheckForm"> </el-button>
</div>
</el-dialog>
@ -882,7 +882,7 @@
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelCheckForm"> </el-button>
<el-button @click="cancelViewCheckForm"> </el-button>
</div>
</el-dialog>
@ -1413,15 +1413,17 @@ export default {
this.openView = false;
},
//
cancelCheckForm() {
cancelViewCheckForm() {
this.viewCheck = false;
},
cancelOpenCheckForm() {
this.openCheck = false;
},
//
reset() {
this.form = {
//
fileList: null,
//
orderId: null,
orderCode: null,
equipmentCode: null,

@ -101,6 +101,7 @@
/>
</el-form-item>
<el-form-item label="维修人" prop="repairPerson">
<el-input
v-model="queryParams.repairPerson"
placeholder="请输入维修人"
@ -351,18 +352,31 @@
align="left"
prop="handlingMethod"
/>
<el-table-column
width="200"
label="更换备件"
align="left"
prop="replaceSpare"
/>
<el-table-column
width="100"
label="维修人"
align="left"
prop="repairPerson"
/>
<!-- <el-table-column
width="200"
label="更换备件"
align="left"
prop="replaceSpare"
/> -->
<el-table-column
label="更换备件"
align="center"
prop="replaceSpare"
width="150"
>
<template slot-scope="scope">
<el-button type="text" @click="handleViewSpareParts(scope.row)">
查看更换备件
</el-button>
</template>
</el-table-column>
<el-table-column
v-if="false"
label="备用字段1"
@ -519,6 +533,100 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 查看更换备件 -->
<el-dialog :title="title" :visible.sync="openSpareParts" width="1000px" append-to-body>
<el-table
v-loading="loading"
:data="sparePartsApplicationRecordList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
fixed
/>
<el-table-column
label="维修单号"
align="center"
prop="workCode"
width="250"
/>
<el-table-column
label="使用设备"
align="center"
prop="spareUseEquipment"
width="150"
/>
<el-table-column
label="备品备件编码"
align="center"
prop="spareCode"
width="120"
/>
<el-table-column
label="备品备件名称"
align="center"
prop="spareName"
width="120"
/>
<el-table-column
label="规格型号"
align="center"
prop="spareModel"
width="150"
/>
<el-table-column label="数量" align="center" prop="spareQuantity" />
<el-table-column
label="领用时间"
align="center"
prop="applyTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.applyTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="申领人"
align="center"
prop="applyPeople"
width="80"
/>
<el-table-column
label="单价"
align="center"
prop="unitPrice"
width="100"
/>
<el-table-column
label="总价"
align="center"
prop="totalPrice"
width="100"
/>
<el-table-column
label="批准人"
align="center"
prop="applyApprovePeople"
width="80"
/>
</el-table>
<pagination
v-show="sparePartsTotal > 0"
:total="sparePartsTotal"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-dialog>
</div>
</template>
@ -530,6 +638,10 @@ import {
addOperation,
updateOperation,
} from "@/api/device/operation";
import {
listRepairSparePartsRecord,
} from "@/api/device/sparePartsApplicationRecord";
import { parseTime } from "../../../utils/ruoyi";
export default {
@ -580,12 +692,16 @@ export default {
showSearch: true,
//
total: 0,
//
sparePartsTotal: 0,
//
operationList: [],
//
title: "",
//
open: false,
//
openSpareParts: false,
//
queryParams: {
pageNum: 1,
@ -594,6 +710,7 @@ export default {
groupLine: null,
equipmentName: null,
equipmentCode: null,
spareUseEquipment: null,
faultTime: null,
actualOperationTime: null,
operationTime: null,
@ -610,6 +727,12 @@ export default {
attr3: null,
createTimeArray: [],
},
//
querySparePartsParams: {
pageNum: 1,
pageSize: 10,
equipmentCode: null,
},
//
form: {},
//
@ -625,11 +748,16 @@ export default {
},
methods: {
parseTime,
//
indexMethod(index) {
return index + 1;
},
/** 查询设备运行记录列表 */
getList() {
this.loading = true;
listOperation(this.queryParams).then((response) => {
this.operationList = response.rows;
// this.operationList.failureDescription.replace(/;/g, '<br>')
this.total = response.total;
this.loading = false;
});
@ -703,6 +831,22 @@ export default {
this.title = "修改设备运行记录";
});
},
/** 查看更换备件 */
handleViewSpareParts(row) {
this.querySparePartsParams.equipmentCode = row.equipmentCode;
this.querySparePartsParams.createTime = row.createTime;
listRepairSparePartsRecord(this.querySparePartsParams).then((response) => {
this.sparePartsApplicationRecordList = response.rows;
this.sparePartsTotal = response.total;
this.openSpareParts = true;
this.title = "查看更换备件";
});
},
/** 查看更换备件取消按钮 */
cancelSpareParts() {
this.openSpareParts = false;
this.reset();
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {

@ -1881,6 +1881,11 @@ export default {
_data.minutes / 60 +
_data.seconds / 3600
).toFixed(1) + "小时";
//
if(this.form.workDownMachine == '0'){
this.form.faultDownTime = "0.0小时";
}
}
//
@ -2310,6 +2315,7 @@ export default {
item.picturePath = this.listToString(item.picturePath);
}
});
writeRepairOrder(this.form).then((response) => {
this.openWrite = false;
this.$modal.msgSuccess("填写维修记录成功!");

@ -62,6 +62,7 @@
<el-table-column
label="使用设备"
align="center"
width="120"
prop="spareUseEquipment"
/>
<el-table-column

@ -179,7 +179,7 @@
label="关联工单号"
align="center"
prop="workCode"
width="200"
width="250"
/>
<el-table-column
label="备品备件编码"
@ -196,6 +196,7 @@
<el-table-column
label="使用设备"
align="center"
width="150"
prop="spareUseEquipment"
/>
<el-table-column

@ -128,7 +128,6 @@
<el-table
v-loading="loading"
:data="sparePartsLedgerList"
border
>
<!-- 序号 -->
<el-table-column type="index" width="90" align="center" :index="indexMethod" label="序号"/>

@ -33,8 +33,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间编码" prop="planWorkshop">
<el-select v-model="queryParams.planWorkshop" placeholder="请选择车间" clearable>
<el-form-item label="工作中心" prop="planWorkshop">
<el-select v-model="queryParams.planWorkshop" placeholder="请选择工作中心" clearable>
<el-option
v-for="work in workCenterList"
:key="work.factoryCode"
@ -338,8 +338,8 @@
>
</template>
</el-table-column>
<el-table-column label="车间编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="车间" align="center" prop="workCenterName"/>
<el-table-column width="120" label="工作中心编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="工作中心名称" align="center" prop="workCenterName"/>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="200" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="150" label="点检时间" align="center" prop="orderStart"/>

File diff suppressed because it is too large Load Diff

@ -438,6 +438,7 @@ export default {
.home {
width: 100%;
height: 100vh;
background: url("../../../assets/images/bg1.jpg") no-repeat;
background-size: 100% 100%;
background-color: #050711;

@ -11,8 +11,8 @@
<el-form-item label="生产时间" prop="productDateArray">
<el-date-picker
v-model="queryParams.productDateArray"
format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@ -168,7 +168,7 @@ export default {
var y = dd.getFullYear();
var m = dd.getMonth() + 1; //
var d = dd.getDate();
return y + "-" + m + "-" + d ;
return y + "-" + m + "-" + d + " 00:00:00";
},
/** 查询设备小时产量列表 */

@ -671,7 +671,7 @@ export default {
},
//
onSelectWorkOrder(obj) {
this.form.orderNo = obj.orderNo;
this.form.orderNo = obj.workorderCode;
this.form.materialName = obj.materialName;
this.form.materialCode = obj.materialCode;
this.form.quality = obj.quality;

@ -0,0 +1,198 @@
<template>
<diV>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleAdd"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
size="mini"
:disabled="multiple"
@click="handleDisBindTeam"
>删除</el-button>
</el-col>
</el-row>
<el-table :data="noticeGroupList" v-loading="loading" @selection-change="handleSelChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column label="班组编码" align="center" prop="groupCode" />
<el-table-column label="班组名称" align="center" prop="groupName" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="teamClose"> </el-button>
</div>
</el-dialog>
<el-dialog :title="teamTitle" :visible.sync="teamOpen" width="800px" append-to-body>
<el-table :data="teamList" v-loading="teamLoading" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column label="班组编码" align="center" prop="teamCode" />
<el-table-column label="班组名称" align="center" prop="teamDesc" />
<el-table-column prop="teamType" label="班组类别" align="center" >
<template slot-scope="scope">
{{ scope.row.teamType == "team_type1" ? "生产班组" : "检验班组" }}
</template>
</el-table-column>
<el-table-column label="所属产线" align="center" prop="productionLineCode" />
<el-table-column label="班组负责人" align="center" prop="teamLeaderName" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createDate" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleBindTeam"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</diV>
</template>
<script>
import { listTeam,} from "@/api/wms/team";
import { getNoticeGroup,delNoticeGroup,teamBind,} from "@/api/system/noticeGroup";
export default {
name:"teamBind",
props: {
noticeId: Number,
},
data() {
return {
//
loading: true,
teamLoading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
groupCodes:[],
groupNames:[],
teamOpen: false,
//
total: 0,
//
noticeGroupList: [],
teamList: [],
//
title: "班组绑定",
teamTitle: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
noticeId: null,
createBy: null
},
};
},
created() {
this.getTeamList();
},
methods: {
//
getList() {
this.loading = true;
getNoticeGroup(this.noticeId).then(response => {
this.noticeGroupList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
getTeamList(){
listTeam().then(response => {
this.teamList = response.rows;
});
},
cancel() {
this.teamOpen = false;
},
teamClose() {
this.$emit('cancel');
//this.reset();
},
//
handleSelChange(selection) {
this.groupCodes = selection.map(item => item.groupCode)
this.single = selection.length!=1
this.multiple = !selection.length
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.teamCode)
this.groupNames = selection.map(item => item.teamDesc)
this.single = selection.length!=1
this.multiple = !selection.length
},
//
handleAdd() {
this.teamLoading = true;
listTeam().then(response => {
this.teamList = response.rows;
this.teamOpen = true;
this.teamTitle = "添加班组";
this.teamLoading = false;
});
},
//
handleBindTeam() {
const groupCodes = this.ids
const groupNames = this.groupNames
const noticeId = this.noticeId
const data = {
noticeId,
groupCodes,
groupNames
}
if (this.noticeId != undefined) {
teamBind(data).then(response => {
if(response.code == 200) {
this.$modal.msgSuccess("绑定成功");
}
this.teamOpen = false;
this.getList();
});
}
},
//
handleDisBindTeam() {
const groupCodes = this.groupCodes;
const noticeId = this.noticeId;
const data = {
noticeId,
groupCodes
}
this.$modal.confirm('是否确认删除班组编码为"' + groupCodes + '"的数据项?').then(function() {
return delNoticeGroup(data);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
},
};
</script>
<style scoped>
.mb8 {
margin-bottom: 8px;
}
</style>

@ -66,6 +66,17 @@
v-hasPermi="['system:notice:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-link"
size="mini"
:disabled="single"
@click="handleBind"
v-hasPermi="['system:notice:edit']"
>班组绑定</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -125,56 +136,62 @@
<!-- 添加或修改公告对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input v-model="form.noticeTitle" placeholder="请输入公告标题" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="form.noticeType" placeholder="请选择公告类型">
<el-option
v-for="dict in dict.type.sys_notice_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_notice_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容">
<editor v-model="form.noticeContent" :min-height="192"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input v-model="form.noticeTitle" placeholder="请输入公告标题" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="form.noticeType" placeholder="请选择公告类型">
<el-option
v-for="dict in dict.type.sys_notice_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_notice_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容">
<editor v-model="form.noticeContent" :min-height="192"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<TeamBind ref="teamBind"
:noticeId="ids[0]"
@cancel="handleClose"
></TeamBind>
</div>
</template>
<script>
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice";
import TeamBind from './TeamBind.vue';
export default {
name: "Notice",
dicts: ['sys_notice_status', 'sys_notice_type'],
components: {TeamBind},
data() {
return {
//
@ -195,6 +212,7 @@ export default {
title: "",
//
open: false,
teamOpen: false,
//
queryParams: {
pageNum: 1,
@ -306,7 +324,15 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
handleBind(){
this.$refs.teamBind.open = true;
this.$refs.teamBind.getList();
},
handleClose() {
this.$refs.teamBind.open = false;
this.getList();
}
}
};
</script>
</script>

@ -957,9 +957,15 @@
:value="form.equipmentCategory"
/>
</el-descriptions-item>
<el-descriptions-item label="工厂车间">{{
<el-descriptions-item label="工厂车间编码">{{
form.factoryWorkshop
}}</el-descriptions-item>
<el-descriptions-item label="工厂车间">
<dict-tag
:options="dict.type.factory_workshop"
:value="form.factoryWorkshop"
/>
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="center">设备使用状况</el-divider>

@ -62,6 +62,18 @@
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdateAttached"
v-hasPermi="['wms:attached:edit']"
>新增/修改附属属性</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@ -94,7 +106,7 @@
size="mini"
@click="handleSyncProductSAP"
v-hasPermi="['wms:product:edit']"
>同步物料工艺
>同步物料工艺
</el-button>
</el-col>
<right-toolbar
@ -206,7 +218,7 @@
<el-table-column
label="操作"
align="center"
width="150"
width="150"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
@ -420,93 +432,120 @@
</div>
</el-dialog>
<!-- 查看物料附属信息 -->
<!-- 更新附属属性 -->
<el-dialog
:title="title"
:visible.sync="openAttached"
width="500px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="标准效率" prop="iei">
<el-input-number
v-model="form.iei"
style="width: 320px"
/>
</el-form-item>
<el-form-item label="标准用人" prop="manStandar">
<el-input-number
v-model="form.manStandar"
style="width: 320px"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitAttachedForm"> </el-button>
<el-button @click="cancelOpenAttached"> </el-button>
</div>
</el-dialog>
<!-- 查看物料附属信息 -->
<el-dialog
:title="title"
:visible.sync="openAttachedView"
width="1000px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-descriptions
:column="2"
border
:contentStyle="CS"
:label-style="LS"
>
<el-descriptions-item label="产品编码">{{
form.productCode
}}</el-descriptions-item>
<el-descriptions-item label="产品名称">{{
form.productDescZh
}}</el-descriptions-item>
<!-- <el-descriptions-item label="产品型号">{{
:column="2"
border
:contentStyle="CS"
:label-style="LS"
>
<el-descriptions-item label="产品编码">{{
form.productCode
}}</el-descriptions-item>
<el-descriptions-item label="产品名称">{{
form.productDescZh
}}</el-descriptions-item>
<!-- <el-descriptions-item label="产品型号">{{
form.productModel
}}</el-descriptions-item> -->
<el-descriptions-item label="物料组编码">{{
form.productGroup
}}</el-descriptions-item>
<el-descriptions-item label="物料组名称">{{
form.productGroupName
}}</el-descriptions-item>
<el-descriptions-item label="物料类别">{{
form.mtart
}}</el-descriptions-item>
<el-descriptions-item label="报工折算率">{{
form.reportRate
}}</el-descriptions-item>
<el-descriptions-item label="品类">{{
form.category
}}</el-descriptions-item>
<el-descriptions-item label="每PC单圈">{{
form.pc
}}</el-descriptions-item>
<el-descriptions-item label="标准效率">{{
form.iei
}}</el-descriptions-item>
<el-descriptions-item label="标准用人">{{
form.manStandar
}}</el-descriptions-item>
<el-descriptions-item label="喷药方式">{{
form.sprayWay
}}</el-descriptions-item>
<el-descriptions-item label="白坯直径">{{
form.blankDiameter
}}</el-descriptions-item>
<el-descriptions-item label="白胚物料号">{{
form.blankNo
}}</el-descriptions-item>
<el-descriptions-item label="标准喷药量">{{
form.sprayVolume
}}</el-descriptions-item>
<el-descriptions-item label="药液料号">{{
form.liquidNo
}}</el-descriptions-item>
<el-descriptions-item label="标准内膜用量">{{
form.endometrialDosage
}}</el-descriptions-item>
<el-descriptions-item label="标准外膜用量KG/PC">{{
form.outerFilmDosage
}}</el-descriptions-item>
<el-descriptions-item label="支架">{{
form.support
}}</el-descriptions-item>
<el-descriptions-item label="支架物料号">{{
form.supportNo
}}</el-descriptions-item>
<el-descriptions-item label="吸塑">{{
form.pvc
}}</el-descriptions-item>
<el-descriptions-item label="支架盘">{{
form.supportPlate
}}</el-descriptions-item>
<el-descriptions-item label="其他">{{
form.other
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions-item label="物料组编码">{{
form.productGroup
}}</el-descriptions-item>
<el-descriptions-item label="物料组名称">{{
form.productGroupName
}}</el-descriptions-item>
<el-descriptions-item label="物料类别">{{
form.mtart
}}</el-descriptions-item>
<el-descriptions-item label="报工折算率">{{
form.reportRate
}}</el-descriptions-item>
<el-descriptions-item label="品类">{{
form.category
}}</el-descriptions-item>
<el-descriptions-item label="每PC单圈">{{
form.pc
}}</el-descriptions-item>
<el-descriptions-item label="标准效率">{{
form.iei
}}</el-descriptions-item>
<el-descriptions-item label="标准用人">{{
form.manStandar
}}</el-descriptions-item>
<el-descriptions-item label="喷药方式">{{
form.sprayWay
}}</el-descriptions-item>
<el-descriptions-item label="白坯直径">{{
form.blankDiameter
}}</el-descriptions-item>
<el-descriptions-item label="白胚物料号">{{
form.blankNo
}}</el-descriptions-item>
<el-descriptions-item label="标准喷药量">{{
form.sprayVolume
}}</el-descriptions-item>
<el-descriptions-item label="药液料号">{{
form.liquidNo
}}</el-descriptions-item>
<el-descriptions-item label="标准内膜用量">{{
form.endometrialDosage
}}</el-descriptions-item>
<el-descriptions-item label="标准外膜用量KG/PC">{{
form.outerFilmDosage
}}</el-descriptions-item>
<el-descriptions-item label="支架">{{
form.support
}}</el-descriptions-item>
<el-descriptions-item label="支架物料号">{{
form.supportNo
}}</el-descriptions-item>
<el-descriptions-item label="吸塑">{{
form.pvc
}}</el-descriptions-item>
<el-descriptions-item label="支架盘">{{
form.supportPlate
}}</el-descriptions-item>
<el-descriptions-item label="其他">{{
form.other
}}</el-descriptions-item>
</el-descriptions>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelAttached"> </el-button>
<el-button @click="cancelAttachedView"> </el-button>
</div>
</el-dialog>
</div>
@ -519,6 +558,8 @@ import {
delProduct,
addProduct,
updateProduct,
updateProductAttached,
addProductAttached,
} from "@/api/wms/product";
import { syncProductSAP } from "@/api/technology/proroute";
@ -537,7 +578,7 @@ export default {
loading: true,
//
ids: [],
productCodes:[],
productCodes: [],
//
single: true,
//
@ -552,6 +593,7 @@ export default {
title: "",
//
open: false,
openAttachedView: false,
openAttached: false,
//
queryParams: {
@ -637,14 +679,22 @@ export default {
this.open = false;
this.reset();
},
//
cancelAttached() {
//
cancelAttachedView() {
this.openAttachedView = false;
this.reset();
},
//
cancelOpenAttached() {
this.openAttached = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
iei: null,
manStandar: null,
productId: null,
productCode: null,
productDescZh: null,
@ -704,7 +754,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.productId);
this.productCodes = selection.map(item => item.productCode)
this.productCodes = selection.map((item) => item.productCode);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
@ -724,16 +774,18 @@ export default {
this.title = "修改产品信息";
});
},
//
handleView(row) {
this.reset();
const productId = row.productId || this.ids;
getProduct(productId).then((response) => {
this.form = response.data;
this.openAttached = true;
this.openAttachedView = true;
this.title = "查看产品信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
@ -754,6 +806,49 @@ export default {
}
});
},
/** 修改按钮操作 */
handleUpdateAttached(row) {
this.reset();
const productId = row.productId || this.ids;
getProduct(productId).then((response) => {
this.form.id = response.data.id;
this.form.iei = response.data.iei;
this.form.manStandar = response.data.manStandar;
this.form.productCode = response.data.productCode.slice(7,18);
console.log(this.form.productCode);
this.openAttached = true;
if(this.form.id == null){
this.title = "新增产品附属信息";
}else{
this.title = "修改产品附属信息";
}
});
},
/** 提交按钮 */
submitAttachedForm() {
this.$refs["form"].validate((valid) => {
console.log(this.form);
if (valid) {
if (this.form.id != null) {
console.log(this.form);
updateProductAttached(this.form).then((response) => {
this.$modal.msgSuccess("修改产品附属信息成功");
this.openAttached = false;
this.getList();
});
}else {
addProductAttached(this.form).then((response) => {
this.$modal.msgSuccess("新增产品附属信息成功");
this.openAttached = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const productIds = row.productId || this.ids;
@ -781,10 +876,10 @@ export default {
);
},
/**选择产品进行工艺同步**/
handleSyncProductSAP(){
handleSyncProductSAP() {
const productCodes = this.productCodes;
return syncProductSAP(productCodes);
}
},
},
};
</script>

Loading…
Cancel
Save