Selaa lähdekoodia

耗材目录管理页面修改

liumy 1 vuosi sitten
vanhempi
commit
c9725ef8d2

+ 9 - 1
src/router/modules/consumcata.js

@@ -17,7 +17,15 @@ const consumRouter = {
         name: "catalogdetails",
         meta: { title: "耗材目录详情", icon: "" },
         hidden: true
-      },
+    },
+    {
+      // 
+      path: "catalogdetailsadd",
+        component: () => import("@/views/page/consumCataManage-sup/catalogdetailsadd.vue"),
+        name: "catalogdetailsadd",
+        meta: { title: "非挂网目录新增", icon: "" },
+        hidden: true
+    }
   ]
 };
 

+ 6 - 0
src/styles/global.scss

@@ -541,4 +541,10 @@ a {
   }
 }
 
+// 耗材信息三行显示公共样式
+.mcs-name {
+ white-space: nowrap; 
+ line-height: 16px;
+}
+
 // -----------------------------------结束------------------------------------

+ 14 - 0
src/utils/rules.js

@@ -106,6 +106,20 @@ export default {
       trigger: "blur",
     },
   ],
+  numPotNo:[
+    {
+      pattern:/^(0\.\d{0,1}[1-9]|\+?[1-9][0-9]{0,3})(\.\d{1,4})?$/,
+      message: "请输入正数,最多4位小数",
+      trigger: "blur",
+    }
+  ],
+  InterEng:[
+    {
+      pattern:/^[a-zA-Z\s]+$/,
+      message: "只包含英文字母和空格",
+      trigger: "blur",
+    }
+  ],
   numPot2: [{ required: true, validator: checkNumPot2, trigger: "blur" }],
   numPot4: [{ required: true, validator: checkNumPot4, trigger: "blur" }],
   InterNum: [{ required: true, validator: checkInterNum, trigger: "blur" }],

+ 47 - 0
src/views/components/mcs-info.vue

@@ -0,0 +1,47 @@
+<template>
+  <div class="mcs-name">
+    <span v-if="info.prodName">{{ info.prodName }}</span>
+    <el-tag v-if="info.mcsType == '0'" > 普通耗材 </el-tag>
+    <el-tag v-if="info.mcsType == '1'" > 高值耗材 </el-tag>
+    <el-tag v-if="info.mcsType == '2'" > 试剂 </el-tag>
+    <br />
+
+    注册证号:
+    <span v-if="info.regcertno"> {{ info.regcertno }} </span>
+
+    <br />
+
+    生产企业:
+    <span v-if="info.prodEntp">
+      {{ info.prodEntp }}
+    </span>
+    <el-tag v-if="info.prodSouc == '1'" type="success"> 国产 </el-tag>
+    <el-tag v-if="info.prodSouc == '2'" type="danger"> 进口 </el-tag>
+
+    <br />
+
+    带量批次:
+    <el-tag v-if="info.fasBtch">
+      {{ info.fasBtch }}
+    </el-tag>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "mcsInfo",
+  props: {
+    info: {
+      type: Object,
+      default: null
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {}
+};
+</script>
+
+<style>
+</style>

+ 54 - 85
src/views/page/consumCataManage-sup/catalogdetails.vue

@@ -23,7 +23,7 @@
           <div class="flex-css">
             <el-form-item label="耗材名称" prop="prodName">
               <el-input
-                readonly
+                :disabled="isShow"
                 v-model="infoData.prodName"
                 placeholder="请输入耗材名称"
               ></el-input>
@@ -34,7 +34,7 @@
                 placeholder="请输入通用名称"
               ></el-input>
             </el-form-item>
-            <el-form-item label="英文名称" prop="engName">
+            <el-form-item label="英文名称" prop="engName" :rules="rules.InterEng">
               <el-input
                 v-model="infoData.engName"
                 placeholder="请输入英文名称"
@@ -61,7 +61,7 @@
             </el-form-item>
             <el-form-item label="生产企业" prop="prodEntp">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.prodEntp"
                 placeholder="请输入生产企业"
               ></el-input>
@@ -70,14 +70,14 @@
           <div class="flex-css">
             <el-form-item label="代理企业" prop="agnt">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.agnt"
                 placeholder="请输入代理企业"
               ></el-input>
             </el-form-item>
             <el-form-item label="挂网价格" prop="pubonlnPric">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.pubonlnPric"
                 placeholder="请输入挂网价格"
               ></el-input>
@@ -86,7 +86,7 @@
             <el-form-item label="规格" prop="spec" >
               <el-input
                 v-model="infoData.spec"
-                readonly
+                :disabled="isShow"
                 placeholder="请输入规格"
               ></el-input>
             </el-form-item>
@@ -95,20 +95,20 @@
             <el-form-item label="型号" prop="mol">
               <el-input
                 v-model="infoData.mol"
-                readonly
+                :disabled="isShow"
                 placeholder="请输入型号"
               ></el-input>
             </el-form-item>
             <el-form-item label="材质" prop="matl">
               <el-input
                 v-model="infoData.matl"
-                readonly
+                :disabled="isShow"
                 placeholder="请输入材质"
               ></el-input>
             </el-form-item>
             <el-form-item label="包装材质" prop="pacmatl">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.pacmatl"
                 placeholder="请输入包装材质"
               ></el-input>
@@ -117,11 +117,31 @@
           <div class="flex-css">
             <el-form-item label="注册证号" prop="regcertno">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.regcertno"
                 placeholder="请输入注册证号"
               ></el-input>
             </el-form-item>
+            <el-form-item label="目录来源" prop="isPub">
+              <el-select
+                v-model="infoData.isPub"
+                placeholder="请选择目录来源"
+                clearable
+                disabled
+              >
+                <el-option
+                  v-for="item in isPubData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="  " prop="regcertno">
+              <el-input
+                :disabled="isShow"
+              ></el-input>
+            </el-form-item>
           </div>
         </div>
       </div>
@@ -158,7 +178,7 @@
                 v-model="infoData.isFas"
                 placeholder="请选择是否集采"
                 clearable
-                disabled
+                :disabled="isShow"
               >
                 <el-option
                   v-for="item in iFjcData"
@@ -172,7 +192,7 @@
           <div class="flex-css">
             <el-form-item label="集采批次" prop="fasBtch">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.fasBtch"
                 placeholder="请输入集采批次"
               ></el-input>
@@ -206,7 +226,7 @@
           <div class="flex-css">
             <el-form-item label="医保编码" prop="hiCode">
               <el-input
-                readonly
+              :disabled="isShow"
                 v-model="infoData.hiCode"
                 placeholder="请输入医保编码"
               ></el-input>
@@ -224,7 +244,7 @@
                 placeholder="请输入最小单位"
               ></el-input>
             </el-form-item>
-            <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot2">
+            <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot4">
               <el-input v-model="infoData.purcPric" placeholder="请输入采购价"></el-input>
             </el-form-item>
           </div>
@@ -414,10 +434,10 @@
             <el-form-item label="是否灭菌" prop="isStlz" :rules="rules.selectRequired">
               <el-select v-model="infoData.isStlz" placeholder="请选择是否灭菌" clearable>
                 <el-option
-                  v-for="item in iFjcData"
+                  v-for="item in isStlzdata"
                   :key="item.value"
                   :label="item.name"
-                  :value="item.value"
+                  :value="item.name"
                 ></el-option>
               </el-select>
             </el-form-item>
@@ -476,8 +496,18 @@ export default {
         { value: "2℃-8℃", name: "2℃-8℃" },
         { value: "-10℃-2℃", name: "-10℃-2℃" },
       ],
+      isStlzdata: [
+        { value: "灭菌", name: "灭菌" },
+        { value: "非灭菌", name: "非灭菌" },
+      ],
+      isPubData: [
+        { value: "0", name: "挂网" },
+        { value: "1", name: "非挂网" },
+      ],
       btnShow: true,
       reaDiv:false,
+      // 禁用
+      isShow:true,
     };
   },
   created() {
@@ -489,7 +519,11 @@ export default {
     }else if(this.$route.query.status=="D"){
       this.reaDiv = true
     }
-    
+    if(this.$route.query.isPub=='1'){
+      this.isShow =false
+    }else{
+      this.isShow =true
+    }
     this.getData();
   },
   methods: {
@@ -512,74 +546,6 @@ export default {
           this.$message.error("获取数据失败");
         });
     },
