Просмотр исходного кода

删除 物料组, 物料管理 代码

ysy 2 лет назад
Родитель
Сommit
f8a7644a5b
31 измененных файлов с 58 добавлено и 3967 удалено
  1. 52 20
      src/api/material/list.js
  2. 0 66
      src/api/material/manage.js
  3. 1 1
      src/components/CommomSelect/category-select.vue
  4. 1 1
      src/components/SelectDialog/materialDialog.vue
  5. 0 187
      src/views/material/list/components/CategoryDialog.vue
  6. 0 170
      src/views/material/list/components/list-edit.vue
  7. 0 153
      src/views/material/list/index.vue
  8. 0 105
      src/views/material/manage/components/BoatInfo.vue
  9. 0 125
      src/views/material/manage/components/CategoryDialog.vue
  10. 0 151
      src/views/material/manage/components/GroupDialog.vue
  11. 0 114
      src/views/material/manage/components/MoldInfo.vue
  12. 0 124
      src/views/material/manage/components/PlanInfo.vue
  13. 0 183
      src/views/material/manage/components/ProcureInfo.vue
  14. 0 153
      src/views/material/manage/components/ProductionInfo.vue
  15. 0 120
      src/views/material/manage/components/QualityInfo.vue
  16. 0 77
      src/views/material/manage/components/RemarkInfo.vue
  17. 0 113
      src/views/material/manage/components/SalesInfo.vue
  18. 0 104
      src/views/material/manage/components/TurnoverInfo.vue
  19. 0 133
      src/views/material/manage/components/WarehouseInfo.vue
  20. 0 231
      src/views/material/manage/components/index-data.vue
  21. 0 114
      src/views/material/manage/components/index-search.vue
  22. 0 145
      src/views/material/manage/index.vue
  23. 0 459
      src/views/material/manage/manageMaterial.vue
  24. 0 224
      src/views/material/product copy/components/link-msg.vue
  25. 0 104
      src/views/material/product copy/components/product-search.vue
  26. 0 421
      src/views/material/product copy/detail.vue
  27. 0 165
      src/views/material/product copy/index.vue
  28. 1 1
      src/views/material/product/components/index-data.vue
  29. 1 1
      src/views/material/product/components/link-msg.vue
  30. 1 1
      src/views/material/product/detail.vue
  31. 1 1
      src/views/technology/productParam/components/ProductModal.vue

+ 52 - 20
src/api/material/list.js

@@ -11,39 +11,71 @@ export async function getGroupPage (data) {
   return Promise.reject(new Error(res.data.message));
 }
 
