Commit a9b874cb authored by renjintao's avatar renjintao

Merge branch 'product' of git.mes123.com:zhouyx/mes-ui into product

parents 022adfaa e4acf956
......@@ -2,7 +2,7 @@ import request from '@/plugins/request';
export function AccountLogin (data) {
return request({
url: '/api/login',
url: `${authUrl}/api/services/app/auth/login`,
method: 'post',
data
});
......
......@@ -203,7 +203,7 @@ export default{
},
get(id){
let model={id:id};
return Api.get(`${systemUrl}/Department/get`,{params:model});
return Api.get(`${systemUrl}/Department/get`,model);
},
//人员管理页面得到组织架构
getDepartmentTree(data){
......
......@@ -4,8 +4,8 @@ export default {
addOrder(params) {
let model = {
productId: params.productId, //产品id
productName:params.productName,
drawnNumber:params.drawnNumber,
productName: params.productName,
drawnNumber: params.drawnNumber,
taskType: params.taskType, //任务类型
stage: params.stage, //阶段
materialId: params.materialId, //材料
......@@ -28,11 +28,14 @@ export default {
demandStartDate: params.demandStartDate, //开始时间
demandFinishDate: params.demandFinishDate, //完成时间
remark: params.remark, //备注
projectNumber: params.projectNumber, //项目号
batchNumber: params.batchNumber, //批次号
urgencyLevel: params.urgencyLevel, //紧急程度
};
return Api.post(`${PlanUrl}/mesorder/mesordercreate`, model, true);
},
//删除子订单前检测是否可删除 1:可删 0有非新建状态订单不能删:
sondeletecheck(params) {
//删除子订单前检测是否可删除 1:可删 0有非新建状态订单不能删:
sondeletecheck(params) {
return Api.post(`${PlanUrl}/mesorder/sondeletecheck`, params, true);
},
//删除订单:
......@@ -44,8 +47,8 @@ export default {
let model = {
id: params.id,
productId: params.productId, //产品id
productName:params.productName,
drawnNumber:params.drawnNumber,
productName: params.productName,
drawnNumber: params.drawnNumber,
taskType: params.taskType, //任务类型
stage: params.stage, //阶段
materialId: params.materialId, //材料
......@@ -68,6 +71,9 @@ export default {
demandStartDate: params.demandStartDate, //开始时间
demandFinishDate: params.demandFinishDate, //完成时间
remark: params.remark, //备注
projectNumber: params.projectNumber, //项目号
batchNumber: params.batchNumber, //批次号
urgencyLevel: params.urgencyLevel, //紧急程度
};
return Api.post(`${PlanUrl}/mesorder/mesorderupdate`, model, true);
},
......@@ -97,8 +103,8 @@ export default {
return Api.get(`${PlanUrl}/mesorder/getpagedmesorders`, model);
},
// orderSendView(params) {
// return Api.post(`${PlanUrl}/orderaudit/create`, params, true);
// },
// return Api.post(`${PlanUrl}/orderaudit/create`, params, true);
// },
//订单送审:
batchstart(params) {
return Api.post(`${workflowUrl}/instance/batchstart`, params, true);
......
......@@ -866,7 +866,7 @@ html [type=button] {
}
.waitTask {/*flex 布局*/
display: flex;
display: flex!important;
align-items: center;
width: 200px;
height: 100px;
......@@ -1156,7 +1156,7 @@ html [type=button] {
}
}
.tree {
height: calc(100% - 100px);
height: calc(100% - 150px);
overflow: auto;
}
}
......
......@@ -327,7 +327,7 @@
height:65px;
.ivu-footer-toolbar-right {
float: left;
padding-left: 200px;
padding-left: 280px;
}
}
}
......@@ -343,7 +343,7 @@
.manyTabs {
.ivu-tabs-bar {
position: absolute;
z-index: 9999;
z-index: 900;
width: 100%;
}
}
......
This diff is collapsed.
......@@ -9,13 +9,13 @@
<template v-slot:button>
<div style="float:right;" class="paddingbtn">
<!-- 其他 业务按钮 -->
<Button type="success" @click="openCreate">创建</Button>
<Button type="success" @click="openOrderSendReview" v-if="false">订单送审</Button>
<Button type="success" @click="openOrderSend">订单派发</Button>
<Button type="success" @click="updateOrderOpenModal">修改</Button>
<Button type="success" @click="delOrder">删除</Button>
<Button type="success" @click="openOrderSplit">订单分解</Button>
<Button type="success" v-show="false">导出PDF</Button>
<Button type="primary" @click="openCreate">创建</Button>
<Button type="primary" @click="openOrderSendReview" v-if="false">订单送审</Button>
<Button type="primary" @click="openOrderSend">订单派发</Button>
<Button type="primary" @click="updateOrderOpenModal">修改</Button>
<Button type="primary" @click="delOrder">删除</Button>
<Button type="primary" @click="openOrderSplit">订单分解</Button>
<Button type="primary" v-show="false">导出PDF</Button>
<!-- 列设置 -->
<div @click="drawerShow = true" class="divIco">
<Icon type="ios-list" class="icoListInfo" />
......@@ -66,7 +66,7 @@
<CreateOrder ref="createOrder"></CreateOrder>
<div slot="footer">
<Button @click="createShow = false">取消</Button>
<Button type="success" @click="orderCreateOrderOk">确定</Button>
<Button type="primary" @click="orderCreateOrderOk">确定</Button>
</div>
</Modal>
<!-- 订单送审 -->
......@@ -82,7 +82,7 @@
<OrderSendReview ref="orderSendReview"></OrderSendReview>
<div slot="footer">
<Button @click="ModalOrderSendReview = false">取消</Button>
<Button type="success" @click="orderSendReviewOk">确定送审</Button>
<Button type="primary" @click="orderSendReviewOk">确定送审</Button>
</div>
</Modal>
<!-- 订单派发 -->
......@@ -99,7 +99,7 @@
<OrderSend ref="orderSend"></OrderSend>
<div slot="footer">
<Button @click="ModalOrderSend = false">取消</Button>
<Button type="success" @click="orderSendOk">确定派发</Button>
<Button type="primary" @click="orderSendOk">确定派发</Button>
</div>
</Modal>
<!-- 订单分解 -->
......@@ -115,7 +115,7 @@
<OrderSplit ref="orderSplit"></OrderSplit>
<div slot="footer">
<Button @click="ModalOrderSplit = false">取消</Button>
<Button type="success" @click="orderSplitOk">确定分解</Button>
<Button type="primary" @click="orderSplitOk">确定分解</Button>
</div>
</Modal>
<!-- 信息提示 -->
......@@ -131,7 +131,7 @@
{{ metCodesStrTxt }}
<div slot="footer">
<Button @click="ModalInfo = false">取消</Button>
<Button type="success" @click="modalInfoOk">确定</Button>
<Button type="primary" @click="modalInfoOk">确定</Button>
</div></Modal
>
</div>
......@@ -278,18 +278,27 @@ export default {
//mes产品新增开始
{
title: '项目号',
key: '',
key: 'projectNumber',
width: 100,
},
{
title: '批次号',
key: '',
key: 'batchNumber',
width: 120,
},
{
title: '紧急程度',
key: '',
key: 'urgencyLevel',
width: 100,
render: (h, params) => {
return h('state', {
props: {
code: 'plan.order.urgencyLevel',
type: 'text',
value: params.row.urgencyLevel + ''
}
})
}
},
// {
// title: '任务类型',
......
......@@ -2,14 +2,11 @@
<div>
<div style="display:inline-flex;">
<Input search enter-button placeholder="订单编号、产品编码..." @on-search="easySearch" v-model="value" />&nbsp;&nbsp;
<Button @click="open" type="success">高级搜索</Button>
<Button @click="open" type="text"><Icon type="md-search" />高级</Button>
<!-- <Input v-model="value" placeholder="关键字" style="width:300px;" :clearable='true'>
<Button @click="easySearch" icon="ios-search-outline" slot="append" style="width:40px;background-color:#249E91;color:#FFF;"></Button>
</Input> -->
</Input> -->
</div>
<!-- 右侧按钮 -->
<slot name="button"></slot>
<!-- 弹出高级搜索框 -->
......@@ -20,7 +17,7 @@
<div slot="footer" >
<Button @click="close" style="margin-left:20px;">取消</Button>
<!-- <Button @click="formReset" style="margin-left:20px;">重置</Button> -->
<Button @click="complexSearch" type="success" style="margin-left:10px;">查询</Button>
<Button @click="complexSearch" type="primary" style="margin-left:10px;">查询</Button>
<!-- <Checkbox v-model="saveLog" label="保存此次搜索" style="margin-left:20px;">保存此次搜索</Checkbox> -->
</div>
</Modal>
......
......@@ -16,7 +16,7 @@
</Button>
</ButtonGroup>
</h3>
<div class="tree">
<div class="tree" :style="{height:divHeight}">
<Tree
ref="tree"
:data="tree"
......@@ -33,7 +33,8 @@ export default {
return {
expand: false,
ids: [],
tree: []
tree: [],
divHeight:''
}
},
props: {
......@@ -45,6 +46,8 @@ export default {
mounted() {},
created() {
this.loadTree()
var theight = window.innerHeight - 180 + 'px'
this.divHeight = theight
},
methods: {
toggle() {
......
This diff is collapsed.
<template>
<div class="detail" >
<div class="detail">
<Row>
<Filed :span="6" :name="l('productName')">{{info.orderInfo.productName}}</Filed>
<Filed :span="6" :name="l('mesCode')">{{info.orderInfo.mesCode}}</Filed>
<Filed :span="6" :name="l('drawnNumber')">{{info.orderInfo.drawnNumber}}</Filed>
<Filed :span="6" :name="l('stage')"><state code="plan.order.stage" :value="info.orderInfo.stage+''" type="text"></state></Filed>
<Filed :span="6" :name="l('taskType')"><state code="plan.order.taskType" :value="info.orderInfo.taskType+''" type="text"></state></Filed>
<Filed :span="6" :name="l('batchNumber')">{{info.orderInfo.batchNumber}}</Filed>
<Filed :span="6" :name="l('projectNumber')">{{info.orderInfo.projectNumber}}</Filed>
<Filed :span="6" :name="l('urgencyLevel')">
<state code="plan.order.urgencyLevel" :value="info.orderInfo.urgencyLevel+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('stage')">
<state code="plan.order.stage" :value="info.orderInfo.stage+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('taskType')">
<state code="plan.order.taskType" :value="info.orderInfo.taskType+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('quantity')">{{info.orderInfo.quantity}}</Filed>
<Filed :span="6" :name="l('materialId')"><state code="plan.order.material" :value="info.orderInfo.materialId+''" type="text"></state></Filed>
<Filed :span="6" :name="l('routing_Method')"><state code="plan.order.routingMethod" :value="info.orderInfo.routing_Method+''" type="text"></state></Filed>
<Filed :span="6" :name="l('materialId')">
<state code="plan.order.material" :value="info.orderInfo.materialId+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('routing_Method')">
<state
code="plan.order.routingMethod"
:value="info.orderInfo.routing_Method+''"
type="text"
></state>
</Filed>
<Filed :span="6" :name="l('outer_Envelope_Size')">{{info.orderInfo.outer_Envelope_Size}}</Filed>
<Filed :span="6" :name="l('demandStartDate')">{{info.orderInfo.demandStartDate}}</Filed>
<Filed :span="6" :name="l('demandFinishDate')">{{info.orderInfo.demandFinishDate}}</Filed>
<Filed :span="6" :name="l('printSupply')"><state code="plan.order.printSupply" :value="info.orderInfo.printSupply+''" type="text"></state></Filed>
<Filed :span="6" :name="l('guestName')"><state code="plan.order.guestName" :value="info.orderInfo.guestName+''" type="text"></state></Filed>
<Filed :span="6" :name="l('printSupply')">
<state code="plan.order.printSupply" :value="info.orderInfo.printSupply+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('guestName')">
<state code="plan.order.guestName" :value="info.orderInfo.guestName+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('functionaryOffice')">>{{info.orderInfo.functionaryOffice}}</Filed>
<Filed :span="6" :name="l('taskRequire')">{{info.orderInfo.taskRequire}}</Filed>
<Filed :span="6" :name="l('taskInputDate')">{{info.orderInfo.taskInputDate}}</Filed>
<Filed :span="6" :name="l('mainDepartmentId')"><state code="plan.order.mainDepartment" :value="info.orderInfo.mainDepartmentId+''" type="text"></state></Filed>
<Filed :span="6" :name="l('mainDepartmentId')">
<state
code="plan.order.mainDepartment"
:value="info.orderInfo.mainDepartmentId+''"
type="text"
></state>
</Filed>
<Filed :span="6" :name="l('technologyDocmentCode')">{{info.orderInfo.technologyDocmentCode}}</Filed>
<Filed :span="6" :name="l('putintDocmentCode')">{{info.orderInfo.putintDocmentCode}}</Filed>
<Filed :span="6" :name="l('outerDrawnNumber')">{{info.orderInfo.outerDrawnNumber}}</Filed>
<Filed :span="6" :name="l('modelVersion')">{{info.orderInfo.modelVersion}}</Filed>
<Filed :span="6" :name="l('modelVersion')">{{info.orderInfo.modelVersion}}</Filed>
<Filed :span="6" :name="l('designer')">{{info.orderInfo.designer}}</Filed>
<Filed :span="6" :name="l('taskCode')">{{info.orderInfo.taskCode}}</Filed>
<Filed :span="6" :name="l('mainRoutingPeople')">{{info.orderInfo.mainRoutingPeople}}</Filed>
<Filed :span="6" :name="l('officeFunctionary')">{{info.orderInfo.officeFunctionary}}</Filed>
<Filed :span="24" :name="l('remark')">{{info.orderInfo.remark}}</Filed>
<Filed :span="24" :name="l('remark')">{{info.orderInfo.remark}}</Filed>
</Row>
</div>
</template>
......@@ -36,15 +63,14 @@
export default {
name: 'orderInfos',
props: ['info'],
async fetch({ store, params }) {
async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典
},
data(){
return{
}
data() {
return {}
},
methods: {
arry2Name(arryList, values) {
methods: {
arry2Name(arryList, values) {
//预警类别转换
var codes = arryList
var name = ''
......@@ -55,27 +81,27 @@ export default {
}
return name
},
l(key) {
l(key) {
key = 'orderInfo' + '.' + key
return this.$t(key)
}
}
}
}
</script>
<style lang="less">
.detail {
display: table;
border-collapse: collapse;
display: table;
border-collapse: collapse;
.ivu-row {
display: table-row;
display: table-row;
.filed-col {
display: table-cell;
border: 1px solid #ddd;
margin: 0 0 -1px -1px;
border: 1px solid #ddd;
margin: 0 0 -1px -1px;
line-height: 30px;
box-sizing:border-box;
box-sizing: border-box;
.label {
background: #E8EAF1;
background: #e8eaf1;
display: inline-block;
width: 120px;
text-align: right;
......
This diff is collapsed.
......@@ -40,7 +40,7 @@
<Col span="12">
<FormItem label="分解数量" style="width:100%" prop="splitQuantity">
<InputNumber :min="2" v-model="orderForm.splitQuantity" :step="1" style="width:180px"></InputNumber>
<Button type="success" @click="addSplitOrder">确定</Button>
<Button type="primary" @click="addSplitOrder">确定</Button>
</FormItem>
</Col>
</Row>
......
......@@ -43,7 +43,7 @@ export default {
components: {},
data() {
return {
currentUserId: JSON.parse(sessionStorage.getItem('userInfo')).userId,
currentUserId: 0,
processTitle: '审批流程',
dataImmut: [],
dataMut: [],
......@@ -60,6 +60,7 @@ export default {
}
},
created() {
this.currentUserId=this.$store.state.userInfo.userId
this.load(this.schemaIdVal)
},
methods: {
......
......@@ -12,7 +12,7 @@
/>
</slot>
</div>&nbsp;
<a v-if="high" @click="modalSearch=true" style="line-height:35px;"><Icon type="md-search" />高级</a>
<Button v-if="high" @click="modalSearch=true" type="text"><Icon type="md-search" />高级</Button>
<div class="searchBack">
<slot name="searchBack"></slot>
</div>
......@@ -69,7 +69,7 @@
<slot name="searchForm"></slot>
<div slot="footer">
<Button @click="modalSearch=false" style="margin-left:20px;">取消</Button>
<Button @click="complexSearch" type="success" style="margin-left:10px;">查询</Button>
<Button @click="complexSearch" type="primary" style="margin-left:10px;">查询</Button>
</div>
</Modal>
<Drawer
......@@ -102,7 +102,7 @@
</Drawer>
<FooterToolbar style="height:65px" v-if="batch" v-show="footerToolbar">
<div class="tip">
已选{{selectItems.length}}
已选{{selectItems.length}}
<slot name="batch"></slot>
</div>
......@@ -133,8 +133,8 @@ export default {
columnsCur: [],
configLoad: false,
userConfig: null, //用户页面配置信息。,
userId: 1
// userId: this.$store.state.userInfo.userId
// userId: 1
userId: this.$store.state.userInfo.userId
}
},
props: {
......@@ -496,6 +496,15 @@ export default {
})
return cols
}
},
watch:{
"data.length"(){
this.list=this.data;
},
"height"()
{
this.tableHeight=this.height;
}
}
}
</script>
......
......@@ -77,7 +77,7 @@
<slot name="searchForm"></slot>
<div slot="footer">
<Button @click="modalSearch=false" style="margin-left:20px;">取消</Button>
<Button @click="complexSearch" type="success" style="margin-left:10px;">查询</Button>
<Button @click="complexSearch" type="primary" style="margin-left:10px;">查询</Button>
</div>
</Modal>
<Drawer
......
......@@ -59,6 +59,10 @@ export default {
departmentId: {
type: Number,
default: 0
},
roleTitle:{
type: String,
default: ''
}
},
methods: {
......@@ -73,7 +77,8 @@ export default {
.post(url, {
// pageIndex: 1,
departmentId: id,
type: this.type
type: this.type,
roleTitle:this.roleTitle,
// pageSize: 0
})
.then((r) => {
......
......@@ -547,7 +547,11 @@ export default {
designer: '甲方设计人员',
officeFunctionary: '厂内机关负责人',
mainRoutingPeople: '厂内主工艺人员',
remark: '备注'
remark: '备注',
batchNumber: '批次号',
projectNumber: '项目号',
urgencyLevel: '紧急程度',
},
materialInfo: { //料单送审详情
id: '',
......@@ -935,20 +939,20 @@ export default {
deleterUserId: '删除人',
hostId: '服务器',
},
data_source:{
id:'',
hostId:'数据源ID',
port:'端口',
userName:'用户名',
password:'密码',
creationTime:'创建时间',
creatorUserId:'创建人',
lastModificationTime:'更新时间',
lastModifierUserId:'更新人',
isDeleted:'是否删除',
deletionTime:'删除时间',
deleterUserId:'删除人',
},
data_source: {
id: '',
hostId: '数据源ID',
port: '端口',
userName: '用户名',
password: '密码',
creationTime: '创建时间',
creatorUserId: '创建人',
lastModificationTime: '更新时间',
lastModifierUserId: '更新人',
isDeleted: '是否删除',
deletionTime: '删除时间',
deleterUserId: '删除人',
},
mes_part_task_execute: { //排产方案的
pARTTASKPK: '',
cLASSID: '产品Id',
......@@ -1047,5 +1051,115 @@ export default {
routing_header_id: '',
comb_param: '',
rule_qty: '',
},
routing_detail: {
id: '',
creationTime: '创建时间',
creatorUserId: '创建人',
lastModificationTime: '修改时间',
lastModifierUserId: '修改人',
isDeleted: '是否删除',
deleterUserId: '删除人',
deletionTime: '删除时间',
classId: '',
routingHeaderId: '工艺ID',
name: '工序名',
taskSeq: '工序号',
description: '工序名称详细描述',
taskContent: '工序内容',
resourceId: '设备',
resourceType: '设备类型',
runtime: '单件排产工时',
setupTime: '工序准备工时',
transportTime: '转运工时',
checkTime: '检验工时',
checkFlag: '检验标识',
efficiencyValue: '效率系数',
singleOut: '单件产出',
isOutside: '是否外协',
departmentId: '工序的承制单位',
isImportant: '是否关键工序',
milestoneId: '里程碑',
phaseId: '阶段',
status: '状态',
remark: '备注',
extend: '扩展字段',
outsideTime: '外协工期',
},
RoutingSupporting: {
id: '',
routingHeaderId: '工艺规程ID',
routingHeaderId: '工艺规程ID',
routingDetailId: '工序ID',
routingStepId: '工步ID',
isDeleted: '删除人',
deletionTime: '删除时间',
deleterUserId: '删除人',
routingHeaderId: '工艺规程ID',
routingDetailId: '工序ID',
routingStepId: '工步ID',
quantity: '数量',
materialId: '物料id',
materialType: '物料类型',
materialNumber: '物料编号',
nameMaterial: '物料名称',
state: '状态',
extend: '扩展字段',
remark: '备注',
brand: '牌号',
specifications: '规格',
xhgg: '型号规格',
texture: '材质',
procurementStandards: '采购标准',
qualityGrade: '质量等级',
state: '状态',
extend: '扩展字段',
remark: '备注',
},
routing_step: {
id: '',
creationTime: '创建时间',
creatorUserId: '创建人',
lastModificationTime: '修改时间',
lastModifierUserId: '修改人',
isDeleted: '是否删除',
deleterUserId: '删除人',
deletionTime: '删除时间',
routingHeaderId: '工艺',
routingDetailId: '工序',
classId: '',
stepSeq: '工步号',
name: '名称',
description: '描述',
status: '状态',
remark: '备注',
stepContent: '工步内容',
extend: '扩展字段',
},
routing_qc_card: {
id: '',
creationTime: '创建时间',
creatorUserId: '创建人',
lastModificationTime: '修改时间',
lastModifierUserId: '修改人',
isDeleted: '是否删除',
deleterUserId: '删除人',
deletionTime: '删除时间',
routingHeaderId: '工艺',
routingDetailId: '工序',
routingStepId: '工步',
checkContent: '检验内容',
checkType: '检验标记',
checkParams: '参数名称',
measurementUnit: '单位',
fillintype: '汇报类型',
qualityTemplate: '模板',
isphotograph: '是否拍照',
status: '状态',
extend: '扩展字段',
remark: '备注',
productionRequirement: '生产要求',
standard: '标准指标',
qualityTemplateName: '模板文件名称',
}
}
\ No newline at end of file
<template>
<div>
<Auth :authority="['admin']" :access="['admin']">
<Alert type="success">通过</Alert>
<Alert type="primary">通过</Alert>
<Alert type="error" slot="noMatch">不通过</Alert>
</Auth>
<Auth :authority="true" :access="['admin']">
<Alert type="success">通过</Alert>
<Alert type="primary">通过</Alert>
<Alert type="error" slot="noMatch">不通过</Alert>
</Auth>
<Auth :authority="func" :access="['admin']">
<Alert type="success">通过</Alert>
<Alert type="primary">通过</Alert>
<Alert type="error" slot="noMatch">不通过</Alert>
</Auth>
<Auth :authority="['admin']" access="admin">
<Alert type="success">通过</Alert>
<Alert type="primary">通过</Alert>
<Alert type="error" slot="noMatch">不通过</Alert>
</Auth>
<Auth :authority="['admin']" access="admin" to="/city">
<Alert type="success">通过</Alert>
<Alert type="primary">通过</Alert>
<Alert type="error" slot="noMatch">不通过</Alert>
</Auth>
<Divider>prevent 模式</Divider>
......
......@@ -45,7 +45,7 @@
},
items () {
let items = [...this.openNames];
console.log("items",items)
// console.log("items",items)
let newItems = [];
items.forEach(i => {
newItems.push(this.siderMenuObject[i]);
......
......@@ -2,7 +2,7 @@
<span class="i-layout-header-trigger i-layout-header-trigger-min">
<Dropdown transfer trigger="hover" @on-click="handleClickUserDropdown">
<span @click="openModelBugAdd">
<Badge :count="bugCount === 0 ? null : bugCount" :overflow-count="99" type="Warning" :offset="[20, 0]">
<Badge :count="bugCount === 0 ? null : bugCount" :overflow-count="99" :offset="[20, 0]">
<Icon type="ios-bug" size="18" />
</Badge>
</span>
......
This diff is collapsed.
......@@ -65,36 +65,7 @@ export default {
}
},
methods: {
//获取用户基本信息
initUserInfo() {
let parma = {
Id: JSON.parse(sessionStorage.getItem("userInfo")).userId
};
this.$http.sysUser.getuserinfo(parma).then(res => {
if (res.result) {
if (
res.result.avatarUrl &&
res.result.avatarUrl != "" &&
res.result.avatarUrl != null
) {
this.userInfo.avatarUrl = res.result.avatarUrl;
this.$store.commit(
"setUserAvatar",
fileUrlDown + res.result.avatarUrl
);
} else {
this.userInfo.avatarUrl = "";
this.$store.commit("setUserAvatar", avatar);
}
this.userName = res.result.userName;
localStorage.setItem("userName", this.userName);
} else {
this.$Message.error("查询失败!");
}
});
},
//用户中心结束
//menu
getMenu() {
this.$http.sysUser.getusermenu().then(res => {
if (res.result) {
......@@ -105,10 +76,12 @@ export default {
this.$store.commit("admin/page/init", this.menus);
const filterMenuSider = getMenuSider(this.menus, headerName);
this.$store.commit("admin/menu/setSider", filterMenuSider);
this.$store.commit("admin/menu/setActivePath", to.path);
// if (to) {
// this.$store.commit("admin/menu/setActivePath", to.path);
// }
const openNames = getSiderSubmenu(path, menuSider);
this.$store.commit("admin/menu/setOpenNames", openNames);
// const openNames = getSiderSubmenu(path, menuSider);
// this.$store.commit("admin/menu/setOpenNames", openNames);
} else {
this.$Message.error("加载产品树失败!");
}
......
<template>
<Layout class="i-layout">
<Header>
<i-header-breadcrumb v-if="showBreadcrumb && !headerMenu && !isMobile" ref="breadcrumb" />
<div class="i-layout-header-right">
<i-header-search v-if="(showSearch && isMobile) || (showSearch && (headerMenu || showBreadcrumb))" />
<i-header-log v-if="isDesktop && showLog" />
<i-header-bug />
<i-header-fullscreen v-if="isDesktop && showFullscreen" />
<i-header-notice v-if="showNotice" />
<i-header-user />
<i-header-i18n v-if="showI18n" />
<i-header-setting v-if="enableSetting && !isMobile" />
</div>
</Header>
<Content> <nuxt v-if="loadRouter"/></Content>
</Layout>
</template>
\ No newline at end of file
......@@ -8774,8 +8774,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true,
"optional": true
"dev": true
},
"figures": {
"version": "2.0.0",
......@@ -8803,7 +8802,6 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^3.0.0"
}
......@@ -9454,8 +9452,7 @@
"dependencies": {
"deepmerge": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
"bundled": true
}
}
},
......@@ -15222,8 +15219,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true,
"optional": true
"dev": true
},
"rx-lite-aggregates": {
"version": "4.0.8",
......@@ -15520,14 +15516,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"minipass": {
"version": "2.9.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
......@@ -15546,7 +15540,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -15735,8 +15728,7 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -15842,8 +15834,7 @@
"yallist": {
"version": "3.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
}
}
},
......@@ -18450,8 +18441,7 @@
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"optional": true
"bundled": true
},
"aproba": {
"version": "1.2.0",
......@@ -18488,8 +18478,7 @@
},
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"optional": true
"bundled": true
},
"concat-map": {
"version": "0.0.1",
......@@ -18498,8 +18487,7 @@
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"optional": true
"bundled": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -18602,8 +18590,7 @@
},
"inherits": {
"version": "2.0.4",
"bundled": true,
"optional": true
"bundled": true
},
"ini": {
"version": "1.3.5",
......@@ -18613,7 +18600,6 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -18639,7 +18625,6 @@
"minipass": {
"version": "2.9.0",
"bundled": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
......@@ -18656,7 +18641,6 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -18737,8 +18721,7 @@
},
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"optional": true
"bundled": true
},
"object-assign": {
"version": "4.1.1",
......@@ -18748,7 +18731,6 @@
"once": {
"version": "1.4.0",
"bundled": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -18824,8 +18806,7 @@
},
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
"optional": true
"bundled": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -18855,7 +18836,6 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -18873,7 +18853,6 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -18912,13 +18891,11 @@
},
"wrappy": {
"version": "1.0.2",
"bundled": true,
"optional": true
"bundled": true
},
"yallist": {
"version": "3.1.1",
"bundled": true,
"optional": true
"bundled": true
}
}
},
......
<template>
<div class="page-account">
<div class="account">
<Carousel v-model="value1" autoplay :autoplay-speed="5000" loop class="zmd">
<CarouselItem>
<div class="bg bg0">1</div>
</CarouselItem>
<CarouselItem>
<div class="bg bg1">1</div>
</CarouselItem>
<CarouselItem>
<div class="bg bg2">1</div>
</CarouselItem>
<CarouselItem>
<div class="bg bg3">1</div>
</CarouselItem>
</Carousel>
<div v-if="showI18n" class="page-account-header">
<i-header-i18n />
</div>
<div class="page-account-container">
<div class="page-account-top">
<div class="page-account-top-logo">
<img src="@/assets/images/logo.png" alt="logo" />
</div>
<div class="page-account-top-desc">SaaS MES 制造执行系统</div>
<div class="main">
<div class="ad">
<img src="@/assets/images/login/ad.png" />
</div>
<Login @on-submit="oidc">
<UserName name="username" value="admin" />
<Password name="password" value="admin" enter-to-submit />
<div class="page-account-auto-login">
<Checkbox v-model="autoLogin" size="large">{{ $t('page.login.remember') }}</Checkbox>
<a href>{{ $t('page.login.forgot') }}</a>
<div class="login">
<div class="page-account-top">
<div class="page-account-top-logo tc">
<img src="@/assets/images/logo.png" alt="logo" />
</div>
<!-- <div class="page-account-top-desc tc">SaaS MES 制造执行系统</div> -->
</div>
<Submit>{{ $t('page.login.submit') }}</Submit>
</Login>
<div class="page-account-other">
<!-- <span>{{ $t('page.login.other') }}</span>
<img src="@/assets/svg/icon-social-wechat.svg" alt="wechat" />
<img src="@/assets/svg/icon-social-qq.svg" alt="qq" />
<img src="@/assets/svg/icon-social-weibo.svg" alt="weibo" /> -->
<!-- <router-link class="page-account-register" to="./register">{{ $t('page.login.signup') }}</router-link> -->
<h3 class="mb20">用户登陆</h3>
<Login @on-submit="handleSubmit">
<UserName name="username" value="13211111111" />
<Password name="password" value="1" enter-to-submit />
<div class="page-account-auto-login mb20">
<Checkbox v-model="autoLogin">{{ $t('page.login.remember') }}</Checkbox>
<a href>{{ $t('page.login.forgot') }}</a>
</div>
<div class="mt20">
<Submit class="shadown">{{ $t('page.login.submit') }}</Submit>
</div>
</Login>
</div>
</div>
<!-- <i-copyright /> -->
</div>
</template>
<script>
......@@ -43,6 +57,7 @@ export default {
components: { iCopyright },
data() {
return {
value1: 0,
autoLogin: true
};
},
......@@ -51,33 +66,6 @@ export default {
},
methods: {
...mapActions("admin/account", ["login"]),
oidc() {
let that = this;
mgr.getUser().then(function(user) {
if (user) {
that.msg = "该用户已经登录";
const userInfos = {
token: user.access_token,
login_id: user.profile.name,
userId:
user.profile[
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"
],
accountId: user.profile.sub,
tanantCode: user.profile.TanantCode,
name: "Aresn",
avatar:
"https://dev-file.iviewui.com/userinfoPDvn9gKWYihR24SpgC319vXY8qniCqj4/avatar",
access: ["admin"]
};
// that.$store.commit('setUserInfo',userInfos);
that.oidcLogin(userInfos);
window.location = "/";
} else {
mgr.signinRedirect();
}
});
},
/**
* @description 登录
* 表单校验已有 iView Pro 自动完成,如有需要修改,请阅读 iView Pro 文档
......@@ -88,21 +76,115 @@ export default {
this.login({
username,
password
}).then(() => {
// 重定向对象不存在则返回顶层路径
this.$router.replace(this.$route.query.redirect || "/");
}).then(r => {
if (r > 0) {
this.$Message.success("登陆成功!");
this.initUserInfo(r);
} else {
this.$Message.error("登陆失败!");
}
});
}
},
oidcLogin(user) {
util.cookies.set("uuid", user.userId);
util.cookies.set("token", user.token);
// 设置 vuex 用户信息
this.$store.dispatch("admin/user/set", user, { root: true });
// 用户登录后从持久化数据加载一系列的设置
this.$store.dispatch("load");
this.$store.commit("setUserInfo", user);
initUserInfo(id) {
let parma = {
Id: id
};
this.$http.sysUser.getuserinfo(parma).then(res => {
if (res.result) {
if (
res.result.avatarUrl &&
res.result.avatarUrl != "" &&
res.result.avatarUrl != null
) {
res.result.avatarUrl = fileUrlDown + res.result.avatarUrl;
}
let info = res.result;
info.auth = ["admin"];
info.avatar = info.avatarUrl;
info.userId=info.id;
info.name=info.userName;
this.$store.dispatch("admin/user/set", info, {
root: true
});
// setUserInfo
this.$store.commit("setUserInfo",info)
this.$router.replace(this.$route.query.redirect || "/");
} else {
this.$Message.error("用户信息22查询失败!");
}
});
}
}
};
</script>
<style lang="less">
@jianju: 40px;
.account {
position: fixed;
width: 100%;
top: 0;
bottom: 0;
.zmd {
z-index: 1;
position: absolute;
top: 0;
bottom: 0;
width: 100%;
}
.bg {
width: 100%;
height: 100vh;
background-size: 100% auto;
}
.bg0 {
background-image: url("../../../assets/images/login/bg0.png");
}
.bg1 {
background-image: url("../../../assets/images/login/bg1.jpg");
}
.bg2 {
background-image: url("../../../assets/images/login/bg2.jpg");
}
.bg3 {
background-image: url("../../../assets/images/login/bg3.jpg");
}
.main {
position: absolute;
z-index: 55;
top: @jianju;
left: @jianju;
right: @jianju;
bottom: @jianju;
background: rgba(38, 128, 235, 0.3);
display: flex;
.ad {
flex: 1;
text-align: center;
img {
margin-top: 400px;
}
}
.login {
background-color: white;
width: 600px;
padding: 150px 90px;
// background-image: url("../../../assets/images/login/33.png");
// background-repeat: no-repeat;
// background-position-y: 525px;
.ivu-input-wrapper {
margin-bottom: 5px;
}
.mt20 {
margin-top: 50px;
.shadown {
box-shadow: 1px 5px 15px #2680eb;
}
.ivu-btn-large {
height: 50px !important;
}
}
}
}
}
</style>
\ No newline at end of file
......@@ -7,7 +7,7 @@
</div>
<div class="page-account-top-desc">iView Admin Pro 企业级中台前端/设计解决方案</div>
</div>
<Result type="success" :title="title" :desc="desc">
<Result type="primary" :title="title" :desc="desc">
<div slot="actions">
<Button size="large" type="primary" to="https://mail.qq.com" target="_blank">查看邮箱</Button>
<Button size="large" to="/">返回首页</Button>
......
......@@ -11,33 +11,36 @@
<span slot="close">Off</span>
</i-switch>
</FormItem>
<FormItem :label="l('cal_id')" prop="cal_id">
<Select v-model="entity.cal_id" style="width:150px">
<Option value="beijing">策略1</Option>
<Option value="shanghai">策略2</Option>
<Option value="shenzhen">策略3</Option>
<FormItem :label="l('calId')" prop="calId">
<Select v-model="entity.calId" style="width:150px">
<Option
v-for="(item,index) in listCal"
:key="index"
:value="item.calid"
:label="item.calname"
></Option>
</Select>
</FormItem>
<FormItem :label="l('over_time')" prop="over_time">
<i-switch v-model="entity.over_time" size="large">
<FormItem :label="l('overTime')" prop="overTime">
<i-switch v-model="entity.overTime" size="large">
<span slot="open">On</span>
<span slot="close">Off</span>
</i-switch>
</FormItem>
<FormItem :label="l('efficiency_value')" prop="efficiency_value">
<Input v-model="entity.efficiency_value" style="width:150px"></Input>
<FormItem :label="l('efficiencyValue')" prop="efficiencyValue">
<Input v-model="entity.efficiencyValue" style="width:150px"></Input>
</FormItem>
<FormItem :label="l('run_time')" prop="run_time">
<InputNumber v-model="entity.run_time"></InputNumber>
</FormItem>
<FormItem :label="l('isdiscrete')" prop="isdiscrete">
<i-switch v-model="entity.isdiscrete" size="large">
<FormItem :label="l('isDiscrete')" prop="isDiscrete">
<i-switch v-model="entity.isDiscrete" size="large">
<span slot="open">On</span>
<span slot="close">Off</span>
</i-switch>
</FormItem>
<FormItem :label="l('discrete_value')" prop="discrete_value">
<InputNumber v-model="entity.discrete_value"></InputNumber>
<FormItem :label="l('discrete')" prop="discrete">
<InputNumber v-model="entity.discrete"></InputNumber>
</FormItem>
<FormItem :label="l('discrete_percent')" prop="discrete_percent">
<InputNumber v-model="entity.discrete_percent"></InputNumber>
......@@ -83,7 +86,7 @@
</Dropdown>
</div>
<div class="slider">
<Slider v-model="entity.value1" :step="25" show-stops></Slider>
<Slider v-model="entity.level" :step="20" show-stops></Slider>
<div class="slow"></div>
<div class="fast"></div>
</div>
......@@ -109,11 +112,15 @@
</Col>
</Row>
<FormItem label="班组结构">
<Select v-model="entity.select6" style="width:150px">
<Option value="beijing">结构1</Option>
<Option value="shanghai">结构2</Option>
<Option value="shenzhen">结构3</Option>
<Option value="shenzhen">结构4</Option>
<Select v-model="entity.shopId" placeholder="请选择" style="width:150px" prop="shopId">
<Option
v-for="(item,index) in list"
:key="index"
:value="item.value"
:label="item.title"
style="display:none"
></Option>
<Tree key="mytree" :data="data1" ref="mytree" :render="renderContent"></Tree>
</Select>
</FormItem>
<div class="check-box">
......@@ -150,40 +157,119 @@
</div>
</template>
<script>
import Api from "./api";
export default {
data() {
return {
entity: {
value1:100,
value2:100,
flog: 0, //参数应用
planMethod: "转序规则", // 平行 重叠
shopId: null,
level: 100,
value2: 100,
fruit: []
},
list: [],
data1: [],
listCal: [],
visible: false,
rules: {
businessName: [{ required: true, message: '必填', trigger: 'blur' }],
businessCode: [{ required: true, message: '必填', trigger: 'blur' }]
businessName: [{ required: true, message: "必填", trigger: "blur" }],
businessCode: [{ required: true, message: "必填", trigger: "blur" }]
}
}
};
},
mounted() {
this.getCal(); //获取连班策略
this.apsGet(); //获取参数级别和转序等的关系
this.initTree(); //获取当前登录人所在车间下的所有部门
},
methods: {
handleSubmit() {},
getCal() {
Api.getallcal().then(res => {
if (res.success) {
this.listCal = res.result;
}
});
},
apsGet() {
Api.apsGetall().then(res => {
// if (res.success) {
// }
});
},
handleSubmit() {
this.$refs.form.validate(valid => {
if (valid) {
Api.apsschedulupdateparameter(this.entity).then(res => {
if (res.success) {
}
});
} else {
this.$Message.error("Fail!");
}
});
},
initTree() {
var sumData = [];
Api.userdepartmentsofworkshop()
.then(r => {
if (r.result) {
this.data1 = r.result;
} else {
this.$Message.error("加载部门失败!");
}
})
.catch(err => {});
},
renderContent(h, { root, node, data }) {
//渲染树的样式
return h(
"span",
{
style: {
cursor: "pointer"
},
on: {
click: () => {
this.handleSelect(data); //手动选择树节点
}
}
},
data.title
);
},
handleSelect(data) {
let obj = {
label: data.title,
value: data.value
};
this.list = [];
this.list.push(obj);
alert(this.list[0].value)
this.entity.shopId = this.list[0].value;
},
handleClose() {
this.$emit("on-close")
this.$emit("on-close");
},
handleOpen() {
this.visible = true
this.visible = true;
},
handle() {
this.visible = false
this.visible = false;
},
handleOk() {},
l(key) {
let vkey = 'mes_op_task_plan_simulate' + '.' + key
return this.$t(vkey) || key
let vkey = "mes_op_task_plan_simulate" + "." + key;
return this.$t(vkey) || key;
}
}
}
};
</script>
<style lang="less" scoped>
.parameter {
......@@ -262,7 +348,7 @@ export default {
color: #2680eb;
}
.check-box {
height: 300px;
height: 348px;
border-top: 1px solid #e0e0e0;
padding: 15px;
padding-left: 0;
......@@ -271,7 +357,7 @@ export default {
}
}
.right-down {
height: 100px;
height: 92px;
}
.click-btn {
text-align: right;
......
import Api from '@/plugins/request'
export default {
index:`${resourceUrl}mesparttaskplansimulate/paged`,
paged(params){
return Api.post(`${resourceUrl}mesparttaskplansimulate/paged`,params);
},
get(params){
return Api.get(`${resourceUrl}mesparttaskplansimulate/get`,params);
},
create(params){
return Api.post(`${resourceUrl}mesparttaskplansimulate/create`,params);
},
update(params){
return Api.post(`${resourceUrl}mesparttaskplansimulate/update`,params);
},
//删除:
delete(params) {
return Api.delete(`${resourceUrl}mesparttaskplansimulate/delete`,{params:params});
},
}
\ No newline at end of file
index: `${resourceUrl}mesparttaskplansimulate/paged`,
paged(params) {
return Api.post(`${resourceUrl}mesparttaskplansimulate/paged`, params);
},
get(params) {
return Api.get(`${resourceUrl}mesparttaskplansimulate/get`, params);
},
create(params) {
return Api.post(`${resourceUrl}mesparttaskplansimulate/create`, params);
},
update(params) {
return Api.post(`${resourceUrl}mesparttaskplansimulate/update`, params);
},
//删除:
delete(params) {
return Api.delete(`${resourceUrl}mesparttaskplansimulate/delete`, {
params: params
});
},
//获取排产池数据列表
getall() {
return Api.get(`${apsUrl}/Mes_part_task_plan_simulate/getall`);
},
//点开排产池列表查看对应的工序
getbyorderid(params) {
return Api.get(`${apsUrl}/mes_op_task_plan_simulate/getbyorderid`, params);
},
//订单优先级
orderpriority(params) {
return Api.post(`${apsUrl}/apspoolappservices/orderpriority`, params);
},
//删除工序
removeoptasksimluate(params) {
return Api.post(`${apsUrl}/apspoolappservices/removeoptasksimluate`, params);
},
//恢复工艺
recoveryoptasksimluate(params) {
return Api.post(`${apsUrl}/apspoolappservices/recoveryoptasksimluate`, params);
},
//移出排产池
shiftoutapspool(params) {
return Api.post(`${apsUrl}/apspoolappservices/shiftoutapspool`, params);
},
//排产计算
apsprepareandcalc(params) {
return Api.post(`${apsUrl}/apspoolappservices/apsprepareandcalc`, params);
},
//排产方案下发
processschemedispatch(params) {
return Api.post(`${apsUrl}/apspoolappservices/processschemedispatch`, params);
},
//APS排产前数据合法性校验
apsdatachecked(params) {
return Api.post(`${apsUrl}/apspoolappservices/apsdatachecked`, params);
},
//获取连班策略
getallcal(params) {
return Api.get(`${apsUrl}/mes_daily_work_sched/getallcal`, params);
},
//工序参数调整
apsschedulupdateparameter(params) {
return Api.post(`${apsUrl}/ser/apsschedulupdateparameter`, params);
},
//获取参数级别和转序等的关系
apsGetall(params) {
return Api.get(`${apsUrl}/apsparaconfig/getall`, params);
},
//获取所在班组的设备或根据设备类型过滤
getequiplist(params) {
return Api.get(`${apsUrl}/mes_equip_info/getequiplist`, params);
},
//获取当前登录人所在车间下的所有部门
userdepartmentsofworkshop(params) {
return Api.get(`${systemUrl}/user/userdepartmentsofworkshop`, params);
},
}
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Form ref="form" :model="entity" :rules="rules" :label-width="100">
<Row>
<Col :span="12">
<FormItem :label="l('tASKSEQ')" prop="tASKSEQ">
......@@ -13,17 +13,33 @@
</Col>
<Col :span="12">
<FormItem :label="l('sHOPID')" prop="sHOPID">
<Input></Input>
<!-- v-model="orderSearchForm.orderCat" -->
<Select >
<Option value="" class="option-text">请选择</Option>
<Option v-for="item in orderCatList" :value="item" :key="item">{{ item }}</Option>
</Select>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('eQUIPID')" prop="eQUIPID">
<Input></Input>
<Select >
<Option value="" class="option-text">请选择</Option>
<Option v-for="item in orderCatList" :value="item" :key="item">{{ item }}</Option>
</Select>
</FormItem>
</Col>
<Col :span="12">
<FormItem label="关重资源名称" prop="rUNTIME">
<Select >
<Option value="" class="option-text">请选择</Option>
<Option v-for="item in orderCatList" :value="item" :key="item">{{ item }}</Option>
</Select>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('rUNTIME')" prop="rUNTIME">
<Input></Input>
<!-- v-model="value1" -->
<InputNumber :max="100" :min="1"></InputNumber>
</FormItem>
</Col>
</Row>
......@@ -41,6 +57,9 @@ export default {
return {
disabled: false,
entity: {},
orderCatList:[
],
rules: {
name: [{ required: true, message: '必填', trigger: 'blur' }]
}
......
This diff is collapsed.
This diff is collapsed.
......@@ -5,7 +5,7 @@
background: #4c5968;
opacity: 0.9;
position: absolute;
bottom: -9px;
bottom: 0;
box-shadow: 0px -5px 6px rgba(0,0,0,0.3);
width: 98%;
z-index: 99;
......@@ -16,13 +16,16 @@
}
.dispatch_part{
border: 1px solid #ccc;
height: 100%;
.dispatch_part_top{
height: 50px;
line-height: 50px;
padding: 0 0 0 12px;
background: #F5F6FA;
.check{
margin: 0 0 0 71%;
position: absolute;
top: 0;
right: 24px;
}
}
.dispatch_part_body{
......@@ -31,15 +34,25 @@
.dispatch_card{
margin: 10px 0;
.card{
.card_top{
.label{
cursor: pointer;
}
}
.ivu-card-head{
background: #62b8af!important;
background: #2d8cf0!important;
}
}
.g_title{
color: #249e91;
color: #2d8cf0;
}
}
.dispatch_card02{
margin: 10px 0;
// padding-left: 0!important;
// padding-right: 0!important;
.man_body{
max-width: 187px;
max-width: 185px;
label{
border-radius: 24px;
width: 100%;
......@@ -66,6 +79,7 @@
}
}
}
}
}
}
......@@ -73,9 +87,9 @@
.drawer_center{
text-align: center;
padding: 10px;
color: #249e91;
color: #2d8cf0;
.color{
color: #2680EB;
color: #2d8cf0;
}
}
}
......@@ -93,9 +107,9 @@
.drawer_center{
text-align: center;
padding: 10px;
color: #249e91;
color: #2d8cf0;
.color{
color: #2680EB;
color: #2d8cf0;
}
}
}
......
This diff is collapsed.
......@@ -25,4 +25,7 @@ export default {
routingdistribute(params) {//工艺派发
return Api.post(`${PlanUrl}/messchedule/routingdistribute`, params);
},
moveintoaps() {//跳转进入排产池前判断
return Api.post(`${PlanUrl}/messchedule/moveintoaps`);
},
}
\ No newline at end of file
......@@ -10,7 +10,7 @@
<FormItem label="完成时间" style="width:100%" prop="MainRoutingFinishDate">
<DatePicker
v-model="entity.MainRoutingFinishDate"
type="date"
type="datetime"
placeholder="请选择日期"
style="width:240px"
@on-change="getTimeMainRFD"
......@@ -70,6 +70,7 @@ export default {
} else {
this.$Message.error('工艺派发失败')
}
this.$emit('on-ok')
})
.catch((err) => {
this.$Message.error('工艺派发失败')
......
This diff is collapsed.
import Api from '@/plugins/request'
export default {
// getmesorder(params) {
// return Api.get(`http://47.92.102.113:10091/api/services/app/aps/getmesorder`, params); //待排产订单数据
// },
// gettaskseqinfo(params) {
// return Api.get(`http://47.92.102.113:10091/api/services/app/aps/gettaskseqinfo`, params); //根据订单获取全部工序数据
// },
// getlist(params) {
// return Api.get(`http://47.92.102.113:10091/api/services/app/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
// },
// getbyshopid(params) {
// return Api.get(`http://47.92.102.113:10091//api/services/app/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
// },
// getlistEquip(params) {
// return Api.get(`http://47.92.102.113:10091/api/services/app/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
// },
// getbyequippk(params) {
// return Api.get(`http://47.92.102.113:10091/api/services/app/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
// },
}
\ No newline at end of file
// index: `${apsUrl}/scheduletotal/getall`,
paged(params) {
return Api.get(`${apsUrl}/scheduletotal/getall`, params);
},
getall(params) {
return Api.get(`${apsUrl}/schema/getall`, params);
},
clearall(params) {
return Api.post(`${apsUrl}/schema/clearall`, params);
},
getdetail(params) {
return Api.get(`${apsUrl}/scheduletotal/getdetail`, params);
},
}
This diff is collapsed.
<template>
<div>
<div class="result-aps">
<Row class="expand-row">
<Col span="3">
<Col span="4">
<span class="expand-key">工序序号</span>
</Col>
<Col span="3">
......@@ -19,44 +19,73 @@
<Col span="4">
<span class="expand-key">计划结束时间</span>
</Col>
<Col span="4">
<Col span="3">
<span class="expand-key">设备编号</span>
</Col>
</Row>
<Row>
<Col span="3">
<span class="expand-value">{{ row.book }}</span>
<Row v-for="(item,index) in dataList" :key="item.id">
<Col span="4">
<span class="expand-value">{{ item.op_task_pk }}</span>
</Col>
<Col span="3">
<span class="expand-value">{{ row.movie }}</span>
<span class="expand-value">{{ item.task_name }}</span>
</Col>
<Col span="3">
<span class="expand-value">{{ row.book }}</span>
<span class="expand-value">{{ item.put_into_qty }}</span>
</Col>
<Col span="3">
<span class="expand-value">{{ row.movie }}</span>
<span class="expand-value">{{ item.dispatch_qty }}</span>
</Col>
<Col span="4">
<span class="expand-value">{{ row.music }}</span>
<span class="expand-value">{{ item.plan_start }}</span>
</Col>
<Col span="4">
<span class="expand-value">{{ row.music }}</span>
<span class="expand-value">{{ item.plan_finish }}</span>
</Col>
<Col span="4">
<span class="expand-value">{{ row.music }}</span>
<Col span="3">
<span class="expand-value">{{ row.equip_id }}</span>
</Col>
</Row>
</div>
</template>
<script>
import Api from './api'
export default {
props: {
row: Object
},
data() {
return {
dataList: []
}
},
mounted() {
this.getList(this.row)
},
methods: {
getList(row) {
Api.getdetail({
part_task_pk: row.id,
scheduleId: row.schedule_id
}).then((r) => {
if (r.success) {
this.dataList = r.result
}
})
}
}
}
</script>
<style scoped>
.expand-row {
margin-bottom: 16px;
<style lang='less'>
.result-aps {
.expand-row {
text-align: center;
}
// .ivu-row {
// font-weight: bold !important;
// }
}
td.ivu-table-expanded-cell {
padding: 0 !important;
}
</style>
\ No newline at end of file
import Api from '@/plugins/request'
export default {
getmesorder(params) {
return Api.get(`${aps}/aps/getmesorder`, params); //待排产订单数据
return Api.get(`${apsManualUrl}/aps/getmesorder`, params); //待排产订单数据
},
gettaskseqinfo(params) {
return Api.get(`${aps}/aps/gettaskseqinfo`, params); //根据订单获取全部工序数据
return Api.get(`${apsManualUrl}/aps/gettaskseqinfo`, params); //根据订单获取全部工序数据
},
getlist(params) {
return Api.get(`${aps}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
return Api.get(`${apsManualUrl}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
},
getbyshopid(params) {
return Api.get(`${aps}/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
return Api.get(`${apsManualUrl}/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
},
getlistEquip(params) {
return Api.get(`${aps}/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
return Api.get(`${apsManualUrl}/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
},
getbyequippk(params) {
return Api.get(`${aps}/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
return Api.get(`${apsManualUrl}/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
},
}
\ No newline at end of file
......@@ -172,13 +172,13 @@ export default {
}
},
created(){
this.tableHeight = window.innerHeight - 170
this.tableHeight = window.innerHeight - 230
},
mounted() {
window.onresize = () => {///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.tableHeight = window.screenHeight - 150
this.tableHeight = window.screenHeight - 230
})()
}
},
......
......@@ -171,14 +171,14 @@ export default {
}
},
created(){
this.tableHeight = window.innerHeight - 170
this.tableHeight = window.innerHeight - 230
},
mounted() {
// console.log(this)
window.onresize = () => {///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.tableHeight = window.screenHeight - 150
this.tableHeight = window.screenHeight - 230
})()
}
},
......
......@@ -196,14 +196,14 @@ export default {
},
created() {
this.getWeekTypeListFn()
this.tableHeight = window.innerHeight - 170
this.tableHeight = window.innerHeight - 230
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.tableHeight = window.screenHeight - 150
this.tableHeight = window.screenHeight - 230
})()
}
},
......
......@@ -69,7 +69,7 @@ export default {
deletelMore: false,
curId: 0,
columns: [
{ type: 'selection', width: 70, align: 'center'},
// { type: 'selection', width: 70, align: 'center'},
{ key: 'id', title: this.l('id'), hide: true, align: 'left' },
{
key: 'creationTime',
......@@ -184,13 +184,13 @@ export default {
}
},
created(){
this.tableHeight = window.innerHeight - 170
this.tableHeight = window.innerHeight - 230
},
mounted() {
window.onresize = () => {///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.tableHeight = window.screenHeight - 150
this.tableHeight = window.screenHeight - 230
})()
}
},
......
This diff is collapsed.
import Api from '@/plugins/request'
export default {
index: `${systemUrl}/businesscodeconfig/paged`,
paged(params) {
return Api.post(`${systemUrl}/businesscodeconfig/paged`, params);
},
get(params) {
return Api.get(`${systemUrl}/businesscodeconfig/get`, params);
},
create(params) {
return Api.post(`${systemUrl}/businesscodeconfig/create`, params);
},
update(params) {
return Api.put(`${systemUrl}/businesscodeconfig/update`, params);
},
//删除:
delete(params) {
return Api.delete(`${systemUrl}/businesscodeconfig/delete`, {
params: params
});
},
setrule(params) {
return Api.post(`${systemUrl}/businesscodeconfig/setrule`, params);
}
}
\ No newline at end of file
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('businessName')">{{entity.businessName}}</Filed>
<Filed :span="12" :name="l('businessCode')">{{entity.businessCode}}</Filed>
<Filed :span="12" :name="l('prefix')">{{entity.prefix}}</Filed>
<Filed :span="12" :name="l('maxSerial')">{{entity.maxSerial}}</Filed>
<Filed :span="12" :name="l('day')">
<state code="mes_xingchi_system.business_code_config.day" :value="entity.day" />
</Filed>
<Filed :span="12"></Filed>
<Filed :span="24" :name="l('remark')">{{entity.remark}}</Filed>
</Row>
</div>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
entity: {
day:''
}
}
},
props: {
eid: Number
},
methods: {
load(v) {
Api.get({ id: v }).then((r) => {
this.entity = r.result
this.$emit('on-load')
})
},
handleClose() {
this.$emit('on-close')
},
l(key) {
key = 'business_code_config' + '.' + key
return this.$t(key)
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v)
}
}
}
}
</script>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment