Pārlūkot izejas kodu

基本信息、医药行业保存接口

002390 2 gadi atpakaļ
vecāks
revīzija
266ab04921

+ 49 - 1
src/api/material/basic.js

@@ -1,5 +1,10 @@
 import request from '@/utils/request'
 
+
+/**
+ * 查询接口
+ */
+
 // 获取物料列表信息以及表头字段
 const materialList = (data) => {
 
@@ -197,9 +202,47 @@ const executeMethods = (methodName, data) => {
 
 
 
+/**
+ * 修改接口
+ */
+// 修改物料基本信息 /dev-api/drp-admin/system/material/edit
+const materialEdit = (data) => {
+  return request({
+    url: `/system/material/edit`,
+    method: 'post',
+    data: data
+  })
+}
 
+// 修改医药行业信息 /dev-api/drp-admin/system/medcine/edit   
+const medcineEdit = (data) => {
+  return request({
+    url: `/system/medcine/edit `,
+    method: 'post',
+    data: data
+  })
+}
+
+// 保存物料以及相关页签 material
+const saveMaterial = (data) => {
+  return request({
+    url: `/system/material/saveMaterial `,
+    method: 'post',
+    data: data
+  })
+}
+
+// 保存物料以及医药行业接口 /dev-api/drp-admin/system/material/insertMaterialInfo
+const insertMaterialInfo = (data) => {
+  return request({
+    url: `/system/material/insertMaterialInfo `,
+    method: 'post',
+    data: data
+  })
+}
 
 export default {
+  // 查询
   materialList,
   tagList,
   materialDetails,
@@ -221,5 +264,10 @@ export default {
   inventoryList,
   inventoryDetails,
   executeMethods,
-
+  // 编辑
+  materialEdit,
+  medcineEdit,
+  saveMaterial,
+  insertMaterialInfo,
+  
 }

+ 71 - 28
src/views/material/basicFile/details.vue

@@ -70,7 +70,7 @@
         <el-col :span="1.5">
           <el-button-group>
             <el-button size="small" @click="handleSave">保存</el-button>
-            <el-button size="small" @click="handleSaveAdd" disabled>保存新增</el-button>
+            <el-button size="small" @click="handleSaveAdd" :disabled="true">保存新增</el-button>
             <el-button size="small" @click="handleUpdateImport">更新导入</el-button>
           </el-button-group>
         </el-col>
@@ -212,7 +212,6 @@
                     <el-form v-if="activeViceTab == 'material_medcine'" :inline="true" label-position="right"
                       :hide-required-asterisk="true" :model="medcineData.value" class="md-vice-content">
 
-
                       <el-row :gutter="10">
                         <el-col :span="8" v-for="m in medcineData.form" style="text-align: right;">
 
@@ -257,7 +256,6 @@
                         </el-col>
                       </el-row>
 
-
                     </el-form>
 
                     <!-- 其他展示为列表 -->
@@ -351,7 +349,7 @@
             <el-form :inline="true" label-position="right" :model="basicData.value">
             <!-- <el-form-item label="所属组织">
                   <el-input v-model="basicData.value.orgName" placeholder="所属组织"></el-input>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   </el-form-item> -->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       </el-form-item> -->
               <el-form-item label="物料编码">
                 <el-input v-model="basicData.value.code" size="small" readonly placeholder="物料编码"></el-input>
               </el-form-item>
@@ -363,7 +361,7 @@
               </el-form-item>
             <!-- <el-form-item label="版本号">
                 <el-input v-model="basicData.value.version"  placeholder="版本号"></el-input>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   </el-form-item> -->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       </el-form-item> -->
 
             </el-form>
           </el-collapse-item>
@@ -457,11 +455,13 @@
         </el-row>
 
         <!-- 树形 -->
-        <el-tree v-if="MoreDataDialog.type == 'tree'" :data="MoreDataDialog.list" @node-click="handleNodeClick"></el-tree>
+        <el-tree class="referTree" v-loading="MoreDataDialog.loading" v-if="MoreDataDialog.type == 'tree'"
+          :data="MoreDataDialog.list" @node-click="handleNodeClick" :props="defaultProps" node-key="id">
+        </el-tree>
 
         <!-- 列表 -->
-        <el-table v-else :data="MoreDataDialog.list" style="width: 100%" @row-click="handleCurentRow"
-          highlight-current-row>
+        <el-table v-else :data="MoreDataDialog.list" v-loading="MoreDataDialog.loading" style="width: 100%"
+          @row-click="handleCurentRow" highlight-current-row>
           <el-table-column type="index" label="序号" width="55" align="center" />
           <el-table-column v-for="m in MoreDataDialog.form" v-if="m.show" :prop="m.prop" :label="m.name" />
         </el-table>
@@ -494,6 +494,10 @@ export default {
       count: 1,
       // 详情固定标签页
       detailsTabs,
+      defaultProps: {
+        children: 'childrens',
+        label: 'name'
+      },
       // 标签页当前激活状态
       activeMainTab: 'material',
       activeViceTab: 'material_medcine',
@@ -567,8 +571,9 @@ export default {
         // 详情值
         value: {}
       },
-      // 编辑-更多数据展示弹窗
+      // 编辑-更多数据展示弹窗_ 参照
       MoreDataDialog: {
+        loading: false,
         show: false,
         // 查询关键字
         key: '',
@@ -680,11 +685,7 @@ export default {
             this.getCostList('');
           });
           break;
-
-
-        default:
-
-          break;
+        default: break;
       }
 
     },
@@ -707,7 +708,7 @@ export default {
           this.getTagList('material_unit', (form) => {
             console.log(form, 'form');
             this.unitDetails.form = form;
-            this.getUnitDetails(this.materialId);
+            this.getUnitList('');
           });
           break;
         // 辅助属性
@@ -715,7 +716,7 @@ export default {
           this.getTagList('material_property', (form) => {
 
             this.propertyDetail.form = form;
-            this.getPropertyDetails(this.materialId);
+            this.getPropertyList('');
           });
           break;
 
@@ -741,6 +742,8 @@ export default {
     },
     // 编辑状态下,弹窗显示查询数据
     handleQueryMore(msg, val, target) {
+      this.MoreDataDialog.loading = true;
+      let _this = this;
       console.log('编辑状态下,弹窗显示查询数据', msg, 'val', val, target);
 
       this.MoreDataDialog.show = true;
@@ -750,15 +753,16 @@ export default {
       this.getExecuteMethods(msg.apiUrl, { param: this.MoreDataDialog.key }, (data) => {
 
         console.log(data, '编辑状态下,弹窗显示查询数据');
-        this.MoreDataDialog.type = data.type;
-        this.MoreDataDialog.list = data.tableBody;
+        _this.MoreDataDialog.type = data.type;
+        _this.MoreDataDialog.list = data.tableBody;
         if (data.type == 'tree') {
+
         } else {
-          this.MoreDataDialog.form = data.tableHeader;
+          _this.MoreDataDialog.form = data.tableHeader;
         }
 
-        console.log(this.MoreDataDialog.list, 'this.MoreDataDialog.list');
-        console.log(this.MoreDataDialog.form, 'this.MoreDataDialog.form');
+        console.log(_this.MoreDataDialog.list, 'this.MoreDataDialog.list');
+        console.log(_this.MoreDataDialog.form, 'this.MoreDataDialog.form');
 
 
       })
@@ -766,6 +770,7 @@ export default {
     // 根据apiUrl获取对应参照的值
     getExecuteMethods(methodName, params, cb) {
       materialApi.executeMethods(methodName, params).then(res => {
+        this.MoreDataDialog.loading = false;
         if (res.code == 200) {
           cb(res.data);
         }
@@ -1004,6 +1009,9 @@ export default {
     getPropertyList() {
       materialApi.propertyList().then(res => {
         console.log(res, '料辅助属性列表');
+        if (res.code == 200) {
+          this.propertyDetail.value = res.data.data || [];
+        }
       })
     },
     //获取辅助计量单位基本信息+表单列段属性 
@@ -1019,6 +1027,9 @@ export default {
     getUnitList() {
       materialApi.unitList().then(res => {
         console.log(res, '辅计量管理列表信息');
+        if (res.code == 200) {
+          this.unitDetails.value = res.data.data || [];
+        }
       })
     },
     // 获取物料列表表头
@@ -1160,6 +1171,9 @@ export default {
     // 保存修改
     handleSave() {
       console.log('保存修改');
+      this.handleSaveMaterial(() => {
+        this.$router.go(0)
+      });
     },
     // 保存修改并新增
     handleSaveAdd() {
@@ -1217,6 +1231,7 @@ export default {
     handleFilterRefer() {
       // this.MoreDataDialog.key = 
       console.log(this.MoreDataDialog.key, '查询关键字');
+
       this.handleQueryMore(this.MoreDataDialog.msg, this.MoreDataDialog.key);
 
     },
@@ -1227,7 +1242,9 @@ export default {
     },
     // 树形节点选择
     handleNodeClick(e) {
-      console.log(e, '树形节点选择');
+      console.log(e, '树形节点选择', this.MoreDataDialog.target);
+      // let node = { ...e, name: e.label }
+      this.MoreDataDialog.value = e;
     },
 
     // 修改-更多数据表格——选择行
@@ -1237,32 +1254,32 @@ export default {
     },
     // 参照弹窗确认
     handleConfirmRefer() {
-      console.log('确认参照弹窗', `{this.${this.MoreDataDialog.target}:${this.MoreDataDialog.value.id}}`);
+      console.log('确认参照弹窗', `{this.${this.MoreDataDialog.target.name}:${this.MoreDataDialog.value.id}}`);
 
       if (this.MoreDataDialog.target.name == 'basicData') {
         //  基本信息
         this.basicData.value[this.MoreDataDialog.target.prop] = this.MoreDataDialog.value.id;
 
         this.basicData.value[`${this.MoreDataDialog.target.prop}Label`] = this.MoreDataDialog.value.name;
-        console.log(this.basicData.value[`${this.MoreDataDialog.target.prop}Label`], '/////////////////////');
+        console.log(this.basicData.value[`${this.MoreDataDialog.target.prop}Label`], '//////////基本信息///////////');
 
       } else if (this.MoreDataDialog.target.name == 'medcineData') {
 
-        //  基本信息
+        //  医药信息
         this.medcineData.value[this.MoreDataDialog.target.prop] = this.MoreDataDialog.value.id;
 
         this.medcineData.value[`${this.MoreDataDialog.target.prop}Label`] = this.MoreDataDialog.value.name;
 
-        console.log(this.medcineData.value[`${this.MoreDataDialog.target.prop}Label`], '////////////////');
+        console.log(this.medcineData.value[`${this.MoreDataDialog.target.prop}Label`], '//////医药信息//////////');
 
       } else if (this.MoreDataDialog.target.name == 'otherDeatils') {
 
-        //  基本信息
+        //  其他页签
         this.otherDeatils.value[this.MoreDataDialog.target.prop] = this.MoreDataDialog.value.id;
 
         this.otherDeatils.value[`${this.MoreDataDialog.target.prop}Label`] = this.MoreDataDialog.value.name;
 
-        console.log(this.otherDeatils.value[`${this.MoreDataDialog.target.prop}Label`], '////////////////');
+        console.log(this.otherDeatils.value[`${this.MoreDataDialog.target.prop}Label`], '/////////其他页签///////');
 
       }
       this.MoreDataDialog.show = false;
@@ -1279,6 +1296,24 @@ export default {
       done();
     },
 
+
+
+    // 保存物料以及相关页签
+    handleSaveMaterial(cb) {
+      let param = {
+        ...this.basicData.value,
+        materialMedcine: this.medcineData.value,
+        materialMedcineItem: {}
+      };
+      // basicData  this.medcineData.value    materialMedcine
+      console.log(param, '保存物料以及相关页签param');
+      materialApi.insertMaterialInfo(param).then(res => {
+        console.log(res, '保存物料以及相关页签');
+        if(res.code) cb();
+      })
+    },
+
+
     // 取消之后重新查询页面
     handleRest() {
       // 基本信息
@@ -1385,6 +1420,12 @@ export default {
           overflow-x: hidden;
         }
       }
+
+      .referTree {
+        height: 390px;
+        overflow-x: hidden;
+        overflow-y: auto;
+      }
     }
 
     .el-dialog__header {
@@ -1396,6 +1437,8 @@ export default {
       text-align: right;
     }
   }
+
+
 }
 
 // 修改下拉框样式

+ 4 - 3
src/views/material/basicFile/index.vue

@@ -246,14 +246,15 @@ export default {
     },
     // 获取物料列表信息
     getMaterialList(templateCode) {
+      let _this = this;
       this.loading = true;
       materialApi.materialList({ templateCode }).then((res) => {
-        this.loading = false;
+        _this.loading = false;
         console.log(res, '获取物料列表信息以及表头字段');
         let { code, data } = res;
         if (code == 200) {
-          this.taskList = data.tableBody.rows;
-          this.total = data.tableBody.total;
+          _this.taskList = data.tableBody.rows;
+          _this.total = data.tableBody.total;
 
         }
       })