From 0119182fc7947e3bd2299a24bba7e25e913dbddc Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 22 十二月 2023 09:47:40 +0800
Subject: [PATCH] modified: src/api/plan/productionschedul.js modified: src/views/plan/productionschedul/index.vue modified: src/views/quality/processInspect/index.vue modified: src/views/quality/processInspect/processInspect-form.vue modified: src/views/quality/rawMaterial/rawMaterial-form.vue
---
src/views/plan/productionschedul/index.vue | 285 +++++++++++++++++++++++++++++++++++++++-------
src/views/quality/rawMaterial/rawMaterial-form.vue | 6
src/api/plan/productionschedul.js | 8 +
src/views/quality/processInspect/index.vue | 45 ++++---
src/views/quality/processInspect/processInspect-form.vue | 2
5 files changed, 278 insertions(+), 68 deletions(-)
diff --git a/src/api/plan/productionschedul.js b/src/api/plan/productionschedul.js
index 6ab0eeb..bf84050 100644
--- a/src/api/plan/productionschedul.js
+++ b/src/api/plan/productionschedul.js
@@ -36,4 +36,12 @@
method: 'post',
data: data
})
+}
+
+export function updateState(data) {
+ return request({
+ url: '/mes/productionSchedul/updateState',
+ method: 'post',
+ data: data
+ })
}
\ No newline at end of file
diff --git a/src/views/plan/productionschedul/index.vue b/src/views/plan/productionschedul/index.vue
index 8ff933b..2b4de6c 100644
--- a/src/views/plan/productionschedul/index.vue
+++ b/src/views/plan/productionschedul/index.vue
@@ -2,37 +2,71 @@
<div class="mod-config">
<basic-container>
<el-row>
- <el-col :span="12">
- <div style="height:80vh;padding: 0px 10px;">
- <avue-crud
- :data="tableData"
- ref="crud"
- :option="option"
- :span-method="spanMethod"
- @refresh-change="getData"
- @current-change="handleCurrentChange"
- @size-change="handleSizeChange"
- :page="page"
- @selection-change="selectionRow"
- :table-loading="loading">
- <template #menu="{ row, index }">
- <el-button
- v-if="permissions.plan_productionschedul_edit"
- type="text"
- icon="el-icon-edit"
- size="small"
- @click="editHandle(row, index)">缂栬緫</el-button>
- <el-button
- v-if="permissions.plan_productionschedul_del"
- type="text"
- icon="el-icon-delete"
- size="small"
- @click="deleteHandle(row, index)">鍒犻櫎</el-button>
- </template>
- </avue-crud>
- </div>
+ <el-col :span="14">
+ <el-row>
+ <el-col :span="24">
+ <div style="height:40vh;padding: 0px 10px;">
+ <span style="position: relative;top:40px;">鏈畬鎴�</span>
+ <span style="position: relative;top:30px;left:73%;z-index: 11">
+ <el-button @click="tagFinished" size="mini" round type="primary">鏍囪宸插畬鎴�</el-button>
+ </span>
+ <avue-crud
+ :data="tableData"
+ ref="crud"
+ :option="option"
+ :span-method="spanMethod"
+ @refresh-change="getUnFinishedData"
+ @current-change="handleCurrentChange"
+ @size-change="handleSizeChange"
+ :page="page"
+ @selection-change="selectionRow"
+ :table-loading="loading">
+ <template #menu="{ row, index }">
+ <el-button
+ v-if="permissions.plan_productionschedul_edit"
+ type="text"
+ icon="el-icon-edit"
+ size="small"
+ @click="editHandle(row, index)">缂栬緫</el-button>
+ <el-button
+ v-if="permissions.plan_productionschedul_del"
+ type="text"
+ icon="el-icon-delete"
+ size="small"
+ @click="deleteHandle(row, index)">鍒犻櫎</el-button>
+ </template>
+ </avue-crud>
+ </div>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <div style="height:40vh;padding: 0px 10px;">
+ <span style="position: relative;top:40px;">宸插畬鎴�</span>
+ <avue-crud
+ :data="finishedTableData"
+ ref="finished"
+ :option="finishedOption"
+ :span-method="spanMethod"
+ @refresh-change="getFinishedData"
+ @current-change="handleCurrentChange"
+ @size-change="handleSizeChange"
+ :page="finishedPage"
+ @selection-change="selectionRow">
+ <!-- <template #menu="{ row, index }">
+ <el-button
+ v-if="permissions.plan_productionschedul_del"
+ type="text"
+ icon="el-icon-delete"
+ size="small"
+ @click="deleteHandle(row, index)">鍒犻櫎</el-button>
+ </template> -->
+ </avue-crud>
+ </div>
+ </el-col>
+ </el-row>
</el-col>
- <el-col :span="12" style="padding-left: 10px">
+ <el-col :span="10" style="padding-left: 10px">
<div style="">
<el-card>
<div slot="header" class="clearfix">
@@ -148,7 +182,7 @@
fetchScheduleById,
fillTime,
deleteSchedul,
- updateSchedul
+ updateState,
} from '@/api//plan/productionschedul'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
@@ -168,8 +202,15 @@
multipleSelection: [],
loading: true,
tableData: [],
+ finishedTableData: [],
page: {
- total: 10,
+ total: 0,
+ currentPage: 1,
+ pageSize: 10,
+ pagerCount: 5
+ },
+ finishedPage: {
+ total: 0,
currentPage: 1,
pageSize: 10,
pagerCount: 5
@@ -179,7 +220,7 @@
prop:'id',
order:'descending'
},
- height: 400,
+ height: 200,
selection: true,
columnBtn: false,
index: true,
@@ -187,6 +228,117 @@
selectionFixed: false,
rowKey: 'mid',
indexLabel: '搴忓彿',
+ menuAlign: 'center',
+ menuWidth: 130,
+ editBtn: false,
+ delBtn: false,
+ addBtn: false,
+ border: true,
+ align: 'center',
+ column: [
+ {
+ minWidth: 120,
+ prop: 'projectName',
+ label: '椤圭洰鍚嶇О',
+ overHidden: true,
+ },
+ {
+ minWidth: 100,
+ prop: 'contractNo',
+ label: '鍚堝悓鍙�',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'orderTime',
+ label: '鎺ュ崟鏃ユ湡',
+ overHidden: true,
+ formatter: (row,columnValue)=> this.formatDate(row,columnValue)
+ },
+ {
+ minWidth: 120,
+ prop: 'customerName',
+ label: '瀹㈡埛鍚嶇О',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'deliveryDate',
+ label: '浜よ揣鏃ユ湡',
+ overHidden: true,
+ formatter: (row,columnValue)=> this.formatDate(row,columnValue)
+ },
+ {
+ minWidth: 120,
+ prop: 'productType',
+ label: '浜у搧绫诲瀷',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'product',
+ label: '浜у搧鍚�',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'specs',
+ label: '瑙勬牸鍨嬪彿',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'unit',
+ label: '鍗曚綅',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'number',
+ label: '鏁伴噺',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'productionStatus',
+ label: '鐢熶骇鎯呭喌',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'productionRoutine',
+ label: '鐢熶骇绋嬪害',
+ overHidden: true,
+ },
+ {
+ minWidth: 120,
+ prop: 'projectLeader',
+ label: '椤圭洰璐熻矗浜�',
+ overHidden: true,
+ },
+ {
+ minWidth: 150,
+ prop: 'remark',
+ label: '澶囨敞',
+ overHidden: true,
+ }
+ ],
+ },
+ finishedOption: {
+ refreshBtn: false, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+ defaultSort:{
+ prop:'id',
+ order:'descending'
+ },
+ height: 180,
+ selection: true,
+ columnBtn: false,
+ index: true,
+ indexFixed: false,
+ selectionFixed: false,
+ rowKey: 'mid',
+ indexLabel: '搴忓彿',
+ menu: false,
menuAlign: 'center',
menuWidth: 130,
editBtn: false,
@@ -323,7 +475,8 @@
this.option.menu = false
}
this.loading = true
- this.getData()
+ this.getUnFinishedData()
+ this.getFinishedData()
this.getParamType()
// this.rowSort()
this.rowCalc()
@@ -349,13 +502,31 @@
beforeDestroy() {
},
methods: {
+ tagFinished(){
+ if(this.multipleSelection.length < 1){
+ this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ let ids = this.multipleSelection.map(ele=>{
+ return ele.mid
+ })
+ updateState(ids).then(res=>{
+ if(res.status===200){
+ this.$message.success("鏇存柊鎴愬姛")
+ this.getUnFinishedData()
+ this.getFinishedData()
+ }
+ }).catch(error=>{
+ console.error(error);
+ })
+ },
confirmEdit(){
const _than = this
updateSchedul(this.editForm).then(res=>{
if(res.status===200){
_than.$message.success("鏇存柊鎴愬姛")
_than.editDialogVisible = false
- _than.getData()
+ _than.getUnFinishedData()
}
}).catch(error=>{
console.error(error);
@@ -461,15 +632,15 @@
}
},
selectionRow(val){
- if (val.length > 1) {
- const preVal = val.shift();
- this.$refs.crud.toggleRowSelection(preVal, false);
- }
- else{
- this.scheduleList=[]
- }
+ // if (val.length > 1) {
+ // const preVal = val.shift();
+ // this.$refs.crud.toggleRowSelection(preVal, false);
+ // }
+ // else{
+ // this.scheduleList=[]
+ // }
this.multipleSelection = val
- this.getScheduleById(val[0].id)
+ // this.getScheduleById(val[0].id)
},
formatDate(row, cellValue){
if (cellValue) {
@@ -483,26 +654,42 @@
handleSizeChange(val){
if(val){
this.page.pageSize=val
- this.getData()
+ this.getUnFinishedData()
}
},
handleCurrentChange(val){
if(val){
this.page.currentPage=val
- this.getData()
+ this.getUnFinishedData()
}
},
// 鑾峰彇鏁版嵁鍒楄〃
- getData() {
+ getUnFinishedData() {
this.loading = true
let param = {
size: this.page.pageSize,
current: this.page.currentPage,
+ state: false
}
fetchScheduleList(param).then((res) => {
this.tableData = res.data.data.records
this.page.total = res.data.data.total
this.page.currentPage = res.data.data.records.pages
+ this.scheduleList = []
+ })
+ this.loading = false
+ },
+ getFinishedData() {
+ this.loading = true
+ let param = {
+ size: this.finishedPage.pageSize,
+ current: this.finishedPage.currentPage,
+ state: true
+ }
+ fetchScheduleList(param).then((res) => {
+ this.finishedTableData = res.data.data.records
+ this.finishedPage.total = res.data.data.total
+ this.finishedPage.currentPage = res.data.data.records.pages
this.scheduleList = []
})
this.loading = false
@@ -596,6 +783,12 @@
.avue-crud__tip{
display: none;
}
+.avue-crud__pagination {
+ position: relative;
+ padding: 5px 0 20px 20px;
+ text-align: right;
+ z-index: 10;
+}
.basic-template-table .el-table__body .el-table__row td:first-child .cell {
padding-left: 0px;
padding-right: 0px;
diff --git a/src/views/quality/processInspect/index.vue b/src/views/quality/processInspect/index.vue
index 2fddf58..2ccb642 100644
--- a/src/views/quality/processInspect/index.vue
+++ b/src/views/quality/processInspect/index.vue
@@ -21,6 +21,7 @@
import * as fecha from 'element-ui/lib/utils/date'
import processInspectForm from './processInspect-form'
import { transform } from '@/util/fileTransform'
+ import { mapGetters } from 'vuex'
import { page,deleteById,exportProcessInsProduct } from '@/api/quality/processInspect'
export default {
components: {
@@ -162,23 +163,8 @@
}
},
],
- toolbar: [
- {
- text: '鏂板',
- type: 'primary',
- fun: this.addOrUpdateHandle
- },
- // {
- // text: '瀵煎嚭',
- // fun: this.exportExcel
- // }
- ],
- operator: [{
- text: '浣滃簾',
- type: 'text',
- size: 'small',
- fun: this.deleteHandle
- }],
+ toolbar: [],
+ operator: null,
operatorConfig: {
fixed: 'right',
label: '鎿嶄綔',
@@ -188,7 +174,26 @@
},
}
},
- created() { },
+ computed: {
+ ...mapGetters(['permissions'])
+ },
+ created() {
+ if(this.permissions.quality_processInspect_add){
+ this.table.toolbar.push({
+ text: '鏂板',
+ type: 'primary',
+ fun: this.addOrUpdateHandle
+ })
+ }
+ if(this.permissions.quality_processInspect_del){
+ this.table.operator = [{
+ text: '浣滃簾',
+ type: 'text',
+ size: 'small',
+ fun: this.deleteHandle
+ }]
+ }
+ },
methods: {
exportExcel(){
let queryParam=this.$refs.processInspect.getQueryParam();
@@ -215,6 +220,10 @@
},
// 鏂板 / 淇敼
addOrUpdateHandle(row) {
+ if(!this.permissions.quality_processInspect_edit && row){
+ this.$message.error("璇ヨ鑹叉病鏈夋搷浣滄潈闄�")
+ return
+ }
this.$router.push({
name: 'processInspectForm',
query: { id: row == null ? null : row.id },
diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue
index 443d28e..42cef67 100644
--- a/src/views/quality/processInspect/processInspect-form.vue
+++ b/src/views/quality/processInspect/processInspect-form.vue
@@ -492,7 +492,7 @@
let isNumber = true
for(var i=0;i<row.empiricalValueAddss.length;i++){
let val = row.empiricalValueAddss[i]
- if(!/^[0-9]*[1-9][0-9]*$/.test(val)){
+ if(!/(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/.test(val)){
row.empiricalValueAddss[i] = null
_than.$message.error("璇疯緭鍏ユ暟瀛�")
isNumber = false
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 7a663b7..811d792 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -579,7 +579,7 @@
required: null,
rpId: null,
name: null,
- unit: null,
+ unit: 'mm',
userName: null,
testValue: '',
testValueList: [],
@@ -715,7 +715,7 @@
let isTrue = true
for(var i=0;i<row.testValueList.length;i++){
let val = row.testValueList[i]
- let reg = /^[0-9]*[1-9][0-9]*$/
+ let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){
this.$message.error("璇疯緭鍏ユ暟瀛楁垨閫夋嫨鏄惁")
row.testValueList[i] = null
@@ -773,7 +773,7 @@
required: null,
rpId: null,
name: null,
- unit: null,
+ unit: 'mm',
userName: null,
testValue: null,
testValueList: [],
--
Gitblit v1.9.3