From d896d25a2bee6dc9496f102035b2d68d17f3de65 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 05 三月 2024 13:58:13 +0800
Subject: [PATCH] 生产调度变更记录功能
---
src/views/plan/productionschedul/index.vue | 97 ++++++++++++++++++++++++++++++------------------
src/views/plan/masterproductionschedule/index.vue | 10 +++--
src/api/plan/productionschedul.js | 7 +++
src/views/common/ztt-table.vue | 5 ++
4 files changed, 77 insertions(+), 42 deletions(-)
diff --git a/src/api/plan/productionschedul.js b/src/api/plan/productionschedul.js
index 14363dd..5784b65 100644
--- a/src/api/plan/productionschedul.js
+++ b/src/api/plan/productionschedul.js
@@ -8,6 +8,13 @@
})
}
+export function fetchRecordsList(mId) {
+ return request({
+ url: '/mes/productionSchedul/pageRecords/'+mId,
+ method: 'get',
+ })
+}
+
export function fetchScheduleById(id) {
return request({
url: '/mes/productionSchedul/selTime/'+id,
diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue
index 0701521..4996b43 100644
--- a/src/views/common/ztt-table.vue
+++ b/src/views/common/ztt-table.vue
@@ -182,6 +182,7 @@
v-if="options.multiSelect && !isEdit"
style="width: 55px;"
:selectable="selectHandle"
+
>
</el-table-column>
<!--鍗曢�夋-->
@@ -571,7 +572,9 @@
//闇�瑕佸悎骞剁殑瀛楁闆嗗悎
mergeSpanArr: {
type: Array,
- default: []
+ default: ()=>{
+ return []
+ }
},
toolbarMaxLength: {
type: Number,
diff --git a/src/views/plan/masterproductionschedule/index.vue b/src/views/plan/masterproductionschedule/index.vue
index ef87846..8618138 100644
--- a/src/views/plan/masterproductionschedule/index.vue
+++ b/src/views/plan/masterproductionschedule/index.vue
@@ -22,6 +22,7 @@
<el-dropdown-item
:command="item.command"
v-for="item in orderTypeArr"
+ :key="item.value"
:disabled="item.disabled"
>{{ item.label }}</el-dropdown-item
>
@@ -40,6 +41,7 @@
<el-dropdown-item
:command="item.command"
v-for="item in stateTagArr"
+ :key="item.value"
:disabled="item.disabled"
>{{ item.label }}</el-dropdown-item
>
@@ -661,7 +663,7 @@
label: '鑷姩鏂板',
command: 'AUTO',
disabled: false,
- permitArr: ['01pending','04completed']
+ permitArr: ['04completed']
})
}
this.getSysParam(sysParam.IS_REPORT_OPERATION)
@@ -1049,7 +1051,7 @@
this.stateTagArr[i].disabled = true
}
}
- for (var i = 0; i < this.stateTagArr.length; i++) {
+ for (var i = 0; i < this.orderTypeArr.length; i++) {
if (
uniqueStateArr.every((val) =>
this.orderTypeArr[i].permitArr.length <= 0
@@ -1057,9 +1059,9 @@
: this.orderTypeArr[i].permitArr.includes(val)
)
) {
- this.orderTypeArr[i].disabled = false
- } else {
this.orderTypeArr[i].disabled = true
+ } else {
+ this.orderTypeArr[i].disabled = false
}
}
this.masterPlanSelection = val
diff --git a/src/views/plan/productionschedul/index.vue b/src/views/plan/productionschedul/index.vue
index 98e9d55..20ddc6d 100644
--- a/src/views/plan/productionschedul/index.vue
+++ b/src/views/plan/productionschedul/index.vue
@@ -10,6 +10,8 @@
:ajaxFun="ajaxFun"
:paramObj="queryParams"
:mergeSpanArr="spanArr"
+ :selColValArr="paramSelArr"
+ :selCol="paramSelCol"
ref="ttable">
<template #toolbar>
<el-dropdown @command="changeTable">
@@ -134,12 +136,27 @@
</div>
</el-card>
</el-dialog>
+ <!-- 鏌ョ湅鍙樻洿璁板綍 -->
+ <el-dialog
+ title="鍙樻洿璁板綍"
+ :visible.sync="showRecordsDialog"
+ width="60%">
+ <el-table border :data="recordsList">
+ <el-table-column type="index" width="50" label="搴忓彿" align="center"/>
+ <el-table-column prop="createTime" min-width="120" show-overflow-tooltip label="鎿嶄綔鏃堕棿" align="center"/>
+ <el-table-column prop="createUser" min-width="120" show-overflow-tooltip label="鎿嶄綔浜�" align="center"/>
+ <el-table-column prop="recordType" min-width="120" show-overflow-tooltip label="鎿嶄綔绫诲瀷" align="center"/>
+ <el-table-column prop="oldRecord" min-width="200" show-overflow-tooltip label="鏃у��" align="center"/>
+ <el-table-column prop="newRecord" min-width="200" show-overflow-tooltip label="鏂板��" align="center"/>
+ </el-table>
+ </el-dialog>
</div>
</template>
<script>
import {
fetchScheduleList,
+ fetchRecordsList,
fetchScheduleById,
fillTime,
deleteSchedul,
@@ -149,13 +166,16 @@
} from '@/api//plan/productionschedul'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
-import { remote } from '@/api/admin/dict'
export default {
data() {
return {
queryParams: {
state: false
},
+ showRecordsDialog: false,
+ recordsList: [],
+ paramSelArr: [false],
+ paramSelCol: 'hasEdit',
ajaxFun: fetchScheduleList,
prelang: 'productSchedul',
options: {
@@ -170,7 +190,7 @@
isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
- defaultOrderBy: { column: 'createdTime', direction: 'desc' },
+ defaultOrderBy: { column: 'time', direction: 'desc' },
cancelRunCreated: false,
tableCellMerge: true
},
@@ -332,8 +352,8 @@
operatorConfig: {
fixed: 'right',
label: '鎿嶄綔',
- width: 100,
- minWidth: 100
+ width: 150,
+ minWidth: 150
}
},
dropdownTitleStyle: {
@@ -384,47 +404,51 @@
}
},
methods: {
- getProductionSchedulStaffDict(){
- const _than = this
- remote('productionschedul_staff').then((response) => {
- if (response.status === 200) {
- response.data.data.map((ele)=>{
- _than.productionSchedulStaffOptions.push(ele.value)
- })
- } else {
- _than.productionSchedulStaffOptions = []
- }
- })
+ showChangeRecords(row){
+ this.recordsList = []
+ if(row){
+ fetchRecordsList(row.mid).then((res)=>{
+ if(res.status===200){
+ this.recordsList = res.data.data.records
+ }
+ }).catch((error)=>{
+ console.error(error);
+ })
+ }
+ this.showRecordsDialog = true
},
showOperator(){
+ this.table.operator = [{
+ text: '鍙樻洿璁板綍',
+ type: 'text',
+ size: 'small',
+ fun: this.showChangeRecords,
+ }]
if(this.showUnDownTable){
if(this.permissions.plan_productionschedul_edit){
- this.table.operator = [{
+ this.table.operator.push({
text: '缂栬緫',
type: 'text',
size: 'small',
- fun: this.editHandle
- }]
+ fun: this.editHandle,
+ show: {
+ key: 'hasEdit',
+ val: [true]
+ }
+ })
}
if(this.permissions.plan_productionschedul_del){
- if(this.table.operator == null){
- this.table.operator = [{
- text: '鍒犻櫎',
- type: 'text',
- size: 'small',
- fun: this.deleteHandle
- }]
- }else{
- this.table.operator.push({
- text: '鍒犻櫎',
- type: 'text',
- size: 'small',
- fun: this.deleteHandle
- })
- }
+ this.table.operator.push({
+ text: '鍒犻櫎',
+ type: 'text',
+ size: 'small',
+ fun: this.deleteHandle,
+ show: {
+ key: 'hasEdit',
+ val: [true]
+ }
+ })
}
- }else{
- this.table.operator = null
}
},
handleClickCell(row){
@@ -462,8 +486,7 @@
updateState(ids).then(res=>{
if(res.status===200){
this.$message.success("鏇存柊鎴愬姛")
- this.getUnFinishedData()
- this.getFinishedData()
+ this.getDataList()
}
}).catch(error=>{
console.error(error);
--
Gitblit v1.9.3