瀏覽代碼

优化门特备案

lighter 3 年之前
父節點
當前提交
43624919bd
共有 1 個文件被更改,包括 70 次插入9 次删除
  1. 70 9
      src/views/medical-insurance/outpatient/SpcChrRcd.vue

+ 70 - 9
src/views/medical-insurance/outpatient/SpcChrRcd.vue

@@ -158,22 +158,43 @@
           <div style="height: 12px"></div>
           <el-row :gutter="5">
             <el-col :span="6">
-              <el-input v-model="slwSpcChrRcd.opspDiseName">
-                <template #prepend>病种名称</template>
-              </el-input>
+              <div style="display: flex">
+                <div>病种名称:</div>
+                <div>
+                  <el-autocomplete v-model="slwSpcChrRcd.opspDiseName" :fetch-suggestions="searchDiag" placeholder="请输入名称" clearable @select="handleSelectDiag">
+                    <template #default="{ item }">
+                      <div style="height: 40px">
+                        <div style="height: 16px; margin-top: 4px; font-size: 12px; color: #8492a6">
+                          {{ item.code }}
+                        </div>
+                        <div style="height: 16px">{{ item.name }}</div>
+                      </div>
+                    </template>
+                  </el-autocomplete>
+                </div>
+              </div>
             </el-col>
             <el-col :span="6">
-              <el-input v-model="slwSpcChrRcd.opspDiseCode">
+              <el-input v-model="slwSpcChrRcd.opspDiseCode" disabled>
                 <template #prepend>病种编码</template>
               </el-input>
             </el-col>
             <el-col :span="6">
-              <el-input v-model="slwSpcChrRcd.diagDrName">
-                <template #prepend>医师姓名</template>
-              </el-input>
+              <div style="display: flex">
+                <div>医师姓名:</div>
+                <div>
+                  <el-autocomplete v-model="slwSpcChrRcd.diagDrName" :fetch-suggestions="searchPhysician" placeholder="请输入姓名" clearable @select="handleSelectPhysician">
+                    <template #default="{ item }">
+                      <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+                      <el-divider direction="vertical"></el-divider>
+                      <span>{{ item.name }}</span>
+                    </template>
+                  </el-autocomplete>
+                </div>
+              </div>
             </el-col>
             <el-col :span="6">
-              <el-input v-model="slwSpcChrRcd.diagDrCodg">
+              <el-input v-model="slwSpcChrRcd.diagDrCodg" disabled>
                 <template #prepend>医师编码</template>
               </el-input>
             </el-col>
@@ -213,9 +234,10 @@ import { ElMessage, ElMessageBox } from 'element-plus'
 import { obtainBasicPersonInfo, querySpecialChronicDiseasesAccreditation, querySpecialChronicDiseasesMedicalRecord } from '@/api/medical-insurance/si-query'
 import { getAllSpcChrRcdsByPsnNo, revokeSpecialChronicDiseasesRecord, specialChronicDiseasesRecord } from '@/api/medical-insurance/si-psn-rcd'
 import { formatDatetime } from '@/utils/date'
+import { searchData } from '@/api/yibao/dictionary'
 export default {
   setup() {
-    const patNo = ref('')
+    const patNo = ref('430105196211120016')
     const dateRange = ref(null)
     const baseinfo = ref({})
     const currentInsuinfo = ref({})
@@ -405,6 +427,41 @@ export default {
         .catch(() => {})
     }
 
+    const searchDiag = (queryString, cb) => {
+      if (queryString && queryString.length > 1) {
+        const param = {
+          method: 'name',
+          content: queryString,
+          target: 'slwspcdiag',
+        }
+        searchData(param).then((res) => {
+          cb(res)
+        })
+      }
+    }
+
+    const handleSelectDiag = (item) => {
+      slwSpcChrRcd.value.opspDiseCode = item.code
+      slwSpcChrRcd.value.opspDiseName = item.name
+    }
+
+    const searchPhysician = (queryString, cb) => {
+      if (queryString && queryString.length > 1) {
+        const param = {
+          method: 'name',
+          content: queryString,
+          target: 'physician',
+        }
+        searchData(param).then((res) => {
+          cb(res)
+        })
+      }
+    }
+    const handleSelectPhysician = (item) => {
+      slwSpcChrRcd.value.diagDrCodg = item.code
+      slwSpcChrRcd.value.diagDrName = item.name
+    }
+
     return {
       patNo,
       dateRange,
@@ -427,6 +484,10 @@ export default {
       handleSelctSlwSpcChrRcd,
       abortRvkSlwSpcChrRcd,
       executeRvkSlwSpcChrRcd,
+      searchDiag,
+      handleSelectDiag,
+      searchPhysician,
+      handleSelectPhysician,
     }
   },
 }