Ver código fonte

耗材目录管理

liumy 1 ano atrás
pai
commit
68d3abbfe0

+ 10 - 0
src/api/consumCataManage-sup/index.js

@@ -1,5 +1,15 @@
 import request from "@/utils/request";
 
+
+// 查机构
+export function selectSpdList(data) {
+    return request({
+        url:"/web/mcsList/selectSpdList",
+        method:"post",
+        data
+    })
+}
+
 // 查询配送目录接口汇总
 export function selectSplerMcsList(data) {
     return request({

+ 2 - 1
src/styles/global.scss

@@ -427,10 +427,11 @@ a {
 
 // 左右结果布局,左边18%,右边82%
 .right-common-box {
-  width: 96%;
+  width: 82%;
   padding: 20px;
   background-color: #fff;
   border-radius: 6px;
+  overflow-y: auto;
 }
 
 // 药品信息三行显示公共样式

+ 44 - 24
src/views/page/consumCataManage-sup/catalogdetails.vue

@@ -1,20 +1,19 @@
 <template>
   <div>
-    <el-alert
-      v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-      style="margin-bottom: 10px"
-      title="请您完成资质填报,并等待通过审核后再进入系统,在此之前您可通过系统查看资质审批进度。"
-      type="warning"
-      show-icon
-      effect="dark"
-      :closable="false"
-    >
-    </el-alert>
-    <div class="common-card" v-if="infoData.stas == 'B' || infoData.stas == '0'">
-      <h3>审批状态</h3>
-      <yl-step></yl-step>
-    </div>
     <el-form :model="infoData" ref="planForm" label-width="150px" class="grid-form-class">
+    <div class="common-card" v-if="reaDiv">
+      <!-- <h3>审批状态</h3> -->
+      <!-- <yl-step></yl-step> -->
+      <div class="form-body">
+            <div class="flex-css">
+                <el-form-item label="驳回原因" prop="rejtRea">
+                    <el-input
+                        v-model="infoData.rejtRea"
+                    ></el-input>
+                </el-form-item>
+            </div>
+            </div>
+    </div>
       <div class="common-card">
         <h3>商品基本资料</h3>
         <!-- <div class="right-type" style="color: #3c64dc; font-weight: 800">
@@ -392,17 +391,25 @@
         <h3>其他资料</h3>
         <div class="form-body">
           <div class="flex-css">
-            <el-form-item label="存储方式" prop="stogType" :rules="rules.required">
-              <el-input
-                v-model="infoData.stogType"
-                placeholder="请输入存储方式"
-              ></el-input>
+            <el-form-item label="存储方式" prop="stogType" :rules="rules.selectRequired">
+              <el-select v-model="infoData.stogType" placeholder="请选择存储方式" clearable>
+                <el-option
+                  v-for="item in stogTypeData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.name"
+                ></el-option>
+              </el-select>
             </el-form-item>
-            <el-form-item label="存储温度" prop="stogTemp" :rules="rules.required">
-              <el-input
-                v-model="infoData.stogTemp"
-                placeholder="请输入存储温度"
-              ></el-input>
+            <el-form-item label="存储温度" prop="stogTemp" :rules="rules.selectRequired">
+              <el-select v-model="infoData.stogTemp" placeholder="请选择存储温度" clearable>
+                <el-option
+                  v-for="item in stogTempData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.name"
+                ></el-option>
+              </el-select>
             </el-form-item>
             <el-form-item label="是否灭菌" prop="isStlz" :rules="rules.selectRequired">
               <el-select v-model="infoData.isStlz" placeholder="请选择是否灭菌" clearable>
@@ -459,7 +466,18 @@ export default {
         { value: "0", name: "医用耗材" },
         { value: "1", name: "办公用品" },
       ],
+      stogTypeData: [
+        { value: "常温", name: "常温" },
+        { value: "冷藏", name: "冷藏" },
+        { value: "冷冻", name: "冷冻" },
+      ],
+      stogTempData: [
+        { value: "15℃-25℃", name: "15℃-25℃" },
+        { value: "2℃-8℃", name: "2℃-8℃" },
+        { value: "-10℃-2℃", name: "-10℃-2℃" },
+      ],
       btnShow: true,
+      reaDiv:false,
     };
   },
   created() {
@@ -468,6 +486,8 @@ export default {
     // })
     if (this.$route.query.status == "B") {
       this.btnShow = false;
+    }else if(this.$route.query.status=="D"){
+      this.reaDiv = true
     }
     
     this.getData();

+ 75 - 53
src/views/page/consumCataManage-sup/index.vue

@@ -1,8 +1,22 @@
 <template>
   <!-- 配送目录管理 -->
   <div style="display: flex">
+    <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+      <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
+          <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+          <el-tab-pane label="按机构" name="org"></el-tab-pane>
+      </el-tabs>
+      <el-tree
+        :data="data"
+        :props="defaultProps"
+        node-key="spdId"
+        @node-click="handleNodeClick"
+        default-expand-all="true"
+        style="margin-top:10px;"
+      ></el-tree>
+    </el-card>
     <div class="right-common-box">
-      <el-form :model="listQuery" ref="listQuery" :inline="true" label-width="100px">
+      <el-form :model="listQuery" ref="listQuery" :inline="true" label-width="150px">
         <el-form-item label="耗材编码" prop="materialId" class="long">
           <el-input
             v-model="listQuery.materialId"
@@ -152,6 +166,7 @@
         <el-table-column label="注册证号" prop="regcertno" width="80" />
         <el-table-column label="生产企业" prop="prodEntp" width="80" />
         <el-table-column label="采购价" prop="purcPric" width="80" />
+        <el-table-column label="驳回原因" prop="rejtRea" width="80" />
         <el-table-column label="当前状态" prop="status" width="80" fixed="right">
           <template #default="{ row }">
               <span v-if="row.status == 'A'">待审核</span>
@@ -338,10 +353,10 @@
             </template>
           </el-table-column>
           <el-table-column prop="fasBtch" label="集采批次"> </el-table-column>
-          <el-table-column prop="splb" label="商品类别" width="120">
+          <!-- <el-table-column prop="splb" label="商品类别" width="120">
           </el-table-column>
           <el-table-column prop="spfl" label="商品分类" width="120">
-          </el-table-column>
+          </el-table-column> -->
           <el-table-column prop="spec" label="规格"> </el-table-column>
           <el-table-column prop="mol" label="型号"> </el-table-column>
           <el-table-column prop="matl" label="材质"> </el-table-column>
@@ -443,6 +458,7 @@ import {
   QuerySplerDrugList,
   DrugMatch,
   CancMatch,
+  selectSpdList
 } from "@/api/consumCataManage-sup/index";
 import rulesR from "@/utils/rules";
 import ylUpload from "@/components/yl-upload";
@@ -455,11 +471,11 @@ export default {
     return {
       activeName: "grp",
       rulesR,
-      hospId: null,
+      spdId: null,
       data: [],
       defaultProps: {
         children: "children",
-        label: "hospName",
+        label: "spdName",
       },
       listQuery: {
         current: 1,
@@ -504,6 +520,7 @@ export default {
         {value:"A",name:"待审核"},
         {value:"B",name:"审核中"},
         {value:"C",name:"审核通过"},
+        {value:"R",name:"驳回"},
       ],
       dialogPrice: false,
       dialogDui: false,
@@ -604,19 +621,21 @@ export default {
       totalC: false,
       addLoading: false,
       insertMcsList: [],
+      // tree
+      activeNametree:"org",
     };
   },
   methods: {
-    // tabClick(tab){
-    //     if(tab.label == "按机构"){
-    //         this.getData();
-    //         this.defaultProps.label = 'hospName'
-    //     }else if(tab.label == "按分类"){
-    //         // this.getData4();
-    //         // this.defaultProps.label = 'orgGrpName'
-    //         // this.listQuery.type = 'grp';
-    //     }
-    // },
+    tabClick(tab){
+        if(tab.label == "按机构"){
+            this.defaultProps.label = 'hospName'
+        }
+        // else if(tab.label == "按分类"){
+        //     // this.getData4();
+        //     // this.defaultProps.label = 'orgGrpName'
+        //     // this.listQuery.type = 'grp';
+        // }
+    },
     // 上传文件
     getUpload(id) {
       this.temp.fileId = id;
@@ -641,29 +660,28 @@ export default {
       return result;
     },
     // 搜索获取医院药品列表
-    getHospConsum(type) {
-      if (type == "search") {
-        this.listQuery.current = 1;
-      }
-      this.listLoading = true;
-      // this.listQuery.hospId = this.hospId;
-      selectSplerMcsList(this.listQuery)
-        .then((res) => {
-          this.list = res.data.records;
-          this.total = res.data.total;
-          this.listLoading = false;
-        })
-        .catch((err) => {
-          this.listLoading = false;
-        });
-    },
+    // getHospConsum(type) {
+    //   if (type == "search") {
+    //     this.listQuery.current = 1;
+    //   }
+    //   this.listLoading = true;
+    //   selectSplerMcsList(this.listQuery)
+    //     .then((res) => {
+    //       this.list = res.data.records;
+    //       this.total = res.data.total;
+    //       this.listLoading = false;
+    //     })
+    //     .catch((err) => {
+    //       this.listLoading = false;
+    //     });
+    // },
     // 获取新增目录弹框数据
     getdialog(type) {
       if (type == "search") {
         this.listQueryadd.current = 1;
       }
       this.listdialogLoading = true;
-      // this.listQuery.hospId = this.hospId;
+      // this.listQuery.spdId = this.spdId;
       selectMcsList(this.listQueryadd)
         .then((res) => {
           this.consumableData = res.data.records;
@@ -676,9 +694,11 @@ export default {
     },
     // 点击获取医院药品列表
     handleNodeClick(data) {
+      console.log(data,"data")
       this.listLoading = true;
-      this.hospId = data.hospId;
-      selectSplerMcsList({ hospId: data.hospId })
+      this.spdId = data.spdId;
+      this.listQuery.spdId = this.spdId;
+      selectSplerMcsList(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
@@ -690,19 +710,20 @@ export default {
         });
     },
     // 获取医院列表
-    // getData(type) {
-    //   this.data = [];
-    //   this.listLoading = true;
-    //   QueryHospList()
-    //     .then(res => {
-    //       this.listQuery.hospId = res.data[0].hospId;
-    //       this.data = res.data
-    //       this.listLoading = false;
-    //     })
-    //     .catch(err => {
-    //       this.listLoading = false;
-    //     });
-    // },
+    getData(type) {
+      this.data = [];
+      this.listLoading = true;
+      selectSpdList()
+        .then(res => {
+          this.listQuery.spdId = res.data[0].spdId;
+          this.data = res.data
+          console.log(this.data,"dadad")
+          this.listLoading = false;
+        })
+        .catch(err => {
+          this.listLoading = false;
+        });
+    },
 
     reset(type) {
       if (type === "consumableData") {
@@ -821,7 +842,7 @@ export default {
             pricInit: this.temp.pricInit,
             pricCurr: this.temp.pricCurr,
             appyRea: this.temp.appyRea,
-            hospId: this.hospId,
+            spdId: this.spdId,
             fileId: this.temp.fileId,
           };
           PricChg(data)
@@ -850,7 +871,7 @@ export default {
       // this.consumableData = [];
       // this.consumableData.push(row);
       // this.supLoading = true;
-      // QuerySplerDrugList({ hospId: row.hospId })
+      // QuerySplerDrugList({ spdId: row.spdId })
       //   .then((res) => {
       //     this.form.splerData = res.data.records;
       //     this.total = res.data.total;
@@ -863,7 +884,7 @@ export default {
     // 对码操作
     handleClick(item, index) {
       let DrugMatchObj = {
-        hospId: this.hospId,
+        spdId: this.spdId,
         drugListId: this.consumableData[0].drugListId,
         splerDrugListId: item.splerDrugListId,
         convrat: item.convrat,
@@ -894,7 +915,7 @@ export default {
         type: "warning",
       })
         .then(() => {
-          CancMatch({ hospId: this.hospId, drugListId: row.drugListId }).then((res) => {
+          CancMatch({ spdId: this.spdId, drugListId: row.drugListId }).then((res) => {
             if (res.success) {
               this.getHospConsum();
               this.$message({
@@ -909,7 +930,7 @@ export default {
     //搜索供应商列表
     searchSup() {
       this.supLoading = true;
-      this.supQuery.hospId = this.hospId;
+      this.supQuery.spdId = this.spdId;
       QuerySplerDrugList(this.supQuery)
         .then((res) => {
           this.form.splerData = res.data.records;
@@ -922,7 +943,8 @@ export default {
     },
   },
   mounted() {
-    this.getHospConsum();
+    this.getData()
+    // this.getHospConsum();
   },
 };
 </script>

+ 5 - 4
src/views/page/orderManage-sup/purOrderAccept/acceptDetail.vue

@@ -37,11 +37,12 @@
                 {{ listForm.purcAmt }}
               </div>
             </el-form-item>
-            <el-form-item label="采购员" prop="docmker">
+            <el-form-item label="医院名称" prop="branchName">
               <div class="content">
-                {{ listForm.docmker }}
+                {{ listForm.branchName }}
               </div>
             </el-form-item>
+            
             <el-form-item label="部门名称" prop="deptName">
               <div class="content">
                 {{ listForm.deptName }}
@@ -49,9 +50,9 @@
             </el-form-item>
           </div>
           <div class="flex-css">
-            <el-form-item label="医院名称" prop="branchName">
+            <el-form-item label="采购员" prop="docmker">
               <div class="content">
-                {{ listForm.branchName }}
+                {{ listForm.docmker }}
               </div>
             </el-form-item>
             <el-form-item label="当前状态" prop="stas">

+ 90 - 27
src/views/page/productreturnmanage-sup/returnOrderAccept/returnDetail.vue

@@ -1,13 +1,13 @@
 <template>
     <!-- 商品退货管理————待确认 -->
     <div>
-        <div class="common-card">
+        <!-- <div class="common-card">
             <h3>发起退货</h3>
             <yl-step></yl-step>
-        </div>
+        </div> -->
         <div class="right-button">
-            <el-button type="primary" @click="handleConfirm">确 认</el-button>
-            <el-button type="danger" @click="handleRefuse">拒 绝</el-button>
+            <el-button type="primary" @click="handleConfirm" :loading='sureLoading'>确 认</el-button>
+            <el-button type="danger" @click="handleRefuse" :loading="refuseLoading">拒 绝</el-button>
         </div>
          <div class="common-card">
             <h3>基本信息</h3>
@@ -75,21 +75,14 @@
                 </template>
                 <el-table-column type="selection" width="60" />
                 <el-table-column fixed type="index" label="序号" width="60"/>
-                <el-table-column label="耗材编码" prop="drugListId" />
-                <el-table-column label="耗材名称" prop="" width="300" >
-                    <template slot-scope="scope">
-                        <div class="drug-name">
-                            <el-tag>{{ scope.row.drugName }}</el-tag>{{ "【" + scope.row.dosformName + "】" }}<el-tag>{{ scope.row.essdrugType }}</el-tag><br />
-                            {{ "生产厂家 【" + scope.row.prodentpName + "】" }}<br />
-                            {{"药品规格 【" +scope.row.specName +"*" +scope.row.convrat +scope.row.prepunt +"/" +scope.row.pacUnt +"】"}}
-                        </div>
-                    </template>
+                <el-table-column label="耗材编码" prop="materialId" />
+                <el-table-column label="耗材名称" prop="prodName" width="300" >
                 </el-table-column>
-                <el-table-column label="商品类别" prop="" />
-                <el-table-column label="规格" prop="" />
-                <el-table-column label="型号" prop="" />
-                <el-table-column label="材质" prop="shppCnt" />
-                <el-table-column label="生产企业" prop="retnCnt" />
+                <el-table-column label="商品类别" prop="mcsType" />
+                <el-table-column label="规格" prop="spec" />
+                <el-table-column label="型号" prop="mol" />
+                <el-table-column label="材质" prop="matl" />
+                <el-table-column label="生产企业" prop="prodEntp" />
                 <el-table-column label="申请数量" prop="retnAmt" />
                 <el-table-column label="价格" prop="retnAmt" />
                 <el-table-column label="金额" prop="retnAmt" /> 
@@ -167,24 +160,25 @@
             </p>
             </el-form>
 
-            <div class="foot-button">
+            <!-- <div class="foot-button">
                 <el-button type="primary" @click="handleAccept" :loading="aaLoad" v-if="isShow">受理</el-button>
-            </div>
+            </div> -->
         </div>
-        <!-- <div class="common-card">
+        <div class="common-card">
             <h3>退货原因</h3>
             <el-form :model="listForm" ref="listform" label-width="237px" class="grid-form-class">
             <div class="form-body">
             <div class="flex-css">
                 <el-form-item label="退货原因" prop="stas">
-                    <div class="content">
-                        {{ listForm.stas }}
-                    </div>
+                    <el-input
+                        v-model="listForm.fasBtch"
+                        placeholder="请输入退货原因"
+                    ></el-input>
                 </el-form-item>
             </div>
             </div>
             </el-form>
-        </div> -->
+        </div>
     </div>
 </template>
 
@@ -223,6 +217,8 @@ import { getRetnOrdDetlList,acpRetnOrd } from "@/api/returnOrderAccept/index";
                 aaLoad: false,
                 selectData: [],
                 isShow: false,
+                sureLoading:false,
+                refuseLoading:false,
             }
         },
         created() {
@@ -261,6 +257,74 @@ import { getRetnOrdDetlList,acpRetnOrd } from "@/api/returnOrderAccept/index";
                 //     this.listLoading = false;
                 // });
             },
+            // 确认退货
+            handleConfirm(){
+                this.$confirm("确认退货", "提示", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    this.sureLoading = true;
+                    // let data = this.list.filter((i)=>{
+                    //     if(i.flag == true){ return i }
+                    // })
+                    // let data2 = data.map((i)=>{
+                    //     return {"id":i.id,"rejtRea":i.rejtRea}
+                    // })
+
+                    // let data2 = this.selectData.map((i)=>{
+                    //     return {"id":i.id,"rejtRea":i.rejtRea}
+                    // })
+                    // let data3 = {
+                    //     id: this.$route.query.id,
+                    //     detlList: data2
+                    // }
+                    // console.log(data3,'data3')
+                    // acpRetnOrd(data3).then((res) => {
+                    //     this.sureLoading = false;
+                    //     this.$router.push('returnOrderAccept')
+                    // }).catch((err) => {
+                    //     this.sureLoading = false;
+                    // });
+                })
+            },
+            // 拒绝退货
+            handleConfirm(){
+                this.$confirm("确认退货", "提示", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    this.refuseLoading = true;
+                    // let data = this.list.filter((i)=>{
+                    //     if(i.flag == true){ return i }
+                    // })
+                    // let data2 = data.map((i)=>{
+                    //     return {"id":i.id,"rejtRea":i.rejtRea}
+                    // })
+
+                    // let data2 = this.selectData.map((i)=>{
+                    //     return {"id":i.id,"rejtRea":i.rejtRea}
+                    // })
+                    // let data3 = {
+                    //     id: this.$route.query.id,
+                    //     detlList: data2
+                    // }
+                    // console.log(data3,'data3')
+                    // acpRetnOrd(data3).then((res) => {
+                    //     this.refuseLoading = false;
+                    //     this.$router.push('returnOrderAccept')
+                    // }).catch((err) => {
+                    //     this.refuseLoading = false;
+                    // });
+                })
+            },
+
+
+
+
+
+
             // 是否驳回开关
             handleSwitch(index,row){
                 if(row.flag == false){
@@ -276,8 +340,7 @@ import { getRetnOrdDetlList,acpRetnOrd } from "@/api/returnOrderAccept/index";
                 })
             },
             // 取消驳回
-            handleNoReject(row){
-                
+            handleNoReject(row){ 
             },
             // 多选
             handleSelectionChange(e){