projects/mesxc-zjl #327

Merged
juzi merged 3 commits from projects/mesxc-zjl into projects/mesxc-test 2024-04-11 15:37:56 +08:00
21 changed files with 861 additions and 619 deletions

View File

@ -76,10 +76,6 @@ export default {
name: this.chartData[i].objName + this.chartData[i].objCode,
type: 'bar',
barMaxWidth: 20,
label: {
show: true,
position: 'top',
},
data: [],
};
legendData.push(this.chartData[i].objName + this.chartData[i].objCode);

View File

@ -68,9 +68,9 @@ export default {
var option = {
color: ['#288AFF'],
// tooltip: {
// trigger: 'axis'
// },
tooltip: {
trigger: 'axis',
},
grid: {
left: '4%',
right: '1%',

View File

@ -57,8 +57,10 @@ export default {
let listObj = { useNum: '消耗量' }; //
for (let i = 0; i < arr.length; i++) {
let obj = {};
let fName = arr[i].time.slice(0, 4);
let lName = arr[i].time.slice(4, 6);
obj.prop = arr[i].time;
obj.label = arr[i].time;
obj.label = fName + ' 第 ' + lName + ' 周';
obj.minWidth = 100;
tempX.push(obj);
listObj[arr[i].time] = arr[i].useNum || null;

View File

@ -45,6 +45,7 @@
</el-table-column>
</el-table>
<el-button
v-show="!isEdit"
class="addButton"
icon="el-icon-plus"
@click="emitButtonClick">
@ -70,6 +71,13 @@ export default {
return [];
},
},
isEdit: {
type: Boolean,
required: true,
default: () => {
return false;
},
},
},
data() {
return {};

View File

@ -42,6 +42,7 @@
<add-table
:table-data="tableData"
:table-name-list="tableNameList"
:isEdit="isEdit"
@emitFun="inputChange"
@emitButtonClick="emitButtonClick" />
</el-col>

View File

@ -66,7 +66,7 @@
placeholder="请选择"
style="width: 100%">
<el-option
v-for="item in getDictDatas(DICT_TYPE.TABLE_NAME)"
v-for="item in tableNameList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
@ -154,6 +154,7 @@ import {
createEnergyLimit,
getEnergyParamList,
} from '@/api/monitoring/energyLimit';
import { energyTableGet } from '@/api/base/energyQuantityManual';
export default {
name: 'energyLimitAdd',
props: {
@ -203,6 +204,7 @@ export default {
{ required: true, message: '指标类型不能为空', trigger: 'change' },
],
},
tableNameList: [],
detailList: [],
};
},
@ -267,11 +269,22 @@ export default {
}
},
toggleType() {
if (this.form.energyTypeId && this.form.type) {
this.getDetailList();
this.form.plcParamId = '';
if (this.form.energyTypeId && this.form.method == 2) {
this.form.tableName = '';
this.getTableNameList(this.form.energyTypeId);
}
},
// list
getTableNameList(id) {
energyTableGet({ energyTypeId: id }).then((res) => {
this.tableNameList = res.data.tableObjs || [];
if (this.tableNameList.length === 0) {
this.$modal.msgWarning(
'当前能源类型暂无配置表名,请先到《表名配置》页面配置'
);
}
});
},
//
changeDetSelect(key, treeData) {
let arr = []; //

View File

@ -1,5 +1,11 @@
<template>
<el-switch v-model="state" type="text" size="small" :disabled="readonly" @change="changeHandler" />
<el-switch
v-hasPermi="['base:group-team:edit-worker']"
v-model="state"
type="text"
size="small"
:disabled="readonly"
@change="changeHandler" />
</template>
<script>
@ -7,40 +13,40 @@ export default {
props: {
injectData: {
type: Object,
default: () => ({})
}
default: () => ({}),
},
},
data() {
return {
state: false
}
state: false,
};
},
computed: {
readonly() {
return !!this.injectData.readonly
}
return !!this.injectData.readonly;
},
},
mounted() {
this.mapToState()
this.mapToState();
},
methods: {
mapToState() {
if (this.injectData.prop === 'enabled') {
this.state = this.injectData.enabled === 1 ? true : false
this.state = this.injectData.enabled === 1 ? true : false;
}
},
changeHandler() {
let params = {}
let payload = {}
params.name = 'state'
payload.id = this.injectData.id
payload.enabled = this.state ? '1' : '0'
payload.code = this.injectData.code
payload.name = this.injectData.name
payload.leaderId = this.injectData.leaderId
params.payload = payload
this.$emit('emitData', params)
}
}
}
let params = {};
let payload = {};
params.name = 'state';
payload.id = this.injectData.id;
payload.enabled = this.state ? '1' : '0';
payload.code = this.injectData.code;
payload.name = this.injectData.name;
payload.leaderId = this.injectData.leaderId;
params.payload = payload;
this.$emit('emitData', params);
},
},
};
</script>

