Просмотр исходного кода

拒方列表确认处方优化

wjj 1 месяц назад
Родитель
Сommit
a9b16cdb76
1 измененных файлов с 74 добавлено и 135 удалено
  1. 74 135
      src/views/his/refuse/index.vue

+ 74 - 135
src/views/his/refuse/index.vue

@@ -8,7 +8,8 @@
         </el-select>
       </el-form-item>
       <el-form-item label="处方单号" prop="prescribeCode">
-        <el-input v-model="queryParams.prescribeCode" placeholder="请输入处方单号" clearable @keyup.enter.native="handleQuery" />
+        <el-input v-model="queryParams.prescribeCode" placeholder="请输入处方单号" clearable
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
       <!-- <el-form-item label="订单编号" prop="orderCode">
         <el-input v-model="queryParams.orderCode" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" />
@@ -16,15 +17,15 @@
       <el-form-item label="患者姓名" prop="patientName">
         <el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
-<!--      <el-form-item label="患者电话" prop="patientTel">-->
-<!--        <el-input v-model="queryParams.patientTel" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery" />-->
-<!--      </el-form-item>-->
-<!--      <el-form-item label="处方状态" prop="status">-->
-<!--        <el-select v-model="queryParams.status" placeholder="请选择处方状态" clearable>-->
-<!--          <el-option label="未开" :value="0"></el-option>-->
-<!--          <el-option label="已开" :value="1"></el-option>-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
+      <!--      <el-form-item label="患者电话" prop="patientTel">-->
+      <!--        <el-input v-model="queryParams.patientTel" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery" />-->
+      <!--      </el-form-item>-->
+      <!--      <el-form-item label="处方状态" prop="status">-->
+      <!--        <el-select v-model="queryParams.status" placeholder="请选择处方状态" clearable>-->
+      <!--          <el-option label="未开" :value="0"></el-option>-->
+      <!--          <el-option label="已开" :value="1"></el-option>-->
+      <!--        </el-select>-->
+      <!--      </el-form-item>-->
       <!-- <el-form-item label="医生姓名" prop="doctorName">
         <el-input v-model="queryParams.doctorName" placeholder="请输入医生姓名" clearable @keyup.enter.native="handleQuery" />
       </el-form-item> -->
@@ -40,15 +41,8 @@
         ></el-date-picker>
       </el-form-item> -->
       <el-form-item label="审核时间" prop="auditRange">
-        <el-date-picker
-          v-model="auditRange"
-          type="daterange"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-          @change="handleAuditDateRangeChange"
-        ></el-date-picker>
+        <el-date-picker v-model="auditRange" type="daterange" range-separator="至" start-placeholder="开始日期"
+          end-placeholder="结束日期" value-format="yyyy-MM-dd" @change="handleAuditDateRangeChange"></el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -58,56 +52,24 @@
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['his:prescribe:add']"
-        >新增</el-button>
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['his:prescribe:add']">新增</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['his:prescribe:edit']"
-        >修改</el-button>
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['his:prescribe:edit']">修改</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['his:prescribe:remove']"
-        >删除</el-button>
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['his:prescribe:remove']">删除</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['his:prescribe:export']"
-        >导出</el-button>
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['his:prescribe:export']">导出</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleMessageFeedbackExport"
-          v-hasPermi="['his:prescribe:messageFeedbackExport']"
-        >导出医疗信息反馈单</el-button>
+        <el-button type="info" plain icon="el-icon-download" size="mini" @click="handleMessageFeedbackExport"
+          v-hasPermi="['his:prescribe:messageFeedbackExport']">导出医疗信息反馈单</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -118,7 +80,7 @@
       <el-table-column label="处方单号" align="center" prop="prescribeCode" />
       <el-table-column label="处方类型" align="center" prop="prescribeType">
         <template slot-scope="scope">
-          <dict-tag :options="prescribeTypeOptions" :value="scope.row.prescribeType"/>
+          <dict-tag :options="prescribeTypeOptions" :value="scope.row.prescribeType" />
         </template>
       </el-table-column>
       <el-table-column label="患者姓名" align="center" prop="patientName" />
