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

Merge remote-tracking branch 'origin/dev' into dev

Z 1 год назад
Родитель
Сommit
056b66048c

+ 28 - 1
src/api/material/BOM.js

@@ -158,6 +158,11 @@ export async function getBomPageList(params) {
   return Promise.reject(new Error(res.data.message));
 }
 
+
+
+
+
+
 // 获取产品BOM列表
 export async function getBomPageCategoryId(params) {
   const res = await request.get(`/main/bomCategory/pageByCategoryId`, { params });
@@ -177,7 +182,7 @@ export async function bomCategoryUpdate(data) {
 }
 
 
-// 转换
+// 转换 MBOM
 export async function convert(data) {
   const res = await request.post(`/main/bomCategory/convert`, data);
   if (res.data.code == 0) {
@@ -226,6 +231,28 @@ export async function bomSubmit(data) {
   return Promise.reject(new Error(res.data.message));
 }
 
+// 嘉实医药提交
+export async function jsBomSubmit(data) {
+  const res = await request.post(`/bpm/jsbom/submit`, data);
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 嘉实设备提交
+
+export async function deviceBomSubmit(data) {
+  const res = await request.post(`/bpm/jsbom/deviceSubmit`, data);
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+
+
 // 新增工序
 export async function workingProcedureSave(data) {
   const res = await request.post(`/main/categoryparam/save`, data);

+ 5 - 0
src/components/authSelection/index.vue

@@ -6,6 +6,7 @@
       v-model="selectVal"
       valueKey="id"
       labelKey="name"
+      :size="size"
       :show-checkbox="true"
       :check-strictly="true"
       multiple
@@ -33,6 +34,10 @@
       dataType: {
         type: String,
         default: 'String'
+      },
+      size: {
+        type: String,
+        default: ''
       }
     },
     data() {

+ 4 - 5
src/components/material/user-search.vue

@@ -45,7 +45,7 @@
       <el-col v-bind="styleResponsive ? { md: 6 } : { span: 4 }">
         <el-form-item>
           <el-button
-            size="small"
+             size="mini"
             type="primary"
             icon="el-icon-search"
             class="ele-btn-icon"
@@ -58,19 +58,18 @@
             @click="reset"
             icon="el-icon-refresh"
             class="ele-btn-icon"
-            size="medium"
+            size="mini"
             >重置</el-button
           >
-
+        <!-- 
           <el-button
             type="primary"
             icon="el-icon-refresh-left"
             class="ele-btn-icon"
             @click='refreshData'
             :loading="loading"
-          >刷新</el-button>
+          >刷新</el-button> -->
 
-          <slot></slot>
         </el-form-item>
       </el-col>
     </el-row>

+ 17 - 12
src/enum/dict.js

@@ -84,8 +84,7 @@ export const reviewStatus = {
   3: '审核不通过'
 };
 //编码粗规则
-export const roughRule = [
-  {
+export const roughRule = [{
     label: '数字',
     value: 1
   },
@@ -107,27 +106,30 @@ export const roughRule = [
   }
 ]
 //编码细规则
-export const fineRule = [
-  {
+export const fineRule = [{
     label: '0-9',
     value: '1',
-    pid: '1', reg: '[0-9]'
+    pid: '1',
+    reg: '[0-9]'
   },
 
   {
     label: 'A-Z',
     value: '1',
-    pid: '2', reg: '[A-Z]'
+    pid: '2',
+    reg: '[A-Z]'
   },
   {
     label: 'a-z',
     value: '2',
-    pid: '2', reg: '[a-z]'
+    pid: '2',
+    reg: '[a-z]'
   },
   {
     label: 'A-Z或a-z',
     value: '3',
-    pid: '2', reg: '[A-Za-z]'
+    pid: '2',
+    reg: '[A-Za-z]'
   },
   {
     label: '0-9或A-Z',
@@ -138,7 +140,8 @@ export const fineRule = [
   {
     label: '0-9或a-z',
     value: '2',
-    pid: '3', reg: '[a-z0-9]'
+    pid: '3',
+    reg: '[a-z0-9]'
   },
   {
     label: '年份',
@@ -158,11 +161,13 @@ export const fineRule = [
   {
     label: '0-9',
     value: '1',
-    pid: '5', reg: '[0-9]'
+    pid: '5',
+    reg: '[0-9]'
   },
   {
     label: 'A-Z0-9',
     value: '2',
-    pid: '5', reg: '[A-Z0-9]'
+    pid: '5',
+    reg: '[A-Z0-9]'
   }
-];
+];

+ 1 - 1
src/views/classifyManage/treeClassify/details.vue

@@ -274,7 +274,7 @@
   }
 
   .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
+    height: 30px;
 
     & > .el-tree-node__expand-icon {
       margin-left: 10px;

+ 1 - 1
src/views/codeManagement/businessCode/index.vue

@@ -220,7 +220,7 @@ export default {
   overflow: auto;
 }
 .sys-organization-list :deep(.el-tree-node__content) {
-  height: 40px;
+  height: 30px;
 
   & > .el-tree-node__expand-icon {
     margin-left: 10px;

+ 1 - 1
src/views/codeManagement/index.vue

@@ -139,7 +139,7 @@
   }
 
   .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
+    height: 30px;
 
     & > .el-tree-node__expand-icon {
       margin-left: 10px;

+ 1 - 1
src/views/enterpriseModel/dept/index.vue

@@ -288,7 +288,7 @@ export default {
 }
 
 .sys-organization-list :deep(.el-tree-node__content) {
-  height: 40px;
+  height: 30px;
 
   & > .el-tree-node__expand-icon {
     margin-left: 10px;

+ 1 - 1
src/views/enterpriseModel/regionalManage/index.vue

@@ -279,7 +279,7 @@ export default {
 }
 
 .sys-organization-list :deep(.el-tree-node__content) {
-  height: 40px;
+  height: 30px;
 
   & > .el-tree-node__expand-icon {
     margin-left: 10px;

+ 15 - 19
src/views/material/BOMmanage/components/BOM-search.vue

@@ -7,41 +7,36 @@
     @submit.native.prevent
   >
     <el-row :gutter="10">
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
-        <el-form-item label="BOM编码">
-          <el-input clearable v-model.trim="where.code" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
-        <el-form-item label="BOM名称">
-          <el-input clearable v-model.trim="where.name" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
-        <el-form-item label="产品编码">
+
+
+      <el-col v-bind="styleResponsive ?   { md: 5 } : { span: 5 }">
+        <el-form-item label="编码">
           <el-input
+             size="mini"
             clearable
             v-model.trim="where.categoryCode"
             placeholder="请输入"
           />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
-        <el-form-item label="产品名称">
+      <el-col v-bind="styleResponsive ?   { md: 5 } : { span: 5 }">
+        <el-form-item label="名称">
           <el-input
+             size="mini"
             clearable
             v-model.trim="where.categoryName"
             placeholder="请输入"
           />
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+      <el-col v-bind="styleResponsive ?   { md: 5 } : { span: 5 }">
         <el-form-item label="状态">
           <el-select
             clearable
             v-model.trim="where.status"
             placeholder="请选择"
             class="w100"
+               size="mini"
           >
             <el-option
               v-for="item in Object.entries(statusOpt)"
@@ -52,27 +47,28 @@
           </el-select>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 10 } : { span: 5}">
         <el-form-item label="组织机构:">
-          <auth-selection v-model.trim="where.deptIds" style="width: 100%"></auth-selection>
+          <auth-selection size="mini" v-model.trim="where.deptIds" style="width: 100%"></auth-selection>
         </el-form-item>
       </el-col>
 
 
 
 
-      <el-col v-bind="styleResponsive ? { md: 12 } : { span: 12 }">
+      <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"
+            size="mini"
           >
             查询
           </el-button>
 
-          <el-button @click="reset" icon="el-icon-refresh" class="ele-btn-icon"
+          <el-button @click="reset" icon="el-icon-refresh" class="ele-btn-icon"    size="mini"
             >重置</el-button
           >
         </div>

+ 6 - 2
src/views/material/BOMmanage/components/attribute.vue

@@ -248,8 +248,10 @@
 <script>
   import { getByCode } from '@/api/system/dictionary-data';
   import { bomCategoryUpdate } from '@/api/material/BOM';
+
   export default {
     components: {},
+
     data() {
       return {
         form: {},
@@ -302,7 +304,7 @@
       },
 
       handleUpdate() {
-        bomCategoryUpdate(this.attributeData).then((res) => {
+                bomCategoryUpdate(this.attributeData).then((res) => {
           this.$message.success('修改成功');
         });
       }
@@ -311,7 +313,9 @@
       attributeData: {
         type: Object,
         default: {}
-      }
+      },
+
+
     },
 
     watch: {

+ 15 - 7
src/views/material/BOMmanage/components/baseInfo.vue

@@ -7,7 +7,6 @@
       
       <el-col :span="6" label-width="100px">
       <el-form-item label="类型" prop="type">
-
         {{ dataInfo.bomType == 1 ? "PBOM" :  dataInfo.bomType == 2 ? 'MBOM' :   dataInfo.bomType == 3 ? 'ABOM'  : ''}}
           </el-form-item>
           </el-col>
@@ -18,6 +17,7 @@
           <el-form-item label="BOM编码" prop="type">
             <el-input
               disabled
+              size="mini"
               placeholder="BOM编码"
               v-model="dataInfo.code"
             ></el-input>
@@ -26,6 +26,7 @@
         <el-col :span="6" label-width="100px">
           <el-form-item label="BOM名称" prop="type">
             <el-input
+                 size="mini"
               disabled
               placeholder="BOM名称"
               v-model="dataInfo.name"
@@ -35,6 +36,7 @@
         <el-col :span="6" label-width="100px">
           <el-form-item label="版本号" prop="type">
             <el-input
+                 size="mini"
               disabled
               placeholder="版本号"
               v-model="dataInfo.versions"
@@ -44,6 +46,7 @@
         <el-col :span="6" label-width="100px">
           <el-form-item label="状态" prop="type">
             <el-select
+                 size="mini"
               style="width: 100%"
               disabled
               v-model="dataInfo.status"
@@ -76,12 +79,17 @@
       return {
         statusOptions: [
           {
-            label: '默认',
-            value: '0'
+            label: '已停用',
+            value: 2
+          },
+          {
+            label: '已发布',
+            value: 1
           },
+
           {
-            label: '归档',
-            value: '1'
+            label: '草稿',
+            value: 0
           }
         ]
       };
@@ -99,9 +107,9 @@
 
 <style lang="scss" scoped>
   .baseInfo {
-    padding: 6px;
+    padding: 2px;
     box-sizing: border-box;
     border: 1px solid #f1f2f2;
-    margin-bottom: 10px;
+    margin-bottom: 6px;
   }
 </style>

+ 5 - 4
src/views/material/BOMmanage/components/bomTreeDialog.vue

@@ -176,6 +176,7 @@
 
 <script>
   import { getBomTreeList, saveBomTreeList } from '@/api/material/BOM.js';
+
   import selectTree from '@/components/selectTree';
 
   import userSearch from './user-search.vue';
@@ -186,6 +187,7 @@
       selectTree,
       standardOutput
     },
+
     data() {
       return {
         visible: false,
@@ -227,8 +229,7 @@
           {
             label: 'ABOM',
             value: '3'
-          },
-       
+          }
         ]
       };
     },
@@ -256,6 +257,7 @@
             this.attributeData.level = 1;
           }
           this.attributeData.category = this.category;
+
           saveBomTreeList(this.attributeData).then((res) => {
             if (res.code == '0') {
               this.$message.success('保存成功');
@@ -289,13 +291,12 @@
         this.attributeData.versions = versions;
         this.versions = versions;
 
-        console.log(treeId);
         const res = await getBomTreeList({
           categoryId,
           versions,
           bomType: type
         });
-        console.log(this.attributeData);
+
         this.bomTreeList = res.data;
         this.attributeData.parentId = treeId;
         this.$forceUpdate();

+ 54 - 24
src/views/material/BOMmanage/components/detailedList.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="ele-body">
-    <el-card shadow="never">
+ 
       <BOMSearch
         @search="reload"
         :statusOpt="statusOpt"
@@ -14,17 +14,18 @@
         class="dict-table"
         tool-class="ele-toolbar-actions"
       >
-      
-      <template v-slot:toolbar>
-    
-        <div class="toolbar_box">
-                <div
-                  ><span>基本数量</span>
-                  <el-input placeholder="请输入" v-model.number="attributeData.baseCount">
-                  </el-input>
-                  <DictSelection dictName="计量单位" v-model="attributeData.unit"
-                /></div>
-              </div>
+        <template v-slot:toolbar>
+          <div class="toolbar_box">
+            <div
+              ><span>基本数量</span>
+              <el-input
+                placeholder="请输入"
+                v-model.number="attributeData.baseCount"
+              >
+              </el-input>
+              <DictSelection dictName="计量单位" v-model="attributeData.unit"
+            /></div>
+          </div>
         </template>
 
         <!-- 表头工具栏 -->
@@ -38,7 +39,7 @@
           </el-switch>
         </template>
       </ele-pro-table>
-    </el-card>
+
   </div>
 </template>
 
@@ -46,9 +47,11 @@
   import BOMSearch from './BOM-search.vue';
   import { getBomPageCategoryId, startAndStop } from '@/api/material/BOM';
 
+
   export default {
     name: 'SystemDictionary',
     components: { BOMSearch },
+
     data() {
       return {
         // 表格列配置
@@ -62,25 +65,34 @@
             showOverflowTooltip: true
           },
           {
-            prop: 'code',
-            label: 'BOM编码',
+            prop: 'categoryCode',
+            label: '编码',
             showOverflowTooltip: true
           },
           {
-            prop: 'name',
-            label: 'BOM名称',
+            prop: 'categoryName',
+            label: '名称',
             showOverflowTooltip: true
           },
+
           {
-            prop: 'categoryCode',
-            label: '产品编码',
+            prop: 'brandNum',
+            label: '牌号'
+          },
+
+          {
+            prop: 'modelType',
+            label: '型号',
+            align: 'center',
             showOverflowTooltip: true
           },
           {
-            prop: 'categoryName',
-            label: '产品名称',
+            prop: 'specification',
+            label: '规格',
+            align: 'center',
             showOverflowTooltip: true
           },
+
           {
             prop: 'dosage',
             label: '用量',
@@ -96,6 +108,22 @@
             prop: 'versions',
             label: '版本'
           },
+
+          {
+            prop: 'materielDesignation',
+            label: '物料代号'
+          },
+
+          {
+            prop: 'supplierName',
+            label: '供应商'
+          },
+
+          {
+            prop: 'factories',
+            label: '生产厂家'
+          },
+
           {
             prop: 'status ',
             label: '状态',
@@ -136,7 +164,9 @@
       attributeData: {
         type: Object,
         default: {}
-      }
+      },
+
+
     },
 
     watch: {
@@ -159,6 +189,7 @@
           text: boolean ? '启用中...' : '关闭中...',
           background: 'rgba(0, 0, 0, 0.7)'
         });
+      
         startAndStop({ id: row.id, status: row.status }).then(() => {
           this.$message.success('操作成功');
           this.loadingInstance.close();
@@ -170,6 +201,7 @@
         if (!this.attrObj.id) {
           return false;
         }
+
         return getBomPageCategoryId({
           ...where,
           pageNum: page,
@@ -210,7 +242,6 @@
     }
   }
 
-
   .toolbar_box {
     float: right;
     margin-right: 10px;
@@ -226,5 +257,4 @@
       }
     }
   }
-  
 </style>

+ 42 - 20
src/views/material/BOMmanage/details.vue

@@ -21,14 +21,16 @@
               v-model="currentNodeData.bomType"
               @change="bomChange"
             >
-              <el-radio-button :label="1">PBOM </el-radio-button>
+              <el-radio-button :label="1"
+                >PBOM
+              </el-radio-button>
               <el-radio-button
-                v-if="[1, 9].includes(rootPathIdParent)"
+                v-if="isProduct || [1, 9].includes(rootPathIdParent)"
                 :label="2"
                 >MBOM</el-radio-button
               >
               <el-radio-button
-                v-if="[1, 9].includes(rootPathIdParent)"
+                v-if="isProduct || [1, 9].includes(rootPathIdParent)"
                 :label="3"
                 >ABOM</el-radio-button
               >
@@ -61,13 +63,18 @@
         <template v-slot:content>
           <div class="pbom-box">
             <div class="button-list">
-              <el-button
-                type="primary"
-                size="mini"
-                icon="el-icon-plus"
-                @click="add"
-                >新建</el-button
-              >
+              <el-dropdown @command="handleDown">
+                <el-button type="primary" size="mini" icon="el-icon-plus">
+                  新建<i class="el-icon-arrow-down el-icon--right"></i>
+                </el-button>
+
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item command="a">新建PBOM</el-dropdown-item>
+                  <el-dropdown-item command="a">新建MBOM</el-dropdown-item>
+                  <el-dropdown-item command="a">新建ABOM</el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+
               <el-button
                 v-if="
                   (currentNodeData.bomType == 2 ||
@@ -245,7 +252,8 @@
         treeId: null,
 
         moudleName: 'mainUser',
-        rootPathIdParent: null
+        rootPathIdParent: null,
+        isProduct: false
       };
     },
     watch: {
@@ -254,6 +262,7 @@
         immediate: true, // 启用立即执行
         handler(newQuery, oldQuery) {
           this.rootPathIdParent = Number(newQuery.categoryLevelPathIdParent);
+          this.isProduct = newQuery.isProduct == 'true' ? true : false;
         }
       }
     },
@@ -279,11 +288,19 @@
         this.categoryId = this.$route.query.categoryId;
         this.noBack = this.$route.query.noBack;
 
-        (this.currentNodeData = {
-          bomType: this.$route.query.bType || 1,
-          children: []
-        }),
-          this.getTreeData();
+        if (!this.isProduct) {
+          this.currentNodeData = {
+            bomType: 2,
+            children: []
+          };
+        } else {
+          this.currentNodeData = {
+            bomType: this.$route.query.bType || 1,
+            children: []
+          };
+        }
+
+        this.getTreeData();
       },
       handleClick(tab) {
         if (
@@ -317,7 +334,6 @@
               })
               .catch((e) => {
                 loading.close();
-                // this.$message.error(e.message);
               });
           })
           .catch(() => {
@@ -350,6 +366,11 @@
           }
         );
       },
+
+      handleDown(command) {
+        this.add();
+      },
+
       add() {
         this.$refs.bomTreeDialogRef.open(
           this.currentNodeData.bomType,
@@ -364,7 +385,8 @@
           const res = await getBomTreeList({
             categoryId: this.categoryId,
             versions: this.versions,
-            bomType: this.currentNodeData.bomType
+            bomType: this.currentNodeData.bomType,
+            isTemp: this.$route.query.isTemp == '1' ? 1 : 0
           });
           this.treeLoading = false;
           if (res?.code === '0') {
@@ -485,10 +507,10 @@
   }
 
   .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
+    height: 30px;
 
     & > .el-tree-node__expand-icon {
-      margin-left: 10px;
+      margin-left: 4px;
     }
   }
 

+ 115 - 78
src/views/material/BOMmanage/index.vue

@@ -29,37 +29,66 @@
             </el-link>
           </template>
 
+          <template v-slot:isTemp="{ row }">
+            <el-tag size="mini" v-if="row.isTemp == 1">主数据</el-tag>
+          </template>
+
           <!-- 表头工具栏 -->
           <template v-slot:action="{ row }">
             <el-link type="primary" @click="handelDetail(row)">详情</el-link>
-            <!-- <el-switch
-              :active-value="'1'"
-              :inactive-value="'0'"
-              @change="openBom(row, $event)"
-              v-model="row.status"
-            >
-            </el-switch> -->
+
             <el-link
-              v-if="row.status == 0"
+              v-if="row.status != 1 && (row.approvalStatus == 0  || row.approvalStatus == 3)"
               type="primary"
               @click="handSubmit(row)"
               >发布</el-link
             >
+
+            <el-link
+              type="danger"
+              :underline="false"
+              v-if="activeName == 1 && row.status != 1 && (row.approvalStatus == 0  || row.approvalStatus == 3)"
+              @click="handDel(row)"
+            >
+              删除
+            </el-link>
           </template>
         </ele-pro-table>
       </el-tabs>
     </el-card>
 
+    <el-dialog
+      title="发布"
+      :visible.sync="isSubmit"
+      v-if="isSubmit"
+      width="30%"
+      center
+    >
+      <div>
+        <el-radio v-model="radioSubmit" :label="1">药品</el-radio>
+        <el-radio v-model="radioSubmit" :label="2">器械</el-radio>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isSubmit = false">取 消</el-button>
+        <el-button type="primary" @click="handJsSubmit()">确 定</el-button>
+      </span>
+    </el-dialog>
 
     <LCdetail ref="detailRef"></LCdetail>
-
   </div>
 </template>
 
 <script>
   import BOMSearch from './components/BOM-search.vue';
-  import { getBomPageList, startAndStop, bomSubmit } from '@/api/material/BOM';
-  import LCdetail from './components/LCdetail.vue'
+  import {
+    getBomPageList,
+    startAndStop,
+    bomSubmit,
+    jsBomSubmit,
+    deviceBomSubmit,
+    deleteBomTreeList
+  } from '@/api/material/BOM';
+  import LCdetail from './components/LCdetail.vue';
   export default {
     name: 'SystemDictionary',
     components: { BOMSearch, LCdetail },
@@ -87,12 +116,12 @@
           },
           {
             prop: 'categoryCode',
-            label: '物品编码',
+            label: '编码',
             showOverflowTooltip: true
           },
           {
             prop: 'categoryName',
-            label: '物品名称',
+            label: '名称',
             showOverflowTooltip: true
           },
           {
@@ -111,6 +140,14 @@
             label: '审核状态',
             slot: 'approvalStatus'
           },
+
+          {
+            width: 100,
+            prop: 'isTemp',
+            slot: 'isTemp',
+            label: '主数据'
+          },
+
           {
             prop: 'createName',
             label: '创建人',
@@ -128,8 +165,9 @@
           }
         ],
         statusOpt: {
-          0: '已停用',
-          1: '已发布'
+          0: '草稿',
+          1: '已发布',
+          2: '已停用'
         },
 
         approvalStatusOpt: {
@@ -142,9 +180,20 @@
         loadingInstance: null,
         where: {},
 
-        activeName: '1'
+        activeName: '1',
+
+        isSubmit: false,
+        JsRId: null,
+        radioSubmit: 1
       };
     },
+
+    computed: {
+      clientEnvironmentId() {
+        return this.$store.state.user.info.clientEnvironmentId;
+      }
+    },
+
     mounted() {
       this.initData();
     },
@@ -193,15 +242,38 @@
       },
 
       handSubmit(row) {
+        if (this.clientEnvironmentId == 3) {
+          this.JsRId = row.id;
+          this.isSubmit = true;
+        } else {
+          this.$alert('确定要发布吗?', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
+            .then(() => {
+              bomSubmit({ businessId: row.id }).then((res) => {
+                this.$message.success('发布成功');
+                this.reload();
+              });
+            })
+            .catch(() => {});
+        }
+      },
+
+      handJsSubmit() {
+        let URL = this.radioSubmit == 1 ? jsBomSubmit : deviceBomSubmit;
         this.$alert('确定要发布吗?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         })
           .then(() => {
-            bomSubmit({ businessId: row.id }).then((res) => {
+            URL({ businessId: this.JsRId }).then((res) => {
+              this.isSubmit = false;
               this.$message.success('发布成功');
               this.reload();
+           
             });
           })
           .catch(() => {});
@@ -212,6 +284,7 @@
         return getBomPageList({
           ...where,
           bomType: Number(this.activeName),
+          isTemp: true,
           pageNum: page,
           size: limit
         });
@@ -224,7 +297,9 @@
             categoryId: row.categoryId,
             noBack,
             bType: this.activeName,
-            categoryLevelPathIdParent: row.rootCategoryLevelId
+            categoryLevelPathIdParent: row.rootCategoryLevelId,
+            isProduct: true,
+            isTemp: row.isTemp
           }
         });
       },
@@ -232,76 +307,38 @@
       reload(where) {
         this.$refs.table.reload({ where });
       },
-      /* 显示编辑 */
-      handelEdit(type, row) {
-        this.$refs.editDialogRef.open(type, row);
+
+      handleClick(tab) {
+        this.activeName = tab.name;
+        this.reload();
       },
-      /* 删除 */
-      remove() {
-        this.$confirm('确定要删除选中的字典吗?', '提示', {
+
+      handDel(row) {
+        this.$confirm('是否确认删除?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
           type: 'warning'
         })
           .then(() => {
-            if (this.$refs.dictData.selection.length == 0) {
-              this.$message({
-                message: '当前未选择数据',
-                type: 'error'
-              });
-              return;
-            }
-            let ids = this.$refs.dictData.selection.map((item) => item.id);
-            const loading = this.$loading({ lock: true });
-
-            removeDictionary(ids, true)
-              .then((msg) => {
-                loading.close();
-                this.$message.success(msg);
-                this.reload();
-              })
-              .catch((e) => {
-                loading.close();
-                // this.$message.error(e.message);
-              });
-          })
-          .catch(() => {});
-      },
-
-      // 刷新数据
-      refreshData() {
-        this.loading = true;
-        syncBom()
-          .then((res) => {
-            if (res == '0') {
-              this.loading = false;
-              this.$message.success('数据刷新成功!');
+            deleteBomTreeList([row.id]).then(() => {
               this.reload();
-            }
+            });
           })
-          .catch((e) => {
-            this.loading = false;
+          .catch(() => {
+            this.$message({
+              type: 'info',
+              message: '已取消删除'
+            });
           });
       },
 
-      handleClick(tab) {
-        this.activeName = tab.name;
-        getBomPageList({
-          pageNum: 1,
-          size: 10,
-          bomType: Number(this.activeName)
-        }).then((data) => {
-          this.$refs.table.setData(data.list || []);
-        });
-      },
-
-      
-    handleDetails(row) {
-      if (!row.processInstanceId) {
-        this.$message.info('未提交没有审核流程')
-      } else {
-        this.$refs.detailRef.open(row.processInstanceId);
+      handleDetails(row) {
+        if (!row.processInstanceId) {
+          this.$message.info('未提交没有审核流程');
+        } else {
+          this.$refs.detailRef.open(row.processInstanceId);
+        }
       }
-
-    }
     }
   };
 </script>

+ 1 - 1
src/views/material/BOMmanage/qualityTesting/inspectionClassify/index.vue

@@ -309,7 +309,7 @@
   }
 
   .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
+    height: 30px;
 
     & > .el-tree-node__expand-icon {
       margin-left: 10px;

+ 1 - 1
src/views/material/product/components/CategoryDialog.vue

@@ -151,7 +151,7 @@ export default {
 }
 
 .sys-organization-list :deep(.el-tree-node__content) {
-  height: 40px;
+  height: 30px;
 
   &>.el-tree-node__expand-icon {
     margin-left: 10px;

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

@@ -396,8 +396,8 @@
           query: {
             categoryId: row.id,
             code: row.code,
-            categoryLevelPathIdParent: row.categoryLevelPathIdParent
-
+            categoryLevelPathIdParent: row.categoryLevelPathIdParent,
+            isProduct: row.isProduct == 1
           }
         });
       },

+ 4 - 4
src/views/material/product/components/index-search.vue

@@ -56,7 +56,7 @@
       <el-col v-bind="styleResponsive ? { md: 24} : { span: 24 }" style="display: flex;justify-content: flex-end">
         <el-form-item>
           <el-button
-            size="small"
+            size="mini"
             type="primary"
             icon="el-icon-search"
             class="ele-btn-icon"
@@ -69,17 +69,17 @@
             @click="reset"
             icon="el-icon-refresh"
             class="ele-btn-icon"
-            size="medium"
+            size="mini"
           >重置</el-button
           >
 
-          <el-button
+          <!-- <el-button
             type="primary"
             icon="el-icon-refresh-left"
             class="ele-btn-icon"
             @click='refreshData'
             :loading="loading"
-          >刷新</el-button>
+          >刷新</el-button> -->
 
           <slot></slot>
         </el-form-item>

+ 2 - 3
src/views/material/product/detail.vue

@@ -192,7 +192,7 @@
             <el-form-item :label="f.label">
               <template>
                 <div class="form-line">
-                  <component
+                  <component              
                     :is="f.tagType"
                     v-model="form.extField[f.prop]"
                     :disabled="f.extAttribute?.disabled"
@@ -277,7 +277,7 @@
   import { finishPageTab, reloadPageTab } from '@/utils/page-tab-util';
 
   export default {
-    name: 'ManageMaterial',
+    name: 'product',
     components: {
       linkMsg,
       GroupDialog,
@@ -382,7 +382,6 @@
     watch: {
       '$route.query.id': {
         handler(id) {
-          console.log('id-------------', id);
           if (id) {
             this._getDetails();
           } else {

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

@@ -222,7 +222,7 @@ export default {
 }
 
 .sys-organization-list :deep(.el-tree-node__content) {
-  height: 40px;
+  height: 30px;
 
   &>.el-tree-node__expand-icon {
     margin-left: 10px;

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

@@ -222,7 +222,7 @@
   }
   
   .sys-organization-list :deep(.el-tree-node__content) {
-    height: 40px;
+    height: 30px;
   
     &>.el-tree-node__expand-icon {
       margin-left: 10px;

+ 1 - 1
src/views/system/organization/index.vue

@@ -186,7 +186,7 @@ export default {
 }
 
 .sys-organization-list :deep(.el-tree-node__content) {
-  height: 40px;
+  height: 30px;
 
   & > .el-tree-node__expand-icon {
     margin-left: 10px;

+ 2 - 1
vue.config.js

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