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
| | |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function updateState(data) { |
| | | return request({ |
| | | url: '/mes/productionSchedul/updateState', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | |
| | | <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"> |
| | |
| | | fetchScheduleById, |
| | | fillTime, |
| | | deleteSchedul, |
| | | updateSchedul |
| | | updateState, |
| | | } from '@/api//plan/productionschedul' |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { mapGetters } from 'vuex' |
| | |
| | | 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 |
| | |
| | | prop:'id', |
| | | order:'descending' |
| | | }, |
| | | height: 400, |
| | | height: 200, |
| | | selection: true, |
| | | columnBtn: false, |
| | | index: true, |
| | |
| | | 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, |
| | |
| | | this.option.menu = false |
| | | } |
| | | this.loading = true |
| | | this.getData() |
| | | this.getUnFinishedData() |
| | | this.getFinishedData() |
| | | this.getParamType() |
| | | // this.rowSort() |
| | | this.rowCalc() |
| | |
| | | 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); |
| | |
| | | } |
| | | }, |
| | | 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) { |
| | |
| | | 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 |
| | |
| | | .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; |
| | |
| | | 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: { |
| | |
| | | } |
| | | }, |
| | | ], |
| | | 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: '操作', |
| | |
| | | }, |
| | | } |
| | | }, |
| | | 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(); |
| | |
| | | }, |
| | | // 新增 / 修改 |
| | | 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 }, |
| | |
| | | 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 |
| | |
| | | required: null, |
| | | rpId: null, |
| | | name: null, |
| | | unit: null, |
| | | unit: 'mm', |
| | | userName: null, |
| | | testValue: '', |
| | | testValueList: [], |
| | |
| | | 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 |
| | |
| | | required: null, |
| | | rpId: null, |
| | | name: null, |
| | | unit: null, |
| | | unit: 'mm', |
| | | userName: null, |
| | | testValue: null, |
| | | testValueList: [], |