@@ -137,22 +99,13 @@
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            @click="handleUpdate(scope.row)"
-          >开方</el-button>
+          <el-button size="mini" type="text" @click="handleUpdate(scope.row)">开方</el-button>
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
 
     <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body @close="handleDialogClose">
       <el-tabs v-model="activeTab" type="border-card">
@@ -166,10 +119,10 @@
               </el-radio-group>
             </el-form-item>
             <el-form-item label="订单ID" prop="inquiryOrderId">
-              <el-input v-model="form.inquiryOrderId" placeholder="请输入订单ID" disabled/>
+              <el-input v-model="form.inquiryOrderId" placeholder="请输入订单ID" disabled />
             </el-form-item>
             <el-form-item label="店铺订单ID" prop="storeOrderId">
-              <el-input v-model="form.storeOrderId" placeholder="请输入店铺订单ID" disabled/>
+              <el-input v-model="form.storeOrderId" placeholder="请输入店铺订单ID" disabled />
             </el-form-item>
             <el-form-item label="患者姓名" prop="patientName">
               <el-input v-model="form.patientName" placeholder="请输入患者姓名" />
@@ -183,9 +136,9 @@
                 <el-option label="女" value="2"></el-option>
               </el-select>
             </el-form-item>
-<!--            <el-form-item label="患者电话" prop="patientTel">-->
-<!--              <el-input v-model="form.patientTel" placeholder="请输入患者电话" disabled/>-->
-<!--            </el-form-item>-->
+            <!--            <el-form-item label="患者电话" prop="patientTel">-->
+            <!--              <el-input v-model="form.patientTel" placeholder="请输入患者电话" disabled/>-->
+            <!--            </el-form-item>-->
             <el-form-item label="体重" prop="weight">
               <el-input v-model="form.weight" placeholder="请输入体重" />
             </el-form-item>
@@ -212,23 +165,13 @@
             <!-- 药品操作按钮 -->
             <el-row :gutter="10" class="mb8">
               <el-col :span="1.5">
-                <el-button
-                  type="primary"
-                  icon="el-icon-plus"
-                  size="mini"
-                  @click="handleAddDrug"
-                  :disabled="!form.prescribeId"
-                >新增药品</el-button>
+                <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddDrug"
+                  :disabled="!form.prescribeId">新增药品</el-button>
               </el-col>
             </el-row>
             <!-- 药品列表表格 -->
-            <el-table
-              v-loading="drugLoading"
-              :data="drugList"
-              border
-              max-height="400"
-            >
-              <el-table-column label="药品名称" align="center" prop="drugName"  />
+            <el-table v-loading="drugLoading" :data="drugList" border max-height="400">
+              <el-table-column label="药品名称" align="center" prop="drugName" />
               <el-table-column label="规格" align="center" prop="drugSpec" width="100" />
               <el-table-column label="使用方法" align="center" prop="usageMethod" width="100" />
               <el-table-column label="频次" align="center" prop="usageFrequencyUnit" width="80" />
@@ -244,40 +187,23 @@
                   {{ scope.row.drugNum }}{{ scope.row.drugUnit }}
                 </template>
               </el-table-column>
-              <el-table-column  label="操作" align="center" class-name="small-padding fixed-width" width="150">
+              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
                 <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-edit"
-                    @click="handleUpdateDrug(scope.row)"
-                  >编辑</el-button>
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    @click="handleDeleteDrug(scope.row)"
-                  >删除</el-button>
+                  <el-button size="mini" type="text" icon="el-icon-edit"
+                    @click="handleUpdateDrug(scope.row)">编辑</el-button>
+                  <el-button size="mini" type="text" icon="el-icon-delete"
+                    @click="handleDeleteDrug(scope.row)">删除</el-button>
                 </template>
               </el-table-column>
             </el-table>
             <!-- 药品分页 -->
-            <pagination
-              v-show="drugTotal>0"
-              :total="drugTotal"
-              :page.sync="drugQueryParams.pageNum"
-              :limit.sync="drugQueryParams.pageSize"
-              @pagination="getDrugList"
-            />
+            <pagination v-show="drugTotal > 0" :total="drugTotal" :page.sync="drugQueryParams.pageNum"
+              :limit.sync="drugQueryParams.pageSize" @pagination="getDrugList" />
           </div>
         </el-tab-pane>
         <!-- 定位在右下角的按钮 -->
