瀏覽代碼

物料BOM

yy 1 年之前
父節點
當前提交
d3ba23ea0b

+ 162 - 0
src/views/material/BOMmanage/components/attribute.vue

@@ -0,0 +1,162 @@
+<template>
+  <div>
+    <el-form label-width="100px" ref="form" :model="form" :rules="rules">
+      <el-row>
+        <el-col :span="16" label-width="100px">
+          <el-form-item label="类型" prop="type">
+            <el-input placeholder="" v-model="form.type"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="16" label-width="100px">
+          <el-form-item label="编码" prop="code">
+            <el-input placeholder="" v-model="form.code"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="16" label-width="100px">
+          <el-form-item label="图号" prop="code">
+            <el-input placeholder="" v-model="form.code"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="16" label-width="100px">
+          <el-form-item label="名称" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="型号" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="规格" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="材料" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="物料编码" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="来源" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="用量" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="单位" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="状态" prop="name">
+            <el-select v-model="form.state" style="width: 100%">
+              <el-option :key="1" label="归档" :value="1"> </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="物料库路径" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="版本" prop="name">
+            <el-input placeholder="" v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+
+
+
+      <el-row>
+        <el-col :span="20" label-width="100px">
+          <el-form-item label="备注" prop="name">
+            <el-input
+              placeholder=""
+              v-model="form.name"
+              type="textarea"
+              :rows="2"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="创建人" prop="name">
+            <el-input placeholder="" disabled v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" label-width="100px">
+          <el-form-item label="创建时间" prop="name">
+            <el-input placeholder="" disabled v-model="form.name"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+
+
+
+
+    </el-form>
+  </div>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        form: {},
+
+        rules: {
+          type: [{ required: true, message: '请输入类型', trigger: 'blur' }],
+          code: [{ required: true, message: '请输入编码', trigger: 'blur' }],
+          name: [{ required: true, message: '请输入名称', trigger: 'blur' }]
+        }
+      };
+    }
+  };
+</script>
+
+<style lang="scss" scoped></style>

+ 146 - 0
src/views/material/BOMmanage/index.vue

@@ -0,0 +1,146 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never">
+      <ele-split-layout
+        width="260px"
+        allow-collapse
+        :right-style="{ overflow: 'hidden' }"
+      >
+        <div class="ele-border-lighter sys-organization-list">
+          <div class="radio_box rx-cc">
+            <el-radio-group size="small" v-model="treeActive">
+              <el-radio-button label="1">PBOM</el-radio-button>
+              <el-radio-button label="2">MBOM</el-radio-button>
+            </el-radio-group>
+          </div>
+
+          <el-input
+            size="small"
+            placeholder="在结构中查找"
+            v-model="filterText"
+          >
+          </el-input>
+
+          <el-tree
+            :data="treeList"
+            :props="defaultProps"
+            ref="treeRef"
+            :default-expanded-keys="current && current.id ? [current.id] : []"
+            :highlight-current="true"
+            node-key="id"
+            @node-click="handleNodeClick"
+          ></el-tree>
+        </div>
+        <template v-slot:content>
+          <el-tabs type="border-card">
+            <el-tab-pane label="属性">
+                <attribute></attribute>
+            </el-tab-pane>
+            <el-tab-pane label="文档"></el-tab-pane>
+            <el-tab-pane label="工艺"></el-tab-pane>
+            <el-tab-pane label="制造资源"></el-tab-pane>
+            <el-tab-pane label="材料定额"></el-tab-pane>
+            <el-tab-pane label="工作中心分配"></el-tab-pane>
+            <el-tab-pane label="质检"></el-tab-pane>
+            <el-tab-pane label="质检参数"></el-tab-pane>
+          </el-tabs>
+        </template>
+      </ele-split-layout>
+    </el-card>
+  </div>
+</template>
+
+<script>
+  import { getTreeByGroup } from '@/api/classifyManage';
+  import attribute from './components/attribute.vue'
+
+  
+
+  export default {
+    name: 'BOMmanage',
+    components: {
+        attribute
+    },
+    data() {
+      return {
+        current: {},
+        treeList: [],
+        treeLoading: false,
+        rootTreeId: null,
+        defaultProps: {
+          children: 'children',
+          label: 'name'
+        },
+
+        loading: false,
+
+        filterText: null,
+
+        treeActive: 1
+      };
+    },
+    created() {
+      this.getTreeData();
+    },
+
+    methods: {
+      async getTreeData() {
+        try {
+          this.treeLoading = true;
+
+          const res = await getTreeByGroup({ type: 1 });
+          this.treeLoading = false;
+          if (res?.code === '0') {
+            this.treeList = res.data;
+
+            this.$nextTick(() => {
+              // 默认高亮第一级树节点
+              if (this.treeList[0]) {
+                this.rootTreeId = this.treeList[0].id;
+                this.getDetail(this.treeList[0].id);
+              }
+            });
+            return this.treeList;
+          }
+        } catch (error) {}
+        this.treeLoading = false;
+      },
+
+      handleNodeClick(data, node) {
+        this.curNode = node;
+        this.pathList = this.findParent([], data, this.treeList);
+        this.rootTreeId = null;
+        if (this.pathList.length == 0) {
+          this.rootTreeId = data.id;
+        } else {
+          this.rootTreeId =
+            this.pathList[this.pathList.length - 1] &&
+            this.pathList[this.pathList.length - 1].id;
+        }
+
+        console.log(data.id);
+      }
+    }
+  };
+</script>
+<style lang="scss" scoped>
+  .sys-organization-list {
+    height: calc(100vh - 165px);
+    box-sizing: border-box;
+    border-width: 1px;
+    border-style: solid;
+    overflow: auto;
+  }
+
+  .radio_box {
+    margin: 12px 0;
+  }
+
+  .sys-organization-list :deep(.el-tree-node__content) {
+    height: 40px;
+
+    & > .el-tree-node__expand-icon {
+      margin-left: 10px;
+    }
+  }
+</style>

+ 19 - 4
src/views/system/organization/components/org-user-search.vue

@@ -6,8 +6,21 @@
     @keyup.enter.native="search"
     @submit.native.prevent
   >
-    <el-row :gutter="10">
-      <el-col v-bind="styleResponsive ? { md: 8 } : { span: 8 }">
+    <el-row :gutter="24">
+      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+      <el-form-item>
+          <el-input
+            clearable
+            size="small"
+            v-model="where.jobNumber"
+            placeholder="请输入工号"
+          />
+        </el-form-item>
+        </el-col>
+
+      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+
+
         <el-form-item>
           <el-input
             clearable
@@ -17,7 +30,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { md: 8 } : { span: 8 }">
+      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
         <el-form-item>
           <el-input
             clearable
@@ -27,7 +40,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { md: 8 } : { span: 8 }">
+      <el-col v-bind="styleResponsive ?  { md: 6 } : { span: 6 }">
         <el-form-item>
           <el-button
             size="small"
@@ -50,6 +63,7 @@
     data() {
       // 默认表单数据
       const defaultWhere = {
+        jobNumber: '',
         loginName: '',
         name: ''
       };
@@ -77,3 +91,4 @@
     }
   };
 </script>
+ 

+ 1 - 1
vue.config.js

@@ -33,7 +33,7 @@ module.exports = {
       '/api': {
         // target: 'http://124.71.68.31:50001',
         // target: 'http://192.168.1.147:18086',
-        target: 'http://192.168.1.116:18086',
+        target: 'http://192.168.1.125:18086',
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {
           '^/api': ''