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