-        <el-button
-          type="primary"
-          size="mini"
-          style="position: absolute; bottom: 5px; right: 20px;"
-          @click="openCollectionInfo"
-        >
+        <el-button type="primary" size="mini" style="position: absolute; bottom: 5px; right: 20px;"
+          @click="openCollectionInfo">
           查看采集信息
         </el-button>
       </el-tabs>
@@ -285,7 +211,7 @@
       <!-- 查看采集信息的弹窗 -->
       <el-dialog :visible.sync="collectionDialogVisible" title="用户信息采集详情" width="800px" append-to-body>
 
-        <collectionDetail :userId="form.userId" :prescribeId="form.prescribeId" v-if="collectionDialogVisible"/>
+        <collectionDetail :userId="form.userId" :prescribeId="form.prescribeId" v-if="collectionDialogVisible" />
         <span slot="footer" class="dialog-footer">
           <el-button @click="collectionDialogVisible = false">关 闭</el-button>
         </span>
@@ -294,8 +220,8 @@
 
       <span slot="footer" class="dialog-footer">
         <el-button @click="open = false">关 闭</el-button>
-        <el-button type="primary" @click="submitForm" >保 存</el-button>
-        <el-button type="primary" @click="confirmPrescribe" >确认处方</el-button>
+        <el-button type="primary" @click="submitForm">保 存</el-button>
+        <el-button type="primary" @click="confirmPrescribe">确认处方</el-button>
       </span>
     </el-dialog>
     <!-- 药品新增/编辑对话框 -->
@@ -357,7 +283,7 @@ import { listPrescribeDrug, addPrescribeDrug, updatePrescribeDrug, deletePrescri
 import collectionDetail from "@/views/components/collection/collectionDetail.vue";
 export default {
   name: "Prescribe",
-  components: {collectionDetail},
+  components: { collectionDetail },
   data() {
     return {
       collectionDialogVisible: false, // 控制采集信息弹窗显示
@@ -458,7 +384,7 @@ export default {
       this.loading = true;
       let userId = this.$store.state.user.userId;
       let query = this.addDateRange(this.queryParams, this.dateRange, 'Create');
-      query.doctorId = userId.toString().replaceAll("D-","").toString();
+      query.doctorId = userId.toString().replaceAll("D-", "").toString();
       listPrescribe(query).then(response => {
         this.prescribeList = response.rows;
         this.total = response.total;
@@ -543,18 +469,25 @@ export default {
         }
       })
     },
-    confirmPrescribe(){
-      confirmPrescribe(this.form).then(response => {
-        if(response.code === 200) {
-          this.$message.success("确认成功!");
-          this.open = false;
-        } else {
-          this.$message.error(response.message);
+    confirmPrescribe() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          confirmPrescribe(this.form).then(response => {
+            if (response.code === 200) {
+              this.submitForm();
+              this.$message.success("确认成功!");
+              this.open = false;
+            } else {
+              this.$message.error(response.message);
+            }
+          }).finally(() => {
+            this.getList();
+          })
         }
-      }).finally(()=>{
-        this.getList();
+
       })
 
+
     },
     /** 提交按钮操作 */
     submitForm() {
@@ -584,7 +517,7 @@ export default {
       }).then(response => {
         this.$download.excel(response, '处方数据');
         this.exportLoading = false;
-      }).catch(() => {});
+      }).catch(() => { });
     },
     /** 导出医疗信息反馈单 */
     handleMessageFeedbackExport() {
@@ -598,7 +531,7 @@ export default {
       }).then(response => {
         this.$download.excel(response, '医疗信息反馈单');
         this.exportLoading = false;
-      }).catch(() => {});
+      }).catch(() => { });
     },
     /** 对话框关闭事件 */
     handleDialogClose() {
@@ -739,26 +672,32 @@ export default {
 .drug-container {
   padding: 10px;
 }
+
 .detail-container {
   padding: 20px;
 }
+
 .detail-item {
   margin-bottom: 10px;
   display: flex;
 }
+
 .detail-item .label {
   min-width: 100px;
   font-weight: bold;
 }
+
 .id-card-info {
   display: flex;
   flex-direction: column;
 }
+
 .id-card-image {
   display: flex;
   justify-content: space-between;
   margin-bottom: 20px;
 }
+
 .id-card-detail {
   margin-top: 20px;
 }