| | |
| | | <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%;" |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | | |
| | |
| | | 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() { |