1
lzhe
2024-05-26 3f8e22a435239659af746fcba55a51a1044100fe
1
已修改3个文件
303 ■■■■ 文件已修改
src/views/console/product-process/process-route.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/product-process/process-route/addWorkmanship.vue 255 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/product-process/process-route/workmanship.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
                    }
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();  //夹具组tree
            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() {
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>