Merge branch 'dev-scheduling' of http://42.192.7.176:3000/suojin/jonhon-mes-web into dev-scheduling

dev-scheduling
zhangdi 1 month ago
commit d2b66c99f2
  1. 121
      src/views/energyManagement/components/electricityQuota.vue
  2. 13
      src/views/energyManagement/components/electricityTarget.vue
  3. 37
      src/views/energyManagement/components/waterQuota.vue
  4. 10
      src/views/energyManagement/components/waterTarget.vue
  5. 34
      src/views/energyManagement/electricityManagement.vue
  6. 26
      src/views/energyManagement/energyMonitoring.vue
  7. 62
      src/views/energyManagement/peakFlatValley.vue
  8. 39
      src/views/energyManagement/waterManagement.vue
  9. 92
      src/views/personnelEfficiencyManagement/salaryManagement/payrollComputation.vue
  10. 63
      src/views/personnelEfficiencyManagement/salaryManagement/salaryStandard.vue

@ -18,13 +18,33 @@
@row-save="rowSave"
@row-update="rowUpdate"
:beforeOpen="beforeOpen"
@sort-change="sortChange"
>
<template #equipmentId-form="{type,disabled}">
<jhSelect
:value="form.equipmentId"
placeholder="请搜索选择"
api-url="/blade-desk/equipment/page"
echo-api="/blade-desk/equipment/page"
echoParamsKey="id"
echo-method="get"
api-method="get"
list-key="records"
total-key="total"
label-key="deviceName"
value-key="id"
search-key="deviceName"
:debounce-time="100"
@change="changeEquipment"
:title="'修改'"
/>
</template>
<template #menu-left>
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="danger" @click="handleDelete" v-if="permission.electricityQuota_delete">删除</el-button>
</template>
<template #menu-right>
<el-button type="primary" @click="handleExport">导出</el-button>
<el-button type="primary" @click="handleImport">导入</el-button>
<el-button type="primary" @click="handleExport" v-if="permission.electricityQuota_export">导出</el-button>
<el-button type="primary" @click="handleImport" v-if="permission.electricityQuota_import">导入</el-button>
</template>
<template #menu="scope"> </template>
</avue-crud>
@ -39,6 +59,7 @@
<script>
import basicImport from '@/components/basic-import/main.vue'
import { pageList, removeItem, saveItem, exportData } from '@/api/energyManagement/bsEnergyQuota';
import { mapGetters } from 'vuex';
export default {
components: {
basicImport,
@ -64,7 +85,8 @@ export default {
selection: true,
viewBtn: false,
delBtn: false,
addBtn: true,
addBtn: false,
editBtn:false,
editBtnText: "修改",
viewBtnIcon: " ",
delBtnIcon: " ",
@ -100,7 +122,7 @@ export default {
{
label: "作业中心",
prop: "workCenterId",
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
search: true,
@ -124,27 +146,48 @@ export default {
this.form.workCenterName = filteredUsers.map(item => item.wcName).join(',')
}
},
{
label: "设备",
prop: "equipmentName",
// bind: "equipmentName",
search: false,
sortable: "custom",
filter: true,
span: 24,
display:false,
// type: "select",
// dicUrl:"/api/blade-desk/equipment/page?current=1&size=999&deviceName={{key}}",
// props:{
// label:"deviceName",
// value:"id",
// res:"data.records",
// },
// remote: true,
// // dicData: [
// // { label: "", value: "" },
// // { label: "", value: "" },
// // { label: "", value: "" },
// // ],
// rules: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
// ],
// change:(row) =>{
// this.form.equipmentName = row && row.item && row.item.deviceName
// }
},
{
label: "设备",
prop: "equipmentId",
// bind: "equipmentName",
search: false,
sortable: true,
sortable: "custom",
filter: true,
span: 24,
type: "select",
dicUrl:"/api/blade-desk/equipment/page?current=1&size=999&deviceName={{key}}",
props:{
label:"deviceName",
value:"id",
res:"data.records",
},
remote: true,
// dicData: [
// { label: "", value: "" },
// { label: "", value: "" },
// { label: "", value: "" },
// ],
hide:true,
rules: [
{
required: true,
@ -152,9 +195,6 @@ export default {
trigger: "blur",
},
],
change:(row) =>{
this.form.equipmentName = row && row.item && row.item.deviceName
}
},
{
label: "日期",
@ -162,7 +202,7 @@ export default {
type:'date',
search: true,
searchRange: true,
sortable: true,
sortable: "custom",
filter: true,
span: 24,
format:"YYYY-MM-DD",
@ -181,7 +221,7 @@ export default {
label: "定额单位面积用电量(kWh/dm²)",
prop: "electricNum",
search: false,
sortable: true,
sortable: "custom",
filter: true,
span: 24,
rules: [
@ -202,7 +242,37 @@ export default {
},
};
},
computed: {
...mapGetters(['permission']),
},
created(){
console.log('pero--------',this.permission)
this.option.addBtn = this.permission.electricityQuota_add ? true : false;
this.option.editBtn = this.permission.electricityQuota_edit ? 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();
this.query.orderByField = orderByField == "DATE" ? `"${orderByField}"` : orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
changeEquipment(val, item){
console.log('val------------------',val)
console.log('item------------------',item)
this.form.equipmentId = val
this.form.equipmentName = item && item.deviceName
},
handleImport() {
this.isShowImport = true
},
@ -340,6 +410,9 @@ export default {
type:2,
...param
}).then(res =>{
res.data.data.records.map(item =>{
item.electricNum = Number(item.electricNum)
})
this.data = res.data.data.records;
this.page.total = res.data.data.total;
this.loading = false;

@ -51,6 +51,7 @@ export default {
data:[],
isShowImport:false,
selectionList: [],
query:{},
option: {
height: "auto",
calcHeight: 32,
@ -105,6 +106,7 @@ export default {
prop: "year",
search: true,
span: 24,
sortable: 'custom',
type:"year",
format: "YYYY",
valueFormat: "YYYY",
@ -122,6 +124,7 @@ export default {
prop: "quarter",
search: true,
span: 24,
sortable: 'custom',
type:"select",
dicData:[
{label:"第一季度",value:'1'},
@ -142,7 +145,7 @@ export default {
prop: "target",
type:'number',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
rules: [
@ -174,15 +177,19 @@ export default {
methods: {
//
sortChange({ prop, order }) {
console.log('prop-------------',prop)
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
// this.query.isAsc = undefined;
this.query.asc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
console.log('orderByField-------------',orderByField)
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending' ? true : false;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);

@ -8,7 +8,6 @@
>
<template #equipmentId-form="{type,disabled}">
<jhSelect
@input="val => (form.equipmentId = val)"
:value="form.equipmentId"
placeholder="请搜索选择"
api-url="/blade-desk/equipment/page"
@ -107,7 +106,7 @@ export default {
{
label: "作业中心",
prop: "workCenterId",
sortable: true,
sortable: 'custom',
filter: true,
multiple: true,
span: 24,
@ -139,10 +138,11 @@ export default {
prop: "equipmentName",
// bind: "equipmentName",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
display:false,
span: 24,
// type: "select",
// dicUrl:"/api/blade-desk/equipment/page?current=1&size=999&deviceName={{key}}",
// props:{
@ -173,16 +173,23 @@ export default {
prop: "equipmentId",
// bind: "equipmentName",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
hide:true
hide:true,
rules: [
{
required: true,
message: "请选择设备",
trigger: "blur",
},
],
},
{
label: "日期",
prop: "date",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
type: 'date',
@ -204,7 +211,7 @@ export default {
label: "自来水用水量(L/d㎡)",
prop: "tapWaterNum",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
rules: [
@ -219,7 +226,7 @@ export default {
label: "纯水用水量(L/d㎡)",
prop: "pureWaterNum",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
rules: [
@ -255,12 +262,13 @@ export default {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
// this.query.isAsc = undefined;
this.query.asc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending' ? true : false;
this.query.orderByField = orderByField == "DATE" ? `"${orderByField}"` : orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
@ -444,12 +452,17 @@ export default {
endDate:this.query.date && this.query.date.length != 0 && this.query.date[1]
}
if(param.date) delete param.date
console.log('param======',param)
pageList({
type: 1,
current:this.page.currentPage,
size:this.page.pageSize,
...param
}).then(res => {
// res.data.data.records.map(item =>{
// item.pureWaterNum = Number(item.pureWaterNum)
// item.tapWaterNum = Number(item.tapWaterNum)
// })
this.data = res.data.data.records;
this.page.total = res.data.data.total;
this.loading = false;

@ -110,7 +110,7 @@ export default {
label: "年份",
prop: "year",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
type: "year",
@ -130,7 +130,7 @@ export default {
prop: "target",
type:"number",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
},
@ -158,12 +158,14 @@ export default {
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
// this.query.isAsc = undefined;
this.query.asc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending' ? true : false;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);

@ -15,15 +15,18 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<!-- 自定义开关列 -->
<template #isJumbotron="scope">
<el-switch v-model="scope.row.isJumbotron" :active-value="1"
:disabled="!permission.electricityMonitoring_big_screen"
:inactive-value="0" @change="(val) => changeJumbtron(scope.row,val)"></el-switch>
</template>
<!-- 自定义操作列 -->
<template #menu="scope">
<el-button type="text" size="small" @click="handleElectricDetail(scope.row)"
v-if="permission.electricityMonitoring_detail"
>用电明细</el-button
>
</template>
@ -89,6 +92,7 @@
<script>
import { pageList, editItem,pageListDetail } from '@/api/energyManagement/waterManagement';
import { mapGetters } from 'vuex';
export default {
data() {
return {
@ -211,6 +215,7 @@ export default {
multiple: true,
span: 24,
width: 200,
sortable: 'custom',
overflow: true,
search: true,
dicUrl:"/api/blade-desk/BA/WorkCenter/listForSelect",
@ -231,6 +236,7 @@ export default {
prop: 'date',
span: 24,
overflow: true,
sortable: 'custom',
search: true,
type: 'date',
searchRange: true,
@ -251,6 +257,7 @@ export default {
prop: 'workArea',
span: 24,
overflow: true,
sortable: 'custom',
search: false,
rules: [
{
@ -264,7 +271,8 @@ export default {
label: '定额单位面积用电量(kWh/dm²)',
prop: 'quoElectricNum',
span: 24,
width: 200,
width: 210,
sortable: 'custom',
overflow: true,
search: false,
rules: [
@ -280,7 +288,8 @@ export default {
prop: 'realElectricNum',
span: 24,
overflow: true,
width: 200,
sortable: 'custom',
width: 210,
search: false,
rules: [
{
@ -294,8 +303,10 @@ export default {
label: '实际总用电量(kWh)',
prop: 'totalElectricNum',
span: 24,
width: 160,
overflow: true,
search: false,
sortable: 'custom',
rules: [
{
required: true,
@ -315,7 +326,26 @@ export default {
};
},
mounted() {},
computed: {
...mapGetters(['permission']),
},
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();
this.query.orderByField = orderByField == "DATE" ? "CREATE_TIME" : orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
searchChange(params, done){
this.query = params
this.page.currentPage = 1;

@ -16,16 +16,17 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="primary" @click="handleAdd" v-if="permission.energyMonitoring_add">新增</el-button>
<el-button type="danger" @click="handleDelete" v-if="permission.energyMonitoring_delete">删除</el-button>
</template>
<template #menu-right>
<!-- <el-button type="primary" @click="handleImport">导入</el-button> -->
</template>
<template #menu="scope">
<el-button type="primary" text @click="editRow(scope.row)">修改</el-button>
<el-button type="primary" text @click="editRow(scope.row)" v-if="permission.energyMonitoring_edit">修改</el-button>
</template>
</avue-crud>
@ -49,6 +50,7 @@
import addBatchMonitoring from './components/addBatchMonitoring.vue'
import basicImport from '@/components/basic-import/main.vue'
import { pageList, removeItem, saveItem, exportData } from '@/api/energyManagement/bsEnergyMonitor';
import { mapGetters } from 'vuex';
export default {
components: {
@ -282,7 +284,25 @@ export default {
checkRow:{},
};
},
computed: {
...mapGetters(['permission']),
},
methods: {
//
sortChange({ prop, order }) {
console.log('perop---------',prop)
if (!prop) {
//
this.query.orderByField = undefined;
this.query.isAsc = undefined;
} else {
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query.orderByField = orderByField;
this.query.isAsc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
selectionClear() {
this.selectionList = [];
this.$refs.crud.toggleSelection();

@ -2,15 +2,17 @@
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="primary" @click="handleAdd" v-if="permission.peakFlatValley_add">新增</el-button>
<el-button type="danger" @click="handleDelete" v-if="permission.peakFlatValley_delete">删除</el-button>
</template>
<template #menu-right> </template>
<template #menu="scope">
<el-button type="primary" text @click="handleEdit(scope.row)">修改</el-button>
<el-button type="primary" text @click="rowDel(scope.row)">删除</el-button>
<el-button type="primary" text @click="handleEdit(scope.row)" v-if="permission.peakFlatValley_edit">修改</el-button>
<el-button type="primary" text @click="rowDel(scope.row)" v-if="permission.peakFlatValley_delete">删除</el-button>
</template>
</avue-crud>
<addBatchPeak
@ -26,6 +28,7 @@
<script>
import addBatchPeak from "@/views/energyManagement/components/addBatchPeak.vue";
import {pageList,removeItem} from '@/api/energyManagement/peakFlat'
import { mapGetters } from 'vuex';
export default {
components: { addBatchPeak },
data() {
@ -87,7 +90,7 @@ export default {
{
label: "月份",
prop: "month",
sortable: true,
sortable: 'custom',
filter: true,
span: 24,
search: true,
@ -107,7 +110,7 @@ export default {
label: "尖时一开始",
prop: "sharpOneStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -119,7 +122,7 @@ export default {
label: "尖时一结束",
prop: "sharpOneEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -131,7 +134,7 @@ export default {
label: "峰时一开始",
prop: "peakOneStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -143,7 +146,7 @@ export default {
label: "峰时一结束",
prop: "peakOneEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -155,7 +158,7 @@ export default {
label: "平时一开始",
prop: "flatOneStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -167,7 +170,7 @@ export default {
label: "平时一结束",
prop: "flatOneEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -179,7 +182,7 @@ export default {
label: "谷时一开始",
prop: "valleyOneStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -191,7 +194,7 @@ export default {
label: "谷时一结束",
prop: "valleyOneEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -203,7 +206,7 @@ export default {
label: "尖时二开始",
prop: "sharpTwoStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -215,7 +218,7 @@ export default {
label: "尖时二结束",
prop: "sharpTwoEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -227,7 +230,7 @@ export default {
label: "峰时二开始",
prop: "peakTwoStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -239,7 +242,7 @@ export default {
label: "峰时二结束",
prop: "peakTwoEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
@ -252,7 +255,7 @@ export default {
label: "平时二开始",
prop: "flatTwoStartTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -264,7 +267,7 @@ export default {
label: "平时二结束",
prop: "flatTwoEndTime",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 130,
@ -285,7 +288,26 @@ export default {
checkRow:{},
};
},
computed: {
...mapGetters(['permission']),
},
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();
this.query.orderByField = orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
selectionClear() {
this.selectionList = [];
this.$refs.crud.toggleSelection();

@ -2,9 +2,11 @@
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #isJumbotron="scope">
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
@on-load="onLoad" @sort-change="sortChange">
<template #isJumbotron="scope" >
<el-switch v-model="scope.row.isJumbotron" :active-value="1"
:disabled="!permission.waterMonitoring_big_screen"
:inactive-value="0" @change="(val) => changeJumbtron(scope.row,val)"></el-switch>
</template>
</avue-crud>
@ -13,6 +15,7 @@
<script>
import { pageList,editItem } from "@/api/energyManagement/waterManagement"
import { mapGetters } from 'vuex';
export default {
data() {
return {
@ -72,6 +75,7 @@ export default {
{
label: "作业中心",
prop: "workCenterId",
sortable: 'custom',
type:"select",
multiple: true,
span: 24,
@ -94,6 +98,7 @@ export default {
{
label: "日期",
prop: "date",
sortable: 'custom',
span: 24,
width: 200,
overflow: true,
@ -116,6 +121,7 @@ export default {
label: "加工面积(dm²)",
prop: "workArea",
span: 24,
sortable: 'custom',
width: 200,
overflow: true,
search: false,
@ -130,6 +136,7 @@ export default {
{
label: "定额单位自来水用水量(L/dm²)",
prop: "quoTapWaterNum",
sortable: 'custom',
span: 24,
width: 280,
overflow: true,
@ -146,6 +153,7 @@ export default {
label: "实际单位自来水用水量(L/dm²)",
prop: "realTapWaterNum",
span: 24,
sortable: 'custom',
width: 280,
overflow: true,
search: false,
@ -163,6 +171,7 @@ export default {
span: 24,
width: 200,
overflow: true,
sortable: 'custom',
search: false,
rules: [
{
@ -178,6 +187,7 @@ export default {
span: 24,
width: 240,
overflow: true,
sortable: 'custom',
search: false,
rules: [
{
@ -191,6 +201,7 @@ export default {
label: "实际单位纯水用水量(L/dm²)",
prop: "realPureWaterNum",
span: 24,
sortable: 'custom',
width: 200,
overflow: true,
search: false,
@ -206,6 +217,7 @@ export default {
label: "实际总纯水用水量(t)",
prop: "totalPureWaterNum",
span: 24,
sortable: 'custom',
width: 200,
overflow: true,
search: false,
@ -227,8 +239,29 @@ export default {
},
};
},
mounted() { },
computed: {
...mapGetters(['permission']),
},
mounted() {
console.log('permission-------',this.permission)
},
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();
this.query.orderByField = orderByField == "DATE" ? "CREATE_TIME" : orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
searchChange(params, done){
this.query = params
this.page.currentPage = 1;

@ -17,6 +17,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #totalArea-search="{ disabled, size }">
<div style="display: flex;">
@ -64,7 +65,7 @@
</template>
<template #menu-right>
<el-button type="primary">导出</el-button>
<el-button type="primary" v-if="permission.payrollComputation_export">导出</el-button>
</template>
</avue-crud>
</basic-container>
@ -73,6 +74,7 @@
<script>
import {getList} from "@/api/performanceManagement/payrollComputation"
import jhSelect from '@/components/jh-select/index.vue';
import { mapGetters } from 'vuex';
export default {
components: {
jhSelect,
@ -152,7 +154,7 @@ export default {
endPlaceholder: "结束时间",
hide: true,
width: 200,
sortable: true,
sortable: 'custom',
searchOrder: 8,
overHidden: true,
rules: [
@ -176,7 +178,7 @@ export default {
search: true,
width: 160,
searchOrder: 7,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -191,7 +193,7 @@ export default {
prop: "partCode",
search: false,
width: 200,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -206,7 +208,7 @@ export default {
prop: "partName",
search: false,
width: 160,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -228,7 +230,7 @@ export default {
prop: "batchNo",
search: false,
width: 160,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -243,7 +245,7 @@ export default {
prop: "useDept",
search: false,
width: 150,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -258,7 +260,7 @@ export default {
prop: "productType",
search: false,
width: 150,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -274,7 +276,7 @@ export default {
search: true,
width: 120,
searchIndex:2,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -292,7 +294,7 @@ export default {
width: 160,
hide:true,
searchOrder: 5,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -313,7 +315,7 @@ export default {
label: "作业中心",
prop: "wcName",
width: 160,
sortable: true,
sortable: 'custom',
overHidden: true,
search:false,
},
@ -322,7 +324,7 @@ export default {
prop: "team",
search: false,
width: 160,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -338,7 +340,7 @@ export default {
type: "select",
search: true,
width: 160,
sortable: true,
sortable: 'custom',
overHidden: true,
searchOrder: 4,
rules: [
@ -368,7 +370,7 @@ export default {
// type: "select",
// search: true,
// width: 200,
// sortable: true,
// sortable: 'custom',
// overHidden: true,
// rules: [
// {
@ -388,7 +390,7 @@ export default {
prop: "hourQuota",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -403,7 +405,7 @@ export default {
prop: "hourPrepar",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -418,7 +420,7 @@ export default {
prop: "hqUnit",
search: false,
width: 130,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -433,7 +435,7 @@ export default {
prop: "workQty",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -448,7 +450,7 @@ export default {
prop: "hourTotal",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -463,7 +465,7 @@ export default {
prop: "worker",
search: false,
width: 100,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -478,7 +480,7 @@ export default {
prop: "plateThickness",
search: false,
width: 100,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -493,7 +495,7 @@ export default {
// prop: "productType",
// search: false,
// width: 200,
// sortable: true,
// sortable: 'custom',
// overHidden: true,
// rules: [
// {
@ -509,7 +511,7 @@ export default {
type: "select",
search: true,
width: 100,
sortable: true,
sortable: 'custom',
overHidden: true,
searchOrder: 3,
dicUrl:"/api/blade-scheduling/qualityGrade/getGrades",
@ -532,7 +534,7 @@ export default {
prop: "singleBatchNo",
search: true,
width: 120,
sortable: true,
sortable: 'custom',
searchOrder: 1,
overHidden: true,
rules: [
@ -548,7 +550,7 @@ export default {
prop: "putQuantity",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -563,7 +565,7 @@ export default {
prop: "scrapQty",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -578,7 +580,7 @@ export default {
prop: "lossQty",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -593,7 +595,7 @@ export default {
prop: "testQty",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -608,7 +610,7 @@ export default {
prop: "poArea",
search: false,
width: 150,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -624,7 +626,7 @@ export default {
search: true,
width: 150,
searchOrder: 0,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -639,7 +641,7 @@ export default {
prop: "putStoreTime",
search: false,
width: 150,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -654,7 +656,7 @@ export default {
prop: "baseAmount",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -669,7 +671,7 @@ export default {
prop: "subsidyAmount",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -684,7 +686,7 @@ export default {
prop: "totalAmount",
search: false,
width: 120,
sortable: true,
sortable: 'custom',
overHidden: true,
rules: [
{
@ -698,8 +700,30 @@ export default {
},
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {},
methods: {
//
sortChange({ prop, order }) {
console.log('prop-------------',prop)
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();
// console.log('orderByField-------------',orderByField)
this.query.orderByField = prop;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
//
changePpsName(val, item) {
console.log("val", val)

@ -19,14 +19,15 @@
@on-load="onLoad"
:span-method="spanMethod"
:before-open="beforeOpen"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="danger" @click="handleDelete"
<el-button type="danger" @click="handleDelete" v-if="permission.salaryStandard_delete"
>删除</el-button
>
</template>
<template #menu-right>
<el-button type="primary" @click="handleImport"
<el-button type="primary" @click="handleImport" v-if="permission.salaryStandard_import"
>导入
</el-button>
</template>
@ -96,7 +97,7 @@
<script>
import basicImport from '@/components/basic-import/main.vue'
import {getProcessList,getList,deleteTable,addTable } from "@/api/performanceManagement/salaryManagement"
import { fa } from 'element-plus/es/locales.mjs';
import { mapGetters } from 'vuex';
export default {
components: {
basicImport,
@ -107,6 +108,7 @@ export default {
loading: false,
data: [],
form: {},
query:{},
page: {
pageSize: 10,
currentPage: 1,
@ -136,8 +138,8 @@ export default {
selection: true,
viewBtn: false,
delBtn: false,
addBtn: true,
editBtn: true,
addBtn: false,
editBtn: false,
editBtnText: "修改",
addBtnIcon: " ",
viewBtnIcon: " ",
@ -172,7 +174,7 @@ export default {
prop: "standardType",
type: "select",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 100,
rules: [
@ -192,7 +194,7 @@ export default {
label: "工序",
prop: "processName",
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
addDisplay: false,
editDisplay: false,
@ -209,7 +211,7 @@ export default {
label: "工序",
prop: "processId",
search: false,
sortable: true,
sortable: 'custom',
hide:true,
overHidden: true,
addDisplay: true,
@ -227,7 +229,7 @@ export default {
label: "零件号",
prop: "partNo",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
minWidth: 160,
// rules: [
@ -243,7 +245,7 @@ export default {
prop: "settlementPrice",
type: "number",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 110,
rules: [
@ -259,7 +261,7 @@ export default {
prop: "settlementUnit",
type: "select",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
rules: [
@ -280,7 +282,7 @@ export default {
prop: "step",
hide:true,
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 100,
addDisplay: true,
@ -298,7 +300,7 @@ export default {
prop: "minStep",
type: "number",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 95,
addDisplay: false,
@ -309,7 +311,7 @@ export default {
prop: "maxStep",
search: false,
type: "number",
sortable: true,
sortable: 'custom',
overHidden: true,
addDisplay: false,
editDisplay: false,
@ -320,7 +322,7 @@ export default {
prop: "stepUnit",
type: "select",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 100,
dicData: [
@ -339,7 +341,7 @@ export default {
label: "阶梯结算价",
prop:"stepSettlementPrice",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
hide: true,
width: 110,
@ -358,7 +360,7 @@ export default {
prop: "price",
type: "number",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
addDisplay: false,
editDisplay: false,
@ -369,7 +371,7 @@ export default {
prop: "stepSettlementUnit",
type: "select",
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
dicData: [
@ -388,10 +390,33 @@ export default {
},
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {
this.option.addBtn = this.permission.salaryStandard_add ? true : false;
this.option.editBtn = this.permission.salaryStandard_edit ? true : false;
},
methods: {
//
sortChange({ prop, order }) {
console.log('prop-------------',prop)
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();
console.log('orderByField-------------',orderByField)
this.query.orderByField = orderByField == 'MIN_STEP' ? 'minstep' : orderByField == 'MAX_STEP' ? 'maxstep' : orderByField;
// this.query.isAsc = order === 'ascending' ? true : false;
this.query.asc = order === 'ascending' ? true : false;
}
// //
this.onLoad(this.page, this.query);
},
getPpsList(query){
console.log('form============',this.form)
getProcessList({

Loading…
Cancel
Save