From 3f24fbc89959ec4aa9f3308e1af453e43d504ac5 Mon Sep 17 00:00:00 2001 From: charles <981744753@qq.com> Date: 星期三, 10 七月 2024 20:04:16 +0800 Subject: [PATCH] feat:完成车间管理部分的重构 --- src/views/productManage/silkRegisterForm/addPage.vue | 26 + vue.config.js | 8 src/main.js | 5 src/views/systemSetting/silkStandardSetting/index.vue | 11 package.json | 1 src/views/systemSetting/workshopManage/components/workshopDialog.vue | 461 ++++++++++++++++++++++++++++++++++++++ src/router/index.js | 2 src/views/systemSetting/workshopManage/index.vue | 190 +++++++++++---- 8 files changed, 629 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 6c8db69..bcc1182 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "faker": "^5.5.3", "js-cookie": "^3.0.5", "lodash": "^4.17.21", + "moment": "^2.30.1", "vue": "^2.6.14", "vue-router": "^3.5.1", "vuex": "^3.6.2" diff --git a/src/main.js b/src/main.js index 2b0bb22..a58a5bc 100644 --- a/src/main.js +++ b/src/main.js @@ -7,8 +7,9 @@ import "@/assets/style/index.scss" import "@/components" import "@/common/untils/dialog" - -Vue.use(ElementUI) +import moment from 'moment'; +Vue.use(ElementUI); +Vue.prototype.$moment=moment; // 淇敼榛樿鐐瑰嚮閬僵灞備负涓嶅叧闂� ElementUI.MessageBox.setDefaults({ closeOnClickModal: false diff --git a/src/router/index.js b/src/router/index.js index 5972b9c..85feafc 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -111,7 +111,7 @@ // 瀵煎嚭璺敱 鍦� main.js 閲屼娇鐢� const createRouter = () => new Router({ - mode: "history", + mode: "hash", // base: window.getServerJson.context, scrollBehavior: () => ({ y: 0 }), routes: constantRoutes diff --git a/src/views/productManage/silkRegisterForm/addPage.vue b/src/views/productManage/silkRegisterForm/addPage.vue index c270edb..17c5680 100644 --- a/src/views/productManage/silkRegisterForm/addPage.vue +++ b/src/views/productManage/silkRegisterForm/addPage.vue @@ -434,11 +434,13 @@ } from "@/api/productManage/silkRegisterForm.js"; import { getCheckDetails, - saveCheck, + saveCheck } from "@/api/productManage/silkInspectForm.js"; import pageMixin from "@/components/makepager/pager/mixin/pageMixin"; import CommonFormTableView from "@/components/makepager/CommonFormTableView"; import { getWorkshopManageGroup } from "@/api/productManage/productRegisterForm.js"; +import moment from 'moment'; +let idValue=moment(new Date()).format('YYYYMMDDHHmmss'); export default { name: "silkRegisterAddPage", props: {}, @@ -446,7 +448,6 @@ components: { CommonFormTableView, }, - computed: {}, data() { return { title:'', @@ -459,7 +460,9 @@ workshopGroupList: [], //缁勫埆 deliveryTypeList: [], specList: [], //瑙勬牸 - form: {}, + form: { + number:idValue + }, rules: { number: [ { required: true, message: "璇峰~鍐�", trigger: ["change", "blur"] }, @@ -497,7 +500,8 @@ }, pickerOptions: { disabledDate(time) { - return time.getTime() < new Date().getTime() - 86400000; + //return time.getTime() < new Date().getTime() - 86400000; + return false; }, }, tableTwoList: { @@ -585,8 +589,8 @@ async getDetailsData(id) { if (this.activeName == "first") { this.form = { - number: "", - finishDate: "", + number: idValue, + finishDate:this.$moment(new Date()).format('YYYY-MM-DD'), market: "", workshopObj: "", spec: "", @@ -595,7 +599,7 @@ circle: "", totalCircle: "", position: "", - }; + } if (this.registerId) { await getRegisterDetails({ id: id ? id : this.registerId }).then( (response) => { @@ -625,12 +629,12 @@ } } else { this.form = { - number: "", + number: idValue, workshopObj: "", workshopGroup: "", circle: "", spec: "", - finishDate: "", + finishDate: this.$moment(new Date()).format('YYYY-MM-DD'), averageFineness: "", measureFineness: "", deviation: "", @@ -866,8 +870,8 @@ cancelClickOne() { if (this.activeName == "first") { this.form = { - number: "", - finishDate: "", + number: idValue, + finishDate:this.$moment(new Date()).format('YYYY-MM-DD'), market: "", workshopObj: "", spec: "", diff --git a/src/views/systemSetting/silkStandardSetting/index.vue b/src/views/systemSetting/silkStandardSetting/index.vue index 9d315e1..6ff2501 100644 --- a/src/views/systemSetting/silkStandardSetting/index.vue +++ b/src/views/systemSetting/silkStandardSetting/index.vue @@ -220,8 +220,15 @@ }, // 鍒犻櫎 clearupProject(data, index) { - this.tableData.splice(index, 1) - this.silkTableList.tableData=this.tableData + this.$confirm('纭畾瑕佸垹闄ゅ悧, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.tableData.splice(index, 1) + this.silkTableList.tableData=this.tableData + }).catch(() => { + }); }, // 淇濆瓨缂栬緫鎸夐挳鍒囨崲 editSaveClick() { diff --git a/src/views/systemSetting/workshopManage/components/workshopDialog.vue b/src/views/systemSetting/workshopManage/components/workshopDialog.vue new file mode 100644 index 0000000..efe317d --- /dev/null +++ b/src/views/systemSetting/workshopManage/components/workshopDialog.vue @@ -0,0 +1,461 @@ +<template> + <el-dialog + :visible.sync="editConfig.visible" + :before-close="handleClose" + > + <!-- 澶� --> + <div slot="title" class="dialog-header"> + <span>{{editConfig.title}}杞﹂棿绠$悊</span> + </div> + <div class="dialog-view"> + <el-form + ref="workshopForm" + :model="editConfig.infomitton" + :rules="rules" + label-position="right" + label-width="100px" + size="mini" + > + <div> + <el-row> + <el-col :span="12"> + <el-form-item prop="workshop" label="杞﹂棿:" style="width: 100%;"> + <el-select + :disabled="editConfig.OperationType===3" + v-model="editConfig.infomitton.workshop" + value-key="workshopName" placeholder="璇烽�夋嫨杞﹂棿" + @change="selWorkshop" + > + <el-option + v-for="item in workshopList" + :key="item.ID" + :label="item.name" + :value="{workshopNumber:item.number,workshopName:item.name}"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="缁勫埆:" style="width: 100%;" + prop="groupNumber" > + <el-input + type="number" + :disabled="editConfig.OperationType===3" + v-model.number="editConfig.infomitton.groupNumber" + :rows="4" + style="resize: none !important;" + placeholder="璇疯緭鍏ョ粍鍒�" + @change="changeGroupNumber" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="寮�濮嬭溅鍙�:" style="width: 100%;" prop="startCarNumber" > + <el-input + type="number" + :disabled="editConfig.OperationType===3" + v-model.number="editConfig.infomitton.startCarNumber" + :rows="4" + style="resize: none !important;" + placeholder="璇疯緭鍏ュ紑濮嬭溅鍙�" + @change="changeStartCarNumber" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="缁撴潫杞﹀彿:" style="width: 100%;" prop="endCarNumber" > + <el-input + type="number" + :disabled="editConfig.OperationType===3" + v-model.number="editConfig.infomitton.endCarNumber" + :rows="4" + style="resize: none !important;" + placeholder="璇疯緭鍏ョ粨鏉熻溅鍙�" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鏍囧織绫诲瀷:" style="width: 100%;" > + <el-select + @change="changeCarFlag" + :disabled="editConfig.OperationType===3" v-model.number="editConfig.infomitton.carFlag" placeholder="璇烽�夋嫨鏍囧織绫诲瀷"> + <el-option + v-for="item in carFlagList" + :key="item.value" + :label="item.name" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="澶囨敞:" style="width: 100%;" > + <el-input + :disabled="this.editConfig.OperationType===3" + v-model="editConfig.infomitton.notes" + type="textarea" + :rows="4" + style="resize: none !important;" + placeholder="" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </div> + </el-form> + </div> + <div class="dialog-footer"> + <div class="bottom-tabs"> + <div class="tab-pane" style="background:#2a78fb;color: #fff"> + 缁勫埆鏄庣粏鍒楄〃 + </div> + </div> + <div class="list-view"> + <TableCommonView :table-list="tableList" + @selTableCol="selTableCol"> + <template slot="tableButton"> + <el-table-column label="寮�濮嬭溅鍙�" width="120" align="center"> + <template slot-scope="scope"> + {{scope.row.startCarNumber?scope.row.startCarNumber:'--'}} + </template> + </el-table-column> + <el-table-column label="寮�濮嬫爣璁�" width="120" align="center" v-if="editConfig.infomitton.carFlag===1"> + <template slot-scope="scope"> + {{scope.row.startCarHalf===1?'宸﹀崐杞�':'鍙冲崐杞�'}} + </template> + </el-table-column> + <el-table-column label="缁撴潫杞﹀彿" width="120" align="center"> + <template slot-scope="scope"> + <el-input type="number" :disabled="scope.row.noEdit" placeholder="璇疯緭鍏�" v-model.number="scope.row.endCarNumber" size="small" v-if="editConfig.OperationType!==3"></el-input> + <span v-else>{{scope.row.endCarNumber}}</span> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏍囪" v-if="editConfig.infomitton.carFlag===1" width="120" align="center"> + <template slot-scope="scope"> + <el-select size="small" :disabled="scope.row.noEdit" v-model="scope.row.endCarHalf" v-if="editConfig.OperationType!==3"> + <el-option label="宸﹀崐杞�" :value="1">宸﹀崐杞�</el-option> + <el-option label="鍙冲崐杞�" :value="2">鍙冲崐杞�</el-option> + </el-select> + <span v-else>{{scope.row.endCarNumber}}</span> + </template> + </el-table-column> + <el-table-column label="澶囨敞" width="100" align="center"> + <template slot-scope="scope"> + <el-input placeholder="璇疯緭鍏�" v-model="scope.row.notes" size="small" v-if="editConfig.OperationType!==3"></el-input> + <span v-else>{{scope.row.notes}}</span> + </template> + </el-table-column> + <el-table-column + label="鎿嶄綔" + width="60" + align="center" + v-if="editConfig.OperationType!==3" + > + <template slot-scope="scope"> + <el-button + type="text" + size="small" + @click.stop="handleDelClick(scope, '鎿嶄綔')">鍒犻櫎</el-button> + </template> + </el-table-column> + </template> + </TableCommonView> + </div> + <div style="line-height: 50px" v-if="editConfig.OperationType!==3"> + <el-button type="primary" size="small" @click="addItem">鏂板</el-button> + <el-button type="primary" size="small" @click="clearItem">娓呯┖</el-button> + </div> + </div> + <div slot="footer" class="dialog-footer"> + <el-button + type="primary" + size="small" + @click="saveClick" + :disabled="editConfig.OperationType===3">淇濆瓨</el-button> + <el-button size="small" @click="handleClose">鍙栨秷</el-button> + </div> + </el-dialog> +</template> + +<script> + import {getDict,saveWorkshopManage} from "@/api/systemSetting/workshopManage"; + export default { + name: "workshopDialog", + props:{ + editConfig:{ + type:Object, + default:()=>({ + visible: false,//寮规鏄惁鍙 + title: "鏂板缓", + OperationType:1,//1 鏂板缓 2 淇敼 3 鏌ョ湅 + infomitton: { + details:[]//鍒楄〃鏁版嵁 + },//琛ㄥ崟鏁版嵁 + 鏄庣粏鍒楄〃鏁版嵁 + }) + } + }, + data(){ + return { + tableList:{}, + showCol: ["寮�濮嬫爣璁�","杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�","寮�濮嬫爣璁�", "缁撴潫杞﹀彿", "缁撴潫鏍囪","鏍囧織绫诲瀷", "澶囨敞"], + tableColumn: [ + { label: "杞﹂棿", prop: "workshopName" }, + { label: "缁勫埆", prop: "groupNumber" }, + { label: "鏍囧織绫诲瀷", prop: "carFlag" ,isCallMethod:true,getCallMethod:(value)=>{return value===0?'鍏ㄨ溅':'鍗婅溅'}}, + /*{ label: "寮�濮嬭溅鍙�", prop: "startCarNumber" },*/ + /*{ label: "缁撴潫杞﹀彿", prop: "endCarNumber" },*/ + /*{ label: "澶囨敞", prop: "notes", },*/ + ], + workshopList:[], + carFlagList:[ + { + name:'鍏ㄨ溅', + value:0 + }, + { + name:'鍗婅溅', + value:1 + } + ],// 鏍囧織绫诲瀷鍒楄〃 + rules:{ + workshop: [ + { required: true, message: '璇烽�夋嫨杞﹂棿', trigger: 'change' } + ], + groupNumber: [ + { required: true, message: '璇峰~鍐欑粍鍒�', trigger: 'blur' } + ], + startCarNumber: [ + { required: true, message: '璇峰~鍐�', trigger: 'blur' } + ], + endCarNumber: [ + { required: true, message: '璇峰~鍐�', trigger: 'blur' } + ], + }, + itemModel:{//鏂板妯℃澘 + startCarHalf:1, + endCarHalf:2, + workshopName:'', + groupNumber:'', + startCarNumber:'', + endCarNumber:'', + carFlag:1, + notes:'' + } + } + }, + created(){ + this.initData(); + }, + methods:{ + initBottomTableList(list){ + this.tableList.tableInfomation=JSON.parse(JSON.stringify(list)); + }, + clearData(){ + this.tableList.tableInfomation=[{...this.itemModel}]; + this.$refs['workshopForm'].resetFields(); + this.editConfig.visible=false; + }, + doChangeData(val,fieldName){ + this.tableList.tableInfomation.forEach((item,index)=>{ + if(fieldName==='workshop'){ + item.workshopName=val.workshopName; + item.workshopNumber=val.workshopNumber; + }else if(fieldName==='startCarNumber'){ + if(index===0){ + item.startCarNumber=val; + } + }else{ + item[fieldName]=val; + } + }); + }, + //閫夋嫨杞﹂棿 + selWorkshop(val){ + this.doChangeData(val,'workshop'); + }, + //鏀瑰彉缁勫埆 + changeGroupNumber(val){ + this.doChangeData(val,'groupNumber'); + }, + changeStartCarNumber(val){ + this.doChangeData(val,'startCarNumber'); + }, + changeCarFlag(val){ + this.doChangeData(val,'carFlag'); + }, + //鍏抽棴妯℃�佹 + handleClose(){ + this.clearData(); + }, + //淇濆瓨 + saveClick(){ + this.$refs['workshopForm'].validate(async (vail)=>{ + if(vail){ + const lastObj=this.tableList.tableInfomation[this.tableList.tableInfomation.length-1]; + if(!lastObj.endCarNumber){ + this.$message.error('鏄庣粏缁撴潫杞﹀彿涓嶈兘涓虹┖'); + return ; + }else if(lastObj.endCarNumber<lastObj.startCarNumber){ + this.$message.error(`鏄庣粏缁撴潫杞﹀彿${lastObj.endCarNumber},涓嶈兘灏忎簬鏄庣粏璧峰杞﹀彿${lastObj.startCarNumber}`); + return; + }else if(lastObj.endCarNumber>this.editConfig.infomitton.endCarNumber){ + this.$message.error(`鏄庣粏缁撴潫杞﹀彿${lastObj.endCarNumber},涓嶈兘澶т簬杞﹂棿鎬荤殑缁撴潫杞﹀彿${this.editConfig.infomitton.endCarNumber}`); + return; + } + //鎵ц淇濆瓨鎿嶄綔 + const params={ + ...this.editConfig.infomitton, + ...this.editConfig.infomitton.workshop, + details:[...this.tableList.tableInfomation].map(item=>{ + item.startCarNumber=parseInt(item.startCarNumber); + item.groupNumber=parseInt(item.groupNumber); + return item; + }) + }; + delete params.workshop; + const {code}=await saveWorkshopManage(params); + if(code===200){ + this.$message.success(`${this.editConfig.OperationType===1?'娣诲姞':'淇敼'}鎴愬姛`); + window.setTimeout(()=>{ + this.clearData(); + this.$emit('refresh'); + },500); + }else{ + this.$message.error(`${this.editConfig.OperationType===1?'娣诲姞':'淇敼'}澶辫触`); + } + }else{ + this.$message.error('璇峰厛灏嗚〃鍗曞~鍐欏畬鏁�'); + } + }); + }, + //鏂板鏄庣粏 + addItem(){ + this.$refs['workshopForm'].validate((vail)=>{ + if(vail){ + const obj={...this.itemModel}; + if(this.editConfig.infomitton.workshop){ + obj.workshopName=this.editConfig.infomitton.workshop.workshopName; + obj.workshopNumber=this.editConfig.infomitton.workshop.workshopNumber; + } + if(this.editConfig.infomitton.groupNumber){ + obj.groupNumber=this.editConfig.infomitton.groupNumber; + } + //鍒ゆ柇涓婁竴涓厓绱犵殑缁撴潫杞﹀彿 + const lastObj=this.tableList.tableInfomation[this.tableList.tableInfomation.length-1]; + if(!lastObj.endCarNumber){ + this.$message.error('鏄庣粏缁撴潫杞﹀彿涓嶈兘涓虹┖'); + return ; + }else if(lastObj.endCarNumber<lastObj.startCarNumber){ + this.$message.error(`鏄庣粏缁撴潫杞﹀彿${lastObj.endCarNumber},涓嶈兘灏忎簬鏄庣粏璧峰杞﹀彿${lastObj.startCarNumber}`); + return; + }else if(lastObj.endCarNumber>this.editConfig.infomitton.endCarNumber){ + this.$message.error(`鏄庣粏缁撴潫杞﹀彿${lastObj.endCarNumber},涓嶈兘澶т簬杞﹂棿鎬荤殑缁撴潫杞﹀彿${this.editConfig.infomitton.endCarNumber}`); + return; + } + if(lastObj.endCarHalf===1){//宸﹀崐杞� + obj.startCarNumber=lastObj.endCarNumber + obj.startCarHalf=2;//鍙冲崐杞� + }else{ + obj.startCarNumber=lastObj.endCarNumber+1; + obj.startCarHalf=1;//宸﹀崐杞� + } + lastObj.noEdit=true; + this.$set(this.tableList.tableInfomation,this.tableList.tableInfomation.length-1,{...lastObj}); + obj.carFlag=this.editConfig.infomitton.carFlag; + this.tableList.tableInfomation.push(obj); + }else{ + this.$message.error('璇峰厛灏嗚〃鍗曞~鍐欏畬鏁�'); + } + }); + + }, + setTable() { + this.tableList = { + maxHeight:320, + selectIndex: true, + tableInfomation: [{...this.itemModel}], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) + } + this.setTableList(this.tableList) + }, + selTableCol(val){ + this.showcol = val; + this.tableList.tableColumn = this.setColumnVisible(val, this.tableColumn) + }, + setTableList(tableList) { + tableList.allcol = tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) + }, + setColumnVisible(showCol, tableColumn) { + return tableColumn.map((ele) => { + return { + ...ele, + isShowColumn: showCol.includes(ele.label) + } + }) + }, + initData(){ + this.setTable(); + this.getDictData(); + }, + async getDictData(){ + await getDict({dictType:1}).then((res)=>{ + if(res&&res.code===200){ + this.workshopList=res.data + } + }) + }, + // 鍒犻櫎鏄庣粏 + handleDelClick(scope){ + if(this.tableList.tableInfomation.length>1){ + let index=scope.$index; + this.tableList.tableInfomation.splice(index,1); + const lastObj=this.tableList.tableInfomation[index-1]; + lastObj.noEdit=false; + this.$set(this.tableList.tableInfomation,index-1,{...lastObj}) + }else{ + this.$message.error('缁勫埆鑷冲皯鏈変竴鏉℃槑缁�'); + } + }, + // 娓呯┖鏄庣粏锛屼絾鏄繚鐣欑涓�鏉℃槑缁� + clearItem(){ + if(this.tableList.tableInfomation.length>1){ + this.tableList.tableInfomation.splice(1,this.tableList.tableInfomation.length-1); + const lastObj=this.tableList.tableInfomation[0]; + lastObj.noEdit=false; + this.$set(this.tableList.tableInfomation,scope.$index-1,{...lastObj}) + }else{ + this.$message.error('缁勫埆鑷冲皯鏈変竴鏉℃槑缁�'); + } + } + } + } +</script> + +<style scoped lang="scss"> + .dialog-view{ + width: 96%; + } + .dialog-footer{ + .bottom-tabs { + height: 40px; + line-height: 40px; + background: white; + display: flex; + .tab-pane { + width: 100px; + margin-right: 20px; + font-size: 12px !important; + text-align: center; + cursor: pointer; + background: #2a78fb; + border-top-left-radius: 20px; + border-top-right-radius: 20px; + } + } + } +</style> \ No newline at end of file diff --git a/src/views/systemSetting/workshopManage/index.vue b/src/views/systemSetting/workshopManage/index.vue index 5d500cf..5869863 100644 --- a/src/views/systemSetting/workshopManage/index.vue +++ b/src/views/systemSetting/workshopManage/index.vue @@ -12,7 +12,9 @@ </div> <div class="body-card"> <div class="list-view"> - <TableCommonView :table-list="tableList" @selTableCol="selTableCol" @handleShow="handleShow" + <TableCommonView :table-list="tableList" + :selectClassRow="selectRow" + @selTableCol="selTableCol" @tableRowClick="tableRowClick"> <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="180"> @@ -20,7 +22,6 @@ <el-button @click.stop="handleClick(scope.row, '鏌ョ湅')" type="text" size="small">鏌ョ湅</el-button> <el-button @click.stop="handleClick(scope.row, '淇敼')" type="text" size="small">淇敼</el-button> <el-button @click.stop="handleClick(scope.row, '鍒犻櫎')" type="text" size="small">鍒犻櫎</el-button> - </template> </el-table-column> </template> @@ -30,8 +31,40 @@ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> </div> </div> - <AddWorkshop ref="bomTypeDialog" @handleConfirmSave="handleConfirmSave" :workList="workList" title="娣诲姞鑺傜偣绫诲瀷" /> - <AddDataDictionaries :editDiaConfig="editConfig" /> + <div class="body-card1"> + <div class="bottom-tabs"> + <div + class="tab-pane" + @click="getTab(0)" + :style="{ + background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 0 ? '#fff' : '#666' + }" + > + 缁勫埆鍒楄〃 + </div> + <!--<div + class="tab-pane" + @click="getTab(1)" + :style="{background: TabsIndex == 1 ? '#2a78fb' : '#F1F3F8',color: TabsIndex == 1 ? '#fff' : '#666'}" + > + 鍗曟嵁杩芥函 + </div>--> + </div> + <div class="list-view"> + <TableCommonView :table-list="bottomTableList" + @selTableCol="selTableCol"> + <template slot="tableButton"> + </template> + </TableCommonView> + </div> + <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + </div> + </div> + <!--<AddWorkshop ref="bomTypeDialog" @handleConfirmSave="handleConfirmSave" :workList="workList" title="娣诲姞鑺傜偣绫诲瀷" /> + <AddDataDictionaries :editDiaConfig="editConfig" />--> + <WorkshopDialog ref="workshopDialogRef" :edit-config="editConfig" @refresh="refresh"></WorkshopDialog> </div> </template> @@ -41,23 +74,29 @@ import TableCommonView from '@/components/makepager/TableCommonView.vue' import AddWorkshop from '@/views/systemSetting/workshopManage/components/addWorkshop.vue' import pageMixin from "@/components/makepager/pager/mixin/pageMixin" +import WorkshopDialog from '@/views/systemSetting/workshopManage/components/workshopDialog.vue' export default { name: "workshopManage", props: {}, - components: { TableCommonView, AddWorkshop, AddDataDictionaries }, + components: { TableCommonView, AddWorkshop, AddDataDictionaries,WorkshopDialog }, mixins: [pageMixin], - computed: {}, + computed: { + + }, data() { return { + selectRow:{}, + TabsIndex:0, + bottomTableList:{}, tableList: {}, - showCol: ["杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�", "缁撴潫杞﹀彿", "鍗婅溅鏍囧織", "澶囨敞"], + showCol: ["杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�", "缁撴潫杞﹀彿", "鏍囧織绫诲瀷", "澶囨敞"], tableColumn: [ // { label: "杞﹂棿", prop: "workshopNumber",iconRight:"el-icon-setting"}, { label: "杞﹂棿", prop: "workshopName", }, { label: "缁勫埆", prop: "groupNumber", }, { label: "寮�濮嬭溅鍙�", prop: "startCarNumber" }, { label: "缁撴潫杞﹀彿", prop: "endCarNumber" }, - { label: "鍗婅溅鏍囧織", prop: "carFlag", isCallMethod: true, getCallMethod: this.getStatusCarFlag }, + { label: "鏍囧織绫诲瀷", prop: "carFlag", isCallMethod: true, getCallMethod: this.getStatusCarFlag }, { label: "澶囨敞", prop: "notes", }, ], // 绫诲瀷 @@ -79,16 +118,22 @@ this.getData() }, methods: { + refresh(){ + this.getData(); + }, setTable() { + const obj={ + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) + }; // top 鏄庣粏鍗曞垪琛� - this.tableList = { - selectIndex: true, - tableInfomation: [], - allcol: [], - showcol: this.showCol, - tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) - } - this.setTableList(this.tableList) + this.tableList = {...obj}; + this.bottomTableList={...obj}; + this.setTableList(this.tableList); + this.setTableList(this.bottomTableList); }, setColumnVisible(showCol, tableColumn) { return tableColumn.map((ele) => { @@ -100,7 +145,7 @@ }, setTableList(tableList) { tableList.allcol = tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) - this.searchOptions = [] + this.searchOptions = []; for (let i = 0; i < tableList.tableColumn.length; i++) { const label = tableList.tableColumn[i].label const value = tableList.tableColumn[i].prop @@ -113,7 +158,8 @@ }, // 琛ㄦ牸琛岀偣鍑� tableRowClick(row) { - console.log(row, "row") + this.selectRow={...row}; + this.bottomTableList.tableInfomation=row.details||[]; }, // 鎼滅储 onFilterSearch(searchText) { @@ -123,8 +169,12 @@ }, // 鏂板 addBtnClick() { - this.editConfig.infomitton = {} - this.editConfig.dialogTitle = "鏂板" + this.editConfig.infomitton = { + carFlag:1, + workshop:{} + }; + this.editConfig.OperationType=1; + this.editConfig.title = "鏂板"; this.editConfig.visible = true }, // 淇濆瓨 @@ -133,10 +183,10 @@ }, // 鍒锋柊 refreshClick() { - this.getDataParams.keyWord = "" - this.pagerOptions.currPage = 1 - this.pagerOptions.pageSize = 15 - this.$refs.searchRef.searchInput = "" + this.getDataParams.keyWord = ""; + this.pagerOptions.currPage = 1; + this.pagerOptions.pageSize = 15; + this.$refs.searchRef.searchInput = ""; this.getData() }, // 鎵撳嵃 @@ -144,58 +194,65 @@ // 鍒犻櫎 delBtnClick() { }, // 缁勫埆 - handleShow() { + /* handleShow() { this.$refs.bomTypeDialog.editDialogVisible = true; - }, + },*/ handleGetBomKindDictList() { // postGetBomKindDictList().then((res) => { // this.workList = res.data; // }); }, handleConfirmSave(data) { - console.log(data) - // postSaveBomKindDict({ data: data }).then((res) => { - // if (res.code == 200) { - // this.$message({ - // message: "鎿嶄綔鎴愬姛锛�", - // type: "success", - // }); - // this.$refs.bomTypeDialog.editDialogVisible = false; - // this.handleGetBomKindDictList(); - // } - // }); + console.log(data); }, // 杞﹂棿鍒楄〃 async getData() { await getWorkshopManageList({ keyWord: this.getDataParams.keyWord, page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize + pageSize: this.pagerOptions.pageSize, + type:1 }).then((res) => { this.tableList.tableInfomation = res.data this.pagerOptions.totalCount = res.total - }) + if(res.data.length>0){ + this.bottomTableList.tableInfomation=res.data[0].details||[]; + } + }); }, getStatusCarFlag(val) { - if (val) { - return val == 1 ? '宸﹀崐杞�' : val == 2 ? '鍙冲崐杞�' : val == 3 ? '鍏ㄨ溅缁撴潫' : '--' - } else { - return "--"; - } + if(val===0){ + return '鍏ㄨ溅' + }else{ + return '鍗婅溅' + } }, handleClick(row, type) { if (type !== "鍒犻櫎") { this.editConfig.infomitton = { ...row, workshop:{ - number:row.workshopNumber, - name:row.workshopName + workshopNumber:row.workshopNumber, + workshopName:row.workshopName } - } + }; this.editConfig.infomitton.workshopId = row.ID this.editConfig.infomitton.workshopNumber = Number(this.editConfig.infomitton.workshopNumber) - this.editConfig.dialogTitle = type - this.editConfig.visible = true + this.editConfig.title = type; + if(type==='淇敼'){ + this.editConfig.OperationType=2 + }else{ + this.editConfig.OperationType=3 + } + this.editConfig.visible = true; + (row.details||[]).forEach((item,index)=>{ + if(index<row.details.length-1){ + item.noEdit=true; + }else{ + item.noEdit=false; + } + }); + this.$refs['workshopDialogRef'].initBottomTableList(row.details||[]); } else if (type === "鍒犻櫎") { this.$confirm(`纭鍒犻櫎鍚�?`, '鎻愮ず', { confirmButtonText: '纭畾', @@ -235,19 +292,15 @@ border-radius: 4px; background-color: #fff; } - - .body-card { + .body-card,.body-card1 { margin: 0 30px; background-color: #fff; padding: 10px 15px; - height: calc(100% - 180px); border-radius: 4px; - .edit-save { display: flex; align-items: center; margin-bottom: 10px; - .edit-save-icon { font-size: 24px; color: #5582f3; @@ -261,6 +314,34 @@ } } } + .body-card{ + height: calc(100% - 440px); + } + .body-card1{ + margin-top: -50px; + height: calc(100% - 500px); + .bottom-tabs { + height: 40px; + line-height: 40px; + background: white; + display: flex; + .tab-pane { + width: 100px; + margin-right: 20px; + font-size: 14px !important; + text-align: center; + cursor: pointer; + background: #2a78fb; + border-top-left-radius: 20px; + border-top-right-radius: 20px; + } + } + padding-bottom: 100px; + .btn-pager{ + position: relative; + top: -5px; + } + } } .list-view { @@ -271,7 +352,6 @@ .btn-pager { display: flex; margin-top: 10px; - .page { margin-left: auto; } diff --git a/vue.config.js b/vue.config.js index 8475b1c..8800196 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,11 +1,11 @@ const path = require("path") // 鍩虹璺緞 娉ㄦ剰鍙戝竷涔嬪墠瑕佸厛淇敼杩欓噷 -const publicPath = "/" +const publicPath = "./" function resolve(dir) { return path.join(__dirname, dir) } - -const serverPath='http://192.168.0.101:8008'; +const ipNum=59; +const serverPath='http://192.168.0.86:8008'; // 璁剧疆涓嶅弬涓庢瀯寤虹殑搴� const externals = {}; module.exports = { @@ -62,4 +62,4 @@ } } } -} +}; -- Gitblit v1.8.0