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