按钮权限及缺陷修改

dev-scheduling
jinna 1 month ago
parent d38ea6ed67
commit 8fd0a46692
  1. 33
      src/views/costManagement/components/maintenanceCost.vue
  2. 13
      src/views/costManagement/components/materialMaintenance.vue
  3. 16
      src/views/costManagement/components/processMaintenance.vue
  4. 22
      src/views/costStatistics/index.vue
  5. 103
      src/views/exemption/components/addDialog.vue
  6. 37
      src/views/exemption/components/checkDialog.vue
  7. 2
      src/views/exemption/index.vue
  8. 68
      src/views/productionSchedulingPlan/basic/equipmentCapacity.vue
  9. 54
      src/views/productionSchedulingPlan/basic/inspectionHours.vue
  10. 118
      src/views/productionSchedulingPlan/basic/nonSameFurnace.vue
  11. 63
      src/views/productionSchedulingPlan/basic/personnelCapacity.vue
  12. 53
      src/views/productionSchedulingPlan/basic/principalProducer.vue
  13. 2
      src/views/qualityManagement/tankSolutionSystem/info.vue
  14. 10
      src/views/safetyManagement/wastewater/components/meterParameter.vue

@ -147,8 +147,13 @@ export default {
type:res.data.data.type,
totalFee:res.data.data.totalFee,
}
this.tableData = res.data.data.subjectFeeDetailList
this.loading = false
if(res.data.data.subjectFeeDetailList[0].workCenterCode == ''){
this.getWorkCenterData()
}else{
this.loading = false
}
}
})
},
@ -179,14 +184,26 @@ export default {
getWorkCenterData(){
this.loading = true
getWorkCenter().then(res =>{
res.data.data.map(item =>{
this.tableData.push({
workCenterId:item.id,
workCenterName:item.wcName,
rate: this.title == '维护' ? 0 : null,
fee:this.title == '维护' ? 0 : null,
if(this.tableData.length == 0){
res.data.data.map(item =>{
this.tableData.push({
workCenterId:item.id,
workCenterName:item.wcName,
workCenterCode:item.wcCode,
rate: this.title == '维护' ? 0 : null,
fee:this.title == '维护' ? 0 : null,
})
})
})
}else{
res.data.data.map(item =>{
this.tableData.map(item1 =>{
if(item.id == item1.workCenterId){
item1.workCenterCode = item.wcCode
}
})
})
}
this.loading = false
})
},

@ -58,7 +58,9 @@ export default {
isShowImport:false,
data:[],
form:{},
query:{},
query:{
descs:"update_time"
},
page:{
pageSize:10,
currentPage:1,
@ -175,13 +177,18 @@ export default {
this.onLoad(this.page, this.query);
},
searchChange(params, done){
this.query = params;
this.query = {
...params,
descs:"update_time"
};
this.page.currentPage = 1
this.onLoad()
done()
},
searchReset(){
this.query = {}
this.query = {
descs:"update_time"
}
this.onLoad()
},
selectionChange(list){

@ -83,7 +83,9 @@ export default {
moldAddMore:false,
loading:false,
data:[],
query:{},
query:{
descs:"update_time"
},
option: {
height: 'auto',
calcHeight: 32,
@ -250,7 +252,8 @@ export default {
//
this.query.orderByField = undefined;
// this.query.isAsc = undefined;
this.query.asc = undefined;
this.query.ascs = undefined;
this.query.descs = orderByField;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
if(order === 'ascending'){
@ -271,13 +274,18 @@ export default {
this.isShowImport = true
},
searchChange(params, done){
this.query = params;
this.query = {
...params,
descs:"update_time"
};
this.page.currentPage = 1
this.onLoad()
done()
},
searchReset(){
this.query = {}
this.query = {
descs:"update_time"
}
this.onLoad()
},
selectionChange(list){

@ -10,6 +10,7 @@
:data="data"
v-model="form"
v-model:page="page"
v-model:search="searchForm"
ref="crud"
@search-change="searchChange"
@search-reset="searchReset"
@ -87,6 +88,9 @@ export default {
query:{
ascs:'work_center_code'
},
searchForm:{
// month:
},
page:{
pageSize: 10,
currentPage: 1,
@ -236,12 +240,12 @@ export default {
width:120,
overHidden: true,
},
{
label:"更新人",
sortable: 'custom',
prop:"updateUserName",
width: 80,
},
// {
// label:"",
// sortable: 'custom',
// prop:"updateUserName",
// width: 80,
// },
{
sortable: 'custom',
label:"更新时间",
@ -661,17 +665,17 @@ export default {
height: 100% !important;
}
::v-deep .el-table__row.current-row {
background-color: yellow !important; /* 这里替换为你想要的颜色,例如浅蓝色 */
background-color: #fbfb9d !important; /* 这里替换为你想要的颜色,例如浅蓝色 */
}
// 2. ()
//
::v-deep .el-table__row.current-row:hover > td {
background-color: yellow !important; /* 比选中色稍深一点的颜色 */
background-color: #fbfb9d !important; /* 比选中色稍深一点的颜色 */
}
// 3. ()
::v-deep .el-table__row.current-row td {
background-color: yellow !important;
background-color: #fbfb9d !important;
}
//
::v-deep .high_row {

@ -1,11 +1,13 @@
<template>
<div class="exemption_dialog">
<el-dialog
:title="infoTitle"
append-to-body
:modelValue="openShow"
width="30%"
width="70%"
@close="closeDialog"
custom-class="my-custom-dialog"
>
<!-- custom-class="exemption_dialog" -->
<avue-form
ref="form"
:option="option"
@ -13,8 +15,27 @@
:upload-after="uploadAfter"
:upload-exceed="uploadExceed"
:upload-delete="uploadDelete"
></avue-form>
>
<template #reportUserId="{type,disabled}">
<jhSelect
:value="formData.reportUserId"
@input="val => (formData.reportUserId = val)"
placeholder="请搜索选择"
api-url="/blade-system/user/page"
echo-api="/blade-system/user/page"
echoParamsKey="ids"
echo-method="get"
api-method="get"
list-key="records"
total-key="total"
label-key="realName"
value-key="id"
search-key="id"
:debounce-time="500"
@change="handleUserChange"
/>
</template>
</avue-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
@ -22,6 +43,7 @@
</span>
</template>
</el-dialog>
</div>
</template>
<script>
import { saveItem, updateItem, getPostItem } from '@/api/exemption/exemption';
@ -52,6 +74,7 @@ export default {
submitBtn: false,
emptyBtn: false,
labelWidth: 100,
column: [
{
label: '工艺员',
@ -59,17 +82,18 @@ export default {
search: true,
sortable: true,
filter: true,
span:24,
span: 12,
headerAlign: 'center',
align: 'center',
type: 'select',
dicUrl: '/blade-system/user/page?size=999999&current=1',
// dicUrl: '/blade-system/user/page?size=999999&current=1',
dicUrl:'/blade-system/user/list-all-by-role-alias?roleAlias=sj_craft,rb_craft',
filterable: true,
searchLabelWidth: 50,
props: {
label: 'realName',
value: 'id',
res: 'data.records',
// res: 'data.records',
},
change: (value) => {
this.handleProcessUserChange(value);
@ -89,18 +113,18 @@ export default {
search: false,
sortable: true,
filter: true,
span: 24,
span: 12,
headerAlign: 'center',
align: 'center',
type: 'select',
dicUrl: '/blade-system/user/page?size=999999&current=1',
filterable: true,
searchLabelWidth: 50,
props: {
label: 'realName',
value: 'id',
res: 'data.records',
},
// dicUrl: '/blade-system/user/page?size=999999&current=1',
// filterable: true,
// searchLabelWidth: 50,
// props: {
// label: 'realName',
// value: 'id',
// res: 'data.records',
// },
rules: [
{
required: true,
@ -108,15 +132,15 @@ export default {
trigger: 'change',
},
],
change: (value) => {
console.log('value--------------------',value)
this.handleReportUserChange(value);
},
// change: (value) => {
// console.log('value--------------------',value)
// this.handleReportUserChange(value);
// },
},
{
label: '岗位',
prop: 'postName',
span: 24,
span: 12,
// disabled: true,
rules: [{ required: false, message: '请输入岗位', trigger: 'blur' }],
},
@ -124,46 +148,46 @@ export default {
label: '发生时间',
prop: 'happenDate',
type: 'date',
span: 24,
span: 12,
rules: [{ required: true, message: '请选择发生时间', trigger: 'change' }],
},
{
label: '免责问题描述',
prop: 'notes',
type: 'textarea',
rows: 3,
span: 24,
rows: 2,
span: 12,
rules: [{ required: true, message: '请输入免责问题描述', trigger: 'blur' }],
},
{
label: '原因',
prop: 'reason',
type: 'textarea',
rows: 3,
span: 24,
rows: 2,
span: 12,
rules: [{ required: true, message: '请输入原因', trigger: 'blur' }],
},
{
label: '措施',
prop: 'measure',
type: 'textarea',
rows: 3,
span: 24,
rows: 2,
span: 12,
rules: [{ required: true, message: '请输入措施', trigger: 'blur' }],
},
{
label: '免责理由',
prop: 'raiseHandReason',
type: 'textarea',
rows: 3,
span: 24,
rows: 2,
span: 12,
rules: [{ required: true, message: '请输入免责理由', trigger: 'blur' }],
},
{
label: '免责金额',
prop: 'amount',
type: 'number',
span: 24,
span: 12,
rules: [{ required: true, message: '请输入免责金额', trigger: 'blur' }],
},
@ -172,7 +196,7 @@ export default {
prop: 'fileUrl',
type: 'upload',
multiple: true,
span: 24,
span: 12,
limit: 1,
propsHttp: {
res: 'data',
@ -216,6 +240,9 @@ export default {
},
},
methods: {
handleUserChange(value,item) {
this.formData.postName = item.postName == '暂未分配' ? '' : item.postName
},
uploadDelete(file, column) {
console.log('uploadDelete', file, column);
this.attachLink = '';
@ -346,4 +373,14 @@ export default {
},
};
</script>
<style lang="scss" scoped></style>
<style lang="scss">
.exemption_dialog{
.el-dialog__body{
overflow: hidden !important;
}
}
// ::v-deep(.my-custom-dialog .el-dialog__body){
// overflow: hidden !important;
// }
</style>

@ -1,6 +1,11 @@
<template>
<el-dialog title="审核" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form ref="form" :option="option" v-model="form"></avue-form>
<avue-form ref="form" :option="option" v-model="form">
<!-- <template #nextApprovalUser="{type,disabled}">
<el-select style="width:100%;"></el-select>
</template> -->
</avue-form>
<template #footer>
<span class="dialog-footer">
@ -31,7 +36,7 @@ export default {
option: {
submitBtn: false,
emptyBtn: false,
labelWidth: 100,
labelWidth: 110,
column: [
{
label: '审批结果',
@ -50,6 +55,11 @@ export default {
// type: 'select',
type: 'textarea',
span: 24,
props: {
label: 'realName',
value: 'id',
// res: 'data.records',
},
// dicData: [
// {
// label: '',
@ -61,12 +71,35 @@ export default {
// }
// ]
},
{
label:"下一节点审批人",
prop: 'nextApprovalUser',
span: 24,
type: 'select',
dicUrl:"",
display:true,
props: {
label: 'realName',
value: 'id',
// res: 'data.records',
},
rules: [{ required: true, message: '请选择下一节点审批人', trigger: 'blur' }],
}
],
},
};
},
mounted() {
this.openShow = this.showDialog;
if(this.rowItem.status == 1){
this.option.column.find(item => item.prop == 'nextApprovalUser').display = true
this.option.column.find(item => item.prop == 'nextApprovalUser').dicUrl = "/blade-system/user/list-all-by-role-alias?roleAlias=supplier_quality_engineer,quality_engineer"
}else if(this.rowItem.status == 2){
this.option.column.find(item => item.prop == 'nextApprovalUser').display = true
this.option.column.find(item => item.prop == 'nextApprovalUser').dicUrl = "/blade-system/user/list-all-by-role-alias?roleAlias=plant_manager,deputy_plant_manager"
}else if(this.rowItem.status == 3){
this.option.column.find(item => item.prop == 'nextApprovalUser').display = false
}
},
methods: {
closeDialog() {

@ -179,6 +179,7 @@ export default {
sortable: true,
span: 12,
searchLabelWidth:100,
width:120,
},
{
label: '原因',
@ -409,4 +410,3 @@ export default {
},
};
</script>
d

@ -19,13 +19,14 @@
@on-load="onLoad"
:before-open="beforeOpen"
:span-method="spanMethod"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="primary" @click="handleAdd" v-if="permission.equipmentCapacity_add">新增</el-button>
</template>
<template #menu-right> </template>
<template #menu="{ row }">
<el-button type="text" @click="handleEdit(row)">修改</el-button>
<el-button type="text" @click="handleEdit(row)" v-if="permission.equipmentCapacity_edit">修改</el-button>
</template>
<template #standardProcessAbility="scope">
@ -64,6 +65,7 @@ import {
updateEquipAbility,
} from '@/api/productionSchedulingPlan/basic';
import addEquipment from './components/addEquipment.vue';
import { mapGetters } from 'vuex';
import { ElButton } from 'element-plus';
export default {
components: {
@ -97,7 +99,7 @@ export default {
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: true,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 120,
@ -126,7 +128,7 @@ export default {
label: '作业中心',
prop: 'workCenterName',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
display: false,
width: 120,
@ -135,7 +137,7 @@ export default {
label: '设备名称',
prop: 'equipName',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
width: 120,
disabled: true,
@ -144,7 +146,7 @@ export default {
label: '设备编码',
prop: 'equipCode',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
width: 120,
disabled: true,
@ -154,7 +156,7 @@ export default {
// label: '',
// prop: 'equipNameType',
// search: false,
// sortable: true,
// sortable: 'custom',
// span: 12,
// width: 120,
// disabled: true,
@ -164,7 +166,7 @@ export default {
label: '设备分类',
prop: 'equipType',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 120,
type: 'select',
@ -190,7 +192,7 @@ export default {
label: '设备排序',
prop: 'equipOrder',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
width: 120,
disabled: true,
@ -199,7 +201,7 @@ export default {
label: '工序',
prop: 'processName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
display: false,
width: 120,
@ -208,7 +210,7 @@ export default {
label: '工艺能力',
prop: 'craftName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
display: false,
width: 120,
@ -217,7 +219,7 @@ export default {
label: '额定加工能力(烧结-件/热表-dm²)',
prop: 'standardProcessAbility',
search: false,
sortable: true,
sortable: 'custom',
span: 14,
width: 270,
labelWidth: 270,
@ -234,7 +236,7 @@ export default {
label: '额定工时(分钟)',
prop: 'standardTime',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 180,
labelWidth: 180,
@ -251,7 +253,7 @@ export default {
label: '准备工时(分钟)',
prop: 'prepareTime',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 180,
labelWidth: 180,
@ -268,7 +270,7 @@ export default {
label: '轮次间隔(分钟)',
prop: 'interval',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 180,
labelWidth: 180,
@ -286,7 +288,7 @@ export default {
label: '指定使用',
prop: 'assignUse',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 120,
},
@ -294,7 +296,7 @@ export default {
label: '备注',
prop: 'remarks',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 180,
},
@ -314,7 +316,39 @@ export default {
], // {workCenterName: [], equipName: [], equipCode: []}
};
},
computed: {
...mapGetters(['permission']),
},
created(){
this.option.delBtn = this.permission.equipmentCapacity_delete ? true : false;
},
methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
if (!prop) {
//
this.query.orderByField = undefined;
// this.query.isAsc = undefined;
this.query.ascs = undefined;
this.query.descs = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
if(order === 'ascending'){
this.query.ascs = orderByField;
this.query.descs = undefined;
}else{
this.query.descs = orderByField;
this.query.ascs = undefined;
}
// this.query.orderByField = orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
// this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
//
calculateSpan(arr) {
if (!arr || arr.length === 0) {

@ -17,6 +17,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left> </template>
<template #menu-right> </template>
@ -34,6 +35,7 @@ import {
addInspectionItem,
updateInspectionItem,
} from '@/api/productionSchedulingPlan/basic';
import { mapGetters } from 'vuex';
export default {
components: {},
data() {
@ -61,10 +63,10 @@ export default {
border: true,
index: true,
selection: false,
addBtn: true,
editBtn: true,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: true,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 120,
@ -93,7 +95,7 @@ export default {
label: '检验项目',
prop: 'inspectionItem',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
rules: [
{
@ -107,7 +109,7 @@ export default {
label: '抽样数量(常规)',
prop: 'samplingQuantity',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
labelWidth:160,
rules: [
@ -122,7 +124,7 @@ export default {
label: '额定工时(分钟/每人每个)',
prop: 'standardTime',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width:240,
labelWidth:240,
@ -139,7 +141,7 @@ export default {
label: '准备工时(分钟)',
prop: 'prepareTime',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
labelWidth:180,
type: 'number',
@ -155,14 +157,14 @@ export default {
label: '单位',
prop: 'unit',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
},
{
label: '备注',
prop: 'remarks',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
},
],
@ -171,7 +173,41 @@ export default {
data: [],
};
},
computed: {
...mapGetters(['permission']),
},
created(){
this.option.addBtn = this.permission.inspectionHours_add ? true : false;
this.option.editBtn = this.permission.inspectionHours_edit ? true : false;
this.option.delBtn = this.permission.inspectionHours_delete ? true : false;
},
methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
if (!prop) {
//
this.query.orderByField = undefined;
// this.query.isAsc = undefined;
this.query.ascs = undefined;
this.query.descs = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
if(order === 'ascending'){
this.query.ascs = orderByField;
this.query.descs = undefined;
}else{
this.query.descs = orderByField;
this.query.ascs = undefined;
}
// this.query.orderByField = orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
// this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
rowSave(row, done, loading) {
addInspectionItem(row).then(
() => {

@ -17,6 +17,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left> </template>
<template #menu-right> </template>
@ -34,6 +35,7 @@ import {
addDifferentFurnaceTank,
updateDifferentFurnaceTank,
} from '@/api/productionSchedulingPlan/basic';
import { mapGetters } from 'vuex';
export default {
components: {},
data() {
@ -61,10 +63,10 @@ export default {
border: true,
index: true,
selection: false,
addBtn: true,
editBtn: true,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: true,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 120,
@ -93,7 +95,7 @@ export default {
label: '作业中心',
prop: 'workCenterId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
width:120,
type: 'select',
@ -118,7 +120,7 @@ export default {
label: '作业中心',
prop: 'workCenterName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
hide:true,
display:false
@ -127,7 +129,7 @@ export default {
label: '工序',
prop: 'processId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
type: 'select',
filterable: true,
@ -151,7 +153,7 @@ export default {
label: '工序',
prop: 'processName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
hide:true,
display:false,
@ -160,7 +162,7 @@ export default {
label: '工艺能力',
prop: 'craftId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
width:120,
type: 'select',
@ -185,7 +187,7 @@ export default {
label: '工艺能力',
prop: 'craftName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
hide:true,
display:false
@ -199,70 +201,114 @@ export default {
label: '键位',
prop: 'keyBinding',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '生产厂家',
prop: 'factory',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width:140,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '检验编号',
prop: 'inspectionCode',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width:140,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '材料',
prop: 'material',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '厚度(镀层)',
prop: 'thickness',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width:140,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '钝化',
prop: 'passivation',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '硬度',
prop: 'hardness',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '生产标识',
prop: 'productionIdent',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width:140,
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
{
label: '结构/单件面积',
prop: 'singleArea',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width:150,
type: 'number'
type:"select",
dicData:[
{label:"是",value:'1'},
{label:"否",value:'0'}
]
},
],
},
@ -272,7 +318,41 @@ export default {
data: [],
};
},
computed: {
...mapGetters(['permission']),
},
created(){
this.option.addBtn = this.permission.nonSameFurnace_add ? true : false;
this.option.editBtn = this.permission.nonSameFurnace_edit ? true : false;
this.option.delBtn = this.permission.nonSameFurnace_delete ? true : false;
},
methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
if (!prop) {
//
this.query.orderByField = undefined;
// this.query.isAsc = undefined;
this.query.ascs = undefined;
this.query.descs = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
if(order === 'ascending'){
this.query.ascs = orderByField;
this.query.descs = undefined;
}else{
this.query.descs = orderByField;
this.query.ascs = undefined;
}
// this.query.orderByField = orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
// this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
onChangeData(val,type){
if(val&&type=='workCenterId'){
this.form.workCenterName=val.wcCode

@ -18,13 +18,16 @@
@refresh-change="refreshChange"
@on-load="onLoad"
:before-open="beforeOpen"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button>
<!-- personnelCapacity_add -->
<el-button type="primary" @click="handleAdd" v-if="permission.personnelCapacity_add">新增</el-button>
</template>
<template #menu-right> </template>
<template #menu="{ row }">
<el-button type="text" @click="handleEdit(row)">修改</el-button>
<!-- personnelCapacity_edit -->
<el-button type="text" @click="handleEdit(row)" v-if="permission.personnelCapacity_edit">修改</el-button>
</template>
<template #standardTime="scope">
@ -59,6 +62,7 @@ import {
getSelectCertificateList,
} from '@/api/productionSchedulingPlan/basic';
import addPersonnel from './components/addPersonnel.vue';
import { mapGetters } from 'vuex';
export default {
components: {
addPersonnel,
@ -91,7 +95,7 @@ export default {
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: true,
delBtn: false, //personnelCapacity_delete
editBtnText: '修改',
labelWidth: 120,
menuWidth: 120,
@ -120,7 +124,7 @@ export default {
label: '作业中心',
prop: 'workCenterId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
type: 'select',
filterable: true,
@ -144,7 +148,7 @@ export default {
label: '作业中心',
prop: 'workCenterName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
hide: true,
display: false,
@ -153,7 +157,7 @@ export default {
label: '工序',
prop: 'processId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
type: 'select',
filterable: true,
@ -177,7 +181,7 @@ export default {
label: '工序',
prop: 'processName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
hide: true,
display: false,
@ -186,7 +190,7 @@ export default {
label: '工艺能力',
prop: 'craftId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
type: 'select',
filterable: true,
@ -210,7 +214,7 @@ export default {
label: '工艺能力',
prop: 'craftName',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
hide: true,
display: false,
@ -219,7 +223,7 @@ export default {
label: '统计类型',
prop: 'type',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
type: 'select',
rules: [
@ -244,7 +248,7 @@ export default {
label: '额定工时(分钟/每人每个)',
prop: 'standardTime',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
width: 250,
labelWidth: 220,
@ -261,7 +265,7 @@ export default {
label: '准备工时(分钟)',
prop: 'prepareTime',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
labelWidth: 180,
width: 180,
@ -270,7 +274,7 @@ export default {
label: '生产标识',
prop: 'productIdent',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
// labelWidth: 180,
},
@ -278,7 +282,7 @@ export default {
label: '证书类型',
prop: 'certificateId',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
type: 'select',
hide: true,
@ -296,7 +300,7 @@ export default {
label: '证书类型',
prop: 'certificateName',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
display: false,
},
@ -309,7 +313,36 @@ export default {
rowData: {},
};
},
computed: {
...mapGetters(['permission']),
},
created() {
this.option.delBtn = this.permission.personnelCapacity_delete ? true : false;
},
methods: {
//
sortChange({ prop, order }) {
if (!prop) {
//
this.query.orderByField = undefined;
// this.query.isAsc = undefined;
this.query.asc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
if(order === 'ascending'){
this.query.ascs = orderByField;
this.query.descs = undefined;
}else{
this.query.descs = orderByField;
this.query.ascs = undefined;
}
// this.query.orderByField = orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
// this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
handleAdd() {
this.showDialog = true;
this.title = '新增';

@ -18,6 +18,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
:before-open="beforeOpen"
@sort-change="sortChange"
>
<template #menu-left> </template>
<template #menu-right> </template>
@ -35,6 +36,7 @@ import {
addMainProducer,
updateMainProducer,
} from '@/api/productionSchedulingPlan/basic';
import { mapGetters } from 'vuex';
export default {
components: {},
data() {
@ -55,17 +57,17 @@ export default {
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchMenuSpan: 12,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: false,
addBtn: true,
editBtn: true,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: true,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 120,
@ -83,6 +85,7 @@ export default {
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchLabelWidth: 'auto',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
@ -94,7 +97,7 @@ export default {
// label: '',
// prop: 'processId',
// search: true,
// sortable: true,
// sortable: 'custom',
// span: 12,
// type: 'select',
// filterable: true,
@ -118,7 +121,7 @@ export default {
label: '工序',
prop: 'processName',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
display: false,
},
@ -126,7 +129,7 @@ export default {
label: '主生产者(人/设备)',
prop: 'mainProducer',
search: true,
sortable: true,
sortable: 'custom',
span: 12,
searchLabelWidth: 150,
labelWidth: 160,
@ -153,7 +156,7 @@ export default {
label: '备注',
prop: 'remarks',
search: false,
sortable: true,
sortable: 'custom',
span: 12,
},
],
@ -162,7 +165,41 @@ export default {
data: [],
};
},
computed: {
...mapGetters(['permission']),
},
created(){
this.option.addBtn = this.permission.principalProducer_add ? true : false;
this.option.editBtn = this.permission.principalProducer_edit ? true : false;
this.option.delBtn = this.permission.principalProducer_delete ? true : false;
},
methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
if (!prop) {
//
this.query.orderByField = undefined;
// this.query.isAsc = undefined;
this.query.ascs = undefined;
this.query.descs = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
if(order === 'ascending'){
this.query.ascs = orderByField;
this.query.descs = undefined;
}else{
this.query.descs = orderByField;
this.query.ascs = undefined;
}
// this.query.orderByField = orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
// this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
beforeOpen(done, type) {
if (['edit', 'view'].includes(type)) {

@ -35,7 +35,7 @@
<el-button type="text" @click="handleEdit(row)">修改</el-button>
<el-button type="text" @click="rowDel(row)">删除</el-button>
<el-button type="primary" text plain style="border: 0; background-color: transparent !important"
size="medium" @click.stop="handleIssue(row)">下发</el-button>
@click.stop="handleIssue(row)">下发</el-button>
</template>
</avue-crud>

@ -96,7 +96,7 @@ export default {
column: [
{
label: '池体名称',
prop: 'poolName',
prop: 'name',
sortable: 'custom',
filter: true,
span: 12,
@ -105,7 +105,7 @@ export default {
},
{
label: '测量值',
prop: 'poolName',
prop: 'gageValue',
search: false,
sortable: 'custom',
filter: true,
@ -117,18 +117,18 @@ export default {
children: [
{
label: '上限',
prop: 'upLimit',
prop: 'superiorLimit',
},
{
label: '下限',
prop: 'downLimit',
prop: 'lowerLimit',
},
],
},
{
label: '参考值',
prop: 'consult',
prop: 'consultValue',
search: false,
sortable: 'custom',
filter: true,

Loading…
Cancel
Save