diff --git a/public/index.html b/public/index.html index 66eb226..8198c60 100644 --- a/public/index.html +++ b/public/index.html @@ -200,8 +200,8 @@ opacity: 0.5; } ::-webkit-scrollbar { - width: 4px !important; - height: 8px !important; + width: 12px !important; + height: 12px !important; } /* 滚动槽 */ ::-webkit-scrollbar-track { diff --git a/src/api/productplan/base.js b/src/api/productplan/base.js index 870430e..99cb515 100644 --- a/src/api/productplan/base.js +++ b/src/api/productplan/base.js @@ -27,7 +27,7 @@ export function uploadExcel (param, sourceType) { // 查询订单管理所有数据 export function getWorkorderList (query) { return request({ - url: '/admin/om/workorder/query', + url: '/admin/om/workorder/filter', method: 'get', params: query }) @@ -41,11 +41,12 @@ export function getWorkorder (query) { }) } -// 根据物料ID查询所需数据 -export function getArticleData (query) { +// 根据产线ID查询绑定物料列表 +export function getArticleData (params) { return request({ - url: '/admin/base/article/get/' + query, - method: 'get' + url: '/admin/base/article/selectbyworkline', + method: 'get', + params }) } @@ -102,6 +103,15 @@ export function getWorklineList (params) { }) } +// 获取已绑定产线 +export function getRolerelQuery(params) { + return request({ + url: '/admin/base/rolerel/query', + method: 'get', + params + }) +} + // 查询工厂数据 export function getWorklineTree (params) { return request({ diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 8ed1a63..5ab1674 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -8,6 +8,7 @@ const state = { avatar: '', introduction: '', roles: [], + roleId: '', permissions: [], permisaction: [] } @@ -32,6 +33,9 @@ const mutations = { SET_ROLES: (state, roles) => { state.roles = roles }, + SET_ROLEID:(state, roleId)=>{ + state.roleId=roleId; + }, SET_PERMISSIONS: (state, permisaction) => { state.permisaction = permisaction } @@ -61,18 +65,20 @@ const actions = { removeToken() resolve() } - - const { roles, name, avatar, introduction, permissions } = response.data + const { roles, roleId, name, avatar, introduction, permissions } = response.data // roles must be a non-empty array if (!roles || roles.length <= 0) { reject('getInfo: roles must be a non-null array!') } + commit('SET_PERMISSIONS', permissions) commit('SET_ROLES', roles) commit('SET_NAME', name) commit('SET_AVATAR', avatar) commit('SET_INTRODUCTION', introduction) + commit('SET_ROLEID', roleId) + localStorage.roleId=roleId; resolve(response) }).catch(error => { reject(error) diff --git a/src/views/productplan/workbench/order/closeOrder.vue b/src/views/productplan/workbench/order/closeOrder.vue index 9d6fe5d..948c10a 100644 --- a/src/views/productplan/workbench/order/closeOrder.vue +++ b/src/views/productplan/workbench/order/closeOrder.vue @@ -10,10 +10,11 @@ :data="tableData" border tooltip-effect="dark" - height="410" + height="710" ref="multipleTable" class="order-table-content-wrap" @select="handleSelectionChange" + @select-all="handleSelectionChange" > @@ -43,7 +44,7 @@ width="170" align="center"> @@ -69,16 +70,17 @@ export default { headers:[ 'OM_SerialOrder-WorkOrderId', 'OM_SerialOrder-SerialOrderId', - 'OM_SerialOrder-PlanResourceId', - 'OM_SerialOrder-UsedResourceId', - 'OM_SerialOrder-PlanQty', + // 'OM_SerialOrder-PlanResourceId', + // 'OM_SerialOrder-UsedResourceId', + // 'OM_SerialOrder-PlanQty', 'OM_SerialOrder-ProjectId', - 'OM_SerialOrder-SerialOrderStatus' + 'OM_SerialOrderStatus-Status' ], timeHeaders:[ - 'OM_SerialOrder-PlanStartTime', - 'OM_SerialOrder-PlanEndTime', - 'OM_SerialOrder-ActEndTime', + // 'OM_SerialOrder-PlanStartTime', + // 'OM_SerialOrder-PlanEndTime', + // 'OM_SerialOrder-ActEndTime', + 'OM_SerialOrder-ActStartTime' ], orderStatusArray: [], // 订单状态 selectionValue:[], // 当前选择的工单明细 @@ -89,12 +91,31 @@ export default { if(this.selectionValue.length<=0){ this.msgError('请选择工单'); }else{ - cancelUncomplete(this.selectionValue.map(e=>e['OM_SerialOrderStatus-SerialOrderId'])).then(({code})=>{ - if(code==200){ - this.msgSuccess('取消成功'); - this.cancel(); - } - }) + const orderItem=this.selectionValue.find(e=>e['OM_SerialOrderStatus-Status']==40); + if(orderItem){ + this.$confirm('包含生产中工单, 是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + cancelUncomplete(this.selectionValue.map(e=>e['OM_SerialOrderStatus-SerialOrderId'])).then(({code})=>{ + if(code==200){ + this.msgSuccess('取消成功'); + this.cancel(); + } + }) + }).catch(()=>{ + + }) + }else{ + cancelUncomplete(this.selectionValue.map(e=>e['OM_SerialOrderStatus-SerialOrderId'])).then(({code})=>{ + if(code==200){ + this.msgSuccess('取消成功'); + this.cancel(); + } + }) + } + } }, // 关闭 @@ -103,15 +124,15 @@ export default { }, // 订单状态字段转换 fieldTrans(value) { + let fieldValue = value; if (this.orderStatusArray.length > 0) { - let fieldValue = '' this.orderStatusArray.forEach(el => { - if (value === Number(el['stdeftab-stdeftyp'])) { + if (value === el['stdeftab-stdeftyp']) { fieldValue = el['stdeftab-bez'] } }) - return fieldValue } + return fieldValue }, // 数组排序 sortby(a,b){return a['OM_SerialOrder-Sort']-b['OM_SerialOrder-Sort']}, @@ -137,6 +158,7 @@ export default { // 取消选择 clearSelect(){ this.$refs.multipleTable.clearSelection(); + this.selectionValue=[]; }, // 获取未完成工单明细 getUncomplete(){ @@ -147,7 +169,10 @@ export default { // 获取生产状态 getOrderStatus(){ this.getStanderOne({ statid: 'WorkOrderStatus' }).then(res => { - this.orderStatusArray = res.data + this.orderStatusArray = res.data.map(e=>{ + e['stdeftab-stdeftyp'] = Number(e['stdeftab-stdeftyp']); + return e; + }); }) } }, @@ -162,7 +187,7 @@ export default { .el-table__header-wrapper{ .el-table-column--selection{ .el-checkbox{ - display: none; + // display: none; } } } diff --git a/src/views/productplan/workbench/order/index.vue b/src/views/productplan/workbench/order/index.vue index 065ff52..596038f 100644 --- a/src/views/productplan/workbench/order/index.vue +++ b/src/views/productplan/workbench/order/index.vue @@ -178,7 +178,7 @@ :limit.sync="queryParams.pageSize" @pagination="getList" /> - + - + @@ -211,7 +211,7 @@ @@ -238,8 +238,8 @@ @@ -376,8 +376,7 @@ import { updateWorkorder, delWorkorder, undoWorkorder, - getArticleList, - getWorklineList, + getRolerelQuery, getArticleData, getWorkorderNum, setWorkorderNum, @@ -412,7 +411,27 @@ export default { // 是否添加 isAdd: false, // 遍历表头 - headers: [], + headers: [ + + 'OM_WorkOrder-PlantNr', + 'OM_WorkOrder-WorkOrderId', + 'OM_WorkOrderStatus-Status', + 'OM_WorkOrder-ArtId', + // 'OM_WorkOrder-CustArtId', + 'OM_WorkOrder-ProjectId', + 'OM_WorkOrder-OrderType', + // 'OM_WorkOrder-ErpOrderId', + // 'OM_WorkOrder-ParentOrderId', + // 'OM_WorkOrder-UsedResourceId', + 'OM_WorkOrder-PlanQty', + // 'OM_WorkOrder-PlanStartTime', + // 'OM_WorkOrder-PlanEndTime', + 'OM_WorkOrder-ActStartTime', + 'OM_WorkOrder-ActEndTime', + // 'OM_WorkOrder-LastModify', + // 'OM_WorkOrder-LastUser', + // 'OM_WorkOrder-CreateTime' + ], // 遮罩层 loading: true, // 总条数 @@ -476,23 +495,11 @@ export default { created() { this.options = getWorkshopList() this.getList() + this.getRolerelQuery(); // 获取订单类型 this.getStanderOne({ statid: 'OM_OrderType' }).then(res => { this.orderTypeArray = res.data }) - // 获取零件数据 - getArticleList( - // { - // artSpec1:'FINISHED' - // } - ).then(res => { - this.articleArray = res.data - }) - - // 获取产线数据 - getWorklineList().then(res => { - this.workLineArray = res.data - }) // 订单生产状态 this.getStanderOne({ statid: 'WorkOrderStatus' }).then(res => { this.orderStatusArray = res.data @@ -503,6 +510,40 @@ export default { }) }, methods: { + // 获取当前用户产线数据 + getRolerelQuery(){ + const roleId=localStorage.roleId; + getRolerelQuery({RoleId: roleId}).then(({data=[]}) => { + this.workLineArray = data; + if(data && data[0] && data[0]['RoleRel-WorkLineid']){ + this.getArticleData(data[0]['RoleRel-WorkLineid']); + } + }) + }, + // 根据产线获取绑定物料 + getArticleData(value){ + this.form['OM_WorkOrder-ArtId']=undefined; + getArticleData({workLineId:value}).then(({data=[]})=>{ + this.articleArray = data||[]; + }) + }, + // 切换物料ID时候触发事件 + artIdChange(value) { + const item=this.articleArray.find(e=>e['Article-ArtId'] == value) || {}; + this.$set(this.form,'OM_WorkOrder-QuantityPerHour',item['Article-QuantityPerHour']) // 小时产出JPH + this.$set(this.form,'OM_WorkOrder-PlanResourceId',item['Article-PlanResourceId']) // 计划资源ID + this.$set(this.form,'Article-Descr1',item['Article-Descr1']) // 计划资源ID + // 接口需要的隐藏参数 + this.$set(this.form,'OM_WorkOrder-QtyUomId',item['Article-UomId']) + this.$set(this.form,'OM_WorkOrder-UsedResourceId',item['Article-UsedResourceId']) + this.$set(this.form,'OM_WorkOrder-OpTimePerItem',item['Article-OpTimePerItem']) + this.$set(this.form,'OM_WorkOrder-PlanResourceGroupId',item['Article-PlanResourceGroupId']) + this.$set(this.form,'OM_WorkOrder-ProjectId',item['Article-ProjectId']) + this.$set(this.form,'OM_WorkOrder-RatePerHourToggle',item['Article-RatePerHourToggle']) + this.$set(this.form,'OM_WorkOrder-BatchTime',item['Article-BatchTime']) + this.$set(this.form,'OM_WorkOrder-BatchingMethod',item['Article-BatchingMethod']) + this.$set(this.form,'OM_WorkOrder-OrderInfo',item['Article-Descr1']) + }, setItem(item){ this.item=item; if(Object.keys(item).length==0){ @@ -528,50 +569,11 @@ export default { response => { this.dataList = response.data.records this.total = response.data.count - this.headers = [ - 'OM_WorkOrder-PlantNr', - 'OM_WorkOrder-WorkOrderId', - 'OM_WorkOrderStatus-Status', - 'OM_WorkOrder-ArtId', - 'OM_WorkOrder-CustArtId', - 'OM_WorkOrder-ProjectId', - 'OM_WorkOrder-OrderType', - 'OM_WorkOrder-ErpOrderId', - 'OM_WorkOrder-ParentOrderId', - 'OM_WorkOrder-UsedResourceId', - 'OM_WorkOrder-PlanQty', - 'OM_WorkOrder-PlanStartTime', - 'OM_WorkOrder-PlanEndTime', - 'OM_WorkOrder-ActStartTime', - 'OM_WorkOrder-ActEndTime', - 'OM_WorkOrder-LastModify', - 'OM_WorkOrder-LastUser', - 'OM_WorkOrder-CreateTime' - ] this.loading = false } ) }, - // 切换物料ID时候触发事件 - artIdChange(value) { - getArticleData(value).then(({code, data={}}) => { - if (code === 200) { - this.$set(this.form,'OM_WorkOrder-QuantityPerHour',data['Article-QuantityPerHour']) // 小时产出JPH - this.$set(this.form,'OM_WorkOrder-PlanResourceId',data['Article-PlanResourceId']) // 计划资源ID - this.$set(this.form,'Article-Descr1',data['Article-Descr1']) // 计划资源ID - // 接口需要的隐藏参数 - this.$set(this.form,'OM_WorkOrder-QtyUomId',data['Article-UomId']) - this.$set(this.form,'OM_WorkOrder-UsedResourceId',data['Article-UsedResourceId']) - this.$set(this.form,'OM_WorkOrder-OpTimePerItem',data['Article-OpTimePerItem']) - this.$set(this.form,'OM_WorkOrder-PlanResourceGroupId',data['Article-PlanResourceGroupId']) - this.$set(this.form,'OM_WorkOrder-ProjectId',data['Article-ProjectId']) - this.$set(this.form,'OM_WorkOrder-RatePerHourToggle',data['Article-RatePerHourToggle']) - this.$set(this.form,'OM_WorkOrder-BatchTime',data['Article-BatchTime']) - this.$set(this.form,'OM_WorkOrder-BatchingMethod',data['Article-BatchingMethod']) - this.$set(this.form,'OM_WorkOrder-OrderInfo',data['Article-Descr1']) - } - }) - }, + // 订单类型字段转换 orderTypeTrans(value) { if (this.orderTypeArray.length > 0) { @@ -647,6 +649,10 @@ export default { this.title = '新增返工订单' this.form['OM_WorkOrder-OrderType'] = 'REO' } + // 默认选中第一条产线, 写这里是因为reset重置form + if(this.workLineArray && this.workLineArray[0] && this.workLineArray[0]['RoleRel-WorkLineid']){ + this.form['OM_WorkOrder-WorkLineId']=this.workLineArray[0]['RoleRel-WorkLineid']; + } }, // 日期转化方法 dateTransCommon(date) { @@ -704,6 +710,7 @@ export default { /** 提交按钮 */ submitForm() { this.$refs['form'].validate(valid => { + this.form["OM_WorkOrder-QuantityPerHour"] = parseInt(this.form["OM_WorkOrder-QuantityPerHour"]) this.form["OM_WorkOrder-PlanQty"] = parseInt(this.form["OM_WorkOrder-PlanQty"]) || undefined // 隐藏字段(页面上不显示,但是需要传递的参数) @@ -724,7 +731,9 @@ export default { } if (!this.isAdd) { params["OM_WorkOrderStatus-Status"] = parseInt(params["OM_WorkOrderStatus-Status"]) + this.loading=true; updateWorkorder(params).then(response => { + this.loading=false; if (response.code === 200) { this.msgSuccess('修改成功') this.open = false @@ -732,18 +741,22 @@ export default { } else { this.msgError(response.msg) } - }) + }).catch(()=>{ + this.loading=false; + }) } else { params['OM_WorkOrderStatus-Status'] = this.workOrderStatus; if(!parseInt(params["OM_WorkOrder-PlanQty"])){ this.msgError('请输入计划数量'); return; } + this.loading=true; addWorkorder({ "artId": params['OM_WorkOrder-ArtId'], "qty": params['OM_WorkOrder-PlanQty'], "workLineId": params['OM_WorkOrder-WorkLineId'], }).then(response => { + this.loading=false; if (response.code === 200) { this.msgSuccess('新增成功') this.open = false @@ -751,6 +764,8 @@ export default { } else { this.msgError(response.msg) } + }).catch(()=>{ + this.loading=false; }) } } diff --git a/src/views/retrospect/workOrderTraceability/index.vue b/src/views/retrospect/workOrderTraceability/index.vue index 02b38af..594110a 100644 --- a/src/views/retrospect/workOrderTraceability/index.vue +++ b/src/views/retrospect/workOrderTraceability/index.vue @@ -248,10 +248,10 @@ export default { e.tableDetailsList=[]; return e; }); - this.pagination.count=count; + this.pagination.total=count; }else{ this.tableData=[]; - this.pagination.count=0; + this.pagination.total=0; } }).catch(()=>{ this.loading=false;