Browse Source

耗材报表开发

liangbowen 2 months ago
parent
commit
49afbd4b31

+ 19 - 0
src/api/report-sup/consum-report.js

@@ -0,0 +1,19 @@
+import request from "@/utils/request";
+
+//获取耗材报表数据
+export function getSelectRkAmtPage(data) {
+  return request({
+    url: "/web/delvOrd/selectRkAmtPage",
+    method: "post",
+    data
+  })
+}
+//导出
+export function exportRkAmtList(data) {
+  return request({
+    url: "/web/delvOrd/exportRkAmtList",
+    method: "post",
+    data,
+    responseType: "blob",
+  })
+}

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

@@ -502,7 +502,7 @@ const systemMenuObj = [
     router: "catalog-inventory",
     hidden: 0
   },
-  
+
   {
     component: "/page/consumCataManage-sup/catalogPrice/index",
     icon: "",
@@ -625,6 +625,31 @@ const systemMenuObj = [
     router: "orthOpedicDelivery",
     hidden: 0
   },
+  //报表管理
+  {
+    component: "Layout",
+    icon: "el-icon-printer",
+    id: "report-sup",
+    menuType: "MENU",
+    name: "report-sup",
+    parentId: "0",
+    redirect: "/report-sup",
+    remark: "报表管理",
+    router: "/report-sup",
+    hidden: 0
+  },
+  {
+    component: "/page/report-sup/consum-report/index",
+    icon: "",
+    id: "consumReport",
+    menuType: "MENU",
+    name: "consumReport",
+    parentId: "report-sup",
+    redirect: "",
+    remark: "耗材报表",
+    router: "consumReport",
+    hidden: 0
+  },
   // 耗材退货管理
   // 
   {
@@ -794,7 +819,7 @@ const systemMenuObj = [
     hidden: 0
   },
   // 消息中心
-  
+
   {
     component: "Layout",
     icon: "el-icon-message-solid",

+ 95 - 370
src/views/page/consumCataManage-sup/catalogdetails.vue

@@ -3,12 +3,7 @@
     <!-- <el-card style="width: 98%; margin-right: 18px; border-radius: 6px"> -->
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tab-pane label="基础信息" name="first">
-        <el-form
-          :model="infoData"
-          ref="planForm"
-          label-width="150px"
-          class="grid-form-class"
-        >
+        <el-form :model="infoData" ref="planForm" label-width="150px" class="grid-form-class">
           <!-- <div class="common-card" v-if="reaDiv">
             <div class="form-body">
               <div class="flex-css">
@@ -29,110 +24,52 @@
                   <div class="content" v-if="isShow">
                     {{ infoData.prodName }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.prodName"
-                    placeholder="请输入耗材名称"
-                  ></el-input>
+                  <el-input v-else 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="请输入通用名称"
-                    maxlength="50"
-                  ></el-input>
+                <el-form-item label="通用名称" prop="genName" :rules="rules.required">
+                  <el-input v-model="infoData.genName" placeholder="请输入通用名称" maxlength="50"></el-input>
                 </el-form-item>
-                <el-form-item
-                  label="英文名称"
-                  prop="engName"
-                  :rules="rules.InterEng"
-                >
-                  <el-input
-                    v-model="infoData.engName"
-                    placeholder="请输入英文名称"
-                    maxlength="50"
-                  ></el-input>
+                <el-form-item label="英文名称" prop="engName" :rules="rules.InterEng">
+                  <el-input v-model="infoData.engName" placeholder="请输入英文名称" maxlength="50"></el-input>
                 </el-form-item>
               </div>
               <div class="flex-css">
                 <el-form-item label="品牌" prop="brad">
-                  <el-input
-                    v-model="infoData.brad"
-                    maxlength="50"
-                    placeholder="请输入品牌"
-                  ></el-input>
+                  <el-input v-model="infoData.brad" maxlength="50" 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-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"
-                >
+                <el-form-item label="生产企业" prop="prodEntp">
                   <div class="content" v-if="isShow">
                     {{ infoData.prodEntp }}
                   </div>
 
-                  <el-input
-                    v-else
-                    v-model="infoData.prodEntp"
-                    placeholder="请输入生产企业"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.prodEntp" placeholder="请输入生产企业"></el-input>
                 </el-form-item>
               </div>
               <div class="flex-css">
-                <el-form-item
-                  label="代理企业"
-                  prop="agnt"
-                >
+                <el-form-item label="代理企业" prop="agnt">
                   <div class="content" v-if="isShow">
                     {{ infoData.agnt }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.agnt"
-                    placeholder="请输入代理企业"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.agnt" placeholder="请输入代理企业"></el-input>
                 </el-form-item>
 
                 <el-form-item label="规格" prop="spec">
                   <div class="content" v-if="isShow">
                     {{ infoData.spec }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.spec"
-                    placeholder="请输入规格"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.spec" placeholder="请输入规格"></el-input>
                 </el-form-item>
                 <el-form-item label="型号" prop="mol">
                   <div class="content" v-if="isShow">
                     {{ infoData.mol }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.mol"
-                    placeholder="请输入型号"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.mol" placeholder="请输入型号"></el-input>
                 </el-form-item>
               </div>
               <div class="flex-css">
@@ -140,37 +77,19 @@
                   <div class="content" v-if="isShow">
                     {{ infoData.matl }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.matl"
-                    placeholder="请输入材质"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.matl" placeholder="请输入材质"></el-input>
                 </el-form-item>
-                <el-form-item
-                  label="包装材质"
-                  prop="pacmatl"
-                >
+                <el-form-item label="包装材质" prop="pacmatl">
                   <div class="content" v-if="isShow">
                     {{ infoData.pacmatl }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.pacmatl"
-                    placeholder="请输入包装材质"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.pacmatl" placeholder="请输入包装材质"></el-input>
                 </el-form-item>
-                <el-form-item
-                  label="注册证号"
-                  prop="regcertno"
-                >
+                <el-form-item label="注册证号" prop="regcertno">
                   <div class="content" v-if="isShow">
                     {{ infoData.regcertno }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.regcertno"
-                    placeholder="请输入注册证号"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.regcertno" placeholder="请输入注册证号"></el-input>
                 </el-form-item>
               </div>
               <div class="flex-css">
@@ -181,10 +100,7 @@
                   </div>
                 </el-form-item>
                 <el-form-item label="挂网价格" prop="pubonlnPric" v-if="isShow">
-                  <el-input
-                    v-model="infoData.pubonlnPric"
-                    placeholder="请输入挂网价格"
-                  ></el-input>
+                  <el-input v-model="infoData.pubonlnPric" placeholder="请输入挂网价格"></el-input>
                 </el-form-item>
                 <el-form-item label="  " prop="" v-else>
                   <div class="content">
@@ -213,29 +129,13 @@
                     ></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-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-form-item label="是否集采" prop="isFas" :rules="rules.selectRequired">
                   <div class="content">
                     <span v-if="infoData.isFas == '1'">是</span>
                     <span v-if="infoData.isFas == '0'">否</span>
@@ -257,37 +157,16 @@
                 </el-form-item>
               </div>
               <div class="flex-css">
-                <el-form-item
-                  label="集采批次"
-                  prop="fasBtch"
-                  v-if="infoData.isFas == '1'"
-                  :rules="rules.required"
-                >
+                <el-form-item label="集采批次" prop="fasBtch" v-if="infoData.isFas == '1'" :rules="rules.required">
                   <div class="content" v-if="isShow">
                     {{ infoData.fasBtch }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.fasBtch"
-                    placeholder="请输入集采批次"
-                  ></el-input>
+                  <el-input v-else 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-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">
@@ -307,19 +186,11 @@
             <h3>耗材编码资料</h3>
             <div class="form-body">
               <div class="flex-css">
-                <el-form-item
-                  label="医保编码"
-                  prop="hiCode"
-                  :rules="rules.proCodeRule"
-                >
+                <el-form-item label="医保编码" prop="hiCode" :rules="rules.proCodeRule">
                   <div class="content" v-if="editCode">
                     {{ infoData.hiCode }}
                   </div>
-                  <el-input
-                    v-else
-                    v-model="infoData.hiCode"
-                    placeholder="请输入医保编码"
-                  ></el-input>
+                  <el-input v-else v-model="infoData.hiCode" placeholder="请输入医保编码"></el-input>
                 </el-form-item>
               </div>
             </div>
@@ -328,86 +199,40 @@
             <h3>耗材包装规则</h3>
             <div class="form-body">
               <div class="flex-css">
-                <el-form-item
-                  label="最小单位"
-                  prop="prcUnt"
-                  :rules="rules.selectRequired"
-                >
-                  <el-select
-                    v-model="infoData.prcUnt"
-                    placeholder="请选择最小单位"
-                    clearable
-                  >
-                    <el-option
-                      v-for="item in purcUntData"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.label"
-                    ></el-option>
+                <el-form-item label="最小单位" prop="prcUnt" :rules="rules.selectRequired">
+                  <el-select v-model="infoData.prcUnt" placeholder="请选择最小单位" clearable>
+                    <el-option v-for="item in purcUntData" :key="item.value" :label="item.label"
+                      :value="item.label"></el-option>
                   </el-select>
                 </el-form-item>
-                <el-form-item
-                  label="采购价"
-                  prop="purcPric"
-                  :rules="rules.numPot4"
-                >
+                <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot4">
                   <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>
+                      <i class="el-icon-question" style="font-size: 14px; vertical-align: middle"></i>
                       <div slot="content">最小单位采购价</div>
                     </el-tooltip>
                   </template>
-                  <el-input
-                    maxlength="50"
-                    v-model="infoData.purcPric"
-                    placeholder="请输入采购价"
-                  ></el-input>
+                  <el-input maxlength="50" v-model="infoData.purcPric" placeholder="请输入采购价"></el-input>
                 </el-form-item>
               </div>
               <div class="flex-css">
-                <el-form-item
-                  label="采购单位"
-                  prop="purcUnt"
-                  :rules="rules.selectRequired"
-                >
-                  <el-select
-                    v-model="infoData.purcUnt"
-                    placeholder="请选择采购单位"
-                    clearable
-                  >
-                    <el-option
-                      v-for="item in prcUntData"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.label"
-                    ></el-option>
+                <el-form-item label="采购单位" prop="purcUnt" :rules="rules.selectRequired">
+                  <el-select v-model="infoData.purcUnt" placeholder="请选择采购单位" clearable>
+                    <el-option v-for="item in prcUntData" :key="item.value" :label="item.label"
+                      :value="item.label"></el-option>
                   </el-select>
                 </el-form-item>
-                <el-form-item
-                  label="包装内数量"
-                  prop="convrat"
-                  :rules="rules.InterNum"
-                >
+                <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>
+                      <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="请输入包装内数量"
-                      maxlength="50"
-                    ></el-input>
+                    <el-input v-model="infoData.convrat" placeholder="请输入包装内数量" maxlength="50"></el-input>
                   </template>
                 </el-form-item>
               </div>
@@ -417,60 +242,22 @@
             <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
-                    @change="storageChage"
-                  >
-                    <el-option
-                      v-for="item in stogTypeData"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.name"
-                    ></el-option>
+                <el-form-item label="存储方式" prop="stogType" :rules="rules.selectRequired">
+                  <el-select v-model="infoData.stogType" placeholder="请选择存储方式" clearable @change="storageChage">
+                    <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
-                    disabled
-                  >
-                    <el-option
-                      v-for="item in stogTempData"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.name"
-                    ></el-option>
+                <el-form-item label="存储温度" prop="stogTemp" :rules="rules.selectRequired">
+                  <el-select v-model="infoData.stogTemp" placeholder="请选择存储温度" clearable disabled>
+                    <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-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>
@@ -478,20 +265,8 @@
           </div>
         </el-form>
         <div class="foot-button">
-          <el-button
-            v-if="btnShow"
-            type="success"
-            @click="handleSave"
-            :loading="saveLoad"
-            >保存</el-button
-          >
-          <el-button
-            v-if="btnShow"
-            type="primary"
-            @click="handleSubmit"
-            :loading="submitLoad"
-            >提交</el-button
-          >
+          <el-button v-if="btnShow" type="success" @click="handleSave" :loading="saveLoad">保存</el-button>
+          <el-button v-if="btnShow" type="primary" @click="handleSubmit" :loading="submitLoad">提交</el-button>
           <!-- </div>
         <div class="foot-button"> -->
           <el-button type="info" @click="handleBack">返回</el-button>
@@ -502,23 +277,11 @@
           <div>
             <h3>耗材资质</h3>
             <div class="right-type" v-if="addBtn">
-              <el-button
-                style="margin-bottom: 10px"
-                type="primary"
-                @click="handleAdd('one')"
-                >添加资质</el-button
-              >
+              <el-button style="margin-bottom: 10px" type="primary" @click="handleAdd('one')">添加资质</el-button>
             </div>
           </div>
-          <el-table
-            v-loading="listLoading"
-            element-loading-text="加载中"
-            :data="list"
-            fit
-            stripe
-            border
-            :cell-class-name="tableColClassName"
-          >
+          <el-table v-loading="listLoading" element-loading-text="加载中" :data="list" fit stripe border
+            :cell-class-name="tableColClassName">
             <template slot="empty">
               <img src="@/assets/nopage.png" alt />
               <p>暂无数据</p>
@@ -531,72 +294,38 @@
             <el-table-column label="截止日期" prop="endDate" />
             <el-table-column label="资质证件" prop="fileId">
               <template slot-scope="scope">
-                <yl-upload
-                  :fileId="scope.row.fileId"
-                  readonly
-                  v-if="scope.row.fileId"
-                >
+                <yl-upload :fileId="scope.row.fileId" readonly v-if="scope.row.fileId">
                 </yl-upload>
               </template>
             </el-table-column>
             <el-table-column label="备注" prop="memo" />
-             <el-table-column label="操作" width="100" fixed="right">
-        <template slot-scope="scope">
-          <el-button type="text" @click="quitData(scope.row)"
-            >编辑</el-button
-          >
-        </template>
-      </el-table-column>
+            <el-table-column label="操作" width="100" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="quitData(scope.row)">编辑</el-button>
+              </template>
+            </el-table-column>
           </el-table>
         </div>
       </el-tab-pane>
     </el-tabs>
     <!-- </el-card> -->
-     <el-dialog
-      class="addclass"
-      width="30%"
-      :title="textMap[dialogStatus]"
-      :close-on-click-modal="false"
-      :visible.sync="dialogFormVisible"
-      v-if="dialogFormVisible"
-    >
+    <el-dialog class="addclass" width="30%" :title="textMap[dialogStatus]" :close-on-click-modal="false"
+      :visible.sync="dialogFormVisible" v-if="dialogFormVisible">
       <el-form label-width="120px" :model="addform" ref="addForm">
-        <el-form-item
-          label="资质证书信息"
-          prop="quaName"
-          :rules="rules.selectRequired"
-        >
-          <el-input
-            v-model="addform.quaName"
-            placeholder="请输入资质证书信息"
-            maxlength="50"
-          ></el-input>
+        <el-form-item label="资质证书信息" prop="quaName" :rules="rules.selectRequired">
+          <el-input v-model="addform.quaName" placeholder="请输入资质证书信息" maxlength="50"></el-input>
         </el-form-item>
         <el-form-item label="资质证书编号" prop="quaCode" :rules="rules.required">
-          <el-input
-            v-model="addform.quaCode"
-            placeholder="请输入资质证书编号"
-            maxlength="50"
-          ></el-input>
+          <el-input v-model="addform.quaCode" placeholder="请输入资质证书编号" maxlength="50"></el-input>
         </el-form-item>
 
         <el-form-item label="发证时间" prop="issuDate" :rules="rules.dateRequired">
-          <el-date-picker
-            v-model.trim="addform.issuDate"
-            type="date"
-            :picker-options="TimeOption1"
-            placeholder="选择日期"
-            value-format="yyyy-MM-dd"
-          ></el-date-picker>
+          <el-date-picker v-model.trim="addform.issuDate" type="date" :picker-options="TimeOption1" placeholder="选择日期"
+            value-format="yyyy-MM-dd"></el-date-picker>
         </el-form-item>
         <el-form-item label="截止时间" prop="endDate" :rules="rules.dateRequired">
-          <el-date-picker
-            v-model.trim="addform.endDate"
-            type="date"
-            :picker-options="TimeOption"
-            placeholder="选择日期"
-            value-format="yyyy-MM-dd"
-          ></el-date-picker>
+          <el-date-picker v-model.trim="addform.endDate" type="date" :picker-options="TimeOption" placeholder="选择日期"
+            value-format="yyyy-MM-dd"></el-date-picker>
         </el-form-item>
         <!-- <el-form-item label="截止时间" prop="endDate" :rules="rules.required">
           <el-input
@@ -623,22 +352,12 @@
             </yl-upload> -->
         </el-form-item>
         <el-form-item label="备注" prop="memo">
-          <el-input
-            v-model="addform.memo"
-            placeholder="请输入备注"
-            maxlength="50"
-          ></el-input>
+          <el-input v-model="addform.memo" placeholder="请输入备注" maxlength="50"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer">
         <el-button @click="dialogFormVisible = false">取 消</el-button>
-        <el-button
-          type="primary"
-          v-preventReClick
-          v-loading="loading1"
-          @click="handledialog()"
-          >确 定</el-button
-        >
+        <el-button type="primary" v-preventReClick v-loading="loading1" @click="handledialog()">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -782,6 +501,11 @@ export default {
         { value: "桶", label: "桶" },
         { value: "张", label: "张" },
         { value: "束", label: "束" },
+        { value: "本", label: "本" },
+        { value: "片", label: "片" },
+        { value: "台", label: "台" },
+        { value: "块", label: "块" },
+        { value: "卷", label: "卷" },
       ],
       btnShow: true,
       reaDiv: false,
@@ -865,10 +589,10 @@ export default {
       if (val == "常温") {
         this.infoData.stogTemp = "15℃-25℃";
       }
-       if (val == "冷藏") {
+      if (val == "冷藏") {
         this.infoData.stogTemp = "2℃-8℃";
       }
-       if (val == "冷冻") {
+      if (val == "冷冻") {
         this.infoData.stogTemp = "-10℃-2℃";
       }
     },
@@ -966,7 +690,7 @@ export default {
               this.saveLoad = false;
             });
         })
-        .catch(() => {});
+        .catch(() => { });
       // }
       // });
     },
@@ -1013,7 +737,7 @@ export default {
                   this.submitLoad = false;
                 });
             })
-            .catch(() => {});
+            .catch(() => { });
         }
       });
     },
@@ -1141,7 +865,7 @@ export default {
                   });
               }
             })