View File

@ -1,8 +1,18 @@
<template>
<div class="workerOperate">
<div class="operateBtn">
<span class="view" v-if="this.$auth.hasPermi('base:group-team:view-worker')" @click="emitParams('view')">查看</span>
<span class="edit" v-if="this.$auth.hasPermi('base:group-team:edit-worker')" @click="emitParams('edit')">编辑</span>
<span
class="view"
v-hasPermi="['base:group-team:view-worker']"
@click="emitParams('view')">
查看
</span>
<span
class="edit"
v-hasPermi="['base:group-team:edit-worker']"
@click="emitParams('edit')">
编辑
</span>
</div>
</div>
</template>
@ -12,23 +22,23 @@ export default {
props: {
injectData: {
type: Object,
default: () => ({})
}
default: () => ({}),
},
},
methods: {
emitParams(data) {
let params = {}
params.name = data
params.payload = this.injectData
this.$emit('emitData', params)
}
}
}
let params = {};
params.name = data;
params.payload = this.injectData;
this.$emit('emitData', params);
},
},
};
</script>
<style lang='scss' scoped>
.workerOperate {
.operateBtn{
color: #0B58FF;
.operateBtn {
color: #0b58ff;
.view {
margin-right: 10px;
cursor: pointer;

View File

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

View File

@ -1,8 +1,12 @@
<template>
<div class="groupTeamScheduling">
<TopTab :roomNameDict='roomNameDict' @emitFun='toggleName'/>
<TopTab
:roomNameDict="roomNameDict"
@emitFun="toggleName" />
<div class="operationArea">
<el-form :inline="true" class="demo-form-inline">
<el-form
:inline="true"
class="demo-form-inline">
<span class="blue-block"></span>
<el-form-item label="月份选择">
<el-date-picker
@ -13,42 +17,86 @@
:disabled="showSetting"
@change="selectMonth"
:clearable="false"
style="width: 120px">
</el-date-picker>
style="width: 120px"></el-date-picker>
</el-form-item>
<el-form-item>
<span class="separateStyle" v-if="this.$auth.hasPermi('base:group-team-scheduling:set')"></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" v-if="this.$auth.hasPermi('base:group-team-scheduling:set')" :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>
<el-button
type="primary"
size="small"
v-show="showSetting && autoScheduling"
@click="schedulingBtn">
自动排班
</el-button>
</el-form-item>
<el-form-item>
<span class="separateStyle" v-show="showSetting"></span>
<span
class="separateStyle"
v-show="showSetting"></span>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" v-show="showSetting" @click="confirmSetting">确认</el-button>
<el-button
type="primary"
size="small"
v-show="showSetting"
@click="confirmSetting">
确认
</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" plain v-show="showSetting" @click="cancelSetting">取消</el-button>
<el-button
type="primary"
size="small"
plain
v-show="showSetting"
@click="cancelSetting">
取消
</el-button>
</el-form-item>
<el-form-item label="请先选择查询的班组" class="rightItem">
<el-form-item
v-hasPermi="[
'base:quality-inspection-record:query',
'base:core-work-order:query',
'base:core-product:query',
]"
label="请先选择查询的班组"
class="rightItem">
<!-- <el-button type="primary" size="small" :disabled="jumpDisabled" @click="toOtherPage('1')">班组上下片查询</el-button> -->
<el-button type="primary" size="small" :disabled="jumpDisabled" @click="toOtherPage('2')">班组能源查询</el-button>
<el-button type="primary" size="small" :disabled="jumpDisabled" @click="toOtherPage('3')">班组检测查询</el-button>
<!-- <el-button type="primary" size="small" :disabled="jumpDisabled" @click="toOtherPage('2')">班组能源查询</el-button> -->
<el-button
type="primary"
size="small"
:disabled="jumpDisabled"
@click="toOtherPage('3')">
班组检测查询
</el-button>
</el-form-item>
</el-form>
</div>
<!-- 日历区域 -->
<div class="calenderArea">
<div style="font-size: 24px;font-weight: 500">{{ this.month }} {{ this.year }}</div>
<div style="font-size: 24px; font-weight: 500">
{{ this.month }} {{ this.year }}
</div>
<el-calendar v-model="startDay">
<!-- 这里使用的是 2.5 slot 语法对于新项目请使用 2.6 slot 语法-->
<template
slot="dateCell"
slot-scope="{date, data}">
slot-scope="{ date, data }">
<div v-if="data.type === 'current-month'">
<!-- 日期 -->
<div class="dateStyle">
@ -56,27 +104,64 @@
</div>
<!-- 班次班组 -->
<!-- class有两个样式一个是类似class1还有个是选中红框显示 -->
<el-row :gutter="2" :class="'class' + (index+1) + (chooseTip === (item.startDay+item.classesId) ? ' team-active' : '')" v-for="(item, index) in list[Number(data.day.split('-')[2])]" :key='index'>
<el-row
:gutter="2"
:class="
'class' +
(index + 1) +
(chooseTip === item.startDay + item.classesId
? ' team-active'
: '')
"
v-for="(item, index) in list[Number(data.day.split('-')[2])]"
:key="index">
<el-col :span="12">
<div class="selectDiv">
<!-- 选择班组图标 -->
<div class="toggle-icon" v-show="showSetting && (new Date(data.day).valueOf() < new Date().valueOf() ? false: true)">
<svg-icon icon-class="toggle"/>
<div
class="toggle-icon"
v-show="
showSetting &&
(new Date(data.day).valueOf() < new Date().valueOf()
? false
: true)
">
<svg-icon icon-class="toggle" />
</div>
<!-- 不能选择班组 -->
<div class="toggle-icon-hide" v-show="!(showSetting && (new Date(data.day).valueOf() < new Date().valueOf() ? false: true))"></div>
<el-select v-model="item.teamId" size='small' :disabled="!showSetting || (new Date(data.day).valueOf() > new Date().valueOf() ? false: true)">
<div
class="toggle-icon-hide"
v-show="
!(
showSetting &&
(new Date(data.day).valueOf() < new Date().valueOf()
? false
: true)
)
"></div>
<el-select
v-model="item.teamId"
size="small"
:disabled="
!showSetting ||
(new Date(data.day).valueOf() > new Date().valueOf()
? false
: true)
">
<el-option
v-for="i in teamList"
:key="i.id"
:label="i.name"
:value="i.id">
</el-option>
:value="i.id"></el-option>
</el-select>
</div>
</el-col>
<el-col :span="12">
<el-button class="labelClass" @click="chooseTeam(item)">{{ item.classesName }}</el-button>
<el-button
class="labelClass"
@click="chooseTeam(item)">
{{ item.classesName }}
</el-button>
</el-col>
</el-row>
</div>
@ -87,263 +172,299 @@
</template>
<script>
import { getPreset, createOrUpdateList, autoSet } from "@/api/base/groupTeamScheduling";
import { listEnabledByRoom } from "@/api/base/groupTeam";
import {
getPreset,
createOrUpdateList,
autoSet,
} from '@/api/base/groupTeamScheduling';
import { listEnabledByRoom } from '@/api/base/groupTeam';
import moment from 'moment';
import TopTab from './components/topTab'
import TopTab from './components/topTab';
export default {
name: "GroupTeamScheduling",
name: 'GroupTeamScheduling',
data() {
return {
roomNameDict:null,
startDay: '',//
year: '',// 2023
month: '',//
monthList: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
roomNameDict: null,
startDay: '', //
year: '', // 2023
month: '', //
monthList: [
'一月',
'二月',
'三月',
'四月',
'五月',
'六月',
'七月',
'八月',
'九月',
'十月',
'十一月',
'十二月',
],
list: {},
teamList: [],//
showSetting: false,//
teamList: [], //
showSetting: false, //
settingBtnDis: false,
jumpDisabled: true,//
jumpDisabled: true, //
chooseObj: {}, //
chooseTip: '',//
autoScheduling: false //
chooseTip: '', //
autoScheduling: false, //
};
},
components:{ TopTab },
components: { TopTab },
created() {
this.roomNameDict = this.getDictDatas('workshop')[0].value
this.startDay = new Date()
this.roomNameDict = this.getDictDatas('workshop')[0].value;
this.startDay = new Date();
//
this.settingBtn()
this.getTeamList()
this.toggleMonth()
this.getList()
this.settingBtn();
this.getTeamList();
this.toggleMonth();
this.getList();
},
methods: {
//
toggleName(val) {
this.roomNameDict = val
this.roomNameDict = val;
//
if (this.showSetting) {
this.showSetting = !this.showSetting
this.showSetting = !this.showSetting;
}
//
if (!this.jumpDisabled) {
this.clearChoose()
this.clearChoose();
}
//
this.getTeamList()
this.getTeamList();
//
this.getList()
this.getList();
},
//
selectMonth() {
if (this.startDay) {
this.settingBtn() // ,getlist
this.toggleMonth()
this.getList()
this.clearChoose()
if ( moment(this.startDay).valueOf() > moment().endOf('month').valueOf()) {
this.autoScheduling = true
this.settingBtn(); // ,getlist
this.toggleMonth();
this.getList();
this.clearChoose();
if (
moment(this.startDay).valueOf() > moment().endOf('month').valueOf()
) {
this.autoScheduling = true;
} else {
this.autoScheduling = false
this.autoScheduling = false;
}
}
},
//
getTeamList() {
console.log(this.roomNameDict)
console.log(this.roomNameDict);
listEnabledByRoom({
room: this.roomNameDict
}).then(res => {
this.teamList = res.data || []
})
room: this.roomNameDict,
}).then((res) => {
this.teamList = res.data || [];
});
},
//
getList() {
let year = moment(this.startDay).format('YYYY')
let month = moment(this.startDay).format('M')
let year = moment(this.startDay).format('YYYY');
let month = moment(this.startDay).format('M');
getPreset({
year: year,
month: month,
roomNameDict: this.roomNameDict
}).then(res => {
let obj = res.data || {}
roomNameDict: this.roomNameDict,
})
.then((res) => {
let obj = res.data || {};
if (obj) {
for (let item in obj) {
for (let i = 0; i < obj[item].length; i++) {
if (!obj[item][i].teamId) {
obj[item][i].teamId = ''
obj[item][i].teamId = '';
}
}
}
}
this.list = obj
this.settingBtnDis = false
}).catch(() => {
this.list = {}
this.settingBtnDis = true //
this.list = obj;
this.settingBtnDis = false;
})
.catch(() => {
this.list = {};
this.settingBtnDis = true; //
});
},
//
settingMsg() {
this.showSetting = !this.showSetting
this.clearChoose()
this.showSetting = !this.showSetting;
this.clearChoose();
},
//
cancelSetting() {
this.showSetting = !this.showSetting
this.getList() //
this.showSetting = !this.showSetting;
this.getList(); //
},
//
confirmSetting() {
let num = 0
let num = 0;
//
if (moment(this.startDay).format('YYYY-MM') === moment().format('YYYY-MM')) {
num = Number(moment().format('DD'))
if (
moment(this.startDay).format('YYYY-MM') === moment().format('YYYY-MM')
) {
num = Number(moment().format('DD'));
} else {
num = 0
num = 0;
}
//
//
let tempArr = Object.values(this.list)
let arr = []
let tempArr = Object.values(this.list);
let arr = [];
for (let i = num; i < tempArr.length; i++) {
for (let j = 0; j < tempArr[i].length; j++) {
arr.push(tempArr[i][j])
arr.push(tempArr[i][j]);
}
}
createOrUpdateList(arr).then(res => {
createOrUpdateList(arr).then((res) => {
if (res.code === 0) {
this.showSetting = !this.showSetting
this.$modal.msgSuccess("操作成功")
this.getList() //
this.showSetting = !this.showSetting;
this.$modal.msgSuccess('操作成功');
this.getList(); //
}
})
});
},
//
chooseTeam(value) {
if (this.showSetting) {
this.$modal.msgWarning("当前处于设置模式")
return false
this.$modal.msgWarning('当前处于设置模式');
return false;
}
this.chooseObj = value
this.chooseTip = value.startDay + value.classesId //
this.jumpDisabled = false //
this.chooseObj = value;
this.chooseTip = value.startDay + value.classesId; //
this.jumpDisabled = false; //
},
//
schedulingBtn() {
let tempData = this.list
let tempData = this.list;
// 1
if (this.list[1][0].teamId) {
let tempArr = Object.values(this.list)
let arr = []
let n = 0
let tempArr = Object.values(this.list);
let arr = [];
let n = 0;
for (let i = 0; i < tempArr.length; i++) {
if (n > 0) {
break;
}
for (let j = 0; j < tempArr[i].length; j++) {
if (tempArr[i][j].teamId) {
arr.push(tempArr[i][j].teamId)
arr.push(tempArr[i][j].teamId);
} else {
n++
n++;
}
}
}
let tempNum = 0
let tempNum = 0;
for (let k = 0; k < tempArr.length; k++) {
for (let v = 0; v < tempArr[k].length; v++) {
let t = tempNum % arr.length
let t = tempNum % arr.length;
if (arr.length === 1) {
tempData[k+1][v].teamId = arr[0]
tempData[k + 1][v].teamId = arr[0];
} else {
tempData[k+1][v].teamId = arr[t]
tempData[k + 1][v].teamId = arr[t];
}
tempNum++
tempNum++;
}
}
this.list = []
this.list = tempData
this.list = [];
this.list = tempData;
} else {
// 1,
// console.log(moment(this.startDay).format("YYYY-MM-DD"))
autoSet({
year: this.year,
month: moment(this.startDay).month() + 1,
roomNameDict: this.roomNameDict
}).then(res => {
this.list = res.data || {}
})
roomNameDict: this.roomNameDict,
}).then((res) => {
this.list = res.data || {};
});
}
},
//
settingBtn() {
let nowMonth = moment().startOf('month').valueOf()
let startMonth = moment(this.startDay).valueOf()
let nowDate = moment(new Date()).date()
let sumDate = moment().daysInMonth()
if (nowMonth > startMonth) { //
this.settingBtnDis = true
let nowMonth = moment().startOf('month').valueOf();
let startMonth = moment(this.startDay).valueOf();
let nowDate = moment(new Date()).date();
let sumDate = moment().daysInMonth();
if (nowMonth > startMonth) {
//
this.settingBtnDis = true;
} else {
if (nowDate < sumDate) {
this.settingBtnDis = false
this.settingBtnDis = false;
} else {
this.settingBtnDis = true
this.settingBtnDis = true;
}
}
},
//
clearChoose() {
this.chooseObj = {}
this.chooseTip = ""
this.jumpDisabled = true
this.chooseObj = {};
this.chooseTip = '';
this.jumpDisabled = true;
},
//
toggleMonth() {
this.year = moment(this.startDay).format("YYYY")
let month = Number(moment(this.startDay).format("MM"))
this.month = this.monthList[month - 1]
this.year = moment(this.startDay).format('YYYY');
let month = Number(moment(this.startDay).format('MM'));
this.month = this.monthList[month - 1];
},
// 3
toOtherPage(val) {
switch (val) {
case '1':
this.$router.push({
path: '/core/enhance/product-line-24h?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime,
})
path:
'/core/enhance/product-line-24h?startTime=' +
this.chooseObj.startTime +
'&endTime=' +
this.chooseObj.endTime,
});
break;
case '2': //
this.$router.push({
path: '/energy/base/energy-quantity-realtime?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime
})
path:
'/energy/base/energy-quantity-realtime?startTime=' +
this.chooseObj.startTime +
'&endTime=' +
this.chooseObj.endTime,
});
break;
default:
this.$router.push({
path: '/quality/base/quality-inspection-data/detection-information/statistical-data?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime,
path:
'/quality/base/quality-inspection-data/detection-information/statistical-data?startTime=' +
this.chooseObj.startTime +
'&endTime=' +
this.chooseObj.endTime,
// name: 'QualityStatistics',
// params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime }
})
}
}
}
});
}
},
},
};
</script>
<style lang='scss'>
.demo-form-inline {
.el-date-editor .el-range__icon {
font-size: 16px;
color: #0B58FF;
color: #0b58ff;
}
.el-input__prefix .el-icon-date {
font-size: 16px;
color: #0B58FF;
color: #0b58ff;
}
}
.groupTeamScheduling {
background-color: #F2F4F9;
background-color: #f2f4f9;
.operationArea {
padding: 14px 10px 0 16px;
margin-bottom: 8px;
@ -353,7 +474,7 @@ export default {
display: inline-block;
width: 4px;
height: 16px;
background-color: #0B58FF;
background-color: #0b58ff;
border-radius: 1px;
margin-right: 8px;
margin-top: 10px;
@ -362,7 +483,7 @@ export default {
display: inline-block;
width: 1px;
height: 24px;
background: #E8E8E8;
background: #e8e8e8;
vertical-align: middle;
}
.el-form-item {
@ -394,7 +515,8 @@ export default {
}
.el-calendar-table__row {
height: 133px;
.prev, .next {
.prev,
.next {
pointer-events: none;
}
.el-calendar-day {
@ -411,10 +533,13 @@ export default {
}
}
}
.team-active {//
border:2px solid red
.team-active {
//
border: 2px solid red;
}
.class1, .class2, .class3 {
.class1,
.class2,
.class3 {
padding: 0;
font-weight: 600;
margin-bottom: 2px;
@ -458,47 +583,50 @@ export default {
}
.class1 {
.selectDiv {
.toggle-icon, .toggle-icon-hide {
background-color: #FACE00;
.toggle-icon,
.toggle-icon-hide {
background-color: #face00;
}
.el-input--small .el-input__inner {
color: #E7A200;
background-color: #FFEFC0;
color: #e7a200;
background-color: #ffefc0;
}
}
.labelClass {
color: #E7A200;
background-color: #FFEFC0;
color: #e7a200;
background-color: #ffefc0;
}
}
.class2 {
.selectDiv {
.toggle-icon, .toggle-icon-hide {
background-color: #3984FF;
.toggle-icon,
.toggle-icon-hide {
background-color: #3984ff;
}
.el-input--small .el-input__inner {
color: #2D7BFF;
background-color: #BEEAFF;
color: #2d7bff;
background-color: #beeaff;
}
}
.labelClass {
color: #2D7BFF;
background-color: #BEEAFF;
color: #2d7bff;
background-color: #beeaff;
}
}
.class3 {
.selectDiv {
.toggle-icon, .toggle-icon-hide {
background-color: #37D97F;
.toggle-icon,
.toggle-icon-hide {
background-color: #37d97f;
}
.el-input--small .el-input__inner {
color: #129F51;
background-color: #E0FFEE;
color: #129f51;
background-color: #e0ffee;
}
}
.labelClass {
color: #129F51;
background-color: #E0FFEE;
color: #129f51;
background-color: #e0ffee;
}
}
}

View File

@ -88,7 +88,7 @@ export default {
workOrderList: [],
workOrderName: '',
tableBtn: [
this.$auth.hasPermi('base:group-team-view:detail')
this.$auth.hasPermi('monitoring:group-team-scheduling:query')
? {
type: 'detail',
btnName: '详情',

View File

@ -97,7 +97,7 @@ export default {
},
tableProps,
tableBtn: [
this.$auth.hasPermi('base:team-production:detail')
this.$auth.hasPermi('monitoring:group-team-scheduling:query')
? {
type: 'productionDetail',
btnName: '查看',

View File

@ -173,12 +173,24 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:order-group:create')
type: this.$auth.hasPermiAnd([
'base:order-group:create',
'base:core-product:query',
'base:core-customer:query',
'base:order:query',
])
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:order-group:create') ? 'button' : '',
type: this.$auth.hasPermiAnd([
'base:order-group:create',
'base:core-product:query',
'base:core-customer:query',
'base:order:query',
])
? 'button'
: '',
btnName: '新增',
name: 'add',
color: 'success',
@ -197,7 +209,10 @@ export default {
tableProps,
list: [],
tableBtn: [
this.$auth.hasPermi('base:order-group:bind')
this.$auth.hasPermiAnd([
'base:order:query',
'base:order-con-group-order:create',
])
? {
type: 'bind',
btnName: '绑定',
@ -214,7 +229,7 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-group:complete')
this.$auth.hasPermi('base:order-group:update')
? {
type: 'complete',
btnName: '完成',
@ -231,7 +246,7 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-group:termination')
this.$auth.hasPermi('base:order-group:update')
? {
type: 'termination',
btnName: '终止',
@ -248,7 +263,7 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-group:cancel')
this.$auth.hasPermi('base:order-group:update')
? {
type: 'cancel',
btnName: '作废',
@ -265,11 +280,17 @@ export default {
},
}
: undefined,
{
this.$auth.hasPermi('base:order-group:update')
? {
type: 'detail',
btnName: '详情',
},
this.$auth.hasPermi('base:order-group:edit')
}
: undefined,
this.$auth.hasPermiAnd([
'base:order-group:update',
'base:core-product:query',
'base:core-customer:query',
])
? {
type: 'edit',
btnName: '编辑',

View File

@ -15,7 +15,7 @@
<method-btn
v-if="tableBtn.length"
slot="handleBtn"
:width="290"
:width="250"
label="操作"
:method-list="tableBtn"
@clickBtn="handleClick" />
@ -169,12 +169,22 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:order-manage:create')
type: this.$auth.hasPermiAnd([
'base:order:query',
'base:core-product:query',
'base:order:create',
])
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:order-manage:create') ? 'button' : '',
type: this.$auth.hasPermiAnd([
'base:order:query',
'base:core-product:query',
'base:order:create',
])
? 'button'
: '',
btnName: '新增',
name: 'add',
color: 'success',
@ -210,7 +220,14 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-manage:bindWorkOrder')
this.$auth.hasPermiAnd([
'base:order:update',
'base:core-product:query',
'base:production-line:query',
'extend:process-flow:query',
'base:core-work-order:query',
'base:order:query',
])
? {
type: 'bind',
btnName: '绑定',
@ -227,7 +244,7 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-manage:complete')
this.$auth.hasPermi('base:order:update')
? {
type: 'complete',
btnName: '完成',
@ -244,7 +261,7 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-manage:termination')
this.$auth.hasPermi('base:order:update')
? {
type: 'termination',
btnName: '终止',
@ -261,7 +278,7 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-manage:cancel')
this.$auth.hasPermi('base:order:update')
? {
type: 'cancel',
btnName: '作废',
@ -278,13 +295,20 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-manage:detail')
this.$auth.hasPermiAnd([
'base:order:query',
'extend:process-flow:query',
])
? {
type: 'detail',
btnName: '详情',
}
: undefined,
this.$auth.hasPermi('base:order-manage:edit')
this.$auth.hasPermiAnd([
'base:order:query',
'base:core-product:query',
'base:order:update',
])
? {
type: 'edit',
btnName: '编辑',

View File

@ -181,7 +181,10 @@ export default {
list: [],
total: 0,
tableBtn: [
this.$auth.hasPermi('base:order-completion-monitoring:orderDet')
this.$auth.hasPermiAnd([
'base:order:query',
'extend:process-flow:query',
])
? {
type: 'orderDetail',
btnName: '详情',
@ -198,7 +201,11 @@ export default {
},
}
: undefined,
this.$auth.hasPermi('base:order-completion-monitoring:qualityDet')
this.$auth.hasPermiAnd([
'base:quality-inspection-record:query',
'base:core-product:query',
'base:core-work-order:query',
])
? {
type: 'qualityDetail',
btnName: '质量',

View File

@ -99,10 +99,14 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:voc:export') ? 'separate' : '',
type: this.$auth.hasPermi('base:environmental-check-record:export')
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:voc:export') ? 'button' : '',
type: this.$auth.hasPermi('base:environmental-check-record:export')
? 'button'
: '',
btnName: '导出',
name: 'export',
color: 'primary',

View File

@ -103,10 +103,14 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:voc:create') ? 'separate' : '',
type: this.$auth.hasPermi('base:environmental-check:create')
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:voc:create') ? 'button' : '',
type: this.$auth.hasPermi('base:environmental-check:create')
? 'button'
: '',
btnName: '新增',
name: 'add',
color: 'success',
@ -124,13 +128,16 @@ export default {
tableProps,
list: [],
tableBtn: [
this.$auth.hasPermi('base:voc:update')
this.$auth.hasPermiAnd([
'base:environmental-check:update',
'base:environmental-check:query',
])
? {
type: 'edit',
btnName: '编辑',
}
: undefined,
this.$auth.hasPermi('base:voc:delete')
this.$auth.hasPermi('base:environmental-check:delete')
? {
type: 'delete',
btnName: '删除',

View File

@ -99,10 +99,14 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:waste-gas:export') ? 'separate' : '',
type: this.$auth.hasPermi('base:environmental-check-record:export')
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:waste-gas:export') ? 'button' : '',
type: this.$auth.hasPermi('base:environmental-check-record:export')
? 'button'
: '',
btnName: '导出',
name: 'export',
color: 'primary',

View File

@ -103,10 +103,14 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:waste-gas:create') ? 'separate' : '',
type: this.$auth.hasPermi('base:environmental-check:create')
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:waste-gas:create') ? 'button' : '',
type: this.$auth.hasPermi('base:environmental-check:create')
? 'button'
: '',
btnName: '新增',
name: 'add',
color: 'success',
@ -124,13 +128,16 @@ export default {
tableProps,
list: [],
tableBtn: [
this.$auth.hasPermi('base:waste-gas:update')
this.$auth.hasPermiAnd([
'base:environmental-check:update',
'base:environmental-check:query',
])
? {
type: 'edit',
btnName: '编辑',
}
: undefined,
this.$auth.hasPermi('base:waste-gas:delete')
this.$auth.hasPermi('base:environmental-check:delete')
? {
type: 'delete',
btnName: '删除',

View File

@ -99,12 +99,14 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:waste-water:export')
type: this.$auth.hasPermi('base:environmental-check-record:export')
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:waste-water:export') ? 'button' : '',
type: this.$auth.hasPermi('base:environmental-check-record:export')
? 'button'
: '',
btnName: '导出',
name: 'export',
color: 'primary',

View File

@ -103,12 +103,14 @@ export default {
color: 'primary',
},
{
type: this.$auth.hasPermi('base:waste-water:create')
type: this.$auth.hasPermi('base:environmental-check:create')
? 'separate'
: '',
},
{
type: this.$auth.hasPermi('base:waste-water:create') ? 'button' : '',
type: this.$auth.hasPermi('base:environmental-check:create')
? 'button'
: '',
btnName: '新增',
name: 'add',
color: 'success',
@ -126,13 +128,13 @@ export default {
tableProps,
list: [],
tableBtn: [
this.$auth.hasPermi('base:waste-water:update')
this.$auth.hasPermi('base:environmental-check:update')
? {
type: 'edit',
btnName: '编辑',
}
: undefined,
this.$auth.hasPermi('base:waste-water:delete')
this.$auth.hasPermi('base:environmental-check:delete')
? {
type: 'delete',
btnName: '删除',