From 0a162b61518f98dce270e390bc75778ccc6eb67d Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期五, 19 一月 2024 14:32:47 +0800
Subject: [PATCH] new file: src/api/equipment/mould.js modified: src/views/equipment/mould/index.vue new file: src/views/equipment/mould/mould-from.vue modified: src/views/quality/Packaging_ledger/index.vue modified: vue.config.js
---
src/views/plan/productionschedul/index.vue | 279 +++++++++++++++++++++++++++++--------------------------
1 files changed, 149 insertions(+), 130 deletions(-)
diff --git a/src/views/plan/productionschedul/index.vue b/src/views/plan/productionschedul/index.vue
index 2b4de6c..4f05a4f 100644
--- a/src/views/plan/productionschedul/index.vue
+++ b/src/views/plan/productionschedul/index.vue
@@ -2,81 +2,90 @@
<div class="mod-config">
<basic-container>
<el-row>
- <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>
+ <el-col :span="16" style="height:100vh">
+ <el-row style="height:65%;padding:0px 10px;">
+ <el-col :span="24" style="margin: 0;">
+ <div style="display:flex;height:36px;justify-content: space-between;align-items:center;">
+ <div><span style="color:#E84738;font-weight: bold;">鏈畬鎴�</span></div>
+ <div>
+ <el-button @click="tagFinished" size="mini" round type="success">鏍囪宸插畬鎴�</el-button>
+ <el-button size="mini" round type="primary"
+ v-if="permissions.plan_productionschedul_edit_line"
+ @click="openEditDialog">缂栬緫鏃堕棿绾�</el-button>
+ <el-tooltip content="鍒锋柊">
+ <el-button circle icon="el-icon-refresh" @click="getDataList"></el-button>
+ </el-tooltip>
+ </div>
</div>
+ <avue-crud
+ class="unfinished-crud"
+ :data="tableData"
+ ref="crud"
+ :option="option"
+ :span-method="spanMethod"
+ @refresh-change="getDataList"
+ @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>
</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>
+ <el-row style="height:35%;padding:0px 10px;">
+ <el-col :span="24" style="margin: 0;">
+ <div style="display:flex;height:36px;justify-content: space-between;align-items:center;">
+ <div><span style="color:#34BD66;font-weight: bold;">宸插畬鎴�</span></div>
</div>
+ <avue-crud
+ class="finished-crud"
+ :data="finishedTableData"
+ ref="finished"
+ :option="finishedOption"
+ :span-method="spanMethod"
+ @refresh-change="getFinishedData"
+ @current-change="handleCurrentChange"
+ @size-change="handleSizeChange"
+ :page="finishedPage"
+ @selection-change="selectionFinishedRow">
+ <!-- <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>
</el-col>
</el-row>
</el-col>
- <el-col :span="10" style="padding-left: 10px">
+ <el-col :span="8" style="padding-left: 10px">
<div style="">
<el-card>
<div slot="header" class="clearfix">
<span>璋冨害鏃堕棿绾�</span>
- <el-button v-if="permissions.plan_productionschedul_edit_line && scheduleList.length>0" @click="openEditDialog" style="float: right; padding: 3px 0" type="text">缂栬緫</el-button>
</div>
- <div style="height:70vh;overflow-y: scroll;">
+ <div style="height:100vh;overflow-y: scroll;">
<el-timeline>
<el-timeline-item
placement="top"
+ :color="(item.planTime||item.actualTime) ? '#34BD66' :null"
+ :icon="(item.planTime||item.actualTime) ? 'el-icon-circle-check' :null"
v-for="(item, index) in scheduleList"
:key="index"
:timestamp="item.title">
@@ -120,7 +129,7 @@
style="width:100%"
v-model="item.planTime"
value-format="yyyy-MM-dd HH:mm:ss"
- type="datetime"
+ type="datetime"
placeholder="閫夋嫨鏃ユ湡鏃堕棿">
</el-date-picker>
</el-col>
@@ -134,7 +143,7 @@
style="width:100%"
v-model="item.actualTime"
value-format="yyyy-MM-dd HH:mm:ss"
- type="datetime"
+ type="datetime"
placeholder="閫夋嫨鏃ユ湡鏃堕棿">
</el-date-picker>
</el-col>
@@ -183,6 +192,7 @@
fillTime,
deleteSchedul,
updateState,
+ checkTimeLines,
} from '@/api//plan/productionschedul'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
@@ -220,7 +230,7 @@
prop:'id',
order:'descending'
},
- height: 200,
+ height: 370,
selection: true,
columnBtn: false,
index: true,
@@ -330,7 +340,7 @@
prop:'id',
order:'descending'
},
- height: 180,
+ height: 230,
selection: true,
columnBtn: false,
index: true,
@@ -444,7 +454,7 @@
}, {
prop: 'contractNo',
span: []
- },
+ },
{
prop: 'orderTime',
span: []
@@ -494,6 +504,11 @@
productionStatus: null,
}
}
+ },
+ multipleSelection(newVal){
+ if(newVal.length==0){
+ this.scheduleList = []
+ }
}
},
mounted() {
@@ -504,7 +519,7 @@
methods: {
tagFinished(){
if(this.multipleSelection.length < 1){
- this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�")
+ this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�")
return
}
let ids = this.multipleSelection.map(ele=>{
@@ -541,12 +556,30 @@
}
},
openEditDialog(){
- this.scheduleEditList = JSON.parse(JSON.stringify(this.scheduleList))
- this.dialogVisible = true
+ if(this.multipleSelection.length<1){
+ this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ let mIds = this.multipleSelection.map(ele=>{
+ return ele.mid
+ })
+ checkTimeLines(mIds).then(res=>{
+ if(res.data.data.length==1){
+ let dataList = this.initTimeLine(res.data.data[0])
+ this.scheduleEditList = dataList
+ this.dialogVisible = true
+ }else{
+ this.$message.error("閫変腑鏁版嵁鐨勮皟搴︽椂闂寸嚎涓嶄竴鑷�!")
+ }
+ }).catch(error=>{
+ console.error(error);
+ })
},
confirmEditSchedul(){
let data = this.scheduleEditList
- let orderObj = this.multipleSelection[0]
+ let mIds = this.multipleSelection.map(ele=>{
+ return ele.mid
+ })
let obj = {
"documentActualTime": data[0].actualTime,
"documentPlanTime": data[0].planTime,
@@ -560,13 +593,13 @@
"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
+ "mids": mIds,
+ // "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){
@@ -577,7 +610,7 @@
this.getScheduleById(orderObj.id)
this.dialogVisible = false
}).catch(error=>{
- console.log(error);
+ console.error(error);
})
},
@@ -585,7 +618,7 @@
done()
},
initTimeLine(data){
- this.scheduleList = []
+ let scheduleList = []
if(data){
let arr = [
{
@@ -619,28 +652,39 @@
planTime: data.productPlanTime,
},
]
- this.scheduleList = arr
+ scheduleList = arr
+ return scheduleList
}
},
getScheduleById(id){
if(id){
fetchScheduleById(id).then(res=>{
- this.initTimeLine(res.data.data)
+ this.scheduleList = this.initTimeLine(res.data.data)
}).catch(error=>{
- console.log(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].mid)
+ },
+ selectionFinishedRow(val){
+ if (val.length > 1) {
+ const preVal = val.shift();
+ this.$refs.finished.toggleRowSelection(preVal, false);
+ }
+ else{
+ this.scheduleList=[]
+ }
+ this.getScheduleById(val[0].mid)
},
formatDate(row, cellValue){
if (cellValue) {
@@ -664,6 +708,10 @@
}
},
// 鑾峰彇鏁版嵁鍒楄〃
+ getDataList(){
+ this.getUnFinishedData()
+ this.getFinishedData()
+ },
getUnFinishedData() {
this.loading = true
let param = {
@@ -697,7 +745,7 @@
// 鍒犻櫎
deleteHandle(row,index) {
const _than = this
- _than.$confirm('鏄惁纭鍒犻櫎', '鎻愮ず', {
+ _than.$confirm('鏄惁纭鍒犻櫎璇ョ敓浜ц皟搴︿俊鎭�', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
@@ -780,51 +828,22 @@
}
</script>
<style>
-.avue-crud__tip{
+.unfinished-crud .avue-crud__tip{
+ display: none;
+}
+.unfinished-crud .avue-crud__menu{
+ display: none;
+}
+.finished-crud .avue-crud__tip{
+ display: none;
+}
+.finished-crud .avue-crud__menu{
display: none;
}
.avue-crud__pagination {
position: relative;
- padding: 5px 0 20px 20px;
+ padding: 0px 0 0px 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;
-}
-
-.basic-template-table .el-table__body .el-table__row:hover {
- cursor: move;
-}
-
-.basic-template-table .el-table__body .el-table__row:hover .icon {
- display: inline-block;
-}
-
-.basic-template-table .el-table__body .el-table__row .icon {
- color: rgba(0, 0, 0, 0.45);
- font-size: 12px;
- line-height: 18px;
- display: none;
-}
-
-.aufontAll {
- font-family: aufontAll !important;
- font-size: 14px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.h-icon-all-drag {
- background: url('/img/tz.png') center center no-repeat;
- background-size: cover;
- font-size: 14px;
-}
-.h-icon-all-drag:before {
- content: '\E63E';
- font-size: 14px;
- visibility: hidden;
}
</style>
--
Gitblit v1.9.3