From 41e0df8413624e6034c967f3afae30da59370879 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期一, 11 十二月 2023 16:20:15 +0800 Subject: [PATCH] modified: src/components/verifition/Verify/VerifyPoints.vue modified: src/const/crud/admin/sys-public-param.js modified: src/page/full-screen/fullScreenPlus.vue modified: src/page/index/logo.vue modified: src/page/index/sidebar/sidebarItem.vue modified: src/page/login/index.vue modified: src/page/login/thirdpartylogin.vue modified: src/util/elAttr.js modified: src/views/accounting/unitworkfactor/unitworkfactor-form.vue modified: src/views/accounting/unitworkfactor/updateQuota-form.vue modified: src/views/basic/discmaintenance/discmaintenance-form.vue modified: src/views/basic/log/index.vue modified: src/views/basic/part/part-form.vue modified: src/views/basic/part/print-label-form.vue modified: src/views/basic/poc/index.vue modified: src/views/basic/tabletest/index.vue modified: src/views/basic/template/index.vue modified: src/views/basic/template/template-form.vue modified: src/views/basic/workstation/workstation-form.vue modified: src/views/common/custom-table.vue modified: src/views/common/documentDetail.vue modified: src/views/common/operationParamTemplate.vue modified: src/views/common/rawMaterial-part.vue modified: src/views/common/search-select.vue modified: src/views/common/ztt-table.vue modified: src/views/huawei/code19bind/list.vue modified: src/views/huawei/code19gen/form.vue modified: src/views/huawei/grossweightcode/list.vue modified: src/views/huawei/grossweightcode/task-secret-form.vue modified: src/views/oa/JiegouModal.vue modified: src/views/oa/PeizhiModal.vue modified: src/views/oa/technology-document-new.vue modified: src/views/oa/technology-document.vue modified: src/views/plan/customer/index.vue modified: src/views/plan/customerorder/confirm-pull-customerorder.vue modified: src/views/plan/customerorder/customerorder-config-history.vue modified: src/views/plan/customerorder/customerorder-form.vue modified: src/views/plan/customerorder/customerorder-return.vue modified: src/views/plan/customerorder/customerorder-ztt-table.vue modified: src/views/plan/customerorder/index.vue modified: src/views/plan/customerorder/other-customer-order-line.vue modified: src/views/plan/customerorder/sample-customerorder-form.vue modified: src/views/plan/customerorder/schedule-table.vue modified: src/views/plan/manufacturingorder/auto-operationtask.vue modified: src/views/plan/manufacturingorder/customerorder.vue modified: src/views/plan/manufacturingorder/customize-param-template.vue modified: src/views/plan/manufacturingorder/order-operation-form.vue modified: src/views/plan/manufacturingorder/productorder-form.vue modified: src/views/plan/manufacturingorderapply/index.vue modified: src/views/plan/masterproductionschedule/auto-manufacturingorder.vue modified: src/views/plan/operationtask/gantt.vue modified: src/views/plan/operationtask/operationtask-form.vue modified: src/views/plan/operationtask/task-material.vue modified: src/views/plan/productionschedul/index.vue modified: src/views/plan/productionschedul/template-form.vue modified: src/views/plan/schedule/gantt.vue modified: src/views/plan/schedulelookover/ganttview.vue modified: src/views/plan/segmentmerge/index.vue modified: src/views/plan/segmentmerge/operate-dialog.vue modified: src/views/plan/segmentmerge/operation-technology-form.vue modified: src/views/product/dutyrecord/index.vue modified: src/views/product/producttraceability/index.vue modified: src/views/product/producttraceability/traceability-diagram.vue modified: src/views/product/workbench/batchproductout-form-new.vue modified: src/views/product/workbench/batchproductout-form.vue modified: src/views/product/workbench/feed-form.vue modified: src/views/product/workbench/feed-pane.vue modified: src/views/product/workbench/feed-tab.vue modified: src/views/product/workbench/handymantype.vue modified: src/views/product/workbench/index.vue modified: src/views/product/workbench/mould-pane.vue modified: src/views/product/workbench/operation-task-pane.vue modified: src/views/product/workbench/product-record-form.vue modified: src/views/product/workbench/productout-form-by-batch.vue modified: src/views/product/workbench/productout-form.vue modified: src/views/product/workbench/productrecord-tab.vue modified: src/views/product/workbench/producttracking-tab.vue modified: src/views/product/workbench/shift-productout-form.vue modified: src/views/product/workbench/splitTaskForm.vue modified: src/views/product/workbench/taskinfo-pane.vue modified: src/views/quality/Packaging_ledger/pack-from.vue modified: src/views/quality/apply/index.vue modified: src/views/quality/exception/exception.vue modified: src/views/quality/exception/index.vue modified: src/views/quality/finishedProductInspection/finishedProduct-form.vue modified: src/views/quality/finishedProductInspection/finishedProduct-print.vue modified: src/views/quality/finishedProductInspection/finishedProducter-print.vue modified: src/views/quality/finishedProductInspection/index.vue modified: src/views/quality/newReport/ReportForm.vue modified: src/views/quality/processInspect/index.vue modified: src/views/quality/processInspect/processInspect-form.vue modified: src/views/quality/processconfiguration/index.vue modified: src/views/quality/processconfiguration/table-form.vue modified: src/views/quality/rawMaterial/QrcodeReader.vue modified: src/views/quality/rawMaterial/index.vue modified: src/views/quality/rawMaterial/rawMaterial-form.vue modified: src/views/quality/report/index.vue modified: src/views/quality/standardbind/standardbind-form.vue modified: src/views/quality/statistics/rateChart.vue modified: src/views/quality/testitemlayout/index.vue modified: src/views/quality/testplan/testplan-form.vue modified: src/views/quality/unqualifiedprocess/examineApproveform.vue modified: src/views/quality/unqualifiedprocess/index.vue modified: src/views/quality/unqualifiedprocess/loaction-form.vue modified: src/views/quality/unqualifiedprocess/unqualifiedprocessform.vue modified: src/views/technology/completeproductstructure/completeproductstructure-form.vue modified: src/views/technology/document/checkStandardTable.vue modified: src/views/technology/document/document-form.vue modified: src/views/technology/document/extendsOperation.vue modified: src/views/technology/document/extendsTestStandard.vue modified: src/views/technology/document/extendsTestStandardParam.vue modified: src/views/technology/document/teststandard.vue modified: src/views/technology/structure/single-structure-form.vue modified: src/views/warehouse/changestock/index.vue modified: src/views/warehouse/check/check-detail.vue modified: src/views/warehouse/pallettransports/ifslocation-form.vue modified: src/views/warehouse/pallettransports/ifsstock-form.vue modified: src/views/warehouse/pallettransports/index.vue modified: src/views/warehouse/returnstock/ifslocation-form.vue modified: src/views/warehouse/returnstock/index.vue modified: src/views/warehouse/returnstock/returnstock-form.vue modified: src/views/warehouse/returnstock/stock-part.vue modified: src/views/warehouse/stock/print-label-form.vue modified: src/views/warehouse/stock/small-print-label-form.vue modified: src/views/warehouse/stock/small-warehousing-label-form.vue modified: src/views/warehouse/stock/stock-table.vue modified: src/views/warehouse/stock/warehousing-label-form.vue modified: src/views/zte/pkgidbind/index.vue --- src/views/plan/productionschedul/index.vue | 209 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 194 insertions(+), 15 deletions(-) diff --git a/src/views/plan/productionschedul/index.vue b/src/views/plan/productionschedul/index.vue index 0775072..b76fe0c 100644 --- a/src/views/plan/productionschedul/index.vue +++ b/src/views/plan/productionschedul/index.vue @@ -3,13 +3,14 @@ <basic-container> <el-row> <el-col :span="12"> - <div style="height:80vh"> + <div style="height:80vh;padding: 0px 10px;"> <avue-crud :data="tableData" ref="crud" :option="option" :span-method="spanMethod" @refresh-change="getData" :page="page" @selection-change="selectionRow" :table-loading="loading"> <template #menu="{ row, index }"> + <el-button type="text" icon="el-icon-edit" size="small" @click="editHandle(row, index)">缂栬緫</el-button> <el-button type="text" icon="el-icon-delete" size="small" @click="deleteHandle(row, index)">鍒犻櫎</el-button> </template> </avue-crud> @@ -20,7 +21,7 @@ <el-card> <div slot="header" class="clearfix"> <span>璋冨害鏃堕棿绾�</span> - <el-button style="float: right; padding: 3px 0" type="text">鎿嶄綔鎸夐挳</el-button> + <el-button v-if="scheduleList.length>0" @click="openEditDialog" style="float: right; padding: 3px 0" type="text">缂栬緫</el-button> </div> <div style="height:70vh;overflow-y: scroll;"> <el-timeline> @@ -28,10 +29,15 @@ placement="top" v-for="(item, index) in scheduleList" :key="index" - :timestamp="item.planTime"> - <el-card style="width:95%;margin: 0;padding: 0px 10px;"> - <p style="font-weight: bold;">{{item.title}}</p> - <p>瀹為檯鏃堕棿: {{ item.actualTime }}</p> + :timestamp="item.title"> + <el-card shadow="hover" :body-style="{margin: '0',padding:'0px 20px 0px 20px'}" style="width:90%;"> + <p> + <span style="font-weight: bold;">璁″垝鏃堕棿: </span> + {{item.planTime}} + </p> + <p> + <span style="font-weight: bold;">瀹為檯鏃堕棿: </span> + {{ item.actualTime }}</p> </el-card> </el-timeline-item> </el-timeline> @@ -41,6 +47,82 @@ </el-col> </el-row> </basic-container> + <el-dialog + title="缂栬緫鏃堕棿绾�" + :visible.sync="dialogVisible" + top="5vh" + width="50%" + :before-close="handleClose"> + <div style="height:60vh;overflow-y: scroll;"> + <el-timeline> + <el-timeline-item + placement="top" + v-for="(item, index) in scheduleEditList" + :key="index" + :timestamp="item.title"> + <el-card shadow="hover" style="width:90%" :body-style="{padding:'20px 20px 5px 20px'}"> + <el-row> + <el-col :span="3"> + <p style="font-weight: bold;line-height: 50%;">璁″垝鏃堕棿: </p> + </el-col> + <el-col :span="21"> + <el-date-picker + style="width:100%" + v-model="item.planTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="閫夋嫨鏃ユ湡鏃堕棿"> + </el-date-picker> + </el-col> + </el-row> + <el-row> + <el-col :span="3"> + <p style="font-weight: bold;line-height: 50%;">瀹為檯鏃堕棿: </p> + </el-col> + <el-col :span="21"> + <el-date-picker + style="width:100%" + v-model="item.actualTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="閫夋嫨鏃ユ湡鏃堕棿"> + </el-date-picker> + </el-col> + </el-row> + </el-card> + </el-timeline-item> + </el-timeline> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmEditSchedul">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog + title="缂栬緫" + :visible.sync="editDialogVisible" + width="50%"> + <el-form :model="editForm" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="鐢熶骇鎯呭喌:"> + <el-input style="width:100%" placeholder="璇疯緭鍏ョ敓浜ф儏鍐�" type="textarea" :row="2" v-model="editForm.productionStatus"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="鐢熶骇绋嬪害:"> + <el-input style="width:100%" placeholder="璇疯緭鍏ョ敓浜х▼搴�" type="textarea" :row="2" v-model="editForm.productionRoutine"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="editDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmEdit()">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> @@ -48,6 +130,9 @@ import { fetchScheduleList, fetchScheduleById, + fillTime, + deleteSchedul, + updateSchedul } from '@/api//plan/productionschedul' import TableForm from './template-form' import ttable from '@/views/common/ztt-table.vue' @@ -55,7 +140,15 @@ export default { data() { return { + editForm:{ + id: null, + productionRoutine: null, + productionStatus: null, + }, + editDialogVisible: false, + dialogVisible: false, scheduleList: [], + scheduleEditList: [], typeOptions: [], multipleSelection: [], loading: true, @@ -70,10 +163,12 @@ selection: true, columnBtn: false, index: true, - rowKey: 'product', + indexFixed: false, + selectionFixed: false, + rowKey: 'mid', indexLabel: '搴忓彿', menuAlign: 'center', - menuWidth: 100, + menuWidth: 130, editBtn: false, delBtn: false, addBtn: false, @@ -213,7 +308,15 @@ this.rowCalc() }, watch:{ - + editDialogVisible(newVal){ + if(!newVal){ + this.editForm = { + id: null, + productionRoutine: null, + productionStatus: null, + } + } + } }, mounted() { @@ -221,6 +324,70 @@ beforeDestroy() { }, methods: { + confirmEdit(){ + const _than = this + updateSchedul(this.editForm).then(res=>{ + if(res.status===200){ + _than.$message.success("鏇存柊鎴愬姛") + _than.editDialogVisible = false + _than.getData() + } + }).catch(error=>{ + console.error(error); + }) + }, + editHandle(row,index){ + if(row){ + this.editForm.id = row.mid + this.editForm.productionRoutine = row.productionRoutine + this.editForm.productionStatus = row.productionStatus + this.editDialogVisible = true + } + }, + openEditDialog(){ + this.scheduleEditList = JSON.parse(JSON.stringify(this.scheduleList)) + this.dialogVisible = true + }, + confirmEditSchedul(){ + let data = this.scheduleEditList + let orderObj = this.multipleSelection[0] + let obj = { + "documentActualTime": data[0].actualTime, + "documentPlanTime": data[0].planTime, + "bomActualTime": data[1].actualTime, + "bomPlanTime": data[1].planTime, + "contractActualTime": data[2].actualTime, + "contractPlanTime": data[2].planTime, + "arrivalActualTime": data[3].actualTime, + "arrivalPlanTime": data[3].planTime, + "checkActualTime": data[4].actualTime, + "checkPlanTime": data[4].planTime, + "productActualTime": data[5].actualTime, + "productPlanTime": data[5].planTime, + "id": orderObj.id, + "contractNo": orderObj.contractNo, + "customerName": orderObj.customerName, + "deliveryDate": orderObj.deliveryDate, + "orderTime": orderObj.orderTime, + "productType": orderObj.productType, + "projectName": orderObj.projectName + } + fillTime(obj).then(res=>{ + if(res.status===200){ + this.$message.success("鏇存柊鎴愬姛") + }else{ + this.$message.error("鏇存柊澶辫触") + } + this.getScheduleById(orderObj.id) + this.dialogVisible = false + }).catch(error=>{ + console.log(error); + }) + + }, + handleClose(done){ + done() + }, initTimeLine(data){ this.scheduleList = [] if(data){ @@ -270,10 +437,14 @@ }, selectionRow(val){ if (val.length > 1) { - const preVal = val.shift(); - this.$refs.crud.toggleRowSelection(preVal, false); - } - this.getScheduleById(val[0].id) + const preVal = val.shift(); + this.$refs.crud.toggleRowSelection(preVal, false); + } + else{ + this.scheduleList=[] + } + this.multipleSelection = val + this.getScheduleById(val[0].id) }, formatDate(row, cellValue){ if (cellValue) { @@ -304,12 +475,20 @@ }, // 鍒犻櫎 deleteHandle(row,index) { - this.$confirm('鏄惁纭鍒犻櫎', '鎻愮ず', { + const _than = this + _than.$confirm('鏄惁纭鍒犻櫎', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(function() { - + deleteSchedul(row.mid).then(res=>{ + if(res.status===200){ + _than.$message.success("鍒犻櫎鎴愬姛") + _than.getData() + } + }).catch(error=>{ + console.error(error) + }) }) }, //鍔ㄦ�佸悎骞舵柟娉� -- Gitblit v1.9.3