Ver código fonte

天数期限优化

hurixing 7 meses atrás
pai
commit
937bb77ede

+ 8 - 0
src/api/ea/index.js

@@ -14,4 +14,12 @@ export function getDetectInfoList(query) {
         method: 'post',
         data: query
     })
+}
+
+export function getDetectDetailList(query) {
+    return request({
+        url: "/ea/detect/Detail/selectByIdList",
+        method: 'post',
+        data: query
+    })
 }

+ 8 - 0
src/api/patient/index.js

@@ -227,6 +227,14 @@ export function dealPackage(query) {
   })
 }
 
+export function openPhysiotherapyTime(query) {
+  return request({
+    url: `/patient/open/physiotherapyTime`,
+    method: 'post',
+    data: query
+  })
+}
+
 export function printReviewResultDetail(query) {
   return request({
     url: `/reviewTask/printReviewResultDetail`,

+ 4 - 3
src/api/wx/applicationBlank/index.js

@@ -18,10 +18,11 @@ export function listBlank(query) {
 // }
 
 
-export function updatePayStatusFulfill(id) {
+export function updatePayStatusFulfill(query) {
   return request({
-    url: '/wx/application/blank/update/payStatusFulfill/' + id,
-    method: 'get'
+    url: '/wx/application/blank/update/payStatusFulfill/',
+    method: 'post',
+    data: query
   })
 }
 

+ 98 - 2
src/views/ea/detectInfo/index.vue

@@ -17,12 +17,17 @@
 
 
     <el-table :data="eaDetectInfoList" v-loading="loading">
+        <el-table-column label="编号" align="center" prop="id" width="50px"/>
          <el-table-column label="手机号" align="center" prop="phone">
             <template slot-scope="scope">
                 {{base64Decode(scope.row.phone)}}
             </template>
         </el-table-column>
         <el-table-column label="测试日期" align="center" prop="createTime" />
+        <el-table-column label="正确数量" align="center" prop="totalRight" />
+        <el-table-column label="错误数量" align="center" prop="totalWrong" />
+        <el-table-column label="超时数量" align="center" prop="totalTimeout" />
+        <el-table-column label="所有题目数量" align="center" prop="totalQuestion" />
         <el-table-column label="百分比正确率" align="center" prop="score" >
         <template slot-scope="scope">
                 {{scope.row.score}}%
@@ -35,15 +40,85 @@
         </el-table-column>
         <el-table-column label="医院" align="center" prop="hospitalName" />
         <el-table-column label="访问来源" align="center" prop="sourceCode" />
+        <el-table-column
+            fixed="right"
+            label="操作"
+            width="120">
+            <template slot-scope="scope">
+                <el-button
+                @click.native.prevent="handelInfo(scope.row.id)"
+                type="text"
+                size="small">
+                详情
+                </el-button>
+            </template>
+        </el-table-column>
     </el-table>
 
     <pagination v-show="detectInfoTotal > 0" :total="detectInfoTotal" :page.sync="eaDetectInfoParams.page" :limit.sync="eaDetectInfoParams.limit"
             @pagination="eaDetectInfoByPhone" />
+
+    <el-dialog title="答题详情" :visible.sync="open" append-to-body>
+        <el-table :data="eaDetectDetailList">
+            <el-table-column label="题目" align="center" prop="stageLevel" />
+            <el-table-column label="题目开始时间" align="center" prop="topicStartTime" />
+            <el-table-column label="题目结束时间" align="center" prop="topicEndTime" />
+            <el-table-column label="患者操作耗时" align="center" prop="userTime" />
+            <el-table-column label="操作结果(正确/错误/超时)" align="center" prop="results" >
+                <template slot-scope="scope">
+                    <el-tag v-if="scope.row.results === 0">正确</el-tag>
+                    <el-tag type="danger" v-if="scope.row.results === 1">错误</el-tag>
+                    <el-tag type="warning" v-if="scope.row.results === 2">超时</el-tag>
+                </template>
+            </el-table-column>
+            <el-table-column label="题目项图片名称" align="center" prop="topicMainPic" />
+            <el-table-column label="题目题目图片" align="center" prop="topicMainPic" >
+                <template slot-scope="scope">
+                    <el-image 
+                        style="width: 100px; height: 100px"
+                        :src="getTuliImageUrl(scope.row)"
+                        :preview-src-list="[getTuliImageUrl(scope.row)]"
+                        >
+                    </el-image>
+                </template>
+            </el-table-column>
+            <el-table-column label="正确选项图片名称" align="center" prop="topicRightPic" >
+                <template slot-scope="scope">
+                    {{scope.row.topicRightPic}}
+                </template>
+            </el-table-column>
+            <el-table-column label="正确选项图片" align="center" prop="topicRightPic" >
+                <template slot-scope="scope" >
+                    <el-image 
+                        style="width: 100px; height: 100px"
+                        :src="getImageUrl(scope.row,0)"
+                        :preview-src-list="[getImageUrl(scope.row,0)]"
+                        >
+                    </el-image>
+                </template>
+            </el-table-column>
+            <el-table-column label="【如果选择错误】选择错误选项名称" align="center" prop="userChosePic" > 
+                <template slot-scope="scope" v-if="scope.row.results === 1">
+                    {{scope.row.userChosePic}}
+                </template>
+            </el-table-column>
+            <el-table-column label="选择错误选项图片" align="center" prop="userChosePic" >
+                <template slot-scope="scope" v-if="scope.row.results === 1">
+                    <el-image 
+                        style="width: 100px; height: 100px"
+                        :src="getImageUrl(scope.row,1)"
+                        :preview-src-list="[getImageUrl(scope.row,1)]"
+                        >
+                    </el-image>
+                </template>
+            </el-table-column>
+        </el-table>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import {getUserList,getDetectInfoList} from "@/api/ea"
+import {getUserList,getDetectInfoList,getDetectDetailList} from "@/api/ea"
 export default {
     data() {
         return {
@@ -57,13 +132,34 @@ export default {
                 limit: 10,
                 phone: null,
             },
-            detectInfoTotal: 0
+            detectInfoTotal: 0,
+            eaDetectDetailList: [],
+            open: false,
         }
     },
     created() {
         this.eaDetectInfoByPhone()
     },
     methods: {
+        getImageUrl(row,Number) {
+            if(Number === 0) {
+                return "https://yaorongoss.yaorongmedical.com/EarlyScreening/"+row.stageLevel+"/xuanxiang/"+row.topicRightPic+".jpg"
+            }else {
+                return "https://yaorongoss.yaorongmedical.com/EarlyScreening/"+row.stageLevel+"/xuanxiang/"+row.userChosePic+".jpg"
+            }
+            
+        },
+        getTuliImageUrl(row) {
+            let tuli = "https://yaorongoss.yaorongmedical.com/EarlyScreening/"+row.stageLevel+"/tuli/01.jpg"
+            return tuli
+        },
+        handelInfo(id) {
+            const params = {detectId: id}
+            getDetectDetailList(params).then(resp =>{
+                this.eaDetectDetailList = resp.data
+                this.open = true
+            })
+        },
         eaDetectInfoByPhone() {
             this.loading = true;
             let params =  {

+ 7 - 2
src/views/ea/user/index.vue

@@ -45,9 +45,14 @@
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.limit"
           @pagination="getList" />
 
-    <el-dialog title="测试记录" :visible.sync="eaDetectInfoOpen" width="700px" append-to-body destroy-on-close>
+    <el-dialog title="测试记录" :visible.sync="eaDetectInfoOpen" width="1000px" append-to-body destroy-on-close>
         <el-table :data="eaDetectInfoList">
-             <el-table-column label="测试日期" align="center" prop="createTime" />
+            <el-table-column label="编号" align="center" prop="id" width="50px"/>
+            <el-table-column label="测试日期" align="center" prop="createTime" />
+            <el-table-column label="正确数量" align="center" prop="totalRight" />
+            <el-table-column label="错误数量" align="center" prop="totalWrong" />
+            <el-table-column label="超时数量" align="center" prop="totalTimeout" />
+            <el-table-column label="所有题目数量" align="center" prop="totalQuestion" />
              <el-table-column label="百分比正确率" align="center" prop="score" >
                 <template slot-scope="scope">
                     {{scope.row.score}}%

+ 3 - 3
src/views/officialAccounts/payStatus/index.vue

@@ -33,7 +33,7 @@ export default {
             if(this.$route.query.payStatus === '0'){
                 this.payStatusForm.imageUrl = require('@/assets/images/payStatus_succeed.png')
                 this.payStatusForm.statusTitle = "支付成功"
-                this.payStatusForm.statusDesc = "您已完成支付"
+                this.payStatusForm.statusDesc = "您已成功定购未来蓝豚强脑系统服务!请您方便时,在工作日的9:00-18:00 拨打服务专线 400-086-1638(免费),我们将为您安排设备进行专属的系统服务。"
             }else{
                 this.payStatusForm.imageUrl = require('@/assets/images/payStatus_fail.png')
                 this.payStatusForm.statusTitle = "支付失败"
@@ -74,8 +74,8 @@ export default {
 }
 
 .status-desc {
-  font-size: 1rem;
-  color: #666;
+  font-size: 1.2rem;
+  color: #030303;
   text-align: center;
   line-height: 1.5;
 }

+ 38 - 3
src/views/patient/historyList/cePingInfo.vue

@@ -56,7 +56,7 @@
         <!-- 其他测评 -->
         <div v-if="activeTab == '2'">
           <el-table v-loading="loading" :data="questionData" row-key="id">
-            <el-table-column prop="questionType" label="测评类型" :show-overflow-tooltip="true">
+            <!-- <el-table-column prop="questionType" label="测评类型" :show-overflow-tooltip="true">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.exam_type" :value="scope.row.questionType" />
             </template>
@@ -68,7 +68,25 @@
               <template slot-scope="scope">
                 <el-button size="mini" type="text" @click="handelQtInfo(scope.row)">答题详情</el-button>
               </template>
-            </el-table-column>
+            </el-table-column> -->
+
+            <el-table-column label="编号" align="center" prop="id" width="50px"/>
+            <el-table-column label="测试日期" align="center" prop="createTime" />
+            <el-table-column label="正确数量" align="center" prop="totalRight" />
+            <el-table-column label="错误数量" align="center" prop="totalWrong" />
+            <el-table-column label="超时数量" align="center" prop="totalTimeout" />
+            <el-table-column label="所有题目数量" align="center" prop="totalQuestion" />
+             <el-table-column label="百分比正确率" align="center" prop="score" >
+                <template slot-scope="scope">
+                    <el-button type="text" @click="handelDetectDetail(scope.row.id)">{{scope.row.score}}%</el-button>
+                </template>
+             </el-table-column>
+             <el-table-column label="平均反应时间" align="center" prop="aveTime" >
+                <template slot-scope="scope">
+                    {{scope.row.aveTime}}秒
+                </template>
+             </el-table-column>
+             <el-table-column label="访问来源" align="center" prop="sourceCode" />
           </el-table>
           <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.limit"
             @pagination="getList" />
@@ -154,6 +172,7 @@
 <script>
 import { reviewTaskList, findReviewResultDetail, reviewTaskSave, selectAnswerRecord, selectAnswerRecordDetail } from '@/api/patient/index'
 import { debounce } from 'lodash-es'
+import { getDetectInfoList,getDetectDetailList } from '@/api/ea/index'
 export default {
   dicts: ['exam_type'],
   data() {
@@ -168,6 +187,7 @@ export default {
       questionData: [],
       total:0,
       queryParams: {
+        phone: "",
         page: 1,
         limit: 10,
       },
@@ -197,12 +217,27 @@ export default {
         this.listData = res.data
         this.loading = false
       })
-      selectAnswerRecord({ appUserId: this.defaultVal.id,...this.queryParams }).then(res => {
+      // selectAnswerRecord({ appUserId: this.defaultVal.id,...this.queryParams }).then(res => {
+      //   this.questionData = res.data.records
+      //   this.total = res.data.total;
+      //   this.loading = false;
+      // })
+      var mobile = this.base64Encode(this.defaultVal.mobile)
+      this.queryParams.phone = mobile
+      getDetectInfoList(this.queryParams).then(res =>{
         this.questionData = res.data.records
         this.total = res.data.total;
         this.loading = false;
       })
     },
+    base64Encode(str) {
+      // 将字符串转为 UTF-8 字节数组
+      const utf8Bytes = new TextEncoder().encode(str);
+      // 转换为二进制字符串
+      const binaryString = String.fromCharCode(...utf8Bytes);
+      // 执行 Base64 编码
+      return btoa(binaryString);
+    },
     // 报告详情
     handelInfo(item) {
       findReviewResultDetail({ reviewTaskId: item.id }).then(res => {

+ 87 - 5
src/views/patient/list/cePingInfo.vue

@@ -69,11 +69,15 @@
                 <el-button size="mini" type="text" @click="handelQtInfo(scope.row)">答题详情</el-button>
               </template>
             </el-table-column> -->
-
+            <el-table-column label="编号" align="center" prop="id" width="50px"/>
             <el-table-column label="测试日期" align="center" prop="createTime" />
+            <el-table-column label="正确数量" align="center" prop="totalRight" />
+            <el-table-column label="错误数量" align="center" prop="totalWrong" />
+            <el-table-column label="超时数量" align="center" prop="totalTimeout" />
+            <el-table-column label="所有题目数量" align="center" prop="totalQuestion" />
              <el-table-column label="百分比正确率" align="center" prop="score" >
                 <template slot-scope="scope">
-                    {{scope.row.score}}%
+                    <el-button type="text" @click="handelDetectDetail(scope.row.id)">{{scope.row.score}}%</el-button>
                 </template>
              </el-table-column>
              <el-table-column label="平均反应时间" align="center" prop="aveTime" >
@@ -82,6 +86,7 @@
                 </template>
              </el-table-column>
              <el-table-column label="访问来源" align="center" prop="sourceCode" />
+             
           </el-table>
           <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.limit"
             @pagination="getList" />
@@ -184,12 +189,69 @@
         <el-button v-print="'#printMe'" type="primary" v-if="!conclusionShow">打印</el-button>
       </div>
     </el-dialog>
+
+    <el-dialog title="答题详情" :visible.sync="DetectDetailOpen" append-to-body>
+        <el-table :data="eaDetectDetailList">
+            <el-table-column label="题目" align="center" prop="stageLevel" />
+            <el-table-column label="题目开始时间" align="center" prop="topicStartTime" />
+            <el-table-column label="题目结束时间" align="center" prop="topicEndTime" />
+            <el-table-column label="患者操作耗时" align="center" prop="userTime" />
+            <el-table-column label="操作结果(正确/错误/超时)" align="center" prop="results" >
+                <template slot-scope="scope">
+                    <el-tag v-if="scope.row.results === 0">正确</el-tag>
+                    <el-tag type="danger" v-if="scope.row.results === 1">错误</el-tag>
+                    <el-tag type="warning" v-if="scope.row.results === 2">超时</el-tag>
+                </template>
+            </el-table-column>
+            <el-table-column label="题目项图片名称" align="center" prop="topicMainPic" />
+            <el-table-column label="题目题目图片" align="center" prop="topicMainPic" >
+                <template slot-scope="scope">
+                    <el-image 
+                        style="width: 100px; height: 100px"
+                        :src="getTuliImageUrl(scope.row)"
+                        :preview-src-list="[getTuliImageUrl(scope.row)]"
+                        >
+                    </el-image>
+                </template>
+            </el-table-column>
+            <el-table-column label="正确选项图片名称" align="center" prop="topicRightPic" >
+                <template slot-scope="scope">
+                    {{scope.row.topicRightPic}}
+                </template>
+            </el-table-column>
+            <el-table-column label="正确选项图片" align="center" prop="topicRightPic" >
+                <template slot-scope="scope" >
+                    <el-image 
+                        style="width: 100px; height: 100px"
+                        :src="getImageUrl(scope.row,0)"
+                        :preview-src-list="[getImageUrl(scope.row,0)]"
+                        >
+                    </el-image>
+                </template>
+            </el-table-column>
+            <el-table-column label="【如果选择错误】选择错误选项名称" align="center" prop="userChosePic" > 
+                <template slot-scope="scope" v-if="scope.row.results === 1">
+                    {{scope.row.userChosePic}}
+                </template>
+            </el-table-column>
+            <el-table-column label="选择错误选项图片" align="center" prop="userChosePic" >
+                <template slot-scope="scope" v-if="scope.row.results === 1">
+                    <el-image 
+                        style="width: 100px; height: 100px"
+                        :src="getImageUrl(scope.row,1)"
+                        :preview-src-list="[getImageUrl(scope.row,1)]"
+                        >
+                    </el-image>
+                </template>
+            </el-table-column>
+        </el-table>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import { printReviewResultDetail,reviewTaskList, findReviewResultDetail, reviewTaskSave, selectAnswerRecord, selectAnswerRecordDetail,saveSummingUp } from '@/api/patient/index'
-import { getDetectInfoList } from '@/api/ea/index'
+import { getDetectInfoList,getDetectDetailList } from '@/api/ea/index'
 import { debounce } from 'lodash-es'
 import mmsePrintVue from './print/mmsePrint.vue'
 import mocaPrintVue from './print/mocaPrint.vue'
@@ -226,10 +288,31 @@ export default {
       currentPrintComponent: '',
       reviewPrint: {},
       reviewTime: "",
-      conclusionShow: false
+      conclusionShow: false,
+      eaDetectDetailList: [],
+      DetectDetailOpen: false,
     }
   },
   methods: {
+    getImageUrl(row,Number) {
+      if(Number === 0) {
+          return "https://yaorongoss.yaorongmedical.com/EarlyScreening/"+row.stageLevel+"/xuanxiang/"+row.topicRightPic+".jpg"
+      }else {
+        return "https://yaorongoss.yaorongmedical.com/EarlyScreening/"+row.stageLevel+"/xuanxiang/"+row.userChosePic+".jpg"
+      }
+            
+    },
+    getTuliImageUrl(row) {
+      let tuli = "https://yaorongoss.yaorongmedical.com/EarlyScreening/"+row.stageLevel+"/tuli/01.jpg"
+       return tuli
+      },
+    handelDetectDetail(id) {
+      const params = {detectId: id}
+      getDetectDetailList(params).then(resp =>{
+        this.eaDetectDetailList = resp.data
+        this.DetectDetailOpen = true
+      })
+    },
     editConclusion() {
       if(!this.conclusionShow) {
         this.conclusionShow = true
@@ -296,7 +379,6 @@ export default {
       //   this.total = res.data.total;
       //   this.loading = false;
       // })
-      console.log(this.defaultVal.mobile)
       var mobile = this.base64Encode(this.defaultVal.mobile)
       this.queryParams.phone = mobile
       getDetectInfoList(this.queryParams).then(res =>{

+ 53 - 16
src/views/patient/manager/index.vue

@@ -56,21 +56,28 @@
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page"  :page-sizes="[10, 20, 30,50,100]" :limit.sync="queryParams.limit" />
 
     <el-dialog title="开通套餐" :visible.sync="dialogVisible" width="40%" :before-close="handleClose">
-      <el-row :gutter="24">
-          <el-col :span="3" style="display: flex;">
-            <div class="titles" style="  margin-top: 6px;">训练套餐:</div>
-          </el-col>
-          <el-col :span="21">
-            <div class="itemPackage" style="flex: 1;">
-                <div v-for="item in learningPackageList" :class="dealPackageDto.packageId==item.id ?'item_box boxActive' : 'item_box'" @click="clickRadio(item.id)">
-                  {{ item.packageName }}
-                </div>
-              </div>
-          </el-col>
-      </el-row>
+      <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+        <el-tab-pane label="配置套餐开通" name="first">
+          <el-row :gutter="24">
+              <el-col :span="3" style="display: flex;">
+                <div class="titles" style="  margin-top: 6px;">训练套餐:</div>
+              </el-col>
+              <el-col :span="21">
+                <div class="itemPackage" style="flex: 1;">
+                    <div v-for="item in learningPackageList" :class="dealPackageDto.packageId==item.id ?'item_box boxActive' : 'item_box'" @click="clickRadio(item.id)">
+                      {{ item.packageName }}
+                    </div>
+                  </div>
+              </el-col>
+          </el-row>
+        </el-tab-pane>
+        <el-tab-pane label="天数套餐开通" name="second">
+          <el-input-number v-model="numberDays" @change="handleChange" :min="1" :max="15" label="请输入天数"></el-input-number>
+        </el-tab-pane>
+      </el-tabs>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="checkDealPackage">确 定</el-button>
+        <el-button type="primary" @click="ActivatePackage">确 定</el-button>
       </span>
     </el-dialog>
 
@@ -88,7 +95,7 @@
 </template>
 
 <script>
-import { listData, delpatient, patientDetail, learnSelectAll, queryMonthRecord, reviewTaskSave, dealPackage } from '@/api/patient/index'
+import { listData, delpatient, patientDetail, learnSelectAll, queryMonthRecord, reviewTaskSave, dealPackage,openPhysiotherapyTime } from '@/api/patient/index'
 import { debounce } from 'lodash-es'
 import detail from '../addTwo/index2.vue'
 import {dropDownOrg} from '@/api/system/dept.js'
@@ -115,7 +122,8 @@ export default {
       queryParams: {
         page: 1,
         limit: 10,
-        status: '0,1'
+        status: '0,1',
+        orgCode: ""
       },
       dialogVisible: false,
       dealPackageDto:{
@@ -126,7 +134,9 @@ export default {
       dropDownOrgList:[],
       upPadNoVisible: false,
       upAppUser: {},
-      padList: []
+      padList: [],
+      activeName: "first",
+      numberDays: 1
     };
   },
   created() {
@@ -158,6 +168,33 @@ export default {
   },
 
   methods: {
+    ActivatePackage() {
+      if(this.activeName === "first"){
+        this.checkDealPackage()
+      }
+      if(this.activeName === "second") {
+        this.openPhysiotherapyTime()
+      }
+    },
+    openPhysiotherapyTime() {
+      let params = {
+        userId: this.dealPackageDto.appUserId,
+        numberDays: this.numberDays
+      }
+      openPhysiotherapyTime(params).then(response =>{
+        if(response.code === "200"){
+          this.$modal.msgSuccess(`开通成功`);
+          this.dialogVisible = false
+          this.numberDays = 1
+        }
+      })
+    },
+    handleChange(value) {
+      // console.log(value);
+    },
+    handleClick(tab, event) {
+        // console.log(tab, event);
+    },
     handelPadNo(row) {
       equipmentList({ page: 1, limit: 99999999, status: 'A', equipmentType: 'A' }).then(res => {
         this.padList = res.data.records.map(item => {

+ 9 - 0
src/views/system/dept/index.vue

@@ -133,6 +133,15 @@
                   </el-radio-group>
                 </el-form-item>
               </el-col>
+
+              <el-col :span="12">
+                <el-form-item label="免支付天数权限" prop="numberDaysStatus">
+                  <el-radio-group v-model="form.numberDaysStatus">
+                    <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{ dict.label
+                    }}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
             </el-row>
 
             <el-row>

+ 34 - 6
src/views/wx/applicationBlank/index.vue

@@ -24,6 +24,7 @@
     <el-table v-loading="loading" :data="blankList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="手机号" align="center" prop="mobile" />
+      <el-table-column label="患者手机号" align="center" prop="phone" />
       <el-table-column label="推荐医生id" align="center" prop="doctorId" />
       <el-table-column label="医生所属机构" align="center" prop="orgName" />
       <el-table-column label="订单id" align="center" prop="payOrderId" />
@@ -56,6 +57,17 @@
     
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.limit"
           @pagination="getList" />
+
+    <el-dialog :visible.sync ="dialogVisible" title="患者手机号" width="400px" append-to-body :beforeClose="dialogCancel">
+      <el-input
+          v-model="orderParams.phone"
+          clearable
+        />
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button @click="dialogCancel">取 消</el-button>
+        </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -96,6 +108,7 @@ export default {
       // 表单校验
       rules: {
       },
+      dialogVisible: false,
       payStatusOptions: [
         {
           value: "1",
@@ -109,27 +122,38 @@ export default {
           value: "0",
           label: "已完成"
         }
-      ]
+      ],
+      orderParams: {
+        id: "",
+        phone: ""
+      }
     };
   },
   created() {
     this.getList();
   },
   methods: {
-    // 订单完成
-    handleUpdate(id) {
+    submitForm() {
       this.$confirm('请确认患者信息是否存在', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        updatePayStatusFulfill(id).then(resp=>{
+        updatePayStatusFulfill(this.orderParams).then(resp=>{
             this.$modal.msgSuccess(`成功`);
+            this.orderParams = {
+              id: "",
+              phone: ""
+            }
+            this.dialogVisible = false
             this.resetQuery()
         })
       }).catch(() => { });
-
-      
+    },
+    // 订单完成
+    handleUpdate(id) {
+      this.orderParams.id = id
+      this.dialogVisible = true
     },
     getlabel(key, id) {
       let name = ''
@@ -154,6 +178,10 @@ export default {
       this.open = false;
       this.reset();
     },
+    dialogCancel() {
+      this.dialogVisible = false;
+      this.orderParams.phone = ""
+    },
     // 表单重置
     reset() {
       this.form = {