-// 新建保存
-export async function saveItemGroup (data) {
-  const res = await request.post('/main/categorylevelgroup/save', data);
+
+//  ==========  删除物料管理, 用到得相关接口,移到这     =============/
+
+
+// 根据分类组编码查询分类树信息
+export async function getTreeByPid (pid) {
+  const res = await request.get(`/main/categoryLevel/getTreeByPid/${pid}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 新增物料
+export async function addMaterial (data) {
+  const res = await request.post(`/main/category/add`, data);
+  if (res.data.code == 0) {
+    return res.data.message;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 编辑物料
+export async function editMaterial (data) {
+  const res = await request.post(`/main/category/edit`, data);
   if (res.data.code == 0) {
-    return res.data;
+    return res.data.data;
   }
   return Promise.reject(new Error(res.data.message));
 }
 
+// 获取列表
+export async function getMaterialList (data) {
+  const res = await request.get(`/main/category/getList`, {
+    params: data
+  });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 
-// 编辑
-export async function updateItemGroup(data) {
-    const res = await request.put(`/main/categorylevelgroup/update`, data);
-    if (res.data.code == 0) {
-        return res.data.message;
-    }
-    return Promise.reject(new Error(res.data.message));
+// 获取详情
+export async function getDetailInfo (id) {
+  const res = await request.get(`/main/category/info/${id}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
 }
 
-// 删除
-export async function removeItem (data) {
-  const res = await request.delete('/main/categorylevelgroup/delete', { data });
+//删除
+export async function removeMaterial (id) {
+  const res = await request.get(`/main/category/remove/${id}`);
   if (res.data.code == 0) {
-    return res.data.message;
+    return res.data.data;
   }
   return Promise.reject(new Error(res.data.message));
 }
 
-// SAP-物料同步
-export async function syncMateriel () {
-  const res = await request.get('/sap/sync/syncMateriel');
+//根据产品ID获取bom列表、工艺路线列表【产品管理】
+export async function getBomRoutingList (categoryId) {
+  const res = await request.get(`/main/category/getSourceList/${categoryId}`);
   if (res.data.code == 0) {
-    return res.data.code;
+    return res.data.data;
   }
   return Promise.reject(new Error(res.data.message));
-}
+}

+ 0 - 66
src/api/material/manage.js

@@ -1,66 +0,0 @@
-import request from '@/utils/request';
-
-// 根据分类组编码查询分类树信息
-export async function getTreeByPid (pid) {
-  const res = await request.get(`/main/categoryLevel/getTreeByPid/${pid}`);
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
-
-// 新增物料
-export async function addMaterial (data) {
-  const res = await request.post(`/main/category/add`, data);
-  if (res.data.code == 0) {
-    return res.data.message;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
-
-// 编辑物料
-export async function editMaterial (data) {
-  const res = await request.post(`/main/category/edit`, data);
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
-
-// 获取列表
-export async function getMaterialList (data) {
-  const res = await request.get(`/main/category/getList`, {
-    params: data
-  });
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
-
-// 获取详情
-export async function getDetailInfo (id) {
-  const res = await request.get(`/main/category/info/${id}`);
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
-
-//删除
-export async function removeMaterial (id) {
-  const res = await request.get(`/main/category/remove/${id}`);
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}
-
-//根据产品ID获取bom列表、工艺路线列表【产品管理】
-export async function getBomRoutingList (categoryId) {
-  const res = await request.get(`/main/category/getSourceList/${categoryId}`);
-  if (res.data.code == 0) {
-    return res.data.data;
-  }
-  return Promise.reject(new Error(res.data.message));
-}

+ 1 - 1
src/components/CommomSelect/category-select.vue

@@ -15,7 +15,7 @@
 </template>
 
 <script>
-  import { getTreeByPid } from '@/api/material/manage.js';
+  import { getTreeByPid } from '@/api/material/list.js';
   export default {
     props: {
       // 选中的数据(v-model)

+ 1 - 1
src/components/SelectDialog/materialDialog.vue

@@ -108,7 +108,7 @@
 </template>
 
 <script>
-  import { getMaterialList } from '@/api/material/manage.js';
+  import { getMaterialList } from '@/api/material/list.js';
   import categoryGroupSelect from '@/components/CommomSelect/category-group-select';
   const defaultWhere = {
     brandNum: null,

+ 0 - 187
src/views/material/list/components/CategoryDialog.vue

@@ -1,187 +0,0 @@
-<template>
-  <el-dialog
-    title="选择分类"
-    :visible.sync="categoryVisible"
-    :before-close="handleClose"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    append-to-body
-    width="60%"
-  >
-    <div>
-      <el-row>
-		<el-col :span="24" class="topsearch">
-			<el-form label-width="100px">
-			  <el-row>
-          <el-col :span="8">
-             <el-form-item label="类型编码:">
-               <el-input
-                 clearable
-                 placeholder="请输入"
-                 v-model.trim="search.code"
-               ></el-input>
-             </el-form-item>
-          </el-col>
-          <el-col :span="8">
-             <el-form-item label="类型名称:">
-               <el-input
-                 clearable
-                 v-model="search.name"
-                 placeholder="请输入"
-               ></el-input>
-             </el-form-item>
-          </el-col>
-          <el-col :span="6">
-             <el-form-item  label-width="20px">
-                <el-button type="primary" @click="getList">搜索</el-button>
-                <el-button @click="reset">重置</el-button>
-             </el-form-item>
-          </el-col>
-			  </el-row>
-			</el-form>
-		</el-col>
-        <el-col :span="24" class="table_col">
-          <el-table
-            :data="tableData"
-            height="450"
-            highlight-current-row
-            @row-click="single"
-          >
-            <el-table-column label="类型编码" prop="code" width="200"></el-table-column>
-            <el-table-column label="类型名称" prop="name"></el-table-column>
-            <el-table-column label="描述" prop="remark"></el-table-column>
-            <el-table-column label="选择" align="center">
-               <template slot-scope="scope">
-            	 <el-radio class="radio" v-model="radio" :label="scope.row.id"><i></i></el-radio>
-               </template>
-            </el-table-column>
-          </el-table>
-         <div class="pagination">
-            <el-pagination
-              background
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-              :page-sizes="[10, 20, 50, 100]"
-              :page-size="pagination.size"
-              :current-page.sync="pagination.pageNum"
-              @current-change="handleCurrent"
-              @size-change="handleSize"
-            >
-            </el-pagination>
-          </div>
-        </el-col>
-      </el-row>
-    </div>
-    <div class="btns">
-      <el-button type="primary" size="small" @click="selected">选择</el-button>
-      <el-button size="small" @click="handleClose">关闭</el-button>
-    </div>
-  </el-dialog>
-</template>
-
-<script>
-  import { getSubPage } from '@/api/classifyManage';
-export default {
-  data () {
-    return {
-      categoryVisible: false,
-      tableData: [],
-      search:{},
-      pagination: {
-        pageNum: 1,
-        size: 10,
-      },
-      total: 0,
-      radio: '',
-      current:null
-    }
-  },
-
-  watch: {
-
-
-  },
-  methods: {
-    open(item){
-      if(item){
-        this.current = item
-        this.radio = item.id
-      }
-      this.categoryVisible = true
-      this.getList()
-    },
-
-    // 单击获取id
-    single (row) {
-        this.current = row
-        this.radio = row.id
-    },
-
-    handleClose () {
-      this.categoryVisible = false
-      this.current = null
-      this.radio = ''
-      this.search = {}
-    },
-    reset(){
-      this.search={}
-      this.getList()
-    },
-    handleCurrent (page) {
-      this.pagination.pageNum = page
-      this.getList()
-    },
-    handleSize (size) {
-      this.pagination.pageNum = 1
-      this.pagination.size = size
-      this.getList()
-    },
-    getList(){
-      let params = {
-        ...this.search,
-        ...this.pagination,
-        parentId: 0
-      }
-      getSubPage(params).then(res=>{
-         this.tableData = res.list
-         this.total = res.count
-      })
-    },
-      selected(){
-         if(!this.current){
-           return this.$message.warning('请选择分类')
-         }
-         this.$emit('changeCategory',this.current)
-         this.handleClose()
-      },
-
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.tree_col {
-  border: 1px solid #eee;
-  padding: 10px 0;
-  box-sizing: border-box;
-  height: 500px;
-  overflow: auto;
-}
-.table_col {
-  padding-left: 10px;
-  ::v-deep .el-table th.el-table__cell {
-    background: #f2f2f2;
-  }
-}
-.pagination {
-  text-align: right;
-  padding: 10px 0;
-}
-.btns {
-  text-align: center;
-  padding: 10px 0;
-}
-.topsearch{
-	margin-bottom:15px;
-}
-</style>

+ 0 - 170
src/views/material/list/components/list-edit.vue

@@ -1,170 +0,0 @@
-<!-- 物料组编辑弹窗 -->
-<template>
-  <ele-modal
-    width="720px"
-    :visible="visible"
-    :append-to-body="true"
-    :close-on-click-modal="true"
-    custom-class="ele-dialog-form"
-    :title="isUpdate ? '修改物料组' : '添加物料组'"
-    @update:visible="updateVisible"
-  >
-    <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="物料组编码:" prop="code">
-             <el-input
-               clearable
-               :maxlength="20"
-               :disabled="isUpdate"
-               v-model="form.code"
-               placeholder="请输入物料组名称"
-             />
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="物料组名称:" prop="name">
-            <el-input
-              clearable
-              :maxlength="20"
-              v-model="form.name"
-              placeholder="请输入物料组名称"
-            />
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="分类树" prop="categoryLevelRootName">
-            <el-input
-              v-model="form.categoryLevelRootName"
-               @click.native="chooseCategory"
-            />
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <template v-slot:footer>
-      <el-button @click="updateVisible(false)">取消</el-button>
-      <el-button type="primary" :loading="loading" @click="save">
-        保存
-      </el-button>
-    </template>
-
-    <CategoryDialog ref="categoryRefs" @changeCategory="changeCategory"></CategoryDialog>
-  </ele-modal>
-</template>
-
-<script>
-  import CategoryDialog from './CategoryDialog.vue'
-  import { saveItemGroup , updateItemGroup } from '@/api/material/list';
-
-  export default {
-    components: {
-      CategoryDialog
-    },
-    props: {
-      // 弹窗是否打开
-      visible: Boolean,
-      // 修改回显的数据
-      data: Object
-    },
-    data() {
-      const defaultForm = {
-        id: null,
-        name: '',
-        code: '',
-        categoryLevelRootName: '',
-        categoryLevelRootId:''
-      };
-      return {
-        defaultForm,
-        // 表单数据
-        form: { ...defaultForm },
-        // 表单验证规则
-        rules: {
-          code: [
-            { required: true, message: '请输入物料组编码', trigger: 'blur' }
-          ],
-          name: [
-            { required: true, message: '请输入物料组名称', trigger: 'blur' }
-          ],
-          categoryLevelRootName: [
-            { required: true, message: '请选择所属分类', trigger: 'change' }
-          ]
-        },
-        // 提交状态
-        loading: false,
-        // 是否是修改
-        isUpdate: false,
-        chooseItem:null
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive() {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      chooseCategory(){
-          let item = {
-             id: this.form.categoryLevelRootId,
-             name: this.form.categoryLevelRootName
-          }
-           this.$refs.categoryRefs.open(item)
-      },
-      changeCategory(row){
-            this.$set(this.form,'categoryLevelRootName',row.name)
-            this.$set(this.form,'categoryLevelRootId',row.id)
-      },
-      /* 保存编辑 */
-      save() {
-        this.$refs.form.validate((valid) => {
-          if (!valid) {
-            return false;
-          }
-          this.loading = true;
-          if (!this.isUpdate) {
-            delete this.form.id;
-          }
-          const data = {
-            ...this.form
-          };
-          const saveOrUpdate = this.isUpdate ? updateItemGroup : saveItemGroup;
-          saveOrUpdate(data)
-            .then((msg) => {
-              this.loading = false;
-              this.$message.success(msg);
-              this.updateVisible(false);
-              this.$emit('done');
-            })
-            .catch((e) => {
-              this.loading = false;
-            });
-        });
-      },
-      /* 更新visible */
-      updateVisible(value) {
-        this.$emit('update:visible', value);
-      }
-    },
-    watch: {
-      visible(visible) {
-        if (visible) {
-          if (this.data) {
-            this.$util.assignObject(this.form, {
-              ...this.data,
-              // roleId: this.data.roleList.map((d) => d.id),
-              // loginPwd: ''
-            });
-            this.isUpdate = true;
-          } else {
-            this.isUpdate = false;
-          }
-        } else {
-          this.$refs.form.clearValidate();
-          this.form = { ...this.defaultForm };
-        }
-      }
-    }
-  };
-</script>

+ 0 - 153
src/views/material/list/index.vue

@@ -1,153 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <!-- 搜索表单 -->
-
-      <!-- 数据表格 -->
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :datasource="datasource"
-        :selection.sync="selection"
-        row-key="id"
-        cache-key="systemUserTable"
-      >
-        <!-- 表头工具栏 -->
-        <template v-slot:toolbar>
-          <el-button
-            size="small"
-            type="primary"
-            icon="el-icon-plus"
-            class="ele-btn-icon"
-            @click="openEdit()"
-          >
-            新建
-          </el-button>
-        </template>
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-edit"
-            @click="openEdit(row)"
-          >
-            编辑
-          </el-link>
-          <el-popconfirm
-            class="ele-action"
-            title="确定要删除此物料组吗?"
-            @confirm="remove(row)"
-          >
-            <template v-slot:reference>
-              <el-link type="danger" :underline="false" icon="el-icon-delete">
-                删除
-              </el-link>
-            </template>
-          </el-popconfirm>
-        </template>
-      </ele-pro-table>
-    </el-card>
-    <!-- 编辑弹窗 -->
-    <list-edit
-      :visible.sync="showEdit"
-      :data="current"
-      @done="reload"
-      ref="listEdit"
-    />
-  </div>
-</template>
-
-<script>
-  import { getGroupPage , removeItem } from '@/api/material/list';
-  import ListEdit from './components/list-edit.vue';
-  export default {
-    name: 'MaterialList',
-    components: {
-      ListEdit
-    },
-    data () {
-      return {
-        // 表格列配置
-        columns: [
-          {
-            columnKey: 'index',
-            type: 'index',
-            width: 55,
-            align: 'center',
-            showOverflowTooltip: true,
-            fixed: 'left',
-            label: '序号'
-          },
-          {
-            prop: 'name',
-            label: '物料组名称',
-            showOverflowTooltip: true,
-            minWidth: 110
-          },
-          {
-            prop: 'code',
-            label: '物料组编码',
-            showOverflowTooltip: true,
-            minWidth: 110
-          },
-          {
-            prop: 'categoryLevelRootName',
-            label: '关联分类树',
-            showOverflowTooltip: true,
-            minWidth: 110,
-            formatter:(_row, _column, cellValue) => {
-              return _row.categoryLevelRootName+'分类';
-            }
-          },
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 220,
-            align: 'center',
-            resizable: false,
-            slot: 'action',
-            showOverflowTooltip: true
-
-          }
-        ],
-        // 表格选中数据
-        selection: [],
-        // 当前编辑数据
-        current: null,
-        // 是否显示编辑弹窗
-        showEdit: false
-      };
-    },
-    methods: {
-      /* 表格数据源 */
-      datasource ({ page, limit, where, order }) {
-        return getGroupPage({ ...where, ...order, pageNum: page, size: limit });
-      },
-      /* 刷新表格 */
-      reload (where) {
-        this.$refs.table.reload({ page: 1, where: where });
-      },
-      /* 打开编辑弹窗 */
-      openEdit (row) {
-        this.current = row;
-        this.showEdit = true;
-        this.$refs.listEdit.$refs.form &&this.$refs.listEdit.$refs.form.clearValidate();
-      },
-      /* 删除 */
-      remove (row) {
-        const loading = this.$loading({ lock: true });
-        removeItem([row.id])
-          .then((msg) => {
-            loading.close();
-            this.$message.success(msg);
-            this.reload();
-          })
-          .catch((e) => {
-            loading.close();
-            // this.$message.error(e.message);
-          });
-      }
-    }
-  };
-</script>

+ 0 - 105
src/views/material/manage/components/BoatInfo.vue

@@ -1,105 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>舟皿信息</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="槽数" prop="slotNum">
-                <el-input  v-model="form.slotNum"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="角度" prop="angle">
-                <DictSelection dictName="角度" clearable v-model="form.angle">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="长" prop="palletLen">
-                <el-input v-model="form.palletLen">
-                    <template slot="append">mm</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="宽" prop="wilde">
-                <el-input v-model="form.wilde">
-                    <template slot="append">mm</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="高" prop="hight">
-                <el-input v-model="form.hight">
-                    <template slot="append">mm</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 125
src/views/material/manage/components/CategoryDialog.vue

@@ -1,125 +0,0 @@
-<template>
-  <ele-modal
-    :title="title"
-    :visible.sync="treeVisible"
-    :before-close="handleClose"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    append-to-body
-    width="40%"
-  >
-    <div class="ele-border-lighter sys-organization-list">
-      <el-tree
-        ref="tree"
-        :data="treeData"
-        highlight-current
-        node-key="id"
-        :props="{ label: 'name' }"
-        :expand-on-click-node="false"
-        :default-expand-all="true"
-        @node-click="onNodeClick"
-      />
-    </div>
-    <template v-slot:footer>
-      <el-button @click="handleClose">关闭</el-button>
-      <el-button type="primary" @click="selected">选择</el-button>
-    </template>
-  </ele-modal>
-</template>
-
-<script>
- import { getTreeByPid } from '@/api/material/manage.js'
-export default {
-  data () {
-    return {
-      treeVisible: false,
-      treeData: [],
-      current:null,
-      title:'选择分类',
-      pathList:[]
-    }
-  },
-
-  watch: {
-
-  },
-  methods: {
-    open(pid,title){
-      this.treeVisible = true
-      this.title = title
-      this.getTree(pid)
-    },
-    handleClose () {
-      this.treeVisible = false
-      this.current = null
-    },
-    getTree(pid){
-      getTreeByPid(pid).then(res=>{
-         this.treeData = res
-      })
-    },
-    onNodeClick(node){
-       this.current = node
-    },
-    selected(){
-       if(!this.current){
-         return this.$message.warning(`请${this.title}`)
-       }
-       this.pathList = this.findParent([],this.current,this.treeData)
-       this.pathList.unshift(this.current)
-       const PathInfo = {
-         categoryLevelPath:'',
-         categoryLevelPathId:[]
-       }
-       const pathName = []
-       this.pathList.map(item=>{
-          pathName.unshift(item.name)
-          PathInfo.categoryLevelPathId.unshift(item.id)
-       })
-       PathInfo.categoryLevelPath = pathName.join('-')
-       PathInfo.categoryLevelPathId = PathInfo.categoryLevelPathId.join(',')
-       this.$emit('chooseCategory',this.current,this.title,PathInfo)
-       this.handleClose()
-    },
-
-    // parents:用于返回的数组,childNode:要查询的节点,treeData:json树形数据
-    findParent (parents, childNode, treeData) {
-      for (let i = 0; i < treeData.length; i++) {
-        // 父节点查询条件
-        if (treeData[i].id === childNode.parentId) {
-          // 如果找到结果,保存当前节点
-          parents.push(treeData[i])
-          // 用当前节点再去原数据查找当前节点的父节点
-          this.findParent(parents, treeData[i],this.treeData)
-          break
-        } else {
-          if (treeData[i].children instanceof Array) {
-            //	没找到,遍历该节点的子节点
-            this.findParent(parents, childNode, treeData[i].children)
-          }
-        }
-      }
-      return parents
-    }
-
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-  .sys-organization-list {
-    height: calc(100vh - 264px);
-    box-sizing: border-box;
-    border-width: 1px;
-    border-style: solid;
-    overflow: auto;
-  }
-
-  .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
-
-    & > .el-tree-node__expand-icon {
-      margin-left: 10px;
-    }
-  }
-</style>

+ 0 - 151
src/views/material/manage/components/GroupDialog.vue

@@ -1,151 +0,0 @@
-<template>
-  <el-dialog
-    title="选择物料组"
-    :visible.sync="groupVisible"
-    :before-close="handleClose"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    append-to-body
-    width="60%"
-  >
-    <div>
-      <el-row>
-        <el-col :span="24" class="table_col">
-          <el-table
-            :data="tableData"
-            height="450"
-            highlight-current-row
-            @row-click="single"
-          >
-            <el-table-column label="物料组名称" prop="name" width="200"></el-table-column>
-            <el-table-column label="物料组编码" prop="code"></el-table-column>
-            <el-table-column label="分类树" prop="categoryLevelRootName">
-               <template slot-scope="scope">
-                   {{scope.row.categoryLevelRootName+'分类'}}
-               </template>
-            </el-table-column>
-            <el-table-column label="选择" align="center">
-               <template slot-scope="scope">
-            	   <el-radio class="radio" v-model="radio" :label="scope.row.id"><i></i></el-radio>
-               </template>
-            </el-table-column>
-          </el-table>
-         <div class="pagination">
-            <el-pagination
-              background
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-              :page-sizes="[10, 20, 50, 100]"
-              :page-size="pagination.size"
-              :current-page.sync="pagination.pageNum"
-              @current-change="handleCurrent"
-              @size-change="handleSize"
-            >
-            </el-pagination>
-          </div>
-        </el-col>
-      </el-row>
-    </div>
-    <div class="btns">
-      <el-button type="primary" size="small" @click="selected">选择</el-button>
-      <el-button size="small" @click="handleClose">关闭</el-button>
-    </div>
-  </el-dialog>
-</template>
-
-<script>
- import { getGroupPage } from '@/api/material/list';
-export default {
-  data () {
-    return {
-      groupVisible: false,
-      tableData: [],
-      search:{},
-      pagination: {
-        pageNum: 1,
-        size: 10,
-      },
-      total: 0,
-      radio: '',
-      current:null
-    }
-  },
-
-  watch: {
-
-  },
-  methods: {
-    open(item){
-      if(item){
-        this.current = item
-        this.radio = item.id
-      }
-      this.groupVisible = true
-      this.getList()
-    },
-
-    // 单击获取id
-    single (row) {
-        this.current = row
-        this.radio = row.id
-    },
-
-    handleClose () {
-      this.groupVisible = false
-      this.current = null
-      this.radio = ''
-    },
-    handleCurrent (page) {
-      this.pagination.pageNum = page
-      this.getList()
-    },
-    handleSize (size) {
-      this.pagination.pageNum = 1
-      this.pagination.size = size
-      this.getList()
-    },
-    getList(){
-      let params = {...this.pagination}
-      getGroupPage(params).then(res=>{
-         this.tableData = res.list
-         this.total = res.count
-      })
-    },
-    selected(){
-       if(!this.current){
-         return this.$message.warning('请选择物料组')
-       }
-       this.$emit('changeMaterial',this.current)
-       this.handleClose()
-    },
-
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.tree_col {
-  border: 1px solid #eee;
-  padding: 10px 0;
-  box-sizing: border-box;
-  height: 500px;
-  overflow: auto;
-}
-.table_col {
-  padding-left: 10px;
-  ::v-deep .el-table th.el-table__cell {
-    background: #f2f2f2;
-  }
-}
-.pagination {
-  text-align: right;
-  padding: 10px 0;
-}
-.btns {
-  text-align: center;
-  padding: 10px 0;
-}
-.topsearch{
-	margin-bottom:15px;
-}
-</style>

+ 0 - 114
src/views/material/manage/components/MoldInfo.vue

@@ -1,114 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>模具信息</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="收缩系数" prop="shrinkEffictive">
-                <el-input  v-model="form.shrinkEffictive"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="芯杆数量" prop="coreBarNum">
-                <el-input  v-model="form.coreBarNum"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="模孔数量" prop="dieHoleNum">
-                <el-input v-model="form.dieHoleNum">
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="上冲头数量" prop="upperPunchNum">
-                <el-input v-model="form.upperPunchNum">
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="下冲头数量" prop="downPunchNum">
-                <el-input v-model="form.downPunchNum">
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="最大冲压次数" prop="maxCyTimes">
-                <el-input v-model="form.maxCyTimes">
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="大模体型号" prop="maxMoldType">
-                <el-input v-model="form.maxMoldType">
-                </el-input>
-             </el-form-item>
-           </el-col>
-
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 124
src/views/material/manage/components/PlanInfo.vue

@@ -1,124 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>计划</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="固定提前期" prop="fixLeadTime">
-                <el-input  v-model="form.fixLeadTime" @input="inputFix"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="变动提前期" prop="changeLeadTime">
-                <el-input  v-model="form.changeLeadTime" @input="inputChange"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="检验提前期" prop="checkLeadTime">
-                <el-input  v-model="form.checkLeadTime" @input="inputCheck"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="累计提前期" prop="cumLeadTime">
-                <el-input  v-model="form.cumLeadTime" readonly/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="提前期单位" prop="unit">
-                <DictSelection dictName="提前期单位" clearable v-model="form.unit">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="订货间隔期" prop="scheduleType">
-                <div class="form-line">
-                  <el-input  v-model="form.orderIntervalTime"/>
-                  <DictSelection class="line-select" dictName="提前期单位" clearable v-model="form.orderIntervalUnit">
-                  </DictSelection>
-                </div>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-      inputFix(val){
-         const  changeLeadTime = this.form.changeLeadTime?Number(this.form.changeLeadTime):0
-         const  checkLeadTime = this.form.checkLeadTime?Number(this.form.checkLeadTime):0
-         val = val?Number(val):0
-         this.form.cumLeadTime = val + changeLeadTime  + checkLeadTime
-      },
-      inputChange(val){
-        const  fixLeadTime = this.form.fixLeadTime?Number(this.form.fixLeadTime):0
-        const  checkLeadTime = this.form.checkLeadTime?Number(this.form.checkLeadTime):0
-        val = val?Number(val):0
-         this.form.cumLeadTime = val + fixLeadTime  + checkLeadTime
-      },
-      inputCheck(val){
-          const  fixLeadTime = this.form.fixLeadTime?Number(this.form.fixLeadTime):0
-          const  changeLeadTime = this.form.changeLeadTime?Number(this.form.changeLeadTime):0
-          val = val?Number(val):0
-         this.form.cumLeadTime = val + fixLeadTime  + changeLeadTime
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 183
src/views/material/manage/components/ProcureInfo.vue

@@ -1,183 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>采购</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="采购单位">
-                <el-input  v-model="form.procureUnit"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="计价单位">
-                <el-input  v-model="form.priceUnit"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="采购组织" prop="procureGroup">
-               <deptSelect v-model="form.procureGroup" @changeGroup="searchDeptNodeClick"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="采购员" prop="purchaserId">
-               <personSelect
-                 ref="directorRef"
-                 v-model="form.purchaserId"
-                 @selfChange="handleDirectorChange"
-                 :init="false"
-               />
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="默认供应商" prop="supplier">
-                <el-input  v-model="form.supplier"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="允许退料" prop="isReturn">
-               <el-radio v-model="form.isReturn" label="1">是</el-radio>
-               <el-radio v-model="form.isReturn" label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="是否请购" prop="isApplay" >
-                <el-radio v-model="form.isApplay" label="1">是</el-radio>
-                <el-radio v-model="form.isApplay" label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="货源控制" prop="isControl">
-                <el-radio v-model="form.isControl" label="1">是</el-radio>
-                <el-radio v-model="form.isControl" label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="收货上限比例" prop="upperLimit">
-                <el-input v-model="form.upperLimit">
-                    <template slot="append">%</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="收货提前天数" prop="earlyDays">
-                <el-input  v-model="form.earlyDays"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="收货延迟天数" prop="delayDays">
-                <el-input  v-model="form.delayDays"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="收货下限比例" prop="lowerLimit">
-                <el-input v-model="form.lowerLimit">
-                    <template slot="append">%</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="默认条码规则" prop="earlyDays">
-                <el-input  v-model="form.earlyDays"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="最小包装数" prop="earlyDays">
-                <el-input  v-model="form.earlyDays"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="重复打印数" prop="earlyDays">
-                <el-input  v-model="form.earlyDays"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="委外单位" prop="earlyDays">
-                <el-input  v-model="form.earlyDays"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="委外计价单位" prop="earlyDays">
-                <el-input  v-model="form.earlyDays"/>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  import deptSelect from '@/components/CommomSelect/dept-select.vue'
-  import personSelect from '@/components/CommomSelect/person-select.vue';
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { deptSelect , personSelect },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-      // 选择所属部门
-      searchDeptNodeClick (id, info) {
-        // 根据部门获取人员
-        const params = { executeGroupId: id };
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList(params);
-        });
-      },
-      //选择负责人
-      handleDirectorChange (id, info) {
-      },
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 153
src/views/material/manage/components/ProductionInfo.vue

@@ -1,153 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>生产信息</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="是否齐套件">
-                <el-radio v-model="form.isCompleteSet" :label="1">是</el-radio>
-                <el-radio v-model="form.isCompleteSet" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="消耗波动" prop="consumWave">
-                <el-input v-model="form.consumWave">
-                    <template slot="append">%</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="变动损耗率" prop="changeLossRate">
-                <el-input v-model="form.changeLossRate">
-                    <template slot="append">%</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="固定损耗数" prop="fixLossNum">
-                <el-input  v-model="form.fixLossNum"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="排程类型" prop="apsType">
-                <DictSelection dictName="排程类型" clearable v-model="form.apsType">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="允许改型" prop="isModify">
-               <el-radio v-model="form.isModify" :label="1">是</el-radio>
-               <el-radio v-model="form.isModify" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="允许返工返修" prop="isRework">
-               <el-radio v-model="form.isRework" :label="1">是</el-radio>
-               <el-radio v-model="form.isRework" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="是否返回料" prop="isRematerial">
-               <el-radio v-model="form.isRematerial" :label="1">是</el-radio>
-               <el-radio v-model="form.isRematerial" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="是否副产品" prop="isByProduct">
-               <el-radio v-model="form.isByProduct" :label="1">是</el-radio>
-               <el-radio v-model="form.isByProduct" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="是否废品" prop="isWaste">
-               <el-radio v-model="form.isWaste" :label="1">是</el-radio>
-               <el-radio v-model="form.isWaste" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="是否不良品" prop="isDefective">
-               <el-radio v-model="form.isDefective" :label="1">是</el-radio>
-               <el-radio v-model="form.isDefective" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  import deptSelect from '@/components/CommomSelect/dept-select.vue'
-  import personSelect from '@/components/CommomSelect/person-select.vue';
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { deptSelect , personSelect },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-      // 选择所属部门
-      searchDeptNodeClick (id, info) {
-        // 根据部门获取人员
-        const params = { executeGroupId: id };
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList(params);
-        });
-      },
-      //选择负责人
-      handleDirectorChange (id, info) {
-      },
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 120
src/views/material/manage/components/QualityInfo.vue

@@ -1,120 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>质量配置</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="是否来料检验" prop="isComeCheck">
-                 <el-radio v-model="form.isComeCheck" :label="1">是</el-radio>
-                 <el-radio v-model="form.isComeCheck" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="检验方案" prop="checkFormula">
-                <DictSelection dictName="检验方案" clearable v-model="form.checkFormula">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="采购组织" prop="checkDepart">
-               <deptSelect v-model="form.checkDepart" @changeGroup="searchDeptNodeClick"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="采购员" prop="checkPerson">
-               <personSelect
-                 ref="directorRef"
-                 v-model="form.checkPerson"
-                 @selfChange="handleDirectorChange"
-                 :init="false"
-               />
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  import deptSelect from '@/components/CommomSelect/dept-select.vue'
-  import personSelect from '@/components/CommomSelect/person-select.vue';
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { deptSelect , personSelect },
-    data() {
-      return {
-      };
-    },
-    watch: {
-      form(data) {
-        if (data.checkDepart) {
-           const params = { executeGroupId: data.checkDepart };
-            this.$nextTick(() => {
-              this.$refs.directorRef.getList(params);
-            });
-        }
-      }
-    },
-    methods: {
-      // 选择所属部门
-      searchDeptNodeClick (id, info) {
-        // 根据部门获取人员
-        const params = { executeGroupId: id };
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList(params);
-        });
-      },
-      //选择负责人
-      handleDirectorChange (id, info) {
-      },
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 77
src/views/material/manage/components/RemarkInfo.vue

@@ -1,77 +0,0 @@
-<template>
-  <div class="other">
-    <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>备注信息</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="24">
-             <el-form-item label="附件" prop="allowReturns">
-                 <fileUpload v-model="form.remarkAttach" module="file" :limit="4" ></fileUpload>
-             </el-form-item>
-           </el-col>
-           <el-col :span="24">
-             <el-form-item label="备注" prop="remark">
-                <el-input  v-model="form.remark" type="textarea" :row="5" resize="none"/>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  import fileUpload from '@/components/upload/fileUpload';
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { fileUpload },
-    data () {
-      return {};
-    },
-    methods: {}
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other {
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width {
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select {
-      margin-left: 15px;
-    }
-  }
-</style>

+ 0 - 113
src/views/material/manage/components/SalesInfo.vue

@@ -1,113 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>销售信息</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="允许退货" prop="allowReturns">
-                 <el-radio v-model="form.allowReturns" label="1">是</el-radio>
-                 <el-radio v-model="form.allowReturns" label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="计价单位" prop="lossRate">
-                <DictSelection dictName="重量单位" clearable v-model="form.scheduleType">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="起订量" prop="fixedNum">
-                <el-input  v-model="form.fixedNum"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="超发上限" prop="fixedNum">
-                <el-input v-model="form.lossRate">
-                    <template slot="append">%</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="超发下限" prop="consumeWave">
-                <el-input v-model="form.lossRate">
-                    <template slot="append">%</template>
-                </el-input>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="参考单价" prop="scheduleType">
-                <div class="form-line">
-                  <el-input  v-model="form.date"/>
-                  <DictSelection class="line-select" dictName="价格单位" clearable v-model="form.dateUnit">
-                  </DictSelection>
-                </div>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 104
src/views/material/manage/components/TurnoverInfo.vue

@@ -1,104 +0,0 @@
-<template>
-  <div class="other">
-    <el-form label-width="120px" ref="form" :model="form">
-      <div class="divider">
-        <div class="title">
-          <div class="ele-bg-primary"></div>
-          <span>周转车信息</span>
-        </div>
-        <div class="ele-bg-primary ele-width"></div>
-      </div>
-      <el-row :gutter="24">
-        <el-col :span="8">
-          <el-form-item label="层数" prop="levelNum">
-            <el-input v-model="form.levelNum" />
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="材质" prop="materialQuality">
-            <DictSelection
-              dictName="周转车材质"
-              clearable
-              v-model="form.materialQuality"
-            >
-            </DictSelection>
-            <!-- <el-input  v-model="form.materialQuality"/> -->
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="长" prop="vehicleLen">
-            <el-input v-model="form.vehicleLen">
-              <template slot="append">mm</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="宽" prop="wilde">
-            <el-input v-model="form.wilde">
-              <template slot="append">mm</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="高" prop="hight">
-            <el-input v-model="form.hight">
-              <template slot="append">mm</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-  </div>
-</template>
-
-<script>
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: {},
-    data () {
-      return {};
-    },
-
-    methods: {}
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other {
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width {
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select {
-      margin-left: 15px;
-    }
-  }
-</style>

+ 0 - 133
src/views/material/manage/components/WarehouseInfo.vue

@@ -1,133 +0,0 @@
-<template>
-  <div class="other">
-      <el-form label-width="120px"  ref="form" :model="form">
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>仓储配置</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="启用库存预警">
-                <el-radio v-model="form.isWarn" :label="1">是</el-radio>
-                <el-radio v-model="form.isWarn" :label="0">否</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="允许拆包" prop="isUnpack">
-                <el-switch v-model="form.isUnpack" :active-value="1" :inactive-value="0"> </el-switch>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="安全库存" prop="secureInventory">
-                <el-input  v-model="form.secureInventory"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="最小库存" prop="minInventory">
-                <el-input  v-model="form.minInventory"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="最大库存" prop="maxInventory">
-                <el-input  v-model="form.maxInventory"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="盘点模式" prop="inventoryMode">
-               <el-radio v-model="form.inventoryMode" :label="1">逐个盘点</el-radio>
-               <el-radio v-model="form.inventoryMode" :label="2">批量盘点</el-radio>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="质保预警参考" prop="warrantyWarnRefer">
-                <DictSelection dictName="质保预警参考" clearable v-model="form.warrantyWarnRefer">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="保质期">
-                <div class="form-line">
-                  <el-input  v-model="form.warrantyPeriod"/>
-                  <DictSelection class="line-select" dictName="保质期单位" clearable v-model="form.warrantyPeriodUnit">
-                  </DictSelection>
-                </div>
-             </el-form-item>
-           </el-col>
-         </el-row>
-      </el-form>
-  </div>
-</template>
-
-<script>
-  import deptSelect from '@/components/CommomSelect/dept-select.vue'
-  import personSelect from '@/components/CommomSelect/person-select.vue';
-  export default {
-    props: {
-      form: {
-        type: Object,
-        default: {}
-      }
-    },
-    components: { deptSelect , personSelect },
-    data() {
-      return {
-
-
-      };
-    },
-
-    methods: {
-      // 选择所属部门
-      searchDeptNodeClick (id, info) {
-        // 根据部门获取人员
-        const params = { executeGroupId: id };
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList(params);
-        });
-      },
-      //选择负责人
-      handleDirectorChange (id, info) {
-      },
-
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .other{
-    background: #fff;
-    padding: 1px 17px;
-  }
-  .divider {
-    margin: 0px 0 20px;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-</style>

+ 0 - 231
src/views/material/manage/components/index-data.vue

@@ -1,231 +0,0 @@
-<template>
-  <div>
-    <!-- 数据表格 -->
-    <ele-pro-table
-      ref="table"
-      :columns="columns"
-      :datasource="datasource"
-      :need-page="true"
-      :selection.sync="selection"
-      height="calc(100vh - 350px)"
-      full-height="calc(100vh - 116px)"
-      tool-class="ele-toolbar-form"
-      cache-key="systemDictDataTable"
-    >
-      <!-- 表头工具栏 -->
-      <template v-slot:toolbar>
-        <el-button
-          size="small"
-          type="primary"
-          icon="el-icon-plus"
-          class="ele-btn-icon"
-          @click="openEdit({}, 2)"
-        >
-          新建物料
-        </el-button>
-      </template>
-      <template v-slot:action="{ row }">
-        <el-link
-          type="primary"
-          :underline="false"
-          icon="el-icon-copy-document"
-          @click="openEdit(row, 1)"
-        >
-          复制
-        </el-link>
-        <el-link
-          type="primary"
-          :underline="false"
-          icon="el-icon-edit"
-          @click="openEdit(row, 0)"
-        >
-          修改
-        </el-link>
-        <el-popconfirm
-          class="ele-action"
-          title="确定要删除此物料吗?"
-          @confirm="remove(row)"
-        >
-          <template v-slot:reference>
-            <el-link type="danger" :underline="false" icon="el-icon-delete">
-              删除
-            </el-link>
-          </template>
-        </el-popconfirm>
-      </template>
-    </ele-pro-table>
-    <!-- 编辑弹窗 -->
-    <!--    <dict-edit :visible.sync="showEdit" :id="id" @done="reload" /> -->
-  </div>
-</template>
-
-<script>
-  import { getMaterialList, removeMaterial } from '@/api/material/manage.js';
-  export default {
-    components: {},
-    props: {
-      // 物料组id
-      currentId: [Number, String],
-      data: Object
-    },
-    data () {
-      return {
-        // 表格列配置
-        columns: [
-          {
-            columnKey: 'index',
-            type: 'index',
-            width: 50,
-            align: 'center',
-            showOverflowTooltip: true,
-            label: '序号'
-          },
-          {
-            prop: 'code',
-            label: '编码',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 110
-          },
-          {
-            prop: 'name',
-            label: '名称',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 110
-          },
-      
-          {
-            prop: 'brandNum',
-            align: 'center',
-            label: '牌号',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'modelType',
-            label: '型号',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'specification',
-            label: '规格',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'measuringUnit',
-            label: '计量单位',
-            showOverflowTooltip: true,
-            minWidth: 90
-          },
-
-          {
-            prop: 'weightUnit',
-            label: '重量单位',
-            showOverflowTooltip: true,
-            minWidth: 90
-          },
-
-          {
-            prop: 'roughWeight',
-            label: '毛重',
-            showOverflowTooltip: true,
-            minWidth: 90
-          },
-
-          {
-            prop: 'netWeight',
-            label: '净重',
-            showOverflowTooltip: true,
-            minWidth: 90
-          },
-
-
-          {
-            prop: 'packingUnit',
-            align: 'center',
-            label: '包装单位',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'categoryLevelPath',
-            label: '分类',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 200,
-            align: 'center',
-            resizable: false,
-            slot: 'action',
-            showOverflowTooltip: true,
-            fixed: 'right'
-          }
-        ],
-        types: {
-          1: '业务字典',
-          2: '数据字典'
-        },
-        // 表格选中数据
-        selection: [],
-        // 是否显示编辑弹窗
-        showEdit: false,
-        id: null
-      };
-    },
-
-    methods: {
-      /* 表格数据源 */
-      datasource ({ page, limit, where, order }) {
-        return getMaterialList({
-          pageNum: page,
-          size: limit,
-          ...where,
-          categoryLevelGroupId: this.currentId
-        });
-      },
-      /* 刷新表格 */
-      reload (where) {
-        this.$refs.table.reload({
-          page: 1,
-          where: where,
-          categoryLevelGroupId: this.currentId
-        });
-      },
-      /* 显示编辑 */
-      openEdit (row, status) {
-        this.$router.push({
-          path: '/material/manage/manageMaterial',
-          query: {
-            chooseTab: JSON.stringify(this.data),
-            id: row.id ? row.id : null,
-            status: status
-          }
-        });
-      },
-      /* 删除 */
-      remove (row) {
-        const loading = this.$loading({ lock: true });
-        removeMaterial(row.id)
-          .then((msg) => {
-            loading.close();
-            this.$message.success('删除' + msg);
-            this.reload();
-          })
-          .catch((e) => {
-            loading.close();
-            // this.$message.error(e.message);
-          });
-      }
-    },
-    watch: {
-      // 监听物料组id变化
-      currentId () {
-        this.reload();
-      }
-    }
-  };
-</script>

+ 0 - 114
src/views/material/manage/components/index-search.vue

@@ -1,114 +0,0 @@
-<!-- 搜索表单 -->
-<template>
-  <el-form
-    size="small"
-    label-width="60px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="10">
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
-        <el-form-item label="编码">
-          <el-input
-            clearable
-            size="small"
-            v-model="where.code"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
-        <el-form-item label="名称">
-          <el-input
-            clearable
-            size="small"
-            v-model="where.name"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 12 } : { span: 4 }">
-        <el-form-item>
-          <el-button
-            size="small"
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-
-          <el-button
-            @click="reset"
-            icon="el-icon-refresh"
-            class="ele-btn-icon"
-            size="medium"
-            >重置</el-button
-          >
-
-          <el-button
-            type="primary"
-            icon="el-icon-refresh-left"
-            class="ele-btn-icon"
-            @click='refreshData'
-            :loading="loading"
-          >刷新</el-button>
-
-          <slot></slot>
-        </el-form-item>
-      </el-col>
-    </el-row>
-  </el-form>
-</template>
-
-<script>
-  import { syncMateriel } from '@/api/material/list';
-  export default {
-    data() {
-      // 默认表单数据
-      const defaultWhere = {
-        name: '',
-        code: ''
-      };
-      return {
-        defaultWhere,
-        // 表单数据
-        where: { ...defaultWhere },
-        loading:false
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive() {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      /* 搜索 */
-      search() {
-        this.$emit('search', this.where);
-      },
-      /*  重置 */
-      reset() {
-        this.where = { ...this.defaultWhere };
-        this.search();
-      },
-      // 刷新数据
-      refreshData(){
-          this.loading = true;
-          syncMateriel().then(res=>{
-             if(res=='0'){
-               this.loading = false;
-                this.$message.success('数据刷新成功!')
-                this.search()
-             }
-          })
-          .catch((e) => {
-            this.loading = false;
-          });
-      }
-    }
-  };
-</script>

+ 0 - 145
src/views/material/manage/index.vue

@@ -1,145 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <IndexSearch @search="reload" />
-      <!--      <div style="margin: 5px 0; padding-left: 262px">
-        <el-button
-          size="small"
-          type="primary"
-          icon="el-icon-plus"
-          class="ele-btn-icon"
-          @click="openEdit()"
-        >
-          添加
-        </el-button>
-      </div> -->
-     
-      <ele-split-layout
-        width="244px"
-        allow-collapse
-        :right-style="{ overflow: 'hidden' }"
-      >
-        <!-- 表格 -->
-        <ele-pro-table
-          ref="table"
-          :columns="columns"
-          :datasource="datasource"
-          height="calc(100vh - 350px)"
-          :need-page="false"
-          :toolkit="[]"
-          :current.sync="current"
-          highlight-current-row
-          class="dict-table"
-          row-key="id"        
-          tool-class="ele-toolbar-actions"
-          @done="done"
-        >
-          <!-- 表头工具栏 -->
-          <!--          <template v-slot:toolbar>
-
-          </template> -->
-        </ele-pro-table>
-
-        <template v-slot:content>
-          <!-- 物料列表 -->
-        
-          <IndexData
-            ref="listData"
-            v-if="current"
-            :current-id="current.id"
-            :data="current"
-          />
-        </template>
-      </ele-split-layout>
-    </el-card>
-  </div>
-</template>
-
-<script>
-  import IndexData from './components/index-data.vue';
-  import IndexSearch from './components/index-search.vue';
-  import { listDictionaries, removeDictionary } from '@/api/system/dictionary';
-  import { getGroupPage } from '@/api/material/list';
-  export default {
-    name: 'SystemDictionary',
-    components: { IndexData, IndexSearch },
-    data () {
-      return {
-        // 表格列配置
-        columns: [
-          {
-            columnKey: 'index',
-            type: 'index',
-            width: 45,
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'name',
-            label: '物料组名称',
-            showOverflowTooltip: true
-          }
-        ],
-        // 当前编辑数据
-        current: null,
-        // 是否显示编辑弹窗
-        showEdit: false,
-        // 编辑回显数据
-        editData: null
-      };
-    },
-
-    created () {},
-
-    methods: {
-      /* 表格数据源 */
-      datasource () {
-        return getGroupPage({ pageNum: 1, size: -1 });
-      },
-      /* 表格渲染完成回调 */
-      done (res) {
-        console.log(this.current, 'this.current', res);
-        if (res.data?.length) {
-          let currentRow = null;
-          if (this.current) {
-            currentRow = res.data.find((item) => item.id == this.current.id);
-          }
-          console.log(res.data[0])
-          this.$refs.table.setCurrentRow(currentRow || res.data[0]);
-        }
-      },
-      /* 刷新表格 */
-      reload (where) {
-        this.$refs.table.reload();
-        this.$refs.listData.reload(where);
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .dict-table {
-    :deep(.el-table__row) {
-      cursor: pointer;
-    }
-
-    :deep(.el-table__row > td:last-child:after) {
-      content: '\e6e0';
-      font-family: element-icons !important;
-      font-style: normal;
-      font-variant: normal;
-      text-transform: none;
-      -webkit-font-smoothing: antialiased;
-      -moz-osx-font-smoothing: grayscale;
-      line-height: 1;
-      position: absolute;
-      right: 10px;
-      top: 50%;
-      margin-top: -7px;
-    }
-
-    :deep(.el-table__row > td:last-child .cell) {
-      padding-right: 20px;
-    }
-  }
-</style>

+ 0 - 459
src/views/material/manage/manageMaterial.vue

@@ -1,459 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <el-form label-width="120px"  ref="manageForm" :model="form" :rules="rules">
-         <div class="body-top">
-            <div class="top-left">
-               <div class="ele-page-header ele-cell">
-                 <div class="ele-page-title">{{titileStatus==0?'修改':titileStatus==1?'复制':'添加'}}物料</div>
-               </div>
-               <el-row :gutter="24">
-                 <el-col :span="24">
-                   <el-form-item label="物料组"  label-width="70px" prop="categoryLevelGroupName">
-                      <el-input @click.native="chooseMaterial" v-model="form.categoryLevelGroupName" readonly/>
-                   </el-form-item>
-                 </el-col>
-               </el-row>
-            </div>
-         </div>
-         <div class="divider">
-           <div class="title">
-             <div class="ele-bg-primary"></div>
-             <span>基本信息</span>
-           </div>
-           <div class="ele-bg-primary ele-width"></div>
-         </div>
-         <el-row :gutter="24">
-           <el-col :span="8">
-             <el-form-item label="编码" prop="code">
-                <el-input  v-model="form.code" :disabled="titileStatus==0?true:false"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="名称" prop="name">
-                <el-input  v-model="form.name"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="分类" prop="categoryLevelName">
-                <el-input  v-model="form.categoryLevelName"  @click.native="openCategory" readonly/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="牌号" prop="brandNum">
-                <el-input  v-model="form.brandNum"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="规格" prop="specification">
-                <el-input  v-model="form.specification"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="型号" prop="modelType">
-                <el-input  v-model="form.modelType"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="计量单位" prop="measuringUnit">
-                <DictSelection dictName="计量单位" clearable v-model="form.measuringUnit">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="包装单位" prop="packingUnit">
-                <DictSelection dictName="包装单位" clearable v-model="form.packingUnit">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="体积">
-                <div class="form-line">
-                  <el-input  v-model="form.volume"/>
-                  <DictSelection class="line-select" dictName="体积单位" clearable v-model="form.volumeUnit">
-                  </DictSelection>
-                </div>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="毛重">
-                <div class="form-line">
-                  <el-input  v-model="form.roughWeight"/>
-                  <DictSelection class="line-select" dictName="重量单位" clearable v-model="form.weightUnit">
-                  </DictSelection>
-                </div>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8" class='net-box'>
-             <el-form-item label="净重" prop="netWeight">
-                  <el-input  v-model="form.netWeight"/>
-             </el-form-item>
-             <el-form-item label-width="15px" prop="weightUnit" style="width: 45%;">
-                <DictSelection class="line-select" dictName="重量单位" clearable v-model="form.weightUnit">
-                </DictSelection>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="是否产品" prop="isProduct">
-                <el-switch @change="changeProduct" v-model="form.isProduct" :active-value="1" :inactive-value="0"> </el-switch>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="所属部门">
-                <deptSelect v-model="form.deptLeaderId" @changeGroup="searchDeptNodeClick"/>
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="负责人">
-                <personSelect
-                  ref="directorRef"
-                  v-model="form.deptId"
-                  @selfChange="handleDirectorChange"
-                  :init="false"
-                />
-             </el-form-item>
-           </el-col>
-           <el-col :span="8">
-             <el-form-item label="产品分类"  prop="productCategoryLevelName" :rules='
-                form.isProduct? [{ required: true, trigger: "change", message: "请选择产品分类" }]:[]
-              '
-            >
-                <el-input readonly :disabled="!form.isProduct" v-model="form.productCategoryLevelName" @click.native="openProductCategory"/>
-             </el-form-item>
-           </el-col>
-         </el-row>
-
-         <!-- 物料组弹窗 -->
-         <GroupDialog ref="groupRefs" @changeMaterial='determineChoose'/>
-         <!-- 分类选择弹窗 -->
-         <CategoryDialog ref="categoryRefs" @chooseCategory='confirmCategory'/>
-         <!-- 仓储配置 -->
-         <WarehouseInfo ref="warehouseRefs" :form="categoryWms"/>
-         <!-- 生产信息 -->
-          <ProductionInfo ref="productionRefs" :form="categoryMes"/>
-          <!-- 计划 -->
-          <PlanInfo ref="planRefs" :form="categoryAps"/>
-          <!-- 质量配置 -->
-          <QualityInfo ref="qualityRefs" :form="categoryQms"/>
-          <!-- 舟皿信息 -->
-          <BoatInfo ref="qualityRefs" :form="categoryPallet"/>
-          <!-- 周转车信息 -->
-          <TurnoverInfo ref="turnoverRefs" :form="categoryVehicle"/>
-          <!-- 模具信息 -->
-          <MoldInfo ref="moldRefs" :form="categoryMold"/>
-          <!-- 备注信息 -->
-          <RemarkInfo ref="remarkRefs" :form="remarkform"/>
-         <div class="footer-btn">
-             <el-button @click="cancel">返回</el-button>
-             <el-button type="primary" @click="submit" :loading="loading">保存</el-button>
-          </div>
-      </el-form>
-    </el-card>
-
-  </div>
-</template>
-
-<script>
-  import GroupDialog from './components/GroupDialog.vue';
-  import CategoryDialog from './components/CategoryDialog.vue';
-  import WarehouseInfo from './components/WarehouseInfo.vue';
-  // import ProcureInfo from './components/ProcureInfo.vue';
-  import ProductionInfo from './components/ProductionInfo.vue';
-  import PlanInfo from './components/PlanInfo.vue';
-  // import SalesInfo from './components/SalesInfo.vue';
-  import QualityInfo from './components/QualityInfo.vue';
-  import BoatInfo from './components/BoatInfo.vue';
-  import TurnoverInfo from './components/TurnoverInfo.vue';
-  import MoldInfo from './components/MoldInfo.vue';
-  import RemarkInfo from './components/RemarkInfo.vue';
-  import deptSelect from '@/components/CommomSelect/dept-select.vue';
-  import personSelect from '@/components/CommomSelect/person-select.vue';
-  import { addMaterial , editMaterial , getDetailInfo } from '@/api/material/manage.js';
-  import { finishPageTab , reloadPageTab } from '@/utils/page-tab-util';
-  import { deepClone } from '@/utils/index'
-  export default {
-    name: 'ManageMaterial',
-    components: {
-      GroupDialog , deptSelect , personSelect , WarehouseInfo , ProductionInfo ,
-      PlanInfo , QualityInfo , BoatInfo , TurnoverInfo , MoldInfo , RemarkInfo , CategoryDialog
-    },
-    data() {
-      const defaultForm = {
-        categoryLevelGroupName:'',
-        categoryLevelName:''
-      };
-      return {
-         loading:false,
-         form:{...defaultForm},
-         categoryAps:{
-           unit:1,
-           orderIntervalUnit:1
-         },
-         categoryMes:{},
-         categoryMold:{},
-         categoryPallet:{},
-         categoryQms:{},
-         categoryVehicle:{},
-         remarkform:{
-           remarkAttach:[]
-         },
-         categoryWms:{},
-         chooseItem:null,
-         PathInfo:{},
-         titileStatus:1
-      };
-    },
-    computed:{
-      rules(){
-         const rules ={
-        	 categoryLevelGroupName:[{ required: true, message: '请选择所属物料组', trigger: 'change' }],
-           code:[{ required: true, message: '请输入编码', trigger: 'blur' }],
-           name:[{ required: true, message: '请输入名称', trigger: 'blur' }],
-           categoryLevelName:[{ required: true, message: '请选择所属分类', trigger: 'change' }],
-           measuringUnit:[{ required: true, message: '请选择计量单位', trigger: 'change' }],
-           packingUnit:[{ required: true, message: '请选择包装单位', trigger: 'change' }],
-           isProduct:[{ required: true, message: '请选择是否产品', trigger: 'change' }],
-           netWeight:[{ required: true, message: '请输入净重', trigger: 'blur' }],
-           weightUnit:[{ required: true, message: '请选择重量单位', trigger: 'change' }]
-         }
-         return rules
-      }
-    },
-
-    created() {
-        this.chooseItem = JSON.parse(this.$route.query.chooseTab)
-        this.$set(this.form,'categoryLevelGroupName',this.chooseItem.name)
-        this.$set(this.form,'categoryLevelGroupId',this.chooseItem.id)
-        this.titileStatus = this.$route.query.status
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList();
-        });
-       if(this.$route.query.id){
-          this.getDetail(this.$route.query.id)
-       }
-    },
-
-    methods: {
-      // 获取详情
-      getDetail(id){
-        getDetailInfo(id).then(res=>{
-           const info = deepClone(res)
-           this.form = {
-             ...info.category
-           }
-           this.judgeSet(info)
-           delete this.form.remarkAttach
-           delete this.form.remark
-           this.$set(this.remarkform,'remarkAttach',info.category.remarkAttach)
-           this.$set(this.remarkform,'remark',info.category.remark)
-           this.$set(this.form,'categoryLevelGroupName',this.chooseItem.name)
-           if(this.titileStatus == 1){
-              delete this.form.code
-              delete this.form.id
-           }
-        })
-      },
-
-      // 判断字段类型并赋值
-      judgeSet(info){
-         if(typeof info.categoryAps == 'string'){
-            this.categoryAps = {}
-         }else{
-            this.categoryAps = info.categoryAps
-         }
-         if(typeof info.categoryMes == 'string'){
-            this.categoryMes = {}
-         }else{
-            this.categoryMes = info.categoryMes
-         }
-         if(typeof info.categoryMold == 'string'){
-            this.categoryMold = {}
-         }else{
-            this.categoryMold = info.categoryMold
-         }
-         if(typeof info.categoryPallet == 'string'){
-            this.categoryPallet = {}
-         }else{
-            this.categoryPallet = info.categoryPallet
-         }
-         if(typeof info.categoryQms == 'string'){
-            this.categoryQms = {}
-         }else{
-            this.categoryQms = info.categoryQms
-         }
-         if(typeof info.categoryVehicle == 'string'){
-            this.categoryVehicle = {}
-         }else{
-            this.categoryVehicle = info.categoryVehicle
-         }
-         if(typeof info.categoryWms == 'string'){
-            this.categoryWms = {}
-         }else{
-            this.categoryWms = info.categoryWms
-         }
-      },
-
-      // 选择所属部门
-      searchDeptNodeClick (id, info) {
-        // 根据部门获取人员
-        const params = { executeGroupId: id };
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList(params);
-        });
-      },
-      //选择负责人
-      handleDirectorChange (id, info) {
-      },
-
-      chooseMaterial(){
-          this.$refs.groupRefs.open(this.chooseItem)
-      },
-      // 选择分类
-      openCategory(){
-          if(!this.chooseItem) return this.$message.warning('请先选择物料组!')
-          this.$refs.categoryRefs.open(this.chooseItem.categoryLevelRootId,'选择分类')
-      },
-      // 选择产品分类
-      openProductCategory(){
-        if(!this.form.isProduct) return
-          this.$refs.categoryRefs.open(9,'选择产品分类')
-      },
-      determineChoose(row){
-        if(this.chooseItem.id!=row.id){
-          this.chooseItem = row
-          this.$set(this.form,'categoryLevelGroupName',row.name)
-          this.$set(this.form,'categoryLevelGroupId',row.id)
-          this.$set(this.form,'categoryLevelName',null)
-          this.$set(this.form,'categoryLevelId',null)
-        }
-
-      },
-      cancel(){
-        finishPageTab()
-        this.$router.go(-1)
-      },
-
-      // 确定分类
-      confirmCategory(node,title,PathInfo){
-         if(title=='选择产品分类'){
-            this.$set(this.form,'productCategoryLevelName',node.name)
-            this.$set(this.form,'productCategoryLevelId',node.id)
-            this.remarkform.productNode = node
-         }else{
-            this.$set(this.form,'categoryLevelName',node.name)
-            this.$set(this.form,'categoryLevelId',node.id)
-            this.remarkform.categoryNode = node
-            this.PathInfo = PathInfo
-         }
-      },
-
-      changeProduct(){
-         if(!this.form.isProduct){
-           this.$refs.manageForm.clearValidate(["productCategoryLevelName"]);
-           this.$set(this.form,'productCategoryLevelName','')
-           this.$set(this.form,'productCategoryLevelId','')
-         }
-      },
-
-      // 保存
-      submit(){
-        this.$refs.manageForm.validate((valid) => {
-          if (!valid) {
-            return false;
-          }
-          this.loading = true;
-          const data = {
-            categoryWms:this.categoryWms,
-            categoryAps:this.categoryAps,
-            categoryMes:this.categoryMes,
-            categoryMold:this.categoryMold,
-            categoryPallet:this.categoryPallet,
-            categoryQms:this.categoryQms,
-            categoryVehicle:this.categoryVehicle,
-            category:{
-              ...this.form,
-              ...this.remarkform,
-              ...this.PathInfo
-            }
-          };
-          // const saveOrUpdate = this.form.id ? editMaterial : addMaterial;
-          addMaterial(data)
-            .then((msg) => {
-              this.loading = false;
-              this.$message.success(msg);
-              finishPageTab()
-              reloadPageTab({ fullPath: '/material/manage' });
-              this.$router.go(-1)
-            })
-            .catch((e) => {
-              this.loading = false;
-            });
-        })
-
-      }
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .ele-page-header{
-  	border: none;
-  }
-  .body-top{
-  	display: flex;
-  	align-items:center;
-  	justify-content:space-between;
-  	background: #fff;
-    .top-left{
-       display: flex;
-       align-items:center;
-       justify-content: flex-start;
-       margin-left: -25px;
-        .el-form-item{
-       	  margin-bottom: 0;
-       }
-    }
-
-  }
-  .divider {
-    margin: 20px 0;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width{
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select{
-      margin-left:15px;
-    }
-  }
-  .footer-btn{
-    width:100%;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    margin:20px auto;
-  }
-  .net-box{
-    display: flex;
-    align-items: center;
-    justify-content: flex-start;
-  }
-</style>

+ 0 - 224
src/views/material/product copy/components/link-msg.vue

@@ -1,224 +0,0 @@
-<template>
-  <div class="link-msg">
-    <headerTitle title="关联信息"></headerTitle>
-    <el-tabs v-model="activeTab">
-      <el-tab-pane label="可用模具">
-        <ele-pro-table :columns="moduleColumn" :datasource="moduleData">
-        </ele-pro-table>
-      </el-tab-pane>
-      <el-tab-pane label="BOM">
-        <ele-pro-table :columns="BOMColumn" :datasource="bomData">
-        </ele-pro-table
-      ></el-tab-pane>
-      <el-tab-pane label="工艺路线">
-        <ele-pro-table :columns="pathColumn" :datasource="pathData">
-        </ele-pro-table
-      ></el-tab-pane>
-      <!-- <el-tab-pane label="质量标准"></el-tab-pane> -->
-      <!-- <el-tab-pane label="文件">
-        <ele-pro-table :columns="fileColumn" :datasource="[]"> </ele-pro-table
-      ></el-tab-pane> -->
-      <el-tab-pane label="关联设备">
-        <ele-pro-table :columns="equiColumn" :datasource="eqData">
-        </ele-pro-table
-      ></el-tab-pane>
-    </el-tabs>
-  </div>
-</template>
-
-<script>
-  import { getBomRoutingList } from '@/api/material/manage.js';
-  import { getRelatesInformationList } from '@/api/material/product.js';
-  import dictMixins from '@/mixins/dictMixins';
-  export default {
-    mixins: [dictMixins],
-    props: {
-      id: [Number, String],
-      categoryLevelId: [Number, String],
-      categoryLevelGroupId: [Number, String]
-    },
-    data () {
-      return {
-        activeTab: '0',
-        moduleColumn: [
-          {
-            type: 'index',
-            label: '序号',
-            width: '55px',
-            align: 'center'
-          },
-          {
-            label: '编码',
-            prop: 'code'
-          },
-          {
-            label: '名称',
-            prop: 'name'
-          },
-          {
-            label: '牌号',
-            prop: 'brandNum'
-          },
-          {
-            label: '型号',
-            prop: 'modelType'
-          },
-          {
-            label: '收缩系数',
-            prop: 'extendInfo.shrinkEffictive'
-          },
-          {
-            label: '大模体型号',
-            prop: 'extendInfo.maxMoldType'
-          },
-          // {
-          //   label: '物品类型',
-          //   prop: ''
-          // },
-          {
-            label: '分类',
-            prop: 'categoryLevelGroupName'
-          }
-        ],
-        BOMColumn: [
-          {
-            label: 'BOM编码',
-            prop: 'code'
-          },
-          {
-            label: 'BOM名称',
-            prop: 'name'
-          },
-          {
-            label: '版本号',
-            prop: 'version'
-          },
-          {
-            label: '基本数量',
-            prop: 'baseCount'
-          },
-          {
-            label: '单位',
-            prop: 'baseCountUnit'
-          }
-        ],
-        pathColumn: [
-          {
-            label: '工艺路线组编码',
-            prop: 'code'
-          },
-          {
-            label: '工艺路线名称',
-            prop: 'name'
-          },
-          {
-            label: '生产版本',
-            prop: ''
-          },
-          {
-            label: '工艺路线版本',
-            prop: 'version'
-          }
-        ],
-        fileColumn: [
-          {
-            label: '文件编码'
-          },
-          {
-            label: '文件名称'
-          }
-        ],
-        equiColumn: [
-          // {
-          //   type: 'selection'
-          // },
-          {
-            label: '设备分类',
-            prop: 'categoryLevelGroupName'
-          },
-          {
-            label: '设备编码',
-            prop: 'code'
-          },
-          {
-            label: '设备名称',
-            prop: 'name'
-          },
-          {
-            label: '产能',
-            formatter: (row) => {
-              return (
-                row.quantity &&
-                `${row.quantity}/${this.getDictValue(
-                  '重量单位',
-                  row.quantityUnitId
-                )}`
-              );
-            }
-          }
-        ],
-        moduleData: [],
-        eqData: [],
-        bomData: [],
-        pathData: []
-      };
-    },
-    watch: {
-      id: {
-        handler (val) {
-          if (val) {
-            this.getData();
-          }
-        },
-        immediate: true
-      },
-      categoryLevelId: {
-        handler (val) {
-          if (val) {
-            this.getModuleData();
-            this.getEqData();
-          }
-        },
-        immediate: true
-      }
-    },
-    created () {
-      this.requestDict('重量单位');
-    },
-    methods: {
-      async getData () {
-        const data = await getBomRoutingList(this.id);
-
-        this.bomData = data?.bomList || [];
-        this.pathData = data?.routingList || [];
-      },
-      // 关联设备
-      async getEqData () {
-        const data = await getRelatesInformationList({
-          mainCategoryId: this.categoryLevelId,
-          categoryLevelRootId: 4 ,//设备
-          categoryLevelGroupId:this.categoryLevelGroupId
-        });
-
-        this.eqData = data;
-      },
-      // 关联舟皿
-      async getModuleData () {
-        const data = await getRelatesInformationList({
-          mainCategoryId: this.categoryLevelId,
-          categoryLevelRootId: 5 ,//模具
-          categoryLevelGroupId:this.categoryLevelGroupId
-        });
-
-        this.moduleData = data;
-      }
-    }
-  };
-</script>
-<style lang="scss" scoped>
-  .link-msg {
-    background: #fff;
-
-    padding: 1px 17px;
-  }
-</style>

+ 0 - 104
src/views/material/product copy/components/product-search.vue

@@ -1,104 +0,0 @@
-<!-- 搜索表单 -->
-<template>
-  <el-form
-    label-width="77px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="10">
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="产品编码">
-          <el-input clearable v-model="where.code" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="产品名称">
-          <el-input clearable v-model="where.name" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="牌号">
-          <el-input clearable v-model="where.brandNum" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="型号">
-          <el-input clearable v-model="where.modelType" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 4 } : { span: 4 }">
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-
-          <el-button
-            @click="reset"
-            icon="el-icon-refresh"
-            class="ele-btn-icon"
-            size="medium"
-            >重置</el-button
-          >
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
-</template>
-
-<script>
-  export default {
-    data () {
-      // 默认表单数据
-      const defaultWhere = {
-        name: '',
-        code: '',
-        brandNum: '',
-        modelType: ''
-      };
-      return {
-        options: [
-          { value: 0, label: '全部' },
-          { value: 1, label: '业务字典' },
-          { value: 2, label: '数据字典' }
-        ],
-        defaultWhere,
-        // 表单数据
-        where: { ...defaultWhere }
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      /* 搜索 */
-      search () {
-        if (this.where.appType === 0) {
-          this.where.appType = '';
-        }
-        this.$emit('search', this.where);
-      },
-      /*  重置 */
-      reset () {
-        this.where = { ...this.defaultWhere };
-        this.search();
-      }
-    }
-  };
-</script>
-
-<style>
-  .ele-form-actions {
-    display: inline-block;
-    transform: translate(0);
-    transition: all;
-  }
-</style>

+ 0 - 421
src/views/material/product copy/detail.vue

@@ -1,421 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <el-form
-        label-width="120px"
-        ref="manageForm"
-        :model="form"
-        :rules="rules"
-      >
-        <headerTitle title="基本信息">
-          <el-button @click="cancel">返回</el-button>
-          <el-button type="primary" @click="submit" :loading="loading"
-            >保存</el-button
-          ></headerTitle
-        >
-        <!-- <div class="divider">
-          <div class="title">
-            <div class="ele-bg-primary"></div>
-            <span>基本信息</span>
-          </div>
-          <div class="ele-bg-primary ele-width"></div>
-        </div> -->
-        <el-row :gutter="24">
-          <el-col :span="8">
-            <el-form-item label="编码" prop="code">
-              <el-input v-model="form.code" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="名称" prop="name">
-              <el-input v-model="form.name" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="分类" prop="categoryLevelName">
-              <el-input
-                v-model="form.categoryLevelName"
-                @click.native="openCategory"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="牌号" prop="brandNum">
-              <el-input v-model="form.brandNum" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="规格" prop="specification">
-              <el-input v-model="form.specification" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="型号" prop="modelType">
-              <el-input v-model="form.modelType" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="计量单位" prop="measuringUnit">
-              <DictSelection
-                dictName="计量单位"
-                clearable
-                v-model="form.measuringUnit"
-              >
-              </DictSelection>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="包装单位" prop="packingUnit">
-              <DictSelection
-                dictName="包装单位"
-                clearable
-                v-model="form.packingUnit"
-              >
-              </DictSelection>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="体积">
-              <div class="form-line">
-                <el-input v-model="form.volume" />
-                <DictSelection
-                  class="line-select"
-                  dictName="体积单位"
-                  clearable
-                  v-model="form.volumeUnit"
-                >
-                </DictSelection>
-              </div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="毛重">
-              <div class="form-line">
-                <el-input v-model="form.roughWeight" />
-                <DictSelection
-                  class="line-select"
-                  dictName="重量单位"
-                  clearable
-                  v-model="form.weightUnit"
-                >
-                </DictSelection>
-              </div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="净重">
-              <div class="form-line">
-                <el-input v-model="form.netWeight" />
-                <DictSelection
-                  class="line-select"
-                  dictName="重量单位"
-                  clearable
-                  v-model="form.weightUnit"
-                >
-                </DictSelection>
-              </div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="所属部门">
-              <deptSelect
-                v-model="form.deptLeaderId"
-                @changeGroup="searchDeptNodeClick"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="负责人">
-              <personSelect
-                ref="directorRef"
-                v-model="form.deptId"
-                @selfChange="handleDirectorChange"
-                :init="false"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </el-card>
-
-    <!-- 分类选择弹窗 -->
-    <CategoryDialog ref="categoryRefs" @chooseCategory="confirmCategory" />
-    <!-- 仓储配置 -->
-    <WarehouseInfo ref="warehouseRefs" :form="categoryWms" />
-    <!-- 生产信息 -->
-    <ProductionInfo ref="productionRefs" :form="categoryMes" />
-    <!-- 计划 -->
-    <PlanInfo ref="planRefs" :form="categoryAps" />
-    <!-- 质量配置 -->
-    <QualityInfo ref="qualityRefs" :form="categoryQms" />
-    <!-- 舟皿信息 -->
-    <BoatInfo ref="qualityRefs" :form="categoryPallet" />
-    <!-- 周转车信息 -->
-    <TurnoverInfo ref="turnoverRefs" :form="categoryVehicle" />
-    <!-- 模具信息 -->
-    <MoldInfo ref="moldRefs" :form="categoryMold" />
-    <!-- 备注信息 -->
-    <RemarkInfo ref="remarkRefs" :form="remarkform" />
-    <!-- 关联信息 -->
-    <linkMsg
-      ref="linkMsgRef"
-      :id="$route.query.id"
-      :categoryLevelId="form.categoryLevelId"
-      :categoryLevelGroupId = "form.categoryLevelGroupId"
-    />
-  </div>
-</template>
-
-<script>
-  import GroupDialog from '../manage/components/GroupDialog.vue';
-  import CategoryDialog from '../manage/components/CategoryDialog.vue';
-  import WarehouseInfo from '../manage/components/WarehouseInfo.vue';
-  import ProcureInfo from '../manage/components/ProcureInfo.vue';
-  import ProductionInfo from '../manage/components/ProductionInfo.vue';
-  import PlanInfo from '../manage/components/PlanInfo.vue';
-  import SalesInfo from '../manage/components/SalesInfo.vue';
-  import QualityInfo from '../manage/components/QualityInfo.vue';
-  import BoatInfo from '../manage/components/BoatInfo.vue';
-  import TurnoverInfo from '../manage/components/TurnoverInfo.vue';
-  import MoldInfo from '../manage/components/MoldInfo.vue';
-  import RemarkInfo from '../manage/components/RemarkInfo.vue';
-  import deptSelect from '@/components/CommomSelect/dept-select.vue';
-  import personSelect from '@/components/CommomSelect/person-select.vue';
-  import linkMsg from './components/link-msg.vue';
-  import { getDetails } from '@/api/classifyManage/itemInformation';
-  import { addMaterial } from '@/api/material/manage.js';
-  import { deepClone } from '@/utils/index';
-  import { finishPageTab, reloadPageTab } from '@/utils/page-tab-util';
-  export default {
-    name: 'ManageMaterial',
-    components: {
-      linkMsg,
-      GroupDialog,
-      deptSelect,
-      personSelect,
-      WarehouseInfo,
-      ProcureInfo,
-      ProductionInfo,
-      PlanInfo,
-      SalesInfo,
-      QualityInfo,
-      BoatInfo,
-      TurnoverInfo,
-      MoldInfo,
-      RemarkInfo,
-      CategoryDialog
-    },
-    data () {
-      return {
-        loading: false,
-        form: {
-          categoryLevelGroupName: '',
-          categoryLevelName: ''
-        },
-        remarkform: {
-          remarkAttach: []
-        },
-        categoryAps: {},
-        categoryMes: {},
-        categoryMold: {},
-        categoryPallet: {},
-        categoryQms: {},
-        categoryVehicle: {},
-        categoryWms: {},
-        // 表单验证规则
-        rules: {
-          categoryLevelGroupName: [
-            { required: true, message: '请选择所属物料组', trigger: 'change' }
-          ],
-          code: [{ required: true, message: '请输入编码', trigger: 'blur' }],
-          name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
-          categoryLevelName: [
-            { required: true, message: '请选择所属分类', trigger: 'change' }
-          ],
-          measuringUnit: [
-            { required: true, message: '请选择计量单位', trigger: 'change' }
-          ]
-        },
-        PathInfo: {},
-        id: null
-      };
-    },
-    created () {
-      this._getDetails();
-    },
-    methods: {
-      async _getDetails () {
-        const data = await getDetails(this.$route.query.id);
-        const info = deepClone(data);
-        this.form = {
-          ...info.category
-        };
-        this.judgeSet(info);
-        this.searchDeptNodeClick(this.form.deptLeaderId);
-      },
-      // 判断字段类型并赋值
-      judgeSet (info) {
-        if (typeof info.categoryAps == 'string') {
-          this.categoryAps = {};
-        } else {
-          this.categoryAps = info.categoryAps;
-        }
-        if (typeof info.categoryMes == 'string') {
-          this.categoryMes = {};
-        } else {
-          this.categoryMes = info.categoryMes;
-        }
-        if (typeof info.categoryMold == 'string') {
-          this.categoryMold = {};
-        } else {
-          this.categoryMold = info.categoryMold;
-        }
-        if (typeof info.categoryPallet == 'string') {
-          this.categoryPallet = {};
-        } else {
-          this.categoryPallet = info.categoryPallet;
-        }
-        if (typeof info.categoryQms == 'string') {
-          this.categoryQms = {};
-        } else {
-          this.categoryQms = info.categoryQms;
-        }
-        if (typeof info.categoryVehicle == 'string') {
-          this.categoryVehicle = {};
-        } else {
-          this.categoryVehicle = info.categoryVehicle;
-        }
-        if (typeof info.categoryWms == 'string') {
-          this.categoryWms = {};
-        } else {
-          this.categoryWms = info.categoryWms;
-        }
-      },
-      // 选择所属部门
-      searchDeptNodeClick (id, info) {
-        // 根据部门获取人员
-        const params = { executeGroupId: id };
-        this.$nextTick(() => {
-          this.$refs.directorRef.getList(params);
-        });
-      },
-      //选择负责人
-      handleDirectorChange (id, info) {},
-      // 确定分类
-      confirmCategory (node, title, PathInfo) {
-        if (title == '选择产品分类') {
-          this.$set(this.form, 'productCategoryLevelName', node.name);
-          this.$set(this.form, 'productCategoryLevelId', node.id);
-        } else {
-          this.$set(this.form, 'categoryLevelName', node.name);
-          this.$set(this.form, 'categoryLevelId', node.id);
-          this.$set(this.form, 'categoryLevelPath', node.name);
-          this.$set(this.form, 'categoryLevelPathId', node.id);
-          this.PathInfo = PathInfo;
-        }
-      },
-      openCategory () {
-        this.$refs.categoryRefs.open(this.form.categoryLevelId);
-      },
-      cancel () {
-        finishPageTab();
-        this.$router.go(-1);
-      },
-
-      // 保存
-      submit () {
-        this.$refs.manageForm.validate((valid) => {
-          if (!valid) {
-            return false;
-          }
-          this.loading = true;
-          // const imgList = this.remarkform.imgList;
-          // const arr = [];
-          // if (imgList.length) {
-          //   imgList.map((item) => {
-          //     arr.push(item.storePath);
-          //   });
-          //   this.form.remarkAttach = arr.join(',');
-          // }
-          // this.form.remark = this.remarkform.remark
-          //   ? this.remarkform.remark
-          //   : '';
-          const data = {
-            categoryWms: this.categoryWms,
-            categoryAps: this.categoryAps,
-            categoryMes: this.categoryMes,
-            categoryMold: this.categoryMold,
-            categoryPallet: this.categoryPallet,
-            categoryQms: this.categoryQms,
-            categoryVehicle: this.categoryVehicle,
-            category: {
-              ...this.form,
-              ...this.remarkform,
-              ...this.PathInfo
-            }
-          };
-          addMaterial(data)
-            .then((msg) => {
-              this.loading = false;
-              this.$message.success(msg);
-              finishPageTab();
-              reloadPageTab({ fullPath: '/material/product' });
-              this.$router.go(-1);
-            })
-            .catch((e) => {
-              this.loading = false;
-            });
-        });
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .ele-page-header {
-    border: none;
-  }
-  .body-top {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    background: #fff;
-    .top-left {
-      display: flex;
-      align-items: center;
-      justify-content: flex-start;
-      margin-left: -25px;
-      .el-form-item {
-        margin-bottom: 0;
-      }
-    }
-  }
-  .divider {
-    margin: 20px 0;
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      div {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-    .ele-width {
-      width: 100%;
-      height: 2px;
-    }
-  }
-  .form-line {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .line-select {
-      margin-left: 15px;
-    }
-  }
-</style>

+ 0 - 165
src/views/material/product copy/index.vue

@@ -1,165 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <ProductSearch @search="reload" />
-      <ele-split-layout
-        width="244px"
-        allow-collapse
-        :right-style="{ overflow: 'hidden' }"
-      >
-        <div class="ele-border-lighter split-layout-right-content">
-          <AssetTree
-            ref="assetTreeRef"
-            type="1"
-            @handleNodeClick="handleNodeClick"
-          />
-        </div>
-        <!-- 表格 -->
-        <template v-slot:content>
-          <ele-pro-table
-            ref="table"
-            :columns="columns"
-            :datasource="datasource"
-            height="calc(100vh - 350px)"
-            class="dict-table"
-          >
-            <!-- 表头工具栏 -->
-            <template v-slot:action="{ row }">
-               <el-link
-                type="primary"
-                :underline="false"
-                icon="el-icon-edit"
-                @click="handleEdit(row)"
-              >
-                修改
-              </el-link> 
-            </template>
-          </ele-pro-table>
-        </template>
-      </ele-split-layout>
-    </el-card>
-  </div>
-</template>
-
-<script>
-  import AssetTree from '@/components/AssetTree/group.vue';
-  import ProductSearch from './components/product-search.vue';
-  import { getList } from '@/api/classifyManage/itemInformation';
-
-  export default {
-    name: 'SystemDictionary',
-    components: { AssetTree, ProductSearch },
-    data () {
-      return {
-        // 表格列配置
-        columns: [
-          {
-            columnKey: 'index',
-            type: 'index',
-            width: 55,
-            align: 'center',
-            reserveSelection: true,
-            label: '序号',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'code',
-            label: '产品编码',
-            minWidth: 100
-          },
-          {
-            prop: 'name',
-            label: '产品名称',
-            showOverflowTooltip: true,
-            minWidth: 130
-          },
-
-          {
-            prop: 'categoryLevelGroupCode',
-            label: '物料组编码',
-            showOverflowTooltip: true,
-            width: 100
-          },
-
-          {
-            prop: 'brandNum',
-            label: '牌号',
-            width: 70
-          },
-          {
-            prop: 'modelType',
-            label: '型号',
-            minWidth: 130
-          },
-          {
-            prop: 'measuringUnit',
-            label: '计量单位',
-            width: 80
-          },
-          {
-            prop: 'weightUnit',
-            label: '重量单位',
-            width: 80
-          },
-
-          {
-            prop: 'roughWeight',
-            label: '毛重',
-            width: 100
-        
-          },
-
-          {
-            prop: 'netWeight',
-            label: '净重',
-            width: 100
-       
-          },
-
-          {
-            prop: 'packingUnit',
-            label: '包装单位',
-            width: 80
-          },
-          {
-            action: 'action',
-            slot: 'action',
-            label: '操作'
-          }
-        ],
-        categoryLevelId: '9'
-      };
-    },
-
-    methods: {
-      /* 表格数据源 */
-      datasource ({ page, where, limit }) {
-        return getList({
-          ...where,
-          pageNum: page,
-          size: limit,
-          isProduct: true,
-          categoryLevelId: this.categoryLevelId
-        });
-      },
-      handleNodeClick (data) {
-        this.categoryLevelId = data.id;
-        this.reload();
-      },
-      /* 刷新表格 */
-      reload (where) {
-        this.$refs.table.reload({ where });
-      },
-      handleEdit ({ id }) {
-        this.$router.push({
-          path: '/material/product/detail',
-          query: {
-            id
-          }
-        });
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped></style>

+ 1 - 1
src/views/material/product/components/index-data.vue

@@ -50,7 +50,7 @@
 </template>
 
 <script>
-import { getMaterialList, removeMaterial } from '@/api/material/manage.js';
+import { getMaterialList, removeMaterial } from '@/api/material/list.js';
 import MaterialModal from './MaterialModal.vue'
 import ParamEdit from '@/views/technology/productParam/components/user-edit.vue'
 export default {

+ 1 - 1
src/views/material/product/components/link-msg.vue

@@ -27,7 +27,7 @@
 </template>
 
 <script>
-  import { getBomRoutingList } from '@/api/material/manage.js';
+  import { getBomRoutingList } from '@/api/material/list.js';
   import { getRelatesInformationList } from '@/api/material/product.js';
   import dictMixins from '@/mixins/dictMixins';
   export default {

+ 1 - 1
src/views/material/product/detail.vue

@@ -159,7 +159,7 @@ import { getDetails } from '@/api/classifyManage/itemInformation';
 
 import { getCode } from '@/api/codeManagement';
 
-import { addMaterial } from '@/api/material/manage.js';
+import { addMaterial } from '@/api/material/list.js';
 import { deepClone } from '@/utils/index';
 import { finishPageTab, reloadPageTab } from '@/utils/page-tab-util';
 export default {

+ 1 - 1
src/views/technology/productParam/components/ProductModal.vue

@@ -29,7 +29,7 @@
 <script>
 import AssetTree from '@/components/AssetTree';
 import ProductSearch from './product-search.vue'
-import { getMaterialList } from '@/api/material/manage.js';
+import { getMaterialList } from '@/api/material/list.js';
 export default {
   components: { AssetTree, ProductSearch },
   data() {