From 3f8e22a435239659af746fcba55a51a1044100fe Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期日, 26 五月 2024 00:24:25 +0800
Subject: [PATCH] 1
---
src/views/console/product-process/process-route/addWorkmanship.vue | 255 ++++++++++++++++++++++++++++++++++++-----
src/views/console/product-process/process-route.vue | 10
src/views/console/product-process/process-route/workmanship.vue | 38 +++++-
3 files changed, 257 insertions(+), 46 deletions(-)
diff --git a/src/views/console/product-process/process-route.vue b/src/views/console/product-process/process-route.vue
index 83ba948..ceb188f 100644
--- a/src/views/console/product-process/process-route.vue
+++ b/src/views/console/product-process/process-route.vue
@@ -40,14 +40,14 @@
<el-icon class="vistion-button-icon"><DocumentCopy /></el-icon>
<el-icon class="vistion-button-icon" @click="delIcon(item)"><Delete /></el-icon>
</div>
- <div class="btn-box most-vision" @click="changeV">{{changVTitle}}</div>
+ <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">
- <workmanship :isCustomization = "true"></workmanship>
+ <workmanship :isCustomization="true" :craftId="craftId"></workmanship>
</div>
</div>
</div>
@@ -117,7 +117,7 @@
item.isBorder = false;
})
this.detail.dtos[index].isBorder = true;
- this.craftId = item.craftId;
+ this.craftId = item.id;
},
addVision() {
this.$router.push({path: `/console/product-process/process-route/add-craft-version`,query: {id:this.id}})
@@ -190,12 +190,12 @@
getDetail() {
this.$HTTP.get(`/api/blade-cps/craft-routing/detail?id=${this.id}`).then(res=> {
if(res.code == 200) {
- if(res.data.dtos) {
+ 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].craftId;
+ this.craftId = res.data.dtos[0].id;
}
this.detail = res.data;
}
diff --git a/src/views/console/product-process/process-route/addWorkmanship.vue b/src/views/console/product-process/process-route/addWorkmanship.vue
index bb077db..f5341ab 100644
--- a/src/views/console/product-process/process-route/addWorkmanship.vue
+++ b/src/views/console/product-process/process-route/addWorkmanship.vue
@@ -11,86 +11,100 @@
<el-row>
<el-col :span="24">
<el-form-item label="宸ュ簭缂栧彿" prop="test0">
- <el-select v-model="workmanshipForm.test0" style="width: 100%" placeholder="宸ュ簭缂栧彿">
- <el-option v-for="item in testList" :key="item.id" :label="item.name" :value="item.id"/>
+ <el-select v-model="workmanshipForm.processId" style="width: 100%" placeholder="宸ュ簭缂栧彿" @change="processChange">
+ <el-option v-for="item in processCodeList" :key="item.id" :label="item.code" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="宸ュ簭鍚嶇О">
- <el-select v-model="workmanshipForm.test0" style="width: 100%" placeholder="宸ュ簭鍚嶇О">
- <el-option v-for="item in testList" :key="item.id" :label="item.name" :value="item.id"/>
+ <el-select v-model="workmanshipForm.processId" style="width: 100%" placeholder="宸ュ簭鍚嶇О" @change="processChange">
+ <el-option v-for="item in processNameList" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="宸ョ">
- <span>-</span>
+ <span>{{workmanshipForm.processTypeName}}</span>
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="宸ュ簭椤哄簭" prop="test0">
- <el-input-number v-model="workmanshipForm.num" :min="1" :max="10" @change="handleChange" />
+ <el-form-item label="宸ュ簭椤哄簭" prop="sort">
+ <el-input-number v-model="workmanshipForm.sort" :min="1" :max="10" @change="handleChange" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="鏍囧噯鐢ㄦ椂">
- <el-input v-model="workmanshipForm.test" style="width: 20%;margin-right: 12px;">
+ <el-input v-model="workmanshipForm.d" style="width: 20%;margin-right: 12px;">
<template #suffix>澶�</template>
</el-input>
- <el-input v-model="workmanshipForm.test" style="width: 20%;margin-right: 12px;">
+ <el-input v-model="workmanshipForm.h" style="width: 20%;margin-right: 12px;">
<template #suffix>鏃�</template>
</el-input>
- <el-input v-model="workmanshipForm.test" style="width: 20%;margin-right: 12px;">
+ <el-input v-model="workmanshipForm.m" style="width: 20%;margin-right: 12px;">
<template #suffix>鍒�</template>
</el-input>
- <el-input v-model="workmanshipForm.test" style="width: 20%;">
+ <el-input v-model="workmanshipForm.s" style="width: 20%;">
<template #suffix>绉�</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="鍑嗗宸ユ椂">
- <el-input v-model="workmanshipForm.test">
+ <el-input v-model="workmanshipForm.prepareTime">
<template #suffix>鍒�</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="瑁呭嵏宸ユ椂">
- <el-input v-model="workmanshipForm.test">
+ <el-input v-model="workmanshipForm.disassemblyTime">
<template #suffix>鍒�</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="杩愯緭宸ユ椂">
- <el-input v-model="workmanshipForm.test">
+ <el-input v-model="workmanshipForm.transportTime">
<template #suffix>鍒�</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鍔犲伐绋嬪簭">
- <el-input v-model="workmanshipForm.test"></el-input>
+ <el-tree-select
+ v-if="workmanshipForm.isSelectProgramFiles"
+ @change = "programIdChange"
+ default-expand-all
+ v-model="workmanshipForm.programId"
+ clearable
+ node-key="id"
+ placeholder="鍔犲伐绋嬪簭"
+ ref="parentTree"
+ :data="programIdData"
+ check-strictly
+ :props="{ label: 'name' }"
+ style="width:100%;"
+ :render-after-expand="false" />
+ <el-input v-if="!workmanshipForm.isSelectProgramFiles" v-model="workmanshipForm.programName"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="">
- <el-checkbox v-model="workmanshipForm.box" label="閫夋嫨绋嬪簭鏂囦欢" size="small"/>
+ <el-checkbox v-model="workmanshipForm.isSelectProgramFiles" label="閫夋嫨绋嬪簭鏂囦欢" size="small"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="宸ヨ壓鍖�">
<el-tree-select
- @change = "parentIdChange"
+ @change = "bagIdChange"
default-expand-all
- v-model="workmanshipForm.test"
+ v-model="workmanshipForm.bagId"
clearable
node-key="id"
- placeholder="涓婄骇浜у搧"
+ placeholder="宸ヨ壓鍖�"
ref="parentTree"
- :data="parentData"
+ :data="bagIdData"
check-strictly
:props="{ label: 'name' }"
style="width:100%;"
@@ -108,11 +122,52 @@
<el-button>鎵归噺鍏宠仈</el-button>
</el-form-item>
</el-col>
+
+ <!-- <el-col :span="24">
+ <el-row style="margin-top: 12px;margin-bottom: 12px;" v-if="isAddData0">
+ <el-col :span="4">
+ <el-select v-model="addData0.type" placeholder="澶瑰叿缁�" size="small" style="padding-right: 20px;">
+ <el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+ </el-select>
+ </el-col>
+ <el-col :span="4">
+ <el-select v-model="addData0.type" placeholder="澶瑰叿缂栧彿" size="small" style="padding-right: 20px;">
+ <el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+ </el-select>
+ </el-col>
+ <el-col :span="4">
+ <el-input v-model="addData0.description" disabled size="small" placeholder="澶瑰叿鍚嶇О" style="padding-right: 20px;"></el-input>
+ </el-col>
+ </el-row>
+ </el-col> -->
+
<el-col :span="24">
- <el-table ref="multipleTableRef" :data="tableDataJQ" border style="width: 100%;margin-bottom:12px;" class="multipleTableRef">
- <el-table-column prop="code" label="澶瑰叿缁�"></el-table-column>
- <el-table-column prop="name" label="澶瑰叿缂栧彿"></el-table-column>
- <el-table-column prop="typeName" label="澶瑰叿鍚嶇О"></el-table-column>
+ <el-table ref="multipleTableRef" :data="fixtures" border style="width: 100%;margin-bottom:12px;" class="multipleTableRef">
+ <el-table-column prop="fixtureGroupName" label="澶瑰叿缁�">
+ <template #default="scope">
+ <el-tree-select
+ @change = "fixturesChange"
+ default-expand-all
+ v-model="item.fixtureCode"
+ clearable
+ node-key="id"
+ placeholder="澶瑰叿缁�"
+ ref="parentTree"
+ :data="fixturesData"
+ check-strictly
+ :props="{ label: 'name' }"
+ style="width:100%;"
+ :render-after-expand="false" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" label="澶瑰叿缂栧彿">
+ <template #default="scope">
+ <el-select v-model="item.fixtureCode" style="width: 100%" placeholder="鍒�鍏峰瀷鍙�">
+ <el-option v-for="item in numJQList" :key="item.id" :label="item.name" :value="item.id"/>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="fixtureName" 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>
@@ -127,10 +182,28 @@
</el-form-item>
</el-col>
<el-col :span="24">
- <el-table ref="multipleTableRef" :data="tableDataDQ" border style="width: 100%;" class="multipleTableRef">
- <el-table-column prop="code" label="鍒�鍏风被鍨�"></el-table-column>
- <el-table-column prop="name" label="鍒�鍏峰瀷鍙�"></el-table-column>
- <el-table-column prop="typeName" label="澶瑰叿缂栧彿"></el-table-column>
+ <el-table ref="multipleTableRef" :data="tools" border style="width: 100%;" class="multipleTableRef">
+ <el-table-column prop="code" label="鍒�鍏风被鍨�">
+ <template #default="scope">
+ <el-select v-model="item.test" style="width: 100%" placeholder="鍒�鍏峰瀷鍙�">
+ <el-option v-for="item in typeDQList" :key="item.id" :label="item.name" :value="item.id"/>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" label="鍒�鍏峰瀷鍙�">
+ <template #default="scope">
+ <el-select v-model="item.test" style="width: 100%" placeholder="鍒�鍏峰瀷鍙�">
+ <el-option v-for="item in modelDQList" :key="item.id" :label="item.name" :value="item.id"/>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="typeName" label="澶瑰叿缂栧彿">
+ <template #default="scope">
+ <el-select v-model="item.test" style="width: 100%" placeholder="鍒�鍏峰瀷鍙�">
+ <el-option v-for="item in numDQList" :key="item.id" :label="item.name" :value="item.id"/>
+ </el-select>
+ </template>
+ </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>
@@ -142,7 +215,7 @@
</el-form>
<div style="margin-top:12px;">
<el-button>鍙栨秷</el-button>
- <el-button type="primary">淇濆瓨</el-button>
+ <el-button type="primary" @click="craftSave">淇濆瓨</el-button>
</div>
</template>
@@ -150,25 +223,139 @@
export default {
data() {
return {
- tableDataJQ: [],
- tableDataDQ: [],
- parentData: {},
+ programIdData: {},
+ numDQList: [],
+ modelDQList: [],
+ typeDQList: [],
+ numJQList: [],
+ fixturesData: [],
+ parentDQData: [],
+ fixtures: [],
+ tools: [],
+ bagIdData: {},
testList: [],
+ processCodeList: [],
+ processNameList: [],
workmanshipForm: {
+ processCode: "",
+ processId: "",
+ processName: "",
+ processTypeName: "-",
+ sort: null,
+ d: "",
+ h: "",
+ m: "",
+ s: "",
+ prepareTime: "",
+ disassemblyTime: "",
+ transportTime: "",
+ programId: "",
+ programName: "", //鍔犲伐椤哄簭
+ bagId: "", //宸ュ叿鍖�
+ bagName: "",
+ isSelectProgramFiles: false,
test0: "",
test: "",
num: null,
box: false
},
workmanshipRules: {
-
+ sort: [{ required: true, message: '璇烽�夋嫨 宸ュ簭椤哄簭' }],
},
}
},
mounted() {
+ this.getToolingTree(); //澶瑰叿缁則ree
+ this.getCategoryTree(); //鍒�鍏风被鍨�
+ this.getCateBag(); //宸ヨ壓鍖�
+ this.getNumberAndName(); //宸ュ簭缂栧彿鍜屽悕绉�
+ this.getCatalogueTree(); //鍔犲伐绋嬪簭
},
methods: {
- parentIdChange(val) {
+ craftSave() { //淇濆瓨
+ console.log(this.workmanshipForm)
+ },
+ processChange(val) {
+ if(val) {
+ this.processCodeList.forEach(item=> {
+ if(val == item.id) {
+ console.log(item)
+ this.workmanshipForm.processId = item.id;
+ this.workmanshipForm.processCode = item.code;
+ this.workmanshipForm.processName = item.name;
+ this.workmanshipForm.processTypeName = item.typeName;
+ }
+ })
+ }
+ },
+ getCatalogueTree() { //鍔犲伐绋嬪簭
+ this.$HTTP.get("/api/blade-dnc/dnc-process-catalogue/art-tree").then(res=> {
+ if(res.code == 200) {
+ function ea(data) {
+ data.forEach(item=> {
+ if(item.children.length!=0) {
+ ea(item.children);
+ }
+ item.disabled = true;
+ })
+ }
+ ea(res.data);
+ this.programIdData = res.data;
+ }
+ })
+ },
+ getNumberAndName() { //宸ュ簭缂栧彿鍜屽悕绉�
+ this.$HTTP.get("/api/blade-cps/process/page?current=1&size=-1&status=1").then(res=> {
+ if(res.code == 200) {
+ this.processCodeList = res.data.records;
+ this.processNameList = res.data.records;
+ console.log(res.data);
+ }
+ })
+ },
+ getCateBag() { //宸ヨ壓鍖�
+ this.$HTTP.get("/api/blade-dnc/dnc-process-catalogue/cate-art-bag-tree").then(res=> {
+ if(res.code == 200) {
+ function ea(data) {
+ data.forEach(item=> {
+ if(item.children) {
+ ea(item.children);
+ }
+ if(item.parentId <= 0) {
+ item.disabled = true;
+ }
+ })
+ }
+ ea(res.data);
+ this.bagIdData = res.data;
+ }
+ })
+ },
+ getCategoryTree() { //鍒�鍏风被鍨�
+ this.$HTTP.get("/api/blade-tool/tool-category/tree").then(res=> {
+ if(res.code == 200) {
+ this.typeDQList = res.data;
+ }
+ })
+ },
+ getToolingTree() {
+ var obj = {
+ groupCategory: 1,
+ groupType: "group_fixture"
+ }
+ this.$HTTP.post("/api/blade-cps/tray/tooling-tree",obj).then(res=> {
+ if(res.code == 200) {
+ this.fixturesData = res.data;
+ }
+ })
+ },
+ programIdChange() {
+
+ },
+ fixturesChange() {
+
+ },
+ bagIdChange(val) {
},
table_edit() {
diff --git a/src/views/console/product-process/process-route/workmanship.vue b/src/views/console/product-process/process-route/workmanship.vue
index 227212b..80a526c 100644
--- a/src/views/console/product-process/process-route/workmanship.vue
+++ b/src/views/console/product-process/process-route/workmanship.vue
@@ -17,12 +17,17 @@
</div>
<el-table ref="multipleTableRef0" :data="tableData" border style="width: 100%" class="multipleTableRef" @selection-change="HandleSelectionChange" @row-click="rowClick">
<el-table-column type="selection" width="55" />
- <el-table-column prop="index" label="宸ュ簭椤哄簭"></el-table-column>
- <el-table-column prop="code" label="宸ュ簭缂栧彿"></el-table-column>
- <el-table-column prop="name" label="宸ュ簭鍚嶇О"></el-table-column>
+ <el-table-column prop="index" label="宸ュ簭椤哄簭">
+ <template #default="scope">
+ <span>{{scope.row.index}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="processCode" label="宸ュ簭缂栧彿"></el-table-column>
+ <el-table-column prop="processName" 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_del(scope.row, scope.$index)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -52,7 +57,7 @@
export default {
name: 'workmanship',
components: {saveDialog,addWorkmanship},
- props: ["isCustomization"],
+ props: ["isCustomization","craftId"],
data() {
return {
drawer: false,
@@ -64,9 +69,25 @@
}
},
mounted(){
-
+ },
+ watch: {
+ craftId(val) {
+ if(val) {
+ this.getcraftlList();
+ }
+ }
},
methods: {
+ getcraftlList() {
+ this.$HTTP.get(`/api/blade-cps/production-craft-version/detail/${this.craftId}`).then(res=> {
+ if(res.code == 200) {
+ res.data.processList.forEach((item,index)=> {
+ item.index = index + 1;
+ });
+ this.tableData = res.data.processList;
+ }
+ })
+ },
handleClose() {
},
@@ -91,6 +112,9 @@
// this.getPage1();
},
table_edit(row,index) {
+
+ },
+ table_del(row,index) {
this.$confirm(`纭瑕佸垹闄ゆ宸ュ簭鍚�?`, '', {
type: 'warning'
}).then(() => {
@@ -169,6 +193,6 @@
cursor: pointer;
}
.addworkmanship {
- padding: 0 20px;
+ padding: 0 40px;
}
</style>
--
Gitblit v1.9.3