-    // 新增
-    handleAddOrEdit(type, row, index) {
-      if (type === "update") {
-        this.temp = {
-          index: index,
-          quaName: row.quaName,
-          quaCode: row.quaCode,
-          issuDate: row.issuDate,
-          endDate: row.endDate,
-          fileId: row.fileId,
-          type: "updt",
-        };
-      } else {
-        this.temp = {
-          quaName: "",
-          quaCode: "",
-          issuDate: "",
-          endDate: "",
-          fileId: "",
-          type: "add",
-        };
-      }
-
-      this.dialogStatus = type;
-      this.dialogFormVisible = true;
-      this.$nextTick(() => {
-        this.$refs["dataForm"].clearValidate();
-      });
-    },
-
-    //添加提交
-    commitData() {
-      if (this.temp.issuDate > this.temp.endDate) {
-        this.$message({
-          message: "发证日期不能大于截止日期",
-          type: "warning",
-        });
-        return false;
-      }
-      if (this.temp.type === "add") {
-        let flag = false;
-        if (this.infoData && this.infoData.quaList && this.infoData.quaList.length > 0) {
-          this.infoData.quaList.forEach((item) => {
-            if (item.quaCode === this.temp.quaCode) {
-              flag = true;
-            }
-          });
-          if (flag) {
-            this.$message({
-              message: "证书编码不能为空且不能重复",
-              type: "warning",
-            });
-            return false;
-          }
-        }
-      }
-
-      this.$refs["dataForm"].validate((valid) => {
-        if (valid) {
-          if (this.temp.type === "add") {
-            this.infoData.quaList.push(this.temp);
-          } else {
-            this.$set(this.infoData.quaList, this.temp.index, this.temp);
-          }
-          this.dialogFormVisible = false;
-        }
-      });
-    },
 
     // 信息保存
     handleSave() {
@@ -592,6 +558,7 @@ export default {
       })
         .then(() => {
           this.saveLoad = true;
+          this.infoData.isPub=this.$route.query.isPub,
           this.infoData.status = "A";
           insertSplerMcsList(this.infoData)
             .then((response) => {
@@ -621,6 +588,7 @@ export default {
           })
             .then(() => {
               this.submitLoad = true;
+              this.infoData.isPub=this.$route.query.isPub,
               this.infoData.status = "B";
               insertSplerMcsList(this.infoData)
                 .then((response) => {
@@ -631,6 +599,7 @@ export default {
                   this.submitLoad = false;
                   this.$router.push({
                     name: "consumCataManagement-sup",
+                    query:{spdId:this.$route.query.spdId}
                   });
                 })
                 .catch(() => {

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

@@ -0,0 +1,579 @@
+<template>
+  <!-- 非挂网目录新增 -->
+  <div>
+    <el-form :model="infoData" ref="planForm" label-width="150px" class="grid-form-class">
+      <div class="common-card">
+        <h3>商品基本资料</h3>
+        <!-- <div class="right-type" style="color: #3c64dc; font-weight: 800">
+          {{ $store.state.user.username }}
+        </div> -->
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="耗材名称" prop="prodName" :rules="rules.required">
+              <el-input
+                v-model="infoData.prodName"
+                placeholder="请输入耗材名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="通用名称" prop="genName" :rules="rules.required">
+              <el-input
+                v-model="infoData.genName"
+                placeholder="请输入通用名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="英文名称" prop="engName" :rules="rules.InterEng">
+              <el-input
+                v-model="infoData.engName"
+                placeholder="请输入英文名称"
+              ></el-input>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="品牌" prop="brad">
+              <el-input v-model="infoData.brad" placeholder="请输入品牌"></el-input>
+            </el-form-item>
+            <el-form-item label="生产来源" prop="prodSouc" :rules="rules.selectRequired">
+              <el-select
+                v-model="infoData.prodSouc"
+                placeholder="请选择生产来源"
+                clearable
+              >
+                <el-option
+                  v-for="item in sourceData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="生产企业" prop="prodEntp" :rules="rules.required">
+              <el-input
+                v-model="infoData.prodEntp"
+                placeholder="请输入生产企业"
+              ></el-input>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="代理企业" prop="agnt" :rules="rules.required">
+              <el-input
+                v-model="infoData.agnt"
+                placeholder="请输入代理企业"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="挂网价格" prop="pubonlnPric" :rules="rules.numPotNo">
+              <el-input
+                v-model="infoData.pubonlnPric"
+                placeholder="请输入挂网价格"
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item label="规格" prop="spec" :rules="rules.required">
+              <el-input
+                v-model="infoData.spec"
+                placeholder="请输入规格"
+              ></el-input>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="型号" prop="mol" :rules="rules.required">
+              <el-input
+                v-model="infoData.mol"
+                placeholder="请输入型号"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="材质" prop="matl" :rules="rules.required">
+              <el-input
+                v-model="infoData.matl"
+                placeholder="请输入材质"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="包装材质" prop="pacmatl" :rules="rules.required">
+              <el-input
+                v-model="infoData.pacmatl"
+                placeholder="请输入包装材质"
+              ></el-input>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="注册证号" prop="regcertno" :rules="rules.required">
+              <el-input
+                v-model="infoData.regcertno"
+                placeholder="请输入注册证号"
+              ></el-input>
+            </el-form-item>
+          </div>
+        </div>
+      </div>
+      <div class="common-card">
+        <h3>商品属性资料</h3>
+        <div class="form-body">
+          <div class="flex-css">
+            <!-- <el-form-item label="商品大类" prop="prodType" :rules="rules.required">
+              <el-select v-model="infoData.prodType" placeholder="请选择商品大类" clearable>
+                <el-option
+                  v-for="item in prodTypeData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item> -->
+            <el-form-item label="耗材类别" prop="mcsType" :rules="rules.selectRequired">
+              <el-select
+                v-model="infoData.mcsType"
+                placeholder="请选择耗材类别"
+                clearable
+              >
+                <el-option
+                  v-for="item in mcsTypeData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="是否集采" prop="isFas" :rules="rules.selectRequired">
+              <el-select
+                v-model="infoData.isFas"
+                placeholder="请选择是否集采"
+                clearable
+              >
+                <el-option
+                  v-for="item in iFjcData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="集采批次" prop="fasBtch">
+              <el-input
+                v-model="infoData.fasBtch"
+                placeholder="请输入集采批次"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="是否寄售" prop="isCgmt" :rules="rules.selectRequired">
+              <el-select v-model="infoData.isCgmt" placeholder="请选择是否寄售" clearable>
+                <el-option
+                  v-for="item in iFjcData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <!-- <el-form-item label="是否十八项重点耗材" prop="isEm" :rules="rules.selectRequired">
+              <el-select v-model="infoData.isEm" placeholder="请选择是否十八项重点耗材" clearable>
+                <el-option
+                  v-for="item in iFjcData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item> -->
+          </div>
+        </div>
+      </div>
+      <div class="common-card">
+        <h3>耗材编码资料</h3>
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="医保编码" prop="hiCode" :rules="rules.required">
+              <el-input
+                v-model="infoData.hiCode"
+                placeholder="请输入医保编码"
+              ></el-input>
+            </el-form-item>
+          </div>
+        </div>
+      </div>
+      <div class="common-card">
+        <h3>商品包装资料</h3>
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="最小单位" prop="purcUnt" :rules="rules.InterChina">
+              <el-input
+                v-model="infoData.purcUnt"
+                placeholder="请输入最小单位"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot4">
+              <el-input v-model="infoData.purcPric" placeholder="请输入采购价"></el-input>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="采购单位" prop="prcUnt" :rules="rules.InterChina">
+              <el-input v-model="infoData.prcUnt" placeholder="请输入采购单位"></el-input>
+            </el-form-item>
+            <el-form-item label="包装内数量" prop="convrat" :rules="rules.InterNum">
+              <template slot-scope="{}" slot="label">
+                <span>包装内数量</span>
+                <el-tooltip class="item" effect="dark" placement="top">
+                  <i
+                    class="el-icon-question"
+                    style="font-size: 14px; vertical-align: middle"
+                  ></i>
+                  <div slot="content">包含最小单位的数量</div>
+                </el-tooltip>
+              </template>
+              <template>
+                <el-input
+                  v-model="infoData.convrat"
+                  placeholder="请输入包装内数量"
+                ></el-input>
+              </template>
+            </el-form-item>
+          </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">
+          <div class="flex-css">
+            <el-form-item label="存储方式" prop="stogType" :rules="rules.selectRequired">
+              <el-select v-model="infoData.stogType" placeholder="请选择存储方式" clearable>
+                <el-option
+                  v-for="item in stogTypeData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="存储温度" prop="stogTemp" :rules="rules.selectRequired">
+              <el-select v-model="infoData.stogTemp" placeholder="请选择存储温度" clearable>
+                <el-option
+                  v-for="item in stogTempData"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="是否灭菌" prop="isStlz" :rules="rules.selectRequired">
+              <el-select v-model="infoData.isStlz" placeholder="请选择是否灭菌" clearable>
+                <el-option
+                  v-for="item in isStlzdata"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </div>
+        </div>
+      </div>
+    </el-form>
+    <div class="foot-button" v-if="btnShow">
+      <el-button type="success" @click="handleSave" :loading="saveLoad">保存</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitLoad"
+        >提交</el-button
+      >
+    </div>
+  </div>
+</template>
+
+<script>
+import ylStep from "@/components/yl-step";
+import ylUpload from "@/components/yl-upload";
+import { selectMcsListById, insertSplerMcsList } from "@/api/consumCataManage-sup/index";
+import rules from "@/utils/rules";
+export default {
+  components: { ylUpload, ylStep },
+  data() {
+    return {
+      saveLoad: false,
+      submitLoad: false,
+      rules,
+      infoData: { 
+        spdId: "",
+        materialId: "",
+        prodName: "",
+        hiCode: "",
+        isFas: "",
+        fasBtch: "",
+        spec: "",
+        mol: "",
+        matl: "",
+        pacmatl: "",
+        prodSouc: "",
+        regcertno: "",
+        prodentpCode: null,
+        prodEntp: "",
+        purcPric: null,
+        status:"",
+        isPub:"1",
+       },
+      listLoading: false,
+      planForm: {},
+      sourceData: [
+        { value: "1", name: "国产" },
+        { value: "2", name: "进口" },
+      ],
+      iFjcData: [
+        { value: "0", name: "是" },
+        { value: "1", name: "否" },
+      ],
+      mcsTypeData: [
+        { value: "0", name: "普通耗材" },
+        { value: "1", name: "高值耗材" },
+        { value: "2", name: "试剂" },
+      ],
+      prodTypeData: [
+        { value: "0", name: "医用耗材" },
+        { value: "1", name: "办公用品" },
+      ],
+      stogTypeData: [
+        { value: "常温", name: "常温" },
+        { value: "冷藏", name: "冷藏" },
+        { value: "冷冻", name: "冷冻" },
+      ],
+      stogTempData: [
+        { value: "15℃-25℃", name: "15℃-25℃" },
+        { value: "2℃-8℃", name: "2℃-8℃" },
+        { value: "-10℃-2℃", name: "-10℃-2℃" },
+      ],
+      isStlzdata: [
+        { value: "灭菌", name: "灭菌" },
+        { value: "非灭菌", name: "非灭菌" },
+      ],
+      btnShow: true,
+      reaDiv:false,
+    };
+  },
+  created() {
+    // if (this.$route.query.status == "B") {
+    //   this.btnShow = false;
+    // }else if(this.$route.query.status=="D"){
+    //   this.reaDiv = true
+    // }
+    // this.getData()
+  },
+  methods: {
+    getUpload(id) {
+      this.temp.fileId = id;
+      if (id) {
+        this.$refs.dataForm.clearValidate("fileId");
+      } else {
+        this.$refs.dataForm.validateField("fileId");
+      }
+    },
+    // 信息保存
+    handleSave() {
+      // this.$refs["planForm"].validate((valid) => {
+      // if (valid) {
+      this.$confirm("确认保存", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.saveLoad = true;
+          this.infoData.spdId = this.$route.query.spdId;
+          this.infoData.status = "A";
+          insertSplerMcsList(this.infoData)
+            .then((response) => {
+              this.$message({
+                message: "保存成功",
+                type: "success",
+              });
+              this.saveLoad = false;
+            })
+            .catch(() => {
+              this.saveLoad = false;
+            });
+        })
+        .catch(() => {});
+      // }
+      // });
+    },
+
+    // 整体提交
+    handleSubmit() {
+      this.$refs["planForm"].validate((valid) => {
+        if (valid) {
+          this.$confirm("确认提交", "提示", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          })
+            .then(() => {
+              this.submitLoad = true;
+              this.infoData.status = "B";
+              insertSplerMcsList(this.infoData)
+                .then((response) => {
+                  this.$message({
+                    message: "提交成功",
+                    type: "success",
+                  });
+                  this.submitLoad = false;
+                  this.$router.push({
+                    name: "consumCataManagement-sup",
+                    query:{spdId:this.$route.query.spdId}
+                  });
+                })
+                .catch(() => {
+                  this.submitLoad = false;
+                });
+            })
+            .catch(() => {});
+        }
+      });
+    },
+
+    // getData() {
+    //   selectMcsListById({ id: this.$route.query.id })
+    //     .then((response) => {
+    //       this.infoData = response.data;
+    //       this.$refs['planForm'].resetFields();
+    //     })
+    //     .catch((err) => {
+    //       this.$message.error("获取数据失败");
+    //     });
+    // },
+  },
+};
+</script>
+
+<style scoped lang="scss">
+// ::v-deep .el-input__inner {
+// width: 300px;
+// }
+</style>

+ 141 - 112
src/views/page/consumCataManage-sup/index.vue

@@ -1,10 +1,10 @@
 <template>
   <!-- 配送目录管理 -->
   <div style="display: flex">
-    <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+    <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,11 +12,11 @@
         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-form :model="listQuery" ref="listQuery" :inline="true" label-width="150px">
+      <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"
@@ -27,11 +27,18 @@
           <el-input v-model="listQuery.hiCode" placeholder="请输入医保编码"></el-input>
         </el-form-item>
         <el-form-item label="耗材名称" prop="prodName" class="long">
-          <el-input
-            v-model="listQuery.prodName"
-            placeholder="请输入耗材名称"
-          ></el-input>
+          <el-input v-model="listQuery.prodName" placeholder="请输入耗材名称"></el-input>
+        </el-form-item>
+        <el-form-item label="规格" prop="spec" class="long">
+          <el-input v-model="listQuery.spec" placeholder="请输入规格"></el-input>
+        </el-form-item>
+        <el-form-item label="型号" prop="mol" class="long">
+          <el-input v-model="listQuery.mol" placeholder="请输入型号"></el-input>
+        </el-form-item>
+        <el-form-item label="生产企业" prop="prodEntp" class="long">
+          <el-input v-model="listQuery.prodEntp" placeholder="请输入生产企业"></el-input>
         </el-form-item>
+        
         <el-form-item label="是否集采" prop="isFas" class="long">
           <el-select v-model="listQuery.isFas" placeholder="请选择是否集采" clearable>
             <el-option
@@ -42,54 +49,47 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="集采批次" prop="fasBtch" class="long">
+        <!-- <el-form-item label="集采批次" prop="fasBtch" class="long">
           <el-input v-model="listQuery.fasBtch" placeholder="请输入集采批次"></el-input>
-          <!-- <el-select v-model="listQuery.fasBtch" placeholder="请选择集采批次" clearable>
+        </el-form-item> -->
+        <el-form-item label="耗材类别" prop="mcsType" class="long">
+          <el-select v-model="listQuery.mcsType" placeholder="请选择耗材类别" clearable>
             <el-option
-              v-for="item in isFasData"
+              v-for="item in mcsTypeData"
               :key="item.value"
               :label="item.name"
               :value="item.value"
             ></el-option>
-          </el-select> -->
+          </el-select>
         </el-form-item>
-        <el-form-item label="商品类别" prop="mcsType" class="long">
-          <el-select v-model="listQuery.mcsType" placeholder="请选择商品类别" clearable>
+        <el-form-item label="生产来源" prop="prodSouc" class="long">
+          <el-select v-model="listQuery.prodSouc" placeholder="请选择生产来源" clearable>
             <el-option
-              v-for="item in mcsTypeData"
+              v-for="item in SoucData"
               :key="item.value"
               :label="item.name"
               :value="item.value"
             ></el-option>
           </el-select>
         </el-form-item>
-
-        <el-form-item label="规格" prop="spec" class="long">
-          <el-input v-model="listQuery.spec" placeholder="请输入规格"></el-input>
-        </el-form-item>
-        <el-form-item label="型号" prop="mol" class="long">
-          <el-input v-model="listQuery.mol" placeholder="请输入型号"></el-input>
-        </el-form-item>
         <el-form-item label="材质" prop="matl" class="long">
           <el-input v-model="listQuery.matl" placeholder="请输入材质"></el-input>
         </el-form-item>
+        <el-form-item label="注册证号" prop="regcertno" class="long">
+          <el-input v-model="listQuery.regcertno" placeholder="请输入注册证号"></el-input>
+        </el-form-item>
 
-        <el-form-item label="生产来源" prop="prodSouc" class="long">
-          <el-select v-model="listQuery.prodSouc" placeholder="请选择生产来源" clearable>
+        <el-form-item label="目录来源" prop="isPub" class="long">
+          <el-select v-model="listQuery.isPub" placeholder="请选择目录来源" clearable>
             <el-option
-              v-for="item in SoucData"
+              v-for="item in isPubData"
               :key="item.value"
               :label="item.name"
               :value="item.value"
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="生产企业" prop="prodEntp" class="long">
-              <el-input
-                v-model="listQuery.prodEntp"
-                placeholder="请输入生产企业"
-              ></el-input>
-        </el-form-item>
+        
         <el-form-item label="当前状态" prop="status" class="long">
           <el-select v-model="listQuery.status" placeholder="请选择当前状态" clearable>
             <el-option
@@ -100,28 +100,21 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <!-- <el-form-item label="对码状态" prop="stas">
-          <el-select
-            v-model="listQuery.stas"
-            placeholder="请选择对码状态"
-            clearable
-          >
-            <el-option
-              v-for="item in crspFlgOption"
-              :key="item.value"
-              :label="item.name"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item> -->
-        <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-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">
         <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>
       <el-table
@@ -137,42 +130,40 @@
           <p>暂无数据</p>
         </template>
         <el-table-column fixed type="index" label="序号" width="60" />
-        <el-table-column label="耗材编码" prop="materialId" width="80" />
-        <el-table-column label="医保编码" prop="hiCode" width="80" />
-        <el-table-column label="耗材名称" prop="prodName" width="80" />
-        <el-table-column label="是否集采" prop="isFas" width="80">
-          <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="fasBtch" width="80" />
-        <el-table-column label="商品类别" prop="mcsType" width="80">
-          <template #default="{ row }">
-              <span v-if="row.mcsType == '0'">普通耗材</span>
-              <span v-if="row.mcsType == '1'">高值耗材</span>
-              <span v-if="row.mcsType == '2'">试剂</span>
-            </template>
+        <el-table-column label="耗材名称" min-width="340">
+          <template slot-scope="scope">
+             <mcs-info :info="scope.row"></mcs-info> 
+          </template>
         </el-table-column>
+        <el-table-column label="医保编码" prop="hiCode" width="80" />
         <el-table-column label="规格" prop="spec" width="80" />
         <el-table-column label="型号" prop="mol" width="80" />
         <el-table-column label="材质" prop="matl" width="80" />
-        <el-table-column label="生产来源" prop="prodSouc" width="80">
+        <el-table-column label="是否集采" prop="isFas" width="80">
           <template #default="{ row }">
-              <span v-if="row.prodSouc == '1'">国产</span>
-              <span v-if="row.prodSouc == '2'">进口</span>
-            </template>
+            <span v-if="row.isFas == '1'">否</span>
+            <span v-if="row.isFas == '0'">是</span>
+          </template>
         </el-table-column>
-        <el-table-column label="注册证号" prop="regcertno" width="80" />
-        <el-table-column label="生产企业" prop="prodEntp" width="80" />
+        <el-table-column label="采购单位" prop="prcUnt" width="80" />
         <el-table-column label="采购价" prop="purcPric" width="80" />
-        <el-table-column label="驳回原因" prop="rejtRea" width="80" />
+        <!-- <el-table-column label="驳回原因" prop="rejtRea" width="80" /> -->
+        <el-table-column label="目录来源" prop="isPub" width="80" fixed="right">
+          <template #default="{ row }">
+            <span v-if="row.isPub == '0'">挂网</span>
+            <span v-if="row.isPub == '1'">非挂网</span>
+          </template>
+        </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 == 'C'">审核通过</span>
-            </template>
+            <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'">驳回
+              <br>
+              {row.rejtRea}
+            </span>
+          </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" width="160">
           <template slot-scope="scope">
@@ -289,10 +280,17 @@
             ></el-input>
           </el-form-item> -->
           <el-form-item label="医保编码" prop="hiCode" class="long">
-            <el-input v-model="listQueryadd.hiCode" placeholder="请输入医保编码"></el-input>
+            <el-input
+              v-model="listQueryadd.hiCode"
+              placeholder="请输入医保编码"
+            ></el-input>
           </el-form-item>
           <el-form-item label="是否集采" prop="isFas" class="long">
-            <el-select v-model="listQueryadd.isFas" placeholder="请选择是否集采" clearable>
+            <el-select
+              v-model="listQueryadd.isFas"
+              placeholder="请选择是否集采"
+              clearable
+            >
               <el-option
                 v-for="item in isFasData"
                 :key="item.value"
@@ -331,7 +329,6 @@
           border
           style="width: 100%"
           row-key="id"
-
           @selection-change="handleSelectionChange"
           highlight-current-row
         >
@@ -346,7 +343,7 @@
           </el-table-column>
           <el-table-column prop="pubonlnPric" label="挂网价格" width="180">
           </el-table-column>
-          <el-table-column prop="isFas" label="是否集采" width="120"> 
+          <el-table-column prop="isFas" label="是否集采" width="120">
             <template #default="{ row }">
               <span v-if="row.isFas == '1'">否</span>
               <span v-if="row.isFas == '0'">是</span>
@@ -361,7 +358,7 @@
           <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="生产来源"> 
+          <el-table-column prop="prodSouc" label="生产来源">
             <template #default="{ row }">
               <span v-if="row.prodSouc == '1'">国产</span>
               <span v-if="row.prodSouc == '0'">进口</span>
@@ -370,8 +367,7 @@
           <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="180"> </el-table-column>
         </el-table>
         <div slot="footer" class="dialog-footer">
           <el-button type="primary" @click="handleConfirm" :loading="addLoading"
@@ -448,6 +444,7 @@
 
 <script>
 import ylPagination from "@/components/yl-pagination";
+import mcsInfo from "@/views/components/mcs-info.vue"
 import {
   selectSplerMcsList,
   selectMcsList,
@@ -458,7 +455,7 @@ import {
   QuerySplerDrugList,
   DrugMatch,
   CancMatch,
-  selectSpdList
+  selectSpdList,
 } from "@/api/consumCataManage-sup/index";
 import rulesR from "@/utils/rules";
 import ylUpload from "@/components/yl-upload";
@@ -466,6 +463,7 @@ export default {
   components: {
     ylPagination,
     ylUpload,
+    mcsInfo,
   },
   data() {
     return {
@@ -490,8 +488,10 @@ export default {
         mcsType: "",
         matl: "",
         prodEntp: "",
-        prodName:"",
+        prodName: "",
         status: "",
+        regcertno:"",
+        isPub:"",
       },
       listLoading: false,
       list: [],
@@ -507,7 +507,7 @@ export default {
         { value: "0", name: "是" },
         { value: "1", name: "否" },
       ],
-      mcsTypeData:[
+      mcsTypeData: [
         { value: "0", name: "普通耗材" },
         { value: "1", name: "高值耗材" },
         { value: "2", name: "试剂" },
@@ -516,11 +516,15 @@ export default {
         { value: "1", name: "国产" },
         { value: "0", name: "进口" },
       ],
-      statusData:[
-        {value:"A",name:"待审核"},
-        {value:"B",name:"审核中"},
-        {value:"C",name:"审核通过"},
-        {value:"R",name:"驳回"},
+      statusData: [
+        { value: "A", name: "待审核" },
+        { value: "B", name: "审核中" },
+        { value: "C", name: "审核通过" },
+        { value: "R", name: "驳回" },
+      ],
+      isPubData: [
+        { value: "0", name: "挂网" },
+        { value: "1", name: "非挂网" },
       ],
       dialogPrice: false,
       dialogDui: false,
@@ -622,19 +626,20 @@ export default {
       addLoading: false,
       insertMcsList: [],
       // tree
-      activeNametree:"org",
+      activeNametree: "org",
+      btnShow: false,
     };
   },
   methods: {
-    tabClick(tab){
-        if(tab.label == "按机构"){
-            this.defaultProps.label = 'hospName'
-        }
-        // else if(tab.label == "按分类"){
-        //     // this.getData4();
-        //     // this.defaultProps.label = 'orgGrpName'
-        //     // this.listQuery.type = 'grp';
-        // }
+    tabClick(tab) {
+      if (tab.label == "按机构") {
+        this.defaultProps.label = "spdName";
+      }
+      // else if(tab.label == "按分类"){
+      //     // this.getData4();
+      //     // this.defaultProps.label = 'orgGrpName'
+      //     // this.listQuery.type = 'grp';
+      // }
     },
     // 上传文件
     getUpload(id) {
@@ -665,6 +670,7 @@ export default {
         this.listQuery.current = 1;
       }
       this.listLoading = true;
+      // this.spdId = this.$route.query.spdId;
       this.listQuery.spdId = this.spdId;
       selectSplerMcsList(this.listQuery)
         .then((res) => {
@@ -687,7 +693,7 @@ export default {
         .then((res) => {
           this.consumableData = res.data.records;
           this.totalC = res.data.total;
-          this.listdialogLoading = false
+          this.listdialogLoading = false;
         })
         .catch((err) => {
           this.listdialogLoading = false;
@@ -695,7 +701,7 @@ export default {
     },
     // 点击获取医院药品列表
     handleNodeClick(data) {
-      console.log(data,"data")
+      console.log(data, "data");
       this.listLoading = true;
       this.spdId = data.spdId;
       this.listQuery.spdId = this.spdId;
@@ -705,6 +711,7 @@ export default {
           this.total = res.data.total;
           this.listLoading = false;
           console.log(res, "医院目录");
+          this.btnShow = true;
         })
         .catch((err) => {
           this.listLoading = false;
@@ -715,13 +722,13 @@ export default {
       this.data = [];
       this.listLoading = true;
       selectSpdList()
-        .then(res => {
+        .then((res) => {
           this.listQuery.spdId = res.data[0].spdId;
-          this.data = res.data
-          console.log(this.data,"dadad")
+          this.data = res.data;
+          console.log(this.data, "dadad");
           this.listLoading = false;
         })
-        .catch(err => {
+        .catch((err) => {
           this.listLoading = false;
         });
     },
@@ -796,10 +803,10 @@ export default {
                 this.getHospConsum();
                 this.insertMcsList = [];
                 this.dialogAdd = false;
-                this.$refs.multipleTable.clearSelection()
+                this.$refs.multipleTable.clearSelection();
               } else {
                 this.addLoading = false;
-                this.$refs.multipleTable.clearSelection()
+                this.$refs.multipleTable.clearSelection();
                 // this.$message({
                 //   message: res.message || "操作失败",
                 //   type: "error",
@@ -809,7 +816,7 @@ export default {
             .catch(() => {
               this.addLoading = false;
               this.dialogAdd = false;
-              this.$refs.multipleTable.clearSelection()
+              this.$refs.multipleTable.clearSelection();
             });
         });
       }
@@ -818,6 +825,14 @@ export default {
       // this.addLoading = false;
       // this.dialogAdd = false;
     },
+    // 非挂网目录新增
+    handleFadd() {
+      this.$router.push({
+        name: "catalogdetailsadd",
+        query: { spdId: this.spdId },
+      });
+    },
+
     // 申请调价
 
     handlePrice(row) {
@@ -866,7 +881,7 @@ export default {
       // console.log(row, "编辑");
       this.$router.push({
         name: "catalogdetails",
-        query: { id: row.id,status:row.status },
+        query: { id: row.id, status: row.status, spdId: row.spdId, isPub: row.isPub },
       });
       // this.dialogDui = true;
       // this.consumableData = [];
@@ -944,8 +959,22 @@ export default {
     },
   },
   mounted() {
-    this.getData()
+    this.getData();
     // this.getHospConsum();
+    if (this.$route.query.spdId) {
+      this.listQuery.spdId = this.$route.query.spdId;
+      selectSplerMcsList(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;
+        });
+    }
   },
 };
 </script>

+ 17 - 1
src/views/page/orderManage-sup/orthOpedicAccept/index.vue

@@ -1,6 +1,21 @@
 <template>
   <!-- 采购订单待确认 -->
-  <div class="common-box">
+  <div style="display:flex">
+  <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+      <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
+          <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+          <el-tab-pane label="按机构" name="org"></el-tab-pane>
+      </el-tabs>
+      <el-tree
+        :data="data"
+        :props="defaultProps"
+        node-key="spdId"
+        @node-click="handleNodeClick"
+        default-expand-all="true"
+        style="margin-top:10px;"
+      ></el-tree>
+    </el-card>
+  <div class="right-common-box">
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tab-pane label="待确认" name="first">
         <el-form :model="listQuery" ref="queryForm" :inline="true">
@@ -198,6 +213,7 @@
       </el-tab-pane>
     </el-tabs>
   </div>
+</div>
 </template>
 
 <script>

+ 285 - 18
src/views/page/orderManage-sup/orthOpedicDelivery/index.vue

@@ -1,48 +1,276 @@
 <template>
-  <!-- 采购订单待确认 -->
-  <div class="common-box">
-    
+  <!-- 骨科采购订单出库 -->
+  <div style="display:flex">
+  <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+      <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
+          <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+          <el-tab-pane label="按机构" name="org"></el-tab-pane>
+      </el-tabs>
+      <el-tree
+        :data="data"
+        :props="defaultProps"
+        node-key="spdId"
+        @node-click="handleNodeClick"
+        default-expand-all="true"
+        style="margin-top:10px;"
+      ></el-tree>
+    </el-card>
+  <div class="right-common-box">
+    <el-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="branchName">
+            <el-input v-model="listQuery.branchName" 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="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 @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="delvCnt" />
+          <el-table-column label="订单总金额" prop="purcAmt" />
+          <el-table-column label="医院名称" prop="branchName" />
+          <el-table-column label="部门名称" prop="deptName" />
+          <el-table-column label="采购员" prop="docmker" />
+          <el-table-column label="采购时间" prop="docmkDate" width="140" />
+          <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="queryFormC" :inline="true">
+          <el-form-item label="出库单号" prop="delvOrdId">
+            <el-input
+              v-model="listQueryC.delvOrdId"
+              placeholder="请输入出库单号"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="关联采购单" prop="purcOrdId">
+            <el-input
+              v-model="listQueryC.purcOrdId"
+              placeholder="请输入关联采购单"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="医院名称" prop="branchName">
+            <el-input
+              v-model="listQueryC.branchName"
+              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="purcOrdStas">
+                <el-select
+                    v-model="listQuery.purcOrdStas"
+                    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>
+          </el-form-item>
+        </el-form>
+        <el-table
+          v-loading="listLoading"
+          element-loading-text="加载中"
+          :data="listC"
+          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="delvOrdId" />
+          <el-table-column label="关联采购单" prop="purcOrdId" />
+          <el-table-column label="采购品种数" prop="detlCnt" />
+          <el-table-column label="采购总数量" prop="qtySum" />
+          <el-table-column label="本次出库量" prop="bcckl" />
+          <el-table-column label="客户验收数量" prop="shppCnt" width="80" />
+          <el-table-column label="剩余出库量" prop="toDelvCnt" />
+          <el-table-column label="医院名称" prop="branchName" />
+          <el-table-column label="部门名称" prop="deptName" />
+          <el-table-column label="出库员" prop="docmker" />
+          <el-table-column label="出库时间" prop="docmkDate" width="140" />
+          <el-table-column label="状态" prop="delvOrdStas" width="100">
+            <template #default="{ row }">
+              <span v-if="row.delvOrdStas == 'A'">未受理</span>
+              <span v-if="row.delvOrdStas == 'B'">已受理</span>
+              <span v-if="row.delvOrdStas == 'R'">被驳回</span>
+              <span v-if="row.delvOrdStas == 'C'">已出库</span>
+              <span v-if="row.delvOrdStas == 'D'">部分出库</span>
+              <span v-if="row.delvOrdStas == 'Y'">结束订单</span>
+              <span v-if="row.delvOrdStas == 'P'">部分入库</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" width="100">
+            <template slot-scope="scope">
+              <el-button type="text" @click="handleDetailC(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>
 </template>
 
 <script>
 import ylPagination from "@/components/yl-pagination";
-import { getMcsOrdPageYqrSpler } from "@/api/orderManage-sup/index";
+import {
+  getMcsOrdDck,
+  getSplerMcsDelvOrdPage
+} from "@/api/orderManage-sup/index";
 export default {
   components: {
     ylPagination,
   },
   data() {
     return {
+      activeName:"first",
       listQuery: {
         current: 1,
         size: 10,
         id: "",
-        deptName: "",
+        branchName:"",
         docmkDateStart: "",
         docmkDateEnd: "",
         docmkDate: [],
         stas: "",
       },
+      listQueryC: {
+        current: 1,
+        size: 10,
+        purcOrdId:"",
+        branchName:"",
+        docmkDate:"",
+        delvOrdId:"",
+        docmkDateEnd:"",
+        branchName:"",
+      },
       stasOptions: [
-        { value: "A", lable: "未受理" },
-        { value: "B", lable: "已受理" },
-        { value: "R", lable: "被驳回" },
+        // {value: 'A', lable: "未受理"},
+        { value: "B", lable: "未出库" },
+        // {value: 'R', lable: "被驳回"},
         { value: "C", lable: "已出库" },
         { value: "D", lable: "部分出库" },
-        { value: "Y", lable: "已入库" },
-        { value: "P", lable: "部分入库" },
+        // {value: 'Y', lable: "已入库"},
+        // {value: 'P', lable: "部分入库"}
       ],
-      options: [],
       listLoading: false,
       list: [],
+      listC:[],
       total: 0,
+      totalC:0,
     };
   },
   mounted() {
     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;
@@ -50,7 +278,7 @@ export default {
       this.listLoading = true;
       this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
       this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
-      getMcsOrdPageYqrSpler(this.listQuery)
+      getMcsOrdDck(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
@@ -59,9 +287,6 @@ export default {
         .catch((err) => {
           this.listLoading = false;
         });
-      // getMcsOrdPageYqrSpler().then(res =>{
-      // this.options = res.data
-      // })
     },
     reset() {
       this.$refs.queryForm.resetFields();
@@ -70,15 +295,57 @@ export default {
     // 详情
     handleDetail(row) {
       this.$router.push({
-        name: "confirmDetail",
+        name: "deliveryDetail",
         query: {
+          deptName:row.deptName,
+          deptId:row.deptId,
           id: row.id,
           detlCnt: row.detlCnt,
-          qtySum: row.qtySum,
-          purcAmt: row.purcAmt,
+          qtySum:row.qtySum,
+          purcAmt:row.purcAmt,
           docmker: row.docmker,
           docmkDate: row.docmkDate,
           stas: row.stas,
+          branchName:row.branchName
+        },
+      });
+    },
+    getDataC(type) {
+      if (type == "search") {
+        this.listQueryC.current = 1;
+      }
+      this.listLoading = true;
+      this.listQueryC.docmkDateStart = this.listQueryC.docmkDate[0];
+      this.listQueryC.docmkDateEnd = this.listQueryC.docmkDate[1];
+      getSplerMcsDelvOrdPage(this.listQueryC)
+        .then((res) => {
+          this.listC = res.data.records;
+          this.totalC = res.data.total;
+          this.listLoading = false;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    },
+    resetC() {
+      this.$refs.queryFormC.resetFields();
+      this.getDataC();
+    },
+    // 详情
+    handleDetailC(row) {
+      console.log(row);
+      this.$router.push({
+        name: "alreadyDetail",
+        query: {
+          delvOrdId: row.delvOrdId,
+          purcOrdId: row.purcOrdId,
+          detlCnt: row.detlCnt,
+          docmker: row.docmker,
+          deptName:row.deptName,
+          docmkDate: row.docmkDate,
+          delvOrdStas: row.delvOrdStas,
+          branchName:row.branchName,
+          qtySum:row.qtySum,
         },
       });
     },

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

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <!-- 采购订单受理待确认 -->
+    <!-- 采购订单受理待确认详情 -->
     <!-- <div class="common-card">
             <h3>订单状态</h3>
             <yl-step></yl-step>

+ 214 - 198
src/views/page/orderManage-sup/purOrderAccept/index.vue

@@ -1,207 +1,223 @@
 <template>
   <!-- 采购订单受理(待确认已确认) -->
-  <div class="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="branchName">
-            <el-input
-              v-model="listQuery.branchName"
-              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"
-                    :show-all-levels='false'
-                    :props="{ expandTrigger: 'hover', value:'orgId',label:'orgName',children:'child',checkStrictly:true,emitPath:false }"
-                    clearable
-                    @change="handleChange">
-                </el-cascader>
+  <div style="display:flex">
+    <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+      <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
+          <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+          <el-tab-pane label="按机构" name="org"></el-tab-pane>
+      </el-tabs>
+      <el-tree
+        :data="data"
+        :props="defaultProps"
+        node-key="spdId"
+        @node-click="handleNodeClick"
+        default-expand-all="true"
+        style="margin-top:10px;"
+      ></el-tree>
+    </el-card>
+    <div class="right-common-box">
+      <el-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="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 @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="branchName" />
-          <el-table-column label="部门名称" prop="deptName" />
-          <el-table-column label="采购员" prop="docmker" />
-          <el-table-column label="采购时间" prop="docmkDate" width="140" />
-          <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="queryFormC" :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="branchName">
-            <el-input
-              v-model="listQueryC.branchName"
-              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="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 label="医院名称" prop="branchName">
+              <el-input
+                v-model="listQuery.branchName"
+                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"
+                      :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 @click="reset">重置</el-button>
             </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>
-          </el-form-item>
-        </el-form>
-        <el-table
-          v-loading="listLoading"
-          element-loading-text="加载中"
-          :data="listC"
-          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="branchName" />
-          <el-table-column label="部门名称" prop="deptName" />
-          <el-table-column label="发起时间" prop="docmkDate" width="140" />
-          <el-table-column label="发起人" prop="docmker" />
-          <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="branchName" />
+            <el-table-column label="部门名称" prop="deptName" />
+            <el-table-column label="采购员" prop="docmker" />
+            <el-table-column label="采购时间" prop="docmkDate" width="140" />
+            <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="queryFormC" :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="branchName">
+              <el-input
+                v-model="listQueryC.branchName"
+                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="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>
+            </el-form-item>
+          </el-form>
+          <el-table
+            v-loading="listLoading"
+            element-loading-text="加载中"
+            :data="listC"
+            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="branchName" />
+            <el-table-column label="部门名称" prop="deptName" />
+            <el-table-column label="发起时间" prop="docmkDate" width="140" />
+            <el-table-column label="发起人" prop="docmker" />
+            <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>
 </template>
 

+ 17 - 1
src/views/page/orderManage-sup/purOrderDelivery/index.vue

@@ -1,6 +1,21 @@
 <template>
   <!-- 采购订单出库 -->
-  <div class="common-box">
+  <div style="display:flex">
+  <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+      <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
+          <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+          <el-tab-pane label="按机构" name="org"></el-tab-pane>
+      </el-tabs>
+      <el-tree
+        :data="data"
+        :props="defaultProps"
+        node-key="spdId"
+        @node-click="handleNodeClick"
+        default-expand-all="true"
+        style="margin-top:10px;"
+      ></el-tree>
+    </el-card>
+  <div class="right-common-box">
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tab-pane label="待出库" name="first">
         <el-form :model="listQuery" ref="queryForm" :inline="true">
@@ -192,6 +207,7 @@
       </el-tab-pane>
     </el-tabs>
   </div>
+  </div>
 </template>
 
 <script>

+ 110 - 94
src/views/page/productreturnmanage-sup/returnOrderAccept/index.vue

@@ -1,100 +1,116 @@
 <template>
     <!-- 退货 -->
-    <div class="common-box">
-        <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="orgId">
-                <el-select
-                    v-model="listQuery.orgId"
-                    placeholder="请选择"
-                    clearable
-                >
-                    <el-option
-                        v-for="item in dd1"
-                        :key="item.value"
-                        :label="item.name"
-                        :value="item.value"
-                    ></el-option>
-                </el-select>
-            </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 label="提交时间" prop="bb">
-                <el-date-picker
-                v-model="listQuery.bb"
-                type="daterange"
-                range-separator="至"
-                :editable="false"
-                value-format="yyyy-MM-dd"
-                start-placeholder="开始时间"
-                end-placeholder="结束时间"
-                />
-            </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="deltCnt" />
-            <el-table-column label="退货总数" prop="amt" />
-            <el-table-column label="退货金额" prop="orgName" />
-            <el-table-column label="客户名称" prop="orgName" />
-            <el-table-column label="发起人" prop="orgName" />
-            <el-table-column label="发起时间" prop="orgName" />
-            <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>
-                </template>
-            </el-table-column>
-            <el-table-column label="操作" width="100">
-                <template slot-scope="scope">
-                    <el-button
-                        type="text"
-                        @click="handleDetail(scope.row.stas)"
-                        >详情</el-button
+    <div style="display:flex">
+        <el-card style="width:18%;margin-right:18px;border-radius:6px;">
+        <el-tabs v-model="activeNametree" type="card" @tab-click="tabClick" stretch>
+            <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+            <el-tab-pane label="按机构" name="org"></el-tab-pane>
+        </el-tabs>
+        <el-tree
+            :data="data"
+            :props="defaultProps"
+            node-key="spdId"
+            @node-click="handleNodeClick"
+            default-expand-all="true"
+            style="margin-top:10px;"
+        ></el-tree>
+        </el-card>
+        <div class="right-common-box">
+            <el-form :model="listQuery" ref="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="orgId">
+                    <el-select
+                        v-model="listQuery.orgId"
+                        placeholder="请选择"
+                        clearable
+                    >
+                        <el-option
+                            v-for="item in dd1"
+                            :key="item.value"
+                            :label="item.name"
+                            :value="item.value"
+                        ></el-option>
+                    </el-select>
+                </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 label="提交时间" prop="bb">
+                    <el-date-picker
+                    v-model="listQuery.bb"
+                    type="daterange"
+                    range-separator="至"
+                    :editable="false"
+                    value-format="yyyy-MM-dd"
+                    start-placeholder="开始时间"
+                    end-placeholder="结束时间"
+                    />
+                </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>
-        </el-table>
-        <!--分页-->
-        <yl-pagination
-            v-show="total > 0"
-            :total="total"
-            :page.sync="listQuery.current"
-            :limit.sync="listQuery.size"
-            @pagination="getData"
-        />
+                <el-table-column fixed type="index" label="序号" width="60"/>
+                <el-table-column label="退货单号" prop="id" />
+                <el-table-column label="品总数" prop="deltCnt" />
+                <el-table-column label="退货总数" prop="amt" />
+                <el-table-column label="退货金额" prop="orgName" />
+                <el-table-column label="客户名称" prop="orgName" />
+                <el-table-column label="发起人" prop="orgName" />
+                <el-table-column label="发起时间" prop="orgName" />
+                <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>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" width="100">
+                    <template slot-scope="scope">
+                        <el-button
+                            type="text"
+                            @click="handleDetail(scope.row.stas)"
+                            >详情</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"
+            />
+        </div>
     </div>
 </template>
 
@@ -130,7 +146,7 @@ import { getRetnOrdSplerPage } from "@/api/returnOrderAccept/index";
                 ],
                 listLoading: false,
                 list: [
-                    {id:1,deltCnt:"22",amt:"112",stas:"A"},
+                    {id:1,deltCnt:"2211",amt:"1120",stas:"A"},
                     {id:2,deltCnt:"2233",amt:"1121",stas:"A"},
                     {id:3,deltCnt:"2244",amt:"1122",stas:"A"},
                     {id:4,deltCnt:"2255",amt:"1123",stas:"B"},

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

@@ -73,7 +73,7 @@
                     <img src="@/assets/nopage.png" alt />
                     <p>暂无数据</p>
                 </template>
-                <el-table-column type="selection" width="60" />
+                <!-- <el-table-column type="selection" width="60" /> -->
                 <el-table-column fixed type="index" label="序号" width="60"/>
                 <el-table-column label="耗材编码" prop="materialId" />
                 <el-table-column label="耗材名称" prop="prodName" width="300" >

+ 22 - 21
src/views/page/productreturnmanage-sup/returnOrderAccept/returncomDetail.vue

@@ -1,10 +1,10 @@
 <template>
     <!-- 商品退货管理————已确认 -->
     <div>
-        <div class="common-card">
+        <!-- <div class="common-card">
             <h3>发起退货</h3>
             <yl-step></yl-step>
-        </div>
+        </div> -->
         <div class="common-card">
             <h3>基本信息</h3>
             <el-form :model="listForm" ref="listform" label-width="237px" class="grid-form-class">
@@ -63,32 +63,26 @@
                 fit
                 stripe
                 border
-                @selection-change="handleSelectionChange"
             >
+            <!-- @selection-change="handleSelectionChange" -->
                 <template slot="empty">
                     <img src="@/assets/nopage.png" alt />
                     <p>暂无数据</p>
                 </template>
-                <el-table-column type="selection" width="60" />
+                <!-- <el-table-column type="selection" width="60" /> -->
                 <el-table-column fixed type="index" label="序号" width="60"/>
-                <el-table-column label="耗材编码" prop="drugListId" />
-                <el-table-column label="耗材名称" prop="" width="300" >
-                    <template slot-scope="scope">
-                        <div class="drug-name">
-                            <el-tag>{{ scope.row.drugName }}</el-tag>{{ "【" + scope.row.dosformName + "】" }}<el-tag>{{ scope.row.essdrugType }}</el-tag><br />
-                            {{ "生产厂家 【" + scope.row.prodentpName + "】" }}<br />
-                            {{"药品规格 【" +scope.row.specName +"*" +scope.row.convrat +scope.row.prepunt +"/" +scope.row.pacUnt +"】"}}
-                        </div>
-                    </template>
+                <el-table-column fixed type="index" label="序号" width="60"/>
+                <el-table-column label="耗材编码" prop="materialId" />
+                <el-table-column label="耗材名称" prop="prodName" width="300" >
                 </el-table-column>
-                <el-table-column label="商品类别" prop="" />
-                <el-table-column label="规格" prop="" />
-                <el-table-column label="型号" prop="" />
-                <el-table-column label="材质" prop="shppCnt" />
-                <el-table-column label="耗材名称" prop="retnCnt" />
+                <el-table-column label="商品类别" prop="mcsType" />
+                <el-table-column label="规格" prop="spec" />
+                <el-table-column label="型号" prop="mol" />
+                <el-table-column label="材质" prop="matl" />
+                <el-table-column label="生产企业" prop="prodEntp" />
                 <el-table-column label="申请数量" prop="retnAmt" />
                 <el-table-column label="价格" prop="retnAmt" />
-                <el-table-column label="金额" prop="retnAmt" />
+                <el-table-column label="金额" prop="retnAmt" /> 
                 <!-- <el-table-column label="驳回原因" prop="rejtRea" width="200">
                     <template slot-scope="scope">
                         <el-form-item
@@ -159,7 +153,7 @@
                 </el-table-column> -->
             </el-table>
             <p class="price-css">
-                合计数量:{{ amount.num }} <span></span>合计金额: {{ amount.price }}
+                合计数量: <span></span>合计金额: 
             </p>
             </el-form>
 
@@ -178,7 +172,14 @@
                     </div>
                 </el-form-item>
             </div>
-            <div class="flex-css">
+            </div>
+            </el-form>
+        </div>
+        <div class="common-card">
+            <h3>拒绝原因</h3>
+            <el-form :model="listForm" ref="listform" label-width="237px" class="grid-form-class">
+            <div class="form-body">
+                <div class="flex-css">
                 <el-form-item label="拒绝原因" prop="stas">
                     <div class="content">
                         {{ listForm.stas }}