Compare commits

...

4 Commits

Author SHA1 Message Date
e64e33a203 Merge pull request 'projects/mes-zjl' (#67) from projects/mes-zjl into projects/mes-test
Reviewed-on: #67
2023-11-07 16:01:50 +08:00
3ada2c5d08 merge test 2023-11-07 16:01:07 +08:00
9e8276d3a7 merge test 2023-11-07 15:55:19 +08:00
6e1bf994c2 bug 2023-11-07 15:49:07 +08:00
19 changed files with 165 additions and 76 deletions

View File

@ -13,8 +13,8 @@ VUE_APP_TITLE = MES系统
# 芋道管理系统/开发环境
# VUE_APP_BASE_API = 'http://100.64.0.26:48082'
# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
VUE_APP_BASE_API = 'http://192.168.4.173:48080'
VUE_APP_BASE_API = 'http://192.168.0.33:48082'
# VUE_APP_BASE_API = 'http://192.168.4.173:48080'
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
# VUE_APP_BASE_API = 'http://192.168.1.49:48080'
# VUE_APP_BASE_API = 'http://192.168.1.8:48080'

View File

@ -2,14 +2,14 @@
ENV = 'production'
# 页面标题
VUE_APP_TITLE = 产线监控系统
VUE_APP_TITLE = MES系统
# 芋道管理系统/生产环境
VUE_APP_BASE_API = '/prod-api'
# 根据服务器或域名修改
# PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
PUBLIC_PATH = 'http://192.168.0.33:8888/'
PUBLIC_PATH = 'http://192.168.0.33:8889/'
# 二级部署路径
VUE_APP_APP_NAME ='yudao-admin'

View File

@ -154,11 +154,13 @@ export default {
padding: 8px 8px 8px 40px;
.title {
height: 16px;
font-size: 14px;
font-weight: 600;
color: rgba(0,0,0,0.85);
}
.text {
height: 16px;
font-size: 14px;
font-weight: 400;
color: rgba(102,102,102,0.75);
}

View File

@ -39,7 +39,7 @@
</el-col>
<el-col :span='12'>
<el-form-item label="装车产品" prop="productId">
<el-select v-model="form.productId" placeholder="请选择" style="width: 100%;">
<el-select v-model="form.productId" disabled placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in productList"
:key="item.id"
@ -79,6 +79,7 @@
<script>
import { getProductAll } from '@/api/base/product'
import { deliveryLogDetCreate } from '@/api/base/delivery'
import { orderDetail } from '@/api/base/orderManage'
export default {
name: 'LoadedPage',
data() {
@ -107,16 +108,25 @@ export default {
}
},
methods: {
init(id, code) {
init(id, code, orderId) {
this.getSelectList()
this.form.logId = id
this.code = code
this.getProductId(orderId)
},
getSelectList() {
getProductAll().then(res => {
this.productList = res.data || []
})
},
//
getProductId(orderId) {
orderDetail({
id: orderId
}).then(res => {
this.form.productId = res.data.planProductId || ''
})
},
submitForm() {
this.$refs['addOrUpdate'].validate((valid) => {
if (valid) {

View File

@ -119,7 +119,8 @@ export default {
{
type: 'input',
label: '订单名',
param: 'orderName'
param: 'orderName',
defaultSelect: ''
},
{
type: 'input',
@ -138,10 +139,10 @@ export default {
color: 'primary'
},
{
type: 'separate'
type: this.$auth.hasPermi('extend:delivery-log:create') ? 'separate' : '',
},
{
type: 'button',
type: this.$auth.hasPermi('extend:delivery-log:create') ? 'button' : '',
btnName: '新增',
name: 'add',
color: 'success',
@ -161,25 +162,25 @@ export default {
tableH: this.tableHeight(260),
total: 0,
tableBtn: [
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('extend:delivery-log:loaded')
? {
type: 'loaded',
btnName: '装车'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('extend:delivery-log:detail')
? {
type: 'detail',
btnName: '详情'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('extend:delivery-log:update')
? {
type: 'edit',
btnName: '编辑'
}
: undefined,
this.$auth.hasPermi('base:group-team:delete')
this.$auth.hasPermi('extend:delivery-log:delete')
? {
type: 'delete',
btnName: '删除'
@ -196,10 +197,32 @@ export default {
window.addEventListener('resize', () => {
this.tableH = this.tableHeight(260)
})
if (location.href.indexOf('?') > 0) {
let arr = location.href.split('?')[1]
this.formConfig[0].defaultSelect = decodeURI(arr.split('=')[1])
} else {
this.formConfig[0].defaultSelect = ''
}
this.queryParams.orderName = this.formConfig[0].defaultSelect
this.getList();
},
components: { AddOrUpdate, LoadedPage, DeliveryLogDetail },
watch: {
$route: 'initData'
},
methods: {
initData(to) {
if (to.name === 'DeliveryLog') {
if (location.href.indexOf('?') > 0) {
let arr = location.href.split('?')[1]
this.formConfig[0].defaultSelect = decodeURI(arr.split('=')[1])
} else {
this.formConfig[0].defaultSelect = ''
}
this.queryParams.orderName = this.formConfig[0].defaultSelect
this.getList()
}
},
getList() {
deliveryLogPage({...this.queryParams}).then(res => {
this.list = res.data.list || []
@ -236,7 +259,7 @@ export default {
case 'loaded':
this.centervisible2 = true
this.$nextTick(() => {
this.$refs.loadedPage.init(val.data.id, val.data.code)
this.$refs.loadedPage.init(val.data.id, val.data.code, val.data.orderId)
})
break
default:

View File

@ -379,12 +379,14 @@ export default {
padding: 8px 8px 8px 40px;
.blodTip {
height: 16px;
font-size: 14px;
font-weight: 600;
color: rgba(0,0,0,0.85);
margin-bottom: 8px;
}
.lightTip {
height: 16px;
font-size: 14px;
font-weight: 400;
color: rgba(102,102,102,0.75);
}
@ -415,11 +417,13 @@ export default {
padding: 8px 8px 8px 40px;
.title {
height: 16px;
font-size: 14px;
font-weight: 600;
color: rgba(0,0,0,0.85);
}
.text {
height: 16px;
font-size: 14px;
font-weight: 400;
color: rgba(102,102,102,0.75);
}

View File

@ -61,7 +61,7 @@ const tableProps = [
},
{
prop: 'rate',
label: '累积发货比例%'
label: '累积发货比例(%)'
}
]
export default {
@ -92,7 +92,7 @@ export default {
tableH: this.tableHeight(260),
total: 0,
tableBtn: [
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('extend:delivery-log-det:detail')
? {
type: 'detail',
btnName: '详情'

View File

@ -92,7 +92,7 @@ export default {
color: 'primary'
},
{
type: 'separate'
type: this.$auth.hasPermi('base:energy-type:create') ? 'separate' : '',
},
{
type: this.$auth.hasPermi('base:energy-type:create') ? 'button' : '',

View File

@ -62,8 +62,9 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="消耗量阈值" prop="limitValue">
<el-input-number v-model="form.limitValue" :min="0" :max="10000000000000000" style="width: 100%;"></el-input-number>
<el-form-item label="消耗量阈值">
<el-input-number v-model="form.minValue" placeholder="最小值" :max="10000000000000000" style="width: 50%;"></el-input-number>
<el-input-number v-model="form.maxValue" placeholder="最大值" :max="10000000000000000" style="width: 50%;"></el-input-number>
</el-form-item>
</el-col>
</el-row>
@ -96,14 +97,16 @@ export default {
type: '',
plcParamId: '',
limitType: '',
limitValue: ''
minValue: null,
maxValue: null
},
objIds: [],//
isEdit: false, //
rules: {
objectId: [{ required: true, message: '对象不能为空', trigger: 'change' }],
energyTypeId: [{ required: true, message: '能源类型不能为空', trigger: 'change' }],
type: [{ required: true, message: '监控模式不能为空', trigger: 'change' }]
type: [{ required: true, message: '监控模式不能为空', trigger: 'change' }],
limitType: [{ required: true, message: '指标类型不能为空', trigger: 'change' }]
},
detailList: []
}
@ -199,6 +202,12 @@ export default {
this.$modal.msgError("监控模式为详细时,详细参数为必填");
return false
}
if (this.form.minValue && this.form.maxValue) {
if (this.form.minValue > this.form.maxValue) {
this.$modal.msgError("消耗量阈值,最小值不能大于最大值");
return false
}
}
// this.form.limitType = Number(this.form.limitType)
if (this.isEdit) {
//
@ -223,6 +232,10 @@ export default {
},
formClear() {
this.$refs.form.resetFields()
this.form.type = ''
this.form.plcParamId = ''
this.form.minValue = null
this.form.maxValue = null
this.objIds = ''
this.detailList = []
this.isEdit = false

View File

@ -37,6 +37,7 @@
@cancel="handleCancel"
@confirm="handleConfirm"
:before-close="handleCancel"
width='60%'
>
<energy-limit-add ref="energyLimit" @successSubmit="successSubmit" :energyTypeList="energyTypeList" :objList="objList"/>
</base-dialog>
@ -199,6 +200,15 @@ export default {
item.type = i.label
}
})
if (item.minValue && item.maxValue) {
item.limitValue = item.minValue + '-' + item.maxValue
} else if(item.minValue){
item.limitValue = '最小值' + item.minValue
}else if(item.maxValue){
item.limitValue = '最大值' + item.maxValue
} else {
item.limitValue = ''
}
})
this.list = arr
this.total = response.data.total;

View File

@ -136,6 +136,15 @@ export default {
item.type = i.name
}
})
if (item.minValue && item.maxValue) {
item.limitValue = item.minValue + '-' + item.maxValue
} else if(item.minValue){
item.limitValue = '最小值' + item.minValue
}else if(item.maxValue){
item.limitValue = '最大值' + item.maxValue
} else {
item.limitValue = ''
}
})
this.list = arr
this.total = response.data.total;

View File

@ -121,8 +121,9 @@ export default {
this.tableH = this.tableHeight(260)
this.isFold = this.searchBarWidth('energyReportSearchBox', 1180)
})
if (this.$route.params.startTime && this.$route.params.endTime) {
this.formConfig[2].defaultSelect = [this.$route.params.startTime, this.$route.params.endTime]
if (location.href.indexOf('?') > 0) {
let arr = location.href.split('?')[1].split('&')
this.formConfig[2].defaultSelect = [arr[0].split('=')[1], arr[1].split('=')[1]]
} else {
this.formConfig[2].defaultSelect = [Date.now() - 7*24*3600000, Date.now()]
}
@ -138,8 +139,9 @@ export default {
methods: {
initData(to) {
if (to.name === 'EnergyReportSearch') {
if (this.$route.params.startTime && this.$route.params.endTime) {
this.formConfig[2].defaultSelect = [this.$route.params.startTime, this.$route.params.endTime]
if (location.href.indexOf('?') > 0) {
let arr = location.href.split('?')[1].split('&')
this.formConfig[2].defaultSelect = [arr[0].split('=')[1], arr[1].split('=')[1]]
} else {
this.formConfig[2].defaultSelect = [Date.now() - 7*24*3600000, Date.now()]
}

View File

@ -115,7 +115,7 @@ export default {
type: 'select',
label: '能源类型',
selectOptions: [],
param: 'objType',
param: 'energyTypeId',
filterable: true,
width: 120,
clearable: false
@ -126,7 +126,7 @@ export default {
selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
labelField: 'label',
valueField: 'value',
param: 'energyTypeId',
param: 'objType',
width: 100,
clearable: false
},

View File

@ -16,10 +16,10 @@
</el-date-picker>
</el-form-item>
<el-form-item>
<span class="separateStyle"></span>
<span class="separateStyle" v-if="this.$auth.hasPermi('base:group-team-scheduling:set')"></span>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" :disabled="showSetting || settingBtnDis" @click="settingMsg">设置</el-button>
<el-button type="primary" size="small" v-if="this.$auth.hasPermi('base:group-team-scheduling:set')" :disabled="showSetting || settingBtnDis" @click="settingMsg">设置</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" v-show="showSetting && autoScheduling" @click="schedulingBtn">自动排班</el-button>
@ -285,21 +285,22 @@ export default {
switch (val) {
case '1':
this.$router.push({
// path: '/core/monitoring/production-line-data',
name: 'ProductionLineData',
params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
path: '/core/enhance/product-line-24h?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime,
// name: 'ProductionLineData',
// params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
})
break;
case '2': //
this.$router.push({
name: 'EnergyReportSearch',
params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
path: '/energy/monitoring/energy-report-search?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime
// name: 'EnergyReportSearch',
// params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
})
break;
default:
this.$router.push({
// path: '/quality/monitoring/quality-statistics',
name: 'QualityStatistics',
path: '/quality/monitoring/quality-statistics',
// name: 'QualityStatistics',
params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
})
}

View File

@ -49,12 +49,6 @@ const tableProps = [
label: '上班次数'
}
]
const tableBtn = [
{
type: 'detail',
btnName: '详情'
}
]
export default {
name: 'GroupTeamView',
data() {
@ -82,7 +76,14 @@ export default {
},
workOrderList: [],
workOrderName: '',
tableBtn,
tableBtn: [
this.$auth.hasPermi('base:group-team-view:detail')
? {
type: 'detail',
btnName: '详情'
}
: undefined
].filter((v) => v),
tableProps,
tableH: this.tableHeight(220),
list: [],

View File

@ -72,12 +72,6 @@ const tableProps = [
showOverflowtooltip: true
}
]
const tableBtn = [
{
type: 'viewDetail',
btnName: '查看生产情况'
}
]
export default {
name: 'GroupTeamScheduling',
data() {
@ -98,13 +92,14 @@ export default {
{
type: 'datePicker',
label: '上班日期',
dateType: 'date',
dateType: 'daterange',
format: 'yyyy-MM-dd',
valueFormat: 'yyyy-MM-dd',
rangeSeparator: '-',
// valueFormat: "timestamp",
param: 'startDay',
param: 'tiemStr',
defaultSelect: '',
width: 200
width: 250
},
{
type: 'button',
@ -119,10 +114,17 @@ export default {
pageSize: 20,
classesId: '',
teamName: '',
startDay: ''
startDay: []
},
tableProps,
tableBtn,
tableBtn: [
this.$auth.hasPermi('base:team-production:detail')
? {
type: 'viewDetail',
btnName: '查看生产情况'
}
: undefined
].filter((v) => v),
list: [],
tableH: this.tableHeight(260),
total: 0,
@ -142,7 +144,8 @@ export default {
this.queryParams.pageNo = 1;
this.queryParams.classesId = val.classesId
this.queryParams.teamName = val.teamName
this.queryParams.startDay = val.startDay
this.queryParams.startDay[0] = val.tiemStr ? val.tiemStr[0] + ' 00:00:00' : ''
this.queryParams.startDay[1] = val.tiemStr ? val.tiemStr[1] + ' 23:59:59' : ''
this.getList()
},
getList() {

View File

@ -165,10 +165,10 @@ export default {
color: 'primary'
},
{
type: 'separate'
type: this.$auth.hasPermi('base:order-manage:create') ? 'separate' : '',
},
{
type: 'button',
type: this.$auth.hasPermi('base:order-manage:create') ? 'button' : '',
btnName: '新增',
name: 'add',
color: 'success',
@ -188,31 +188,31 @@ export default {
list: [],
tableH: this.tableHeight(260),
tableBtn: [
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-manage:addWorkOrder')
? {
type: 'add',
btnName: '新增工单'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-manage:bindWorkOrder')
? {
type: 'bind',
btnName: '绑定工单'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-manage:detail')
? {
type: 'detail',
btnName: '详情'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-manage:edit')
? {
type: 'edit',
btnName: '编辑'
}
: undefined,
this.$auth.hasPermi('base:group-team:delete')
this.$auth.hasPermi('base:order-manage:delete')
? {
type: 'delete',
btnName: '删除'
@ -292,7 +292,7 @@ export default {
this.handleDelete(val.data)
break
case 'detail':
this.$router.push({ name: 'OrderDetailData', params: { orderId: val.data.id }})
this.$router.push({path: '/order/base/order-manage/order-detail-data?orderId='+ val.data.id})
break
case 'add':
this.workIssueTitle = '新增工单'

View File

@ -222,7 +222,7 @@ export default {
window.addEventListener('resize', () => {
this.tableH = this.tableHeight(510) / 2
})
this.orderId = this.$route.params.orderId
this.orderId = location.href.split('?')[1].split('=')[1]
this.getMsg()
},
watch: {
@ -231,7 +231,7 @@ export default {
methods: {
initData(to) {
if (to.name === 'OrderDetailData') {
this.orderId = this.$route.params.orderId
this.orderId = location.href.split('?')[1].split('=')[1]
this.getMsg()
}
},

View File

@ -144,7 +144,7 @@ export default {
color: 'primary'
}
],
activeName: 'barChart',
activeName: 'dataList',
//
queryParams: {
pageNo: 1,
@ -157,19 +157,19 @@ export default {
tableH: this.tableHeight(270),
total: 0,
tableBtn: [
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-completion-monitoring:orderDet')
? {
type: 'orderDetail',
btnName: '工单详情'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-completion-monitoring:qualityDet')
? {
type: 'qualityDetail',
btnName: '质量详情'
}
: undefined,
this.$auth.hasPermi('base:group-team:update')
this.$auth.hasPermi('base:order-completion-monitoring:sendOut')
? {
type: 'sendOutDetail',
btnName: '发货详情'
@ -194,16 +194,14 @@ export default {
getPage() {
orderMonitor({...this.queryParams}).then(res => {
this.list = res.data || []
this.getPieChart()
// this.getPieChart()
})
},
//
getPieChart() {
var chartDom = document.getElementById('orderPieBar');
var myChart = echarts.init(chartDom);
var option;
option = {
var option = {
color:['#288AFF','#7164FF','#fff','#63BDFF','#8EF0AB','#FFCE6A'],
series: [
{
@ -311,13 +309,12 @@ export default {
show: false
},
data: [
{ value: 1000, name: '5' },
{ value: 800, name: '5' },
{ value: 1048, name: 'xxx' }
]
}
]
}
option && myChart.setOption(option)
},
//
@ -331,9 +328,23 @@ export default {
}
this.getPage()
},
handleClick() {}
handleClick(val) {
console.log(val)
switch (val.type) {
case 'orderDetail':
break
case 'qualityDetail':
break
default:
this.$router.push({
path: '/delivery/delivery-log?orderId='+encodeURI(val.data.name)
})
}
}
}
}
</script>
<style lang='scss'>
.orderMonitoring {