Browse Source

订单受理出库 明细页面出库

liumy 1 year ago
parent
commit
b309d7869e

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

@@ -51,6 +51,22 @@ export function insertSplerMcsList(data) {
     })
 }
 
+// 查询目录记录接口(汇 selectSplerMcsListIntf
+export function selectSplerMcsListIntf(data) {
+    return request({
+        url:"/web/mcsList/selectSplerMcsListIntf",
+        method:"post",
+        data
+    })
+}
+// // 查询目录记录接口详情接口
+export function selectMcsListIntfById(data) {
+    return request({
+        url:"/web/mcsList/selectMcsListIntfById",
+        method:"post",
+        data
+    })
+}
 
 
 

+ 8 - 1
src/api/orderManage-sup/index.js

@@ -1,5 +1,12 @@
 import request from "@/utils/request";
-
+// 查机构
+export function selectSpdList(data) {
+    return request({
+        url:"/web/mcsList/selectSpdList",
+        method:"post",
+        data
+    })
+}
 // 采购订单受理查询待确认--供应商端
 export function getMcsOrdPageSpler(data) {
     return request({

+ 3 - 2
src/styles/global.scss

@@ -314,7 +314,7 @@ a {
       text-align: right;
       font-size: 13px;
       color: #606266;
-      font-weight: 400;
+      font-weight: 800;
       height: 100%;
     }
 
@@ -331,7 +331,8 @@ a {
       // 展示内容
       .content {
         line-height: 22px;
-        color: #303133;
+        // color: #303133;
+        color: #666;
         padding: 10px;
         font-size: 13px;
       }

+ 7 - 7
src/utils/auth.js

@@ -82,13 +82,13 @@ export function getToken() {
         return Promise.reject(error)
       }
     )
-    service.get('/refToken')
-      .then(function (response) {
-        setToken(response.data)
-      })
-      .catch(function (error) {
-        console.log(error);
-      });
+    // service.get('/refToken')
+    //   .then(function (response) { 
+    //     setToken(response.data)
+    //   })
+    //   .catch(function (error) { 
+    //     console.log(error);
+    //   });
 
 
   }

+ 27 - 1
src/utils/menu/systemMenu.js

@@ -461,11 +461,24 @@ const systemMenuObj = [
     name: "consumCataManagement-sup",
     parentId: "consumCataManage-sup",
     redirect: "",
-    remark: "配送目录管理",
+    remark: "目录记录详情",
     router: "consumCataManagement-sup",
     hidden: 0
   },
   {
+    component: "/page/consumCataManage-sup/distributionmanage",
+    icon: "",
+    id: "distributionmanage",
+    menuType: "MENU",
+    name: "distributionmanage",
+    parentId: "consumCataManage-sup",
+    redirect: "",
+    remark: "配送目录管理",
+    router: "distributionmanage",
+    hidden: 0
+  },
+  
+  {
     component: "/page/consumCataManage-sup/catalogPrice/index",
     icon: "",
     id: "catalogPrice",
@@ -538,6 +551,19 @@ const systemMenuObj = [
     router: "purOrderDelivery",
     hidden: 0
   },
+  // purchaseDetails
+  {
+    component: "/page/orderManage-sup/purOrderDelivery/purchaseDetails",
+    icon: "",
+    id: "purchaseDetails",
+    menuType: "MENU",
+    name: "purchaseDetails",
+    parentId: "orderManage-sup",
+    redirect: "",
+    remark: "采购明细出库",
+    router: "purchaseDetails",
+    hidden: 0
+  },
   {
     component: "/page/orderManage-sup/alreadyDelivery/index",
     icon: "",

+ 2 - 2
src/utils/rules.js

@@ -13,7 +13,7 @@ export function checkNumPot2(rule, value, callback) {
 }
 //最多4位小数
 export function checkNumPot4(rule, value, callback) {
-  const reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
+  const reg = /^\d+(?:\.\d{1,4})?$/;
   if (!value) {
     return callback(new Error("请填写数字"));
   } else if (value == 0) {
@@ -108,7 +108,7 @@ export default {
   ],
   numPotNo:[
     {
-      pattern:/^(0\.\d{0,1}[1-9]|\+?[1-9][0-9]{0,3})(\.\d{1,4})?$/,
+      pattern:/^\d+(?:\.\d{1,4})?$/,
       message: "请输入正数,最多4位小数",
       trigger: "blur",
     }

+ 96 - 155
src/views/page/consumCataManage-sup/catalogdetails.vue

@@ -22,8 +22,11 @@
         <div class="form-body">
           <div class="flex-css">
             <el-form-item label="耗材名称" prop="prodName">
+              <div class="content" v-if="isShow">
+                {{infoData.prodName}}
+              </div>
               <el-input
-                :disabled="isShow"
+                v-else
                 v-model="infoData.prodName"
                 placeholder="请输入耗材名称"
               ></el-input>
@@ -45,7 +48,6 @@
           </div>
           <div class="flex-css">
             <el-form-item label="品牌" prop="brad">
-               
               <el-input  v-model="infoData.brad" maxlength="50" placeholder="请输入品牌"></el-input>
             </el-form-item>
             <el-form-item label="生产来源" prop="prodSouc" :rules="rules.selectRequired">
@@ -63,8 +65,11 @@
               </el-select>
             </el-form-item>
             <el-form-item label="生产企业" prop="prodEntp">
+              <div class="content" v-if="isShow">
+                {{infoData.prodEntp}}
+              </div>
               <el-input
-              :disabled="isShow"
+                v-else
                 v-model="infoData.prodEntp"
                 placeholder="请输入生产企业"
               ></el-input>
@@ -72,46 +77,64 @@
           </div>
           <div class="flex-css">
             <el-form-item label="代理企业" prop="agnt">
+              <div class="content" v-if="isShow">
+                {{infoData.agnt}}
+              </div>
               <el-input
-              :disabled="isShow"
+                v-else
                 v-model="infoData.agnt"
                 placeholder="请输入代理企业"
               ></el-input>
             </el-form-item>
             <el-form-item label="挂网价格" prop="pubonlnPric">
+              <div class="content" v-if="isShow">
+                {{infoData.pubonlnPric}}
+              </div>
               <el-input
-                :disabled="isShow"
+                v-else
                 v-model="infoData.pubonlnPric"
                 placeholder="请输入挂网价格"
               ></el-input>
             </el-form-item>
 
             <el-form-item label="规格" prop="spec" >
+              <div class="content" v-if="isShow">
+                {{infoData.spec}}
+              </div>
               <el-input
+                v-else
                 v-model="infoData.spec"
-                :disabled="isShow"
                 placeholder="请输入规格"
               ></el-input>
             </el-form-item>
           </div>
           <div class="flex-css">
             <el-form-item label="型号" prop="mol">
+              <div class="content" v-if="isShow">
+                {{infoData.mol}}
+              </div>
               <el-input
+                v-else
                 v-model="infoData.mol"
-                :disabled="isShow"
                 placeholder="请输入型号"
               ></el-input>
             </el-form-item>
             <el-form-item label="材质" prop="matl">
+              <div class="content" v-if="isShow">
+                {{infoData.matl}}
+              </div>
               <el-input
+                v-else
                 v-model="infoData.matl"
-                :disabled="isShow"
                 placeholder="请输入材质"
               ></el-input>
             </el-form-item>
             <el-form-item label="包装材质" prop="pacmatl">
+              <div class="content" v-if="isShow">
+                {{infoData.pacmatl}}
+              </div>
               <el-input
-              :disabled="isShow"
+                v-else
                 v-model="infoData.pacmatl"
                 placeholder="请输入包装材质"
               ></el-input>
@@ -119,14 +142,17 @@
           </div>
           <div class="flex-css">
             <el-form-item label="注册证号" prop="regcertno">
+              <div class="content" v-if="isShow">
+                {{infoData.regcertno}}
+              </div>
               <el-input
-              :disabled="isShow"
+                v-else
                 v-model="infoData.regcertno"
                 placeholder="请输入注册证号"
               ></el-input>
             </el-form-item>
             <el-form-item label="目录来源" prop="isPub">
-              <el-select
+              <!-- <el-select
                 v-model="infoData.isPub"
                 placeholder="请选择目录来源"
                 clearable
@@ -138,12 +164,16 @@
                   :label="item.name"
                   :value="item.value"
                 ></el-option>
-              </el-select>
+              </el-select> -->
+              <div class="content">
+                <span v-if="infoData.isPub == '0'">挂网</span>
+                <span v-if="infoData.isPub =='1'">非挂网</span>
+              </div>
             </el-form-item>
             <el-form-item label="  " prop="regcertno">
-              <el-input
-                :disabled="isShow"
-              ></el-input>
+              <div class="content" v-if="isShow">
+                <!-- {{infoData.regcertno}} -->
+              </div>
             </el-form-item>
           </div>
         </div>
@@ -177,11 +207,15 @@
               </el-select>
             </el-form-item>
             <el-form-item label="是否集采" prop="isFas" >
+              <div class="content" v-if="isShow">
+                <span v-if="infoData.isFas == '0'">是</span>
+                <span v-if="infoData.isFas =='1'">否</span>
+              </div>
               <el-select
+                v-else
                 v-model="infoData.isFas"
                 placeholder="请选择是否集采"
                 clearable
-                :disabled="isShow"
               >
                 <el-option
                   v-for="item in iFjcData"
@@ -194,8 +228,11 @@
           </div>
           <div class="flex-css">
             <el-form-item label="集采批次" prop="fasBtch">
+              <div class="content" v-if="isShow">
+                {{infoData.fasBtch}}
+              </div>
               <el-input
-              :disabled="isShow"
+                v-else
                 v-model="infoData.fasBtch"
                 placeholder="请输入集采批次"
               ></el-input>
@@ -228,8 +265,11 @@
         <div class="form-body">
           <div class="flex-css">
             <el-form-item label="医保编码" prop="hiCode">
+              <div class="content" v-if="isShow">
+                {{infoData.hiCode}}
+              </div>
               <el-input
-              :disabled="isShow"
+                v-else
                 v-model="infoData.hiCode"
                 placeholder="请输入医保编码"
               ></el-input>
@@ -290,140 +330,6 @@
           </div>
         </div>
       </div>
-
-      <!-- <div class="common-card">
-        <h3>商品包装资料</h3>
-        <div class="form-body">
-          <div class="flex-css">
-            <el-form-item label="大包装单位" prop="uscc" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.uscc"
-                placeholder="请输入大包装单位"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.uscc }}
-              </div>
-            </el-form-item>
-            <el-form-item label="大包装含量" prop="legrepName" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.legrepName"
-                placeholder="请输入大包装含量"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.legrepName }}
-              </div>
-            </el-form-item>
-            <el-form-item label="大包装条码" prop="regStas" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regStas"
-                placeholder="请输入大包装条码"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regStas }}
-              </div>
-            </el-form-item>
-          </div>
-          <div class="flex-css">
-            <el-form-item label="中包装单位" prop="regStas" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regStas"
-                placeholder="请输入中包装单位"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regStas }}
-              </div>
-            </el-form-item>
-            <el-form-item label="中包装含量" prop="natstdIndu" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.natstdIndu"
-                placeholder="请输入中包装含量"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.natstdIndu }}
-              </div>
-            </el-form-item>
-            <el-form-item label="中包装条码" prop="regCapt" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regCapt"
-                placeholder="请输入中包装条码"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regCapt }}
-              </div>
-            </el-form-item>
-          </div>
-          <div class="flex-css">
-            <el-form-item label="小包装单位" prop="regStas" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regStas"
-                placeholder="请输入小包装单位"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regStas }}
-              </div>
-            </el-form-item>
-            <el-form-item label="小包装含量" prop="natstdIndu" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.natstdIndu"
-                placeholder="请输入小包装含量"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.natstdIndu }}
-              </div>
-            </el-form-item>
-            <el-form-item label="小包装条码" prop="regCapt" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regCapt"
-                placeholder="请输入小包装条码"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regCapt }}
-              </div>
-            </el-form-item>
-          </div>
-          <div class="flex-css">
-            <el-form-item label="最小计量单位" prop="regStas" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regStas"
-                placeholder="请输入最小计量单位"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regStas }}
-              </div>
-            </el-form-item>
-            <el-form-item label="默认出库单位" prop="natstdIndu" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.natstdIndu"
-                placeholder="请输入默认出库单位"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.natstdIndu }}
-              </div>
-            </el-form-item>
-            <el-form-item label="默认采购单位" prop="regCapt" :rules="rules.required">
-              <el-input
-                v-if="infoData.stas == 'A' || infoData.stas == 'R'"
-                v-model="infoData.regCapt"
-                placeholder="请输入默认采购单位"
-              ></el-input>
-              <div class="content" v-else>
-                {{ infoData.regCapt }}
-              </div>
-            </el-form-item>
-          </div>
-        </div>
-      </div> -->
       <div class="common-card">
         <h3>其他资料</h3>
         <div class="form-body">