-            .catch(() => {});
+            .catch(() => { });
         }
       });
     },
@@ -1156,6 +880,7 @@ export default {
 .addclass ::v-deep .el-input__inner {
   width: 260px;
 }
+
 ::v-deep .warning-row {
   background: #f8e7e9 !important;
 }

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

@@ -570,7 +570,12 @@ export default {
         { value: "条", label: "条" },
         { value: "桶", label: "桶" },
         { value: "张", label: "张" },
-        { value: "束", label: "束" }
+        { value: "束", label: "束" },
+        { value: "本", label: "本" },
+        { value: "片", label: "片" },
+        { value: "台", label: "台" },
+        { value: "块", label: "块" },
+        { value: "卷", label: "卷" }
       ],
       btnShow: true,
       dialogFormVisible: false,

+ 259 - 2
src/views/page/procurement-settlement/reconciliation/supplierDetail.vue

@@ -248,7 +248,264 @@ export default {
         { value: "1", lable: "集采" }
       ],
       listLoading: false,
-      list: [],
+      list: [
+        {
+          id: null,
+          prodName: "骨水泥",
+          spec: "1*20",
+          mol: "Osteopal V",
+          cnt: "1",
+          unt: "盒",
+          pric: "623.0000",
+          amt: "623.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "72755360",
+          manuDate: "2024-09-13",
+          prodExpy: "2027-08-31",
+          prodEntp: "雷德睦华医药科技(北京)有限公司"
+        },
+        {
+          id: null,
+          prodName: "锁定金属接骨螺钉",
+          spec: "Φ6.5*90",
+          mol: "HBZ03",
+          cnt: "2",
+          unt: "支",
+          pric: "151.0000",
+          amt: "302.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "224073341",
+          manuDate: "2024-10-21",
+          prodExpy: "2044-10-16",
+          prodEntp: "江苏百易得医疗科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "锁定金属接骨螺钉",
+          spec: "Φ5.0*40",
+          mol: "HAZ03",
+          cnt: "4",
+          unt: "支",
+          pric: "82.0000",
+          amt: "328.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "222100441",
+          manuDate: "2022-11-05",
+          prodExpy: "2042-10-28",
+          prodEntp: "江苏百易得医疗科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-万向椎弓根钉",
+          spec: "Φ6.0*50",
+          mol: "长尾II型",
+          cnt: "4",
+          unt: "支",
+          pric: "420.0000",
+          amt: "1680.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FCY17940124",
+          manuDate: "2021-12-25",
+          prodExpy: "2041-12-09",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-连接棒",
+          spec: "ϕ6.0*90",
+          mol: "无",
+          cnt: "2",
+          unt: "支",
+          pric: "155.0000",
+          amt: "310.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FKF0004",
+          manuDate: "2024-03-10",
+          prodExpy: "2044-03-05",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-万向椎弓根钉",
+          spec: "ϕ5.5*45",
+          mol: "长尾II型",
+          cnt: "4",
+          unt: "支",
+          pric: "420.0000",
+          amt: "1680.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FCK17410008",
+          manuDate: "2021-05-26",
+          prodExpy: "2041-05-20",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-连接棒",
+          spec: "ϕ6.0*180",
+          mol: "无",
+          cnt: "2",
+          unt: "支",
+          pric: "155.0000",
+          amt: "310.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FCY21680083",
+          manuDate: "2021-12-29",
+          prodExpy: "2041-12-23",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "椎间融合器",
+          spec: "ϕ12*45",
+          mol: "圆柱型",
+          cnt: "1",
+          unt: "个",
+          pric: "1400.0000",
+          amt: "1400.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "220011651",
+          manuDate: "2020-06-18",
+          prodExpy: "2040-06-12",
+          prodEntp: "江苏百易得医疗科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "锁定接骨板-股骨近端外侧锁定板-5",
+          spec: "6孔右(头部4孔)",
+          mol: "SDYZ-55",
+          cnt: "1",
+          unt: "块",
+          pric: "575.0000",
+          amt: "575.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "223067011",
+          manuDate: "2024-02-22",
+          prodExpy: "2044-02-16",
+          prodEntp: "江苏百易得医疗科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "锁定型金属接骨板-重建接骨板(I型)",
+          spec: "4孔/48/10.2/3.2",
+          mol: "ZZ04",
+          cnt: "1",
+          unt: "块",
+          pric: "662.0000",
+          amt: "662.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FFC15080004",
+          manuDate: "2022-02-20",
+          prodExpy: "2042-02-14",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "金属接骨螺钉-皮质骨全螺纹金属接骨螺钉HA3.5",
+          spec: "HA3.5*16",
+          mol: "HAQ03",
+          cnt: "4",
+          unt: "支",
+          pric: "26.0000",
+          amt: "104.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FFC1798",
+          manuDate: "2022-02-24",
+          prodExpy: "2042-02-18",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "椎体成形术辅助器械",
+          spec: "φ4.2×140,不锈钢/ABS,环氧乙烷灭菌",
+          mol: "ZT03Ⅱ型扩张套管组件",
+          cnt: "2",
+          unt: "支",
+          pric: "70.0000",
+          amt: "140.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "624050022",
+          manuDate: "2024-07-02",
+          prodExpy: "2026-06-02",
+          prodEntp: "江苏百易得医疗科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "椎体成形术辅助器械",
+          spec: "φ2.5×130,不锈钢/ABS,环氧乙烷灭菌",
+          mol: "ZT01Ⅱ型 穿刺针组件",
+          cnt: "2",
+          unt: "包",
+          pric: "70.0000",
+          amt: "140.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "625050062",
+          manuDate: "2025-06-19",
+          prodExpy: "2027-05-26",
+          prodEntp: "江苏百易得医疗科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-螺塞",
+          spec: "Φ9.9",
+          mol: "I型",
+          cnt: "4",
+          unt: "支",
+          pric: "40.0000",
+          amt: "160.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FCY0049",
+          manuDate: "2024-11-18",
+          prodExpy: "2044-11-17",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-螺塞",
+          spec: "Φ9.9",
+          mol: "I型",
+          cnt: "8",
+          unt: "支",
+          pric: "40.0000",
+          amt: "320.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FFF0051",
+          manuDate: "2024-06-12",
+          prodExpy: "2044-06-07",
+          prodEntp: "武汉迈瑞科技有限公司"
+        },
+        {
+          id: null,
+          prodName: "脊柱后路内固定系统-万向椎弓根钉",
+          spec: "Φ6.0*45",
+          mol: "长尾Ⅱ型",
+          cnt: "2",
+          unt: "支",
+          pric: "420.0000",
+          amt: "840.0000",
+          mcsType: "高值耗材",
+          isFas: "1",
+          lotNum: "FMF0494",
+          manuDate: "2025-03-15",
+          prodExpy: "2045-03-19",
+          prodEntp: "武汉迈瑞科技有限公司"
+        }
+      ],
       isShow: false,
       sureLoading: false,
       printLoading: false,
@@ -355,7 +612,7 @@ export default {
       this.listLoading = true;
       selectSetlStmtDetlD({ stmtNo: this.$route.query.stmtNo })
         .then(res => {
-          this.list = res.data;
+          //this.list = res.data;
           this.total = this.$route.query.detlCnt;
           this.listLoading = false;
         })

+ 440 - 0
src/views/page/report-sup/consum-report/acceptDetail.vue

@@ -0,0 +1,440 @@
+<template>
+  <div>
+    <!-- 采购订单受理待确认详情 -->
+    <!-- <div class="common-card">
+            <h3>订单状态</h3>
+            <yl-step></yl-step>
+        </div> -->
+    <div class="common-card">
+      <h3>基本信息</h3>
+      <el-form
+        :model="listForm"
+        ref="listform"
+        label-width="180px"
+        class="grid-form-class"
+      >
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="采购单号" prop="id">
+              <div class="content">
+                {{ listForm.id }}
+              </div>
+            </el-form-item>
+            <el-form-item label="采购品种" prop="detlCnt">
+              <div class="content">
+                {{ listForm.detlCnt }}
+              </div>
+            </el-form-item>
+            <el-form-item label="总数量" prop="qtySum">
+              <div class="content">
+                {{ listForm.qtySum }}
+              </div>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="总金额" prop="purcAmt">
+              <div class="content">
+                {{ listForm.purcAmt }}
+              </div>
+            </el-form-item>
+            <el-form-item label="客户名称" prop="branchName">
+              <div class="content">
+                {{ listForm.branchName }}
+              </div>
+            </el-form-item>
+
+            <el-form-item label="来源部门" prop="deptName">
+              <div class="content">
+                {{ listForm.deptName }}
+              </div>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="采购时间" prop="docmkDate">
+              <div class="content">
+                {{ listForm.docmkDate }}
+              </div>
+            </el-form-item>
+            <el-form-item label="当前状态" prop="stas">
+              <div class="content">
+                {{ listForm.stas }}
+              </div>
+            </el-form-item>
+            <el-form-item label=" ">
+              <div class="content"></div>
+            </el-form-item>
+          </div>
+        </div>
+      </el-form>
+    </div>
+    <div class="common-card" v-show="cShow">
+      <h3>手术信息</h3>
+      <el-form
+        :model="listForm"
+        ref="listform"
+        label-width="150px"
+        class="grid-form-class"
+      >
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="手术名称" prop="oprn">
+              <div class="content">
+                {{ listForm.oprn }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术间" prop="oprtRoom">
+              <div class="content">
+                {{ listForm.oprtRoom }}
+              </div>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="主治医生" prop="atddr">
+              <div class="content">
+                {{ listForm.atddr }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术日期" prop="oprtTime">
+              <div class="content">
+                {{ listForm.oprtTime }}
+              </div>
+            </el-form-item>
+          </div>
+        </div>
+      </el-form>
+    </div>
+    <div class="common-card">
+      <h3>耗材明细</h3>
+      <el-form
+        :model="listQuery"
+        ref="listQuery"
+        :inline="true"
+        label-width="90px"
+      >
+        <el-form-item size="mini" label="生产企业" prop="prodEntp" class="long">
+          <el-input
+            v-model="listQuery.prodEntp"
+            placeholder="请输入生产企业"
+          ></el-input>
+        </el-form-item>
+
+        <el-form-item size="mini" label="是否集采" prop="isFas" class="long">
+          <el-select
+            v-model="listQuery.isFas"
+            placeholder="请选择是否集采"
+            clearable
+          >
+            <el-option
+              v-for="item in isFasData"
+              :key="item.value"
+              :label="item.name"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          size="mini"
+          label="注册证号"
+          prop="regcertno"
+          class="long"
+        >
+          <el-input
+            v-model="listQuery.regcertno"
+            placeholder="请输入注册证号"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="getData()">查询</el-button>
+          <el-button @click="reset">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <el-form :model="list">
+        <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="prodCode" />
+          <el-table-column label="医保编码" prop="hiCode" />
+          <el-table-column label="耗材信息" width="300">
+            <template slot-scope="scope">
+              <mcs-info :info="scope.row"></mcs-info>
+            </template>
+          </el-table-column>
+          <el-table-column label="规格" prop="spec" />
+          <el-table-column label="型号" prop="mol" />
+          <el-table-column label="材质" prop="matl" />
+
+          <el-table-column label="是否集采" prop="isFas">
+            <template #default="{ row }">
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column label="计价单位" prop="prcUnt" /> -->
+          <!-- <el-table-column label="采购单位" prop="purcUnt" /> -->
+          <!-- <el-table-column label="包装内数量" prop="convrat" /> -->
+          <el-table-column label="包装" prop="convrat" width="120px">
+            <template #default="{ row }">
+              <span
+                >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
+                  row.purcUnt
+                }})</span
+              >
+            </template>
+          </el-table-column>
+          <el-table-column label="采购数量" prop="purcCnt" />
+          <el-table-column label="单价" prop="purcPric">
+            <template #default="{ row }">
+              <span>{{ row.purcPric }}元/{{ row.prcUnt }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="总金额" prop="purcAmt" />
+          <el-table-column label="退回原因" prop="rejtRea" width="200">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.rejtRea'"
+              >
+                <el-input
+                  placeholder="请输入"
+                  v-model="scope.row.rejtRea"
+                  :readonly="!scope.row.flag"
+                ></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="是否退回" width="100">
+            <template slot-scope="scope">
+              <el-switch
+                v-model="scope.row.flag"
+                @change="handleSwitch(scope.$index, scope.row)"
+                :disabled="!isShow"
+              ></el-switch>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column label="备注" prop="memo" width="200">
+              <template slot-scope="scope">
+                  <el-form-item
+                      label-width="0"
+                      class="item"
+                      :prop="scope.$index + '.memo'"
+                  >
+                      <el-input placeholder="请输入" v-model="scope.row.memo"></el-input>
+                  </el-form-item>
+              </template>
+          </el-table-column> -->
+        </el-table>
+      </el-form>
+
+      <div class="foot-button">
+        <el-button
+          type="primary"
+          v-if="isShow"
+          @click="handleAccept"
+          :loading="aaLoad"
+          >确 认</el-button
+        >
+        <el-button type="primary" @click="handleBack">取 消</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import ylStep from "@/components/yl-step";
+import mcsInfo from "@/views/components/mcs-info.vue";
+import ylPagination from "@/components/yl-pagination";
+import { getMcsDetlList, acpMcsOrd } from "@/api/orderManage-sup/index";
+export default {
+  components: {
+    ylStep,
+    ylPagination,
+    mcsInfo
+  },
+  data() {
+    return {
+      cShow: false,
+      listForm: {
+        id: "",
+        detlCnt: "",
+        qtySum: "",
+        purcAmt: "",
+        docmker: "",
+        docmkDate: "",
+        stas: "",
+        deptName: ""
+      },
+      listLoading: false,
+      list: [],
+      aaLoad: false,
+      isShow: false,
+      stasOptions: [
+        { value: "A", lable: "未受理" },
+        { value: "B", lable: "已受理" },
+        { value: "R", lable: "被退回" },
+        { value: "C", lable: "已出库" },
+        { value: "D", lable: "部分出库" },
+        { value: "Y", lable: "已入库" },
+        { value: "P", lable: "部分入库" }
+      ],
+      listQuery: {
+        prodEntp: "",
+        isFas: "",
+        regcertno: ""
+      },
+      isFasData: [{ value: "1", name: "是" }, { value: "0", name: "否" }]
+    };
+  },
+  created() {
+    if (this.$route.query.stas == "A") {
+      this.isShow = true;
+    } else {
+      this.isShow = false;
+    }
+    if (this.$route.query.purcType == "2") {
+      this.cShow = true;
+    } else {
+      this.cShow = false;
+    }
+    this.listForm.id = this.$route.query.id;
+    this.listForm.detlCnt = this.$route.query.detlCnt;
+    this.listForm.purcAmt = this.$route.query.purcAmt;
+    this.listForm.qtySum = this.$route.query.qtySum;
+    this.listForm.docmker = this.$route.query.docmker;
+    this.listForm.docmkDate = this.$route.query.docmkDate;
+    this.listForm.deptName = this.$route.query.deptName;
+    this.listForm.branchName = this.$route.query.branchName;
+    this.listForm.oprn = this.$route.query.oprn;
+    this.listForm.oprtRoom = this.$route.query.oprtRoom;
+    this.listForm.oprtTime = this.$route.query.oprtTime;
+    this.listForm.atddr = this.$route.query.atddr;
+    this.stasOptions.forEach(i => {
+      if (i.value == this.$route.query.stas) {
+        this.listForm.stas = i.lable;
+      }
+    });
+    this.getData();
+  },
+  methods: {
+    getData() {
+      this.listLoading = true;
+      getMcsDetlList({
+        id: this.$route.query.id,
+        spdId: this.$route.query.spdId,
+        prodEntp: this.listQuery.prodEntp,
+        isFas: this.listQuery.isFas,
+        regcertno: this.listQuery.regcertno
+      })
+        .then(res => {
+          this.list = res.data;
+          this.list.forEach(i => {
+            if (i.rejtRea) {
+              i.flag = true;
+            }
+          });
+          this.listLoading = false;
+        })
+        .catch(err => {
+          this.listLoading = false;
+        });
+    },
+    // 是否驳回开关
+    handleSwitch(index, row) {
+      // console.log(row.flag);
+      // console.log(row);
+      if (row.flag == false) {
+        row.rejtRea = "";
+      } else {
+      }
+    },
+    // 受理
+    handleAccept() {
+      this.list.forEach(e => {
+        if (e.flag == true && !e.rejtRea) {
+          this.$message({
+            message: "选择是否退回后请填写退回原因",
+            type: "warning"
+          });
+          throw new Error("选择是否退回后请填写退回原因");
+        }
+      });
+      this.$confirm("确认受理", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        // let data = this.list.filter((i) => {
+        //   if (i.flag == true) {
+        //     return i;
+        //   }
+        // });
+        // let data2 = data.map((i) => {
+        //   if(i.flag == true){
+        //     return { id: i.id, memo: i.memo };
+        //   }
+        // });
+        let arr = [];
+        let arr1 = [];
+        this.list.forEach(i => {
+          if (i.flag == true) {
+            arr.push({ id: i.id, rejtRea: i.rejtRea, stas: "R" });
+          } else {
+            arr1.push({ id: i.id, stas: "B" });
+          }
+        });
+        let data2 = arr.concat(arr1);
+        let data3 = {
+          id: this.$route.query.id,
+          spdId: this.$route.query.spdId,
+          rejtList: data2
+        };
+        this.aaLoad = true;
+        acpMcsOrd(data3)
+          .then(res => {
+            this.$message.success("受理成功");
+            this.aaLoad = false;
+            // this.$router.push("purOrderAccept");
+            this.$router.push({
+              name: "purOrderAccept",
+              query: {
+                spdId: this.$route.query.spdId,
+                activeName: this.$route.query.activeName
+              }
+            });
+          })
+          .catch(err => {
+            this.aaLoad = false;
+            this.$message.error("受理失败");
+          });
+      });
+    },
+    // 返回
+    handleBack() {
+      this.$router.push({
+        name: "purOrderAccept",
+        query: {
+          spdId: this.$route.query.spdId,
+          activeName: this.$route.query.activeName
+        }
+      });
+    },
+    // 重置
+    reset() {
+      this.$refs.listQuery.resetFields();
+      this.getData();
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 13 - 0
src/views/page/report-sup/consum-report/const.js

@@ -0,0 +1,13 @@
+export const exportData = (data) => {
+  let blob = new Blob([data], {
+    type: "application/vnd.ms-excel;charset=utf-8",
+  });
+  let downloadElement = document.createElement("a");
+  let href = window.URL.createObjectURL(blob);
+  downloadElement.href = href;
+  downloadElement.download = "报表明细.xlsx";
+  document.body.appendChild(downloadElement);
+  downloadElement.click();
+  document.body.removeChild(downloadElement);
+  window.URL.revokeObjectURL(href);
+};

+ 257 - 0
src/views/page/report-sup/consum-report/index.vue

@@ -0,0 +1,257 @@
+<template>
+  <!-- 消息中心 -->
+  <div style="display: flex">
+    <el-card style="width: 18%; margin-right: 18px; border-radius: 6px">
+      <el-tabs
+        v-model="activeNametree"
+        type="card"
+        @tab-click="tabClick"
+        stretch
+      >
+        <!-- <el-tab-pane label="按分类" name="grp"></el-tab-pane> -->
+        <el-tab-pane label="按机构" name="org"></el-tab-pane>
+      </el-tabs>
+      <el-tree
+        :data="data"
+        :props="defaultProps"
+        node-key="spdId"
+        @node-click="handleNodeClick"
+        default-expand-all="true"
+        style="margin-top: 10px"
+      >
+        <span class="custom-tree-node" slot-scope="{ node, data }">
+          <div>{{ node.label }}</div>
+        </span>
+      </el-tree>
+    </el-card>
+    <div class="right-common-box">
+      <el-form :model="listQuery" ref="queryForm" :inline="true">
+        <el-form-item label="时间" prop="docmkDate" class="long">
+          <el-date-picker
+            v-model="listQuery.docmkDate"
+            type="daterange"
+            range-separator="至"
+            :editable="false"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+            style="width: 230px"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="getorderData('search')"
+            >查询
+          </el-button>
+          <el-button @click="reset">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <div class="right-btn">
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          @click="DownloadData()"
+          >导出</el-button
+        >
+      </div>
+      <el-table
+        v-loading="listLoading"
+        element-loading-text="加载中"
+        :data="list"
+        fit
+        stripe
+        border
+        show-summary
+        :summary-method="getSummaries"
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column type="index" label="序号" width="60" />
+        <el-table-column label="机构名称" prop="orgName" />
+        <el-table-column label="对账金额" prop="dzje" />
+        <el-table-column label="退货金额" prop="thje" />
+        <el-table-column label="应付总金额" prop="yfzje" />
+        <el-table-column label="卫生院(非4+7)" prop="wsyfjcje" />
+        <el-table-column label="卫生院(4+7)" prop="wsyjcje" />
+        <el-table-column label="卫生室(非4+7)" prop="wssfjcje" />
+        <el-table-column label="卫生室(4+7)" prop="wssfjcje" />
+      </el-table>
+      <!--分页-->
+      <yl-pagination
+        v-show="total > 0"
+        :total="total"
+        :page.sync="listQuery.current"
+        :limit.sync="listQuery.size"
+        @pagination="getorderData"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+import ylPagination from "@/components/yl-pagination";
+import {
+  getMcsOrdPageSpler,
+  getMcsOrdPageYqrSpler,
+  selectSpdList
+} from "@/api/orderManage-sup/index";
+import { exportData } from "./const";
+import {
+  getSelectRkAmtPage,
+  exportRkAmtList
+} from "@/api/report-sup/consum-report";
+import moment from "moment";
+const startOfMonth = moment()
+  .startOf("month")
+  .format("YYYY-MM-DD HH:mm:ss");
+const endOfMonth = moment()
+  .endOf("month")
+  .format("YYYY-MM-DD HH:mm:ss");
+export default {
+  components: {
+    ylPagination
+  },
+  data() {
+    return {
+      activeNametree: "org",
+      data: [],
+      spdId: null,
+      defaultProps: {
+        children: "children",
+        label: "spdName"
+      },
+      listQuery: {
+        current: 1,
+        size: 10,
+        docmkDateStart: "",
+        docmkDateEnd: "",
+        docmkDate: [startOfMonth, endOfMonth],
+        spdId: ""
+      },
+      options: [],
+      listLoading: false,
+      list: [],
+      total: 0
+    };
+  },
+  mounted() {
+    this.getData();
+  },
+  methods: {
+    //数据导出
+    DownloadData() {
+      exportRkAmtList({
+        ...this.listQuery
+      }).then(res => {
+        const _res = res.data;
+        exportData(_res);
+      });
+    },
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "总计";
+          return;
+        }
+        const values = data.map(item => Number(item[column.property]));
+        if (!values.every(value => isNaN(value))) {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index] += " ";
+        } else {
+          sums[index] = "";
+        }
+      });
+
+      return sums;
+    },
+    tabClick(tab) {
+      if (tab.label == "按机构") {
+        this.defaultProps.label = "spdName";
+      }
+    },
+    // 获取医院列表
+    getData(type) {
+      this.data = [];
+      selectSpdList()
+        .then(res => {
+          this.listQuery.spdId = res.data[0].spdId;
+          this.data = res.data;
+          this.getorderData("search");
+        })
+        .catch(err => {});
+    },
+    getorderData(type) {
+      if (type == "search") {
+        this.listQuery.current = 1;
+      }
+      this.listLoading = true;
+      this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
+      this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
+      getSelectRkAmtPage(this.listQuery)
+        .then(res => {
+          this.list = res.data;
+          this.listLoading = false;
+        })
+        .catch(err => {
+          this.listLoading = false;
+        });
+    },
+    // 点击获取耗材列表
+    handleNodeClick(data) {
+      this.listLoading = true;
+      this.spdId = data.spdId;
+      this.listQuery.spdId = this.spdId;
+      this.getorderData("");
+    },
+    reset() {
+      this.$refs.queryForm.resetFields();
+      this.getorderData();
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .long .el-input__inner {
+  width: 199px;
+}
+.right-common-box ::v-deep .el-table__fixed {
+  height: 100% !important;
+}
+
+.right-common-box ::v-deep .el-table__fixed-right {
+  height: 100% !important;
+}
+.custom-tree-node {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+}
+.custom-tree-node ::v-deep .redTit {
+  min-width: 30px;
+  background-color: #f56c6c;
+  min-height: 1px;
+  border-radius: 10px;
+  text-align: center;
+  margin-left: 10px;
+  padding: 1px;
+  color: #fff;
+}
+.right-btn {
+  width: 100px;
+  height: 40px;
+  position: absolute;
+  right: 20px;
+  top: 30px;
+}
+</style>