|  | @@ -1,203 +1,214 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -    <page-layer>
 | 
	
		
			
				|  |  | -        <template #header>
 | 
	
		
			
				|  |  | -            <el-input v-model="inpatientNo" class="w-50 m-2" style="width: 220px" placeholder="请输入姓名/住院号" clearable>
 | 
	
		
			
				|  |  | -            </el-input>
 | 
	
		
			
				|  |  | -            <el-select v-model="chargeCode" placeholder="请选择临购药品" filterable clearable
 | 
	
		
			
				|  |  | -                style="width: 320px;margin-left: 3px">
 | 
	
		
			
				|  |  | -                <el-option v-for="item in tempPurchaseData" :key="item.chargeCode" :label="item.chargeName"
 | 
	
		
			
				|  |  | -                    :value="item.chargeCode">
 | 
	
		
			
				|  |  | -                    <span style="float: left">{{ item.chargeName }}</span>
 | 
	
		
			
				|  |  | -                    <span style="float: right; color: var(--el-text-color-secondary); font-size: 13px; ">
 | 
	
		
			
				|  |  | +  <div class="layout_display_flex_y">
 | 
	
		
			
				|  |  | +    <div style="margin-bottom: 6px; background-color: #fff;">
 | 
	
		
			
				|  |  | +      <el-input v-model="inpatientNo" class="w-50 m-2" style="width: 220px" placeholder="请输入姓名/住院号" clearable>
 | 
	
		
			
				|  |  | +      </el-input>
 | 
	
		
			
				|  |  | +      <el-select v-model="chargeCode" placeholder="请选择临购药品" filterable clearable
 | 
	
		
			
				|  |  | +                 style="width: 320px;margin-left: 3px">
 | 
	
		
			
				|  |  | +        <el-option v-for="item in tempPurchaseData" :key="item.chargeCode" :label="item.chargeName"
 | 
	
		
			
				|  |  | +                   :value="item.chargeCode">
 | 
	
		
			
				|  |  | +          <span style="float: left">{{ item.chargeName }}</span>
 | 
	
		
			
				|  |  | +          <span style="float: right; color: var(--el-text-color-secondary); font-size: 13px; ">
 | 
	
		
			
				|  |  |                          {{ item.chargeCode }}
 | 
	
		
			
				|  |  |                      </span>
 | 
	
		
			
				|  |  | -                </el-option>
 | 
	
		
			
				|  |  | -            </el-select>
 | 
	
		
			
				|  |  | -            <el-select v-model="ztFlag" placeholder="请选择申请进度" clearable style="width: 140px;margin-left: 3px">
 | 
	
		
			
				|  |  | -                <el-option v-for="item in ztOptions" :key="item.value" :label="item.label" :value="item.value">
 | 
	
		
			
				|  |  | -                </el-option>
 | 
	
		
			
				|  |  | -            </el-select>
 | 
	
		
			
				|  |  | -            <el-date-picker v-model="dateRange" type="daterange" :shortcuts="maxHalfYear" range-separator="至"
 | 
	
		
			
				|  |  | -                start-placeholder="开始时间" end-placeholder="结束时间" style="width: 260px;margin-left: 3px">
 | 
	
		
			
				|  |  | -            </el-date-picker>
 | 
	
		
			
				|  |  | -            <el-button type="primary" icon="Search" @click="queryYpTempPurchaseData"
 | 
	
		
			
				|  |  | -                style="margin-left: 5px">查询</el-button>
 | 
	
		
			
				|  |  | -            <el-button type="primary" icon="Download" @click="exportData" style="margin-left: 5px">导出</el-button>
 | 
	
		
			
				|  |  | -        </template>
 | 
	
		
			
				|  |  | -        <template #main>
 | 
	
		
			
				|  |  | -            <el-tabs v-model="editableTabsValue" type="border-card" @tab-click="handleClick">
 | 
	
		
			
				|  |  | -                <el-tab-pane key="ypPurchase" label="明细" name="ypPurchaseInfo">
 | 
	
		
			
				|  |  | -                    <el-table :data="ypPurchaseData.slice(pageSize * (currentPage - 1), pageSize * currentPage)" border
 | 
	
		
			
				|  |  | -                        style="width: 100%" :height="tableHeight" stripe highlight-current-row>
 | 
	
		
			
				|  |  | -                        <el-table-column type="index" label="序号" width="60" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="chargeCode" label="药品编码" width="90" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="serial" label="药品包装" width="70">
 | 
	
		
			
				|  |  | -                            <template #default="scope">
 | 
	
		
			
				|  |  | -                                <span v-if="scope.row.serial === '99'">大包装</span>
 | 
	
		
			
				|  |  | -                                <span v-else>小包装</span>
 | 
	
		
			
				|  |  | -                            </template>
 | 
	
		
			
				|  |  | -                        </el-table-column>
 | 
	
		
			
				|  |  | -                        <el-table-column prop="chargeName" label="药品名称" width="220" show-overflow-tooltip />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="specification" label="药品规格" width="140" show-overflow-tooltip />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="name" label="患者姓名" width="100" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="inpatientNo" label="住院号" width="100" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="amount" label="数量" width="70" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="useResult" label="使用理由" width="200" show-overflow-tooltip />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="op" label="申请人" width="100" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="applyDate" label="申请时间" width="140" />
 | 
	
		
			
				|  |  | -                        <el-table-column prop="receptFlag" label="是否接收" width="80">
 | 
	
		
			
				|  |  | -                            <template #default="scope">
 | 
	
		
			
				|  |  | -                                <span v-if="scope.row.receptFlag === '1'" style="color:#106898;">已接收</span>
 | 
	
		
			
				|  |  | -                                <span v-else-if="scope.row.receptFlag === '0'" style="color:#d12020;">拒接收</span>
 | 
	
		
			
				|  |  | -                                <span v-else></span>
 | 
	
		
			
				|  |  | -                            </template>
 | 
	
		
			
				|  |  | -                        </el-table-column>
 | 
	
		
			
				|  |  | -                        <el-table-column prop="purchaseFlag" label="是否采购" width="80">
 | 
	
		
			
				|  |  | -                            <template #default="scope">
 | 
	
		
			
				|  |  | -                                <span v-if="scope.row.purchaseFlag === '1'" style="color:#106898;">已采购</span>
 | 
	
		
			
				|  |  | -                                <span v-else-if="scope.row.purchaseFlag === '0'" style="color:#d12020;">拒采购</span>
 | 
	
		
			
				|  |  | -                                <span v-else></span>
 | 
	
		
			
				|  |  | -                            </template>
 | 
	
		
			
				|  |  | -                        </el-table-column>
 | 
	
		
			
				|  |  | -                        <el-table-column prop="storageFlag" label="是否入库" width="80">
 | 
	
		
			
				|  |  | -                            <template #default="scope">
 | 
	
		
			
				|  |  | -                                <span v-if="scope.row.storageFlag === '1'" style="color:#106898;">已入库</span>
 | 
	
		
			
				|  |  | -                                <span v-else-if="scope.row.storageFlag === '0'" style="color:#d12020;">拒入库</span>
 | 
	
		
			
				|  |  | -                                <span v-else></span>
 | 
	
		
			
				|  |  | -                            </template>
 | 
	
		
			
				|  |  | -                        </el-table-column>
 | 
	
		
			
				|  |  | -                        <el-table-column prop="result" label="采购情况" width="200" show-overflow-tooltip />
 | 
	
		
			
				|  |  | -                        <el-table-column fixed="right" label="操作" min-width="80" width="80" header-align="center"
 | 
	
		
			
				|  |  | -                            align="center">
 | 
	
		
			
				|  |  | -                            <template #default="scope">
 | 
	
		
			
				|  |  | -                                <el-button type="primary" size="small" v-if="scope.row.permissions === '1'"
 | 
	
		
			
				|  |  | -                                    @click="auditTempPurchase(scope.row)">审核</el-button>
 | 
	
		
			
				|  |  | -                                <el-button type="primary" size="small" v-if="scope.row.permissions === '0'"
 | 
	
		
			
				|  |  | -                                    @click="editTempPurchase(scope.row)">修改</el-button>
 | 
	
		
			
				|  |  | -                            </template>
 | 
	
		
			
				|  |  | -                        </el-table-column>
 | 
	
		
			
				|  |  | -                    </el-table>
 | 
	
		
			
				|  |  | -                    <el-pagination :current-page="currentPage" :page-size="pageSize" :page-sizes="[15, 30, 45, 60]"
 | 
	
		
			
				|  |  | -                        :total="ypPurchaseData.length" layout="total, sizes, prev, pager, next, jumper"
 | 
	
		
			
				|  |  | -                        style="margin-top: 5px" @size-change="handleSizeChange" @current-change="handleCurrentChange">
 | 
	
		
			
				|  |  | -                    </el-pagination>
 | 
	
		
			
				|  |  | -                    <el-dialog v-model="showAuditTempPurchase" :close-on-click-modal="false"
 | 
	
		
			
				|  |  | -                        :close-on-press-escape="false" :title="auditTempPurchaseName" width="80%" destroy-on-close>
 | 
	
		
			
				|  |  | -                        <TempPurchaseAudit :ypTempPurchaseDetail="ypTempPurchaseDetail"
 | 
	
		
			
				|  |  | -                            @closeTempPurchaseAudit="closeTempPurchaseAudit" />
 | 
	
		
			
				|  |  | -                    </el-dialog>
 | 
	
		
			
				|  |  | -                    <el-dialog v-model="showEditTempPurchase" :close-on-click-modal="false"
 | 
	
		
			
				|  |  | -                        :close-on-press-escape="false" :title="editTempPurchaseName" width="80%" destroy-on-close>
 | 
	
		
			
				|  |  | -                        <TempPurchaseEdit :ypTempPurchaseEditData="ypTempPurchaseEditData"
 | 
	
		
			
				|  |  | -                            @closeTempPurchaseEdit="closeTempPurchaseEdit" />
 | 
	
		
			
				|  |  | -                    </el-dialog>
 | 
	
		
			
				|  |  | -                </el-tab-pane>
 | 
	
		
			
				|  |  | -                <el-tab-pane key="ypPurchase" label="申请" name="ypPurchase">
 | 
	
		
			
				|  |  | -                    <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px"
 | 
	
		
			
				|  |  | -                        class="demo-ruleForm" :size="formSize" status-icon>
 | 
	
		
			
				|  |  | -                        <el-row>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="药品" prop="chargeCode">
 | 
	
		
			
				|  |  | -                                    <el-select v-model="ruleForm.chargeCode" placeholder="请选择药品" filterable clearable
 | 
	
		
			
				|  |  | -                                        style="width: 100%" @change="ypChange">
 | 
	
		
			
				|  |  | -                                        <el-option v-for="item in tempPurchaseData" :key="item.chargeCode"
 | 
	
		
			
				|  |  | -                                            :label="item.chargeName" :value="item.chargeCode">
 | 
	
		
			
				|  |  | -                                            <span style="float: left">{{ item.chargeName }}</span>
 | 
	
		
			
				|  |  | -                                            <span
 | 
	
		
			
				|  |  | -                                                style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">
 | 
	
		
			
				|  |  | -                                                {{ item.chargeCode }}
 | 
	
		
			
				|  |  | -                                            </span>
 | 
	
		
			
				|  |  | -                                        </el-option>
 | 
	
		
			
				|  |  | -                                    </el-select>
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="序号" prop="serial">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.serial" maxlength="2" show-word-limit placeholder="序号"
 | 
	
		
			
				|  |  | -                                        disabled />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="规格" prop="specification">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.specification" maxlength="40" show-word-limit
 | 
	
		
			
				|  |  | -                                        placeholder="规格" disabled />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="数量" prop="amount">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.amount" maxlength="10" show-word-limit
 | 
	
		
			
				|  |  | -                                        placeholder="请填写数量" autocomplete="off" />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                        </el-row>
 | 
	
		
			
				|  |  | -                        <el-row>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="申请人" prop="op">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.op" maxlength="40" show-word-limit
 | 
	
		
			
				|  |  | -                                        placeholder="请填写申请人" />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="患者姓名" prop="name">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.name" maxlength="40" show-word-limit
 | 
	
		
			
				|  |  | -                                        placeholder="请填写患者姓名" />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="住院号" prop="inpatientNo">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.inpatientNo" maxlength="6" show-word-limit
 | 
	
		
			
				|  |  | -                                        placeholder="请填写住院号" />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                            <el-col :span="6">
 | 
	
		
			
				|  |  | -                                <el-form-item label="申请日期" prop="applyDate">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.applyDate" show-word-limit placeholder="请填写申请日期"
 | 
	
		
			
				|  |  | -                                        disabled />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                        </el-row>
 | 
	
		
			
				|  |  | -                        <el-row>
 | 
	
		
			
				|  |  | -                            <el-col :span="24">
 | 
	
		
			
				|  |  | -                                <el-form-item label="使用理由" prop="useResult">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="ruleForm.useResult" show-word-limit placeholder="请填写使用理由" />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                        </el-row>
 | 
	
		
			
				|  |  | -                        <el-row>
 | 
	
		
			
				|  |  | -                            <el-col :span="24">
 | 
	
		
			
				|  |  | -                                <el-form-item label="温馨提示" prop="desc">
 | 
	
		
			
				|  |  | -                                    <el-input v-model="desc" show-word-limit placeholder="温馨提示" disabled />
 | 
	
		
			
				|  |  | -                                </el-form-item>
 | 
	
		
			
				|  |  | -                            </el-col>
 | 
	
		
			
				|  |  | -                        </el-row>
 | 
	
		
			
				|  |  | -                        <el-form-item>
 | 
	
		
			
				|  |  | -                            <el-button type="primary" @click="submitForm(ruleFormRef)">
 | 
	
		
			
				|  |  | -                                申请
 | 
	
		
			
				|  |  | -                            </el-button>
 | 
	
		
			
				|  |  | -                            <el-button type="info" @click="resetForm(ruleFormRef)">重置</el-button>
 | 
	
		
			
				|  |  | -                        </el-form-item>
 | 
	
		
			
				|  |  | -                    </el-form>
 | 
	
		
			
				|  |  | -                </el-tab-pane>
 | 
	
		
			
				|  |  | -            </el-tabs>
 | 
	
		
			
				|  |  | -        </template>
 | 
	
		
			
				|  |  | -    </page-layer>
 | 
	
		
			
				|  |  | +        </el-option>
 | 
	
		
			
				|  |  | +      </el-select>
 | 
	
		
			
				|  |  | +      <el-select v-model="ztFlag" placeholder="请选择申请进度" clearable style="width: 140px;margin-left: 3px">
 | 
	
		
			
				|  |  | +        <el-option v-for="item in ztOptions" :key="item.value" :label="item.label" :value="item.value">
 | 
	
		
			
				|  |  | +        </el-option>
 | 
	
		
			
				|  |  | +      </el-select>
 | 
	
		
			
				|  |  | +      <el-date-picker v-model="dateRange" type="daterange" :shortcuts="maxHalfYear" range-separator="至"
 | 
	
		
			
				|  |  | +                      start-placeholder="开始时间" end-placeholder="结束时间" style="width: 260px;margin-left: 3px">
 | 
	
		
			
				|  |  | +      </el-date-picker>
 | 
	
		
			
				|  |  | +      <el-button type="primary" icon="Search" @click="queryYpTempPurchaseData"
 | 
	
		
			
				|  |  | +                 style="margin-left: 5px">查询
 | 
	
		
			
				|  |  | +      </el-button>
 | 
	
		
			
				|  |  | +      <el-button type="primary" icon="Download" @click="exportData" style="margin-left: 5px">导出</el-button>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +    <div class="layout_display_flex_y">
 | 
	
		
			
				|  |  | +      <el-tabs class="cy-el-tabs__fill" v-model="editableTabsValue" type="border-card" @tab-click="handleClick">
 | 
	
		
			
				|  |  | +        <el-tab-pane key="ypPurchase" label="明细" name="ypPurchaseInfo">
 | 
	
		
			
				|  |  | +          <div class="layout_display_flex_y">
 | 
	
		
			
				|  |  | +            <div class="layout_flex_1-y">
 | 
	
		
			
				|  |  | +              <el-table :data="ypPurchaseData.slice(pageSize * (currentPage - 1), pageSize * currentPage)" border
 | 
	
		
			
				|  |  | +                        style="width: 100%" height="100%" stripe highlight-current-row>
 | 
	
		
			
				|  |  | +                <el-table-column type="index" label="序号" width="60"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="chargeCode" label="药品编码" width="90"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="serial" label="药品包装" width="70">
 | 
	
		
			
				|  |  | +                  <template #default="scope">
 | 
	
		
			
				|  |  | +                    <span v-if="scope.row.serial === '99'">大包装</span>
 | 
	
		
			
				|  |  | +                    <span v-else>小包装</span>
 | 
	
		
			
				|  |  | +                  </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column prop="chargeName" label="药品名称" width="220" show-overflow-tooltip/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="specification" label="药品规格" width="140" show-overflow-tooltip/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="name" label="患者姓名" width="100"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="inpatientNo" label="住院号" width="100"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="amount" label="数量" width="70"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="useResult" label="使用理由" width="200" show-overflow-tooltip/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="op" label="申请人" width="100"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="applyDate" label="申请时间" width="140"/>
 | 
	
		
			
				|  |  | +                <el-table-column prop="receptFlag" label="是否接收" width="80">
 | 
	
		
			
				|  |  | +                  <template #default="scope">
 | 
	
		
			
				|  |  | +                    <span v-if="scope.row.receptFlag === '1'" style="color:#106898;">已接收</span>
 | 
	
		
			
				|  |  | +                    <span v-else-if="scope.row.receptFlag === '0'" style="color:#d12020;">拒接收</span>
 | 
	
		
			
				|  |  | +                    <span v-else></span>
 | 
	
		
			
				|  |  | +                  </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column prop="purchaseFlag" label="是否采购" width="80">
 | 
	
		
			
				|  |  | +                  <template #default="scope">
 | 
	
		
			
				|  |  | +                    <span v-if="scope.row.purchaseFlag === '1'" style="color:#106898;">已采购</span>
 | 
	
		
			
				|  |  | +                    <span v-else-if="scope.row.purchaseFlag === '0'" style="color:#d12020;">拒采购</span>
 | 
	
		
			
				|  |  | +                    <span v-else></span>
 | 
	
		
			
				|  |  | +                  </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column prop="storageFlag" label="是否入库" width="80">
 | 
	
		
			
				|  |  | +                  <template #default="scope">
 | 
	
		
			
				|  |  | +                    <span v-if="scope.row.storageFlag === '1'" style="color:#106898;">已入库</span>
 | 
	
		
			
				|  |  | +                    <span v-else-if="scope.row.storageFlag === '0'" style="color:#d12020;">拒入库</span>
 | 
	
		
			
				|  |  | +                    <span v-else></span>
 | 
	
		
			
				|  |  | +                  </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column prop="result" label="采购情况" width="200" show-overflow-tooltip/>
 | 
	
		
			
				|  |  | +                <el-table-column fixed="right" label="操作" min-width="80" width="80" header-align="center"
 | 
	
		
			
				|  |  | +                                 align="center">
 | 
	
		
			
				|  |  | +                  <template #default="scope">
 | 
	
		
			
				|  |  | +                    <el-button type="primary" size="small" v-if="scope.row.permissions === '1'"
 | 
	
		
			
				|  |  | +                               @click="auditTempPurchase(scope.row)">审核
 | 
	
		
			
				|  |  | +                    </el-button>
 | 
	
		
			
				|  |  | +                    <el-button type="primary" size="small" v-if="scope.row.permissions === '0'"
 | 
	
		
			
				|  |  | +                               @click="editTempPurchase(scope.row)">修改
 | 
	
		
			
				|  |  | +                    </el-button>
 | 
	
		
			
				|  |  | +                  </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +              </el-table>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +              <el-pagination :current-page="currentPage" :page-size="pageSize" :page-sizes="[15, 30, 45, 60]"
 | 
	
		
			
				|  |  | +                             :total="ypPurchaseData.length" layout="total, sizes, prev, pager, next, jumper"
 | 
	
		
			
				|  |  | +                             style="margin-top: 5px" @size-change="handleSizeChange"
 | 
	
		
			
				|  |  | +                             @current-change="handleCurrentChange">
 | 
	
		
			
				|  |  | +              </el-pagination>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          <el-dialog v-model="showAuditTempPurchase" :close-on-click-modal="false" :before-close="handleClose"
 | 
	
		
			
				|  |  | +                     :close-on-press-escape="false" :title="auditTempPurchaseName" width="80%" destroy-on-close>
 | 
	
		
			
				|  |  | +            <TempPurchaseAudit :ypTempPurchaseDetail="ypTempPurchaseDetail"
 | 
	
		
			
				|  |  | +                               @closeTempPurchaseAudit="closeTempPurchaseAudit"/>
 | 
	
		
			
				|  |  | +          </el-dialog>
 | 
	
		
			
				|  |  | +          <el-dialog v-model="showEditTempPurchase" :close-on-click-modal="false" :before-close="handleClose"
 | 
	
		
			
				|  |  | +                     :close-on-press-escape="false" :title="editTempPurchaseName" width="80%" destroy-on-close>
 | 
	
		
			
				|  |  | +            <TempPurchaseEdit :ypTempPurchaseEditData="ypTempPurchaseEditData"
 | 
	
		
			
				|  |  | +                              @closeTempPurchaseEdit="closeTempPurchaseEdit"/>
 | 
	
		
			
				|  |  | +          </el-dialog>
 | 
	
		
			
				|  |  | +        </el-tab-pane>
 | 
	
		
			
				|  |  | +        <el-tab-pane key="ypPurchase" label="申请" name="ypPurchase">
 | 
	
		
			
				|  |  | +          <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px"
 | 
	
		
			
				|  |  | +                   class="demo-ruleForm" :size="formSize" status-icon>
 | 
	
		
			
				|  |  | +            <el-row>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="药品" prop="chargeCode">
 | 
	
		
			
				|  |  | +                  <el-select v-model="ruleForm.chargeCode" placeholder="请选择药品" filterable clearable
 | 
	
		
			
				|  |  | +                             style="width: 100%" @change="ypChange">
 | 
	
		
			
				|  |  | +                    <el-option v-for="item in tempPurchaseData" :key="item.chargeCode"
 | 
	
		
			
				|  |  | +                               :label="item.chargeName" :value="item.chargeCode">
 | 
	
		
			
				|  |  | +                      <span style="float: left">{{ item.chargeName }}</span>
 | 
	
		
			
				|  |  | +                      <span
 | 
	
		
			
				|  |  | +                          style="float: right; color: var(--el-text-color-secondary); font-size: 13px;">
 | 
	
		
			
				|  |  | +                          {{ item.chargeCode }}
 | 
	
		
			
				|  |  | +                        </span>
 | 
	
		
			
				|  |  | +                    </el-option>
 | 
	
		
			
				|  |  | +                  </el-select>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="序号" prop="serial">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.serial" maxlength="2" show-word-limit placeholder="序号"
 | 
	
		
			
				|  |  | +                            disabled/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="规格" prop="specification">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.specification" maxlength="40" show-word-limit
 | 
	
		
			
				|  |  | +                            placeholder="规格" disabled/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="数量" prop="amount">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.amount" maxlength="10" show-word-limit
 | 
	
		
			
				|  |  | +                            placeholder="请填写数量" autocomplete="off"/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +            </el-row>
 | 
	
		
			
				|  |  | +            <el-row>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="申请人" prop="op">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.op" maxlength="40" show-word-limit
 | 
	
		
			
				|  |  | +                            placeholder="请填写申请人" disabled/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="患者姓名" prop="name">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.name" maxlength="40" show-word-limit
 | 
	
		
			
				|  |  | +                            placeholder="请填写患者姓名"/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="住院号" prop="inpatientNo">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.inpatientNo" maxlength="6" show-word-limit
 | 
	
		
			
				|  |  | +                            placeholder="请填写住院号"/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col :span="6">
 | 
	
		
			
				|  |  | +                <el-form-item label="申请日期" prop="applyDate">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.applyDate" show-word-limit placeholder="请填写申请日期"
 | 
	
		
			
				|  |  | +                            disabled/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +            </el-row>
 | 
	
		
			
				|  |  | +            <el-row>
 | 
	
		
			
				|  |  | +              <el-col :span="24">
 | 
	
		
			
				|  |  | +                <el-form-item label="使用理由" prop="useResult">
 | 
	
		
			
				|  |  | +                  <el-input v-model="ruleForm.useResult" show-word-limit placeholder="请填写使用理由"/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +            </el-row>
 | 
	
		
			
				|  |  | +            <el-row>
 | 
	
		
			
				|  |  | +              <el-col :span="24">
 | 
	
		
			
				|  |  | +                <el-form-item label="温馨提示" prop="desc">
 | 
	
		
			
				|  |  | +                  <el-input v-model="desc" show-word-limit placeholder="温馨提示" disabled/>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +            </el-row>
 | 
	
		
			
				|  |  | +            <el-form-item>
 | 
	
		
			
				|  |  | +              <el-button type="primary" @click="submitForm(ruleFormRef)">
 | 
	
		
			
				|  |  | +                申请
 | 
	
		
			
				|  |  | +              </el-button>
 | 
	
		
			
				|  |  | +              <el-button type="info" @click="resetForm(ruleFormRef)">重置</el-button>
 | 
	
		
			
				|  |  | +            </el-form-item>
 | 
	
		
			
				|  |  | +          </el-form>
 | 
	
		
			
				|  |  | +        </el-tab-pane>
 | 
	
		
			
				|  |  | +      </el-tabs>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  | -<script setup name="YpTempPurchase">
 | 
	
		
			
				|  |  | -import { ref, onMounted, nextTick } from 'vue'
 | 
	
		
			
				|  |  | -import PageLayer from '@/layout/PageLayer.vue'
 | 
	
		
			
				|  |  | -import store from '@/store'
 | 
	
		
			
				|  |  | -import { ElMessage } from 'element-plus'
 | 
	
		
			
				|  |  | -import { Export } from '@/utils/ExportExcel'
 | 
	
		
			
				|  |  | -import { formatDatetime } from '@/utils/date'
 | 
	
		
			
				|  |  | -import { maxHalfYear } from '@/data/shortcuts'
 | 
	
		
			
				|  |  | -import { clone } from '@/utils/clone'
 | 
	
		
			
				|  |  | -import { selectYpTempPurchase, selectTempPurchaseYp, saveYpTempPurchase } from '@/api/yp-inventory/yp-temp-purchase.js'
 | 
	
		
			
				|  |  | +<script setup>
 | 
	
		
			
				|  |  | +import {ref, onMounted, nextTick} from 'vue'
 | 
	
		
			
				|  |  | +import {useUserStore} from '@/pinia/user-store'
 | 
	
		
			
				|  |  | +import {ElMessage} from 'element-plus'
 | 
	
		
			
				|  |  | +import {Export} from '@/utils/ExportExcel'
 | 
	
		
			
				|  |  | +import {formatDatetime, getDateRangeFormatDate} from '@/utils/date'
 | 
	
		
			
				|  |  | +import {maxHalfYear} from '@/data/shortcuts'
 | 
	
		
			
				|  |  | +import {clone} from '@/utils/clone'
 | 
	
		
			
				|  |  | +import {selectYpTempPurchase, selectTempPurchaseYp, saveYpTempPurchase} from '@/api/yp-inventory/yp-temp-purchase.js'
 | 
	
		
			
				|  |  |  import TempPurchaseAudit from '@/views/yp-inventory/TempPurchaseAudit.vue'
 | 
	
		
			
				|  |  |  import TempPurchaseEdit from '@/views/yp-inventory/TempPurchaseEdit.vue'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +const userInfo = useUserStore().userInfo
 | 
	
		
			
				|  |  |  const editableTabsValue = ref('ypPurchaseInfo')
 | 
	
		
			
				|  |  | -const userCode = store.state.user.info.code
 | 
	
		
			
				|  |  | -const userName = store.state.user.info.name
 | 
	
		
			
				|  |  | +const userCode = userInfo.code
 | 
	
		
			
				|  |  | +const userName = userInfo.name
 | 
	
		
			
				|  |  |  const ypPurchaseData = ref([])
 | 
	
		
			
				|  |  |  const inpatientNo = ref('')
 | 
	
		
			
				|  |  |  const chargeCode = ref('')
 | 
	
	
		
			
				|  | @@ -206,44 +217,42 @@ const dateRange = ref([])
 | 
	
		
			
				|  |  |  const now = formatDatetime(new Date())
 | 
	
		
			
				|  |  |  const start = formatDatetime(maxHalfYear[2].value[0])
 | 
	
		
			
				|  |  |  const end = formatDatetime(maxHalfYear[2].value[1])
 | 
	
		
			
				|  |  | -const windowSize = store.state.app.windowSize
 | 
	
		
			
				|  |  | -const tableHeight = windowSize.h / 1.2
 | 
	
		
			
				|  |  |  const pageSize = ref(30)
 | 
	
		
			
				|  |  |  const currentPage = ref(1)
 | 
	
		
			
				|  |  |  const handleSizeChange = (val) => {
 | 
	
		
			
				|  |  | -    pageSize.value = val
 | 
	
		
			
				|  |  | +  pageSize.value = val
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  const handleCurrentChange = (val) => {
 | 
	
		
			
				|  |  | -    currentPage.value = val
 | 
	
		
			
				|  |  | +  currentPage.value = val
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  const handleClick = (tab, event) => {
 | 
	
		
			
				|  |  | -    editableTabsValue.value = tab.props.name
 | 
	
		
			
				|  |  | -    if (editableTabsValue.value === 'ypPurchaseInfo') {
 | 
	
		
			
				|  |  | -        queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +  editableTabsValue.value = tab.props.name
 | 
	
		
			
				|  |  | +  if (editableTabsValue.value === 'ypPurchaseInfo') {
 | 
	
		
			
				|  |  | +    queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  const ztOptions = [
 | 
	
		
			
				|  |  | -    { value: '1', label: '已接收' }, { value: '2', label: '未接收' },
 | 
	
		
			
				|  |  | -    { value: '3', label: '已采购' }, { value: '4', label: '未采购' },
 | 
	
		
			
				|  |  | -    { value: '5', label: '已入库' }, { value: '6', label: '未入库' }]
 | 
	
		
			
				|  |  | +  {value: '1', label: '已接收'}, {value: '2', label: '未接收'},
 | 
	
		
			
				|  |  | +  {value: '3', label: '已采购'}, {value: '4', label: '未采购'},
 | 
	
		
			
				|  |  | +  {value: '5', label: '已入库'}, {value: '6', label: '未入库'}]
 | 
	
		
			
				|  |  |  const desc = ref('科室临购药品在本院出现滞销(90天以上未使用或使用数量低于购进数量的30%以下),导致过期现象,则该药品的损失由申请科室承担,并1年内不能再申请新药。')
 | 
	
		
			
				|  |  |  const tempPurchaseData = ref([])
 | 
	
		
			
				|  |  |  const queryData = ref({
 | 
	
		
			
				|  |  | -    inpatientNo: '',
 | 
	
		
			
				|  |  | -    chargeCode: '',
 | 
	
		
			
				|  |  | -    ztFlag: '',
 | 
	
		
			
				|  |  | -    startTime: '',
 | 
	
		
			
				|  |  | -    endTime: '',
 | 
	
		
			
				|  |  | +  inpatientNo: '',
 | 
	
		
			
				|  |  | +  chargeCode: '',
 | 
	
		
			
				|  |  | +  ztFlag: '',
 | 
	
		
			
				|  |  | +  startTime: '',
 | 
	
		
			
				|  |  | +  endTime: '',
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  onMounted(() => {
 | 
	
		
			
				|  |  | -    nextTick(() => {
 | 
	
		
			
				|  |  | -        queryTempPurchaseYp('')
 | 
	
		
			
				|  |  | -        queryData.startTime = start;
 | 
	
		
			
				|  |  | -        queryData.endTime = end + " 23:59:59";
 | 
	
		
			
				|  |  | -        dateRange.value = [start, end];
 | 
	
		
			
				|  |  | -        queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | +  nextTick(() => {
 | 
	
		
			
				|  |  | +    queryTempPurchaseYp('')
 | 
	
		
			
				|  |  | +    queryData.startTime = start;
 | 
	
		
			
				|  |  | +    queryData.endTime = end + " 23:59:59";
 | 
	
		
			
				|  |  | +    dateRange.value = [start, end];
 | 
	
		
			
				|  |  | +    queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const showAuditTempPurchase = ref(false)
 | 
	
	
		
			
				|  | @@ -255,232 +264,215 @@ const editTempPurchaseName = ref('临购药品修改')
 | 
	
		
			
				|  |  |  const ypTempPurchaseEditData = ref([])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const queryYpTempPurchaseData = () => {
 | 
	
		
			
				|  |  | -    if (dateRange.value) {
 | 
	
		
			
				|  |  | -        queryData.value.startTime = formatDatetime(dateRange.value[0])
 | 
	
		
			
				|  |  | -        queryData.value.endTime = formatDatetime(dateRange.value[1])
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    queryData.value.chargeCode = chargeCode.value
 | 
	
		
			
				|  |  | -    queryData.value.inpatientNo = inpatientNo.value
 | 
	
		
			
				|  |  | -    queryData.value.ztFlag = ztFlag.value
 | 
	
		
			
				|  |  | -    selectYpTempPurchase(queryData.value)
 | 
	
		
			
				|  |  | -        .then((res) => {
 | 
	
		
			
				|  |  | -            ypPurchaseData.value = res
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        .catch(() => {
 | 
	
		
			
				|  |  | -            ypPurchaseData.value = []
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +  if (dateRange.value) {
 | 
	
		
			
				|  |  | +    let dateS = getDateRangeFormatDate(dateRange.value)
 | 
	
		
			
				|  |  | +    queryData.value.startTime = dateS.startTime
 | 
	
		
			
				|  |  | +    queryData.value.endTime = dateS.endTime
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  queryData.value.chargeCode = chargeCode.value
 | 
	
		
			
				|  |  | +  queryData.value.inpatientNo = inpatientNo.value
 | 
	
		
			
				|  |  | +  queryData.value.ztFlag = ztFlag.value
 | 
	
		
			
				|  |  | +  selectYpTempPurchase(queryData.value)
 | 
	
		
			
				|  |  | +      .then((res) => {
 | 
	
		
			
				|  |  | +        ypPurchaseData.value = res
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      .catch(() => {
 | 
	
		
			
				|  |  | +        ypPurchaseData.value = []
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const queryTempPurchaseYp = (text) => {
 | 
	
		
			
				|  |  | -    selectTempPurchaseYp(text)
 | 
	
		
			
				|  |  | -        .then((res) => {
 | 
	
		
			
				|  |  | -            tempPurchaseData.value = res
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        .catch(() => {
 | 
	
		
			
				|  |  | -            tempPurchaseData.value = []
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +  selectTempPurchaseYp(text)
 | 
	
		
			
				|  |  | +      .then((res) => {
 | 
	
		
			
				|  |  | +        tempPurchaseData.value = res
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      .catch(() => {
 | 
	
		
			
				|  |  | +        tempPurchaseData.value = []
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const ypChange = async () => {
 | 
	
		
			
				|  |  | -    await nextTick()
 | 
	
		
			
				|  |  | -    let dataF = tempPurchaseData.value.filter((item) => {
 | 
	
		
			
				|  |  | -        return item.chargeCode === ruleForm.value.chargeCode
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | -    if (dataF) {
 | 
	
		
			
				|  |  | -        ruleForm.value.chargeName = dataF[0].chargeName
 | 
	
		
			
				|  |  | -        ruleForm.value.serial = dataF[0].serial
 | 
	
		
			
				|  |  | -        ruleForm.value.specification = dataF[0].specification
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +  await nextTick()
 | 
	
		
			
				|  |  | +  let dataF = tempPurchaseData.value.filter((item) => {
 | 
	
		
			
				|  |  | +    return item.chargeCode === ruleForm.value.chargeCode
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +  if (dataF) {
 | 
	
		
			
				|  |  | +    ruleForm.value.chargeName = dataF[0].chargeName
 | 
	
		
			
				|  |  | +    ruleForm.value.serial = dataF[0].serial
 | 
	
		
			
				|  |  | +    ruleForm.value.specification = dataF[0].specification
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const formSize = ref('default')
 | 
	
		
			
				|  |  |  const ruleFormRef = ref()
 | 
	
		
			
				|  |  |  const ruleForm = ref({
 | 
	
		
			
				|  |  | -    applyId: '', // 申请id
 | 
	
		
			
				|  |  | -    chargeName: '', // 药品名称
 | 
	
		
			
				|  |  | -    chargeCode: '', // 药品code
 | 
	
		
			
				|  |  | -    serial: '', // 序号
 | 
	
		
			
				|  |  | -    specification: '', // 规格
 | 
	
		
			
				|  |  | -    amount: '', // 申请数量
 | 
	
		
			
				|  |  | -    useResult: '', // 使用理由
 | 
	
		
			
				|  |  | -    op: userName, // 申请人(要求是临床科主任)
 | 
	
		
			
				|  |  | -    opId: userCode, // 申请人id
 | 
	
		
			
				|  |  | -    name: '', // 患者姓名
 | 
	
		
			
				|  |  | -    inpatientNo: '', // 住院号
 | 
	
		
			
				|  |  | -    receptFlag: '', // 是否接收(1: 接收)
 | 
	
		
			
				|  |  | -    purchaseFlag: '', // 是否采购(1: 采购)
 | 
	
		
			
				|  |  | -    storageFlag: '', // 是否入库(1: 入库)
 | 
	
		
			
				|  |  | -    applyDate: now, // 申请日期
 | 
	
		
			
				|  |  | -    auditDate: '', // 审核日期
 | 
	
		
			
				|  |  | -    result: '', // 未采购原因
 | 
	
		
			
				|  |  | +  applyId: '', // 申请id
 | 
	
		
			
				|  |  | +  chargeName: '', // 药品名称
 | 
	
		
			
				|  |  | +  chargeCode: '', // 药品code
 | 
	
		
			
				|  |  | +  serial: '', // 序号
 | 
	
		
			
				|  |  | +  specification: '', // 规格
 | 
	
		
			
				|  |  | +  amount: '', // 申请数量
 | 
	
		
			
				|  |  | +  useResult: '', // 使用理由
 | 
	
		
			
				|  |  | +  op: userName, // 申请人(要求是临床科主任)
 | 
	
		
			
				|  |  | +  opId: userCode, // 申请人id
 | 
	
		
			
				|  |  | +  name: '', // 患者姓名
 | 
	
		
			
				|  |  | +  inpatientNo: '', // 住院号
 | 
	
		
			
				|  |  | +  receptFlag: '', // 是否接收(1: 接收)
 | 
	
		
			
				|  |  | +  purchaseFlag: '', // 是否采购(1: 采购)
 | 
	
		
			
				|  |  | +  storageFlag: '', // 是否入库(1: 入库)
 | 
	
		
			
				|  |  | +  applyDate: now, // 申请日期
 | 
	
		
			
				|  |  | +  auditDate: '', // 审核日期
 | 
	
		
			
				|  |  | +  result: '', // 未采购原因
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  const rules = ref({
 | 
	
		
			
				|  |  | -    chargeCode: [
 | 
	
		
			
				|  |  | -        { required: true, message: '请选择药品', trigger: 'change' },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -    amount: [
 | 
	
		
			
				|  |  | -        { required: true, message: '请填写申请数量', trigger: 'blur' },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -    useResult: [
 | 
	
		
			
				|  |  | -        { required: true, message: '请填写使用理由', trigger: 'blur' },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -    name: [
 | 
	
		
			
				|  |  | -        { required: true, message: '请填写患者姓名', trigger: 'blur' },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -    inpatientNo: [
 | 
	
		
			
				|  |  | -        { required: true, message: '请填写住院号', trigger: 'blur' },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | +  chargeCode: [
 | 
	
		
			
				|  |  | +    {required: true, message: '请选择药品', trigger: 'change'},
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +  amount: [
 | 
	
		
			
				|  |  | +    {required: true, message: '请填写申请数量', trigger: 'blur'},
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +  useResult: [
 | 
	
		
			
				|  |  | +    {required: true, message: '请填写使用理由', trigger: 'blur'},
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +  name: [
 | 
	
		
			
				|  |  | +    {required: true, message: '请填写患者姓名', trigger: 'blur'},
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +  inpatientNo: [
 | 
	
		
			
				|  |  | +    {required: true, message: '请填写住院号', trigger: 'blur'},
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const submitForm = async (formEl) => {
 | 
	
		
			
				|  |  | -    if (!formEl) return
 | 
	
		
			
				|  |  | -    await formEl.validate((valid, fields) => {
 | 
	
		
			
				|  |  | -        if (valid) {
 | 
	
		
			
				|  |  | -            alert(Number.parseFloat(ruleForm.value.amount))
 | 
	
		
			
				|  |  | -            if (Number.isNaN(Number.parseFloat(ruleForm.value.amount))) {
 | 
	
		
			
				|  |  | -                ElMessage({
 | 
	
		
			
				|  |  | -                    type: "warning",
 | 
	
		
			
				|  |  | -                    message: '申请数量不是数值,请检查!',
 | 
	
		
			
				|  |  | -                    duration: 2500,
 | 
	
		
			
				|  |  | -                    showClose: true,
 | 
	
		
			
				|  |  | -                });
 | 
	
		
			
				|  |  | -                return
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            saveYpTempPurchase(ruleForm.value).then((res) => {
 | 
	
		
			
				|  |  | -                if (res.cg) {
 | 
	
		
			
				|  |  | -                    ElMessage({
 | 
	
		
			
				|  |  | -                        type: "success",
 | 
	
		
			
				|  |  | -                        message: res.cg,
 | 
	
		
			
				|  |  | -                        duration: 2500,
 | 
	
		
			
				|  |  | -                        showClose: true,
 | 
	
		
			
				|  |  | -                    });
 | 
	
		
			
				|  |  | +  if (!formEl) return
 | 
	
		
			
				|  |  | +  await formEl.validate((valid, fields) => {
 | 
	
		
			
				|  |  | +    if (valid) {
 | 
	
		
			
				|  |  | +      alert(Number.parseFloat(ruleForm.value.amount))
 | 
	
		
			
				|  |  | +      if (Number.isNaN(Number.parseFloat(ruleForm.value.amount))) {
 | 
	
		
			
				|  |  | +        ElMessage({
 | 
	
		
			
				|  |  | +          type: "warning",
 | 
	
		
			
				|  |  | +          message: '申请数量不是数值,请检查!',
 | 
	
		
			
				|  |  | +          duration: 2500,
 | 
	
		
			
				|  |  | +          showClose: true,
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        return
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      saveYpTempPurchase(ruleForm.value).then((res) => {
 | 
	
		
			
				|  |  | +        if (res.cg) {
 | 
	
		
			
				|  |  | +          ElMessage({
 | 
	
		
			
				|  |  | +            type: "success",
 | 
	
		
			
				|  |  | +            message: res.cg,
 | 
	
		
			
				|  |  | +            duration: 2500,
 | 
	
		
			
				|  |  | +            showClose: true,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    formEl.resetFields()
 | 
	
		
			
				|  |  | -                    return
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            console.log('error submit!', fields)
 | 
	
		
			
				|  |  | +          formEl.resetFields()
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  | +      console.log('error submit!', fields)
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const resetForm = (formEl) => {
 | 
	
		
			
				|  |  | -    if (!formEl) return
 | 
	
		
			
				|  |  | -    formEl.resetFields()
 | 
	
		
			
				|  |  | +  if (!formEl) return
 | 
	
		
			
				|  |  | +  formEl.resetFields()
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const auditTempPurchase = (row) => {
 | 
	
		
			
				|  |  | -    showAuditTempPurchase.value = true
 | 
	
		
			
				|  |  | -    ypTempPurchaseDetail.value = row
 | 
	
		
			
				|  |  | +  showAuditTempPurchase.value = true
 | 
	
		
			
				|  |  | +  ypTempPurchaseDetail.value = row
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const closeTempPurchaseAudit = (flag) => {
 | 
	
		
			
				|  |  | -    if (flag) {
 | 
	
		
			
				|  |  | -        showAuditTempPurchase.value = false
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | +  if (flag) {
 | 
	
		
			
				|  |  | +    showAuditTempPurchase.value = false
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const handleClose = (done) => {
 | 
	
		
			
				|  |  | +  queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | +  done()
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const editTempPurchase = (row) => {
 | 
	
		
			
				|  |  | -    if (row.receptFlag === '1') {
 | 
	
		
			
				|  |  | -        ElMessage({
 | 
	
		
			
				|  |  | -            type: "warning",
 | 
	
		
			
				|  |  | -            message: '临购药品已接收的申请不允许修改,请检查!',
 | 
	
		
			
				|  |  | -            duration: 2500,
 | 
	
		
			
				|  |  | -            showClose: true,
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -        return
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +  if (row.receptFlag === '1') {
 | 
	
		
			
				|  |  | +    ElMessage({
 | 
	
		
			
				|  |  | +      type: "warning",
 | 
	
		
			
				|  |  | +      message: '临购药品已接收的申请不允许修改,请检查!',
 | 
	
		
			
				|  |  | +      duration: 2500,
 | 
	
		
			
				|  |  | +      showClose: true,
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    return
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    showEditTempPurchase.value = true
 | 
	
		
			
				|  |  | -    ypTempPurchaseEditData.value = row
 | 
	
		
			
				|  |  | +  showEditTempPurchase.value = true
 | 
	
		
			
				|  |  | +  ypTempPurchaseEditData.value = row
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const closeTempPurchaseEdit = (flag) => {
 | 
	
		
			
				|  |  | -    if (flag) {
 | 
	
		
			
				|  |  | -        showEditTempPurchase.value = false
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    queryYpTempPurchaseData()
 | 
	
		
			
				|  |  | +  if (flag) {
 | 
	
		
			
				|  |  | +    showEditTempPurchase.value = false
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  queryYpTempPurchaseData()
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 导出临购药品明细信息
 | 
	
		
			
				|  |  |  const exportData = () => {
 | 
	
		
			
				|  |  | -    if (ypPurchaseData.value.length === 0) {
 | 
	
		
			
				|  |  | -        ElMessage({
 | 
	
		
			
				|  |  | -            message: "没有可以导出的数据!",
 | 
	
		
			
				|  |  | -            type: "warning",
 | 
	
		
			
				|  |  | -            duration: 2500,
 | 
	
		
			
				|  |  | -            showClose: true,
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -    } else {
 | 
	
		
			
				|  |  | -        const title = {
 | 
	
		
			
				|  |  | -            chargeCode: "药品编码",
 | 
	
		
			
				|  |  | -            chargeName: "药品名称",
 | 
	
		
			
				|  |  | -            serial: "药品包装",
 | 
	
		
			
				|  |  | -            specification: "药品规格",
 | 
	
		
			
				|  |  | -            name: "患者姓名",
 | 
	
		
			
				|  |  | -            inpatientNo: "住院号",
 | 
	
		
			
				|  |  | -            amount: "数量",
 | 
	
		
			
				|  |  | -            useResult: "使用理由",
 | 
	
		
			
				|  |  | -            op: "申请人",
 | 
	
		
			
				|  |  | -            receptFlag: "是否接收",
 | 
	
		
			
				|  |  | -            purchaseFlag: "是否采购",
 | 
	
		
			
				|  |  | -            storageFlag: "是否入库",
 | 
	
		
			
				|  |  | -            applyDate: "申请日期",
 | 
	
		
			
				|  |  | -            auditDate: "审核日期",
 | 
	
		
			
				|  |  | -            result: "采购情况",
 | 
	
		
			
				|  |  | -        };
 | 
	
		
			
				|  |  | +  if (ypPurchaseData.value.length === 0) {
 | 
	
		
			
				|  |  | +    ElMessage({
 | 
	
		
			
				|  |  | +      message: "没有可以导出的数据!",
 | 
	
		
			
				|  |  | +      type: "warning",
 | 
	
		
			
				|  |  | +      duration: 2500,
 | 
	
		
			
				|  |  | +      showClose: true,
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  } else {
 | 
	
		
			
				|  |  | +    const title = {
 | 
	
		
			
				|  |  | +      chargeCode: "药品编码",
 | 
	
		
			
				|  |  | +      chargeName: "药品名称",
 | 
	
		
			
				|  |  | +      serial: "药品包装",
 | 
	
		
			
				|  |  | +      specification: "药品规格",
 | 
	
		
			
				|  |  | +      name: "患者姓名",
 | 
	
		
			
				|  |  | +      inpatientNo: "住院号",
 | 
	
		
			
				|  |  | +      amount: "数量",
 | 
	
		
			
				|  |  | +      useResult: "使用理由",
 | 
	
		
			
				|  |  | +      op: "申请人",
 | 
	
		
			
				|  |  | +      receptFlag: "是否接收",
 | 
	
		
			
				|  |  | +      purchaseFlag: "是否采购",
 | 
	
		
			
				|  |  | +      storageFlag: "是否入库",
 | 
	
		
			
				|  |  | +      applyDate: "申请日期",
 | 
	
		
			
				|  |  | +      auditDate: "审核日期",
 | 
	
		
			
				|  |  | +      result: "采购情况",
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        const d = clone(ypPurchaseData.value)
 | 
	
		
			
				|  |  | -        d.forEach(val => {
 | 
	
		
			
				|  |  | -            if (val.serial === '99') {
 | 
	
		
			
				|  |  | -                val.serial = '大包装'
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                val.serial = '小包装'
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (val.receptFlag === '1') {
 | 
	
		
			
				|  |  | -                val.receptFlag = '是'
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                val.receptFlag = '否'
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (val.purchaseFlag === '1') {
 | 
	
		
			
				|  |  | -                val.purchaseFlag = '是'
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                val.purchaseFlag = '否'
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (val.storageFlag === '1') {
 | 
	
		
			
				|  |  | -                val.storageFlag = '是'
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                val.storageFlag = '否'
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -        Export(d, title, "临购药品明细信息")
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +    const d = clone(ypPurchaseData.value)
 | 
	
		
			
				|  |  | +    d.forEach(val => {
 | 
	
		
			
				|  |  | +      if (val.serial === '99') {
 | 
	
		
			
				|  |  | +        val.serial = '大包装'
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        val.serial = '小包装'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (val.receptFlag === '1') {
 | 
	
		
			
				|  |  | +        val.receptFlag = '是'
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        val.receptFlag = '否'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (val.purchaseFlag === '1') {
 | 
	
		
			
				|  |  | +        val.purchaseFlag = '是'
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        val.purchaseFlag = '否'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (val.storageFlag === '1') {
 | 
	
		
			
				|  |  | +        val.storageFlag = '是'
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        val.storageFlag = '否'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    Export(d, title, "临购药品明细信息")
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -</script>
 | 
	
		
			
				|  |  | -<!-- <template>
 | 
	
		
			
				|  |  | -    <el-timeline style="max-width: 600px">
 | 
	
		
			
				|  |  | -      <el-timeline-item center timestamp="2018/4/12" placement="top">
 | 
	
		
			
				|  |  | -        <el-card>
 | 
	
		
			
				|  |  | -          <h4>Update Github template</h4>
 | 
	
		
			
				|  |  | -          <p>Tom committed 2018/4/12 20:46</p>
 | 
	
		
			
				|  |  | -        </el-card>
 | 
	
		
			
				|  |  | -      </el-timeline-item>
 | 
	
		
			
				|  |  | -      <el-timeline-item timestamp="2018/4/3" placement="top">
 | 
	
		
			
				|  |  | -        <el-card>
 | 
	
		
			
				|  |  | -          <h4>Update Github template</h4>
 | 
	
		
			
				|  |  | -          <p>Tom committed 2018/4/3 20:46</p>
 | 
	
		
			
				|  |  | -        </el-card>
 | 
	
		
			
				|  |  | -      </el-timeline-item>
 | 
	
		
			
				|  |  | -      <el-timeline-item center timestamp="2018/4/2" placement="top">
 | 
	
		
			
				|  |  | -        Event start
 | 
	
		
			
				|  |  | -      </el-timeline-item>
 | 
	
		
			
				|  |  | -      <el-timeline-item timestamp="2018/4/2" placement="top">
 | 
	
		
			
				|  |  | -        Event end
 | 
	
		
			
				|  |  | -      </el-timeline-item>
 | 
	
		
			
				|  |  | -    </el-timeline>
 | 
	
		
			
				|  |  | -  </template> -->
 | 
	
		
			
				|  |  | +</script>
 |