@@ -467,6 +373,7 @@
       <el-button type="primary" @click="handleSubmit" :loading="submitLoad"
         >提交</el-button
       >
+      <el-button type="danger" @click="handleBack">返回</el-button>
     </div>
   </div>
 </template>
@@ -474,7 +381,7 @@
 <script>
 import ylStep from "@/components/yl-step";
 import ylUpload from "@/components/yl-upload";
-import { selectMcsListById, insertSplerMcsList } from "@/api/consumCataManage-sup/index";
+import { selectMcsListById,selectMcsListIntfById, insertSplerMcsList } from "@/api/consumCataManage-sup/index";
 import rules from "@/utils/rules";
 export default {
   components: { ylUpload, ylStep },
@@ -541,7 +448,7 @@ export default {
     // this.$nextTick(()=>{
     //   this.$refs['planForm'].resetFields();
     // })
-    if (this.$route.query.status == "B") {
+    if (this.$route.query.status == "B" || this.$route.query.status == "C" ) {
       this.btnShow = false;
     }else if(this.$route.query.status=="D"){
       this.reaDiv = true
@@ -551,7 +458,11 @@ export default {
     }else{
       this.isShow =true
     }
-    this.getData();
+    if(this.$route.query.type=="modify"){
+      this.getData1()
+    }else{
+      this.getData();
+    }
   },
   methods: {
     getUpload(id) {
@@ -564,6 +475,16 @@ export default {
     },
     //获取列表数据
     getData() {
+      selectMcsListIntfById({ id: this.$route.query.id })
+        .then((response) => {
+          this.infoData = response.data;
+          this.$refs['planForm'].resetFields();
+        })
+        .catch((err) => {
+          this.$message.error("获取数据失败");
+        });
+    },
+    getData1() {
       selectMcsListById({ id: this.$route.query.id })
         .then((response) => {
           this.infoData = response.data;
@@ -617,6 +538,12 @@ export default {
               this.submitLoad = true;
               this.infoData.isPub=this.$route.query.isPub,
               this.infoData.status = "B";
+              // this.infoData.opeType = this.$route.query.opeType;
+              if(!this.$route.query.opeType){
+                this.infoData.opeType = "修改"
+              }else{
+                this.infoData.opeType = this.$route.query.opeType;
+              }
               insertSplerMcsList(this.infoData)
                 .then((response) => {
                   this.$message({
@@ -637,6 +564,20 @@ export default {
         }
       });
     },
+    // 返回
+    handleBack(){
+      if(this.$route.query.page=="2"){
+          this.$router.push({
+          name:"consumCataManagement-sup",
+          query:{current:this.$route.query.current,spdId:this.$route.query.spdId}
+        })
+      }else{
+        this.$router.push({
+          name:"distributionmanage",
+          query:{current:this.$route.query.current,spdId:this.$route.query.spdId}
+        })
+      }
+    }
   },
 };
 </script>

+ 1 - 0
src/views/page/consumCataManage-sup/catalogdetailsadd.vue

@@ -439,6 +439,7 @@ export default {
             .then(() => {
               this.submitLoad = true;
               this.infoData.status = "B";
+              this.infoData.opeType = "新增";
               insertSplerMcsList(this.infoData)
                 .then((response) => {
                   this.$message({

File diff suppressed because it is too large
+ 1016 - 0
src/views/page/consumCataManage-sup/distributionmanage.vue


+ 64 - 102
src/views/page/consumCataManage-sup/index.vue

@@ -1,5 +1,5 @@
 <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>
@@ -17,12 +17,6 @@
     </el-card>
     <div class="right-common-box">
       <el-form :model="listQuery" ref="listQuery" :inline="true" label-width="90px">
-        <!-- <el-form-item label="耗材编码" prop="materialId" class="long">
-          <el-input
-            v-model="listQuery.materialId"
-            placeholder="请输入耗材编码"
-          ></el-input>
-        </el-form-item> -->
         <el-form-item size="mini" label="医保编码" prop="hiCode" class="long">
           <el-input v-model="listQuery.hiCode" placeholder="请输入医保编码"></el-input>
         </el-form-item>
@@ -49,9 +43,6 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <!-- <el-form-item label="集采批次" prop="fasBtch" class="long">
-          <el-input v-model="listQuery.fasBtch" placeholder="请输入集采批次"></el-input>
-        </el-form-item> -->
         <el-form-item size="mini" label="耗材类别" prop="mcsType" class="long">
           <el-select v-model="listQuery.mcsType" placeholder="请选择耗材类别" clearable>
             <el-option
@@ -100,23 +91,19 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <!-- <el-form-item>
-          <el-button type="primary" @click="getHospConsum('search')">查询</el-button>
-          <el-button @click="reset('consumableData')">重置</el-button>
-        </el-form-item> -->
       </el-form>
       <div class="right-button">
           <el-button type="primary" @click="getHospConsum('search')">查询</el-button>
           <el-button @click="reset('consumableData')">重置</el-button>
         </div>
-      <div class="right-button" v-if="btnShow">
+      <!-- <div class="right-button" v-if="btnShow">
         <el-button type="primary" icon="el-icon-plus" @click="handleUpdate('search')"
           >挂网目录新增
         </el-button>
         <el-button type="primary" icon="el-icon-plus" @click="handleFadd('search')"
           >非挂网目录新增
         </el-button>
-      </div>
+      </div> -->
       <el-table
         v-loading="listLoading"
         element-loading-text="加载中"
@@ -155,10 +142,12 @@
             <span v-if="row.isPub == '1'">非挂网</span>
           </template>
         </el-table-column>
+        <el-table-column label="操作类型" prop="opeType" width="80" fixed="right">
+        </el-table-column>
         <el-table-column label="当前状态" prop="status" width="80" fixed="right">
           <template #default="{ row }">
-            <span v-if="row.status == 'A'">待审核</span>
-            <span v-if="row.status == 'B'">审核</span>
+            <span v-if="row.status == 'A'">待提交</span>
+            <span v-if="row.status == 'B'">审核</span>
             <span v-if="row.status == 'C'">审核通过</span>
             <span v-if="row.status == 'R'">驳回
             </span>
@@ -167,9 +156,8 @@
         <el-table-column fixed="right" label="操作" width="160">
           <template slot-scope="scope">
             <div>
-              <el-button type="text" @click="handleDui(scope.row)">编辑</el-button>
-              <!-- <el-button type="text" v-if="scope.row.stas == '1'"  @click="handleCanc(scope.row)">取消对码</el-button> -->
-              <!-- <el-button type="text"   @click="handlePrice(scope.row)">申请调价</el-button> -->
+              <el-button type="text" @click="handleDui(scope.row)"  v-if="scope.row.status=='C'">详情</el-button>
+              <el-button type="text" @click="handleDui(scope.row)" v-else>编辑</el-button>
             </div>
           </template>
         </el-table-column>
@@ -260,16 +248,16 @@
         <el-button type="primary" @click="commitData()" :loading="ccLoad">确认</el-button>
       </div>
     </el-dialog>
-    <el-dialog title="选择耗材" :visible.sync="dialogAdd" width="75%">
+    <el-dialog title="选择耗材" :visible.sync="dialogAdd" width="70%">
       <template>
-        <el-form :model="listQueryadd" ref="listQueryadd" :inline="true">
-          <el-form-item label="耗材名称" prop="prodName" class="long">
+        <el-form :model="listQueryadd" ref="listQueryadd" :inline="true"  label-width="90px">
+          <el-form-item  size="mini" label="耗材名称" prop="prodName" class="long">
             <el-input
               v-model="listQueryadd.prodName"
               placeholder="请输入耗材名称"
             ></el-input>
           </el-form-item>
-          <el-form-item label="规格" prop="spec" class="long">
+          <el-form-item  size="mini" label="规格" prop="spec" class="long">
             <el-input v-model="listQueryadd.spec" placeholder="请输入耗材规格"></el-input>
           </el-form-item>
           <!-- <el-form-item label="耗材编码" prop="materialId" class="long">
@@ -278,13 +266,13 @@
               placeholder="请输入耗材编码"
             ></el-input>
           </el-form-item> -->
-          <el-form-item label="医保编码" prop="hiCode" class="long">
+          <el-form-item  size="mini" label="医保编码" prop="hiCode" class="long">
             <el-input
               v-model="listQueryadd.hiCode"
               placeholder="请输入医保编码"
             ></el-input>
           </el-form-item>
-          <el-form-item label="是否集采" prop="isFas" class="long">
+          <el-form-item  size="mini" label="是否集采" prop="isFas" class="long">
             <el-select
               v-model="listQueryadd.isFas"
               placeholder="请选择是否集采"
@@ -298,6 +286,24 @@
               ></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item  size="mini" label="注册证号" prop="regcertno" class="long">
+            <el-input
+              v-model="listQueryadd.regcertno"
+              placeholder="请输入注册证号"
+            ></el-input>
+          </el-form-item>
+          <el-form-item  size="mini" label="生产企业" prop="prodEntp" class="long">
+            <el-input
+              v-model="listQueryadd.prodEntp"
+              placeholder="请输入生产企业"
+            ></el-input>
+          </el-form-item>
+          <el-form-item  size="mini" label="型号" prop="mol" class="long">
+            <el-input
+              v-model="listQueryadd.mol"
+              placeholder="请输入型号"
+            ></el-input>
+          </el-form-item>
           <!-- <el-form-item label="对码状态" prop="stas">
           <el-select
             v-model="listQuery.stas"
@@ -338,21 +344,21 @@
             :reserve-selection="true"
             width="55"
           ></el-table-column>
-          <el-table-column prop="hiCode" label="医保编码" width="150"> </el-table-column>
+          <el-table-column prop="hiCode" label="医保编码"> </el-table-column>
           <el-table-column prop="prodName" label="耗材名称" width="180">
           </el-table-column>
-          <el-table-column prop="pubonlnPric" label="挂网价格" width="180">
+          <el-table-column prop="pubonlnPric" label="挂网价格">
           </el-table-column>
-          <el-table-column prop="isFas" label="是否集采" width="120">
+          <el-table-column prop="isFas" label="是否集采">
             <template #default="{ row }">
               <span v-if="row.isFas == '1'">否</span>
               <span v-if="row.isFas == '0'">是</span>
             </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="商品类别">
           </el-table-column>
-          <el-table-column prop="spfl" label="商品分类" width="120">
+          <el-table-column prop="spfl" label="商品分类">
           </el-table-column> -->
           <el-table-column prop="spec" label="规格"> </el-table-column>
           <el-table-column prop="mol" label="型号"> </el-table-column>
@@ -367,67 +373,13 @@
           <el-table-column prop="regcertno" label="注册证号"> </el-table-column>
           <el-table-column prop="prodEntp" label="生产企业" width="120">
           </el-table-column>
-          <el-table-column prop="agnt" label="代理企业" width="180"> </el-table-column>
+          <el-table-column prop="agnt" label="代理企业" width="150"> </el-table-column>
         </el-table>
         <div slot="footer" class="dialog-footer">
           <el-button type="primary" @click="handleConfirm" :loading="addLoading"
             >确认</el-button
           >
         </div>
-        <!-- <el-form :model="form" ref="form" :rules="rules">
-          <el-table
-            :data="form.splerData"
-            border
-            style="width: 100%"
-            v-loading="supLoading"
-          >
-            <el-table-column
-              fixed
-              prop="splerDrugName"
-              label="药品名称"
-              width="150"
-            >
-            </el-table-column>
-            <el-table-column
-              prop="splerDosformName"
-              label="剂型名称"
-              width="120"
-            >
-            </el-table-column>
-            <el-table-column prop="splerProdentpName" label="生产企业">
-            </el-table-column>
-            <el-table-column
-              prop="splerDrugListId"
-              label="药品编码"
-              width="120"
-            >
-            </el-table-column>
-            <el-table-column prop="address" label="规格" width="250">
-              <template slot-scope="scope">
-                <div class="drug-name">
-                  {{"供应商规格 【" +scope.row.splerSpecName +"*" +scope.row.splerPrepunt +"/" +scope.row.splerPacUnt +"】"}}
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column prop="address" label="转换比" width="150">
-              <template slot-scope="scope">
-                <el-form-item :prop="'splerData.' + scope.$index + '.convrat'" :rules="{required: true,message: '输入转换比',trigger: 'change'}" >
-                  <el-input v-model="scope.row.convrat" placeholder="请输入转换比"></el-input>
-                </el-form-item>
-              </template>
-            </el-table-column>
-            <el-table-column fixed="right" label="操作" width="60">
-              <template slot-scope="scope">
-                <el-button
-                  @click="handleClick(scope.row, scope.$index)"
-                  type="text"
-                  size="small"
-                  >对码</el-button
-                >
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-form> -->
 
         <!--分页-->
         <yl-pagination
@@ -446,7 +398,7 @@
 import ylPagination from "@/components/yl-pagination";
 import mcsInfo from "@/views/components/mcs-info.vue"
 import {
-  selectSplerMcsList,
+  selectSplerMcsListIntf,
   selectMcsList,
   saveSplerMcs,
   PricChg,
@@ -478,11 +430,9 @@ export default {
       listQuery: {
         current: 1,
         size: 10,
-        materialId: "",
         spec: "",
         hiCode: "",
         isFas: "",
-        fasBtch: "",
         mol: "",
         prodSouc: "",
         mcsType: "",
@@ -517,8 +467,8 @@ export default {
         { value: "0", name: "进口" },
       ],
       statusData: [
-        { value: "A", name: "待审核" },
-        { value: "B", name: "审核" },
+        { value: "A", name: "待提交" },
+        { value: "B", name: "审核" },
         { value: "C", name: "审核通过" },
         { value: "R", name: "驳回" },
       ],
@@ -613,7 +563,6 @@ export default {
       dialogAdd: false,
       listQueryadd: {
         materialId: "",
-        materialId: "",
         spec: "",
         hiCode: "",
         isFas: "",
@@ -672,7 +621,7 @@ export default {
       this.listLoading = true;
       // this.spdId = this.$route.query.spdId;
       this.listQuery.spdId = this.spdId;
-      selectSplerMcsList(this.listQuery)
+      selectSplerMcsListIntf(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
@@ -705,7 +654,7 @@ export default {
       this.listLoading = true;
       this.spdId = data.spdId;
       this.listQuery.spdId = this.spdId;
-      selectSplerMcsList(this.listQuery)
+      selectSplerMcsListIntf(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
@@ -753,12 +702,9 @@ export default {
     },
     // 多选
     handleSelectionChange(e) {
+      console.log(this.spdId,"sodpdp")
       this.insertMcsList = e;
-      // e.forEach((v) => {
-      //   if (v.readFlag == "0") {
-      //     this.marked.push(v.id);
-      //   }
-      // });
+      newArr = this.insertMcsList.push({spdId:this.spdId});
       // console.log(e, "ee");
     },
     // 多选后选过的禁用
@@ -881,8 +827,24 @@ export default {
       // console.log(row, "编辑");
       this.$router.push({
         name: "catalogdetails",
-        query: { id: row.id, status: row.status, spdId: row.spdId, isPub: row.isPub },
+        query: { id: row.id, status: row.status, spdId: this.spdId, isPub: row.isPub,opeType:row.opeType,type:"edit",current:this.listQuery.current,page:"2" },
       });
+      // Vue.use(sessionStorage);
+      // sessionStorage.setItem("spdId",this.listQuery.spdId);
+      // sessionStorage.setItem("current",this.listQuery.current);
+      // sessionStorage.setItem("current",this.listQuery.size);
+      // sessionStorage.setItem("current",this.listQuery.spec);
+      // sessionStorage.setItem("current",this.listQuery.hiCode);
+      // sessionStorage.setItem("current",this.listQuery.isFas);
+      // sessionStorage.setItem("current",this.listQuery.mol);
+      // sessionStorage.setItem("current",this.listQuery.prodSouc);
+      // sessionStorage.setItem("current",this.listQuery.mcsType);
+      // sessionStorage.setItem("current",this.listQuery.matl);
+      // sessionStorage.setItem("current",this.listQuery.prodEntp);
+      // sessionStorage.setItem("current",this.listQuery.prodName);
+      // sessionStorage.setItem("current",this.listQuery.status);
+      // sessionStorage.setItem("current",this.listQuery.regcertno);
+      // sessionStorage.setItem("current",this.listQuery.isPub);
       // this.dialogDui = true;
       // this.consumableData = [];
       // this.consumableData.push(row);
@@ -963,7 +925,7 @@ export default {
     // this.getHospConsum();
     if (this.$route.query.spdId) {
       this.listQuery.spdId = this.$route.query.spdId;
-      selectSplerMcsList(this.listQuery)
+      selectSplerMcsListIntf(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;

+ 19 - 4
src/views/page/orderManage-sup/alreadyDelivery/alreadyDetail.vue

@@ -98,18 +98,31 @@
                 <el-table-column fixed type="index" label="序号" width="60"/>
                 <el-table-column label="耗材编码" prop="materialId" />
                 <el-table-column label="医保编码" prop="ybbm" />
-                <el-table-column label="耗材名称" prop="materialName" />
+                <el-table-column label="耗材名称" >
+                    <template slot-scope="scope">
+                        <mcs-info :info="scope.row"></mcs-info>
+                    </template>
+                </el-table-column>
                 <el-table-column label="商品类别" prop="prodType" />
                 <el-table-column label="商品分类" prop="" />
                 <el-table-column label="规格" prop="spec" />
                 <el-table-column label="型号" prop="model" />
                 <el-table-column label="材质" prop="matl" />
+                <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '1'">否</span>
+              <span v-if="row.isFas == '0'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="计价单位" prop="matl" />
+          <el-table-column label="采购单位" prop="prcUnt" />
+          <el-table-column label="包装内数量" prop="convart" />
                 <el-table-column label="批次号" prop="lotNum" />
                 <el-table-column label="生产日期" prop="manuDate" />
                 <el-table-column label="有效期至" prop="prodExpy" />
-                <el-table-column label="生产来源" prop="source" />
+                <!-- <el-table-column label="生产来源" prop="source" />
                 <el-table-column label="注册证号" prop="approveNo" />
-                <el-table-column label="生产企业" prop="factory" />
+                <el-table-column label="生产企业" prop="factory" /> -->
                 <el-table-column label="需求数量" prop="purcCnt" />
                 <el-table-column label="剩余出库量" prop="toDelvCnt" />
                 <el-table-column label="本次出库量" prop="delvCnt" />
@@ -275,11 +288,12 @@
 <script>
 import ylStep from "@/components/yl-step";
 import ylPagination from "@/components/yl-pagination";
+import mcsInfo from "@/views/components/mcs-info.vue";
 import ylUpload from "@/components/yl-upload";
 import { getOrdDetlList,finishDelvOrd } from "@/api/orderManage-sup/index";
     export default {
         components:{
-            ylStep,ylPagination,ylUpload
+            ylStep,ylPagination,ylUpload,mcsInfo
         },
         data() {
             return {
@@ -540,6 +554,7 @@ import { getOrdDetlList,finishDelvOrd } from "@/api/orderManage-sup/index";
             handleBack() {
             this.$router.push({
                 name: "purOrderDelivery",
+                query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
             });
             },
         },

+ 230 - 195
src/views/page/orderManage-sup/orthOpedicAccept/index.vue

@@ -1,10 +1,10 @@
 <template>
   <!-- 采购订单待确认 -->
-  <div style="display:flex">
-  <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+  <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-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+        <el-tab-pane label="按机构" name="org"></el-tab-pane>
       </el-tabs>
       <el-tree
         :data="data"
@@ -12,35 +12,35 @@
         node-key="spdId"
         @node-click="handleNodeClick"
         default-expand-all="true"
-        style="margin-top:10px;"
+        style="margin-top: 10px"
       ></el-tree>
     </el-card>
-  <div class="right-common-box">
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <el-tab-pane label="待确认" name="first">
-        <el-form :model="listQuery" ref="queryForm" :inline="true">
-          <el-form-item label="采购单号" prop="id">
-            <el-input v-model="listQuery.id" placeholder="请输入采购单号"></el-input>
-          </el-form-item>
-          <el-form-item label="客户名称" prop="deptName">
-            <el-input
-              v-model="listQuery.deptName"
-              placeholder="请输入客户名称"
-            ></el-input>
-          </el-form-item>
-          <el-form-item label="采购时间" prop="docmkDate">
-            <el-date-picker
-              v-model="listQuery.docmkDate"
-              type="daterange"
-              range-separator="至"
-              :editable="false"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
-              style="width: 230px"
-            />
-          </el-form-item>
-          <!-- <el-form-item label="采购方" prop="orgId">
+    <div class="right-common-box">
+      <el-tabs v-model="activeName" @tab-click="handleClick">
+        <el-tab-pane label="待确认" name="first">
+          <el-form :model="listQuery" ref="queryForm" :inline="true">
+            <el-form-item label="采购单号" prop="id">
+              <el-input v-model="listQuery.id" placeholder="请输入采购单号"></el-input>
+            </el-form-item>
+            <el-form-item label="客户名称" prop="deptName">
+              <el-input
+                v-model="listQuery.deptName"
+                placeholder="请输入客户名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采购时间" prop="docmkDate">
+              <el-date-picker
+                v-model="listQuery.docmkDate"
+                type="daterange"
+                range-separator="至"
+                :editable="false"
+                value-format="yyyy-MM-dd"
+                start-placeholder="开始时间"
+                end-placeholder="结束时间"
+                style="width: 230px"
+              />
+            </el-form-item>
+            <!-- <el-form-item label="采购方" prop="orgId">
                 <el-cascader
                     v-model="listQuery.orgId"
                     :options="options"
@@ -64,168 +64,158 @@
                     ></el-option>
                 </el-select>
             </el-form-item> -->
-          <el-form-item>
-            <el-button type="primary" @click="getData('search')">查询 </el-button>
-            <el-button @click="reset">重置</el-button>
-          </el-form-item>
-        </el-form>
-        <el-table
-          v-loading="listLoading"
-          element-loading-text="加载中"
-          :data="list"
-          fit
-          stripe
-          border
-        >
-          <template slot="empty">
-            <img src="@/assets/nopage.png" alt />
-            <p>暂无数据</p>
-          </template>
-          <el-table-column fixed type="index" label="序号" width="60" />
-          <el-table-column label="采购单号" prop="id" />
-          <el-table-column label="采购品种" prop="detlCnt" />
-          <el-table-column label="采购总数量" prop="qtySum" />
-          <el-table-column label="采购总金额" prop="purcAmt" />
-          <el-table-column label="客户名称" prop="deptName" />
-          <el-table-column label="采购员" prop="docmker" />
-          <el-table-column label="采购时间" prop="docmkDate" />
-          <el-table-column label="当前状态" prop="stas">
-            <template #default="{ row }">
-              <span v-if="row.stas == 'A'">未受理</span>
-              <span v-if="row.stas == 'B'">已受理</span>
-              <span v-if="row.stas == 'R'">被驳回</span>
-              <span v-if="row.stas == 'C'">已出库</span>
-              <span v-if="row.stas == 'D'">部分出库</span>
-              <span v-if="row.stas == 'Y'">已入库</span>
-              <span v-if="row.stas == 'P'">部分入库</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="操作" width="100">
-            <template slot-scope="scope">
-              <el-button type="text" @click="handleDetail(scope.row)">详情</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <!--分页-->
-        <yl-pagination
-          v-show="total > 0"
-          :total="total"
-          :page.sync="listQuery.current"
-          :limit.sync="listQuery.size"
-          @pagination="getData"
-        />
-      </el-tab-pane>
-      <el-tab-pane label="已确认" name="second">
-        <el-form :model="listQueryC" ref="queryForm" :inline="true">
-          <el-form-item label="采购单号" prop="id">
-            <el-input v-model="listQueryC.id" placeholder="请输入采购单号"></el-input>
-          </el-form-item>
-          <el-form-item label="供应商" prop="deptName">
-            <el-input v-model="listQueryC.deptName" placeholder="请输入供应商"></el-input>
-          </el-form-item>
-          <el-form-item label="采购时间" prop="docmkDate">
-            <el-date-picker
-              v-model="listQueryC.docmkDate"
-              type="daterange"
-              range-separator="至"
-              :editable="false"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
-              style="width: 230px"
-            />
-          </el-form-item>
-          <!-- <el-form-item label="采购方" prop="orgId">
-                <el-cascader
-                    v-model="listQueryC.orgId"
-                    :options="options"
-                    :show-all-levels='false'
-                    :props="{ expandTrigger: 'hover', value:'orgId',label:'orgName',children:'child',checkStrictly:true,emitPath:false }"
-                    clearable
-                    @change="handleChange">
-                </el-cascader>
+            <el-form-item>
+              <el-button type="primary" @click="getData('search')">查询 </el-button>
+              <el-button @click="reset">重置</el-button>
             </el-form-item>
-            <el-form-item label="当前状态" prop="stas">
-                <el-select
-                    v-model="listQueryC.stas"
-                    placeholder="请选择"
-                    clearable
-                >
-                    <el-option
-                        v-for="item in stasOptions"
-                        :key="item.value"
-                        :label="item.lable"
-                        :value="item.value"
-                    ></el-option>
-                </el-select>
-            </el-form-item> -->
-          <el-form-item>
-            <el-button type="primary" @click="getData('search')">查询 </el-button>
-            <el-button @click="resetC">重置</el-button>
-          </el-form-item>
-        </el-form>
-        <el-table
-          v-loading="listLoading"
-          element-loading-text="加载中"
-          :data="list"
-          fit
-          stripe
-          border
-        >
-          <template slot="empty">
-            <img src="@/assets/nopage.png" alt />
-            <p>暂无数据</p>
-          </template>
-          <el-table-column fixed type="index" label="序号" width="60" />
-          <el-table-column label="订单编号" prop="id" />
-          <el-table-column label="订单种类" prop="detlCnt" />
-          <el-table-column label="订单总数量" prop="qtySum" />
-          <el-table-column label="出库数量" prop="delvCnt" />
-          <el-table-column label="订单总金额" prop="purcAmt" />
-          <el-table-column label="客户名称" prop="deptName" />
-          <el-table-column label="发起时间" prop="docmker" />
-          <el-table-column label="发起人" prop="docmkDate" />
-          <el-table-column label="状态" prop="stas">
-            <template #default="{ row }">
-              <span v-if="row.stas == 'A'">未受理</span>
-              <span v-if="row.stas == 'B'">已受理</span>
-              <span v-if="row.stas == 'R'">被驳回</span>
-              <span v-if="row.stas == 'C'">已出库</span>
-              <span v-if="row.stas == 'D'">部分出库</span>
-              <span v-if="row.stas == 'Y'">已入库</span>
-              <span v-if="row.stas == 'P'">部分入库</span>
+          </el-form>
+          <el-table
+            v-loading="listLoading"
+            element-loading-text="加载中"
+            :data="list"
+            fit
+            stripe
+            border
+          >
+            <template slot="empty">
+              <img src="@/assets/nopage.png" alt />
+              <p>暂无数据</p>
             </template>
-          </el-table-column>
-          <el-table-column label="操作" width="100">
-            <template slot-scope="scope">
-              <el-button type="text" @click="handleDetail1(scope.row)">详情</el-button>
+            <el-table-column fixed type="index" label="序号" width="60" />
+            <el-table-column label="采购单号" prop="id" />
+            <el-table-column label="采购品种" prop="detlCnt" />
+            <el-table-column label="采购总数量" prop="qtySum" />
+            <el-table-column label="采购总金额" prop="purcAmt" />
+            <el-table-column label="客户名称" prop="deptName" />
+            <el-table-column label="采购员" prop="docmker" />
+            <el-table-column label="采购时间" prop="docmkDate" />
+            <el-table-column label="当前状态" prop="stas">
+              <template #default="{ row }">
+                <span v-if="row.stas == 'A'">未受理</span>
+                <span v-if="row.stas == 'B'">已受理</span>
+                <span v-if="row.stas == 'R'">被驳回</span>
+                <span v-if="row.stas == 'C'">已出库</span>
+                <span v-if="row.stas == 'D'">部分出库</span>
+                <span v-if="row.stas == 'Y'">已入库</span>
+                <span v-if="row.stas == 'P'">部分入库</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" width="100">
+              <template slot-scope="scope">
+                <el-button type="text" @click="handleDetail(scope.row)">详情</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <!--分页-->
+          <yl-pagination
+            v-show="total > 0"
+            :total="total"
+            :page.sync="listQuery.current"
+            :limit.sync="listQuery.size"
+            @pagination="getData"
+          />
+        </el-tab-pane>
+        <el-tab-pane label="已确认" name="second">
+          <el-form :model="listQueryC" ref="queryForm" :inline="true">
+            <el-form-item label="采购单号" prop="id">
+              <el-input v-model="listQueryC.id" placeholder="请输入采购单号"></el-input>
+            </el-form-item>
+            <el-form-item label="供应商" prop="deptName">
+              <el-input
+                v-model="listQueryC.deptName"
+                placeholder="请输入供应商"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采购时间" prop="docmkDate">
+              <el-date-picker
+                v-model="listQueryC.docmkDate"
+                type="daterange"
+                range-separator="至"
+                :editable="false"
+                value-format="yyyy-MM-dd"
+                start-placeholder="开始时间"
+                end-placeholder="结束时间"
+                style="width: 230px"
+              />
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="getData('search')">查询 </el-button>
+              <el-button @click="resetC">重置</el-button>
+            </el-form-item>
+          </el-form>
+          <el-table
+            v-loading="listLoading"
+            element-loading-text="加载中"
+            :data="list"
+            fit
+            stripe
+            border
+          >
+            <template slot="empty">
+              <img src="@/assets/nopage.png" alt />
+              <p>暂无数据</p>
             </template>
-          </el-table-column>
-        </el-table>
-        <!--分页-->
-        <yl-pagination
-          v-show="totalC > 0"
-          :total="totalC"
-          :page.sync="listQueryC.current"
-          :limit.sync="listQueryC.size"
-          @pagination="getDataC"
-        />
-      </el-tab-pane>
-    </el-tabs>
+            <el-table-column fixed type="index" label="序号" width="60" />
+            <el-table-column label="订单编号" prop="id" />
+            <el-table-column label="订单种类" prop="detlCnt" />
+            <el-table-column label="订单总数量" prop="qtySum" />
+            <el-table-column label="出库数量" prop="delvCnt" />
+            <el-table-column label="订单总金额" prop="purcAmt" />
+            <el-table-column label="客户名称" prop="deptName" />
+            <el-table-column label="发起时间" prop="docmker" />
+            <el-table-column label="发起人" prop="docmkDate" />
+            <el-table-column label="状态" prop="stas">
+              <template #default="{ row }">
+                <span v-if="row.stas == 'A'">未受理</span>
+                <span v-if="row.stas == 'B'">已受理</span>
+                <span v-if="row.stas == 'R'">被驳回</span>
+                <span v-if="row.stas == 'C'">已出库</span>
+                <span v-if="row.stas == 'D'">部分出库</span>
+                <span v-if="row.stas == 'Y'">已入库</span>
+                <span v-if="row.stas == 'P'">部分入库</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" width="100">
+              <template slot-scope="scope">
+                <el-button type="text" @click="handleDetail1(scope.row)">详情</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <!--分页-->
+          <yl-pagination
+            v-show="totalC > 0"
+            :total="totalC"
+            :page.sync="listQueryC.current"
+            :limit.sync="listQueryC.size"
+            @pagination="getDataC"
+          />
+        </el-tab-pane>
+      </el-tabs>
+    </div>
   </div>
-</div>
 </template>
 
 <script>
 import ylPagination from "@/components/yl-pagination";
-import { getMcsOrdPageSpler, getALLOrgTree,getMcsOrdPageYqrSpler } from "@/api/orderManage-sup/index";
+import {
+  getMcsOrdPageSpler,
+  getALLOrgTree,
+  getMcsOrdPageYqrSpler,
+  selectSplerMcsList,
+  selectSpdList
+} from "@/api/orderManage-sup/index";
 export default {
   components: {
     ylPagination,
   },
   data() {
     return {
-      activeName:'first',
+      activeNametree:"org",
+      activeName: "first",
+      defaultProps: {
+        children: "children",
+        label: "spdName",
+      },
       listQuery: {
         current: 1,
         size: 10,
@@ -236,7 +226,7 @@ export default {
         docmkDate: [],
         stas: "",
       },
-      listQueryC:{
+      listQueryC: {
         current: 1,
         size: 10,
         id: "",
@@ -266,33 +256,78 @@ export default {
     this.getData();
   },
   methods: {
-    handleClick(tab) {
-        console.log(tab.name, "name");
-        if(tab.name=="first"){
-            this.getData()
-        }else{
-            this.getDataC()
-        }
-    },
-    getData(type) {
-      if (type == "search") {
-        this.listQuery.current = 1;
+    tabClick(tab) {
+      if (tab.label == "按机构") {
+        this.defaultProps.label = "spdName";
       }
+      // else if(tab.label == "按分类"){
+      //     // this.getData4();
+      //     // this.defaultProps.label = 'orgGrpName'
+      //     // this.listQuery.type = 'grp';
+      // }
+    },
+    // 点击获取医院药品列表
+    handleNodeClick(data) {
+      console.log(data, "data");
       this.listLoading = true;
       this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
       this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
+      this.spdId = data.spdId;
+      this.listQuery.spdId = this.spdId;
       getMcsOrdPageSpler(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
           this.listLoading = false;
+          console.log(res, "医院目录");
+          this.btnShow = true;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    },
+    handleClick(tab) {
+      console.log(tab.name, "name");
+      if (tab.name == "first") {
+        this.getData();
+      } else {
+        this.getDataC();
+      }
+    },
+    // getData(type) {
+    //   if (type == "search") {
+    //     this.listQuery.current = 1;
+    //   }
+    //   this.listLoading = true;
+    //   this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
+    //   this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
+    //   getMcsOrdPageSpler(this.listQuery)
+    //     .then((res) => {
+    //       this.list = res.data.records;
+    //       this.total = res.data.total;
+    //       this.listLoading = false;
+    //     })
+    //     .catch((err) => {
+    //       this.listLoading = false;
+    //     });
+    //   // getMcsOrdPageSpler().then(res =>{
+    //   // this.options = res.data
+    //   // })
+    // },
+    // 获取医院列表
+    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;
         });
-      // getMcsOrdPageSpler().then(res =>{
-      // this.options = res.data
-      // })
     },
     reset() {
       this.$refs.queryForm.resetFields();
@@ -300,7 +335,7 @@ export default {
     },
     // 详情
     handleDetail(row) {
-      console.log(wqwqw,"we")
+      console.log(wqwqw, "we");
       this.$router.push({
         path: "acceptDetail",
         query: {

+ 7 - 0
src/views/page/orderManage-sup/orthOpedicDelivery/index.vue

@@ -222,6 +222,13 @@ export default {
   },
   data() {
     return {
+      activeNametree:"org",
+      data:[],
+      spdId:null,
+      defaultProps: {
+        children: "children",
+        label: "spdName",
+      },
       activeName:"first",
       listQuery: {
         current: 1,

+ 23 - 6
src/views/page/orderManage-sup/purOrderAccept/acceptDetail.vue

@@ -87,18 +87,32 @@
           <el-table-column fixed type="index" label="序号" width="60" />
           <el-table-column label="耗材编码" prop="materialId" />
           <el-table-column label="医保编码" prop="ybbm" />
-          <el-table-column label="耗材名称" prop="materialName" width="300">
+          <el-table-column label="耗材名称" width="300">
+            <template slot-scope="scope">
+              <mcs-info :info="scope.row"></mcs-info>
+            </template>
           </el-table-column>
-          <el-table-column label="商品类别" prop="prodType" />
           <el-table-column label="规格" prop="spec" />
           <el-table-column label="型号" prop="model" />
           <el-table-column label="材质" prop="matl" />
-          <el-table-column label="注册证号" prop="approveNo" width="150" />
-          <el-table-column label="生产企业" prop="factory" width="200" />
+
+          <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '1'">否</span>
+              <span v-if="row.isFas == '0'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="计价单位" prop="matl" />
+          <el-table-column label="采购单位" prop="prcUnt" />
+          <el-table-column label="包装内数量" prop="convart" />
+
           <el-table-column label="采购数量" prop="purcCnt" />
           <el-table-column label="采购价" prop="purcPric" />
           <el-table-column label="总金额" prop="purcAmt" />
-          <el-table-column label="采购来源" prop="deptName" />
+
+          <el-table-column label="来源部门" prop="deptName" />
+          <el-table-column label="采购时间" prop="docmkDate" />
+
           <el-table-column label="订单发起人" prop="docmker" width="100" />
           <el-table-column label="备注" prop="memo" />
           <el-table-column label="驳回原因" prop="rejtRea" width="200">
@@ -112,7 +126,7 @@
                         </el-form-item>
                     </template>
                 </el-table-column>
-          <el-table-column label="是否驳回" width="100">
+                <el-table-column label="是否驳回" width="100">
                     <template slot-scope="scope">
                         <el-switch v-model="scope.row.flag" @change="handleSwitch(scope.$index,scope.row)" :disabled="!isShow"></el-switch>
                     </template>
@@ -168,12 +182,14 @@
 
 <script>
 import ylStep from "@/components/yl-step";
+import mcsInfo from "@/views/components/mcs-info.vue";
 import ylPagination from "@/components/yl-pagination";
 import { getMcsDetlList, acpMcsOrd } from "@/api/orderManage-sup/index";
 export default {
   components: {
     ylStep,
     ylPagination,
+    mcsInfo,
   },
   data() {
     return {
@@ -306,6 +322,7 @@ export default {
     handleBack() {
       this.$router.push({
         name: "purOrderAccept",
+        query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
       });
     },
   },

+ 109 - 61
src/views/page/orderManage-sup/purOrderAccept/index.vue

@@ -19,16 +19,22 @@
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="待确认" name="first">
           <el-form :model="listQuery" ref="queryForm" :inline="true">
-            <el-form-item label="采购单号" prop="id">
+            <el-form-item label="采购单号" prop="id" class="long">
               <el-input v-model="listQuery.id" placeholder="请输入采购单号"></el-input>
             </el-form-item>
-            <el-form-item label="医院名称" prop="branchName">
+            <el-form-item label="医院名称" prop="branchName" class="long">
               <el-input
                 v-model="listQuery.branchName"
                 placeholder="请输入医院名称"
               ></el-input>
             </el-form-item>
-            <el-form-item label="采购时间" prop="docmkDate">
+            <el-form-item label="部门名称" prop="deptName" class="long">
+              <el-input
+                v-model="listQuery.deptName"
+                placeholder="请输入部门名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采购时间" prop="docmkDate" class="long">
               <el-date-picker
                 v-model="listQuery.docmkDate"
                 type="daterange"
@@ -40,32 +46,8 @@
                 style="width: 230px"
               />
             </el-form-item>
-            <!-- <el-form-item label="采购方" prop="orgId">
-                  <el-cascader
-                      v-model="listQuery.orgId"
-                      :options="options"
-                      :show-all-levels='false'
-                      :props="{ expandTrigger: 'hover', value:'orgId',label:'orgName',children:'child',checkStrictly:true,emitPath:false }"
-                      clearable
-                      @change="handleChange">
-                  </el-cascader>
-              </el-form-item>
-              <el-form-item label="当前状态" prop="stas">
-                  <el-select
-                      v-model="listQuery.stas"
-                      placeholder="请选择"
-                      clearable
-                  >
-                      <el-option
-                          v-for="item in stasOptions"
-                          :key="item.value"
-                          :label="item.lable"
-                          :value="item.value"
-                      ></el-option>
-                  </el-select>
-              </el-form-item> -->
             <el-form-item>
-              <el-button type="primary" @click="getData('search')">查询 </el-button>
+              <el-button type="primary" @click="getorderData('search')">查询 </el-button>
               <el-button @click="reset">重置</el-button>
             </el-form-item>
           </el-form>
@@ -113,21 +95,27 @@
             :total="total"
             :page.sync="listQuery.current"
             :limit.sync="listQuery.size"
-            @pagination="getData"
+            @pagination="getorderData"
           />
         </el-tab-pane>
         <el-tab-pane label="已确认" name="second">
           <el-form :model="listQueryC" ref="queryFormC" :inline="true">
-            <el-form-item label="采购单号" prop="id">
+            <el-form-item label="采购单号" prop="id"  class="long">
               <el-input v-model="listQueryC.id" placeholder="请输入采购单号"></el-input>
             </el-form-item>
-            <el-form-item label="医院名称" prop="branchName">
+            <el-form-item label="医院名称" prop="branchName"  class="long">
               <el-input
                 v-model="listQueryC.branchName"
                 placeholder="请输入医院名称"
               ></el-input>
             </el-form-item>
-            <el-form-item label="采购时间" prop="docmkDate">
+            <el-form-item label="部门名称" prop="deptName" class="long">
+              <el-input
+                v-model="listQuery.deptName"
+                placeholder="请输入部门名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采购时间" prop="docmkDate"  class="long">
               <el-date-picker
                 v-model="listQueryC.docmkDate"
                 type="daterange"
@@ -139,30 +127,6 @@
                 style="width: 230px"
               />
             </el-form-item>
-            <!-- <el-form-item label="采购方" prop="orgId">
-                  <el-cascader
-                      v-model="listQuery.orgId"
-                      :options="options"
-                      :show-all-levels='false'
-                      :props="{ expandTrigger: 'hover', value:'orgId',label:'orgName',children:'child',checkStrictly:true,emitPath:false }"
-                      clearable
-                      @change="handleChange">
-                  </el-cascader>
-              </el-form-item>
-              <el-form-item label="当前状态" prop="stas">
-                  <el-select
-                      v-model="listQuery.stas"
-                      placeholder="请选择"
-                      clearable
-                  >
-                      <el-option
-                          v-for="item in stasOptions"
-                          :key="item.value"
-                          :label="item.lable"
-                          :value="item.value"
-                      ></el-option>
-                  </el-select>
-              </el-form-item> -->
             <el-form-item>
               <el-button type="primary" @click="getDataC('search')">查询 </el-button>
               <el-button @click="resetC">重置</el-button>
@@ -223,14 +187,21 @@
 
 <script>
 import ylPagination from "@/components/yl-pagination";
-import { getMcsOrdPageSpler, getMcsOrdPageYqrSpler } from "@/api/orderManage-sup/index";
+import { getMcsOrdPageSpler, getMcsOrdPageYqrSpler,selectSpdList} from "@/api/orderManage-sup/index";
 export default {
   components: {
     ylPagination,
   },
   data() {
     return {
+      activeNametree:"org",
       activeName: "first",
+      data:[],
+      spdId:null,
+      defaultProps: {
+        children: "children",
+        label: "spdName",
+      },
       listQuery: {
         current: 1,
         size: 10,
@@ -241,6 +212,7 @@ export default {
         docmkDate: [],
         stas: "",
         branchName: "",
+        spdId:""
       },
       listQueryC: {
         current: 1,
@@ -252,6 +224,7 @@ export default {
         docmkDate: [],
         stas: "",
         branchName: "",
+        spdId:""
       },
       stasOptions: [
         { value: "A", lable: "未受理" },
@@ -272,17 +245,64 @@ export default {
   },
   mounted() {
     this.getData();
+    if (this.$route.query.spdId && this.$route.query.activeName =='first') {
+      this.listQuery.spdId = this.$route.query.spdId;
+      getMcsOrdPageSpler(this.listQuery)
+        .then((res) => {
+          this.list = res.data.records;
+          this.total = res.data.total;
+          this.listLoading = false;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    };
+    if (this.$route.query.spdId && this.$route.query.activeName =='second') {
+      this.activeName='second'
+      this.listQueryC.spdId = this.$route.query.spdId;
+      getMcsOrdPageYqrSpler(this.listQueryC)
+        .then((res) => {
+          this.listC = res.data.records;
+          this.totalC = res.data.total;
+          this.listLoading = false;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    };
   },
   methods: {
+    tabClick(tab) {
+      if (tab.label == "按机构") {
+        this.defaultProps.label = "spdName";
+      }
+      // else if(tab.label == "按分类"){
+      //     // this.getData4();
+      //     // this.defaultProps.label = 'orgGrpName'
+      //     // this.listQuery.type = 'grp';
+      // }
+    },
     handleClick(tab) {
       console.log(tab.name, "name");
       if (tab.name == "first") {
-        this.getData();
+        this.getorderData();
       } else {
-        this.getDataC();
+        this.getorderDataC();
       }
     },
+    // 获取医院列表
     getData(type) {
+      this.data = [];
+      selectSpdList()
+        .then((res) => {
+          this.listQuery.spdId = res.data[0].spdId;
+          this.data = res.data;
+          console.log(this.data, "dadad");
+        })
+        .catch((err) => {
+        });
+    },
+    getorderData(type) {
       if (type == "search") {
         this.listQuery.current = 1;
       }
@@ -302,6 +322,25 @@ export default {
       // this.options = res.data
       // })
     },
+    // 点击获取耗材列表
+    handleNodeClick(data) {
+      console.log(data, "data");
+      this.listLoading = true;
+      this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
+      this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
+      this.spdId = data.spdId;
+      this.listQuery.spdId = this.spdId;
+      getMcsOrdPageSpler(this.listQuery)
+        .then((res) => {
+          this.list = res.data.records;
+          this.total = res.data.total;
+          this.listLoading = false;
+          console.log(res, "医院目录");
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    },
     reset() {
       this.$refs.queryForm.resetFields();
       this.getData();
@@ -320,14 +359,17 @@ export default {
           stas: row.stas,
           deptName: row.deptName,
           branchName: row.branchName,
+          spdId:this.listQuery.spdId,
+          activeName:this.activeName,
         },
       });
     },
-    getDataC(type) {
+    getorderDataC(type) {
       if (type == "search") {
         this.listQueryC.current = 1;
       }
       this.listLoading = true;
+      this.listQueryC.spdId = this.spdId;
       this.listQueryC.docmkDateStart = this.listQueryC.docmkDate[0];
       this.listQueryC.docmkDateEnd = this.listQueryC.docmkDate[1];
       getMcsOrdPageYqrSpler(this.listQueryC)
@@ -361,6 +403,8 @@ export default {
           stas: row.stas,
           deptName: row.deptName,
           branchName: row.branchName,
+          spdId:this.listQueryC.spdId,
+          activeName:this.activeName,
         },
       });
     },
@@ -368,4 +412,8 @@ export default {
 };
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+::v-deep .long  .el-input__inner {
+  width: 199px;
+}
+</style>

+ 19 - 3
src/views/page/orderManage-sup/purOrderConfirmed/confirmDetail.vue

@@ -86,20 +86,33 @@
           <el-table-column fixed type="index" label="序号" width="60" />
           <el-table-column label="耗材编码" prop="materialId" />
           <el-table-column label="医保编码" prop="ybbm" />
-          <el-table-column label="耗材名称" prop="materialName" width="300">
+          <el-table-column label="耗材名称" width="300">
+            <template slot-scope="scope">
+                <mcs-info :info="scope.row"></mcs-info>
+            </template>
           </el-table-column>
           <el-table-column label="商品类别" prop="prodType" />
           <el-table-column label="规格" prop="spec" />
           <el-table-column label="型号" prop="model" />
           <el-table-column label="材质" prop="matl" />
+          <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '1'">否</span>
+              <span v-if="row.isFas == '0'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="计价单位" prop="matl" />
+          <el-table-column label="采购单位" prop="prcUnt" />
+          <el-table-column label="包装内数量" prop="convart" />
           <el-table-column label="生产来源" prop="matl" />
           <el-table-column label="注册证号" prop="approveNo" width="150" />
           <el-table-column label="生产企业" prop="factory" width="200" />
           <el-table-column label="采购数量" prop="purcCnt" />
           <el-table-column label="采购价" prop="purcPric" />
           <el-table-column label="总金额" prop="purcAmt" />
-          <el-table-column label="采购来源" prop="deptName" />
-          <el-table-column label="采购时间" prop="deptName" />
+          <el-table-column label="来源部门" prop="deptName" />
+          <el-table-column label="采购时间" prop="docmkDate" />
+
           <el-table-column label="订单发起人" prop="docmker" width="100" />
           <el-table-column label="备注" prop="memo" />
           <el-table-column label="驳回原因" prop="rejtRea" width="200">
@@ -166,12 +179,14 @@
 
 <script>
 import ylStep from "@/components/yl-step";
+import mcsInfo from "@/views/components/mcs-info.vue";
 import ylPagination from "@/components/yl-pagination";
 import { getMcsDetlList, acpMcsOrd } from "@/api/orderManage-sup/index";
 export default {
   components: {
     ylStep,
     ylPagination,
+    mcsInfo
   },
   data() {
     return {
@@ -303,6 +318,7 @@ export default {
     handleBack() {
       this.$router.push({
         name: "purOrderAccept",
+        query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
       });
     },
   },

+ 38 - 36
src/views/page/orderManage-sup/purOrderDelivery/deliveryDetail.vue

@@ -89,52 +89,51 @@
           <el-table-column fixed type="index" label="序号" width="60" />
           <el-table-column label="耗材编码" prop="materialId" />
           <el-table-column label="医保编码" prop="ybbm" />
-          <el-table-column label="耗材名称" prop="materialName" />
+          <el-table-column label="耗材名称" >
+            <template slot-scope="scope">
+                <mcs-info :info="scope.row"></mcs-info>
+            </template>
+          </el-table-column>
           <el-table-column label="商品类别" prop="prodType" />
           <el-table-column label="商品分类" prop="drugListId" />
           <el-table-column label="规格" prop="spec" />
           <el-table-column label="型号" prop="model" />
           <el-table-column label="材质" prop="matl" />
-          <!-- <el-table-column label="批次号" prop="lotNum" />
-                <el-table-column label="生产日期" prop="manuDate" />
-                <el-table-column label="有效期至" prop="prodExpy" /> -->
-          <el-table-column label="生产来源" prop="source" />
+          <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '1'">否</span>
+              <span v-if="row.isFas == '0'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="计价单位" prop="matl" />
+          <el-table-column label="采购单位" prop="prcUnt" />
+          <el-table-column label="包装内数量" prop="convart" />
+          <!-- <el-table-column label="生产来源" prop="source" />
           <el-table-column label="注册证号" prop="approveNo" />
           <el-table-column label="生产企业" prop="factory" />
-          <el-table-column label="单价" prop="purcPric" />
+          <el-table-column label="单价" prop="purcPric" /> -->
           <el-table-column label="需求数量" prop="purcCnt" />
           <el-table-column label="已出库数量" prop="delvCntYck" width="90px" />
           <el-table-column label="剩余出库量" prop="toDelvCnt" width="90px" />
-          <!-- <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> -->
-                <el-table-column label="出库数量" prop="delvCnt" width="150">
-                    <template slot-scope="scope">
-                        <el-form-item
-                            label-width="0"
-                            class="item"
-                            :prop="scope.$index + '.delvCnt'"
-                            :rules="[
-                            {
-                                required: true,
-                                pattern: /^[0-9]\d*$/,
-                                message: '请输入正整数',
-                                trigger: 'blur',
-                            },
-                            ]"
-                        >
-                            <el-input-number v-model="scope.row.delvCnt" controls-position="right" @change="updateNum(scope.row,scope.$index)" :min="0"></el-input-number>
-                         <!-- <el-input placeholder="请输入" v-model="scope.row.delvCnt" @change.stop.native="updateNum(scope.row,scope.$index)"></el-input> -->
-                        </el-form-item>
-                    </template>
-                </el-table-column>
+          <el-table-column label="出库数量" prop="delvCnt" width="150">
+              <template slot-scope="scope">
+                  <el-form-item
+                      label-width="0"
+                      class="item"
+                      :prop="scope.$index + '.delvCnt'"
+                      :rules="[
+                      {
+                          required: true,
+                          pattern: /^[0-9]\d*$/,
+                          message: '请输入正整数',
+                          trigger: 'blur',
+                      },
+                      ]"
+                  >
+                      <el-input-number v-model="scope.row.delvCnt" controls-position="right" @change="updateNum(scope.row,scope.$index)" :min="0"></el-input-number>
+                  </el-form-item>
+              </template>
+          </el-table-column>
           <el-table-column label="批号" prop="lotNum" width="120">
             <template slot-scope="scope">
               <el-form-item
@@ -533,6 +532,7 @@
 import ylStep from "@/components/yl-step";
 import ylPagination from "@/components/yl-pagination";
 import ylUpload from "@/components/yl-upload";
+import mcsInfo from "@/views/components/mcs-info.vue";
 import { countNumPrice, getTotalAmount } from "@/utils/utils";
 import moment from "moment";
 import {
@@ -548,6 +548,7 @@ export default {
     ylStep,
     ylPagination,
     ylUpload,
+    mcsInfo
   },
   data() {
     return {
@@ -1259,6 +1260,7 @@ export default {
     handleBack(){
       this.$router.push({
         name: "purOrderDelivery",
+        query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
       });
     }
   },

+ 93 - 13
src/views/page/orderManage-sup/purOrderDelivery/index.vue

@@ -52,7 +52,7 @@
                 </el-select>
             </el-form-item> -->
           <el-form-item>
-            <el-button type="primary" @click="getData('search')">查询 </el-button>
+            <el-button type="primary" @click="getOutboundData('search')">查询 </el-button>
             <el-button @click="reset">重置</el-button>
           </el-form-item>
         </el-form>
@@ -101,7 +101,7 @@
           :total="total"
           :page.sync="listQuery.current"
           :limit.sync="listQuery.size"
-          @pagination="getData"
+          @pagination="getOutboundData"
         />
       </el-tab-pane>
       <el-tab-pane label="已出库" name="second">
@@ -151,7 +151,7 @@
                 </el-select>
             </el-form-item> -->
           <el-form-item>
-            <el-button type="primary" @click="getDataC('search')">查询 </el-button>
+            <el-button type="primary" @click="getOutboundDataC('search')">查询 </el-button>
             <el-button @click="resetC">重置</el-button>
           </el-form-item>
         </el-form>
@@ -190,7 +190,7 @@
               <span v-if="row.delvOrdStas == 'P'">部分入库</span>
             </template>
           </el-table-column>
-          <el-table-column label="操作" width="100">
+          <el-table-column label="操作" width="100" fixed="right">
             <template slot-scope="scope">
               <el-button type="text" @click="handleDetailC(scope.row)">详情</el-button>
             </template>
@@ -202,7 +202,7 @@
           :total="totalC"
           :page.sync="listQueryC.current"
           :limit.sync="listQueryC.size"
-          @pagination="getDataC"
+          @pagination="getOutboundDataC"
         />
       </el-tab-pane>
     </el-tabs>
@@ -214,7 +214,8 @@
 import ylPagination from "@/components/yl-pagination";
 import {
   getMcsOrdDck,
-  getSplerMcsDelvOrdPage
+  getSplerMcsDelvOrdPage,
+  selectSpdList
 } from "@/api/orderManage-sup/index";
 export default {
   components: {
@@ -222,6 +223,13 @@ export default {
   },
   data() {
     return {
+      activeNametree:"org",
+      data:[],
+      spdId:null,
+      defaultProps: {
+        children: "children",
+        label: "spdName",
+      },
       activeName:"first",
       listQuery: {
         current: 1,
@@ -261,21 +269,70 @@ export default {
   },
   mounted() {
     this.getData();
+    if (this.$route.query.spdId && this.$route.query.activeName =='first') {
+      this.listQuery.spdId = this.$route.query.spdId;
+      getMcsOrdDck(this.listQuery)
+        .then((res) => {
+          this.list = res.data.records;
+          this.total = res.data.total;
+          this.listLoading = false;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    };
+    if (this.$route.query.spdId && this.$route.query.activeName =='second') {
+      this.activeName='second'
+      this.listQueryC.spdId = this.$route.query.spdId;
+      getSplerMcsDelvOrdPage(this.listQueryC)
+        .then((res) => {
+          this.listC = res.data.records;
+          this.totalC = res.data.total;
+          this.listLoading = false;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    };
   },
   methods: {
+    tabClick(tab) {
+      if (tab.label == "按机构") {
+        this.defaultProps.label = "spdName";
+      }
+      // else if(tab.label == "按分类"){
+      //     // this.getData4();
+      //     // this.defaultProps.label = 'orgGrpName'
+      //     // this.listQuery.type = 'grp';
+      // }
+    },
     handleClick(tab) {
       console.log(tab.name, "name");
       if (tab.name == "first") {
-        this.getData();
+        this.getOutboundData();
       } else {
-        this.getDataC();
+        this.getOutboundDataC();
       }
     },
+    // 获取医院列表
     getData(type) {
+      this.data = [];
+      selectSpdList()
+        .then((res) => {
+          this.listQuery.spdId = res.data[0].spdId;
+          this.listQueryC.spdId = res.data[0].spdId;
+          this.data = res.data;
+          console.log(this.data, "dadad");
+        })
+        .catch((err) => {
+        });
+    },
+    getOutboundData(type) {
       if (type == "search") {
         this.listQuery.current = 1;
       }
       this.listLoading = true;
+      this.listQuery.spdId=this.spdId
       this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
       this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
       getMcsOrdDck(this.listQuery)
@@ -288,9 +345,28 @@ export default {
           this.listLoading = false;
         });
     },
+    // 点击获取耗材列表
+    handleNodeClick(data) {
+      console.log(data, "data");
+      this.listLoading = true;
+      this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
+      this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
+      this.spdId = data.spdId;
+      this.listQuery.spdId = this.spdId;
+      getMcsOrdDck(this.listQuery)
+        .then((res) => {
+          this.list = res.data.records;
+          this.total = res.data.total;
+          this.listLoading = false;
+          console.log(res, "医院目录");
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    },
     reset() {
       this.$refs.queryForm.resetFields();
-      this.getData();
+      this.getOutboundData();
     },
     // 详情
     handleDetail(row) {
@@ -306,15 +382,18 @@ export default {
           docmker: row.docmker,
           docmkDate: row.docmkDate,
           stas: row.stas,
-          branchName:row.branchName
+          branchName:row.branchName,
+          spdId:this.spdId,
+          activeName:this.activeName,
         },
       });
     },
-    getDataC(type) {
+    getOutboundDataC(type) {
       if (type == "search") {
         this.listQueryC.current = 1;
       }
       this.listLoading = true;
+      this.listQueryC.spdId = this.spdId;
       this.listQueryC.docmkDateStart = this.listQueryC.docmkDate[0];
       this.listQueryC.docmkDateEnd = this.listQueryC.docmkDate[1];
       getSplerMcsDelvOrdPage(this.listQueryC)
@@ -329,11 +408,10 @@ export default {
     },
     resetC() {
       this.$refs.queryFormC.resetFields();
-      this.getDataC();
+      this.getOutboundDataC();
     },
     // 详情
     handleDetailC(row) {
-      console.log(row);
       this.$router.push({
         name: "alreadyDetail",
         query: {
@@ -346,6 +424,8 @@ export default {
           delvOrdStas: row.delvOrdStas,
           branchName:row.branchName,
           qtySum:row.qtySum,
+          spdId:this.spdId,
+          activeName:this.activeName,
         },
       });
     },

+ 391 - 0
src/views/page/orderManage-sup/purOrderDelivery/purchaseDetails.vue

@@ -0,0 +1,391 @@
+<template>
+  <!-- 采购明细出库 -->
+  <div>
+    <div class="common-card">
+      <el-form :model="listForm" ref="planForm" :inline="true">
+        <el-form-item label="随货同行单号" prop="aa" :rules="rules.required">
+          <el-input v-model="listForm.aa" placeholder="请输入随货同行单号"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="getDetails('search')"
+            >提取采购明细
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="common-card">
+      <el-form :model="tableData" ref="tabledata">
+        <el-table
+          :data="tableData"
+          v-loading="loding"
+          element-loading-text="加载中..."
+          border
+          :span-method="handleSpan"
+        >
+          <template slot="empty">
+            <img src="@/assets/nopage.png" alt />
+            <p>暂无数据</p>
+          </template>
+          <el-table-column fixed type="index" label="序号" width="60" />
+          <el-table-column label="耗材编码" prop="materialId" />
+          <el-table-column label="医保编码" prop="ybbm" />
+          <el-table-column label="耗材名称" prop="materialName" />
+          <el-table-column label="商品类别" prop="prodType" />
+          <el-table-column label="商品分类" prop="drugListId" />
+          <el-table-column label="规格" prop="spec" />
+          <el-table-column label="型号" prop="model" />
+          <el-table-column label="材质" prop="matl" />
+          <el-table-column label="生产来源" prop="source" />
+          <el-table-column label="注册证号" prop="approveNo" />
+          <el-table-column label="生产企业" prop="factory" />
+          <el-table-column label="单价" prop="purcPric" />
+          <el-table-column label="需求数量" prop="purcCnt" />
+          <el-table-column label="已出库数量" prop="delvCntYck" width="90px" />
+          <el-table-column label="剩余出库量" prop="toDelvCnt" width="90px" />
+          <el-table-column label="出库数量" prop="delvCnt" width="150">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.delvCnt'"
+                :rules="[
+                  {
+                    required: true,
+                    pattern: /^[0-9]\d*$/,
+                    message: '请输入正整数',
+                    trigger: 'blur',
+                  },
+                ]"
+              >
+                <el-input-number
+                  v-model="scope.row.delvCnt"
+                  controls-position="right"
+                  @change="updateNum(scope.row, scope.$index)"
+                  :min="0"
+                ></el-input-number>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="批号" prop="lotNum" width="120">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.lotNum'"
+                :rules="[
+                  {
+                    required: true,
+                    message: '请输入',
+                    trigger: 'blur',
+                  },
+                ]"
+              >
+                <el-input placeholder="请输入" v-model="scope.row.lotNum"></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="生产日期" prop="manuDate" width="220">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.manuDate'"
+                :rules="[
+                  {
+                    required: true,
+                    message: '请选择生产日期',
+                    trigger: 'change',
+                  },
+                ]"
+              >
+                <el-date-picker
+                  style="width: 100%"
+                  v-model="scope.row.manuDate"
+                  type="date"
+                  placeholder="请选择生产日期"
+                  value-format="yyyy-MM-dd"
+                />
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="有效期至" width="220" prop="prodExpy">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.prodExpy'"
+                :rules="[
+                  {
+                    required: true,
+                    message: '请选择有效期',
+                    trigger: 'change',
+                  },
+                ]"
+              >
+                <el-date-picker
+                  style="width: 100%"
+                  v-model="scope.row.prodExpy"
+                  type="date"
+                  placeholder="请选择有效期"
+                  value-format="yyyy-MM-dd"
+                />
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="报关单" prop="invoFileId" width="200">
+            <template slot-scope="scope">
+              <yl-upload
+                v-if="scope.row.source == '进口'"
+                :fileId="scope.row.invoFileId"
+                @getUpload="getUpload1"
+                urlName="acco"
+                :index="scope.$index"
+              >
+                <template v-slot:dec>只能上传pdf文件</template>
+              </yl-upload>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column label="随货单" prop="dyntFileId" width="200">
+            <template slot-scope="scope">
+                <yl-upload
+                :fileId="scope.row.dyntFileId"
+                @getUpload="getUpload"
+                urlName="acco"
+                :index="scope.$index"
+                >
+                <template v-slot:dec>只能上传pdf文件</template>
+                </yl-upload>
+            </template>
+          </el-table-column> -->
+          <el-table-column label="备注" prop="memo" width="120">
+            <template slot-scope="scope">
+              <el-form-item label-width="0" class="item">
+                <el-input placeholder="请输入" v-model="scope.row.memo"></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" fixed="right" label="操作" width="120">
+            <template slot-scope="scope">
+              <el-button
+                v-if="scope.row.showDeleteButton"
+                class="red"
+                type="text"
+                @click="handleDelete(scope.row, scope.$index)"
+                >删除</el-button
+              >
+              <el-button v-else type="text" @click="handleBatch(scope.row, scope.$index)"
+                >添加批次
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-form>
+    </div>
+    <el-dialog title="提取采购单" :visible.sync="dialog" width="70%">
+      <template>
+        <el-form
+          :model="listQuery"
+          ref="listQuery"
+          :inline="true"
+          label-width="90px"
+        >
+        <el-form-item size="mini" label="采购单号" prop="id" class="long">
+            <el-input v-model="listQuery.id" placeholder="请输入采购单号"></el-input>
+          </el-form-item>
+        <el-form-item size="mini" label="采购员" prop="docmker" class="long">
+            <el-input
+              v-model="listQuery.docmker"
+              placeholder="请输入采购员"
+            ></el-input>
+          </el-form-item>
+          <el-form-item size="mini" label="耗材名称" prop="prodName" class="long">
+            <el-input
+              v-model="listQuery.prodName"
+              placeholder="请输入耗材名称"
+            ></el-input>
+          </el-form-item>
+          <el-form-item size="mini" label="医保编码" prop="hiCode" class="long">
+            <el-input
+              v-model="listQuery.hiCode"
+              placeholder="请输入医保编码"
+            ></el-input>
+          </el-form-item>
+          
+         
+          <el-form-item>
+            <el-button type="primary" @click="getdialog('search')">查询</el-button>
+            <el-button @click="resetdialog('consumableData')">重置</el-button>
+          </el-form-item>
+        </el-form>
+        <el-table
+          ref="multipleTable"
+          v-loading="listdialogLoading"
+          element-loading-text="加载中"
+          fit
+          stripe
+          border
+          :data="consumableData"
+          border
+          style="width: 100%"
+          row-key="id"
+          height="500"
+          @selection-change="handleSelectionChange"
+          highlight-current-row
+        >
+          <el-table-column
+            type="selection"
+            :selectable="selected"
+            :reserve-selection="true"
+            width="55"
+          ></el-table-column>
+          <el-table-column prop="hiCode" label="医保编码"> </el-table-column>
+          <el-table-column prop="prodName" label="耗材名称" width="180">
+          </el-table-column>
+          <el-table-column prop="pubonlnPric" label="挂网价格"> </el-table-column>
+          <el-table-column prop="isFas" label="是否集采">
+            <template #default="{ row }">
+              <span v-if="row.isFas == '1'">否</span>
+              <span v-if="row.isFas == '0'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="fasBtch" label="集采批次"> </el-table-column>
+          <!-- <el-table-column prop="splb" label="商品类别">
+            </el-table-column>
+            <el-table-column prop="spfl" label="商品分类">
+            </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>
+          <el-table-column prop="pacmatl" label="包装材质"> </el-table-column>
+          <el-table-column prop="prodSouc" label="生产来源">
+            <template #default="{ row }">
+              <span v-if="row.prodSouc == '1'">国产</span>
+              <span v-if="row.prodSouc == '0'">进口</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="regcertno" label="注册证号"> </el-table-column>
+          <el-table-column prop="prodEntp" label="生产企业" width="120">
+          </el-table-column>
+          <el-table-column prop="agnt" label="代理企业" width="150"> </el-table-column>
+        </el-table>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="handleConfirm">确认</el-button
+          >
+        </div>
+        <!--分页-->
+        <yl-pagination
+          v-show="totalC > 0"
+          :total="totalC"
+          :page.sync="listQuery.current"
+          :limit.sync="listQuery.size"
+          @pagination="getdialog"
+        />
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import rules from "@/utils/rules";
+export default {
+  data() {
+    return {
+      rules,
+      listForm: {
+        aa: "",
+      },
+      planForm:{},
+    // 表格数据
+      loding:false,
+      tableData:[],
+    // 弹框表格数据
+      dialog:false,
+      listQuery:{
+        hiCode:"",
+        prodName:"",
+        id:"",
+        docmker:"",
+      },
+      consumableData:[]
+    };
+  },
+  methods: {
+    getDetails() {
+      this.$refs["planForm"].validate((valid) => {
+        if (valid) {
+            this.dialog=true;
+        //   this.$confirm("确认提交", "提示", {
+        //     confirmButtonText: "确定",
+        //     cancelButtonText: "取消",
+        //     type: "warning",
+        //   }).then(() => {
+
+        //   });
+        }
+        // else{
+            // this.$message.warning("请输入随货同行单号")
+        // }
+      });
+    },
+     // 合并列
+    handleSpan({ row, column, rowIndex, columnIndex }) {
+      if (
+        columnIndex === 1 ||
+        columnIndex === 2 ||
+        columnIndex === 3 ||
+        columnIndex === 4 ||
+        columnIndex === 5 ||
+        columnIndex === 6 ||
+        columnIndex === 7 ||
+        columnIndex === 8 ||
+        columnIndex === 9 ||
+        columnIndex === 10 ||
+        columnIndex === 11 ||
+        columnIndex === 12 ||
+        columnIndex === 13 ||
+        columnIndex === 14 
+      ) {
+        // console.log("单元格数组,若下一项为0,则代表合并上一项", this.cellList);
+        const rowCell = this.cellList[rowIndex];
+        if (rowCell > 0) {
+          const colCell = 1;
+          // console.log(`动态竖向合并单元格, 第${colCell}列,竖向合并${rowCell}个单元格 `);
+          return {
+            rowspan: rowCell,
+            colspan: colCell,
+          };
+        } else {
+          // 清除原有的单元格,必须要加,否则就会出现单元格会被横着挤到后面了!!!
+          // 本例中数据是写死的不会出现,数据若是动态后端获取的,就会出现了!!!
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
+        }
+      }
+
+      // if (columnIndex === 2 && rowIndex == 0) {
+      //     return {
+      //         rowspan: this.pos,
+      //         colspan: 1
+      //     };
+      // }else{
+      //     for(let i=1;i<this.pos;i++){
+      //         if(rowIndex === this.pos-i && columnIndex == 2){
+      //             return {
+      //                 rowspan: 0,
+      //                 colspan: 0
+      //             };
+      //         }
+      //     }
+      // }
+    },
+    //弹框选择
+    handleSelectionChange(){
+        
+    }
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>