| 
					
				 | 
			
			
				@@ -0,0 +1,203 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="layout_container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-input v-model.trim="inDocuNo" class="w-50 m-2" style="width: 280px" placeholder="请输入单号" clearable> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #prepend>单号</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-select v-model="groupNoYf" placeholder="请选择药房" style="width: 140px; margin-left: 3px" @change="queryItem"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-option v-for="item in groupNoYfData" :key="item.value" :label="item.label" :value="item.value"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-select v-model="groupNoYk" placeholder="请选择药库" style="width: 140px; margin-left: 3px" @change="queryItem"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-option v-for="item in groupNoYkData" :key="item.value" :label="item.label" :value="item.value"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-select v-model="retFlag" placeholder="请选择审核状态" style="width: 140px; margin-left: 3px" @change="queryItem"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-option v-for="item in retOptions" :key="item.value" :label="item.label" :value="item.value"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期" :clearable="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end-placeholder="结束日期" :shortcuts="shortcuts" style="width: 300px; margin-left: 3px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-date-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-divider direction="vertical" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="primary" icon="Search" @click="queryBaseInfo" style="margin-left: 5px">查询</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="layout_main"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-tabs class="el-tabs__fill" v-model="editableTabsValue" type="border-card" @tab-click="handleClick"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-tab-pane key="ypApply" label="药品请领" name="ypApply"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="layout_display_flex_y"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="layout_flex_1-y"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-table :data="ypApplyData.slice(pageSize * (currentPage - 1), pageSize * currentPage)" border 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        stripe highlight-current-row height="100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column type="index" label="序号" width="50" fixed/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column prop="drawNo" label="单号" width="160" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column prop="planDate" label="请领日期" width="240"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column prop="drawerName" label="请领人" width="160" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column prop="statusFlag" label="状态" width="120"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <span class="status" v-if="scope.row.statusFlag === '1' ">已确认</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <span v-else>未确认</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column prop="groupNamePharmacy" label="药房名称" width="160" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column prop="groupName" label="药库名称" width="160"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-table-column fixed="right" label="操作" min-width="120" width="120" center> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-button type="primary" size="small" @click="queryYpApplyDetail(scope.row)">查看请领单明细</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-pagination :current-page="currentPage" :page-size="pageSize" :page-sizes="[10, 15, 20, 25]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             :total="ypApplyData.length" layout="total, sizes, prev, pager, next, jumper" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             style="margin-top: 5px" @size-change="handleSizeChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             @current-change="handleCurrentChange"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-pagination> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <el-dialog v-model="showYpApplyMx" :close-on-click-modal="false" :close-on-press-escape="false" :title="ypApplyTitle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             class="yp-edit-dialog" top="4vh" width="80%" height="80%" destroy-on-close> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <YpApplyDetail :ypApplyMx="ypApplyDetail" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script setup name="YpApplyInfo"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {nextTick, onMounted, ref} from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {shortcuts} from "@/data/shortcuts.js"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {formatDate, getDateRangeFormatDate} from "@/utils/date.js"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {selectGroupNoInfo} from "@/api/yp-dict/yp-comm-dict.js"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {ElMessage} from "element-plus"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {selectYpApplyData, selectYpApplyDetail} from "@/api/yp-inventory/yp_apply_info.js"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import YpApplyDetail from "@/views/yp-inventory/YpApplyDetail.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const inDocuNo = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const retFlag = ref('2') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const start = formatDate(shortcuts[0].value[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const end = formatDate(shortcuts[0].value[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const dateRange = ref([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const editableTabsValue = ref("ypApply") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const ypApplyData = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const groupNoYf = ref('71') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const groupNoYfData = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const groupNoYk = ref("11") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const groupNoYkData = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const pageSize = ref(20) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const currentPage = ref(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleSizeChange = (val) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageSize.value = val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleCurrentChange = (val) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  currentPage.value = val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryData = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  startTime: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  endTime: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  drawNo: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  groupNo: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  groupYk: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  statusFlag: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const retOptions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { value: "1", label: "未确认" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { value: "2", label: "已确认" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryData.value.startTime = start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryData.value.endTime = end + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dateRange.value = [start, end]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryGroupNoInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryYpApplyData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryGroupNoInfo = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  selectGroupNoInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      groupNoYfData.value = res.yfList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      groupNoYkData.value = res.ykList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      groupNoYfData.value = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      groupNoYkData.value = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleClick = (tab, event) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 查询哪个tab页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  editableTabsValue.value = tab.props.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (editableTabsValue.value === "ypApply") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryYpApplyData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } if(editableTabsValue.value === "baseDept"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryBaseInfo = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (editableTabsValue.value === "ypApply") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryYpApplyData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } if(editableTabsValue.value === "baseDept"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryYpApplyData = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (dateRange.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let dateS = getDateRangeFormatDate(dateRange.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryData.value.startTime = dateS.startTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryData.value.endTime = dateS.endTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryData.value.startTime = start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryData.value.endTime = end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: "info", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message: "默认查询本月的数据", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      duration: 2500, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showClose: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queryData.value.drawNo = inDocuNo.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queryData.value.groupNo = groupNoYf.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queryData.value.groupYk = groupNoYk.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queryData.value.statusFlag = retFlag.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  selectYpApplyData(queryData.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ypApplyData.value = res 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ypApplyData.value = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 动态查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryItem = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (editableTabsValue.value === "ypApply") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryYpApplyData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else if (editableTabsValue.value === "ypPurchase") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 查询明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const showYpApplyMx = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const ypApplyTitle = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const ypApplyDetail = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryYpApplyDetail = (row) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log(row) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  selectYpApplyDetail(row.drawNo).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ypApplyTitle.value = '药品请领【查询】' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ypApplyDetail.value = res 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showYpApplyMx.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 |