From 9424330fa330506d24ed84e5c3680063ca6c6a97 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期一, 03 六月 2024 11:22:38 +0800
Subject: [PATCH] 1
---
src/views/console/product-process/process-route.vue | 217 +++++++++++++++++++++++++++++-------------------------
1 files changed, 117 insertions(+), 100 deletions(-)
diff --git a/src/views/console/product-process/process-route.vue b/src/views/console/product-process/process-route.vue
index 316715c..01b41b9 100644
--- a/src/views/console/product-process/process-route.vue
+++ b/src/views/console/product-process/process-route.vue
@@ -1,7 +1,7 @@
<template>
<div class="processPage">
<div class="roleContainer">
- <div class="addRoute">+鏂板缓宸ヨ壓璺嚎</div>
+ <div class="addRoute" @click="addRoute">+鏂板缓宸ヨ壓璺嚎</div>
<el-input v-model="keyword" size="small" prefix-icon="el-icon-search" placeholder="璇疯緭鍏ュ悕绉�" clearable @keyup.enter="searchBtn"></el-input>
<ul class="left-ul">
<li v-for="(item,index) in leftData" :class="{active: item.active}" @click="changeTabaleLi(index)">
@@ -22,8 +22,8 @@
</div>
<div class="process-main-tabs">
<div class="process-main-header">
- <div class="main-header-label">宸ヨ壓璺嚎<span>{{leftData[0].name}}</span></div>
- <div style="padding: 20px;border-bottom: 1px solid #dee;">
+ <div class="main-header-label">宸ヨ壓璺嚎<span>{{productName}}</span></div>
+ <div style="padding: 20px 20px 8px;border-bottom: 1px solid #dee;">
<div class="main-info">
<div class="info-top-title">宸ヨ壓璺嚎鐗堟湰</div>
<div class="main-info-tooltip">
@@ -32,74 +32,32 @@
</div>
</div>
<div>
- <div class="btn-box vistion-button">
+ <div :class="{'btn-box':true, 'vistion-button': true, 'isBorder': item.isBorder}" v-for="(item,index) in detail.dtos" @click="changeDots(item,index)">
<span class="vistion-button-round"></span>
- <span class="vistion-button-name">V001</span>
+ <el-tooltip trigger="click" class="detail-item" effect="dark" :content="vHtml" placement="bottom" raw-content>
+ <span class="vistion-button-name" @click="showDetail(item)">{{item.name}}</span>
+ </el-tooltip>
<el-icon class="vistion-button-icon"><DocumentCopy /></el-icon>
- <el-icon class="vistion-button-icon"><Delete /></el-icon>
+ <el-icon class="vistion-button-icon" @click="delIcon(item)"><Delete /></el-icon>
</div>
- <div class="btn-box most-vision">鏇村鐗堟湰...</div>
- <el-button>+ 娣诲姞鏂扮増鏈�</el-button>
+ <div class="btn-box most-vision" @click="changeV" v-if="detail.dtos.length!=0">{{changVTitle}}</div>
+ <el-button @click="addVision">+ 娣诲姞鏂扮増鏈�</el-button>
</div>
</div>
</div>
<div class="correlation-product-line">鍏宠仈浜х嚎<span>鍗冩枃绉戞妧</span></div>
<div class="process-main-content">
- <div class="main-content-left">
- <div class="info-top-title">宸ヨ壓璺嚎</div>
- <div style="margin-bottom: 12px;">
- <el-button type="primary">鏂板</el-button>
- <el-button type="primary">瀹氱増</el-button>
- <el-button disabled>骞跺簭</el-button>
- </div>
- <el-table ref="multipleTableRef0" :data="tableData" border style="width: 100%" class="multipleTableRef" @selection-change="HandleSelectionChange">
- <el-table-column type="selection" width="55" />
- <el-table-column prop="name" label="宸ュ簭椤哄簭"></el-table-column>
- <el-table-column prop="code" label="宸ュ簭缂栧彿"></el-table-column>
- <el-table-column prop="typeName" label="宸ュ簭鍚嶇О"></el-table-column>
- <el-table-column fixed="right" label="鎿嶄綔" width="200px">
- <template #default="scope">
- <!-- <el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button>
- <el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index)">鍒锋柊</el-button>
- <el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index)">鍒犻櫎</el-button> -->
- </template>
- </el-table-column>
- </el-table>
- </div>
- <div class="main-content-right">
- <div class="main-info-title">宸ュ簭淇℃伅</div>
- <ul>
- <li>宸ュ簭缂栧彿<span>-</span></li>
- <li>宸ュ簭鍚嶇О<span>-</span></li>
- <li>宸ュ簭椤哄簭<span>-</span></li>
- </ul>
- </div>
+ <!-- isCustomization 鏂板缓/姝ラ -->
+ <workmanship :isCustomization="true" :craftId="craftId"></workmanship>
</div>
</div>
- <!-- <el-dialog title="" v-model="visible" :width="360" class="visible-model">
- <el-form :model="routeForm" :rules="routeRules" ref="dialogForm" label-width="120px"
- label-position="center">
- <el-row>
- <el-col :span="24">
- <el-form-item label="宸ヨ壓璺嚎鐗堟湰" prop="test">
- <el-select v-model="routeForm.test" style="width: 100%" placeholder="璇烽�夋嫨">
- <el-option v-for="item in testList" :key="item.id" :label="item.title" :value="item.id"/>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <el-button @click="visible = false">鍙栨秷</el-button>
- <el-button type="primary" :loading="isSaveing" @click="routeSubmit">纭畾</el-button>
- </template>
- </el-dialog> -->
</div>
<save-dialog v-if="dialog.save" ref="saveDialog" @success="addRouteSuccess" @closed="dialog.save=false"></save-dialog>
</template>
<script>
import saveDialog from './addRoute'
+ import workmanship from './process-route/workmanship' //宸ヨ壓璺嚎
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
let icons = []
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
@@ -107,9 +65,16 @@
}
export default {
name: 'route',
- components: {...ElementPlusIconsVue,saveDialog},
+ components: {...ElementPlusIconsVue,saveDialog,workmanship},
data() {
return {
+ craftId: "",
+ id: "",
+ changVTitle: "鏇村鐗堟湰...",
+ isMore: true,
+ productName: "",
+ vHtml: '',
+ detail: {dtos: [{name: "",isBorder: false}]},
testList: [],
routeForm: {
test: ""
@@ -125,16 +90,66 @@
save: false
},
info: {},
- tableData: [],
- selection: []
+ delIconId: ""
}
},
mounted(){
this.getLeftTree();
},
methods: {
+ delIcon(item) {
+ this.delIconId = item.id;
+ var that = this;
+ this.$confirm(`纭瑕佸垹闄ゆ宸ヨ壓鐗堟湰鍚�?`, '', {
+ type: 'warning'
+ }).then(() => {
+ this.$HTTP.delete("/api/blade-cps/production-craft-version/remove/"+that.delIconId).then(res=> {
+ if(res.code == 200) {
+ that.$message.success("鎿嶄綔鎴愬姛");
+ that.getDetail();
+ }
+ })
+ }).catch(() => {
+
+ })
+ },
+ changeDots(item,index) {
+ this.detail.dtos.forEach(item=> {
+ item.isBorder = false;
+ })
+ this.detail.dtos[index].isBorder = true;
+ this.craftId = item.id;
+ },
+ addVision() {
+ this.$router.push({path: `/console/product-process/process-route/add-craft-version`,query: {id:this.id,craftId:this.craftId}})
+ },
+ addRoute() {
+ this.$router.push({path: `/console/product-process/process-route/add-craft`,query: {id:this.id}})
+ },
+ changeV() {
+ this.isMore = !this.isMore;
+ if(this.isMore) {
+ this.changVTitle = "鏇村鐗堟湰...";
+ }else {
+ this.changVTitle = "鏀惰捣";
+ }
+ },
+ showDetail(item) {
+ this.$HTTP.get(`/api/blade-cps/production-craft-version/detail/${item.id}`).then(res=> {
+ if(res.code == 200) {
+ this.vHtml = `<ul class='detailUl'>
+ <li><span class='detailStyle'>鍚嶇О</span><span>${res.data.name}</span></li>
+ <li><span class='detailStyle'>鍏宠仈浜х嚎</span><span>${res.data.groupName}</span></li>
+ <li><span class='detailStyle'>鎻忚堪</span><span>${res.data.description}</span></li>
+ <li><span class='detailStyle'>鍒涘缓浜�</span><span>${res.data.createUser}</span></li>
+ <li><span class='detailStyle'>鍒涘缓鏃堕棿</span><span>${res.data.createTime}</span></li>
+ <li><span class='detailStyle'>淇敼浜�</span><span>${res.data.updateUser}</span></li>
+ <li><span class='detailStyle'>淇敼鏃堕棿</span><span>${res.data.updateTime}</span></li>
+ </ul>`
+ }
+ })
+ },
table_edit(row){
- this.dialog.save = true
this.$HTTP.get(`/api/blade-cps/craft-routing/not-band-craft?craftId=${row.id}`).then(res=> {
if(res.code == 200) {
this.dialog.save = true;
@@ -146,9 +161,6 @@
},
addRouteSuccess() {
this.getLeftTree();
- },
- HandleSelectionChange(selection) {
- this.selection = selection;
},
routeSubmit() {
this.$refs.dialogForm.validate(async (valid) => {
@@ -176,6 +188,20 @@
this.leftData[index].active = true;
this.info = this.leftData[index];
},
+ getDetail() {
+ this.$HTTP.get(`/api/blade-cps/craft-routing/detail?id=${this.id}`).then(res=> {
+ if(res.code == 200) {
+ if(res.data.dtos.length != 0) {
+ res.data.dtos.forEach(item=> {
+ item.isBorder = false;
+ })
+ res.data.dtos[0].isBorder = true;
+ this.craftId = res.data.dtos[0].id;
+ }
+ this.detail = res.data;
+ }
+ })
+ },
getLeftTree() {
var params = [{
key: "name_like",value: ""
@@ -185,6 +211,11 @@
this.$HTTP.post("/api/blade-cps/craft-routing/list",{params}).then(res=> {
if(res.code == 200) {
this.leftData = res.data;
+ if(res.data) {
+ this.productName = res.data[0].name;
+ this.id = res.data[0].id;
+ }
+ this.getDetail();
}
})
}
@@ -276,11 +307,6 @@
.main-header-label span {
margin-left: 12px;
}
-.main-info-title {
- font-size: 14px;
- padding-left: 8px;
- border-left: 2px solid #7ab3ee;
-}
.info-top-title {
padding-left: 8px;
border-left: 4px solid #86bffa;
@@ -304,38 +330,6 @@
margin-right: 4px;
display: inline-block;
}
-.main-info-conent {
- display: flex;
- margin: 8px 0px 12px;
-}
-.main-info-conent > span {
- margin-right: 12px;
- font-size: 14px;
-}
-.main-info-conent > span span {
- margin-left:12px;
-}
-.process-main-content {
- display: flex;
-}
-.main-content-left {
- width: 70%;
-}
-.main-content-right {
- flex: 1;
-}
-.main-content-right ul {
- padding: 12px 30px;
-}
-.main-content-right ul li {
- width: 50%;
- float: left;
- list-style: none;
- margin-bottom:12px;
-}
-.main-content-right ul li span {
- margin-left:12px;
-}
.addRoute {
color: #409eff;
padding: 12px 6px;
@@ -344,19 +338,24 @@
}
.btn-box {
display: inline-block;
- margin-right: 20px;
}
.most-vision {
border-bottom: 1px solid #86bffa;
font-size: 14px;
font-weight: 700;
+ cursor: pointer;
+ margin-right: 12px;
+ margin-left: 6px;
}
.vistion-button {
border: 1px solid #86bffa;
padding: 8px 12px;
+ margin-right: 6px;
+ margin-bottom: 12px;
}
.vistion-button-name {
vertical-align: middle;
+ cursor: pointer;
}
.vistion-button-round {
width: 10px;
@@ -382,4 +381,22 @@
.correlation-product-line span {
margin-left: 20px;
}
+.isBorder {
+ border: 1px solid #0176f0;
+}
+</style>
+<style>
+ .detailUl {
+ padding:20px 6px 8px;
+ }
+ .detailUl li{
+ list-style: none;
+ margin-bottom: 8px;
+ }
+ .detailStyle {
+ display: inline-block;
+ width: 60px;
+ text-align: right;
+ margin-right:20px;
+ }
</style>
--
Gitblit v1.9.3